0
我有一个应用程序需要根据区域(国家)阅读不同的值。是否有一个等价的NSLocalizedString()用于读取来自不同语言环境(不是语言)的值?
我希望NSLocalizedString会为我做,但它似乎只适用于语言,而不是语言环境。
我可以在代码中做到这一点(NSLocale/NSLocaleCountryCode),但我希望有更多的代码免费的方式去。
是否有其他的功能或方法来实现这一点?
欢呼声
我有一个应用程序需要根据区域(国家)阅读不同的值。是否有一个等价的NSLocalizedString()用于读取来自不同语言环境(不是语言)的值?
我希望NSLocalizedString会为我做,但它似乎只适用于语言,而不是语言环境。
我可以在代码中做到这一点(NSLocale/NSLocaleCountryCode),但我希望有更多的代码免费的方式去。
是否有其他的功能或方法来实现这一点?
欢呼声
NSLocalizedString是只为一个NSBundle方法
- (NSString *)localizedStringForKey:(NSString *)key value:(NSString *)value table:(NSString *)tableName
一个宏用
table = nil;
相反NSLocalizedString的,你可以根据你的语言环境创建不同的表名,然后调用
NSLocale *locale = [NSLocale currentLocale];
NSString *countryCode = [locale objectForKey:NSLocaleCountryCode];
NSString *table = [NSString stringWithFormat:@"MyTable_%@", countryCode];
[[NSBundle mainBundle] localizedStringForKey:@"YOUR_KEY" value:@"" tableName:table];
如果这是你太久了,你也可以重新包装成一个宏。
谢谢,这看起来像一个伟大的解决方案 – 2012-03-09 22:57:59