語言類
語言類提供方法去“解開(retrieve)”語言文件或者文本行(lines of text)以實(shí)現(xiàn)國際化(internationalization).
CodeIgniter的系統(tǒng)(system)目錄下的language目錄中有一系列的語言文件。 當(dāng)你需要顯示另外一種語言的錯(cuò)誤信息或者其它的一些信息時(shí),可以創(chuàng)建自己的語言文件。
語言文件一般存放在 system/language目錄下?;蛘吣憧梢栽?kbd>application目錄下創(chuàng)建一個(gè)language目錄,并把語言文件存放在這里。CodeIgniter會(huì)首先查找application/language目錄。如果上述目錄不存在,或者所要搜索的語言文件不存在,CodeIgniter會(huì)搜索全局的 system/language目錄。
注意:? 每一個(gè)語言都要有一個(gè)獨(dú)立的目錄,比如,英語的一系列文件都在以下目錄中: system/language/english
創(chuàng)建語言文件
語言文件的后綴必須為_lang.php。比如,你想創(chuàng)建一個(gè)包含錯(cuò)誤信息的文件,你可以這樣命名: error_lang.php
在此文件中,你可以在每行把一個(gè)字符串賦值給名為$lang的數(shù)組,例如:
$lang['language_key'] = "The actual message to be shown";
注意: 為了不和其它文件中的變量重名,最好把一個(gè)文件的所有的鍵值前都加上相同的前綴。比如,可以把每個(gè)錯(cuò)誤信息都加上error_
$lang['error_email_missing'] = "You must submit an email address";
$lang['error_url_missing'] = "You must submit a URL";
$lang['error_username_missing'] = "You must submit a username";
加載一個(gè)語言文件
使用語言文件前,先要加載它,加載方法如下:
$this->lang->load('filename', 'language');
filename是你要加載的語言文件名 (不要帶擴(kuò)展名), language 是那個(gè)文件中包含的語言 (比如,英語)。如果沒有第二個(gè)參數(shù),將會(huì)使用 application/config/config.php的缺省語言。
獲取一行文本
一旦需要的語言文件被加載,你可以以下的方法取得其中任何一個(gè)值:
$this->lang->line('language_key');
language_key 你要顯示的字符串所在的數(shù)組的鍵值。
注意:這個(gè)方法只是簡單的返回值,它并不顯示值。(It does not echo it for you)
使用語言行作為表單的Label
這一特性已經(jīng)被語言類廢棄,并轉(zhuǎn)移到語言輔助函數(shù)中的 lang() 函數(shù)。
自動(dòng)加載語言
如果需要在整個(gè)程序加載一個(gè)特定的語言文件,你可以讓CodeIgniter在系統(tǒng)初始化的時(shí)候自動(dòng)加載語言文件??梢栽?application/config/autoload.php 文件中把語言放在自動(dòng)加載數(shù)組中。
?