2017-04-06 18 views
1

英語とアラビア語をサポートする必要がありますが、言語変更オプションはアプリ内で使用できます。以前は、コード内で左から右に言語を変更する権利を処理しました。自動レイアウトのiOSアプリ内での言語の変更

iOS 9以降では、iPhoneの設定で言語を変更しながら、自動的にレイアウトされたUIが正しく処理されます。

私の要件として、私たちはアプリ内で言語を変更し、 "AppleLanguages"キーを直接更新しました。しかし、ストーリーボードは正しく更新されていません。私は強制的にアプリを終了し、それを再起動し、それは正常に動作します。

アプリを再起動せずにこの(アプリ内の言語)を変更する方法はありますか? いいえ、アプリを再起動するには、警告を表示してアプリを終了できますか(exit(0)を使用)?これはアプリ審査チームによって承認されますか?

+1

@NetraこのライブラリがUIをどのように役立つのでしょうか? –

+0

あなたはexit(0)を使うことができますが、リンゴはアプリケーションストアにアプリケーションを入れさせません –

+0

@Netra、いいえ私はライブラリを使用していません。私はローカライゼーションを使って翻訳だけを変更しました。残り、私は反対方向にレイアウトを変更する必要があります。だから私は "AppleLanguages"キーを変更するとき、それは正常に動作しますが、私はアプリケーションを再起動します。 –

答えて

2

私はアプリを再起動せずにこの (アプリケーション内の言語)を変更する解決策はありますか?

はい、あります。 AppleLanguagesグローバルキーをチェックして自動レイアウトを使用して言語を変更する場合は、そのような機能を簡単に実行する必要があります。

ソリューションは、それはアプリを再起動せずにローカライズされ得るためにlprojバンドルを切り替えることになる、あなたはそれを達成するためにメソッドスウィズリングを行う必要があります。

私はInternationalization and Localization in swift記事での作業確認することをお勧めしたい、それが(それは私のために正常に動作します)最初からそれを行うことを明確にご案内します。また、あなたが(実際、私はそれを使用していない)Localize-Swiftライブラリをチェックしたい場合があります

enter image description here


:それに伴い、以下の後、出力は次のようにする必要があります。

これが役に立った。

関連する問題