我正在开发一个相当古老的项目,基于 Zend 1 框架构建。
翻译存在问题,特别是芬兰语。
为了测试,我运行以下代码:
(new Zend_Date(time(), false, new Zend_Locale($locale)))->toString(Zend_Date::DATE_FULL);
为 $locale 分配以下值分别给出以下结果:
芬兰语字符串的正确翻译是“maanantai 21.elokuuta 2023”,但由于某种原因,它输出“cccc”而不是正确的字符串。有人知道可能出了什么问题吗?
Zend 框架早已被放弃。 您的确切问题出现在他们近十年前存档的 GitHub 问题中。答案:它很旧,有很多问题,目前没有人会更新翻译和国际化文件。
幸运的是,该行代码可以轻松更新为使用 INTL 扩展(它包装了 ICU 的 C 库),并将通过
IntlDateFormatter
类提供正确的输出:
echo (new IntlDateFormatter($locale, IntlDateFormatter::FULL, IntlDateFormatter::NONE))->format(time());