【问题标题】:Localization in ASP.NET 5 MVC 6ASP.NET 5 MVC 6 中的本地化
【发布时间】:2015-09-07 18:21:58
【问题描述】:

已经有 ASP.NET 5 的第 7 个 beta 版本,他们说本地化功能已经完成。如何使用本地化在带有 Visual Studio 2015 的 asp.net 5 mvc 6 中编写多语言应用程序?是否有任何适用于 beta 7 版本的示例项目?我已经搜索并找到了许多示例,但它们不再起作用,因为此后代码已更改。我还能使用 .resx 文件(因为 Visual Studio 不再自动生成 Designer.cs 文件)还是他们建议的任何更新或替代方法?

【问题讨论】:

标签: localization visual-studio-2015 asp.net-core resx asp.net-core-mvc


【解决方案1】:

Beta 7 引入了本地化,因此它确实是全新的。我写了一篇关于everything that is new on my blog 的短文。有很多新东西,所以如果您需要这些功能,我建议您阅读它。

实际上你仍然可以使用 Resx,但你必须明白默认的分辨率是,引擎试图找到与视图匹配的 resx 文件。

例如,如果您有一个 HomeController 和一个名为 Locpage 的操作,则需要有 Views.Home.Locpage.cshtml.en-GB.resx 才能支持 en-GB 语言环境。然而,最好的部分是你不再需要 resx 文件了:-)。您只需实现自己的IStringLocalizerIStringLocalizerFactory 实现,它就会起作用。你可以在上面我的博客上看到代码。

如果你想要一个工作示例,现在最好的地方是他们的 GitHub,所以就在这里:https://github.com/aspnet/Mvc/tree/dev/samples/LocalizationSample.Web

【讨论】:

  • 感谢您的回答,绝对有帮助。我还有一个问题:我可以为所有/多个视图共享一个资源文件吗?
  • 嗯,开箱即用,我不这么认为。但是您可以编写自己的 Factory/Provider 来做到这一点 - 您只需构建您需要的后备。
  • @GiDar 你有没有找到一种解决方案,将一个资源文件用于多个/所有视图?
  • @zoidbergi 还没有尝试过它,但我想编写自定义提供程序将是一个不错的选择。
猜你喜欢
  • 1970-01-01
  • 2016-06-02
  • 1970-01-01
  • 2022-07-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多