3

フォームでa2lix_translation_formタブを使用しています。1 つのプロパティに対する複数の翻訳を 1 つのフォームで編集できるという機能があります。私はそれを次のように構成しました:

a2lix_translation_form:
    locales: [sk, en, de]       # [1]
    default_required: false ... # further as default

フォームには、1 つのプロパティを編集できる次の 3 つのタブがあります (説明)

|SK [デフォルト] | エン | で |

stof_doctrine_extensionsで翻訳可能をオンにするまで、うまく機能しました(データベースなどに保存されたもの)。構成は次のとおりです。

stof_doctrine_extensions:
default_locale: sk
orm:
    default:
        translatable: true # not needed: listeners are not enabled by default

jms_i18n_routing も使用します。

jms_i18n_routing:
    default_locale: sk
    locales: [sk, de, en]
    strategy: prefix_except_default

アクセスしたら

localhost/app_dev.php/product/1/edit

その後、すべてが正常に見えますが、アクセスすると

localhost/en/app_dev.php/ en /company/11/edit

Sk [デフォルト]にはEn記述が含まれます。

stof_doctrine_extensions の翻訳対象を false に設定すると、フォームが正しく表示されます。しかし、他のコンポーネントに必要なので、オンにする必要があります。私に何ができる?

4

1 に答える 1

1

あなたは特定のケースにいるので、今後はアドバイスしません。将来デフォルトのロケールを変更すると、データベースで問題が発生する可能性があります。

ドキュメントを更新しました (まだ作業が残っています..) 。 http://a2lix.fr/bundles/translation-form/#bundle-advancedの末尾を参照してください。ドキュメントで説明されているように注釈を使用するか、編集/作成メソッドの先頭に追加できます。

   $translatableListener = $this->get('stof_doctrine_extensions.listener.translatable');
   $translatableListener->setTranslatableLocale($translatableListener->getDefaultLocale());
于 2013-08-10T11:04:47.587 に答える