Manual:Magic words/pt-br



Palavras mágicas são uma técnica para mapear uma variedade de strings de texto wiki para um único ID associado a uma função. Tanto as variáveis quanto as funções do analisador usam essa técnica. Todo o texto mapeado para esse ID será substituído pelo valor de retorno da função. O mapeamento entre as strings de texto e o ID é armazenado na variável  em um arquivo que pode ser carregado usando.

As palavras mágicas padrão são implementadas em.

Como funcionam as palavras mágicas
Sempre que o MediaWiki encontra texto entre chaves duplas ele deve decidir se XXX é uma variável, uma função do analisador, ou um modelo. Para isso, ele faz uma série de perguntas:


 * 1) Tem um ID de palavra mágica associado? Como primeiro passo para resolver a marcação do formulário, o MediaWiki tenta traduzir XXX para um ID de palavra mágica. A tabela de tradução é definida por $magicWords.
 * 2) *Se nenhum ID de palavra mágica estiver associado a XXX, presume-se que XXX seja um modelo.
 * 3) É uma variável? Se um ID de palavra mágica for encontrado, o MediaWiki verifica se tem algum parâmetro.
 * 4) *Se nenhum parâmetro for encontrado, o MediaWiki verifica se o ID de palavra mágica foi declarado como um ID de variável. Para verificar isso, ele recupera a lista de palavras mágicas sendo servidas chamando . Esse método obtém sua lista de IDs de variáveis de uma lista codificada de IDs de variáveis (consulte ) e de uma lista de IDs de variáveis personalizadas fornecidas por todas as funções anexadas ao gancho.
 * 5) **Se o ID de palavra mágica foi classificado como uma variável, o MediaWiki chama as funções associadas ao nome de evento até que seja encontrada uma que reconheça a palavra mágica e possa retornar seu valor.
 * 6) É uma função do analisador? Se houver algum parâmetro ou se o ID de palavra mágica não estiver na lista de IDs de palavras mágicas variáveis, então o MediaWiki assume que a palavra mágica é uma função do analisador ou um modelo. Se o ID de palavra mágica for encontrado na lista de funções do analisador declarada por meio de uma chamada para, ele será tratado como uma função do analisador e renderizado usando a função chamada  . Caso contrário, presume-se ser um modelo.
 * 1) É uma função do analisador? Se houver algum parâmetro ou se o ID de palavra mágica não estiver na lista de IDs de palavras mágicas variáveis, então o MediaWiki assume que a palavra mágica é uma função do analisador ou um modelo. Se o ID de palavra mágica for encontrado na lista de funções do analisador declarada por meio de uma chamada para, ele será tratado como uma função do analisador e renderizado usando a função chamada  . Caso contrário, presume-se ser um modelo.
 * 1) É uma função do analisador? Se houver algum parâmetro ou se o ID de palavra mágica não estiver na lista de IDs de palavras mágicas variáveis, então o MediaWiki assume que a palavra mágica é uma função do analisador ou um modelo. Se o ID de palavra mágica for encontrado na lista de funções do analisador declarada por meio de uma chamada para, ele será tratado como uma função do analisador e renderizado usando a função chamada  . Caso contrário, presume-se ser um modelo.

