c# – 数据库存储值的全球化
发布时间:2020-12-15 22:04:24 所属栏目:百科 来源:网络整理
导读:我们使用资源文件(.resx)将我们的.NET 4.5 MVC C#应用程序翻译成不同的语言.这适用于位于视图中的静态文本.但是,我们从SQL数据库中提取的值也需要转换. 示例:下拉列表,其中包含从数据库中的表填充的值. 在数据库中翻译这些值的最佳做法是什么? 解决方法 我
我们使用资源文件(.resx)将我们的.NET 4.5 MVC C#应用程序翻译成不同的语言.这适用于位于视图中的静态文本.但是,我们从SQL数据库中提取的值也需要转换.
示例:下拉列表,其中包含从数据库中的表填充的值. 在数据库中翻译这些值的最佳做法是什么? 解决方法
我设计的最后一个多语言应用程序我使用了一个表语言,对于每个有任何字符串类型的表(char,varchar etc`),我都有一个转换表.
这些方面的东西: CREATE TABLE TblLanguage ( Language_Id int identity(1,1) PRIMARY KEY,Language_EnglishName varchar(30),Language_NativeName nvarchar(30),CONSTRAINT UC_TblLanguage UNIQUE(Language_EnglishName) ) CREATE TABLE TblSomeData ( SomeData_Id int identity(1,SomeData_TextColumn varchar(50),.... ) CREATE TABLE TblSomeData_T ( -- _T stands for translation SomeData_T_SomeData_Id int FOREIGN KEY TblSomeData(SomeData_Id),SomeData_T_Language_Id int FOREIGN KEY TblLanguage (Language_Id),SomeData_T_TextColumn nvarchar(100),PRIMARY KEY (SomeData_T_SomeData_Id,SomeData_T_Language_Id) ) 我的应用程序使用英语作为默认(或主要)语言,因此我将默认语言保留在基表中,只保留转换表上的翻译.当然,如果您愿意,您可以仅在翻译表中保留字符串值.请注意,这不会考虑每种文化的不同日期和数字格式,这是在表示层上完成的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- actionscript-3 – FLVPlayback / VideoPlayer:如何访问接
- c# – 将用户输入的搜索查询转换为用于SQL Server全文搜索的
- reactos操作系统实现(102)
- postgresql – Cloud9上的Postgres数据库设置要求输入sudo密
- flex – 丰富的UI桌面应用程序有哪些技术?
- cocos2dx sqlite语句不运行的问题
- 你可以启动一个应用程序C#,因此它不需要.NET
- 从vue源码解析Vue.set()和this.$set()
- ruby-on-rails – Rails / Activerecord数据库字段时区
- Oracle事务锁(TX)和表级锁(TM)的理解一