注册或登录时选择语言

我们希望用户在首次注册社区或登录时能够选择其语言。需要如何调整设置?我们目前有两语言版本的欢迎消息,并希望允许用户选择显示哪种语言。

提前感谢!

如果您启用了 Discourse 的“允许用户语言环境”和“从 Accept-Language 请求头设置语言环境”这两个设置(它们都位于“基本设置”部分的顶部附近),用户在首次注册网站时,其语言将自动设置为其网页浏览器中设定的语言环境。在许多情况下,这足以为用户设置正确的语言。

Discourse 目前没有提供让用户在注册账户时手动选择语言的功能。不过,我理解这对某些网站来说可能是一个有用的功能。

只要启用了“允许用户语言环境”这一站点设置,用户就可以在注册后更改其语言环境。操作方法是进入用户偏好设置页面的“界面”部分:

Meta 上有一些关于多语言网站的现有讨论。以下话题中的一些想法可能会有所帮助:https://meta.discourse.org/t/how-to-structure-a-multilingual-community/73225。

如果您使用单点登录(SSO),可以在注册表单上设置此项。Namati.org 的运作方式如下:Network Registration Form - Grassroots Justice Network

这将会是一个非常棒的功能。:crossed_fingers:t2:

你好,Tobias,

非常棒的实现!你是如何创建这个注册表单的?看起来非常专业!:slight_smile: 我们目前的注册流程非常基础。你创建的注册表单给人一种专属感!此外,让用户选择其语言或所属国家/地区也会让不同背景的用户感到更加亲切。还有关于用户是从哪里了解到我们的问题也非常棒!

提前非常感谢!

非常感谢详细的说明!!

这是在 WordPress 中通过 wp discourse 插件和 Gravity Forms 实现的。关于同步首选界面语言的一些自定义代码,@hudsonwebdev 可能愿意为你解释。

@tobiaseigen 非常感谢!!

@hudsonwebdev 你好,能给我解释一下吗?

@roemer 抱歉回复晚了。正如 Tobias 提到的,这是 WordPress 和 Gravity Forms 的结合。
Gravity Forms 允许您“挂钩”到表单提交过程。当 Gravity Forms 表单提交时,您可以配置它来运行您在主题或插件文件中编写的代码。该代码通常由 PHP 构成,使用 CURL 语句连接到 Discourse API。您可以将 Gravity Forms 中收集的信息直接发送到 Discourse。