- Phalcon 教程
- Phalcon - 主页
- Phalcon - 概述
- Phalcon - 环境设置
- Phalcon - 应用程序结构
- Phalcon - 功能
- Phalcon - 配置
- Phalcon - 控制器
- Phalcon - 模型
- Phalcon - 景观
- Phalcon - 路由
- Phalcon - 数据库连接
- Phalcon - 切换数据库
- Phalcon - 脚手架应用
- Phalcon - 查询语言
- Phalcon - 数据库迁移
- Phalcon - Cookie 管理
- Phalcon - 会话管理
- Phalcon - 多语言支持
- Phalcon - 资产管理
- Phalcon - 使用表单
- Phalcon - 对象文档映射器
- Phalcon - 安全功能
- Phalcon 有用资源
- Phalcon - 快速指南
- Phalcon - 有用资源
- Phalcon - 讨论
Phalcon - 多语言支持
Phalcon 包含一个组件Phalcon\Translate,它提供多语言支持,对于创建可以翻译成多种语言的网页非常有帮助。
它包括一个适配器,有助于绑定数组并协助读取翻译消息。
例子
让我们在 Phalcon 中的翻译组件的帮助下创建一个输出,这将有助于按照建议的语言显示输出。
步骤 1 - Phalcon 为每个开发人员提供组织翻译字符串的自由。考虑保留两个不同的文件,即:en.php(对于英语字符串)和fr.php(对于法语字符串)。
该文件将包含一个键值对数组,其中键是唯一的,值将根据所需的翻译而有所不同。
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(); } }
对于默认方法,采用两个参数,第一个是名称,第二个是用户最喜欢的歌曲。稍后,调用函数getMessageTranslation返回所需的输出。
现在,我们想要英语的输出。
步骤 3 - 关联的代码视图 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";
以下是法语的输出。