diff --git a/homeassistant/components/abode/.translations/en.json b/homeassistant/components/abode/.translations/en.json
new file mode 100644
index 0000000000000000000000000000000000000000..e8daeb22c0a75e68246230c5656e6838fdaca493
--- /dev/null
+++ b/homeassistant/components/abode/.translations/en.json
@@ -0,0 +1,22 @@
+{
+    "config": {
+        "abort": {
+            "single_instance_allowed": "Only a single configuration of Abode is allowed."
+        },
+        "error": {
+            "connection_error": "Unable to connect to Abode.",
+            "identifier_exists": "Account already registered.",
+            "invalid_credentials": "Invalid credentials."
+        },
+        "step": {
+            "user": {
+                "data": {
+                    "password": "Password",
+                    "username": "Email Address"
+                },
+                "title": "Fill in your Abode login information"
+            }
+        },
+        "title": "Abode"
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/abode/.translations/no.json b/homeassistant/components/abode/.translations/no.json
new file mode 100644
index 0000000000000000000000000000000000000000..542381cbb64153294ebe1714c3cdef893bfd09ed
--- /dev/null
+++ b/homeassistant/components/abode/.translations/no.json
@@ -0,0 +1,22 @@
+{
+    "config": {
+        "abort": {
+            "single_instance_allowed": "Bare en enkelt konfigurasjon av Abode er tillatt."
+        },
+        "error": {
+            "connection_error": "Kan ikke koble til Abode.",
+            "identifier_exists": "Kontoen er allerede registrert.",
+            "invalid_credentials": "Ugyldig brukerinformasjon"
+        },
+        "step": {
+            "user": {
+                "data": {
+                    "password": "Passord",
+                    "username": "E-postadresse"
+                },
+                "title": "Fyll ut innloggingsinformasjonen for Abode"
+            }
+        },
+        "title": "Abode"
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/binary_sensor/.translations/es.json b/homeassistant/components/binary_sensor/.translations/es.json
index 8e2d326d9d3fe959722abfa696daf7b337f6a07f..756a370ca3c8701d260b3e3b210d6b7a9e9f006e 100644
--- a/homeassistant/components/binary_sensor/.translations/es.json
+++ b/homeassistant/components/binary_sensor/.translations/es.json
@@ -53,6 +53,7 @@
             "hot": "{entity_name} se est\u00e1 calentando",
             "light": "{entity_name} empez\u00f3 a detectar la luz",
             "locked": "{entity_name} bloqueado",
+            "moist": "{entity_name} se humedece",
             "moist\u00a7": "{entity_name} se humedeci\u00f3",
             "motion": "{entity_name} comenz\u00f3 a detectar movimiento",
             "moving": "{entity_name} empez\u00f3 a moverse",
@@ -71,6 +72,7 @@
             "not_moist": "{entity_name} se sec\u00f3",
             "not_moving": "{entity_name} dej\u00f3 de moverse",
             "not_occupied": "{entity_name} no est\u00e1 ocupado",
+            "not_opened": "{nombre_de_la_entidad} cerrado",
             "not_plugged_in": "{entity_name} desconectado",
             "not_powered": "{entity_name} no est\u00e1 activado",
             "not_present": "{entity_name} no est\u00e1 presente",
diff --git a/homeassistant/components/cover/.translations/es.json b/homeassistant/components/cover/.translations/es.json
new file mode 100644
index 0000000000000000000000000000000000000000..d0193b939a5db04da22fcd4c28f6ba44bab96aae
--- /dev/null
+++ b/homeassistant/components/cover/.translations/es.json
@@ -0,0 +1,10 @@
+{
+    "device_automation": {
+        "condition_type": {
+            "is_closed": "{entity_name} est\u00e1 cerrado",
+            "is_closing": "{entity_name} se est\u00e1 cerrando",
+            "is_open": "{entity_name} est\u00e1 abierto",
+            "is_opening": "{entity_name} se est\u00e1 abriendo"
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/cover/.translations/no.json b/homeassistant/components/cover/.translations/no.json
index ff37aa27d586f4b2134a057973dbe8e7791a0098..af567bcfcfcc3dfd7e24105c95cebf1d0f9ac412 100644
--- a/homeassistant/components/cover/.translations/no.json
+++ b/homeassistant/components/cover/.translations/no.json
@@ -1,8 +1,8 @@
 {
     "device_automation": {
         "condition_type": {
-            "is_closed": "{entity_name} er lukket",
-            "is_closing": "{entity_name} lukker",
+            "is_closed": "{entity_name} er stengt",
+            "is_closing": "{entity_name} stenges",
             "is_open": "{entity_name} er \u00e5pen",
             "is_opening": "{entity_name} \u00e5pnes"
         }
diff --git a/homeassistant/components/cover/.translations/ru.json b/homeassistant/components/cover/.translations/ru.json
new file mode 100644
index 0000000000000000000000000000000000000000..46456bb9464a2e5eec5e0c63b5c77c1d700188df
--- /dev/null
+++ b/homeassistant/components/cover/.translations/ru.json
@@ -0,0 +1,10 @@
+{
+    "device_automation": {
+        "condition_type": {
+            "is_closed": "{entity_name} \u0432 \u0437\u0430\u043a\u0440\u044b\u0442\u043e\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438",
+            "is_closing": "{entity_name} \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f",
+            "is_open": "{entity_name} \u0432 \u043e\u0442\u043a\u0440\u044b\u0442\u043e\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438",
+            "is_opening": "{entity_name} \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f"
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/cover/.translations/zh-Hant.json b/homeassistant/components/cover/.translations/zh-Hant.json
new file mode 100644
index 0000000000000000000000000000000000000000..9723d1a0dd674309425e3f111f464fd798b49844
--- /dev/null
+++ b/homeassistant/components/cover/.translations/zh-Hant.json
@@ -0,0 +1,10 @@
+{
+    "device_automation": {
+        "condition_type": {
+            "is_closed": "{entity_name} \u5df2\u95dc\u9589",
+            "is_closing": "{entity_name} \u6b63\u5728\u95dc\u9589",
+            "is_open": "{entity_name} \u5df2\u958b\u555f",
+            "is_opening": "{entity_name} \u6b63\u5728\u958b\u555f"
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/deconz/.translations/no.json b/homeassistant/components/deconz/.translations/no.json
index 7d05a366cf2248102ddfeb258cb1355dff41ce3d..71fba6043f75b9cfb438185c15192be010db68c0 100644
--- a/homeassistant/components/deconz/.translations/no.json
+++ b/homeassistant/components/deconz/.translations/no.json
@@ -64,7 +64,7 @@
             "remote_button_quadruple_press": "\"{subtype}\"-knappen ble firedoblet klikket",
             "remote_button_quintuple_press": "\"{subtype}\"-knappen femdobbelt klikket",
             "remote_button_rotated": "Knappen roterte \"{subtype}\"",
-            "remote_button_rotation_stopped": "Knappe rotasjon \"{subtype}\" stoppet",
+            "remote_button_rotation_stopped": "Knapperotasjon \"{subtype}\" stoppet",
             "remote_button_short_press": "\"{subtype}\" -knappen ble trykket",
             "remote_button_short_release": "\"{subtype}\"-knappen sluppet",
             "remote_button_triple_press": "\"{subtype}\"-knappen trippel klikket",
diff --git a/homeassistant/components/ecobee/.translations/no.json b/homeassistant/components/ecobee/.translations/no.json
index 2bf141f648928834cf77d4d72e7a64be493e3703..efaa566c4240c1318acd7f744386af442b58568f 100644
--- a/homeassistant/components/ecobee/.translations/no.json
+++ b/homeassistant/components/ecobee/.translations/no.json
@@ -1,15 +1,15 @@
 {
     "config": {
         "abort": {
-            "one_instance_only": "Denne integrasjonen st\u00f8tter forel\u00f8pig bare en ecobee-forekomst."
+            "one_instance_only": "Denne integrasjonen st\u00f8tter forel\u00f8pig bare \u00e9n ecobee-forekomst."
         },
         "error": {
             "pin_request_failed": "Feil under foresp\u00f8rsel om PIN-kode fra ecobee. Kontroller at API-n\u00f8kkelen er riktig.",
-            "token_request_failed": "Feil ved foresp\u00f8rsel om tokener fra ecobee; Pr\u00f8v p\u00e5 nytt."
+            "token_request_failed": "Feil ved foresp\u00f8rsel om tokener fra ecobee: Pr\u00f8v p\u00e5 nytt."
         },
         "step": {
             "authorize": {
-                "description": "Vennligst autoriser denne appen p\u00e5 https://www.ecobee.com/consumerportal/index.html med pin-kode:\n\n{pin}\n\nDeretter, trykk p\u00e5 Send.",
+                "description": "Vennligst autoriser denne appen p\u00e5 https://www.ecobee.com/consumerportal/index.html med pin-kode:\n\n{pin}\n\nTrykk deretter p\u00e5 Send.",
                 "title": "Autoriser app p\u00e5 ecobee.com"
             },
             "user": {
diff --git a/homeassistant/components/lock/.translations/es.json b/homeassistant/components/lock/.translations/es.json
new file mode 100644
index 0000000000000000000000000000000000000000..5c23c270f61c1c474b00a32518ef69482b239308
--- /dev/null
+++ b/homeassistant/components/lock/.translations/es.json
@@ -0,0 +1,8 @@
+{
+    "device_automation": {
+        "condition_type": {
+            "is_locked": "{entity_name} est\u00e1 bloqueado",
+            "is_unlocked": "{entity_name} est\u00e1 desbloqueado"
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/lock/.translations/ru.json b/homeassistant/components/lock/.translations/ru.json
new file mode 100644
index 0000000000000000000000000000000000000000..f74df838ae5d42a3d2f7424a5501d8be0a2f5ef7
--- /dev/null
+++ b/homeassistant/components/lock/.translations/ru.json
@@ -0,0 +1,8 @@
+{
+    "device_automation": {
+        "condition_type": {
+            "is_locked": "{entity_name} \u0432 \u0437\u0430\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438",
+            "is_unlocked": "{entity_name} \u0432 \u0440\u0430\u0437\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438"
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/lock/.translations/zh-Hant.json b/homeassistant/components/lock/.translations/zh-Hant.json
new file mode 100644
index 0000000000000000000000000000000000000000..a423c4331b738e731944e4510c3f25f6a4fc7fdd
--- /dev/null
+++ b/homeassistant/components/lock/.translations/zh-Hant.json
@@ -0,0 +1,8 @@
+{
+    "device_automation": {
+        "condition_type": {
+            "is_locked": "{entity_name} \u5df2\u4e0a\u9396",
+            "is_unlocked": "{entity_name} \u5df2\u89e3\u9396"
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/plex/.translations/no.json b/homeassistant/components/plex/.translations/no.json
index 18c4e865a846908f8863b1e781eab9c01e9dae4a..8ebd2b69bb93e8656ae6df7400df16bf0beeeedf 100644
--- a/homeassistant/components/plex/.translations/no.json
+++ b/homeassistant/components/plex/.translations/no.json
@@ -24,7 +24,7 @@
                     "token": "Token (hvis n\u00f8dvendig)",
                     "verify_ssl": "Verifisere SSL-sertifikat"
                 },
-                "title": "Plex server"
+                "title": "Plex-server"
             },
             "select_server": {
                 "data": {
@@ -35,7 +35,7 @@
             },
             "start_website_auth": {
                 "description": "Fortsett \u00e5 autorisere p\u00e5 plex.tv.",
-                "title": "Koble til Plex server"
+                "title": "Koble til Plex-server"
             },
             "user": {
                 "data": {
diff --git a/homeassistant/components/soma/.translations/no.json b/homeassistant/components/soma/.translations/no.json
index 1ea53b778ea11ad7ce3f1a6919d48632c9d3d795..c3d9d7e70d426843839bbcc52bbe3128139c1d89 100644
--- a/homeassistant/components/soma/.translations/no.json
+++ b/homeassistant/components/soma/.translations/no.json
@@ -1,7 +1,7 @@
 {
     "config": {
         "abort": {
-            "already_setup": "Du kan bare konfigurere en Soma-konto.",
+            "already_setup": "Du kan bare konfigurere \u00e9n Soma-konto.",
             "authorize_url_timeout": "Tidsavbrudd ved generering av autoriseringsadresse.",
             "missing_configuration": "Soma-komponenten er ikke konfigurert. Vennligst f\u00f8lg dokumentasjonen."
         },
diff --git a/homeassistant/components/transmission/.translations/no.json b/homeassistant/components/transmission/.translations/no.json
index f6ddce2a4a799edddcac30ef6449bc7597af3fed..94044e692d954e47b0bfdff556cb4fc5701185c2 100644
--- a/homeassistant/components/transmission/.translations/no.json
+++ b/homeassistant/components/transmission/.translations/no.json
@@ -22,7 +22,7 @@
                     "port": "Port",
                     "username": "Brukernavn"
                 },
-                "title": "Oppsett av klient for Transmission"
+                "title": "Oppsett av Transmission-klient"
             }
         },
         "title": "Transmission"
diff --git a/homeassistant/components/zha/.translations/no.json b/homeassistant/components/zha/.translations/no.json
index 18c4c3c9ff2a14d7f9079093c6ac08ba3da29ccd..a70f5ad1c334431b0c4a357ec6308a18a8de52f4 100644
--- a/homeassistant/components/zha/.translations/no.json
+++ b/homeassistant/components/zha/.translations/no.json
@@ -19,8 +19,8 @@
     },
     "device_automation": {
         "action_type": {
-            "squawk": "Squawk",
-            "warn": "Advarer"
+            "squawk": "Varsle",
+            "warn": "Advar"
         },
         "trigger_subtype": {
             "both_buttons": "Begge knapper",
@@ -39,7 +39,7 @@
             "face_4": "med ansikt 4 aktivert",
             "face_5": "med ansikt 5 aktivert",
             "face_6": "med ansikt 6 aktivert",
-            "face_any": "Med alle/angitte ansikt (er) aktivert",
+            "face_any": "Med alle/angitte ansikt(er) aktivert",
             "left": "Venstre",
             "open": "\u00c5pen",
             "right": "H\u00f8yre",
@@ -47,7 +47,7 @@
             "turn_on": "Sl\u00e5 p\u00e5"
         },
         "trigger_type": {
-            "device_dropped": "Enheten ble brutt",
+            "device_dropped": "Enheten ble sluppet",
             "device_flipped": "Enheten snudd \"{subtype}\"",
             "device_knocked": "Enheten sl\u00e5tt \"{subtype}\"",
             "device_rotated": "Enheten roterte \"{subtype}\"",
@@ -55,13 +55,13 @@
             "device_slid": "Enheten skled \"{subtype}\"",
             "device_tilted": "Enheten skr\u00e5stilt",
             "remote_button_double_press": "\"{subtype}\"-knappen ble dobbeltklikket",
-            "remote_button_long_press": "\"{subtype}\"-knappen ble kontinuerlig trykket",
+            "remote_button_long_press": "\"{subtype}\"-knappen ble holdt inne",
             "remote_button_long_release": "\"{subtype}\"-knappen sluppet etter langt trykk",
-            "remote_button_quadruple_press": "\"{subtype}\"-knappen ble firedoblet klikket",
-            "remote_button_quintuple_press": "\"{subtype}\"-knappen ble femdobbelt klikket",
+            "remote_button_quadruple_press": "\"{subtype}\"-knappen ble trykket fire ganger",
+            "remote_button_quintuple_press": "\"{subtype}\"-knappen ble trykket fem ganger",
             "remote_button_short_press": "\"{subtype}\"-knappen ble trykket",
             "remote_button_short_release": "\"{subtype}\"-knappen sluppet",
-            "remote_button_triple_press": "\"{subtype}\"-knappen ble trippel klikket"
+            "remote_button_triple_press": "\"{subtype}\"-knappen ble trippelklikket"
         }
     }
 }
\ No newline at end of file