DEV Community

Discussion on: I18n process for a Phoenix app?

Collapse
 
char0n profile image
Vladimír Gorej • Edited

In my last job we used crowdin.com/ to manage the translations. It proved to be very effective tool, although it was not free. Let me address your main questions/painpoints.

What does the process look like?

The process can be completely automated. Devs add new strings in the App. The CI detects it and will extract source English language template strings and upload them directly to translation tool.

Which tools do you use to allow translators work on the translations?

Gettext in APP (backend), i18next.com/ on frontend and crowdin.com/ for doing actual translations.

Do you even have dedicated translators?

it's possible to hire translator directly via crowdin platform. The pricing was reasonable.

How do you provide context for the translators so that they know what exactly they're translating?

Crowdin has a context feature, that allows you to associate app screenshots with extracted strings. And if you're using gettext, you can provide context as part of source string definition.

Working in pairs with someone who knows the app, writing descriptions, attaching screenshots? Or are you able to do in-app translations with some JS magic?

Giving access for translators to your staging env is necessary. They need to proofread what they created by browsing the application. Some guide must be created to guide them step by step through the App.

Do you use Gettext or something else? Do you use more than one Gettext domain?

Gettext is fine. With domains + context it gives you everything you should need. On frontend the tooling is not that mature, but still react-intl + i18next are fair tools for the job.

How many languages do you have to handle?

6 languages in 2 months

What is the biggest pain point of your process?

Not having as mature tools for frontend as they exists for backend. Extracting in frontend was not so precise and required verification.

How do you handle quality assurance of the translations?

Translators are asked to proofread what they translated on staging env. Even better is hire another native lang speaker or different translator to proofread the work of the original translator.

Sometimes it help to maintain just english context tokens as original "en" source language and have actual english "en-US" as separate translation. That way, devs don't need to touch the App that much to change source strings and marketing or product teams can change the "en-US" directly via crowdin platform. This solves the problem of devs spending a lot of time on source language tokens.

Collapse
 
atyborska93 profile image
Angelika Tyborska

That was extremely helpful, thank you! I have been evaluating Crowdin the past week and it seems like a good fit for my project too.

Thread Thread
 
char0n profile image
Vladimír Gorej

Glad I could help. If you’ll have more specific questions about mentioned technologies just let me know and I’ll try to help.