Translatable modules/Current solutions/nl

 Het project Translatable modules probeert een een nieuw framework te maken voor het vertalen van modules.

Hier staan voorbeelden van de huidige oplossingen voor het opslaan en tonen van vertaalde berichten in modules en sjablonen, die door de oorspronkelijke schrijver van dit artikel gevonden zijn. Als u andere gebruikte oplossingen kent, voeg ze dan a.u.b. toe.

Als er in dit project een nieuwe oplossing wordt gemaakt, dan moet die:


 * De huidige oplossingen laten werken.
 * De goede functies van de huidige oplossingen hebben.
 * Nieuwe functies toevoegen die problemen met de huidige oplossingen helpen oplossen.
 * Een eenvoudig pad aanbieden voor het vertalen door ontwikkelaars die de nieuwe oplossing willen gaan gebruiken.



Lua tabel 1: Module:I18n op Commons
Module I18n op Commons laad vertaalberichten en vertalingen van andere modules, genaamd Module I18n/*, voorbeeld: Module I18n/artwork.

Every key points to a list of values indexed by language code. The translations have to be edited in the module’s source code.



Lua tabel 2: Module:Wikidades/i18n op de Catalaanse Wikipedia
The Catalan Wikipedia has local modules for displaying infoboxes with rich structured data from Wikidata. They are local, but built in a way that facilitates exporting to other languages. Many of the translatable messages are actually Q item labels that are translated on Wikidata itself, but those that can’t be translated on Wikidata, are translated as Lua tables. Every language is stored in a separate module, for example:


 * English: w:ca:Module:Wikidades/i18n/en
 * Catalan: w:ca:Module:Wikidades/i18n (no language code)
 * Galician: w:ca:Module:Wikidades/i18n/gl

The translations have to be edited in the module’s source code. To actually become usable, the package of modules and templates has to be exported to the Wikipedia in the target language.

A somewhat comparable solution can be found at Module:Central on mediawiki.org.



tab-bestanden op Commons
This was developed as part of the Multilingual Templates and Modules volunteer project.

Messages are stored in the .tab files loaded using functions in Module:TNT (not to be confused with Template:TNT).

An advantage of .tab files is that those that are stored on Commons are global: they can be read from Lua code on any wiki. To be usable on wikis other than Commons, the modules’ code has to be copied to that wiki, manually or using the DiBabel bot.

A full list of tab files with translatable messages on Commons can be found at c:Special:PrefixIndex/Data:I18n.

The translations have to be edited in raw .tab files.



Module:ModuleMsg op Meta
The Module:ModuleMsg on Meta implements loading of modules from translatable pages. Messages are added to a translatable page and loaded using the get_msgs function, which uses identifiers from translation unit markers as message keys. Example: meta:Module:Wikimedia Resource Center using messages from meta:Template:I18n/Wikimedia Resource Center.

An advantage of this method is that the familiar Translate interface is already used for preparing the pages and translating them.



Andere oplossingen?
There may be more module localization solutions that the document’s author couldn’t find. Input is welcome!



Meer informatie

 * Discuss at Talk:Translatable modules.
 * - the part that needs the most discussion and review
 * - the part that needs the most discussion and review
 * - the part that needs the most discussion and review



Andere voorbeelden

 * Meta: m:Template:Translatable content template
 * Commons: c:Help:Autotranslate - This template is used as a part of the larger mechanism to show a template content in the user's interface language.