【发布时间】:2021-12-30 16:40:20
【问题描述】:
关注 Dynamically set the culture from the Accept-Language header 以本地化我的 blazor wasm 应用程序。
WebUI.csproj
<BlazorWebAssemblyLoadAllGlobalizationData>true</BlazorWebAssemblyLoadAllGlobalizationData>
程序.cs
builder.Services.AddLocalization(options => options.ResourcesPath = "Resources");
添加的文件夹:
Resources
Shared.resx
Shared.en.resx
_Imports.razor
@using WebUI.Resources
在视图中:
@using System.Globalization
@inject IStringLocalizer<Shared> loc
@CultureInfo.CurrentCulture
@loc["countries"]
文化正在展示 DE-DE。 @loc["countries"] 只打印国家而不是本地化。任何想法为什么?
【问题讨论】:
-
如果您看到的是密钥而不是本地化,这意味着它找不到文件。此外,de-DE 不是您的本地化文件的一部分,也许它不会回退到默认值?
-
试试
builder.Services.AddLocalization();,不设置ResourcesPath。 -
@pfx 有效。您能否将此作为答案并详细说明为什么会这样?
标签: c# blazor blazor-webassembly