bluantinoo
  • 0
Новичок

Локализация плагина

  • 0

я только что создал свой первый плагин для wp, и даже если это не великая «поэзия кода» 😉 он работает как надо. Это плагин, который преобразует галерею wp по умолчанию с помощью плагина jquery GalleryView 3.0 ( http://spaceforaname.com/galleryview ).

Единственное, что я не могу сделать, это локализация. Локализация для этого плагина означает перевод интерфейса администратора, где кто-то может настроить параметры плагина jquery, чтобы изменить внешний вид результирующей галереи.

Я пытался следовать миллионам руководств, представленных в Интернете, читал множество сообщений об этой проблеме на форумах и следовал рекомендациям кодекса… но все равно безуспешно.

Вот что я сделал:

  1. Каждая текстовая строка находится внутри функции gettext ( __ и _e )
  2. Используя poedit, я создал файл .po и .mo просканировал каталог плагинов (все прошло нормально), затем добавил переводы в этот файл.
  3. Я назвал .po файл так NAME-OF-THE-PLUGIN-it_IT.po ( .mo файл был сгенерирован с таким же именем)
  4. Я поместил файлы переводов в папку плагина /languages (имя папки такое же, как у плагина и файлов переводов).
  5. Затем я попытался добавить load_plugin_textdomain функцию в основной файл плагина. Я пытался, потому что нет никакого способа заставить его работать.

Единственное, в чем я не уверен, так это в том, что плагин, который я создал, не относится к функциям класса + конструктора… просто потому, что я все еще не так хорош в кодировании.

Я поместил load_plugin_textdomain внутреннюю часть в add_action init, например:

add_action('init', 'gw_load_translation_file');

function gw_load_translation_file() {
    // relative path to WP_PLUGIN_DIR where the translation files will sit:
    $plugin_path = dirname(plugin_basename( __FILE__ ) .'/languages' );
    load_plugin_textdomain( 'gallery-view-for-wordpress', false, $plugin_path );
}

Строки выше не внутри логики, они просто в основном файле плагина, вот так.

Это пример моего использования функций gettext:

<h3><?php _e('Panel Options', 'gallery-view-for-wordpress') ?></h3>

Что я не понял?

Share
  1. Что вы ожидаете, если вы не запустите свою установку на другом языке / локали, вы не увидите ничего переведенного. Возможно, мой переводимый плагин может вам пригодиться для тестирования изменений локали.

    • 0
  2. $plugin_path = dirname( plugin_basename( __FILE__ ) ). '/languages/';

    • 0

Оставить ответ

You must login to add an answer.