User:Kebap/translation infrastructure
Jump to navigation
Jump to search
History
- https://github.com/Mudlet/Mudlet/issues/856 - Setup a web-based translation service for Mudlet
- https://github.com/Mudlet/Mudlet/issues/1664 - Translation infrastructure of Mudlet web-presences
Main sources of text
- Mudlet client itself
- Mudlet website
- Mudlet wiki
- "other" spontaneus texts need to be included manually
Processes for each
- Find out a way to tell outdated texts from relevant current texts which need translation.
- Get texts out of sources (see above). Can this be automated with any tool? Who should be responsible?
- Get texts in to translation tool.
- Translating inside tool (ok this is to be expected, but also needs good interface and workflows)
- Translators report confusing strings back to Mudlet team with information how they need to be adjusted.
- Mudlet team updates text in source. Either because of reports, or because of natural evolution.
- Updated texts from source need updates in translation tool. Export and import again, plus diff.
- Translated texts will be finished. Export them from translation tool. Automation again?
- Import translated text to source.
- Display of translations in source. Here we will need some sort of language toggle switch in each source.
References
- Another great in-depth look at several alternatives and the process in general in this master study thesis about “Translations in libre software”: https://larjona.wordpress.com/translations-in-libre-software/
- multilingual plugins for Wordpress: https://wordpress.org/plugins/search/multilingual
- Polylang: https://wordpress.org/plugins/polylang/
- Wordpress internationalisation workflow
- integration to Crowdin
- Mediawiki
- Github
- Notes from other translation efforts
- Instructions from other project's translations:
Decisions
- We want to use US English in the source. Sometimes it is still en/GB - e.g. "licence/license", "color/colour", etc. SlySven will provide a dedicated en/GB translation, but origin will be en/US
- When a language offers multiple choices on how to address the reader, we will choose the less formal, more friendly way
- Some texts can't be translated easily in Crowdin, as they are surrounded by < and > for example. This needs to be adjusted in source. See PR #1804 for example and possible solution.
- Some IRC texts start with ! or alike symbols which must not be translated. Compare above solution.
Updating input strings for translation
- Using Qt Linguist: http://doc.qt.io/qt-5/qtlinguist-index.html
- command will pull strings from Mudlet client's sources and put into mudlet.ts
- command is: lupdate.exe -recursive .\src\ -ts .\translations\mudlet.ts
- lupdate is available during Windows compilation in this folder: C:\Qt\5.11.0\mingw53_32\bin\
Review progress on each language
- Crowdin offers statistics in settings, counting translation percentage of words
- Whereas Mudlet counts percentage of strings and languages >95% receive a gold star
- How to review the progress of current Crowdin translations:
Example progress snapshot from 2019-04:
Project MESSAGE: Building translations
lang trnsl utrnsl finish unfin total percentage
de_DE 1863 28 1863 0 1891 98
el_GR 0 1891 0 0 1891 0
en_GB 403 1488 403 0 1891 21
es_ES 735 1156 735 0 1891 38
fr_FR 150 1741 150 0 1891 7
it_IT 809 1082 809 0 1891 42
nl_NL 45 1846 45 0 1891 2
pl_PL 514 1377 514 0 1891 27
pt_PT 260 1631 260 0 1891 13
ru_RU 1686 205 1684 2 1891 89
zh_CN 961 930 961 0 1891 50
zh_TW 0 1891 0 0 1891 0
en_US 11 0 11 0 11 100