Add automatic browser locale detection using --glang

This commit is contained in:
stackxp 2026-03-31 19:58:49 +02:00
parent 5aaa4ff15b
commit 2cc8133666
3 changed files with 39 additions and 0 deletions

View file

@ -1870,6 +1870,7 @@ def add_ui(ap, retry: int):
ap2.add_argument("--ui-filesz", metavar="FMT", type=u, default="1", help="default filesize format; one of these: 0, 1, 2, 2c, 3, 3c, 4, 4c, 5, 5c, fuzzy (see UI)") ap2.add_argument("--ui-filesz", metavar="FMT", type=u, default="1", help="default filesize format; one of these: 0, 1, 2, 2c, 3, 3c, 4, 4c, 5, 5c, fuzzy (see UI)")
ap2.add_argument("--rcm", metavar="TXT", default="yy", help="rightclick-menu; two yes/no options: 1st y/n is enable-custom-menu, 2nd y/n is enable-double") ap2.add_argument("--rcm", metavar="TXT", default="yy", help="rightclick-menu; two yes/no options: 1st y/n is enable-custom-menu, 2nd y/n is enable-double")
ap2.add_argument("--lang", metavar="LANG", type=u, default="eng", help="language, for example \033[32meng\033[0m / \033[32mnor\033[0m / ...") ap2.add_argument("--lang", metavar="LANG", type=u, default="eng", help="language, for example \033[32meng\033[0m / \033[32mnor\033[0m / ...")
ap2.add_argument("--glang", action="store_true", help="guess the browser's default language, otherwise fall back to \033[33m--lang\033[0m")
ap2.add_argument("--theme", metavar="NUM", type=int, default=0, help="default theme to use (0..%d)" % (THEMES - 1,)) ap2.add_argument("--theme", metavar="NUM", type=int, default=0, help="default theme to use (0..%d)" % (THEMES - 1,))
ap2.add_argument("--themes", metavar="NUM", type=int, default=THEMES, help="number of themes installed") ap2.add_argument("--themes", metavar="NUM", type=int, default=THEMES, help="number of themes installed")
ap2.add_argument("--au-vol", metavar="0-100", type=int, default=50, choices=range(0, 101), help="default audio/video volume percent") ap2.add_argument("--au-vol", metavar="0-100", type=int, default=50, choices=range(0, 101), help="default audio/video volume percent")

View file

@ -3268,6 +3268,7 @@ class AuthSrv(object):
"frand": bool(vf.get("rand")), "frand": bool(vf.get("rand")),
"lifetime": vn.js_ls["lifetime"], "lifetime": vn.js_ls["lifetime"],
"u2sort": self.args.u2sort, "u2sort": self.args.u2sort,
"glang": self.args.glang
} }
zs = "ui_noacci ui_nocpla ui_noctxb ui_nolbar ui_nombar ui_nonav ui_notree ui_norepl ui_nosrvi" zs = "ui_noacci ui_nocpla ui_noctxb ui_nolbar ui_nombar ui_nonav ui_notree ui_norepl ui_nosrvi"
for zs in zs.split(): for zs in zs.split():

View file

@ -8496,6 +8496,43 @@ var setfszf = (function () {
} }
freshen(); freshen();
let lmap = [
["eng", /^en(-.+)?$/],
["nor", /^(no|nb)$/],
["chi", /^zh(-.+)?$/],
["cze", /^cs$/],
["deu", /^de(-.+)?$/],
["epo", /^eo$/],
["fin", /^fi$/],
["fra", /^fr(-.+)?$/],
["grc", /^el$/],
["hu", /^hu$/],
["ita", /^it(-ch)?$/],
["jpn", /^ja$/],
["kor", /^ko(-.+)?$/],
["nl", /^nl(-be)?$/],
["nyn", /^nn$/],
["pol", /^pl$/],
["por", /^pt(-.+)?$/],
["rus", /^ru(-md)?$/],
["spa", /^es(-.+)?$/],
["swe", /^sv(-.+)?$/],
["tur", /^tr$/],
["ukr", /^uk$/],
["vie", /^vi$/]
];
if (glang && navigator.languages && !/(^|; )cplng=/.test(document.cookie)) {
for (let i = 0; i < navigator.languages.length; i++) {
for (let j = 0; j < lmap.length; j++) {
console.log(lmap[j]);
if (lmap[j][1].test(navigator.languages[i])) {
return setck('cplng=' + lmap[j][0], location.reload.bind(location));
}
}
}
}
})(); })();