如何翻译 Symfony EasyAdmin 中的主菜单标签?

How to translate the Main Menu Labels in Symfony EasyAdmin?

我正在使用 Symfony EasyAdmin 4 构建管理后端,但不知道如何更改主菜单的实体标签。他们默认使用其实体的名称。

这似乎很容易实现 EasyAdmin 2.x, as the docs show. But none of the files mentioned there (translations/messages.xx.yaml,config/packages/easy_admin.yaml) is still in use in EasyAdmin 4.x

翻译可以用不同的方式实现吗?

我们在 4.x 中不再需要任何这些文件:

首先:改变default_locale

在:config/packages/translation.yaml 文件中,设置:

framework:
        default_locale: xx

其中 xx 是目标语言(例如 es 为西班牙语,fr 为法语,de 为德语等)

第二:实现配置增删改查方法

在相关 crud 控制器内的 configureCrud 函数内实施 setEntityLabelInSingularsetEntityLabelInPlural 方法:

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: The Fast Track