我正在使用带有 MVC4 和 Entity Framework 5 的 Visual Studio 2012 构建一个网站。问题是,我必须将 i18n 应用于存储在数据库中的一些值。例如,我需要一个下拉菜单,以西班牙语和英语显示就业领域(工程、健康、金融等)。
我在考虑两种不同的方法,但对我来说,它们都不是 100% 好的:
在“区域”表中添加列以反映不同语言的区域名称(例如:AreaId、EnglishName、SpanishName)。这在设计方面听起来不太好,因为我很幸运只有 2 种语言,但是如果我有 100 种语言要支持呢?
不要将这些区域保存在数据库中,而是将它们添加到视图中,使用 i18n 键并从资源文件中读取它们的值。这为视图添加了逻辑(我可能不得不在那里使用迭代),所以看起来也不太好。
还有什么我想念的,那会是更好的方法吗?
谢谢!!