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.MessageFormatter::setPattern
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
MessageFormatter::setPattern
Референца за `messageformatter.setpattern.php` со подобрена типографија и навигација.
MessageFormatter::setPattern
msgfmt_set_pattern
Класата Collator
MessageFormatter::setPattern -- msgfmt_set_pattern — Set the pattern used by the formatter
= NULL
Напиши целосна ознака на елемент
Процедурален стил
Set the pattern used by the formatter
Параметри
formatter-
Форматорот на пораки
pattern-
Шемата string Поставете го образецот што го користи форматорот » Наведување/Избегнување интерполација на низи
Вратени вредности
Патеката до PHP скриптата што треба да се провери. 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 пример
<?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";
?>Пример #1 Пример што покажува затворачка ознака што го опфаќа последниот нов ред
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
Види Исто така
- msgfmt_create() - Конструира нов Форматер за пораки
- msgfmt_get_pattern() - Земи го образецот што го користи форматорот