Spec-Zone.ru › CakePHP 3.1

Класс I18n

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

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

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

clearsource public static

clear( )

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

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

defaultFormattersource public static

defaultFormatter( string|null $name null )

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

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

Параметры

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

Возвращает

string
Имя форматера.

defaultLocalesource public static

defaultLocale( )

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

Возвращает

string
строка

localesource public static

locale( string|null $locale null )

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

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

Параметры

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

Возвращает

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

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

translatorssource public static

translators( )

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

Возвращает

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

useFallbacksource public static

useFallback( boolean $enable true )

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

Параметры

булево $enable дополнительно true
Флаг для включения или отключения обратного вызова.

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

string DEFAULT_LOCALE

Локаль по умолчанию

'en_US'

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

$_collectionsource

protected static Aura\Intl\TranslatorLocator

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

$_defaultLocalesource

protected static строка

Локаль по умолчанию окружения

© 2005–2016 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.
http://api.cakephp.org/3.1/class-Cake.I18n.I18n.html

Spec-Zone.ru

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