CakeFest 2024: The Official CakePHP Conference

MessageFormatter::setPattern

msgfmt_set_pattern

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

MessageFormatter::setPattern -- msgfmt_set_patternBiçemleyici tarafından kullanılacak kalıbı tanımlar

Açıklama

Nesne yönelimli kullanım

public MessageFormatter::setPattern(string $kalıp): bool

Yordamsal kullanım

msgfmt_set_pattern(MessageFormatter $biçemleyici, string $kalıp): bool

Biçemleyici tarafından kullanılacak kalıbı tanımlar.

Bağımsız Değişkenler

biçemleyici

İleti biçemleyici

kalıp

Bu ileti biçemleyici tarafından kullanılacak kalıp dizgesi. Kalıp 'tek tırnak dostu' sözdizimi kullanır; yorumlanmadan önce dahili olarak »  Tırnaklama/Önceleme işleminden geçirilir.

Dönen Değerler

Başarı durumunda true, başarısızlık durumunda false döner.

Örnekler

Örnek 1 - msgfmt_set_pattern() örneği

<?php
$fmt
= msgfmt_create( "tr_TR", "{0, number} ağaçta {1, number} maymun var." );
echo
"Öntanımlı kalıp: '" . msgfmt_get_pattern( $fmt ) . "'\n";
echo
"Biçemleme sonucu: " . msgfmt_format( $fmt, array(123, 456) ) . "\n";

msgfmt_set_pattern( $fmt, "{0, number} maymuna karşılık {1, number} ağaç var." );
echo
"Yeni kalıp: '" . msgfmt_get_pattern( $fmt ) . "'\n";
echo
"Biçemleme sonucu: " . msgfmt_format( $fmt, array(456, 123) ) . "\n";
?>

Örnek 2 - Nesne yönelimli örnek

<?php
$fmt
= new MessageFormatter( "tr_TR", "{0, number} ağaçta {1, number} maymun var." );
echo
"Öntanımlı kalıp: '" . $fmt->getPattern() . "'\n";
echo
"Biçemleme sonucu: " . $fmt->format(array(123, 456)) . "\n";

$fmt->setPattern("{0, number} maymuna karşılık {1, number} ağaç var." );
echo
"Yeni kalıp: '" . $fmt->getPattern() . "'\n";
echo
"Biçemleme sonucu: " . $fmt->format(array(456, 123)) . "\n";
?>

Yukarıdaki örneğin çıktısı:

Öntanımlı kalıp: '{0, number} ağaçta {1, number} maymun var.'
Biçemleme sonucu: 123 ağaçta 456 maymun var.
Yeni kalıp: '{0, number} maymuna karşılık {1, number} ağaç var.'
Biçemleme sonucu: 456 maymuna karşılık 123 ağaç var.

Ayrıca Bakınız

add a note

User Contributed Notes 1 note

up
0
neil dot smith at vouchercloud dot com
9 years ago
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.
To Top