我在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。
答案 0 :(得分:7)
知道了!感谢Dmitry Bezik指出我正确的方向。
locale -a
返回:
缺少GB(或US)语言环境促使我进行另一次搜索 我this page。
基本上我没有安装任何语言环境,所以我按照说明操作并通过执行以下操作安装了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中,以便在每次请求时运行。