예제 #1
0
 /**
  *
  * {@inheritdoc}
  *
  */
 public function getDomains()
 {
     if (null === $this->domains) {
         $this->domains = array_values(array_unique(array_merge($this->source->getDomains(), $this->target->getDomains())));
     }
     return $this->domains;
 }
예제 #2
0
 /**
  * @param string                    $bundle
  * @param string                    $path
  * @param MessageCatalogueInterface $catalogue
  * @return $this
  */
 public function addCatalogue($bundle, $path, MessageCatalogueInterface $catalogue)
 {
     $locale = $catalogue->getLocale();
     $domains = $catalogue->getDomains();
     foreach ($domains as $domain) {
         $messages = $catalogue->all($domain);
         foreach ($messages as $key => $translation) {
             $this->addTranslation($bundle, $domain, $locale, $key, $translation);
         }
     }
     /** @var ResourceInterface $resource */
     foreach ($catalogue->getResources() as $resource) {
         $fileName = basename($resource->getResource());
         $this->addFile($bundle, $path, $fileName);
     }
     return $this;
 }
예제 #3
0
 /**
  * {@inheritdoc}
  */
 public function addFallbackCatalogue(MessageCatalogueInterface $catalogue)
 {
     foreach ($catalogue->getDomains() as $domain) {
         foreach ($catalogue->all($domain) as $id => $translation) {
             if (false === $this->has($id, $domain)) {
                 $this->set($id, $translation, $domain);
             }
         }
     }
     foreach ($catalogue->getResources() as $resource) {
         $this->addResource($resource);
     }
 }