2013-03-18 7 views
14

ソナタ管理バンドルで新しく始めました。非常に便利でセットアップと使用は簡単ですが、デフォルトラベルの翻訳を修正できないようですSonata Adminバンドルのラベル

たとえば、適切な英語ラベルの代わりに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)メニューを翻訳し、フォームがファイルを上書きするために、誰もが

答えて

25

を助けることができ、中にファイルを置く:

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であり、あなたは、ユーザーモジュールの変換を変更したい場合は、ファイルをovverride必要がある場合:FOSUserBundle.[your_language].ymlに:

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

と同様のためSonataUserBundle

私はその設定を使用し、すべてが動作します!

+0

が、翻訳ファイルソナタ管理バンドルから、デフォルトの変換を有効にする方法はすでにそれを持っています。ソナタバンドルによって生成されたラベルは機能しません。彼らはデフォルトの小枝パラメータを示しています。それについての示唆? 'config.yml'の中の – satin

+27

:' framework:#... translator:{fallback:%locale%} 'と' parameters.yml'の 'paramaters:locale:[your_laguage]'です。 – mkjasinski

+0

ありがとう@mkjasinski助けた。ありがとう – satin

10

上記の@ mkjasinskiのコメントを展開すると、Symfony翻訳コンポーネントは要求に対して_localeのプロパティを見つけようとします。これがない場合、または指定されたロケールの翻訳が見つからない場合はフォールバック値が使用されます。ただし、この代替値はデフォルトでは空白なので、テキストではなく翻訳ラベルが表示されます。この問題を解決するには

config.ymlに以下を追加してdefault translation localeを設定します。

framework: 
    #... 
    translator: 
    fallback: %locale% 
関連する問題