Ben*_*min 16 php locale internationalization
在Java中,您可以调用Locale.getAvailableLocales()以获取可用语言环境的列表.
我期待PHP Locale类的等价物,但找不到.
有没有办法获得所有有效Locales的数组?
Joh*_*ess 17
这里令人困惑的部分原因是PHP有两个名为"locale"的概念,几乎完全是分开的.
第一个是较旧的,它基本上只使用C语言环境功能.这就是setlocalePHP的一些功能(money_format例如)中的背后和语言环境支持.这就是提到locale -a在命令行和使用setlocale上运行的其他答案正在谈论的内容.
PHP的Locale类和扩展中的其他相关功能intl是较新的,并且工作方式不同.它不使用libc语言环境,而是使用一个名为ICU的库,它提供自己的语言环境数据.PHP 确实提供了一种方法来确定该系统支持哪些语言环境:ResourceBundle :: getLocales.这里的文档有点毛茸茸,但您可以将其称为静态方法并传递空字符串以使用ICU的默认资源,从而获得支持的语言环境列表intl:
ResourceBundle::getLocales('');
Run Code Online (Sandbox Code Playgroud)
小智 13
我认为没有内置的功能.您需要询问操作系统安装了哪些语言环境.
例如,如果在unix系统上运行,则需要执行以下命令:
$ locale -a
Run Code Online (Sandbox Code Playgroud)