新しい genmsg ユーティリティは、国際化されたソースメッセージカタログを作成するために、catgets() ファミリの関数で使用されます。このユーティリティは、ソースプログラムファイルの catgets での関数の呼び出しを調べ、見つかった情報からソースメッセージカタログを作成します。以下に例を示します。
% cat example.c ... /* NOTE: %s is a file name */ printf(catgets(catd, 5, 1, "%s cannot be opened.")); /* NOTE: "Read" is a past participle, not a present tense verb */ printf(catgets(catd, 5, 1, "Read")); ... % genmsg -c NOTE example.c The following file(s) have been created. new msg file = "example.c.msg" % cat example.c.msg $quote " $set 5 1 "%s cannot be opened" /* NOTE: %s is a file name */ 2 "Read" /* NOTE: "Read" is a past participle, not a present tense verb */ |
上記の例では、ソースファイル example.c について genmsg が実行され、example.c.msg という名前のソースメッセージカタログが作成されています。-c オプションの引数 NOTE により、genmsg はカタログにコメントを含めます。ソースプログラムのコメントに指定された文字列が含まれている場合、コメントはメッセージカタログの catgets() の呼び出しから抽出された次の文字列の後に表示されます。
genmsg を使用して、メッセージセット内のメッセージの番号を自動的に付けることができます。
詳細については、genmsg(1) のマニュアルページを参照してください。
この節の内容は、『Creating Worldwide Software: Solaris International Developer's Guide』(第 2 版、Bill Tuthill、David A. Smallberg 共著、Sun Microsystems Press、Prentice Hall 発行、 1997 Sun Microsystems, Inc.) の内容を許可を得て使用しています。