diff --git a/Localization/L11nManager.php b/Localization/L11nManager.php index 5264d6fd7..5304c59c1 100644 --- a/Localization/L11nManager.php +++ b/Localization/L11nManager.php @@ -118,7 +118,7 @@ class L11nManager * @since 1.0.0 * @author Dennis Eichhorn */ - public function getLanguage(string $language, string $module = null) : array + public function getModuleLanguage(string $language, string $module = null) : array { if (!isset($module) && isset($this->language[$language])) { return $this->language[$language]; @@ -144,11 +144,16 @@ class L11nManager public function getText(string $code, string $module, string $translation) { if (!isset($this->language[$code][$module][$translation])) { - $this->logger->warning(FileLogger::MSG_FULL, [ - 'message' => 'Undefined translation for \'' . $code . '/' . $module . '/' . $translation . '\'.' - ]); + $class = '\Modules\\' . $module . '\\Controller'; + $this->loadLanguage($code, $module, $class::getLocalization($code, $module)); - return 'ERROR'; + if (!isset($this->language[$code][$module][$translation])) { + $this->logger->warning(FileLogger::MSG_FULL, [ + 'message' => 'Undefined translation for \'' . $code . '/' . $module . '/' . $translation . '\'.' + ]); + + return 'ERROR'; + } } return $this->language[$code][$module][$translation]; diff --git a/Module/ModuleAbstract.php b/Module/ModuleAbstract.php index f565341c3..27b42437d 100644 --- a/Module/ModuleAbstract.php +++ b/Module/ModuleAbstract.php @@ -128,7 +128,7 @@ abstract class ModuleAbstract * @since 1.0.0 * @author Dennis Eichhorn */ - public function getLocalization(string $language, string $destination) : array + public static function getLocalization(string $language, string $destination) : array { $lang = []; if (($path = realpath($oldPath = __DIR__ . '/../../Modules/' . static::MODULE_NAME . '/Theme/' . $destination . '/Lang/' . $language . '.lang.php')) !== false) {