Класс MessagesFileLoader
Общий фабричный класс для пакетов переводов, который загружает файлы переводов на основе расширения файла и имени пакета.
Этот класс является вызываемым, поэтому его можно использовать в качестве аргумента загрузчика пакета.
Краткое описание свойств
- $_extension protected
stringИмя расширения.
- $_locale protected
stringЯзык, который нужно загрузить для данного пакета.
- $_name protected
stringИмя пакета (домена).
Краткое описание методов
-
__construct() public
Создаёт загрузчик файла перевода. Файл, который будет загружен, соответствует следующим правилам:
-
__invoke() public
Загружает файл перевода и анализирует его. Возвращает экземпляр пакета перевода, содержащего сообщения, загруженные из файла.
-
translationsFolders() public
Возвращает папки, в которых следует искать файл в соответствии с языком и именем пакета.
Подробное описание методов
__construct() public
__construct(string $name, string $locale, string $extension = 'po')
Создаёт загрузчик файла перевода. Файл, который будет загружен, соответствует следующим правилам:
- Язык является папкой в каталоге
Locale, будет использоваться резервный вариант, если папка не найдена. - Имя $name соответствует имени загружаемого файла
- Если загружен плагин с подчеркнутой версией имени $name, файл перевода будет загружен из этого плагина.
Примеры:
Загрузка и разбор resources/locales/fr/validation.po
$loader = new MessagesFileLoader('validation', 'fr_FR', 'po');
$package = $loader(); Загрузка и разбор resources/locales/fr_FR/validation.mo
$loader = new MessagesFileLoader('validation', 'fr_FR', 'mo');
$package = $loader(); Загрузка файла plugins/MyPlugin/resources/locales/fr/my_plugin.po:
$loader = new MessagesFileLoader('my_plugin', 'fr_FR', 'mo');
$package = $loader(); Параметры
-
string$name Имя (домен) пакета переводов.
-
string$locale Язык для загрузки, он будет сопоставлен с папкой в системе.
-
string$extension optional Расширение файла для использования. Он также будет сопоставлен с классом анализатора сообщений.
__invoke() public
__invoke(): Cake\I18n\Package|false
Загружает файл перевода и анализирует его. Возвращает экземпляр пакета перевода, содержащего сообщения, загруженные из файла.
Возвращает
Cake\I18n\Package|falseВыбрасывает
RuntimeExceptionесли для указанного расширения файла не найден класс анализатора файлов.
translationsFolders() public
translationsFolders(): string[]
Возвращает папки, в которых следует искать файл в соответствии с языком и именем пакета.
Возвращает
string[]Подробное описание свойств
$_extension protected
Имя расширения.
Тип
string$_locale protected
Язык для загрузки данного пакета.
Тип
string$_name protected
Имя пакета (домена).
Тип
string
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.2/class-Cake.I18n.MessagesFileLoader.html