Next: , Previous: , Up: Manipulating   [Contents][Index]


9.3 msggrepプログラムの呼び出し

msggrep [option] [inputfile]

msggrepは翻訳カタログから、指定したパターン、指定したソースファイルに属するすべてのメッセージを抽出するプログラムです。

9.3.1 入力ファイルの位置

inputfile

入力となるPOファイルです。

-D directory
--directory=directory

ディレクトリーのリストにdirectoryを追加します。このディレクトリーのリストよりソースファイルを検索します。しかし.poファイルが出力されるのは、カレントディレクトリーです。

inputfileが指定されていないか、‘-’が指定された場合は、標準入力から読み込みます。

9.3.2 出力ファイルの位置

-o file
--output-file=file

指定されたファイルに出力を書き込みます。

出力ファイルが指定されていない、または‘-’が指定された場合、結果は標準出力に出力されます。

9.3.3 メッセージ選択

  [-N sourcefile]... [-M domainname]...
  [-J msgctxt-pattern] [-K msgid-pattern] [-T msgstr-pattern]
  [-C comment-pattern]

以下のような場合、メッセージが選択されます

1つ以上の条件を指定した場合には、それぞれの条件に適合するメッセージのがすべて選択されます。

msgctxt-patternmsgid-patternmsgstr-patternの書式です:

  [-E | -F] [-e pattern | -f file]...

patternにはデフォルトでは標準の正規表現(POSIX Basic Regular Expressions: grep -eと同等)を指定します。拡張された正規表現(POSIX Extended Regular Expressions: egrep, grep -Eと同等)の場合は-Eを、固定文字列の場合(Fixed String search: fgrep, grep -Fと同等)には-Fを指定してください。

-N sourcefile
--location=sourcefile

sourcefileから抽出されたメッセージを選択します。sourcefileにはファイル名の文字列、またはワイルドカード文字列を指定できます。

-M domainname
--domain=domainname

ドメインdomainnameに属するメッセージを選択します。

-J
--msgctxt

msgctxtを選択するためのパターンの開始を宣言します。

-K
--msgid

msgidを選択するためのパターンの開始を宣言します。

-T
--msgstr

msgstrを選択するためのパターンの開始を宣言します。

-C
--comment

翻訳者コメントを選択するためのパターンの開始を宣言します。

-X
--extracted-comment

抽出コメントを選択するためのパターンの開始を宣言します。

-E
--extended-regexp

patternが、拡張された正規表現であることを指定します。

-F
--fixed-strings

patternが、改行で区切られた一連の文字列であることを指定します。

-e pattern
--regexp=pattern

patternを、正規表現として使用します。

-f file
--file=file

patternを、fileから取得します。

-i
--ignore-case

大文字と小文字を区別しません。

-v
--invert-match

条件に一致するメッセージではなく、一致しないメッセージだけを出力します。

9.3.4 入力ファイルの構文

-P
--properties-input

入力ファイルがPOファイルの構文ではなく、Javaの.propertiesの構文にのっとったJava ResourceBundleファイルだとみなします。

--stringtable-input

入力ファイルがPOファイルの構文ではなく、NeXTstep/GNUstepのlocalized resourceの.stringsの構文にのっとったファイルだとみなします。

9.3.5 出力の詳細

--color
--color=when

色や色以外のテキスト属性を使うか、いつ使うかを指定します。詳細はThe --color optionを参照してください。

--style=style_file

--colorにたいしてCSS style ruleファイルを使うかを指定します。詳細はThe --style optionを参照してください。

--force-po

メッセージが何も含まれていない場合でも、常に出力ファイルに書き込みます。

--indent

インデントされた形式で.poファイルを書き込みます。

--no-location

#: filename:line’という行を書き込みません。

--add-location

#: filename:line’という行を生成します(デフォルト)。

--strict

Uniforumに厳密に準拠したPOファイルを出力します。このUniforum形式はGNUの拡張をサポートしないため避けたほうがよいでしょう。

-p
--properties-output

Javaの.propertiesの書式で、Java ResourceBundleを出力します。このファイル形式はplural formをサポートせず、陳腐化したメッセージを暗黙で除去することに注意してください。

--stringtable-output

.stringsの書式で、NeXTstep/GNUstepのローカライズされたリソースファイルを出力します。このファイル形式はplural formをサポートしないことに注意してください。

-w number
--width=number

出力ページの幅をセットします。これにより出力ファイル中の長い文字列が指定した幅(例:スクリーンの列数)に収まるように、各行の長さがnumber以下のような複数の行に分割されます。

--no-wrap

長いメッセージ行を分割しません。出力ページの幅を超えるようなメッセージ行も、複数行に分割されません。出力ページの幅を超えるファイル参照行だけが分割されます。

--sort-output

ソートされた出力を生成します。このオプションを使用することにより翻訳者が、メッセージがどのようなコンテキストで使用されるかを理解するのが、困難になることに注意してください。

--sort-by-file

ファイルの場所により出力をソートします。

9.3.6 情報的な出力

-h
--help

このヘルプを表示して終了します。

-V
--version

バージョン情報を表示して終了します。

9.3.7 例

gnulib-lib/error.cgnulib-lib/getopt.cというソースファイルからメッセージを抽出する場合:

msggrep -N gnulib-lib/error.c -N gnulib-lib/getopt.c input.po

“Please specify”という文字列が含まれるメッセージを抽出する場合:

msggrep --msgid -F -e 'Please specify' input.po

“Menu>File”、“Menu>Edit”またはそれらのサブメニューであることを指定するコンテキストをもつメッセージを抽出する場合:

msggrep --msgctxt -E -e '^Menu>(File|Edit)' input.po

翻訳文字列にwordlist.txtというファイル中の文字列を含むメッセージを抽出する場合:

msggrep --msgstr -F -f wordlist.txt input.po

Next: , Previous: , Up: Manipulating   [Contents][Index]