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?
  • Вопрос задан
  • 919 просмотров
Пригласить эксперта
Ответы на вопрос 5
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). и в куках сохранять язык, выбранный пользователям, скриптами скрывать/отображать нужные классы.

но это более геморный вариант. проще разделить языковые версии на директории или на поддомены вынести
Ответ написан
gzhegow
@gzhegow
aka "ОбнимиБизнесмена"
Самое сложное будет url реврайтинг - то есть автоматический выбор языка для чувака, у которого определенная страна. Сделать многоязычник без этого легко - основное выедание мозга именно в этом.
То есть просто сделать страницы на разных языках с каноникалами не проблема.
Проблема потом сделать умный роутер, который автоматически будет выбирать язык в зависимости от кучи условий и менять все ссылки на странице, понимая что адрес к странице по сути один, а языков много.

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

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

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

Войти через центр авторизации
Похожие вопросы