我正在開發具有多語言支持的應用程序。 正如你所期待,不時我加載使用這樣的一些代碼筆尖文件:然後在iOs中手動加載不同的本地化筆尖
self.currentController = [[newClass alloc] initWithNibName:@"CustomController" bundle:nil];
該應用程序將加載從它的語文件夾對應的本地化版本的廈門國際銀行。 現在,我想知道是否可以手動加載本地化的nib文件。 例如,而不是簡單地加載CustomController,裝載英語/法語/德國/等版本CustomController的。
有沒有辦法實現這個目標?
非常感謝您的幫助!
P.S.我知道這可能不是改變語言在iPhone/iPad的應用程序的正確方法,但這不是我的決定
[後來編輯] 這看起來有點怪異,像一個黑客,但它似乎處理(搬入德國筆尖):
NSString* path= [[NSBundle mainBundle] pathForResource:@"de" ofType:@"lproj"];
NSBundle* languageBundle = [NSBundle bundleWithPath:path];
self.currentController = [[newClass alloc] initWithNibName:@"CustomController" bundle:languageBundle];
我發現了尖的位置:http://learning-ios.blogspot.com/2011/04/advance-localization-in-ios-apps.html
感覺並不完全正確不過,如果有其他的解決方案也是,我想知道。 對於初學者來說,我覺得這會給老版本的iOs帶來麻煩,因爲語言文件夾有不同的命名約定
檢查是否可以幫助你:http://stackoverflow.com/questions/598020/objective-c-cocoa-internationalization-with-nibs-is-that-really-a-good-idea – Peres 2012-01-03 12:13:04
它的確如此,但在這種情況下不適用。我對如何在不使用本地化筆尖的情況下實現這樣的效果有一些想法。不幸的是,該應用程序現在使用它們,並且想法是儘快做到這一點,而不必做很多重寫/重新考慮應用程序。如果我可以手動加載本地化的xib,那麼將它轉換起來非常容易 – BBog 2012-01-03 12:18:35
但是我們正在談論在運行時做這件事嗎?例如,我有英國英國的筆尖,然後我進入設置並將語言切換到通道,它會改變? – Peres 2012-01-03 12:34:15