麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > PHP > 正文

YII Framework框架教程之國際化實現方法

2024-05-04 23:43:51
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了YII Framework框架教程之國際化實現方法,較為詳細的分析了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命令的使用說明

日期/時間、金錢和數字格式

日期/時間處理CDateFormatter類
具體參考(/yii_dev/yii/framework/i18n/CDateFormatter.php)類文件

數字處理
具體參考(/yii_dev/yii/framework/i18n/CNumberFormatter.php)類文件



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久精品视频首页 | 成人午夜视频在线观看免费 | 毛片免费视频 | 久久久久久久久久网 | 91九色视频观看 | 九九热这里只有精品8 | 久久性生活免费视频 | 欧美a视频 | 欧洲成人综合网 | 色av成人天堂桃色av | 性插视频 | 亚洲国产高清一区 | 99视频网址 | 欧美成人一区二区三区电影 | 国产午夜免费福利 | 男女羞羞视频 | 99在线在线视频免费视频观看 | 一级视频在线播放 | 叉逼视频| 99久久婷婷国产综合精品青牛牛 | 国产精品久久久久久久久粉嫩 | 一级观看免费完整版视频 | 毛片免费视频在线观看 | 日韩精品一二三 | 国产无限资源在线观看 | 成人在线免费看 | 欧美福利视频一区二区三区 | 久久久视频免费观看 | 毛片大全免费 | 亚洲欧美日韩久久精品第一区 | 999久久久国产999久久久 | 99re66热这里只有精品8 | 成人免费毛片片v | 日韩精品免费看 | 中文字幕涩涩久久乱小说 | 黄色片网站免费在线观看 | 免费高清一级欧美片在线观看 | 欧美1—12sexvideos | 免费在线观看成人av | 成人午夜影院 | 久久国产精品久久久久久久久久 |