1

昨日質問を投稿しましたが、特定の状況では答えがうまくいかないようだと気づきました。投稿はgettextのphp文字列変数でし​​た。これが私が尋ねたものです:

こんにちは、

gettextは文字列変数をどのように変換しますか?やりたくないようです。$sentence="HelloWorld";があるとしましょう。そして、エコーしたい($ statement); ... Poeditで$sentence内にあるものを翻訳できるようにするにはどうすればよいですか?-> echo sprintf(( "%s test")、$ statement)を使用すると、「HelloWorldtest」が出力されます。ブラウザですが、Poeditでは「%stest」と表示され、Poedit内でHelloWorldの翻訳版を取得できません。では、Poedit内で文字列変数を使用するにはどうすればよいですか?ありがとう!

これは解決されました。

XMLファイルからデータを取得して変換したい場合に問題が発生します。

私は次のことができるようになりたいです:

$foo = $xmlData -> titleText;

その後

echo _($foo); 

またはのようなもの

$finalVar = _($foo);

ブラウザでphpファイルを見ると、ページに$ fooの内容が表示されていますが、Poeditは$ foo内の文字列を取得しないため、翻訳できます。

(この問題は、jsファイル内の情報を翻訳するときにも発生すると思います)

ご協力ありがとうございました、

サイモン

4

1 に答える 1

1

明らかに、PoeditにPHPを理解させることはできません。

編集:別のアプローチを検討しましたか?

if (true) {
    $foo = _('variable holds true');
}

else {
    $foo = _('variable holds false');
}

echo $foo;

PHPにgettext互換のXMLを生成させることができます。データベースに関しては、翻訳をDB自体に保存するのが最善の解決策だと思いますが、データベースからすべてのキーと値をダンプしてgettextを使用するスクリプトを作成することもできます。それ。

于 2009-08-29T11:56:24.930 に答える