From 1c5b1e38820f411563efb265b18c4cba6c518074 Mon Sep 17 00:00:00 2001 From: stuebinm Date: Thu, 8 Apr 2021 18:06:58 +0200 Subject: site: attempt to guess default language (from the browser's preferences set via navigator.language and navigator.languages) --- site/i18n.js | 19 ++++++++++++++++++- site/index.html | 6 ++++-- todo.org | 4 ++-- 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/site/i18n.js b/site/i18n.js index 38ffe7b..5f882c5 100644 --- a/site/i18n.js +++ b/site/i18n.js @@ -54,7 +54,6 @@ let locale = "en"; // is found, it returns the key as a fallback value // (therefore, keys should themselves be understandable texts) export function _(key) { - console.log("getting translation for ", locale, key); return !(locale in langs) ? key : !(key in langs[locale]) ? key : langs[locale][key] @@ -64,4 +63,22 @@ export function setLang (loc) { locale = loc; } +/// attempt to set the site's language to the browser's preference. +/// in case it's not supported it tries any of the languages in +/// navigator.languages, and then falls back to english. +export function tryBrowserDefaultLang () { + let guess = navigator.language; + if (guess in langs) { + setLang(lang); + } else { + for (var lang of navigator.languages) { + if (lang in langs) { + setLang (lang); + return; + } + } + setLang("en"); + } +} + export default _; diff --git a/site/index.html b/site/index.html index bceb936..c2ac9c9 100644 --- a/site/index.html +++ b/site/index.html @@ -1,7 +1,7 @@
-