Why is RTL class user dependent instead of locale?

For some reason I like the idea of having it in the yml file.

I have no basis for the feeling other than it just seems like the logical best place for it.

I tried hacking the rtl.rb file to

  def enabled?
#    site_locale_rtl? || current_user_rtl?
    user.effective_locale.in?(rtl_locales)
  end

#  def current_user_rtl?
#    SiteSetting.allow_user_locale && user.try(:locale).in?(rtl_locales)
#  end

#  def site_locale_rtl?
#    !SiteSetting.allow_user_locale && SiteSetting.default_locale.in?(rtl_locales)
#  end

I don’t know Farsi so I could very well not be seeing a glaring issue.
But the hack did not crash Discourse and I saw no error messages anywhere.
I did notice that the title was not translated for some pages, but that was true for both hacked and not-hacked.
And I did not try the set locale from accept language header setting nor test emails or many pages at all.

I did test as a site setting desktop and mobile view, and allow user preference desktop and mobile view.

site default setting desktop


site default setting mobile

user preference desktop

user preference mobile