我正在为需要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. Mercurial作为版本化数据存储
- 5. 如何使用Jena TDB存储本地版本的链接电影数据库
- 6. 如何在本地存储数据?
- 7. 客户端本地存储的数据
- 8. 如何在关系数据库中存储不同版本的数据?
- 9. 用户数据的版本控制存储库
- 10. App dev - 将Shopify数据存储在本地数据库中
- 11. 使用GWT电话存储/检索本地存储数据库中的数据
- 12. 如何删除存储在本地存储中的数据?
- 13. 在本地数据库上缓存LDAP用户数据
- 14. 如何在数据库中本地存储用户名以便快速计算
- 15. 存储本地数据
- 16. 如何备份本地存储数据
- 17. ASP.NET数据库本地化
- 18. 数据库本地化
- 19. 用于在Django数据库中存储版本号的数据类型
- 20. 用户输入数据的C#存储
- 21. 如何本地化数据库表
- 22. 如何管理隔离存储中的本地数据库?
- 23. 在数据库中存储Rails应用程序版本
- 24. 数据库 - 数据版本
- 25. 如何将用户数据存储在外部数据库中
- 26. 阵营本地保存输入数据
- 27. bada编程 - 在数据库中存储用户输入
- 28. 在本地存储缓存数据
- 29. 如何将文本框数据存储在黑莓应用程序中的本地SQL Server数据库中?
- 30. 如何针对Google登录用户存储数据(本地)?
感谢您的建议! – 2011-05-23 06:41:45