Spec-Zone.ru › CakePHP 3.4

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

Spec-Zone.ru

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