Разработка Тем — Простой Способ Получить Двухязычный Сайт Wp

  • Автор темы Kapatsuna
  • Обновлено
  • 22, Oct 2024
  • #1

Я пытаюсь сделать сайт на двух языках. Я искал решение и не нашел простого ответа. Кроме того, я предпочитаю не использовать плагины, когда это возможно.

Что я пытаюсь сделать:

1) Иметь domain.com/en and domain.com/ru в то время как перенаправление по умолчанию установлено на domain.com/en .

2) Одна установка движка WP, та же панель администратора и тот же язык - английский.

3) Свободный способ стилизации (включая HTML, а не только CSS). Это, конечно, самая проблемная часть.

Я не могу понять, как это сделать. Я знаю, что есть способ вызывать разные верхние и нижние колонтитулы, но я не знаю, как эффективно управлять этим на двухязычном сайте. Я могу использовать, например, разные категории для разных языков, но является ли это хорошей практикой и будет ли это работать правильно?

#разработка тем #фильтры #иерархия шаблонов #язык #текстовыйдомен

Kapatsuna


Рег
17 Aug, 2011

Тем
78

Постов
197

Баллов
607
  • 25, Oct 2024
  • #2

Вы можете использовать приведенный ниже код для перевода строк:

 add_filter( 'locale', 'wpse210218_set_locale' );
function wpse210218_set_locale ($lang) {

if ( 'ru' == get_post_type() ) {

return 'ru_RU';

} else {

return 'en_EN';

}
}
 

Но я понятия не имею, как переводить сложный контент. Я знаю, что вы не хотите использовать плагины, но, согласно моим исследованиям, мы должны писать очень тяжелый PHP-код, чтобы плагин работал. Я рекомендую ВПГЛОБУС, Он создает значок для каждого поля сообщения или страницы, такого как заголовок, содержание, категория и т. д., нажимая на значок, вы можете ввести свой перевод для неограниченного количества языков, которые вы установили ранее в настройках, плагин генерирует yoursite.com/ru адрес без создания или необходимости создания новой таблицы стилей, js или страниц или загрузки каких-либо дополнительных файлов.

 

1nfern0


Рег
16 Sep, 2013

Тем
72

Постов
188

Баллов
588
  • 25, Oct 2024
  • #3

Вот простое (поэтому не исчерпывающее) руководство:

  1. Создайте два произвольных типа сообщений: «en» и «ru». Это гарантирует, что все ваши сообщения будут иметь URL-адреса. functions.php and www.example.com/ru/post-slug

  2. Создайте файлы .po и .mo для обоих языков (или только для русского, если английский уже является языком по умолчанию для вашей темы)

  3. В твоем www.example.com/en/post-slug make sure the right textdomain is loaded by using the языковой фильтр в зависимости от типа сообщения:

    add_filter('gettext', 'translate_text'); add_filter('ngettext', 'translate_text'); function translate_text($translated) { $translated = str_ireplace('Choose an option', 'Select', $translated); $translated = str_ireplace('Original Text', 'Your Replacment Text', $translated); return $translated; }

Что касается html и css, у вас могут быть разные шаблоны для разных типов сообщений, так что это легко решается.

 

Sladkaja_st


Рег
11 Apr, 2007

Тем
82

Постов
195

Баллов
625
Похожие темы Дата
Похожие темы
Плагины — Отображение Данных Gravity Form На Странице Wordpress
Css — Вставьте Интервал Внутри Заголовка Виджета, Чтобы Придать Второму Слову Другой Цвет.
Я Пытаюсь Отредактировать Домашнюю Страницу Покупателя. После Публикации Я Не Могу Вносить Изменения И Хотел Посмотреть, Смогу Ли Я Отключить Их В (Tpl-Page-Homepage.php).
Поисковый Запрос По Пользовательскому Термину Таксономии, Заголовку Сообщения И Метаполю
Разработка Тем - Как Добавить Пользовательские Элементы Страницы В Редактор Wysiwyg?
Получить Идентификатор — Wordpress Возвращает Один И Тот Же Идентификатор Сообщения Каждый Раз И Везде!
Категории — Как Включить Редактор Форматированного Текста Tinymce В Интерфейсе Администратора?
Предварительное Заполнение Слага/Постоянной Ссылки Url-Адресом
Как Установить Заголовок Из Шаблона Страницы?
Как Правильно Добавить Javascript На Эту Страницу Php «Страница Не Найдена»?
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно