private function getFallbackContent(MessageCatalogue $catalogue) { $fallbackContent = ''; $current = ''; $replacementPattern = '/[^a-z0-9_]/i'; $fallbackCatalogue = $catalogue->getFallbackCatalogue(); while ($fallbackCatalogue) { $fallback = $fallbackCatalogue->getLocale(); $fallbackSuffix = ucfirst(preg_replace($replacementPattern, '_', $fallback)); $currentSuffix = ucfirst(preg_replace($replacementPattern, '_', $current)); $fallbackContent .= sprintf(<<<EOF \$catalogue%s = new MessageCatalogue('%s', %s); \$catalogue%s->addFallbackCatalogue(\$catalogue%s); EOF , $fallbackSuffix, $fallback, var_export($fallbackCatalogue->all(), true), $currentSuffix, $fallbackSuffix); $current = $fallbackCatalogue->getLocale(); $fallbackCatalogue = $fallbackCatalogue->getFallbackCatalogue(); } return $fallbackContent; }
/** * Set the new id into the MessageCatalogue * @param $id * @param $domain * @param MessageCatalogue $catalogue */ protected function setNewId($id, $domain, MessageCatalogue $catalogue) { $value = $this->checkForDefaultValue($id, $catalogue->getLocale()); if (!$value && $catalogue->getFallbackCatalogue()) { $value = $this->checkForDefaultValue($id, $catalogue->getFallbackCatalogue()->getLocale()); } if (!$value) { $value = $this->decorate($id); } $catalogue->set($id, $value, $domain); }