Имя: Пароль:
1C
1С v8
Два языка в мобильном приложении
0 zmaximka
 
21.02.20
11:54
Вводная информация. Мобильное приложение на платформе 8.3.15.86.
В конфигурации два языка - Русский (код языка "ru") и Английский("en"). Синонимы объектов конфигурации заполнены на двух языках. В базу приложения на мобильном устройстве программно добавлен пользователь ИБ для которого установлен язык английский, однако приложение все равно отображает интерфейс на русском. Русский установлен в качестве основного языка для конфигурации.
Функция ТекущийЯзык() возвращает значение Английский. Функция ПользователиИнформационнойБазы.ТекущийПользователь().Имя возвращает правильное имя пользователя.
Код ниже отрабатывает корректно только в случае указания второго параметра функции НСтр.
Язык = ТекущийЯзык();
ЗаголовокТекст = НСтр("ru = 'Уведомления('; en = 'Notifications('",Язык.КодЯзыка);
В тонком клиенте все работает правильно.
Вопрос, что я делаю не так? Почему интерфейс не переключается на английский?
1 zmaximka
 
21.02.20
13:02
в файле 1cema.xml присутсвуют оба языка
<language name="Русский" id="ea96feac-2ad4-4375-9a57-705c49e6fda2" languageCode="ru">
        <synonym>
            <item xmlns="http://v8.1c.ru/8.1/data/core">;
                <lang>ru</lang>
                <content>Русский</content>
            </item>
        </synonym>
    </language>
    <language name="Англйский" id="e19cb20a-47d4-4412-ac99-52c15c968ddd" languageCode="en">
        <synonym>
            <item xmlns="http://v8.1c.ru/8.1/data/core">;
                <lang>ru</lang>
                <content>Английский</content>
            </item>
        </synonym>
    </language>
2 Garykom
 
гуру
21.02.20
13:09
(0) язык привязан к языку девайса
3 zmaximka
 
21.02.20
13:16
Переключил язык интерфейса  телефона на английский. Не помогло. (((
4 Garykom
 
гуру
21.02.20
13:21
(3) Перегрузись
5 DrWatson
 
21.02.20
13:23
ТекущийЯзыкСистемы() - язык системного интерфейса
ТекущийЯзык() - язык пользовательского интерфейса
6 zmaximka
 
21.02.20
13:30
(4) Спасибо. Выключить и снова включить помогло.
7 Garykom
 
гуру
21.02.20
14:18
(6) Выключать фактически не обязательно но как еще заставить МП завершиться и снова запустить а не висеть в памяти не перечитывая системные настройки.
Можно было его чем то прервать-закрыть, каким то оптимизатором и все вместо перезагрузки тела.
8 Сияющий в темноте
 
21.02.20
16:48
(7) а очистить кеш и убить процесс?
9 Garykom
 
гуру
21.02.20
16:54
(8) На кэш пофиг но убить процесс да, в андроиде же приложения обычно пока память есть не закрываются а уходят в фон и только при нехватке менеджер их выгружает.
10 Garykom
 
гуру
21.02.20
16:56
(9)+ Короче надо заставить МП перечитать текущие настройки языка системы.
А оно делает (ну вот написали так) только при холодном старте а не с паузы/приостановки из памяти.
11 Cyberhawk
 
21.02.20
17:27
(2) У других приложений (не 1С) это тоже иногда раздражает, хоть и крайне редко приходится русский включать.
У нормальных приложений язык можно задавать в настройках.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.