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";

以下はフランス語の出力です。

フランス語での出力