2015-09-27 55 views
0

我有一個帶有多個本地化(.strings)文件的xib文件。如何在xib本地化之間切換

如果我在設備的設置中更改語言選項,我的xib的語言會相應地改變。

我希望能夠改變應用程序內的語言,所以當我加載一個新的視圖控制器時,我希望它使用我選擇的本地化文件加載相應的xib,而不是由設備的偏好。

達到此目的的最佳方法是什麼?

編輯:我認爲你可以通過複製每種語言的xib文件來實現這一點,但我想只有一個xib並使用所需的語言文件來加載其數據。

+0

可能重複的[手動加載不同的本地化的筆尖在iOs](http://stackoverflow.com/questions/8712049/manually-loading-a-different-localized-nib-in-ios) – Misha

+0

我認爲這種方法包括爲每種語言構建不同版本的xib。我只有一個具有多個本地化的xib文件 – Diego

+0

http://stackoverflow.com/questions/9416923/ios-how-to-change-app-language-programmatically-without-restarting-the-app?rq=1你可以看到這個問題 – Misha

回答

1

我有同樣的問題,只是在this question建議BundleLocalization建議。它工作得很好,並且完全符合你的要求。

正如在git頁面上提到的,您需要重新加載xib文件以使用更新的語言。

+0

謝謝!我曾看過這種方法,但它不起作用,可能是因爲我沒有正確地重新裝入xib。現在它工作完美。 – Diego

+0

你爲什麼要這樣做?該存儲庫中的一個問題提到仍然遵循相同語言的系統UI。如果你使用它,你將最終爲你的所有用戶提供非常糟糕的混合語言體驗。 – wakachamo

+0

鑑於您在應用程序中使用系統UI,這是真的。許多提供具有多個本地化內容的應用程序(例如烹飪應用程序)希望賦予用戶獨立於系統語言來更改語言的能力。許多人使用他們的英語設備,但是當談到內容時,他們更喜歡他們的自然語言。 – wolfrevo