Класс MessagesFileLoader
Фабрика для загрузки файлов переводов, которая будет работать с файлами на основе расширения и имени пакета.
Этот класс является вызываемым, поэтому его можно использовать в качестве аргумента загрузчика пакетов.
Подробное описание методов
__constructsource public
__construct( string $name , string $locale , string $extension 'po' )
Создаёт загрузчик файла переводов. Файл, который будет загружен, соответствует следующим правилам:
- Локаль — папка в каталоге
Locale, в случае отсутствия папки будет использован резервный вариант. - Переменная $name соответствует имени загружаемого файла.
- Если загружен плагин с псевдонимом $name, файл перевода будет загружен из этого плагина.
Примеры:
Загрузка и парсинг src/Locale/fr/validation.po
$loader = new MessagesFileLoader('validation', 'fr_FR', 'po'); $package = $loader();
Загрузка и парсинг src/Locale/fr_FR/validation.mo
$loader = new MessagesFileLoader('validation', 'fr_FR', 'mo'); $package = $loader();
Загрузка файла plugins/MyPlugin/src/Locale/fr/my_plugin.po:
$loader = new MessagesFileLoader('my_plugin', 'fr_FR', 'mo'); $package = $loader();
Параметры
- string
$name - Имя (домен) пакета переводов.
- string
$locale - Локаль для загрузки, которая будет сопоставлена с папкой в системе.
- string
$extensionнеобязательно 'po' - Расширение файла, которое будет использоваться. Оно также будет сопоставлено с классом парсера сообщений.
__invokesource public
__invoke( )
Загружает файл перевода и парсит его. Возвращает экземпляр пакета переводов, содержащий сообщения, загруженные из файла.
Возвращает
Aura\Intl\Package\Aura\Intl\Package
Исключения
RuntimeExceptionесли для указанного расширения файла не удалось найти класс парсера.
translationsFolderssource public
translationsFolders( )
Возвращает папки, в которых следует искать файл в соответствии с локалью и именем пакета.
Возвращает
arrayСписок папок, в которых следует искать файл перевода
Краткое описание свойств
© 2005–2016 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.
http://api.cakephp.org/3.1/class-Cake.I18n.MessagesFileLoader.html