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