/** {@inheritdoc} */ public function __invoke(\Interop\Container\ContainerInterface $container, $name, callable $callback, array $options = null) { $locale = \Locale::getDefault(); $primaryLanguage = \Locale::getPrimaryLanguage($locale); $mvcTranslator = $callback(); $mvcTranslator->setPluginManager($container->get('TranslatorPluginManager')); $translator = $mvcTranslator->getTranslator(); // Set language $translator->setLocale($locale); if ($primaryLanguage != $locale) { // Set primary language as fallback, i.e. "de" if locale is "de_DE". // This enables translation file patterns for "de" to match all // variants. $translator->setFallbackLocale($primaryLanguage); } // Load translations for ZF validator messages $translator->addTranslationFilePattern('phparray', \Zend\I18n\Translator\Resources::getBasePath(), \Zend\I18n\Translator\Resources::getPatternForValidator()); // Set up event listener for missing translations if ($primaryLanguage != 'en') { $config = $container->get('Library\\UserConfig'); if (@$config['debug']['report missing translations']) { $translator->enableEventManager(); $translator->getEventManager()->attach(\Zend\I18n\Translator\Translator::EVENT_MISSING_TRANSLATION, array($this, 'onMissingTranslation')); } } return $mvcTranslator; }
public function createDelegatorWithName(ServiceLocatorInterface $services, $name, $requestedName, $callback) { $translator = $callback(); $translator->addTranslationFilePattern('phpArray', Resources::getBasePath(), Resources::getPatternForValidator(), 'myApp'); $translator->addTranslationFilePattern('gettext', Resources::getBasePath(), '%s.mo'); return $translator; }
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; }