名前 | 形式 | 機能説明 | オプション | 使用例 | ファイル | 属性 | 関連項目
mkmsgs [-o] [-i locale] inputstrings msgfile
mkmsgs ユーティリティは、テキスト検索ツール ( gettxt(1) 、 srchtxt(1) 、 exstr(1) 、 gettxt(3C) を参照) を使ってアクセスできる、 テキスト文字列からなるファイルを生成します。 入力の対象は、特定のロケール ( setlocale(3C) を参照) 用のテキスト文字列からなるファイルです。 出力先は、 gettxt(1) でも gettxt(3C) でも検索できる形式のテキスト文字列からなるファイルです。 -i オプションを使えば、出力ファイルを /usr/lib/locale/locale/LC_MESSAGES ディレクトリに登録することもできます。なお locale は、テキスト文字列の言語に対応したロケールです。
inputstrings 引数には、もとになるテキスト文字列を 含んだファイル名を指定します。 msgfile 引数には、 mkmsgs が gettxt(1) や gettxt(3C) で検索可能な形式の文字列を書き出す出力ファイル名を指定します。この msgfile 名は、長さが 14 文字以内であること、 \0 (NULL) を含んでいないこと、 スラッシュ (/) またはコロン (:) に該当する ASCII コードを含んでいないことが必要です。
入力ファイルの内容は、特定のロケールに対応した テキスト文字列がいくつか集まったものです。 文字列と文字列とは復帰改行文字で区切られます。 表示不可能な文字は、エスケープシーケンスとして アルファベットで表す必要があります。 メッセージは inputstrings から順番に読み込まれ、変換され、 msgfile に書き出されます。空のメッセージを msgfile 中に生成する場合は、 inputstrings 中の適切な位置に空の行を入れておいてください。
文字列の内容を変更する場合は、単に inputstrings ファイルを編集してください。新たな文字列は、 ファイルの最後尾にだけ追加できます。 追加を行なったら、新たに msgfile を作成して正しい場所に登録しておく必要があります。 この手順を誤ると、検索機能使用時に誤った文字列が 検索されて、ソフトウェアの互換性が損なわれます。
以下のオプションを指定できます。
msgfile がすでに存在していれば上書きします。
msgfile を /usr/lib/locale/locale/LC_MESSAGES ディレクトリ中に登録します。 このディレクトリ中でファイルを生成したり上書きしたりできるのは、 スーパーユーザー、およびグループ bin のメンバーだけです。 /usr/lib/locale の下のディレクトリは、存在していなければ生成されます。
C.str という名の入力メッセージソースファイルの例です。
File %s:\t cannot be opened\n %s: Bad directory\n . . . write error\n . . |
次のコマンドを実行すると、 C.str から文字列が読み取られ、適切な形式の文字列に変換され、 現在のディレクトリ中の UX というファイルに書き込まれます。
example% mkmsgs C.str UX |
次のコマンドは、 FR.str からテキスト文字列を読み取り、適切な形式に変換し、 /usr/lib/locale/fr/LC_MESSAGES というディレクトリ中の UX というファイルに書き込みます。
example% mkmsgs –i fr FR.str UX |
このコマンドにより生成されたテキスト文字列は、 環境変数として LC_MESSAGES=fr が設定されていれば、「機能説明」の冒頭で述べた テキスト検索ツールのいずれかを呼び出すことにより アクセスできます。
次の属性については attributes(5) のマニュアルページを参照してください。
属性タイプ |
属性値 |
使用条件 |
SUNWloc |