From 9be78c60ebed6ce5a8f62dd3baf8132b31ebd870 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sa=C3=BAl=20Ibarra=20Corretg=C3=A9?= Date: Mon, 4 May 2020 16:12:28 +0200 Subject: [PATCH] rn,lang: fix language detection to take region into account If we have a regional variant, prefer that. --- react/features/base/i18n/languageDetector.native.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/react/features/base/i18n/languageDetector.native.js b/react/features/base/i18n/languageDetector.native.js index 968f4c3e4..b28e8037e 100644 --- a/react/features/base/i18n/languageDetector.native.js +++ b/react/features/base/i18n/languageDetector.native.js @@ -2,6 +2,10 @@ import { NativeModules } from 'react-native'; +import LANGUAGES_RESOURCES from '../../../../lang/languages.json'; + +const LANGUAGES = Object.keys(LANGUAGES_RESOURCES); + /** * The singleton language detector for React Native which uses the system-wide * locale. @@ -16,8 +20,14 @@ export default { detect() { const { LocaleDetector } = NativeModules; + const [ lang, region ] = LocaleDetector.locale.replace(/_/, '-').split('-'); + const locale = `${lang}${region}`; - return LocaleDetector.locale.replace(/[_-]/, ''); + if (LANGUAGES.includes(locale)) { + return locale; + } + + return lang; }, init: Function.prototype,