Help:Extension:Translate/Unstructured element translation/fr

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 gabarits.

Cette méthode s'applique aussi aux contenus wiki pour lesquels une traduction intégrale 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 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  car il fragmente la mémoire cache. Au lieu de stocker une version de la page en mémoire cache, lorsque  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 que 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.

Installation
Un administrateur serveur doit faire cette installation. Le code suivant doit être ajouté dans LocalSettings.php: L'Id du groupe de message,, doit être unique. Ne réutilisez donc pas le même Id dans plusieurs groupes. Le second paramètre dans le contrusteur  est   : 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.

Tutorial, localisation du menu latéral (sidebar)
Nous supposons que votre installation est déjà réalisée. Vous devez ensuite suite précisément le sidebar customization guide. Considérons que la simple sidebar suivante a été créée : Et MediaWiki:Sidebar-commonpages contient, alors que MediaWiki:Sidebar-faq contient.
 * sidebar-commonpages
 * FAQ|sidebar-faq

Then all we need to do is to go to MediaWiki:Sidebar-messages (or whatever was defined in the previous step) and write there: sidebar-commonpages sidebar-faq That is, the names of the system messages, without the "MediaWiki:" namespace prefix, separated by whitespace.

Then go to Special:Translate/wiki-sidebar (or whatever was defined in the previous step; see Special:Translate for the list of defined groups). Now it is possible to translate the messages into other languages. Since all the messages are in the MediaWiki namespace, only a wiki administrator can edit the list of messages and actually translate them.

Localised main page tutorial
Another use case is a page with lots of markup or templates. The advantage of this method is that the language automatically appears in the user's interface language. The drawback is that to change the language in which the page is displayed, the interface language must be changed.

The implementation is the same as in the previous tutorial:


 * 1) Setup a new message group.
 * 2) Take a wiki page.
 * 3) Replace each translatable part with  and move the content to MediaWiki:Mainpage-messagename.
 * 4) Go to MediaWiki:Mainpage-messages (or what was defined in the setup) and add the message names there separated by whitespace.
 * 5) You are done. Go to Special:Translate to translate the main page.

Here is an example. Let's say Main Page contains:  is a community for chefs and bakers that love chocolate. We currently have full of chocolate. Then change it to: 

Create MediaWiki:Mainpage-slogan with the content: is a community for chefs and bakers that love chocolate. Create MediaWiki:Mainpage-pagecount with the content: We currently have pages full of chocolate. Create MediaWiki:Mainpage-messages with the content: mainpage-slogan mainpage-pagecount And you are done! You can add and remove new messages any time you want.

Language selector
Not only the user can't choose what localised version of the page to read unless changing their preferences, but anonymous users can't set their user interface language and always use the wiki's default language. A page translated with this system will be in the default content language, if you don't provide anonymous users a way to select their language.

Luckily, there is a solution. With the extension it is possible to guess the user's preferred language and also to let the user manually select another language and store the choice in a cookie, with no need of tricks such as the   parameter, which is suitable mostly only for debugging.