Класс 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–2018 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.5/class-Cake.I18n.I18n.html