Skip to content

Commit 1914ccb

Browse files
committed
[Translation] Allow recursive extraction of translation keys
1 parent d6a5b2a commit 1914ccb

File tree

2 files changed

+6
-8
lines changed

2 files changed

+6
-8
lines changed

src/Symfony/Component/Translation/Extractor/AbstractFileExtractor.php

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,19 +23,16 @@ abstract class AbstractFileExtractor
2323
protected function extractFiles(string|iterable $resource): iterable
2424
{
2525
if (is_iterable($resource)) {
26-
$files = [];
2726
foreach ($resource as $file) {
28-
if ($this->canBeExtracted($file)) {
29-
$files[] = $this->toSplFileInfo($file);
30-
}
27+
yield from $this->extractFiles($file);
3128
}
3229
} elseif (is_file($resource)) {
33-
$files = $this->canBeExtracted($resource) ? [$this->toSplFileInfo($resource)] : [];
30+
if ($this->canBeExtracted($resource)) {
31+
yield $this->toSplFileInfo($resource);
32+
}
3433
} else {
35-
$files = $this->extractFromDirectory($resource);
34+
yield from $this->extractFromDirectory($resource);
3635
}
37-
38-
return $files;
3936
}
4037

4138
private function toSplFileInfo(string $file): \SplFileInfo

src/Symfony/Component/Translation/Tests/Extractor/PhpAstExtractorTest.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,5 +54,6 @@ public static function resourcesProvider(): \Generator
5454
yield 'splFiles' => [$splFiles];
5555
yield 'ArrayObject_glob' => [new \ArrayObject(glob(self::FIXTURES_FOLDER.'*'))];
5656
yield 'ArrayObject_splFiles' => [new \ArrayObject($splFiles)];
57+
yield 'ArrayObject_directory' => [new \ArrayObject([self::FIXTURES_FOLDER])];
5758
}
5859
}

0 commit comments

Comments
 (0)