【问题标题】:Android string resource multi-languageAndroid字符串资源多语言
【发布时间】:2017-07-27 16:27:52
【问题描述】:

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

例子:

R.string.string_test

  1. pt-BR: Tem o 参数 %1$s e %2$s;
  2. es-AR:Tiene el parametro %1$s;
  3. zh-CN:有参数 %1$s、%2$s 和 %3$s;

问题是当我使用时:

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

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

【问题讨论】:

    标签: android internationalization android-resources


    【解决方案1】:

    显示错误的 IDE 和实际崩溃的程序是两件不同的事情(在这种情况下)。只要匹配编号的参数在每种语言中具有相同的含义,您就可以尝试做。

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

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

    【讨论】:

    • 它不会崩溃,我只是想看看是否有更好的方法来做到这一点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-19
    • 1970-01-01
    相关资源
    最近更新 更多