2012-07-20 33 views
1

我正在嘗試將視圖部件準備到變量中,但我必須以應用程序的不同語言加載視圖部件。CodeIgniter - 使用除當前語言之外的其他語言加載視圖部件

我有我的語言文件夾集(法國&英語),這裏是我的嘗試沒有成功:

// Current language is french 
$this->lang->load('[lang_file]', 'english'); 
$variable = $this->load->view('[path_to_view]', true); 
$this->lang->load('[lang_file]'); 

首先,是它可以裝載比目前實行的彼此語言的另一個看法?

其次,如果是,我需要做什麼?

Thx。

回答

0

也許在加載視圖文件之前暫時將語言設置爲英文是有用的。試試這個:

$this->config->set_item('language', 'english'); 
$variable = $this->load->view('[path_to_view]', true); 
0

如果我沒有記錯的話,你應該使用$this->lang->load(),但也許你的工作以及。

Bascily,是的,它的工作原理。 lang鍵將被覆蓋,並應用新的鍵。

你有french作爲config/config.php的默認語言嗎?

更重要的是,您的視圖是在您運行$this->load->language('[lang_file]', 'english');之前獲取視圖使用的數據嗎?可能有一些來自form_validation的錯誤以及會導致「錯誤」語言的simliar。

+0

我剛糾正我的示例代碼。是的,法語是我的應用中的默認語言。我的代碼在$ this-> form_validation-> run()方法之後執行。 – Matrix818181 2012-07-20 12:33:15

+0

然後錯誤將以法文顯示,而其餘視圖以英文顯示。考慮在' - > run()'之前放置'lang-> load()'。但是你得到了什麼結果? – 2012-07-20 12:37:07

+0

因爲視圖部分需要的語言放在'$ this-> input-> post()'中,所以我不能在' - > run()'之前放入'lang-> load – Matrix818181 2012-07-20 12:40:22