Yii 多語言

Yii 多語言

YII有三種翻譯類型

  1. CPhpMessageSource : Translations are stored as key-value pairs in a PHP array.
  2. CGettextMessageSource : Translations are stored as GNU Gettext files. (PO Files)
  3. CDbMessageSource : Message translations are stored in database tables.

這裡用的CPhpMessageSource翻譯類型(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 =>用戶密碼

转载于:https://my.oschina.net/resory/blog/84852

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/110298.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Java反射机制的原理和用途

    Java反射机制的原理和用途看了好多关于Java反射机制的文章,大多都太过官方,消化起来比较稍显费劲,本篇,我会依据自己的理解去阐述什么是Java的反射机制,反射用在什么地方,以及怎么来使用?开篇前,我们还是要了解一下,什么是Java的反射机制:“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”。从这个观点看,Perl、Python(看过我写的Python3学习系列的博文,不止一次突出…

  • android四种启动模式_android:windowSoftInputMode

    android四种启动模式_android:windowSoftInputMode(1)添加头文件:#include(2)在特定驱动结构体中添加early_suspend结构:#ifdefCONFIG_HAS_EARLYSUSPENDstructearly_suspendearly_suspend;#endif(3)在驱动probe函数中注册相关early_suspend结构体:#ifdefCONFIG_HAS_EARLYSUSPEND

  • plsqldev 日期格式

    plsqldev 日期格式之前装win7+oracle11R2(64)+ instantclient_11_2(32)+PLSQL(32)费了很大力气,见前一个帖子,后果就是plsql启动时读的环境变量位置是五花八门,可能是注册表中oraclehone下的,也可能是instantclient下的或者是电脑高级属性中环境变量,当然start.bat中的设置优先。  plsql中执行以下语…

  • Snort安装_snorer

    Snort安装_snorer1、下载源文件wgethttps://www.snort.org/downloads/snort/daq-2.0.6.tar.gzwgethttps://www.snort.org/downloads/snort/snort-2.9.8.0.tar.gz2、解压安装tarxvfzdaq-2.0.6.tar.gzcddaq-2.0.6./configure;mak

    2022年10月24日
  • 电商如何提高用户体验_购物网站的设计思路

    电商如何提高用户体验_购物网站的设计思路电子商务是一个复杂的系统,很多小伙伴在设计电商网站的时候会遇到不少的问题。作为电子商务的典型模式之一,B2C网上零售网站要考虑的因素很多,有时候很多意想不到的因素都可能决定一个用户最终是否在该网站完成购物。在消费者注意力越来越分散的今天,如果我们希望潜在客户更多的停留在自己的网站中,进而进行购买,就需要多多从用户的角度出发,提供简便愉快的购物体验,改善用户体验。以下给大家6点建议,能从一…

  • mapboxgl中文文档_globalmapper输出

    mapboxgl中文文档_globalmapper输出原文链接:https://blog.csdn.net/supermapsupport/article/details/78343391作者:MR.MapboxGLJS是一个JavaScript

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号