User:Kebap/translation infrastructure
< User:Kebap
Jump to navigation
Jump to search
Revision as of 01:06, 19 August 2018 by Kebap (talk | contribs) (→Updating input strings: section added)
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\