国際化対応言語環境の利用ガイド

genmsg ユーティリティ

新しい 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) のマニュアルページを参照してください。

フォーマットされたメッセージカタログファイルを生成する場合は、gencat(1) ユーティリティを使用します。

Portable Message ファイル (.po ファイル) に対するメッセージ抽出ユーティリティと、.po ファイルからメッセージオブジェクトファイル (.mo ファイル) を生成する方法については、それぞれ xgettext(1)msgfmt(1) のマニュアルページを参照してください。