fix(localization): HTML language header and forced-language (#787)

* fix: HTML language header and forced-language

* style(changelog): added a couple headers

* add test
This commit is contained in:
Henri Vasserman 2025-07-09 14:04:42 +03:00 committed by GitHub
parent e79cd93b61
commit a900e98b8b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 275 additions and 253 deletions

View file

@ -38,17 +38,9 @@ const getAvailableLanguages = async () => {
return ['en'];
};
// Detect browser language
const getBrowserLanguage = async () => {
const lang = navigator.language || navigator.userLanguage;
const availableLanguages = await getAvailableLanguages();
// Extract the language code (first 2 characters)
const langCode = lang.substring(0, 2).toLowerCase();
// Return the language if supported, or use English
return availableLanguages.includes(langCode) ? langCode : 'en';
};
// Use the browser language from the HTML lang attribute which is set by the server settings or request headers
const getBrowserLanguage = async () =>
document.documentElement.lang;
// Load translations from JSON files
const loadTranslations = async (lang) => {