我将处理一个提供符合ISO 3166-1 alpha-2标准的两个字母国家代码的提要。例如,英国的代码为GB。我的问题是,在提供“GB”作为.NET类或函数的输入时,是否有某种方法可以轻松找回“英国”?换句话说,这是由.NET提供的翻译吗?ISO 3166-1 alpha-2到国家/地区名称翻译.NET
2
A
回答
1
的种类。 .NET使用“文化”,它可以通过语言(使用ISO 639双字母标识符)和区域(使用ISO 3166)的组合来唯一标识。所以,如果你知道这两种语言和区域,你可以得到一个描述性的名称:
var cultureInfo = new CultureInfo("en-gb");
var cultureName = cultureInfo.EnglishName; //"English (Great Britain)"
//your answer is now the text between the parentheses
var countryName = cultureName.Split('(',')')[1];
了解到,在这些文化,区域是次要的语言;这个系统支持的每一种语言都有一种文化,但不一定每个使用该语言的国家都有这种文化。这意味着两件事;首先,你必须知道(因为瑞士和比利时有两种官方语言,德语和法语,印度和荷兰各有4种),其次,ISO代码可能不存在于文化列表中对于你所期望的语言来说,如果语言和地区的组合使用符号和符号足够接近另一个更加知名的文化,那就没有必要区分(例如,没有用于英语的“en-CA”文化说加拿大是因为它与“en-US”相同;然而有一个“fr-CA”,因为加拿大的法语文化与其他大多数法语地区差别很大)。
另一种解决方案将不会内置这样,但不会是非常困难的;发现或让自己的ISO代码,并在任何制表符分隔或逗号分隔格式的全国名的名单,并发出声音文件到Dictionary<string, string>
在固定时间来翻译:
var isoDict = new Dictionary<string, string>();
using(var stream = File.Open("isoCodes.csv"))
{
using(var reader = new TextReader(stream))
{
string currentLine;
do
{
currentLine = reader.ReadLine();
if(currentLine == null) break;
//assumes no headers, no format/data errors and
//a line format of "cc, Country Name\n";
//ALWAYS "trust but verify" that the data is sane
var parts = currentLine.Split(',');
isoDict.Add(parts[0].Trim(), parts[1].Trim());
} while(currentLine != null);
}
}
相关问题
- 1. 将国家/地区名称翻译为其他语言
- 2. 获取当前国家/地区名称
- 3. 国家代码到国家/地区名称转换
- 4. 从国家代码中获取国家/地区名称
- 5. 如何从angularjs中的国家/地区获取国家/地区名称
- 6. 从国家代码获取国家/地区名称字符串int
- 7. 转换国家代码国家名称
- 8. 如何在django views.py中翻译国家/地区列表?
- 9. jquery - 翻译国家名称并对它们进行排序
- 10. 国家名称列表或文件翻译成普通语言
- 11. 从经纬度得到国家,地区和城市名称(PHP)
- 12. pycountries:将国家/地区名称(可能不完整!)转换为国家代码
- 13. 如何使用地理编码获取国家/地区名称?
- 14. 跟踪IP地址和国家/地区名称(asp.net)?
- 15. 如何使用仅限国家/地区名称在iPhone上的Google地图上获取国家/地区位置?
- 16. 国家名称的坐标/区域
- 17. ISO国家代码
- 18. Google地图反向地理编码获取国家名称,英国国家
- 19. 显示完整的国家/地区名称,而不是国家/地区代码 - WooCommerce
- 20. 如何在textview中设置国家/地区代码以在微调器中选择国家/地区名称?
- 21. 根据国家/地区代码选择国家/地区
- 22. 地址按国家/地区
- 23. SVG地图中的国家名称
- 24. 谷歌地图国家名称
- 25. 从地区代码接收国家名
- 26. 有没有更好的办法来处理国家/地区和国家/地区的国家名单?
- 27. 从网站获取国家/地区ISO代码
- 28. Google Maps API,我可以更改国家/地区名称吗?
- 29. 国家/地区名称和BlackBerry ObjectChoiceField中不接受的空间
- 30. 从IPAddress获取国家/地区,城市名称为PHP
的一个JSON版本您的示例中的csv文件位于http://country.io/names.json – 2014-09-05 02:03:14