Jump to content

Expérience de traduction de modèle

From Meta, a Wikimedia project coordination wiki
This page is a translated version of the page Template translation experiment and the translation is 100% complete.
Translators, warning: this page is an experiment for an improved system of template translation: there no need to translate it in many languages, see Meta talk:Babylon#Improve the template translation.
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 :

  1. Page en anglais, interface en anglais
  2. Page en anglais, interface in français
  3. Page en français, interface in anglais
  4. 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 :

Ce texte en français et est autotraduit dans la langue de la page, la traduction étant effectuée en utilisant l’extension Translate.

Date : 12 décembre 2013

Nombre : 857 201,19

Modèle autotraduit dans la langue de l’interface utilisateur : "{{Template translation experiment (user language)}}" donne :

This text is in English and is autotranslated in the user language, with translation being done using the Translate extension.

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.