在 C# 和 中显示 CultureInfo 的 NativeName 时出现问题。网络核心 (prs-AF)

Issue with Displaying NativeName for CultureInfo in C# and .NetCore (prs-AF)

提问人:Naved 提问时间:11/17/2023 最后编辑:Naved 更新时间:11/18/2023 访问量:20

问:

我在 C# 中遇到了 CultureInfo 的问题,特别是关于“prs-AF”区域性(阿富汗的达里语)的 NativeName 的显示。

这是我的代码片段:

程序 .cs:

 services.AddMvc()
                .AddViewLocalization(LanguageViewLocationExpanderFormat.Suffix)
                .AddDataAnnotationsLocalization();

            services.AddLocalization(options => options.ResourcesPath = "Resources");
            services.Configure<RequestLocalizationOptions>(options =>
            {
                var supportedCultures = new[]
                {
                    new CultureInfo("en"),
                    new CultureInfo("prs-AF"),
                    new CultureInfo("ar"),
                    new CultureInfo("ps"),
                };
                options.DefaultRequestCulture = new RequestCulture(culture: "prs-AF", uiCulture: "prs-AF");
                options.SetDefaultCulture("prs-AF");
                options.SupportedCultures = supportedCultures;
                options.SupportedUICultures = supportedCultures;
                options.RequestCultureProviders.Insert(0, new RouteDataRequestCultureProvider());
            });

剃须刀视图:

@inject IOptions<RequestLocalizationOptions> LocOptions
@{
    var cultures = LocOptions.Value.SupportedUICultures;
    var culture = System.Globalization.CultureInfo.CurrentCulture.Name;
}

结果:

prs-AF)的结果和(ps)的结果

当我检索“prs-AF”的 NativeName 时,它返回“prs-AF”,这不是预期的行为。但是,对于“ps”区域性(普什图语),NativeName 正确显示为“پشتو”。

我附上了两张图片来说明这个问题。一个显示“ps”的 NativeName,正确显示为“پشتو”,另一个显示“prs-AF”,错误地显示为“prs-AF”。

有没有办法将 CultureInfo 配置为将“prs-AF”的 NativeName 显示为“دری”(达里语),类似于对“ps”区域性所做的那样?

如果无法通过代码修改解决问题,是否可以联系并敦促 C# 语言开发人员解决这个问题?

对于这个问题,您有什么具体的解决方案吗?

关于解决此问题的任何指导或帮助将不胜感激。谢谢!

我试图通过修改与 CultureInfo 相关的代码来自定义“prs-AF”的 NativeName 显示。

预期: 我希望“prs-AF”的 NativeName 被自定义并显示为“دری”(达里语)。

实际: 尽管进行了代码修改,但“prs-AF”NativeName 的显示保持不变。

C# ASP.NET 核心 本地化 CultureInfo

评论

0赞 Ruikai Feng 11/20/2023
这不是错误,不支持 prs-AF,您可以在此处查看支持的文化:csharp-examples.net/culture-names

答: 暂无答案