Jan*_*Jan 2 localization .net-core razor-pages blazor blazor-webassembly
我想本地化共享组件的字符串,例如“NavMenu.razor”或“App.razor”页面。
我设法按照一般 .NET Core 指令和更具体的 Blazor 文档中的描述翻译页面中的内容:
@inject Microsoft.Extensions.Localization.IStringLocalizer<PageName> _l10n。_l10n["Product name"]正确翻译为“Produktname”。此方法不适用于“NavMenu.razor”和“App.razor”。
请注意:我使用 MatBlazor UI 库中的 MatNavMenu 进行主导航。
我在任何地方都找不到它的记录。非常感谢您的帮助。
Bri*_*ker 10
简单的:
安装 Microsoft.Extensions.Localization
在programs.cs中
builder.Services.AddLocalization(options => options.ResourcesPath = "Resources");
builder.Services.AddScoped<IStringLocalizer<App>,StringLocalizer<App>>();
Run Code Online (Sandbox Code Playgroud)
在您的客户端项目中创建一个 Resources 文件夹。添加一个 resx 文件,例如 App.resx,这将是您的默认资源。然后为您希望支持的每种语言添加更多文件。App.fr.resx App.es.resx 等。
然后在组件中注入
@inject IStringLocalizer<App> L
@L["YourText"]
Run Code Online (Sandbox Code Playgroud)
本地化程序将使用浏览器语言,并在我的例子中按 App.en-AU.resx、App.en.resx、App.resx 顺序查找密钥。如果没有找到,它将使用“YourText”
这是 blazor WASM 项目存储库
| 归档时间: |
|
| 查看次数: |
4540 次 |
| 最近记录: |