2013-03-18 6 views
14

Ich habe neu mit dem Sonata-Admin-Bundle begonnen. Es ist sehr praktisch und einfach einzurichten und zu verwenden, aber ich kann nicht scheinen, die Übersetzung für die Standard-Etiketten behobenLabels in Sonata Admin Bundle

zum Beispiel Link_add, link_list kommen anstelle der richtigen englischen Etiketten.

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

Dies ist meine Konfigurationsdatei und dies sind die grundlegenden Standardeinstellungen, die in der Dokumentation enthalten sind. Was fehlt mir hier, um Labels für die Standardansichtsparameter zu aktivieren? setzen, Datei in: SonataAdminBundle.[your_language].xliff (vendor/sonata-project/admin-bundle/Sonata/AdminBundle/Resources/translations/SonataAdminBundle.[your_language].xliff mit Inhalten aus:): kann jemand

Antwort

25

für Menü übersetzen und Formulare überschreiben Datei helfen

app/Resource/SonataAdminBundle/translations/ 

vollständigen Pfad:

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

Wenn Sie übersetzen Ihre Beschriftungen für das Feld müssen Sie in Ihrem Bundle übersetzen. Beispiel:

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

wenn Ihr Admin Klasse ist in

src/YourAlias/YourNameOfBundle/Admin/YourClassAdmin.php 

Sonata Verwendung FOSUserBundle und wenn Sie für Benutzer-Modul ändern Übersetzung wollen, müssen Sie ovverride Datei: FOSUserBundle.[your_language].yml in:

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

und analog für SonataUserBundle

Ich benutze diese Konfiguration und alles funktioniert!

+0

aber wie zu ermöglichen, die Standard-Übersetzung aus den Übersetzungsdateien Sonate Admin-Bundle bereits mit ihm. Die vom Sonatenbündel erzeugten Labels funktionieren nicht. Sie zeigen die Standard-Zweigparameter an. irgendwelche Vorschläge dazu? – satin

+27

in 'config.yml':' framework: # ... Übersetzer: {fallback:% locale%} 'und' paramateres: locale: [your_lagage] 'in' parameters.yml'. – mkjasinski

+0

Dank @mkjasinski, die geholfen haben. Danke – satin

10

Die Komponente Symfony Translation erweitert sich auf den obigen Kommentar von @ mkjasinski und erwartet eine _locale-Eigenschaft für die Anforderung. Wenn dies fehlt oder für das angegebene Gebietsschema keine Übersetzung gefunden werden kann, wird ein Rückfallwert verwendet. Dieser Fallback-Wert ist jedoch standardmäßig ebenfalls leer, sodass die Übersetzungsetiketten anstelle von Text angezeigt werden.

Um dies zu beheben, stellen Sie die default translation locale nach dem zu config.yml durch Zugabe:

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