2010-05-02 29 views
0

我有一些網頁應用程序中會有多種語言內容的表格/模型。 例如,一所大學使用默認語言(英語)進行描述,用戶希望他能看到另一種語言的相同信息(如果該對象具有翻譯的字段)。 如果只有幾種語言,那麼我只需添加諸如name_en和name_de等字段,但語言數量並不固定,這樣就會造成混亂。 我也可以用翻譯後的數據創建一個新對象,但外鍵不起作用,只有一些字段可以被翻譯,以便創建重複的數據。 將翻譯存儲在文件中並使用gettext或類似的東西也不是一種選擇,因爲對象字段可以由網站用戶翻譯,而不僅僅是開發人員/管理員。如何翻譯數據庫模型的字段?

設計/構建這樣一個數據庫的最佳方式是什麼?從翻譯的數據搜索也應該不是太複雜 - 因爲它不應該需要創建複雜的聯接,這將使查詢更慢

我使用PostgreSQL和Rails的Ruby,但我不是在尋找技術解決方案,但爲一般的想法如何設計它。

回答

0

不要重新發明輪子。安裝globalize2插件,你去了。當然,如果你願意,你也可以研究它是如何工作的(使用翻譯表,是的,與連接)。雖然有一個使用默認語言的主表的分支。

+0

好的,看起來不錯,雖然我問如何爲它設計數據庫。將使用model_translations插件,並對其進行更改,以便可以爲整個應用程序和模型分別設置區域設置(如果有人想編輯模型數據,那麼如果整個站點和編輯窗體語言會發生變化如果編輯另一種語言的對象) – 2010-05-02 18:27:20