public function init() { $this->app->configs->setDefaultConfig($this->id, new TranslatorConfig(), $this); $this->translator = $translator = new Translator(); /** @var TranslatorConfig $config */ $this->moduleConfig = $config = $this->app->configs->getConfig($this->id); if (!$this->app->getConfig()->developmentMode) { $c = new Filesystem(); $o = new FilesystemOptions(); $o->setCacheDir($this->app->cacheStorage->createStorage($this->id)); $c->setOptions($o); $c->addPlugin(new Serializer()); $translator->setCache($c); } $translator->setLocale($config->defaultLanguage); $folder = $this->app->parseUri($config->translationsDirectory); foreach ($config->contexts as $context => $file) { if (is_int($context)) { $context = $file; $file .= '.mo'; } $translator->addTranslationFilePattern('gettext', $folder, '%s/' . $file, $context); } $this->translator = $translator; }
/** * Set options. * * @param array|Traversable|FilesystemOptions $options * @return Filesystem * @see getOptions() */ public function setOptions($options) { if (!$options instanceof FilesystemOptions) { $options = new FilesystemOptions($options); } $this->options = $options; $options->setAdapter($this); return $this; }
/** * Set options. * * @param array|Traversable|FilesystemOptions $options * @return Filesystem * @see getOptions() */ public function setOptions($options) { if (!is_array($options) && !$options instanceof Traversable && !$options instanceof FilesystemOptions) { throw new Exception\InvalidArgumentException(sprintf('%s expects an array, a Traversable object, or an FilesystemOptions instance; ' . 'received "%s"', __METHOD__, is_object($options) ? get_class($options) : gettype($options))); } if (!$options instanceof FilesystemOptions) { $options = new FilesystemOptions($options); } $this->options = $options; $options->setAdapter($this); return $this; }