muroi / phalcon-translate-adapter-nestednativearray
Translate 的嵌套 NativeArray 适配器
1.0.0
2016-09-21 06:56 UTC
This package is not auto-updated.
Last update: 2024-09-28 19:36:30 UTC
README
能够定义翻译列表的多维数组的适配器
安装
{ "require": { "muroi/phalcon-translate-adapter-nestednativearray": "*" } }
或
php composer.phar require muroi/phalcon-translate-adapter-nestednativearray
使用方法
创建翻译列表文件
app/messages/ja.php
app/messages/en.php
- 文件内容
<?php // app/messages/ja.php $messages = [ 'test' => [ 'hello' => 'こんにちは' ], 'test1' => [ 'test2' => [ 'test3' => 'テスト3' ] ] ];
在控制器中调用
<?php use Phalcon\Mvc\Controller; use Muroi\Phalcon\Translate\Adapter\NestedNativeArray; class UserController extends Controller { protected function getTranslation() { // Ask browser what is the best language $language = $this->request->getBestLanguage(); $translationFile = "app/messages/" . $language . ".php"; // Check if we have a translation file for that lang if (file_exists($translationFile)) { require $translationFile; } else { // Fallback to some default require "app/messages/en.php"; } // Return a translation object return new NestedNativeArray( [ "content" => $messages, ] ); } public function indexAction() { $this->view->t = $this->getTranslation(); } }
视图
<!-- こんにちは --> <p>{{ t._("test.hello") }}</p>