Skip to content

Commit 4293d00

Browse files
committed
Improve locale detection in banner.js (closes #191)
1 parent be3cc14 commit 4293d00

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

public/banner.js

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,15 +74,21 @@
7474
// ── Determine locale ──────────────────────────────────────────────────
7575
function resolveLocale(tag) {
7676
if (!tag) return "en";
77+
// Exact match
7778
if (messages[tag]) return tag;
79+
// Case-insensitive exact match (e.g. "pt-br" → "pt-BR")
7880
var lower = tag.toLowerCase();
7981
for (var key in messages) {
8082
if (key.toLowerCase() === lower) return key;
8183
}
82-
var base = tag.split("-")[0].toLowerCase();
83-
if (messages[base]) return base;
84+
// Fallback to base language (e.g. "de-CH" → "de", "zh-Hans" → "zh")
85+
var base = lower.split("-")[0];
8486
for (var key2 in messages) {
85-
if (key2.toLowerCase().split("-")[0] === base) return key2;
87+
if (key2.toLowerCase() === base) return key2;
88+
}
89+
// Fallback to any regional variant of the base language (e.g. "pt" → "pt-BR")
90+
for (var key3 in messages) {
91+
if (key3.toLowerCase().split("-")[0] === base) return key3;
8692
}
8793
return "en";
8894
}

0 commit comments

Comments
 (0)