使用@page指令进行本地化



我可以将blazor的@page指令与IStringLocalizer一起使用吗?,像这样的东西:

@page @Localizer["myComponent"]

我知道我们不能在两个@之后使用,但有人能告诉我如何做到这一点吗?

感谢

简单的答案是你不能这样做。

@page指令在C#中为Blazor页生成的类上生成RouteAttribute。您可以在/obj:中生成的代码中看到这一点

[Microsoft.AspNetCore.Components.RouteAttribute("/")]
public partial class Index : Microsoft.AspNetCore.Components.ComponentBase
{

这意味着路由是在编译时定义的

Localize函数在运行时使用浏览器的语言设置来确定语言并翻译资源。

那么怎么能做到呢?Blazor页面的路由需要固定,但您需要为每种语言添加一组本地化路由:这意味着要有一个";翻译地图";本地化路由到"实际路由"的。

例如"/fr/indice" => "/index"

这更像是一个ASP.NET核心端点路由问题,而不是Blazor问题。在这方面,你应该可以找到几篇关于路由的文章。

相关内容

  • 没有找到相关文章

最新更新