PHP Zend 1 日期翻译无法正确翻译为芬兰语

问题描述 投票:0回答:1

我正在开发一个相当古老的项目,基于 Zend 1 框架构建。

翻译存在问题,特别是芬兰语。

为了测试,我运行以下代码:

(new Zend_Date(time(), false, new Zend_Locale($locale)))->toString(Zend_Date::DATE_FULL);

为 $locale 分配以下值分别给出以下结果:

  • 英语:“en”结果为“Monday, August 21, 2023”
  • 芬兰语:“fi” 结果为“cccc 21.elokuuta 2023”
  • 丹麦语:“da”结果为“mandag” 2023 年 8 月 21 日'
  • 挪威语:“nb”结果为“mandag 21. august” 2023'

芬兰语字符串的正确翻译是“maanantai 21.elokuuta 2023”,但由于某种原因,它输出“cccc”而不是正确的字符串。有人知道可能出了什么问题吗?

php zend-framework translation
1个回答
0
投票

Zend 框架早已被放弃。 您的确切问题出现在他们近十年前存档的 GitHub 问题中。答案:它很旧,有很多问题,目前没有人会更新翻译和国际化文件。

幸运的是,该行代码可以轻松更新为使用 INTL 扩展(它包装了 ICU 的 C 库),并将通过

IntlDateFormatter
类提供正确的输出:

echo (new IntlDateFormatter($locale, IntlDateFormatter::FULL, IntlDateFormatter::NONE))->format(time());
© www.soinside.com 2019 - 2024. All rights reserved.