Мы создаем игру для iOS, наша компания требует, чтобы кнопка отмены в UIAlertView
всегда была локализована в зависимости от языка устройства пользователя.
Похоже, в UIKit есть такая строка, как я могу получить к ней доступ в своем приложении?
Или любой другой способ создать UIAlertView с локализованной кнопкой отмены?
Спасибо
Ответ сам:
Проблема решена с помощью следующего кода:
NSBundle* uikitBundle = [NSBundle bundleForClass:[UIButton class]];
NSString *language = [[[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"] objectAtIndex:0];
NSBundle *languageBundle = [NSBundle bundleWithPath:[uikitBundle pathForResource:language ofType:@"lproj"]];
NSLog(@"%@: %@", language, NSLocalizedStringFromTableInBundle(@"Cancel", @"Localizable", languageBundle, nil));
Это чтение строковых файлов из /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/System/Library/Frameworks/UIKit.framework
Следующие языки имеют разные названия между папками NSUserDefault
и UIKit.framework
: fr en zh-Hans it de ja nl es pt-PT nb zh-Hant en-GB
. Они должны обрабатываться кодом.