http://my.oschina.net/resory/blog/84852
YII有三种翻译类型
- CPhpMessageSource : Translations are stored as key-value pairs in a PHP array.
- CGettextMessageSource : Translations are stored as GNU Gettext files. (PO Files)
- CDbMessageSource : Message translations are stored in database tables.
这里用的CPhpMessage Source翻译类型(YII默认的翻译类型)..CDbMessageSource试了半天(不知道怎么去实现..),还是实现不了.后来想了下,在default文件中.写SQL语句然后返回数据亦可得到同样的效果.~
views/layouts/main.php
<?php echo CHtml:: link ( ' 中文 ' , array ( 'site/index' , 'lang' => 'zh_cn' )) . ' | ' . CHtml:: link ( '繁體' , array ( 'site/index' , 'lang' => 'zh_tw' )) .' | '. CHtml:: link ( 'English' , array ( 'site/index' , 'lang' => 'en_us' ));?>
Controller.php
public function init() { if(isset($_GET['lang'])&&$_GET['lang']!=""){ //當點擊轉換語言時 Yii::app()->user->setState("yuyan",$_GET['lang']); //相當於與設置一個cookie Yii::app()->language = Yii::app()->user->getState("yuyan"); //轉換成相應的記錄語言 } if(Yii::app()->user->getState("yuyan")){ //如果設置了有session記錄 Yii::app()->language = Yii::app()->user->getState("yuyan"); //轉換成相應的記錄語言 }else{ Yii::app()->user->setState("yuyan","en_us"); //沒有session則設置一個session.默認語言為en_us Yii::app()->language = Yii::app()->user->getState("yuyan"); //轉換成相應的記錄語言 } }
messages/zh_cn/default.php
<?php return array( 'username'=>'用戶名', 'password'=>'用戶密碼', } //此處亦可以使用SQL語句,加載數據庫中的翻譯數據.偽CDbMessageSource方式啊- - #
site/index
<?php echo "username =>".Yii::t('default','username')."<br>"; echo "password =>".Yii::t('default', 'password'); ?>
output:
username =>用戶名 password =>用戶密碼
相关推荐
Yii2多语言支持模块 该模块可帮助您将网站变成多语言。 在这里,您可以找到用于扩展模型,表单,URL管理器等的工具和类。 多语言行为使您可以创建多语言模型并将其用作常规模型。 每种模型的翻译都存储在数据库的...
由于我的YII2版本是2.0.7, 设置多语言时和其他教程有不同的地方, 所以想着整理下,方便自己以后需要的时候和有需要的朋友参考学习。下面来一起学习学习吧。 方法如下: 1. 在一个controller里面写一个调用i18n的语句...
本文实例讲述了Yii框架多语言站点配置方法。分享给大家供大家参考,具体如下: 这里假设我们要建立 中文/英文 切换的站点 1. 设置全局默认的语言 文件添加代码:protected/config/main.php 'language' => 'zh_cn'...
Yii2多语言行为yii Yii2端口。 此行为使您可以创建多语言模型,并将其几乎用作普通模型。 每个模型的翻译都存储在数据库的单独表中(例如:PostLang或ProductLang),因此您可以轻松添加或删除语言,而无需修改...
主要介绍了Yii2语言国际化自动配置详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
主要介绍了Yii2简单实现多语言配置的方法,涉及Yii配置文件的设置及语言包的操作方法,需要的朋友可以参考下
最近想将博客做成支持多语言的,还好Yii2支持这个功能,于是查看了下官方的文档,哎,看了半天不知道干嘛用的,于是各种百度,Google的搜索,最终才明白原来很简单,只是官方写的太复杂 下面介绍下具体的使用步骤,...
Fecshop更名为FecMall 详细参看: Fecmall-2.x版本 Fecmall-2版本在用户体验方面进行了很多的优化,请安装Fecmall-2版本 项目状态: ...,vue端(appserver),第三方系统...Fecmall支持多语言,多货币,架构上支持pc,
Yii2支持 Yii2支持票务系统-简单,灵活的模块,用于Yii2高级模板(前端/后端应用程序) 最新版本包括以下功能: 非常容易,简单和快速(仅3个表:类别,票证,消息) 票证具有标题,类别,优先级,用户电子邮件和...
TbML输入Yii框架的多语言输入。 需要和
Yii配置文件比ThinkPHP复杂多了,先把自己了解的配置记录下来,感兴趣的朋友可以参考一下: 复制代码 代码如下:<?php // 主配置文件 $config = array( ‘modules’ => array( ‘gii’ => array( ...
支持多语言字段和描述。 该模块是内容管理系统的组成部分,但也可以用作独立的扩展。 版权所有(c)2019-2021 要求 PHP 5.6或更高版本 Yii2 v.2.0.40及最新 模块(必需) 安装 要安装模块,请在控制台中运行以下...
语言: 特征 该模块提供了插件模式(即插即用)解决方案。 无需编辑任何文件即可配置插件,它可以在管理控制面板上安装,卸载,启用和禁用。 插件不会修改项目文件,可以安全地将其卸载。 可扩展。 可以将钩子...
Fecmall 全称为Fancy ECommerce Mall,是基于php Yii2框架之上开发的一款优秀的开源电商系统, Fecmall支持多语言,多货币,架构上支持pc,手机web,手机app,和erp对接等入口,您可以免费快速的定制和部署属于您的...
使用Yii2的高级API系统使用Yii2技术的高级系统的模板,它包括用户管理和访问控制,多语言支持和API配置以及用户对包括测试访问令牌在内的端点的访问。安装前提条件确保已全局安装资产插件: composer global require...
该模块为项目的多语言元素提供了一个简单的翻译界面。 它可以自动检测新的语言元素(项目扫描)。 在项目扫描过程中,重复项会自动过滤掉。 只需单击一下(数据库优化)即可从数据库中删除未使用的语言元素,并且...
Fecmall多语言外贸商城系统是一款开源外贸商城系统的全称为花式电子商务商城 他基于php Yii2框架开发的一款优秀的开源电商系统 Fecmall支持多语言,多货币,架构上支持pc,手机web,手机app,和企业资源计划对接等...