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;
 }
Example #2
0
 /**
  * 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;
 }
Example #3
0
 /**
  * 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;
 }