gpt4 book ai didi

c# - Blazor wasm 本地化仅显示键

转载 作者:行者123 更新时间:2023-12-05 03:32:01 24 4
gpt4 key购买 nike

已关注 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

在 View 中:

@using System.Globalization
@inject IStringLocalizer<Shared> loc
@CultureInfo.CurrentCulture
@loc["countries"]

文化正在展示DE-DE。 @loc["countries"] 只打印国家而不是本地化。有什么想法吗?

最佳答案

对于(共享)资源,Blazor 遵循与 ASP.NET Core 相同的设置/规则。

简而言之,当您指定一个 options.ResourcesPath 时,它的值将作为前缀添加到您的资源名称中,默认情况下是 namespace + 资源名称。

通过将 options.ResourcesPath 设置为 Resources,您将获得 Resources.WebUI.Resources.Shared.resx 而不是 WebUI。 Resources.Shared.resx.

要解决,不要设置ResourcesPath,直接使用

builder.Services.AddLocalization();

Link to ASP.NET Core question

关于c# - Blazor wasm 本地化仅显示键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70534325/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com