
🚀 Массовый перевод .po файлов в Lokalise через консоль браузера
Когда тема или плагин WordPress приходит без русского перевода, а строк в .po-файле, тысяча и больше, ручной перевод каждой через Poedit превращается в многодневную рутину. Заказчику часто достаточно машинного перевода: Google Translate выдаёт приемлемый результат для интерфейсных строк, а ручная доводка нужна лишь в паре десятков мест.
Проблема в том, что Lokalise, мощная платформа для управления переводами, из коробки не даёт кнопки «перевести всё сразу». Для каждой строки автоперевод через Google Translate нужно нажимать отдельно. Именно это ограничение мы и обойдём: небольшой скрипт в консоли браузера имитирует нажатие кнопки для всего списка строк. Метод проверен на проектах от 200 до 3000+ строк.
💡 Быстрый обзор:
- Готовим PO-файл из POT в Poedit с английским переводом-заглушкой.
- Создаём проект в Lokalise, загружаем исходник и добавляем целевой язык.
- Копируем ключи в целевой язык и запускаем скрипт в консоли браузера.
- Учитываем AJAX-подгрузку: применяем скрипт столько раз, сколько партий строк подгрузил Lokalise.
Что такое Lokalise и зачем он для перевода.po
Lokalise, это Translation Management System (TMS), которая поддерживает файлы .po/.pot из коробки. Платформа интегрирована с Google Translate, DeepL и собственным AI-движком, что позволяет получать машинный перевод для каждой строки одним кликом. Проблема в том, что одного клика на проект недостаточно: кнопку автоматического перевода нужно нажимать для каждой строки отдельно.
Для небольших файлов на 50-100 строк это терпимо. Но реальный .pot плагина или темы редко содержит меньше 500 строк, а крупные продукты (WooCommerce, темы с конструкторами) легко уходят за 2000. Именно для таких случаев написан jQuery-скрипт из этой статьи: он «прожимает» кнопку перевода для всех видимых на экране строк разом.
Шаг 1: Создаём.po-файл из.pot в Poedit
До работы с Lokalise нужен англоязычный .po-файл, сгенерированный из .pot-шаблона. Скачайте и установите Poedit, бесплатный редактор переводов для Windows, macOS и Linux.
Откройте .pot-файл темы или плагина в Poedit и нажмите кнопку «Создать новый перевод»:

В открывшемся окне выберите английский язык (English), он станет языком исходных строк для Lokalise:

Нажмите «Сохранить как» и сохраните файл с расширением .po. Содержимое строк на этом этапе не важно, переводить в Poedit мы ничего не будем, все строки останутся на английском как заглушки.

Теперь у вас есть .po-файл с исходными английскими строками. Переходим к самому Lokalise.
Шаг 2: Создаём проект перевода в Lokalise
Зарегистрируйтесь на lokalise.com, для разового перевода хватит бесплатного trial-периода. После входа нажмите «Adding a project» в центре экрана:

Заполните поля: название проекта (любое, например «Перевод темы X»), выберите базовый язык, English. Именно с него Lokalise будет выполнять автоперевод на другие языки. Нажмите «Create».

Шаг 3: Загружаем подготовленный.po-файл
В свежесозданном проекте нажмите зелёную кнопку со стрелкой вверх для загрузки файла:

Откроется окно загрузки. Перетащите в него .po-файл мышью или нажмите на область, чтобы выбрать файл через проводник Windows:

Критически важно: в поле языка укажите English. Если язык файла не совпадёт с базовым языком проекта, кнопка автоматического перевода Google Translate не появится, платформа не сможет определить, с какого языка переводить.
Нажмите «Import the files»:

После завершения импорта нажмите «Go to project», вы окажетесь в рабочем пространстве со списком строк.
Шаг 4: Добавляем целевой язык перевода
Нажмите значок плюса в языковой панели, чтобы добавить язык, на который будем переводить:

Выберите нужный язык из выпадающего списка. Для русского, Russian:

Шаг 5: Копируем ключи в целевой язык
Сейчас у нас есть колонка с английскими строками, но колонка русского языка пуста. Нужно скопировать туда ключи (исходные строки), именно к ним будет применён автоматический перевод.
Выделите все строки (Ctrl+A), нажмите появившуюся кнопку действий и выберите «Copy keys to translations…». В открывшемся окне укажите Russian и нажмите «Copy»:

Теперь в русской колонке появились английские строки-заглушки, к которым можно применить автоперевод.
Шаг 6: Массовый автоперевод через консоль браузера
Откройте консоль разработчика: Ctrl+Shift+I (Windows/Linux) или Cmd+Option+I (macOS). Ниже, кнопка, нажатие которой имитирует наш скрипт. В актуальном интерфейсе Lokalise она выглядит как иконка Google:

