[I128-1680] Модули обходят штатную локализацию и содержат захардкоженные строки интерфейса


НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте I128 >> Версия 2026.2.1 >> [I128-1680] Модули обходят штатную локализацию и содержат захардкоженные строки интерфейса📄 Скачать в DOCX


Тип Версия Статус Приоритет Исполнитель
⚙️ Исправление ошибок 2026.2.1 🔘 Завершено Средний Ilya Mikhaylenko

Компоненты: FT, ИРБИС 128. Модуль Mobile - Мобильное приложение, ИРБИС 128. Модуль News - Новости, ИРБИС 128. Модуль NewsFeed - Управление лентами новостей, ИРБИС 128. Модуль Pages - Страницы сайта, ИРБИС 128. Модуль Security - Подсистема безопасности, ИРБИС 128. Модуль TelegramBot - Telegram бот, ИРБИС 128. Модуль TestA - Тестовый модуль, ИРБИС 128. Модуль UsersBooklist - Подборки книг

Завершено: 22.06.2026 06:31

Проблема: в модулях FT, Mobile, News, NewsFeed, Pages, Security, TelegramBot, UsersBooklist и TestA строки интерфейса хранились или читались через локальное свойство LNG, что расходилось со штатным механизмом локализации модулей. Дополнительно часть пользовательских подписей, сообщений, прав, заголовков и описаний оставалась захардкоженной прямо в коде, из-за чего интерфейс нельзя было полноценно переводить.

Причина: для ObjectModule стандартное хранилище строк называется _LNG, а доступ к строкам должен идти через метод LNG(). Старые обращения к свойству LNG обходили этот механизм. В Security была отдельная локальная реализация с тем же старым доступом к массиву. Для ряда элементов интерфейса механизм LNG вообще не использовался: текст записывался напрямую в заголовки модулей, настройки списков, поля редактора, действия, сообщения ошибок и метаданные внешних функций.

Исправление: перечисленные ObjectModuleмодули переведены на *LNG и вызовы LNG(). В Pages также исправлены обращения из внешних функций. В Security добавлен локальный метод LNG() и внутреннее хранилище переименовано в _LNG, чтобы доступ к строкам был единообразным. Пользовательские hardcodedстроки в затронутых файлах перенесены в языковые массивы и используются через LNG(). Для FT строки размещены в существующем языковом файле modules/FT/*_call/SetLanguage/ru.inc; двойное определение _LNG в api.php удалено.