我正在阅读Django本地化文档:http://docs.djangoproject.com/en/dev/topics/i18n/localization/
当然,用户来自哪里确定要使用的“消息文件”。
如何确定用户的来源和使用方法?它是自动完成的吗?
答案 0 :(得分:2)
如果要根据Django中请求的数据启用语言选择,可以在Locale middleware设置中添加MIDDLEWARE_CLASSES。
阅读how Django discovers language preference了解详情。
LocaleMiddleware尝试确定 用户的语言偏好 遵循此算法:
首先,它在当前查找django_language键 用户会话。
如果没有,它会查找一个cookie。
如果失败,它会查看Accept-Language HTTP标头。这个 标题由您的浏览器发送 告诉服务器你是哪种语言 更喜欢,按优先顺序排列。 Django的 尝试标题中的每种语言 直到找到一个可用的 翻译。
如果失败,则使用全局LANGUAGE_CODE设置。
答案 1 :(得分:0)
语言选项不应基于用户的位置,而应基于浏览器设置或页面上的显式设置,因为位置不会定义人的语言。