Difference between revisions of "User:Kebap/translation infrastructure"
Jump to navigation
Jump to search
m (layout) |
|||
Line 60: | Line 60: | ||
* command is: lupdate.exe -recursive .\src\ -ts .\translations\mudlet.ts | * command is: lupdate.exe -recursive .\src\ -ts .\translations\mudlet.ts | ||
* lupdate is available during [[Compiling_Mudlet#Compiling_on_Windows_7.2B|Windows compilation]] in this folder: C:\Qt\5.11.0\mingw53_32\bin\ | * lupdate is available during [[Compiling_Mudlet#Compiling_on_Windows_7.2B|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: | ||
+ | ** Open PR "new Crowdin translation" created automagically by integration robots ([https://github.com/Mudlet/Mudlet/pull/2429 Example]) | ||
+ | ** Open information from automatic Travis CI build, for example Linux gcc qmake ([https://travis-ci.org/Mudlet/Mudlet/jobs/515693306 Example]) | ||
+ | ** Find lines starting like "Project MESSAGE: Building translations" and see statistics following ([https://travis-ci.org/Mudlet/Mudlet/jobs/515693306#L1380 Example]) | ||
+ | |||
+ | Example progress snapshot from 2019-04: | ||
+ | <syntaxhighlight lang="lua"> | ||
+ | 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 | ||
+ | </syntaxhighlight> |
Revision as of 19:02, 4 April 2019
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