首頁 php教程 php手册 Yii Framework 开发教程多国语言示例

Yii Framework 开发教程多国语言示例

Jun 13, 2016 am 10:54 AM
framework yii 資訊 實現 開發 執行 教學 範例 翻譯 語言 需要

总体来说,要实现信息翻译,需要执行如下几步:

 

在合适的位置调用 Yii::t() ;

以 protected/messages/LocaleID/CategoryName.php 的格式创建 PHP 翻译文件。 每个文件简单的返回一个信息翻译数组。 注意,这是假设你使用默认的 CPhpMessageSource 存储翻译信息。

配置 CApplication::sourceLanguage 和 CApplication::language。

因此第一步为Application添加合适的配置:

 

 

[php]  

  

// This is the main Web application configuration. Any writable   

// CWebApplication properties can be configured here.   

return array(  

'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',  

'sourceLanguage'=>'en',  

'language'=>'zh_cn',  

'name'=>'i18nDemo',  

  

...  

// application components   

'components'=>array(  

'coreMessages'=>array(  

        'basePath'=>'protected/messages',  

        ),),  

);  

 

 

// This is the main Web application configuration. Any writable

// CWebApplication properties can be configured here.

return array(

'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',

'sourceLanguage'=>'en',

'language'=>'zh_cn',

'name'=>'i18nDemo',

 

...

// application components

'components'=>array(

'coreMessages'=>array(

'basePath'=>'protected/messages',

),),

);

 

源语言为en,目录语言为中文(zh_cn) ,翻译信息的目录为protected/messages.

 

然后再protected/messages 创建zh_cn 目录,如果还需要支持其它语言,可以创建相应的目录,然后在zh_cn创建一个yii.php ,其中yii 做为翻译时的分类名(你可以选择你自己喜欢的名字)。

检查代码中需要翻译的地方,然后在yii.php 文件中定义对应的翻译:

 

 

[php]  

return array (  

  

    'Application Name' => '应用程序名称',  

    'Greetings from Santa'=>'来自圣诞老人的问候',  

    'firstName'=>'名',  

    'lastName'=>'姓',  

    'Choose your Christmas Gift'=>'选择你喜欢的圣诞礼物',  

    'iPad'=>'iPad',  

    'Remote control helicopter'=>'遥控直升飞机',  

    '60 inch 3D LED TV'=>'60寸3D LED电视',  

    'Holy Bible'=>'圣经',  

    'Choose your Christmas dinner'=>'选择你圣诞节晚餐',  

    'Egg'=>'鸡蛋',  

    'Ham'=>'火腿',  

    'Chicken'=>'鸡',  

    'Pork'=>'猪肉',  

    'Beer'=>'啤酒',  

    'Coke'=>'可乐',  

    'Wine'=>'白酒',  

    'Submit'=>'提交',  

    'Merry Christmas'=>'圣诞快乐',  

    'On Christmas Day,You will be given'=>'圣诞节那天你将获得',  

    'And you will have'=>'你可以有',  

    'for Christmas dinner'=>'作为圣诞晚餐',  

    'Start Again'=>'重新选择'  

);  

1  

  

然后将原先使用英文字符串的地方换成yii::t('yii',xxx);比如DataModel.php  

1  

public function getGifts()  

{  

    return array(  

        '1'=>Yii::t('yii','iPad'),  

        '2'=>Yii::t('yii','Remote control helicopter'),  

        '3'=>Yii::t('yii','60 inch 3D LED TV'),  

        '4'=>Yii::t('yii','Holy Bible'),  

        );  

}  

  

public function getMeals()  

{  

    return array(  

        '1'=>Yii::t('yii','Egg'),  

        '2'=>Yii::t('yii','Ham'),  

        '3'=>Yii::t('yii','Chicken'),  

        '4'=>Yii::t('yii','Pork'),  

        '5'=>Yii::t('yii','Beer'),  

        '6'=>Yii::t('yii','Coke'),  

        '7'=>Yii::t('yii','Wine'),  

    );  

}  

 

