From 8550bbda5940d129e33a58d6441aa399b1720d52 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Sat, 2 Jul 2016 14:36:04 +0200 Subject: [PATCH] Logging undefined translation --- Localization/L11nManager.php | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/Localization/L11nManager.php b/Localization/L11nManager.php index 969b3d2cf..5264d6fd7 100644 --- a/Localization/L11nManager.php +++ b/Localization/L11nManager.php @@ -15,6 +15,9 @@ */ namespace phpOMS\Localization; +use phpOMS\Log\FileLogger; +use phpOMS\Log\LoggerInterface; + /** * Localization class. * @@ -37,6 +40,27 @@ class L11nManager */ private $language = []; + /** + * Logger. + * + * @var LoggerInterface + * @since 1.0.0 + */ + private $logger = null; + + /** + * Construct. + * + * @param LoggerInterface $logger Logger + * + * @since 1.0.0 + * @author Dennis Eichhorn + */ + public function __construct(LoggerInterface $logger) + { + $this->logger = $logger; + } + /** * Verify if language is loaded. * @@ -119,6 +143,14 @@ class L11nManager */ public function getText(string $code, string $module, string $translation) { - return $this->language[$code][$module][$translation] ?? '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]; } }