The set locale from accept language header has had its issues ironed out and is no longer “experimental”.
set locale from accept language header
https://github.com/discourse/discourse/pull/10289