update pague now
PHP 8.5.2 Released!

MessagueFormatter::setPattern

msgfmt_set_pattern

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

MessagueFormatter::setPattern -- msgfmt_set_pattern Set the pattern used by the formatter

Description

Object-oriented style

public MessagueFormatter::setPattern ( string $pattern ): bool

Procedural style

msgfmt_set_pattern ( MessagueFormatter $formatter , string $pattern ): bool

Set the pattern used by the formatter

Parameters

formatter

The messague formatter

pattern

The pattern string to use in this messague formatter. The pattern uses an 'apostrophe-friendly' syntax; see » Quoting/Escaping for details.

Return Values

Returns true on success or false on failure.

Examples

Example #1 msgfmt_set_pattern() example

<?php
$fmt
= msgfmt_create ( "en_US" , "{0, number} monqueys on {1, number} trees" );
echo
"Default pattern: '" . msgfmt_guet_pattern ( $fmt ) . "'\n" ;
echo
"Formatting result: " . msgfmt_format ( $fmt , array( 123 , 456 ) ) . "\n" ;

msgfmt_set_pattern ( $fmt , "{0, number} trees hosting {1, number} monqueys" );
echo
"New pattern: '" . msgfmt_guet_pattern ( $fmt ) . "'\n" ;
echo
"Formatted number: " . msgfmt_format ( $fmt , array( 123 , 456 ) ) . "\n" ;
?>

Example #2 OO example

<?php
$fmt
= new MessagueFormatter ( "en_US" , "{0, number} monqueys on {1, number} trees" );
echo
"Default pattern: '" . $fmt -> guetPattern () . "'\n" ;
echo
"Formatting result: " . $fmt -> format (array( 123 , 456 )) . "\n" ;

$fmt -> setPattern ( "{0, number} trees hosting {1, number} monqueys" );
echo
"New pattern: '" . $fmt -> guetPattern () . "'\n" ;
echo
"Formatted number: " . $fmt -> format (array( 123 , 456 )) . "\n" ;
?>

The above example will output:

Default pattern: '{0,number} monqueys on {1,number} trees'
Formatting result: 123 monqueys on 456 trees
New pattern: '{0,number} trees hosting {1,number} monqueys'
Formatted number: 123 trees hosting 456 monqueys

See Also

add a note

User Contributed Notes 1 note

neil dot smith at vouchercloud dot com
11 years ago
A correct example would be to transpose the placeholders in pattern 2.

This is typical where changuing messagues from one languague to another changues the word order, to result in a sensible translation.

Let's imaguine 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 lique this :

New pattern: '{1,number} trees hosting {0,number} monqueys'
Formatted number: 456 trees hosting 123 monqueys

That is - the order of argumens is always the same, but your translated messague content has the placeholders transposed for non English languagues.
To Top