Oui, cela peut être fait depuis la console Rails. Pour accéder à la console Rails, exécutez ./launcher enter app, puis saisissez rails c à l’invite pour lancer la console Rails.
Je serais prudent en parcourant tous les utilisateurs jusqu’à ce que vous soyez certain de ce qui va se passer. Voici comment je l’ai testé pour un utilisateur individuel sur mon site :
Tout d’abord, obtenez une liste des locales utilisées par Discourse :
I18n.available_locales
Cela affichera une longue liste de symboles que Discourse utilise pour les locales. Par exemple :be, :bg, :bs_BA, :ca...
Vous pouvez utiliser ces symboles pour définir la locale. Par exemple, pour mettre à jour la locale d’un utilisateur en français :
u = User.find(1)
u.update(locale: :fr)
Si vous souhaitez parcourir les utilisateurs, vous devrez déterminer comment obtenir des tableaux d’utilisateurs pour chaque locale afin de pouvoir les parcourir. Si vous avez des listes de noms d’utilisateurs pour chaque locale, celles-ci peuvent être utilisées pour trouver les utilisateurs. La façon simple de le faire depuis la console est de convertir une liste de noms d’utilisateurs en un tableau. Par exemple :
fr_users = ['bob', 'sally', 'john']
fr_users.each do |username|
u = User.find_by(username: username)
u.update(locale: :fr)
end
Si vous essayez cela, procédez avec prudence. Assurez-vous de créer une sauvegarde de la base de données de votre site avant d’apporter des modifications.