Локализация проекта Android

200
20 июля 2018, 01:20

Полностью конкретного ответа на вопрос не нашел в инете, поэтому ищу помощи тут.

Использую ButterKnife

Есть веб вариант приложения, сейчас разрабатывается мобильная версия. Есть проблема поддержки приложения разных языков, в вебе перевод к каждому компоненту вытаскивается с rest запроса, который возвращает json(название компонента-перевод).

Возможно ли такое сделать на андроид или все же лучше писать свой статический перевод в strings.xml? Для реализации первого варианта рассматриваю статический Map в котором будут хранится эти переводы, но проблема в реализации правильного алгоритма для перевода, как можно достать id каждого елемента без forloop'a по самому верхнему по иерархии компоненту?

Может кто-то делал свой вариант локализации приложения? Более динамическим для меня способом будет получение переводов с сервера ибо для изменения strings.xml нужно обновление целого приложения, но как это реализовать с меньшей просадкой в производительности? Спасибо

Answer 1

создайте в res/ папки values-ru,values-en. и в них файл strings.xml , и в разных файлах strings пишите :res/values-ru/strings.xml<string name="lang">ru</string> а в res/values-en/strings.xml значение lang - en. потом в вашем активити if(getString(R.string.lang).equals("ru")){//выполняемый код если язык русскийи так для каждого языка

READ ALSO
Получение цвета данного пикселя

Получение цвета данного пикселя

Как при наведении мышки узнать соответствует ли пиксель данному цвету или нет?

181
Заполнение Exel формы

Заполнение Exel формы

Имеется шаблон формы которую нужно заполнить

149
Условная компиляция

Условная компиляция

А как в Java реализуется условная компиляция?

178
Java RegExpr заменить все вхождения

Java RegExpr заменить все вхождения

нужно заменить данное выражение на одно replaceAll с несколькими вхождениями, то есть либо &nbsp;, либо </td>, либо <td>

187