【问题标题】:localized country names in asp.net/C# missing countriesasp.net/C# 中的本地化国家/地区名称缺失国家/地区
【发布时间】:2012-04-18 15:23:54
【问题描述】:

我正在使用以下代码显示本地化的国家/地区名称(该国家/地区的语言名称),但大多数国家/地区都缺少,例如津巴布韦:

Dictionary<string, string> objDic = new Dictionary<string, string>();

                foreach (CultureInfo ObjCultureInfo in CultureInfo.GetCultures(CultureTypes.SpecificCultures))
                {
                    RegionInfo objRegionInfo = new RegionInfo(ObjCultureInfo.Name);
                    if (!objDic.ContainsValue(objRegionInfo.TwoLetterISORegionName.ToLower()))
                    {
                        objDic.Add(objRegionInfo.NativeName, objRegionInfo.TwoLetterISORegionName.ToLower());
                    }
                }

                var obj = objDic.OrderBy(p => p.Key);
                foreach (KeyValuePair<string, string> val in obj)
                {
                    cmbCountry.Items.Add(new ListItem(val.Key, val.Value.ToUpper()));
                }

它显示了 245 个国家/地区中的 127 个,请建议我解决此问题。

谢谢

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    我认为您需要更改此行:

    CultureInfo.GetCultures(CultureTypes.SpecificCultures)
    

    到这里:

    CultureInfo.GetCultures(CultureTypes.AllCultures)
    

    这将适用于所有文化。如果你看到 msdn:

    CultureTypes.AllCultures ,返回所有中性和特定的 文化,安装在 Windows 操作系统中的文化,以及 用户创建的自定义文化。

    CultureTypes.SpecificCultures ,返回所有特定的文化。

    参考here

    【讨论】:

    • 给出错误:区域名称 zh-CHS 不应对应于中性文化;需要特定的文化名称。参数名称:名称
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-20
    • 1970-01-01
    • 2018-09-25
    • 1970-01-01
    相关资源
    最近更新 更多