2011-06-08 82 views
3

我的應用程序的i18n但區域差異,這就是意味着,我需要有這樣翻譯:如何組織gettext翻譯文件?

  • ch_DE
  • fr_FR時
  • cn_HK
  • ru_RU

等。 ..

在Zend_Translate文檔中,據說您可以使用以下s結構:

/languages 
    /en 
    lang.en 
    other.en 
    /de 
    lang.de 
    other.de 

Zend_translate是否可以像ch_DE這樣的區域化文件夾工作?

回答

1

如果您即將使用gettext請使用gettext標準化locales目錄來放置您的本地化文件。

這看起來像:

locale/fr/LC_MESSAGES/mydomain.mo 
locale/fr_FR/LC_MESSAGES/mydomain.mo 
locale/en_US/LC_MESSAGES/mydomain.mo 
+0

好thnak您的回答,但對於後備?假設我有fr_FR和ch_FR,如果在ch_FR中找不到翻譯,它是否會在fr_FR上回退,或者是否需要單獨的fr /文件夾? – JohnT 2011-06-08 19:34:22

+0

只需使用[規範形式](http://blog.i18n.ro/simplified-locale-codes/)編寫您的區域設置名稱,它將選擇最好的一個。所以,最好是隻用'en'和'fr'代碼來最大化覆蓋範圍,考慮到可能你不會翻譯它'en_GB' :) – sorin 2011-06-08 21:09:11

+0

是啊這是最後我做的,我做了/和fr /文件夾,以及瑞士和魁北克的fr_CH和fr_QC,因爲有一些特定的術語,那麼我根據我的網站設置爲fr_CH,並且它將在fr /中找到,如果沒有在fr_CH中找到。 – JohnT 2011-06-09 13:13:06