Мультиязычность на php, js (wordpress)

Изначально думал сделать на wordpress мультиязычность с помощью

define('WP_ALLOW_MULTISITE', true);

Но держать столько админок в одной это не думаю хорошо. Да и не только дело в админке, но и в безопасности сайта, так как соединён в один.

В общем сделал так:

  1. Подключил js код
    var arrLang = {
      'en': {
        'uslug': 'Services',
        'nameusl': '2d and 3d animation'
      },
      'ru': {
        'uslug': 'Услуги',
        'nameusl': '2d и 3d анимация'
      }
    }
    
      $(function() {
        $('.translate').click(function() {
          var lang = $(this).attr('id');
    
          $('.lang').each(function(index, item) {
            $(this).text(arrLang[lang][$(this).attr('key')]);
          });
        });
      });
  1. Подключение с помощью class="lang" key="nameusl"

Далее столкнулся проблемой: У меня есть cfs код и через него добавляются названия и описания. Я не могу вставить новый ключ key, для названия nameusl

Чтобы например если, в этом nameusl есть название 2d и 3d анимация, то текст 2d and 3d animation, а если есть например: nameusl с название Картинки, то текcт Picture

Если в коде то так (но код не правильный):

var arrLang = {
      'en': {
        'uslug': 'Services',
        'nameusl': '2d and 3d animation',
        'nameusl': 'Picture'
      },
      'ru': {
        'uslug': 'Услуги',
        'nameusl': '2d и 3d анимация',
        'nameusl': 'Картинки'
      }
    }

      $(function() {
        $('.translate').click(function() {
          var lang = $(this).attr('id');

          $('.lang').each(function(index, item) {
            $(this).text(arrLang[lang][$(this).attr('key')]);
          });
        });
      });

То есть вывести их в одной class="lang" key="nameusl" Для cfs кода или аналогичный acf плагин

Остальное всё выводиться и переводиться, если это брать каждый отдельный текст со всеми

И уже готовыми текстами.

Ещё думаю сделать с помощью switch, через case, но пока не знаю, как это можно реализовать... Не хочу использовать плагины, даже такие, как polylang.


Ответы (1 шт):

Автор решения: OlegTix

Сделайте через плагин и не надо мучаться. Плагин — это тот же код, только постоянно обновляемый разработчиками и лучше, чем ваш.
А использовать WordPress, но не использовать его главную фишку, а именно, плагины, просто глупо.

→ Ссылка