- 文章: 1031
- 活躍值: 21
- 謝謝您收到: 166
擴充套件中文化指引2006.07.21
- 羽城君拉
-
Topic Author
- Offline
- 管理員
-
Less
More
2006-07-21 20:55 - 2006-07-21 21:33 #3300
來自 羽城君拉
...
羽城君拉 created the topic: 擴充套件中文化指引2006.07.21
由於有愈來愈多的網友們提供中文化的擴充套件(元件、模組、自動化程式),在此記下一些協助中文化的指引,提供您在中文化Joomla擴充套件時,能更快更簡便的作出高品質的中文化套件。
1.語言檔案:
語言檔案通常是位於資料夾名稱為language, languages, lang之中,Joomla擴充套件的語言檔案名稱,只要和主程式的語言檔案名稱相同,在程式中就會自動使用。目前Joomla中文版中的繁體中文語言檔名稱為traditional_chinese.php,而簡體中文是simplified_chinese.php。所以您在中文化語言檔案時,只要依照這個命名方式,就可以建立中文的語言檔案。
有附語言檔案的擴充套件是比較好的選擇,沒有附語言檔案的擴充套件,建議不要使用,本站並不歡迎直接翻成程式碼中的中文化套件,一但有新版發佈,會造成維護上的困擾。以下是一個語言檔中的翻譯字詞的範例:
[code]
1.語言檔案:
語言檔案通常是位於資料夾名稱為language, languages, lang之中,Joomla擴充套件的語言檔案名稱,只要和主程式的語言檔案名稱相同,在程式中就會自動使用。目前Joomla中文版中的繁體中文語言檔名稱為traditional_chinese.php,而簡體中文是simplified_chinese.php。所以您在中文化語言檔案時,只要依照這個命名方式,就可以建立中文的語言檔案。
有附語言檔案的擴充套件是比較好的選擇,沒有附語言檔案的擴充套件,建議不要使用,本站並不歡迎直接翻成程式碼中的中文化套件,一但有新版發佈,會造成維護上的困擾。以下是一個語言檔中的翻譯字詞的範例:
[code]
...
最後修改原因: 2006-07-21 21:33 來自 羽城君拉.
Please 登入 to join the conversation.
- 羽城君拉
-
Topic Author
- Offline
- 管理員
-
Less
More
- 文章: 1031
- 活躍值: 21
- 謝謝您收到: 166
2006-07-21 21:30 - 2006-07-21 21:32 #3302
來自 羽城君拉
...
羽城君拉 replied the topic: 擴充套件中文化指引2006.07.21
2.修改php檔案:
如果你在第一步驟完成後,在你的測試Joomla網站上安裝與測試時發現了一些有錯誤,例如中文亂碼或Email信件還是UTF-8的(網站式的收信會看到亂碼,如Yahoo或MSN),以下是一些修改的指引,但請先確到討論區中觀看是否有人已提出解決的辦法,不要作重覆的工作,還有很多工作可以去作
。以及你是否具備基本的PHP程式經驗及能力,不然請到討論區發問(記得抓取錯誤發生的螢幕畫面)。
中文亂碼:
這部份分為一整句亂掉和斷字錯誤。
一整句亂掉通常是因為有字串處理函式造成的,例如htmlspecialchars及htmlentities。修改方法是找到這個字句是什麼,然後把這個字串去除掉外面的處理函式。
斷字錯誤是由於PHP裡的字串處理函式,例如strlen, substr並不認得UTF-8,在Joomla中文版中,1.0.8版之後,includes目錄下加入了有效處理utf-8字串的處理函式庫(來自:dokowiki),你可以用utf8_strlen和utf8_substr來取代這兩個函式,記得在使用時要引入這個函式庫檔案。
日期亂碼:
日期亂碼通常是因為全站設定的設定錯誤所發生,而且大多是"週"這個字。找出程式碼中有關於date、strftime的PHP函式,對日期及時間格式調整一下,看是不是能避免這個亂碼的發生。
Email轉碼的函式:
Email轉碼可以用iconv、mb_convert_encoding的函式來達到,但因為每個主機商不見得有裝這些PHP的函式庫,所以有可能要視情況調整。在Joomla 1.0.10中文正式版中,加入了一個稱為utf8_to_default($str)及default_to_utf8($str),這兩個函式結合了iconv、mb_convert_encoding及big5_func。雖然增加了方便性,但考量到之前版本的使用者,還是用iconv、mb_convert_encoding,或單獨的big5_func裡的函式來達到。
Joomla中因為用了phpmailer這個函式庫來寄Email,在轉碼時除了要把Subject(信件標題)和Fromname(寄件人名稱)、Body(信件內容)轉成對應語言檔的Big5或GB2312之外。另外還有AltBody(文字內容型的內容),以及Charset要設為對應語言檔的Big5或GB2312。以下的修改是includes/joomla.php檔案中3804行左右的函式mosCreateMail。
if($mosConfig_lang=='traditional_chinese'){ [code]if($mosConfig_lang=='traditional_chinese'){
如果你在第一步驟完成後,在你的測試Joomla網站上安裝與測試時發現了一些有錯誤,例如中文亂碼或Email信件還是UTF-8的(網站式的收信會看到亂碼,如Yahoo或MSN),以下是一些修改的指引,但請先確到討論區中觀看是否有人已提出解決的辦法,不要作重覆的工作,還有很多工作可以去作

中文亂碼:
這部份分為一整句亂掉和斷字錯誤。
一整句亂掉通常是因為有字串處理函式造成的,例如htmlspecialchars及htmlentities。修改方法是找到這個字句是什麼,然後把這個字串去除掉外面的處理函式。
斷字錯誤是由於PHP裡的字串處理函式,例如strlen, substr並不認得UTF-8,在Joomla中文版中,1.0.8版之後,includes目錄下加入了有效處理utf-8字串的處理函式庫(來自:dokowiki),你可以用utf8_strlen和utf8_substr來取代這兩個函式,記得在使用時要引入這個函式庫檔案。
日期亂碼:
日期亂碼通常是因為全站設定的設定錯誤所發生,而且大多是"週"這個字。找出程式碼中有關於date、strftime的PHP函式,對日期及時間格式調整一下,看是不是能避免這個亂碼的發生。
Email轉碼的函式:
Email轉碼可以用iconv、mb_convert_encoding的函式來達到,但因為每個主機商不見得有裝這些PHP的函式庫,所以有可能要視情況調整。在Joomla 1.0.10中文正式版中,加入了一個稱為utf8_to_default($str)及default_to_utf8($str),這兩個函式結合了iconv、mb_convert_encoding及big5_func。雖然增加了方便性,但考量到之前版本的使用者,還是用iconv、mb_convert_encoding,或單獨的big5_func裡的函式來達到。
Joomla中因為用了phpmailer這個函式庫來寄Email,在轉碼時除了要把Subject(信件標題)和Fromname(寄件人名稱)、Body(信件內容)轉成對應語言檔的Big5或GB2312之外。另外還有AltBody(文字內容型的內容),以及Charset要設為對應語言檔的Big5或GB2312。以下的修改是includes/joomla.php檔案中3804行左右的函式mosCreateMail。
if($mosConfig_lang=='traditional_chinese'){ [code]if($mosConfig_lang=='traditional_chinese'){
...
最後修改原因: 2006-07-21 21:32 來自 羽城君拉.
Please 登入 to join the conversation.
- gcboytw
-
- 訪客
-
- 羽城君拉
-
Topic Author
- Offline
- 管理員
-
Less
More
- 文章: 1031
- 活躍值: 21
- 謝謝您收到: 166
- gcboytw
-
- 訪客
-