I’ve just built my first plugin for WordPress, 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:
- every text line is inside a gettext function (
__
and_e
) - using poedit I created the .po and .mo file scanning the plugin directory (everything went ok), then i added translations on that file.
- I named the .po file like that NAME-OF-THE-PLUGIN-it_IT.po (the .mo file was generated with the same name)
- 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)
- 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 functions… just because I’m still not so good in coding.
But I’ve put the load_plugin_textdomain
inside an init add_action
, 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?
My mistake was on language files path declaration.
this fixed:
this was wrong:
I was answered on WordPress Stack Exchange
Contrary to my previous statement, I’ve succeeded using this filename:
gallery-view-for-wp-it_IT.mo
Strange, though – themes use just
it_IT.mo
.