return array (

 

'Application Name' => '应用程序名称',

'Greetings from Santa'=>'来自圣诞老人的问候',

'firstName'=>'名',

'lastName'=>'姓',

'Choose your Christmas Gift'=>'选择你喜欢的圣诞礼物',

'iPad'=>'iPad',

'Remote control helicopter'=>'遥控直升飞机',

'60 inch 3D LED TV'=>'60寸3D LED电视',

'Holy Bible'=>'圣经',

'Choose your Christmas dinner'=>'选择你圣诞节晚餐',

'Egg'=>'鸡蛋',

'Ham'=>'火腿',

'Chicken'=>'鸡',

'Pork'=>'猪肉',

'Beer'=>'啤酒',

'Coke'=>'可乐',

'Wine'=>'白酒',

'Submit'=>'提交',

'Merry Christmas'=>'圣诞快乐',

'On Christmas Day,You will be given'=>'圣诞节那天你将获得',

'And you will have'=>'你可以有',

'for Christmas dinner'=>'作为圣诞晚餐',

'Start Again'=>'重新选择'

);

1

 

然后将原先使用英文字符串的地方换成yii::t('yii',xxx);比如DataModel.php

1

public function getGifts()

{

return array(

'1'=>Yii::t('yii','iPad'),

'2'=>Yii::t('yii','Remote control helicopter'),

'3'=>Yii::t('yii','60 inch 3D LED TV'),

'4'=>Yii::t('yii','Holy Bible'),

);

}

 

public function getMeals()

{

return array(

'1'=>Yii::t('yii','Egg'),

'2'=>Yii::t('yii','Ham'),

'3'=>Yii::t('yii','Chicken'),

'4'=>Yii::t('yii','Pork'),

'5'=>Yii::t('yii','Beer'),

'6'=>Yii::t('yii','Coke'),

'7'=>Yii::t('yii','Wine'),

);

}

 

 

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

四款值得推薦的AI輔助程式工具 四款值得推薦的AI輔助程式工具 Apr 22, 2024 pm 05:34 PM

