1

xgettext-Parser で poEdit を使用して、PHP ソース ファイルを解析し、すべての翻訳可能な文字列を検出しています。デフォルトでは、xgettexttranslate("foo")のキーワードとして「translate」が指定されている場合、xgettext は のような関数呼び出しの文字列のみを認識します。

今、PHP配列に翻訳可能な文字列がいくつかあります。

array(
    'label' => 'foo',
);

またはDocBlocksのような

/**
 * @FormElement(type="text", options={
 *     "label"="Foobar",
 * })
 */

これらの翻訳可能な文字列 "foo" または "Foobar" を xgettext で認識するにはどうすればよいですか?

前もって感謝します!

4

1 に答える 1

0

ダミーの translate メソッドを作成し、配列を作成するときにそれを使用できます。

function dummy_translate ($string)
{
    return $string;
}

$array = array
(
    'label' => dummy_translate('foo')
);

そして、次のように抽出します。

xgettext --keyword=dummy_translate:1

また、 xgettext キーワードは有効な C identifierを形成する必要があるため、配列の直前でこれを行うことはできません。

$dummy_method = function ($string)
{
    return $string;
}

ダミーメソッドを置くのに適した場所を見つけてください。

ドキュメンテーション以上にDocBlocksを使用しなかったので、それについてはわかりませんが、同様のアプローチがそこで機能するはずです。

PS 余分な関数呼び出しのパフォーマンスはごくわずかです。マイクロ最適化で時間を無駄にしないでください

于 2015-06-24T16:49:42.273 に答える