GENCAT(1)

名称
gencat - NLS カタログコンパイラ

書式
gencat output-file input-files...

解説
gencat ユーティリティは、テキストの NLS 入力ファイル input-files... をマージして、整形済みメッセージカタログファイル output-file を出力します。 ファイル output-file が存在しなかった場合には、作成されます。 output-file が存在した場合、これに含まれるメッセージは新しい output-file に含まれます。 セット番号およびメッセージ番号が衝突する場合、 input-files... 中の新しいメッセージテキストで、現在 output-file に含まれる古いメッセージテキストを置き換えます。

入力ファイル
メッセージテキストのソースファイル書式は次のように定義されます。 メッセージテキストソースの行におけるフィールドは、 単一の空白文字で区切られることに注意してください: これより多くの空白文字はフィールドの内容の一部とみなされます。

$set n comment
    この行は、後続するメッセージのセット識別子を指定します。 これは、次の $set またはファイルの終りまで有効です。 引数 n はセット識別子であり、[1, (NL_SETMAX)] の範囲の数値として定義されます。 セット識別子は、単一のソースファイル中では昇順で登場する必要がありますが、 連続している必要はありません。 セット識別の後に空白を狭んで続く文字列は、コメントとして扱われます。 あるソースファイル中に $set ディレクティブがまったくない場合、全メッセージがデフォルトメッセージセット NL_SETD に置かれます。

$del n comment
    この行は、セット n のメッセージをメッセージカタログから削除します。 n はセット番号を指定します。 セット番号に空白を狭んで続く文字列は、コメントとして扱われます。

$ comment
    文字 $ で開始し空白が続く行は、コメントとして扱われます。

m message-text
    メッセージ識別子 m を含むメッセージ行です。メッセージ識別子の範囲は [1, (NL_MSGMAX)] です。 message-text は、最後の $set ディレクティブで指定されたセット識別子および m で指定されるメッセージ識別子で、メッセージカタログに格納されます。 message-text が空でありメッセージ識別子に続いて空白文字が有る場合、 空白文字列がメッセージカタログに格納されます。 message-text が空でありメッセージ識別子に続いて空白文字が無い場合、 現在のセットにおける指定されたメッセージ識別子の既存のメッセージが、 カタログから削除されます。 メッセージ識別子は、単一のセットの中では昇順である必要がありますが、 連続している必要はありません。 message-text の長さは [0, (NL_TEXTMAX)] の範囲である必要があります。

$quote c
    この行は、オプションのクォート文字 c を指定します。これを message-text を囲むために使用して、 末尾の空白や空メッセージがメッセージソースファイル中で見えるようにします。 デフォルトでは、または空の $quote ディレクティブが指定された場合には、 message-text のクォートは認識されません。

メッセージソースファイル中の空行は無視されます。 上述の文字以外で開始する行の効果は未定義です。

テキスト文字列は、次の特殊文字およびエスケープシーケンスを含むことが可能です。 クォート文字が定義された場合には、 これをリテラルのクォート文字として埋め込むためにエスケープできます。

\n  ラインフィード
\t  水平タブ
\v  垂直タブ
\b  バックスペース
\r  キャリッジリターン
\f  フォームフィード
\\  バックスラッシュ
\ooo
    範囲 [000, 377] の 8 進数

ファイル中では、行末にバックスラッシュ文字を置いて、 次の行に継続することが可能です。例えば次のようにします:

    1 This line is continued \
    on this line.

バックスラッシュに続く文字が上述のいずれでもない場合、 バックスラッシュは無視されます。

診断

関連項目
catclose(3), catgets(3), catopen(3)

規格
gencat ユーティリティは xpg4 互換です。

作者
-nosplit 本マニュアルページを Ken Stailey が記述し、 Terry Lambert が更新しました。

バグ
空の入力ファイルから作成されたメッセージカタログファイルは更新できません。 消去して再作成してください。