Manuel:Langue

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Manual:Language and the translation is 96% complete.

Other languages:
Deutsch • ‎English • ‎català • ‎dansk • ‎español • ‎français • ‎polski • ‎português do Brasil • ‎čeština • ‎русский • ‎تۆرکجه • ‎فارسی • ‎پښتو • ‎中文 • ‎日本語 • ‎한국어
i18n docs Localisation · Messages système · Messages API · Manuel:Langue · translatewiki.net · Writing systems · Directionality
Voir aussi Manuel:architecture MediaWiki#Langues (devrait être fusionné ici ?)

Dans MediaWiki, il y a divers types de langues :

  • La langue du contenu du site ($wgContLang , basé sur $wgLanguageCode ), qui devrait généralement rester la même aussi longtemps que le wiki existe.
  • La langue d’interface utilisateur ($contextSource->getLanguage() appelée précédemment $wgLang ), qui peut être changée dans vos préférences ou avec le paramètre ajouté &uselang=xyz dans l’URL, mais qui reste généralement la même tout au long de l’utilisation du wiki par l’utilisateur.
  • La langue du contenu de la page. Elle peut être différente pour chaque page, même si la langue du site est la même. Elle est définie par getPageLanguage() dans son titre, qui représente la langue dans laquelle le texte source du wiki est écrite.
    • La variante de langue utilisateur (page view language) qui est une variante de langue de la langue de contenu de la page, suivant la préférence de l’utilisateur. Elle peut également être configurée par le paramètre &variant (ou $wgVariantArticlePath) ajouté dans l’URL (par exemple, en sélectionnant l’un des onglets proposés) si c’est une variante de la langue de contenu de la page actuellement visualisée. Elle est définie par getPageViewLanguage() dans le titre, qui représente la langue dans laquelle le contenu rendu en HTML est écrit.

Tous les trois sont des objets de type langue.

Code de langue

Ne pas confondre avec les codes de projets Wikimedia ; voir également Language codes sur MétaWiki.

Un code langue est une abréviation standard valide désignant une langue prise en charge par MediaWiki,[1] qui utilise de tels codes pour identifier les langues (essentiellement en accord avec with ISO 639-3, à l’exception des codes ISO 639-1 à deux lettres pour les régionalisations « établies », conformément aux recommandations BCP 47 pour la régionalisation des contenus sur Internet et dans les logiciels et bases de données) et qui les expose ou les nécessite pour adapter de nombreux points de l’interface et du code.[2]

Dans l’exemple ci-dessous, MediaWiki:Message/fr, fr est le code de langue pour le français.

La conformité avec les standards Internet et Unicode est requise pour fournir un bon support de langue, en particulier en coopération avec CLDR ; avoir un code ISO 639-3 valide est une condition désormais nécessaire pour qu’une nouvelle langue puisse être ajoutée aux données de régionalisation de MediaWiki.

Names.php

Names.php is the master registry of languages supported by MediaWiki. This is not the same as languages of which MediaWiki will show l10n (JSON files) nor languages of which MediaWiki knows the names (via CLDR), mind you!

Langues de repli

Séquences de repli

Certaines langues dans MediaWiki ont ce qu’on appelle des « séquences de repli ». C’est vers elles que MediaWiki s’orientera en utilisant une langue différente s’il ne peut pas trouver ce qu’il cherche dans une langue demandée. Par exemple le code de langue frc (français cajun) se replie sur le code de langue fr (français). La raison de ceci est que bien souvent de nombreuses langues (ou variantes de langues) n’ont pas tous les messages et paramètres de régionalisation traduits ou adaptés spécifiquement pour elles.

La séquence de repli pour chaque langue peut se trouver dans son fichier de configuration languages/messages/MessagesXX.php associé.

Site content language

Viewing/getting the site content language

JavaScript :

mw.config.get( 'wgContentLanguage' );

Langue de l’interface utilisateur

Version de MediaWiki : 1.18
Valeur par défaut
Initialisé par
  • Spécial:Préférences
  • &uselang=zxx dans l’URL (voir uselang)
  • &variant=xy (ou $wgVariantArticlePath) dans l’URL if c’est une variante de votre langue utilisateur
Problèmes
Parce que les messages d’interface peuvent venir des langues de repli et que la langue n’est pas rendue, la langue actuelle de chaque message n’est pas connue.

Langue du contenu de page

Version de MediaWiki : 1.18
Valeur par défaut
  • $wgLang dans les pages spéciales ;
  • l’anglais pour le CSS et les pages JS ;
  • pour les pages de l’espace de noms MediaWiki, la langue dépend de la sous-page. Par exemple, la langue de la page MediaWiki:Message/ar sera définie comme l’arabe (ar), et MediaWiki:Message sera $wgContLang ;
  • toutes les autres pages sont $wgContLang par défaut.
