I have completed my plugin, now want to provide a multilingual features for my users. I goggled about it, but it’s hard to implement.
I’ve seen WordPress translation but need basic steps to follow and translate my plugin.
I have done these
- downloaded POEdit.
- created ‘french.po’ file in plugin dir
- complied ‘french.po’ -> ‘french.mo’
Need to do
- How to define msgid & msgstr in po file?
- How to load po/mo file in plugin?
- How to replace labels/text through po/mo file?
- how to use
__e()&___()to replace ‘msgstr’ in plugin pages?
With a plugin called, Codestyling Localization, you don’t need to use POEdit.
I’ll show you an example of using ‘localizationsample’ as the text domain. In this case, the language files are in the /lang/ directory. They don’t need to be those names in your actual plugin; they are just examples.
Steps
Add these lines in the plugin comment header to be recognized by Codestyling Localization.
Text Domain: localizationsample
Domain Path: /lang
Create a directory named
langin your plugin directory.Install and activate the Codestyling Localization plugin.
Go to
Tools->LocalizationFind your plugin and click on
Add New LanguageSelect the language (country) to localize in the radio button and press
Create po-fileAt this point make sure a .po file is created in the lang folder.Press
Rescan->scan nowThis is recommended since in my system without doing this, the plugin always shows an error saying “not all items are using the same text domain.”Press
EditThis will bring you another page listing the messages available to be translated. Those messages are the ones passed to the functions__()and_e()in the plugin code.Click on
Editin the table next toCopythen you’ll get a dialog box to type your translation for each message. Finish translating.Press
generate mo-fileAt this point, you should see a .mo file being created in thelangfolder.Change your locale specified in
wp-config.phpto reflect the translation. The default isdefine('WPLANG', '');Sample plugin