Класс I18n
I18n обрабатывает перевод текстовых и временных форматов.
Краткое описание констант
-
string'en_US'
Краткое описание свойств
- Коллекция переводчиков
Aura\Intl\TranslatorLocator - Значение локали по умолчанию среды
string
Краткое описание методов
-
Удаляет все экземпляры переводчиков и создаёт новую пустую коллекцию переводов.
-
Регистрирует вызываемый объект, который может использоваться для создания новых экземпляров переводчиков для той же области переводов. Загрузчики будут вызываться всякий раз, когда запрашивается объект переводчика для области, которая ещё не настроена или загружена.
-
Устанавливает имя форматировщика сообщений по умолчанию, который будет использоваться для будущих экземпляров переводчиков. По умолчанию доступны форматировщики
defaultиsprintf. -
Возвращает локаль по умолчанию до любых изменений, то есть значение, хранящееся в настройке PHP
intl.default_localeдо любых манипуляций этим классом. -
Устанавливает локаль по умолчанию для будущих экземпляров переводчиков. Это также влияет на настройку PHP
intl.default_locale. -
Возвращает экземпляр переводчика, который был настроен для имени и переданной локали. Если локаль не передана, то используется значение, возвращаемое методом
locale(). -
Возвращает экземпляр коллекции переводчиков. Его можно использовать для получения определённых переводчиков на основе их имени и локали или для настройки аспектов будущих переводов, которые ещё не созданы.
- Устанавливает, используется ли обратный отсчёт для области.
Подробное описание методов
clear()source public static
clear( )
Удаляет все экземпляры переводчиков и создаёт новую пустую коллекцию переводов.
config()source public static
config( string $name , callable $loader )
Регистрирует вызываемый объект, который может использоваться для создания новых экземпляров переводчиков для той же области переводов. Загрузчики будут вызываться всякий раз, когда запрашивается объект переводчика для области, которая ещё не настроена или загружена.
Регистрация загрузчиков полезна, когда вам нужно лениво использовать переводы в нескольких разных локалях для одной и той же области и вы не хотите использовать встроенную службу перевода, основанную на файлах gettext.
Объекты-загрузчики будут получать два аргумента: имя области, которую нужно построить, и запрашиваемую локаль. Эти объекты могут собирать сообщения из любого источника, но должны вернуть объект Aura\Intl\Package.
Пример:
use Cake\I18n\MessagesFileLoader;
I18n::config('my_domain', function ($name, $locale) {
// Load src/Locale/$locale/filename.po
$fileLoader = new MessagesFileLoader('filename', $locale, 'po');
return $fileLoader();
}); Вы также можете сами собрать объект пакета:
use Aura\Intl\Package;
I18n::config('my_domain', function ($name, $locale) {
$package = new Package('default');
$messages = (...); // Fetch messages for locale from external service.
$package->setMessages($message);
$package->setFallback('default');
return $package;
}); Параметры
- строка
$name - Имя переводчика, для которого создать загрузчик
- вызываемый объект
$loader Вызываемый объект, который должен вернуть экземпляр пакета, который будет использоваться для сборки нового переводчика.
defaultFormatter()source public static
defaultFormatter( string|null $name null )
Устанавливает имя форматировщика сообщений по умолчанию, который будет использоваться для будущих экземпляров переводчиков. По умолчанию доступны форматировщики default и sprintf.
Если вызов осуществляется без аргументов, он вернёт текущее конфигурированное значение.
Параметры
- строка|null
$nameопционально null - Имя форматировщика для использования.
Возвращаемое значение
строкаИмя форматировщика.
defaultLocale()source public static
defaultLocale( )
Возвращает локаль по умолчанию до любых изменений, то есть значение, хранящееся в настройке PHP intl.default_locale до любых манипуляций этим классом.
Возвращаемое значение
строкаlocale()source public static
locale( string|null $locale null )
Устанавливает локаль по умолчанию для будущих экземпляров переводчиков. Это также влияет на настройку PHP intl.default_locale.
Если вызов осуществляется без аргументов, он вернёт текущую конфигурированную локаль, хранящуюся в настройке PHP intl.default_locale.
Параметры
- строка|null
$localeопционально null - Имя локали, которое нужно установить по умолчанию.
Возвращаемое значение
строка|nullИмя локали по умолчанию.
translator()source public static
translator( string $name 'default' , string|null $locale null , callable $loader null )
Возвращает экземпляр переводчика, который был настроен для имени и переданной локали. Если локаль не передана, то используется значение, возвращаемое методом locale().
Этот метод может использоваться для настройки будущих переводчиков, это достигается путём передачи вызываемого объекта как последнего аргумента этой функции.
Пример:
I18n::translator('default', 'fr_FR', function () {
$package = new \Aura\Intl\Package();
$package->setMessages([
'Cake' => 'Gâteau'
]);
return $package;
});
$translator = I18n::translator('default', 'fr_FR');
echo $translator->translate('Cake'); Вы также можете использовать класс Cake\I18n\MessagesFileLoader для загрузки определённого файла из папки. Например, для загрузки файла my_translations.po из папки src/Locale/custom вы должны сделать следующее:
I18n::translator(
'default',
'fr_FR',
new MessagesFileLoader('my_translations', 'custom', 'po');
); Параметры
- строка
$nameопционально 'default' - Область сообщений перевода.
- строка|null
$localeопционально null - Локаль для переводчика.
- вызываемый объект
$loaderопционально null Функция обратного вызова или вызываемый класс, ответственный за создание экземпляра пакета переводов.
Возвращаемое значение
Aura\Intl\Translator|nullНастроенный переводчик.
translators()source public static
translators( )
Возвращает экземпляр коллекции переводчиков. Его можно использовать для получения определённых переводчиков на основе их имени и локали или для настройки аспектов будущих переводов, которые ещё не созданы.
Возвращаемое значение
Aura\Intl\TranslatorLocatorКоллекция переводчиков.
useFallback()source public static
useFallback( boolean $enable true )
Устанавливает, используется ли обратный отсчёт для области.
Параметры
- boolean
$enableопционально true - флаг для включения или выключения обратного отсчёта
Подробное описание свойств
© 2005–2017 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/3.3/class-Cake.I18n.I18n.html