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::__construct创建资源包

描述

面向对象风格 (方法)

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

过程式风格

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

面向对象风格 (构造函数)

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

创建资源包。

参数

locale

应加载资源的区域设置 (区域设置名称,例如 en_CA)。

bundle

存储数据的目录或 .dat 文件的名称。

fallback

区域设置是否应该完全匹配,或者是否允许回退到父区域设置。

返回值

返回 ResourceBundle 对象或在错误时返回 null

示例

示例 #1 resourcebundle_create() 示例

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

示例 #2 ResourceBundle::create() 示例

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

以上示例将输出

¡Hola, mundo!

参见

添加备注

用户贡献的备注 3 条备注

4
mail at dasprids dot de
10 年前
由于我在深入研究 libicu 源代码后花了 4 个多小时才找到这个方法,我认为在这里发布它是个好主意。要访问除默认“locale”数据之外的其他数据(可以通过将 NULL 作为 $bundlename 传递来获取),可以使用以下一些神奇的字符串来获取其他资源包

ICUDATA-curr
ICUDATA-lang
ICUDATA-region
ICUDATA-zone
3
Anonymous
4 年前
根据您要加载的数据,您可能需要将 'root' 或其他内容作为 $locale 传递。
以下是示例列表以及相应的加载文件链接

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
0
mail at dasprids dot de
10 年前
要获取 libicu 提供的资源包,可以将 "null" 作为 $bundlename 传递。
To Top