Ярлыки в сонете Admin Bundle - программирование
Подтвердить что ты не робот

Ярлыки в сонете Admin Bundle

Я начал новый с комплекта администрирования сонаты. его очень удобно и легко настраивать и использовать, но я не могу заставить перевод, фиксированный для меток по умолчанию

eg link_add, link_list идут вместо правильных английских надписей.

#SonataAdmin
    sonata_block:
    default_contexts: [cms]
    blocks:
        sonata.admin.block.admin_list:
            contexts: [admin]
        sonata.block.service.text:
        sonata.block.service.rss:

sonata_admin:
    title:      Sonata Project
    title_logo: /bundles/sonataadmin/logo_title.png
    templates:
        # default global templates
        layout:  SonataAdminBundle::standard_layout.html.twig
        ajax:    SonataAdminBundle::ajax_layout.html.twig

        # default actions templates, should extend a global templates
        list:    SonataAdminBundle:CRUD:list.html.twig
        show:    SonataAdminBundle:CRUD:show.html.twig
        edit:    SonataAdminBundle:CRUD:edit.html.twig

    dashboard:
        blocks:
            # display a dashboard block
            - { position: left, type: sonata.admin.block.admin_list }

Это мой конфигурационный файл, и это основные настройки по умолчанию, указанные в документации. что мне здесь не хватает, чтобы включить метки для параметров представления по умолчанию? может кто-нибудь помочь

4b9b3361

Ответ 1

для перевода меню и форм переопределить файл: SonataAdminBundle.[your_language].xliff (с содержимым от: vendor/sonata-project/admin-bundle/Sonata/AdminBundle/Resources/translations/SonataAdminBundle.[your_language].xliff), поместить файл в:

app/Resource/SonataAdminBundle/translations/

полный путь:

app/Resource/SonataAdminBundle/translations/SonataAdminBundle.[your_language].xliff

Если вы хотите перевести свои метки для поля, вы должны создать файл перевода в своем комплекте, например:

src/YourAlias/YourNameOfBundle/Resources/translations/YourAliasYourNameOfBundle.[your_language].xliff

если ваш класс Admin находится в

src/YourAlias/YourNameOfBundle/Admin/YourClassAdmin.php

Sonata используйте FOSUserBundle, и если вы хотите изменить перевод для модуля пользователей, вы должны обновить файл: FOSUserBundle.[your_language].yml в:

app/Resource/FOSUSerBundle/translations/FOSUserBundle.[your_language].yml

и аналогично для SonataUserBundle

Я использую эту конфигурацию, и все работает!

Ответ 2

Развернувшись на комментарий @mkjasinski выше, компонент Symfony Translation ожидает найти свойство _locale в запросе. Если это отсутствует или перевод не найден для указанного языкового стандарта, он использует резервное значение. Однако это резервное значение также пусто по умолчанию, поэтому, вместо ярлыков перевода, вместо текстовых.

Чтобы исправить это, установите язык перевода по умолчанию, добавив следующее к config.yml:

framework:
  #...
  translator:
    fallback: %locale%