閱讀305 返回首頁    go 阿裏雲 go 技術社區[雲棲]


magento -- 使用translate.csv來修改翻譯

一般Magento的語言包都是指/app/locale目錄下的文件夾,以中文包為例,/app/locale/zh_CN下的所有文件就是中文語言包的全部內容(具體可見從https://www.magentochina.org/bbs/下載的Magento漢化包)。

細心地人可能會發現,除了這裏有csv文件,在模板文件目錄下也有一個locale文件夾,這裏同樣有個文件名為translate.csv的csv文件(在各自語言文件夾下,比如默認在locale下就隻有一個en_US文件夾,裏麵自帶一個translate.csv文件)。

現在我們來做個實驗,在你所使用的模板目錄下/app/design/frontend/default/default/locale(這裏以default為例),新建文件夾zh_CN,在這個文件夾下新建文件translate.csv,打開translate.csv,添加這樣一句:

"My Cart","購物袋" 

 

保存。

現在打開前台,你會發現原來的“我的購物車”變成了“購物袋”(“我的購物車”這個翻譯取自https://www.magentochina.org/bbs/的漢化包)。

 

 

可以推斷出,translate.csv裏的翻譯要比/app/locale/下的語言文件裏的翻譯優先級要高。

 

其實從這個文件放的位置就可以理解,這個csv文件是專門給所在的模板用的,當使用這個模板時,translate.csv裏的翻譯項會覆蓋掉語言包裏的同名項,至於實際用法,以上麵的為例,國內的語言包現在都是把My Cart翻譯成“我的購物車”,這個翻譯沒有問題,但如果是做一個服裝網站,把它翻譯成“購物袋”是不是會更討巧和更有創意呢,這時你不需要去修改/app/locale/zh_CN目錄下的文件,而是像上麵的例子一樣去translate.csv新增項來覆蓋掉原來的。

以為自身的使用情況來說,雖然網上有現成的中文漢化包提供下載,但並沒有做到百分百漢化(其中有一些是Magento自帶的bug造成的),特別是後台,而國內的客戶是很難接受在後台經常看到英文的,所以在這個漢化包的基礎上,我經常需要把發現的漏網之魚做好翻譯並加到語言包裏去,積累起來更完善的語言包以便下個項目可以重用,這時就會存在一個問題,有些項目的特殊性會要求把同一段英文翻譯成不同的中文(還是以購物車和購物袋為例),如果把這一類的翻譯直接去改語言包裏的文件來實現,下一個項目要重用這個語言包就會帶來問題。所以,把所有可能個性的,無法重用的翻譯都寫到translate.csv裏去是一種正確和合理的思路,我覺得這也是官方提供這種方式的初衷。

PS:後台模板目錄下同樣存在這個文件,可以用同樣的方式修改後台的翻譯

最後更新:2017-04-02 06:51:27

  上一篇:go Linux下通用線程池的創建與使用
  下一篇:go Windows平台Ping示例源碼分析(C/C++)