I'm unable to load the plugin's locale file (.mo). I did all the procedues described in the http://codex.wordpress.org/Writing_a_Plugin but its not working. If I the lang string to the wordpress default wp-content/language/de_De.mo file then its show the correct translated string. but not loading the data from my plugin folder :(


$plugin_dir = basename(dirname(__FILE__)) ."/lang/";
load_plugin_textdomain( 'tboy_displayTimeZone', null, $plugin_dir );

"All procedures" is not very descriptive. :)

Are you calling load_plugin_textdomain() function? Had you set domain in your plugin's strings?

There is also relevant section here: I18n for theme and plugin developers

  • Yes I did everything
    – coderex
    Sep 14 '10 at 9:37
  • hmmm... what is your .mo file named exactly?
    – Rarst
    Sep 14 '10 at 10:54
  • tboy_displayTimeZone.de_De.mo and tboy_displayTimeZone-de_De.mo I tried both.. :(
    – coderex
    Sep 14 '10 at 11:22
  • What does load_textdomain( $domain, $mofile ) returns with your values for domain and path to .mo file? Boolean true/false.
    – Rarst
    Sep 14 '10 at 11:30

You have to check if the plugin's unique name is described in the translation keywords terms. For example in this code:

echo = __('Word', 'your-plugin-unique-name');

The unique name is "your-plugin-unique-name". You should add this on load function:

load_plugin_textdomain( 'your-plugin-unique-name', null, $plugin_dir );

And also has it in your .MO file's name: 'your-plugin-unique-name-de_DE.mo'

It will work.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.