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. Fo开发者_运维百科r 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
You can readily swap between textdomains whenever you like. e.g:
Given
./locale/en/LC_MESSAGES/template.po
with the contents
msgid "foo"
msgstr "foobar"
and
./locale/en/LC_MESSAGES/messages.po
with the contents
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";
精彩评论