Статьи

Чем отличается локализация от интернационализации

Чем отличается локализация от интернационализации

Интернационализация заключает в себе процесс подготовки исходных файлов к переводу на другие языки.

Локализация — это сам процесс перевода.

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

Затем сообщество или отдельные переводчики вытаскивают автоматизировано из кода строки для перевода, и переводят их в специальных программах, — Poedit одна из наиболее распространённых.

Во многих темах и плагинах вам не придётся вытаскивать строки из кода. Готовый файл для перевода .pot часто уже лежит в папке /languages. Вам остаётся его только загрузить в программу и перевести.

Пример локализации плагина

Для примера возьмём плагин Contact Form 7.

Шаблон для перевода находится в папке wp-content/plugins/contact-form-7/languages

 

Чем отличается локализация от интернационализации
Обратите внимание, Contact form 7 популярный плагин, и в нём уже есть русский перевод.

Работа в программе Poedit

Скачиваем и устанавливаем её. Запускаем Файл -> Создать из POT файла.... Выбираем язык перевода (ru_RU). Переводим. Жмём Файл -> Сохранить как..., программа автоматически создаст два файла .po и .mo. Переносим в каталог wp-content/languages/plugins/ с названием my-plugin-ru_RU.mo.

Не могу найти POT файл

Папка wp-content/plugins/my-plugin/languages не является обязательным месторасположением переводов.

Например, файлы перевода плагина Autoptimize находятся в каталоге wp-content/plugins/autoptimize/localization

Другие плагины, например Akismet, загружают готовые файлы перевода в директорию wp-content/languages, исходя из языковых настроек WordPress.

Для популярных плагинов практически всегда есть готовый POT файл и готовые скомпилированные файлы переводов на разные языки.

Есть .po, но нет .pot файла

Просто переименуйте .po в .pot, и из него создавайте нужный вам языковой перевод.

Нет ни .po, ни .pot

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

Сгенерировать POT файл вы можете с помощью той же программы Poedit.

  • Запускаете программу. Файл -> Создать.... Выбор языка, жмёте Отменить
  • Нажимаете Файл -> Сохранить как.... Сохраняете в папку плагина с расширением .pot
  • Жмёте Извлечь из исходного кода, откроется диалог со свойствами. На первой вкладке задаёте название проекта и язык.
  • На второй вкладке, добавляете и исключаете папки из перевода относительно базового пути.

  • На третьей вкладке Ключевые слова исходных файлов вписываете функции WordPress. Вот весь список. Не обязательно записывать все, но программа вытащит только если найдёт совпадения.

Чем отличается локализация от интернационализации | локализация

  • откроется сгенерированный POT файл и теперь из него можно создавать нужные языки переводов.

Если вы вдруг закрыли свойства извлечения, открыть диалог можно заново из меню Каталог -> Свойства.... Если вы сгенерировали POT файл, но забыли указать ключевую функцию или каталог, внесите изменения в Свойства и нажмите кнопку Обновить на панели инструментов.

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

Локализация с помощью плагина

Мы будем использовать Loco Translate, потому что он наиболее популярный и активно развивается, т.е совместим с последними версиями WordPress.

После установки и активации заходим в меню Loco Translate. Интерфейс на английском, но сообщает нам что в следующих версиях разработчики добавят файлы переводов.

На странице отображены включённая тема и работающие плагины. Если вы хотите увидеть все, жмёте See all plugins. Появится список.

Допустим, я хочу создать файл перевода для плагина WP Digg This. Шаблон и переводы в нём отсутствуют.

 

Чем отличается локализация от интернационализации

Нажимаю сначала Create template, затем New Language. Loco Translate сообщает, что нашёл 5 строк для перевода. Выбираем язык и жмём Start translating.

 

Чем отличается локализация от интернационализации | локализация

Появится окно со списком строк для перевода. После сохранения файлы .po и .mo автоматически генерируются.

Локализация шаблона WordPress

Процесс аналогичный переводу плагинов.

Вы можете использовать программу Poedit или плагин Loco Translate, что вам больше нравится.

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

Добавить комментарий