From 5e22e6ee6d82bfbe1017887458dae6b655e00683 Mon Sep 17 00:00:00 2001 From: scott austin Date: Fri, 21 Jun 2019 17:00:15 +0100 Subject: [PATCH] add source & target language headers --- src/Generators/Xliff.php | 4 ++-- src/Translations.php | 2 ++ tests/AssetsTest.php | 26 +++++++++++++------------- 3 files changed, 17 insertions(+), 15 deletions(-) diff --git a/src/Generators/Xliff.php b/src/Generators/Xliff.php index d4055336..cb1176fb 100644 --- a/src/Generators/Xliff.php +++ b/src/Generators/Xliff.php @@ -17,8 +17,8 @@ public static function toString(Translations $translations, array $options = []) $xliff = $dom->appendChild($dom->createElement('xliff')); $xliff->setAttribute('xmlns', 'urn:oasis:names:tc:xliff:document:2.0'); $xliff->setAttribute('version', '2.0'); - $xliff->setAttribute('srcLang', $translations->getLanguage()); - $xliff->setAttribute('trgLang', $translations->getLanguage()); + $xliff->setAttribute('srcLang', $translations->getHeader('X-Source-Language')?: $translations->getLanguage()); + $xliff->setAttribute('trgLang', $translations->getHeader('X-Target-Language')?: $translations->getLanguage()); $file = $xliff->appendChild($dom->createElement('file')); $file->setAttribute('id', $translations->getDomain().'.'.$translations->getLanguage()); diff --git a/src/Translations.php b/src/Translations.php index 0e42e4b0..7a8af817 100644 --- a/src/Translations.php +++ b/src/Translations.php @@ -112,6 +112,8 @@ class Translations extends ArrayObject 'MIME-Version' => '1.0', 'Content-Type' => 'text/plain; charset=UTF-8', 'Content-Transfer-Encoding' => '8bit', + 'X-Target-Language' => '', + 'X-Source-Language' => '', ], 'headersSorting' => false, 'defaultDateHeaders' => [ diff --git a/tests/AssetsTest.php b/tests/AssetsTest.php index 9db402c5..45c57569 100644 --- a/tests/AssetsTest.php +++ b/tests/AssetsTest.php @@ -12,7 +12,7 @@ public function testPo() $translations = static::get('po/input', 'Po'); $countTranslations = 3; $countTranslated = 3; - $countHeaders = 9; + $countHeaders = 11; $this->assertCount($countTranslations, $translations); $this->assertCount($countHeaders, $translations->getHeaders()); @@ -54,7 +54,7 @@ public function testPo2() $translations = static::get('po2/input', 'Po'); $countTranslations = 13; $countTranslated = 10; - $countHeaders = 13; + $countHeaders = 15; $this->assertCount($countTranslations, $translations); $this->assertCount($countHeaders, $translations->getHeaders()); @@ -90,7 +90,7 @@ public function testPo3() $translations = static::get('po3/input', 'Po'); $countTranslations = 8; $countTranslated = 8; - $countHeaders = 8; + $countHeaders = 10; $this->assertCount($countTranslations, $translations); $this->assertCount($countHeaders, $translations->getHeaders()); @@ -126,7 +126,7 @@ public function testBlade() $translations = static::get('blade/input', 'Blade'); $countTranslations = 11; $countTranslated = 0; - $countHeaders = 8; + $countHeaders = 10; $this->assertCount($countTranslations, $translations); $this->assertCount($countHeaders, $translations->getHeaders()); @@ -162,7 +162,7 @@ public function testJed() $translations = static::get('jed/input', 'Jed'); $countTranslations = 13; $countTranslated = 10; - $countHeaders = 10; + $countHeaders = 12; $this->assertCount($countTranslations, $translations); $this->assertCount($countHeaders, $translations->getHeaders()); @@ -198,7 +198,7 @@ public function testJsCode() $translations = static::get('jscode/input', 'JsCode'); $countTranslations = 7; $countTranslated = 0; - $countHeaders = 8; + $countHeaders = 10; $this->assertCount($countTranslations, $translations); $this->assertCount($countHeaders, $translations->getHeaders()); @@ -234,7 +234,7 @@ public function testJs2Code() $translations = static::get('jscode2/input', 'JsCode'); $countTranslations = 4; $countTranslated = 0; - $countHeaders = 8; + $countHeaders = 10; $this->assertCount($countTranslations, $translations); $this->assertCount($countHeaders, $translations->getHeaders()); @@ -269,7 +269,7 @@ public function testPhpCode() $translations = static::get('phpcode/input', 'PhpCode'); $countTranslations = 12; $countTranslated = 0; - $countHeaders = 8; + $countHeaders = 10; $this->assertCount($countTranslations, $translations); $this->assertCount($countHeaders, $translations->getHeaders()); @@ -309,7 +309,7 @@ public function testPhpCode2() ]); $countTranslations = 13; $countTranslated = 0; - $countHeaders = 8; + $countHeaders = 10; $this->assertCount($countTranslations, $translations); $this->assertCount($countHeaders, $translations->getHeaders()); @@ -347,7 +347,7 @@ public function testPhpCode3() ]); $countTranslations = 2; $countTranslated = 0; - $countHeaders = 8; + $countHeaders = 10; $this->assertCount($countTranslations, $translations); $this->assertCount($countHeaders, $translations->getHeaders()); @@ -383,7 +383,7 @@ public function testTwig() $translations = static::get('twig/input', 'Twig'); $countTranslations = 10; $countTranslated = 0; - $countHeaders = 8; + $countHeaders = 10; $this->assertCount($countTranslations, $translations); $this->assertCount($countHeaders, $translations->getHeaders()); @@ -423,7 +423,7 @@ public function testVueJs() $translations = static::get('vuejs/input', 'VueJs'); $countTranslations = 31; $countTranslated = 0; - $countHeaders = 8; + $countHeaders = 10; $this->assertCount($countTranslations, $translations); $this->assertCount($countHeaders, $translations->getHeaders()); @@ -466,7 +466,7 @@ public function testPhpCode4() 'domainOnly' => true, ]); - $countHeaders = 9; + $countHeaders = 11; $countTranslated = 0; $countTranslations = 4;