|
Смена языка на сайте
Здравствуйте.
Подскажите пожалуйста как сделать приключение языков. Сейчас разбил по каталогам для разных языков в таком виде: https://stock.ck.ua/ru/catalog/7451362/ https://stock.ck.ua/ua/catalog/7451362/ Но теперь не могу понять как реализовать переключении между /ru/ и /ua/ а оставшийся путь не менялся. Подскажите пожалуйста как сделать ? |
смена языка ru/ua
wemon,
добавить на обе страницы. <!DOCTYPE html> <html > <head ></head> <body><select class="lang"> <option value="ru">ru</option> <option value="ua">ua</option> </select> </body> <script> document.addEventListener("DOMContentLoaded", () => { const select = document.querySelector(".lang"); let url = window.location.href, value; for ({ value } of select.options) { if (value && url.includes(value, 19)) { select.value = value; } }; select.addEventListener("change", _ => { if(!select.value) return; url = `https://stock.ck.ua/${select.value}/catalog/7451362/`; window.location.href = url; }) }); </script> </html> |
Спасибо добавил. Но почему-то срабатывает один раз. Потом на этой же странице нельзя переключить обратно.
|
Цитата:
|
Все работает. Можете также подсказать сейчас попробовал вставить в другой каталог https://stock.ck.ua/ua/catalog/7451363/ он перенаправляется /catalog/7451362/
Как сделать ${select.value}/catalog/7451362/`; что бы путь менялся в зависимости от текущей ссылки. То есть чтобы заменялась только та часть ссылки /ru/ и /ua/ |
wemon,
пробуйте ... <!DOCTYPE html> <html > <head ></head> <body><select class="lang"> <option value="ru">ru</option> <option value="ua">ua</option> </select> </body> <script> document.addEventListener("DOMContentLoaded", () => { const select = document.querySelector(".lang"); let url = window.location.href, value, reg; for ({ value } of select.options) { reg = new RegExp(`/${value}/`); if (value && reg.test(url)) { select.value = value; break; } }; select.addEventListener("change", _ => { if(!select.value) return; url = url.replace(reg, `/${select.value}/`); window.location.href = url; }) }); </script> </html> |
Последний вариант, срабатывает один раз на странице. Потом не переключает.
|
wemon,
break забыл добавить. скопируйте снова #6 |
рони,
Спасибо Вам большое. Все работает. |
рони,
Здравствуйте можете пожалуйста помочь с другим вариантом, только уже для ссылочного переключателя по аналогу как для select. Сейчас сделал переключатель ссылками (УКР | РУС) для 2-х страниц, вот пример: https://stock.ck.ua/ru/catalog/ Для разных страниц на которых находишься выводится по разному: Если на Русской версии: <ul class="lang-switcher"> <li class="lang-ua"><a href="/ua/catalog/">УКР</a></li> <li class="lang-ru"><span>РУС</span></li> </ul> Если на Украинской версии: <ul class="lang-switcher"> <li class="lang-ua"><span>УКР</span></li> <li class="lang-ru"><a href="/ru/catalog/">РУС</a></li> </ul> Подскажите как реализовать это для всех страниц сайта? |
Часовой пояс GMT +3, время: 04:47. |
|