diff --git a/homeassistant/components/advantage_air/translations/zh-Hans.json b/homeassistant/components/advantage_air/translations/zh-Hans.json
index a25ab477c70aa4e492b3ab5961eee782897a62d8..db79116d5ead570e01848c99f528385db33e7034 100644
--- a/homeassistant/components/advantage_air/translations/zh-Hans.json
+++ b/homeassistant/components/advantage_air/translations/zh-Hans.json
@@ -1,5 +1,8 @@
 {
     "config": {
+        "error": {
+            "cannot_connect": "\u8fde\u63a5\u5931\u8d25"
+        },
         "step": {
             "user": {
                 "data": {
diff --git a/homeassistant/components/airly/translations/zh-Hans.json b/homeassistant/components/airly/translations/zh-Hans.json
new file mode 100644
index 0000000000000000000000000000000000000000..3d0d2f111b32226623f73c03d26a6124711e46ec
--- /dev/null
+++ b/homeassistant/components/airly/translations/zh-Hans.json
@@ -0,0 +1,17 @@
+{
+    "config": {
+        "error": {
+            "auth": "API \u5bc6\u7801\u9519\u8bef"
+        },
+        "step": {
+            "user": {
+                "data": {
+                    "api_key": "API \u5bc6\u7801",
+                    "latitude": "\u7eac\u5ea6",
+                    "longitude": "\u7ecf\u5ea6",
+                    "name": "\u540d\u79f0"
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/arcam_fmj/translations/zh-Hans.json b/homeassistant/components/arcam_fmj/translations/zh-Hans.json
new file mode 100644
index 0000000000000000000000000000000000000000..6e842e66fabfe4b0e2e69ba6e15339206afbc38e
--- /dev/null
+++ b/homeassistant/components/arcam_fmj/translations/zh-Hans.json
@@ -0,0 +1,7 @@
+{
+    "config": {
+        "abort": {
+            "cannot_connect": "\u8fde\u63a5\u5931\u8d25"
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/axis/translations/zh-Hans.json b/homeassistant/components/axis/translations/zh-Hans.json
index f7f6c8259ced145fabdf6421b9680a249b0ad3ef..32d738d838dcf23d67b3fb21f859e0de171dd533 100644
--- a/homeassistant/components/axis/translations/zh-Hans.json
+++ b/homeassistant/components/axis/translations/zh-Hans.json
@@ -1,5 +1,9 @@
 {
     "config": {
+        "error": {
+            "cannot_connect": "\u8fde\u63a5\u5931\u8d25",
+            "invalid_auth": "\u9a8c\u8bc1\u7801\u65e0\u6548"
+        },
         "step": {
             "user": {
                 "data": {
diff --git a/homeassistant/components/azure_devops/translations/zh-Hans.json b/homeassistant/components/azure_devops/translations/zh-Hans.json
new file mode 100644
index 0000000000000000000000000000000000000000..b0c629646e289c75077efcfdbd96bc46b6ed2dbc
--- /dev/null
+++ b/homeassistant/components/azure_devops/translations/zh-Hans.json
@@ -0,0 +1,8 @@
+{
+    "config": {
+        "error": {
+            "cannot_connect": "\u8fde\u63a5\u5931\u8d25",
+            "invalid_auth": "\u9a8c\u8bc1\u7801\u65e0\u6548"
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/binary_sensor/translations/zh-Hans.json b/homeassistant/components/binary_sensor/translations/zh-Hans.json
index b13a3622aca827934a33075758a205797e0f8157..fe16bd685ca159b2a4e19b080ac568754a059103 100644
--- a/homeassistant/components/binary_sensor/translations/zh-Hans.json
+++ b/homeassistant/components/binary_sensor/translations/zh-Hans.json
@@ -25,11 +25,13 @@
             "is_not_locked": "{entity_name} \u5df2\u89e3\u9501",
             "is_not_moist": "{entity_name} \u5e72\u71e5",
             "is_not_moving": "{entity_name} \u9759\u6b62",
+            "is_not_occupied": "{entity_name}\u6ca1\u6709\u4eba",
             "is_not_open": "{entity_name} \u5df2\u5173\u95ed",
             "is_not_plugged_in": "{entity_name} \u672a\u63d2\u5165",
             "is_not_powered": "{entity_name} \u672a\u901a\u7535",
             "is_not_present": "{entity_name} \u4e0d\u5728\u5bb6",
             "is_not_unsafe": "{entity_name} \u5b89\u5168",
+            "is_occupied": "{entity_name}\u6709\u4eba",
             "is_off": "{entity_name} \u5df2\u5173\u95ed",
             "is_on": "{entity_name} \u5df2\u5f00\u542f",
             "is_open": "{entity_name} \u5df2\u6253\u5f00",
@@ -49,8 +51,12 @@
             "gas": "{entity_name} \u5f00\u59cb\u68c0\u6d4b\u5230\u71c3\u6c14\u6cc4\u6f0f",
             "hot": "{entity_name} \u53d8\u70ed",
             "light": "{entity_name} \u5f00\u59cb\u68c0\u6d4b\u5230\u5149\u7ebf",
+            "locked": "{entity_name}\u5df2\u4e0a\u9501",
             "motion": "{entity_name} \u68c0\u6d4b\u5230\u6709\u4eba",
+            "moving": "{entity_name}\u5f00\u59cb\u79fb\u52a8",
             "no_motion": "{entity_name} \u672a\u68c0\u6d4b\u5230\u6709\u4eba",
+            "not_bat_low": "{entity_name}\u7535\u91cf\u6b63\u5e38",
+            "not_locked": "{entity_name}\u5df2\u89e3\u9501",
             "not_opened": "{entity_name}\u5df2\u5173\u95ed",
             "turned_off": "{entity_name} \u88ab\u5173\u95ed",
             "turned_on": "{entity_name} \u88ab\u6253\u5f00"
diff --git a/homeassistant/components/braviatv/translations/zh-Hans.json b/homeassistant/components/braviatv/translations/zh-Hans.json
index c60c3f800efb1919beadf119c344967fbb3a70e6..c839a271614713e140232d1d5018cf74ce542e43 100644
--- a/homeassistant/components/braviatv/translations/zh-Hans.json
+++ b/homeassistant/components/braviatv/translations/zh-Hans.json
@@ -1,6 +1,11 @@
 {
     "config": {
         "step": {
+            "authorize": {
+                "data": {
+                    "pin": "PIN \u7801"
+                }
+            },
             "user": {
                 "description": "\u8bbe\u7f6eSony Bravia\u7535\u89c6\u96c6\u6210\u3002\u5982\u679c\u60a8\u5728\u914d\u7f6e\u65b9\u9762\u9047\u5230\u95ee\u9898\uff0c\u8bf7\u8bbf\u95ee\uff1ahttps://www.home-assistant.io/integrations/braviatv\n\u786e\u4fdd\u7535\u89c6\u5df2\u6253\u5f00\u3002"
             }
diff --git a/homeassistant/components/cloudflare/translations/zh-Hans.json b/homeassistant/components/cloudflare/translations/zh-Hans.json
new file mode 100644
index 0000000000000000000000000000000000000000..4b0a696e5fc029da12f78083792d71947f797619
--- /dev/null
+++ b/homeassistant/components/cloudflare/translations/zh-Hans.json
@@ -0,0 +1,20 @@
+{
+    "config": {
+        "error": {
+            "cannot_connect": "\u8fde\u63a5\u5931\u8d25",
+            "invalid_auth": "\u9a8c\u8bc1\u7801\u65e0\u6548"
+        },
+        "step": {
+            "user": {
+                "data": {
+                    "api_token": "API \u5bc6\u7801"
+                }
+            },
+            "zone": {
+                "data": {
+                    "zone": "\u533a\u57df"
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/cover/translations/zh-Hans.json b/homeassistant/components/cover/translations/zh-Hans.json
index 0ff7340729843c22ab5544846dcfb3038f956cae..ccc1edd42c56b5e08bac0988e6eaba23fc850020 100644
--- a/homeassistant/components/cover/translations/zh-Hans.json
+++ b/homeassistant/components/cover/translations/zh-Hans.json
@@ -1,7 +1,9 @@
 {
     "device_automation": {
         "condition_type": {
-            "is_closed": "{entity_name} \u5df2\u5173\u95ed"
+            "is_closed": "{entity_name} \u5df2\u5173\u95ed",
+            "is_closing": "{entity_name}\u6b63\u5728\u5173\u95ed",
+            "is_open": "{entity_name}\u4e3a\u5f00\u653e"
         },
         "trigger_type": {
             "closed": "{entity_name}\u5df2\u5173\u95ed"
diff --git a/homeassistant/components/dexcom/translations/cs.json b/homeassistant/components/dexcom/translations/cs.json
index e764b10781b586d0f464387f9b675d8b1cfaac44..aeda0af29e2219fc6190525cb5bd6909b40e8025 100644
--- a/homeassistant/components/dexcom/translations/cs.json
+++ b/homeassistant/components/dexcom/translations/cs.json
@@ -1,6 +1,7 @@
 {
     "config": {
         "abort": {
+            "already_configured": "\u00da\u010det je ji\u017e nastaven",
             "already_configured_account": "\u00da\u010det je ji\u017e nastaven"
         },
         "error": {
diff --git a/homeassistant/components/dexcom/translations/en.json b/homeassistant/components/dexcom/translations/en.json
index 92ca2d11859450a71ead637c57c471eba42aa78b..33acc0237e49d6323f4d6245f8907c44ce64983a 100644
--- a/homeassistant/components/dexcom/translations/en.json
+++ b/homeassistant/components/dexcom/translations/en.json
@@ -1,6 +1,7 @@
 {
     "config": {
         "abort": {
+            "already_configured": "Account is already configured",
             "already_configured_account": "Account is already configured"
         },
         "error": {
diff --git a/homeassistant/components/dexcom/translations/et.json b/homeassistant/components/dexcom/translations/et.json
index d517cab1362ec13a6ce33d2641e03569a76e248e..6b42e8ddf0e29e3109b3f9a63e0554ae05372183 100644
--- a/homeassistant/components/dexcom/translations/et.json
+++ b/homeassistant/components/dexcom/translations/et.json
@@ -1,6 +1,7 @@
 {
     "config": {
         "abort": {
+            "already_configured": "Kasutaja on juba seadistatud",
             "already_configured_account": "Konto on juba seadistatud"
         },
         "error": {
diff --git a/homeassistant/components/dexcom/translations/no.json b/homeassistant/components/dexcom/translations/no.json
index 231c93939781b2bb25641dc4b2693ce977cd9186..2c4e341fea61c57bd8f6ed6325863a444998ec79 100644
--- a/homeassistant/components/dexcom/translations/no.json
+++ b/homeassistant/components/dexcom/translations/no.json
@@ -1,6 +1,7 @@
 {
     "config": {
         "abort": {
+            "already_configured": "Kontoen er allerede konfigurert",
             "already_configured_account": "Kontoen er allerede konfigurert"
         },
         "error": {
diff --git a/homeassistant/components/dexcom/translations/ru.json b/homeassistant/components/dexcom/translations/ru.json
index 69b79638100ef7faf78172c4bd273ca794cfa4a8..14f91d6c0cf2deb1866e815fd6c956a56228f085 100644
--- a/homeassistant/components/dexcom/translations/ru.json
+++ b/homeassistant/components/dexcom/translations/ru.json
@@ -1,6 +1,7 @@
 {
     "config": {
         "abort": {
+            "already_configured": "\u042d\u0442\u0430 \u0443\u0447\u0451\u0442\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u0443\u0436\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0432 Home Assistant.",
             "already_configured_account": "\u042d\u0442\u0430 \u0443\u0447\u0451\u0442\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u0443\u0436\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0432 Home Assistant."
         },
         "error": {
diff --git a/homeassistant/components/dexcom/translations/zh-Hant.json b/homeassistant/components/dexcom/translations/zh-Hant.json
index 656e082f7c4a08a8c992dde0d6911a63cdd338fb..607b2508731ff268564d685ce7c3016c3f69c21b 100644
--- a/homeassistant/components/dexcom/translations/zh-Hant.json
+++ b/homeassistant/components/dexcom/translations/zh-Hant.json
@@ -1,6 +1,7 @@
 {
     "config": {
         "abort": {
+            "already_configured": "\u5e33\u865f\u5df2\u7d93\u8a2d\u5b9a\u5b8c\u6210",
             "already_configured_account": "\u5e33\u865f\u5df2\u7d93\u8a2d\u5b9a\u5b8c\u6210"
         },
         "error": {
diff --git a/homeassistant/components/ecobee/translations/zh-Hans.json b/homeassistant/components/ecobee/translations/zh-Hans.json
new file mode 100644
index 0000000000000000000000000000000000000000..baf8c980cb75f48366526c8feafbcefaaee06ab9
--- /dev/null
+++ b/homeassistant/components/ecobee/translations/zh-Hans.json
@@ -0,0 +1,11 @@
+{
+    "config": {
+        "step": {
+            "user": {
+                "data": {
+                    "api_key": "API \u5bc6\u7801"
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/fritzbox/translations/zh-Hans.json b/homeassistant/components/fritzbox/translations/zh-Hans.json
index 183c748b2d2acad6e240d52109a8329e30ece438..863264194abb97faf8fbf67b482f579ba9b58c48 100644
--- a/homeassistant/components/fritzbox/translations/zh-Hans.json
+++ b/homeassistant/components/fritzbox/translations/zh-Hans.json
@@ -1,7 +1,8 @@
 {
     "config": {
         "error": {
-            "auth_failed": "\u7528\u6237\u540d\u6216\u5bc6\u7801\u9519\u8bef"
+            "auth_failed": "\u7528\u6237\u540d\u6216\u5bc6\u7801\u9519\u8bef",
+            "invalid_auth": "\u9a8c\u8bc1\u7801\u65e0\u6548"
         },
         "step": {
             "confirm": {
diff --git a/homeassistant/components/glances/translations/zh-Hans.json b/homeassistant/components/glances/translations/zh-Hans.json
index a5f4ff11f09ef814c21f88ea4c59d451757ca47a..22cb2995672990a22638f01fbd74b5085bf70f50 100644
--- a/homeassistant/components/glances/translations/zh-Hans.json
+++ b/homeassistant/components/glances/translations/zh-Hans.json
@@ -1,8 +1,13 @@
 {
     "config": {
+        "error": {
+            "cannot_connect": "\u8fde\u63a5\u5931\u8d25"
+        },
         "step": {
             "user": {
                 "data": {
+                    "name": "\u540d\u79f0",
+                    "password": "\u5bc6\u7801",
                     "username": "\u7528\u6237\u540d"
                 }
             }
diff --git a/homeassistant/components/heos/translations/zh-Hans.json b/homeassistant/components/heos/translations/zh-Hans.json
new file mode 100644
index 0000000000000000000000000000000000000000..2941dfd938301c87c4bf05642f18bcad510c1ace
--- /dev/null
+++ b/homeassistant/components/heos/translations/zh-Hans.json
@@ -0,0 +1,7 @@
+{
+    "config": {
+        "error": {
+            "cannot_connect": "\u8fde\u63a5\u5931\u8d25"
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/homekit/translations/cs.json b/homeassistant/components/homekit/translations/cs.json
index d0bb01c9887713e0c5a1e335970ca7a915346948..04da96947743cfcdc84190913c9bbd18b0c9d7e1 100644
--- a/homeassistant/components/homekit/translations/cs.json
+++ b/homeassistant/components/homekit/translations/cs.json
@@ -43,6 +43,7 @@
                     "entities": "Entity",
                     "mode": "Re\u017eim"
                 },
+                "description": "Vyberte entity, kter\u00e9 maj\u00ed b\u00fdt vystaveny. V re\u017eimu P\u0159\u00edslu\u0161enstv\u00ed je vystavena pouze jedna entita. V re\u017eimu Zahrnut\u00ed p\u0159emost\u011bn\u00ed budou vystaveny v\u0161echny entity v dom\u00e9n\u011b, pokud nebudou vybr\u00e1ny konkr\u00e9tn\u00ed entity. V re\u017eimu Vylou\u010den\u00ed p\u0159emost\u011bn\u00ed budou vystaveny v\u0161echny entity v dom\u00e9n\u011b krom\u011b vylou\u010den\u00fdch entit.",
                 "title": "Vyberte entity, kter\u00e9 chcete vystavit"
             },
             "init": {
diff --git a/homeassistant/components/iaqualink/translations/zh-Hans.json b/homeassistant/components/iaqualink/translations/zh-Hans.json
index d13c8a6b46a05aafee0508db2e0cee88583d2c97..b3f84e17b00c6169197cf24af01190ab54945320 100644
--- a/homeassistant/components/iaqualink/translations/zh-Hans.json
+++ b/homeassistant/components/iaqualink/translations/zh-Hans.json
@@ -1,10 +1,14 @@
 {
     "config": {
         "error": {
+            "cannot_connect": "\u8fde\u63a5\u5931\u8d25",
             "connection_failure": "\u65e0\u6cd5\u8fde\u63a5\u5230iAqualink\u3002\u68c0\u67e5\u60a8\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801\u3002"
         },
         "step": {
             "user": {
+                "data": {
+                    "password": "\u5bc6\u7801"
+                },
                 "description": "\u8bf7\u8f93\u5165\u60a8\u7684iAqualink\u5e10\u6237\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801\u3002"
             }
         }
diff --git a/homeassistant/components/life360/translations/cs.json b/homeassistant/components/life360/translations/cs.json
index f4b2073e09b1c5830238a9dd496329ec83c202ce..ba26971636feea7799c2054edf853824e180cdc5 100644
--- a/homeassistant/components/life360/translations/cs.json
+++ b/homeassistant/components/life360/translations/cs.json
@@ -3,15 +3,18 @@
         "abort": {
             "invalid_auth": "Neplatn\u00e9 ov\u011b\u0159en\u00ed",
             "invalid_credentials": "Neplatn\u00e9 p\u0159ihla\u0161ovac\u00ed \u00fadaje",
+            "unknown": "Neo\u010dek\u00e1van\u00e1 chyba",
             "user_already_configured": "\u00da\u010det je ji\u017e nastaven"
         },
         "create_entry": {
             "default": "Chcete-li nastavit pokro\u010dil\u00e9 mo\u017enosti, pod\u00edvejte se do [dokumentace Life360]({docs_url})."
         },
         "error": {
+            "already_configured": "\u00da\u010det je ji\u017e nastaven",
             "invalid_auth": "Neplatn\u00e9 ov\u011b\u0159en\u00ed",
             "invalid_credentials": "Neplatn\u00e9 p\u0159ihla\u0161ovac\u00ed \u00fadaje",
             "invalid_username": "Neplatn\u00e9 u\u017eivatelsk\u00e9 jm\u00e9no",
+            "unknown": "Neo\u010dek\u00e1van\u00e1 chyba",
             "user_already_configured": "\u00da\u010det je ji\u017e nastaven"
         },
         "step": {
diff --git a/homeassistant/components/life360/translations/en.json b/homeassistant/components/life360/translations/en.json
index 1d7b80db4c9700391250f6fd818a787c07f8a746..55eb65fb0f73855ac6db2d9c37b0ad6ee0790b77 100644
--- a/homeassistant/components/life360/translations/en.json
+++ b/homeassistant/components/life360/translations/en.json
@@ -3,16 +3,19 @@
         "abort": {
             "invalid_auth": "Invalid authentication",
             "invalid_credentials": "Invalid credentials",
+            "unknown": "Unexpected error",
             "user_already_configured": "Account is already configured"
         },
         "create_entry": {
             "default": "To set advanced options, see [Life360 documentation]({docs_url})."
         },
         "error": {
+            "already_configured": "Account is already configured",
             "invalid_auth": "Invalid authentication",
             "invalid_credentials": "Invalid credentials",
             "invalid_username": "Invalid username",
             "unexpected": "Unexpected error communicating with Life360 server",
+            "unknown": "Unexpected error",
             "user_already_configured": "Account is already configured"
         },
         "step": {
diff --git a/homeassistant/components/life360/translations/et.json b/homeassistant/components/life360/translations/et.json
index b621ef129d4177bbecb0c0225137bdcaad4ab710..82a541a8f3f0077bd62998126b200a0eb78829cb 100644
--- a/homeassistant/components/life360/translations/et.json
+++ b/homeassistant/components/life360/translations/et.json
@@ -2,12 +2,15 @@
     "config": {
         "abort": {
             "invalid_auth": "Tuvastamise viga",
+            "unknown": "Ootamatu t\u00f5rge",
             "user_already_configured": "Konto on juba seadistatud"
         },
         "error": {
+            "already_configured": "Kasutaja on juba seadistatud",
             "invalid_auth": "Tuvastamise viga",
             "invalid_username": "Vale kasutajanimi",
             "unexpected": "Ootamatu t\u00f5rge Life360 serveriga suhtlemisel",
+            "unknown": "Ootamatu t\u00f5rge",
             "user_already_configured": "Konto on juba seadistatud"
         },
         "step": {
diff --git a/homeassistant/components/life360/translations/no.json b/homeassistant/components/life360/translations/no.json
index cabf752c48dd443b376c080159e8eea27704bccb..7c97a83beee5247a0aff28155f4d088e87ede1e7 100644
--- a/homeassistant/components/life360/translations/no.json
+++ b/homeassistant/components/life360/translations/no.json
@@ -3,16 +3,19 @@
         "abort": {
             "invalid_auth": "Ugyldig godkjenning",
             "invalid_credentials": "Ugyldige innloggingsopplysninger",
+            "unknown": "Uventet feil",
             "user_already_configured": "Kontoen er allerede konfigurert"
         },
         "create_entry": {
             "default": "For \u00e5 angi avanserte alternativer, se [Life360 dokumentasjon]({docs_url})."
         },
         "error": {
+            "already_configured": "Kontoen er allerede konfigurert",
             "invalid_auth": "Ugyldig godkjenning",
             "invalid_credentials": "Ugyldige innloggingsopplysninger",
             "invalid_username": "Ugyldig brukernavn",
             "unexpected": "Uventet feil under kommunikasjon med Life360-servern",
+            "unknown": "Uventet feil",
             "user_already_configured": "Kontoen er allerede konfigurert"
         },
         "step": {
diff --git a/homeassistant/components/life360/translations/ru.json b/homeassistant/components/life360/translations/ru.json
index f71fce78a856579b1ad7fca41d804efce4f4ac17..d82ac2e2899a5dd4fb9107126d5522b0e305ee6c 100644
--- a/homeassistant/components/life360/translations/ru.json
+++ b/homeassistant/components/life360/translations/ru.json
@@ -3,16 +3,19 @@
         "abort": {
             "invalid_auth": "\u041d\u0435\u0432\u0435\u0440\u043d\u0430\u044f \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f.",
             "invalid_credentials": "\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0435 \u0443\u0447\u0451\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435.",
+            "unknown": "\u041d\u0435\u043f\u0440\u0435\u0434\u0432\u0438\u0434\u0435\u043d\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430.",
             "user_already_configured": "\u042d\u0442\u0430 \u0443\u0447\u0451\u0442\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u0443\u0436\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0432 Home Assistant."
         },
         "create_entry": {
             "default": "\u041e\u0437\u043d\u0430\u043a\u043e\u043c\u044c\u0442\u0435\u0441\u044c \u0441 [\u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u043c\u0438]({docs_url}) \u0434\u043b\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u043e\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438."
         },
         "error": {
+            "already_configured": "\u042d\u0442\u0430 \u0443\u0447\u0451\u0442\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u0443\u0436\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0432 Home Assistant.",
             "invalid_auth": "\u041d\u0435\u0432\u0435\u0440\u043d\u0430\u044f \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f.",
             "invalid_credentials": "\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0435 \u0443\u0447\u0451\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435.",
             "invalid_username": "\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u043b\u043e\u0433\u0438\u043d.",
             "unexpected": "\u041d\u0435\u043f\u0440\u0435\u0434\u0432\u0438\u0434\u0435\u043d\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430 \u0441\u0432\u044f\u0437\u0438 \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c Life360.",
+            "unknown": "\u041d\u0435\u043f\u0440\u0435\u0434\u0432\u0438\u0434\u0435\u043d\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430.",
             "user_already_configured": "\u042d\u0442\u0430 \u0443\u0447\u0451\u0442\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u0443\u0436\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u0432 Home Assistant."
         },
         "step": {
diff --git a/homeassistant/components/lock/translations/zh-Hans.json b/homeassistant/components/lock/translations/zh-Hans.json
index 07ab36a2d4ddf66e39d9cc005ccc2a9e2afb9a14..4999c52f8e00c8694ffae1a60c8686a77f7a7332 100644
--- a/homeassistant/components/lock/translations/zh-Hans.json
+++ b/homeassistant/components/lock/translations/zh-Hans.json
@@ -1,5 +1,14 @@
 {
     "device_automation": {
+        "action_type": {
+            "lock": "\u4e0a\u9501{entity_name}",
+            "open": "\u5f00\u542f{entity_name}",
+            "unlock": "\u89e3\u9501{entity_name}"
+        },
+        "condition_type": {
+            "is_locked": "{entity_name}\u5df2\u4e0a\u9501",
+            "is_unlocked": "{entity_name}\u5df2\u89e3\u9501"
+        },
         "trigger_type": {
             "locked": "{entity_name} \u88ab\u9501\u5b9a",
             "unlocked": "{entity_name} \u88ab\u89e3\u9501"
diff --git a/homeassistant/components/logi_circle/translations/zh-Hans.json b/homeassistant/components/logi_circle/translations/zh-Hans.json
index 2d9770e0a8007a34303d377c721a7611fe5d03e5..d8d1e7b72d050234b6f3f1b2fa6488921e5ae88b 100644
--- a/homeassistant/components/logi_circle/translations/zh-Hans.json
+++ b/homeassistant/components/logi_circle/translations/zh-Hans.json
@@ -1,5 +1,8 @@
 {
     "config": {
+        "error": {
+            "invalid_auth": "\u9a8c\u8bc1\u7801\u65e0\u6548"
+        },
         "step": {
             "user": {
                 "data": {
diff --git a/homeassistant/components/luftdaten/translations/et.json b/homeassistant/components/luftdaten/translations/et.json
new file mode 100644
index 0000000000000000000000000000000000000000..2d480b3536a6dda6544add6a9585a3695db7efd6
--- /dev/null
+++ b/homeassistant/components/luftdaten/translations/et.json
@@ -0,0 +1,8 @@
+{
+    "config": {
+        "error": {
+            "already_configured": "Teenus on juba seadistatud",
+            "cannot_connect": "\u00dchendamine nurjus"
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/luftdaten/translations/zh-Hans.json b/homeassistant/components/luftdaten/translations/zh-Hans.json
index 02024b18494f78364a3684053a6f8f356da403f1..2422f01b9885f21eb6ca19f4cf95b39e31bad435 100644
--- a/homeassistant/components/luftdaten/translations/zh-Hans.json
+++ b/homeassistant/components/luftdaten/translations/zh-Hans.json
@@ -1,6 +1,7 @@
 {
     "config": {
         "error": {
+            "cannot_connect": "\u8fde\u63a5\u5931\u8d25",
             "communication_error": "\u65e0\u6cd5\u4e0e Luftdaten API \u901a\u4fe1",
             "invalid_sensor": "\u4f20\u611f\u5668\u4e0d\u53ef\u7528\u6216\u65e0\u6548",
             "sensor_exists": "\u4f20\u611f\u5668\u5df2\u6ce8\u518c"
diff --git a/homeassistant/components/mill/translations/zh-Hans.json b/homeassistant/components/mill/translations/zh-Hans.json
index a5f4ff11f09ef814c21f88ea4c59d451757ca47a..79079e6c4086878df6572c29e066832dfcdde4f7 100644
--- a/homeassistant/components/mill/translations/zh-Hans.json
+++ b/homeassistant/components/mill/translations/zh-Hans.json
@@ -1,5 +1,8 @@
 {
     "config": {
+        "error": {
+            "cannot_connect": "\u8fde\u63a5\u5931\u8d25"
+        },
         "step": {
             "user": {
                 "data": {
diff --git a/homeassistant/components/neato/translations/zh-Hans.json b/homeassistant/components/neato/translations/zh-Hans.json
index a5f4ff11f09ef814c21f88ea4c59d451757ca47a..b0b26b0226108dc574592a10ddfe7c8578e33e77 100644
--- a/homeassistant/components/neato/translations/zh-Hans.json
+++ b/homeassistant/components/neato/translations/zh-Hans.json
@@ -3,6 +3,7 @@
         "step": {
             "user": {
                 "data": {
+                    "password": "\u5bc6\u7801",
                     "username": "\u7528\u6237\u540d"
                 }
             }
diff --git a/homeassistant/components/nest/translations/et.json b/homeassistant/components/nest/translations/et.json
index c0b61fb4948658b3654c00144ccae680966ef049..e8f1e775b95eb597e8179e2dd60a48fcadd9fc7f 100644
--- a/homeassistant/components/nest/translations/et.json
+++ b/homeassistant/components/nest/translations/et.json
@@ -6,6 +6,7 @@
             "authorize_url_timeout": "Tuvastamise URL- i loomise ajal\u00f5pp.",
             "missing_configuration": "Osis pole seadistatud. Vaata dokumentatsiooni.",
             "no_flows": "Enne tuvastamist pead Nesti konfigureerima. [Palun lugege juhiseid] (https://www.home-assistant.io/components/nest/).",
+            "no_url_available": "URL pole saadaval. Selle t\u00f5rke kohta teabe saamiseks vaata [spikrijaotis]({docs_url})",
             "single_instance_allowed": "Juba seadistatud. V\u00f5imalik on ainult \u00fcks seadistamine."
         },
         "create_entry": {
diff --git a/homeassistant/components/onewire/translations/zh-Hans.json b/homeassistant/components/onewire/translations/zh-Hans.json
new file mode 100644
index 0000000000000000000000000000000000000000..2941dfd938301c87c4bf05642f18bcad510c1ace
--- /dev/null
+++ b/homeassistant/components/onewire/translations/zh-Hans.json
@@ -0,0 +1,7 @@
+{
+    "config": {
+        "error": {
+            "cannot_connect": "\u8fde\u63a5\u5931\u8d25"
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/onvif/translations/zh-Hans.json b/homeassistant/components/onvif/translations/zh-Hans.json
index b6ad5c30a77bcdb699da8102cbb2f228df293ac0..0a0b6db3d383c498fe684e93ea9bb22e45d44888 100644
--- a/homeassistant/components/onvif/translations/zh-Hans.json
+++ b/homeassistant/components/onvif/translations/zh-Hans.json
@@ -1,5 +1,8 @@
 {
     "config": {
+        "error": {
+            "cannot_connect": "\u8fde\u63a5\u5931\u8d25"
+        },
         "step": {
             "auth": {
                 "data": {
diff --git a/homeassistant/components/opentherm_gw/translations/et.json b/homeassistant/components/opentherm_gw/translations/et.json
index d20d18329613b28b83f18410aaea03a6e03bf3d8..d831644c1164296dfb53f99de31d453f09192d24 100644
--- a/homeassistant/components/opentherm_gw/translations/et.json
+++ b/homeassistant/components/opentherm_gw/translations/et.json
@@ -1,7 +1,8 @@
 {
     "config": {
         "error": {
-            "already_configured": "L\u00fc\u00fcs on juba m\u00e4\u00e4ratud"
+            "already_configured": "L\u00fc\u00fcs on juba m\u00e4\u00e4ratud",
+            "cannot_connect": "\u00dchendamine nurjus"
         }
     }
 }
\ No newline at end of file
diff --git a/homeassistant/components/opentherm_gw/translations/zh-Hans.json b/homeassistant/components/opentherm_gw/translations/zh-Hans.json
new file mode 100644
index 0000000000000000000000000000000000000000..7751b1f2f7d50bc8622b04fb4274664bea9e22da
--- /dev/null
+++ b/homeassistant/components/opentherm_gw/translations/zh-Hans.json
@@ -0,0 +1,14 @@
+{
+    "config": {
+        "error": {
+            "cannot_connect": "\u8fde\u63a5\u5931\u8d25"
+        },
+        "step": {
+            "init": {
+                "data": {
+                    "name": "\u540d\u79f0"
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/panasonic_viera/translations/zh-Hans.json b/homeassistant/components/panasonic_viera/translations/zh-Hans.json
new file mode 100644
index 0000000000000000000000000000000000000000..254f6df9327560fcef2a44e5a72d9c5294d08781
--- /dev/null
+++ b/homeassistant/components/panasonic_viera/translations/zh-Hans.json
@@ -0,0 +1,10 @@
+{
+    "config": {
+        "abort": {
+            "cannot_connect": "\u8fde\u63a5\u5931\u8d25"
+        },
+        "error": {
+            "cannot_connect": "\u8fde\u63a5\u5931\u8d25"
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/plex/translations/zh-Hans.json b/homeassistant/components/plex/translations/zh-Hans.json
index 614f83e3cc0f0de13e4538a6c52a3bc3d850bbd3..9cc02584789bcde228a94f414e5e2b1d45a8a7bb 100644
--- a/homeassistant/components/plex/translations/zh-Hans.json
+++ b/homeassistant/components/plex/translations/zh-Hans.json
@@ -1,4 +1,14 @@
 {
+    "config": {
+        "step": {
+            "select_server": {
+                "data": {
+                    "server": "\u670d\u52a1\u5668"
+                },
+                "title": "\u9009\u62e9 Plex \u670d\u52a1\u5668"
+            }
+        }
+    },
     "options": {
         "step": {
             "plex_mp_settings": {
diff --git a/homeassistant/components/rainmachine/translations/en.json b/homeassistant/components/rainmachine/translations/en.json
index f65463626e46f52420b51e96282491935ede8568..bde24d51298e0322328d4c7ce38ea35ec7e29274 100644
--- a/homeassistant/components/rainmachine/translations/en.json
+++ b/homeassistant/components/rainmachine/translations/en.json
@@ -4,7 +4,9 @@
             "already_configured": "Device is already configured"
         },
         "error": {
-            "invalid_auth": "Invalid authentication"
+            "identifier_exists": "Account is already configured",
+            "invalid_auth": "Invalid authentication",
+            "invalid_credentials": "Invalid credentials"
         },
         "step": {
             "user": {
diff --git a/homeassistant/components/ruckus_unleashed/translations/zh-Hans.json b/homeassistant/components/ruckus_unleashed/translations/zh-Hans.json
index b6a239d7b99a52328f3b83db9315cae1c8af790c..d5cc919a9ac653b4edd10acd55a9af5e5b3f0c40 100644
--- a/homeassistant/components/ruckus_unleashed/translations/zh-Hans.json
+++ b/homeassistant/components/ruckus_unleashed/translations/zh-Hans.json
@@ -1,7 +1,8 @@
 {
     "config": {
         "error": {
-            "cannot_connect": "\u8fde\u63a5\u5931\u8d25"
+            "cannot_connect": "\u8fde\u63a5\u5931\u8d25",
+            "invalid_auth": "\u9a8c\u8bc1\u7801\u65e0\u6548"
         },
         "step": {
             "user": {
diff --git a/homeassistant/components/smappee/translations/zh-Hans.json b/homeassistant/components/smappee/translations/zh-Hans.json
new file mode 100644
index 0000000000000000000000000000000000000000..6e842e66fabfe4b0e2e69ba6e15339206afbc38e
--- /dev/null
+++ b/homeassistant/components/smappee/translations/zh-Hans.json
@@ -0,0 +1,7 @@
+{
+    "config": {
+        "abort": {
+            "cannot_connect": "\u8fde\u63a5\u5931\u8d25"
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/smarthab/translations/zh-Hans.json b/homeassistant/components/smarthab/translations/zh-Hans.json
new file mode 100644
index 0000000000000000000000000000000000000000..f339adebd8682db44765185e5947a69bc3625248
--- /dev/null
+++ b/homeassistant/components/smarthab/translations/zh-Hans.json
@@ -0,0 +1,7 @@
+{
+    "config": {
+        "error": {
+            "invalid_auth": "\u9a8c\u8bc1\u7801\u65e0\u6548"
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/solaredge/translations/zh-Hans.json b/homeassistant/components/solaredge/translations/zh-Hans.json
new file mode 100644
index 0000000000000000000000000000000000000000..baf8c980cb75f48366526c8feafbcefaaee06ab9
--- /dev/null
+++ b/homeassistant/components/solaredge/translations/zh-Hans.json
@@ -0,0 +1,11 @@
+{
+    "config": {
+        "step": {
+            "user": {
+                "data": {
+                    "api_key": "API \u5bc6\u7801"
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/solarlog/translations/zh-Hans.json b/homeassistant/components/solarlog/translations/zh-Hans.json
new file mode 100644
index 0000000000000000000000000000000000000000..2941dfd938301c87c4bf05642f18bcad510c1ace
--- /dev/null
+++ b/homeassistant/components/solarlog/translations/zh-Hans.json
@@ -0,0 +1,7 @@
+{
+    "config": {
+        "error": {
+            "cannot_connect": "\u8fde\u63a5\u5931\u8d25"
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/tellduslive/translations/zh-Hans.json b/homeassistant/components/tellduslive/translations/zh-Hans.json
index c1d4a0c54f52aa0c0886606997187bfebc8f36fb..ccd58b51751ff3d232ad52cc04875b45c6689308 100644
--- a/homeassistant/components/tellduslive/translations/zh-Hans.json
+++ b/homeassistant/components/tellduslive/translations/zh-Hans.json
@@ -6,7 +6,8 @@
             "unknown": "\u53d1\u751f\u672a\u77e5\u7684\u9519\u8bef"
         },
         "error": {
-            "auth_error": "\u53cc\u91cd\u8ba4\u8bc1\u5931\u8d25\uff0c\u8bf7\u91cd\u8bd5\u3002"
+            "auth_error": "\u53cc\u91cd\u8ba4\u8bc1\u5931\u8d25\uff0c\u8bf7\u91cd\u8bd5\u3002",
+            "invalid_auth": "\u9a8c\u8bc1\u7801\u65e0\u6548"
         },
         "step": {
             "auth": {
diff --git a/homeassistant/components/transmission/translations/zh-Hans.json b/homeassistant/components/transmission/translations/zh-Hans.json
index feebc8ea8a2783a6aa200d529907f5dfbe47daa0..98d88a0961fa7970273815cc5e736ec7448bcd3b 100644
--- a/homeassistant/components/transmission/translations/zh-Hans.json
+++ b/homeassistant/components/transmission/translations/zh-Hans.json
@@ -2,6 +2,13 @@
     "config": {
         "error": {
             "wrong_credentials": "\u7528\u6237\u540d\u6216\u5bc6\u7801\u9519\u8bef"
+        },
+        "step": {
+            "user": {
+                "data": {
+                    "password": "\u5bc6\u7801"
+                }
+            }
         }
     }
 }
\ No newline at end of file
diff --git a/homeassistant/components/tuya/translations/cs.json b/homeassistant/components/tuya/translations/cs.json
index 88bfb2e732208a3edeaf46a32d653bbda7edea5e..2650e3aeeeb8c28e98ce88daea27a01681700b3b 100644
--- a/homeassistant/components/tuya/translations/cs.json
+++ b/homeassistant/components/tuya/translations/cs.json
@@ -24,5 +24,38 @@
                 "title": "Tuya"
             }
         }
+    },
+    "options": {
+        "error": {
+            "dev_multi_type": "V\u00edce vybran\u00fdch za\u0159\u00edzen\u00ed k nastaven\u00ed mus\u00ed b\u00fdt stejn\u00e9ho typu",
+            "dev_not_config": "Typ za\u0159\u00edzen\u00ed nelze nastavit",
+            "dev_not_found": "Za\u0159\u00edzen\u00ed nenalezeno"
+        },
+        "step": {
+            "device": {
+                "data": {
+                    "brightness_range_mode": "Rozsah jasu pou\u017e\u00edvan\u00fd za\u0159\u00edzen\u00edm",
+                    "ext_temp_sensor": "Senzor aktu\u00e1ln\u00ed teploty",
+                    "max_kelvin": "Maxim\u00e1ln\u00ed podporovan\u00e1 teplota barev v kelvinech",
+                    "max_temp": "Maxim\u00e1ln\u00ed c\u00edlov\u00e1 teplota (pou\u017eijte min a max = 0 jako v\u00fdchoz\u00ed)",
+                    "min_kelvin": "Maxim\u00e1ln\u00ed podporovan\u00e1 teplota barev v kelvinech",
+                    "min_temp": "Minim\u00e1ln\u00ed c\u00edlov\u00e1 teplota (pou\u017eijte min a max = 0 jako v\u00fdchoz\u00ed)",
+                    "support_color": "Vynutit podporu barev",
+                    "tuya_max_coltemp": "Maxim\u00e1ln\u00ed teplota barev nahl\u00e1\u0161en\u00e1 za\u0159\u00edzen\u00edm",
+                    "unit_of_measurement": "Jednotka teploty pou\u017e\u00edvan\u00e1 za\u0159\u00edzen\u00edm"
+                },
+                "title": "Nastavte za\u0159\u00edzen\u00ed Tuya"
+            },
+            "init": {
+                "data": {
+                    "discovery_interval": "Interval objevov\u00e1n\u00ed za\u0159\u00edzen\u00ed v sekund\u00e1ch",
+                    "list_devices": "Vyberte za\u0159\u00edzen\u00ed, kter\u00e1 chcete nastavit, nebo ponechte pr\u00e1zdn\u00e9, abyste konfiguraci ulo\u017eili",
+                    "query_device": "Vyberte za\u0159\u00edzen\u00ed, kter\u00e9 bude pou\u017e\u00edvat metodu dotaz\u016f pro rychlej\u0161\u00ed aktualizaci stavu",
+                    "query_interval": "Interval dotazov\u00e1n\u00ed za\u0159\u00edzen\u00ed v sekund\u00e1ch"
+                },
+                "description": "Nenastavujte intervalu dotazov\u00e1n\u00ed p\u0159\u00edli\u0161 n\u00edzk\u00e9 hodnoty, jinak se dotazov\u00e1n\u00ed nezda\u0159\u00ed a bude generovat chybov\u00e9 zpr\u00e1vy do logu",
+                "title": "Nastavte mo\u017enosti Tuya"
+            }
+        }
     }
 }
\ No newline at end of file
diff --git a/homeassistant/components/tuya/translations/en.json b/homeassistant/components/tuya/translations/en.json
index 9bf1744edd899e226b0cca48c01765f8f949c4cd..5cc09d7e1e39c41c270ed7fa8d59f43df677971e 100644
--- a/homeassistant/components/tuya/translations/en.json
+++ b/homeassistant/components/tuya/translations/en.json
@@ -1,11 +1,14 @@
 {
     "config": {
         "abort": {
+            "auth_failed": "Invalid authentication",
             "cannot_connect": "Failed to connect",
+            "conn_error": "Failed to connect",
             "invalid_auth": "Invalid authentication",
             "single_instance_allowed": "Already configured. Only a single configuration possible."
         },
         "error": {
+            "auth_failed": "Invalid authentication",
             "invalid_auth": "Invalid authentication"
         },
         "flow_title": "Tuya configuration",
@@ -29,32 +32,32 @@
             "dev_not_found": "Device not found"
         },
         "step": {
-            "init": {
-                "title": "Configure Tuya Options",
-                "description": "Do not set pollings interval values too low or the calls will fail generating error message in the log",
-                "data": {
-                    "discovery_interval": "Discovery device polling interval in seconds",
-                    "query_device": "Select device that will use query method for faster status update",
-                    "query_interval": "Query device polling interval in seconds",
-                    "list_devices": "Select the devices to configure or leave empty to save configuration"
-                }
-            },
             "device": {
-                "title": "Configure Tuya Device",
-                "description": "Configure options to adjust displayed information for {device_type} device `{device_name}`",
                 "data": {
-                    "support_color": "Force color support",
                     "brightness_range_mode": "Brightness range used by device",
-                    "min_kelvin": "Min color temperature supported in kelvin",
-                    "max_kelvin": "Max color temperature supported in kelvin",
-                    "tuya_max_coltemp": "Max color temperature reported by device",
-                    "unit_of_measurement": "Temperature unit used by device",
-                    "temp_divider": "Temperature values divider (0 = use default)",
                     "curr_temp_divider": "Current Temperature value divider (0 = use default)",
-                    "min_temp": "Min target temperature (use min and max = 0 for default)",
+                    "ext_temp_sensor": "Sensor for current temperature",
+                    "max_kelvin": "Max color temperature supported in kelvin",
                     "max_temp": "Max target temperature (use min and max = 0 for default)",
-                    "ext_temp_sensor": "Sensor for current temperature"
-                }
+                    "min_kelvin": "Min color temperature supported in kelvin",
+                    "min_temp": "Min target temperature (use min and max = 0 for default)",
+                    "support_color": "Force color support",
+                    "temp_divider": "Temperature values divider (0 = use default)",
+                    "tuya_max_coltemp": "Max color temperature reported by device",
+                    "unit_of_measurement": "Temperature unit used by device"
+                },
+                "description": "Configure options to adjust displayed information for {device_type} device `{device_name}`",
+                "title": "Configure Tuya Device"
+            },
+            "init": {
+                "data": {
+                    "discovery_interval": "Discovery device polling interval in seconds",
+                    "list_devices": "Select the devices to configure or leave empty to save configuration",
+                    "query_device": "Select device that will use query method for faster status update",
+                    "query_interval": "Query device polling interval in seconds"
+                },
+                "description": "Do not set pollings interval values too low or the calls will fail generating error message in the log",
+                "title": "Configure Tuya Options"
             }
         }
     }
diff --git a/homeassistant/components/tuya/translations/et.json b/homeassistant/components/tuya/translations/et.json
index c7323e3c1890b91d947041317de414a6017e3564..b99cfd93d6ebbe6b667c1fc2bccc9738c96c5388 100644
--- a/homeassistant/components/tuya/translations/et.json
+++ b/homeassistant/components/tuya/translations/et.json
@@ -24,5 +24,36 @@
                 "title": ""
             }
         }
+    },
+    "options": {
+        "error": {
+            "dev_multi_type": "Mitu h\u00e4\u00e4lestatavat seadet peavad olema sama t\u00fc\u00fcpi",
+            "dev_not_config": "Seda t\u00fc\u00fcpi seade pole seadistatav",
+            "dev_not_found": "Seadet ei leitud"
+        },
+        "step": {
+            "device": {
+                "data": {
+                    "brightness_range_mode": "Seadme kasutatav heledusvahemik",
+                    "curr_temp_divider": "Praeguse temperatuuri v\u00e4\u00e4rtuse eraldaja (0 = kasuta vaikev\u00e4\u00e4rtust)",
+                    "ext_temp_sensor": "Praeguse temperatuuri andur",
+                    "max_kelvin": "Maksimaalne v\u00f5imalik v\u00e4rvitemperatuur (Kelvinites)",
+                    "max_temp": "Maksimaalne sihttemperatuur (vaikimisi kasuta min ja max = 0)",
+                    "min_kelvin": "Minimaalne v\u00f5imalik v\u00e4rvitemperatuur (Kelvinites)",
+                    "min_temp": "Minimaalne sihttemperatuur (vaikimisi kasuta min ja max = 0)",
+                    "support_color": "Luba v\u00e4rvuse juhtimine",
+                    "temp_divider": "Temperatuuri v\u00e4\u00e4rtuse eraldaja (0 = kasuta vaikev\u00e4\u00e4rtust)",
+                    "unit_of_measurement": "Seadme temperatuuri\u00fchik"
+                },
+                "title": "H\u00e4\u00e4lesta Tuya seade"
+            },
+            "init": {
+                "data": {
+                    "discovery_interval": "Seadme leidmisp\u00e4ringute intervall (sekundites)",
+                    "query_interval": "P\u00e4ringute intervall (sekundites)"
+                },
+                "title": "Tuya suvandite seadistamine"
+            }
+        }
     }
 }
\ No newline at end of file
diff --git a/homeassistant/components/tuya/translations/no.json b/homeassistant/components/tuya/translations/no.json
index b2245361e9cb56ec30785edabbbad79043a30e65..ddf69be8af280875673362d2a1bd0e515604093f 100644
--- a/homeassistant/components/tuya/translations/no.json
+++ b/homeassistant/components/tuya/translations/no.json
@@ -24,5 +24,41 @@
                 "title": ""
             }
         }
+    },
+    "options": {
+        "error": {
+            "dev_multi_type": "Flere valgte enheter som skal konfigureres, m\u00e5 v\u00e6re av samme type",
+            "dev_not_config": "Enhetstype kan ikke konfigureres",
+            "dev_not_found": "Finner ikke enheten"
+        },
+        "step": {
+            "device": {
+                "data": {
+                    "brightness_range_mode": "Lysstyrkeomr\u00e5de som brukes av enheten",
+                    "curr_temp_divider": "N\u00e5v\u00e6rende temperaturverdi (0 = bruk standard)",
+                    "ext_temp_sensor": "Sensor for gjeldende temperatur",
+                    "max_kelvin": "Maks fargetemperatur st\u00f8ttet i kelvin",
+                    "max_temp": "Maks m\u00e5ltemperatur (bruk min og maks = 0 for standard)",
+                    "min_kelvin": "Min fargetemperatur st\u00f8ttet i kelvin",
+                    "min_temp": "Min m\u00e5ltemperatur (bruk min og maks = 0 for standard)",
+                    "support_color": "Tving fargest\u00f8tte",
+                    "temp_divider": "Deler temperaturverdier (0 = bruk standard)",
+                    "tuya_max_coltemp": "Maks fargetemperatur rapportert av enheten",
+                    "unit_of_measurement": "Temperaturenhet som brukes av enheten"
+                },
+                "description": "Konfigurer alternativer for \u00e5 justere vist informasjon for {device_type} device ` {device_name} `",
+                "title": "Konfigurere Tuya-enhet"
+            },
+            "init": {
+                "data": {
+                    "discovery_interval": "Avsp\u00f8rringsintervall for discovery-enheten i l\u00f8pet av sekunder",
+                    "list_devices": "Velg enhetene du vil konfigurere, eller la de v\u00e6re tomme for \u00e5 lagre konfigurasjonen",
+                    "query_device": "Velg enhet som skal bruke sp\u00f8rringsmetode for raskere statusoppdatering",
+                    "query_interval": "Sp\u00f8rringsintervall for intervall i sekunder"
+                },
+                "description": "Ikke angi pollingsintervallverdiene for lave, ellers vil ikke anropene generere feilmelding i loggen",
+                "title": "Konfigurer Tuya-alternativer"
+            }
+        }
     }
 }
\ No newline at end of file
diff --git a/homeassistant/components/tuya/translations/ru.json b/homeassistant/components/tuya/translations/ru.json
index bdb3ad91c358e4cf8c4157721b5b044a0f6b5708..58f8c44084549fb265f9682b40a5aa8247eddff2 100644
--- a/homeassistant/components/tuya/translations/ru.json
+++ b/homeassistant/components/tuya/translations/ru.json
@@ -24,5 +24,41 @@
                 "title": "Tuya"
             }
         }
+    },
+    "options": {
+        "error": {
+            "dev_multi_type": "\u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0434\u043b\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043e\u0434\u043d\u043e\u0433\u043e \u0442\u0438\u043f\u0430.",
+            "dev_not_config": "\u0422\u0438\u043f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043d\u0435 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f.",
+            "dev_not_found": "\u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043e."
+        },
+        "step": {
+            "device": {
+                "data": {
+                    "brightness_range_mode": "\u0414\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u044f\u0440\u043a\u043e\u0441\u0442\u0438, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0439 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c",
+                    "curr_temp_divider": "\u0414\u0435\u043b\u0438\u0442\u0435\u043b\u044c \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b (0 = \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e)",
+                    "ext_temp_sensor": "\u0421\u0435\u043d\u0441\u043e\u0440 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b",
+                    "max_kelvin": "\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u0430\u044f \u0446\u0432\u0435\u0442\u043e\u0432\u0430\u044f \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430 (\u0432 \u043a\u0435\u043b\u044c\u0432\u0438\u043d\u0430\u0445)",
+                    "max_temp": "\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0446\u0435\u043b\u0435\u0432\u0430\u044f \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430 (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 min \u0438 max = 0)",
+                    "min_kelvin": "\u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u0430\u044f \u0446\u0432\u0435\u0442\u043e\u0432\u0430\u044f \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430 (\u0432 \u043a\u0435\u043b\u044c\u0432\u0438\u043d\u0430\u0445)",
+                    "min_temp": "\u041c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0446\u0435\u043b\u0435\u0432\u0430\u044f \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430 (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 min \u0438 max = 0)",
+                    "support_color": "\u041f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0446\u0432\u0435\u0442\u0430",
+                    "temp_divider": "\u0414\u0435\u043b\u0438\u0442\u0435\u043b\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b (0 = \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e)",
+                    "tuya_max_coltemp": "\u041c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0446\u0432\u0435\u0442\u043e\u0432\u0430\u044f \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430, \u0441\u043e\u043e\u0431\u0449\u0430\u0435\u043c\u0430\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c",
+                    "unit_of_measurement": "\u0415\u0434\u0438\u043d\u0438\u0446\u0430 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0430\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c"
+                },
+                "description": "\u041e\u043f\u0446\u0438\u0438 \u0434\u043b\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u043c\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0434\u043b\u044f {device_type} \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 `{device_name}`",
+                "title": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 Tuya"
+            },
+            "init": {
+                "data": {
+                    "discovery_interval": "\u0418\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u043e\u043f\u0440\u043e\u0441\u0430 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 (\u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0430\u0445)",
+                    "list_devices": "\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0434\u043b\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0438\u043b\u0438 \u043e\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u043f\u0443\u0441\u0442\u044b\u043c \u0434\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438",
+                    "query_device": "\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u0435\u0442\u043e\u0434 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0434\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0442\u0430\u0442\u0443\u0441\u0430",
+                    "query_interval": "\u0418\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u043e\u043f\u0440\u043e\u0441\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 (\u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0430\u0445)"
+                },
+                "description": "\u041d\u0435 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0439\u0442\u0435 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043d\u0438\u0437\u043a\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0430 \u043e\u043f\u0440\u043e\u0441\u0430, \u0438\u043d\u0430\u0447\u0435 \u0432\u044b\u0437\u043e\u0432\u044b \u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0435 \u0432 \u0436\u0443\u0440\u043d\u0430\u043b\u0435.",
+                "title": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 Tuya"
+            }
+        }
     }
 }
\ No newline at end of file
diff --git a/homeassistant/components/tuya/translations/zh-Hant.json b/homeassistant/components/tuya/translations/zh-Hant.json
index a667ac76b15b48eecb185999b2636a2f446b16bf..591d51c78be6aff9b27977caa4984f3b272bd72b 100644
--- a/homeassistant/components/tuya/translations/zh-Hant.json
+++ b/homeassistant/components/tuya/translations/zh-Hant.json
@@ -24,5 +24,41 @@
                 "title": "Tuya"
             }
         }
+    },
+    "options": {
+        "error": {
+            "dev_multi_type": "\u591a\u91cd\u9078\u64c7\u8a2d\u5099\u4ee5\u8a2d\u5b9a\u4f7f\u7528\u76f8\u540c\u985e\u578b",
+            "dev_not_config": "\u8a2d\u5099\u985e\u578b\u7121\u6cd5\u8a2d\u5b9a",
+            "dev_not_found": "\u8a2d\u5099\u627e\u4e0d\u5230"
+        },
+        "step": {
+            "device": {
+                "data": {
+                    "brightness_range_mode": "\u8a2d\u5099\u6240\u4f7f\u7528\u4e4b\u4eae\u5ea6\u7bc4\u570d",
+                    "curr_temp_divider": "\u76ee\u524d\u8272\u6eab\u503c\u5206\u914d\u5668\uff080 = \u4f7f\u7528\u9810\u8a2d\uff09",
+                    "ext_temp_sensor": "\u611f\u6e2c\u5668\u76ee\u524d\u8272\u6eab",
+                    "max_kelvin": "Kelvin \u652f\u63f4\u6700\u9ad8\u8272\u6eab",
+                    "max_temp": "\u6700\u9ad8\u76ee\u6a19\u8272\u6eab\uff08\u4f7f\u7528\u6700\u4f4e\u8207\u6700\u9ad8 = 0 \u4f7f\u7528\u9810\u8a2d\uff09",
+                    "min_kelvin": "Kelvin \u652f\u63f4\u6700\u4f4e\u8272\u6eab",
+                    "min_temp": "\u6700\u4f4e\u76ee\u6a19\u8272\u6eab\uff08\u4f7f\u7528\u6700\u4f4e\u8207\u6700\u9ad8 = 0 \u4f7f\u7528\u9810\u8a2d\uff09",
+                    "support_color": "\u5f37\u5236\u8272\u6eab\u652f\u63f4",
+                    "temp_divider": "\u8272\u6eab\u503c\u5206\u914d\u5668\uff080 = \u4f7f\u7528\u9810\u8a2d\uff09",
+                    "tuya_max_coltemp": "\u8a2d\u5099\u56de\u5831\u6700\u9ad8\u8272\u6eab",
+                    "unit_of_measurement": "\u8a2d\u5099\u6240\u4f7f\u7528\u4e4b\u6eab\u5ea6\u55ae\u4f4d"
+                },
+                "description": "\u8a2d\u5b9a\u9078\u9805\u4ee5\u8abf\u6574 {device_type} \u8a2d\u5099 `{device_name}` \u986f\u793a\u8cc7\u8a0a",
+                "title": "\u8a2d\u5b9a Tuya \u8a2d\u5099"
+            },
+            "init": {
+                "data": {
+                    "discovery_interval": "\u63a2\u7d22\u8a2d\u5099\u66f4\u65b0\u79d2\u9593\u8ddd",
+                    "list_devices": "\u9078\u64c7\u8a2d\u5099\u4ee5\u8a2d\u5b9a\u3001\u6216\u4fdd\u6301\u7a7a\u767d\u4ee5\u5132\u5b58\u8a2d\u5b9a",
+                    "query_device": "\u9078\u64c7\u8a2d\u5099\u5c07\u4f7f\u7528\u67e5\u8a62\u65b9\u5f0f\u4ee5\u7372\u5f97\u66f4\u5feb\u7684\u72c0\u614b\u66f4\u65b0",
+                    "query_interval": "\u67e5\u8a62\u8a2d\u5099\u66f4\u65b0\u79d2\u9593\u8ddd"
+                },
+                "description": "\u66f4\u65b0\u9593\u8ddd\u4e0d\u8981\u8a2d\u5b9a\u7684\u904e\u4f4e\u3001\u53ef\u80fd\u6703\u5c0e\u81f4\u65bc\u65e5\u8a8c\u4e2d\u7522\u751f\u932f\u8aa4\u8a0a\u606f",
+                "title": "\u8a2d\u5b9a Tuya \u9078\u9805"
+            }
+        }
     }
 }
\ No newline at end of file
diff --git a/homeassistant/components/upcloud/translations/zh-Hans.json b/homeassistant/components/upcloud/translations/zh-Hans.json
index 83be90bc29211f6ce6076f01108ecd9b8178317a..bcdb3665eea969e4fc4cbec7afc315a9805c8bae 100644
--- a/homeassistant/components/upcloud/translations/zh-Hans.json
+++ b/homeassistant/components/upcloud/translations/zh-Hans.json
@@ -1,6 +1,7 @@
 {
     "config": {
         "error": {
+            "cannot_connect": "\u8fde\u63a5\u5931\u8d25",
             "invalid_auth": "\u65e0\u6548\u7684\u8eab\u4efd\u9a8c\u8bc1"
         },
         "step": {
diff --git a/homeassistant/components/vesync/translations/zh-Hans.json b/homeassistant/components/vesync/translations/zh-Hans.json
index e256110ffa7473b6db2f7d7e733f063bd08f1474..12f841563813c6052f790babcd9c3c512e058f36 100644
--- a/homeassistant/components/vesync/translations/zh-Hans.json
+++ b/homeassistant/components/vesync/translations/zh-Hans.json
@@ -4,10 +4,15 @@
             "already_setup": "\u53ea\u5141\u8bb8\u4e00\u4e2aVesync\u5b9e\u4f8b"
         },
         "error": {
+            "invalid_auth": "\u9a8c\u8bc1\u7801\u65e0\u6548",
             "invalid_login": "\u7528\u6237\u540d\u6216\u5bc6\u7801\u65e0\u6548"
         },
         "step": {
             "user": {
+                "data": {
+                    "password": "\u5bc6\u7801",
+                    "username": "\u7535\u5b50\u90ae\u4ef6"
+                },
                 "title": "\u8f93\u5165\u7528\u6237\u540d\u548c\u5bc6\u7801"
             }
         }
diff --git a/homeassistant/components/xiaomi_miio/translations/zh-Hans.json b/homeassistant/components/xiaomi_miio/translations/zh-Hans.json
index 9a54104116af463f38e62feb67e3b65b30a2b454..049e58a80e242d93dcbaac4760a10f34640cd16a 100644
--- a/homeassistant/components/xiaomi_miio/translations/zh-Hans.json
+++ b/homeassistant/components/xiaomi_miio/translations/zh-Hans.json
@@ -5,6 +5,7 @@
             "already_in_progress": "\u6b64\u5c0f\u7c73\u8bbe\u5907\u7684\u914d\u7f6e\u6d41\u7a0b\u5df2\u5728\u8fdb\u884c\u4e2d\u3002"
         },
         "error": {
+            "cannot_connect": "\u8fde\u63a5\u5931\u8d25",
             "connect_error": "\u8fde\u63a5\u5931\u8d25\uff0c\u8bf7\u91cd\u8bd5",
             "no_device_selected": "\u672a\u9009\u62e9\u8bbe\u5907\uff0c\u8bf7\u9009\u62e9\u4e00\u4e2a\u8bbe\u5907\u3002"
         },
diff --git a/homeassistant/components/zha/translations/zh-Hans.json b/homeassistant/components/zha/translations/zh-Hans.json
index 4df88473d0deee883509e82d9963bfb183be2e2c..a594ffe3545640876a88f78d620e8a393132c7c1 100644
--- a/homeassistant/components/zha/translations/zh-Hans.json
+++ b/homeassistant/components/zha/translations/zh-Hans.json
@@ -13,11 +13,28 @@
         }
     },
     "device_automation": {
+        "action_type": {
+            "warn": "\u8b66\u544a"
+        },
         "trigger_subtype": {
+            "both_buttons": "\u4e24\u4e2a\u6309\u94ae",
+            "button_1": "\u7b2c\u4e00\u4e2a\u6309\u94ae",
+            "button_2": "\u7b2c\u4e8c\u4e2a\u6309\u94ae",
+            "button_3": "\u7b2c\u4e09\u4e2a\u6309\u94ae",
+            "button_4": "\u7b2c\u56db\u4e2a\u6309\u94ae",
+            "button_5": "\u7b2c\u4e94\u4e2a\u6309\u94ae",
+            "button_6": "\u7b2c\u516d\u4e2a\u6309\u94ae",
+            "dim_down": "\u8c03\u6697",
+            "dim_up": "\u8c03\u4eae",
+            "left": "\u5de6",
+            "open": "\u5f00\u542f",
+            "right": "\u53f3",
             "turn_off": "\u5173\u95ed"
         },
         "trigger_type": {
-            "device_offline": "\u8bbe\u5907\u79bb\u7ebf"
+            "device_offline": "\u8bbe\u5907\u79bb\u7ebf",
+            "device_tilted": "\u8bbe\u5907\u540d\u79f0",
+            "remote_button_short_press": "\"{subtype}\" \u6309\u94ae\u5df2\u6309\u4e0b"
         }
     }
 }
\ No newline at end of file