Задать вопрос
@veroni1337

Как можно перевести сайт на wordpress. В файлах темы?

Нужно перевести сайт. html/css были натянуты через файлы темы. Информация в интернете не подходит. Есть какой то способ Сделать перевод сайта в коде? Еще некоторые блоки с текстом выводятся через acf
  • Вопрос задан
  • 179 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 3
@lolzqq
HTML,CSS,JS,PHP
самописно это выглядит примерно так:
- в functions.php темы прописываете функцию, определяющую язык страницы (можно организовать по поиску поддомена в текущем url, по поиску папки в url страницы, по параметрам GET или POST запроса, по языку браузера пользователя через $_SERVER["HTTP_ACCEPT_LANGUAGE"])
- в шаблонах темы, где выводятся ваши поля используете эту функцию-определитель языка и выводите данные из бд на нужном языке, используя url нужной статьи. (например создать страницу вашсайт.ру/articles/skovorodki-ru, рассказывающую про сковородки на русском языке и создать её клон, но уже с url вашсайт.ру/articles/skovorodki-en для английского языка )
- для дефолтных элементов wordpress, woocommerce и других плагинов, выводящих текст замену текста производить с помощью фильтров

встроенным функционалом wordpress-multisite:
- как это включить: кодекс вордпресс
- как это работает: фактически вы создаёте пустые клоны своего основного сайта, крепящиеся или к поддоменам или к подпапкам. У клонов будет общий дизайн, общие плагины и общая база данных пользователей (общая авторизация на всех сайтах сети) и никакого контента + собственные 6 таблиц в вашей основной бд под контент этого сайта-клона. Весь остальной контент будете сами копировать и переводить вручную или с помощью плагинов.

плагинами:
- ищите плагины типа такого multilanguage

самописный перевод на ajax с помощью javascript:
- это как самый первый вариант, только перевод будет запрашиваться на стороне клиента у сервера, полученные переведённые строки будут расставляться средствами javascript в нужные вам элементы страницы без перезагрузки страницы.
Ответ написан
@Lord_Dantes
https://ru.wordpress.org/plugins/wp-multilang/ - этот плагин не плох. В коде вызываете его функцию на проверку языка и выводите нужный текст.
Ответ написан
artzolin
@artzolin Куратор тега WordPress
php, WordPress разработка сайтов artzolin.ru
Для перевода строк в теме используются функции __(), _e(), esc_html__(), esc_html_e() и подобные

esc означает замену спец символов в строке при выводе, e - echo

Первым параметром передаете строку для перевода (на английском), вторым идентификатор для перевода

<?php echo esc_html__( 'Any text with HTML', 'domain' );


Для самого перевода удобно использовать внешнюю программу poedit или плагин Loco Translate. Перевод этих строк будет браться с учетом текущей локализации сайта
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы