MessageFormatter::formatMessage

msgfmt_format_message

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

MessageFormatter::formatMessage -- msgfmt_format_messageFormata uma mensagem rapidamente

Descrição

Estilo orientado a objetos

publicstaticMessageFormatter::formatMessage(string$locale, string$pattern, array$values): string|false

Estilo procedural

msgfmt_format_message(string$locale, string$pattern, array$values): string|false

Função de formatação rápida que não precisa criar explicitamente o objeto formatador. Use esta função quando a operação de formatação for feita apenas uma vez, não precisar de parâmetros, não precisar manter estados ou quando for desejado customizar a saída fornecendo contexto adicional diretamente à ICU.

Parâmetros

locale

A localidade a ser utilizada para formatar as partes que dependem dela.

pattern

A string com o modelo para inserir os valores. O modelo usa uma sintaxe adequada para tratar apóstrofos/aspas; consulte » Aspas/Escape para detalhes.

values

O array de valores a inserir na string do modelo.

Valor Retornado

A string formatada de acordo com o modelo ou false se ocorrer um erro.

Exemplos

Exemplo #1 Exemplo de msgfmt_format_message()

<?php
echo msgfmt_format_message("en_US", "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree\n", array(4560, 123, 4560/123));
echo
msgfmt_format_message("de", "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum\n", array(4560, 123, 4560/123));
echo
msgfmt_format_message("en", 'You finished {place, selectordinal, one {#st} two {#nd} few {#rd} other {#th}}!', ['place' => 3]), "\n";
echo
msgfmt_format_message("en",
"There {apple, plural,
=0 {are no apples}
=1 {is one apple...}
other {are # apples!}
}"
,
[
'apple' => 0]
),
"\n";

Exemplo #2 OO example

<?php
echo MessageFormatter::formatMessage("en_US", "{0,number,integer} monkeys on {1,number,integer} trees make {2,number} monkeys per tree\n", array(4560, 123, 4560/123));
echo
MessageFormatter::formatMessage("de", "{0,number,integer} Affen auf {1,number,integer} Bäumen sind {2,number} Affen pro Baum\n", array(4560, 123, 4560/123));
echo
MessageFormatter::formatMessage("en", 'You finished {place, selectordinal, one {#st} two {#nd} few {#rd} other {#th}}!', ['place' => 3]), "\n";
echo
MessageFormatter::formatMessage("en",
"There {apple, plural,
=0 {are no apples}
=1 {is one apple...}
other {are # apples!}
}"
,
[
'apple' => 0]
),
"\n";

O exemplo acima produzirá:

4,560 monkeys on 123 trees make 37.073 monkeys per tree 4.560 Affen auf 123 Bäumen sind 37,073 Affen pro Baum You finished 3rd! There are no apples

Exemplo #3 Instruindo a ICU a formatar moeda com símbolo normal e símbolo abreviado

Requer a ICU ≥ 67.

<?php
echo msgfmt_format_message("cs_CZ", "{0, number, :: currency/CAD}", array(123.45));
echo
msgfmt_format_message("cs_CZ", "{0, number, :: currency/CAD unit-width-narrow}", array(123.45));

O exemplo acima produzirá:

123,45 CA$ 123,45 $

Veja Também

To Top