Как автоматически переводить плагины и темы WordPress с помощью Google Translate

Опубликовано: 2019-07-31

Мы все слышали статистические данные о том, что WordPress теперь поддерживает более 33% веб-сайтов, но как вы можете обеспечить максимально широкое использование вашего плагина или темы в экосистеме?

Удивительно, но менее половины всех сайтов WordPress имеют английский язык! Если у вас еще не настроены переводы, это означает, что более 50% ваших потенциальных клиентов, вероятно, не смогут работать с вашим продуктом на том языке, который они лучше всего понимают.

Статистика локали WordPress.org

Один из лучших способов открыть свой продукт миру — создать высококачественные переводы всего текста, с которым сталкивается пользователь, но проблема в том, что перевод занимает много времени (чем больше текста в вашем продукте, тем больше строк). переводить). Перевод также требует владения разными языками, знаний о том, как управлять файлами MO и PO, и в целом — больших усилий.

Меня зовут Диего Имбриани, и я разработчик плагинов с 2011 года. Я продаю свои плагины через свою компанию GreenTreeLabs, и в настоящее время мои продукты активны примерно на 70 000 веб-сайтов по всему миру.

К счастью, я нашел способ облегчить весь процесс перевода и сделать перевод плагинов и тем намного проще.

вступление

Недавно я хотел добавить итальянский перевод в один из моих плагинов: Final Tiles Gallery для WordPress, поэтому я открыл PO-файл плагина, который содержит все переводимые строки, и начал переводить свой плагин построчно.

Итальянский файл PO Final Tiles Gallery

Выдержка из итальянского PO-файла Final Tiles Gallery

PO-файл Final Tiles Gallery содержит около 350 записей, и их перевод занимает около 2 часов, и, честно говоря, я не нахожу эту работу очень привлекательной. Когда я копался в переводах, я задавался вопросом, существует ли способ автоматического перевода моего PO-файла…

Я решил немного поэкспериментировать с Google Translate API и сумел написать скрипт для выполнения именно этой задачи! Ниже я проведу вас шаг за шагом и покажу, как вы можете использовать созданный мной скрипт для автоматического перевода ваших плагинов или тем WordPress.

WordPress и языки

Должен признаться, я никогда особо не беспокоился о переводе своих плагинов. Я итальянец, но всегда использовал программы и операционные системы на английском языке. Кажется «странным» использовать любой пользовательский интерфейс, который не на английском языке. Может быть, это только я

WordPress используют миллионы людей любого происхождения, языка и культуры со всего мира. Мы просто не можем игнорировать перевод наших плагинов и тем.

WordPress используют миллионы людей любого происхождения, языка и культуры — из любой части мира. Мы просто не можем игнорировать перевод наших плагинов и тем.Tweet

Я продаю свои плагины с помощью Freemius, у которого есть отличная панель инструментов с чрезвычайно полезной аналитикой и статистикой. Несколько дней назад я просмотрел таблицу «10 лучших языков», которую вы найдете на их панели инструментов разработчика , и хотя я знаю, что многие сайты, на которых установлена ​​Final Tiles Gallery , не на английском языке, я был очень удивлен, увидев обнаружили, что в выборке из примерно 25 000 установок менее 50% веб-сайтов на английском языке! Вот обзор:

Всего установок по странам

Как видите, французы, немцы и русские составляют большой процент пользователей, всего почти 20%.

Преимущества перевода плагина или темы

Для компаний, занимающихся плагинами или темами WordPress, перевод наших продуктов также является маркетинговой возможностью по многим причинам:

Большая аудитория

Не все пользователи WordPress готовы устанавливать плагин, который не переведен на их язык. Это может быть по многим причинам, но в основном потому, что они, вероятно, не понимают английский язык.

В других случаях пользователи могут понимать английский, но просто предпочитают свой родной язык. Таким образом, при выборе между двумя похожими плагинами эти клиенты выберут тот, который написан на их языке, даже если другой плагин будет немного лучше.

Это также может быть связано с культурными причинами. Например, по историческим причинам, особенно старшее поколение французов не любит английский язык. Если вы погуглите «почему французы ненавидят английский», вы найдете десятки статей на эту тему. Более того, только около 40% французов фактически говорят на этом языке. Поэтому, если ваш продукт не переведен на французский язык, вы немедленно потеряете 60% доли французского рынка WordPress. И если вашему продукту есть французская альтернатива, вы, вероятно, потеряете их все или, по крайней мере, подавляющее большинство. Подобный анализ актуален для многих азиатских стран, таких как Япония, которые еще не «американизированы».

WordPress.org SEO

Вова Фельдман, генеральный директор Freemius, немного написал о преимуществах перевода для SEO в репозитории WordPress.org, но это нельзя не подчеркнуть. Дело в том, что алгоритм поиска в репозитории очень чувствителен к использованию разных языков в вашем файле readme.txt.

