Como printf (__ ()); trabalhos?

10

Hoje eu trabalho em um tema para entender melhor o WordPress e os templates. Eu descobri isso:

<?php 
printf( 
    __('Designed by %s', 'Anyword'), 
    '<a href="http://www.example.com">Blub</a>'
); 
?>

Eu sei que mostra "Designed by Blub" (onde o Blub está vinculado) Mas o que significa o __() ou por que há uma inserção de string? Para que serve o Anyword?

Alguém pode explicar exatamente essa linha para mim?

    
por Denny Mueller 02.07.2012 / 16:56

1 resposta

7

Ele é usado para traduzir texto .

O segundo argumento é um tipo de namespace (chamado de domínio aqui) para recuperar a tradução (por exemplo, de um espaço dedicado arquivo ou qualquer outra coisa).

Então, Anyword aqui, deve ser o cara por trás do modelo, ou da empresa ou de qualquer coisa que possa ser um domínio / namespace.

edit:

O documento do wordpress fornece mais explicações sobre como internacionalizar um plug-in :

Adicione isto ao código do Plugin para garantir que o (s) arquivo (s) de idioma esteja carregado (s):

load_plugin_textdomain('your-unique-name', false, basename( dirname( __FILE__ ) ) . '/languages' );

Para buscar uma string, simplesmente use __('String name','your-unique-name'); para retornar a tradução ou _e('String name','your-unique-name'); para ecoar a tradução. As traduções entrarão na pasta do seu plugin / languages.

Para o seu plug-in / tema, o your-unique-name parece ser Anyword .

    
por j0k 02.07.2012 / 17:03