首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于Server、EF和MVC组合的多语言最佳实践

关于Server、EF和MVC组合的多语言最佳实践
EN

Stack Overflow用户
提问于 2010-12-31 13:10:15
回答 2查看 1.8K关注 0票数 1

ASP.NET MVC,资源管理看起来足够应用多语言的多文化支持。

但我想知道关于数据的实践。

用户故事;

  1. 用户将文化设置为en-US,并以英语查看所有产品项目。
  2. 用户将文化设置为fr-FR并以法语查看所有产品项目。
  3. 用户将文化设置为ru-RU,并以俄语查看所有产品项目。
  4. 用户没有正确的更改文化设置,应用程序永远无法到达多语言资源,它将使用默认语言和文化。

>

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-31 13:47:51

我不确定这正是您要问的内容,但是如果您想要在DB级别上进行本地化,可以使用依赖于CONTEXT_INFO的视图来完成。这样,您总是查询相同的视图,但它将根据CONTEXT_INFO返回不同的结果。

您可以在这里阅读更多关于这一点的信息:Database Localization - Lookup lists - smarter way

票数 2
EN

Stack Overflow用户

发布于 2010-12-31 16:20:08

在数据库中进行本地化可能有一种更优雅的方法,但我只需将不同语言的数据值存储在如下表中:

代码语言:javascript
复制
            WIDGETS
            widgetid
            widgetname nvarchar (default English)


            WIDGETSLOCAL
            widgetid      foreign key references WIDGETS(widgetid)
            language_code
            widgetname  nvarchar
            unique composite index on (widgetid, language_code)

然后我要么创建单独的视图(例如view_WIDGETS_enus、view_WIDGETS_ruru),要么在WHER-子句中使用语言代码,或者将用户的语言代码传递给存储过程。严格意义上说,我们的数据库并不是完全“本地化”的;我们只有几种不同的翻译,这些翻译都是基于我们用户基础上的主要母语,而这些语言恰好是英语、西班牙语和法语。

对于日期,我们总是使用US-格式,但月份缩写为:2010年3月15日,而不是在dd/mm/yyyy和mm/dd/yyyy格式之间切换。我们的数据库不包含任何货币列,因此我们不会遇到十进制或货币格式问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4570292

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档