Open main menu

Aide:Extension:Traduction/Traduction d'élément non structuré

This page is a translated version of the page Help:Extension:Translate/Unstructured element translation and the translation is 100% complete.
Other languages:
Deutsch • ‎English • ‎Lëtzebuergesch • ‎Nederlands • ‎Zazaki • ‎català • ‎dansk • ‎español • ‎français • ‎italiano • ‎lietuvių • ‎polski • ‎português • ‎português do Brasil • ‎čeština • ‎русский • ‎українська • ‎العربية • ‎کوردی • ‎हिन्दी • ‎বাংলা • ‎தமிழ் • ‎中文 • ‎日本語

Cette page décrit la méthode à suivre pour faciliter la traduction d'interfaces wiki personnalisées, à l'aide de l'extension Translate. Cette méthode est valable quelle que soit la partie du wiki que l'on souhaite afficher dans la langue de l'interface utilisateur. Typiquement, on l'utilisera pour traduire le menu latéral, parce qu'il ne peut pas y en exister différentes versions, mais on pourra traduire de la même façon la page d'accueil pour regrouper toutes ses traductions sous le même titre, ou même les modèle (templates).

Cette méthode s'applique aussi aux contenus wiki pour lesquels une simple traduction de la page ne peut convenir, comme les pages contenant beaucoup de balises (markup) ou de modèles (templates), ou des balises (markup) qui ne devraient pas être traduites. Tout cela tourne autour de interface messages ou du mot magique {{int:}} qui vous permet d'inclure des message-interface partout où vous pouvez écrire un wikitexte. Ce mot magique permet de substituer automatiquement un message-interface dans la langue de l'interface de l'utilisateur, que ce message-interface soit standard, customisé ou nouveau.

Vous pouvez l'utiliser pour bénéficier de l'avantage de la traduction automatique de l'interface wiki dans un contenu wiki, mais elle ne résout pas le problème pour les utilisateurs anonymes qui ne peuvent changer la langue de l'interface. Voyez la note ce dessous : Universal Language Selector extension

En comparaison avec la traduction de pages, cette méthode a quelques inconvénients :

  1. Les développeurs de MediaWiki généralement déconseillent l'utilisation de {{int:}} car il fragmente la mémoire cache. Au lieu de stocker une version de la page en mémoire cache, lorsque {{int:}} est utilisé, elle doit être mise en cache potentiellement pour des centaines de langues différentes.
  2. C'est plus difficile à installer, et nécessite l'accès à la configuration wiki.
  3. Il n'y a pas suivi automatique des traductions obsolètes et les statistiques de progression pourraient être faussées quand des nouveaux messages sont ajoutés ou effacés.
  4. Seuls les administrateurs wiki peuvent ajouter des messages aux groupes de messages et les traduire. Ça veut dire que le système est adapté seulement pour les pages qui ne changent pas trop fréquemment, sinon les administrateurs auront beaucoup de travail.

Le bon côté des choses est qu'elle fonctionne la plupart du temps et qu'elle vous permet de faire le travail. Il y a deux tutoriels qui fournissent des exemples de scénarios d'utilisation. Avant cela, il y a un section qui détaille comment configurer un groupe de messages, ce qui est toujours nécessaire quand on utilise ce méthode.

Configuration

Un administrateur serveur doit faire cette configuration. Le code suivant doit être ajouté dans LocalSettings.php :

$wgTranslateCC['wiki-sidebar'] = function( $id ) {
        $mg = new WikiMessageGroup( $id, 'sidebar-messages' );
        $mg->setLabel( 'Sidebar' );
        $mg->setDescription( 'Messages used in the sidebar of this wiki' );
        return $mg;
};

L'id du groupe de message, wiki-sidebar, doit être unique. Ne réutilisez donc pas le même id dans plusieurs groupes. Le second paramètre dans le constructeur WikiMessageGroup est sidebar-messages : il se réfère à la page [[MediaWiki:Sidebar-messages]]. L'étiquette (label) s'affichera dans les menus déroulants et les endroits où vous pouvez sélectionner un groupe de message. La description est visible dans Special:Translate. Telles sont les valeurs que vous devriez changer en fonction de votre wiki lorsque vous ajouter un nouveau groupe de message.

Tutoriel, traduction du menu latéral (sidebar)

Nous supposons que votre configuration est déjà réalisée. Vous devez ensuite suivre précisément le sidebar customization guide. Considérons que la simple sidebar suivante a été créée :

* sidebar-commonpages
** FAQ|sidebar-faq

Et [[MediaWiki:Sidebar-commonpages]] contient Common pages, alors que [[MediaWiki:Sidebar-faq]] contient Frequently asked questions.

Ensuite, tout ce que nous devons faire c'est aller sur la page [[MediaWiki:Sidebar-messages]] (ou celle que vous aviez défini précédemment) et là vous écrirez :

sidebar-commonpages sidebar-faq

Ceci sont les noms des messages système, séparés par un espace, et sans le préfixe du namespace "MediaWiki:".

Ensuite, allez sur [[Special:Translate/wiki-sidebar]] (ou ce que vous avez utilisé à l'étape précédente; voir [[Special:Translate]] pour avoir la liste des groupes existants). Maintenant il est possible de traduire les messages dans d'autres langues. Puisque touts les message sont dans le namespace MediaWiki, seul l'administrateur wiki peut éditer la liste des messages et donc les traduire.

Tutoriel, traduction de la page d'accueil

La page d'accueil est un cas de page contenant beaucoup de balises (markup) ou de modèles (templates). L'avantage de cette méthode est que la langue apparaît automatiquement dans la langue de l'interface utilisateur. L'inconvénient est que pour changer la langue des pages, il faut changer la langue de l'interface.

La mise en place est la même que dans le tutorial précédent :

  1. Créez un nouveau groupe de messages.
  2. Prenez un page wiki.
  3. Remplacez chaque partie traduisible avec {{int:Mainpage-messagename}} et bouger le contenu vers [[MediaWiki:Mainpage-messagename]].
  4. Allez sur [[MediaWiki:Mainpage-messages]] (ou ce qui était défini dans la configuration) et ajoutez y les noms des message, séparés par un espace.
  5. Voilà qui est terminé. Allez sur [[Special:Translate]] pour commencer la traduction de la page d'accueil.

Voici un exemple. Supposons que [[Main Page]] contienne :

<div style="max-width:20em;font-size:200%;line-height:1.4;text-align:center;color:green">
''{{SITENAME}} is a community for chefs and bakers that love chocolate.''
</div>
We currently have {{NUMBEROFPAGES}} full of chocolate.

Ensuite, changez-la en :

<div style="max-width:20em;font-size:200%;line-height:1.4;text-align:center;color:green">
''{{int:mainpage-slogan}}''
</div>
{{int:mainpage-pagecount}}

Créez [[MediaWiki:Mainpage-slogan]] avec le contenu suivant :

{{SITENAME}} is a community for chefs and bakers that love chocolate.

Créez [[MediaWiki:Mainpage-pagecount]] avec le contenu suivant :

We currently have {{NUMBEROFPAGES}} pages full of chocolate.

Créez [[MediaWiki:Mainpage-messages]] avec le contenu suivant :

mainpage-slogan mainpage-pagecount

Voilà qui est terminé ! Vous pouvez ajouter ou enlever des messages à tout moment.

Selection de la langue

A moins de changer les préférences, les utilisateurs ne peuvent pas changer la langue de la page qu'ils lisent. Il en va de même pour les utilisateurs anonymes qui verrons toujours le wiki dans la langue par défaut. Une page traduite avec ce système ne sera pas accessible si vous ne fournissez pas aux utilisateurs anonymes une options pour choisir la langue.

Heureusement, il y a une solution. Avec l'extension UniversalLanguageSelector , il est possible de demander à un utilisateur sa langue préférée et aussi de laisser l'utilisateur choisir manuellement une autre langue, qui sera mémorisée dans un cookie. Il n'y a donc pas besoin d’astuces comme le paramètre uselang, qui convient surtout pour le débogage.