语言切换器 - 链接更改URL

时间:2012-03-20 03:51:39

标签: jquery wordpress language-switching

我使用Transposh Wordpress插件制作网站双语。

该插件附带一个下拉语言选择器,但我希望在导航中放置一个链接,以便在两种语言之间切换网站。

默认网站为英文,示例页面可能为xxx.com/page

另一种语言是葡萄牙语,翻译页面位于xxx.com/pt/page

所以我希望链接在这两个值之间切换:

<a href="example.com/pt/page">Português</a>

<a href="example.com/page">English</a>

jQuery最好这样做吗?

提前致谢!

2 个答案:

答案 0 :(得分:2)

使用此“example.com/pt/page”链接加载页面时,请将链接的href和文本更改为英语。当您使用“example.com/page”加载页面时,请将href和文本更改为Português。

<a id="lang" href="example.com/pt/page">Português</a>

$(document).ready(function() {
    var winLocation = window.location;
    var loc = winLocation + "";
    if(loc.indexOf("example.com/pt/page") != -1) {
       $("#lang").prop("href", "example.com/page");
       $("#lang").text("English");
    }
    else {
       $("#lang").prop("href", "example.com/pt/page");
       $("#lang").text("Português");
    }
});

更新: 如果您要将此链接添加到您网站的所有网页,请:

1)为所有链接设置类。像这样:

<a class="lang" href="anything">anything</a>

2)现在修改jQuery处理程序,如下所示:

$(document).ready(function() {
    var winLocation = window.location;
    var loc = winLocation + "";
    if(loc.indexOf("/example.com/pt/") != -1) {
       $(".lang").prop("href", loc.replace("/example.com/pt/", "/example.com/"));
       $(".lang").text("English");
    }
    else {
       $(".lang").prop("href", loc.replace("/example.com/", "/example.com/pt/"));
       $(".lang").text("Português");
    }
});

假设您的Português页面位于“example.com/pt/”网址下,英文页面位于“example.com /”

答案 1 :(得分:1)

因为我写了那个插件(Transposh),我认为你最好的方法是编写一个简单的小部件来按你的意愿去做,这可能只是一行代码。正确地在你的后端运行,并按照你的意愿行事。

指南在这里: http://trac.transposh.org/wiki/WidgetWritingGuide

您可以检查发送到那里的结构的is_active以提供您想要的内容。

玩得开心