2025-02-28 16:49:09 +01:00
|
|
|
import { defaultLang, languages } from "@excalidraw/excalidraw";
|
2025-03-12 15:23:31 +01:00
|
|
|
import LanguageDetector from "i18next-browser-languagedetector";
|
2024-07-04 17:55:35 +02:00
|
|
|
|
|
|
|
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
|
2024-07-23 16:56:55 +08:00
|
|
|
// (e.g. chinese vs instead of chinese-simplified)
|
2024-07-04 17:55:35 +02:00
|
|
|
languages.find((lang) => lang.code.startsWith(detectedLanguage))?.code
|
|
|
|
: null) || defaultLang.code;
|
|
|
|
|
|
|
|
return initialLanguage;
|
|
|
|
};
|