2017-01-28 11 views
0

私は以下のものと同じ設定で100文字以上の配列を持っています。配列内のすべての文字列をローカライズする方法はありますか、これを設定するより良い方法ですか?Swift:文字列の配列をローカライズ

var listOfThings = ["Cars", "Mopeds"] 

答えて

1

文字列をplistファイルに入れることをお勧めします。その後、必要に応じてplistファイルをローカライズすることができます。あなたのコードにすべての文字列を入れるよりもずっと良いです。

Bundleクラスを使用してplistファイルへのパスを取得すると、ファイルのローカライズされた適切なバージョンへのパスが自動的に表示されます。次にplistファイルから配列をロードし(NSArrayを使用し、次にSwift配列にブリッジする)。

あなたはThings.plistという名前のローカライズされたplistファイルを作成したと仮定すると、以下のように、あなたはそれをロードすることができます。

if let plistURL = Bundle.main.url(forResource: "Things", withExtension: "plist") { 
    if let plistArray = NSArray(contentsOf: plistURL) as? [String] { 
     listOfThings = plistArray 
    } 
} 
+0

おかげで多くのことを。いくつかのサンプルコードはどこからでも見てきましたが、何も見つかりませんでした。いくつかのコードでこれを行う方法を私に示してもらえますか? – Gjeruldsen

+0

私の更新答えを見てください。 – rmaddy