私のサイトは Zend フレームワークで構築されており、デフォルトは英語です。私は英語からフランス語に翻訳するcsvファイルを持っています:fr.csv
ただし、私のデータベースのデータは英語です。したがって、データベースとやり取りできるように、ユーザーのフロントエンド入力をフランス語から英語に翻訳したいと考えています。Zend_translate を使用して、フランス語から英語への逆引きを行うにはどうすればよいですか? または、これを達成する他の方法はありますか?
私のサイトは Zend フレームワークで構築されており、デフォルトは英語です。私は英語からフランス語に翻訳するcsvファイルを持っています:fr.csv
ただし、私のデータベースのデータは英語です。したがって、データベースとやり取りできるように、ユーザーのフロントエンド入力をフランス語から英語に翻訳したいと考えています。Zend_translate を使用して、フランス語から英語への逆引きを行うにはどうすればよいですか? または、これを達成する他の方法はありますか?
通常、英語から別の言語に翻訳するのではなく、IDが英語であっても、ID(英語を含む)から翻訳します。その理由は、IDは完全な文やフレーズではなく、Forbidden
(英語の翻訳「このリソースにアクセスできません」などの)短くて意味のあるステートメントである必要があるためです。キーが短いと、タイプミスが発生する可能性が低くなります。
翻訳の公式を表示したい場合(私が見る限り、それがあなたがやろうとしていることです)、内部でIDだけを表示し、優先/現在の翻訳をラベルとして表示することをお勧めします
<?= $this->translate($id) ?><input type="text" name="<?= $id?>" />
現在定義されているIDは次のように取得できますZend_Translate_Adapter::getMessageIds()
<?php foreach ($adapter->getMessageIds() as $id) : ?>
<?= $this->translate($id) ?><input type="text" name="<?= $id ?>" />
<?php endforeach; ?>