php - 有没有办法在 PHP 中获取可用语言环境列表?

标签 php internationalization locale

在 Java 中,您可以调用 Locale.getAvailableLocales() 来获取可用语言环境的列表。

我期待 PHP 的等价物 Locale类,但找不到。

有没有办法获取所有有效语言环境的数组?

最佳答案

这里的部分混淆是 PHP 有两个概念,称为“语言环境”,这两个概念几乎完全不同。

第一个是较旧的,它基本上只使用 C 语言环境功能。这就是 setlocale 和某些 PHP 函数(例如 money_format)中的语言环境支持背后的原因。这就是提到在命令行上运行 locale -a 和使用 setlocale 的其他答案。

PHP 的 Locale 类和 other related functionality from the intl extension较新,并且工作方式不同。它没有使用 libc 语言环境的东西,而是使用了一个名为 ICU 的库,它提供了自己的语言环境数据。 PHP 确实提供了一种方法来确定系统支持哪些语言环境:ResourceBundle::getLocales .这里的文档有点模糊,但您可以将其作为静态方法调用并传递空白字符串以使用 ICU 的默认资源,从而获得 intl 支持的语言环境列表:

ResourceBundle::getLocales('');

关于php - 有没有办法在 PHP 中获取可用语言环境列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10073425/

相关文章:

Java 的 equalsIgnoreCase 失败,德语字母表中使用 ß ("Sharp S")

postgresql - 连接到具有不同语言环境的 postgresql 数据库

php - 在 PHP 中用类扩展特征?

php - 类不返回接口(interface)实例 PHP

php - Postgres 到 php 数组

没有变量的Php mysql插入查询

command-line - Websphere Application Server 6.1(本地化): Override locale for console messages

java - Android Java - 在欧洲和其他国家/地区自动用逗号而不是句号表示 float

ruby-on-rails - 本地化时间单位

perl - htmldoc 忽略日期格式的 LC_TIME