views:

397

answers:

1

I've been learning a bit of gettext but I can't grasp those two functions. I've been wondering if I could use multiple translations in a APP written in PHP. For an instance, I've 1) the system translation 2) extensions translations 3) theme translations to divide those in different files. My question is, if I load the system translation, then load the theme translation will the first one be "unset"?

I'd appreciate any links related to gettext and php.

Thanks

+2  A: 

You can readily swap between textdomains whenever you like. e.g:

Given

./locale/en/LC_MESSAGES/template.po 
msgid "foo"
msgstr "foobar"

and

./locale/en/LC_MESSAGES/messages.po
msgid "Basic test"
msgstr "A basic test"

You could use something like the following PHP code to switch from one textdomain to the other, and then back:

<?php
setlocale(LC_ALL, 'en_US.UTF-8');
bindtextdomain ("messages", "./locale");
bindtextdomain ("template", "./locale");

textdomain ("messages");
echo gettext("Basic test"), "\n";

textdomain ("template");
echo _("foo"), "\n";

textdomain ("messages");
echo gettext("Basic test"), "\n";
TML
Thanks I think I got a very nice view of gettext
allenskd