Wikimedia CEE Online Meeting 2020/Programme/Submissions/Translatable modules: Better workflows for onwiki developers/summary

From Meta, a Wikimedia project coordination wiki
Slides.

This is a summary of the talk Translatable modules: Better workflows for onwiki developers, written during the presentation by User:Philip Kopetzky, with some corrections by the author User:Aaharoni-WMF

Original Etherpad: https://etherpad.wikimedia.org/p/CEE_Meeting_2020%2FTranslatable_modules

Abstract[edit]

Wikimedia Foundation's Language team is starting to work on the Translatable modules project: A framework for writing Scribunto modules in Lua in a way that will make them as easy and convenient to localize as MediaWiki and extensions on translatewiki.net. The plan is to have a community consultation about it during September 2020. This session will present a summary of the ideas behind this project and the results of the consultation. Most importantly, the team will be interested in hearing from module developers and localizers more comments about the technology.

Notes[edit]

Act 1[edit]

Mikalojus Konstantinas Čiurlionis: The Past
  • Toolbar of the wiki editing tool is completely translated and is implemented in the wiki extension WikiEditor, via translatewiki.net
  • Translatewiki.net offers various options to translate Mediawiki into your local language
  • Macedonian for example has a better completion rate than Spanish or German!
  • Translations are stored in JSON files and have a message key to uniquely identify each message
  • Translatewiki.net runs on the same Mediawiki platform as Wikipedia and so on, with the Translate extension
  • It has the translation module, which is also active on multi-language projects like Commons, Wikidata or Meta

Act 2[edit]

Ilya Repin: Volga Boatmen

So what about modules?

  • Modules are software, as code, which is stored as a wikipage (which isn't always advantageous)
  • Module developers are software developers, so they should have convenient tools to work with
  • When you look at templates for paintings, you can see that some labels are not described in Slovakian or Albanian for example
  • Because this template is a module, you can't go to translatewiki.net, but you need to go to the module itself on the local project, for example commons:Module:l18n/institution
  • You can edit this module as a wiki page, and if you create a syntax error, the complete module breaks!
  • So translators need to mess around with the source code of the modules instead of just translating text
  • This has obviously a few disadvantages: You can't track the status of the translations, the translations are hard to find, outdated translations can't be updated easily
  • There are also advantages: You don't need to use versioning platforms like GIT, easy to revert back to original status if it is broken

Act 3[edit]

Solutions for these issues

  • JSON files can be stored on Commons and the Translate extension will be adapted to automatically update these translation files on Commons
  • This will be implemented by Mid-2021
  • Only available for modules, not for templates or gadgets
  • How about global templates?
    • Each wiki uses its own templates, but some are also very similar, so that collaboration in this area would be very helpful
    • Because modules will have to be translated if they become global, translatable modules can be the first step in the direction of having a global repository
  • Abstract Wikipedia also factors into this, but it's not very defined yet which role it will play

Questions[edit]

Anton
English is difficult to translate, because it often needs context. Also some words that indicate plurals, like "users", this does not translate well to Slavic languages.
Amir: For Mediawiki, every single message needs documentation and an explanation of how it is used. On plurals: You can use the bracket to indicate that, but ideally this should be addressed better in future updates to translatewiki.net
Anton
Storing translations in JSON on Commons has some big disadvantages, because you're limited in the set of symbols, because apostrophs, brackets and quotes mess up the JSON structure. How is this addressed?
Translate extension will handle the string as is and will take care of it automatically
Developers in Lua do need to take care though, because special characters will affect their coding