2017-07-27 12 views
-1

N個のパラメータを受け入れる文字列があり、国際化したいと考えています。各ロケールには、異なる数のパラメータが必要です。Android文字列リソースの多言語

例:

R.string.string_test

  1. PT-BR:TemのO parametro%1 $ S E%2 $ S。
  2. es-AR:Tiene elparámetro%1 $ s;
  3. en-US:パラメータ%1 $ s、%2 $ s、%3 $ sがあります。それを行う方法があり、

    getString(R.string.string_test, param1, param2); 
    

    IDEがエラーを示しています

問題は、私が使用している場合ということですか?または、各ロケールごとに1つの文字列を作成する必要がありますか?

答えて

0

IDEにエラーが表示され、実際にプログラムがクラッシュすることは、2つの異なるもの(この場合)です。一致する番号の付いたパラメータが各言語で同じ意味を持つ限り、何をしようとしているかは問題ありません。

ほとんどの書式指定子を含む文字列を満たすのに十分なパラメータを渡すようにしてください。あなたの例では、en-USは3つですが、2つのパラメータをgetString()に渡すだけです。

@SuppressLint("StringFormatInvalid")を使用して、IDEに警告を無視させることができます。

+0

これは良いことがあるかどうかを知りたいだけです。 – tiagoMissiato

関連する問題