【问题标题】:creating multi-lingual website using django使用 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 文件都存储在数据库中,并由所需的检索用户选择的语言。

我有几个问题:

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

非常感谢任何建议或 cmets。

谢谢

【问题讨论】:

    标签: python json django mongodb translation


    【解决方案1】:

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

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

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

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

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-07-31
    • 2022-06-13
    • 2014-02-26
    • 2015-01-06
    • 1970-01-01
    • 1970-01-01
    • 2022-10-30
    相关资源
    最近更新 更多