Я не нашел «простого» решения, но мог бы обойти эту задачу следующим образом. Протестировано в Android Studio и 6.0.1 Android.
Во-первых, в res / strings.xml: в теге 'resources' укажите локализованные значения true / false, например:
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="whip">whip?<xliff:g id="whip">%B</xliff:g></string>
</resources>
private String createOrderSummary(int price) {
String mess = "Name: "+ getName() +"
";
mess += getString(R.string.add_whipped_cream, whip);///whip IS A BOOL VAL.
return mess;
}
Определите свою строку с тегом xliff, используя % s (NOT% b!), Например:
true
** Ниже приведен пример класса mainActivity.java. Ваша заявка может отличаться. Имейте в виду пространство имен. **
В вашем Java-коде создайте функцию для преобразования логических значений в локализованное строковое представление:
false
Затем используйте его в своих строковых функциях следующим образом:
<string name="boolean_true">true</string>
<string name="boolean_false">false</string>
Вы можете легко расширить приведенный выше пример, чтобы учесть переводы да / нет, вверх / вниз и т. Д. Поскольку этот метод довольно дорог, вы можете подумать о кешировании результатов, если вы его сильно используете.