2016-08-22 3 views
0

Как вы форматируете продолжительность в android? Я хочу показать пользователю три варианта продолжительности (чтобы настроить напоминание). Возможные варианты: «15 минут», «30 минут» и «45 минут». Требование состоит в том, что это должно соответствовать языку (языку) пользователя. Приложение не может использовать стандартную локаль мобильного устройства, но для этого необходимо использовать локаль, установленную на сервере. Я могу получить значения локали и правильно создать объект Locale из настроек сервера, но как показать три варианта продолжительности, чтобы, например, «30 минут» отображались в виде русской эквивалентной строки, когда я предоставляю русский языкКак вы форматируете длительность строки (например, 30 минут) в android?

+0

http://stackoverflow.com/questions/9475589/how-to-get-string-from-different-locales-in-android –

+0

Гэри, принятый ответ там говорит о ResourceBundle - не относящихся к ресурсам Android. Этот вопрос специфичен для Android. –

+0

Принятый ответ также имеет 5 голосов, посмотрите на второй ответ с более высоким рейтингом. –

ответ

0

Вы хотите, чтобы эти строки были в вашем файле strings.xml, а затем предоставили разные версии strings.xml для каждого языка, поддерживаемого вашим приложением.

См https://developer.android.com/guide/topics/resources/localization.html

+0

Поскольку информация о локали приходит с сервера, у меня нет контроля над тем, какие новые языки будут поддерживаться в будущем. Так что это не вариант. Я знаю, что у андроида R есть строки для слова «Минуты» на разных языках, которые я могу использовать. Но я не мог найти способ получить значения String для моего поставляемого языка. Я могу получить строку только для локали по умолчанию для устройства. Может ли кто-нибудь помочь получить внутренние R-строки Android для данного языка (а не по умолчанию локали устройства)? –

+0

Я бы все же сам справился с этим, но вы могли бы изучить исходный код для https://developer.android.com/reference/android/text/format/DateUtils.html класса и, вероятно, найти то, что вы хотите там, например com .android.internal.R.plurals.in_num_minutes; – dweebo

Смежные вопросы