我正在爲需要3種語言(英語和其他2種語言)本地化的網絡應用程序客戶端工作。我瞭解如何使用ASP.NET應用程序中的資源來顯示靜態數據的本地化版本。但是,我不確定如何處理本地化用戶輸入數據的問題。例如,管理員可能想要在應用程序中添加一些新的元數據(例如新產品類別)。這最終需要翻譯成所有3種語言,但最初將以管理員知道的任何語言輸入。由於這種數據不是靜態的,我們將其存儲在數據庫中。我們是否應該爲主鍵添加文化代碼以區分同一數據的不同本地化版本?有沒有一種「最佳實踐」或模式,我不知道這種問題?如何在數據庫中存儲用戶輸入數據的本地化版本?
4
A
回答
2
使用MainItemID和LanguageCode(EN,DE,FR等)的組合PK讓子表成爲您的實體。此子表存儲您的語言特定文本。
如果你總是有英語,或者它是一個後備,那麼你可以有DE,FR等子表和英語主表。 LEFT JOIN和ISNULL會照顧到這一點。
無論哪種方式是確定的,這取決於您確切的需求,我懷疑是第一個。當然,你需要確保你至少有一個子行的數據輸入,例如,一個新的產品類別
0
1
我建議你製作一張表來跟蹤Language
,然後在另一個表中使用languageID作爲外鍵而不是語言代碼。
Language(LanguageID, Name)
然後在其他表中使用該LanguageID
作爲外鍵。
例如您正在本地存儲本地化文字
LocalizedTextTable(ID,text,LanguageID)
+0
如果語言代碼已經是唯一的,是否有理由將這個額外連接添加到'Language'表中? – dnc253 2012-07-30 15:22:56
相關問題
- 1. 如何在數據庫中存儲可版本化的數據?
- 2. 本地數據庫插入不存儲
- 3. 用於本地存儲的數據庫
- 4. 如何將用戶輸入存儲在數據庫中?
- 5. Mercurial作爲版本化數據存儲
- 6. 如何使用Jena TDB存儲本地版本的鏈接電影數據庫
- 7. 如何在iPhone本地存儲數據
- 8. 如何在本地存儲數據?
- 9. 客戶端本地存儲的數據
- 10. 如何在關係數據庫中存儲不同版本的數據?
- 11. 用戶數據的版本控制存儲庫
- 12. App dev - 將Shopify數據存儲在本地數據庫中
- 13. 如何將數據存儲爲本地存儲中的數組?
- 14. 將用戶輸入的文本原樣存儲在數據庫中C#
- 15. 使用GWT電話存儲/檢索本地存儲數據庫中的數據
- 16. 如何在本地數據存儲中解析關係數據?
- 17. 如何刪除存儲在本地存儲中的數據?
- 18. 如何將格式化文本存儲在數據庫中
- 19. 在本地數據庫上緩存LDAP用戶數據
- 20. 本地存儲數據庫大小
- 21. 如何在數據庫中本地存儲用戶名以便快速計算
- 22. 如何使用HTML中的本地存儲在數組中存儲數據?
- 23. 存儲本地數據
- 24. 如何獲取持久化的本地數據庫數據庫?
- 25. 如何備份本地存儲數據
- 26. 用於在Django數據庫中存儲版本號的數據類型
- 27. 數據庫本地化
- 28. ASP.NET數據庫本地化
- 29. 用戶輸入數據的C#存儲
- 30. 如何本地化數據庫表
感謝您的建議! – 2011-05-23 06:41:45