请安装 \"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 -i
和 phpinfo();
中都可见。
另外,我已经将 intl 组件安装到了 symphony,它在 vendor 中也是可见的。
所以我真的不知道是什么问题。
【问题讨论】:
您是否尝试过从php.ini
启用国际扩展?
是的,如上所述,它已启用并加载。我已经在下面发布了答案。
【参考方案1】:
看起来问题出在 use 语句上,我应该只使用 use NumberFormatter;
而不是那个交响乐,因为它只是一个 polyfill。
现在它工作正常。
【讨论】:
以上是关于请安装 \"intl\" 扩展以获得完整的本地化功能的主要内容,如果未能解决你的问题,请参考以下文章
尝试在本地安装“Prestashop”但未正确安装 INTL
如何从 intl-tel-input 中删除重复的国家/地区