如何将已有的 Discourse 论坛用户的界面语言 (Interface language) 全部改成中文

要将已存在的 Discourse 论坛用户的界面语言全部改为中文,可以通过以下步骤操作:

方法一:通过 Discourse 后台管理界面

  1. 登录到 Discourse 后台管理界面

    • 使用管理员账号登录到你的 Discourse 论坛。
    • 进入后台管理界面。
  2. 访问设置界面

    • 在后台管理界面中,点击“设置”选项。
  3. 更改默认语言

    • 在设置中找到“基本设置”或者“本地化”选项。
    • 在“默认语言”选项中选择“简体中文”或“繁体中文”。
    • 保存设置。
  4. 批量更新用户语言设置

    • 虽然更改默认语言会影响新用户,但现有用户的语言设置需要单独更新。为此,可以使用 Discourse 的控制台工具进行批量更改。

方法二:通过 Rails 控制台进行批量更改

  1. 访问服务器终端

    • 通过 SSH 访问你的 Discourse 服务器。
  2. 进入 Discourse 容器

    • 如果你使用的是 Docker 部署,进入 Discourse 容器:
      ./launcher enter app
      
  3. 启动 Rails 控制台

    • 在容器内,启动 Rails 控制台:
      rails c
      
  4. 批量更改用户语言设置

    • 在 Rails 控制台中,运行以下命令来将所有用户的界面语言更改为中文(假设中文的语言代码是 zh_CN):
      User.all.each do |user|
        user.update!(locale: 'zh_CN')
      end
      
    • 如果你想确认某些用户的更改,可以使用以下命令:
      User.where.not(locale: 'zh_CN').each do |user|
        user.update!(locale: 'zh_CN')
      end
      
  5. 退出 Rails 控制台和容器

    • 完成后,退出 Rails 控制台:
      exit
      
    • 退出容器:
      exit
      

检查和验证

  1. 登录前台

    • 使用普通用户账号登录论坛,检查界面语言是否变为中文。
  2. 通知用户

    • 可以通过论坛发布公告,通知用户界面语言已经更改为中文。

通过上述步骤,你可以将 Discourse 论坛中所有用户的界面语言设置为中文。