Fix localize key errors in options flow, repairs flow, and integrations (#14060)

This commit is contained in:
Steve Repsher 2022-10-11 09:47:41 -04:00 committed by GitHub
parent c3b9438b3b
commit 969772663b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 45 additions and 40 deletions

View File

@ -22,9 +22,7 @@ export type LocalizeKeys =
| `ui.components.selectors.file.${string}` | `ui.components.selectors.file.${string}`
| `ui.dialogs.entity_registry.editor.${string}` | `ui.dialogs.entity_registry.editor.${string}`
| `ui.dialogs.more_info_control.vacuum.${string}` | `ui.dialogs.more_info_control.vacuum.${string}`
| `ui.dialogs.options_flow.loading.${string}`
| `ui.dialogs.quick-bar.commands.${string}` | `ui.dialogs.quick-bar.commands.${string}`
| `ui.dialogs.repair_flow.loading.${string}`
| `ui.dialogs.unhealthy.reason.${string}` | `ui.dialogs.unhealthy.reason.${string}`
| `ui.dialogs.unsupported.reason.${string}` | `ui.dialogs.unsupported.reason.${string}`
| `ui.panel.config.${string}.${"caption" | "description"}` | `ui.panel.config.${string}.${"caption" | "description"}`
@ -34,7 +32,6 @@ export type LocalizeKeys =
| `ui.panel.config.energy.${string}` | `ui.panel.config.energy.${string}`
| `ui.panel.config.helpers.${string}` | `ui.panel.config.helpers.${string}`
| `ui.panel.config.info.${string}` | `ui.panel.config.info.${string}`
| `ui.panel.config.integrations.${string}`
| `ui.panel.config.logs.${string}` | `ui.panel.config.logs.${string}`
| `ui.panel.config.lovelace.${string}` | `ui.panel.config.lovelace.${string}`
| `ui.panel.config.network.${string}` | `ui.panel.config.network.${string}`

View File

@ -204,7 +204,7 @@ export const showConfigFlowDialog = (
}, },
renderLoadingDescription(hass, reason, handler, step) { renderLoadingDescription(hass, reason, handler, step) {
if (!["loading_flow", "loading_step"].includes(reason)) { if (reason !== "loading_flow" && reason !== "loading_step") {
return ""; return "";
} }
const domain = step?.handler || handler; const domain = step?.handler || handler;

View File

@ -181,9 +181,11 @@ export const showOptionsFlowDialog = (
renderLoadingDescription(hass, reason) { renderLoadingDescription(hass, reason) {
return ( return (
hass.localize(`component.${configEntry.domain}.options.loading`) || hass.localize(`component.${configEntry.domain}.options.loading`) ||
hass.localize(`ui.dialogs.options_flow.loading.${reason}`, { (reason === "loading_flow" || reason === "loading_step"
integration: domainToName(hass.localize, configEntry.domain), ? hass.localize(`ui.dialogs.options_flow.loading.${reason}`, {
}) integration: domainToName(hass.localize, configEntry.domain),
})
: "")
); );
}, },
} }

View File

@ -143,7 +143,9 @@ class AddIntegrationDialog extends LitElement {
localize: LocalizeFunc, localize: LocalizeFunc,
filter?: string filter?: string
): IntegrationListItem[] => { ): IntegrationListItem[] => {
const addDeviceRows: IntegrationListItem[] = ["zha", "zwave_js"] const addDeviceRows: IntegrationListItem[] = (
["zha", "zwave_js"] as const
)
.filter((domain) => components.includes(domain)) .filter((domain) => components.includes(domain))
.map((domain) => ({ .map((domain) => ({
name: localize(`ui.panel.config.integrations.add_${domain}_device`), name: localize(`ui.panel.config.integrations.add_${domain}_device`),

View File

@ -74,35 +74,37 @@ class HaDomainIntegrations extends LitElement {
: ""}` : ""}`
: ""} : ""}
${this.integration?.iot_standards ${this.integration?.iot_standards
? this.integration.iot_standards ? (
.filter((standard) => standard in standardToDomain) this.integration.iot_standards.filter(
.map((standard) => { (standard) => standard in standardToDomain
const domain: string = standardToDomain[standard]; ) as (keyof typeof standardToDomain)[]
return html`<mwc-list-item ).map((standard) => {
graphic="medium" const domain = standardToDomain[standard];
.domain=${domain} return html`<mwc-list-item
@request-selected=${this._standardPicked} graphic="medium"
hasMeta .domain=${domain}
@request-selected=${this._standardPicked}
hasMeta
>
<img
slot="graphic"
loading="lazy"
src=${brandsUrl({
domain,
type: "icon",
useFallback: true,
darkOptimized: this.hass.themes?.darkMode,
})}
referrerpolicy="no-referrer"
/>
<span
>${this.hass.localize(
`ui.panel.config.integrations.add_${domain}_device`
)}</span
> >
<img <ha-icon-next slot="meta"></ha-icon-next>
slot="graphic" </mwc-list-item>`;
loading="lazy" })
src=${brandsUrl({
domain,
type: "icon",
useFallback: true,
darkOptimized: this.hass.themes?.darkMode,
})}
referrerpolicy="no-referrer"
/>
<span
>${this.hass.localize(
`ui.panel.config.integrations.add_${domain}_device`
)}</span
>
<ha-icon-next slot="meta"></ha-icon-next>
</mwc-list-item>`;
})
: ""} : ""}
${this.integration?.integrations ${this.integration?.integrations
? Object.entries(this.integration.integrations) ? Object.entries(this.integration.integrations)
@ -135,7 +137,7 @@ class HaDomainIntegrations extends LitElement {
</ha-integration-list-item>` </ha-integration-list-item>`
) )
: ""} : ""}
${["zha", "zwave_js"].includes(this.domain) ${this.domain === "zha" || this.domain === "zwave_js"
? html`<mwc-list-item ? html`<mwc-list-item
graphic="medium" graphic="medium"
.domain=${this.domain} .domain=${this.domain}

View File

@ -206,9 +206,11 @@ export const showRepairsFlowDialog = (
issue.translation_key || issue.issue_id issue.translation_key || issue.issue_id
}.fix_flow.loading` }.fix_flow.loading`
) || ) ||
hass.localize(`ui.dialogs.repair_flow.loading.${reason}`, { (reason === "loading_flow" || reason === "loading_step"
integration: domainToName(hass.localize, issue.domain), ? hass.localize(`ui.dialogs.repair_flow.loading.${reason}`, {
}) integration: domainToName(hass.localize, issue.domain),
})
: "")
); );
}, },
} }