Я тоже думал как это реализовать, но в целом задача выглядит не супер сложной. Допустим, если получить из текста все теги
<p>, то мы можем
->innertext заменить переводом, после чего у нас в переменной $html будет уже переведенный текст
$paragraphs = $html->find( 'p' );
foreach ( $paragraphs as $key => $paragraph ) {
$paragraph->innertext = get_translate($paragraph->innertext);
}
Конечно, абзацы могут содержать инлайновые теги типо
<span>,
<strong> и хуже всего
<a>. С ними сложнее, но если знать в каком точно формате их переводит переводчик, то регуляркой можно заменить обратно
Что касается api переводчиков, то они вроде все платные, но с настройкой по документации не должно возникнуть много проблем. Кстати, в мае Яндекс запустили новый сервис Yandex Translate с переводом на нейронках. Стоит это 45 руб. за 100к. символов. Стоит тестить, я считаю