2012-05-18 119 views
1

我使用的是一个webservice,它提供了一个国家列表,可以选择2个字母('us'代表美国,'es'代表西班牙等)。本地语言国家名称

我需要将其呈现给用户并发回选择。

iOS上是否有API将国家代码转换为国家名称 - 基于当前的语言?我知道我可以将代码静态映射到国家,但我想支持其他语言,而不是英语。

例如,我想在使用英语语言环境时显示“西班牙”,使用西班牙语区域时显示“西班牙语”。

回答

2

我用这个,也许是适合您的需求太:

NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]; 
NSString *countryCode = [locale objectForKey: NSLocaleCountryCode]; 
NSString *countryName = [locale displayNameForKey: NSLocaleCountryCode value: countryCode]; 
[locale release]; 
+0

实际上,这甚至更好,因为我可以得到有关国家的附加信息。谢谢! –

0

我已经找到了这个,但我建议你建立自己的解决方案。免费的API给你,也许限制您的应用程序使用限制Link

0

OK,显然它比我更容易不过:我张贴的答案,如果任何人都会有同样的问题:

NSString* name=[[NSLocale currentLocale] displayNameForKey:NSLocaleCountryCode value:@"ca"]; 

就是这样:)