The LuCI uci configuration requires language tags with underscores due
limitations of uci option names but the language catalogs themselves
are designated with dash separated language tags.
Make sure to substitute underscores with dashes when determining the
desired request language in order to fix loading of languages such as
`pt-br` or `zh-cn`.
Ref: https://github.com/openwrt/luci/pull/5976#issuecomment-
1290352951
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
if (lang == 'auto')
lang = 'en';
+ else
+ lang = replace(lang, '_', '-');
if (load_catalog(lang, '/usr/lib/lua/luci/i18n'))
change_catalog(lang);