请安装 \"intl\" 扩展以获得完整的本地化功能

Posted

技术标签:

【中文标题】请安装 \\"intl\\" 扩展以获得完整的本地化功能【英文标题】:Please install the \"intl\" extension for full localization capabilities请安装 \"intl\" 扩展以获得完整的本地化功能 【发布时间】:2017-07-31 10:25:40 【问题描述】:

我正在使用 macOS Sierra 和 php 7 安装。我已经安装了 ICU 和 Intl,以便使用 Symphony 的 Intl 组件。

我正在尝试这样做:

$localCurrency = new NumberFormatter('en_US', \NumberFormatter::CURRENCY);
$localCurrency = $localCurrency->getTextAttribute(NumberFormatter::CURRENCY_CODE);

但是我收到了这个错误:

Symfony\Component\Intl\NumberFormatter\NumberFormatter::__construct() 方法的参数 $locale value 'en_US' 行为未实现。仅支持语言环境“en”。请安装“intl”扩展以获得完整的本地化功能。

问题是我安装了 intl 和 ICU,它在 php -iphpinfo(); 中都可见。

另外,我已经将 intl 组件安装到了 symphony,它在 vendor 中也是可见的。

所以我真的不知道是什么问题。

【问题讨论】:

您是否尝试过从php.ini启用国际扩展? 是的,如上所述,它已启用并加载。我已经在下面发布了答案。 【参考方案1】:

看起来问题出在 use 语句上,我应该只使用 use NumberFormatter; 而不是那个交响乐,因为它只是一个 polyfill。

现在它工作正常。

【讨论】:

以上是关于请安装 \"intl\" 扩展以获得完整的本地化功能的主要内容,如果未能解决你的问题,请参考以下文章

尝试在本地安装“Prestashop”但未正确安装 INTL

如何从 intl-tel-input 中删除重复的国家/地区

无法安装 php mcrypt 和 intl 扩展

国际扩展:安装 php_intl.dll

“babel-plugin-react-intl”没有按预期工作

如何在 CentOS 上安装 PHP intl 扩展?