下面为大家介绍一下关于yii 的多语言是怎么而设置的:
1.首先是配置文件的设置
和其它application 级别的配置一样,系统的缺省语言可以在protected/config/main.php 中设置:
return array(
'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
......
'language'=>'zh_cn', *** 不设置的话缺省为 en_us
2.设置controller
如:中文 | English
echo CHtml:: link ( ' 中文 ' , array ( '' , 'languge' => 'zh' )) . '| ' . CHtml:: link ( 'English' , array ( '' , 'languge' => 'en' )) ;
//初始化多语言
public function init()
{
If (isset($_GET['languge'])) {
Yii::app()->session['languge'] = $_GET['languge'];
Yii::app()->language = Yii::app()->session['languge'];
} else {
if (isset(Yii::app()->session['languge'])) {
Yii::app()->language = Yii::app()->session['languge'];
}
}
}
在控制器中init()初始化语言,主要就是给 Yii::app()->language 设置对应的语言,如
public function init()
{
Yii::app()->language='en';//显示英文
}
3.文本翻译
Yii::app()->language='en';//显示英文
主要就是yii 'application.messages.en翻译包的内容,下面的各种语言翻译包
为了解决文本的不同语言版本的动态选择,Yii 框架提供一个全局性的函数Yii::t(‘[text file]’, ‘[text]’) 用来封装所有需要多语言支持的文本。其中第一个参数’[text file]’ 代表存储当前语言文本的文件,第二个参数‘[text] ’是文本编码。’[text]’ 通常就是该文本在系统的缺省语言中的版本。例如:Yii 框架缺省的系统语言是美国英语,所以’[text]’通常就是文本的英文语意。但是如果在protected/config/main.php 中设置系统的缺省语言是简体中文,那么’[text]’ 应该是文本的简体中文语意。以文本“Name (名称)”为例,如果系统语言是美国英语,我们可以将’[text]’ 定义为’Name’;而当系统语言是简体中文时,’[text]’ 应该定义为’ 名称’ 。
和大多数多语言框架一样,Yii 框架也将不同语言的文本保存在该语言对应的目录下,作为一个资源。基于Yii 框架的系统在根目录下有一个messages 目录([webapp]/messages )。简体中文资源放置在[webapp]/messages/zh_cn 下,美国英语资源放置在[webapp]/messages/en_us 下。所有语言资源都是以PHP 文件的形式存在,且都返回一个包含若干Key/Value 对的数组。其中Key 就是Yii::t() 的第二参数’[text]’ 。仍以文本“Name (名称)”为例,如果系统语言是美国英语,语言资源文件中对应的Key/Value 应该是’Name’=>’ 名称’ ; 而当系统语言是简体中文时,Key/Value 应该是’ 名称’=>’Name’ 。值得注意的是,因为Yii 框架是使用UTF-8 编码,所以语言资源文件也必须是UTF-8 编码。否则显示文本时会出现乱码。
Yii 框架在运行时,会首先根据Yii::app()->language 的值定位到对应语言目录下的[text file].php 文件。然后再根据’[text]’ 在Key/Value 对数组中定位该’[text]’ 对应的语言文本,作为最终显示的文本。
希望对你们有帮助。
分享到:
相关推荐
- URL管理允许开发者创建简洁易读的URL,国际化支持应用的多语言版本。 Yii框架是一个功能丰富且高度灵活的PHP框架,它旨在帮助开发者快速开发可扩展的Web应用。通过深入学习Yii的MVC架构、组件和模块的使用,以及...
Yii2多语言配置方法的核心知识点,可以总结为以下几个方面: 1. 多语言配置的重要性:在软件开发过程中,支持多种语言是非常重要的功能,尤其是在互联网全球化的大背景下,用户可能遍布世界各地,因此多语言支持...
Yii2多语言支持模块 该模块可帮助您将网站变成多语言。 在这里,您可以找到用于扩展模型,表单,URL管理器等的工具和类。 多语言行为使您可以创建多语言模型并将其用作常规模型。 每种模型的翻译都存储在数据库的...
12. **国际化和本地化**:支持多语言的应用程序开发。 13. **拓展和插件**:如何创建和使用第三方扩展,增强框架功能。 通过这些文档,开发者可以深入理解Yii框架的机制,并学会如何有效地利用它来构建强大的Web...
由于我的YII2版本是2.0.7, 设置多语言时和其他教程有不同的地方, 所以想着整理下,方便自己以后需要的时候和有需要的朋友参考学习。下面来一起学习学习吧。 方法如下: 1. 在一个controller里面写一个调用i18n的语句...
6. **I18N(国际化)与L10N(本地化)**:Yii 支持多语言应用,通过翻译资源文件轻松实现内容本地化。 7. **Ajax支持**:Yii 提供了强大的Ajax功能,如Yii CGridView和CListView,可以轻松创建数据驱动的交互式界面...
10. 国际化与本地化:Yii 支持多语言环境,可以轻松实现应用的国际化和本地化,满足全球用户的需求。 11. 性能优化:Yii 有内置的性能监控和调试工具,如 Gii(代码生成工具)和 Debug Toolbar,帮助开发者定位性能...
8. **国际化与本地化**:Yii支持多语言环境,基础模板可能已包含基础的多语言设置,便于构建支持多种语言的后台。 9. **前端资源管理**:Yii提供了Asset Manager来管理CSS、JavaScript等前端资源,确保它们正确地被...
9. **多语言支持**:iiSNS支持多语言环境,方便搭建国际化社区。 总的来说,Yii框架与iiSNS论坛的结合,不仅利用了Yii的强大性能和灵活性,还实现了功能丰富的社区应用,为开发者提供了一套高效、可扩展的解决方案...
Yii框架的应用结构较为复杂,它包含多个组成部分,如入口脚本、应用、应用组件、模块、过滤器和小部件等。入口脚本是用户可以直接访问的PHP脚本,负责启动整个请求处理周期。应用是全局范围内可以访问的对象,它管理...
Yii2框架的国际语言自动化配置是一项非常实用的功能,它允许开发者为应用支持多种语言,实现多语言环境下用户界面的无缝切换。在Yii2中,语言国际化不仅仅是简单的翻译,而是通过一系列的配置和代码实现,让应用能够...
Yii框架内置了i18n(Internationalization)功能,方便开发多语言新闻系统,满足不同地区的用户需求。 10. **错误处理与日志记录** Yii提供了完善的错误处理和日志记录机制,有助于开发者调试和优化代码,确保...
12. **国际化与本地化**:Yii2支持多语言和区域设置,便于开发全球化应用。 综上所述,Yii2框架凭借其全面的功能、高效的性能以及良好的社区支持,成为PHP开发者构建Web 2.0应用的理想选择。无论你是初学者还是经验...
8. **I18N和L10N**:国际化(I18N)和本地化(L10N)通过`CMessageSource`和`CLocale`类实现,方便多语言应用的开发。 9. **扩展性**:Yii的插件和模块系统允许开发者轻松添加新的功能,`CModule`类是模块的基类,`...
1. **信息翻译**:为了使Web应用支持多语言,Yii框架提供了一套完整的国际化和本地化工具。开发者可以通过翻译信息来实现多语言界面,同时框架还提供了本地化服务,能够根据用户的地区设置自动选择合适语言。 ### ...
Yii2 支持多语言,提供了i18n(Internationalization)和l10n(Localization)工具,方便开发者构建面向全球市场的应用。 六、RESTful API 开发 Yii2 具有强大的API开发支持,可以方便地构建符合RESTful原则的Web...
10. **国际化(I18N)与本地化(L10N)**:指导如何实现多语言支持和本地化资源管理。 11. **扩展和组件**:讲解如何创建自定义组件,以及如何使用Yii社区提供的第三方扩展。 12. **性能优化**:提供了各种优化技巧,...
本文实例讲述了Yii框架多语言站点配置方法。分享给大家供大家参考,具体如下: 这里假设我们要建立 中文/英文 切换的站点 1. 设置全局默认的语言 文件添加代码:protected/config/main.php 'language' => 'zh_cn'...
5. **I18N与L10N支持**:Yii框架提供了强大的国际化(I18N)和本地化(L10N)支持,方便开发者构建多语言应用。 6. **RESTful API开发**:Yii 1.1支持创建RESTful风格的API,这对于现代Web服务和移动应用的开发尤为...
- **多语言支持**:Yii支持多语言环境,方便开发面向全球用户的网站。 - 语言包:通过加载不同的语言包文件来切换显示语言。 - 自动检测:可以根据客户端的语言偏好自动选择合适的语言包。 - **日期时间格式化**:...