首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在导入LexikTranslationBundle后从数据库加载翻译?

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

Stack Overflow用户
提问于 2017-05-04 12:49:34
回答 1查看 729关注 0票数 0

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

代码语言:javascript
复制
# 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加载翻译?

EN

回答 1

Stack Overflow用户

发布于 2017-05-04 14:28:57

您不必删除.xliff文件。

在构建容器时,translator.loader服务将进行修饰,并尝试加载使用数据库值:https://github.com/lexik/LexikTranslationBundle/blob/master/DependencyInjection/Compiler/TranslatorPass.php

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

  1. 您可以通过编辑页面进行翻译。
  2. 手动清除缓存,并稍微播放缓存设置。
代码语言:javascript
复制
lexik_translation:
    auto_cache_clean: false
    auto_cache_clean_interval: 600

请参阅配置

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43783373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档