ResourceBundle::create

resourcebundle_create

ResourceBundle::__construct

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

ResourceBundle::create -- resourcebundle_create -- ResourceBundle::__constructCreate a resource bundle

说明

面向对象风格 (method)

public static ResourceBundle::create ( string $locale , string $bundlename [, bool $fallback ] ) : ResourceBundle

过程化风格

resourcebundle_create ( string $locale , string $bundlename [, bool $fallback ] ) : ResourceBundle

面向对象风格 (constructor):

public ResourceBundle::__construct ( string $locale , string $bundlename [, bool $fallback ] )

Creates a resource bundle.

参数

locale

Locale for which the resources should be loaded (locale name, e.g. en_CA).

bundlename

The directory where the data is stored or the name of the .dat file.

fallback

Whether locale should match exactly or fallback to parent locale is allowed.

返回值

Returns ResourceBundle object or NULL on error.

范例

Example #1 resourcebundle_create() example

<?php
$r 
resourcebundle_create'es'"/usr/share/data/myapp");
echo 
$r['teststring'];
?>

Example #2 ResourceBundle::create() example

<?php
$r 
ResourceBundle::create'es'"/usr/share/data/myapp");
echo 
$r['teststring'];
?>

以上例程会输出:

?Hola, mundo!

参见

User Contributed Notes

Anonymous 22-Oct-2019 12:50
Depending on the data you want to load, you might need to pass 'root' or something different as $locale.
Here is a list of examples and the corresponding link to the file that gets loaded:

ResourceBundle::create('de', 'ICUDATA-brkitr', false)
https://github.com/unicode-org/icu/blob/release-65-1/icu4c/source/data/brkitr/de.txt

ResourceBundle::create('root', 'ICUDATA-curr', false)
https://github.com/unicode-org/icu/blob/release-65-1/icu4c/source/data/curr/root.txt

ResourceBundle::create('root', 'ICUDATA-translit', false)
https://github.com/unicode-org/icu/blob/release-65-1/icu4c/source/data/translit/root.txt

ResourceBundle::create('likelySubtags', 'ICUDATA', false)
https://github.com/unicode-org/icu/blob/release-65-1/icu4c/source/data/misc/likelySubtags.txt
mail at dasprids dot de 23-Jun-2014 12:17
Since this took me over 4 hours to find out after digging through the libicu source code, I thought it'd be a good idea to post it here. do access othere thata than the default "locale" data (which you get by passing NULL as $bundlename), you can use the following somewhat magic strings to get other resource bundles:

ICUDATA-curr
ICUDATA-lang
ICUDATA-region
ICUDATA-zone
mail at dasprids dot de 22-Jun-2014 09:55
To get the resource bundle provided by libicu, you can pass "null" as $bundlename.