我在blazor-wasm应用程序中使用本地化。但是,当加载并尝试显示文化的名称时,它并没有按预期显示。通过以下链接https://learn.microsoft.com/en-us/aspnet/core/blazor/globalization-localization?view=aspnetcore-6.0&pivots=server#本地化和许多其他教程,displayName属性应该显示文化(de de(和(fr-fr(的德语或法语。
但相反,当我检索到不同的文化时,是这样的:`
Cultures = CultureInfo.GetCultures(CultureTypes.NeutralCultures).ToList();
然后显示如下:
@foreach(var c in Cultures){
<h1>@c.DisplayName</h1>
}
我得到的是fr(fr(或de(de(,而不是我期望的法语/德语。有什么想法为什么它不起作用吗?
PS:使用.net 6.0和VS 17.0.4
遗憾的是,Blazor WASM不支持CultureInfo.DisplayName/EnglishName/NativeName
。
获取它们的最简单方法是对服务器进行Api调用,以加载带有{ CultureInfo.Name, CultureInfo.DisplayName }
的字典