Я делаю это вот так.
кюТранслэйт настроен так, что бы ссылки заканчивались на …\?lang=en, …?\lang=ru. Плюс язык по-умолчанию, для которого нету окончания.
Создаю файл lang.php, с содержимым
<?php $lang = 'by';
if ($_GET['lang']=='ru') {$lang = 'ru' ;}
if ($_GET['lang']=='en') {$lang = 'en' ;} ?>
?lang — переменная, где храниться язык.
&_GET[‘lang’] возвращает то, что написано в ссылке после ?lang=
В header.php пишу
<?php
include '/адрес/до/уордпрэсса/wp-content/lang.php';
?>
Теперь в любом месте, где что-то отличается пишу
В месте, где что-то отличается, пишу
<?php
if ($lang=='en')
{print "English"; }
else {print "Всё что угодно, но не Инглиш";}
?>
Если языков много, то код будет выглядеть как-то так:
<?php
if ($lang=='en')
{print "English"; }
else (if $lang=='de')
{print "Deutch";}
else {print "Всё что угодно, но не Инглиш и не Дойчь";}
?>
Как-то так.
Илья, спасибо Вам огромное, все заработало. Чего я только не перепробовал, а тут как по волшебству ))) Хотел только уточнить, такой момент: у меня картинка шапки сайта задана в файле .CSS (background:url(images/header.jpg) no-repeat top center;), а как в хедере прописать чтоб она отображалась в соответствии с пользованием кюТранслейта?
Насчет CSS гляньте здесь.
Спасибо, все получилось. Как все оказывается просто )))
Подскажите, а как быть с ссылками? Например, в русской локализации у меня есть какая-то залинкованая картинка при нажатии на которую открывается страница с продуктом на русском языке. При англ локализации эта картинка заменяется другой (английской) и ,соответственно, при нажатии на нее должна открыться английский вариант страницы с продуктом. Вот только у меня при англ локализации при клике открывается русская страница и весь сайт переходит на RU. Пробовал так:
<?php if ($lang=='ru') { ?>
<a href="http://domanname.ru/?page_id=29">
<?php } elseif ($lang=='en') { ?>
<a href="http://domanname.ru/?page_id=29&lang=en">
<?php } ?>
все равно открывается русская страница. Что я не так делаю? Помогите кто-нибудь, пожалуйста!
Неяк па-леваму написано.
Я особо не знаю php, поэтому написал бы так и посмотрел результат:
<?php if ($lang=='ru') {
<a href="http://domanname.ru/?page_id=29">
} else{
<a href="http://domanname.ru/?page_id=29&lang=en">
} ?>
Хотя я сомневаюсь, что это исправление проблемы.
А блин.
Я исправил бы на:
<?php if ($lang=='ru') {
print '<a href="http://domanname.ru/?page_id=29">';
} else{
print '<a href="http://domanname.ru/?page_id=29&lang=en">';
} ?>
Никаких изменений, как и при том коде что я писал — все работает, но открывается русская страница и сайт переходит на RU локализацию (
Есть еще какие-нить варианты?
Нашел!!! Смешно, но проблема была удивительно проста: в ссылке не хватало «www», а без этого при переходе по ссылке страница возвращалась к языку по умолчанию (в моем случае RU). Рабочий код имеет такой вид:
<div id="rss">
<?php if ($lang=='ru') {
print '<a href="http://www.domanname.ru/?page_id=29">';
} else{
print '<a href="http://www.domanname.ru/?page_id=29&lang=en">';
} ?>
<?php if ($lang=='ru') { ?>
<img src="http://domanname.ru/wp-content/themes/luxcar/images/rss.gif"/>
<?php } elseif ($lang=='en') { ?>
<img src="http://domanname.ru/wp-content/themes/luxcar/images/rss_EN.gif"/>
<?php } ?>
</a>
</div>
Спасибо всем за помощь.