gpt4 book ai didi

javascript - Django如何识别Django实现的多语言网页的语言变化?

转载 作者:行者123 更新时间:2023-11-29 23:36:21 25 4
gpt4 key购买 nike

我已经使用 Django 实现了一个英文网页。当我尝试用中文创建网页时,我现在有一个问题。中文页面将以前缀(/ch/)分隔。

我打算实现一个按钮来改变语言,但问题是Django如何记住改变的页面。假设我的域是“domain.com”,如果通过按钮将语言设置为中文,我希望在用户访问“domain.com”时打开“domain.com/ch”。但是点击按钮好像不能控制Django的urlpatterns(urls.py),看来需要在javascript中存储language对应的变量。

非常感谢您的建议。

最佳答案

这是一个相当复杂的主题,但默认情况下在 Django 中有很多东西可以提供帮助。 django 的区域设置部分将查看 cookie 以了解语言偏好,我相信浏览器也提供了一些元素,它可以为网站的新访问者选择默认语言。

在 Django 中需要注意的是 有关该主题的文档在这里; https://docs.djangoproject.com/en/1.11/topics/i18n/

您需要启用两个设置才能最好地支持多种语言; USE_I18N添加语言元素,USE_L10N允许日期、数字、货币等的本地化格式。

关于翻译的话题,give this a read因为您需要确保显示给用户的 Python 代码、JavaScript 和模板中的字符串包含在适当的翻译函数中。

在您的根 urls.py 文件中,您还需要确保您使用的是 i18n_patterns,它将以当前启用的语言代码作为您的 URL 的前缀。一个带有 Javascript 翻译 URL 的例子是;

from django.conf.urls.i18n import i18n_patterns

urlpatterns = i18n_patterns(
url(r'^jsi18n/$', JavaScriptCatalog.as_view(), name='javascript-catalog'),
)

一旦您对设置进行排序,将 URL 设置为 i18n_patterns 并在模板中设置一些 {% trans ""%} 标签,您就可以测试实际的生成消息目录。

您为此使用了两个管理命令,第一个是 makemessages然后将翻译添加到生成的文件中,并运行 compilemessages 以完成工作。

关于javascript - Django如何识别Django实现的多语言网页的语言变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46203354/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com