Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Kadagor
12 / 12 / 4
Регистрация: 17.09.2015
Сообщений: 47
#1

Локализация приложения - Android

20.01.2016, 17:40. Просмотров 273. Ответов 5
Метки нет (Все метки)

Добрый вечер! Интересует следующий вопрос, в андроид локализация приложения происходит в автоматическом режиме в зависимости от установленного языка на устройстве, но можно ли программно управлять данным процессом? Например, указать строковые значения какого языка подгрузить, либо чтобы строковые значения из strings.xml брались согласно настроек устройства, а звуковое сопровождение (из папок raw-ru, raw-de, raw…) выбиралось пользователем?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.01.2016, 17:40     Локализация приложения
Посмотрите здесь:

Размер приложения Android
Android Монетизация приложения
Android Подпись приложения
Android локализация приложения
Локализация объявлений AdMob Android
навигация приложения Android
Локализация Android
Android Пример приложения
Локализация картинок Android
Android Локализация приложения
Монетизация приложения Android
Программная локализация приложения Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Паблито
2240 / 1813 / 564
Регистрация: 12.05.2014
Сообщений: 6,456
Завершенные тесты: 1
20.01.2016, 21:02     Локализация приложения #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
уж не знаю для чего такое может пригодиться, но я вот проверил - работает
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        Configuration configuration = getResources().getConfiguration();
        Locale locale = configuration.locale;
        configuration.locale = Locale.GERMAN;
        getResources().updateConfiguration(configuration, null);
 
        try {
            InputStream is = getResources().openRawResource(R.raw.file1);
            InputStreamReader isr = new InputStreamReader(is);
            BufferedReader reader = new BufferedReader(new InputStreamReader(is));
            String line = reader.readLine();
            Log.i("***", "" + line); // выводит строку из файла res-de/file1.txt  PROFIT!
        } catch (IOException e) {
            e.printStackTrace();
        }
 
        configuration.locale = locale;
        getResources().updateConfiguration(configuration, null);
временно переключаемся на типа другую локаль, читаем нужные ресурсы и живчиком назад на родную локаль
Kadagor
12 / 12 / 4
Регистрация: 17.09.2015
Сообщений: 47
20.01.2016, 23:19  [ТС]     Локализация приложения #3
Большое спасибо, это то что нужно!
BeutiFul BiTcH
1 / 1 / 0
Регистрация: 21.01.2016
Сообщений: 20
22.01.2016, 00:38     Локализация приложения #4
А я не совсем поняла пример. В raw обычно хранят мультимедиа, допустим в вашем случае аудио. Из переменной is мы получим id и можем вставить его в медиаплеер. А какая строка тогда храниться в переменной line?
Valakin
430 / 96 / 15
Регистрация: 21.02.2015
Сообщений: 729
22.01.2016, 08:14     Локализация приложения #5
Цитата Сообщение от Паблито Посмотреть сообщение
line); // выводит строку из файла res-de/file1.txt
в комментах пояснение что в line
Паблито
22.01.2016, 13:46     Локализация приложения
  #6

Не по теме:

в примере выше, не только находится id нужного нам ресурса в нужной локали, а еще и читается строка из файла
первое что пришло мне в голову - читать из файла, уже потом я прикинул что можно было просто проверить на строках

так что все что в блоке try - catch можно не смотреть, это была проверка

Yandex
Объявления
22.01.2016, 13:46     Локализация приложения
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru