does a translation (i18n) have to start from an english PO?

Basically all themes out there are written in English, and localizations strings will look something like this _e( 'Some English text', 'domainname' );. Usually authors include a pot template with the theme. I qoute from the codex

“POT (Portable Object Template) files
The first step in the localization process is that a program is used to search through the WordPress source code and pick out every message passed into a __() or e() function. This list of English-language messages is put into a specially-formatted template file (POT file) that forms the basis of all translations. Generally, you can download a POT file for WordPress, so you shouldn’t have to generate your own. Separate POT files can also be made for themes and plugins, if the theme/plugin developer has enclosed all text in _() or _e() functions.”

So to translate text into a language like Italian you have to create a po and mo file from the original pot template, and name it accordingly to the language.

That said, you can create your own custom theme, and instead of using English, use Italian in you localization strings like this _e( 'Some Italian text', 'domainname' ). So your default language will be Italian without a language set in wp-config.php. Your pot template that you are going to create will now hold the Italian text instead of English as your theme is in Italian. The user can then translate from Italian to his own language by creating a po and mo template with the proper language name and texts inside.

OK, now the debate, as stated in the codex, pot templates hold English language and I again quote from the codex

“This list of English-language messages is put into a specially-formatted template file (POT file)”.

I’m Afrikaans speaking, but for the sake of keeping to the world and wordpress standard language, I write everything in English, create my pot file, and from that I create my po and mo templates for the Afrikaans language.

I personally think that one should keep to standards. It is up to everyone to honor or to dishonor these standards. I mean, take Afrikaans for instance, less than 1,5 million people around the world speaks Afrikaans, and beside Belgium and Dutch that might understand Afrikaans to some degree, no one else understand the language or the grammar. So basically, if you write a theme in Afrikaans, just a few people will be able to use it, as no one will be able to translate it to their foreign language.

This is a problem if you are thinking of selling your theme. OK, it might work if you sell your theme to people that will be using the same language, but your market will be so small that it would not be the worthwhile.

But as I stated, it is up to you to honor standard or not. I hopes this help

Leave a Comment