我们正在开发一款iOS游戏,我们的公司要求
看起来UIKit框架中有这样一个字符串,那么我怎样才能在自己的应用程序中访问它呢?
或者,还有其他方法可以创建带有本地化取消按钮的UIAlertView吗?
谢谢!
通过以下代码解决了问题:
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
,需要通过代码进行处理。
NSLocalizedStringFromTableInBundle
。谢谢。 - Zhao Xiang