Вопрос или проблема
Я столкнулся с действительно простой проблемой: мы создали тему для мультитенантного WordPress (смотри здесь: http://www.agence-malttt.fr/) и перевели её с помощью Loco Translate на французский.
Она по-прежнему показывает английскую версию (хардкодированную с помощью _e()).
Теперь в моей теме есть fr_FR.po и fr_FR.mo, как и было весь это время.
Проблема в том, что перевод не применяется, что бы я ни делал.
Я даже внес изменения в wp-config.php и добавил define(‘WP_LANG’,’fr_FR’), изменил в общих настройках и сменил в функции Multisite, чтобы WP_LANG тоже был fr_FR. Всё равно не работает.
Может кто-то помочь нам? Что я упустил?
Окей, я это решил, проблема была в po файле, не хватало некоторых аргументов или информации в заголовках. Я сгенерировал новый и заменил его своими ранее сделанными переводами, сохранив только заголовки. Loco Translate заставил это работать. Ура!
Ответ или решение
Проблема, с которой вы столкнулись в процессе настройки многоязычного сайта на WordPress, является распространенной для пользователей, которые используют перевод тем с помощью плагинов, таких как Loco Translate. Давайте подробно разберем, как добиться корректного отображения переведенной версии вашего сайта и какие шаги стоит предпринять для устранения возникшей сложности.
1. Проверка Параметров Локализации
Вы упомянули, что сделали изменения в wp-config.php
, добавив строку:
define('WP_LANG', 'fr_FR');
Это правильный шаг, так как он указывает WordPress использовать французский язык. Тем не менее, убедитесь, что весь ваш обширный сайт также настроен на использование французского языка в админке.
2. Настройка Языка в Админке WordPress
Перейдите в Настройки > Общие, и убедитесь, что выбран французский язык. Учтите, что для многофункциональных сайтов (multisite) нужно проверить настройки каждого поддомена или подкаталога, поскольку они могут иметь отдельные языковые параметры.
3. Обновление Файлов Перевода
Как вы уже выяснили, проблема может заключаться в самих файлах перевода (PO и MO). Проверьте следующее:
- Убедитесь, что ваш файл
fr_FR.po
содержит все необходимые строки для перевода. - В заголовках файла PO убедитесь, что указаны корректные метаданные:
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language: fr_FR\n"
Если заголовок был неполным или неправильно оформлен, это может привести к тому, что WordPress не распознает файл перевода.
4. Проверка Плагина Loco Translate
Вы можете использовать Loco Translate для редактирования и генерации правильного файла PO и MO. Иногда плагин может автоматом дозаполнить недостающие значения или исправить ошибки.
- Зайдите в Loco Translate.
- Найдите вашу тему и выберите язык (французский).
- Убедитесь, что все строки переведены, и нет пропущенных.
5. Кэширование
Не забудьте удалить кэш вашего сайта (если у вас стоит какой-либо плагин кэширования) и браузера, так как старые версии страниц могут по-прежнему отображаться.
6. Убедитесь в отсутствии Конфликтов
Если вы используете другие плагины для перевода (например, WPML или Polylang), проверьте их настройки. Возможно, они конфликтуют с Loco Translate, и вам нужно настроить приоритеты плагинов.
7. Тестирование
После того как вы внесли изменения, протестируйте, отображается ли французская версия как нужно. Если изменения не вступили в силу, попробуйте временно отключить используемые плагины и активировать стандартную тему WordPress для исключения возможных конфликтов.
Заключение
Следуя указанным выше шагам и проверяя правильность настройки, вы должны быть в состоянии корректно отобразить французскую версию вашей темы. Не забывайте о важности грамотного оформления файлов перевода и конфигурации сайта. Если у вас возникнут дополнительные трудности, рекомендую обратиться за помощью в специализированные форумы WordPress, где опытные разработчики могут предложить вам более конкретные решения вашей ситуации.
Если у вас есть другие вопросы или вам нужна дополнительная помощь, не стесняйтесь обращаться!