有些joomla元件(組件)的語言檔在有心人找到外國語言檔而辛苦將它本土化,然後再放回原程式裏打包成可直接安裝的多國語言元件,基本上只要如前面的幾編文章所提的方法,就大致已可完成很多元件(組件)的中文化方法了,而一般的元件的程式設計者最初規劃軟體時,也多數是寫成可以自動對應你的joomla系統的內定語系,而自動呈現該元件中有對應的該國語系,而這也就是所謂的多國語言檔元件,能夠使前台用戶在切換前台語系時,該元件(組件)也能改變語言(只要它有該語系的語言檔即可)。然而有些軟體就不是這麼簡單了,當你好不容易翻譯完本地的語系之後,也修改了.xml檔,安裝完的程式也有將你辛苦翻譯的語言檔安裝到joomla系統裏,可是該元件卻都還是只呈現原來的語系(通常是english),這類的軟體有的可以到後台的控制台去選語系,但也有一種是完全無法變法更改的,如expose gallery,以及sh404SEF,這類著名的元件,小弟花了很多時間,辛苦的將其語言檔翻譯成中文語系之後,卻無法運用,然而由於小弟的英文不好,翻譯的時間很長,也因為時間花太多了,所以當最後無法使用,實在很不爽,為此只好做一種中文化的方式,就是取代法,什麼意思呢?就是將保留原檔名(如english.ini,不另建一個名為taiwan.ini的檔案),而將裏面放的英文語系檔改為中文語系檔。有些元件在用了這樣的方式之後果然可以呈現中文語系,但是這樣做總還是覺得怪的怪,所以最後還是不得不進一步進到程式裏去做語言檔更改設定的方法,通常這種改法,網路上要找到更改的方法,好像很不易找到,例如我就想找到sh404SEF的設定更改方法,但找了很久,中英文與官方網站裏好像都沒有相闗的說明,最後我只好用土法鍊鋼的方法,去更改,首先強調,小弟我不會程式語法,也沒正式學過,所以只能憑直接覺得怎麼改而後去測試,底下的方法,用於只是改語系設定的方法應該能解決全部語系設定的問題:
首先在你安裝的joomla網站看一下你安裝好的元件是什麼語系,若是英文(在此僅以英文語系為例)
接著在你的windows pc裏將該元件解壓縮,看其英文語言檔的檔名為何,若是english.ini(也可能是english.php、en-GB.ini或en.php………反正就是要看出來就對了,可配合解開的檔案之根目錄裏的.xml檔裏的language字段部份)
接著找整個元件裏,與語系設定有關的程式,並修改其設定。底下以圖例詳細說明:
我是以ssh連上linux server端,打入以下grep指令找相關字串。
(選擇用linux 的grep指令是因為我用它比較好找,windows底下若有好用的字串搜尋程式也可直接使用,只是我不知道,所以只好到linux下用grep指令)
以上述要將英文語系改設定為中文語系為例:我在要找的元件之目錄下,輸入grep –rw “english” *的指令
它找到
language/plugins/com_weblinks.php: // english
language/plugins/com_letterman.php: // english
language/plugins/com_content.php: // english
language/plugins/com_smf.php: // english
language/plugins/com_user.php: // english
language/plugins/com_docman.php: // english
language/plugins/com_newsfeeds.php: // english
language/plugins/com_poll.php: // english
language/plugins/com_magazine.php: // english
language/plugins/com_search.php: // english
language/plugins/com_comprofiler.php: // english
language/plugins/com_registration.php: // english
language/plugins/com_sobi2.php: // english
language/plugins/com_rsgallery2.php: // english
language/plugins/com_rd_rss.php: // english
language/plugins/com_remository.php: // english
language/plugins/com_myblog.php: // english
language/plugins/com_virtuemart.php: // english
language/plugins/com_fireboard.php: // english
language/plugins/com_hotproperty.php: // english
language/plugins/com_mtree.php: // english
sh404sef.class.php:$GLOBALS['shMosConfig_lang'] = $lang->get('backwardlang', '
sh404sef.class.php: include_once(sh404SEF_ADMIN_ABS_PATH.'language/english.ph
其中我判斷其影響設定的檔應是sh404sef.class.php這個程式。
於是我回到windows pc端將解壓的元件裏找到sh404sef.class.php檔並以文字編輯軟體修改。
以下圖為例找關鍵字english
將該字改為我的中文語系檔名,假若為taiwan.php
則將原english改為taiwan。
****一般有關語言檔的設定,有時是指接指向檔名,有時也可能是用語言代碼。也就是除了english這個字之外,也要找en或en-GB等語系代碼字,所以搜尋修改時,要同時注意,將english、en或en-GB,改為你自行建立的語言檔的檔名或語系代碼(可能是taiwan、zh-TW或tw),原則上改完就會將內定的語系改為你要的了。
最後再打包起來(前提是安裝記錄檔.xml也要先改好),應該就可以安裝了。
如上圖全選(必須是.xml檔所在的根目錄)你的打包的內容,滑鼠按右鍵選擇壓縮所選的檔案,
壓縮格式選ZIP後(別的壓縮格式好像LINUX無法解開,至少目前我試過RAR是不行的,tar檔好像可以,我沒試,不知道),按確定,即完成打包工作。可進到joomla後台去做安裝測試了!
相關文章:
沒有留言:
張貼留言