剃刀页面:获取其他路由/页面的所有本地化资源 tl; dr 详细问题

ASP.NET Core版本:3.1

tl; dr

Razor pages项目:我目前在/foo上,我想从/bar获取当前区域性的所有本地化字符串;这有可能吗,我应该如何处理?

详细问题

我有一个剃刀页面项目,该项目利用了ASP.NET Core中出色的localization support。从相应的* .resx文件加载每个页面的本地化字符串。一切正常,我可以切换语言,并加载正确的资源字符串,与当前选择的语言匹配。

该项目还包含一些javascript Web组件。我希望所有本地化资源都驻留在一个位置(即,*。resx文件中),因此,现在,我将一个JS对象放置在全局对象上,该对象包含当前页面的所有本地化资源以及共享的本地化资源。窗口对象,如下所示:

<script>
    window.translations = @Localization_string_serialized_to_json;
</script>

在我的Web组件中,我可以访问此对象并在我的JavaScript代码中使用本地化的字符串。这可行,但是我必须将此代码放在应该包含页面特定的Web组件的每个页面上。我宁愿将上述代码放在布局页面上,从HttpContext读取当前请求的路由,然后在此处构造本地化对象。

要使其正常工作,我必须能够请求其他页面/路由的本地化资源,但是我找不到正确的扩展点。我设想在IViewLocalizer上实现重载,例如:GetallStrings(this IViewLocalizer viewLocalizer,string route|page|etc),但我认为这不会那么容易。

有人能给我提示我将从这样的地方开始吗?

谢谢!

ali_324 回答:剃刀页面:获取其他路由/页面的所有本地化资源 tl; dr 详细问题

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2520310.html

大家都在问