2013-06-24 17 views
1

在我笨的應用程序我有一個語言文件200個+短語的文件。合併整體語言文件到一個數組與CI

目前我有這樣的代碼:

$這個 - >朗>負載( 'mylanguage');

// Define variables 
$data['title'] = $this->lang->load('title'); 
$data['slogan'] = $this->lang->load('slogan'); 
// And so on 

我在想,如果有辦法,如果我可以做這樣的事情:

$data = $this->lang->line; 

我的理解是不一樣的工作,但也許一些更有經驗的CI開發人員可以通知這樣做的最好方法。

感謝,

彼得

+0

http://ellislab.com/codeigniter/user-guide/libraries/language.html $這 - >朗>線( 'language_key'); – Matt

+0

我知道,但我必須手動定義每個變量,我想將我的語言文件中的每一行合併到一個數組中。 –

回答

2

嘗試添加第三個參數加載方法。如果將第三個參數設置爲TRUE,則在加載語言文件時,它將返回文件中所有語言值的數組。

// created error file according to the CI docs 
print_r($this->lang->load('error', 'english', true)); 

// Example output 
Array 
(
[error_email_missing] => You must submit an email address 
[error_url_missing] => You must submit a URL 
[error_username_missing] => You must submit a username 
) 
從文檔
+0

你是好朋友!太好了,馬特! –

1

的配置文件,你到底加載到$this->lang->languagemerged。因爲它現在宣佈公開你能達到這個屬性,但我會創建一個子類的的usual way並添加接入功能,所以如果以後其改爲保護它仍然可以工作:

class MY_Lang extends CI_Lang { 
    public function all_line() { 
     return $this->language; 
    } 
} 
+0

我會給你一個去,並儘快回覆你:)謝謝你的回答隊友:) –