3

Poedit は、データベース内のテーブルの内容を自動的に認識しません。zend での翻訳のために poedit によって認識されるテーブルの内容を取得する最良の方法は何ですか? 自動的に実行したいのですが...データベースからxmlファイルを作成する必要がありますか?

4

1 に答える 1

1

poedit を使用してデータベースの内容を翻訳しないでください。データベース内でそれを行います。簡単に言えば、残念ながら、あなたが望むものは達成できません。

「固定」文字列を翻訳できます。変数、定数、またはデータベース値を翻訳したい場合は、poedit がそれらをスキャンする必要がある場合に備えて、リテラル文字列翻訳を介して行う必要があります。

<?php
if($var === 'foo') {
    echo $this->translate('foo');
} else {
    echo $this->translate('bar');
}

Translationオブジェクトと 1:n の関係があれば簡単です。次に、ビューはユーザーが生成したコンテンツから翻訳を取得します。

<?php
echo $foo->Translation['en-us']->bar;

この最後の可能性の例は、Gedmo ドクトリン拡張で提供されています: https://github.com/l3pp4rd/DoctrineExtensions/blob/master/doc/translatable.md

于 2013-05-19T17:49:34.047 に答える