Spec-Zone.ru › CakePHP 3.5

Класс 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

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

  • defaultLocale() public static

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

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

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

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

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

  • setDefaultFormatter() public static

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

  • setLocale() public static

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

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

    Возвращает экземпляр переводчика, настроенного для указанного имени и переданной локали. Если локаль не передана, то используется значение, возвращаемое методом 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

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
Настроенный переводчик.
END_OF_DOCUMENT_MARKER

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
флаг для включения или выключения обратного домена

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

$_collectionsource

protected static Cake\I18n\TranslatorRegistry|null

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

$_defaultLocalesource

protected static string

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

© 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

Spec-Zone.ru

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