Plugin Localization

i’ve just built my first plugin for wp, and even if it’s not a great “code poetry” 😉 it works as it should.
It’s a plugin that transform the default wp gallery using the GalleryView 3.0 jquery plugin (http://spaceforaname.com/galleryview).

The only thing i’m not able to do is localization.
Localization for this plugin in means translating the admin interface, where someone can configure the jquery plugin options to change the aspect of the resulting gallery.

I’ve tried to follow the millions of tutorials present on the web, read a lot of posts about this issue on forums and followed the guidelinees of codex… but still with no luck.

This is what i’ve done:

  1. Every text line is inside a gettext function ( __ and _e )
  2. Using poedit i created the .po and .mo file scanning the plugin directory (everythig went ok), then i added translations on that file.
  3. I named the .po file like that NAME-OF-THE-PLUGIN-it_IT.po (the .mo file was generated with the same name)
  4. I’ve put the translations files inside the plugin folder /languages (name of the folder is the same of the plugin and of the translations files)
  5. Then i’ve tried to add the load_plugin_textdomain function inside the main plugin file. I’ve tried because there’s no way to get it working.

The only thing on which i’m not sure is the fact that the plugin i’ve created is not under a class + constructor funcions… just because i’m still not so good in coding.

I’ve put the load_plugin_textdomain inside an add_action on init, like this:

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 );
}

The lines above are not inside a logic, they are just in the main plugin file, like that.

This is an example of my use of gettext functions:

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

What did i not understand?

1 Answer
1

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

Leave a Comment