Meta:Extension de traduction

This page is a translated version of the page Meta:Translate extension and the translation is 100% complete.

Dans Meta-Wiki, il y a de nombreux messages très importants qui ont besoin d'être traduits dans un maximum de langues. La traduction est un processus en plusieurs étapes réalisées par plusieurs personnes qui ne se comprennent pas forcément bien, mais qui peuvent travailler ensemble si la méthode est adaptée pour distinguer les différentes tâches et rôles. L'extension de traduction est l'outil MediaWiki conçu pour répondre à ces besoins.

Introduction

Quand un texte est gravé dans le marbre, le texte source est évident, toutefois, l'industrie de la traduction repose sur les nombreuses modifications résultant d'un consensus en évolution et/ou de l'introduction de nouveaux faits et chiffres. L'extension de traduction est conçue pour s'adapter à des évolutions continues. À l'origine, elle a été développée pour aider à la localisation de MediaWiki, mais son utilisation a été étendue à la traduction de pages, utilisé tout d'abord sur translatewiki.net. Sa première grande implémentation a participé à la documentation de KDE sur userbase.kde.org et elle est désormais aussi en production sur Meta.

La fonction de traduction de pages a été façonnée au fur et à mesure de son utilisation et d'après les outils utilisés par les traducteurs professionnels. Pour livrer des traductions rapidement, ils se concentrent sur ce qui doit être fait. Il est vital de pouvoir repérer facilement où les modifications ont été faites dans le texte original et de mettre à jour la traduction.

Un avantage additionnel significatif est qu'en utilisant le même outil, l'extension de traduction, les mêmes compétences sont utilisées pour la localisation du logiciel et la traduction de textes. Cela facilite le travail en commun sur les mêmes projets et le partage des bonnes pratiques dans la communauté des traducteurs Meta et la communauté de localisation translatewiki.net.

Outils

Par le passé, des traducteurs professionnels ont refusé de nous aider pour les traductions. Ils voulaient utiliser les outils avec lesquels ils étaient familiers et, si cela n'était pas possible, ils attendaient de nos outils l'assurance que leur temps de ne serait pas perdu en vain. Pour la localisation du logiciel, nous supportons l'outil Gettext, un format pris en charge par de nombreux outils professionnels.

Information additionnelle sur un fragment de texte

Souvent, un texte est clair dans un contexte particulier. On ne peut pas attendre des traducteurs qu'ils comprennent ce qu'il signifie. S'ils demandent des informations, il est possible de documenter un message pour apporter des éclaircissements. Ceci est ensuite utilisé pour corriger la traduction de telle manière que l'intention du texte reste la même, mais est formulée d'une manière telle qu'il est compréhensible par des personnes qui lisent une autre langue.

Garder des traces du travail déjà fait

Les pages spéciales de Translate diront automatiquement s'il y a des traductions à faire.

Comment ça marche

Tout texte de taille modérée est formé de paragraphes et de phrases. Typiquement, modifier un texte existant se répercutera en quelques endroits mais pas partout ; un paragraphe peut être ajouté, supprimé ou son texte peut être modifié. En reconnaissant ce qui s'est passé, il est possible de montrer ce qui doit être fait. En conséquence, les textes sont découpés en messages individuels.

Voir plus sur la page d'aide de MediaWiki Help:Extension:Translate/Translation example.

Organisation des tâches de traduction

  • Une fois que le texte est balisé et marqué à traduire par un gestionnaire de traduction, il est disponible pour être traduit.
  • Un traducteur choisit la page soit à partir de la page spéciale ou à partir du lien figurant sur la page à traduire.
  • Une partie textuelle ("unité") est traduite et le message suivant peut être sélectionné quand la traduction a été sauvegardée.
  • Le traduction est marquée disponible et les parties traduites seront disponibles pour être affichées.

Recommandations pour les traducteurs

En général, tous les systèmes de traduction sur Meta passent par l'extension Translate avec quelques exceptions. Les pages spéciales de Translate (Special:LanguageStats la plupart du temps) remplacent la page actuelle des demandes de traduction qui ne devrait plus être utilisée.

