IOS:错误的捷克国家代码

时间:2012-06-07 09:31:48

标签: ios country-codes

我想我在iOS捷克联系人中发现了一个错误。我创建了一个捷克联系人(使用捷克共和国国家/地区),我在我的应用程序中选择了ABPeoplePickerNavigationController。

ABPeoplePickerNavigationController返回给我的地址日志是:

"Country" : "Czech Republic"
"Street" : "A street"
"CountryCode" : "cs"
"City" : "A city"
"ZIP" : "12345"

所以国家代码是CS。但是当我试图检索相应的名字时,

NSString *countryCode = [address objectForKey:(NSString *)kABPersonAddressCountryCodeKey];
if (countryCode != nil) {
    NSString *countryName = [[NSLocale currentLocale] displayNameForKey:NSLocaleCountryCode value:countryCode];
    name = [[applicationDelegate dataManager] objectForEntityForName:@"Name" withValue:countryName forKey:@"name"];
}

name给了我:“塞尔维亚和黑山”!

根据http://countrycode.org/,捷克国家代码是CK,根据http://xml.coverpages.org/country3166.html,CS适用于捷克斯洛伐克,但“不再存在”

我如何在Apple上讲这个?

1 个答案:

答案 0 :(得分:1)

您正在混合国家/地区代码(ISO 3166-X)和语言代码(ISO 639-X)。 根据ISO 639-1,捷克语的语言代码是“CS”。

http://en.wikipedia.org/wiki/List_of_ISO_639-2_codes

注意: 很久以前,这也曾经是ISO 3166-1中前“捷克斯洛伐克”的国家代码,但由于政治变化,它已经多次改变并重新分配(例如塞尔维亚和黑山,现在是“YU”)