Merge pull request #569 from dermotduffy/googlehub-no-work

Fix card breakage on Nest hub devices
This commit is contained in:
Dermot Duffy
2022-05-10 08:22:01 -07:00
committed by GitHub
+23 -9
View File
@@ -8,17 +8,31 @@ const languages: any = {
}; };
export function localize(string: string, search = '', replace = ''): string { export function localize(string: string, search = '', replace = ''): string {
// Get the browser language. const canonicalizeLanguage = (language?: string | null): string | null => {
let lang = localStorage if (!language) {
.getItem('selectedLanguage') return null;
?.replace(/['"]+/g, '') }
.replace('-', '_'); return language.replace('-', '_');
};
// If that's not specified, try to find the Home Assistant language. // Try the HA language first...
let lang;
const HALanguage = localStorage.getItem('selectedLanguage');
if (HALanguage) {
const selectedLanguage = canonicalizeLanguage(JSON.parse(HALanguage));
if (selectedLanguage) {
lang = selectedLanguage;
}
}
// Then fall back to the browser language.
if (!lang) { if (!lang) {
// eslint-disable-next-line @typescript-eslint/no-explicit-any for (const language of navigator.languages) {
const hass = (document.querySelector('home-assistant') as any)?.hass; const canonicalLanguage = canonicalizeLanguage(language);
lang = hass.selectedLanguage || hass.language; if (canonicalLanguage && canonicalLanguage in languages) {
lang = language;
}
}
} }
// Default to English is there's still no language setting. // Default to English is there's still no language setting.