asp.net/C#缺少国家/地区的本地化国家/地区名称

时间:2012-04-18 07:16:01

标签: asp.net

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

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个国家,请建议我解决这个问题。

感谢

1 个答案:

答案 0 :(得分:0)

我认为您需要更改此行:

CultureInfo.GetCultures(CultureTypes.SpecificCultures)

对此:

CultureInfo.GetCultures(CultureTypes.AllCultures)

这将影响所有文化。如果你看到msdn:

  

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

     

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

参考here