My translation workflow

illustrations illustrations illustrations illustrations illustrations illustrations illustrations

Published on 23 March 2023 by Andrew Owen


Last week, I wrote about how I added localization to my website. While I’ve translated all the core content, I still have a backlog of more than a year’s worth of articles to translate. So I’ve come up with a workflow to make the process easier. My aim is to simultaneously publish all future articles in English and French, and get to the backlog as time allows. I’m not fluent in French, but I’m trying to get better, and doing this is going to mean I’m exposed to the language on a weekly basis. The approach I take should work equally well for any other language that you have some familiarity with, even if you’re not a native speaker.

Pre-requisite: configure the LanguageTool Chrome plug-in

As I’ve mentioned in previous articles, LanguageTool is my favorite online spelling and grammar checker. Not only is it multilingual, but you can tell it your native language, and it will help you to avoid errors such as false friends—words that appear similar in both languages but have different meanings. In the settings, I set my Mother Tongue to English, my Preferred languages to English and Français, and Interpret English to English (American). You only need to do this setup once.

Duplicate the article

After I’ve written the English version of the article, the next step is to create a new article with the same filename but ending in instead of .md. Because I’m only translating into one language, I’m not using folders for each language. Then I go to the code view in the English version and copy and paste everything into the French version. You’ll have to do the metadata separately. But if you’re working in a repository, you could just duplicate the file and rename it.

Copy the article to DeepL

From now on, I work exclusively in the French version. In the rich text view, I copy the body text and paste it into the DeepL’s web interface. There is a word limit on the free version of DeepL, so you may need to process the article in chunks. It also helps if you follow my advice on writing for translation.

Review the content with LanguageTool

LanguageTool highlights any spelling or grammar errors in the output and any words that DeepL might have mistranslated from the original. I believe that fixing these before moving the content back helps to train DeepL, and because it’s not costing me anything, I’m happy to help.

Paste the content into article

When replacing the English with French, if there are no hyperlinks in the text, I’ll paste the whole article at once. Otherwise, I’ll go through a paragraph at a time, pasting the French version after the English and copying over the hyperlinks before removing the English version. Where I’ve linked to an English publication, I leave the link alone. But if it’s a reference link, for example to a Wikipedia article, I’ll try to find the equivalent article in the French version of Wikipedia and link to that instead.

Verify the content with Google Translate in Chrome

The final step is to retranslate the French version of the article into English with Google Translate in Chrome. This should help to pick up any errors that I missed because I’m not a fluent French speaker. And that’s it, unless you have a French-speaking friend who is willing to check the content for you.

Image: Charles V orders the translation of Aristotle (National Library of France manuscript RC-A-28551)