Разберем ситуацию, с которой сталкиваются многие разработчики: вы добавили второй язык в конфигурацию, настроили синонимы для форм, но на мобильном устройстве приложение упорно продолжает отображать русский язык. При этом на ПК в режиме отладки все выглядит корректно. Выясним, почему так происходит и как заставить мобильную платформу «увидеть» изменения.
Первое, что необходимо осознать: мобильная платформа 1С работает иначе, чем тонкий клиент на ОС Windows. На компьютере настройки локали считываются из сессии пользователя или параметров ОС напрямую. В мобильном приложении 1С выступает как изолированная среда («песочница»), где передача параметров языка от операционной системы к движку 1С происходит через специфический программный интерфейс.
Чаще всего проблема кроется не в коде, а в кэшировании метаданных. Платформа может сохранять старую структуру интерфейса локально и не обновлять ее, если версия конфигурации осталась прежней, а изменения затронули только синонимы. Обычное закрытие приложения через «сворачивание» не помогает, так как процесс остается активным в памяти Android или iOS.
Проанализируем настройки языков. Согласно стандартам 1С, рекомендуется использовать двухбуквенные коды ISO 639-1 (например, en, ru). Использование трехбуквенных кодов ISO 639-2 часто приводит к некорректной работе локализации, вплоть до пропадания языков даже в версии для ПК.
en-US с вашим en, она может автоматически откатиться к языку по умолчанию (первому в списке).Рассмотрим методы, которые помогут принудительно обновить ресурсы приложения. Простого перезапуска часто бывает недостаточно:
Платформа 1С для мобильных устройств автоматически подхватывает язык, установленный как основной в настройках телефона. Разберем действия по шагам:
Только после смены языка системы и последующей полной перезагрузки приложение «поймет», что интерфейс нужно переключить на английский, если логика сопоставления локалей сработала корректно.
Если автоматическое переключение по системным настройкам работает нестабильно, можно рассмотреть использование встроенного языка 1С. Хотя мобильная платформа накладывает ряд ограничений, можно попробовать использовать функцию УстановитьЯзыкИнтерфейса в процедуре ПриНачалеРаботыСистемы. Однако, помните, что это решение требует тщательного тестирования, так как принудительное переключение может конфликтовать с автоопределением платформы.
Подводя итог, можно сказать, что ключ к решению проблемы лежит в комбинации правильного именования кодов языков по ISO 639-1 и агрессивной очистке кэша мобильного устройства. Не забывайте, что мобильная разработка в 1С требует учета особенностей «песочницы», где кэширование является первичным фактором, мешающим мгновенному применению изменений в интерфейсе.