Help:Extension:Translate/Gestion de la traduction de page

This page is a translated version of the page Help:Extension:Translate/Page translation administration and the translation is 100% complete.

Qu'est-ce ? L'outil de traduction de page permet une traduction maîtrisée des pages wiki vers d'autres langues. Cela signifie que le contenu de chaque traduction sera, en principe, équivalent à celui de la page d'origine. Ceci est différent, par exemple, des versions en différentes langues des articles de Wikipédia, dont les traductions sont totalement indépendantes les unes des autres. Par défaut, les traductions se font uniquement à partir d'une langue initiale (généralement l'anglais) vers les autres langues, mais les traducteurs peuvent s'aider des traductions dans d'autres langues si elles existent déjà.

Pourquoi ? Sans aucune aide, traduire plus de quelques pages dans d'autres langues est au minimum consommateur de temps, au pire, devient un « désordre ingérable ». Avec la fonction de traduction de page, vous pouvez éviter ce désordre et structurer le processus de traduction. L'idée essentielle est de découper le texte à traduire en plusieurs parties plus courtes, les unités de traduction, qui seront traduites séparément. De cette façon, les modifications du texte d'origine sont traitées unité par unité et les traducteurs n'ont à mettre à jour que les unités modifiées. Ceci permet aussi aux traducteurs de travailler sur des portions de texte plus simples à gérer, de partager plus facilement le travail entre plusieurs traducteurs, et de poursuivre la traduction ultérieurement, sans avoir à traduire obligatoirement la totalité du texte initial.

Pour qui ? Cette page détaille la page du tutoriel de traduction en fournissant des connaissances plus approfondies sur le fonctionnement du système de traduction, et propose les meilleures pratiques pour une grande variété de cas. Elle est prévue pour les administrateurs de traduction et d'une manière générale pour quiconque modifie le texte d'origine d'une page soumise à la traduction, même sans avoir les droits d'administrateur pour approuver les modifications de traduction.

Pour faire une demande de droits étendus en tant qu'administrateur de traduction sur MediaWiki.org, aller sur Project:Requests. De même que pour les requêtes sur Meta, voir Meta:Requests. Pour Commons, Commons:Noticeboard.

Vie d'une page traduisible

Rôles. Plusieurs personnes peuvent être impliquées dans le processus d'écriture et de traduction d'une page wiki : le rédacteur initial crée une page, quelqu'un corrige les fautes d'orthographe, un administrateur de traduction marque la page pour qu'elle soit traduite, des traducteurs traduisent, quelqu'un modifie la page, un administrateur de traduction marque que ces changements doivent être traduits et des traducteurs mettent à jour les traductions. Ces rôles peuvent se chevaucher plus ou moins, mais la responsabilité finale pour une traduction sans soucis est à la charge de l'administrateur de traductions de la page. L'administrateur décide lorsque la page est prête pour être traduite la première fois, s'assure que la segmentation est cohérente et approuve (ou corrige) les modifications.

Préparation. Pour qu'il y ait quelque chose à traduire, vous devez d'abord le rédiger. Si vous avez effectué une traduction sans passer par l'extension Translate, lisez la section sur comment migrer des traductions. Si vous voulez de nombreuses traductions rapidement, il est très important que le texte source soit correct. Avant de marquer une page pour qu'elle soit traduite, demandez à quelqu'un d'autre de la relire attentivement et si possible demandez à un quelqu'un qui maîtrise la langue de rendre le texte plus clair et plus concis. Le vocabulaire difficile et les phrases difficiles à comprendre sont vus comme pouvant être bloquants pour les traducteurs bénévoles. Les balises, aussi, peuvent causer des problèmes pour les traducteurs, mais en tant qu'administrateur de traduction vous pouvez éviter ces problèmes, pour cela lisez la section sur la gestion des balises ci-dessous. Naturellement les changements que vous effectuez dans le texte source des traductions nécessitent des mises à jour de toutes les traductions existantes, ainsi est-il mieux d'attendre jusqu'à ce que le contenu de la page soit stabilisé. D'un autre côté, les modifications ont lieu, et le système les prend correctement en charge, donc vérifiez la section sur la gestion des modifications ci-dessous.

Balisage. Lorsque le texte est prêt à être traduit, chacun peut marquer les parties traduisibles en les englobant dans des balises ‎<translate> et en ajoutant la barre ‎<languages /> à la page. Cette dernière ajoute une liste de toutes les traductions de la page, avec leur pourcentage de complétude. Il n'existe aucune autre façon de dire qu'une traduction existe. Lisez comment effectuer le balisage ci-dessous. Le système détectera les balises placées sur la page à traduire et la page comportera un lien pour l'identifier comme page traduisible. Il vous avertira et vous empêchera d'enregistrer la page si par exemple vous avez oublié d'ajouter une balise fermante. La page à traduire sera également répertoriée sur Special:PageTranslation comme étant prête pour la traduction.

Marquage. Après le balisage, un administrateur de traduction marque la page pour qu'elle soit traduite. L'interface est expliquée sur la page d'exemple de traduction. La responsabilité de l'administrateur de traduction est de vérifier que la segmentation est cohérente et que le balisage a été fait correctement. La page peut être marquée de nouveau pour traduction si une modification a eu lieu entre temps. Voir comment effectuer une modification sans rupture brutale ci-dessous. Le marquage de la page démarre un processus en arrière-plan qui utilise la file d'attente des travaux. Ce processus parcourt chaque page de traduction et la régénère : les modifications dans le modèle de la page de traduction sont reflétées et les traductions obsolètes sont remplacées temporairement par le texte source original. À l'opposé, l'interface de traduction est mise à jour immédiatement.

Modifications. Les utilisateurs peuvent continuer à faire des modifications sur la page source à traduire. Les modifications seront visibles aux utilisateurs regardant la page dans la langue source, mais les traductions sont faites au regard des unités de traduction extraites de la dernière version de la page à traduire qui a été marquée pour qu'elle soit traduite : les pages à traduire sont indiquées comme étant 100% à jour si toutes les unités de traduction ont été traduites, même si la page source a reçu des modifications. Vous pouvez facilement voir s'il y a des modifications non-marquées lorsque vous regardez la page à traduire dans la langue source : il y a une note en haut qui dit que vous pouvez traduire cette page et également des liens vers les modifications s'il y en a.

Invalider. Si des modifications sont faites dans le source de la page à traduire, on donnera à l'administrateur des traductions la possibilité de « ⧼tpt-action-nofuzzy⧽ » pour chacune des sections. Si une section est invalidée, alors les langues de traduction auront une couleur de fond rose pour ces sections, et une icône représentant une montre sera affichée aux traducteurs dans l'interface de traduction. Si une section n'est pas invalidée, aucun changement ne sera visible aux lecteurs des pages traduites, et les traducteurs devront examiner la section dans l'interface de traduction afin de voir les modifications.

Langue source. Il existe également une page de traduction avec le code de langue de la langue source : elle ne contient pas les balises additionnelles et autres marquages en lien avec la traduction de page qui sont utilisés dans la source de la page à traduire. Cette page n'est pas liée à l'interface, mais elle est utile par exemple lorsque vous voulez transclure la page (typiquement pour les modèles traduisibles) ou l'exporter. Par exemple, la page sur laquelle vous vous trouvez est disponible sans balises à Help:Extension:Translate/Page translation administration/en.

Changement de la langue d'origine. L'extension assumera en principe que la page source à traduire est dans la langue par défaut du wiki. Les administrateurs peuvent modifier le paramètre de langue d'une page spécifique, en utilisant la page Special:PageLanguage, afin qu'elle puisse être utilisée comme page source pour la traduction. Voir Langue du contenu de page pour plus de détails.

Langue de traduction. Les pages de traduction peuvent contenir du texte en différentes langues s'il n'a pas été complètement traduit. Sur les pages de traduction, les unités qui n'ont pas encore été traduites seront marquées avec la langue et la direction ad'hoc afin que les règles CSS puissent s'appliquer correctement. Néanmoins MediaWiki ne permet pas actuellement de définir la langue de l'analyse syntaxique ailleurs qu'au niveau de la page. Tous les mots magiques ainsi que les fonctions de l'analyseur syntaxique utilisent la langue cible de traduction, même si le texte englobant n'est pas traduit. Cela peut créer une détection non voulue par exemple lorsque vous formatez des nombres ou des dates. Certaines fonctions magiques et des balises de l'analyseur syntaxique autorisent de définir la langue de sortie, auquel cas vous pouvez utiliser les mots magiques {{TRANSLATIONLANGUAGE}} qui renvoient soit la langue source des unités de traduction, soit la langue cible des unités traduites.

Demandes d'arrêt de la traduction. Certaines pages traduisibles ont un contenu qui est seulement intéressant pour une certaine période de temps. Par exemple, les mises à jour d'annonces et de statut régulier, comme les faits marquants mensuels de Wikimedia. Vous pouvez garder ces pages avec leurs traductions, mais vous devez les cacher de l'interface de traduction (action dissuader dans Special:PageTranslation). Cela n'empêche pas d'autres traductions de pages, mais réduit considérablement le risque qu'un utilisateur commence accidentellement la traduction de la page. De manière similaire, la reprise du cycle standard de traduction se fait par l'action rétablir dans Special:PageTranslation.

Priorisez les langues. Vous pouvez également définir une liste de langues spécifiques dont vous souhaitez la traduction ; laisser la liste des langues vide si toutes les langues sont autorisées. La page se comportera comme une page qui dissuade (voir paragraphe précédent) pour les langues non présentes dans la liste des priorités et, lors de leur traduction, les traducteurs pourront recevoir un avis. Vous pouvez également empêcher la traduction dans d'autres langues, dire si les traductions sont effectivement utilisées ailleurs et vous ne serez plus en mesure de les utiliser, sauf dans certaines langues.

Groupement. Il est possible de regrouper les pages ayant des liens communs. Ces groupes travaillent comme tous les autres groupes de messages. Ils ont leurs propres statistiques et contiennent tous les messages des sous-groupes : dans notre cas, les pages traduisibles. Cette fonctionnalité est actuellement dans Special:AggregateGroups. Les groupes de messages globaux sont réduits par défaut dans Special:LanguageStats dans le sélecteur de groupe à Special:Translate.

