CakeFest 2024: The Official CakePHP Conference

ResourceBundle::create

resourcebundle_create

ResourceBundle::__construct

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

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

说明

面向对象风格 (method)

public static ResourceBundle::create(?string $locale, ?string $bundle, bool $fallback = true): ?ResourceBundle

过程化风格

resourcebundle_create(?string $locale, ?string $bundle, bool $fallback = true): ?ResourceBundle

面向对象风格 (constructor):

public ResourceBundle::__construct(?string $locale, ?string $bundle, bool $fallback = true)

Creates a resource bundle.

参数

locale

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

bundle

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.

示例

示例 #1 resourcebundle_create() example

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

示例 #2 ResourceBundle::create() example

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

以上示例会输出:

¡Hola, mundo!

参见

add a note

User Contributed Notes 3 notes

up
4
mail at dasprids dot de
9 years ago
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
up
3
Anonymous
4 years ago
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
up
0
mail at dasprids dot de
9 years ago
To get the resource bundle provided by libicu, you can pass "null" as $bundlename.
To Top