.net core 如何翻译Blazor组件和App.razor中的字符串?
我想本地化共享组件的字符串,如“NavMenu.razor”或“App.razor”页面 我成功地翻译了页面中的内容,如中所述,以及更多:.net core 如何翻译Blazor组件和App.razor中的字符串?,.net-core,localization,blazor,razor-pages,blazor-webassembly,.net Core,Localization,Blazor,Razor Pages,Blazor Webassembly,我想本地化共享组件的字符串,如“NavMenu.razor”或“App.razor”页面 我成功地翻译了页面中的内容,如中所述,以及更多: 使用正确的名称创建资源文件(例如PageName.de.resx) 使用@Inject Microsoft.Extensions.Localization.IStringLocalizer\u l10n将定位器插入Razor页面 使用\u l10n[“Product name”]翻译页面内的文本,该文本将正确翻译为“Produktname” 这种方法既不
- 使用正确的名称创建资源文件(例如PageName.de.resx)
- 使用
@Inject Microsoft.Extensions.Localization.IStringLocalizer\u l10n将定位器插入Razor页面
- 使用
翻译页面内的文本,该文本将正确翻译为“Produktname”\u l10n[“Product name”]
- 安装Microsoft.Extensions.Localization
- 在programs.cs中
builder.Services.AddLocalization(options => options.ResourcesPath = "Resources"); builder.Services.AddScoped<IStringLocalizer<App>,StringLocalizer<App>>();
builder.Services.AddLocalization(options=>options.ResourcesPath=“Resources”); builder.Services.addScopeEasy:
- 安装Microsoft.Extensions.Localization
- 在programs.cs中
builder.Services.AddLocalization(options => options.ResourcesPath = "Resources"); builder.Services.AddScoped<IStringLocalizer<App>,StringLocalizer<App>>();
builder.Services.AddLocalization(options=>options.ResourcesPath=“Resources”);
builder.Services.AddScopedTry。。。IStringLocalizer并使用App.resx。您可以通过这种方式将注入放在导入中,并且它可用于所有组件。我可以确认它在App.razor中是这样工作的,应该正常吗?奇怪的是,我以前也试过类似的方法。按你的指示再试一次。不走运。如果我有时间,我会用它发布回购协议。我真的不能发布我正在看的项目…我只是为你发布了一份回购协议。请原谅我使用web服务进行的翻译。我只是在edge或chrome上更改了语言,然后重新加载页面以查看差异。请尝试。。。IStringLocalizer并使用App.resx。您可以通过这种方式将注入放在导入中,并且它可用于所有组件。我可以确认它在App.razor中是这样工作的,应该正常吗?奇怪的是,我以前也试过类似的方法。按你的指示再试一次。不走运。如果我有时间,我会用它发布回购协议。我真的不能发布我正在看的项目…我只是为你发布了一份回购协议。请原谅我使用web服务进行的翻译。我只是在edge或chrome上更改了我的语言,然后重新加载页面以查看差异。谢谢。这有帮助。我犯了一个愚蠢的错误。我将“App.resx”文件放入“pages”子目录,然后。。。BÄM!你的例子帮助我解决了这个问题。我也可以将组件的字符串放入这个应用程序资源文件中,它也可以工作。谢谢。这有帮助。我犯了一个愚蠢的错误。我将“App.resx”文件放入“pages”子目录,然后。。。BÄM!你的例子帮助我解决了这个问题。我也可以将组件的字符串放入这个应用程序资源文件中,并且可以正常工作。