我使用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加载翻译?
发布于 2017-05-04 14:28:57
您不必删除.xliff文件。
在构建容器时,translator.loader服务将进行修饰,并尝试加载使用数据库值:https://github.com/lexik/LexikTranslationBundle/blob/master/DependencyInjection/Compiler/TranslatorPass.php
因此,这个问题可能与清除缓存有关。如果您测试是否:
lexik_translation:
auto_cache_clean: false
auto_cache_clean_interval: 600请参阅配置
https://stackoverflow.com/questions/43783373
复制相似问题