Класс yii\i18n\GettextMessageSource
| Наследование | yii\i18n\GettextMessageSource » yii\i18n\MessageSource » yii\base\Component » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable |
| Доступно с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/i18n/GettextMessageSource.php |
GettextMessageSource представляет собой источник сообщений, основанный на GNU Gettext.
Каждый экземпляр GettextMessageSource представляет собой переводы сообщений для одного домена. И каждая категория сообщений представляет контекст сообщения в Gettext. Переведенные сообщения хранятся в файлах MO или PO, в зависимости от значения свойства $useMoFile.
Все переводы сохраняются в каталоге $basePath.
Переводы на один язык хранятся как файлы MO или PO в отдельной подпапке, имя которой — идентификатор языка. Имя файла задается свойством $catalog, которое по умолчанию равно 'messages'.
Общедоступные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $basePath | string | yii\i18n\GettextMessageSource | |
| $behaviors | yii\base\Behavior[] | Список поведенческих компонентов, присоединенных к этому компоненту | yii\base\Component |
| $catalog | string | yii\i18n\GettextMessageSource | |
| $forceTranslation | boolean | Выполнять перевод сообщений, когда исходный и целевой языки одинаковые. | yii\i18n\MessageSource |
| $sourceLanguage | string | Язык, на котором написаны исходные сообщения. | yii\i18n\MessageSource |
| $useBigEndian | boolean | yii\i18n\GettextMessageSource | |
| $useMoFile | boolean | yii\i18n\GettextMessageSource |
Общедоступные методы
| Метод | Описание | Определено в |
|---|---|---|
| __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\GettextMessageSource |
| loadFallbackMessages() | Метод обычно вызывается методом loadMessages() для загрузки сообщений по умолчанию для языка. | yii\i18n\GettextMessageSource |
| loadMessages() | Загружает перевод сообщений для указанного $language и $category. | yii\i18n\GettextMessageSource |
| loadMessagesFromFile() | Загружает перевод сообщений для указанного языка и категории или возвращает null, если файл не существует. | yii\i18n\GettextMessageSource |
| translateMessage() | Переводит указанное сообщение. | yii\i18n\MessageSource |
События
| Событие | Тип | Описание | Определено |
|---|---|---|---|
| EVENT_MISSING_TRANSLATION | yii\i18n\MissingTranslationEvent | Событие, которое срабатывает, когда перевод сообщения не найден. | yii\i18n\MessageSource |
Константы
| Константа | Значение | Описание | Определено |
|---|---|---|---|
| MO_FILE_EXT | '.mo' | yii\i18n\GettextMessageSource | |
| PO_FILE_EXT | '.po' | yii\i18n\GettextMessageSource |
Подробное описание свойств
$basePath общедоступное свойство
public string $basePath = '@app/messages'
$catalog общедоступное свойство
public string $catalog = 'messages'
$useBigEndian общедоступное свойство
public boolean $useBigEndian = false
$useMoFile общедоступное свойство
public boolean $useMoFile = true
Подробное описание методов
getMessageFilePath() защищенный метод
Возвращает путь к файлу сообщений для указанного языка и категории.
| защищенный строка getMessageFilePath ( $language ) | ||
|---|---|---|
| $language | строка |
Целевой язык |
| return | строка |
Путь к файлу сообщений |
loadFallbackMessages() защищенный метод (доступен с версии 2.0.7)
Метод обычно вызывается методом loadMessages() для загрузки сообщений по умолчанию для языка.
Метод пытается загрузить сообщения категории $category для языка $fallbackLanguage и добавить их в массив $messages.
| защищенный массив loadFallbackMessages ( $category, $fallbackLanguage, $messages, $originalMessageFile ) | ||
|---|---|---|
| $category | строка |
Категория сообщений |
| $fallbackLanguage | строка |
Целевой язык по умолчанию |
| $messages | массив |
Массив ранее загруженных сообщений перевода. Ключи — исходные сообщения, значения — переведенные сообщения. |
| $originalMessageFile | строка |
Путь к файлу с сообщениями. Используется для записи сообщения об ошибке, если переводы не найдены. |
| return | массив |
Загруженные сообщения. Ключи — исходные сообщения, значения — переведенные сообщения. |
loadMessages() защищенный метод
Загружает перевод сообщений для указанного $language и $category.
Если перевод для конкретного кода локали, например, en-US, не найден, он пытается загрузить более общий en. Если оба присутствуют, сообщения en-US будут объединены с en. Дополнительная информация в loadFallbackMessages(). Если $language менее специфичен, чем $sourceLanguage, метод попытается загрузить сообщения для $sourceLanguage. Например: $sourceLanguage равен en-GB, а $language равен en. Метод загрузит сообщения для en и объединит их с en-GB.
См. также:
| защищенный массив loadMessages ( $category, $language ) | ||
|---|---|---|
| $category | строка |
Категория сообщений |
| $language | строка |
Целевой язык |
| return | массив |
Загруженные сообщения. Ключи — исходные сообщения, значения — переведенные сообщения. |
loadMessagesFromFile() защищенный метод
Загружает перевод сообщений для указанного языка и категории или возвращает null, если файл не существует.
| защищенный массив|null loadMessagesFromFile ( $messageFile, $category ) | ||
|---|---|---|
| $messageFile | строка |
Путь к файлу сообщений |
| $category | строка |
Категория сообщений |
| return | массив|null |
Массив сообщений или null, если файл не найден |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-i18n-gettextmessagesource.html