3

我在我的表单中使用a2lix_translation_form选项卡。它具有允许您以一种形式将多个翻译编辑到一个属性的功能。我把它配置成这样:

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

在表单中,我有以下 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

当我访问

本地主机/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 回答