buskill-app icon indicating copy to clipboard operation
buskill-app copied to clipboard

Translate the App (i18n)

Open maltfield opened this issue 3 years ago • 2 comments

This ticket will track the effort to add internationalization (i18n) to the BusKill app such that things like the "arm" button, tooltips, labels in the navigation drawer, settings/options names/descriptions are automatically changed to the system's locale or whatever language is defined in the BusKill settings.

IMHO, it's not so important to provide translations to our documentation, which can trivially be translated by the user with tools like Google Translate. The text in the app, however, can't just be copied & pasted into a translator. So i18n of the app takes priority over i18n of the docs.

maltfield avatar Dec 09 '22 16:12 maltfield

After English, I think the most-common langauge of our users is German. I welcome translations to any language that users want to contribute, but here's a list of languages in-order of mother tongue of most of our users to less of our users:

  1. English
  2. German
  3. Dutch
  4. Spanish
  5. French
  6. Japanese
  7. Czech
  8. Arabic
  9. Russian
  10. Chinese (Mandarin?)
  11. Portuguese
  12. Finnish
  13. Swedish
  14. Norwegian
  15. Korean
  16. Romanian
  17. Turkish
  18. Thai
  19. Greek
  20. Italian
  21. Polish
  22. Hungarian
  23. Indonesian
  24. Slovak
  25. Serbian
  26. Croatian
  27. Mongolian
  28. Lithuanian

Therefore, I think

  1. The first deliverable of this ticket would be to modify the app to actually support i18n through some sort of abstraction (using .po files or whatever is the "pythonic" approach here) to only English and German. After that, I think
  2. The next deliverable is to setup some sort of automated machine translation to all the other languages above (they can be refined later by a human, but machine translation is better than nothing). Ideally this would just be some script that takes the English strings and a set of destination languages and spits-out new translated strings for the given destination languages.

maltfield avatar Dec 09 '22 16:12 maltfield

I'm actually wondering if it makes more sense to just automate translations at CI time

TODO: look into using apertium (or similar) for offline translations at build-time

maltfield avatar May 10 '23 15:05 maltfield