首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >翻译数据库flask-babel中的字符串

翻译数据库flask-babel中的字符串
EN

Stack Overflow用户
提问于 2014-02-01 19:31:16
回答 2查看 1.6K关注 0票数 9

我正在使用Flask-Babel来翻译字符串。

在一些模板中,我从数据库(Postgresql)中读取字符串。如何使用Flask-Babel翻译数据库中的字符串?

EN

回答 2

Stack Overflow用户

发布于 2014-02-28 23:47:33

不可能在数据库翻译中使用Babel,因为数据库内容是动态的,而babel翻译是静态的(它们没有改变)。

如果从数据库中读取字符串,则必须将翻译保存在数据库中。您可以创建一个转换表,类似于(locale,source,destination),并通过查询获得翻译值。

票数 2
EN

Stack Overflow用户

发布于 2016-11-30 18:15:54

我建议在数据库中有一个工程文本。在您的HTML文件中(或者最好是您可以在任何地方包含的HTML )中,您都有一个脚本,其中包含以下翻译:

代码语言:javascript
复制
<script>
  translations = { 'WillBringOwnFood': {{ _('Guest will bring their own food')}},
                   'WantToShareBathroom': {{ _('Guest would like to share bathroom with stranger')}}  };
</script>

现在,当您收到工程字符串时,只需在translations字典中进行查找即可。因此,.js文件将如下所示:

代码语言:javascript
复制
function receiveDBCallback(response) {
    $('.guestWishes').text(translations[response]);
}

然后,您可以像往常一样使用babel来提取字符串。所有的翻译都将放在同一个.po/mo文件中。

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

https://stackoverflow.com/questions/21497489

复制
相关文章

相似问题

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