Spec-Zone.ru › CakePHP 3.8

Класс I18n

I18n обрабатывает перевод строк текста и форматов времени.

Пространство имён: Cake\I18n
Расположение: I18n/I18n.php

Краткое описание констант

  • string

    DEFAULT_LOCALE
    'en_US'

Краткое описание свойств

  • $_collection protected static
    Cake\I18n\TranslatorRegistry|null
    Коллекция переводчиков
  • $_defaultLocale protected static
    string
    По умолчанию используемый локаль

Краткое описание методов

  • clear() public static

    Уничтожает все экземпляры переводчиков и создаёт новую пустую коллекцию переводов.

  • config() public static

    Регистрирует вызываемый объект, который может использоваться для создания новых экземпляров переводчиков для того же домена переводов. Загрузчики будут вызываться всякий раз, когда запрашивается объект переводчика для домена, который ещё не был настроен или загружен.

  • defaultFormatter() public static deprecated

    Устанавливает имя форматировщика сообщений по умолчанию для будущих экземпляров переводчика.

  • defaultLocale() public static deprecated

    Возвращает локаль по умолчанию до любых изменений, т.е. значение, хранящееся в intl.default_locale настройке PHP до любых манипуляций этим классом.

  • getDefaultFormatter() public static
    Возвращает текущий настроенный форматировщик по умолчанию.
  • getDefaultLocale() public static
    Возвращает локаль по умолчанию.
  • getLocale() public static

    Вернёт текущую настроенную локаль, как хранится в intl.default_locale настройке PHP.

  • getTranslator() public static
    Возвращает экземпляр переводчика, который был настроен для имени и локали.
  • locale() public static deprecated

    Устанавливает локаль по умолчанию для будущих экземпляров переводчика. Это также влияет на intl.default_locale настройку PHP.

  • setDefaultFormatter() public static

    Устанавливает имя форматировщика сообщений по умолчанию для будущих экземпляров переводчика. По умолчанию доступны форматировщики default и sprintf.

  • setLocale() public static

    Устанавливает локаль по умолчанию для будущих экземпляров переводчика. Это также влияет на intl.default_locale настройку PHP.

  • setTranslator() public static
    Устанавливает переводчика.
  • translator() public static deprecated

    Возвращает экземпляр переводчика, который был настроен для имени и переданной локали. Если локаль не передана, то используется значение, возвращаемое методом getLocale().

  • translators() public static

    Возвращает экземпляр коллекции переводчиков. Он может использоваться для получения конкретных переводчиков на основе их имени и локали или для настройки некоторых аспектов будущих переводов, которые ещё не построены.

  • useFallback() public static
    Устанавливает, используется ли обращение к резервному домену.

Подробное описание методов

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 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\Exception
END_OF_DOCUMENT_MARKER

locale()source public static deprecated

locale( string|null $locale = null )

Устанавливает локаль по умолчанию для будущих экземпляров переводчика. Это также влияет на intl.default_locale параметр PHP.

При вызове без аргументов возвращает текущую конфигурированную локаль, сохранённую в intl.default_locale параметре PHP.

Устаревшее

3.5 Используйте setLocale() и getLocale().

Параметры

string|null $locale optional 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 optional 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()

Параметры

string $name optional 'default'
Домен сообщений перевода.
string|null $locale optional null
Локаль для переводчика.
callable $loader optional null

Функция обратного вызова или вызываемый класс, отвечающий за создание экземпляра пакета переводов.

Возвращает

Aura\Intl\TranslatorInterface|null
Настроенный переводчик.

Вызывает исключение

Aura\Intl\Exception

translators()source public static

translators( )

Возвращает экземпляр коллекции переводчиков. Он может быть использован для получения конкретных переводчиков на основе их имени и локали или для конфигурирования некоторых аспектов будущих переводов, которые ещё не созданы.

Возвращает

Cake\I18n\TranslatorRegistry
Коллекция переводчиков.

useFallback()source public static

useFallback( boolean $enable = true )

Устанавливает, используется ли откат по домену.

Параметры

boolean $enable optional true
Флаг для включения или отключения отката.

Подробное описание свойств

$_collectionsource

protected static Cake\I18n\TranslatorRegistry|null

Коллекция переводчиков

$_defaultLocalesource

protected static string

Локаль по умолчанию среды

© 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.8/class-Cake.I18n.I18n.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API