Déplacement. Vous pouvez déplacer des pages traduisibles de la même façon que vous pouvez le faire pour n'importe quelle autre page. Lors du déplacement, vous pouvez également choisir si vous souhaitez déplacer des sous-pages non-traductibles. Le processus de déplacement utilise une tâche qui s'exécute en arrière plan pour déplacer les nombreuses pages dépendantes. Pendant que le déplacement s'effectue, il est impossible de traduire la page. L'achèvement est noté dans le journal de traduction de page.

Suppression. Comme pour le déplacement, la suppression est accessible à partir de l'endroit par défaut. Vous pouvez supprimer soit l'ensemble de la page traduisible, ou juste une page de traduction, à partir de son bouton de suppression. La suppression supprimera également toutes les pages de l'unité de traduction connexes. Comme pour le déplacement, un processus en arrière-plan supprimera les pages au fil du temps et l'achèvement de la tâche est noté dans le journal de traduction de la page. La suppression exige d'avoir une autorisation pour "supprimer" et "traduire la page", mais les unités de traduction individuelles des pages peuvent toujours être supprimées avec la procédure standard de "suppression".

Revenir en arrière. De même, revenir sur des modifications incorrectes fonctionne comme d'habitude. (incluant le bouton de retour en arrière) : il suffit de modifier l'unité de traduction affectée et la page de traduction sera mise à jour. Pour pouvoir éditer l'unité de traduction à partir de l'édition de la page de traduction, cliquez sur le lien "contributions" pour l'éditeur et rechercher une modification à la même date et heure. Dans le système de traduction, vous pouvez marquer une traduction existante comme étant obsolète en ajoutant !!FUZZY!! au début de la boîte du message traduit de l'unité de traduction.

Protéger. Il est possible de protéger la page traduisible. Les pages de traduction ne peuvent pas être protégées, la protection de la page traduisible ne peut pas se propager jusqu'à celles-ci. Pour éviter d'autres modifications sur les traductions, vous devez ajouter la langue source comme seule langue prioritaire et désactiver les traductions à d'autres langues, voir Priorisez les langues ci-dessus. Ensemble, ces deux actions empêchent efficacement les changements à la fois sur la page source et les pages de traduction avec leurs pages d'unités de traduction. Il est possible de protéger les pages des unités de traduction individuelles, bien que ça ne soit pas conseillé.

Suppression de la traduction. Il est également possible d'annuler le marquage d'une page pour la traduction. Vous pouvez utiliser Special:PageTranslation (action = retirer la possibilité de traduire) ou suivre le lien en haut de la page traduisible pour le retirer de la traduction. Cela permettra d'éliminer toute structure liée à la traduction de la page, mais de laisser toutes les pages existantes en place, librement éditables. Cette action est déconseillée.

Transclusion dépendant de la langue. Il est possible de transclure une page traduisible dans une autre page en tant que modèle. Dans un tel cas, la page traduisible sera chargée dans la langue de la page cible si elle a été traduite dans cette langue. Si cette traduction n'existe pas, la page traduisible sera chargée dans la langue source. Ce comportement de page traduisible est contrôlé par l'option Activer la transclusion prenant en compte la transclusion pour cette page lors du marquage de la page pour traduction. Les nouvelles pages traduisibles auront ce comportement activé par défaut.

Anatomie d'une page traduisible

La traduction d'une page traduisible produit beaucoup de pages, qui toutes ensemble forment la page traduisible dans son acception la plus large : son titre est déterminé par le titre de la page traduisible Page :

  • Page - la page source
  • Page/<code de langue> - les pages des traductions, plus une copie de la page source sans le marquage
  • Translations:Page/<identifiant d’unité de traduction>/<code de langue> - toutes les pages des unités de traduction

En plus de cela, il y a le modèle de page de traduction et les sources des unités de traduction, extraits de la page source et stockés dans la base de données. Le système garde une trace de chaque version de la page source qui contient des balises de traductions et mémorise quelles versions parmi celles-ci ont été marquées comme étant à traduire.

Chaque fois qu'une page d'unité de traduction est mise à jour, le système régénèrera également la page de traduction correspondante. Cela se concrétisera par deux modifications. La modification de la page d'unité de traduction est cachée par défaut dans les modifications récentes et peut être affichée en choisissant « Afficher les traductions » dans le filtre des traductions. Toute action autre que la modification (comme la suppression ou le déplacement) des pages d'unité de traduction n'entraineront pas la régénération de la page de traduction correspondante.

