10ответ(ов) в теме
ellement
не в сети 10 лет
На сайте с 30.11.2014
Участник
1
21:18

Добрый день интересует вопрос. Можно ли сделать два личных кабинета точнее ЛК на двух языках. Есть 2 страницы с шорткодом [wp-recall]. Как сделать перенаправление при таком условие if($lang='ru'){$link=http....../lk_ru;} else{$link=http...../lk_en}

0
Андрей CS
не в сети 2 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16928
2
21:21

данные о текущем языке на сайте можно получить через функцию get_locale()
Сам плагин в данный момент не поддерживает какую-либо многоязычность.

0
ellement
не в сети 10 лет
На сайте с 30.11.2014
Участник
3
21:25

я не правильно выразился наверное)) Локаль я получаю, тут всё ок. При смене языка(есть русский и украинский) в лк вижу переведенный мной текст(на украинский). Но как только делаю клик по вкладке лк снова становиться русским.

0
Андрей CS
не в сети 2 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16928
4
21:28

значит выводимый текст не был переведен.
Как именно выводится контент этой вкладки по которой кликаете? аджаксом, перезагрузкой страницы или все загружается сразу?

0
ellement
не в сети 10 лет
На сайте с 30.11.2014
Участник
5
21:29

ajax

0
Андрей CS
не в сети 2 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16928
6
21:33

как именно осуществлялся перевод выводимого текста? производится проверка локали и идет подстановка на нужном языке?

0
ellement
не в сети 10 лет
На сайте с 30.11.2014
Участник
7
21:36

Так точно!) Еще используться плагин Polylang, а код, что то типа вот такого:
$lang=pll_current_language();
/UK
if ($lang=='uk'){
global $my_profile;
$my_profile=array(
'profile'=>'Ваш профіль',
'user_profile'=>'Профіль користувача ',
'login'=>'Логін',
'name'=>"Ім'я",
'last_name'=>'Прізвище',
'nick_name' =>'Нік',
'show_name' =>"Відображуване ім'я",
'password' => 'Новий пароль',
'password_row1'=> 'Якщо ви хочете змінити пароль - введіть тут новий',
'password_row2'=> 'Повторіть новий пароль',
'update_profile'=>'Оновити профiль'
);
}
//RU
else{
global $my_profile;
$my_profile=array(
'profile'=>'Ваш профиль',
'user_profile'=>'Профиль пользователя ',
'login'=>'Логин',
'name'=>'Имя',
'last_name'=>'Фамилия',
'nick_name'=>'Ник',
'show_name'=>'Отображаемое имя',
'password'=>'Новый пароль',
'password_row1'=>'Если вы хотите сменить пароль - введите здесь новый',
'password_row2'=>'Повторите новый пароль',
'update_profile'=>'Обновить профиль');
};

0
Андрей CS
не в сети 2 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16928
8
21:49

в общем то логично, но похоже, что функция pll_current_language() при ajax-запросе выдает локаль ru_RU, а не ту что требуется.
хотя еще надо проверить определена ли эта функция при включеном SHORTINIT.
Как вариант, можно передавать в скрипт текущую локаль через GET или POST, чтобы уж наверняка, но для этого придется чуть дополнить скрипт загружающий контент через ajax.
Откройте файл function-rcl.php почти в самом низу найдите js-функцию get_ajax_content_tab() и допишите строку атрибутов до такого вида

var dataString = 'action=rcl_ajax_tab&id='+id+'&lk='+lk+'&locale='+jQuery('html').attr('lang');

после этого произведите деактивацию/активацию любого дополнения и вы сможете принимать текущую локаль в функциях через POST['locale']

0
ellement
не в сети 10 лет
На сайте с 30.11.2014
Участник
9
22:54

C этим всё классно) получилось. Можно ли сделать ссылку на ЛК по условию тоесть if($a=='ru'){$link='lk_ru'} else{$link='lk_uk')
Скажите что можно и подскажите как и я буду вам неограничено благодарен))))

0
Андрей CS
не в сети 2 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16928
10
11:36

ссылку на разные языковые версии определенных страниц должен формировать плагин-локализатор.

0
Тема закрыта. Публикация новых сообщений запрещена.