@tiakuv

Каким образом сайты делают многоязычными?

Какие существуют общепринятые приемы для переключения языка на сайте?
Является ли нормой создание нескольких виртуальных хостов под каждый язык?
Буду очень благодарна, если поделитесь толковыми материалами на этот счет или хотя бы ключевыми словами для более толкового поиска по этой теме. Спасибо
  • Вопрос задан
  • 253 просмотра
Решения вопроса 1
@acwartz
Тут должна быть ваша реклама.
Какие существуют общепринятые приемы для переключения языка на сайте?

Вернее сказать подходы?

Локализация может быть статическая и динамическая.
Статическая:
полностью весь сайт локализован на сервере и живет себе копиями в какой-то папке site.com/
на которую ссылается поддомен либо же часть ссылки перенаправляет туда site.com/ru/content... ../by/content и т.д. или поддоменами тоже самое:
ru.site.com, by,site,com, или com.by, .com.ru как у гугла.

Очень геморно это поддерживать, т.к. руками придется переносить изменения текста из русского во все остальные варианты локализации.

Динамическая, опять же частичная и полная.
Частичная:
сервер отдает общие части сайта в запрошенном локализованном виде из url или поддомена или как угодно . Динамический контент версионируется по локализации. (В википедии так, общая часть хоть на шумерском, статьи можно переключать по языкам но они будут различаться с оригиналом).

Полностью динамическая локализация:
т.е. есть некий ru.json, en.json которые загружаются заранее/по запросу и оттуда берутся человеко-понятные слова и расставляются по всему сайту прямо в браузере по мере хождения по сайтам (современные SPA так работают), некоторые так не работают и надо собирать 2-6 вариантов локали сайта и хранить их в разных папках при каждом изменении исх. кода (так старый ангуляр работал, да и нынешний ничем не лучше без ngx-translate),
и собственно явно переключаешься по ним обращаясь к разным папкам-локалям.

Контент... самое удобное - версионирование по языку и контенту (как это в википедии сделано).
Где есть начальная статья (пускай статья, контент короче), написанный на русском, кто-то переводит его на английский, потом на китайский и все это хранится в БД, и версионируется уже отдельно по изменениям.
Естественно новое в русском не переместится в английский т.к. английская версия перестанет быть читабельной да и подача материала может быть иная.

Является ли нормой создание нескольких виртуальных хостов под каждый язык?

почему нет. url-part может быть просто словом а уж веб-сервер разберется откуда реально взять информацию в нужной локали.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@Lord_Dantes
1. Если статический сайт, делать копии всего сайта на разных языках по папках. ТЕ при переходе в папку en/ с кореневой директории в папке en/ должен быть index.html на английском, и так все страницы.

2. На Wordpress если много плагинов, мои любимые это qTranslate-X + ACF очень хорошо справляются.

3. Поддомены для сайтов, также в качестве решения могут сгодиться, тут все просто. Даже на Wordpress есть плагин который делает эти поддомены и сам перенаправляет их
Ответ написан
Комментировать
anton_reut
@anton_reut
Начинающий веб-разработчик
В адресе сайта задается что то типа en.site.com или site.com/en а сам движок сайта парсит URL и если встречает такое в адресе то подставляет нужные настройки контента.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Искра Екатеринбург
от 80 000 до 100 000 ₽
Art gorka Санкт-Петербург
от 60 000 ₽
от 40 000 до 60 000 ₽
19 апр. 2024, в 23:00
5000 руб./за проект
19 апр. 2024, в 20:43
20000 руб./за проект