Si vous avez besoin de la copie de la page source sans balisage, par exemple pour être collée dans un autre wiki sans Translate,

  • identifiez le code de langue source (pour l'anglais, en) et rendez-vous sur Page/<code de langue>
  • cliquez sur le bouton « Voir l’historique » pour atteindre une adresse telle que celle-ci et remplacez action=history par action=raw dans la barre d'adresse, appuyez sur Entrée :
  • le texte sera affiché ou sauvegardé.

Segmentation

Principes généraux :
  1. Tout texte destiné à être traduit doit être compris entre des balises ‎<translate>. Il peut y avoir de multiples paires de balises pour une seule page.
  2. Tout ce qui est en dehors des balises reste inchangé quelque soit la traduction. Ce texte fixe, avec les jokers qui marquent l'emplacement de chaque unité de traduction, est appelé modèle de traduction de la page.
  3. Trop de balises placées dans un texte rendent le travail des traducteurs difficile. S'il y a beaucoup de balises, regrouper les balises ‎<translate> ensemble le plus possible, de sorte qu'elles contiennent peu de wikicode.
  4. Le texte placé entre les balises ‎<translate> est séparé en unités de traduction. Une ou plusieurs lignes vides doivent s'intercaler entre 2 unités de traduction (2 passages à la ligne ou plus).

Restrictions. La fonction de traduction de page impose certaines restrictions sur le texte. Aucun balisage ne doit couvrir deux unités de traduction ou plus. En d'autres termes, chaque paragraphe doit être autonome. Ceci n'est pas intégré actuellement dans le logiciel, mais ne pas respecter cette règle provoquera un rendu invalide de la page, la gravité dépendra du fait que MediaWiki lui-même soit en mesure ou non de corriger la sortie HTML résultante.

Ordre d’analyse syntaxique. Attention, les balises ‎<translate> fonctionnent différemment des autres balises, car elles ne passent pas par l’analyseur syntaxique. Cela ne devrait généralement pas causer de problèmes, mais le peut si vous essayez quelque chose de fantaisiste. Plus précisément, elles sont analysées avant toutes les autres balises comme ‎<pre> ou ‎<source>, à l’exception de ‎<nowiki> qui est reconnue par l’extension de Traduction.

Placement des balises

La balise ‎<translate> impose certaines contraintes particuliéres pour fonctionner correctement; elles sont détaillées ci-après.

Placement de la balise. Si possible, essayez de mettre les balises sur leurs propres lignes, sans lignes vides entre le contenu et les balises. Parfois, cela est impossible, par exemple si vous voulez traduire un contenu entouré par le balisage, mais pas le balisage lui-même. Ceci reste correct aussi, par exemple :

{{Template|1=<translate>Quelques paramètres localisés</translate>}}

Pour faire ce travail, l'extension utilise un traitement des espaces simple : les espaces sont conservés, sauf si une balise d'ouverture ou de fermeture ‎<translate>‎</translate> est la seule chose sur une ligne. Dans ce cas, la nouvelle ligne après la balise d'ouverture ou avant la balise de fermeture est mangée. Cela veut dire que ça ne provoquera pas d'espace supplémentaire dans l'affichage de la page.

Si vous insérez une balise à l'intérieur de la valeur d'un paramètre d'un appel de modèle, assurez-vous que le paramètre est nommé (sinon ajoutez un nom numérique, comme 1=).

Si vous insérez une balise à l'intérieur d'une cellule de tableau, vérifiez qu'il n'y a pas d'espaces supplémentaires entre les balises et le marquage du tableau , car cela va casser la sortie HTML.

  Note : Vous devez laisser l'espace entre le contenu et le marqueur d'unité (ce espace est automatiquement ajouté par le logiciel). Sinon, l'éditeur affichera un message d'erreur : Marqueurs d'unité de traduction dans une position inattendue, et vous empêchera de publier. Par exemple :

Correct : <translate><!--T:1--> Hello, world.</translate>
Incorrect : <translate><!--T:1-->Hello, world.</translate>

Variables

Pour masquer aux traducteurs les éléments non traductibles ou pour s'assurer que le contenu à l'intérieur d'une unité de traduction n'est pas soumis au processus de traduction comme les cibles des liens ou les noms de fichiers, utiliser le marquage des variables tel que décrit ci-dessous comme solution.

Il est possible d'utiliser des variables semblables à des variables de modèle. La syntaxe est ‎<tvar name="name">contenu‎</tvar> (les guillemets sont facultatifs si la valeur ne contient pas d'espaces ni de " ' ` = < > ).   Note : les variables doivent avoir un nom, sinon le rendu de la page peut être erroné. Pour les traducteurs les variables apparaitront seulement sous la forme $nom, et dans les pages de traduction elles seront remplacées par le contenu du tvar nommé nom. Elle sont donc des constantes globales à toutes les pages de traduction). Cela fonctionne également pour les éléments comme les nombres qui doivent être souvent mis à jour. Vous pouvez mettre à jour le nombre dans toutes les traductions en changeant la valeur de la variable dans le source de la page à traduire et en faisant appliquer la page une noouvelle fois sur toutes les versions linguistiques. Vous n'êtes pas obligé d'invalider les traductions, parce que le nombre ne fait pas partie des pages de l'unité de traduction.

Notez que les variables ne sont pas partagées entre les différentes unités de traduction. Si vous voulez utiliser la même variable dans plus d'une unité, vous devez répéter le code dans chaque unité. Vous pouvez utiliser le même nom. Les variables de traduction peuvent être utilisées pour séparer ou masquer des éléments ou un contenu non traductible (tel que des cibles de liens ou des noms de fichier) du processus de traduction ou de l'intérieur de l'unité de traduction. Par exemple, cela peut être utilisé pour afficher un lien dont le libellé doit être traduit, mais pas l'URL réelle :

[[Special:MyLanguage/Help:Extension:Translate|Translation extension]]

Valeurs séparées par des virgules. Pour du contenu, tel que des données destinées à la construction de graphiques, qui nécessitent d'être parcourues par le logiciel en tant que valeurs séparées par des virgules, vous devez séparer les unités de traduction entre chaque virgule, de manière à ce que les traducteurs n'utilisent pas la représentation des virgules propre à leur localisation, ce qui induirait le logiciel en erreur.

Valeurs en texte brut. Pour empêcher tout type de modification de la valeur de la traduction, utilisez l’attribut nowrap comme ceci : <translate nowrap>...</translate>. Par défaut, les valeurs obsolètes et non traduites sont modifiées afin de pouvoir les surligner et les baliser dans la bonne langue.

gérer ‎<nowiki> : Avant la version 2020.10 de l’extension Translate, ‎<nowiki> n’était pas géré de manière cohérente et les pages pouvaient apparaitre quand même dans Special:PageTranslation. Pour contourner cela, il fallait échapper la balise comme ceci : « &lt;translate>...&lt;/translate> ».

Syntaxe précédente : Avant la version 2021.04 de Translate, la syntaxe était <tvar|name>contenu</> (T274881). Cette syntaxe fonctionne encore, mais est obsolète.

Voir aussi les Variables de traduction.

Exemples de marquage/balisage de texte

Ci-dessous sont répertoriées les pratiques de base et celles alternatives pour manipuler différentes sortes de marquages et de balisages wiki.

Catégories Les catégories peuvent être ajoutées de deux façons : dans le modèle de la page de traduction ou dans l'une des unités de traduction.

Si les catégories se trouvent dans le modèle de la page de traduction, toutes les traductions se retrouveront dans la même catégorie.

Si vous avez des catégories à l'intérieur d'unités de traduction, vous devez convenir avec les utilisateurs d'un schéma de nommage.

Sur la droite, nous voyons deux schémas possibles qui sont indépendants des moyens techniques nécessaires à leur réalisation.

Traduction en ajoutant un suffixe de langue : Category:Cars/fi (recommandé)

[...]
</translate>

[[Category:MediaWiki{{#translation:}}]]
  • Le nom de la page de catégorie n'est pas traduit (tout comme les noms de page).
  • Une catégorie pour chaque langue.
  • La traduction de page peut être utilisée pour la catégorie elle-même : les catégories seront liées ensemble et les entêtes seront traduits (mais pas le nom de la catégorie dans les liens ou équivalents).

Pas de traduction: Category:Cars

  • Toutes les traductions sont dans la même catégorie (c'est bien quand il y a peu de langues, mauvais sinon).
  • Le nom de la catégorie n'est pas traduit (peut être mis comme tel dans le modèle de traduction).
Titres
Balisage recommandé pour le balisage des titres de section à traduire :
  • Include the markup of headings inside the translation tags, so the translator gets context.
  • Insert a newline between the opening translate tag and the heading, or MediaWiki will not identify it properly as a heading. For example, section editing does not work if the recommended markup is not used.

Les titres doivent être séparés par une ligne vide. De cette manière le sommaire peut être rapidement traduit avant de procéder au contenu et ajouter un {{anchor}} ou ‎<span>...‎</span> dans la langue du source aux pages de traduction pour que le lien wiki vers le titre des sections soit cohérent (même nom) sur toutes les pages traduites, En plus cela permet de générer automatiquement des ancrages pour les titres ce qui permet de les déréférencer à l'aide de liens.

Incorrect : (pas de saut de ligne après la balise ‎<translate>, entête hors des balises de traduction)

== <translate>Culture</translate> ==

Incorrect : (pas de saut de ligne)

<translate>== Culture ==</translate>

Segmentation recommandée :

<translate>
== Culture == 

Lorem ipsum dolor.
</translate>
Média Pour les médias tels que les images qui contiennent à l'intérieur un contenu spécifique à une langue, comme du texte sur un graphique, il faut inclure la syntaxe complète de l'image dans l'unité. Les autres médias qui contiennent un titre ou d'autres paramètres textuels, seul le texte applicable peut être marqué à traduire.
<translate>
[[File:Europe countries map en.png|thumb|Carte de l'Europe avec le nom des pays]]
</translate>
[[File:Ball.png|50px|<translate>Icône balle</translate>]]
Liens
Si la page cible est ou doit être traductible, alors le lien wiki doit être préfixé par Special:MyLanguage/.

Toute page traductible doit être liée avec Special:MyLanguage/, même si elle n'est pas traduite actuellement. Seule l'étiquette du lien aura besoin d'être traduite, parce que le lien wiki redirige automatiquement les utilisateurs vers la page de traduction dans la propre langue de l'interface, telle que sélectionnée par exemple via le sélecteur universel de langue. Toutefois, afin d'obtenir un comportement homogène, la syntaxe doit être utilisée sur tous les liens.

Les liens doivent être inclus dans les balises du paragraphe car cela permet au traducteur de modifier le libellé du lien, et aussi la cible du lien vers une version traduite si elle existe.

Untranslatable elements of wikilinks can be hidden from the translator using variable syntax.

Liens internes :

<translate>
Helsinki est la capitale de la [[Finland (country)|Finlande]].
</translate>

Liens vers les pages traduisibles :

<translate>
Elle possède de merveilleuses plages avec beaucoup de  [[Special:MyLanguage/Mouette|mouettes]].
</translate>

Liens externes :

<translate>
PHP ([http://php.net site web]) est un langage de programmation.
</translate>
Listes Les longues listes doivent être divisées en plusieurs éléments simples de sorte à avoir un élément dans chaque unité de traduction.

Faites-le uniquement si les éléments sont suffisamment indépendants pour être traduit séparément dans toutes les langues. Ne créez pas de « messages Lego » en découpant une phrase unique en multiples morceaux, ou en séparant logiquement des morceaux connectés car cela peut affecter la ponctuation ou le style de la liste.

  Note : Pour diviser une liste, utilisez les balises ‎<translate> pour chaque élément de la liste, exclure les astérisques, les dièses ou les points-virgules dans le texte car ils servent au balisage des listes. N’insérez pas de nouvelles lignes entre les éléments car cela va casser la sortie HTML.

* <translate>Principes généraux</translate>
* <translate>Titres</translate>
* <translate>Images</translate>
* <translate>Tableaux</translate>

ou

<translate>
Merci de visiter :
* notre page principale,
* puis la page de FAQ.
</translate>
Nombres Avec des chiffres et d'autres éléments non-linguistiques vous pouvez extraire de la traduction le nombre lui-même et en faire une variable. Cela offre de multiples avantages :
  • Vous pouvez mettre à jour le nombre sans invalider les traductions.
  • La mémorisation de la traduction peut mieux fonctionner lorsque le nombre changeant est ignoré.
<translate>
Revenus ce mois <tvar name=income>{{FORMATNUM:3567800}}</tvar> EUR
</translate>

Notez que cela empêche les traducteurs de localiser le nombre en faisant la conversion des devises. L'appel FORMATNUM assure que le nombre est formaté correctement dans la langue de destination.

Modèles Les modèles ont différentes fonctions et utilités, de sorte que la meilleure solution dépend de ce pourquoi le modèle a été conçu. Si le modèle ne fait pas partie d'un paragraphe plus long, il doit être laissé de côté, à moins qu'il ait des paramètres qui doivent être traduits. Si le modèle n'a pas de contenu linguistique, on n'a pas besoin de faire quoi que ce soit pour ce modèle. Pour un exemple de modèles traduits avec la traduction de la page, voir Template:Extension-Translate . Pour utiliser ce modèle, vous devez avoir un autre modèle similaire à {{Translatable navigation template }}, parce que vous ne pouvez plus inclure le modèle par {{TemplateName}}. Ce n'est pas "encore" fourni par l'extension de traduction Translate elle-même, mais c'est prévu dans les plans.

Une autre façon est d'utiliser la traduction d'élément non structuré pour traduire le modèle, mais la langue du modèle suivra la langue de l'interface des utilisateurs, et non pas la langue de la page qu'ils consultent.

Attributs Par défaut, l’extension Translate peut encadrer les unités de traduction obsolètes afin de les surligner et d’indiquer dans une métadonnée dans quelle langue elles sont.

Dans certains cas, il n’est pas souhaitable que ces balises soient ajoutées.

<abbr title="<translate nowrap>Frequently asked questions</translate>"><translate>FAQ</translate></abbr>
Langue de traduction (introduit dans 5e8106cdc353) Lorsque le texte utilise des méthodes de mise en forme qui dépendent de la langue, une incohérence peut apparaître pour les sections non traduites.

{{TRANSLATIONLANGUAGE}} peut être utilisé pour éviter cela.

2020-09-15 is {{#time:l|2020-09-15|fr}}

L'entrée ci-dessus peut donner ceci :

  • anglais: 2020-09-15 is Tuesday.
  • finnois: 2020-09-15 on tiistai.

Sans le mot magique, le texte non traduit sur une page de traduction finnoise ressemble à ceci :

  • 2020-09-15 is tiistai
Langue des pages traduites (introduit dans 98b6958a2471) Les modèles traduits peuvent vouloir définir la langue dans laquelle ils se trouvent (par exemple, sur un élément conteneur HTML). Lorsqu'ils sont utilisés en dehors des balises ‎<translate>, {{TRANSLATIONLANGUAGE}} renvoie directement la langue de la page dans laquelle il est situé (contrairement à la langue de cette page vue par le lecteur). Supposons que {{1/en}} soit transclus dans la page intitulée 2/de.
  • Si {{PAGELANGUAGE}} est utilisé dans le texte de {{1/en}}, il renvoie de.
  • Si {{TRANSLATIONLANGUAGE}} est utilisé dans le texte de {{1/en}} (en dehors des balises ‎<translate>), il renvoie en.
Page traduisible (introduit dans a582f3ad21bd) Cela peut être utilisé dans les modèles qui sont transférés sur les pages traductibles et non traductibles, et qui doivent se comporter différemment si la page est traductible (par exemple, utiliser la langue de l'utilisateur sur les pages non traductible). Cela renvoie le titre de la page de traduction (de laquelle les pages sont traduites dans d'autres langues) si une page est traduisible (y compris les pages traduites), et rien si la page n'est pas traduisible. De même que la balise d'analyse syntaxique ‎<languages>, elle ne renvoie rien si la page contient un balisage de traduction mais n'a pas encore été marquée à traduire.
{{#if:{{TRANSLATABLEPAGE}}|{{Un modèle}}|{{Un modèle/{{int:lang}}}}}}

En supposant qu'Template:un modèle soit un modèle traduisible avec une transclusion (voir ci-dessus) activée, et que MediaWiki:lang et ses traductions soient configurés sur le wiki concerné de la même manière que sur mediawiki.org, le code ci-dessus le transclut dans la langue de la page sur les pages traduisibles, et dans la langue de l'interface utilisateur sur d'autres pages.

Changer le texte de la source

N'ajoutez pas vous-même les marqueurs unitaires (<!--T:1-->) car le système les génère automatiquement.
Principes généraux :
  • évitez les changements
  • faites des changements aussi isolés que possible
  • si vous faites des modifications mineures sur une unité de traduction existante, conservez le marqueur. Si vous modifiez un paragraphe complet, supprimez le marqueur
  • n'ajoutez pas vous-même les marqueurs d'unité de traduction
  • Lors de la modification de la page, les marqueurs doivent être laissés seuls et leur position par rapport à l’unité à laquelle ils appartiennent ne doit pas être modifiée.
  • Lorsque vous déplacez une unité, déplacez-la avec son marqueur d'unité.
  • Lorsque vous supprimez une unité, supprimez également le marqueur.

Les marqueurs d'unité. Après avoir marqué une page pour la traduction, le système mettra à jour la page source traduisible puis ajoutera des identificateurs uniques appelés marqueurs d'unité à chaque unité de traduction. Voir l'exemple ci-dessous. Exemple de marqueur d'unité <!--T:1-->. Ces marqueurs d'unité sont essentiels pour le système, qui les utilise pour suivre les changements de chaque unité de traduction. Vous ne devez jamais ajouter de marqueurs d'unités vous même. Les marqueurs d'unité sont toujours sur la ligne qui précède l'unité ; ou, si elle commence par un entête, après le premier entête sur la même ligne. Les différents placements pour les entêtes sont nécessaires pour laisser la zone d'édition fonctionner correctement.

<translate>
== Birds == <!--T:1-->
Birds are animals which....

<!--T:2-->
Birds can fly and...
</translate>

Modification du texte de l'unité. La modification de texte est l'opération la plus courante pour les unités de traduction. Vous pouvez corriger les fautes d'orthographe et de grammaire ou faire d'autres modifications à l'unité. Après le re-marquage de la page pour la traduction, vous verrez la différence dans le texte de l'unité. La même différence est également montrée aux traducteurs quand ils mettent à jour leurs traductions. Pour de simples corrections d'orthographe et d'autres cas où vous ne voulez pas mettre en évidence les traductions existantes des pages traduites, vous pouvez éviter de les invalider : les traducteurs verront encore la différence si jamais ils mettent à jour la traduction pour une raison quelconque.

Ajout de texte. Vous pouvez ajouter librement du texte à l'intérieur des balises ‎<translate>. Assurez-vous qu'il y ait une ligne vide entre les unités adjacentes, de sorte que le système puisse le voir comme une nouvelle unité. Vous pouvez également ajouter des balises ‎<translate> autour du texte ajouté, si le texte ne se trouve pas déjà à l'intérieur de balises ‎<translate> existantes. Encore une fois, n'ajoutez pas de marqueurs d'unité vous-même, le système va le faire tout seul.

Suppression du texte. Vous pouvez supprimer des unités entières. Si vous le faites, retirez également le marqueur de l'unité.

Fractionnement des unités. Vous pouvez diviser des unités existantes soit en ajoutant une ligne vide au milieu d'une unité, soit en ajoutant des balises ‎<translate>. Vous pouvez garder le marqueur de l'unité avec la première unité ou le supprimer complètement. Dans le premier cas, les traducteurs voient l'ancien texte lors de la mise à jour de l'ancienne traduction. Si vous avez supprimé le marqueur de l'unité, lorsque la page sera re-marquée pour la traduction, les deux unités se comporteront comme si aucune traduction n'avait jamais existé.

État original Garder le marqueur Enlever le marqueur
<!--T:1-->
Cat purrs. Dog barks.
<!--T:1-->
Cat purrs.

<!--T:2--> (Ajouté après avoir remarqué)
Dog barks.
<!--T:2--> (Ajouté après avoir remarqué)
Cat purrs.

<!--T:3--> (Ajouté après avoir remarqué)
Dog barks.
Kissa kehrää. Koira haukkuu. Kissa kehrää. Koira haukkuu.

Dog barks.

Cat purrs.

Dog barks.

Fusion des unités. Si vous fusionnez des unités, vous allez devoir supprimer tous les marqueurs de l'unité sauf un.

Déplacement des unités. Vous pouvez déplacer des unités sans invalider les traductions : il suffit de déplacer le marqueur de l'unité avec le reste de l'unité.

Avant de marquer la nouvelle version de la page pour la traduction, veiller à ce que les meilleures pratiques soient suivies, surtout que les traducteurs prennent une nouvelle unité de traduction si le contenu a changé. Assurez-vous également qu'il n'y ait pas de changements inutiles pour éviter de faire perdre du temps aux traducteurs. Si la page source contient beaucoup de changements, il peut s'avérer utile d'attendre qu'elle se stabilise, avant "d'autoriser" la traduction de la page pour les traducteurs.

Les unités de traduction supprimées ne sont pas effacées automatiquement, mais cela ne devrait pas causer des problèmes.

Évoluer vers la traduction des pages

Si vous avez déjà traduit des pages avant d'utiliser le système de traduction de page, vous pouvez migrer ces pages vers le nouveau système, au moins celles dont vous comptez avoir de nouvelles traductions ou dont vous souhaitez obtenir des statistiques. Vous aurez probablement des modèles existants pour la sélection de la langue et peut-être des conventions de nommage de la page différentes.

Vous pouvez commencer la migration par le nettoyage, la pose des balises et le marquage de la page source. Vous pouvez conserver les modèles permettant de choisir la langue tant que les anciennes traductions n’ont pas migré. Si vos pages suivent les conventions de nommage des sous-pages avec le code de la langue, elles seront remplacées par le texte source lorsque la page source aura été marquée comme étant à traduire, mais vous pourrez toujours accéder aux traductions à partir de l’historique.

Cette tâche manuelle a été partiellement automatisée par Special:PageMigration (disponible uniquement aux administrateurs de traduction), qui montre côte-à-côte les unités source et destination et permet à l'utilisateur d'ajuster les unités en fournissant un ensemble d’outils présentés plus loin sur cette page.

Mode d’emploi

 
Capture d'écran montrant un exemple d'utilisation de Special:PageMigration pour « Help:Special pages » comme nom de page et « fr » comme code de langue.
  1. Allez sur Special:PageMigration.
  2. Entrez le titre de la page et le code de la langue. Par exemple, « Help:Special pages » et « fr ».
  3. Le texte source qui a été divisé en unités par Translate, et les traductions importées, seront affichés côte-à-côte avec une première mise en correspondance.
  4. Utilisez les actions disponibles pour chaque unité pour finir la mise en correspondance manuellement.
  5. Comme les unités traduites sont modifiables, faites les améliorations manuelles nécessaires (pour ajouter des variables de traduction, réparer des liens et le balisage, etc.).
  6. Cliquez sur le bouton « Enregistrer ». Cela va créer des pages dans l'espace de nom Translate de la forme Translations:Page/<identifiant de l'unité de traduction>/<code de langue>. Les anciennes traductions ont été importées dans Translate.
  7. Autrement, si vous souhaitez annuler l’importation, cliquez sur le bouton « Annuler ».

Actions disponibles

Chaque ligne composée de l'unité source et de l'unité de destination dispose d'un ensemble d'icônes d'action. Elles sont utilisées comme suit :

  1. Ajouter : cliquer sur cette icône d'action ajoute une nouvelle unité vide sous l'unité en cours. Utilisez cette fonction si vous voulez diviser l'unité en cours et que vous avez besoin d'une unité en dessous.
  2. Permuter : cliquer sur cette icône d'action permute le contenu de l'unité en cours avec l'unité située en dessous. Vous pouvez utiliser cette fonction lorsque les unités sont mal alignées en raison d'une organisation différente des sections. Ou lorsque vous avez besoin de faire glisser une unité en dessous ou au-dessus. Dans les deux cas, rappelez-vous que ça permute avec l'unité du dessous mais ne crée pas d'unité supplémentaire.
  3. Supprimer : cliquer sur cette icône d'action supprime complètement l'unité cible correspondante de la page et décale d'une unité vers le haut les unités cibles restantes. Utilisez cette option pour supprimer les contenus non désirés comme le code ou les traductions importées qui sont totalement présents dans la langue source. Remarque : cette action est irrévocable (dans la session en cours).

Dépannage

  1. Si vous marquez une page comme étant à traduire, puis allez immédiatement sur la page spéciale pour essayer d’importer les traductions, vous pouvez obtenir un message d’erreur tel que « La page <nom_de_la_page>/<langue> ne contient aucune ancienne traduction. ». En effet, FuzzyBot n'a pas encore invalidé les messages de l’ancienne page : l’outil ne trouvera pas de modification par FuzzyBot sur ​​la page de traduction. Dans ce cas, il suffit d’attendre que FuzzyBot fasse son travail. Une fois qu’une modification sera visible, vous pourrez procéder aux importations.
  2. Merci de patienter pendant un certain temps après avoir appuyé sur le bouton « Enregistrer ». Pendant que le fond du bouton reste grisé, il y a un processus qui continue d'importer des unités non-vides. Une fois que le bouton devient de nouveau coloré, l'importation est terminée.
  3. Dans le système de traduction, vous pouvez marquer une traduction existante comme étant obsolète en ajoutant !!FUZZY!! au début de la case de traduction de l'unité traduite.

Conseils

  1. La migration sera plus facile si vous commencez d'abord (avant la marque pour la traduction) par vérifier si les traductions existantes sont semblables au texte original anglais, et que vous modifiez manuellement la structure des pages : séparez les paragraphes et les listes, ajoutez les titres manquants (même s’ils sont vides).
  2. Il sera utile de vérifier le résultat dans l’interface de traduction principale — quelques-unes des unités peuvent être marquées immédiatement comme obsolètes à cause des balises d'erreurs ou si toutes les variables de traduction n'ont pas été ajoutées.
  3. La traduction du titre de la page devra être ajoutée manuellement. Si vous ne connaissez pas très bien la langue de la page importée, vous pouvez essayer de trouver la traduction du titre de la page parmi les « pages liées », voire dans les redirections.