2017-05-04 2 views
0

私のプロジェクトで翻訳コンテンツにLexikTranslationBundleを使用しています。私は慎重にバンドルのマニュアルを読んでいると、私は次のように私のプロジェクトのセットアップを持っている:LexikTranslationBundleでインポートした後にデータベースから翻訳を読み込むには?

# LexikTranslationBundle Configuration 
lexik_translation: 
    fallback_locale: [en]  
    managed_locales: [en, es] 
    storage: 
     type: mongodb    
     object_manager: default 

ドキュメントは言う:

バンドルは翻訳サービスを無効にし、 DatabaseLoaderを提供します。データベースの翻訳コンテンツが最後にロードされるので、 はxliff、yml、およびphpの翻訳ファイルからのコンテンツを上書きします。 がデータベースと同じ内容のファイルを取得する必要がある場合に備えて、データベースからファイルへの翻訳をエクスポートすることもできます。

これは私が.xliffファイルに依存していることを意味し、DBから直接翻訳を読み込むことはできません。

私は既に.xliffのファイルをDBに読み込んで、プロジェクトから.xliff個のファイルを削除しました。

私はDBから直接翻訳を管理してファイルを取り除きたいと思っていますが、動作しません。

ここで何か不足していますか? DBから直接翻訳をロードするにはどうしたらいいですか?

答えて

0

.xliffファイルを削除する必要はありません。

translator.loaderサービスは、コンテナの構築時に飾られ、データベースの値を使用してロードしようとします:https://github.com/lexik/LexikTranslationBundle/blob/master/DependencyInjection/Compiler/TranslatorPass.php

ので、問題かもしれないが、あなたのキャッシュをクリアに関係しています。あなたがいるかどうかをテストした場合:

  1. 手動でビット

lexik_translation: 
    auto_cache_clean: false 
    auto_cache_clean_interval: 600 
キャッシュをクリアし、キャッシュの設定でプレイ編集ページ

  • 経由で翻訳を行うことができます

    configuration

  • +0

    まさに私の問題です。私は '.xliff'ファイルにもう依存したくありません。これは、ファイルの翻訳を作成してDBにインポートし、DBからの翻訳を使用する場合はキャッシュをクリアする必要があるため、作業が「難しくなります」。私が期待したいのは、いつもファイルを通らずにDBから直接翻訳をロードすることです。そうすれば、 '.xliff'ファイルを永久に削除して、DB上で翻訳を続けることができます。だからあなたの答えは私の問題を解決しません。 – ReynierPM

    関連する問題