Expérience de traduction de modèle
Admins: please do not delete this page for now (see the link above).
Cette expérience est une preuve de concept d’un système de traduction où les modèles peuvent être transclus dans la langue adéquate (soit la langue de l’utilisateur, soit celle de la page). Cela pourrait être utile pour les wikis multilingues comme Meta ou Commons.
Bien que ceci fonctionne théoriquement ainsi que sur mon wiki de test, ça ne marche pas bien ici sur Meta à cause du bogue 54579, ainsi qu'en partie à cause du bogue 46925.
Essayez les différentes situations
Ouvrez les liens suivants, correspondants aux différentes situations :
- Page en anglais, interface en anglais
- Page en anglais, interface in français
- Page en français, interface in anglais
- Page en français, interface in français
Visualisez le résulat
Langues: wiki="en" page="fr" interface="en"
Modèle autotraduit dans la langue de la page : "{{Template translation experiment (page language)}}
" donne :
Date : 12 décembre 2013
Nombre : 857 201,19Modèle autotraduit dans la langue de l’interface utilisateur : "{{Template translation experiment (user language)}}
" donne :
Date: 11 December 2013
Number: (not possible after the documentation to use {{formatnum:}} with an arbitrary language.)
Techniquement
Les modèles sont toujours appelés avec {{Template name}}. Selon le modèle, il sera affiché soit dans la langue de l’utilisateur, soit dans la langue de la page. Il est aussi possible d’appeler une langue spécifique : {{Template name/fr}}.
La première ligne du modèle autotraduit est :
{{#if:{{#invoke:Template translation|getFrameLanguageSubpage}}|
(il est possible d’ajouter des sections <nowiki>, par exemple avec <languages />.)
Le corps du modèle est traduit en utilisant les balises <translate> et l’extension Translate. Il est même possible d’appeler un sous-modèle "/layout" pour séparer le fond et les textes.
La dernière ligne du modèle autotraduit est :
|{{Template name/{{Fallback|Template name}}}}}}
pour afficher le modèle dans la langue de l’utilisateur. Pour l’afficher dans la langue de la page, le modèle {{Fallback}} doit avoir {{CURRENTCONTENTLANGUAGE}} comme second paramètre.
En interne, un modèle appelé avec {{Template name}} détectera qu’aucune langue spécifique n’a été demandée (i.e. appelée comme « multilingue ») et appellera une instance linguistique, selon ce qui est spécifié par le modèle {{Fallback}} (celui sur Commons est beaucoup plus élaboré que celui sur Meta, et MediaWiki donne maintenant la chaîne de langues de remplacement en Lua). Ensuite, quand une instance spécifique est demandée, elle est affichée.
Discuter
The discussion around this experiment is on Meta talk:Babylon#Improve the template translation, but feel free to discuss on this talk page or on the translators-l mailing list.