zf2.2 translator周りの変更点

※2.2の変更履歴にありました。
デフォルトのトランスレータを設定するのに、

<?php
        $translator = $serviceManager->get('translator');
        \Zend\Validator\AbstractValidator::setDefaultTranslator($translator);

としているケースがありますが、古い設定のままだと、
Argument 1 passed to Zend\Validator\AbstractValidator::setTranslator() must be an instance of Zend\Validator\Translator\TranslatorInterface, instance of Zend\I18n\Translator\Translator given.
といったエラーになりました。
変更があって、下記のコメントの通り、translatorのfactoryをZend\Mvc\Service\TranslatorServiceFactoryに変更したほうがいいようです。
https://github.com/zendframework/zf2/issues/4413#issuecomment-17405785
Skeletonではどうなっているかを見ると、
https://github.com/zendframework/ZendSkeletonApplication/blob/master/module/Application/config/module.config.php#L60-L62

<?php
array(
    'service_manager' => array(
        'abstract_factories' => array(
            'Zend\Cache\Service\StorageCacheAbstractServiceFactory',
            'Zend\Log\LoggerAbstractServiceFactory',
        ),
        'aliases' => array(
            'translator' => 'MvcTranslator',
        ),
    ),
)

なるほど、この通りでOKのようです。translatorを使っているのが一箇所なら、MvcTranslatorを指定した方がてっとり早いかもしれませんね。
translatorの設定が不要になりそう。Applicationモジュールに依存するのはつらいですよね。 translatorキーで依存を解決しているものが残っているので、aliasesかfactoryかどちらかで指定する必要はまだ、ありそうです。

<?php
        $translator = $serviceManager->get('MvcTranslator');
        \Zend\Validator\AbstractValidator::setDefaultTranslator($translator);