Wiki Translation Infrastructure
The Mudlet Wiki uses a set of extensions to enable translation of the wiki contents. The MediaWiki Language Extension Bundle provides all the tools needed to make translations directly on the wiki. However, Mudlet makes use of Crowdin to translate texts throughout the Mudlet project. This page describes the infrastructure that was built to enable translations from Crowdin.
How it Works
Simply put, every day at 1:00 AM UTC the mudlet.org server runs some tasks to import translations from Crowdin and export existing sources from the Wiki. The sources are extracted from the English version of any page that is ready for translation. The sources are uploaded after importing translations has finished. Translations can only be made once the source is uploaded, so this method may cause a delay.
Translations can be made on the wiki and both sources and translations can be exported from the wiki using the Export Translations page.
Sources and Translations can be uploaded to Crowdin manually, provided they are exported from the wiki using the "Export for off-line translation" option.
Do note, some page titles contain colon :
characters and those must be replaced with =
characters before uploading to Crowdin!
All the scripts required can be located in /var/www/i18n/
and /var/www/wiki/
on the server.
How to Use
To enable a page for translations, a wiki admin or moderator first needs to Prepare for Translation their desired page(s). The preparation adds some initial markup to review and help you get started.
Once a page is prepared, you can edit the Translation Markup to better suit your translation needs, or prune out Wikitext for translators where possible.
After the page is prepared and the Translate Markup is finished, the pages must be Marked for Translation which will show you a list of "translation units" the page created based on the Translate Markup. Be sure to enable translation of the page display title if it is not already enabled!
With a page properly marked for translation, the imports, exports, and translations can begin.
Extensive changes to a page may require it to be marked for translation again, to help keep translation units manageable for translators.
Planned -- Web-enabled request to manually fire the translation update tasks.