2017-07-27 128 views
-1

我有一个接受N个参数的字符串,我想将其国际化。每个区域必须有不同数量的参数。Android字符串资源多语言

实施例:

R.string.string_test

  1. PT-BR:TEMöparametro%1 $发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显示了一个错误,有这样做的一种方式?或者我需要创建一个字符串每个地区?

回答

0

向您显示错误和程序实际崩溃的IDE是两个不同的事情(在这种情况下)。只要匹配的参数在每种语言中具有相同的含义,你所要做的就是好的。

确保您传递足够的参数来满足大多数格式说明符的字符串。在你的例子中,en-US有三个,但你只传递两个参数到getString()。您可以使用@SuppressLint("StringFormatInvalid")让IDE忽略该警告。

+0

它不会出现问题,我只是好奇,看看有没有更好的方式来做到这一点。 – tiagoMissiato