Как динамически изменять значения локализации в приложении Android - PullRequest
1 голос
/ 22 февраля 2011

Мы хотим реализовать следующее требование для локализации -

  1. Значения параметров, хранящиеся в strings.xml (и других языковых вариантах), необходимо периодически обновлять (почти ежедневно).Это из-за некоторых динамических текстов, которые должны отображаться в зависимости от языка.Записи в strings.xml могут быть добавлены, изменены или удалены.Значения периодически выбираются (на основе определенной политики обновления) из вызова API бэкэнда.Если мое понимание верно, то мы не можем динамически изменять strings.xml в файле apk.

Мы предлагаем 2 возможных подхода -

  1. Использоватьбазы данных устройства и значений загрузки оттуда (лично мне этот подход не очень нравится, так как я не могу предсказать влияние на производительность. Любые комментарии?)

  2. Создать реализацию оболочкипроанализировать XML и сохранить эти значения в конкретном XML.

В зависимости от выбранного языка, проанализируйте соответствующий xml и используйте его для заполнения карты.Значения затем извлекаются из этих карт (вместо файла ресурсов Android)

Если кто-либо сталкивался с подобными проблемами, не могли бы вы предоставить свои данные и возможный подход.Если по умолчанию в Android API есть что-то, чего мне не хватает, и можно ли его использовать в этой ситуации?

С нетерпением ждем отзывов людей по поводу вышеуказанного.

1 Ответ

1 голос
/ 22 февраля 2011

Проблема в том, что вам нужно зависеть от способности Android находить правильную локализацию на основе локали, размера экрана, ориентации и т. Д. Это условия, на которые вы не можете повлиять, и вы не хотите пытаться воспроизвестилогика поиска.

Возможно, вы могли бы поместить строку тега в каждый из отдельных файлов string.xml.Этот тег будет содержать ключевое слово, возможно, имя таблицы, которая заполняется во время выполнения вашими переведенными строками.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...