Manual:Magic words/gl



As palabras máxicas son unha técnica para facer o mapeamento dunha variedade de expresións wiki a unha soa identidade (ID) que é asociada cunha función. Tanto variábeis coma funcións sintácticas utilizan esta técnica. Todo o texto catalogado à certa identidade será substituído polo valor de regreso da función. A representación das expresións e cada identidade é almacenada na variábel $magicWords nun arquivo que pode ser cargado utilizándose $wgExtensionMessagesFiles[].

As palabras máxicas estándares son implementadas en CoreParserFunctions.php.

Como funcionan as palabras máxicas
Sempre que MediaWiki atopa un texto entre chaves duplas, debe decidir se XXX é unha variábel, unha función sintáctica ou un modelo. Para facer isto, faise unha serie a preguntas:


 * 1) Hai unha palabra máxica asociada a unha ID? O primeiro paso ao resolver marcación do padrón . Este método acada a súa lista de identidades de variábeis dunha lista codificada de identidades de variábeis (véxase  Axuda:Variables) e dunha lista personalizada de variábeis, que é proporcionada por todas as funcións enlazadas no gancho MagicWordwgVariableIDs.
 * 2) **Se a identidade da palabra máxica foi clasificada coma variábel, MediaWiki chama as funcións asociadas co nome do evento 'ParserGetVariableValueSwitch' ata que sexa atopado un que corresponda á palabra máxica e poida devolver o seu valor.
 * 3) É unha función sintáctica? Se hai algún parámetro ou se a ID da palabra máxica non for atopada na lista de palabras máxicas variables, entón MediaWiki supón que a palabra máxica é unha función sintáctica ou modelo. Se a identidade da palabra máxica é atopada na lista de funcións sintácticas declaradas mediante unha chamada de, ela é tratado coma función sintáctica e executada utilizándose a función  . Doutra banda, suponse que é un modelo.
 * 1) É unha función sintáctica? Se hai algún parámetro ou se a ID da palabra máxica non for atopada na lista de palabras máxicas variables, entón MediaWiki supón que a palabra máxica é unha función sintáctica ou modelo. Se a identidade da palabra máxica é atopada na lista de funcións sintácticas declaradas mediante unha chamada de, ela é tratado coma función sintáctica e executada utilizándose a función  . Doutra banda, suponse que é un modelo.

Definindo palabras máxicas
Para que palabras máxicas fagan a súa meigaría, débese definir dúas cousas:
 * unha correspondencia entre texto wiki e unha identidade de palabra máxica
 * unha correspondencia entre unha identidade de palabra máxica e algunha función php que interpreta a palabra máxica.

Catalogando expresións wiki coma ID de palabra máxica
The variable $magicWords is used to associate each magic word ID with a language-dependent array that describes all the text strings that mapped to the magic word ID.

The first element of this array is a flag indicating whether or not the magic word is case sensitive. The remaining elements are a list of text that should be associated with the magic word ID. If the case sensitive flag is 0, any case variant of the names in the array will match. If the case sensitive flag is 1, only exact case matches will be associated with the magic word ID.

This association is created by $magicWords in a file registered using $wgExtensionMessagesFiles[].

In the example below, a Spanish MediaWiki installation will associate the magic word ID 'MAG_CUSTOM' with "#personalizado", "#custom", "#PERSONALIZADO", "#CUSTOM" and all other case variants. In an English MediaWiki only "#custom" in various case combinations will be mapped to 'MAG_CUSTOM':

Ficheiro

Extension initialization file :

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.

Associating a magic word ID with a PHP function
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:


 * Manual:Parser functions
 * Manual:Variables

Rexistrando palabras máxicas
In MediaWiki 1.8 and beyond there is no explicit requirement to register magic word IDs. Registering the parser function or variables that use them is sufficient. For versions prior to 1.8, see below.

Localización

 * ''See Help:Magic words#Localisation for help.

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.

Palabras máxicas nas versións de MediaWiki antes de 1.8
MediaWiki versions prior to 1.8 differed in the following ways:

 Manual:Hooks/LanguageGetMagic did not pass a language parameter. To simulate this parameter, extensions backported to 1.7 or earlier can extract the language of $wgContLang on their own and proceed as normal and/or offer a language independent process for selecting the ID-text mapping. Extensions that used magic words had to explicitly register their magic word IDs using the hook MagicWordMagicWords. This method simply asked the implementer to supply the ID of the magic word.

 

Chaves de comportamento (palabras máxicas con subliñado duplo)
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 no 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.

Véxase tamén

 * Help:Magic words - List of Variables like and
 * Markup spec