Класс I18n
I18n обрабатывает перевод строк текста и форматов времени.
Краткое описание констант
-
string'en_US'
Краткое описание свойств
- Коллекция переводчиков
- Локаль по умолчанию среды
string
Краткое описание методов
-
Уничтожает все экземпляры переводчиков и создаёт новую пустую коллекцию переводов.
-
Регистрирует вызываемый объект, который можно использовать для создания новых экземпляров переводчиков для одного и того же домена переводов. Загрузчики будут вызываться всякий раз, когда запрашивается объект переводчика для домена, который ещё не настроен или не загружен.
-
Устанавливает имя форматера сообщений по умолчанию, которое будет использоваться для будущих экземпляров переводчиков.
-
Возвращает локаль по умолчанию до любых изменений, т.е. значение, хранящееся в настройке
intl.default_localePHP перед любым вмешательством этого класса. - Возвращает текущий настроенный форматер по умолчанию.
- Возвращает локаль по умолчанию.
-
Возвращает текущую настроенную локаль, хранящуюся в настройке
intl.default_localePHP. - Возвращает экземпляр переводчика, который был настроен для имени и локали.
-
Устанавливает локаль по умолчанию для будущих экземпляров переводчиков. Это также влияет на настройку
intl.default_localePHP. -
Устанавливает имя форматера сообщений по умолчанию для будущих экземпляров переводчиков. По умолчанию доступны форматеры
defaultиsprintf. -
Устанавливает локаль по умолчанию для будущих экземпляров переводчиков. Это также влияет на настройку
intl.default_localePHP. - Устанавливает переводчика.
-
Возвращает экземпляр переводчика, который был настроен для имени и переданной локали. Если локаль не передана, то используется значение, возвращаемое методом
getLocale(). -
Возвращает экземпляр коллекции переводчиков. Он может использоваться для получения определённых переводчиков на основе их имени и локали или для настройки некоторых аспектов будущих переводов, которые ещё не построены.
- Устанавливает использование обратного пути домена.
Подробное описание методов
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 Вызываемый объект, который должен вернуть экземпляр Package для создания нового переводчика.
defaultFormatter()source public static
defaultFormatter( string|null $name null )
Устанавливает имя форматера сообщений по умолчанию, которое будет использоваться для будущих экземпляров переводчиков.
По умолчанию доступны форматеры default и sprintf.
Если вызван без аргументов, он вернёт текущее настроенное значение.
Устаревший
3.5 Используйте getDefaultFormatter() и setDefaultFormatter().Параметры
- строка|null
$nameнеобязательно null - Имя форматера для использования.
Возвращает
строкаИмя форматера.
defaultLocale()source public static
defaultLocale( )
Возвращает локаль по умолчанию до любых изменений, т.е. значение, хранящееся в настройке intl.default_locale PHP перед любым вмешательством этого класса.
Устаревший
3.5 Используйте getDefaultLocale()Возвращает
строкаgetDefaultFormatter()source public static
getDefaultFormatter( )
Возвращает текущий настроенный форматер по умолчанию.
Возвращает
строкаИмя форматера.
getDefaultLocale()source public static
getDefaultLocale( )
Возвращает локаль по умолчанию.
Возвращает локаль по умолчанию до любых изменений, т.е. значение, хранящееся в настройке intl.default_locale PHP перед любым вмешательством этого класса.
Возвращает
строкаgetLocale()source public static
getLocale( )
Возвращает текущую настроенную локаль, хранящуюся в настройке intl.default_locale PHP.
Возвращает
строкаИмя локали по умолчанию.
getTranslator()source public static
getTranslator( string $name 'default' , string|null $locale null )
Возвращает экземпляр переводчика, который был настроен для имени и локали.
Если локаль не передана, то используется значение, возвращаемое методом getLocale().
Параметры
- строка
$nameнеобязательно 'default' - Домен сообщений перевода.
- строка|null
$localeнеобязательно null - Локаль для переводчика.
Возвращает
Aura\Intl\TranslatorInterfaceНастроенный переводчик.
locale()source public static
locale( string|null $locale null )
Устанавливает локаль по умолчанию для будущих экземпляров переводчика. Это также влияет на intl.default_locale параметр PHP.
При вызове без аргументов возвращает текущую конфигурированную локаль, сохранённую в intl.default_locale параметре PHP.
Устарело
3.5 Используйте setLocale() и getLocale().Параметры
- string|null
$localeнеобязательно null - Имя локали, которое нужно установить по умолчанию.
Возвращает
string|nullИмя локали по умолчанию.
setDefaultFormatter()source public static
setDefaultFormatter( string $name )
Устанавливает имя форматировщика сообщений по умолчанию для будущих экземпляров переводчика. По умолчанию доступны форматировщики default и sprintf.
Параметры
- string
$name - Имя форматировщика для использования.
setLocale()source public static
setLocale( string $locale )
Устанавливает локаль по умолчанию для будущих экземпляров переводчика. Это также влияет на intl.default_locale параметр PHP.
Параметры
- string
$locale - Имя локали, которое нужно установить по умолчанию.
setTranslator()source public static
setTranslator( string $name , callable $loader , string|null $locale null )
Устанавливает переводчика.
Конфигурирует будущих переводчиков, для этого передаётся вызываемый объект в качестве последнего аргумента этой функции.
Пример:
I18n::setTranslator('default', function () {
$package = new \Aura\Intl\Package();
$package->setMessages([
'Cake' => 'Gâteau'
]);
return $package;
}, 'fr_FR');
$translator = I18n::getTranslator('default', 'fr_FR');
echo $translator->translate('Cake'); Также можно использовать класс Cake\I18n\MessagesFileLoader, чтобы загрузить определённый файл из папки. Например, для загрузки файла my_translations.po из папки src/Locale/custom, нужно сделать следующее:
I18n::setTranslator(
'default',
new MessagesFileLoader('my_translations', 'custom', 'po'),
'fr_FR'
); Параметры
- string
$name - Домен сообщений перевода.
- callable
$loader Функция обратного вызова или вызываемый класс, ответственный за создание экземпляра пакета переводов.
- string|null
$localeнеобязательно null - Локаль для переводчика.
translator()source public static
translator( string $name 'default' , string|null $locale null , callable $loader null )
Возвращает экземпляр переводчика, который был сконфигурирован для имени и переданной локали. Если локаль не передана, то используется значение, возвращаемое методом getLocale().
Этот метод может использоваться для конфигурации будущих переводчиков, для этого передаётся вызываемый объект в качестве последнего аргумента этой функции.
Пример:
I18n::setTranslator('default', function () {
$package = new \Aura\Intl\Package();
$package->setMessages([
'Cake' => 'Gâteau'
]);
return $package;
}, 'fr_FR');
$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');
); Устарело
3.5 Используйте getTranslator() и setTranslator()Параметры
- string
$nameнеобязательно 'default' - Домен сообщений перевода.
- string|null
$localeнеобязательно null - Локаль для переводчика.
- callable
$loaderнеобязательно null Функция обратного вызова или вызываемый класс, ответственный за создание экземпляра пакета переводов.
Возвращает
Aura\Intl\TranslatorInterface|nullСконфигурированный переводчик.
translators()source public static
translators( )
Возвращает экземпляр коллекции переводчиков. Он может использоваться для получения конкретных переводчиков на основе их имени и локали или для конфигурации некоторых аспектов будущих переводов, которые ещё не созданы.
Возвращает
Cake\I18n\TranslatorRegistryКоллекция переводчиков.
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.4/class-Cake.I18n.I18n.html