2012-03-09 88 views
0

我有一個應用程序需要根據區域(國家)閱讀不同的值。是否有一個等價的NSLocalizedString()用於讀取來自不同語言環境(不是語言)的值?

我希望NSLocalizedString會爲我做,但它似乎只適用於語言,而不是語言環境。

我可以在代碼中做到這一點(NSLocale/NSLocaleCountryCode),但我希望有更多的代碼免費的方式去。

是否有其他的功能或方法來實現這一點?

歡呼聲

回答

0

NSLocalizedString是隻爲一個NSBundle方法

- (NSString *)localizedStringForKey:(NSString *)key value:(NSString *)value table:(NSString *)tableName

一個宏用

table = nil;

(見documentation

相反NSLocalizedString的,你可以根據你的語言環境創建不同的表名,然後調用

NSLocale *locale = [NSLocale currentLocale]; 
NSString *countryCode = [locale objectForKey:NSLocaleCountryCode]; 
NSString *table = [NSString stringWithFormat:@"MyTable_%@", countryCode]; 
[[NSBundle mainBundle] localizedStringForKey:@"YOUR_KEY" value:@"" tableName:table]; 

如果這是你太久了,你也可以重新包裝成一個宏。

+0

謝謝,這看起來像一個偉大的解決方案 – 2012-03-09 22:57:59

相關問題