Класс I18n
I18n обрабатывает перевод строк текста и форматов времени.
Краткое описание констант
-
stringDEFAULT_LOCALE'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 Вызываемый объект, который должен вернуть экземпляр пакета для использования при сборке нового переводчика.
defaultFormatter()source public static deprecated
defaultFormatter( string|null $name = null )
Устанавливает имя форматера сообщений по умолчанию для использования в будущих экземплярах переводчиков.
По умолчанию доступны форматеры default и sprintf.
Если вызвать без аргументов, вернётся текущее настроенное значение.
Устаревшее
3.5 Используйте getDefaultFormatter() и setDefaultFormatter().Параметры
- строка|null
$nameнеобязательно null - Имя форматера для использования.
Возвращает
строкаИмя форматера.
defaultLocale()source public static deprecated
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Настроенный переводчик.
Выбрасывает
Aura\Intl\Exceptionlocale()source public static deprecated
locale( string|null $locale = null )
Устанавливает значение по умолчанию для региона, который будет использоваться для будущих экземпляров переводчика. Это также влияет на настройку PHP intl.default_locale.
Если вызов не содержит аргументов, возвращает текущий настроенный регион, хранящийся в настройке PHP intl.default_locale.
Устаревшее
3.5 Используйте setLocale() и getLocale().Параметры
- строка|null
$localeнеобязательно null - Имя региона, которое нужно установить по умолчанию.
Возвращает
строка|nullИмя региона по умолчанию.
setDefaultFormatter()source public static
setDefaultFormatter( string $name )
Устанавливает имя форматера сообщений по умолчанию, который будет использоваться для будущих экземпляров переводчика. По умолчанию доступны форматеры default и sprintf.
Параметры
- строка
$name - Имя форматера для использования.
setLocale()source public static
setLocale( string $locale )
Устанавливает регион по умолчанию для использования в будущих экземплярах переводчика. Это также влияет на настройку PHP intl.default_locale.
Параметры
- строка
$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'
); Параметры
- строка
$name - Домен сообщений для перевода.
- вызываемый объект
$loader Функция обратного вызова или вызываемый класс, ответственный за создание экземпляра пакета переводов.
- строка|null
$localeнеобязательно null - Регион для переводчика.
translator()source public static deprecated
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()Параметры
- строка
$nameнеобязательно 'default' - Домен сообщений для перевода.
- строка|null
$localeнеобязательно null - Регион для переводчика.
- вызываемый объект
$loaderнеобязательно null Функция обратного вызова или вызываемый класс, ответственный за создание экземпляра пакета переводов.
Возвращает
Aura\Intl\TranslatorInterface|nullНастроенный переводчик.
Выбрасывает
Aura\Intl\Exceptiontranslators()source public static
translators( )
Возвращает экземпляр коллекции переводчиков. Он может использоваться для получения конкретных переводчиков на основе их имени и региона или для настройки некоторых аспектов будущих переводов, которые еще не созданы.
Возвращает
Cake\I18n\TranslatorRegistryКоллекция переводчиков.
useFallback()source public static
useFallback( boolean $enable = true )
Устанавливает, используется ли обращение к доменному резервному варианту.
Параметры
- логическое значение
$enableнеобязательно true - Флаг для включения или выключения резервного варианта
Подробное описание свойств
© 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/3.6/class-Cake.I18n.I18n.html