Reputation: 159
I have made a website for two different languages each being in two different folders en
and bn
. I want to switch between the folders on href
element click using jquery.
<a class="eng_link " style="" href="#"> English</a>
<a class=" link_active bangla_link " style="" href="#">বাংলা / </a>
Say, I am currently on www.example.com/en/content?id=1. While clicking the link for english it will redirect to the url www.example.com/bn/content?id=1 and vice versa. Only the bn
part of the url will change to en
keeping other parts the same. How can I do this?
Upvotes: 3
Views: 13105
Reputation: 159
This is how I have done it. In the index page of bn:
<a class="eng_link " style="" href="#" id='a' onClick="en_onClick()"> English</a>
<a class=" link_active bangla_link " style="" href="index" >বাংলা / </a>
JS
function en_onClick() {
$(location).attr('href');
var bn_pathname = window.location.href;
var en_pathname = bn_pathname.replace("bn/", "en/");
window.location.replace(en_pathname);
}
In the index page of en:
<a class=" bangla_link link_in" style="" href="#" onClick="bn_onClick()"> বাংলা</a>
<a class=" link_active eng_link" style="" href="#"> English / </a>
JS
function bn_onClick() {
$(location).attr('href');
var bn_pathname = window.location.href;
var en_pathname = bn_pathname.replace("en/", "bn/");
window.location.replace(en_pathname);
}
Upvotes: 3
Reputation: 608
Another alternative with jQuery and Javascript.
HTML
<a data-language="en" class="language eng_link " style="" href="#"> English</a>
<a data-language="bn" class="language link_active bangla_link " style="" href="#">বাংলা / </a>
JS
$(function() {
$(".language").click(function(e) {
var selectedLanguage = $(this).attr("data-language");
var currentContent = location.pathname.substring(
location.pathname.indexOf("/", 1) + 1,
location.pathname.length
);
console.log(selectedLanguage, " >> ", currentContent);
// change URL to /en/content.html or /bn/content.html
window.location.href = "/" + selectedLanguage + "/" + currentContent;
});
});
Upvotes: 0
Reputation: 161
use this function to change from any language to any language
in your html:
<a class="eng_link " style="" href="#" onclick="changelang('bn','en')"> English</a>
<a class=" link_active bangla_link " style="" href="#" onclick="changelang('en','bn')">বাংলা / </a>
and js:
function changelang(langfrom, langto) {
var url = window.location.href;
var langfrom= "/"+langfrom+"/";
var re = new RegExp(langfrom);
url = url.replace(re,"/"+langto+"/");
window.location = url;
}
Upvotes: 0
Reputation: 8366
This is how I would do it:
$(".changeLink").click(function() {
$(".eng_link").attr("href", $(".eng_link").attr("href").replace("en", "bn"))
});
Upvotes: 1