2008年06月20日

JEvents中文化修改

Joomla! 1.0.12中文版安裝JEvents 1.4.3行事曆元件後,發現活動的日期格式都是美語格式,必須針對下列兩個檔案做修改:

1.修改日期格式

  • 修改檔案:c:\xampp\ htdocs\XXX\components\com_events\events.class.php
把mosEventDate::getDateFormat函數改掉,以形成中文格式。把函數裡的 return strftime("%A, %B %d %Y",$datestp); 加工成
$date = strftime("%Y/%m/%d, %A",$datestp);
return changeWeekday($date);
%A傳回英文的星期名,自行寫個轉中文的changeWeekday:
function changeWeekday($date) {
$cweek = array("一","二","三","四","五","六","日");
$eweek = array("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday");
for ($i=0; $i<=6; $i++) {
//echo "i=" . $i . " eweek=" . $eweek[$i];
$pos = strpos($date, $eweek[$i]);
if ($pos != false) {
$date = str_replace($eweek[$i], "週".$cweek[$i], $date);
break;
}
}
return $date;
}

2.月曆活動字串有亂碼

  • 修改檔案:c:\xampp\ htdocs\XXX\components\com_events\events_calendar_cell.php
 月曆格式取出的活動字串預設只取20個字元,但因為UTF-8裡一個中文字取3個字元,造成取子字串函數SUBSTR取成亂碼,必須 將SUBSTR改成 MB_SUBSTR才行:
$tmpTitle = mb_substr( $title, 0, $cfg->get('com_calCutTitle'),"UTF-8" ) . ' ...';
##


Posted by emisjerry at 樂多Roodo! │22:57 │Joomla!
樂多分類:網路/3C 共同主題:網頁設計 工具:編輯本文
Ads by Roodo!