Spec-Zone.ru › CakePHP 3.3

Класс I18n

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

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

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

  • string

    DEFAULT_LOCALE
    'en_US'

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

  • $_collection protected static
    Aura\Intl\TranslatorLocator
    Коллекция переводчиков
  • $_defaultLocale protected static
    string
    Значение локали по умолчанию среды

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

  • clear() public static

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

  • config() public static

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

  • defaultFormatter() public static

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

  • defaultLocale() public static

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

  • locale() public static

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

  • translator() public static

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

  • 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

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

defaultFormatter()source public static

defaultFormatter( string|null $name null )

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

Если вызов осуществляется без аргументов, он вернёт текущее конфигурированное значение.

Параметры

строка|null $name опционально null
Имя форматировщика для использования.

Возвращаемое значение

строка
Имя форматировщика.

defaultLocale()source public static

defaultLocale( )

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

Возвращаемое значение

строка

locale()source public static

locale( string|null $locale null )

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

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

Параметры

строка|null $locale опционально null
Имя локали, которое нужно установить по умолчанию.

Возвращаемое значение

строка|null
Имя локали по умолчанию.

translator()source public static

translator( string $name 'default' , string|null $locale null , callable $loader null )

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

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

Пример:

I18n::translator('default', 'fr_FR', function () {
     $package = new \Aura\Intl\Package();
     $package->setMessages([
         'Cake' => 'Gâteau'
     ]);
     return $package;
 });

 $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');
);

Параметры

строка $name опционально 'default'
Область сообщений перевода.
строка|null $locale опционально null
Локаль для переводчика.
вызываемый объект $loader опционально null

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

Возвращаемое значение

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

translators()source public static

translators( )

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

Возвращаемое значение

Aura\Intl\TranslatorLocator
Коллекция переводчиков.

useFallback()source public static

useFallback( boolean $enable true )

Устанавливает, используется ли обратный отсчёт для области.

Параметры

boolean $enable опционально true
флаг для включения или выключения обратного отсчёта

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

$_collectionsource

protected static Aura\Intl\TranslatorLocator

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

$_defaultLocalesource

protected static string

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

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

Spec-Zone.ru

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