%PDF- %PDF-
Direktori : /home/vacivi36/intranet.vacivitta.com.br/protected/humhub/components/i18n/ |
Current File : /home/vacivi36/intranet.vacivitta.com.br/protected/humhub/components/i18n/PhpMessageSource.php |
<?php /** * @link https://www.humhub.org/ * @copyright Copyright (c) 2019 HumHub GmbH & Co. KG * @license https://www.humhub.com/licences */ namespace humhub\components\i18n; use Yii; use yii\i18n\PhpMessageSource as PhpMessageSourceYii; /** * @inheritDoc */ class PhpMessageSource extends PhpMessageSourceYii { /** * @inheritDoc */ protected function getMessageFilePath($category, $language) { $messageFile = Yii::getAlias($this->basePath) . '/' . $language . '/'; // Try old language code syntax (e.g. pt_br instead pt-BR) if (!is_dir($messageFile) && strpos($language, '-') !== false) { $language = strtolower(str_replace('-', '_', $language)); if (is_dir(Yii::getAlias($this->basePath) . '/' . $language . '/')) { $messageFile = Yii::getAlias($this->basePath) . '/' . $language . '/'; } } if (isset($this->fileMap[$category])) { $messageFile .= $this->fileMap[$category]; } else { $messageFile .= str_replace('\\', '/', $category) . '.php'; } return $messageFile; } /** * @inheritDoc * * Actually the original method with reduced error messages! */ protected function loadMessages($category, $language) { $messageFile = $this->getMessageFilePath($category, $language); $messages = $this->loadMessagesFromFile($messageFile); $fallbackLanguage = substr($language, 0, 2); $fallbackSourceLanguage = is_string($this->sourceLanguage) ? substr($this->sourceLanguage, 0, 2) : null; if ($language !== $fallbackLanguage) { $messages = $this->loadFallbackMessages($category, $fallbackLanguage, $messages, $messageFile); } elseif ($language === $fallbackSourceLanguage) { $messages = $this->loadFallbackMessages($category, $this->sourceLanguage, $messages, $messageFile); } else { if ($messages === null) { // modification warning --> debug Yii::debug("The message file for category '$category' does not exist: $messageFile", __METHOD__); } } return (array)$messages; } /** * @inheritDoc * * Actually the original method with reduced error messages! */ protected function loadFallbackMessages($category, $fallbackLanguage, $messages, $originalMessageFile) { $fallbackMessageFile = $this->getMessageFilePath($category, $fallbackLanguage); $fallbackMessages = $this->loadMessagesFromFile($fallbackMessageFile); $fallbackSourceLanguage = is_string($this->sourceLanguage) ? substr($this->sourceLanguage, 0, 2) : null; if ( $messages === null && $fallbackMessages === null && $fallbackLanguage !== $this->sourceLanguage && $fallbackLanguage !== $fallbackSourceLanguage ) { // modification warning --> debug Yii::debug("The message file for category '$category' does not exist: $originalMessageFile " . "Fallback file does not exist as well: $fallbackMessageFile", __METHOD__); } elseif (empty($messages)) { return $fallbackMessages; } elseif (!empty($fallbackMessages)) { foreach ($fallbackMessages as $key => $value) { if (!empty($value) && empty($messages[$key])) { $messages[$key] = $fallbackMessages[$key]; } } } return (array)$messages; } }