Skip to content

Commit 3384000

Browse files
committed
#224 Make use of unit IDs as translation IDs optional
1 parent 9fffadb commit 3384000

2 files changed

Lines changed: 12 additions & 3 deletions

File tree

src/Extractors/Xliff.php

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,18 @@
1111
*/
1212
class Xliff extends Extractor implements ExtractorInterface
1313
{
14+
15+
public static $options = [
16+
'unitid_as_id' => false
17+
];
18+
1419
/**
1520
* {@inheritdoc}
1621
*/
1722
public static function fromString($string, Translations $translations, array $options = [])
1823
{
24+
$options += static::$options;
25+
1926
$xml = new SimpleXMLElement($string, null, false);
2027

2128
foreach ($xml->file as $file) {
@@ -37,7 +44,9 @@ public static function fromString($string, Translations $translations, array $op
3744
if (isset($unit['id'])) {
3845
$unitId = (string) $unit['id'];
3946
$translation->addComment("XLIFF_UNIT_ID: $unitId");
40-
$translation->setId($unitId);
47+
if ($options['unitid_as_id']) {
48+
$translation->setId($unitId);
49+
}
4150
}
4251
$translation->setTranslation(array_shift($targets));
4352
$translation->setPluralTranslations($targets);

tests/AssetsTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -548,9 +548,9 @@ public function testVueJs2MultipleDomainScanning()
548548
}
549549
}
550550

551-
public function testXliff()
551+
public function testXliffUnitIds()
552552
{
553-
$translations = static::get('xliff/Xliff', 'Xliff');
553+
$translations = static::get('xliff/Xliff', 'Xliff', ['unitid_as_id' => true]);
554554
$countTranslations = 3;
555555
$countTranslated = 3;
556556
$countHeaders = 9;

0 commit comments

Comments
 (0)