Как перевести метки главного меню в Symfony EasyAdmin?

Я создаю серверную часть администратора с Symfony EasyAdmin 4 и не могу понять, как изменить метки сущностей в главном меню. По умолчанию они используют имена своих сущностей.

Это кажется легко достижимым с EasyAdmin 2.x, как показывают документы. Но ни один из упомянутых там файлов (translations/messages.xx.yaml,config/packages/easy_admin.yaml) до сих пор не используется в EasyAdmin 4.x.

Можно ли добиться перевода по-другому?

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
2
0
30
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Нам больше не нужны эти файлы в 4.x:

Первое: измените default_locale

В файле: config/packages/translation.yaml установите:

framework:
        default_locale: xx

где xx — целевой язык (например, es для испанского, fr для французского, de для немецкого и т. д.)

Во-вторых: внедрить crud-методы конфигурации

Реализуйте методы setEntityLabelInSingular и setEntityLabelInPlural внутри функции configureCrud внутри соответствующего crud-контроллера:

class YourCrudController extends AbstractCrudController
{     
...   
    public function configureCrud(Crud $crud): Crud
         {
             return $crud
                 ->setEntityLabelInSingular('Your own label')
                 ->setEntityLabelInPlural('Your own labels')
                 ...
                 ;
          }
...
}

Не забудьте: use EasyCorp\Bundle\EasyAdminBundle\Config\Crud;

Источник: Symfony: быстрый путь

Другие вопросы по теме