MessageFormatter::setPattern
msgfmt_set_pattern
(No version information available, might be only in CVS)
msgfmt_set_pattern — Set the pattern used by the formatter
Описание
Object oriented style
Procedural style
Set the pattern used by the formatter
Список параметров
- fmt
-
The message formatter
- pattern
-
The pattern string to use in this message formatter. The pattern uses an 'apostrophe-friendly' syntax; it is run through » umsg_autoQuoteApostrophe before being interpreted.
Возвращаемые значения
Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.
Примеры
Пример #1 msgfmt_set_pattern() example
<?php
$fmt = msgfmt_create( "en_US", "{0, number} monkeys on {1, number} trees" );
echo "Default pattern: '" . msgfmt_get_pattern( $fmt ) . "'\n";
echo "Formatting result: " . msgfmt_format( $fmt, array(123, 456) ) . "\n";
msgfmt_set_pattern( $fmt, "{0, number} trees hosting {1, number} monkeys" );
echo "New pattern: '" . msgfmt_get_pattern( $fmt ) . "'\n";
echo "Formatted number: " . msgfmt_format( $fmt, array(123, 456) ) . "\n";
?>
Пример #2 OO example
<?php
$fmt = new MessageFormatter( "en_US", "{0, number} monkeys on {1, number} trees" );
echo "Default pattern: '" . $fmt->getPattern() . "'\n";
echo "Formatting result: " . $fmt->format(array(123, 456)) . "\n";
$fmt->setPattern("{0, number} trees hosting {1, number} monkeys" );
echo "New pattern: '" . $fmt->getPattern() . "'\n";
echo "Formatted number: " . $fmt->format(array(123, 456)) . "\n";
?>
Результат выполнения данного примера:
Default pattern: '{0,number} monkeys on {1,number} trees' Formatting result: 123 monkeys on 456 trees New pattern: '{0,number} trees hosting {1,number} monkeys' Formatted number: 123 trees hosting 456 monkeys
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Поддержка языков и кодировок
- Internationalization Functions
- Функция MessageFormatter::create() - Constructs a new Message Formatter
- Функция MessageFormatter::formatMessage() - Quick format message
- Функция MessageFormatter::format() - Format the message
- Функция MessageFormatter::getErrorCode() - Get the error code from last operation
- Функция MessageFormatter::getErrorMessage() - Get the error text from the last operation
- Функция MessageFormatter::getLocale() - Get the locale for which the formatter was created.
- Функция MessageFormatter::getPattern() - Get the pattern used by the formatter
- Функция MessageFormatter::parseMessage() - Quick parse input string
- Функция MessageFormatter::parse() - Parse input string according to pattern
- Функция MessageFormatter::setPattern() - Set the pattern used by the formatter
Коментарии
A correct example would be to transpose the placeholders in pattern 2.
This is typical where changing messages from one language to another changes the word order, to result in a sensible translation.
Let's imagine it's localised as Spanish or Russian instead of English.
So really you want to have pattern 2 provided by your human translator to read like this :
New pattern: '{1,number} trees hosting {0,number} monkeys'
Formatted number: 456 trees hosting 123 monkeys
That is - the order of arguments is always the same, but your translated message content has the placeholders transposed for non English languages.