更改文化信息 Blazor Web 程序集,显示名称问题

问题描述 投票:0回答:2

我在我的 blazor wasm 应用程序中使用本地化。但是,当加载并尝试显示文化名称时,它没有按预期显示。通过点击此链接 https://learn.microsoft.com/en-us/aspnet/core/blazor/globalization-localization?view=aspnetcore-6.0&pivots=server#localization 和许多其他教程,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

c# blazor blazor-webassembly globalization
2个回答
1
投票

不幸的是

CultureInfo.DisplayName/EnglishName/NativeName
在 Blazor WASM 中不受支持。

获取它们的最简单方法是对服务器进行 Api 调用,以使用

{ CultureInfo.Name, CultureInfo.DisplayName }

加载字典

0
投票

您得到的是通用语言类型。您必须允许语言和文化信息发生变化。 尝试添加您的 wasmApplicationName.client.csproj (您可以在应用程序文件夹中找到它)作为 PropertyGroup 的最后一项,该指令:

<BlazorWebAssemblyLoadAllGlobalizationData>true</BlazorWebAssemblyLoadAllGlobalizationData>

希望这有用

© www.soinside.com 2019 - 2024. All rights reserved.