Мне нужно реализовать мультиязычный сайт.Чем мне нужно использовать 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
Как передать переводчик в сегментный класс?Мне нужно использовать другой класс для перевода?