像我这样的新手在本地化方面也有类似的问题,但我找不到对我有用的问题。
这是我的问题。我们可以使用 NSArray 形式的语句获取所有 ISO 国家/地区代码[NSLocale ISOCountryCodes]
。现在,对于每个国家,我想打印当地货币以及该国家使用的货币代码。这样做的适当方法是什么?
我做了以下不起作用的事情,因为我得到了 US United States: (null) ((null)) 的行,而我想得到 US United States: $ (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指针)。本质上,上面的代码将在一个pickerview中,我想在其中动态生成每一行的标题。
非常感谢您的宝贵时间。本质上,问题是一旦我们有了 ISO 国家代码,我们如何打印(在应用程序区域设置中)该特定国家的货币符号和货币代码。