protected function findLocaleChain(I18n\Locale $locale, $directoryPath)
{
$filesInHierarchy = [Files::concatenatePaths([$directoryPath, (string) $locale . '.xml'])];
$localeIdentifier = (string) $locale;
while ($localeIdentifier = substr($localeIdentifier, 0, (int) strrpos($localeIdentifier, '_'))) {
$possibleFilename = Files::concatenatePaths([$directoryPath, $localeIdentifier . '.xml']);
if (file_exists($possibleFilename)) {
array_unshift($filesInHierarchy, $possibleFilename);
}
}
array_unshift($filesInHierarchy, Files::concatenatePaths([$directoryPath, 'root.xml']));
return $filesInHierarchy;
}