a2lix_translation_form默认语言环境由stof_doctrine_extensions翻译覆盖?

时间:2013-08-09 14:37:05

标签: symfony translation stofdoctrineextensions

我在表单中使用 a2lix_translation_form 标签。它具有以下功能:它允许您在一个表单中编辑多个翻译到一个属性。我有这样的配置:

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

在表单中,我有以下3个标签,我可以编辑一个属性(描述)

| SK [默认] |恩| DE |

它工作正常(存储在数据库中等等),直到我打开 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

当我进站时

  

本地主机/ app_dev.php /产品/ 1 /编辑

然后一切都很好,但是当我访问

  

本地主机/ EN / app_dev.php /的 EN /公司/ 11 /编辑

Sk [默认] 包含 En 说明。

当我将stof_doctrine_extensions中的可翻译设置为false时,表单会正确显示。但我需要打开它,因为我需要它用于其他组件。我该怎么办?

1 个答案:

答案 0 :(得分:1)

你处于一个特定的情况,我今后不建议。如果您以后更改默认语言环境,则数据库会遇到一些困难。

我已经更新了文档(我还有一些工作......),请参阅http://a2lix.fr/bundles/translation-form/#bundle-advanced的结尾。 您可以在文档中使用注释,或者在您的开头添加编辑/创建方法:

   $translatableListener = $this->get('stof_doctrine_extensions.listener.translatable');
   $translatableListener->setTranslatableLocale($translatableListener->getDefaultLocale());