目前我正在使用cakephp解決方案(closed source unfortunatelly),並且有時會注意到,即使在po文件中有msgid條目,字符串也不會被翻譯。 我意識到如果源參考不在條目中,就會發生這種情況。如果我輸入該字符串的源引用,或者從條目中移除所有源引用,它將被翻譯。PO文件中的參考 - 使用cakephp:它們對翻譯有任何影響嗎?
爲了測試這個,我用可翻譯的字符串(使用__()函數)製作了一個小的cakephp應用程序,但我無法獲得相同的行爲。
例如爲:
#: /views/view1/add.ctp:6
#: /views/view1/edit.ctp:6
#: /views/view2/add.ctp:5
#: /views/view2/edit.ctp:5
msgid "Name"
msgstr "localized name string"
應用1:如果我刪除廠景引用比沒有翻譯發生於那些語言環境廠景,但視圖2的作品翻譯。如果我刪除所有參考都工作。
應用2(我的測試):引用沒有影響,所有翻譯
這怎麼可能? 我在第一個應用程序中使用主題,字符串因主題而異。這會導致這種行爲嗎?
其他問題:如果我在視圖中創建新的字符串,那麼在po文件中插入新字符串的最佳做法是什麼?我可以提取一個新的空罐,這是可以的,但總是搜索po文件並手動插入它是非常耗時的。應該有一個更好的自動方式,我找不到。 GNU/gettext手冊太複雜了,我無法理解這個過程:(
感謝提示一個好的po編輯器,但這不是兩個問題的答案。無論如何,相當有用:) – sipiatti 2010-07-08 16:31:32