public function __invoke(ContainerInterface $container, $name, callable $callback, array $options = null)
 {
     $translator = $callback();
     $translator->addTranslationFilePattern(PhpArray::class, Resources::getBasePath(), Resources::getPatternForValidator());
     $translator->addTranslationFilePattern(PhpArray::class, Resources::getBasePath(), Resources::getPatternForCaptcha());
     AbstractValidator::setDefaultTranslator($translator);
     return $translator;
 }
 public function createDelegatorWithName(ServiceLocatorInterface $services, $name, $requestedName, $callback)
 {
     $translator = $callback();
     /* @var $translator \Zend\Mvc\I18n\Translator */
     $translator->addTranslationFilePattern('phpArray', Resources::getBasePath(), Resources::getPatternForValidator());
     $translator->addTranslationFilePattern('phpArray', Resources::getBasePath(), Resources::getPatternForCaptcha());
     return $translator;
 }
 /**
  * {@inheritDoc}
  */
 public function createDelegatorWithName(ServiceLocatorInterface $services, $name, $requestedName, $callback)
 {
     /* @var $translator \Zend\I18n\Translator\Translator */
     $translator = $callback();
     $locale = Locale::getDefault();
     /* @var $detector Detector */
     $detector = $services->get(Detector::class);
     $defaultLocale = Locale::canonicalize($detector->getDefault());
     $translator->setLocale($locale)->setFallbackLocale($defaultLocale);
     $dirName = $this->getLanguageDirectoryName($locale, $defaultLocale);
     if ($dirName) {
         $translator->addTranslationFile('phpArray', sprintf(Resources::getBasePath() . Resources::getPatternForValidator(), $dirName), 'default', $locale);
         $translator->addTranslationFile('phpArray', sprintf(Resources::getBasePath() . Resources::getPatternForCaptcha(), $dirName), 'default', $locale);
     }
     return $translator;
 }