L'extension Translate est très flexible, mais jusqu'à un certain point. Elle doit être utilisée correctement, sinon elle deviendra un fardeau pour les traducteurs. En général, plus les unités à traduire, dans lesquelles la page est découpée, sont importantes, alors plus le traducteur aura de liberté ; plus elles sont petites (par défaut, lors de la découpe automatique), plus les traducteurs seront forcés de suivre la structure du document original sans disposer de beaucoup de liberté, mais plus il sera facile de suivre les modifications et d'assurer les mises à jour et la cohérence des traductions. Les administrateurs de traductions doivent préparer correctement chaque page pour la traduction comme il se doit. Voir le tutoriel "Comment préparer une page pour la traduction" ainsi que la documentation détaillée.

  • Les essais et les autres pages de la communauté (avec, peut-être aussi les pages d'aide ?) : la liberté est totale, avec au plus une unité de traduction par section.
  • Règlement officiel et règles de conduite, documents légaux, demandes de traductions à publier autre part : découpe standard de l'extension Translate pour assurer la cohérence. [N'oubliez pas d'expliquer le flux du travail et les états.]

Il y a quelques effets de bord ou un autre sous-cas entre ces deux cas (entre la flexibilité presque complète et la cohérence totale).

Maintenance

  • Toutes les catégories doivent être traduites : la traduction sera dans une sous-page avec le code de langue, comme par exemple dans mw:Special:MyLanguage/Category:Help. L'extension produit automatiquement des liens vers les autres langues et permet de traduire le titre de la catégorie (tout comme la description), mais la liste des catégories montrera toujours le nom de la page ou de la catégorie (voir bugzilla). Toutes les pages seront mises automatiquement dans une catégorie traduite sans intervention du traducteur et cela via un modèle qui récupère le code à partir du nom de la sous-page (à faire : il y a un translatewiki:Template:Langcat mais qui n'est pas très intuitif, tandis que wm2012:Template:AddLanguageCategory est complètement inefficace et a besoin que la liste des langues soit maintenue manuellement).
  • Les versions traduites des modèles doivent aussi être incluses (voir translatewiki:Template:Localized). Il n'est pas encore établi s'il faut utiliser une simple sous-page (comme avec {{draft}}) ou un système d'auto-traduction comme sur Commons, mais quelques modèles auto-traduits existent déjà.[1] les deux systèmes permettent de traduire le contenu des modèles avec l'extension. Les modèles de base LS comme {{essay}} sont remplacés et devraient probablement être migrés, mais cela n'est pas obligatoire.

Autres

  • CentralNotice : n'est pas actuellement entièrement intégrée à l'extension, a besoin encore de traductions manuelles. Les gens utilisent encore l'ancien système basé sur le {{cn translation status}} et une page unique de demande de traduction (voir aussi Fundraising 2011/Translation/Project report). C'est aujourd'hui la seule manière facile de recycler les traductions des anciens messages (combinée à la fonctionnalité de clonage des bannières de CentralNotice). L'extension Translate peut être utilisée pour de nouvelles traductions, la meilleure manière de procéder est probablement de mettre toutes les chaines (formant un ensemble) relatives à une CentralNotice dans une page unique et avoir une sous-page par langue ; l'extension prend en compte les états du flux de travail, états qui peuvent être vus par les administrateurs sur Special:MessageGroupStats.[2]

Procédure

Généralités

Le système de traduction continuera a être géré principalement par des bénévoles, comme cela l'a toujours été. Techniquement, parce que la syntaxe de la traduction de page peut être un peu difficile et que quelques contrôles doivent être faits, le droit d'administrateur de traduction est nécessaire pour autoriser la traduction d'une page (quelque soit la version). Les administrateurs de Meta seront autorisés à s'ajouter (et se retirer) eux-mêmes du groupe, s'ils veulent aider les autres utilisateurs, ou en ont simplement le besoin et savent ce qu'il faut faire (parce qu'ils ont lu la documentation et si possible ont pratiqué - Meta n'est pas un terrain de jeu et les traducteurs ne sont pas des jouets). En plus, tout utilisateur pourra demander ce droit au bureaucrate local sur WM:RFA. Les détails sont sur Méta:Administrateurs de traduction [3].

Tous les utilisateurs sont autorisés à ajouter des balises de traduction aux pages et à demander leur traduction ; un administrateur de traduction doit prendre les demandes sur Special:PageTranslation, les vérifier et les marquer à traduire. Les utilisateurs peuvent aussi demander de l'aide sur la page habituelle WM:RFH s'ils ne veulent pas apprendre la syntaxe de Translate. Actuellement, il n'y a aucun moyen d'ordonner les traductions selon une priorité mais cela n'a jamais marché : si une traduction est prioritaire, demandez la traduction sur translators-l or ou directement aux traducteurs[4].

