源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

YII Framework框架教程之国际化实现方法

  • 时间:2021-06-13 22:22 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:YII Framework框架教程之国际化实现方法
本文讲述了YII Framework框架教程之国际化实现方法。分享给大家供大家参考,具体如下: 一个web应用,发布到互联网,就是面向全球用户。用户在世界的各个角落都可以访问到你的web应用,当然要看你的网站和不和谐,不和谐的web应用在和谐社会是不让你访问的。 YII提供了国际化的支持,可以让我们创建的应用适合不同语言的人群。 国际化是一个很花哨的东西,没有哪个大型的网站真正能做到国际化。大多都是针对不懂的语言,不同地区设计不同的网站。如果你的应用相对较小,处理的东西不多,那么国际化起来的东西还是蛮可以的。 国际化从以下几个方面入手: 区域设置 信息文本和文件资源的翻译 日期/时间、货币符号和数字格式 YII中国际化涉及到的类在/yii_dev/yii/framework/i18n目录下面: /yii_dev/yii/framework/i18n# tree . ├── CChoiceFormat.php ├── CDateFormatter.php ├── CDbMessageSource.php ├── CGettextMessageSource.php ├── CLocale.php ├── CMessageSource.php ├── CNumberFormatter.php ├── CPhpMessageSource.php ├── data │   ├── en_us.php │   ├── .................... │   ├── zh_hk.php │   ├── zh_mo.php │   ├── zh.php │   ├── zh_sg.php │   ├── zh_tw.php │   ├── zu.php │   └── zu_za.php └── gettext     ├── CGettextFile.php     ├── CGettextMoFile.php     └── CGettextPoFile.php 2 directories, 616 files 区域设置 通过对区域的设置,来判断用户所在的国际和使用的语言。 YII定义了常见的区域标识,可以认为是表示区域的唯一ID。 YII中通过CLocale类存放区域数据(包括货币,日期,数字格式等等)。 通过一个区域唯一ID,然后就可以通过 CLocale::getInstance($localeID) 或者CApplication::getLocale($localeID) 获取相应的 CLocale 实例。通过CLocale实例,就能够判断用户所在的国家,使用的语言。然后可以根据CLocale的数据进行相应的翻译,让web应用更适于当前用户使用和阅读。最根本的就是为了用户进行特定的翻译。 信息文本和文件资源的翻译 翻译很简单就是把一种语言变成另一种语言。在计算机中用的是26字母,就是e文。所以可以把e文当成是原始语言,万语之源,所有其他的语言都是通过e文翻译而成的,暂且e文叫做源语言。翻译成的语言叫做目标语言。 具体的类说明
/**
* Translates a message to the specified language.
* Starting from version 1.0.2, this method supports choice format (see {@link CChoiceFormat}),
* i.e., the message returned will be chosen from a few candidates according to the given
* number value. This feature is mainly used to solve plural format issue in case
* a message has different plural forms in some languages.
* @param string $category message category. Please use only word letters. Note, category 'yii' is
* reserved for Yii framework core code use. See {@link CPhpMessageSource} for
* more interpretation about message category.
* @param string $message the original message
* @param array $params parameters to be applied to the message using <code>strtr</code>.
* Starting from version 1.0.2, the first parameter can be a number without key.
* And in this case, the method will call {@link CChoiceFormat::format} to choose
* an appropriate message translation.
* Starting from version 1.1.6 you can pass parameter for {@link CChoiceFormat::format}
* or plural forms format without wrapping it with array.
* @param string $source which message source application component to use.
* Defaults to null, meaning using 'coreMessages' for messages belonging to
* the 'yii' category and using 'messages' for the rest messages.
* @param string $language the target language. If null (default), the {@link CApplication::getLanguage application language} will be used.
* This parameter has been available since version 1.0.3.
* @return string the translated message
* @see CMessageSource
*/
public static function t($category,$message,$params=array(),$source=null,$language=null)
{

$category源语言 $mesage目标语言 $params是$mesage中要匹配翻译的数组。 具体使用方法如:
Yii::t('app', 'Path alias "{alias}" is redefined.',
  array('{alias}'=>$alias))

当然可以通过yiic提供的命令行命令message进行翻译,具体的参考yiic命令的使用说明 [b]日期/时间、金钱和数字格式[/b] 日期/时间处理CDateFormatter类 具体参考(/yii_dev/yii/framework/i18n/CDateFormatter.php)类文件 [b]数字处理 [/b]具体参考(/yii_dev/yii/framework/i18n/CNumberFormatter.php)类文件 更多关于Yii相关内容感兴趣的读者可查看本站专题:《[url=http://www.1sucai.cn/Special/386.htm]Yii框架入门及常用技巧总结[/url]》、《[url=http://www.1sucai.cn/Special/155.htm]php优秀开发框架总结[/url]》、《[url=http://www.1sucai.cn/Special/26.htm]smarty模板入门基础教程[/url]》、《[url=http://www.1sucai.cn/Special/96.htm]php日期与时间用法总结[/url]》、《[url=http://www.1sucai.cn/Special/43.htm]php面向对象程序设计入门教程[/url]》、《[url=http://www.1sucai.cn/Special/47.htm]php字符串(string)用法总结[/url]》、《[url=http://www.1sucai.cn/Special/84.htm]php+mysql数据库操作入门教程[/url]》及《[url=http://www.1sucai.cn/Special/231.htm]php常见数据库操作技巧汇总[/url]》 希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部