我有很多字典的数据库。直到这一刻它才用英文写成,但客户希望在数据库级别上引入国际化(以支持西班牙语和英国英语)。因此,登录我们系统的用户应根据其国际化设置查看所有文本。
大多数dictionay表都是以下形式出现的:
CREATE TABLE UserPermissionTypes (
Id [INT],
Title NVARCHAR(100),
Description NVARCHAR (500) )
此时我正在考虑为每个字典创建重复的表格,其形式与此类似:
CREATE TABLE UserPermissionTypesTranslations (
UserPermissionTypesId [INT],
LanguageCodeId [INT]
Title NVARCHAR(100),
Description NVARCHAR (500), )
我知道这不是完美的解决方案,所以我想知道在表格中实现国际化的最佳方法是什么? 是否有一些标准的方法来进行国际化?
答案 0 :(得分:1)
如何为翻译制作额外的表格并使用它的ID而不是文本(在评论后修改):
CREATE TABLE UserPermissions (
Id [INT],
TitleTR [INT],
DescriptionTR [INT] )
CREATE TABLE Translations(
Id [INT],
LanguageID [INT],
Text NVARCHAR(500)
)
select tr.Text as title, tr2.Text as description from UserPermissions
join Translations tr on tr.id=UserPermissions.titleTR and languageid=:LANG
join Translations tr2 on tr2.id=UserPermissions.descriptionTR and languageid=:LANG