Задать вопрос
alekseyruzov
@alekseyruzov
UI

Как лучше реализовать многоязычность сайта, работающего без CMS, на голом HTML/CSS?

Я сверстал одностраничник, решил не привязываьт его к движкам, т.к. проект небольшой и контента мало. Требуется сделать еще 2 языковые версии. Правильно ли будет сделать просто еще 2 копии, заменить на них контент и навесить каждой копии переключатель языков? Как быть с URL? Какими они должны быть — site.com/lang1, site.com/lang1, site.com/lang1? Если да, то как сделать, чтобы по дефолту открывался site.com/delault_lang, а не site.com? Через .htaccess?
  • Вопрос задан
  • 944 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 4
VasyaPertrov
@VasyaPertrov
Изготовление и безопастность сайтов. WP и др.
Правильно ли будет сделать просто еще 2 копии, заменить на них контент и навесить каждой копии переключатель языков?

Правильно.

Как быть с URL? Какими они должны быть — site.com/lang1, site.com/lang1, site.com/lang1?

site.com - дефолтный
site.com/langN- дополнительные.

Если совсем по уму, то нужно определять язык браузера (не IP юзера) и отправлять его на его язык. Но для одностраничника ИМХО это нецелесообразно. Переключатель должен быть в любом случае.
Ответ написан
svistiboshka
@svistiboshka
живые веб интерфейсы
site.com может быть язык по дефолту
en.site.com или site.com/en может быть другой язык
вот скрин из моей сборки тоже лэндинг как раз на нескольких языках делаю
2f054e0e1deb400abda7fe0b359243fe.png
Ответ написан
e_snegirev
@e_snegirev
либо для каждого блока с текстовым контентом создать дубль на втором языке. для всех блоков с текстовым контентом прописать в классах класс для определенного языка (lang-ru, lang-en). и в куках сохранять язык, выбранный пользователям, скриптами скрывать/отображать нужные классы.

но это более геморный вариант. проще разделить языковые версии на директории или на поддомены вынести
Ответ написан
@altrus
Что за глупые ответы про копии сайта для каждого языка?
А если надо будет менять в дизайне что-то?
А если будет 5-10 языков?
Для одной страницы "I am Vasja" подойдет, а для PWA?

Как вариант, для каждого тэга со строковым содержимым устанавливать какой-нибудь lang-string-id атрибут, и javascript'ом после построения DOM дерева вставлять туда нужную строку из ресурса (массива строк для каждого языка)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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