如何本地化ASP.NET MVC应用程序?


121

什么是将ASP.NET MVC应用程序本地化的最佳实践?

我想介绍两种情况:

  • IIS中的一种应用程序部署,可以处理多种语言
  • 一种语言/应用程序部署。

在第一种情况下,您应该使用某种基于视图的东西吗,例如〜/ View / EN,〜/ View / FI,〜/ View / SWE或其他?

第二种情况,仅通过Web.config基于应用程序的配置并将这些不同的语言指向不同的URL呢?


除了复制视图,还可以使用标准的Res​​X文件来存储区域性特定的字符串。不幸的是,尤其是通过翻译来管理和编辑此文件有些不舒服且困难。通过将资源存储在数据库中并使用某些外部本地化工具可以简化此过程。您可以查看此提供数据库资源提供程序的免费库:globsite.net/GlobsiteGlobalizationLibrary
Kryszal 2016年

Answers:


72

您还可以在这里看看ASP.NET MVC 2本地化完整指南ASP.NET MVC 2模型验证(带有本地化),如果您使用ASP.NET MVC 2,那么这些完整的内容将对您有所帮助。


感谢您提供最新的答案!一年前,我使用了Matt Hawley的方法,但是在单元测试中遇到了严重的问题。我尝试模拟控制器上下文,但是仍然缺少其他内容,因此我放弃了。我将以这种MVC2方式进行介绍,希望他们已经弄清楚了。
Lauri Larjo 2010年

我曾经在项目中使用这种方法,应该说这种方法更好。
fyasar

@fyasar嗨,我们在asp mvc中有一个购物网站,因此当用户选择阿拉伯语时,我们要使整个网站都变为阿拉伯语,我们可以使用microsoft bing 转换程序还是microsoft 转换程序API还是应该购买localize.js来实现这一目标? ?
shaijut 2015年

22

您将以与传统ASP.NET Web窗体应用程序非常相似的方式本地化ASP.NET MVC应用程序。

您不会为每种语言使用不同的页面/视图,但是每个页面将使用附属程序集支持多种语言。

您可以查看Matt Hawley的博客条目,以获取更多说明和示例。




2

我从未像Elijah所建议的那样说服要在表单中处理本地化-不同的长度和方向可能会导致非常复杂或变化的纳夫外观形式。

我只是从MVC开始,而是采用去耦方法,无论使用哪种语言,您都希望使用同一控制器(将语言作为一种视图来处理)-然后,这将为您提供/ Controller / Action / language / form





By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.