2012-01-11 118 views
1

在我MainViewController我使用这个代码:iPhone应用程序本地化

static NSBundle *bundle = nil; 

+(void)setLanguage:(NSString *)l { 

NSLog(@"preferredLang: %@", l); 
NSString *path = [[ NSBundle mainBundle ] pathForResource:l ofType:@"lproj" ]; 
bundle = [[NSBundle bundleWithPath:path] retain];} 


+(void)initialize { 

NSUserDefaults* defs = [NSUserDefaults standardUserDefaults]; 
NSArray* languages = [defs objectForKey:@"AppleLanguages"]; 
NSString *current = [[languages objectAtIndex:0] retain]; 
[self setLanguage:current]; 
} 

+(NSString *)get:(NSString *)key alter:(NSString *)alternate { 
return [bundle localizedStringForKey:key value:alternate table:nil];} 

而且在应用程序主:

[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"tr", @"en", nil] forKey:@"AppleLanguages"]; 

它的做工精细,并显示在我的应用程序比iPhone本地其他土耳其语语言。但是,我想允许用户通过按钮来更改语言,就像用户点击英语按钮时,应该打开对话框,应用程序将重新启动并且您的语言将会更改。

如何做到这一点?

我正在使用iOS 5 ....

回答

3

您的应用程序不应该提供自定义语言选择器。
用户可能在如何更改首选语言方面具有先验知识,方法是在“设置”应用程序中导航到“常规”>“国际”>“语言”。

在苹果的Internationalization Programming Guide

+0

肯定的,但它的我的应用程序要求的更多细节,我需要做的 – 2012-01-11 07:15:37

相关问题