Этот вопрос уже имеет ответ здесь:
В моем приложении для Android I'am, собирающийся реализовать мои строки с интернационализацией. У меня есть проблема с грамматикой и способом, которым предложения создают на различных языках.
Например:
"5 минут назад" - английский язык
"vor 5 Minuten" - немецкий язык
Я могу сделать что-то как следующее в strings.xml?
{0} minutes ago
И затем некоторое волшебство как
getString(R.id.timeFormat, dynamicTimeValue)
Это поведение решило бы другую проблему с различными порядками слов также.
Да, просто отформатируйте свои строки стандартным способом String.format ()
.
См. Документацию по методу Context.getString (int, Object ...)
и Android или Java Formatter
.
В вашем случае определение строки будет следующим:
<string name="timeFormat">%1$d minutes ago</string>
Обратите внимание, что для этого конкретного приложения существует стандартная библиотечная функция, android.text.format.DateUtils.getRelativeTimeSpanString()