如何解决翻译数据库字符串
| 我有一个面向英国市场编写的应用程序,该应用程序目前仅支持英语(英国),并且客户希望将部分应用程序部署到非英国站点,并将数据同步回英国总部。 我可以使用资源文件和本地区域性信息来转换应用程序标签和消息,但是想知道如何转换数据库绑定的数据。 例如。 这是基于总部的表tblFault
ID ; Description
1 ; Not Functional
2 ; Build Fault
3 ; Leak
4 ; Aesthetics
5 ; Testing
如果我要将数据转换为非英国语言,则可以替换描述,但是如果数据未同步,这会引起一些问题吗?
我应该在表格的另一列中扩展其他语言,然后使用当地的语言来更改选择吗?
tblFault
ID ; Description-EN ; Descrption-US ; Description-DE etc
1 ; Not Functional ; ;
2 ; Build Fault ; ;
3 ; Leak ; ;
4 ; Aesthetics ; ;
5 ; Testing ; ;
您会推荐哪种方法?
谢谢
菲尔
解决方法
由于您在故障及其描述之间具有1:n的关系,因此最干净的解决方案是创建一个子表:
tblFault
--------
FaultID ; some other fields
1 ; ...
2 ; ...
3 ; ...
4 ; ...
5 ; ...
tblFault_Description
--------------------
FaultID ; lang ; Description
1 ; en ; Not Functional
1 ; de ; Funktioniert nicht
2 ; en ; ...
, 那绝对是一种方法。
我以前在这种情况下使用的另一种方法是创建\“ LanguageId \”列。
通常我会有这样的事情:
StringId,LanguageId,Description
1 0 Hello
1 1 Hola
1 2 Bon Jour
这使我能够编写一个查询,例如,如果字符串35(例如)不具有我要查找的语言,我仍然可以提供英语。以为是总比没有好。
这种方法的缺点是复合主键和一些联接逻辑。
, 更可能是这样的:
tblFault
ID ; Lang ; Description
1 ; EN ; Not Functional
...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。