PHP Conference Japan 2024

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 条注释

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

ICUDATA-curr
ICUDATA-lang
ICUDATA-region
ICUDATA-zone
匿名
5 年前
根据您要加载的数据,您可能需要传递“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
mail at dasprids dot de
10 年前
要获取 libicu 提供的资源包,您可以将“null”作为 $bundlename 传递。
To Top