Internationalization MessageFormatter 클래스

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


소개

MessageFormatter는 사용자가 연결된 언어 중립적 메시지를 생성할 수 있도록 하는 구체적인 클래스입니다. 이 클래스에서 제공되는 메소드는 최종 사용자가 볼 수 있는 모든 메시지를 작성하는 데 사용됩니다.

MessageFormatter 클래스는 프로그램에서 제공하는 다양한 조각(예: 텍스트 조각, 숫자 및 날짜)에서 메시지를 조합합니다. MessageFormatter 클래스 때문에 프로그램은 조각의 순서를 알 필요가 없습니다. 클래스는 조각에 대한 형식 지정 사양을 사용하여 조각을 리소스 번들 내의 단일 문자열에 포함된 메시지로 조합합니다. 예를 들어, MessageFormatter를 사용하면 번역의 유연성을 허용하는 방식으로 "Finished printing x out of y files..."라는 문구를 인쇄할 수 있습니다.

이전에는 최종 사용자 메시지가 문장으로 생성되어 문자열로 처리되었습니다. 이 절차는 문장 구조, 어순, 숫자 형식 등이 언어마다 매우 다르기 때문에 로컬라이저에게 문제를 일으켰습니다. 메시지를 생성하는 언어 중립적인 방법은 메시지의 각 부분을 별도로 유지하고 데이터에 대한 키를 제공합니다. 이러한 키를 사용하여 MessageFormatter 클래스는 메시지의 일부를 연결하고 지역화하고 최종 사용자에게 올바른 형식의 문자열을 표시할 수 있습니다.

MessageFormatter는 개체 집합을 가져와 형식을 지정한 다음 형식이 지정된 문자열을 패턴의 적절한 위치에 삽입합니다. 선택 형식을 MessageFormatter와 함께 사용하여 복수형을 처리하고 숫자를 일치시키고 항목 배열에서 선택할 수 있습니다. 일반적으로 메시지 형식은 리소스에서 가져오고 인수는 런타임에 동적으로 설정됩니다.


클래스 개요

class MessageFormatter {
  /* Methods */
  public __construct(string $locale, string $pattern)
  public static create(string $locale, string $pattern): ?MessageFormatter
  public static formatMessage(string $locale, string $pattern, array $values): string|false
  public format(array $values): string|false
  public getErrorCode(): int
  public getErrorMessage(): string
  public getLocale(): string
  public getPattern(): string|false
  public static parseMessage(string $locale, string $pattern, string $message): array|false
  public parse(string $string): array|false
  public setPattern(string $pattern): bool
}
                

기타


목차