在ASP.NET MVC应用程序中为接口支持多种语言的最佳方式是什么?我见过有人为其他应用程序使用资源文件。这仍然是最好的方式吗?ASP.NET MVC应用程序中的多种语言?
回答
如果您使用默认视图引擎,则本地资源在视图中工作。但是,如果您需要在控制器操作中获取资源字符串,则无法获取本地资源,而必须使用全局资源。
当你考虑它时,这是有意义的,因为本地资源是aspx页面的本地资源,在控制器中,你甚至没有选择你的视图。
这也可以在剃刀视图引擎中工作吗? – 2010-11-28 11:21:10
是的资源仍然是在.NET环境下支持多种语言的最佳方式。因为它们很容易引用,甚至更容易添加新的语言。
Site.resx
Site.en.resx
Site.en-US.resx
Site.fr.resx
etc...
所以你是正确的仍然使用资源文件。
这应该如何工作? – 2012-01-09 20:39:00
我发现this resource是非常有益
它的包装轮HttpContext.Current.GetGlobalResourceString和HttpContext.Current.GetLocalResourceString,使您可以调用资源这样的...
// default global resource
Html.Resource("GlobalResource, ResourceName")
// global resource with optional arguments for formatting
Html.Resource("GlobalResource, ResourceName", "foo", "bar")
// default local resource
Html.Resource("ResourceName")
// local resource with optional arguments for formatting
Html.Resource("ResourceName", "foo", "bar")
我发现的唯一问题是控制器无法访问本地资源字符串。
作为答案提到的其他一些解决方案不适用于发布的MVC版本(它们与以前版本的alpha/beta一起使用)。
这里描述的方式来实现定位将被强类型,并不会打破控制器和视图的单元测试的好文章:localization guide for MVC v1
果园项目采用所谓的“T”的快捷方式方法做所有页内字符串翻译。所以你会看到带有@T的标签(“A String to Translate”)。
我打算看看这是如何在幕后实施的,并可能在未来的项目中使用它。短名称保持代码更清洁,因为它将被用于很多。
我喜欢这种方法的原始字符串(在本例中为英文)在代码中仍然很容易看到,并且不需要在资源工具或某个其他位置查找以解码实际字符串应该是什么这里。
有关更多信息,请参阅http://orchardproject.net。
这是另一种选择,你将有机会获得的CurrentUICulture控制器:
[如何本地化ASP.NET MVC应用程序?(HTTP的- 1. ASP.NET MVC 3(Razor)应用程序中的多种语言
- 2. 多种语言的MVC3应用程序
- 3. 多种语言的Android应用程序
- 4. Phonegap应用程序的多种语言
- 5. 多种语言的应用程序
- 6. 多种语言的应用程序
- 7. ASP.NET MVC中的多语言应用程序 - 最佳实践?
- 8. 如何在ASP.NET Web应用程序中支持多种语言?
- 9. UWP应用程序在多种语言
- 10. phonegap应用程序多种语言
- 11. 如何让spring-mvc应用程序使用多种语言?
- 12. mvc .net多语言应用程序
- 13. 多种语言的UWP应用程序 - 检查所有语言
- 14. Asp.net多语言网络应用程序
- 15. 三种语言的Android应用程序
- 16. 两种语言的应用程序
- 17. 在Web应用程序中管理多种.NET语言
- 18. iTunes中的多种应用程序语言
- 19. 在asp.net mvc网站中使用多种语言
- 20. Iphone中的多语言应用程序
- 21. WP7中的多语言应用程序
- 22. Asp.net MVC - 多语言站点
- 23. ASP.NET MVC 3多语言SEO
- 24. 两种语言,两个应用程序
- 25. 关于asp.net mvc应用程序的DataTables json语言文件
- 26. 在Winforms应用程序中支持多种语言
- 27. 在AppStore中以多种语言提交应用程序
- 28. 让我的应用程序使用多种语言
- 29. 多语言应用程序UI
- 30. 使用ASP.NET MVC的多语言网址
可能重复:// stackoverflow.com/questions/192465/how-to-localize-asp-net-mvc-application) – Marijn 2012-02-08 11:09:33
多语言网站与传出参数,请检查此[多语言网站在MVC 4 C#](http://lesson8.blogspot .in/2013/03/multi-language-website-in-mvc-4-c.html) – Sender 2013-03-27 06:07:01