44 canUseDOM ,
55 setCookie ,
66 getCookieFromRequest ,
7+ isEqualCaseInsensitive ,
78} from './utilities'
89
910class Internationalization < T extends string > {
@@ -46,8 +47,9 @@ class Internationalization<T extends string> {
4647 ( navigator . languages && navigator . languages [ 0 ] ) || navigator . language
4748
4849 return (
49- this . supportedLanguages . find ( ( lang ) => lang === browserLanguage ) ||
50- this . fallbackLanguage
50+ this . supportedLanguages . find ( ( lang ) =>
51+ isEqualCaseInsensitive ( lang , browserLanguage )
52+ ) || this . fallbackLanguage
5153 )
5254 }
5355
@@ -65,8 +67,9 @@ class Internationalization<T extends string> {
6567 setLanguage ( language : string ) : void {
6668 if ( canUseDOM ( ) ) {
6769 const cookieLanguage =
68- this . supportedLanguages . find ( ( lang ) => lang === language ) ||
69- this . fallbackLanguage
70+ this . supportedLanguages . find ( ( lang ) =>
71+ isEqualCaseInsensitive ( lang , language )
72+ ) || this . fallbackLanguage
7073
7174 setCookie ( this . cookieName , cookieLanguage )
7275 }
@@ -109,7 +112,9 @@ class Internationalization<T extends string> {
109112 . find (
110113 ( { locale } ) =>
111114 locale !== '*' &&
112- this . supportedLanguages . some ( ( lang ) => locale === lang )
115+ this . supportedLanguages . some ( ( lang ) =>
116+ isEqualCaseInsensitive ( locale , lang )
117+ )
113118 )
114119
115120 // Check if the potential locale is not undefined else return the fallback language
@@ -131,8 +136,9 @@ class Internationalization<T extends string> {
131136
132137 // Return found language or fallback language
133138 return (
134- this . supportedLanguages . find ( ( lang ) => lang === language ) ||
135- this . fallbackLanguage
139+ this . supportedLanguages . find ( ( lang ) =>
140+ isEqualCaseInsensitive ( lang , language )
141+ ) || this . fallbackLanguage
136142 )
137143 }
138144
0 commit comments