diff --git a/lib/internal/Magento/Framework/App/Language/Config.php b/lib/internal/Magento/Framework/App/Language/Config.php index 20f70bd48c89c..3626d5696fa27 100644 --- a/lib/internal/Magento/Framework/App/Language/Config.php +++ b/lib/internal/Magento/Framework/App/Language/Config.php @@ -141,4 +141,15 @@ public function getUses() { return $this->_data['use']; } + + /** + * Set sort order + * + * @param string|int $value + * @return void + */ + public function setSortOrder($value) + { + $this->_data['sort_order'] = $value; + } } diff --git a/lib/internal/Magento/Framework/App/Language/Dictionary.php b/lib/internal/Magento/Framework/App/Language/Dictionary.php index 564299b5ab528..cd87f422b6e03 100644 --- a/lib/internal/Magento/Framework/App/Language/Dictionary.php +++ b/lib/internal/Magento/Framework/App/Language/Dictionary.php @@ -140,9 +140,10 @@ private function collectInheritedPacks($languageConfig, &$result, $level = 0, ar 'language' => $languageConfig, 'key' => $packKey, ]; - foreach ($languageConfig->getUses() as $reuse) { + foreach ($languageConfig->getUses() as $index => $reuse) { if (isset($this->packList[$reuse['vendor']][$reuse['package']])) { $parentLanguageConfig = $this->packList[$reuse['vendor']][$reuse['package']]; + $parentLanguageConfig->setSortOrder($index); $this->collectInheritedPacks($parentLanguageConfig, $result, $level + 1, $visitedPacks); } }