`

Yii 多语言

    博客分类:
  • YII
 
阅读更多

http://my.oschina.net/resory/blog/84852

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.

这里用的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>";&nbsp;&nbsp;&nbsp;&nbsp;
echo "password =>".Yii::t('default', 'password');

?>

 output:

username =>用戶名
password =>用戶密碼

 

 

分享到:
评论

相关推荐

    yii框架语言基础

    - URL管理允许开发者创建简洁易读的URL,国际化支持应用的多语言版本。 Yii框架是一个功能丰富且高度灵活的PHP框架,它旨在帮助开发者快速开发可扩展的Web应用。通过深入学习Yii的MVC架构、组件和模块的使用,以及...

    yii2-multilingual:Yii2扩展,用于构建多语言站点

    Yii2多语言支持模块 该模块可帮助您将网站变成多语言。 在这里,您可以找到用于扩展模型,表单,URL管理器等的工具和类。 多语言行为使您可以创建多语言模型并将其用作常规模型。 每种模型的翻译都存储在数据库的...

    yii1.1.10 开发包(包含yii权威指南以及yii博客例子讲解)

    6. **I18N(国际化)与L10N(本地化)**:Yii 支持多语言应用,通过翻译资源文件轻松实现内容本地化。 7. **Ajax支持**:Yii 提供了强大的Ajax功能,如Yii CGridView和CListView,可以轻松创建数据驱动的交互式界面...

    yii-1.0.4.r920

    10. 国际化与本地化:Yii 支持多语言环境,可以轻松实现应用的国际化和本地化,满足全球用户的需求。 11. 性能优化:Yii 有内置的性能监控和调试工具,如 Gii(代码生成工具)和 Debug Toolbar,帮助开发者定位性能...

    YII2 实现多语言配置的方法分享

    由于我的YII2版本是2.0.7, 设置多语言时和其他教程有不同的地方, 所以想着整理下,方便自己以后需要的时候和有需要的朋友参考学习。下面来一起学习学习吧。 方法如下: 1. 在一个controller里面写一个调用i18n的语句...

    Yii2简单实现多语言配置的方法

    Yii2多语言配置方法的核心知识点,可以总结为以下几个方面: 1. 多语言配置的重要性:在软件开发过程中,支持多种语言是非常重要的功能,尤其是在互联网全球化的大背景下,用户可能遍布世界各地,因此多语言支持...

    yii框架中文文档、yii中文手册教程

    12. **国际化和本地化**:支持多语言的应用程序开发。 13. **拓展和插件**:如何创建和使用第三方扩展,增强框架功能。 通过这些文档,开发者可以深入理解Yii框架的机制,并学会如何有效地利用它来构建强大的Web...

    yii新闻系统源码

    Yii框架内置了i18n(Internationalization)功能,方便开发多语言新闻系统,满足不同地区的用户需求。 10. **错误处理与日志记录** Yii提供了完善的错误处理和日志记录机制,有助于开发者调试和优化代码,确保...

    yii简易后台基础模板

    8. **国际化与本地化**:Yii支持多语言环境,基础模板可能已包含基础的多语言设置,便于构建支持多种语言的后台。 9. **前端资源管理**:Yii提供了Asset Manager来管理CSS、JavaScript等前端资源,确保它们正确地被...

    yii框架源代码

    8. **I18N和L10N**:国际化(I18N)和本地化(L10N)通过`CMessageSource`和`CLocale`类实现,方便多语言应用的开发。 9. **扩展性**:Yii的插件和模块系统允许开发者轻松添加新的功能,`CModule`类是模块的基类,`...

    php开发框架Yii2

    Yii2 支持多语言,提供了i18n(Internationalization)和l10n(Localization)工具,方便开发者构建面向全球市场的应用。 六、RESTful API 开发 Yii2 具有强大的API开发支持,可以方便地构建符合RESTful原则的Web...

    Yii2语言国际化自动配置详解

    Yii2框架的国际语言自动化配置是一项非常实用的功能,它允许开发者为应用支持多种语言,实现多语言环境下用户界面的无缝切换。在Yii2中,语言国际化不仅仅是简单的翻译,而是通过一系列的配置和代码实现,让应用能够...

    YII框架开源项目

    9. **多语言支持**:iiSNS支持多语言环境,方便搭建国际化社区。 总的来说,Yii框架与iiSNS论坛的结合,不仅利用了Yii的强大性能和灵活性,还实现了功能丰富的社区应用,为开发者提供了一套高效、可扩展的解决方案...

    yii源码

    9. **国际化和本地化**:Yii支持多语言,通过`yii\base\Message`和`yii\i18n\PhpMessageSource`等组件,可以轻松实现内容的国际化和本地化。 10. **命令行工具**:Yii提供了一个强大的命令行接口(Gii),可以自动...

    Yii2.0 视频教程

    5. **国际化与本地化**:支持多语言环境,满足全球化的需求。 6. **社区活跃**:拥有庞大的开发者社区,提供丰富的资源和支持。 #### 三、视频教程内容概览 1. **基础篇**: - **环境搭建**:包括 PHP 环境配置、...

    Yii框架多语言站点配置方法分析【中文/英文切换站点】

    本文实例讲述了Yii框架多语言站点配置方法。分享给大家供大家参考,具体如下: 这里假设我们要建立 中文/英文 切换的站点 1. 设置全局默认的语言 文件添加代码:protected/config/main.php 'language' =&gt; 'zh_cn'...

    yii2-master

    12. **国际化与本地化**:Yii2支持多语言和区域设置,便于开发全球化应用。 综上所述,Yii2框架凭借其全面的功能、高效的性能以及良好的社区支持,成为PHP开发者构建Web 2.0应用的理想选择。无论你是初学者还是经验...

    Yii框架学习笔记.pdf

    1. **信息翻译**:为了使Web应用支持多语言,Yii框架提供了一套完整的国际化和本地化工具。开发者可以通过翻译信息来实现多语言界面,同时框架还提供了本地化服务,能够根据用户的地区设置自动选择合适语言。 ### ...

    yii framework 中文完全手册

    9. **国际化和本地化**:Yii支持多语言,可以方便地进行应用的国际化和本地化。 10. **命令行工具**:Yii的 yiic 命令行工具,用于生成代码、执行数据库迁移、缓存清理等任务,提高了开发效率。 总之,“yii ...

    Yii框架1.1版本

    5. **I18N与L10N支持**:Yii框架提供了强大的国际化(I18N)和本地化(L10N)支持,方便开发者构建多语言应用。 6. **RESTful API开发**:Yii 1.1支持创建RESTful风格的API,这对于现代Web服务和移动应用的开发尤为...

Global site tag (gtag.js) - Google Analytics