Хотел поделиться
Внимание, это костыль для страниц поиска search.php и item.php, там где в адресной строке есть s_slug от городов
Сделал вот такой костыль для перевода Городов и других населенных пунктов, но хотел бы все таки узнать есть ли решение из коробки?)
1 - ШАГ:
создал такую функцию, чтобы поймать s_slug города, по нему буду перевод делать в файле перевода темы:
2-ШАГ:
в месте где нужно вывести название населенного пункта, которое будет переводится на нужные вам языки:
альтернативный способ вывода населенных пунктов
3-ШАГ:
Нужно зайти в БД и там посмотреть как прописаны s_slug городов
Взять их за основу для перевода.
4-ШАГ:
Берем файл перевода темы на русском языке и другом, в моем случаи английском theme.po, открываем его в редакторе и делаем перевод, на русский и на английский
пример:
город Владимир - его s_slug в БД = vladimir, в файле перевод прописываем:
в ru_RU
msgid "vladimir"
msgstr "Владимир"
в en_US
msgid "vladimir"
msgstr "Vladimir"
далее открываем наш языковой файл theme.po (допустим в Poedit) для того чтобы компилировать файл theme.mo, наши изменения сохранятся и ВСЁ
Надеюсь понятно описал свой костыль, может кому пригодится, но я все равно жду ваших вариантов, может зря это все и есть штатное решение)
Внимание, это костыль для страниц поиска search.php и item.php, там где в адресной строке есть s_slug от городов
Сделал вот такой костыль для перевода Городов и других населенных пунктов, но хотел бы все таки узнать есть ли решение из коробки?)
1 - ШАГ:
создал такую функцию, чтобы поймать s_slug города, по нему буду перевод делать в файле перевода темы:
PHP:
//Вывод s_slug городов
function osc_slug_city(){
$city = osc_search_city();
$cityItem = osc_item_city();
$slugCity = City::newInstance()->findByName($city . $cityItem);
return $slugCity['s_slug'];
}
//перевод городов
function osc_lang_city(){
return $s_slugCity = ''. __(osc_slug_city(), 'one') . '';
}
2-ШАГ:
в месте где нужно вывести название населенного пункта, которое будет переводится на нужные вам языки:
PHP:
<?php echo osc_lang_city();?>
альтернативный способ вывода населенных пунктов
PHP:
<?php if(osc_slug_city()) { ?><?php _e(osc_slug_city(), 'one') ; ?><?php } ?>
3-ШАГ:
Нужно зайти в БД и там посмотреть как прописаны s_slug городов
Взять их за основу для перевода.
4-ШАГ:
Берем файл перевода темы на русском языке и другом, в моем случаи английском theme.po, открываем его в редакторе и делаем перевод, на русский и на английский
пример:
город Владимир - его s_slug в БД = vladimir, в файле перевод прописываем:
в ru_RU
msgid "vladimir"
msgstr "Владимир"
в en_US
msgid "vladimir"
msgstr "Vladimir"
далее открываем наш языковой файл theme.po (допустим в Poedit) для того чтобы компилировать файл theme.mo, наши изменения сохранятся и ВСЁ
Надеюсь понятно описал свой костыль, может кому пригодится, но я все равно жду ваших вариантов, может зря это все и есть штатное решение)
Последнее редактирование: