翻訳用のpoファイルを作成する前段階にpotファイルを生成する

独自のテーマなどの多言語対応を行うためのpoファイルを作るために、potファイルを生成する

基本的には、WordPress国際化(i18n)のメモ : WordPressを参照。

大体こんなコマンドで生成可能
$ find ./ -name “*.php” > ./languages/php_files.list
$ xgettext –language=PHP –from-code=utf-8 -f ./languages/php_files.list –keyword=_ -k=e -o ./languages/default.pot

オプション 説明
–language 言語
–from-code 入力元ファイルの文字コード
-f 対象となるファイルの一覧
–keyword gettextの関数名1
-k gettextの関数名2
-o 出力するファイル名

たぶん、この作業自体はWordpressじゃなくても対応できるんだと思われる。

$ xgettext –help
使用法: xgettext [オプション] [入力ファイル]…

与えられた入力ファイルから翻訳可能な文字列を取り出します.
長いオプションに必須の引数は短いオプションにも必須です.
必須でない引数も同じです.
入力ファイルの指定:
INPUTFILE ...               入力ファイル
-f, --files-from=FILE       入力ファイルのリストを FILE から取得
-D, --directory=DIRECTORY   入力ファイルの検索リストに DIRECTORY を追加
入力ファイルが - の場合は標準入力が読み込まれます.
出力ファイルの指定:
-d, --default-domain=NAME   出力に NAME.po を使用 (messagh.po の代わり)
-o, --output=FILE           指定されたファイルに出力
-p, --output-dir=DIR        ディレクトリ DIR にファイルを出力
出力ファイルが - の場合は標準出力に結果が書き出されます.
入力ファイル言語の選択:
-L, --language=NAME         指定された言語を認識
(C, C++, ObjectiveC, PO, Shell, Python, Lisp,
EmacsLisp, librep, Scheme, Smalltalk, Java,
JavaProperties, C#, awk, YCP, Tcl, Perl, PHP,
GCC-source, NXStringTable, RST, Glade)
-C, --c++                   --language=C++ の短縮形
標準で言語は入力ファイルの拡張子で識別されます.
入力ファイルの解釈:
--from-code=NAME           入力ファイルのエンコーディング
(Python, Tcl, Glade 以外)
標準では, 入力ファイルは ASCII と仮定されます.
操作モード:
-j, --join-existing         存在するファイルとメッセージを結合
-x, --exclude-file=FILE.po  FILE.po からの項目は抽出されない
-c, --add-comments[=TAG]     TAG (またはキーワード行) を付けて
コメント部分を出力ファイルに入れる
言語指定オプション:
-a, --extract-all           全ての文字列を抽出
(C, C++, ObjectiveC, Shell,
Python, Lisp, EmacsLisp, librep, Scheme, Java,
C#, awk. Tcl, Perl, PHP, GCC-source, Glade 言語のみ)
-k, --keyword[=WORD]         求めるキーワードの指定 (WORD が指定され
ない場合は標準のキーワードは使われない)
(C, C++, ObjectiveC, Shell,
Python, Lisp, EmacsLisp, librep, Scheme, Java,
C#, awk. Tcl, Perl, PHP, GCC-source, Glade 言語のみ)
--flag=WORD:ARG:FLAG    キーワード WORD の引数の数 ARG 以内の文字列に対する
付加フラグ
(C, C++, ObjectiveC, Shell,
Python, Lisp, EmacsLisp, librep, Scheme, Java,
C#, awk, YCP, Tcl, Perl, PHP, GCCソース 言語のみ)
-T, --trigraphs             入力された ANSI C トライグラフを認識
(C, C++, ObjectiveC 言語のみ)
--qt                    Qt 形式の文字列を認識
(C++ 言語のみ)
--kde                   recognize KDE 4 format strings
(C++ 言語のみ)
--boost                 Boost 形式の文字列を認識
(C++ 言語のみ)
--debug                 より詳細なフォーマット文字列の認識結果
出力の詳細:
-e, --no-escape             出力に C 言語のエスケープを使わない (標準)
-E, --escape                出力に C 言語のエスケープを使い,
拡張文字を含めない
--force-po              空であっても PO ファイルを書き出す
-i, --indent                字下げ形式で .po ファイルを出力
--no-location           '#: ファイル名:行番号' の行を書き出さない
-n, --add-location          '#: ファイル名:行番号' の行を生成 (標準)
--strict                厳密な Uniforum 形式の .po ファイルを出力
--properties-output     Java .properties ファイルを出力
--stringtable-output    NeXTstep/GNUstep .strings ファイルを出力
-w, --width=NUMBER          出力ページの幅を設定
--no-wrap               出力ページの幅より長いメッセージ行を改行しない
-s, --sort-output           ソートされた出力を生成
-F, --sort-by-file          ファイルで出力をソート
--omit-header           `msgid ""' を含んだヘッダを出力しない
--copyright-holder=STRING  著作権保有者を出力で設定
--foreign-user          他国のユーザ向けに出力中の FSF 著作権を省略
--package-name=PACKAGE  set package name in output
--package-version=VERSION  set package version in output
--msgid-bugs-address=EMAIL@ADDRESS  msgid のバグ報告用アドレスを設定
-m, --msgstr-prefix[=STRING]  msgstr 項目の接頭辞に STRING か "" を使用
-M, --msgstr-suffix[=STRING]  msgstr 項目の接尾辞に STRING か "" を使用
情報出力:
-h, --help                  このヘルプを表示して終了
-V, --version               バージョン情報を表示して終了
バグレポートは <bug-gnu-gettext@gnu.org> まで.