独自のテーマなどの多言語対応を行うための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> まで.