AI. Бесплатный перевод WordPress страниц.

Предисловие

В этой статье я расскажу о бесплатном переводчике html кода (в т.ч. wordpress html кода), который я написал специально для этой статьи.

Переводчик html старая версия.

Уже существует переводчик translate-html, однако, у него есть недостатки:

  • Переводит комментарии, что ужасно для перевода wordpress, т.к. редактор поста на них опирается ( wp:paragraph, /wp:paragraph)
  • Использует набор функций, вместо класса включающего эти функции. Что делает пользование этой библиотекой — менее удобной.

По этой причине, я модифицировал translate-html и назвал htmlTranslatorImproved

Подготовка

  1. Установите библиотеку argos-translate
  2. Скачайте htmlTranslatorImproved
  3. Скачайте модель перевода с русского на английский, и поместите в папку с htmlTranslatorImproved
  4. Если вы владелец сайта, установите плагин Polylang, который создает отдельные копии страниц для каждого языка.

Сейчас мы будем переводить page.html, код которого я взял из статьи про argos-trasnlate, вот таким образом.

Откройте в редакторе кода example1.py

from src.htmlTranslatorImproved import htmlTranslator

#Помести модель перевода (translate-ru_en-1_0.argosmodel) в папку с этим примером
#Скачать модель: https://www.argosopentech.com/argospm/index/

#Передаем: путь_до_модели, код_исходного_языка, код_языка_перевода
translator = htmlTranslator("translate-ru_en-1_0.argosmodel", "ru", "en")
#Открываем html
translator.get_file("page.html")
#Переводим
translator.translate()
#Сохраняем перевод
translator.saveFile("out.html")

В комментариях все объяснено, в этой статье я перевел их на русский, но у вас все будет на английском.

Запустите example1.py, вы получите перевод page.html, который хранится в out.html. Код переведен, осталось его импортировать на сайт wordpress. Для этого, перенесите код out.html, в английский вариант страницы.

Это все хорошо, но очень неудобно, особенно если нужно перевести много статей. Поэтому есть 2-й вариант.

Переводим несколько статей.

Экспортируем статьи через Инструменты -> Экспорт, в админке.

Полученный xml переименуйте в testDump.xml и киньте в папку с example1.py. Код example.py замените на следующее:

#Put model path, from_lang_code, to_lang_code
translator = htmlTranslator("translate-ru_en-1_0.argosmodel", "ru", "en")
#Open xml
translator.get_file("testDump.xml", "xml_wp")
#Translate
translator.translate()
#Save
translator.saveFile("testOut.xml")

В функцию get_file передали:

  • путь до файла — testDump.xml
  • тип перевода — xml_wp (по умолчанию html)

Ок, все остальное ранее уже разбирали. Полученный testOut.xml импортируете в админке wordpress через Инструменты -> Импорт, тип импорта WordPress.

Итоговый результат

Пожалуйста отключи блокировщик рекламы, или внеси сайт в белый список!

Please disable your adblocker or whitelist this site!