Сосредоточение ваших усилий на переводе не только строк вашего продукта, но и вашего файла readme.txt может увеличить ваш маркетинговый охват репозитория. Хотя большинство пользователей выполняют поиск на английском языке, на основе статистики по локали с WordPress.org, упомянутой выше, становится ясно, что есть много пользователей, которые не выполняют поиск на английском языке и, следовательно, имеют лишь ограниченный доступ ко многим плагинам и темам, доступным для тех, кто которые понимают английский.

Алгоритм дает разные результаты в зависимости от языкового стандарта данной установки WordPress — перевод вашего продукта преодолевает этот барьер для доступа к пользователям, которых вы обычно никогда не смогли бы охватить.

Вова очень хорошо выразился, когда сказал: «Итог – переводы сейчас важнее, чем когда-либо!» – и это по-прежнему верно больше года спустя.

Репутация

Перевод вашего плагина или темы имеет некоторые положительные психологические последствия для вашего клиента. Плагин или тема, которые предлагают переводы на родной язык ваших клиентов, могут восприниматься как продукт более высокого качества. Это означает, что разработчик потратил время не только на технические вопросы. Клиенты оценят эту ценность и, надеюсь, поэтому по-другому увидят качество вашего продукта.

Плагин или тема, предлагающая перевод на ваш родной язык, могут восприниматься как качественный продукт. Это означает, что разработчик позаботился о том, чтобы потратить время не только на технические вопросы.Tweet

Авторы

Добавление переводов к вашему плагину или теме может создать эффект домино добровольных переводчиков в репозитории WordPress.org, если вы предлагаете бесплатный плагин или тему. Плагин, в котором переведено всего несколько языков, считается гораздо более популярным, чем плагин без перевода вообще, поэтому добровольцы могут быть более склонны внести свой вклад.

Статистика переводов для плагина Gutenberg

Список некоторых статистических данных о переводах для плагина Gutenberg

Итак, теперь, когда мы понимаем преимущества перевода наших продуктов, возникает следующий вопрос: сколько языков мы должны поддерживать?

Выбор поддерживаемых языков

Начнем с того, что нет ограничений на количество поддерживаемых языков. Но нам нужно рассмотреть несколько вещей, прежде чем просто перевести ваш плагин или тему на все из них.

Проблема в том, что если вы переводите каждый язык с помощью Google Translate, неизбежно будут неправильные переводы. В результате вы можете получить отзывы пользователей о неправильных переводах в вашем плагине или теме.

Чтобы решить эту проблему, я предлагаю начать с самых популярных языков, а данные такого типа можно получить из 3-х мест. Во-первых, это панель инструментов разработчика Freemius, как упоминалось выше. Если вы не используете Freemius, другой полезной опцией является страница статистики WordPress.org, которая показывает самые популярные локали WordPress. Другим надежным вариантом будет просмотр статистики Google Analytics для веб-сайта вашего продукта.

Подпишитесь и получите бесплатную копию нашего

Бизнес-книга плагинов WordPress

Как создать процветающий бизнес плагинов WordPress в экономике подписки.

Поделитесь с другом

Введите адрес электронной почты вашего друга. Мы отправим им только эту книгу по электронной почте, честь скаута.

Спасибо, что поделились

Потрясающе — копия «Бизнес-книги плагинов WordPress» была только что отправлена ​​на . Хотите помочь нам распространить информацию еще больше? Продолжайте, поделитесь книгой с друзьями и коллегами.

Спасибо за подписку!

- мы только что отправили вашу копию «Бизнес-книги плагинов WordPress» на .

В письме есть опечатка? нажмите здесь, чтобы изменить адрес электронной почты и отправить снова.

Книжная обложка
Книжная обложка

Куда бы ни указывали цифры, вы можете выбрать языки с наибольшей аудиторией. Если вы сначала предлагаете несколько переводов этой аудитории, вы можете попросить некоторых из ваших клиентов или коллег просмотреть переводы, прежде чем публиковать их, чтобы вы не были перегружены отзывами клиентов о незначительных проблемах с переводом. В Fiverr также есть множество профессионалов, которые могут помочь подтвердить ваши переводы. Вы можете еще больше снизить нагрузку на службу поддержки, добавив уведомление в настройки администратора WP вашего плагина или темы, чтобы информировать пользователей о том, чтобы предлагать обновления перевода в репозитории WordPress.org вместо отправки поддержки. проездной билет.

Выполнение этого пошагового процесса для каждого языка является логичным способом продолжить работу, чтобы вы могли добиться высокого качества переводов и предотвратить переполнение очереди поддержки множеством мелких заявок.

Использование Google Translate API для перевода вашего плагина/темы

Google Cloud предоставляет API, чтобы вы могли использовать Translate как услугу.

Цены на API Google Переводчика

Версия 3 API бесплатна до 500 000 символов в месяц и 20 долларов США за миллион символов, если вы превысите квоту. Вы можете прочитать подробности о ценах здесь.

Цены на API перевода

