2016-12-16 9 views
10

私はスウィフト3とXcode 8.1を使用して私のアプリをローカライズしようとしています。ストーリーボードをすばやくローカライズする方法を教えてください。

私は両方のストーリーボード(main.strings(ドイツ))を使用してアプリをlocalzeしようとプログラム的"NSLocalizedString"を使用しています。

は、私は、コード

func localized(lang:String) ->String { 

     let path = Bundle.main.path(forResource: lang, ofType: "lproj") 
     let bundle = Bundle(path: path!) 

     return NSLocalizedString(self, tableName: nil, bundle: bundle!, value: "", comment: "") 
    } 

次使用"NSLocalizedString"を使用してプログラム的にローカライズすることですが、私は、ストーリーボードで定義されているローカライズで立ち往生しています。 main.strings(ドイツ語)にローカライズされた文字列を定義しました。

/* Class = “IBUILabel”; text = “Date :”; ObjectID = “0sh-CK-26C”; */ 
“0sh-CK-26C.text” = “Datum :”; 

実行時にストーリーボードをローカライズする方法はありますか?

答えて

8

私は、ストーリーボードをローカライズする最善の方法は - です。まず、ローカル言語でデザイン作業を完了してから、ストーリーボードを目的の言語にローカライズする必要があります。その後、.xliffファイルをエクスポートし、目的の言語のテキストをすべて置き換えます。そして.xliffファイルをプロジェクトに再度インポートします。 あなたは完了です...!

+0

ボタンのクリックでそれを実行したい場合は、あなただけのコードのみからそれを行うことができます – sss

+0

どのように私は(例:ボタンのクリックに)その場で絵コンテの言語を変更する必要がありYou..Butありがとうございます。あなたはストーリーボードを即座に変更することはできません。ストーリーボードを変更する場合は、アプリを再起動する必要があります。 –

+0

あなたは、ユーザーがボタンクリックのメニューから言語を変更した場合、単にキー「AppleLanguages」のNSUserDefaultの値を変更してにユーザーを尋ねるリニューアルケース – sss

関連する問題