Php 在LexikTranslationBundle中导入翻译后,如何从数据库中加载翻译?

Php 在LexikTranslationBundle中导入翻译后,如何从数据库中加载翻译?,php,symfony,symfony-3.2,Php,Symfony,Symfony 3.2,我正在用它来翻译我项目中的内容。我一直在仔细阅读捆绑包的文档,并按照以下方式设置了我的项目: # LexikTranslationBundle Configuration lexik_translation: fallback_locale: [en] managed_locales: [en, es] storage: type: mongodb object_manager: default 医生说

我正在用它来翻译我项目中的内容。我一直在仔细阅读捆绑包的文档,并按照以下方式设置了我的项目:

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

捆绑包覆盖转换器服务并提供 数据库加载器。数据库翻译内容最后加载,因此 覆盖xliff、yml和php翻译文件中的内容。你可以 如果需要,还可以将数据库中的翻译导出到文件中 获取与数据库内容相同的翻译文件

也许这意味着我依赖于
.xliff
文件,不能直接从数据库加载翻译,这很糟糕

作为补充说明,我已经将
.xliff
文件中的所有翻译加载到数据库中,因此我已经从项目中删除了
.xliff
文件

我想直接从数据库中管理翻译,并删除文件,我已经尝试过了,但没有成功


我错过什么了吗?如何直接从DB加载翻译?

您不必删除
.xliff
文件

构建容器时,
translator.loader
服务将进行装饰,并将尝试使用数据库值进行加载:

因此,问题可能与清除缓存有关。如果您测试是否:

  • 您可以通过编辑页面进行翻译

  • 手动清除缓存,并稍微使用缓存设置


  • 请参见

    ,这正是我的问题,我不想再依赖
    .xliff
    文件。这使得工作“更加困难”,因为我必须在文件上创建翻译,将其导入数据库并清除缓存,以防我想使用来自数据库的翻译。我所期望和想要的是直接从DB加载翻译,而不需要一直浏览文件。这样我就可以永远删除
    .xliff
    文件,继续在DB上进行翻译。所以你的回答不能解决我的问题。
    lexik_translation:
        auto_cache_clean: false
        auto_cache_clean_interval: 600