首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DoctrineExtensions可在ZF2中翻译-如何和在哪里可以setDefaultLocale

DoctrineExtensions可在ZF2中翻译-如何和在哪里可以setDefaultLocale
EN

Stack Overflow用户
提问于 2015-02-08 15:48:45
回答 2查看 488关注 0票数 0

我坚持了$defaultLocale of TranslatableListener。

https://github.com/Atlantic18/DoctrineExtensions/blob/master/doc/translatable.md#default-locale

我只找到了交响乐的安装可能性,但Zend 2却没有。

对于DoctrineExtensions的简单设置,有一个扩展包,名为"StofDoctrineExtensionsBundle",但我没有为ZF2找到类似的东西。

下面的链接展示了设置可翻译和其他DoctrineExtensions的最佳实践,但是我应该把它放在哪里,难道没有更简单的方法吗?

https://github.com/l3pp4rd/DoctrineExtensions/blob/master/doc/annotations.md#best-practices-for-setting-up-with-annotations

我只想知道如何在$defaultLocale环境中配置TranslatableListener的ZF2。

更新:

我尝试了以下几点:

代码语言:javascript
复制
$translatableListener = new TranslatableListener();
$translatableListener->setDefaultLocale('de-DE');
$doctrineEventManager->addEventSubscriber($translatableListener);

但仍然得到:

.../vendor/gedmo/doctrine-extensions/lib/Gedmo/Translatable/TranslatableListener.php:464 Gedmo\Translatable\Mapping\Event\Adapter\ORM->loadTranslations

代码语言:javascript
复制
$object Rental\Entity\Rental
$translationClass "Rental\Entity\RentalTranslation" 
$locale "en_US" 
$objectClass "Rental\Entity\Rental"
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-09 16:08:56

所以我的错误是,我配置了TranslatableListener两次。

在我的学说结构中(只是为了解释,在前面有一个注释,删除整行):

代码语言:javascript
复制
'doctrine' => [       
    'eventmanager'             => [
        'orm_default' => [
            'subscribers' => [
                'Gedmo\Timestampable\TimestampableListener',
                'Gedmo\Sluggable\SluggableListener',
                // 'Gedmo\Translatable\TranslatableListener',
            ],
        ],
    ],

在自助方面:

代码语言:javascript
复制
// sets the default locale and the actual locale
 $translatableListener = new TranslatableListener();
 $translatableListener->setDefaultLocale('de-DE');
 $translatableListener->setTranslatableLocale(\Locale::getDefault());
 $doctrineEventManager->addEventSubscriber($translatableListener);

如果您想为可翻译的原则扩展在ZendFramework2中设置DefaultLocale和TranslatableLocale,那么在引导和中,不要将它第二次添加到理论配置中。

票数 1
EN

Stack Overflow用户

发布于 2017-03-17 13:48:30

如果你想保持:

代码语言:javascript
复制
'doctrine' => [       
'eventmanager'             => [
    'orm_default' => [
        'subscribers' => [
            'Gedmo\Timestampable\TimestampableListener',
            'Gedmo\Sluggable\SluggableListener',
            // the line below because in future you might need it
            'Gedmo\Translatable\TranslatableListener',
        ],
    ],
],

试试这个:https://stackoverflow.com/a/42859119/3661592

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28395946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档