热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

YIIFramework框架教程之国际化实现方法【PHP】

后端开发|php教程YII,Framework,国际化后端开发-php教程本文讲述了YIIFramework框架教学之国际化实现方法。分享给大家供大家参考,具体如下:php图书馆源

后端开发|php教程YII Framework框架教程之国际化实现方法【PHP】
YII,Framework,国际化
后端开发-php教程
本文讲述了YII Framework框架教学之国际化实现方法。分享给大家供大家参考,具体如下:
php图书馆源码 免费下载,vscode补全分号,ubuntu look,Tomcat进8080,sqlite自增长主键,只显示时分秒插件,js移动前端框架有哪些,爬虫用什么软件下载,php代码实例,seo技术赚钱,网站源码修复,asp 获取网页源代码,钢模板定制lzw
一个web应用,发布到互联网,就是面向全球用户。用户在世界的各个角落都可以访问到你的web应用,当然要看你的网站和不和谐,不和谐的web应用在和谐社会是不让你访问的。
让名网整站源码,denigma vscode,ubuntu空间不足,linux运行tomcat,sqlite win7,网页设计价格一览表,网站连接数据库失败,移动app服务器端开发,js拼图验证码插件,tp框架前端if,爬虫工程师招聘,php 正则表达式,seo计费,怎么删除springboot,织梦cms标签手册,单屏翻页网站模板,图书管理网页模板,wordpress资讯模板,织梦cms后台登录验证码出错,js倒计时页面跳转,酒店预定网站管理系统,团购网站程序哪个好lzw
YII提供了国际化的支持,可以让我们创建的应用适合不同语言的人群。
http代理服务器 源码,vscode编辑区鼠标悬停,ubuntu网站搭建,tomcat创建存储过程,杭州爬虫学校,apache和php结合,贵州关键词seo优化排名lzw
国际化是一个很花哨的东西,没有哪个大型的网站真正能做到国际化。大多都是针对不懂的语言,不同地区设计不同的网站。如果你的应用相对较小,处理的东西不多,那么国际化起来的东西还是蛮可以的。

国际化从以下几个方面入手:

区域设置

信息文本和文件资源的翻译

日期/时间、货币符号和数字格式

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 strtr.* 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命令的使用说明

日期/时间、金钱和数字格式

日期/时间处理CDateFormatter类
具体参考(/yii_dev/yii/framework/i18n/CDateFormatter.php)类文件

数字处理
具体参考(/yii_dev/yii/framework/i18n/CNumberFormatter.php)类文件

更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教学》、《php日期与时间用法总结》、《php面向对象程序设计入门教学》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教学》及《php常见数据库操作技巧汇总》


推荐阅读
  • MySQL Administrator: 监控与管理工具
    本文介绍了 MySQL Administrator 的主要功能,包括图形化监控 MySQL 服务器的实时状态、连接健康度、内存健康度以及如何创建自定义的健康图表。此外,还详细解释了状态变量和系统变量的管理。 ... [详细]
  • 从CodeIgniter中提取图像处理组件
    本指南旨在帮助开发者在未使用CodeIgniter框架的情况下,如何独立使用其强大的图像处理功能,包括图像尺寸调整、创建缩略图、裁剪、旋转及添加水印等。 ... [详细]
  • PHP 图形函数中实现汉字显示的方法
    本文详细介绍了如何在 PHP 的图形函数中正确显示汉字,包括具体的步骤和注意事项,适合初学者和有一定基础的开发者阅读。 ... [详细]
  • Windows环境下Oracle数据库迁移实践
    本文详细记录了一次在Windows操作系统下将Oracle数据库的控制文件、数据文件及在线日志文件迁移至外部存储的过程,旨在为后续的集群环境部署做好准备。 ... [详细]
  • PHP中Smarty模板引擎自定义函数详解
    本文详细介绍了如何在PHP的Smarty模板引擎中自定义函数,并通过具体示例演示了这些函数的使用方法和应用场景。适合PHP后端开发者学习。 ... [详细]
  • 解决ADODB连接Access时出现80004005错误的方法
    本文详细介绍了如何解决在使用ADODB连接Access数据库时遇到的80004005错误,包括错误原因分析和具体的解决步骤。 ... [详细]
  • 最适合初学者的编程语言
    本文探讨了适合编程新手的最佳语言选择,包括Python、JavaScript等易于上手且功能强大的语言,以及如何通过有效的学习方法提高编程技能。 ... [详细]
  • 在Android应用开发过程中,开发者经常遇到诸如CPU使用率过高、内存泄漏等问题。本文将介绍几种常用的命令及其应用场景,帮助开发者有效定位并解决问题。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 解决PHP项目在服务器无法抓取远程网页内容的问题
    本文探讨了在使用PHP进行后端开发时,遇到的一个常见问题:即在本地环境中能够正常通过CURL获取远程网页内容,但在服务器上却无法实现。我们将分析可能的原因并提供解决方案。 ... [详细]
  • Bootstrap Paginator 分页插件详解与应用
    本文深入探讨了Bootstrap Paginator这款流行的JavaScript分页插件,提供了详细的使用指南和示例代码,旨在帮助开发者更好地理解和利用该工具进行高效的数据展示。 ... [详细]
  • HTML前端开发:UINavigationController与页面间数据传递详解
    本文详细介绍了如何在HTML前端开发中利用UINavigationController进行页面管理和数据传递,适合初学者和有一定基础的开发者学习。 ... [详细]
  • 提升工作效率:掌握15个键盘快捷键
    在日常工作中,熟练掌握计算机操作技巧能够显著提升工作效率。本文将介绍15个常用的键盘快捷键,帮助用户更加高效地完成工作任务。 ... [详细]
  • Java中的引用类型详解
    本文详细介绍了Java中的引用类型,包括强引用、软引用、弱引用和虚引用的特点和应用场景。 ... [详细]
  • 搭建个人博客:WordPress安装详解
    计划建立个人博客来分享生活与工作的见解和经验,选择WordPress是因为它专为博客设计,功能强大且易于使用。 ... [详细]
author-avatar
100斤的重口味_866
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有