Есть похожие вопросы от таких новичков, как я, в локализации, но я не смог найти ни одного, который помог бы мне.
Вот моя проблема. Мы можем получить все коды стран ISO в NSArray с помощью оператора формы [NSLocale ISOCountryCodes]
. Теперь для каждой из этих стран я хотел бы напечатать местную валюту, а также код валюты, используемый в этой стране. Что было бы подходящим способом сделать это?
Я сделал следующее, что не работает в том смысле, что я получаю строки вида США Соединенные Штаты: (нулевой) ((нулевой)) когда вместо этого я хотел бы получить строки вида США Соединенные Штаты: $ (USD):
myCountryCode = [[NSLocale ISOCountryCodes] objectAtIndex:row];
appLocale = [[NSLocale alloc] initWithLocaleIdentifier: @"en_US"];
identifier = [NSLocale localeIdentifierFromComponents: [NSDictionary
dictionaryWithObject: myCountryCode
forKey: NSLocaleCountryCode]];
myDictionary = [NSLocale componentsFromLocaleIdentifier: identifier];
myCountryName = [appLocale displayNameForKey:NSLocaleCountryCode
value:[myDictionary
objectForKey:NSLocaleCountryCode]];
localCurrencySymbol = [appLocale displayNameForKey:NSLocaleCurrencySymbol
value:[myDictionary objectForKey:NSLocaleCurrencySymbol]];
currencyCode = [appLocale displayNameForKey:NSLocaleCurrencyCode
value: [myDictionary objectForKey:NSLocaleCurrencyCode]];
title = [NSString stringWithFormat:@"%@ %@: %@ (%@)", myCountryCode, myCountryName, localCurrencySymbol, currencyCode];
[appLocale release];
(Вышеуказанный идентификатор, myCountryCode, myCountryName, localCurrencySymbol, currencyCode и title являются указателями NSString. Кроме того, myDictionary является указателем NSDictionary, а appLocale — указателем NSLocale). По сути, приведенный выше код будет в окне выбора, где я хочу генерировать заголовок каждой строки на лету.
Большое спасибо за ваше время. По сути, вопрос заключается в том, что если у нас есть код страны ISO, как мы можем напечатать (в локали приложения) символ валюты и код валюты для этой конкретной страны.