Что такое bindtextdomain, textdomain в gettext?

Я изучал немного gettext, но я не могу понять эти две функции. Мне было интересно, могу ли я использовать несколько переводов в APP, написанном на PHP. Для примера у меня 1) перевод системы 2) переводы расширений 3) переводы тем, чтобы разделить их в разных файлах. Мой вопрос заключается в том, что если я загружу перевод системы, то загрузите перевод темы, первый будет «неустановлен»?

Я был бы признателен за любые ссылки, связанные с gettext и php.

благодаря

    Вы можете легко переключаться между текстовыми доменами, когда захотите. например:

    Данный

    ./locale/en/LC_MESSAGES/template.po 

    с содержанием

     msgid "foo" msgstr "foobar" 

    а также

     ./locale/en/LC_MESSAGES/messages.po 

    с содержанием

     msgid "Basic test" msgstr "A basic test" 

    Вы можете использовать что-то вроде следующего кода PHP, чтобы переключиться с одного текстового домена на другой, а затем обратно:

     <?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";