Configuration
Des extensions peuvent modifier toutes les autres pages au moyen du greffon PageContentLanguage. La valeur pour les pages spéciales, CSS, JS, et pour les pages de l’espace de noms MediaWiki ne peuvent pas être modifiées.
Exemples
L’extension Translate l’utilise pour la fonctionnalité de traduction de page. Voir translatewiki:Project list/ar comme une traduction de translatewiki:Project list : la direction des lignes y est ainsi initialisée correctement à « de droite à gauche » pour l’arabe.
Version de MediaWiki : 1.24
Modification manuelle de la langue de la page
La sélection de la langue de la page est maintenant possible à l’aide de Special:PageLanguage depuis MediaWiki 1.24.
Les utilisateurs peuvent modifier la langue de contenu d’une page qui est par défaut la langue par défaut du wiki ($wgContLang). La langue des pages de l’espace de noms MediaWiki ne peut pas être modifiée.
La fonctionnalité doit être activée avec $wgPageLanguageUseDB = true et les permissions doivent être définies pour 'pagelang'.
La modification de la langue de page a pour effet de déplacer la page source des traductions et ses unités de traduction vers la nouvelle page cible. Au cas où la page de traduction cible existe déjà, le changement de la langue de page n’est pas autorisé.
L’API correspondant se trouve sur API:SetPageLanguage.
Que cela définit-il ?
  • Dans un SkinTemplate, cela ajoute un <div lang="xyz" dir="ltr/rtl" class="mw-content-ltr/rtl">...</div> contenant le texte de la page. L’attribut dir définit la direction d’écriture correcte. L’attribut lang sera toujours le code racine, par exemple de même si de-formal est indiqué.
    Pour les pages de fichier, la page de langue est initialisée dans ImagePage.php, car il y a beaucoup de HTML destiné à être affiché dans la langue de l’utilisateur.
  • Dans Parser.php, cela initialise le style de numérotation dans la table des matières (TOC), et d’autre choses non directement reliées, comme la grammaire. Pour faire cela uniquement, utilisez parserOptions->setTargetLanguage().
  • La direction du texte de différence (DifferenceEngine) est initialisée à la valeur de la langue du contenu de la page. Dans certains cas cela ne sera pas le même, et donc $diffEngineObject->setTextLanguage( $code ) pourra être utilisé.
  • Depuis 1.19, cela définit le comportement des mots magiques de formatage des nombres et des dates, y compris DIRECTIONMARK, mais pas les noms des espaces de noms retournés par NAMESPACE(E) car ils ne dépendent en fait que de la langue du site. Notez que la transclusion d’un modèle défini dans une langue A dans une page définie dans la langue B sera analysée en utilisant la langue B de la page cible.
Langues multiples dans une seule page
Des langues mutliples dans une seule page sont en théorie non supportée, mais de simples balises <div lang="xyz" dir="ltr/rtl" class="mw-content-ltr/rtl"> peuvent être utilisées pour marquer le texte comme étant écrit dans une langue différente. Si la classe CSS est utilisée, les listes à puces ou numérotées (balises ul/ol et li en HTML), les listes de définitions et blocs indentés (balises dl et dt/dd en HTML), les liens de modification de sections et divers autres détails de l’interface seront affichés avec les marges et alignements corrects lorsque l’attribut dir est opposé à celui de la langue de contenu de la page. Cependant, des éléments définis par l’analyseur, tels que la table des matières, la numérotation des sections et les mots magiques ne seront pas modifiés.
Visualiser / obtenir la langue de page
  • JavaScript : wgPageContentLanguage – notez que, quand lorsqu’on affiche par exemple l’historique d’une page, cela retourne la langue de la page à laquelle l’historique est attaché, parce que la page historique n’a pas elle-même de classe mw-content-ltr/rtl (elle s’affiche dans la langue de l’interface utilisateur mais les contenus historiques individuels d’une page s’affichent dans la langue de cette page). Par exemple, à la fois /wiki/NomDePage et /w/index.php?title=NomDePage&action=history retournent la langue de NomDePage. 1.19+
  • La langue du contenu de page est mentionnée dans l’affichage des informations de page (action=info, liée depuis la boîte à outils) 1.21+
  • La langue du contenu de page peut être récupérée dans l’API par api.php?action=query&prop=info 1.22+

Notes

  1. Voir languages/data/Names.php.
  2. En dépit de ceci, encore en 2012, la validation des codes langue n’est toujours pas un problème résolu. Consultez Language validation in MediaWiki, par Niklas Laxström, 28 aôut, 2012.

Voir aussi

  • MediaWiki multilingue
  • Obtenir le nom des langues à partir de leurs codes est possible en utilisant la fonction noyau {{#language:<code>}} documentée dans mots magiques.