From aa7b40a45485865756b60f8e60060a6ea0dca505 Mon Sep 17 00:00:00 2001 From: Andre Basche Date: Sat, 22 Apr 2023 02:47:55 +0200 Subject: [PATCH] Auto translate pr phase and mach mode --- .gitignore | 3 +- custom_components/hon/sensor.py | 27 +- custom_components/hon/translations/cs.json | 71 ++ custom_components/hon/translations/de.json | 71 ++ custom_components/hon/translations/el.json | 71 ++ custom_components/hon/translations/en.json | 1221 +++++++++++--------- custom_components/hon/translations/es.json | 71 ++ custom_components/hon/translations/fr.json | 71 ++ custom_components/hon/translations/he.json | 71 ++ custom_components/hon/translations/hr.json | 71 ++ custom_components/hon/translations/it.json | 85 +- custom_components/hon/translations/nl.json | 71 ++ custom_components/hon/translations/pl.json | 71 ++ custom_components/hon/translations/pt.json | 71 ++ custom_components/hon/translations/ro.json | 71 ++ custom_components/hon/translations/ru.json | 71 ++ custom_components/hon/translations/sk.json | 71 ++ custom_components/hon/translations/sl.json | 71 ++ custom_components/hon/translations/sr.json | 71 ++ custom_components/hon/translations/tr.json | 71 ++ custom_components/hon/translations/zh.json | 71 ++ scripts/generate_translation.py | 157 +++ 22 files changed, 2104 insertions(+), 596 deletions(-) create mode 100644 custom_components/hon/translations/cs.json create mode 100644 custom_components/hon/translations/de.json create mode 100644 custom_components/hon/translations/el.json create mode 100644 custom_components/hon/translations/es.json create mode 100644 custom_components/hon/translations/fr.json create mode 100644 custom_components/hon/translations/he.json create mode 100644 custom_components/hon/translations/hr.json create mode 100644 custom_components/hon/translations/nl.json create mode 100644 custom_components/hon/translations/pl.json create mode 100644 custom_components/hon/translations/pt.json create mode 100644 custom_components/hon/translations/ro.json create mode 100644 custom_components/hon/translations/ru.json create mode 100644 custom_components/hon/translations/sk.json create mode 100644 custom_components/hon/translations/sl.json create mode 100644 custom_components/hon/translations/sr.json create mode 100644 custom_components/hon/translations/tr.json create mode 100644 custom_components/hon/translations/zh.json create mode 100644 scripts/generate_translation.py diff --git a/.gitignore b/.gitignore index 1dcccdc..8a0f8ea 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ __pycache__/ -scripts/test.py .idea/ +scripts/translations/ +scripts/test* diff --git a/custom_components/hon/sensor.py b/custom_components/hon/sensor.py index af93799..20ec3b8 100644 --- a/custom_components/hon/sensor.py +++ b/custom_components/hon/sensor.py @@ -30,6 +30,12 @@ _LOGGER = logging.getLogger(__name__) SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = { "WM": ( + SensorEntityDescription( + key="prPhase", + name="Program Phase", + icon="mdi:washing-machine", + translation_key="program_phases_wm", + ), SensorEntityDescription( key="totalElectricityUsed", name="Total Power", @@ -76,7 +82,7 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = { key="machMode", name="Machine Status", icon="mdi:information", - translation_key="mode", + translation_key="washing_modes", ), SensorEntityDescription( key="errors", name="Error", icon="mdi:math-log", translation_key="errors" @@ -101,7 +107,7 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = { key="machMode", name="Machine Status", icon="mdi:information", - translation_key="mode", + translation_key="washing_modes", ), SensorEntityDescription( key="errors", name="Error", icon="mdi:math-log", translation_key="errors" @@ -129,8 +135,8 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = { SensorEntityDescription( key="prPhase", name="Program Phase", - icon="mdi:tumble-dryer", - translation_key="tumbledryerprogramphase", + icon="mdi:washing-machine", + translation_key="program_phases_td", ), SensorEntityDescription( key="dryLevel", @@ -192,7 +198,7 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = { key="machMode", name="Machine Status", icon="mdi:information", - translation_key="mode", + translation_key="washing_modes", ), SensorEntityDescription( key="spinSpeed", @@ -216,7 +222,8 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = { SensorEntityDescription( key="prPhase", name="Program Phase", - icon="mdi:tumble-dryer", + icon="mdi:washing-machine", + translation_key="program_phases_wm", ), SensorEntityDescription( key="dryLevel", @@ -336,7 +343,7 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = { key="machMode", name="Machine Status", icon="mdi:information", - translation_key="mode_dw", + translation_key="washing_modes", ), SensorEntityDescription( key="errors", name="Error", icon="mdi:math-log", translation_key="errors" @@ -348,6 +355,12 @@ SENSORS: dict[str, tuple[SensorEntityDescription, ...]] = { state_class=SensorStateClass.MEASUREMENT, native_unit_of_measurement=UnitOfTime.MINUTES, ), + SensorEntityDescription( + key="prPhase", + name="Program Phase", + icon="mdi:washing-machine", + translation_key="program_phases_dw", + ), ), } diff --git a/custom_components/hon/translations/cs.json b/custom_components/hon/translations/cs.json new file mode 100644 index 0000000..afd3b9b --- /dev/null +++ b/custom_components/hon/translations/cs.json @@ -0,0 +1,71 @@ +{ + "entity": { + "sensor": { + "washing_modes": { + "state": { + "0": "P\u0159ipraveno", + "1": "P\u0159ipraveno", + "3": "Pozastavit", + "4": "Napl\u00e1nov\u00e1no", + "5": "Napl\u00e1nov\u00e1no", + "6": "Chyba", + "7": "P\u0159ipraveno" + } + }, + "program_phases_wm": { + "state": { + "0": "P\u0159ipraveno", + "1": "Pran\u00ed", + "2": "Pran\u00ed", + "3": "Odst\u0159e\u010fov\u00e1n\u00ed", + "4": "M\u00e1ch\u00e1n\u00ed", + "5": "M\u00e1ch\u00e1n\u00ed", + "6": "M\u00e1ch\u00e1n\u00ed", + "7": "Su\u0161en\u00ed", + "9": "P\u00e1ra", + "10": "P\u0159ipraveno", + "11": "Odst\u0159e\u010fov\u00e1n\u00ed", + "12": "V\u00e1\u017een\u00ed ", + "13": "V\u00e1\u017een\u00ed ", + "14": "Pran\u00ed", + "15": "Pran\u00ed", + "16": "Pran\u00ed", + "17": "M\u00e1ch\u00e1n\u00ed", + "18": "M\u00e1ch\u00e1n\u00ed", + "19": "Napl\u00e1nov\u00e1no", + "20": "Keep Fresh", + "24": "Osv\u011b\u017een\u00ed", + "25": "Pran\u00ed", + "26": "Oh\u0159ev", + "27": "Pran\u00ed" + } + }, + "program_phases_td": { + "state": { + "0": "P\u0159ipraveno", + "1": "Su\u0161en\u00ed", + "2": "Su\u0161en\u00ed", + "3": "Vychladnut\u00ed", + "13": "Vychladnut\u00ed", + "14": "Su\u0161en\u00ed", + "15": "Su\u0161en\u00ed", + "16": "Vychladnut\u00ed", + "18": "Keep Fresh", + "19": "Su\u0161en\u00ed", + "20": "Su\u0161en\u00ed" + } + }, + "program_phases_dw": { + "state": { + "0": "P\u0159ipraveno", + "1": "P\u0159edp\u00edrka", + "2": "Pran\u00ed", + "3": "M\u00e1ch\u00e1n\u00ed", + "4": "Su\u0161en\u00ed", + "5": "P\u0159ipraveno", + "6": "Hot rinse" + } + } + } + } +} \ No newline at end of file diff --git a/custom_components/hon/translations/de.json b/custom_components/hon/translations/de.json new file mode 100644 index 0000000..41bb4fb --- /dev/null +++ b/custom_components/hon/translations/de.json @@ -0,0 +1,71 @@ +{ + "entity": { + "sensor": { + "washing_modes": { + "state": { + "0": "Bereit", + "1": "Bereit", + "3": "Anhalten", + "4": "Geplant", + "5": "Geplant", + "6": "Fehler", + "7": "Bereit" + } + }, + "program_phases_wm": { + "state": { + "0": "Bereit", + "1": "Waschen", + "2": "Waschen", + "3": "Schleudern", + "4": "Sp\u00fclen", + "5": "Sp\u00fclen", + "6": "Sp\u00fclen", + "7": "Trocknen", + "9": "Dampf", + "10": "Bereit", + "11": "Schleudern", + "12": "Wiegen ", + "13": "Wiegen ", + "14": "Waschen", + "15": "Waschen", + "16": "Waschen", + "17": "Sp\u00fclen", + "18": "Sp\u00fclen", + "19": "Geplant", + "20": "Auffrischen", + "24": "Auffrischen", + "25": "Waschen", + "26": "Heizung", + "27": "Waschen" + } + }, + "program_phases_td": { + "state": { + "0": "Bereit", + "1": "Trocknen", + "2": "Trocknen", + "3": "Abk\u00fchlen", + "13": "Abk\u00fchlen", + "14": "Trocknen", + "15": "Trocknen", + "16": "Abk\u00fchlen", + "18": "Auffrischen", + "19": "Trocknen", + "20": "Trocknen" + } + }, + "program_phases_dw": { + "state": { + "0": "Bereit", + "1": "Vorwaschen", + "2": "Waschen", + "3": "Sp\u00fclen", + "4": "Trocknen", + "5": "Bereit", + "6": "Hot rinse" + } + } + } + } +} \ No newline at end of file diff --git a/custom_components/hon/translations/el.json b/custom_components/hon/translations/el.json new file mode 100644 index 0000000..3fdf9d6 --- /dev/null +++ b/custom_components/hon/translations/el.json @@ -0,0 +1,71 @@ +{ + "entity": { + "sensor": { + "washing_modes": { + "state": { + "0": "\u0395\u03c4\u03bf\u03b9\u03bc\u03bf\u03c2", + "1": "\u0395\u03c4\u03bf\u03b9\u03bc\u03bf\u03c2", + "3": "\u03a0\u03b1\u03cd\u03c3\u03b7", + "4": "\u03a0\u03c1\u03bf\u03b3\u03c1\u03b1\u03bc\u03bc\u03b1\u03c4\u03b9\u03c3\u03bc\u03ad\u03bd\u03bf\u03c2", + "5": "\u03a0\u03c1\u03bf\u03b3\u03c1\u03b1\u03bc\u03bc\u03b1\u03c4\u03b9\u03c3\u03bc\u03ad\u03bd\u03bf\u03c2", + "6": "\u039b\u03ac\u03b8\u03bf\u03c2", + "7": "\u0395\u03c4\u03bf\u03b9\u03bc\u03bf\u03c2" + } + }, + "program_phases_wm": { + "state": { + "0": "\u0395\u03c4\u03bf\u03b9\u03bc\u03bf\u03c2", + "1": "\u03a0\u03bb\u03cd\u03c3\u03b7", + "2": "\u03a0\u03bb\u03cd\u03c3\u03b7", + "3": "\u03a3\u03c4\u03cd\u03c8\u03b9\u03bc\u03bf", + "4": "\u039e\u03ad\u03b2\u03b3\u03b1\u03bb\u03bc\u03b1", + "5": "\u039e\u03ad\u03b2\u03b3\u03b1\u03bb\u03bc\u03b1", + "6": "\u039e\u03ad\u03b2\u03b3\u03b1\u03bb\u03bc\u03b1", + "7": "\u03a3\u03c4\u03ad\u03b3\u03bd\u03c9\u03bc\u03b1", + "9": "\u0391\u03c4\u03bc\u03cc\u03c2", + "10": "\u0395\u03c4\u03bf\u03b9\u03bc\u03bf\u03c2", + "11": "\u03a3\u03c4\u03cd\u03c8\u03b9\u03bc\u03bf", + "12": "\u0396\u03cd\u03b3\u03b9\u03c3\u03bc\u03b1 ", + "13": "\u0396\u03cd\u03b3\u03b9\u03c3\u03bc\u03b1 ", + "14": "\u03a0\u03bb\u03cd\u03c3\u03b7", + "15": "\u03a0\u03bb\u03cd\u03c3\u03b7", + "16": "\u03a0\u03bb\u03cd\u03c3\u03b7", + "17": "\u039e\u03ad\u03b2\u03b3\u03b1\u03bb\u03bc\u03b1", + "18": "\u039e\u03ad\u03b2\u03b3\u03b1\u03bb\u03bc\u03b1", + "19": "\u03a0\u03c1\u03bf\u03b3\u03c1\u03b1\u03bc\u03bc\u03b1\u03c4\u03b9\u03c3\u03bc\u03ad\u03bd\u03bf\u03c2", + "20": "\u039a\u03c1\u03b1\u03c4\u03ae\u03c3\u03c4\u03b5 \u03c4\u03b7 \u03c6\u03c1\u03b5\u03c3\u03ba\u03ac\u03b4\u03b1", + "24": "\u03a6\u03c1\u03b5\u03c3\u03ba\u03ac\u03c1\u03b9\u03c3\u03bc\u03b1", + "25": "\u03a0\u03bb\u03cd\u03c3\u03b7", + "26": "\u0398\u03ad\u03c1\u03bc\u03b1\u03bd\u03c3\u03b7", + "27": "\u03a0\u03bb\u03cd\u03c3\u03b7" + } + }, + "program_phases_td": { + "state": { + "0": "\u0395\u03c4\u03bf\u03b9\u03bc\u03bf\u03c2", + "1": "\u03a3\u03c4\u03ad\u03b3\u03bd\u03c9\u03bc\u03b1", + "2": "\u03a3\u03c4\u03ad\u03b3\u03bd\u03c9\u03bc\u03b1", + "3": "\u03a0\u03b5\u03c1\u03af\u03bf\u03b4\u03bf\u03c2 \u03b1\u03bd\u03b1\u03bc\u03bf\u03bd\u03ae\u03c2", + "13": "\u03a0\u03b5\u03c1\u03af\u03bf\u03b4\u03bf\u03c2 \u03b1\u03bd\u03b1\u03bc\u03bf\u03bd\u03ae\u03c2", + "14": "\u03a3\u03c4\u03ad\u03b3\u03bd\u03c9\u03bc\u03b1", + "15": "\u03a3\u03c4\u03ad\u03b3\u03bd\u03c9\u03bc\u03b1", + "16": "\u03a0\u03b5\u03c1\u03af\u03bf\u03b4\u03bf\u03c2 \u03b1\u03bd\u03b1\u03bc\u03bf\u03bd\u03ae\u03c2", + "18": "\u039a\u03c1\u03b1\u03c4\u03ae\u03c3\u03c4\u03b5 \u03c4\u03b7 \u03c6\u03c1\u03b5\u03c3\u03ba\u03ac\u03b4\u03b1", + "19": "\u03a3\u03c4\u03ad\u03b3\u03bd\u03c9\u03bc\u03b1", + "20": "\u03a3\u03c4\u03ad\u03b3\u03bd\u03c9\u03bc\u03b1" + } + }, + "program_phases_dw": { + "state": { + "0": "\u0395\u03c4\u03bf\u03b9\u03bc\u03bf\u03c2", + "1": "\u03a0\u03c1\u03cc\u03c0\u03bb\u03c5\u03c3\u03b7", + "2": "\u03a0\u03bb\u03cd\u03c3\u03b7", + "3": "\u039e\u03ad\u03b2\u03b3\u03b1\u03bb\u03bc\u03b1", + "4": "\u03a3\u03c4\u03ad\u03b3\u03bd\u03c9\u03bc\u03b1", + "5": "\u0395\u03c4\u03bf\u03b9\u03bc\u03bf\u03c2", + "6": "Hot rinse" + } + } + } + } +} \ No newline at end of file diff --git a/custom_components/hon/translations/en.json b/custom_components/hon/translations/en.json index 6225013..affd77c 100644 --- a/custom_components/hon/translations/en.json +++ b/custom_components/hon/translations/en.json @@ -1,583 +1,648 @@ { - "config": { - "step": { - "user": { - "description": "Please enters your hOn credentials", - "data": { - "email": "Email Address", - "password": "Password" + "config": { + "step": { + "user": { + "description": "Please enters your hOn credentials", + "data": { + "email": "Email Address", + "password": "Password" + } + } } - } - } - }, - "entity": { - "sensor": { - "mode": { - "state": { - "0": "Disconnected", - "1": "Ready", - "2": "Running", - "3": "Paused", - "5": "Scheduled", - "6": "Error", - "7": "Finished" - } - }, - "errors": { - "state": { - "00": "No error", - "100000000000": "E2: Check if the door is closed", - "8000000000000": "E4: Check the water supply" - } - }, - "tumbledryerprogram": { - "state": { - "0": "Default", - "62": "Cotton", - "63": "Synthetics", - "64": "Mix", - "66": "Bed Sheets", - "71": "Curtains", - "72": "Sports", - "74": "i-time", - "75": "Duvet", - "76": "Wool", - "78": "i-Refresh", - "83": "Towel", - "85": "Quick Dry", - "92": "Delicate", - "103": "Remote" - } - }, - "tumbledryerprogramphase": { - "state": { - "0": "Waiting", - "2": "Drying", - "3": "Cooldown", - "11": "11" - } - }, - "tumbledryertemplevel": { - "state": { - "1": "Cool", - "2": "Low temperature L-1", - "3": "Middle temperature L-2", - "4": "High temperature L-3" - } - }, - "tumbledryerdrylevel": { - "state": { - "3": "Cupboard dry", - "12": "Ready to Iron H-1", - "13": "Ready to Store H-2", - "14": "Extra Dry H-3" - } - }, - "mode_dw": { - "state": { - "0": "Disconnected", - "1": "Ready", - "2": "Running", - "3": "Delayed start", - "5": "Delayed start cancelled", - "7": "Finished" - } - } }, - "select": { - "programs": { - "state": { - "20_degrees_coloured_cottons": "20° Colored and Cottons", - "20_degrees_new_energy_label": "20°C", - "active_steam": "Steam", - "active_wash": "Active Wash", - "active_wash_steam": "Active Wash + Steam", - "allergy_care": "Allergy Care", - "allergy_care_pro": "Allergy Care Pro", - "all_in_one_49": "All in One 49'", - "all_in_one_59": "All in One 59'", - "all_in_one_59_steam": "Active Wash + Steam", - "autocare": "Autocare", - "autoclean": "Drum Cleaning", - "baby_60": "All Baby 60°C", - "care_14": "Rapid Care 14'", - "care_30": "Rapid Care 30'", - "care_44": "Rapid Care 44'", - "checkup": "Check-Up", - "colour_59": "Colored 59'", - "colour_59_steam": "Colored 59' + Steam", - "cottons": "Cotton", - "cottons_prewash": "Cottons + Prewash", - "cottons_steam": "Cotton + Steam", - "cotton_care_59": "Cotton Care 59'", - "delicate_59": "Delicate 59'", - "delicate_silk": "Delicate and Silk", - "delicate_silk_steam": "Delicate and Silk + Steam", - "delicati_59": "Delicate 59'", - "delicati_59_steam": "Delicate 59' + Steam", - "drain_spin": "Drain + Spin", - "easy_iron": "Easy Iron", - "eco_40_60_new_energy_label": "Eco 40-60", - "extra_care": "Extra Care", - "fitness": "Fitness Care", - "fitness_care": "Fitness Care", - "fresh_care": "Fresh Care", - "fresh_care_steam": "Fresh Care + Steam", - "handwash_wool": "Hand Wash + Wool", - "high_dry": "High Heat Dry", - "hqd_20_degrees": "Cotton 20℃", - "hqd_allergy": "Allergy Care", - "hqd_autoclean": "Drum Cleaning", - "hqd_babycare": "Baby Care", - "hqd_baby_care": "Baby care", - "hqd_bath_towel": "Bath towel", - "hqd_bed_sheets": "Bed sheets", - "hqd_bulky": "Bulky", - "hqd_casual": "Casual", - "hqd_checkup": "Check-Up", - "hqd_cold_wind_30": "Cold wind 30'", - "hqd_cold_wind_timing": "Cold wind timing", - "hqd_cotton": "Cotton", - "hqd_cottons": "Cotton", - "hqd_curtain": "Curtain", - "hqd_delicate": "Delicate", - "hqd_delicate_cradle": "Delicate", - "hqd_diaper": "Diaper", - "hqd_dry": "Cotton Dry", - "hqd_dry_synthetics": "Low Heat Dry", - "hqd_duvet": "Duvet", - "hqd_eco_40_60_degrees": "Eco 40-60", - "hqd_feather": "Feather", - "hqd_handwash_wool": "Wool", - "hqd_hot_wind_timing": "Hot wind timing", - "hqd_hygienic": "Hygienic", - "hqd_i_refresh": "i-Refresh", - "hqd_i_refresh_pro": "i-Refresh Pro", - "hqd_jacket": "Jacket", - "hqd_jeans": "Jeans", - "hqd_luxury": "Luxury", - "hqd_mix": "Mix", - "hqd_night_dry": "Night dry", - "hqd_outdoor": "Outdoor", - "hqd_precious_cure": "Precious cure", - "hqd_quick_15": "Quick 15'", - "hqd_quick_20": "Quick 20'", - "hqd_quick_30": "Quick 30'", - "hqd_quick_dry": "Quick dry", - "hqd_quick_wash_57": "Quick Wash 57'", - "hqd_quilt": "Quilt", - "hqd_rapid_wash_and_dry": "Wash and dry", - "hqd_refresh": "Refresh", - "hqd_rinse": "Rinses", - "hqd_school_uniform": "School uniform", - "hqd_shirt": "Shirt", - "hqd_shirts": "Shirts", - "hqd_shoes": "Shoes", - "hqd_silk": "Silk", - "hqd_smart": "Smart A.I.", - "hqd_spin": "Spin", - "hqd_sport": "Sport", - "hqd_sports": "Sports", - "hqd_super_fast": "Super Fast 39'", - "hqd_synthetic_and_coloured": "Synthetics", - "hqd_synthetics": "Synthetics", - "hqd_timer": "Timer", - "hqd_towel": "Towel", - "hqd_underwear": "Underwear", - "hqd_warm_up": "Warm up", - "hqd_wool": "Wool", - "hqd_working_suit": "Working suit", - "hygiene_59": "Hygiene Plus 59'", - "hygiene_60": "Hygiene 60°C", - "hygiene_plus_59": "Hygiene Plus 59'", - "hygiene_plus_59_min": "Hygiene Plus 59'", - "hygiene_pro_4_min": "Hygiene Pro 49'", - "hygiene_pro_49_min": "Hygiene Pro 49'", - "hygiene_pro_steam": "Hygiene Pro + Steam", - "intensive_40": "Intensive 40°C", - "intensive_40_steam": "Intensive 40°C + Steam", - "iot_checkup": "Check-Up", - "iot_dry_air_refresh": "Air Refresh", - "iot_dry_anti_mites": "Anti-mite", - "iot_dry_baby": "Baby", - "iot_dry_backpacks": "Backpacks", - "iot_dry_bathrobe": "Bathrobes", - "iot_dry_bed_linen": "Bed Linen", - "iot_dry_cotton_dry": "Cotton Dry", - "iot_dry_cotton": "Cotton", - "iot_dry_cuddly_toys": "Cuddly Toys", - "iot_dry_curtains": "Curtains", - "iot_dry_dehumidifier": "Humidity Remover", - "iot_dry_delicates": "Delicates", - "iot_dry_delicates_antiallergy": "Delicates Anti-allergy", - "iot_dry_delicate_tablecloths": "Delicate Tablecloths", - "iot_dry_denim_jeans": "Denim - Jeans", - "iot_dry_down_jacket": "Down jacket", - "iot_dry_duvet": "Duvet", - "iot_dry_easy_iron_cotton": "Easy Iron - Cotton", - "iot_dry_easy_iron_synthetics": "Easy Iron - Synthetics", - "iot_dry_gym_fit": "Gym fit - Fitness", - "iot_dry_lingerie": "Lingerie", - "iot_dry_mixed": "Mixed", - "iot_dry_mixed_dry": "Mixed Dry", - "iot_dry_rapid_30": "Rapid 30'", - "iot_dry_rapid_59": "Rapid 59'", - "iot_dry_rapid_60_min_delicates": "Rapid 60' - Delicates", - "iot_dry_shirts": "Shirts", - "iot_dry_swimsuits_and_bikinis": "Swimsuits and Bikinis", - "iot_dry_synthetics": "Synthetic Dry", - "iot_dry_synthetic_dry": "Synthetic Dry", - "iot_dry_tablecloths": "Tablecloths", - "iot_dry_technical_fabrics": "Technical Fabrics", - "iot_dry_warm_embrace": "Warm Embrace", - "iot_dry_wool": "Wool", - "iot_dry_wool_dry": "Wool Dry", - "iot_wash_and_dry": "Wash and dry", - "iot_wash_anti_mites": "Anti-mites", - "iot_wash_anti_odor": "Anti-odour", - "iot_wash_ariel_clean_cycle": "Ariel Ultimate Clean", - "iot_wash_ariel_cold_cycle": "Ariel Cold Clean", - "iot_wash_ariel_fresh_cycle": "Ariel Fresh Clean", - "iot_wash_baby_sanitizer": "Sanitizer", - "iot_wash_baby_sanitizer_steam": "Sanitiser + Steam", - "iot_wash_backpacks": "Backpacks", - "iot_wash_backpacks_zelig": "Backpacks", - "iot_wash_bathrobe": "Bathrobes and Towels", - "iot_wash_bathrobe_steam": "Bathrobe and Towels + Steam", - "iot_wash_bed_linen": "Bed Linen", - "iot_wash_bed_linen_steam": "Bed Linen + Steam", - "iot_wash_bed_linen_zelig": "Bed Linens", - "iot_wash_big_single_load": "Big single load", - "iot_wash_bleaching": "Bleaching", - "iot_wash_blood_stains": "Bloodstains", - "iot_wash_cashmere": "Cashmere", - "iot_wash_chocolate_stains": "Chocolate stains", - "iot_wash_cold_wash": "Cold Wash", - "iot_wash_colored": "Colored", - "iot_wash_colored_anti_stain": "Colored Anti-stain", - "iot_wash_colored_delicate": "Colored Delicate", - "iot_wash_coloured": "Colored", - "iot_wash_coloured_bed_linen": "Colored Bed Linen", - "iot_wash_coloured_bed_linen_steam": "Coloured Bed Linen + Steam", - "iot_wash_coloured_curtains": "Colored Curtains", - "iot_wash_coloured_shirts": "Colored Shirts", - "iot_wash_coloured_shirts_steam": "Colored Shirts + Steam", - "iot_wash_coloured_steam": "Colored + Steam", - "iot_wash_coloured_tableclothes": "Colored Tableclothes", - "iot_wash_coloured_tableclothes_steam": "Coloured Tablecloths + Steam", - "iot_wash_cotton": "Cotton", - "iot_wash_cotton_steam": "Cotton + Steam", - "iot_wash_cuddly_toys": "Cuddly Toys", - "iot_wash_curtains": "Curtains", - "iot_wash_curtains_steam": "Curtains + Steam", - "iot_wash_curtains_zelig": "Curtains", - "iot_wash_dark": "Darks", - "iot_wash_darks_and_coloured_44": "Darks and Colored 44'", - "iot_wash_darks_and_coloured_59": "Darks and Colored 59'", - "iot_wash_darks_and_coloured_xl": "Darks and Colored XL", - "iot_wash_dark_steam": "Darks + Steam", - "iot_wash_dash_clean_cycle": "Dash Ultimate Clean", - "iot_wash_dash_cold_cycle": "Dash Cold Clean", - "iot_wash_dash_fresh_cycle": "Dash Fresh Clean", - "iot_wash_delicate": "Delicates", - "iot_wash_delicate_antiallergy": "Delicate Anti-Allergy", - "iot_wash_delicate_antiallergy_steam": "Delicate Anti-Allergy + Steam", - "iot_wash_delicate_antiallergy_zelig": "Delicate Anti-Allergy", - "iot_wash_delicate_colors": "Delicate Colors", - "iot_wash_delicate_colors_steam": "Delicate Colors + Steam", - "iot_wash_delicate_dark": "Delicate Darks", - "iot_wash_delicate_steam": "Delicates + Steam", - "iot_wash_delicate_tablecloths": "Delicate Tablecloths", - "iot_wash_delicate_tablecloths_steam": "Delicate Tablecloths + Steam", - "iot_wash_delicate_whites": "Delicate Whites", - "iot_wash_denim_jeans": "Denim - Jeans", - "iot_wash_diving_suits": "Diving Suits", - "iot_wash_diving_suits_zelig": "Diving Suits", - "iot_wash_down_jackets": "Down Jackets", - "iot_wash_down_jackets_zelig": "Down Jackets", - "iot_wash_duvet": "Duvet", - "iot_wash_fruit_stains": "Fruit stains", - "iot_wash_gym_fit": "Gym Fit - Fitness", - "iot_wash_handwash": "Handwash", - "iot_wash_handwash_colored": "Handwash Colored", - "iot_wash_handwash_dark": "Handwash Darks", - "iot_wash_lingerie": "Lingerie", - "iot_wash_masks_refresh": "Masks Refresh", - "iot_wash_masks_sanification": "Masks Sanitization", - "iot_wash_masks_sanification_steam": "Mask Sanitisation + Steam", - "iot_wash_mats": "Mats", - "iot_wash_men_s_trousers": "Trousers", - "iot_wash_mixed": "Mixed", - "iot_wash_mixed_steam": "Mixed + Steam", - "iot_wash_mix_and_coloured_44": "Mix and Colored 44'", - "iot_wash_mix_and_coloured_59": "Mix and Colored 59'", - "iot_wash_mix_and_coloured_xl": "Mix and colored XL", - "iot_wash_new_clothes": "New Clothes", - "iot_wash_perfect_white": "Perfect White", - "iot_wash_perfect_white_steam": "Perfect White + Steam", - "iot_wash_pets": "Pet Accessories", - "iot_wash_pets_hair_removal": "Pets Hair Removal", - "iot_wash_pets_odours_stains_removal": "Pets Odours and Stains Removal", - "iot_wash_pets_steam": "Pet Accessories + Steam", - "iot_wash_playsuits": "Playsuits", - "iot_wash_playsuits_steam": "Playsuits + Steam", - "iot_wash_quick_drum_cleaner": "Quick drum cleaner", - "iot_wash_rapid_14": "Rapid 14’", - "iot_wash_rapid_30": "Rapid 30’", - "iot_wash_rapid_44": "Rapid 44'", - "iot_wash_rapid_59": "Rapid 59'", - "iot_wash_rapid_59_steam": "Rapid 59' + Steam", - "iot_wash_refresh_14_min": "Refresh 14'", - "iot_wash_resistant_colored": "Resistant Colored", - "iot_wash_resistant_dark": "Resistant Darks", - "iot_wash_resistant_whites": "Resistant Whites", - "iot_wash_rinse": "Rinses", - "iot_wash_shirts": "Shirts", - "iot_wash_shirts_steam": "Shirts + Steam", - "iot_wash_silk": "Silk", - "iot_wash_ski_suit": "Ski Suit", - "iot_wash_ski_suit_zelig": "Ski Suit", - "iot_wash_spin": "Spin", - "iot_wash_sport": "Sport", - "iot_wash_sport_anti_odor": "Anti-odour Sportswear", - "iot_wash_sport_anti_odor_zelig": "Anti-odour Sportswear", - "iot_wash_stains_remover": "Stain Remover", - "iot_wash_swimsuits_and_bikinis": "Swimsuits and Bikinis", - "iot_wash_synthetic": "Synthetics", - "iot_wash_synthetic_steam": "Synthetics + Steam", - "iot_wash_tablecloths": "Tablecloths", - "iot_wash_tablecloths_steam": "Tablecloths + Steam", - "iot_wash_technical_fabrics": "Technical Fabrics", - "iot_wash_technical_fabrics_zelig": "Technical Fabrics", - "iot_wash_technical_jackets": "Technical Jackets", - "iot_wash_technical_jackets_zelig": "Technical Jackets", - "iot_wash_trainers": "Trainers", - "iot_wash_whites": "Whites", - "iot_wash_whites_44": "Whites 44'", - "iot_wash_whites_59": "Whites 59'", - "iot_wash_whites_xl": "Whites XL", - "iot_wash_wine_stains": "Wine Stains", - "iot_wash_wool": "Wool", - "jeans": "Jeans", - "jeans_60": "Jeans", - "low_dry": "Low Heat Dry", - "mixed": "Mixed", - "mixed_and_colored_59": "Mixed and Colored 59'", - "mixed_steam": "Mixed + Steam", - "mix_and_colour_59": "Mixed and Colored 59'", - "mix_and_colour_59_steam": "Mixed and Coloured 59' + Steam", - "night_and_day": "Night and Day", - "night_wash": "Night Wash", - "perfect_59": "Perfect 59'", - "perfect_cotton_59": "Perfect Cotton 59'", - "perfect_cotton_59_steam": "Perfect Cotton 59' + Steam", - "perfect_whites_59": "Perfect White 59'", - "rapid_14_min": "Rapid 14'", - "rapid_30_min": "Rapid 30'", - "rapid_44_min": "Rapid 44'", - "rapid_a_class_60": "Rapid 59' A Class", - "rapid_a_class_60_steam": "Rapid 59' A Class + Steam", - "rapid_wash_and_dry_59_min": "Wash and Dry 59'", - "resistant_cotton": "Resistant Cotton", - "resistant_cotton_steam": "Resistant Cotton + Steam", - "rinse": "Rinse", - "shirts_steam": "Shirts + Steam", - "silent_night": "Silent Night", - "single_item": "Single Item", - "single_item_steam": "Single Item + Steam", - "smart_wash": "Smart Wash", - "soft_care": "Soft Care", - "soft_care_steam": "Soft Care + Steam", - "soft_care_steam_title": "Soft Care + Steam", - "special_39": "Special 39'", - "special_39_full_load": "Special 39'", - "special_39_full_load_steam": "Special 39' + Steam", - "special_49": "Special 49'", - "sport_39": "Sport 39'", - "sport_plus_29": "Sport Plus 29'", - "sport_plus_39": "Sport Plus 39'", - "steam_39": "Steam 39'", - "steam_care_pro": "Steam Care Pro", - "steam_care_pro_cotton": "Steam Care Pro - Cottons", - "steam_care_pro_delicates": "Steam Care Pro - Delicates", - "steam_care_pro_synthetic": "Steam Care Pro - Synthetics", - "steam_hygiene_plus": "Hygiene Plus + Steam", - "synthetics": "Synthetics", - "synthetic_and_coloured": "Synthetic and Colored", - "synthetic_and_coloured_steam": "Synthetic and Coloured + Steam", - "tailored_resistant_cotton": "Tailored Resistant Cotton", - "tailored_synthetic_and_coloured": "Tailored Synthetic Colored", - "total_care": "Total Care", - "tumbling": "Tumbling", - "wool": "Wool", - "wool_and_delicates_49": "Wool and Delicates 49'", - "wool_dry": "Wool Dry", - "wool_soft_care": "Wool and Soft Car", - "bakery": "Pasta and Pastries", - "bakery_steam": "Steam-baked bread", - "bottom_heating": "Bottom Heating", - "bottom_heating_fan": "Bottom Heating + Fan", - "bread": "Bread", - "bread_steam": "Steam-baked pastries", - "combi": "Combi", - "convection_fan": "Convection + Fan", - "convection_fan_turnspit": "Convection + Fan + Turnspit", - "conventional": "Conventional", - "conventional_turnspit": "Convection + Turnspit", - "defrost": "Defrost", - "descaling": "Descaling", - "fish": "Fish", - "fish_steam": "Steam-cooked fish", - "grill_cata": "Grill", - "grill_fan_cata": "Grill fan", - "grill_fan_pyro": "Grill + Fan", - "grill_pyro": "Grill", - "h20_clean": "H2O-Clean", - "iot_bread": "Bread", - "iot_h20_clean": "h2O clean", - "leavening": "Leavening", - "light_fan": "Light Fan", - "low_temp_cooking": "Low Temperature Cooking", - "low_temp_cooking_fish": "Low Temperature Cooking - Fish", - "low_temp_cooking_fish_steam": "Low Temperature Steam Cooking - Fish", - "low_temp_cooking_meat": "Low Temperature Cooking - Meat", - "low_temp_cooking_meat_steam": "Low Temperature Steam Cooking - Meat", - "low_temp_cooking_steam": "Low Temperature Steam Cooking", - "meat": "Meat", - "meat_steam": "Steam-cooked meat", - "multi_level": "Multi-Level", - "paella": "Paella", - "pasta_and_bakery": "Pasta and Bakery", - "pizza": "Pizza", - "pyrolysis": "Pyrolysis", - "pyrolysis_plus": "Pyrolysis +", - "red_meat": "Red Meat", - "red_meat_steam": "Steam-cooked red meat", - "regenerate": "Regeneration", - "soft_plus": "Soft+", - "super_grill": "Super Grill", - "tailor_bake": "Tailor bake", - "tailor_bake_cata": "Tailor Bake", - "tailor_bake_pyro": "Tailor Bake", - "vegetables": "Vegetables", - "vegetables_cata": "Vegetables", - "vegetables_pyro": "Vegetables", - "water_discharge": "Water Drain", - "white_meat": "White Meat", - "white_meat_steam": "Steam-cooked white meat", - "iot_standard_boiling": "Boiling", - "iot_standard_frying": "Frying", - "iot_standard_keep_warm": "Keep Warm", - "iot_standard_melting": "Melting", - "iot_standard_simmering": "Simmering" + "entity": { + "sensor": { + "mode": { + "state": { + "0": "Disconnected", + "1": "Ready", + "2": "Running", + "3": "Paused", + "5": "Scheduled", + "6": "Error", + "7": "Finished" + } + }, + "errors": { + "state": { + "00": "No error", + "100000000000": "E2: Check if the door is closed", + "8000000000000": "E4: Check the water supply" + } + }, + "tumbledryerprogram": { + "state": { + "0": "Default", + "62": "Cotton", + "63": "Synthetics", + "64": "Mix", + "66": "Bed Sheets", + "71": "Curtains", + "72": "Sports", + "74": "i-time", + "75": "Duvet", + "76": "Wool", + "78": "i-Refresh", + "83": "Towel", + "85": "Quick Dry", + "92": "Delicate", + "103": "Remote" + } + }, + "tumbledryerprogramphase": { + "state": { + "0": "Waiting", + "2": "Drying", + "3": "Cooldown", + "11": "11" + } + }, + "tumbledryertemplevel": { + "state": { + "1": "Cool", + "2": "Low temperature L-1", + "3": "Middle temperature L-2", + "4": "High temperature L-3" + } + }, + "tumbledryerdrylevel": { + "state": { + "3": "Cupboard dry", + "12": "Ready to Iron H-1", + "13": "Ready to Store H-2", + "14": "Extra Dry H-3" + } + }, + "mode_dw": { + "state": { + "0": "Disconnected", + "1": "Ready", + "2": "Running", + "3": "Delayed start", + "5": "Delayed start cancelled", + "7": "Finished" + } + }, + "washing_modes": { + "state": { + "0": "Ready", + "1": "Ready", + "3": "Pause", + "4": "Scheduled", + "5": "Scheduled", + "6": "Error", + "7": "Ready" + } + }, + "program_phases_wm": { + "state": { + "0": "Ready", + "1": "Wash", + "2": "Wash", + "3": "Spin", + "4": "Rinse", + "5": "Rinse", + "6": "Rinse", + "7": "Drying", + "9": "Steam", + "10": "Ready", + "11": "Spin", + "12": "Weighing ", + "13": "Weighing ", + "14": "Wash", + "15": "Wash", + "16": "Wash", + "17": "Rinse", + "18": "Rinse", + "19": "Scheduled", + "20": "Keep Fresh", + "24": "Refresh", + "25": "Wash", + "26": "Heating", + "27": "Wash" + } + }, + "program_phases_td": { + "state": { + "0": "Ready", + "1": "Drying", + "2": "Drying", + "3": "Cooldown", + "13": "Cooldown", + "14": "Drying", + "15": "Drying", + "16": "Cooldown", + "18": "Keep Fresh", + "19": "Drying", + "20": "Drying" + } + }, + "program_phases_dw": { + "state": { + "0": "Ready", + "1": "Prewash", + "2": "Wash", + "3": "Rinse", + "4": "Drying", + "5": "Ready", + "6": "Hot rinse" + } + } + }, + "select": { + "programs": { + "state": { + "20_degrees_coloured_cottons": "20\u00b0 Colored and Cottons", + "20_degrees_new_energy_label": "20\u00b0C", + "active_steam": "Steam", + "active_wash": "Active Wash", + "active_wash_steam": "Active Wash + Steam", + "allergy_care": "Allergy Care", + "allergy_care_pro": "Allergy Care Pro", + "all_in_one_49": "All in One 49'", + "all_in_one_59": "All in One 59'", + "all_in_one_59_steam": "Active Wash + Steam", + "autocare": "Autocare", + "autoclean": "Drum Cleaning", + "baby_60": "All Baby 60\u00b0C", + "care_14": "Rapid Care 14'", + "care_30": "Rapid Care 30'", + "care_44": "Rapid Care 44'", + "checkup": "Check-Up", + "colour_59": "Colored 59'", + "colour_59_steam": "Colored 59' + Steam", + "cottons": "Cotton", + "cottons_prewash": "Cottons + Prewash", + "cottons_steam": "Cotton + Steam", + "cotton_care_59": "Cotton Care 59'", + "delicate_59": "Delicate 59'", + "delicate_silk": "Delicate and Silk", + "delicate_silk_steam": "Delicate and Silk + Steam", + "delicati_59": "Delicate 59'", + "delicati_59_steam": "Delicate 59' + Steam", + "drain_spin": "Drain + Spin", + "easy_iron": "Easy Iron", + "eco_40_60_new_energy_label": "Eco 40-60", + "extra_care": "Extra Care", + "fitness": "Fitness Care", + "fitness_care": "Fitness Care", + "fresh_care": "Fresh Care", + "fresh_care_steam": "Fresh Care + Steam", + "handwash_wool": "Hand Wash + Wool", + "high_dry": "High Heat Dry", + "hqd_20_degrees": "Cotton 20\u2103", + "hqd_allergy": "Allergy Care", + "hqd_autoclean": "Drum Cleaning", + "hqd_babycare": "Baby Care", + "hqd_baby_care": "Baby care", + "hqd_bath_towel": "Bath towel", + "hqd_bed_sheets": "Bed sheets", + "hqd_bulky": "Bulky", + "hqd_casual": "Casual", + "hqd_checkup": "Check-Up", + "hqd_cold_wind_30": "Cold wind 30'", + "hqd_cold_wind_timing": "Cold wind timing", + "hqd_cotton": "Cotton", + "hqd_cottons": "Cotton", + "hqd_curtain": "Curtain", + "hqd_delicate": "Delicate", + "hqd_delicate_cradle": "Delicate", + "hqd_diaper": "Diaper", + "hqd_dry": "Cotton Dry", + "hqd_dry_synthetics": "Low Heat Dry", + "hqd_duvet": "Duvet", + "hqd_eco_40_60_degrees": "Eco 40-60", + "hqd_feather": "Feather", + "hqd_handwash_wool": "Wool", + "hqd_hot_wind_timing": "Hot wind timing", + "hqd_hygienic": "Hygienic", + "hqd_i_refresh": "i-Refresh", + "hqd_i_refresh_pro": "i-Refresh Pro", + "hqd_jacket": "Jacket", + "hqd_jeans": "Jeans", + "hqd_luxury": "Luxury", + "hqd_mix": "Mix", + "hqd_night_dry": "Night dry", + "hqd_outdoor": "Outdoor", + "hqd_precious_cure": "Precious cure", + "hqd_quick_15": "Quick 15'", + "hqd_quick_20": "Quick 20'", + "hqd_quick_30": "Quick 30'", + "hqd_quick_dry": "Quick dry", + "hqd_quick_wash_57": "Quick Wash 57'", + "hqd_quilt": "Quilt", + "hqd_rapid_wash_and_dry": "Wash and dry", + "hqd_refresh": "Refresh", + "hqd_rinse": "Rinses", + "hqd_school_uniform": "School uniform", + "hqd_shirt": "Shirt", + "hqd_shirts": "Shirts", + "hqd_shoes": "Shoes", + "hqd_silk": "Silk", + "hqd_smart": "Smart A.I.", + "hqd_spin": "Spin", + "hqd_sport": "Sport", + "hqd_sports": "Sports", + "hqd_super_fast": "Super Fast 39'", + "hqd_synthetic_and_coloured": "Synthetics", + "hqd_synthetics": "Synthetics", + "hqd_timer": "Timer", + "hqd_towel": "Towel", + "hqd_underwear": "Underwear", + "hqd_warm_up": "Warm up", + "hqd_wool": "Wool", + "hqd_working_suit": "Working suit", + "hygiene_59": "Hygiene Plus 59'", + "hygiene_60": "Hygiene 60\u00b0C", + "hygiene_plus_59": "Hygiene Plus 59'", + "hygiene_plus_59_min": "Hygiene Plus 59'", + "hygiene_pro_4_min": "Hygiene Pro 49'", + "hygiene_pro_49_min": "Hygiene Pro 49'", + "hygiene_pro_steam": "Hygiene Pro + Steam", + "intensive_40": "Intensive 40\u00b0C", + "intensive_40_steam": "Intensive 40\u00b0C + Steam", + "iot_checkup": "Check-Up", + "iot_dry_air_refresh": "Air Refresh", + "iot_dry_anti_mites": "Anti-mite", + "iot_dry_baby": "Baby", + "iot_dry_backpacks": "Backpacks", + "iot_dry_bathrobe": "Bathrobes", + "iot_dry_bed_linen": "Bed Linen", + "iot_dry_cotton_dry": "Cotton Dry", + "iot_dry_cotton": "Cotton", + "iot_dry_cuddly_toys": "Cuddly Toys", + "iot_dry_curtains": "Curtains", + "iot_dry_dehumidifier": "Humidity Remover", + "iot_dry_delicates": "Delicates", + "iot_dry_delicates_antiallergy": "Delicates Anti-allergy", + "iot_dry_delicate_tablecloths": "Delicate Tablecloths", + "iot_dry_denim_jeans": "Denim - Jeans", + "iot_dry_down_jacket": "Down jacket", + "iot_dry_duvet": "Duvet", + "iot_dry_easy_iron_cotton": "Easy Iron - Cotton", + "iot_dry_easy_iron_synthetics": "Easy Iron - Synthetics", + "iot_dry_gym_fit": "Gym fit - Fitness", + "iot_dry_lingerie": "Lingerie", + "iot_dry_mixed": "Mixed", + "iot_dry_mixed_dry": "Mixed Dry", + "iot_dry_rapid_30": "Rapid 30'", + "iot_dry_rapid_59": "Rapid 59'", + "iot_dry_rapid_60_min_delicates": "Rapid 60' - Delicates", + "iot_dry_shirts": "Shirts", + "iot_dry_swimsuits_and_bikinis": "Swimsuits and Bikinis", + "iot_dry_synthetics": "Synthetic Dry", + "iot_dry_synthetic_dry": "Synthetic Dry", + "iot_dry_tablecloths": "Tablecloths", + "iot_dry_technical_fabrics": "Technical Fabrics", + "iot_dry_warm_embrace": "Warm Embrace", + "iot_dry_wool": "Wool", + "iot_dry_wool_dry": "Wool Dry", + "iot_wash_and_dry": "Wash and dry", + "iot_wash_anti_mites": "Anti-mites", + "iot_wash_anti_odor": "Anti-odour", + "iot_wash_ariel_clean_cycle": "Ariel Ultimate Clean", + "iot_wash_ariel_cold_cycle": "Ariel Cold Clean", + "iot_wash_ariel_fresh_cycle": "Ariel Fresh Clean", + "iot_wash_baby_sanitizer": "Sanitizer", + "iot_wash_baby_sanitizer_steam": "Sanitiser + Steam", + "iot_wash_backpacks": "Backpacks", + "iot_wash_backpacks_zelig": "Backpacks", + "iot_wash_bathrobe": "Bathrobes and Towels", + "iot_wash_bathrobe_steam": "Bathrobe and Towels + Steam", + "iot_wash_bed_linen": "Bed Linen", + "iot_wash_bed_linen_steam": "Bed Linen + Steam", + "iot_wash_bed_linen_zelig": "Bed Linens", + "iot_wash_big_single_load": "Big single load", + "iot_wash_bleaching": "Bleaching", + "iot_wash_blood_stains": "Bloodstains", + "iot_wash_cashmere": "Cashmere", + "iot_wash_chocolate_stains": "Chocolate stains", + "iot_wash_cold_wash": "Cold Wash", + "iot_wash_colored": "Colored", + "iot_wash_colored_anti_stain": "Colored Anti-stain", + "iot_wash_colored_delicate": "Colored Delicate", + "iot_wash_coloured": "Colored", + "iot_wash_coloured_bed_linen": "Colored Bed Linen", + "iot_wash_coloured_bed_linen_steam": "Coloured Bed Linen + Steam", + "iot_wash_coloured_curtains": "Colored Curtains", + "iot_wash_coloured_shirts": "Colored Shirts", + "iot_wash_coloured_shirts_steam": "Colored Shirts + Steam", + "iot_wash_coloured_steam": "Colored + Steam", + "iot_wash_coloured_tableclothes": "Colored Tableclothes", + "iot_wash_coloured_tableclothes_steam": "Coloured Tablecloths + Steam", + "iot_wash_cotton": "Cotton", + "iot_wash_cotton_steam": "Cotton + Steam", + "iot_wash_cuddly_toys": "Cuddly Toys", + "iot_wash_curtains": "Curtains", + "iot_wash_curtains_steam": "Curtains + Steam", + "iot_wash_curtains_zelig": "Curtains", + "iot_wash_dark": "Darks", + "iot_wash_darks_and_coloured_44": "Darks and Colored 44'", + "iot_wash_darks_and_coloured_59": "Darks and Colored 59'", + "iot_wash_darks_and_coloured_xl": "Darks and Colored XL", + "iot_wash_dark_steam": "Darks + Steam", + "iot_wash_dash_clean_cycle": "Dash Ultimate Clean", + "iot_wash_dash_cold_cycle": "Dash Cold Clean", + "iot_wash_dash_fresh_cycle": "Dash Fresh Clean", + "iot_wash_delicate": "Delicates", + "iot_wash_delicate_antiallergy": "Delicate Anti-Allergy", + "iot_wash_delicate_antiallergy_steam": "Delicate Anti-Allergy + Steam", + "iot_wash_delicate_antiallergy_zelig": "Delicate Anti-Allergy", + "iot_wash_delicate_colors": "Delicate Colors", + "iot_wash_delicate_colors_steam": "Delicate Colors + Steam", + "iot_wash_delicate_dark": "Delicate Darks", + "iot_wash_delicate_steam": "Delicates + Steam", + "iot_wash_delicate_tablecloths": "Delicate Tablecloths", + "iot_wash_delicate_tablecloths_steam": "Delicate Tablecloths + Steam", + "iot_wash_delicate_whites": "Delicate Whites", + "iot_wash_denim_jeans": "Denim - Jeans", + "iot_wash_diving_suits": "Diving Suits", + "iot_wash_diving_suits_zelig": "Diving Suits", + "iot_wash_down_jackets": "Down Jackets", + "iot_wash_down_jackets_zelig": "Down Jackets", + "iot_wash_duvet": "Duvet", + "iot_wash_fruit_stains": "Fruit stains", + "iot_wash_gym_fit": "Gym Fit - Fitness", + "iot_wash_handwash": "Handwash", + "iot_wash_handwash_colored": "Handwash Colored", + "iot_wash_handwash_dark": "Handwash Darks", + "iot_wash_lingerie": "Lingerie", + "iot_wash_masks_refresh": "Masks Refresh", + "iot_wash_masks_sanification": "Masks Sanitization", + "iot_wash_masks_sanification_steam": "Mask Sanitisation + Steam", + "iot_wash_mats": "Mats", + "iot_wash_men_s_trousers": "Trousers", + "iot_wash_mixed": "Mixed", + "iot_wash_mixed_steam": "Mixed + Steam", + "iot_wash_mix_and_coloured_44": "Mix and Colored 44'", + "iot_wash_mix_and_coloured_59": "Mix and Colored 59'", + "iot_wash_mix_and_coloured_xl": "Mix and colored XL", + "iot_wash_new_clothes": "New Clothes", + "iot_wash_perfect_white": "Perfect White", + "iot_wash_perfect_white_steam": "Perfect White + Steam", + "iot_wash_pets": "Pet Accessories", + "iot_wash_pets_hair_removal": "Pets Hair Removal", + "iot_wash_pets_odours_stains_removal": "Pets Odours and Stains Removal", + "iot_wash_pets_steam": "Pet Accessories + Steam", + "iot_wash_playsuits": "Playsuits", + "iot_wash_playsuits_steam": "Playsuits + Steam", + "iot_wash_quick_drum_cleaner": "Quick drum cleaner", + "iot_wash_rapid_14": "Rapid 14\u2019", + "iot_wash_rapid_30": "Rapid 30\u2019", + "iot_wash_rapid_44": "Rapid 44'", + "iot_wash_rapid_59": "Rapid 59'", + "iot_wash_rapid_59_steam": "Rapid 59' + Steam", + "iot_wash_refresh_14_min": "Refresh 14'", + "iot_wash_resistant_colored": "Resistant Colored", + "iot_wash_resistant_dark": "Resistant Darks", + "iot_wash_resistant_whites": "Resistant Whites", + "iot_wash_rinse": "Rinses", + "iot_wash_shirts": "Shirts", + "iot_wash_shirts_steam": "Shirts + Steam", + "iot_wash_silk": "Silk", + "iot_wash_ski_suit": "Ski Suit", + "iot_wash_ski_suit_zelig": "Ski Suit", + "iot_wash_spin": "Spin", + "iot_wash_sport": "Sport", + "iot_wash_sport_anti_odor": "Anti-odour Sportswear", + "iot_wash_sport_anti_odor_zelig": "Anti-odour Sportswear", + "iot_wash_stains_remover": "Stain Remover", + "iot_wash_swimsuits_and_bikinis": "Swimsuits and Bikinis", + "iot_wash_synthetic": "Synthetics", + "iot_wash_synthetic_steam": "Synthetics + Steam", + "iot_wash_tablecloths": "Tablecloths", + "iot_wash_tablecloths_steam": "Tablecloths + Steam", + "iot_wash_technical_fabrics": "Technical Fabrics", + "iot_wash_technical_fabrics_zelig": "Technical Fabrics", + "iot_wash_technical_jackets": "Technical Jackets", + "iot_wash_technical_jackets_zelig": "Technical Jackets", + "iot_wash_trainers": "Trainers", + "iot_wash_whites": "Whites", + "iot_wash_whites_44": "Whites 44'", + "iot_wash_whites_59": "Whites 59'", + "iot_wash_whites_xl": "Whites XL", + "iot_wash_wine_stains": "Wine Stains", + "iot_wash_wool": "Wool", + "jeans": "Jeans", + "jeans_60": "Jeans", + "low_dry": "Low Heat Dry", + "mixed": "Mixed", + "mixed_and_colored_59": "Mixed and Colored 59'", + "mixed_steam": "Mixed + Steam", + "mix_and_colour_59": "Mixed and Colored 59'", + "mix_and_colour_59_steam": "Mixed and Coloured 59' + Steam", + "night_and_day": "Night and Day", + "night_wash": "Night Wash", + "perfect_59": "Perfect 59'", + "perfect_cotton_59": "Perfect Cotton 59'", + "perfect_cotton_59_steam": "Perfect Cotton 59' + Steam", + "perfect_whites_59": "Perfect White 59'", + "rapid_14_min": "Rapid 14'", + "rapid_30_min": "Rapid 30'", + "rapid_44_min": "Rapid 44'", + "rapid_a_class_60": "Rapid 59' A Class", + "rapid_a_class_60_steam": "Rapid 59' A Class + Steam", + "rapid_wash_and_dry_59_min": "Wash and Dry 59'", + "resistant_cotton": "Resistant Cotton", + "resistant_cotton_steam": "Resistant Cotton + Steam", + "rinse": "Rinse", + "shirts_steam": "Shirts + Steam", + "silent_night": "Silent Night", + "single_item": "Single Item", + "single_item_steam": "Single Item + Steam", + "smart_wash": "Smart Wash", + "soft_care": "Soft Care", + "soft_care_steam": "Soft Care + Steam", + "soft_care_steam_title": "Soft Care + Steam", + "special_39": "Special 39'", + "special_39_full_load": "Special 39'", + "special_39_full_load_steam": "Special 39' + Steam", + "special_49": "Special 49'", + "sport_39": "Sport 39'", + "sport_plus_29": "Sport Plus 29'", + "sport_plus_39": "Sport Plus 39'", + "steam_39": "Steam 39'", + "steam_care_pro": "Steam Care Pro", + "steam_care_pro_cotton": "Steam Care Pro - Cottons", + "steam_care_pro_delicates": "Steam Care Pro - Delicates", + "steam_care_pro_synthetic": "Steam Care Pro - Synthetics", + "steam_hygiene_plus": "Hygiene Plus + Steam", + "synthetics": "Synthetics", + "synthetic_and_coloured": "Synthetic and Colored", + "synthetic_and_coloured_steam": "Synthetic and Coloured + Steam", + "tailored_resistant_cotton": "Tailored Resistant Cotton", + "tailored_synthetic_and_coloured": "Tailored Synthetic Colored", + "total_care": "Total Care", + "tumbling": "Tumbling", + "wool": "Wool", + "wool_and_delicates_49": "Wool and Delicates 49'", + "wool_dry": "Wool Dry", + "wool_soft_care": "Wool and Soft Car", + "bakery": "Pasta and Pastries", + "bakery_steam": "Steam-baked bread", + "bottom_heating": "Bottom Heating", + "bottom_heating_fan": "Bottom Heating + Fan", + "bread": "Bread", + "bread_steam": "Steam-baked pastries", + "combi": "Combi", + "convection_fan": "Convection + Fan", + "convection_fan_turnspit": "Convection + Fan + Turnspit", + "conventional": "Conventional", + "conventional_turnspit": "Convection + Turnspit", + "defrost": "Defrost", + "descaling": "Descaling", + "fish": "Fish", + "fish_steam": "Steam-cooked fish", + "grill_cata": "Grill", + "grill_fan_cata": "Grill fan", + "grill_fan_pyro": "Grill + Fan", + "grill_pyro": "Grill", + "h20_clean": "H2O-Clean", + "iot_bread": "Bread", + "iot_h20_clean": "h2O clean", + "leavening": "Leavening", + "light_fan": "Light Fan", + "low_temp_cooking": "Low Temperature Cooking", + "low_temp_cooking_fish": "Low Temperature Cooking - Fish", + "low_temp_cooking_fish_steam": "Low Temperature Steam Cooking - Fish", + "low_temp_cooking_meat": "Low Temperature Cooking - Meat", + "low_temp_cooking_meat_steam": "Low Temperature Steam Cooking - Meat", + "low_temp_cooking_steam": "Low Temperature Steam Cooking", + "meat": "Meat", + "meat_steam": "Steam-cooked meat", + "multi_level": "Multi-Level", + "paella": "Paella", + "pasta_and_bakery": "Pasta and Bakery", + "pizza": "Pizza", + "pyrolysis": "Pyrolysis", + "pyrolysis_plus": "Pyrolysis +", + "red_meat": "Red Meat", + "red_meat_steam": "Steam-cooked red meat", + "regenerate": "Regeneration", + "soft_plus": "Soft+", + "super_grill": "Super Grill", + "tailor_bake": "Tailor bake", + "tailor_bake_cata": "Tailor Bake", + "tailor_bake_pyro": "Tailor Bake", + "vegetables": "Vegetables", + "vegetables_cata": "Vegetables", + "vegetables_pyro": "Vegetables", + "water_discharge": "Water Drain", + "white_meat": "White Meat", + "white_meat_steam": "Steam-cooked white meat", + "iot_standard_boiling": "Boiling", + "iot_standard_frying": "Frying", + "iot_standard_keep_warm": "Keep Warm", + "iot_standard_melting": "Melting", + "iot_standard_simmering": "Simmering" + } + }, + "programs_dw": { + "state": { + "59_min": "Rapid 59'", + "auto_care": "Auto Care", + "auto_care_soil": "Auto Care", + "auto_hygiene": "Auto Hygiene", + "auto_plus": "AutoPlus", + "auto_rapid": "Auto Rapid", + "auto_sensor": "Auto Sensor", + "auto_sensor_soil": "Auto Sensor", + "auto_universal": "Auto Universal 50 - 60\u00b0C", + "auto_universal_plus": "Auto Universal+ 65 - 75\u00b0C", + "auto_universal_plus_soil": "Auto Universal+ 65 - 75\u00b0C", + "auto_universal_soil": "Auto Universal 50 - 60\u00b0C", + "auto_wash": "Auto Wash", + "auto_wash_soil": "Auto Wash", + "classe_a_59": "A Wash 59' 65\u00b0C", + "delicate": "Delicate 45\u00b0C", + "dishwasher_care": "Limescale cleaning", + "eco": "Eco", + "eco_asynch": "Eco 45\u00b0C", + "eco_bldc": "Eco 45\u00b0C", + "eco_synch": "Eco 45\u00b0C", + "gentle_wash": "Gentle wash", + "glass": "Glass", + "glassware": "Glassware 45\u00b0C", + "glass_care": "Glass Care", + "hygiene": "Hygiene", + "hygiene_plus": "Hygiene+ 75\u00b0C", + "intensive": "Intensive", + "intensive_rapid": "Intensive Rapid", + "iot_auto_sensor": "Auto Sensor", + "iot_auto_universal_soil": "Auto Universal 50 - 60\u00b0C", + "iot_auto_wash_soil": "Auto Wash", + "iot_baby_care": "Baby Care", + "iot_breakfast": "Breakfast", + "iot_checkup": "Check-Up", + "iot_china_crystals": "China Crystals", + "iot_classe_a_59": "Rapid 59'", + "iot_cocktail_glasses": "Coktail Glasses", + "iot_cocktail_glasses_soil": "Coktail Glasses", + "iot_daily_care": "Daily Care", + "iot_daily_care_soil": "Daily Care", + "iot_delicate": "Delicate 45\u00b0C", + "iot_dinner_for_two": "Dinner for 2", + "iot_dinner_for_two_soil": "Dinner for 2", + "iot_dreft_quick_cycle": "Dreft Quick", + "iot_eco_asynch": "Eco 45\u00b0C", + "iot_eco_bldc": "Eco 45\u00b0C", + "iot_eco_synch": "Eco 45\u00b0C", + "iot_extra_hygiene": "Extra Hygiene", + "iot_fairy_quick_cycle": "Fairy Short", + "iot_happy_hour": "Happy Hour", + "iot_jar_quick_cycle": "Jar Quick", + "iot_party": "Party", + "iot_party_soil": "Party", + "iot_pizza_menu": "Pizza Menu", + "iot_pizza_menu_soil": "Pizza Menu", + "iot_plastic_tupperware": "Plastic & Tupperware", + "iot_porcelain": "Porcelain", + "iot_pot_and_pans": "Pot & Pans", + "iot_pot_and_pans_soil": "Pot & Pans", + "iot_power_mix_wash": "Power Mix Wash", + "iot_power_mix_wash_soil": "Power Mix Wash", + "iot_prewash": "Pre-wash", + "iot_pyrex_and_glassware": "Pyrex & Glassware", + "iot_rapid_29": "Rapid 29'", + "iot_rapid_39": "Rapid 39' 60\u00b0C", + "iot_single": "Single", + "iot_steam": "Steam 75\u00b0C", + "iot_super_flash": "Super Flash", + "iot_super_wash": "Super Wash", + "iot_turbopower": "TurboPower", + "iot_universal": "Universal 60\u00b0C", + "iot_wok_grids_maxi_pans": "Special Pans (Wok, Grids & Maxi Pans)", + "iot_wok_grids_maxi_pans_soil": "Special Pans (Wok, Grids & Maxi Pans)", + "iot_yes_quick_cycle": "Yes Quick", + "night": "Night 55\u00b0C", + "prewash": "Pre-wash", + "rapid_20": "Rapid 20'", + "rapid_24": "Rapid 24'", + "rapid_29": "Rapid 29' 50\u00b0C", + "rapid_35": "Wash&Dry 35'", + "rapid_39": "Rapid 39' 60\u00b0C", + "rapid_49": "Rapid 49'", + "rapid_59": "Rapid 59'", + "sanitising": "Sanitising", + "silence": "Silence", + "silent": "Silent", + "silent_care": "Silent Care", + "smart_ai": "Smart AI", + "smart_ai_pro": "Smart AI Pro", + "smart_ai_rapid": "Smart AI Rapid", + "special": "Special", + "special_pw_prz": "Special", + "steam": "Steam 75\u00b0C", + "steam_plus": "Steam Plus 75\u00b0C", + "total_care": "Total Care 50\u00b0C", + "ultra_silence": "Ultra Silence 55\u00b0C", + "ultra_silent": "Ultra Silent 55\u00b0C", + "universal": "Universal 60\u00b0C", + "universal_plus": "Universal Plus 70\u00b0C", + "zone_wash": "Flex Zone Wash", + "zoom_39": "Zoom 39 min" + } + } } - }, - "programs_dw": { - "state": { - "59_min": "Rapid 59'", - "auto_care": "Auto Care", - "auto_care_soil": "Auto Care", - "auto_hygiene": "Auto Hygiene", - "auto_plus": "AutoPlus", - "auto_rapid": "Auto Rapid", - "auto_sensor": "Auto Sensor", - "auto_sensor_soil": "Auto Sensor", - "auto_universal": "Auto Universal 50 - 60°C", - "auto_universal_plus": "Auto Universal+ 65 - 75°C", - "auto_universal_plus_soil": "Auto Universal+ 65 - 75°C", - "auto_universal_soil": "Auto Universal 50 - 60°C", - "auto_wash": "Auto Wash", - "auto_wash_soil": "Auto Wash", - "classe_a_59": "A Wash 59' 65°C", - "delicate": "Delicate 45°C", - "dishwasher_care": "Limescale cleaning", - "eco": "Eco", - "eco_asynch": "Eco 45°C", - "eco_bldc": "Eco 45°C", - "eco_synch": "Eco 45°C", - "gentle_wash": "Gentle wash", - "glass": "Glass", - "glassware": "Glassware 45°C", - "glass_care": "Glass Care", - "hygiene": "Hygiene", - "hygiene_plus": "Hygiene+ 75°C", - "intensive": "Intensive", - "intensive_rapid": "Intensive Rapid", - "iot_auto_sensor": "Auto Sensor", - "iot_auto_universal_soil": "Auto Universal 50 - 60°C", - "iot_auto_wash_soil": "Auto Wash", - "iot_baby_care": "Baby Care", - "iot_breakfast": "Breakfast", - "iot_checkup": "Check-Up", - "iot_china_crystals": "China Crystals", - "iot_classe_a_59": "Rapid 59'", - "iot_cocktail_glasses": "Coktail Glasses", - "iot_cocktail_glasses_soil": "Coktail Glasses", - "iot_daily_care": "Daily Care", - "iot_daily_care_soil": "Daily Care", - "iot_delicate": "Delicate 45°C", - "iot_dinner_for_two": "Dinner for 2", - "iot_dinner_for_two_soil": "Dinner for 2", - "iot_dreft_quick_cycle": "Dreft Quick", - "iot_eco_asynch": "Eco 45°C", - "iot_eco_bldc": "Eco 45°C", - "iot_eco_synch": "Eco 45°C", - "iot_extra_hygiene": "Extra Hygiene", - "iot_fairy_quick_cycle": "Fairy Short", - "iot_happy_hour": "Happy Hour", - "iot_jar_quick_cycle": "Jar Quick", - "iot_party": "Party", - "iot_party_soil": "Party", - "iot_pizza_menu": "Pizza Menu", - "iot_pizza_menu_soil": "Pizza Menu", - "iot_plastic_tupperware": "Plastic & Tupperware", - "iot_porcelain": "Porcelain", - "iot_pot_and_pans": "Pot & Pans", - "iot_pot_and_pans_soil": "Pot & Pans", - "iot_power_mix_wash": "Power Mix Wash", - "iot_power_mix_wash_soil": "Power Mix Wash", - "iot_prewash": "Pre-wash", - "iot_pyrex_and_glassware": "Pyrex & Glassware", - "iot_rapid_29": "Rapid 29'", - "iot_rapid_39": "Rapid 39' 60°C", - "iot_single": "Single", - "iot_steam": "Steam 75°C", - "iot_super_flash": "Super Flash", - "iot_super_wash": "Super Wash", - "iot_turbopower": "TurboPower", - "iot_universal": "Universal 60°C", - "iot_wok_grids_maxi_pans": "Special Pans (Wok, Grids & Maxi Pans)", - "iot_wok_grids_maxi_pans_soil": "Special Pans (Wok, Grids & Maxi Pans)", - "iot_yes_quick_cycle": "Yes Quick", - "night": "Night 55°C", - "prewash": "Pre-wash", - "rapid_20": "Rapid 20'", - "rapid_24": "Rapid 24'", - "rapid_29": "Rapid 29' 50°C", - "rapid_35": "Wash&Dry 35'", - "rapid_39": "Rapid 39' 60°C", - "rapid_49": "Rapid 49'", - "rapid_59": "Rapid 59'", - "sanitising": "Sanitising", - "silence": "Silence", - "silent": "Silent", - "silent_care": "Silent Care", - "smart_ai": "Smart AI", - "smart_ai_pro": "Smart AI Pro", - "smart_ai_rapid": "Smart AI Rapid", - "special": "Special", - "special_pw_prz": "Special", - "steam": "Steam 75°C", - "steam_plus": "Steam Plus 75°C", - "total_care": "Total Care 50°C", - "ultra_silence": "Ultra Silence 55°C", - "ultra_silent": "Ultra Silent 55°C", - "universal": "Universal 60°C", - "universal_plus": "Universal Plus 70°C", - "zone_wash": "Flex Zone Wash", - "zoom_39": "Zoom 39 min" - } - } } - } -} +} \ No newline at end of file diff --git a/custom_components/hon/translations/es.json b/custom_components/hon/translations/es.json new file mode 100644 index 0000000..b260a56 --- /dev/null +++ b/custom_components/hon/translations/es.json @@ -0,0 +1,71 @@ +{ + "entity": { + "sensor": { + "washing_modes": { + "state": { + "0": "Listo", + "1": "Listo", + "3": "Pausa", + "4": "Programado", + "5": "Programado", + "6": "Error", + "7": "Listo" + } + }, + "program_phases_wm": { + "state": { + "0": "Listo", + "1": "Lavado", + "2": "Lavado", + "3": "Centrifugado", + "4": "Aclarado", + "5": "Aclarado", + "6": "Aclarado", + "7": "Secado", + "9": "Vapor", + "10": "Listo", + "11": "Centrifugado", + "12": "Peso ", + "13": "Peso ", + "14": "Lavado", + "15": "Lavado", + "16": "Lavado", + "17": "Aclarado", + "18": "Aclarado", + "19": "Programado", + "20": "Ropa fresca", + "24": "Refrescar", + "25": "Lavado", + "26": "Calentamiento", + "27": "Lavado" + } + }, + "program_phases_td": { + "state": { + "0": "Listo", + "1": "Secado", + "2": "Secado", + "3": "Enfriar", + "13": "Enfriar", + "14": "Secado", + "15": "Secado", + "16": "Enfriar", + "18": "Ropa fresca", + "19": "Secado", + "20": "Secado" + } + }, + "program_phases_dw": { + "state": { + "0": "Listo", + "1": "Prelavado", + "2": "Lavado", + "3": "Aclarado", + "4": "Secado", + "5": "Listo", + "6": "Hot rinse" + } + } + } + } +} \ No newline at end of file diff --git a/custom_components/hon/translations/fr.json b/custom_components/hon/translations/fr.json new file mode 100644 index 0000000..7fa1af7 --- /dev/null +++ b/custom_components/hon/translations/fr.json @@ -0,0 +1,71 @@ +{ + "entity": { + "sensor": { + "washing_modes": { + "state": { + "0": "Pr\u00eat", + "1": "Pr\u00eat", + "3": "Pause", + "4": "Planifi\u00e9", + "5": "Planifi\u00e9", + "6": "Erreur", + "7": "Pr\u00eat" + } + }, + "program_phases_wm": { + "state": { + "0": "Pr\u00eat", + "1": "Lavage", + "2": "Lavage", + "3": "Essorage", + "4": "Rin\u00e7age", + "5": "Rin\u00e7age", + "6": "Rin\u00e7age", + "7": "S\u00e9chage", + "9": "Vapeur d'eau", + "10": "Pr\u00eat", + "11": "Essorage", + "12": "Calcul du poids ", + "13": "Calcul du poids ", + "14": "Lavage", + "15": "Lavage", + "16": "Lavage", + "17": "Rin\u00e7age", + "18": "Rin\u00e7age", + "19": "Planifi\u00e9", + "20": "Keep Fresh", + "24": "Rafra\u00eechissement", + "25": "Lavage", + "26": "Chauffage", + "27": "Lavage" + } + }, + "program_phases_td": { + "state": { + "0": "Pr\u00eat", + "1": "S\u00e9chage", + "2": "S\u00e9chage", + "3": "Refroidissement", + "13": "Refroidissement", + "14": "S\u00e9chage", + "15": "S\u00e9chage", + "16": "Refroidissement", + "18": "Keep Fresh", + "19": "S\u00e9chage", + "20": "S\u00e9chage" + } + }, + "program_phases_dw": { + "state": { + "0": "Pr\u00eat", + "1": "Pr\u00e9lavage", + "2": "Lavage", + "3": "Rin\u00e7age", + "4": "S\u00e9chage", + "5": "Pr\u00eat", + "6": "Hot rinse" + } + } + } + } +} \ No newline at end of file diff --git a/custom_components/hon/translations/he.json b/custom_components/hon/translations/he.json new file mode 100644 index 0000000..8f858f7 --- /dev/null +++ b/custom_components/hon/translations/he.json @@ -0,0 +1,71 @@ +{ + "entity": { + "sensor": { + "washing_modes": { + "state": { + "0": "\u05de\u05d5\u05bc\u05db\u05b8\u05df", + "1": "\u05de\u05d5\u05bc\u05db\u05b8\u05df", + "3": "\u05d4\u05b7\u05e4\u05e1\u05b8\u05e7\u05b8\u05d4", + "4": "\u05de\u05ea\u05d5\u05d6\u05de\u05df", + "5": "\u05de\u05ea\u05d5\u05d6\u05de\u05df", + "6": "\u05e9\u05c1\u05b0\u05d2\u05b4\u05d9\u05d0\u05b8\u05d4", + "7": "\u05de\u05d5\u05bc\u05db\u05b8\u05df" + } + }, + "program_phases_wm": { + "state": { + "0": "\u05de\u05d5\u05bc\u05db\u05b8\u05df", + "1": "\u05dc\u05b4\u05e9\u05c1\u05b0\u05d8\u05d5\u05b9\u05e3", + "2": "\u05dc\u05b4\u05e9\u05c1\u05b0\u05d8\u05d5\u05b9\u05e3", + "3": "Spin", + "4": "\u05dc\u05b4\u05e9\u05c1\u05b0\u05d8\u05d5\u05b9\u05e3", + "5": "\u05dc\u05b4\u05e9\u05c1\u05b0\u05d8\u05d5\u05b9\u05e3", + "6": "\u05dc\u05b4\u05e9\u05c1\u05b0\u05d8\u05d5\u05b9\u05e3", + "7": "\u05d9\u05b4\u05d1\u05bc\u05d5\u05bc\u05e9\u05c1", + "9": "\u05e7\u05b4\u05d9\u05d8\u05d5\u05b9\u05e8", + "10": "\u05de\u05d5\u05bc\u05db\u05b8\u05df", + "11": "Spin", + "12": "Weighing ", + "13": "Weighing ", + "14": "\u05dc\u05b4\u05e9\u05c1\u05b0\u05d8\u05d5\u05b9\u05e3", + "15": "\u05dc\u05b4\u05e9\u05c1\u05b0\u05d8\u05d5\u05b9\u05e3", + "16": "\u05dc\u05b4\u05e9\u05c1\u05b0\u05d8\u05d5\u05b9\u05e3", + "17": "\u05dc\u05b4\u05e9\u05c1\u05b0\u05d8\u05d5\u05b9\u05e3", + "18": "\u05dc\u05b4\u05e9\u05c1\u05b0\u05d8\u05d5\u05b9\u05e3", + "19": "\u05de\u05ea\u05d5\u05d6\u05de\u05df", + "20": "\u05e9\u05de\u05d5\u05e8 \u05e2\u05dc \u05d8\u05e8\u05d9\u05d5\u05ea", + "24": "Refresh", + "25": "\u05dc\u05b4\u05e9\u05c1\u05b0\u05d8\u05d5\u05b9\u05e3", + "26": "Heating", + "27": "\u05dc\u05b4\u05e9\u05c1\u05b0\u05d8\u05d5\u05b9\u05e3" + } + }, + "program_phases_td": { + "state": { + "0": "\u05de\u05d5\u05bc\u05db\u05b8\u05df", + "1": "Drying", + "2": "\u05d9\u05b4\u05d1\u05bc\u05d5\u05bc\u05e9\u05c1", + "3": "Cooldown", + "13": "Cooldown", + "14": "Drying", + "15": "Drying", + "16": "Cooldown", + "18": "Keep Fresh", + "19": "\u05d9\u05b4\u05d1\u05bc\u05d5\u05bc\u05e9\u05c1", + "20": "\u05d9\u05b4\u05d1\u05bc\u05d5\u05bc\u05e9\u05c1" + } + }, + "program_phases_dw": { + "state": { + "0": "\u05de\u05d5\u05bc\u05db\u05b8\u05df", + "1": "Prewash", + "2": "\u05dc\u05b4\u05e9\u05c1\u05b0\u05d8\u05d5\u05b9\u05e3", + "3": "\u05dc\u05b4\u05e9\u05c1\u05b0\u05d8\u05d5\u05b9\u05e3", + "4": "\u05d9\u05b4\u05d1\u05bc\u05d5\u05bc\u05e9\u05c1", + "5": "\u05de\u05d5\u05bc\u05db\u05b8\u05df", + "6": "Hot rinse" + } + } + } + } +} \ No newline at end of file diff --git a/custom_components/hon/translations/hr.json b/custom_components/hon/translations/hr.json new file mode 100644 index 0000000..4543537 --- /dev/null +++ b/custom_components/hon/translations/hr.json @@ -0,0 +1,71 @@ +{ + "entity": { + "sensor": { + "washing_modes": { + "state": { + "0": "Spremno", + "1": "Spremno", + "3": "Zaustavi", + "4": "Zakazano", + "5": "Zakazano", + "6": "Gre\u0161ka", + "7": "Spremno" + } + }, + "program_phases_wm": { + "state": { + "0": "Spremno", + "1": "Pranje", + "2": "Pranje", + "3": "Okretaj", + "4": "Ispiranje", + "5": "Ispiranje", + "6": "Ispiranje", + "7": "Su\u0161enje", + "9": "Para", + "10": "Spremno", + "11": "Okretaj", + "12": "Mjerenje te\u017eine ", + "13": "Mjerenje te\u017eine ", + "14": "Pranje", + "15": "Pranje", + "16": "Pranje", + "17": "Ispiranje", + "18": "Ispiranje", + "19": "Zakazano", + "20": "Odr\u017eavanje svje\u017eine", + "24": "Protiv neugodnih mirisa", + "25": "Pranje", + "26": "Grijanje", + "27": "Pranje" + } + }, + "program_phases_td": { + "state": { + "0": "Spremno", + "1": "Su\u0161enje", + "2": "Su\u0161enje", + "3": "Hla\u0111enje", + "13": "Hla\u0111enje", + "14": "Su\u0161enje", + "15": "Su\u0161enje", + "16": "Hla\u0111enje", + "18": "Odr\u017ei svje\u017eim", + "19": "Su\u0161enje", + "20": "Su\u0161enje" + } + }, + "program_phases_dw": { + "state": { + "0": "Spremno", + "1": "Pretpranje", + "2": "Pranje", + "3": "Ispiranje", + "4": "Su\u0161enje", + "5": "Spremno", + "6": "Hot rinse" + } + } + } + } +} \ No newline at end of file diff --git a/custom_components/hon/translations/it.json b/custom_components/hon/translations/it.json index ac98e76..6eab39d 100644 --- a/custom_components/hon/translations/it.json +++ b/custom_components/hon/translations/it.json @@ -26,7 +26,7 @@ "errors": { "state": { "00": "Nessun Errore", - "100000000000": "E2: Controllare se la porta è chiusa correttamente", + "100000000000": "E2: Controllare se la porta \u00e8 chiusa correttamente", "8000000000000": "E4: Controllare l'approvvigionamento idrico" } }, @@ -72,13 +72,78 @@ "13": "Pronto Armadio", "14": "Extra Dry H-3" } + }, + "washing_modes": { + "state": { + "0": "Pronta", + "1": "Pronta", + "3": "Pausa", + "4": "Pianificato", + "5": "Pianificato", + "6": "Errore", + "7": "Pronta" + } + }, + "program_phases_wm": { + "state": { + "0": "Pronta", + "1": "Lavaggio", + "2": "Lavaggio", + "3": "Centrifuga", + "4": "Risciacqui", + "5": "Risciacqui", + "6": "Risciacqui", + "7": "Asciugatura", + "9": "Vapore", + "10": "Pronta", + "11": "Centrifuga", + "12": "Pesatura", + "13": "Pesatura", + "14": "Lavaggio", + "15": "Lavaggio", + "16": "Lavaggio", + "17": "Risciacqui", + "18": "Risciacqui", + "19": "Pianificato", + "20": "Keep Fresh", + "24": "Rinfresca", + "25": "Lavaggio", + "26": "Riscaldamento", + "27": "Lavaggio" + } + }, + "program_phases_td": { + "state": { + "0": "Pronta", + "1": "Asciugatura", + "2": "Asciugatura", + "3": "Raffreddamento", + "13": "Raffreddamento", + "14": "Asciugatura", + "15": "Asciugatura", + "16": "Raffreddamento", + "18": "Keep Fresh", + "19": "Asciugatura", + "20": "Asciugatura" + } + }, + "program_phases_dw": { + "state": { + "0": "Pronta", + "1": "Prelavaggio", + "2": "Lavaggio", + "3": "Risciacqui", + "4": "Asciugatura", + "5": "Pronta", + "6": "Risciacquo caldo " + } } }, "select": { "programs": { "state": { - "20_degrees_coloured_cottons": "20° Colorati e Cotone", - "20_degrees_new_energy_label": "20°C", + "20_degrees_coloured_cottons": "20\u00b0 Colorati e Cotone", + "20_degrees_new_energy_label": "20\u00b0C", "active_steam": "Vapore", "active_wash": "Lavaggio attivo", "active_wash_steam": "Lavaggio attivo + Vapore", @@ -89,7 +154,7 @@ "all_in_one_59_steam": "Lavaggio attivo + Vapore", "autocare": "Autocare", "autoclean": "Pulizia del tamburo", - "baby_60": "Bambino 60°C", + "baby_60": "Bambino 60\u00b0C", "care_14": "Rapido 14'", "care_30": "Rapido 30'", "care_44": "Rapido 44'", @@ -115,7 +180,7 @@ "fresh_care_steam": "Fresh Care + Vapore", "handwash_wool": "Lavaggio A Mano + Lana", "high_dry": "Asciugatura Alta", - "hqd_20_degrees": "Cotone 20℃", + "hqd_20_degrees": "Cotone 20\u2103", "hqd_allergy": "Anti allergenici", "hqd_autoclean": "Pulizia del tamburo", "hqd_babycare": "Bambino", @@ -178,14 +243,14 @@ "hqd_wool": "Lana", "hqd_working_suit": "Completo da lavoro", "hygiene_59": "Igiene Plus 59'", - "hygiene_60": "Igiene 60°C", + "hygiene_60": "Igiene 60\u00b0C", "hygiene_plus_59": "Igiene Plus 59'", "hygiene_plus_59_min": "Igiene Plus 59'", "hygiene_pro _49_MIN": "Igiene Pro 49'", "hygiene_pro_49_min": "Igiene Pro 49'", "hygiene_pro_steam": "Hygiene Pro + Vapore", - "intensive_40": "Intensivo 40°C", - "intensive_40_steam": "Intensivo 40°C + Vapore", + "intensive_40": "Intensivo 40\u00b0C", + "intensive_40_steam": "Intensivo 40\u00b0C + Vapore", "iot_active_steam": "Vapore", "iot_active_wash_steam": "Active Wash + Vapore", "iot_allergy_care_pro": "Allergy Care Pro", @@ -204,7 +269,7 @@ "iot_dry_cotton_dry": "Asciugatura cotone", "iot_dry_cuddly_toys": "Peluches", "iot_dry_curtains": "Tende", - "iot_dry_dehumidifier": "Rimuovi umidità", + "iot_dry_dehumidifier": "Rimuovi umidit\u00e0", "iot_dry_delicates_antiallergy": "Antiallergia Delicati", "iot_dry_delicate_tablecloths": "Tovaglie delicate", "iot_dry_denim_jeans": "Denim - Jeans", @@ -225,7 +290,7 @@ "iot_easy_iron": "Stiro Facile", "iot_fresh_care_steam": "Fresh Care + Vapore", "iot_hygiene_pro_steam": "Hygiene Pro + Vapore", - "iot_intensive_40_steam": "Intensivo 40°C + Vapore", + "iot_intensive_40_steam": "Intensivo 40\u00b0C + Vapore", "iot_mixed_steam": "Misti + Vapore", "iot_mix_and_colour_59_steam": "Misti e Colorati 59' + Vapore", "iot_perfect_cotton_59_steam": "Cotone Perfetto 59' + Vapore", diff --git a/custom_components/hon/translations/nl.json b/custom_components/hon/translations/nl.json new file mode 100644 index 0000000..b1f6b0e --- /dev/null +++ b/custom_components/hon/translations/nl.json @@ -0,0 +1,71 @@ +{ + "entity": { + "sensor": { + "washing_modes": { + "state": { + "0": "Klaar", + "1": "Klaar", + "3": "Pauze", + "4": "Gepland", + "5": "Gepland", + "6": "Fout", + "7": "Klaar" + } + }, + "program_phases_wm": { + "state": { + "0": "Klaar", + "1": "Wassen", + "2": "Wassen", + "3": "Centrifugeren", + "4": "Spoelen", + "5": "Spoelen", + "6": "Spoelen", + "7": "Drogen", + "9": "Stoom", + "10": "Klaar", + "11": "Centrifugeren", + "12": "Wegen ", + "13": "Wegen ", + "14": "Wassen", + "15": "Wassen", + "16": "Wassen", + "17": "Spoelen", + "18": "Spoelen", + "19": "Gepland", + "20": "Fris houden", + "24": "Opfrissen", + "25": "Wassen", + "26": "Verwarming", + "27": "Wassen" + } + }, + "program_phases_td": { + "state": { + "0": "Klaar", + "1": "Drogen", + "2": "Drogen", + "3": "Afkoelen", + "13": "Afkoelen", + "14": "Drogen", + "15": "Drogen", + "16": "Afkoelen", + "18": "Fris houden", + "19": "Drogen", + "20": "Drogen" + } + }, + "program_phases_dw": { + "state": { + "0": "Klaar", + "1": "Voorwassen", + "2": "Wassen", + "3": "Spoelen", + "4": "Drogen", + "5": "Klaar", + "6": "Hot rinse" + } + } + } + } +} \ No newline at end of file diff --git a/custom_components/hon/translations/pl.json b/custom_components/hon/translations/pl.json new file mode 100644 index 0000000..9299b61 --- /dev/null +++ b/custom_components/hon/translations/pl.json @@ -0,0 +1,71 @@ +{ + "entity": { + "sensor": { + "washing_modes": { + "state": { + "0": "Gotowe", + "1": "Gotowe", + "3": "Zatrzymaj", + "4": "Zaplanowane", + "5": "Zaplanowane", + "6": "B\u0142\u0105d", + "7": "Gotowe" + } + }, + "program_phases_wm": { + "state": { + "0": "Gotowe", + "1": "Pranie", + "2": "Pranie", + "3": "Wirowanie", + "4": "P\u0142ukanie", + "5": "P\u0142ukanie", + "6": "P\u0142ukanie", + "7": "Suszenie", + "9": "Para", + "10": "Gotowe", + "11": "Wirowanie", + "12": "Wa\u017cenie ", + "13": "Wa\u017cenie ", + "14": "Pranie", + "15": "Pranie", + "16": "Pranie", + "17": "P\u0142ukanie", + "18": "P\u0142ukanie", + "19": "Zaplanowane", + "20": "Utrzymaj \u015bwie\u017co\u015b\u0107", + "24": "Od\u015bwie\u017canie", + "25": "Pranie", + "26": "Ogrzewanie", + "27": "Pranie" + } + }, + "program_phases_td": { + "state": { + "0": "Gotowe", + "1": "Suszenie", + "2": "Suszenie", + "3": "Ch\u0142odzenie", + "13": "Ch\u0142odzenie", + "14": "Suszenie", + "15": "Suszenie", + "16": "Ch\u0142odzenie", + "18": "Utrzymaj \u015bwie\u017co\u015b\u0107", + "19": "Suszenie", + "20": "Suszenie" + } + }, + "program_phases_dw": { + "state": { + "0": "Gotowe", + "1": "Zmywanie wst\u0119pne", + "2": "Pranie", + "3": "P\u0142ukanie", + "4": "Suszenie", + "5": "Gotowe", + "6": "Hot rinse" + } + } + } + } +} \ No newline at end of file diff --git a/custom_components/hon/translations/pt.json b/custom_components/hon/translations/pt.json new file mode 100644 index 0000000..6d14111 --- /dev/null +++ b/custom_components/hon/translations/pt.json @@ -0,0 +1,71 @@ +{ + "entity": { + "sensor": { + "washing_modes": { + "state": { + "0": "Pronto", + "1": "Pronto", + "3": "Pausa", + "4": "Agendado", + "5": "Agendado", + "6": "Erro", + "7": "Pronto" + } + }, + "program_phases_wm": { + "state": { + "0": "Pronto", + "1": "Lavar", + "2": "Lavar", + "3": "Centrifugar", + "4": "Lavagem", + "5": "Lavagem", + "6": "Lavagem", + "7": "Secagem", + "9": "Vapor", + "10": "Pronto", + "11": "Centrifugar", + "12": "Pesagem ", + "13": "Pesagem ", + "14": "Lavar", + "15": "Lavar", + "16": "Lavar", + "17": "Lavagem", + "18": "Lavagem", + "19": "Agendado", + "20": "Manter Fresco", + "24": "Refrescar", + "25": "Lavar", + "26": "Aquecimento", + "27": "Lavar" + } + }, + "program_phases_td": { + "state": { + "0": "Pronto", + "1": "Secagem", + "2": "Secagem", + "3": "Arrefecimento", + "13": "Arrefecimento", + "14": "Secagem", + "15": "Secagem", + "16": "Arrefecimento", + "18": "Manter Fresco", + "19": "Secagem", + "20": "Secagem" + } + }, + "program_phases_dw": { + "state": { + "0": "Pronto", + "1": "Pr\u00e9-lavagem", + "2": "Lavar", + "3": "Lavagem", + "4": "Secagem", + "5": "Pronto", + "6": "Hot rinse" + } + } + } + } +} \ No newline at end of file diff --git a/custom_components/hon/translations/ro.json b/custom_components/hon/translations/ro.json new file mode 100644 index 0000000..5e79239 --- /dev/null +++ b/custom_components/hon/translations/ro.json @@ -0,0 +1,71 @@ +{ + "entity": { + "sensor": { + "washing_modes": { + "state": { + "0": "Preg\u0103tit", + "1": "Preg\u0103tit", + "3": "Pauz\u0103", + "4": "Programat", + "5": "Programat", + "6": "Eroare", + "7": "Preg\u0103tit" + } + }, + "program_phases_wm": { + "state": { + "0": "Preg\u0103tit", + "1": "Sp\u0103lare", + "2": "Sp\u0103lare", + "3": "Stoarcere", + "4": "Cl\u0103tire", + "5": "Cl\u0103tire", + "6": "Cl\u0103tire", + "7": "Uscare", + "9": "Abur", + "10": "Preg\u0103tit", + "11": "Stoarcere", + "12": "C\u00e2nt\u0103rire ", + "13": "C\u00e2nt\u0103rire ", + "14": "Sp\u0103lare", + "15": "Sp\u0103lare", + "16": "Sp\u0103lare", + "17": "Cl\u0103tire", + "18": "Cl\u0103tire", + "19": "Programat", + "20": "Men\u021binere prospe\u021bime", + "24": "Re\u00eemprosp\u0103tare", + "25": "Sp\u0103lare", + "26": "\u00cenc\u0103lzire", + "27": "Sp\u0103lare" + } + }, + "program_phases_td": { + "state": { + "0": "Preg\u0103tit", + "1": "Uscare", + "2": "Uscare", + "3": "R\u0103cire", + "13": "R\u0103cire", + "14": "Uscare", + "15": "Uscare", + "16": "R\u0103cire", + "18": "Men\u021binere prospe\u021bime", + "19": "Uscare", + "20": "Uscare" + } + }, + "program_phases_dw": { + "state": { + "0": "Preg\u0103tit", + "1": "Presp\u0103lare", + "2": "Sp\u0103lare", + "3": "Cl\u0103tire", + "4": "Uscare", + "5": "Preg\u0103tit", + "6": "Hot rinse" + } + } + } + } +} \ No newline at end of file diff --git a/custom_components/hon/translations/ru.json b/custom_components/hon/translations/ru.json new file mode 100644 index 0000000..9040110 --- /dev/null +++ b/custom_components/hon/translations/ru.json @@ -0,0 +1,71 @@ +{ + "entity": { + "sensor": { + "washing_modes": { + "state": { + "0": "\u0413\u043e\u0442\u043e\u0432\u043e", + "1": "\u0413\u043e\u0442\u043e\u0432\u043e", + "3": "\u041f\u0430\u0443\u0437\u0430", + "4": "\u0417\u0430\u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043e", + "5": "\u0417\u0430\u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043e", + "6": "\u041e\u0448\u0438\u0431\u043a\u0430", + "7": "\u0413\u043e\u0442\u043e\u0432\u043e" + } + }, + "program_phases_wm": { + "state": { + "0": "\u0413\u043e\u0442\u043e\u0432\u043e", + "1": "\u0421\u0442\u0438\u0440\u043a\u0430", + "2": "\u0421\u0442\u0438\u0440\u043a\u0430", + "3": "\u041e\u0442\u0436\u0438\u043c", + "4": "\u041f\u043e\u043b\u043e\u0441\u043a\u0430\u043d\u0438\u0435", + "5": "\u041f\u043e\u043b\u043e\u0441\u043a\u0430\u043d\u0438\u0435", + "6": "\u041f\u043e\u043b\u043e\u0441\u043a\u0430\u043d\u0438\u0435", + "7": "\u0421\u0443\u0448\u043a\u0430", + "9": "\u041f\u0430\u0440", + "10": "\u0413\u043e\u0442\u043e\u0432\u043e", + "11": "\u041e\u0442\u0436\u0438\u043c", + "12": "\u0412\u0437\u0432\u0435\u0448\u0438\u0432\u0430\u043d\u0438\u0435 ", + "13": "\u0412\u0437\u0432\u0435\u0448\u0438\u0432\u0430\u043d\u0438\u0435 ", + "14": "\u0421\u0442\u0438\u0440\u043a\u0430", + "15": "\u0421\u0442\u0438\u0440\u043a\u0430", + "16": "\u0421\u0442\u0438\u0440\u043a\u0430", + "17": "\u041f\u043e\u043b\u043e\u0441\u043a\u0430\u043d\u0438\u0435", + "18": "\u041f\u043e\u043b\u043e\u0441\u043a\u0430\u043d\u0438\u0435", + "19": "\u0417\u0430\u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043e", + "20": "\u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0441\u0432\u0435\u0436\u0435\u0441\u0442\u0438", + "24": "\u041e\u0441\u0432\u0435\u0436\u0438\u0442\u044c", + "25": "\u0421\u0442\u0438\u0440\u043a\u0430", + "26": "\u041d\u0430\u0433\u0440\u0435\u0432", + "27": "\u0421\u0442\u0438\u0440\u043a\u0430" + } + }, + "program_phases_td": { + "state": { + "0": "\u0413\u043e\u0442\u043e\u0432\u043e", + "1": "\u0421\u0443\u0448\u043a\u0430", + "2": "\u0421\u0443\u0448\u043a\u0430", + "3": "\u041e\u0445\u043b\u0430\u0436\u0434\u0435\u043d\u0438\u0435", + "13": "\u041e\u0445\u043b\u0430\u0436\u0434\u0435\u043d\u0438\u0435", + "14": "\u0421\u0443\u0448\u043a\u0430", + "15": "\u0421\u0443\u0448\u043a\u0430", + "16": "\u041e\u0445\u043b\u0430\u0436\u0434\u0435\u043d\u0438\u0435", + "18": "Keep Fresh (\u0421\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0441\u0432\u0435\u0436\u0435\u0441\u0442\u0438)", + "19": "\u0421\u0443\u0448\u043a\u0430", + "20": "\u0421\u0443\u0448\u043a\u0430" + } + }, + "program_phases_dw": { + "state": { + "0": "\u0413\u043e\u0442\u043e\u0432\u043e", + "1": "\u041f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u043c\u043e\u0439\u043a\u0430", + "2": "\u0421\u0442\u0438\u0440\u043a\u0430", + "3": "\u041f\u043e\u043b\u043e\u0441\u043a\u0430\u043d\u0438\u0435", + "4": "\u0421\u0443\u0448\u043a\u0430", + "5": "\u0413\u043e\u0442\u043e\u0432\u043e", + "6": "Hot rinse" + } + } + } + } +} \ No newline at end of file diff --git a/custom_components/hon/translations/sk.json b/custom_components/hon/translations/sk.json new file mode 100644 index 0000000..1691b37 --- /dev/null +++ b/custom_components/hon/translations/sk.json @@ -0,0 +1,71 @@ +{ + "entity": { + "sensor": { + "washing_modes": { + "state": { + "0": "Pripraven\u00e9", + "1": "Pripraven\u00e9", + "3": "Pozastavi\u0165", + "4": "Napl\u00e1novan\u00e9", + "5": "Napl\u00e1novan\u00e9", + "6": "Chyba", + "7": "Pripraven\u00e9" + } + }, + "program_phases_wm": { + "state": { + "0": "Pripraven\u00e9", + "1": "Pranie", + "2": "Pranie", + "3": "Odstre\u010fovanie", + "4": "Oplachovanie", + "5": "Oplachovanie", + "6": "Oplachovanie", + "7": "Su\u0161enie", + "9": "Para", + "10": "Pripraven\u00e9", + "11": "Odstre\u010fovanie", + "12": "V\u00e1\u017eenie ", + "13": "V\u00e1\u017eenie ", + "14": "Pranie", + "15": "Pranie", + "16": "Pranie", + "17": "Oplachovanie", + "18": "Oplachovanie", + "19": "Napl\u00e1novan\u00e9", + "20": "Uchova\u0165 svie\u017ee", + "24": "Osvie\u017eenie", + "25": "Pranie", + "26": "Ohrev", + "27": "Pranie" + } + }, + "program_phases_td": { + "state": { + "0": "Pripraven\u00e9", + "1": "Su\u0161enie", + "2": "Su\u0161enie", + "3": "Schladi\u0165", + "13": "Schladi\u0165", + "14": "Su\u0161enie", + "15": "Su\u0161enie", + "16": "Schladi\u0165", + "18": "Uchova\u0165 svie\u017ee", + "19": "Su\u0161enie", + "20": "Su\u0161enie" + } + }, + "program_phases_dw": { + "state": { + "0": "Pripraven\u00e9", + "1": "Predpierka", + "2": "Pranie", + "3": "Oplachovanie", + "4": "Su\u0161enie", + "5": "Pripraven\u00e9", + "6": "Hot rinse" + } + } + } + } +} \ No newline at end of file diff --git a/custom_components/hon/translations/sl.json b/custom_components/hon/translations/sl.json new file mode 100644 index 0000000..ddbf692 --- /dev/null +++ b/custom_components/hon/translations/sl.json @@ -0,0 +1,71 @@ +{ + "entity": { + "sensor": { + "washing_modes": { + "state": { + "0": "Pripravljen", + "1": "Pripravljen", + "3": "Premor", + "4": "Na\u010drtovano", + "5": "Na\u010drtovano", + "6": "Napaka", + "7": "Pripravljen" + } + }, + "program_phases_wm": { + "state": { + "0": "Pripravljen", + "1": "Pranje", + "2": "Pranje", + "3": "O\u017eemanje", + "4": "Izpiranje", + "5": "Izpiranje", + "6": "Izpiranje", + "7": "Su\u0161enje", + "9": "Para", + "10": "Pripravljen", + "11": "O\u017eemanje", + "12": "Tehtanje ", + "13": "Tehtanje ", + "14": "Pranje", + "15": "Pranje", + "16": "Pranje", + "17": "Izpiranje", + "18": "Izpiranje", + "19": "Na\u010drtovano", + "20": "Ohranjanje sve\u017eine", + "24": "Osve\u017eitev", + "25": "Pranje", + "26": "Ogrevanje", + "27": "Pranje" + } + }, + "program_phases_td": { + "state": { + "0": "Pripravljen", + "1": "Su\u0161enje", + "2": "Su\u0161enje", + "3": "Hlajenje", + "13": "Hlajenje", + "14": "Su\u0161enje", + "15": "Su\u0161enje", + "16": "Hlajenje", + "18": "Ohrani sve\u017ee", + "19": "Su\u0161enje", + "20": "Su\u0161enje" + } + }, + "program_phases_dw": { + "state": { + "0": "Pripravljen", + "1": "Predpranje", + "2": "Pranje", + "3": "Izpiranje", + "4": "Su\u0161enje", + "5": "Pripravljen", + "6": "Hot rinse" + } + } + } + } +} \ No newline at end of file diff --git a/custom_components/hon/translations/sr.json b/custom_components/hon/translations/sr.json new file mode 100644 index 0000000..0edb3bd --- /dev/null +++ b/custom_components/hon/translations/sr.json @@ -0,0 +1,71 @@ +{ + "entity": { + "sensor": { + "washing_modes": { + "state": { + "0": "Spremno", + "1": "Spremno", + "3": "Pauza", + "4": "Planirano", + "5": "Planirano", + "6": "Gre\u0161ka", + "7": "Spremno" + } + }, + "program_phases_wm": { + "state": { + "0": "Spremno", + "1": "Pranje", + "2": "Pranje", + "3": "Centrifuga", + "4": "Ispiranje", + "5": "Ispiranje", + "6": "Ispiranje", + "7": "Su\u0161enje", + "9": "Vodena para", + "10": "Spremno", + "11": "Centrifuga", + "12": "Vaganje ", + "13": "Vaganje ", + "14": "Pranje", + "15": "Pranje", + "16": "Pranje", + "17": "Ispiranje", + "18": "Ispiranje", + "19": "Planirano", + "20": "Odr\u017eavanje sve\u017eine", + "24": "Osve\u017eavanje", + "25": "Pranje", + "26": "Grejanje", + "27": "Pranje" + } + }, + "program_phases_td": { + "state": { + "0": "Spremno", + "1": "Su\u0161enje", + "2": "Su\u0161enje", + "3": "Hla\u0111enje", + "13": "Hla\u0111enje", + "14": "Su\u0161enje", + "15": "Su\u0161enje", + "16": "Hla\u0111enje", + "18": "O\u010duvanje sve\u017eine", + "19": "Su\u0161enje", + "20": "Su\u0161enje" + } + }, + "program_phases_dw": { + "state": { + "0": "Spremno", + "1": "Pretpranje", + "2": "Pranje", + "3": "Ispiranje", + "4": "Su\u0161enje", + "5": "Spremno", + "6": "Hot rinse" + } + } + } + } +} \ No newline at end of file diff --git a/custom_components/hon/translations/tr.json b/custom_components/hon/translations/tr.json new file mode 100644 index 0000000..f40af01 --- /dev/null +++ b/custom_components/hon/translations/tr.json @@ -0,0 +1,71 @@ +{ + "entity": { + "sensor": { + "washing_modes": { + "state": { + "0": "Haz\u0131r", + "1": "Haz\u0131r", + "3": "Duraklat", + "4": "Planland\u0131", + "5": "Planland\u0131", + "6": "Hata", + "7": "Haz\u0131r" + } + }, + "program_phases_wm": { + "state": { + "0": "Haz\u0131r", + "1": "Y\u0131kama", + "2": "Y\u0131kama", + "3": "S\u0131kma", + "4": "Durulama", + "5": "Durulama", + "6": "Durulama", + "7": "Kurutma", + "9": "Buhar", + "10": "Haz\u0131r", + "11": "S\u0131kma", + "12": "Tartma ", + "13": "Tartma ", + "14": "Y\u0131kama", + "15": "Y\u0131kama", + "16": "Y\u0131kama", + "17": "Durulama", + "18": "Durulama", + "19": "Planland\u0131", + "20": "Tazeleme", + "24": "Tazeleme", + "25": "Y\u0131kama", + "26": "Is\u0131tma", + "27": "Y\u0131kama" + } + }, + "program_phases_td": { + "state": { + "0": "Haz\u0131r", + "1": "Kurutma", + "2": "Kurutma", + "3": "So\u011futma", + "13": "So\u011futma", + "14": "Kurutma", + "15": "Kurutma", + "16": "So\u011futma", + "18": "Tazeleme", + "19": "Kurutma", + "20": "Kurutma" + } + }, + "program_phases_dw": { + "state": { + "0": "Haz\u0131r", + "1": "\u00d6n Y\u0131kama", + "2": "Y\u0131kama", + "3": "Durulama", + "4": "Kurutma", + "5": "Haz\u0131r", + "6": "Hot rinse" + } + } + } + } +} \ No newline at end of file diff --git a/custom_components/hon/translations/zh.json b/custom_components/hon/translations/zh.json new file mode 100644 index 0000000..55c2cd4 --- /dev/null +++ b/custom_components/hon/translations/zh.json @@ -0,0 +1,71 @@ +{ + "entity": { + "sensor": { + "washing_modes": { + "state": { + "0": "\u5c31\u7eea", + "1": "\u5c31\u7eea", + "3": "\u6682\u505c", + "4": "\u5df2\u8ba1\u5212", + "5": "\u5df2\u8ba1\u5212", + "6": "\u9519\u8bef", + "7": "\u5c31\u7eea" + } + }, + "program_phases_wm": { + "state": { + "0": "\u5c31\u7eea", + "1": "\u6d17\u6da4", + "2": "\u6d17\u6da4", + "3": "\u7529\u5e72", + "4": "\u6f02\u6d17", + "5": "\u6f02\u6d17", + "6": "\u6f02\u6d17", + "7": "\u70d8\u5e72", + "9": "\u84b8\u6c7d", + "10": "\u5c31\u7eea", + "11": "\u7529\u5e72", + "12": "\u6b63\u5728\u79f0\u91cd ", + "13": "\u6b63\u5728\u79f0\u91cd ", + "14": "\u6d17\u6da4", + "15": "\u6d17\u6da4", + "16": "\u6d17\u6da4", + "17": "\u6f02\u6d17", + "18": "\u6f02\u6d17", + "19": "\u5df2\u8ba1\u5212", + "20": "\u4fdd\u6301\u6e05\u65b0", + "24": "\u6e05\u65b0", + "25": "\u6d17\u6da4", + "26": "\u52a0\u70ed", + "27": "\u6d17\u6da4" + } + }, + "program_phases_td": { + "state": { + "0": "\u5c31\u7eea", + "1": "\u6b63\u5728\u70d8\u5e72", + "2": "\u70d8\u5e72", + "3": "\u51b7\u5374", + "13": "\u51b7\u5374", + "14": "\u6b63\u5728\u70d8\u5e72", + "15": "\u6b63\u5728\u70d8\u5e72", + "16": "\u51b7\u5374", + "18": "\u4fdd\u6301\u6e05\u65b0", + "19": "\u70d8\u5e72", + "20": "\u70d8\u5e72" + } + }, + "program_phases_dw": { + "state": { + "0": "\u5c31\u7eea", + "1": "\u9884\u6d17", + "2": "\u6d17\u6da4", + "3": "\u6f02\u6d17", + "4": "\u70d8\u5e72", + "5": "\u5c31\u7eea", + "6": "Hot rinse" + } + } + } + } +} \ No newline at end of file diff --git a/scripts/generate_translation.py b/scripts/generate_translation.py new file mode 100644 index 0000000..ae07d9a --- /dev/null +++ b/scripts/generate_translation.py @@ -0,0 +1,157 @@ +import asyncio +import json +from pathlib import Path + +from pyhon import HonAPI + +LANGUAGES = [ + "cs", + "de", + "el", + "en", + "es", + "fr", + "he", + "hr", + "it", + "nl", + "pl", + "pt", + "ro", + "ru", + "sk", + "sl", + "sr", + "tr", + "zh", +] + +WASHING_PR_PHASE = { + 0: "WASHING_CMD&CTRL.PHASE_READY.TITLE", + 1: "WASHING_CMD&CTRL.PHASE_WASHING.TITLE", + 2: "WASHING_CMD&CTRL.PHASE_WASHING.TITLE", + 3: "WASHING_CMD&CTRL.PHASE_SPIN.TITLE", + 4: "WASHING_CMD&CTRL.PHASE_RINSE.TITLE", + 5: "WASHING_CMD&CTRL.PHASE_RINSE.TITLE", + 6: "WASHING_CMD&CTRL.PHASE_RINSE.TITLE", + 7: "WASHING_CMD&CTRL.PHASE_DRYING.TITLE", + 9: "WASHING_CMD&CTRL.PHASE_STEAM.TITLE", + 10: "WASHING_CMD&CTRL.PHASE_READY.TITLE", + 11: "WASHING_CMD&CTRL.PHASE_SPIN.TITLE", + 12: "WASHING_CMD&CTRL.PHASE_WEIGHTING.TITLE", + 13: "WASHING_CMD&CTRL.PHASE_WEIGHTING.TITLE", + 14: "WASHING_CMD&CTRL.PHASE_WASHING.TITLE", + 15: "WASHING_CMD&CTRL.PHASE_WASHING.TITLE", + 16: "WASHING_CMD&CTRL.PHASE_WASHING.TITLE", + 17: "WASHING_CMD&CTRL.PHASE_RINSE.TITLE", + 18: "WASHING_CMD&CTRL.PHASE_RINSE.TITLE", + 19: "WASHING_CMD&CTRL.PHASE_SCHEDULED.TITLE", + 20: "WASHING_CMD&CTRL.PHASE_TUMBLING.TITLE", + 24: "WASHING_CMD&CTRL.PHASE_REFRESH.TITLE", + 25: "WASHING_CMD&CTRL.PHASE_WASHING.TITLE", + 26: "WASHING_CMD&CTRL.PHASE_HEATING.TITLE", + 27: "WASHING_CMD&CTRL.PHASE_WASHING.TITLE", +} +MACH_MODE = { + 0: "WASHING_CMD&CTRL.PHASE_READY.TITLE", + 1: "WASHING_CMD&CTRL.PHASE_READY.TITLE", + 3: "WASHING_CMD&CTRL.PHASE_PAUSE.TITLE", + 4: "WASHING_CMD&CTRL.PHASE_SCHEDULED.TITLE", + 5: "WASHING_CMD&CTRL.PHASE_SCHEDULED.TITLE", + 6: "WASHING_CMD&CTRL.PHASE_ERROR.TITLE", + 7: "WASHING_CMD&CTRL.PHASE_READY.TITLE", +} +TUMBLE_DRYER_PR_PHASE = { + 0: "WASHING_CMD&CTRL.PHASE_READY.TITLE", + 1: "TD_CMD&CTRL.STATUS_PHASE.PHASE_HEAT_STROKE", + 2: "WASHING_CMD&CTRL.PHASE_DRYING.TITLE", + 3: "TD_CMD&CTRL.STATUS_PHASE.PHASE_COOLDOWN", + 13: "TD_CMD&CTRL.STATUS_PHASE.PHASE_COOLDOWN", + 14: "TD_CMD&CTRL.STATUS_PHASE.PHASE_HEAT_STROKE", + 15: "TD_CMD&CTRL.STATUS_PHASE.PHASE_HEAT_STROKE", + 16: "TD_CMD&CTRL.STATUS_PHASE.PHASE_COOLDOWN", + 18: "WASHING_CMD&CTRL.PHASE_TUMBLING.DASHBOARD_TITLE", + 19: "WASHING_CMD&CTRL.PHASE_DRYING.TITLE", + 20: "WASHING_CMD&CTRL.PHASE_DRYING.TITLE", +} +DISHWASHER_PR_PHASE = { + 0: "WASHING_CMD&CTRL.PHASE_READY.TITLE", + 1: "WASHING_CMD&CTRL.PHASE_PREWASH.TITLE", + 2: "WASHING_CMD&CTRL.PHASE_WASHING.TITLE", + 3: "WASHING_CMD&CTRL.PHASE_RINSE.TITLE", + 4: "WASHING_CMD&CTRL.PHASE_DRYING.TITLE", + 5: "WASHING_CMD&CTRL.PHASE_READY.TITLE", + 6: "WASHING_CMD&CTRL.PHASE_HOT_RINSE.TITLE", +} + +SENSOR = { + "washing_modes": MACH_MODE, + "program_phases_wm": WASHING_PR_PHASE, + "program_phases_td": TUMBLE_DRYER_PR_PHASE, + "program_phases_dw": DISHWASHER_PR_PHASE, +} + + +async def check_translation_files(translations): + for language in LANGUAGES: + path = translations / f"{language}.json" + if not path.is_file(): + async with HonAPI(anonymous=True) as hon: + keys = await hon.translation_keys(language) + save_json(path, keys) + + +def load_hon_translations(): + translations = Path(__file__).parent / "translations" + translations.mkdir(exist_ok=True) + asyncio.run(check_translation_files(translations)) + return {f.stem: f for f in translations.glob("*.json")} + + +def load_hass_translations(): + translations = ( + Path(__file__).parent.parent / "custom_components" / "hon" / "translations" + ) + return {f.stem: f for f in translations.glob("*.json")} + + +def load_json(path): + if path: + with open(path, "r") as file: + return json.loads(file.read()) + return {} + + +def save_json(path, keys): + with open(path, "w") as json_file: + json_file.write(json.dumps(keys, indent=4)) + + +def load_key(full_key, json_data, fallback=None): + result = json_data.copy() + for key in full_key.split("."): + result = result.get(key, {}) + if not result and fallback: + return load_key(full_key, fallback) + return result or "" + + +def main(): + hass = load_hass_translations() + hon = load_hon_translations() + base_path = Path(__file__).parent.parent / "custom_components/hon/translations" + fallback = load_json(hon.get("en", "")) + for language in LANGUAGES: + original = load_json(hon.get(language, "")) + old = load_json(hass.get(language, "")) + for name, data in SENSOR.items(): + sensor = old.setdefault("entity", {}).setdefault("sensor", {}) + for number, phase in data.items(): + state = sensor.setdefault(name, {}).setdefault("state", {}) + if key := load_key(phase, original, fallback): + state[str(number)] = key + save_json(base_path / f"{language}.json", old) + + +if __name__ == "__main__": + main()