
🚀 Масовий переклад .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+ рядків це різниця між «зробив за кавою» і «пішло пів дня».



