Модуль реализует переключение языка (RU → EN) прямо в браузере без перезагрузки страницы. Скрипт собирается в единый минифицированный IIFE-бандл и вставляется в Tilda через поле «Свой JS». При клике на кнопку EN обходятся все текстовые узлы и атрибуты (placeholder, value) внутри контентных блоков Tilda, перевод берётся из локального словаря, а при отсутствии записи — последовательно из MyMemory API и LibreTranslate. Результаты кэшируются в localStorage, что исключает повторные сетевые запросы.
Технические решения
Оригинальный русский текст сохраняется в data-атрибутах элементов, благодаря чему возврат к RU происходит мгновенно без повторного обхода. MutationObserver автоматически переводит динамически добавляемый контент — попапы, слайдеры, аккордеоны — без дополнительной интеграции. Алгоритм матчинга строит два индекса: прямой (RU→EN) и обратный (EN→RU) со сортировкой ключей по убыванию длины, что предотвращает частичную замену длинных фраз.
Двуязычный поиск
Для каталога товаров реализован режим билингвального поиска: к каждому заголовку карточки добавляется скрытый span с RU- и EN-алиасами, а запрос пользователя на кириллице автоматически нормализуется в латиницу через словарь с API-фоллбэком. Словарь можно расширять без правки кода — через синхронизацию с Google Sheets CSV по настраиваемому TTL.