File tree Expand file tree Collapse file tree 1 file changed +9
-3
lines changed
Expand file tree Collapse file tree 1 file changed +9
-3
lines changed Original file line number Diff line number Diff line change 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 }
You can’t perform that action at this time.
0 commit comments