我想我在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是捷克斯洛伐克的,但是“不再存在”
在苹果公司,我该如何说呢?
最佳答案
您正在混合国家代码(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”) 。