Spec-Zone.ru › Symfony 3.2

DefaultTranslator устаревший

class DefaultTranslator implements TranslatorInterface

устаревший

since version 2.7, to be removed in 3.0. Use Symfony\Component\Translation\IdentityTranslator instead.

Простая реализация переводчика, которая просто заменяет параметры в идентификаторах сообщений.

Пример использования:

$translator = new DefaultTranslator();

echo $translator->trans(
    'This is a {{ var }}.',
    array('{{ var }}' => 'donkey')
);

// -> This is a donkey.

echo $translator->transChoice(
    'This is {{ count }} donkey.|These are {{ count }} donkeys.',
    3,
    array('{{ count }}' => 'three')
);

// -> These are three donkeys.

Этот переводчик не поддерживает каталоги сообщений, домены перевода или языковые области. Вместо этого он реализует подмножество возможностей {@link \Symfony\Component\Translation\Translator} и может использоваться в местах, где перевод по умолчанию не требуется, но должен быть опциональным.

Методы

string trans(string $id, array $parameters = array(), string|null $domain = null, string|null $locale = null)

Интерполирует заданное сообщение.

string transChoice(string $id, int $number, array $parameters = array(), string|null $domain = null, string|null $locale = null)

Интерполирует заданное сообщение выбора, выбирая вариант в соответствии с числом.

setLocale(string $locale)

Не поддерживается.

string getLocale()

Возвращает язык переводчика.

Подробности

string trans(string $id, array $parameters = array(), string|null $domain = null, string|null $locale = null)

Интерполирует заданное сообщение.

Параметры заменяются в сообщении таким же образом, как использует {@link strtr()}.

Пример использования:

$translator = new DefaultTranslator();

echo $translator->trans(
    'This is a {{ var }}.',
    array('{{ var }}' => 'donkey')
);

// -> This is a donkey.

Параметры

string $id Идентификатор сообщения (также может быть объектом, который можно преобразовать в строку)
array $parameters Массив параметров для сообщения
string|null $domain Домен сообщения или null для использования по умолчанию
string|null $locale Язык или null для использования по умолчанию

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

string Переведённая строка

string transChoice(string $id, int $number, array $parameters = array(), string|null $domain = null, string|null $locale = null)

Интерполирует заданное сообщение выбора, выбирая вариант в соответствии с числом.

Варианты передаются в идентификаторе сообщения в формате "<единственное число>|<множественное число>". "<единственное число>" выбирается, если переданное $number равно ровно 1. "<множественное число>" выбирается в противном случае.

Этот формат соответствует формату, поддерживаемому {@link \Symfony\Component\Translation\Translator}, но не обладает такой же выразительностью. В то время как Translator поддерживает интервалы в переводах сообщений, которые необходимы для языков, отличных от английского, этот переводчик их не поддерживает. Вы должны использовать Translator или пользовательскую реализацию {@link \Symfony\Component\Translation\TranslatorInterface}, если вам нужна эта или аналогичная функциональность.

Пример использования:

echo $translator->transChoice(
    'This is {{ count }} donkey.|These are {{ count }} donkeys.',
    0,
    array('{{ count }}' => 0)
);

// -> These are 0 donkeys.

echo $translator->transChoice(
    'This is {{ count }} donkey.|These are {{ count }} donkeys.',
    1,
    array('{{ count }}' => 1)
);

// -> This is 1 donkey.

echo $translator->transChoice(
    'This is {{ count }} donkey.|These are {{ count }} donkeys.',
    3,
    array('{{ count }}' => 3)
);

// -> These are 3 donkeys.

Параметры

string $id Идентификатор сообщения (также может быть объектом, который можно преобразовать в строку)
int $number Число для поиска индекса сообщения
array $parameters Массив параметров для сообщения
string|null $domain Домен сообщения или null для использования по умолчанию
string|null $locale Язык или null для использования по умолчанию

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

string Переведённая строка

Исключения

InvalidArgumentException Если идентификатор сообщения не имеет формата "единственное число|множественное число".

setLocale(string $locale)

Не поддерживается.

Параметры

string $locale Язык

Исключения

BadMethodCallException

string getLocale()

Возвращает язык переводчика.

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

string Язык

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.2/Symfony/Component/Validator/DefaultTranslator.html

Spec-Zone.ru

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