使用django创建多语言网站

creating multi-lingual website using django

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

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

{"door":"porte"}
{"direction": "LTR"}

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

我有几个问题:

  1. 我的思考方向正确吗?!或者我正在重新发明轮子,还有其他工具可以为我完成这项工作?!
  2. 国际网站有最佳实践吗?!
  3. 是否有任何工具可以帮助更轻松地做到这一点?

非常感谢任何建议或意见。

谢谢

你绝对是在重新发明轮子。 Django 已经带有 i18n 支持。 这适用于几乎所有元素。

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

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

当然还有一个名为{% trans "Whatever" %}的模板标签

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