Spec-Zone.ru › Yii 2.0

Класс 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.

См. также:

  • loadFallbackMessages()
  • $sourceLanguage
защищенный 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API