routes - zf3 翻译路线 - 找不到翻译器
问题描述
我需要实现一个多语言网站。比我需要使用 i18n 和翻译器,但我对路由翻译器有一些问题
这是我的 module.config.php
{
return [
'router' => [
'router' => [
'router_class' => TranslatorAwareTreeRouteStack::class,
],
'routes' => [
'home' => [
'type' => Literal::class,
'options' => [
'route' => '/',
'defaults' => [
'controller' => Controller\IndexController::class,
'action' => 'index',
],
],
],
'application' => [
'type' => Segment::class,
'options' => [
'route' => '/{contact}',
'defaults' => [
'controller' => Controller\IndexController::class,
'action' => 'index',
],
],
],
],
]};
}
这是我的 Module.php 类
public function onBootstrap(MvcEvent $e)
{
/** @var \Zend\Mvc\I18n\Translator $translator */
$translator = $e->getApplication()->getServiceManager()->get('MvcTranslator');
$translator->addTranslationFilePattern(
'phpArray',
Resources::getBasePath(),
Resources::getPatternForValidator()
);
AbstractValidator::setDefaultTranslator($translator);
}
当我启动应用程序时出现此错误
Zend\Router\Exception\RuntimeException: No translator provided in ..vendor\zendframework\zend-router\src\Http\Segment.php on line 372
如何将翻译器传递给段类?我需要使用不同的类进行翻译吗?
解决方案
问题是配置。我移动这个
'router' => [
'router_class' => \Zend\Mvc\I18n\Router\TranslatorAwareTreeRouteStack::class,
'routes' => [
],
],
在全局配置中,一切正常。
推荐阅读
- reactjs - 从 Modal 中的 props 反应输出组件
- sql-server - “对象不满足先决条件:过程 WRITETOFILE 无效”是什么意思?
- c++ - 按类 C++ 的不同数据成员排序
- c - 排序程序给出分段错误
- java - Spring Boot 项目:上下文初始化期间遇到异常
- groovy - Katalon Studio 在 Gradle 中管理依赖项
- path - 设置 miniconda 后无法使用 colcon build
- angular - Jasmine 规格没有任何期望(如果有)
- ssh - HTTP反向隧道
- java - 为什么 JavaFX 应用程序和场景生成器显示乱码?