feat: smarter preferred lang detection (#8205)

This commit is contained in:
David Luzar 2024-07-04 17:55:35 +02:00 committed by GitHub
parent d9258a736b
commit 148b895f46
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 48 additions and 25 deletions

View file

@ -0,0 +1,25 @@
import LanguageDetector from "i18next-browser-languagedetector";
import { defaultLang, languages } from "../../packages/excalidraw";
export const languageDetector = new LanguageDetector();
languageDetector.init({
languageUtils: {},
});
export const getPreferredLanguage = () => {
const detectedLanguages = languageDetector.detect();
const detectedLanguage = Array.isArray(detectedLanguages)
? detectedLanguages[0]
: detectedLanguages;
const initialLanguage =
(detectedLanguage
? // region code may not be defined if user uses generic preferred language
// (e.g. chinese vs instead of chienese-simplified)
languages.find((lang) => lang.code.startsWith(detectedLanguage))?.code
: null) || defaultLang.code;
return initialLanguage;
};