Domanda

Kohana modelli e ho visto una cosa che ho mai visto prima:

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

Che cosa significa __('Text')? Che cos'è? Che cosa fa?

È stato utile?

Soluzione

In Kohana (versione 3) la funzione è definita in / base.php ed è una funzione convenienza per aiutare (come le altre risposte hanno detto) l'internazionalizzazione. Si fornisce una stringa (con, eventualmente, alcuni segnaposti per sostituire i valori nel testo finito) che è poi interpretati e, se necessario, una traduzione viene restituito.

Al contrario di assunzioni in altre risposte, questo non fa uso di gettext .

Un esempio molto semplice sarebbe (questa particolare stringa è già tradotto in inglese, spagnolo e francese in Kohana):

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

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

Altri suggerimenti

Il doppio '__' viene utilizzato per la localizzazione in CakePHP (ed eventuali altri framework)

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

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

  

Restituisce una stringa tradotta se uno è   trovato nella tabella di traduzione, o   messaggio inviato se non trovato.

Il __ () è solo un alias per esso. Così __("some text") è equivalente a gettext("some text")

modifica In realtà se si tratta di due sottolineature di quanto non è gettext (). L'alias per gettext () è una sottolineatura.

Seconda modifica: Sembra __ () potrebbe essere un altro alias per gettext (). Con un significato leggermente diverso da _ (). Vedi qui: http://groups.google.com / gruppo / torta-php / browse_thread / filetto / 9f501e31a4d4130d? pli = 1

Terzo e montaggio finale: Ecco un articolo che spiega in modo più dettagliato. Sembra che non è costruito in funzione, ma piuttosto qualcosa che viene comunemente aggiunto in un sacco di quadri. Si tratta essenzialmente di un alias di gettext - svolge la stessa funzione. Tuttavia, non è un alias diretta (non credo). E 'implementato in ed è specifico per il quadro. Si cerca e restituisce una localizzazione o la traduzione della stringa è dato. Per di più, si veda questo post del blog: http://www.eatmybusiness.com/food/2007/04/13/what-on-earth-does-a-double-underscore-then -parenthesis-media-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 per i dettagli.

E 'significa che qualcuno ha creato una funzione denominata __ (Ecco due sottolineature uno accanto all'altro.)

La mia ipotesi è definita da qualche parte nella documentazione Kohana.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top