# ResourceBundle クラス

(PHP 5 >= 5.3.2, PHP 7, PECL intl >= 2.0.0)

## はじめに

ローカライズしたソフトウェア製品には、 現在のロケールによって切り替えるデータのセットが必要となることがよくあります。 たとえばメッセージやラベル、書式パターンなどです。 ICU のリソース機能を使うと、リソースセットを定義することができます。 ロケールに基づいてアプリケーションからこれを読み込み、 ロケールにかかわらず統一された方法でアクセスすることができます。

このクラスは ICU のリソースデータファイルへのアクセスを実装しています。 このファイルはバイナリデータの配列で、ICU がローカライズしたデータを保存するために使っています。

ICU リソースバンドルには、シンプルなリソースと複雑なリソースを保持することができます。 複雑なリソースとはコンテナ形式のもので、数値添字あるいは文字列添字 (PHP の配列と同じ) のいずれかの形式になります。シンプルなリソースは 文字列、整数、バイナリデータフィールド、整数の配列 のいずれかの型となります。

ResourceBundle からデータにアクセスするには、 配列を使う方法と foreach を使う方法、そしてクラスメソッドを使う方法があります。 シンプルなリソースの場合は PHP の値、複雑なリソースの場合は ResourceBundle オブジェクトとして取得できます。 リソースはすべて読み込み専用となります。

## クラス概要

ResourceBundle {
/* メソッド */
public __construct ( string `$locale` , string `$bundlename` [, bool `$fallback` ] )
public count ( void ) : int
public static create ( string `$locale` , string `$bundlename` [, bool `$fallback` ] ) : ResourceBundle
public getErrorCode ( void ) : int
public getErrorMessage ( void ) : string
public get ( string|int `$index` [, bool `$fallback` = `TRUE` ] ) : mixed
public getLocales ( string `$bundlename` ) : array
}

## 参考

- » ICU Resource Management
- » ICU Data

## 目次

- ResourceBundle::count — バンドル内の要素数を取得する
- ResourceBundle::create — リソースバンドルを作成する
- ResourceBundle::getErrorCode — バンドルの直近のエラーコードを取得する
- ResourceBundle::getErrorMessage — バンドルの直近のエラーメッセージを取得する
- ResourceBundle::get — バンドルからデータを取得する
- ResourceBundle::getLocales — サポートするロケールを取得する