Цены на Google Translate API (май 2019 г.)

Краткое примечание — интернационализировано

Все плагины должны быть интернационализированы перед локализацией . Отличным местом для начала является руководство WordPress.org I18n для разработчиков WordPress, в котором объясняются шаги. После того, как вы создали файлы .pot/.po, вы можете приступить к описанному ниже процессу написания сценария.

Все плагины должны быть интернационализированы перед локализацией. Отличным местом для начала является руководство WordPress.org I18n для разработчиков WordPress, в котором объясняются шаги.

Давайте сценарий!

Прежде чем мы сможем запустить скрипт, нам нужно создать новый проект в консоли Google Cloud. Если вам нужна помощь с этой задачей, ознакомьтесь с этим руководством или выполните следующие действия:

  1. Перейдите на https://console.developers.google.com и войдите в систему.
  2. Нажмите «Нет организации» или выберите предпочитаемую организацию (мы предполагаем, что у вас ее нет):

Организация Google Cloud Select

3. Нажмите «Новый проект»:

Google Cloud Новый проект

4. Введите имя проекта и нажмите «Создать»:

Новый облачный проект Google

5. Теперь вы должны быть перенаправлены на панель инструментов консоли. Нажмите «Включить API и сервисы»:

Панель инструментов облачной консоли Google

6. Найдите «Cloud Translation API»:

Библиотека облачного API Google

7. Нажмите «Включить»:

Включить API облачного перевода

Теперь, когда у нас есть проект, нам нужно настроить учетную запись службы для авторизации наших запросов к API Google. Вы можете выполнить шаги 1 и 2 в этом руководстве на платформе Google Cloud, в противном случае выполните следующие действия:

  1. Перейдите в раздел «Сервисные аккаунты» из главного меню: «IAM & Admin»:

Google Cloud IAM и администратор

2. Нажмите «Создать сервисный аккаунт»:

Google Cloud Создание сервисного аккаунта

3. Введите имя и описание учетной записи службы и нажмите «Создать»:

4. Нажмите «Продолжить», чтобы пропустить выбор роли, так как он нам не нужен:

Создание учетной записи облачной службы Google

5. Теперь нажмите «Создать ключ», а затем нажмите «Создать», убедитесь, что вы выбрали формат JSON:

Включение ключа создания учетной записи облачной службы Google

6. После того, как вы создадите ключ, браузер загрузит его автоматически. Запомните папку, в которую вы собираетесь сохранить файл, так как он понадобится нам позже.

Теперь все готово к работе, но перед запуском скрипта убедитесь, что вы установили переменную среды GOOGLE_APPLICATION_CREDENTIALS, как описано в руководстве:

Пример: Linux или macOS

Замените [PATH] на путь к файлу JSON, который содержит ключ вашей учетной записи службы.

export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"

Например:

export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/service-account-file.json"

Пример: Windows:

Замените [PATH] на путь к файлу JSON, который содержит ключ вашей учетной записи службы, а [FILE_NAME] на имя файла.

С PowerShell:

$env:GOOGLE_APPLICATION_CREDENTIALS="[PATH]"

Например:

$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\[FILE_NAME].json"

С командной строкой:

set GOOGLE_APPLICATION_CREDENTIALS=[PATH]

Теперь, когда мы закончили со скучными вещами, мы можем приступить к переводу!

  1. Клонируйте репозиторий с https://github.com/GreenTreeLabs/po-gtranslator.
    1. Откройте командную строку и выполните следующую команду:
    2. Клон Git https://github.com/GreenTreeLabs/po-gtranslator.git
    3. Если у вас не установлен git, вы можете скачать его здесь.
  2. Войдите в каталог по-переводчика:

cd po-gtranslator

  1. Установите зависимости:

npm install

  1. Если у вас нет утилиты npm, обязательно установите Node.js отсюда.
  2. Запустите скрипт со всеми необходимыми параметрами:

node po-gtranslator.js --project_id=final-tiles-gallery --po_source=it.po --po_dest=it_IT.po --mo=it.mo --lang=it

Давайте посмотрим на каждый параметр:

--project_id : идентификатор вашего проекта Google, вы можете получить его из Google Cloud Console.

--po_source : путь к пустому файлу PO, который вы хотите перевести

--po_dest : путь к PO-файлу с переводами

--mo : путь к файлу MO

--lang : код языка, на который вы хотите перевести

Обратите внимание, что исходный PO-файл останется непереведенным, и его можно будет использовать для создания любого количества языков. Файл PO, который вам нужно добавить в свой плагин или тему, — это тот, который вы передаете как –po_dest, который уникален для каждого языка.

Автоматический перевод в действии!
po-gtranslator.js в действии!

Спасибо за сценарий со мной!

Мне было интересно разобраться в этом процессе, и я надеюсь, что это поможет вам в ваших усилиях по переводу. Свяжитесь со мной @GreenTreeLabs или оставьте комментарий ниже с любыми вопросами или отзывами.