我试图用 strftime
生成一个本地化的日期字符串,我使用的占位符是 %x
。语言/语言环境是 setlocale(LC_ALL, array('jp','japanese'))
,但是这两个语言环境都不可用,因此它生成了一个包含不正确字符的字符串。然后,我安装了 ja_JP.utf8
语言环境并将其指定为数组中的第一个元素,我遇到的日期格式问题已得到解决。
我的问题是,我是否应该始终依赖安装的语言环境?我知道如何将它们安装在我有 root 访问权限的盒子上,但如果我没有访问权限怎么办?
我相信 Zend_Locale
和 Zend_Translate
根本不依赖于 setlocale
而是以某种方式在内部进行,这给我的印象是'对于企业级应用程序来说实际上是可行的。
我知道我可以在我的应用程序中使用 Zend_Locale
和 Zend_Translate
但它还需要支持 PHP4,至少再支持一年,这就是为什么我不能单独依靠那些。
最佳答案
如果我对 setlocale() 的检查是正确的,那么答案是:不,不。安装的区域设置的范围各不相同,它们的名称也是如此,并且最终无法完全确定地预测某个区域设置的可用性。
关于php - 依赖setlocale,依赖正在安装的locales是否可行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1941956/