Переведите плагин с помощью .po .mo файлы

Я хочу перевести этот плагин.

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

Как я создаю .po и .mo файлы для моего нового языка и делают их доступными, чтобы использоваться плагином? Я попытался определить русский язык в моем wp-config.php файл путем вставки определения ниже:

define ('WPLANG', 'ru_RU');
35
15.02.2017, 22:13
5 ответов

Редактор

Существуют другие, но это больше всего используется: Poedit, межплатформенные gettext каталоги (.po файлы) редактор.

Форматы

  • .mo обозначает Объект Машины
    - скомпилированный экспорт .po файл, который используется WordPress
  • .po обозначает Портативный Объект
    - доступный для редактирования текстовый файл со строками переводов
    - на основе ведущего устройства .pot файл, с помощью Обновления из файла ГОРШКА функция PoEdit
    - некоторые люди распределяют это как основной файл, но он должен использоваться только для переводов
  • .pot обозначает Портативный Шаблон объектов
    - доступный для редактирования текстовый файл раньше захватывал все переводимые строки из самого WordPress и Тем и Плагинов, с помощью Обновления из Источников функция PoEdit

Процедура

  • Копируйте .pot файл и переименуйте его к plugin-basename-lang_COUNTRY.po
  • Пример для сменного случая, на который ссылаются: subscribe-reloaded-pt_BR.po
    - pt_BR означает португальскую Бразилию, но много языков не имеют изменения страны...
    - необходимо будет заполнить с собственным языком
  • WPLANG в wp-config.php файл должен быть установлен на Ваш язык, например, pt_BR
  • Каждый раз Вы сохраняете .po файл, PoEdit автоматически генерирует a .mo файл, который является тем использование WordPress и в основном единственное, которое необходимо загрузить

Наблюдения

  • Если Вы делаете полное или достойный частичный перевод, отправляете его сменному автору, таким образом, он может включать его в Репозиторий, и Вам признают за него
  • Не забывайте делать резервное копирование из своего перевода, потому что при обновлении плагина, файл будет потерян
  • Предложение плагина @user17078 довольно хорошо, но я никогда не использовал его очень
45
19.02.2020, 21:54
  • 1
    Сколько времени новый mo/po файл, как предполагается, берет, чтобы иметь эффект? –  Nemo 14.12.2015, 02:30

Можно попробовать эту codestyling-локализацию plugin:. Можно перевести Вас плагины и темы с помощью этого.

8
19.02.2020, 21:54
  • 1
    Это - лучший плагин перевода, который я когда-либо видел. Этот плагин может владеть poedit в любой день, и большая часть - то, что это свободно и удобно для пользователя. За этот ответ нужно проголосовать по крайней мере. –  Gogol 02.10.2014, 12:37
  • 2
    Больше не существует. –  Chris Cox 03.06.2015, 14:27
  • 3
    Это похоже на хорошую альтернативу: wordpress.org/plugins/say-what –  jetlej 10.06.2015, 21:36
  • 4
    @jetlej, кажется, не работает на мой почтовый файл хотя:/ –  Nemo 14.12.2015, 02:29

Вы захотите использовать POEdit. Это - бесплатное приложение для создания .po/.mo файлы.

Я записал довольно всестороннее учебное руководство по всей теме здесь. Можно пропустить к Шагу 3 - Создают Файл Перевода Для текстового Домена.

5
19.02.2020, 21:54

Я предлагаю также http://poeditor.com/. Это - веб-инструментальное средство для перевода, которое работает отлично с .po, .mo, .pot и другими типами файлов.

5
19.02.2020, 21:54

(Вот ПРИМЕР перевода в DEUTSCH. ИЗМЕНИТЕСЬ таможня к YOUR ТРЕБОВАЛА.)

в каждой голове плагинов существует уникальное имя. (например:

/*
Plugin Name: my-pluginname
.......
*/

затем, в папке того плагина, создайте папку "языки";

затем, в Ваш плагин .php файл (где-нибудь в вершине), введите код инициализации:

class load_language 
{
    public function __construct()
    {
    add_action('init', array($this, 'load_my_transl'));
    }

     public function load_my_transl()
    {
        load_plugin_textdomain('my-pluginname', FALSE, dirname(plugin_basename(__FILE__)).'/languages/');
    }
}

$zzzz = new load_language;

затем откройте любой текстовый редактор, затем вставьте как этот код (ПРИМЕЧАНИЕ, ЧТО мы только добавляем два демонстрационных сообщения, "привет" и "до свидания", таким образом, Вы можете ADD AS МНОГО сообщений AS, ВЫ ХОТИТЕ с подобными строками).

# English translations for PACKAGE package.
# Copyright (C) 2012 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Automatically generated, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: my-pluginname 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-08-06 13:46-0400\n"
"PO-Revision-Date: 2013-03-21 11:20+0400\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"X-Poedit-SourceCharset: iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 1.5.4\n"


#: mypluginindex.php:87 (it is just a line of a note, to remind where our code appears)
msgid "mymessage1"
msgstr "Hello"

#: mypluginindex.php:88
msgid "mymessage2"
msgstr "Bye"

затем сохраните этот файл как "my-pluginname-en_US.po" (примечание, что .po является расширением файла, так проверьте, что Ваша программа текстового редактора не сохранила к "my-pluginname-en_US.po.TXT").

затем загрузите программное обеспечение POEDIT и откройте этот файл. затем отредактируйте поле "перевода" и затем сохраните, поскольку "my-pluginname-de_DE" там будет сгенерирован два файла (Если poEdit не генерирует второй .mo файл автоматически, просто перейдите к Файлу-> Предпочтения-> Редактор и установите флажок, который говорит "Автоматически компиляцию .mo файл на сохранении"),

затем поместите те два файл в папку "языков".

после этого открытые wp-config.php и находят этот код:

define ('WPLANG, '');

и изменение в

define ('WPLANG, 'de_DE');

Это все. Когда WordPress будет загружен, он считает Ваш файл языка плагинов с префиксом-de_DE.

Так, в .php файле плагина, вместо:

echo "Something string";

необходимо использовать:

echo __("mymessage1", 'my-pluginname');



Законченный. Теперь необходимо протестировать плагин.

p.s. использовал ссылки:

8
19.02.2020, 21:54
  • 1
    я попробовал это своей темой. В header.php я имею echo __("thanks-for-visiting", 'transparent');. В theme\languages\transparent-en_US.po я имею msgid "thanks-for-visiting" msgstr "Hello! Thank you for visiting. Take a look around and subscribe to the ". Это производит "спасибо за посещение" на фронтэнде. –  Steve 10.03.2014, 08:09

Теги

Похожие вопросы