Symfony2
プロジェクトがあり、Translation
テキストを翻訳するためにコンポーネントを使用しています。yml
私はそのようにファイルにすべての翻訳を持っています
translation-identifier: Translated text here
テキストを翻訳すると、次のようになりますTwig
'translation-identifier'|trans({}, 'domain')
問題は、場合によっては、同じ翻訳に 2 つの異なるテキストを使用したい (複数形ではない) ことです。これが私がそれをどのように機能させたいかです:
yml
異なるテキストを持つ必要がある翻訳用に、ファイルに2 つのテキストを定義します。それぞれに独自の一意のサフィックスがありますtranslation-identifier-suffix1 translation-identifier-suffix2
選択するサフィックスを定義するグローバルルールを定義します。以下の疑似コード:
public function getSuffix() { return rand(0, 10) < 5 ? '-suffix1' : '-suffix2'; }
Twig (および PHP) は同じように見えます。つまり、識別子だけをサフィックスなしで指定します。次に、トランスレータは識別子にサフィックスを追加し、一致を見つけようとします。一致するものがない場合は、サフィックスなしで再度一致を見つけようとします。