Fix wrong value in file id attribute for Xliff 2.0
This commit is contained in:
parent
d4f4d8aca7
commit
8bf12f89a3
@ -141,7 +141,11 @@ class XliffFileDumper extends FileDumper
|
|||||||
$xliff->setAttribute('trgLang', str_replace('_', '-', $messages->getLocale()));
|
$xliff->setAttribute('trgLang', str_replace('_', '-', $messages->getLocale()));
|
||||||
|
|
||||||
$xliffFile = $xliff->appendChild($dom->createElement('file'));
|
$xliffFile = $xliff->appendChild($dom->createElement('file'));
|
||||||
$xliffFile->setAttribute('id', $domain.'.'.$messages->getLocale());
|
if (MessageCatalogue::INTL_DOMAIN_SUFFIX === substr($domain, -($suffixLength = \strlen(MessageCatalogue::INTL_DOMAIN_SUFFIX)))) {
|
||||||
|
$xliffFile->setAttribute('id', substr($domain, 0, -$suffixLength).'.'.$messages->getLocale());
|
||||||
|
} else {
|
||||||
|
$xliffFile->setAttribute('id', $domain.'.'.$messages->getLocale());
|
||||||
|
}
|
||||||
|
|
||||||
foreach ($messages->all($domain) as $source => $target) {
|
foreach ($messages->all($domain) as $source => $target) {
|
||||||
$translation = $dom->createElement('unit');
|
$translation = $dom->createElement('unit');
|
||||||
|
@ -54,6 +54,21 @@ class XliffFileDumperTest extends TestCase
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testFormatIcuCatalogueXliff2()
|
||||||
|
{
|
||||||
|
$catalogue = new MessageCatalogue('en_US');
|
||||||
|
$catalogue->add([
|
||||||
|
'foo' => 'bar',
|
||||||
|
], 'messages'.MessageCatalogue::INTL_DOMAIN_SUFFIX);
|
||||||
|
|
||||||
|
$dumper = new XliffFileDumper();
|
||||||
|
|
||||||
|
$this->assertStringEqualsFile(
|
||||||
|
__DIR__.'/../fixtures/resources-2.0+intl-icu.xlf',
|
||||||
|
$dumper->formatCatalogue($catalogue, 'messages'.MessageCatalogue::INTL_DOMAIN_SUFFIX, ['default_locale' => 'fr_FR', 'xliff_version' => '2.0'])
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
public function testFormatCatalogueWithCustomToolInfo()
|
public function testFormatCatalogueWithCustomToolInfo()
|
||||||
{
|
{
|
||||||
$options = [
|
$options = [
|
||||||
|
11
src/Symfony/Component/Translation/Tests/fixtures/resources-2.0+intl-icu.xlf
vendored
Normal file
11
src/Symfony/Component/Translation/Tests/fixtures/resources-2.0+intl-icu.xlf
vendored
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<xliff xmlns="urn:oasis:names:tc:xliff:document:2.0" version="2.0" srcLang="fr-FR" trgLang="en-US">
|
||||||
|
<file id="messages.en_US">
|
||||||
|
<unit id="LCa0a2j" name="foo">
|
||||||
|
<segment>
|
||||||
|
<source>foo</source>
|
||||||
|
<target>bar</target>
|
||||||
|
</segment>
|
||||||
|
</unit>
|
||||||
|
</file>
|
||||||
|
</xliff>
|
Reference in New Issue
Block a user