PHP.mk документација

MessageFormatter

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

class.messageformatter.php PHP.net прокси Преводот е вчитан
Оригинал на PHP.net
Патека class.messageformatter.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + преведен приказ Кодовите, табелите и белешките остануваат читливи во истиот тек.
MessageFormatter

Референца за `class.messageformatter.php` со подобрена типографија и навигација.

class.messageformatter.php

Класата MessageFormatter

Класата Collator

Вовед

MessageFormatter е конкретна класа што им овозможува на корисниците да произведуваат споени, неутрални на јазикот пораки. Методите што се дадени во оваа класа се користат за градење на сите пораки што ги гледаат крајните корисници.

Класата MessageFormatter составува пораки од различни фрагменти (како што се текстуални фрагменти, броеви и датуми) што ги обезбедува програмата. Поради класата MessageFormatter, програмата не треба да го знае редоследот на фрагментите. Класата ги користи спецификациите за форматирање за фрагментите за да ги состави во порака што е содржана во еден стринг во пакет со ресурси. На пример, MessageFormatter ви овозможува да ја испечатите фразата „Завршено печатење x од y датотеки...“ на начин што сè уште дозволува флексибилност во преводот.

Претходно, пораката за крајниот корисник се создаваше како реченица и се третираше како стринг. Оваа постапка создаде проблеми за локализаторите бидејќи структурата на реченицата, редоследот на зборовите, форматот на броевите и така натаму се многу различни од јазик до јазик. Неутралниот начин за создавање пораки ги чува секој дел од пораката одделен и обезбедува клучеви за податоците. Користејќи ги овие клучеви, класата MessageFormatter може да ги спои деловите од пораката, да ги локализира и да прикаже добро формиран стринг на крајниот корисник.

MessageFormatter зема сет од објекти, ги форматира, а потоа ги вметнува форматираните стрингови во шаблонот на соодветните места. Форматите за избор може да се користат заедно со MessageFormatter за да се справат со множини, да совпаѓаат броеви и да избираат од низа ставки. Типично, форматот на пораката ќе доаѓа од ресурси, а аргументите ќе бидат динамички поставени при извршување.

Синопсис на класата

class MessageFormatter {
/* Методи */
public __construct(string $locale, string $pattern)
public static create(string $locale, string $pattern): ?MessageFormatter
public format(array $values): string|false
public static formatMessage(string $locale, string $pattern, array $values): string|false
public getErrorCode(): int
public getLocale(): string
public parse(string $string): array|false
public static parseMessage(string $locale, string $pattern, string $message): array|false
public setPattern(string $pattern): bool
}

Содржина

Белешки од корисници 1 белешка

од dot php dot net на NOSPAM dot brainbox dot cz
пред 11 години
MessageFormatter does not work with DateTime instances as parameters in PHP < 5.5. Instance will be converted to timestamp with value 0 (e.g. 1970-01-01) and following Notice will be raised: „Object of class DateTime could not be converted to int“. You have to manually convert the instance to timestamp in these old PHP versions.

<?php
$datetime = new DateTime();
if (PHP_VERSION_ID < 50500) { // PHP < 5.5 needs conversion to timestamp
   MessageFormatter::formatMessage('en_US', 'Today is {0, date, full}.', array($datetime->getTimestamp()));
} else {
   // current code
   MessageFormatter::formatMessage('en_US', 'Today is {0, date, full}.', array($datetime));
}
?>
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.