質問
を読む Kohanaテンプレート たものは見たことがありませんの前に:
$this->template->title = __('Welcome To Acme Widgets');
ものは何か __('Text')
を意味するのか。何ですか?どのようにするのですか?
解決
Kohanaの(バージョン3)で機能はシステム/ Base.phpというに定義されていますとは(他の回答を記載しているように)国際化を支援するための便利な機能です。あなたは、必要に応じて、翻訳が返され、文字列を提供(必要に応じて、完成したテキストに値を代入するためにいくつかのプレースホルダ)、その後で解釈されます。
他の回答では仮定に反して、これは使用されません gettextをするます。
非常に基本的な例は、(この特定の文字列がすでにKohanaの中で、英語、スペイン語、フランス語に翻訳される)になります:
// 1. In your bootstrap.php somewhere below the Kohana::init line
I18n::lang('fr');
// 2. In a view
echo __("Hello, world!"); // Bonjour, monde!
他のヒント
ダブル「__」はCakePHPの中にローカライズ(および可能性他のフレームワーク)のために使用されている。
この string gettext ( string $message )
: http://php.net/manual/en/function.gettext.php
返翻訳文字列の場合は の翻訳テーブル、 提出した場合のみメッセージが見つかりません。
The__()がないかの別名です。なので __("some text")
に相当 gettext("some text")
編集: 実際の場合は二字以上でなgettext().エイリアスのためのgettext()がアンダースコア.
第二の編集: のようにな__()が別のエイリアスのためのgettext().ひと味違う意味から_().こちらをご参照: http://groups.google.com/group/cake-php/browse_thread/thread/9f501e31a4d4130d?pli=1
第三に、最終編集: こちらの記事で説明ができます。なっているように見えますがな内蔵機能なものは一般的に追加され多くの枠組みその本質はエイリアスのgettextでを行う機能です。しかしな直接の別名(ならないと思い).で実施され、特有の枠組みで検索を返しますローカライズまたは翻訳の文字列です。詳こちらをご覧ください。 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));
http://kohanaframework.org/3.2/guide/api/I18nするを参照してください。詳細ます。
これは、(それがお互いの隣に2つのアンダースコアです。)誰かが__という名前の関数を作成した意味
私の推測では、それはどこかのKohanaのドキュメントで定義されます。