使用 django 创建多语言网站

Posted

技术标签:

【中文标题】使用 django 创建多语言网站【英文标题】:creating multi-lingual website using django 【发布时间】:2021-05-22 07:27:43 【问题描述】:

我正在从头开始创建一个网站,并计划使其动态多语言。我使用的工具是:

用于我的数据库的 MongoDB(图集) pymongo 连接数据库 django 作为我的框架环境

我的想法是建立一个可以根据需要使用多种语言的网站。语言可以是 RTL 和 LTR。我可以以 json 文件的形式添加任何语言,其中包含一项反对其翻译为所需语言的项目,例如英语-法语 json 文件将是:

"door":"porte"
"direction": "LTR"

通过添加这样的文件,我的网站应该能够获得有关法语的正确信息,并且所有内容都应该按照 json 文件中的规定正确显示为法语。我计划在我的数据库中为我的每个网站页面提供两种类型的 html 页面;一个用于“RTL”,一个用于“LTR”,我根据用户的请求呈现它们。 (在前端选择的语言)。在翻译过程中,选择正确的语言方向后,我在我的 html 中使用 django 模板变量,使用该语言的正确 json 文件放置正确的语言,我所有的 json 文件都存储在数据库中,并由所需的检索用户选择的语言。

我有几个问题:

    我的想法是否正确?!或者我正在重新发明***,还有其他工具可以为我完成这项工作?! 国际网站有最佳做法吗?! 是否有任何工具可以帮助您更轻松地做到这一点?

非常感谢任何建议或 cmets。

谢谢

【问题讨论】:

【参考方案1】:

您肯定是在重新发明***。 Django 已经提供了 i18n 支持。 这适用于几乎所有元素。

如此处所述: https://docs.djangoproject.com/en/3.1/topics/i18n/

我个人建议使用 gettext_lazy(),因为它使事情变得更容易,但这只是我的口味。

当然还有一个模板标签叫做 % trans "Whatever" %

如果您想要一个精美的用户界面,您最终会得到可以简单编辑并使用 SaaS 的文本文件。

【讨论】:

感谢您向我推荐这个。很有用。对于第一次开始使用 django 进行翻译的人,您可以参考这个链接:phrase.com/blog/posts/quick-guide-django-i18n 如果您能回答我的其他问题,请您也可以帮助我:***.com/questions/66273168/…

以上是关于使用 django 创建多语言网站的主要内容,如果未能解决你的问题,请参考以下文章

多语言 django 网站上的搜索功能

多语言网站的 Django 重定向

如何创建具有多语言路线的一页网站?

使用 OWIN 和异步方法的多语言网站

使用 Vue.js 制作多语言网站

纸壳CMS可视化建站系统搭建多语言网站