AleksandrB
@AleksandrB
Совсем недавно вывел "Hello world"

Как лучше реализовать мультиязычность сайта?

Сайт построен на чистом js, вся информация из базы выводится средствами js запросов на сервер, однако, присутствует не малая верстка на index.html, плюс к этому сообщения и некоторые разделы выводятся через js в зависимости от ответов сервера.
Есть идея сделать разные файлы index, файлы скриптов в которых и язык будет изменен, но тут появляется проблема - модернизировать и поддерживать такой код достаточно проблематично. Почитал что-то о i18n, но как я понял это работает только для вывода информации средствами php (могу ошибаться). Ответов на мой конкретный случай не нашел, спасибо.
  • Вопрос задан
  • 464 просмотра
Решения вопроса 1
dollar
@dollar
Делай добро и бросай его в воду.
  • Папки example.com/ru/ , example.com/en и т.д.
  • С главной страницы example.com (и только с неё) происходит автоматическая переадресация на какой-то язык.
  • В углу на каждой странице, где-нибудь в футере, находится переключение языка.
  • В js запросах на сервер в том или ином виде присутствует указание языка.
  • Языковые вставки (локализация) хранятся отдельно от кода в простом виде типа объекта, и языковый файл подключается в зависимости от языка, а все остальные файлы одинаковые.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
unilog
@unilog
начинающий программист
Доброе утро!

Тоже интересна данная тема - задам несколько уточняющих вопросов? Заранее спасибо!

Возможно ли использовать один index.html ? потому что "Если же у вас больше акцент на контент, а также его оформление и подачу, то лучше пойти другим путём - и делать как бы разные сайты под каждый язык." - не наш вариант. Нам бы обслуживать удобнее - верстка под языки не столь важна.

Папки example.com/ru/ , example.com/en и т.д.
В итоге создавать 2 index.html ? Тогда получается вариант из комментария "Если же у вас больше акцент на контент, а также его оформление и подачу, то лучше пойти другим путём - и делать как бы разные сайты под каждый язык."

С главной страницы example.com (и только с неё) происходит автоматическая переадресация на какой-то язык.

Это я понимаю делается , к примеру, на .htaccess в соответствии с локалью пользователя

В углу на каждой странице, где-нибудь в футере, находится переключение языка.

Ясно.

В js запросах на сервер в том или ином виде присутствует указание языка.

Переменная прописывается в index.html

Языковые вставки (локализация) хранятся отдельно от кода в простом виде типа объекта, и языковый файл подключается в зависимости от языка, а все остальные файлы одинаковые.

ГЛАВНЫЙ вопрос (чтобы использовать один index.html) - как эти вставки делать в html-коде файла index.html ? Если 2 отдельных index.html , то и вставки не нужны верстаем отдельные index.html и все возвращается к комментарию "Если же у вас больше акцент на контент, а также его оформление и подачу, то лучше пойти другим путём - и делать как бы разные сайты под каждый язык."
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы