Всем привет. В этой новости опишу как можно быстро перевести файлы переводов тем или плагинов (.po и не только) при, помощи сервиса Lokalise.co используя автоматический перевод Google без нервов и при этом сохранив огромное количество времени.
Недавно возникла потребность создания русскоязычного перевода одной из тем WordPress заказчика. Причём заказчику было достаточно обычного автоматического перевода без правки каждой строки вручную. В начале Я пытался решить данный вопрос при помощи разных самописных решений на гитхабе, но в силу того что получить API Google Translate достаточно проблематично, а найденные решение или устарели или не работали… Пришлось придумывать свой велосипед.
Как вы уже знаете сервис Lokalise.co предоставляет возможность автоматического перевода при помощи Google Translate, но основное неудобство в том что для каждой строки нужно в ручном режиме нажимать кнопку автоматического перевода, что при наличии 1000 или более строк является весьма затруднительным занятием. Поэтому я написал маленький jQuery скрипт который Имитирует нажатие кнопки автоматического перевода (она указана ниже если вы не в курсе:).
Ниже расположен код который имитирует нажатие на данную кнопку:
/*Искусственный клик по кнопке для перевода Google*/
jQuery( document ).ready(function( $ ) {
$('a.key-function-button.machine-all').trigger('click');
});
Теперь пройдемся по инструкции создания проекта для перевода на сайте Lokalise.co.
ОБНОВЛЕНИЕ от 2020-12-30
Теперь делаем почти все то же самое что описано ниже, но переключаемся в данный режим:
И используем данный код:
/*Искусственный клик по кнопке для перевода Google*/br />
jQuery( document ).ready(function( $ ) {
$('span.key-function-button.machine-all.fontello-google-circle').trigger('click');br />
});br />
Сначала вам необходимо создать англоязычный перевод из .pot файла плагина или темы. Делается это предварительно перед работой с проектом на Lokalise.co, в программе poedit.
Для этого откройте в программе poedit .pot файл и нажмите кнопку “Создать новый перевод"

Укажите английский перевод как это указано на скриншоте ниже:
![Lokalise.co - быстрый перевод .po файлов при помощи Google Translate]()
Далее нажмите “Сохранить как” и сохраните .po файл
Теперь когда у нас есть файл с оригинальными для перевода строками, перейдем к работе с проектом перевода на сайте Lokalise.
Давайте создадим Первый проект в котором совершим наш перевод. Для этого нажмите в центре экрана надпись adding a project
Введите название проекта в данном примере я создал проект с названием ”MediaDoma автоматический перевод Google переводчиком”, выберите язык с которого будет совершён перевод (так же данный язык является основным языком проекта) в данном примере это английский после этого нажмите кнопку “Create”.

Загрузите ранее созданный .po файл, для этого нажмите зеленую кнопку с изображением стрелки вверх.
Перед вами откроется окно для загрузки файлов. Просто перетащите на него файл и он автоматически будет загружен. Или Воспользуйтесь стандартной функцией выбора файла в проводнике Windows как это изображено на скриншоте ниже
Укажите язык перевода в данном случае это английский — очень важно указать правильно перевод и чтобы он соответствовал основному языку проекта, в противном случае функция автоматического перевода Google Translate будет отсутствовать так как сайту будет непонятно с какого языка переводить.
Далее нажмите кнопку “Import the files”.
Когда импорт перевода будет окончен нажмите кнопку “Go to project” для перехода к проекту.
Далее добавим язык для перевода, в моем случае необходим русский поэтому я нажму плюсик для выбора языка.
затем выберу язык как указано на скриншоте ниже:
Как как видите у нас есть строки для перевода в английском языке но английские строки не отображаются, для того чтобы их туда поместить В начале я выберу все строки за тем в появившемся окне выберу “Copy keys to translations…” и укажу язык в которой нужно их скопировать. Затем нужно нажать “Copy”
Теперь Вам остается всего лишь открыть консоль браузера Ctrl+Shift+I и ввести код опубликованный в начале статьи и нажать Enter.
Стоит отметить что сразу все строки мой код не переведет так как на сайте используется ajax загрузка. Поэтому Вам необходимо применить код ровно столько раз сколько будет произведена подгрузка строк на странице, далее обязательно нужно проскролить проект и проверить все ли переводы были подгружены. На этом все, всем желаю удачи :).
Источник записи: https://mediadoma.com