From 7f5feb9451f697fa134cffa199f07e8a7205aa67 Mon Sep 17 00:00:00 2001 From: Jens Langhammer Date: Tue, 5 Oct 2021 16:23:40 +0200 Subject: [PATCH] web: fix strings not being translated at all when matching browser locale not found Signed-off-by: Jens Langhammer --- web/src/interfaces/locale.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/web/src/interfaces/locale.ts b/web/src/interfaces/locale.ts index be9ca9921..9a34d19f2 100644 --- a/web/src/interfaces/locale.ts +++ b/web/src/interfaces/locale.ts @@ -16,5 +16,13 @@ i18n.load("debug", localeDEBUG); const DEFAULT_FALLBACK = () => "en"; -const result = detect(fromUrl("lang"), fromStorage("lang"), fromNavigator(), DEFAULT_FALLBACK); -i18n.activate(result || DEFAULT_FALLBACK()); +const detected = + detect(fromUrl("lang"), fromStorage("lang"), fromNavigator(), DEFAULT_FALLBACK) || + DEFAULT_FALLBACK(); +if (detected in i18n._messages) { + console.debug(`authentik/locale: Activating detected locale '${detected}'`); + i18n.activate(detected); +} else { + console.debug(`authentik/locale: No locale for '${detected}', falling back to en`); + i18n.activate(DEFAULT_FALLBACK()); +}