2017-05-27 11 views
0

私は英語とペルシャ語(farsi)の2言語で動作するアプリを開発中です。ユーザーは希望の言語を選択でき、その言語でアプリが表示されます。私は何をすべきか?アプリの言語をリアルタイムでどのように変更しますか?

+1

可能な複製https://stackoverflow.com/questions/9939885/manual-language-selection-in-an-ios-app-iphone-and-ipad – Bilal

+0

@Bilal私の質問は迅速ではない客観的なc –

+0

あります素早い答え。ちょっとスクロール。 – Bilal

答えて

0

はあなたが達成しようとしているかに依存し、あなたのケースに役に立つかもしれないアプローチがある、そこにある:

  1. はすべきではで現在使用されている言語のキーを表しグローバル変数を宣言しますアプリは、例 - -for appLanguageKey文字列にそれを呼び出す:

    var appLanguageKey = "english"

  2. 用語ごとに両方の言語希望キャプションを格納するためのデータストアを作成し、それがかもしれないが(含まれている)のようになります。今の

    term_key term_english term_farsi

    greeting_key Hello Hoi

    bye_key Bye Doei

あなたがしようとした場合は、目的の値を得ることができます:

desiredTerm = "select term_\(appLanguageKey) where term_key = 'greeting_key'" 

は疑似としてそれを考えてみましょうコード、c onditionはそれに似ているはずです。文字列を返すような機能を実装することにより

(私はそれがあることを前提としています。次のコードスニペットでgetDesiredCaption(_ termKey: String) -> String)を、あなただけのviewWillAppearでそれを呼び出す、自動的に任意のUIコンポーネントに対する所望のキャプションを設定することができるようになりますメソッドビューコントローラ:

override func viewWillAppear(_ animated: Bool) { 
    . 
    . 
    . 

    label.text = getDesiredCaption("greeting_key") 
    // Since that 'appLanguageKey' global viriable is "english", 
    // the output should be "Hello" 

    . 
    . 
    . 
} 

アプリの言語を変更するためにしなければならないのは「ペルシア」にappLanguageKeyの値を変更することです。国際化とローカライゼーションに関連する別のアプローチについては


、あなたはthis answerを点検したいと思うかもしれない、それはそのナビゲーションは、右から左になるようにしましょうすることをアプリに影響を与える必要があります。

これが役に立った。

0

まず、レルム、マジカルレコード、またはAPIを使用して、ユーザーが選択したものを格納する必要があります。次に、あなたのアプリケーション内のすべてのテキストが通常のローカライズ可能なものと同じように読み込まれるように、2つの辞書が英語とペルシア語が1つの配列を持つことによって、独自のタイプのローカライズ可能な文字列ハンドラを作成できます。

+0

コード例はありますか? –

関連する問題