我在TurnkeyLinux使用Laravel 4并试图获得money_format以本地化方式显示货币.
money_format('%.2n', 1222002.09) 返回1222002.09.
在app/strart/global.php中,我App::setLocale(Session::get('locale', 'en'));使用Laravel的语言文件改变了语言,但对货币没有影响.
我发现localeconv();输出几乎为空的数组(只设置小数点)并且使用setLocale(LC_ALL, 'en_GB', 'en_GB');没有效果.
我使用的是PHP 5.4.4和Debian 3.2.57.
得到它了!感谢Dmitry Bezik指出我正确的方向.
locale -a 回:
缺少GB(或US)语言环境促使我做了另一个搜索,找到了我这个页面.
基本上我没有安装任何语言环境,所以我按照说明操作并通过执行以下操作安装了GB语言环境:
en_GB.UTF-8 UTF-8并删除前导"#",(如果您的文件为空,只需添加一个条目即可)./usr/sbin/locale-gen如根,这使系统"生成的语言环境"(其只用了第二).setLocale(LC_ALL, 'en_GB.utf8', 'en_GB');到我的刀片模板并刷新.瞧!我现在明白了£1,222,002.09.
然后我setLocale在设置语言后将代码移动到我的app/start/global.php中,以便在每次请求时运行.