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