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 {
// Get the browser language.
let lang = localStorage
.getItem('selectedLanguage')
?.replace(/['"]+/g, '')
.replace('-', '_');
const canonicalizeLanguage = (language?: string | null): string | null => {
if (!language) {
return null;
}
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) {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const hass = (document.querySelector('home-assistant') as any)?.hass;
lang = hass.selectedLanguage || hass.language;
for (const language of navigator.languages) {
const canonicalLanguage = canonicalizeLanguage(language);
if (canonicalLanguage && canonicalLanguage in languages) {
lang = language;
}
}
}
// Default to English is there's still no language setting.