Перевод содержимого страницы WordPress

Я знаю, как переводить контент в WordPress, когда он указан в файлах PHP, используя файлы .mo и .po, например, с помощью Poedit. Но контент на страницах WordPress сохраняется в базе данных MySQL, поэтому мне кажется, что такой подход невозможен. Есть ли способ сделать это без использования сторонних плагинов?

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


person samurdhilbk    schedule 15.03.2017    source источник
comment
Нет, перевод содержимого поста осуществляется с помощью плагинов перевода, создающих альтернативный контент для разных языков (без участия файлов po-mo).   -  person yivi    schedule 15.03.2017


Ответы (2)


Есть ли способ сделать это без использования сторонних плагинов?

В рамках одного сайта нет.

В WordPress нет встроенной поддержки многоязычного содержимого постов и нет возможности переключаться между языками на одном сайте для отображения разных версий постов. Для этой функциональности потребуется плагин.

Есть способ сделать это без плагинов, но по сути это означает дублирование всего вашего контента на нескольких сайтах с помощью мультисайта. .

Например, вы можете указать www.example.com на английском языке, но добавить сайт по адресу es.example.com (или example.com/es) и установить языка этого сайта на испанский. Затем вам придется воссоздать все свои английские сообщения на втором сайте и написать их снова на испанском языке.

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

person Tim    schedule 05.10.2017

Возможно, можно экспортировать всю строку с помощью REGEX в MySql (прочитайте это обсуждение об этом ).

Имейте в виду, что больше всего строк находится в таблицах prefix_posts и prefix_postmeta. После этого вы можете попробовать создать файл .mo и .po, но я не пробовал.

person ClodClod91    schedule 15.03.2017