7

私はgettextを少し学んでいますが、これら2つの機能を理解できません。PHP で書かれた APP で複数の翻訳を使用できるかどうか疑問に思っていました。たとえば、1) システムの翻訳 2) 拡張機能の翻訳 3) テーマの翻訳を別々のファイルに分割しました。私の質問は、システム翻訳をロードした場合、テーマ翻訳をロードすると、最初の翻訳は「未設定」になりますか?

gettext と php に関連するリンクをいただければ幸いです。

ありがとう

4

1 に答える 1

27

いつでもテキストドメインを簡単に切り替えることができます。例えば:

与えられた

./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";
于 2010-01-01T18:44:12.793 に答える