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 est la variante par défaut quand  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 et celle de l'utilisateur sont les mêmes. Elle est définie par  dans son titre, qui représente la langue dans laquelle le texte source du wiki est écrit.
 * La variante de langue utilisateur (page view language) qui est une variante de langue de la langue du 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 les codes de langue sur MétaWiki.

Un code de langue est une abréviation standard valide désignant une langue prise en charge par MediaWiki, qui utilise de tels codes pour identifier de manière standard les langues (essentiellement en accord avec l'ISO 639-3, à l’exception des codes ISO 639-1 à deux lettres pour les régionalisations « établies » ) 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 le standard 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 nécessaire pour qu’une nouvelle langue puisse être ajoutée aux données de régionalisation de MediaWiki.

Names.php
est le dépôt maître des langues prises en charge par MediaWiki. Ce n'est pas la même chose que les langues affichées en l10n (fichiers JSON) par Mediawiki, ni les langues dont MediaWiki connait le nom (via ), souvenez-vous en !

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é. Par exemple (grep fallback). There is also a plain list from 2020-09 in this phabricator comment.

Langue de contenu du site
Afficher/obtenir la langue du contenu du site



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 si 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 (sa valeur) n’est pas retournée, 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
 * Les extensions peuvent modifier toutes les autres pages au moyen de l'accroche . La valeur pour les pages spéciales, CSS, JS, et pour les pages des espaces de noms MediaWiki ne peut pas être modifiée.


 * 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   définit la direction d’écriture correcte. L’attribut   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’autres éléments non directement reliés, 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 multiples dans une seule page sont en théorie non prises en charge, 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 dans l’analyseur, tels que la table des matières (TOC) et les mots magiques ne seront pas modifiés.


 * Visualiser / obtenir la langue de la 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.