提问人:Naved 提问时间:11/17/2023 最后编辑:Naved 更新时间:11/18/2023 访问量:20
在 C# 和 中显示 CultureInfo 的 NativeName 时出现问题。网络核心 (prs-AF)
Issue with Displaying NativeName for CultureInfo in C# and .NetCore (prs-AF)
问:
我在 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”的 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 的显示保持不变。
答: 暂无答案
评论