Переключатель языка - ссылка меняет URL - PullRequest
1 голос
/ 20 марта 2012

Я использую плагин 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 ]

2 голосов
/ 20 марта 2012

Когда вы загрузите свою страницу с этой ссылкой "example.com/pt/page", измените href и текст ссылки на английский.А когда вы загрузите страницу с помощью «example.com/page», измените href и text на 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");
    }
});

Предположим, что ваши страницы на португальском языке находятся под URL "example.com/pt/" и страницами на английском языке.подпадает под "example.com/"

1 голос
/ 21 марта 2012

Поскольку я написал этот плагин (Transposh), я думаю, что ваш лучший способ - написать простой виджет, который будет работать так, как вы хотите, возможно, это будет одна строка кода. Правильно бегите за своим бэкэндом и делайте, как хотите.

Руководство здесь: http://trac.transposh.org/wiki/WidgetWritingGuide

Вы можете проверить is_active структуры, отправленной туда, чтобы предоставить то, что вы хотели.

Веселись

...