Android字符串资源多语言

时间:2017-07-27 16:27:52

标签: android internationalization android-resources

我有一个接受N个参数的字符串,我想将其国际化。每个Locale必须具有不同数量的参数。

示例:

R.string.string_test

  1. pt-BR:Tem o parametro%1 $ s e%2 $ s;
  2. es-AR:Tieneelparámetro%1 $ s;
  3. en-US:param%1 $ s,%2 $ s和%3 $ s;
  4. 问题在于我使用时:

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

    IDE显示错误,有办法吗?或者我需要为每个语言环境创建一个字符串?

1 个答案:

答案 0 :(得分:0)

IDE显示错误,程序实际崩溃是两回事(在本例中)。你想要做的就是好的,只要匹配编号的参数在每种语言中具有相同的含义。

确保传递足够的参数以满足具有最多格式说明符的字符串。在您的示例中,en-US有三个,但您只将两个参数传递给getString()

您可以使用@SuppressLint("StringFormatInvalid")让IDE忽略警告。