這個AI輔助程式工具在這個AI快速發展的階段,挖掘出了一大批好用的AI輔助程式工具。 AI輔助程式設計工具能夠提升開發效率、提升程式碼品質、降低bug率,是現代軟體開發過程中的重要助手。今天大姚給大家分享4款AI輔助程式工具(而且都支援C#語言),希望對大家有幫助。 https://github.com/YSGStudyHards/DotNetGuide1.GitHubCopilotGitHubCopilot是一款AI編碼助手,可幫助你更快、更省力地編寫程式碼,從而將更多精力集中在問題解決和協作上。 Git

看片不怕沒字幕!小米宣布小愛翻譯即時字幕上線日韓文翻譯 看片不怕沒字幕!小米宣布小愛翻譯即時字幕上線日韓文翻譯 Jul 22, 2024 pm 02:11 PM

7月22日消息,今日,小米澎湃OS官微宣布小愛翻譯迎來升級,實時字幕新增日韓語翻譯,無字幕視頻、直播會議實時轉錄翻譯。面對面同聲傳譯支持12種語言互譯,包括中文、英語、日語、韓語、俄語、葡萄牙語、西班牙語、義大利語、法語、德語、印尼語、印地語。以上功能目前僅支援以下三款新機:小米MIXFold4小米MIXFlipRedmiK70至尊版據悉,2021年,小愛同學AI字幕宣布加入日文、韓文翻譯。 AI字幕採用小米自研同聲傳譯技術,提供更快速、穩定且精準的字幕閱讀體驗。 1.官方稱,小愛翻譯不僅能在影音場

夏天,一定要試試拍攝彩虹 夏天,一定要試試拍攝彩虹 Jul 21, 2024 pm 05:16 PM

夏天雨後,常常能見到美麗又神奇的特殊天氣景象-彩虹。這也是攝影中可遇而不可求的難得景象,非常出片。彩虹出現有這樣幾個條件:一是空氣中有充足的水滴,二是太陽以較低的角度照射。所以下午雨過天晴後的一段時間內,是最容易看到彩虹的時候。不過彩虹的形成受天氣、光線等條件的影響較大,因此一般只會持續一小段時間,而最佳觀賞、拍攝時間更為短暫。那麼遇到彩虹,怎樣才能合理地記錄下來並拍出質感呢? 1.尋找彩虹除了上面提到的條件外,彩虹通常出現在陽光照射的方向,即如果太陽由西向東照射,彩虹更有可能出現在東

AI程式設計師哪家強?探索Devin、通靈靈碼和SWE-agent的潛力 AI程式設計師哪家強?探索Devin、通靈靈碼和SWE-agent的潛力 Apr 07, 2024 am 09:10 AM

2022年3月3日,距離世界首個AI程式設計師Devin誕生不足一個月,普林斯頓大學的NLP團隊開發了一個開源AI程式設計師SWE-agent。它利用GPT-4模型在GitHub儲存庫中自動解決問題。 SWE-agent在SWE-bench測試集上的表現與Devin相似,平均耗時93秒,解決了12.29%的問題。 SWE-agent透過與專用終端交互,可以開啟、搜尋文件內容,使用自動語法檢查、編輯特定行,以及編寫和執行測試。 (註:以上內容為原始內容微調,但保留了原文中的關鍵訊息,未超過指定字數限制。)SWE-A

學習如何利用Go語言開發行動應用程式 學習如何利用Go語言開發行動應用程式 Mar 28, 2024 pm 10:00 PM

Go語言開發行動應用程式教學隨著行動應用程式市場的不斷蓬勃發展,越來越多的開發者開始探索如何利用Go語言開發行動應用程式。作為一種簡潔高效的程式語言,Go語言在行動應用開發中也展現了強大的潛力。本文將詳細介紹如何利用Go語言開發行動應用程序,並附上具體的程式碼範例,幫助讀者快速入門並開始開發自己的行動應用程式。一、準備工作在開始之前,我們需要準備好開發環境和工具。首

微信關收款聲音的步驟教程 微信關收款聲音的步驟教程 Mar 26, 2024 am 08:30 AM

1.首先打開微信。 2.點選右上角【+】。 3.點選二維碼收款。 4.點擊右上角三個小點。 5.點選關閉收款到帳語音提醒。

PHP教學:如何將int型別轉換為字串 PHP教學:如何將int型別轉換為字串 Mar 27, 2024 pm 06:03 PM

PHP教學:如何將int型別轉換為字串在PHP中,將整型資料轉換為字串是常見的操作。本教學將介紹如何使用PHP內建的函數將int型別轉換為字串,同時提供具體的程式碼範例。使用強制型別轉換:在PHP中,可以使用強制型別轉換的方式將整型資料轉換為字串。這種方法非常簡單,只需要在整型資料前加上(string)即可將其轉換為字串。下面是一個簡單的範例程式碼

探索智能體的邊界:AgentQuest,一個全面衡量和提升大型語言模型智能體性能的模組化基準框架 探索智能體的邊界:AgentQuest,一個全面衡量和提升大型語言模型智能體性能的模組化基準框架 Apr 11, 2024 pm 08:52 PM

基於大模型的持續最佳化,LLM智能體-這些強大的演算法實體已經展現出解決複雜多步驟推理任務的潛力。從自然語言處理到深度學習,LLM智能體正逐漸成為研究和工業界的焦點,它們不僅能理解和生成人類語言,還能在多樣的環境中製定策略、執行任務,甚至使用API​​調用和編碼來建置解決方案。在這種背景下,AgentQuest框架的提出具有里程碑意義,它不僅僅是一個LLM智能體的評估和進步提供了一個模組化的基準測試平台,而且透過其易於擴展的API,為研究人員提供了一個強大的工具,以更細緻地追蹤和改進這些智能體的性能

See all articles