네, rails 콘솔에서 이 작업을 수행할 수 있습니다. rails 콘솔에 접근하려면 ./launcher enter app을 실행한 후 프롬프트에서 rails c를 입력하여 rails 콘솔을 시작하세요.
무엇이 발생할지 확실하지 않을 때까지 모든 사용자를 반복하는 것은 주의해야 합니다. 제 사이트에서 개별 사용자를 테스트한 방법은 다음과 같습니다:
먼저, Discourse에서 사용되는 로케일 목록을 가져옵니다:
I18n.available_locales
이것은 Discourse가 로케일에 사용하는 심볼의 긴 목록을 출력합니다. 예를 들어 :be, :bg, :bs_BA, :ca...
이러한 심볼을 사용하여 로케일을 설정할 수 있습니다. 예를 들어, 사용자의 로케일을法语로 업데이트하려면:
u = User.find(1)
u.update(locale: :fr)
사용자를 반복하려면 각 로케일에 대한 사용자 배열을 가져오는 방법을 알아내야 합니다. 각 로케일에 대한 사용자 이름 목록이 있다면 이를 사용하여 사용자를 찾을 수 있습니다. 콘솔에서 이를 수행하는 간단한 방법은 사용자 이름 목록을 배열로 변환하는 것입니다. 예를 들어:
fr_users = ['bob', 'sally', 'john']
fr_users.each do |username|
u = User.find_by(username: username)
u.update(locale: :fr)
end
이것을 시도해 보신다면 신중하게 진행하세요. 변경 사항을 적용하기 전에 사이트 데이터베이스의 백업을 꼭 만들어 두세요.