{{note|1= By convention:


 * The magic words called variables are capitalised, case-sensitive and do not have space characters.
 * Parserfunctions are prefixed with a hash sign ( {{# ), are case insensitive and do not include space characters.

This is however a convention and one not consistently applied (for historic reasons).


 * Variables do not have space characters, but some translations of variables in other languages DO have spaces
 * Variables generally are capitalised and case-sensitive, but some parser functions also use this convention.
 * Some parser functions start with a hash sign, but some do not.

Where possible you should follow the conventions when defining or translating magic words. Magic words are higher in priority than templates, so any magic word defined, will block the usage of that defined name as a template. Following the conventions avoids adding more and more potential collisions. }}

Definindo palavras mágicas
Para que as palavras mágicas façam sua mágica, devemos definir duas coisas:
 * um mapeamento entre o texto wiki e um ID de palavra mágica
 * um mapeamento entre um ID de palavra mágica e alguma função do php que interprete a palavra mágica.

Mapeando texto wiki para IDs de palavras mágicas
A variável $magicWords é usada para associar cada ID de palavra mágica a um arranjo dependente da linguagem que descreve todas as strings de texto mapeadas para a ID de palavra mágica. Importante: Isso apenas configura o mapeamento i18n de processo interno, você ainda precisa escrever outro código para fazer o MediaWiki usar a palavra mágica para qualquer coisa

O primeiro elemento deste arranjo é um sinalizador de inteiro que indica se a palavra mágica diferencia maiúsculas de minúsculas. Os elementos restantes são uma lista de texto que deve ser associada ao ID de palavra mágica. Se o sinalizador de diferenciação de maiúsculas e minúsculas for 0, qualquer variante de maiúsculas e minúsculas dos nomes no arranjo corresponderá. Se o sinalizador de diferenciação de maiúsculas e minúsculas for 1, apenas as correspondências exatas de maiúsculas e minúsculas serão associadas ao ID de palavra mágica. Assim o formato é

Esta associação é criada por $magicWords em um arquivo registrado usando.

No exemplo abaixo, uma instalação do MediaWiki em espanhol associará o ID de palavra mágica "MAG_CUSTOM" com "personalizado", "custom", "PERSONALIZADO", "CUSTOM" e todas as outras variantes de maiúsculas e minúsculas. Em um MediaWiki em inglês, apenas "custom" em várias combinações de maiúsculas e minúsculas será mapeado para "MAG_CUSTOM":

Arquivo :

Em parte do arquivo extension.json:

Observe que "ExampleMagic" é diferente da chave que você usaria para um arquivo de internacionalização simples (normalmente apenas o título da extensão, ou seja, "Example"). "Magic" foi acrescentado deliberadamente para que um não sobrescreva o outro.

Embutido no PHP
Você pode associar palavras mágicas embutindo-as no PHP em vez de através de um arquivo i18n. Isso é útil ao definir ganchos em

Associando um ID de palavra mágica a uma função do PHP === ===

O mecanismo para associar IDs de palavras mágicas com funções de renderização depende se a palavra mágica será usada como uma função do analisador ou uma variável. Para mais informações, consulte:



Registrando palavras mágicas
Não há nenhum requisito explícito para registrar IDs de palavras mágicas. Registrar a função do analisador ou as variáveis que as utilizam é suficiente.

Localização

 * Consulte Ajuda:Palavras mágicas#Localização para obter ajuda.

Você pode ler mais sobre definição e uso de palavras mágicas para localização em Manual:IPA de mensagens, Manual:Linguagem#Espaços de nomes; Evite  nas mensagens.

Mudanças de comportamento (palavras mágicas de sublinhado duplo)
Comutadores de comportamento são um tipo especial de de palavras mágicas. Eles podem ser reconhecidos pelo uso de sublinhados duplos (em vez de chaves duplas). por exemplo,.

Estas palavras mágicas costumam não fazer saída de qualquer conteúdo, mas em vez disso mudam o comportamento de uma página e/ou definem uma propriedade da página. Estas palavras mágicas estão listadas em  e também em Help:Magic words#Comutadores de comportamento. O efeito de cada comutador de comportamento é definido em. Se nenhum efeito específico é definido, a palavra mágica simplesmente define uma propriedade de página na tabela page_props. These magic words are listed in and also at Help:Magic words#Behavior switches. The effect of most standard behavior switches is defined in. If no specific effect is defined, the magic word will simply set a page property in the page_props table.

Custom behavior switch
To implement a custom behavior switch.

Ver também

 * - *Help:Magic words - Lista de variáveis como e