黄色电影一区二区,韩国少妇自慰A片免费看,精品人妻少妇一级毛片免费蜜桃AV按摩师 ,超碰 香蕉

CodeIgniter 國(guó)際化

codeigniter 國(guó)際化

 

codeigniter 中的語(yǔ)言類提供了一種簡(jiǎn)單的方法來(lái)支持多種語(yǔ)言的國(guó)際化。在某種程度上,我們可以使用不同的語(yǔ)言文件來(lái)顯示多種不同語(yǔ)言的文本。

我們可以在 application/language 目錄下放置不同的語(yǔ)言文件。系統(tǒng)語(yǔ)言文件可以在 system/language 目錄中找到,但是要將您自己的語(yǔ)言添加到您的應(yīng)用程序中,您應(yīng)該在 application/language 目錄中為每種語(yǔ)言創(chuàng)建一個(gè)單獨(dú)的文件夾。

 

創(chuàng)建文件語(yǔ)言

要?jiǎng)?chuàng)建語(yǔ)言文件,您必須以 _lang.php 結(jié)尾。例如,您要為法語(yǔ)創(chuàng)建一個(gè)語(yǔ)言文件,則必須使用 french_lang.php 保存它。在此文件中,您可以將所有語(yǔ)言文本存儲(chǔ)在 $lang 數(shù)組中的鍵值組合中,如下所示。

$lang[‘key’] = ‘val’;

 

正在加載語(yǔ)言文件

要在您的應(yīng)用程序中使用任何一種語(yǔ)言,您必須首先加載該特定語(yǔ)言的文件以檢索存儲(chǔ)在該文件中的各種文本。您可以使用以下代碼加載語(yǔ)言文件。

$this->lang->load('filename', 'language');
  • filename-它是您要加載的文件的名稱。此處不要使用文件擴(kuò)展名,而只使用文件名。
  • language-包含它的語(yǔ)言集。

 

獲取語(yǔ)言文本

要從語(yǔ)言文件中提取一行,只需執(zhí)行以下代碼。

$this->lang->line('language_key');

其中 language_key是用于獲取加載的語(yǔ)言文件中鍵值的鍵參數(shù)。

 

自動(dòng)加載語(yǔ)言

如果你需要一些全局語(yǔ)言,那么你可以在 application/config/autoload.php 文件中自動(dòng)加載它,如下所示。

|-----------------------------------------------------------------------
|  auto-load language files
|-----------------------------------------------------------------------
| prototype:
|   $autoload['language'] = array('lang1', 'lang2');
|
| note: do not include the "_lang" part of your file. for example
| "codeigniter_lang.php" would be referenced as array('codeigniter');
|
*/
$autoload['language'] = array();

簡(jiǎn)單地說(shuō),傳遞要由 codeigniter 自動(dòng)加載的不同語(yǔ)言。

 

示例

創(chuàng)建一個(gè)名為 lang_controller.php 的控制器并將其保存在 application/controller/lang_controller.php

   class lang_controller extends ci_controller {
      public function index(){
         //load form helper
         $this--->load->helper('form');
         //get the selected language
         $language = $this->input->post('language');
		
         //choose language file according to selected lanaguage
         if($language == "french")
            $this->lang->load('french_lang','french');
         else if($language == "german")
            $this->lang->load('german_lang','german');
         else
         $this->lang->load('english_lang','english');
		
         //fetch the message from language file.
         $data['msg'] = $this->lang->line('msg');
		
         $data['language'] = $language;
         //load the view file
         $this->load->view('lang_view',$data);
      }
   }
?>

創(chuàng)建一個(gè)名為 lang_view.php 的視圖文件并將其保存在 application/views/lang_view.php

  
   
             codeigniter internationalization example    
	
   
      
         echo form_open('/lang');
      
		
                
            $lang = array('english'=-->"english",'french'=>"french",'german'=>"german");
				
            foreach($lang as $key=>$val) {
               if($key == $language)
               echo "".$val."";
               else
               echo "".$val."";
            }
				
         ?>
			
       		
      

		
      
         form_close();
         echo $msg;
      
		
   
	

在 application/language中創(chuàng)建三個(gè)分別名為english、french、german的文件夾,如下圖。

復(fù)制下面給定的代碼并將其保存在 application/language/english文件夾中的 english_lang.php文件中。

   $lang['msg'] = "codeigniter internationalization example.";

復(fù)制下面給定的代碼并將其保存在 application/language/french文件夾中的 french_lang.php文件中。

   $lang['msg'] = "exemple codeigniter internationalisation.";

復(fù)制下面給定的代碼并將其保存在 application/language/german文件夾中的 german_lang.php文件中。

   $lang['msg'] = "codeigniter internationalisierung beispiel.";

更改 application/config/routes.php 中的 routes.php 文件,為上述控制器添加路由,并在文件末尾添加以下行。

$route['lang'] = "lang_controller";

在瀏覽器中執(zhí)行下面的 url 來(lái)執(zhí)行上面的例子。

http://yoursite.com/index.php/lang

它將產(chǎn)生一個(gè)輸出,如下面的屏幕截圖所示。如果更改下拉列表中的語(yǔ)言,下拉列表下方的句子的語(yǔ)言也會(huì)相應(yīng)更改。

下一節(jié):codeigniter 安全

codeigniter 教程

相關(guān)文章