I made a custom theme and wonder how could I extract all translatable strings to a .po file so I can translate it. Do I need WPML plugin?

Ex: I have a string "soccer" which is written as _e('soccer','mytheme'); and I want to translate it to "futebol" but how can I transport it to a .po file?


2 Answers 2


One way is to use the WordPress i18n tools. I had to checkout WordPress trunk to make it work. On the command line:

svn co http://develop.svn.wordpress.org/trunk

once you have trunk somewhere, you'll then want to call the makepot script. Again, on the command line:

php /path/to/wordpress/trunk/tools/i18n/makepot.php wp-theme /path/to/your/theme/

After that script has run, the pot files will be in whatever directory was specified in the above /path/to/your/theme

More information and a couple of other methods can be seen here: http://codex.wordpress.org/I18n_for_WordPress_Developers


You can extract traslatable (gettext) strings from a Wordpress Theme or Plugin with wp-cli. To install:

Once you have it, you run the following command:

wp i18n . path/to/domain_name.pot --domain=domain_name

(Run from the theme/plugin root folder, where domain_name is the domain you've used on the code.)

This will generate a .pot file. You can use software like POEdit to open the .pot file and do the translations. This software will then let you export to .po and .mo.

You can find more info on I18n for Wordpress Developers.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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