在 laminas 中添加 i18n 功能

adding i18n functionality in laminas

Laminas 新手,我正在学习教程"Getting started: A skeleton application"。

接近尾声时,我发现我可能回答了 "no" 关于 i18n 的安装问题,这里我遇到了一个致命错误:未捕获 Laminas\I18n\Exception\ExtensionNotLoadedException...

问题应该通过 [Github]https://github.com/laminas/laminas-mvc-i18n 和组件安装程序解决。但我仍然有错误,即使在重新启动 Apache 之后。

回顾 laminas 组件安装程序和 laminas-mvc-i18n 的安装,一切看起来都很好。那又怎样?

编辑 1 也许我没有正确阅读? 这是完整的错误:

Fatal error: Uncaught Laminas\I18n\Exception\ExtensionNotLoadedException: Laminas\I18n\Translator component requires the intl PHP extension in C:\xampp\htdocs\laminas-mvc-skeleton\vendor\laminas\laminas-i18n\src\Translator\Translator.php:258 Stack trace: #0 C:\xampp\htdocs\laminas-mvc-skeleton\vendor\laminas\laminas-i18n\src\Translator\Translator.php(354): Laminas\I18n\Translator\Translator->getLocale() #1 C:\xampp\htdocs\laminas-mvc-skeleton\vendor\laminas\laminas-mvc-i18n\src\Translator.php(71): Laminas\I18n\Translator\Translator->translate('Laminas MVC Ske...', 'default', NULL) #2 C:\xampp\htdocs\laminas-mvc-skeleton\vendor\laminas\laminas-view\src\Helper\HeadTitle.php(163): Laminas\Mvc\I18n\Translator->translate('Laminas MVC Ske...', 'default') #3 C:\xampp\htdocs\laminas-mvc-skeleton\vendor\laminas\laminas-view\src\Helper\HeadTitle.php(86): Laminas\View\Helper\HeadTitle->Laminas\View\Helper{closure}('Laminas MVC Ske...') #4 C:\xampp\htdocs\laminas-mvc-skeleton\vendor\laminas\laminas-view\src\Helper\HeadTitle.php(70): in C:\xampp\htdocs\laminas-mvc-skeleton\vendor\laminas\laminas-i18n\src\Translator\Translator.php on line 258

所以问题出在翻译器上。哪个译者?我只会英文。

编辑 2

所以我再次尝试使用从头开始的新安装。这次我确认所有选项都是肯定的,即当被要求安装 i18n 和所有其他选项时,我肯定地回答了。

并且我使用内置 PHP 网络服务器而不是 Apache 进行了测试。

结果还是一样的错误!

编辑 3

我在 composer.json

中的扩展列表
    "laminas/laminas-component-installer": "^1.0 || ^2.1",
    "laminas/laminas-development-mode": "^3.2",
    "laminas/laminas-mvc": "^3.1.1",
    "laminas/laminas-cache": "^2.9.0",
    "laminas/laminas-db": "^2.10.0",
    "laminas/laminas-mvc-form": "^1.0",
    "laminas/laminas-json": "^3.1.2",
    "laminas/laminas-log": "^2.11",
    "laminas/laminas-mvc-console": "^1.2.0",
    "laminas/laminas-mvc-i18n": "^1.1.1",
    "laminas/laminas-mvc-plugins": "^1.0.1",
    "laminas/laminas-psr7bridge": "^1.2.0",
    "laminas/laminas-session": "^2.9.1",
    "laminas/laminas-di": "^3.1.1"

如错误所述:

Fatal error: Uncaught Laminas\I18n\Exception\ExtensionNotLoadedException: Laminas\I18n\Translator component requires the intl PHP extension

您 xampp 安装中缺少 INTL PHP 扩展。请参阅 xampp 的手册以安装缺少的扩展。

It is true that I can't see i18n when running php -info. Should be there ?

确实是。