Вот скрипт, который «прожимает» эту кнопку для всех видимых строк:
1 /* Массовый автоперевод Google Translate в Lokalise */ 2 jQuery(document).ready(function ($) { 3 $('span.key-function-button.machine-all.fontello-google-circle').trigger('click'); 4 });
Скопируйте код, вставьте в консоль и нажмите Enter. Строки начнут переводиться одна за другой.
Важный нюанс: Lokalise использует AJAX-подгрузку и показывает строки порциями. После того как скрипт обработал видимые строки, проскролльте страницу вниз, подгрузятся новые, ещё не переведённые. Снова вставьте скрипт в консоль и нажмите Enter. Повторяйте, пока все строки не будут переведены.
Для старой версии интерфейса (если кнопка автоперевода выглядит иначе) используйте этот вариант:

1 /* Искусственный клик по кнопке перевода Google (старый интерфейс) */ 2 jQuery(document).ready(function ($) { 3 $('a.key-function-button.machine-all').trigger('click'); 4 });
После того как все строки переведены, обязательно проскролльте проект до конца и проверьте визуально: каждая ли строка в колонке перевода заполнена. Пропущенные, либо не подгрузились (пролистайте ещё раз), либо для них автоперевод не сработал (нажмите кнопку вручную).

Готовый перевод скачивается кнопкой Download в интерфейсе проекта. Вы получите .po-файл, который можно сразу загрузить в WordPress.
Ниже, короткое видео, показывающее полный цикл работы с .po-файлами в Lokalise от загрузки до экспорта:
⁉️🤔 Частые вопросы
Скрипт не переводит строки, в чём дело?
Первое: проверьте, что язык исходного файла при импорте совпадает с базовым языком проекта. Если в проекте указан English, а файл загружен как Russian, кнопка Google Translate не появится. Второе: откройте консоль (F12) и посмотрите ошибки. Если jQuery не определён, значит сайт Lokalise изменил структуру, и селекторы в скрипте нужно обновить. Третье: убедитесь, что вы скопировали ключи в целевой язык (шаг 5), без этого переводить нечего.
Можно ли перевести так же через DeepL вместо Google Translate?
Да, если в проекте подключён DeepL. Принцип тот же: кнопка автоперевода меняется, но скрипт можно адаптировать под другой CSS-селектор. Найдите элемент кнопки DeepL через инспектор (Ctrl+Shift+C), скопируйте его класс или атрибут и подставьте в селектор
$('селектор-кнопки').trigger('click').
Сколько строк переводится за один запуск скрипта?
Ровно столько, сколько сейчас отображается на экране. Lokalise подгружает строки порциями (обычно по 50-100), поэтому после каждого скролла вниз скрипт нужно запускать заново. На проекте в 2000 строк типичный цикл, 5-7 запусков.
Безопасно ли вводить код в консоль на чужом сайте?
Скрипт делает ровно одно действие: программно кликает по кнопке, которую вы и так нажимали бы вручную. Никакие данные никуда не отправляются, код работает только в рамках вашего браузера и только на открытой странице Lokalise. Но правило хорошего тона: всегда читайте код, который вставляете в консоль, особенно если берёте его не из официальной документации.
Что делать, если после перевода часть строк осталась на английском?
Скорее всего, вы не доскроллили страницу до конца и пропустили одну из AJAX-подгрузок. Пролистайте проект до самого низа, дождитесь полной загрузки всех порций строк и запустите скрипт ещё раз. Если отдельные строки всё равно не перевелись, нажмите кнопку автоперевода для них вручную (такое бывает, если API Google Translate вернул ошибку для конкретной фразы).
Когда консольный перевод выигрывает у встроенной автоматизации
Метод с консолью не замена полноценному TMS-воркфлоу. Если вы профессионально занимаетесь локализацией, в Lokalise есть встроенная пакетная обработка (pre-translate), интеграции с CAT-инструментами и AI-перевод с контекстом. Но для типовой задачи «перевести одну тему WordPress и забыть» консольный подход даёт результат за 5-10 минут без deep-dive в документацию платформы.
Сам процесс, от установки Poedit до финального .po-файла, укладывается в три шага: подготовить файл, загрузить в Lokalise, прогнать скрипт. Если объём больше 500 строк, экономия времени по сравнению с ручным нажатием кнопки для каждой строки, десятки минут, а при 2000+ строк это разница между «сделал за кофе» и «ушло полдня».



