I had really a hard time figuring out how to internationalize a WordPress theme for a “multilingual” site I’m working on & then to “localize” it. All that because the guides I read are made by geeks, & geeks never explain things properly… seriously!

Geeks in their tutorials often fail to mention some steps that look obvious & basic to them, but for a newbie or even someone who has a modest experience those steps are crucial.

So in my quest to get my theme internationalized & localized & starting from this guide I had to ask Google several times & go from geeky guide to another to finally assemble the puzzle & get things working.

Because of all that, I decided to make my guide for dummies to internationalize & localize a WordPress theme … let’s start!

1st, what means “to internationalize” & “to localize” a theme?

To internationalize (for dummies) means to make a software (in our case a theme) easy to translate for the end user, this is done by inserting some special PHP tags in the theme’s files.

To localize (again for dummies) means to translate the internationalized software.

So simple isn’t it? If you still want the geeky definition here it is from WordPress.org:

Internationalization is the process of setting up software so that it can be localized; localization is the process of translating text displayed by the software into different languages.

It seems that there are several methods for internationalization, WordPress core uses the GNU GetText method (click if you want to learn more). The same method is used by developers & designers to internationalize plug-ins & themes made for WordPress “if” they choose to make them internationalized, many don’t.