Класс yii\i18n\PhpMessageSource
| Наследование | yii\i18n\PhpMessageSource » yii\i18n\MessageSource » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable |
| Доступно с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/i18n/PhpMessageSource.php |
PhpMessageSource представляет собой источник сообщений, хранящий переведенные сообщения в PHP-скриптах.
PhpMessageSource использует PHP-массивы для хранения переводов сообщений.
- Каждый PHP-скрипт содержит один массив, который хранит переводы сообщений на определённом языке и для одной категории сообщений;
- Каждый PHP-скрипт сохраняется в файле с именем "$basePath/ИдентификаторЯзыка/ИмяКатегории.php";
- Внутри каждого PHP-скрипта переводы сообщений возвращаются в виде массива, подобного следующему:
return [
'original message 1' => 'translated message 1',
'original message 2' => 'translated message 2',
];
Вы можете использовать $fileMap, чтобы настроить ассоциацию между именами категорий и именами файлов.
Публичные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $basePath | string | Базовый путь для всех переведённых сообщений. | yii\i18n\PhpMessageSource |
| $behaviors | yii\base\Behavior[] | Список прикреплённых к этому компоненту поведений | yii\base\Component |
| $fileMap | array | Сопоставление между категориями сообщений и соответствующими путями к файлам сообщений. | yii\i18n\PhpMessageSource |
| $forceTranslation | boolean | Выполнять перевод сообщений при одинаковых источнике и целевом языках. | yii\i18n\MessageSource |
| $sourceLanguage | string | Язык, на котором написаны оригинальные сообщения. | yii\i18n\MessageSource |
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает метод, который не является методом класса. | yii\base\Component |
| __clone() | Этот метод вызывается после создания объекта путём клонирования существующего. | yii\base\Component |
| __construct() | Конструктор. | yii\base\Object |
| __get() | Возвращает значение свойства компонента. | yii\base\Component |
| __isset() | Проверяет, установлено ли свойство, т.е. определено и не равно null. | yii\base\Component |
| __set() | Устанавливает значение свойства компонента. | yii\base\Component |
| __unset() | Устанавливает свойство компонента в null. | yii\base\Component |
| attachBehavior() | Прикрепляет поведение к этому компоненту. | yii\base\Component |
| attachBehaviors() | Прикрепляет список поведений к компоненту. | yii\base\Component |
| behaviors() | Возвращает список поведений, по которым должен вести себя этот компонент. | yii\base\Component |
| canGetProperty() | Возвращает значение, указывающее, можно ли считать свойство. | yii\base\Component |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Component |
| className() | Возвращает полное имя этого класса. | yii\base\Object |
| detachBehavior() | Открепляет поведение от компонента. | yii\base\Component |
| detachBehaviors() | Открепляет все поведения от компонента. | yii\base\Component |
| ensureBehaviors() | Убеждается, что поведения, объявленные в behaviors(), прикреплены к этому компоненту. | yii\base\Component |
| getBehavior() | Возвращает объект поведения с указанным именем. | yii\base\Component |
| getBehaviors() | Возвращает все прикреплённые к этому компоненту поведения. | yii\base\Component |
| hasEventHandlers() | Возвращает значение, указывающее, есть ли обработчики, прикреплённые к указанному событию. | yii\base\Component |
| hasMethod() | Возвращает значение, указывающее, определён ли метод. | yii\base\Component |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство для этого компонента. | yii\base\Component |
| init() | Инициализирует объект. | yii\base\Object |
| off() | Открепляет существующий обработчик событий от этого компонента. | yii\base\Component |
| on() | Прикрепляет обработчик событий к событию. | yii\base\Component |
| translate() | Переводит сообщение на указанный язык. | yii\i18n\MessageSource |
| trigger() | Вызывает событие. | yii\base\Component |
Защищённые методы
| Метод | Описание | Определено в |
|---|---|---|
| getMessageFilePath() | Возвращает путь к файлу сообщений для указанного языка и категории. | yii\i18n\PhpMessageSource |
| loadFallbackMessages() | Метод обычно вызывается методом loadMessages() для загрузки сообщений по умолчанию для языка. | yii\i18n\PhpMessageSource |
| loadMessages() | Загружает перевод сообщений для указанного $language и $category. | yii\i18n\PhpMessageSource |
| loadMessagesFromFile() | Загружает перевод сообщений для указанного языка и категории или возвращает null, если файла не существует. | yii\i18n\PhpMessageSource |
| translateMessage() | Переводит указанное сообщение. | yii\i18n\MessageSource |
События
| Событие | Тип | Описание | Определено |
|---|---|---|---|
| EVENT_MISSING_TRANSLATION | yii\i18n\MissingTranslationEvent | Событие, которое срабатывает, когда перевод сообщения не найден. | yii\i18n\MessageSource |
Подробное описание свойств
$basePath общедоступное свойство
Базовый путь для всех переведенных сообщений. По умолчанию равен '@app/messages'.
public string $basePath = '@app/messages'
$fileMap общедоступное свойство
Сопоставление между категориями сообщений и соответствующими путями к файлам сообщений. Пути к файлам относительны к $basePath. Например,
[
'core' => 'core.php',
'ext' => 'extensions.php',
]
public array $fileMap = null
Подробное описание методов
getMessageFilePath() защищенный метод
Возвращает путь к файлу сообщений для указанного языка и категории.
| защищенный string getMessageFilePath ( $category, $language ) | ||
|---|---|---|
| $category | string |
Категория сообщения |
| $language | string |
Целевой язык |
| return | string |
Путь к файлу сообщений |
loadFallbackMessages() защищенный метод (доступен с версии 2.0.7)
Метод обычно вызывается методом loadMessages() для загрузки сообщений по умолчанию для языка.
Метод пытается загрузить сообщения категории $category для языка $fallbackLanguage и добавляет их в массив $messages.
| защищенный array loadFallbackMessages ( $category, $fallbackLanguage, $messages, $originalMessageFile ) | ||
|---|---|---|
| $category | string |
Категория сообщения |
| $fallbackLanguage | string |
Целевой язык по умолчанию |
| $messages | array |
Массив ранее загруженных сообщений перевода. Ключи — исходные сообщения, значения — переведенные сообщения. |
| $originalMessageFile | string |
Путь к файлу с сообщениями. Используется для записи сообщения об ошибке в случае, если переводы не найдены. |
| return | array |
Загруженные сообщения. Ключи — исходные сообщения, значения — переведенные сообщения. |
loadMessages() защищенный метод
Загружает перевод сообщений для указанного языка $language и категории $category.
Если перевод для конкретного кода локали, например, en-US, не найден, он пытается найти более общий перевод en. Когда оба перевода присутствуют, сообщения en-US будут объединены с сообщениями en. Подробнее см. loadFallbackMessages(). Если $language менее специфичен, чем $sourceLanguage, метод попытается загрузить сообщения для $sourceLanguage. Например: $sourceLanguage равен en-GB, $language равен en. Метод загрузит сообщения для en и объединит их с сообщениями en-GB.
См. также:
| защищенный array loadMessages ( $category, $language ) | ||
|---|---|---|
| $category | string |
Категория сообщения |
| $language | string |
Целевой язык |
| return | array |
Загруженные сообщения. Ключи — исходные сообщения, значения — переведенные сообщения. |
loadMessagesFromFile() защищенный метод
Загружает перевод сообщений для указанного языка и категории или возвращает null, если файл не существует.
| защищенный array|null loadMessagesFromFile ( $messageFile ) | ||
|---|---|---|
| $messageFile | string |
Путь к файлу сообщений |
| return | array|null |
Массив сообщений или null, если файл не найден |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-i18n-phpmessagesource.html