2010-09-07 89 views
0

CakePHP book有關於國際化&本地化的章節。 Bascyly所說的是Cake會生成一個pot文件,我們必須爲pot文件中的不同語言文件創建一個.po文件。使用數據庫進行國際化和本地化

我的問題是我希望用戶能夠編輯這些本地化文本,而不是將.po文件存儲在數據庫中的.po文件中。

那麼如何將本地化的文本存儲在數據庫中?

回答

1

a Behavior for that

就我個人而言,我發現TranslateBehavior雖然比較不靈活,所以我通常只是通過一個包含所有翻譯的belongsTo關係連接到主模型的單獨表格。然後我選擇一個顯示在視圖中。

+0

這聽起來很奇怪。 Translate Bahavior是針對模型數據的。所以我必須創建一個模型來存儲我在視圖中使用的所有標籤。如果我這樣做,那麼我將無法再使用<?php __('Posts')?>這個東西,對吧? – Sunny 2010-09-07 05:50:53

+0

是的,如果要將用戶可編輯的翻譯存儲在數據庫中,則需要使用模型。那時,你的標籤不是簡單的「可翻譯的視圖元素」,它們就像數據庫中的任何其他數據一樣。 '__()'只會在.pot文件中查找翻譯,所以是的,您需要使用別的東西。 – deceze 2010-09-07 06:03:16