Помогите изменить принцип работы модуля машинного перевода DST Translate

Славянская Культура
Славянская Культура
  • Сообщений: 9
  • Последний визит: 24 января 2025 в 11:40

Помогите изменить принцип работы модуля машинного перевода DST Translate. 

У меня не стандартная задача которая требует его переработки, есть домен в китайской зоне с которого я установил редирект на российский домен, мне нужно чтоб при редиректе с китайского домена, модуль автоматически срабатывал и переводил сразу на китайский язык, в настройках модуля по умолчанию стоит русский и изменить это условие я не могу т.к. большинство пользователей заходят именно из России, вопрос, как это сделать? 

Нияз Шакиров
Нияз Шакиров
  • Сообщений: 14
  • Последний визит: 12 марта 2025 в 14:05

Сделать так, чтобы люди автоматически попадали на китайский язык, не нажимая на кнопку это не сложная задача. 

Давайте разберемся, как это можно сделать!

1 шаг. Использование URL-параметров

Ваш переводчик DSt Translate поддерживает параметр в URL-адресе для выбора языка, вы можете создать ссылку с этим параметром. Например:

example.com/?lang=zh-CN

Здесь просто замените example.com на страницу вашего сайта.

2 шаг. Автоматическая инициализация скрипта JavaScript

Добавляем JavaScript код на вашу страницу, который автоматически выполнит клик на нужную ссылку без нажатия кнопки. Вот пример кода, который вы можете использовать:

 
<script>
document.addEventListener("DOMContentLoaded", function() {
    // Ищем элемент для китайского языка
    var chineseOption = document.querySelector('a[data-gt-lang="zh-CN"]');
    if (chineseOption) {
        // Симулируем клик на элемент
        chineseOption.click();
    }
});
</script>
 

Этот код должен быть вставлен в конец вашей HTML страницы (перед закрывающим тегом

), чтобы он выполнялся после загрузки всех элементов. 

Теперь, когда кто-то перейдет на вашу страницу, автоматически произойдет «нажатие» на ссылку для выбора китайского языка, и пользователь сразу же увидит ваш сайт на китайском.

Славянская Культура
Славянская Культура
  • Сообщений: 9
  • Последний визит: 24 января 2025 в 11:40

В этом все и дело что мне не нужно чтоб он переключал всех пользователей на китайский, а только тех которые перешли по ссылке example.com/?lang=zh-CN, а также используя Ваше решение у меня пропали иконки флагов

Нияз Шакиров
Нияз Шакиров
  • Сообщений: 14
  • Последний визит: 12 марта 2025 в 14:05

А, теперь я вас понял! Вам нужно сделать так, чтобы только те пользователи, которые перешли по определенной ссылке с параметром lang=zh-CN, автоматически переключались на китайский язык, а все остальные пользователи остались на своем языке. Давайте разберем, как это сделать! 

Данный CSS выводит флаг через класс icon-flag и скрывает не нужный нам элемент alt 

 
<style>
.icon-flag {
  background: url(/images/zh-CN.svg) no-repeat 0 0;
  font-size: 0px;
}
</style>
 

и вот как будет выглядеть ваш JavaScript с добавлением класса icon-flag, правильным управлением изображением и верным параметром lang=zh-CN:  

<script>
document.addEventListener("DOMContentLoaded", function() {
    const urlParams = new URLSearchParams(window.location.search);
    const lang = urlParams.get('lang');
 
    if (lang === 'zh-CN') {
        // Ищем элемент для китайского языка
        var chineseOption = document.querySelector('a[data-gt-lang="zh-CN"]');
        if (chineseOption) {
            // Симулируем клик на элемент для переключения языка
            chineseOption.click();
 
            // Находим текущий элемент для языка
            var currentLangImg = document.querySelector('.gt-current-lang img');
 
            // Если currentLangImg существует, обновляем его свойства
            if (currentLangImg) {
                // Задаем правильный src
                currentLangImg.src = chineseOption.querySelector('img').src; // Используем изображение для китайского языка
                currentLangImg.alt = "简体中文"; // Обновляем alt текст
 
                // Добавляем класс icon-flag
                currentLangImg.classList.add('icon-flag');
            }
        }
    }
});
</script>
Славянская Культура
Славянская Культура
  • Сообщений: 9
  • Последний визит: 24 января 2025 в 11:40

Алексей Онищенко, сработало, большое Вам спасибо за помощь, работает как нужно 

Авторизуйтесь, чтобы писать на форуме.

Заявка на услуги DST

Наш специалист свяжется с вами, обсудит оптимальную стратегию сотрудничества,
поможет сформировать бизнес требования и рассчитает стоимость услуг.

Адрес

Ижевск, ул. Воткинское шоссе, д. 170 Е, Технопарк Нобель, офис 1117

8 495 1985800
Заказать звонок

Режим работы: Пн-Пт 10:00-19:00

info@dstglobal.ru

Задать вопрос по почте

Укажите ваше имя
Укажите ваше email
Укажите ваше телефон