收听missingTranslation事件

时间:2013-07-30 04:51:36

标签: event-handling zend-framework2 zend-translate

我想收集尚未翻译的字符串,因为缺少翻译。

  1. 我想为所有翻译启用此活动。现在我可以通过在翻译之前设置它来做到这一点,但这应该是一个全局设置。
  2. 如果触发此事件,我想调用一个函数。
  3. 我能做到吗?

    感谢您的帮助!

    (这是Zend Framework 2.2和Zend \ I18n。)

1 个答案:

答案 0 :(得分:2)

ZF2实际上在翻译器中内置了此事件。 默认情况下,转换程序组件不会触发任何事件,您必须明确启用它。

在你的module.config.php

return array(
    'translator'
        'event_manager_enabled' => true
    )
);

现在您可以将监听器附加到事件中。

$translator = $serviceManager->get('MvcTranslator');
$translator->getEventManager()->attach('missingTranslation', function($event) {
    //Do some stuff when translation is missing
    var_dump($event->getParams());
});