Я начал новый с комплектом админов сонаты. его очень удобно и легко настраивать и использовать, но я не могу заставить перевод фиксироваться для ярлыков по умолчанию
например 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 }
Это мой файл конфигурации, и это основные настройки по умолчанию, указанные в документации. что мне здесь не хватает, чтобы включить метки для параметров представления по умолчанию? кто-нибудь может помочь
для перевода меню и форм переопределить файл: 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
Я использую эту конфигурацию, и все работает!
Развернувшись на комментарий @ mkjasinski выше, компонент Symfony Translation ожидает найти свойство _locale
в запросе. Если это отсутствует или перевод не найден для указанного языкового стандарта, он использует резервное значение. Однако это резервное значение также пусто по умолчанию, поэтому видны метки перевода вместо текста.
Чтобы исправить это, установите язык перевода по умолчанию , добавив следующее в config.yml
:
framework: #... translator: fallback: %locale%