Translation
Languages.
Blue customers come from 120+ countries around the world. So it makes sense to have Blue in as many languages as possible.
Blue is currently available in 24 languages:
Arabic (ar)
Bengali (bn)
Chinese (zh)
Czech (cz)
English (en)
French (fr)
Georgian (ka)
German (de)
Hindi (hi)
Hungarian (hu)
Indonesian (id)
Italian (it)
Japanese (ja)
Khmer (km)
Korean (ko)
Latvian (lv)
Marathi (mr)
Portuguese (pt)
Romanian (ro)
Russian (ru)
Spanish (es)
Swedish (se)
Thai (th)
Vietnamese (vi)
Introduction
We have transitioned from our previous approach of having community translation to automatic translation using GPT4. This reduces the time and cost by 97% while keeping an acceptable level of accuracy.
Getting Translation Files
To ensure the most up-to-date and accurate translations, we utilize a Python script to pull the latest language JSON files from our development server. This script consolidates these files into a master CSV file
Checking for Updated English Text
There is a rare case where the English itself has been updated. This is not a new row, but an update to an existing row, meaning all the translations for that row must be updated.
So, we must store the previous version we processed and then check the new version against the old version.
In the new version:
Check if all English key/value pairs are the same.
If there is a difference, delete the translations so we can retranslate those rows.
Automatic Translation
Leveraging GPT-4, our Python script automatically translates all missing strings. This method is not only efficient but also maintains the nuances of each language.
In Blue, variables or placeholders are enclosed in curly brackets {}and are not meant to be translated. Our Python script is designed to correct inconsistencies using curly brackets
across different language translations automatically. This is because GPT sometimes translates the content inside the {}.
Deployment
Finally, the translated content is prepared for deployment. Our script processes the updated CSV file, generating individual language JSON files. These files are then deployed to our development environment within a new branch, ensuring a seamless update process.
Adding a Completely New Language
Last updated
Was this helpful?

