Hola a todos,
Porque tengo un sitio web que tiene muchos idiomas y cada idioma tendrá un subdirectorio.
por ejemplo
1) sample.com/en 2) sample.com/jp 3) sample.com/zhY la pregunta es, quiero que el usuario permanezca en su página actual, cuando cambie el idioma.
for example sample.com/en/about-us (change to) sample.com/jp/about-usTengo todo el botón para cada idioma. Solo quiero usar javascript para hacer que cada botón vaya a su propio idioma con su URL actual.
Cuando estoy en la página "acerca de nosotros" en un idioma, el enlace del botón de otro idioma cambiará a algo como esto.
US button > sample.com/en/about-us(base on current URL.) Japan button> sample.com/jp/about-us (just change the country code with every other botton) <input type="button" onclick="location.href=window.location.href.replace('en', 'el');" value="Greek" />Encontré algo como esto, pero sin suerte.
¡¡¡¡Gracias a todos!!!!
Para limpiar el HTML, puede agregar un atributo de datos a cada botón para el idioma de ese botón.
Luego, en lugar de usar un controlador de eventos en línea, puede delegar el controlador de eventos al documento mismo. Luego busque un atributo de datos para el idioma. Luego estoy dividiendo la URL actual por la barra inclinada para obtener el nombre de la página. En mi ejemplo, estoy registrando la URL, pero querrás ubicar.href la URL en su lugar.
var currentLocation = location.href.split("/"); let _page = currentLocation[currentLocation.length-1]; document.addEventListener("click",function(e){ let btn = e.target; if(btn.getAttribute("data-lang")){ _url = "/" + btn.getAttribute("data-lang") + "/" + _page; console.log(_url) //location.href = _url } }); <button data-lang="en">En</button> <button data-lang="es">Es</button>para redirigir a otro idioma, use el siguiente código
<input type="button" onclick="window.location.href = window.location.href.replace('sample.com/en', 'sample.com/jp');" value="Greek" />