Modules traductibles
Comment rendre la traduction des modules Lua aussi pratique que la traduction de MediaWiki et des extensions sur translatewiki.net ?
Ceci est une première enquête concernant l'implémentation des modules traductibles (Translatable modules). Il est prévu de laisser l'enquête ouverte pour les commentaires jusque la fin septembre 2020. Le but de cette série de documents est de comprendre les besoins des développeurs et des utilisateurs des modules Lua se trouvant dans le wiki, d'une manière qui puisse informer les ingénieurs logiciels pour développer une solution qui soit meilleure.
Introduction
Les modules traductibles sont un projet pour définir, implémenter, documenter et déployer un environnement pour améliorer la possibilité de traduire et de partager des modules. The goal is for user interface strings (messages) in Scribunto modules on multilingual wiki sites, such as Wikidata and Commons, to be easily localized, similarly to core MediaWiki, extensions, and translatable pages.
Nos questions pour les membres de la communauté :
- Several options to organize the code and the messages are suggested. Quelle serait la meilleure manière d'organiser le code des modules ?
- Once this framework is developed and deployed, will it be convenient to develop new modules using this framework and perhaps to convert existing modules to using it?
- A quels modules existants donnerez-vous la priorité pour être traduits ?
Si vous modifiez les articles et d'autre pages du wiki, votre expérience utilisateur ne sera pas significativement affectée, mais vos remarques sont néanmoins les bienvenues.
If you are involved in maintaining templates or Scribunto modules or in administering translatable pages, your user experience may change significantly in doing these tasks, so your feedback is very important.
Contexte
All Wikimedia projects have key features implemented as either or both wikitext templates and Lua modules: hatnotes, infoboxes, welcome messages, formatted links and references, image descriptions and license information, coordinates, and many others.
Ces modèles et ces modules sont une forme de code. This code is developed by skilled, experienced members of the editing communities, and implements features that the communities want, need, and now regularly use. Though most are individually simple, collectively they are comparable in their complexity, criticality, and ubiquity to the code of MediaWiki extensions. Unlike extensions, however, templates and modules don’t have a robust, stable, and consistent framework for internationalization and localization, even though many of them are used in multiple languages.
All MediaWiki extensions and MediaWiki core are localized on translatewiki.net, where volunteer translators can conveniently see what messages (strings) in which components need translation into their language, and can translate them, without dealing with any code beyond simple wikitext. To use translatewiki.net they only ever need to know basic wiki syntax. The translatewiki.net software also checks the translation for technical validity and provides tools for updating outdated translations, translation statistics, searching, filtering, etc.
Conversely, templates or modules don’t have anything like this. If they are translatable at all, this is done by editing wiki pages with complex wiki syntax or Lua code. This process is error-prone, less discoverable, and considerably more difficult. Some templates are translatable as pages using the Translate extensions, which makes their localization experience similar for translators to the experience of localizing extensions, but the framework for doing this is not consistent for the template and module developers.
It is therefore desirable to make it possible to translate the human-readable user interface messages of modules and templates using a process that is comparable to the process of translating MediaWiki core and extensions.
Cadre
The scope of this project only includes the translation of user interface messages used in modules, and only within a single wiki. This particularly pertains to Wikimedia sites that are already multilingual: Commons, Wikidata, Meta, mediawiki.org, Wikispecies, and others.
This current proposal does not deal with the following things:
- Internationalisation des modèles. As mentioned above, this is closely related and probably desirable as well, but it is left for a later stage. The modules’ technology (Scribunto) is more autonomous, unlike templates, which are tightly integrated with core MediaWiki, and they have somewhat different localization requirements. However, the work on translatable modules should try to be forward compatible, so that whatever is done here will also be reusable for templates.
- Traduction des titres de module et des identificateurs de fonction. Les modèles et leurs paramètres ont habituellement des noms dans la langue du contenu du wiki. A la différence des modèles, les modules sont habituellement appelés à partir des modèles et très rarement de manière directe à partir des pages de contenu ou des pages de discussion. C'est pourquoi il n'est pas nécessaire de les traduire. This project only deals with the internationalization and localization of the messages that the modules show to the readers.
- Localisation des gadgets. Similarly to templates, gadgets should be conveniently localizable, but their technology is significantly different. It may be good to make it reusable, but it’s not the highest priority for this project.
- Utilisation des modèles et des modules au travers des wikis (les « modèles globaux »). This is desirable as well, and making modules robustly translatable will make the implementation of Global templates and modules much easier. This is not in the scope of the project described in this document, however. It makes sense to make modules translatable as one of the first steps towards global modules and templates, and the project should certainly try to be forward-compatible with global templates and modules, but it nevertheless stands on its own.
- Conversion des données. The conversion of digits (123 / ١٢٣ / १२३ / ၁၂၃), units (km / miles), script variants (Latin / Cyrillic Serbian, Simplified / Traditional Chinese, etc.), and so on are not a part of this project. These things are already handled by MediaWiki internationalization functions or by the code of modules and templates. This project is only about the user interface messages.
Plus d’informations
- Discuss at Talk:Translatable modules.
- Acteurs du projet
- Principes de développement et de conception
- Solutions actuelles
- Solutions proposées - the part that needs the most discussion and review
- Engineering considerations