Chris@0: Chris@0: * Chris@0: * For the full copyright and license information, please view the LICENSE Chris@0: * file that was distributed with this source code. Chris@0: */ Chris@0: Chris@0: namespace Symfony\Component\Translation\Dumper; Chris@0: Chris@0: use Symfony\Component\Translation\MessageCatalogue; Chris@0: use Symfony\Component\Translation\Util\ArrayConverter; Chris@0: use Symfony\Component\Yaml\Yaml; Chris@0: use Symfony\Component\Translation\Exception\LogicException; Chris@0: Chris@0: /** Chris@0: * YamlFileDumper generates yaml files from a message catalogue. Chris@0: * Chris@0: * @author Michel Salib Chris@0: */ Chris@0: class YamlFileDumper extends FileDumper Chris@0: { Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: public function formatCatalogue(MessageCatalogue $messages, $domain, array $options = array()) Chris@0: { Chris@0: if (!class_exists('Symfony\Component\Yaml\Yaml')) { Chris@0: throw new LogicException('Dumping translations in the YAML format requires the Symfony Yaml component.'); Chris@0: } Chris@0: Chris@0: $data = $messages->all($domain); Chris@0: Chris@0: if (isset($options['as_tree']) && $options['as_tree']) { Chris@0: $data = ArrayConverter::expandToTree($data); Chris@0: } Chris@0: Chris@0: if (isset($options['inline']) && ($inline = (int) $options['inline']) > 0) { Chris@0: return Yaml::dump($data, $inline); Chris@0: } Chris@0: Chris@0: return Yaml::dump($data); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: protected function getExtension() Chris@0: { Chris@0: return 'yml'; Chris@0: } Chris@0: }