Labels in Sonata Admin Bundle

satin picture satin · Mar 18, 2013 · Viewed 13.3k times · Source

I have started new with the sonata admin bundle. its very handy and easy to setup and use , but i can't seem to get the translation fixed for the default labels

e.g link_add, link_list are coming instead of proper english labels.

#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 }

This is my config file and these are the basic default settings provided by the documentation. what am i missing here to enable labels for the default view params ? can anybody help

Answer

mkjasinski picture mkjasinski · Mar 18, 2013

for translate menu and forms override file: SonataAdminBundle.[your_language].xliff(with content from: vendor/sonata-project/admin-bundle/Sonata/AdminBundle/Resources/translations/SonataAdminBundle.[your_language].xliff), put file in:

app/Resource/SonataAdminBundle/translations/

full path:

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

If you want to translate your labels for field, you must create translate file in your bundle, for example:

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

if your Admin class is in

src/YourAlias/YourNameOfBundle/Admin/YourClassAdmin.php

Sonata use FOSUserBundle and if you want change translation for users module, you must ovverride file: FOSUserBundle.[your_language].yml in:

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

and analogously for SonataUserBundle

I use that configuration and everything works!