Pergunta

Reading sobre Kohana modelos e viu algo que eu nunca antes visto:

$this->template->title = __('Welcome To Acme Widgets');

O que __('Text') média? O que é isso? O que ele faz?

Foi útil?

Solução

Kohana (versão 3), a função é definida em sistema / base.php e é uma função de conveniência a ajuda (como as outras respostas mencionado) internacionalização. Você fornecer uma string (com, opcionalmente, alguns espaços reservados para valores de substituição no texto acabado) que é então interpretados e, se necessário, uma tradução é retornado.

Ao contrário das suposições em outras respostas, este não usa gettext .

Um exemplo muito básico seria (esta determinada seqüência já está traduzido em Inglês, Espanhol e Francês em Kohana):

// 1. In your bootstrap.php somewhere below the Kohana::init line
I18n::lang('fr');

// 2. In a view
echo __("Hello, world!"); // Bonjour, monde!

Outras dicas

O duplo '__' é usado para localização no CakePHP (e possíveis outras estruturas)

http://book.cakephp.org/view/163/Localization -in-CakePHP

É de string gettext ( string $message ): http://php.net/manual/en/function. gettext.php

Retorna uma string traduzido se um é encontrado na tabela de conversão, ou o mensagem enviada se não for encontrado.

O __ () é apenas um apelido para ele. Então __("some text") é equivalente a gettext("some text")

Editar: Na verdade, se é dois sublinhados que não é gettext (). O alias para gettext () é um sublinhado.

Segunda edição: Parece __ () pode ser outro alias para gettext (). Com um significado ligeiramente diferente do _ (). Veja aqui: http://groups.google.com / grupo / bolo-php / browse_thread / thread / 9f501e31a4d4130d? pli = 1

Terceira e edição final: Aqui está um artigo que explica com mais detalhes. Parece que ele não é um construído em função, mas sim algo que é comumente adicionados em um monte de frameworks. É, essencialmente, um alias de gettext - que executa a mesma função. No entanto, não é um apelido direta (eu não acho). Ele é implementado e é específico para o quadro. Ele procura e retorna uma localização ou tradução da string é dado. Para mais, veja este post: http://www.eatmybusiness.com/food/2007/04/13/what-on-earth-does-a-double-underscore-then -parenthesis-média-in-php -__ / 7 /

// Display a translated message
echo __('Hello, world');

// With parameter replacement
echo __('Hello, :user', array(':user' => $username));

http://kohanaframework.org/3.2/guide/api/I18n para mais detalhes.

Isso significa que alguém criou uma função chamada __ (Isso é dois sublinhados ao lado do outro.)

Meu palpite é definido em algum lugar na documentação Kohana.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top