mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-14 21:06:34 +00:00
More flexible translation keys for logbook binary sensors (#22257)
This commit is contained in:
parent
6bd7788815
commit
df3e4576db
@ -218,114 +218,32 @@ export const localizeStateMessage = (
|
|||||||
const isOff = state === BINARY_STATE_OFF;
|
const isOff = state === BINARY_STATE_OFF;
|
||||||
const device_class = stateObj.attributes.device_class;
|
const device_class = stateObj.attributes.device_class;
|
||||||
|
|
||||||
switch (device_class) {
|
if (device_class && (isOn || isOff)) {
|
||||||
case "battery":
|
return (
|
||||||
if (isOn) {
|
localize(
|
||||||
return localize(`${LOGBOOK_LOCALIZE_PATH}.was_low`);
|
`${LOGBOOK_LOCALIZE_PATH}.${isOn ? "detected_device_classes" : "cleared_device_classes"}.${device_class}`,
|
||||||
}
|
{
|
||||||
if (isOff) {
|
|
||||||
return localize(`${LOGBOOK_LOCALIZE_PATH}.was_normal`);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "connectivity":
|
|
||||||
if (isOn) {
|
|
||||||
return localize(`${LOGBOOK_LOCALIZE_PATH}.was_connected`);
|
|
||||||
}
|
|
||||||
if (isOff) {
|
|
||||||
return localize(`${LOGBOOK_LOCALIZE_PATH}.was_disconnected`);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "door":
|
|
||||||
case "garage_door":
|
|
||||||
case "opening":
|
|
||||||
case "window":
|
|
||||||
if (isOn) {
|
|
||||||
return localize(`${LOGBOOK_LOCALIZE_PATH}.was_opened`);
|
|
||||||
}
|
|
||||||
if (isOff) {
|
|
||||||
return localize(`${LOGBOOK_LOCALIZE_PATH}.was_closed`);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "lock":
|
|
||||||
if (isOn) {
|
|
||||||
return localize(`${LOGBOOK_LOCALIZE_PATH}.was_unlocked`);
|
|
||||||
}
|
|
||||||
if (isOff) {
|
|
||||||
return localize(`${LOGBOOK_LOCALIZE_PATH}.was_locked`);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "plug":
|
|
||||||
if (isOn) {
|
|
||||||
return localize(`${LOGBOOK_LOCALIZE_PATH}.was_plugged_in`);
|
|
||||||
}
|
|
||||||
if (isOff) {
|
|
||||||
return localize(`${LOGBOOK_LOCALIZE_PATH}.was_unplugged`);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "presence":
|
|
||||||
if (isOn) {
|
|
||||||
return localize(`${LOGBOOK_LOCALIZE_PATH}.was_at_home`);
|
|
||||||
}
|
|
||||||
if (isOff) {
|
|
||||||
return localize(`${LOGBOOK_LOCALIZE_PATH}.was_away`);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "safety":
|
|
||||||
if (isOn) {
|
|
||||||
return localize(`${LOGBOOK_LOCALIZE_PATH}.was_unsafe`);
|
|
||||||
}
|
|
||||||
if (isOff) {
|
|
||||||
return localize(`${LOGBOOK_LOCALIZE_PATH}.was_safe`);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case "cold":
|
|
||||||
case "gas":
|
|
||||||
case "heat":
|
|
||||||
case "moisture":
|
|
||||||
case "motion":
|
|
||||||
case "occupancy":
|
|
||||||
case "power":
|
|
||||||
case "problem":
|
|
||||||
case "smoke":
|
|
||||||
case "sound":
|
|
||||||
case "vibration":
|
|
||||||
if (isOn) {
|
|
||||||
return localize(`${LOGBOOK_LOCALIZE_PATH}.detected_device_class`, {
|
|
||||||
device_class: autoCaseNoun(
|
device_class: autoCaseNoun(
|
||||||
localize(
|
localize(
|
||||||
`component.binary_sensor.entity_component.${device_class}.name`
|
`component.binary_sensor.entity_component.${device_class}.name`
|
||||||
),
|
) || device_class,
|
||||||
hass.language
|
hass.language
|
||||||
),
|
),
|
||||||
});
|
}
|
||||||
}
|
) ||
|
||||||
if (isOff) {
|
// If there's no key for a specific device class, fallback to generic string
|
||||||
return localize(`${LOGBOOK_LOCALIZE_PATH}.cleared_device_class`, {
|
localize(
|
||||||
|
`${LOGBOOK_LOCALIZE_PATH}.${isOn ? "detected_device_class" : "cleared_device_class"}`,
|
||||||
|
{
|
||||||
device_class: autoCaseNoun(
|
device_class: autoCaseNoun(
|
||||||
localize(
|
localize(
|
||||||
`component.binary_sensor.entity_component.${device_class}.name`
|
`component.binary_sensor.entity_component.${device_class}.name`
|
||||||
),
|
) || device_class,
|
||||||
hass.language
|
hass.language
|
||||||
),
|
),
|
||||||
});
|
}
|
||||||
}
|
)
|
||||||
break;
|
);
|
||||||
|
|
||||||
case "tamper":
|
|
||||||
if (isOn) {
|
|
||||||
return localize(`${LOGBOOK_LOCALIZE_PATH}.detected_tampering`);
|
|
||||||
}
|
|
||||||
if (isOff) {
|
|
||||||
return localize(`${LOGBOOK_LOCALIZE_PATH}.cleared_tampering`);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@ -486,7 +486,67 @@
|
|||||||
"cleared_tampering": "cleared tampering",
|
"cleared_tampering": "cleared tampering",
|
||||||
"detected_event": "{event_type} event detected",
|
"detected_event": "{event_type} event detected",
|
||||||
"detected_event_no_type": "detected an event",
|
"detected_event_no_type": "detected an event",
|
||||||
"detected_unknown_event": "detected an unknown event"
|
"detected_unknown_event": "detected an unknown event",
|
||||||
|
"detected_device_classes": {
|
||||||
|
"battery": "[%key:ui::components::logbook::messages::was_low%]",
|
||||||
|
"battery_charging": "started charging",
|
||||||
|
"carbon_monoxide": "[%key:ui::components::logbook::messages::detected_device_class%]",
|
||||||
|
"cold": "[%key:ui::components::logbook::messages::detected_device_class%]",
|
||||||
|
"connectivity": "[%key:ui::components::logbook::messages::was_connected%]",
|
||||||
|
"door": "[%key:ui::components::logbook::messages::was_opened%]",
|
||||||
|
"garage_door": "[%key:ui::components::logbook::messages::was_opened%]",
|
||||||
|
"gas": "[%key:ui::components::logbook::messages::detected_device_class%]",
|
||||||
|
"heat": "[%key:ui::components::logbook::messages::detected_device_class%]",
|
||||||
|
"light": "[%key:ui::components::logbook::messages::detected_device_class%]",
|
||||||
|
"lock": "[%key:ui::components::logbook::messages::was_unlocked%]",
|
||||||
|
"moisture": "[%key:ui::components::logbook::messages::detected_device_class%]",
|
||||||
|
"motion": "[%key:ui::components::logbook::messages::detected_device_class%]",
|
||||||
|
"moving": "[%key:ui::components::logbook::messages::detected_device_class%]",
|
||||||
|
"occupancy": "[%key:ui::components::logbook::messages::detected_device_class%]",
|
||||||
|
"opening": "[%key:ui::components::logbook::messages::was_opened%]",
|
||||||
|
"plug": "[%key:ui::components::logbook::messages::was_plugged_in%]",
|
||||||
|
"power": "[%key:ui::components::logbook::messages::detected_device_class%]",
|
||||||
|
"presence": "[%key:ui::components::logbook::messages::was_at_home%]",
|
||||||
|
"problem": "[%key:ui::components::logbook::messages::detected_device_class%]",
|
||||||
|
"running": "[%key:ui::components::logbook::messages::detected_device_class%]",
|
||||||
|
"safety": "[%key:ui::components::logbook::messages::was_unsafe%]",
|
||||||
|
"smoke": "[%key:ui::components::logbook::messages::detected_device_class%]",
|
||||||
|
"sound": "[%key:ui::components::logbook::messages::detected_device_class%]",
|
||||||
|
"tamper": "[%key:ui::components::logbook::messages::detected_tampering%]",
|
||||||
|
"update": "[%key:ui::components::logbook::messages::detected_device_class%]",
|
||||||
|
"vibration": "[%key:ui::components::logbook::messages::detected_device_class%]",
|
||||||
|
"window": "[%key:ui::components::logbook::messages::was_opened%]"
|
||||||
|
},
|
||||||
|
"cleared_device_classes": {
|
||||||
|
"battery": "[%key:ui::components::logbook::messages::was_normal%]",
|
||||||
|
"battery_charging": "stopped charging",
|
||||||
|
"carbon_monoxide": "[%key:ui::components::logbook::messages::cleared_device_class%]",
|
||||||
|
"cold": "[%key:ui::components::logbook::messages::cleared_device_class%]",
|
||||||
|
"connectivity": "[%key:ui::components::logbook::messages::was_disconnected%]",
|
||||||
|
"door": "[%key:ui::components::logbook::messages::was_closed%]",
|
||||||
|
"garage_door": "[%key:ui::components::logbook::messages::was_closed%]",
|
||||||
|
"gas": "[%key:ui::components::logbook::messages::cleared_device_class%]",
|
||||||
|
"heat": "[%key:ui::components::logbook::messages::cleared_device_class%]",
|
||||||
|
"light": "[%key:ui::components::logbook::messages::cleared_device_class%]",
|
||||||
|
"lock": "[%key:ui::components::logbook::messages::was_locked%]",
|
||||||
|
"moisture": "[%key:ui::components::logbook::messages::cleared_device_class%]",
|
||||||
|
"motion": "[%key:ui::components::logbook::messages::cleared_device_class%]",
|
||||||
|
"moving": "[%key:ui::components::logbook::messages::cleared_device_class%]",
|
||||||
|
"occupancy": "[%key:ui::components::logbook::messages::cleared_device_class%]",
|
||||||
|
"opening": "[%key:ui::components::logbook::messages::was_closed%]",
|
||||||
|
"plug": "[%key:ui::components::logbook::messages::was_unplugged%]",
|
||||||
|
"power": "[%key:ui::components::logbook::messages::cleared_device_class%]",
|
||||||
|
"presence": "[%key:ui::components::logbook::messages::was_away%]",
|
||||||
|
"problem": "[%key:ui::components::logbook::messages::cleared_device_class%]",
|
||||||
|
"running": "[%key:ui::components::logbook::messages::cleared_device_class%]",
|
||||||
|
"safety": "[%key:ui::components::logbook::messages::was_safe%]",
|
||||||
|
"smoke": "[%key:ui::components::logbook::messages::cleared_device_class%]",
|
||||||
|
"sound": "[%key:ui::components::logbook::messages::cleared_device_class%]",
|
||||||
|
"tamper": "[%key:ui::components::logbook::messages::cleared_tampering%]",
|
||||||
|
"update": "[%key:ui::components::logbook::messages::cleared_device_class%]",
|
||||||
|
"vibration": "[%key:ui::components::logbook::messages::cleared_device_class%]",
|
||||||
|
"window": "[%key:ui::components::logbook::messages::was_closed%]"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"entity": {
|
"entity": {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user