まず、ドメインを分離する方法が必要です。例えば
、のはdgettext()
コールのショートカットを作成し、その後、あなたはlibにとアプリに1つのドメインを持っているとしましょう。
_app(msg) -> dgettext("app", msg);
とlibドメインの1:
_lib(msg) -> dgettext("lib", msg);
はこのように、すべてのコードの上にこれらの呼び出しを追加します。
show_message(_app("Choose a directory to save your work."));
show_message(_lib("No space left on device."));
アプリケーションを初期化する場合、両方のドメインのbindtextdomain()
を呼び出す必要があることを忘れないでください。そのバイナリ.moという変種に.poファイルの両方をコンパイルし、
xgettext --keyword=_app -d domain1 filenames...
xgettext --keyword=_lib -d domain2 filenames...
最後に:あなたは、これらのマーカーが含まれているあなたのソースツリー内のすべてのファイル名にxgettext
に異なるキーワードを指定する必要があり、それらを抽出するために
適切な場所にコピーしてインストールしてください。
各ドメインを別々に解析する方法については、[suggestion](http://stackoverflow.com/a/5354360/645186)が見つかりました。ただしこれは回避策です。 – Shef