[Translation:update][Xliff Dumper] added target-language.

This commit is contained in:
Abdellatif Ait boudad 2014-06-29 09:53:14 +00:00
parent 3b9902ae77
commit 1951412b96
4 changed files with 23 additions and 4 deletions

View File

@ -141,7 +141,7 @@ EOF
// save the files
if ($input->getOption('force') === true) {
$output->writeln('Writing files');
$writer->writeTranslations($operation->getResult(), $input->getOption('output-format'), array('path' => $bundleTransPath));
$writer->writeTranslations($operation->getResult(), $input->getOption('output-format'), array('path' => $bundleTransPath, 'default_locale' => $this->getContainer()->getParameter('kernel.default_locale')));
}
}
}

View File

@ -20,6 +20,24 @@ use Symfony\Component\Translation\MessageCatalogue;
*/
class XliffFileDumper extends FileDumper
{
/**
* @var string
*/
private $defaultLocale;
/**
* {@inheritdoc}
*/
public function dump(MessageCatalogue $messages, $options = array())
{
$this->defaultLocale = \Locale::getDefault();
if (array_key_exists('default_locale', $options)) {
$this->defaultLocale = $options['default_locale'];
}
parent::dump($messages, $options);
}
/**
* {@inheritdoc}
*/
@ -33,7 +51,8 @@ class XliffFileDumper extends FileDumper
$xliff->setAttribute('xmlns', 'urn:oasis:names:tc:xliff:document:1.2');
$xliffFile = $xliff->appendChild($dom->createElement('file'));
$xliffFile->setAttribute('source-language', $messages->getLocale());
$xliffFile->setAttribute('source-language', $this->defaultLocale);
$xliffFile->setAttribute('target-language', $messages->getLocale());
$xliffFile->setAttribute('datatype', 'plaintext');
$xliffFile->setAttribute('original', 'file.ext');

View File

@ -23,7 +23,7 @@ class XliffFileDumperTest extends \PHPUnit_Framework_TestCase
$tempDir = sys_get_temp_dir();
$dumper = new XliffFileDumper();
$dumper->dump($catalogue, array('path' => $tempDir));
$dumper->dump($catalogue, array('path' => $tempDir, 'default_locale' => 'fr'));
$this->assertEquals(file_get_contents(__DIR__.'/../fixtures/resources-clean.xlf'), file_get_contents($tempDir.'/messages.en.xlf'));

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2">
<file source-language="en" datatype="plaintext" original="file.ext">
<file source-language="fr" target-language="en" datatype="plaintext" original="file.ext">
<body>
<trans-unit id="acbd18db4cc2f85cedef654fccc4a4d8" resname="foo">
<source>foo</source>