Localisation file format/fr

Tous les messages utilisés dans MediaWiki sont définis dans un fichier de messages.

Il existe deux types de fichiers de messages dans MediaWiki: JSON et PHP. Depuis avril 2014, le noyau de MediaWiki et la plupart des extensions maintenues ont migré au format JSON. Pour plus d'information sur la migration en JSON, voir Requests for comment/Localisation format. Les deux formats sont pris en charge, mais vous devez utiliser JSON pour tous vos nouveaux développements. La prise en charge de PHP sera supprimée à l'avenir; ceci sera annoncé séparément.

JSON
Depuis la fin 2013 un nouveau format de fichier de messages a été introduit : JSON. C'est le JSON à plat, familier en tant que format commun générique de stockage des données. Chacune de ses clés est une clé de message, et la valeur est le texte du message. En plus, la clé spéciale  est utilisée pour stocker les informations concernant la traduction telles que les auteurs de la traduction.

L'utilisation de JSON rend les fichiers de localisation plus sécurisés car il n'est pas exécutable. Il est aussi compatible avec jquery.i18n, une bibliothèque JavaScript développée comme partie du Projet Milkshake, qui fournit des possibilités de localisation similaires à MediaWiki pour l'IHM et qui est utilisée par quelques extensions qui se veulent plus indépendantes de MediaWiki, telles que l'Editeur visuel (VisualEditor) et SUL(UniversalLanguageSelector).

Parce que la suite étendue d'outils d'internationalisation et de localisation a été appelée « Project Milkshake », certaines personnes nomment ce format banane.

Emplacement des fichiers
Dans le noyau MediaWiki, les fichiers de localisation se trouvent dans le répertoire. Les extensions MediaWiki mettent habituellement les leurs dans un répertoire. Si vous avez un grand nombre de messages à l'intérieur d'un projet, vous serez amené à les classer par sujet en deux sous-répertoires ou plus pour des raisons de maintenabilité. Dans le contexte de MediaWiki, la clé de configuration est utilisée pour lister ces sous-répertoires. Voici un exemple de l'extension VisualEditor pour MediaWiki :

Vous ajoutez les nouveaux messages au fichier de messages « en » en anglais, et vous les documentez dans le fichier de documentation des messages   qui a pour peudocode de langue « qqq ». Voir aussi l'Ajout de nouveaux messages.

Métadonnées
Actuellement les champs de métadonnées suivants sont utilisés dans les fichiers :


 * authors
 * A JSON list of the authors of the messages. For English (en) and message documentation (qqq) these are added manually when the messages file is edited. For all other languages this is inserted automatically when the message file is exported from translatewiki.net. Message documentation can be edited on translatewiki.net, and documentation editors are inserted to the qqq.json automatically as well.


 * message-documentation
 * This is the pseudo-language code for storing the message documentation. For MediaWiki this is always qqq. (This appears in some extensions, but it's not actually processed in any way. It's not mandatory.)

Conventions
Les caractères spéciaux tels les retours à la ligne sont échappés.

Unicode characters that represent letters in different alphabets are stored as real characters and not as character codes, because these files are sometimes read by people and because this makes the files smaller ( and not  ). En général, il n'y a pas de raison que les développeurs aillent modifier des messages dans une langue quelconque à part l'anglais, car ces messages sont habituellement mis à jour dans translatewiki.net.

Le code HTML n'est pas non plus échappé, on aura donc  et non pas.

L'indentation à l'intérieur des fichiers JSON se fait à l'aide des caractères de tabulation.

PHP
The older localisation file format is PHP. This is essentially a PHP array with all the messages. In core MediaWiki each language resides in its own file in the languages/message directory of the MediaWiki source code. In the extensions all the languages and the message documentation (qqq) are in the same file: ExtensionName.i18n.php, usually in the main directory of the extension.

To migrate from PHP to JSON use the generateJsonI18n.php script. It will move the messages to JSON files and replace the text of the PHP file with a shim that points to the JSON files. This boilerplate code is needed for backwards compatibility with MediaWiki 1.19. It is not used in new extensions that do not require MediaWiki 1.19 compatibility.