Quick way to generate multiple translated locales JSON files - All at once!

As a Ghost theme developer, I aim to provide the utmost value to my customers. However, we often deduce a significant amount of time to fundamental tasks.

One such task is offering translations for the theme in various languages. It is essential to support an increasing number of languages. Unfortunately, many developers, myself included, are only fluent in one language. In these instances, we can either hire a professional translator, which can be expensive, or resort to using Google Translate. Manually translating each string using Google Translate can be incredibly time-consuming, so I have created a Google Sheet to automate this process.

The sheet automatically generates JSON-specific “key”: “value” pairs by inputting the English string in a designated column. These pairs must be copied (and encapsulated in {}) into their appropriate locales JSON files.

The sheet utilizes Google Translate to convert all English strings into multiple target languages. While it is true that Google Translate may not provide the most accurate translations compared to a native speaker, it is a cost-effective alternative unless you have access to individuals who can assist with translations.

To use the sheet, make a copy and add/remove target languages as required.
https://docs.google.com/spreadsheets/d/1LyguNl_sWvfqFP8mT-n93Ta9n86WRzIOSNDFyh6ZalM

Copy the formula below and modify the target language from ‘fr’ (French) to your desired language. Paste the formula into the next empty column (e.g., Column P in our case).

=CONCATENATE("""",A2,""":""",GOOGLETRANSLATE(A2,"en","fr"),""",)

While this may be a challenging solution for generating translated files, it will undoubtedly benefit theme users by reducing the number of translations they need to modify.

I would appreciate any feedback or suggestions for alternative translation methods. What techniques do you employ in your theme development process?

Thank you.

2 Likes