如何在ASP.Net Core Razor页面中组织多语言URL?

时间:2019-04-12 09:40:59

标签: c# asp.net-core razor

ASP.NET Core 2.2.0

我正在ASP.NET Core中寻找基于语言的URL。在线找到了许多有关.NET Core MVC的示例,但无法使其在Razor Pages中工作。

我想要实现的是:

  • domain.com/informatie->链接到默认语言的“信息”页面(对我来说是荷兰语)
  • domain.com/en/information->链接至同一英文页面

因此,我需要2个功能:

  1. 识别网址中的语言,或者在未提供language-tag时设置默认语言
  2. 翻译我的Pagemodels的名称

我将编写一个自定义方法来翻译内容。

最合适的例子

我发现了2个示例,它们几乎达到我想要的效果,但是它们使用的是MVC:

第二个看起来不错,我尝试为Razor Pages重写它,但是卡在LocalizationController.cs上(因为我没有使用控制器,而是使用了Pagemodel)CultureActionLinkTagHelper.cs(我使用asp-page属性。

有人在Razor Pages中修复了此问题,并且想共享代码吗?还是任何可以帮助我的人?

1 个答案:

答案 0 :(得分:1)

您需要考虑全球化/本地化来构建您的应用程序。

这是Microsoft的official documentation

您可能会发现Developing Multicultural Web Application的本教程很有帮助,它适用于DotNetCore 2.1 Razor Pages,但也适用于2.2。

另外,她是GitHub上的sample project for localizing razor pages