Phalcon-multi-lingual-support
提供:Dev Guides
Phalcon-多言語サポート
Phalconには、多言語サポートを提供する Phalcon \ Translate コンポーネントが含まれており、複数の言語に翻訳されたWebページを作成すると非常に役立ちます。
配列のバインドと翻訳メッセージの読み取りを支援するアダプターが含まれています。
例
PhalconのTranslateコンポーネントを使用して出力を作成します。これは、推奨される言語に従って出力を表示するのに役立ちます。
ステップ1 *-Phalconは、すべての開発者に翻訳文字列を整理する自由を与えます。 2つの異なるファイル、つまり *en.php (英語の文字列用)と fr.php (フランス語の文字列用)を保持することを検討してください。
ファイルにはキーと値のペアの配列が含まれます。キーは一意であり、値は必要な翻訳によって異なります。
en.php
<?php
//app/messages/en.php
$messagesContent = [
"bye" => "Good Bye",
"hi-name" => "Hello %name%",
"song" => "Your favorite song is %song%",
];
fr.php
<?php
//app/messages/fr.php
$messagesContent = [
"bye" => "Au revoir",
"hello-name" => "Bonjour %name%",
"song" => "Votre chanson préférée est %song%",
];
ステップ2 *-アプリケーションで、翻訳に使用するファイルに関するパラメータを取る *UserController を作成します。
<?php
use Phalcon\Translate\Adapter\NativeArray;
class UserController extends \Phalcon\Mvc\Controller {
protected function getMessageTransalation() {
//Ask for the best language
//Display the output in desired language
require "en.php";
//Return a translation object
return new NativeArray( ["content" => $messagesContent,]);
}
public function indexAction() {
$this->view->name = "Radhika";
$this->view->song= "Ton sourire m'ensorcelle Je suis fou de toi Le désir coule dans mes veines Guidé par ta voix";
$this->view->t = $this->getMessageTransalation();
}
}
デフォルトの方法では、2つのパラメーターが使用されます。1つは名前、2つ目はユーザーのお気に入りの歌です。 後で、目的の出力を返す関数 getMessageTranslation が呼び出されます。
今のところ、英語での出力が必要です。
ステップ3 *-関連する *code view demo \ app \ views \ User \ index.volt には次のコードが含まれます-
<p><?php echo $t->_("hello-name", ["name" => $name]); ?></p>
<p><?php echo $t->_("song", ["song" => $song]); ?></p>
完全な出力をフランス語で表示する場合は、ファイル名を変更するだけです。
require "fr.php";
以下はフランス語の出力です。