/** * * {@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; }
/** * @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; }
/** * {@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); } }