Explorar el Código

feat: auto detect user language

Timothy J. Baek hace 11 meses
padre
commit
27f034b216
Se han modificado 1 ficheros con 9 adiciones y 2 borrados
  1. 9 2
      src/routes/+layout.svelte

+ 9 - 2
src/routes/+layout.svelte

@@ -13,7 +13,7 @@
 	import 'tippy.js/dist/tippy.css';
 
 	import { WEBUI_BASE_URL } from '$lib/constants';
-	import i18n, { initI18n } from '$lib/i18n';
+	import i18n, { initI18n, getLanguages } from '$lib/i18n';
 
 	setContext('i18n', i18n);
 
@@ -43,7 +43,14 @@
 		}
 		// Initialize i18n even if we didn't get a backend config,
 		// so `/error` can show something that's not `undefined`.
-		initI18n(backendConfig?.default_locale);
+
+		const languages = await getLanguages();
+
+		const browserLanguage = navigator.languages
+			? navigator.languages[0]
+			: navigator.language || navigator.userLanguage;
+
+		initI18n(languages.includes(browserLanguage) ? browserLanguage : backendConfig?.default_locale);
 
 		if (backendConfig) {
 			// Save Backend Status to Store