2012-03-16 100 views
4

我想要做的是提供ISO 3166-1国家/地区代码,并在当前语言环境中检索该国家/地区的名称。对于那些你谁是熟悉的iPhone,我的正是我想要做的一个例子:当前默认语言环境中的任何国家/地区名称

NSLocale* currentLocale = [NSLocale currentLocale]; 
NSString* countryName = [currentLocale displayNameForKey:NSLocaleCountryCode value:@"NO"]; 

在这种情况下,变量countryName将包含“挪威”鉴于iPhone在英语语言环境中运行。
我到目前为止所了解的是,通过Locale类的简单静态方法获取Android SDK中的当前语言环境。

Locale currentLocale = Locale.getDefault(); 

但是我坚持在这里...

回答

6
Locale l = new Locale("en", "NO"); 
String norway = l.getDisplayCountry(); 

为我工作。只需将"NO"替换为您所需的国家/地区,并且它应该在您当前的默认语言环境中为您提供该名称。 "en"只是在那里填写一些语言,但它应该无关紧要(至少我希望适用于所有组合 - 并没有测试它们全部)

+6

谢谢,你也可以只是省略语言,并得到正确的结果。所以'new Locale(“”,“NO”)。getDisplayCountry()'会呈现正确的结果。 – 2012-03-16 10:54:51

+0

啊,那就更好了 – zapl 2012-03-16 11:00:52

+0

正是我在找的东西!谢谢。 – nobre 2012-08-17 18:06:41

相关问题