From 56d86d9ed225e534d455808e0aa9c5cbc1cf87cf Mon Sep 17 00:00:00 2001 From: Leander Furumo Date: Sat, 31 Oct 2026 01:44:20 +0100 Subject: [PATCH] Keep the html lang attribute in sync with the selected language Co-Authored-By: Claude Opus 5.5 --- src/app/LanguageContext.tsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/app/LanguageContext.tsx b/src/app/LanguageContext.tsx index a35dac3..8b5607a 100644 --- a/src/app/LanguageContext.tsx +++ b/src/app/LanguageContext.tsx @@ -1,5 +1,5 @@ "use client"; -import React, { createContext, useContext, useSyncExternalStore } from "react"; +import React, { createContext, useContext, useEffect, useSyncExternalStore } from "react"; export type Language = "en" | "no"; @@ -29,6 +29,10 @@ const getServerSnapshot = (): Language => "en"; export const LanguageProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => { const language = useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot); + useEffect(() => { + document.documentElement.lang = language; + }, [language]); + const setLanguage = (lang: Language) => { localStorage.setItem("language", lang); listeners.forEach((listener) => listener());