ASP.NET MVC,资源管理对应用程序多语言多文化支持来说已经足够了。
但我想知道有关数据的做法。
用户故事;
答案 0 :(得分:2)
我不确定这正是您所要求的,但如果您希望在数据库级别进行本地化,则可以使用依赖于CONTEXT_INFO的VIEW来完成。 这样,您始终可以查询相同的VIEW,但它会根据CONTEXT_INFO返回不同的结果。
您可以在此处详细了解: Database Localization - Lookup lists - smarter way
答案 1 :(得分:0)
在数据库中进行本地化可能有一种更优雅的方式,但我只是将不同语言的数据值存储在这样的表中:
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),要么使用WHERE子句中的语言代码,或者将用户的语言代码传递给存储过程。从严格意义上讲,我们的数据库没有得到适当的“本地化”;我们只根据用户群的主要母语提供了几种不同的翻译,这些语言恰好是英语,西班牙语和法语。
对于日期,我们总是使用美国格式,但缩写为月份:2010年3月15日,而不是在dd / mm / yyyyy和mm / dd / yyyy格式之间切换。我们的数据库不包含任何货币栏,因此我们不会遇到小数或货币格式问题。