Manual:Magic words/fr



Les mots magiques sont une technique pour mapper une variété de chaînes de texte wiki à un ID unique associé à une fonction. variables et parser functions utilisent cette technique. Tout le texte associé à cet ID sera remplacé par la valeur de retour de la fonction. Le mappage entre les chaînes de texte et l'ID est stocké dans la variable  dans un fichier qui peut être chargé en utilisant $wgExtensionMessagesFiles[].

Les mots magiques par défaut sont implémentés dans.

Comment fonctionnent les mots magiques
Quand MediaWiki trouve du texte entre des doubles parenthèses il doit décider si XXX est une variable, une  fonction analyseur, ou un modèle. Pour cela, il pose une série de questions :


 * 1) Existe-t-il un ID de mot magique associé ? Dans une première étape de résolution du marquage de la forme, MediaWiki tente de traduire XXX en ID de mot magique. La table de transaction est définie par $magicWords.
 * 2) *Si aucun ID de mot magique n'est associé à XXX, XXX est supposé être un modèle.
 * 3) Est-ce une variable ? Si un ID de mot magique est trouvé, MediaWiki vérifie ensuite l'existence de paramètres éventuels.
 * 4) *S'il n'y a pas de paramètres, MediaWiki vérifie si l'ID du mot magique correspond à celui d'une variable. Pour cela, il récupère la liste des mots magiques utilisés en appelant  .  Cette méthode récupère sa liste d'ID de variables à partir d'une liste compilée d'ID de variables (voir Aide:Variables) et d'une liste d'ID de variables personnalisées fournie par toutes les fonctions attachées à l'accroche  MagicWordwgVariableIDs.
 * 5) **Si l'ID du mot magique a été classé comme variable, les accroches de MediaWiki appellent les fonctions associées au nom de l'événement 'ParserGetVariableValueSwitch' jusqu'à ce que l'une soit trouvée, qui reconnait le mot magique et peut donner sa valeur.
 * 6) Est-ce une fonction d'analyse ? S'il y a des paramètres ou si l'ID du mot magique n'est pas dans la liste des ID des mots magiques des variables, alors MediaWiki suppose que le mot magique est une fonction d'analyse ou un modèle. Si l'ID du mot magique est trouvé parmi la liste des fonctions d'analyse déclarée via un appel à, il est traité comme une fonction d'analyse et interprété en utilisant la fonction appelée  . Sinon, on suppose qu'il s'agit d'un modèle.
 * 1) Est-ce une fonction d'analyse ? S'il y a des paramètres ou si l'ID du mot magique n'est pas dans la liste des ID des mots magiques des variables, alors MediaWiki suppose que le mot magique est une fonction d'analyse ou un modèle. Si l'ID du mot magique est trouvé parmi la liste des fonctions d'analyse déclarée via un appel à, il est traité comme une fonction d'analyse et interprété en utilisant la fonction appelée  . Sinon, on suppose qu'il s'agit d'un modèle.
 * 1) Est-ce une fonction d'analyse ? S'il y a des paramètres ou si l'ID du mot magique n'est pas dans la liste des ID des mots magiques des variables, alors MediaWiki suppose que le mot magique est une fonction d'analyse ou un modèle. Si l'ID du mot magique est trouvé parmi la liste des fonctions d'analyse déclarée via un appel à, il est traité comme une fonction d'analyse et interprété en utilisant la fonction appelée  . Sinon, on suppose qu'il s'agit d'un modèle.

Définir des mots magiques
Pour que des mots deviennent réellement magiques, il faut définir deux choses :
 * une correspondance entre le texte wiki et un ID de mot magique
 * une correcpondance entre un ID de mot magique et une fonction PHP quelconque qui interprète ce mot magique.

Faire correspondre le code wiki aux ID des mots magiques
La variable $magicWords est utilisée pour associer chaque ID de mot magique avec un tableau dépendant de la langue qui décrit toutes les chaînes textuelles correspondant à l'ID du mot magique. Important: ceci ne met à jour que la correspondance i18n dans le coeur, vous devez encore écrire le code pour que MediaWiki puisse utiliser ce mot magique.

Le premier élément de ce tableau est un drapeau entier qui indique si le mot magique est sensible à la casse ou pas. Les autres éléments sont une liste des textes qui doivent être associés à l'ID du mot magique. Si le drapeau de sensibilité à la casse est à 0, toutes combinaison de casse des lettres composant le nom sera acceptée. S'il est à 1, seule la correspondance exacte des majuscules/minuscules sera associée à l'ID du mot magique. Ainsi le format est

Cette association est créée par $magicWords dans un fichier enregistré en utilisant $wgExtensionMessagesFiles[].

Dans l'exemple ci-dessous, une installation du MediaWiki espagnol va associer l'ID de mot magique 'MAG_CUSTOM' avec "personalizado", "custom", "PERSONALIZADO", "CUSTOM" et toutes les autres variantes de casse. Pour un MediaWiki anglais, seul "custom" avec toutes ses variantes de casse sera associé à 'MAG_CUSTOM':

Fichier :

En partie dans le fichier extension.json :

Note that "ExampleMagic" is a different to the key you would use for a plain internationalization file (normally just the title of the extension, i.e. "Example"). "Magic" has been appended deliberately so one does not overwrite the other.

Associer un ID de mot magique à une fonction PHP
The mechanism for associating magic word IDs with rendering functions depends on whether the magic word will be used as a parser function or a variable. For more information, please see:



Enregistrer les mots magiques
There is no explicit requirement to register magic word IDs. Registering the parser function or variables that use them is sufficient.

Internationalisation

 * ''Voir la localisation pour l'aide.

You can read more on definition and usage of magic words for localisation at Localisation#PLURAL and GENDER support in JavaScript, Localisation#Localizing namespaces and special page aliases, Localisation#Switches in messages…; Localisation#Be aware of PLURAL use on all numbers, Localisation#Users have grammatical genders, Avoid  in messages.

Sélecteur de comportement (mots magiques avec souligné double)
Behavior switches are a special type of magic word. They can be recognized by their use of double underscores (rather than double braces). For example,.

These magic words typically do not output any content, but instead change the behavior of a page and/or set a page property. These magic words are listed in  and also at Help:Magic words#Behavior switches. The effect of each behavior switch is defined in. If no specific effect is defined, the magic word will simply set a page property in the page_props table.

Voir aussi

 * Aide:Mots magiques - Liste de variables comme et