Esa*_*Esa 36 globalization localization internationalization asp.net-mvc-3
我即将为我的MVC3 Web应用程序实现本地化.通过大量的方式搜索我的方式,我不确定实现这个的方式.我发现如何做到这一点:
我找到的第一个选项是使用App_GlobalResources和ViewData以及使用Map Routing进行文化选择.(链接)
其次是在我的项目中创建一个单独的Resources文件夹,并将其构建为Model和View文件夹.然后在这些文件夹中创建资源文件.使用这些资源字符串就像使用Viewbag一样.然后编辑Global.asax以处理文化变化并创建部分视图以允许更改文化.执行此操作的说明非常彻底,因此这可能是最好的选择.(链接)
第三是使用DisplayAttribute和resx文件.这个有点朦胧,我找不到那种信息,这样我才能理解这实际是如何实现的以及它的限制.(链接)
第四是创建一个自定义类来处理资源.这看起来非常花哨,易于实现和使用,但如果它确实有效,则没有找到真正的信息.(链接)
然后我发现了一条警告使用App_GlobalResouces和App_LocalResources的帖子.(链接)
在经历了可能的本地化方式之后.我找不到一种得到普遍认可或接受的方式.这让我思考,其中哪些,或者一些我没有找到,将是在ASP.NET MVC3中实现本地化的最佳方式?
然后我发现了一条警告使用App_GlobalResouces和App_LocalResources的帖子.(链接)
我发现帖子非常有用.解释的方法很干净.以下是使用该方法创建的索引视图的片段:
@using Resources.Index
@{
ViewBag.Title = "Index";
}
<h1>@Index.Title</h1>
Run Code Online (Sandbox Code Playgroud)
我不认为有一种明确的做法 - 这种方式或其他方法,所以选择最干净的方法对我来说似乎很划算.
我想出了一种更简单的方法来处理本地化,您不必使用资源文件或属性.它涉及自定义元数据提供者
MVC3使用元数据提供程序来获取所有文本字符串.我的方法允许您使用字符串表,数据库,平面文件或任何其他来源来提供翻译.您需要做的就是继承两个接口.
在这里阅读:http://blog.gauffin.org/2011/09/easy-model-and-validation-localization-in-asp-net-mvc3/
编辑
现在所有内容都记录在github上,并且有一些nuget包:https://github.com/jgauffin/griffin.mvccontrib
| 归档时间: |
|
| 查看次数: |
16234 次 |
| 最近记录: |