【发布时间】:2011-08-02 09:28:20
【问题描述】:
我们正在开发一款 iOS 游戏,我们公司要求 UIAlertView 中的取消按钮应始终根据用户的设备语言进行本地化。
UIKit框架里好像有这样一个字符串,我自己的app怎么访问?
或者,是否有任何其他方式来创建带有本地化取消按钮的 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。它们应该由代码处理。
【问题讨论】:
标签: iphone uialertview