Frage

Lesen über Kohana Vorlagen und sah etwas, das ich noch nie zuvor gesehen haben:

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

Was bedeutet __('Text') bedeuten?Was ist es?Was tut es?

War es hilfreich?

Lösung

In Kohana (version 3) die Funktion definiert ist system/base.php und ist eine Komfort-Funktion, um Hilfe (wie die anderen Antworten erwähnt haben) Internationalisierung.Geben Sie einen string (mit Optional können Sie Platzhalter verwenden, um ersetzen Sie die Werte in das fertige text), das dann interpretiert und, wenn erforderlich, eine übersetzung, ist zurückgekehrt.

Im Gegensatz zu Annahmen, die in anderen Antworten nicht gettext.

Ein sehr einfaches Beispiel wäre (diese Zeichenfolge ist bereits übersetzt in Englisch, Spanisch und Französisch 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!

Andere Tipps

Das Doppel '__' ist für die Lokalisierung in CakePHP (und möglicher anderer Frameworks) verwendet

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

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

Gibt einen übersetzungstext, wenn man gefunden in der übersetzung Tabelle oder die eingereicht Nachricht, wenn Sie Sie nicht finden.

Die __() ist nur ein alias für es.So __("some text") ist äquivalent zu gettext("some text")

edit: Eigentlich, wenn es zwei Unterstriche als es ist nicht gettext().Der alias für gettext() ist ein Unterstrich.

Zweiter edit: Es sieht aus wie __() möglicherweise ein weiterer alias für gettext().Mit einer etwas anderen Bedeutung, die aus _().Siehe hier: http://groups.google.com/group/cake-php/browse_thread/thread/9f501e31a4d4130d?pli=1

Dritte und Letzte änderung: Hier ein Artikel der erklärt es im detail.Sieht aus wie es ist nicht eine eingebaute Funktion, sondern als etwas, das im Allgemeinen in einer Menge von frameworks.Es ist im wesentlichen ein alias von gettext - es führt die gleiche Funktion.Jedoch, es ist nicht eine direkte alias (ich glaube nicht).Es ist implementiert und ist spezifisch für die Rahmen.Es wird nach und gibt eine Lokalisierung oder übersetzung der Zeichenfolge ist gegeben.Für mehr finden Sie in diesem blog-post: http://www.eatmybusiness.com/food/2007/04/13/what-on-earth-does-a-double-underscore-then-parenthesis-mean-in-php-__/7/

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

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

Siehe http://kohanaframework.org/3.2/guide/api/I18n für weitere Details.

Es bedeutet, dass jemand eine Funktion erstellt namens __ (Das ist zwei Unterstrichen nebeneinander.)

Meine Vermutung ist, es irgendwo in der Kohana Dokumentation definiert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top