2010-08-24 91 views
0

我目前正在研究iPad應用程序(iOS SDK v3.2)。該應用程序本地化在幾種語言,即英語,德語,俄語,...如何在iPad應用程序啓動後更改本地化

我希望用戶能夠切換一些用戶界面元素本地化應用程序已啓動。達到此目的的最佳方法是什麼? NSLocalizedString總是選擇在系統首選項中定義的區域設置,因此不會有幫助。

注意:本地化全部使用.strings文件完成,在我的項目中沒有本地化的NIB。

爲了使整個過程更清晰,下面是一個例子: 當應用程序啓動時,用英語顯示UI。用戶可以從UITableView中選擇不同的語言,並使用所選語言更新部分UI。

我是否必須手動加載特定的Localizable.strings文件並一路解析它,還是有更好的選擇來獲取相關的字符串?

任何有用的建議表示讚賞。

非常感謝您提前和最好的問候。

回答

4

我想我找到了答案,以我自己的問題:

NSLocale *selectedLocale; // defined in the classes interface 
NSString *language = [selectedLocale objectForKey:NSLocaleLanguageCode]; 
NSString *path = [[NSBundle mainBundle] pathForResource:language ofType:@"lproj"]; 
NSBundle *bundle = [NSBundle bundleWithPath:path]; 

self.textView.text = NSLocalizedStringFromTableInBundle(@"Yadayada", @"Localizable", bundle, @"Yadayada comment"); 
相關問題