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: Chris@0: /** Chris@0: * QtFileDumper generates ts files from a message catalogue. Chris@0: * Chris@0: * @author Benjamin Eberlei Chris@0: */ Chris@0: class QtFileDumper extends FileDumper Chris@0: { Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@17: public function formatCatalogue(MessageCatalogue $messages, $domain, array $options = []) Chris@0: { Chris@0: $dom = new \DOMDocument('1.0', 'utf-8'); Chris@0: $dom->formatOutput = true; Chris@0: $ts = $dom->appendChild($dom->createElement('TS')); Chris@0: $context = $ts->appendChild($dom->createElement('context')); Chris@0: $context->appendChild($dom->createElement('name', $domain)); Chris@0: Chris@0: foreach ($messages->all($domain) as $source => $target) { Chris@0: $message = $context->appendChild($dom->createElement('message')); Chris@0: $message->appendChild($dom->createElement('source', $source)); Chris@0: $message->appendChild($dom->createElement('translation', $target)); Chris@0: } Chris@0: Chris@0: return $dom->saveXML(); Chris@0: } Chris@0: Chris@0: /** Chris@0: * {@inheritdoc} Chris@0: */ Chris@0: protected function getExtension() Chris@0: { Chris@0: return 'ts'; Chris@0: } Chris@0: }