Pregunta

La lectura sobre Kohana plantillas y vio algo que he nunca antes visto:

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

¿Qué significa __('Text')? ¿Qué es? ¿Qué hacer?

¿Fue útil?

Solución

En Kohana (versión 3) se define la función en / base.php y es una función de conveniencia para ayudar (como han mencionado las otras respuestas) internacionalización. Tiene que poner una cadena (con, opcionalmente, algunos marcadores de posición para sustituir valores en el texto final) que luego se interpretan y, si se requiere, se devuelve una traducción.

A diferencia de otros supuestos en respuestas, esto no utiliza gettext .

Un ejemplo muy básico sería (esta cadena en particular ya está traducido al Inglés, Francés y Español en Kohana):

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

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

Otros consejos

El doble '__' se usa para localización en CakePHP (y otros posibles marcos)

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

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

  

Devuelve una cadena traducida si uno está   que se encuentra en la tabla de traducción, o la   mensaje enviado si no se encuentra.

El __ () es un alias para ella. Así __("some text") es equivalente a gettext("some text")

editar En realidad, si se trata de dos guiones que no se gettext (). El alias para gettext () es uno de subrayado.

Segunda edición: Parece que __ () podría ser otro alias para gettext (). Con un significado ligeramente diferente a _ (). Ver aquí: http://groups.google.com / grupo / cake-php / browse_thread / hilo / 9f501e31a4d4130d? pli = 1

Tercera y edición final: Aquí está un artículo que explica con más detalle. Parece que no está construido en una función, sino más bien algo que se añade comúnmente en una gran cantidad de marcos. Se trata esencialmente de un alias de gettext - que realiza la misma función. Sin embargo, no es un alias de directa (no creo). Se implementa y es específica para el marco. Busca y devuelve una localización o la traducción de la cadena que se da. Para más información, consulte esta entrada del blog: http://www.eatmybusiness.com/food/2007/04/13/what-on-earth-does-a-double-underscore-then -parenthesis-mean-en-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 más detalles.

Esto significa que alguien creó una función llamada __ (Eso es dos subrayados lado de la otra.)

Mi conjetura es que se define en alguna parte de la documentación Kohana.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top