使用 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 创建多语言网站的主要内容,如果未能解决你的问题,请参考以下文章