我们正在构建一款 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
and UIKit.framework
文件夹:fr en zh-Hans it de ja nl es pt-PT nb zh-Hant en-GB
。它们应该由代码处理。
UIKit 中已有字符串的简单方法
NSBundle* uikitBundle = [NSBundle bundleForClass:[UIButton class]];
NSString *cancel = [uikitBundle localizedStringForKey:@"Cancel" value:nil table:nil];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)