[心得] CodeIgniter 1.7.2語系檔修正ini做法。
今天我在開另一個專案時,老是對ci的
$lang['NAME'] = '姓名';
$lang['ADDRESS'] = '地址';
或是
$lang = array(
'NAME' => '姓名',
'ADDRESS' => '地址'
);
這種寫法覺得不是那麼的方便。
尤其是在同時要搞二、三個語系檔的情況下。
(通常習慣也是會讓他分屬不同的資料夾。)
總是覺得說換成
[base]
NAME = 姓名
ADDRESS = 地址
這樣的INI寫法會讓人覺得方便性高吧!
所以就索性把lang檔給他整個改寫了。
流程如下:
1.先在ci的根目錄下建一個放ini的目錄,我是設定叫language。
2.在application的language內建立你的語系目錄和lang檔。
(例如chinese_tw目錄和chinese_tw_lang.php)
3.修改chinese_tw_lang.php(或其他語系)的內容如下:
------未經chris_QQ提醒前的做法------(效能評估:0.02~0.05秒間)
<?php
$lang_ini = file('language/chinese_tw.ini');
foreach($lang_ini as $value){
$value_arr = trim(str_replace(" ","",$value));
if(empty($value_arr) || substr($value_arr,0,1) == '[' ||
!strpos($value_arr,'='))
continue;
list($source,$target) = explode("=",$value_arr);
$lang[$source] = $target;
}
?>
------修正後------(效能評估:0.001~0.003左右)
<?php
$lang = parse_ini_file('language/chinese_tw.ini');
?>
($lang = array()的效能評估約莫也是在0.001~0.003,略低於上述修正後)
以上單位:秒
4.在你的language中建立ini檔(這裡檔名叫chinese_tw.ini)
5.ini的格式就是:
[base] <==你的分類說明
NAME = 姓名
ADDRESS = 地址
[button]
CONFIRM = 確認送出
RESET = 清除
6.記得要把.htaccess中加上language目錄權限,否則會無法讀取。
7.到你的程式用view呼叫樣板測試<?=lang("NAME")?>吧!別忘了config/autoload.php
中的$autoload['helper']要加上language。
這樣以後就可以輕輕鬆鬆用ini檔來設定語系了。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.104.130.243
→
12/03 11:10, , 1F
12/03 11:10, 1F
→
12/03 11:11, , 2F
12/03 11:11, 2F
→
12/03 11:11, , 3F
12/03 11:11, 3F
→
12/03 11:11, , 4F
12/03 11:11, 4F
→
12/03 11:17, , 5F
12/03 11:17, 5F
→
12/03 11:19, , 6F
12/03 11:19, 6F
→
12/03 14:10, , 7F
12/03 14:10, 7F
→
12/03 14:14, , 8F
12/03 14:14, 8F
→
12/03 14:38, , 9F
12/03 14:38, 9F
→
12/03 14:39, , 10F
12/03 14:39, 10F
→
12/03 14:39, , 11F
12/03 14:39, 11F
→
12/03 14:39, , 12F
12/03 14:39, 12F
→
12/03 14:40, , 13F
12/03 14:40, 13F
→
12/03 14:40, , 14F
12/03 14:40, 14F
→
12/03 14:40, , 15F
12/03 14:40, 15F
→
12/03 14:42, , 16F
12/03 14:42, 16F
→
12/03 14:42, , 17F
12/03 14:42, 17F
→
12/03 14:43, , 18F
12/03 14:43, 18F
→
12/03 14:44, , 19F
12/03 14:44, 19F
→
12/03 14:45, , 20F
12/03 14:45, 20F
→
12/03 14:46, , 21F
12/03 14:46, 21F
→
12/03 14:52, , 22F
12/03 14:52, 22F
→
12/03 14:58, , 23F
12/03 14:58, 23F
→
12/03 14:59, , 24F
12/03 14:59, 24F
→
12/03 14:59, , 25F
12/03 14:59, 25F
※ 編輯: tkdmaf 來自: 218.167.139.27 (12/03 15:06)
→
12/03 15:03, , 26F
12/03 15:03, 26F
→
12/03 15:03, , 27F
12/03 15:03, 27F
→
12/03 15:03, , 28F
12/03 15:03, 28F
→
12/03 15:07, , 29F
12/03 15:07, 29F
→
12/03 15:07, , 30F
12/03 15:07, 30F
→
12/03 15:07, , 31F
12/03 15:07, 31F
→
12/03 15:07, , 32F
12/03 15:07, 32F
→
12/03 15:07, , 33F
12/03 15:07, 33F
→
12/03 15:07, , 34F
12/03 15:07, 34F
→
12/03 15:07, , 35F
12/03 15:07, 35F
→
12/03 15:07, , 36F
12/03 15:07, 36F
→
12/03 15:13, , 37F
12/03 15:13, 37F
→
12/03 15:14, , 38F
12/03 15:14, 38F
→
12/03 15:16, , 39F
12/03 15:16, 39F
→
12/03 15:30, , 40F
12/03 15:30, 40F
→
12/03 15:30, , 41F
12/03 15:30, 41F
→
12/03 15:31, , 42F
12/03 15:31, 42F
→
12/03 15:32, , 43F
12/03 15:32, 43F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
PHP 近期熱門文章
PTT數位生活區 即時熱門文章
7
15