4

对于国际化数据,最好使用\ResourceBundlePHP 的“intl”扩展中的类。

我运行了扩展(PHP 5.3.4;Windows)并使用ICU Data Library Customizer * 创建了一个 .dat 文件,但我没有从资源包类中得到预期的结果。

现在我这样做

$bundle   = '/var/www/libs/icudt48l.dat';
$resource = new \ResourceBundle('en_US', $bundle, true);
var_dump($resource, is_file($bundle)); //--> NULL, TRUE

问题是$resource返回 NULL 而不会引发任何错误。这是怎么回事?

*(只检查了最后两个数据部分 - 始终包含基本数据 - 我将其导出为 ICU4C)

4

2 回答 2

1
<?php
$b = '/var/www/libs/icudt48l';
$r = new \ResourceBundle('en_US', $b, true);
var_dump($r instanceof \ResourceBundle); //-> TRUE

应保留 .dat 扩展名以使其正常工作

于 2011-06-08T07:13:37.200 回答
0

尝试$resource = resourcebundle_create('en_US',$bundle,true);

于 2011-06-06T19:26:04.663 回答