|
@@ -20,8 +20,17 @@ export default {
|
20
|
20
|
|
21
|
21
|
detect() {
|
22
|
22
|
const { LocaleDetector } = NativeModules;
|
23
|
|
- const [ lang, region ] = LocaleDetector.locale.replace(/_/, '-').split('-');
|
24
|
|
- const locale = `${lang}${region}`;
|
|
23
|
+ const parts = LocaleDetector.locale.replace(/_/, '-').split('-');
|
|
24
|
+ const [ lang, regionOrScript, region ] = parts;
|
|
25
|
+ let locale;
|
|
26
|
+
|
|
27
|
+ if (parts.length >= 3) {
|
|
28
|
+ locale = `${lang}${region}`;
|
|
29
|
+ } else if (parts.length === 2) {
|
|
30
|
+ locale = `${lang}${regionOrScript}`;
|
|
31
|
+ } else {
|
|
32
|
+ locale = lang;
|
|
33
|
+ }
|
25
|
34
|
|
26
|
35
|
if (LANGUAGES.includes(locale)) {
|
27
|
36
|
return locale;
|