![]() |
![]() ![]() ![]() |
------------------------------------------------------------------------ 間数 説明 ------------------------------------------------------------------------ catopen() メッセージ・カタログをオープンする catgets() メッセージ ID に対応するメッセージを返す catclose() メッセージ・カタログをクローズする ------------------------------------------------------------------------文字列リテラルの多くは言語ごとに異なるべきですが、中にはファイル名など 各言語共通の内容のものもあります。また、ある関数の引数に指定された文字 列リテラルは翻訳不要という場合もあります。一般に、以下のケースでは文字 列リテラルは翻訳不要すなわちメッセージカタログ対応不要の場合が多いよう です。
$ $NLS-WWNAVI 2008-05-24T16:48:54+0900 $ $quote " $set 1 1 "Failed to create fontset\n" <-- *メッセージIDとメッセージ 2 "Hello, how are you? This is sample for catgets. (Push.catファイルの配置場所は環境変数NLSPATHなどに依存します。.)"
export NLSPATH=./%L/%N export LANG=en_US.UTF-8 ./Test export LANG=ja_JP.UTF-8 ./Test.catファイルの配置場所は以下のようになります。
./en_US.UTF-8/wwnavi_cat.cat <-- *英語メッセージカタログ ./ja_JP.UTF-8/wwnavi_cat.cat <-- *日本語メッセージカタログまた、この場合のソース内のメッセージ読み込みは以下のようになります。
setlocale (LC_ALL, ""); <-- *main関数内に記述。 nl_catd wwnavi_cd = catopen ("wwnavi_cat.cat", NL_CAT_LOCALE); <-- *main関数内に記述。 ... printf(catgets(wwnavi_cd,1,1,"Failed to create fontset\n")); <-- *メッセージ読み込み上記はWorld Wide Navi付属のサンプルコード(linux_catgets)にcatgetsの外部化を実行することで確認できます。