diff --git a/src/Symfony/Component/Translation/Dumper/YamlFileDumper.php b/src/Symfony/Component/Translation/Dumper/YamlFileDumper.php index 5920fef20c..870fb98380 100644 --- a/src/Symfony/Component/Translation/Dumper/YamlFileDumper.php +++ b/src/Symfony/Component/Translation/Dumper/YamlFileDumper.php @@ -26,6 +26,10 @@ class YamlFileDumper extends FileDumper */ protected function format(MessageCatalogue $messages, $domain) { + if (!class_exists('Symfony\Component\Yaml\Yaml')) { + throw new \LogicException('Dumping translations in the YAML format requires the Symfony Yaml component.'); + } + return Yaml::dump($messages->all($domain)); } diff --git a/src/Symfony/Component/Translation/Loader/CsvFileLoader.php b/src/Symfony/Component/Translation/Loader/CsvFileLoader.php index ddcf595baf..fc927601d9 100644 --- a/src/Symfony/Component/Translation/Loader/CsvFileLoader.php +++ b/src/Symfony/Component/Translation/Loader/CsvFileLoader.php @@ -71,7 +71,10 @@ class CsvFileLoader extends ArrayLoader } $catalogue = parent::load($messages, $locale, $domain); - $catalogue->addResource(new FileResource($resource)); + + if (class_exists('Symfony\Component\Config\Resource\FileResource')) { + $catalogue->addResource(new FileResource($resource)); + } return $catalogue; } diff --git a/src/Symfony/Component/Translation/Loader/IcuDatFileLoader.php b/src/Symfony/Component/Translation/Loader/IcuDatFileLoader.php index a36cd76e71..71ba90a39d 100644 --- a/src/Symfony/Component/Translation/Loader/IcuDatFileLoader.php +++ b/src/Symfony/Component/Translation/Loader/IcuDatFileLoader.php @@ -52,7 +52,10 @@ class IcuDatFileLoader extends IcuResFileLoader $messages = $this->flatten($rb); $catalogue = new MessageCatalogue($locale); $catalogue->add($messages, $domain); - $catalogue->addResource(new FileResource($resource.'.dat')); + + if (class_exists('Symfony\Component\Config\Resource\FileResource')) { + $catalogue->addResource(new FileResource($resource.'.dat')); + } return $catalogue; } diff --git a/src/Symfony/Component/Translation/Loader/IcuResFileLoader.php b/src/Symfony/Component/Translation/Loader/IcuResFileLoader.php index d864c7bd0c..2f8037fb16 100644 --- a/src/Symfony/Component/Translation/Loader/IcuResFileLoader.php +++ b/src/Symfony/Component/Translation/Loader/IcuResFileLoader.php @@ -52,7 +52,10 @@ class IcuResFileLoader implements LoaderInterface $messages = $this->flatten($rb); $catalogue = new MessageCatalogue($locale); $catalogue->add($messages, $domain); - $catalogue->addResource(new DirectoryResource($resource)); + + if (class_exists('Symfony\Component\Config\Resource\DirectoryResource')) { + $catalogue->addResource(new DirectoryResource($resource)); + } return $catalogue; } diff --git a/src/Symfony/Component/Translation/Loader/IniFileLoader.php b/src/Symfony/Component/Translation/Loader/IniFileLoader.php index 3f01ab4e99..1b3a7b1911 100644 --- a/src/Symfony/Component/Translation/Loader/IniFileLoader.php +++ b/src/Symfony/Component/Translation/Loader/IniFileLoader.php @@ -38,7 +38,10 @@ class IniFileLoader extends ArrayLoader $messages = parse_ini_file($resource, true); $catalogue = parent::load($messages, $locale, $domain); - $catalogue->addResource(new FileResource($resource)); + + if (class_exists('Symfony\Component\Config\Resource\FileResource')) { + $catalogue->addResource(new FileResource($resource)); + } return $catalogue; } diff --git a/src/Symfony/Component/Translation/Loader/MoFileLoader.php b/src/Symfony/Component/Translation/Loader/MoFileLoader.php index 9cab3f0d8d..ab4e7a9574 100644 --- a/src/Symfony/Component/Translation/Loader/MoFileLoader.php +++ b/src/Symfony/Component/Translation/Loader/MoFileLoader.php @@ -66,7 +66,10 @@ class MoFileLoader extends ArrayLoader } $catalogue = parent::load($messages, $locale, $domain); - $catalogue->addResource(new FileResource($resource)); + + if (class_exists('Symfony\Component\Config\Resource\FileResource')) { + $catalogue->addResource(new FileResource($resource)); + } return $catalogue; } diff --git a/src/Symfony/Component/Translation/Loader/PhpFileLoader.php b/src/Symfony/Component/Translation/Loader/PhpFileLoader.php index 1cc9d06d9c..9ce2e7d2fa 100644 --- a/src/Symfony/Component/Translation/Loader/PhpFileLoader.php +++ b/src/Symfony/Component/Translation/Loader/PhpFileLoader.php @@ -42,7 +42,10 @@ class PhpFileLoader extends ArrayLoader $messages = require $resource; $catalogue = parent::load($messages, $locale, $domain); - $catalogue->addResource(new FileResource($resource)); + + if (class_exists('Symfony\Component\Config\Resource\FileResource')) { + $catalogue->addResource(new FileResource($resource)); + } return $catalogue; } diff --git a/src/Symfony/Component/Translation/Loader/PoFileLoader.php b/src/Symfony/Component/Translation/Loader/PoFileLoader.php index 8c8f1a297a..b5d12e9821 100644 --- a/src/Symfony/Component/Translation/Loader/PoFileLoader.php +++ b/src/Symfony/Component/Translation/Loader/PoFileLoader.php @@ -44,7 +44,10 @@ class PoFileLoader extends ArrayLoader } $catalogue = parent::load($messages, $locale, $domain); - $catalogue->addResource(new FileResource($resource)); + + if (class_exists('Symfony\Component\Config\Resource\FileResource')) { + $catalogue->addResource(new FileResource($resource)); + } return $catalogue; } diff --git a/src/Symfony/Component/Translation/Loader/QtFileLoader.php b/src/Symfony/Component/Translation/Loader/QtFileLoader.php index aacfb4a55e..6dd0696c6f 100644 --- a/src/Symfony/Component/Translation/Loader/QtFileLoader.php +++ b/src/Symfony/Component/Translation/Loader/QtFileLoader.php @@ -68,7 +68,10 @@ class QtFileLoader implements LoaderInterface } $translation = $translation->nextSibling; } - $catalogue->addResource(new FileResource($resource)); + + if (class_exists('Symfony\Component\Config\Resource\FileResource')) { + $catalogue->addResource(new FileResource($resource)); + } } libxml_use_internal_errors($internalErrors); diff --git a/src/Symfony/Component/Translation/Loader/XliffFileLoader.php b/src/Symfony/Component/Translation/Loader/XliffFileLoader.php index 79723f3830..a36217268d 100644 --- a/src/Symfony/Component/Translation/Loader/XliffFileLoader.php +++ b/src/Symfony/Component/Translation/Loader/XliffFileLoader.php @@ -69,7 +69,10 @@ class XliffFileLoader implements LoaderInterface $catalogue->set((string) $source, $target, $domain); } - $catalogue->addResource(new FileResource($resource)); + + if (class_exists('Symfony\Component\Config\Resource\FileResource')) { + $catalogue->addResource(new FileResource($resource)); + } return $catalogue; } diff --git a/src/Symfony/Component/Translation/Loader/YamlFileLoader.php b/src/Symfony/Component/Translation/Loader/YamlFileLoader.php index e50e0fa385..fb0946cc57 100644 --- a/src/Symfony/Component/Translation/Loader/YamlFileLoader.php +++ b/src/Symfony/Component/Translation/Loader/YamlFileLoader.php @@ -43,6 +43,10 @@ class YamlFileLoader extends ArrayLoader throw new NotFoundResourceException(sprintf('File "%s" not found.', $resource)); } + if (!class_exists('Symfony\Component\Yaml\Parser')) { + throw new \LogicException('Loading translations from the YAML format requires the Symfony Yaml component.'); + } + if (null === $this->yamlParser) { $this->yamlParser = new YamlParser(); } @@ -64,7 +68,10 @@ class YamlFileLoader extends ArrayLoader } $catalogue = parent::load($messages, $locale, $domain); - $catalogue->addResource(new FileResource($resource)); + + if (class_exists('Symfony\Component\Config\Resource\FileResource')) { + $catalogue->addResource(new FileResource($resource)); + } return $catalogue; }