Manual:Language/fr


 * 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 (, basé sur ), qui devrait généralement rester la même aussi longtemps que le wiki existe.
 * La variante de langue du contenu du site (Manual:$wgDefaultLanguageVariant) est la variante par défaut quand LanguageConverter est mis en œuvre sur le site pour cette langue.
 * La langue d’interface utilisateur ($contextSource->getLanguage appelée précédemment ), qui peut être changée dans vos préférences ou avec le paramètre ajouté   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  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  (ou ) 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   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 code et Language codes sur MétaWiki.

Un code langue est une abréviation standard valide désignant une langue prise en charge par MediaWiki, 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.

Dans l’exemple ci-dessous,,   est le code de langue pour le.

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
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
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  (français cajun) se replie sur le code de langue   (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  associé.

Langue de l’interface utilisateur

 * Valeur par défaut
 * $contextSource->getLanguage


 * Initialisé par


 * Spécial:Préférences
 * dans l’URL (voir uselang)
 * (ou ) 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

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


 * 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  et les permissions doivent être définies pour.
 * 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  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   même si   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.
 * 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  pourra être utilisé.
 * Depuis, 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  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   et   en HTML), les listes de définitions et blocs indentés (balises   et   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   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 :  – 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   (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   et   retournent la langue de.
 * La langue du contenu de page est mentionnée dans l’affichage des informations de page (, liée depuis la boîte à outils)
 * La langue du contenu de page peut être récupérée dans l’API par api.php?action=query&prop=info

Voir aussi

 * MediaWiki multilingue
 * Obtenir le nom des langues à partir de leurs codes est possible en utilisant la fonction noyau documentée dans mots magiques.