Migration

  • Page principale : garder les sous-pages et migrer (sans la plupart des modèles, basés sur l'ancienne version).
  • Demandes d'archivage des traductions : enlever la catégorie, etc.
  • wmf: règles wiki et pages les plus importantes : copier/importer (avec l'historique) sur Meta, traduire et laisser là (sans se préoccuper d'exporter).
    • Résolutions du bureau concernant les exceptions, les votes et comptes rendus et autre contenu géré par le bureau directement, dans la mesure où le bureau voudrait utiliser Translate directement sur le wiki.
    • une liste est en cours de constitution sur Translation requests/WMF.
  • Demandes de traduction actuelles devant être publiées à un autre endroit : à migrer.
  • Toutes les autres pages Meta existantes et qui ne sont pas en anglais : à migrer.
    1. User:Nemo bis/Old translations (vérifier aussi Category:Language link templates et Template:Other languages [1]) : à mettre en catégorie etc.
    2. Déplacer toutes les pages traduites vers des sous-pages nommées d'après le code de langue, en laissant les redirections.
      • Cela servira également à identifier avec quoi le contenu actuel est en rapport.
    3. Un robot marque toutes les pages source (en anglais) à traduire :
      • toute la page est marquée à traduire, sauf les modèles et les catégories qui sont traduits automatiquement ;
      • la page est modifiée et elle ne génère qu'une seule unité de traduction (sauf pour le titre) : une seule balise translate, les sauts de ligne dupliqués sont enlevés.
    4. Les pages sont marquées à traduire et les sous-pages sont initialisées avec le texte en anglais.
    5. Un robot (ou un importateur) charge l'ancien contenu de la page traduite dans l'unité de traduction associée (unique) dans l'espace de noms Translations.
      • Ceci doit être fait immédiatement car l'étape précédente a masqué tous les contenus traduits : tout doit avoir été préparé avant l'étape précédente.
      • Idéalement, à certains moments un robot va chercher aussi, à partir des redirections, les titres des anciennes pages traduites pour créer le titre de la page traduite (unité de traduction 0).

Notes

  1. Voir commons:Commons:Localisation ; devrait pouvoir être amélioré par l'utilisation de {{UILANGCODE}} à la place de {{int:lang}} pour prendre en compte la langue de l'utilisateur.
    Actuellement, {{UILANGCODE}} retourne "en" sur cette page, soit comme un lien en rouge vers un Template:UILANGCODE inexistant, soit comme le résultat de l'inclusion du modèle qui contient l'élément {{int:lang}} encore utilisé dans Template:LangSwitch ainsi que dans beaucoup de modèles auto-traduits, alors que ce {{UILANGCODE}} devrait être un mot-clé d'extension natif de MediaWiki lui-même.
    Beaucoup de modèles auto-traduits basés sur LangSwitch sont faciles à convertir afin d'utiliser la nouvelle extension Translate: il faut remplacer les appels à LangSwitch par des balises de traduction autour du langage par défaut, et déplacer les traductions existantes en LangSwitch vers les sous-pages par langue. Ce travail de conversion, incluant le déplacement des traductions existantes) peut être donné à un robot, et être lancé par quelqu'un ayant les droits sur Translate (sinon ces modèles préparés avec les balises "translate" ne sont pas reconnus tant qu'ils ne sont pas marqués comme étant prêts pour la traduction).
  2. Ceci simplifie beaucoup de choses pour les traducteurs, qui ont passé du temps à assimiler les modèles des états et souvent fait des erreurs. La traduction de CentralNotice a actuellement besoin de quelques développements supplémentaires sur son interface d'administration ; Siebrand et Nikerabbit en reparleront, des retours seront appréciés.
  3. Cela ne changera fondamentalement rien par rapport au précédent système, qui était géré par les membres de Transcom avec d'autres utilisateurs expérimentés (habituellement des administrateurs), mais cela montrera plus clairement qui travaille sur les traductions.
  4. Ceci ne change fondamentalement rien par rapport à l'ancien système, qui n'a été compris que par quelques utilisateurs. Le nouveau système est plus agréable et il est documenté, et possède des rôle et des tâches clairement définis.

Lectures complémentaires