Locale::Maketext::Extract でスキャンだけする。
Locale::Maketext::Extract::Plugin 以下にはいろいろ対応してるフォーマットがあったりする。まぁ大抵一緒なので頑張って使う必要もないけど、これらを使って .po ファイルを作らないまでも、msgid の抽出だけ行いたいという場合があったりします。そんなときは直接 LME インスタンスを作って extract_file をかけて compile すれば、とれるようになるみたいです。
use Locale::Maketext::Extract;
use Locale::Maketext::Extract::Plugin::Xslate;
use File::Zglob;
my $lme = Locale::Maketext::Extract->new(
plugins => {
perl => [ 'pm' ],
xslate => {
syntax => 'TTerse',
extensions => [qw/ tt /],
},
generic => [ 'js' ]
},
warnings => 1,
verbose => 0,
);
for (zglob('lib/**/*.pm'), zglob('template/**/*.tt'), zglob('static/**/*.js')) {
$lme->extract_file($_);
}
$lme->compile(1); # これをしないと msgids がとれない
for my $msgid ($lme->msgids) {
say $msgid;
$lme->msg_positions($msgid); # 見つかった場所がとれる
}
関連エントリー
- Perl の Locale::Maketext::Lexicon::Gettext フォーマットのメッセージをJSでフォーマットする Perl の Locale::Maketext::Lexicon::Gettext は以下のような Gettext ライクなフォーマットを扱...
- microdata を適当に抜き出す Perl スクリプト あんまり仕様書読みこめてないけど書くだけ書いてみた。CPAN にあるのは依存がひどいし、別に HTML::Parser 的なもの一個の依存で...
- CPAN のリリース管理を Minilla に変えてみる $ cpanm Minilla で入れると minil コマンドができる。既存レポジトリで (ここでは Test-Name-FromLine...
- h2o の status/json を mackerel に送る mackerel にメトリクスとして送る mackerel-plugin-h2o みたいなのは今のところないっぽい? ので、status/j...
- textarea.value は代入すると値が変わる 以下のような挙動をする。 var textarea = document.createElement('textarea'); textar...