【发布时间】:2020-12-16 06:32:12
【问题描述】:
我想本地化共享组件的字符串,例如“NavMenu.razor”或“App.razor”页面。
我设法翻译了我的页面中的内容,如general .NET Core instruction 和更多specific Blazor documentation 所述:
- 创建一个具有正确名称的资源文件(例如 PageName.de.resx)。
- 使用
@inject Microsoft.Extensions.Localization.IStringLocalizer<PageName> _l10n将定位器注入 Razor 页面。 - 使用
_l10n["Product name"]翻译页面内的文本,并正确翻译为“产品名称”。
这种方法不适用于“NavMenu.razor”和“App.razor”。
请注意:我使用 MatBlazor UI 库中的 MatNavMenu 进行主导航。
我在任何地方都找不到它的文档。非常感谢您的帮助。
【问题讨论】:
-
尝试 ... IStringLocalizer
并使用 App.resx 。您可以以这种方式将注入放入 _imports 中,并且它可用于所有组件。我可以确认它以这种方式在 App.razor 中工作 -
应该可以吧?奇怪的是,我以前尝试过类似的东西。按照您的指示再次尝试。没有运气。
-
如果我有时间发布一个 repo 并展示它。我不能真正发布我正在查看的项目...
-
我刚刚为你发布了一个 repo。原谅我使用网络服务的翻译。我只是在 edge 或 chrome 上更改了我的语言并重新加载页面以查看差异。
标签: .net-core localization blazor razor-pages blazor-webassembly