Aller au contenu

Expérience de traduction de modèle

De Meta
Cette page est une version traduite de la page Template translation experiment et la traduction est terminée à 100 %.
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="fr"

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 :

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

Date : 11 décembre 2013

Nombre : (d’après la documentation, il n’est pas possible d’utiliser avec une langue arbitraire.)

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.