How to generate a .po file?

tobefound picture tobefound · Mar 25, 2010 · Viewed 35.1k times · Source

On Windows using WAMPserver (Apache, MySQL, PHP) I have the following:

//test.php
if (!defined('LC_MESSAGES'))
define('LC_MESSAGES', 6);

$lang = "sv";
putenv("LANG=$lang");
setlocale(LC_ALL, $lang);

$domain = "messages";
bindtextdomain($domain, "./locale");
textdomain($domain);

echo _("This is a string");

It works fine, i.e. it outputs "This is a string" which means I have gettext correctly setup up.

But HOW in the world do I create a .po file?

I downloaded Poedit but I can't see how to make this happen with that software.

Any help is greatly appreciated!

Answer

Colleen  Kitchen picture Colleen Kitchen · Mar 26, 2010

PoEdit is the tool to create the .po file. You have to do a little configuration with it and it's not the easiest. The way it should work is that it finds all the text in your source code that's wrapped in the marker string that you configure. This becomes the source text that you give to your translator. They then translate it into the target language(s) and save the translation files and return them to you. You then dump those files into a special directory in your php application and whenever the gettext extension sees one of the translation strings it fetches the appropriate translation.

I can probably help more if you show some details about where you got hung up with poedit.