2017-02-02 71 views
0

我正在使用本地化功能以法語翻譯我的應用程序,但我遇到了一些我並不期待的約束。Cakephp 3本地化問題

default.po文件,當我設置:

msgid "MainLoginAccountLocked" 
msgstr "Votre compte a été verrouillé." 

它工作正常。我可以看到翻譯的信息。

但是,當我設置:

msgid "Main Login Account Locked" 
msgstr "Votre compte a été verrouillé." 

它不工作。我得到「主登錄賬戶鎖定」鍵而不是翻譯。

msgid值有沒有限制?還是限制值? 我在文檔中找不到任何可以幫助我的東西。

+0

沒有這樣的限制。不要忘記在更改後清除緩存('tmp/cache/persistent')。 – ndm

回答

0

在msgid中使用空格沒有限制,我一直都在使用它。

@NAS的建議是相關的:清除緩存。

在過去,我也遇到了需要重新生成的.po文件的編譯版本問題。

仔細驗證字符串末尾的空格。

也許你也應該驗證涉及的編碼。如果你在任何地方使用UTF-8(正如我所希望的),它不應該成爲問題。

+0

編碼是UTF-8。 – LuTo

+0

它看起來像是一個緩存問題。我每次通過刪除/ tmp/cache/persistent中的文件清除緩存,但有一種滯後。這可能是服務器端的緩存問題。 (我無法觸摸服務器的配置,因爲我在共享服務器上)。 – LuTo