首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在PHP中使用现代标准阿拉伯语区域设置

在PHP中使用现代标准阿拉伯语区域设置
EN

Stack Overflow用户
提问于 2016-02-12 20:25:00
回答 1查看 220关注 0票数 2

我正在与地区和我有一个问题处理在PHP的现代标准阿拉伯语。

当我执行print_r(ResourceBundle::getLocales(''))时,我会得到以下列表http://pastebin.com/raw/qhBawQ5C

我可以在列表中看到区域设置ar,所以我假设它在我的机器上可用。

现在,当我运行echo Locale::getRegion('ar');时,我得到一个空值。但是当我运行echo Locale::getRegion('ar_BH');时,我得到的是BH

为什么会这样?我如何才能使ar语言环境正常工作?

提前感谢

EN

回答 1

Stack Overflow用户

发布于 2016-02-12 23:29:37

两者都是用php.net编写的。仔细读一下就行了。

如果参数为missing.

  • Function,
  • Function getLocales将返回ResourceBundle类支持的所有区域设置(在ICU库中,通过intl扩展);如果参数为getRegion,则返回区域设置的区域子标记;如果不存在,则返回NULL。因此,如果您将ar_BH作为此函数的参数编写,则会得到BH。

在php.net上是用不同的例子写的例子,但它是相同的。

代码语言:javascript
运行
复制
Locale::getRegion('de-CH-1901');
output: CH

Locale::getRegion('ar_BH');
output: BH

如果设置了ar,则getRegion()不返回任何内容,这是因为它在参数中看不到任何region子标记-因为所有本地化代码都是由两个(或者像第一个示例所说的可能是三个)部分组装而成的。

如果这些部分严格地给出了顺序,那么如果只设置了ar,它就不能显示任何区域。但为了给你更准确的答案,我应该知道它(ICU库)是如何编写的。

但我给你做了个小测试。

我的母语的本地化代码是cs_CZ

代码语言:javascript
运行
复制
Locale::getRegion(`cs_CZ`);
output: CZ

Locale::getRegion(`cs`);
output: /* nothing */

Locale::getRegion(`CZ_cs`);
output: cs

现在,为您编写代码

代码语言:javascript
运行
复制
Locale::getRegion(`BH_ar`);
output: ar
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35362619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档