コード例 #1
0
ファイル: Translator.php プロジェクト: ayoah/symfony
    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;
    }
コード例 #2
0
 /**
  * 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);
 }