推荐一种为视图“建模”本地化字符串的方法?

时间:2013-09-10 16:20:04

标签: c# .net asp.net-mvc-4 localization

我们开始接近我们网站的本地化,并且大多数机制已经到位(设置ui文化,设置resx文件)但是我想知道如何处理这些字符串的传递。对于前几个,我刚刚在viewmodel中创建了属性,其中getter从资源文件中提取,如:

{ get { rm.GetString("Greeting", Thread.CurrentThread.CurrentCulture); } }

但我想知道的是其他人在做什么。视图模型是否只有一堆像这样的字符串属性?你把它填入视图数据吗?也许在视图模型中构建一个字典以从视图中拉出来?我不确定什么是干净的可管理方式,所以我正在寻找想法。谢谢!

1 个答案:

答案 0 :(得分:1)

使用自动生成的资源访问器类(Running PublicResXFileCodeGenerator at compile time)并使用您喜欢的任何渲染引擎简单地在视图中呈现字符串是简单直接的版本。 Razor示例如下:

 @* assuming CurrentUICulture is set correctly for whole request *@
 <span>@Resource.DirectionsTitle</span>

如果您需要将本地化字符串传递给JavaScript - 在脚本标记的视图中呈现是可能的选项(不要忘记正确的编码)。