diff --git a/homeassistant/components/adguard/.translations/es-419.json b/homeassistant/components/adguard/.translations/es-419.json
index d62402f2eee4037e04ccb810bcc81e7e0b051768..ed8e0c3a35800a4a797cbba4cd019a1bf192b1e6 100644
--- a/homeassistant/components/adguard/.translations/es-419.json
+++ b/homeassistant/components/adguard/.translations/es-419.json
@@ -20,7 +20,8 @@
                     "username": "Nombre de usuario",
                     "verify_ssl": "AdGuard Home utiliza un certificado adecuado"
                 },
-                "description": "Configure su instancia de AdGuard Home para permitir la supervisi\u00f3n y el control."
+                "description": "Configure su instancia de AdGuard Home para permitir la supervisi\u00f3n y el control.",
+                "title": "Enlace su AdGuard Home."
             }
         },
         "title": "AdGuard Home"
diff --git a/homeassistant/components/adguard/.translations/hr.json b/homeassistant/components/adguard/.translations/hr.json
new file mode 100644
index 0000000000000000000000000000000000000000..869cc46ea106de2939b3b7e00b28b706e8c2333b
--- /dev/null
+++ b/homeassistant/components/adguard/.translations/hr.json
@@ -0,0 +1,7 @@
+{
+    "config": {
+        "abort": {
+            "existing_instance_updated": "Postoje\u0107a konfiguracija je a\u017eurirana."
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/adguard/.translations/id.json b/homeassistant/components/adguard/.translations/id.json
new file mode 100644
index 0000000000000000000000000000000000000000..3548361e396bb7500a9f87d553eb5a3b7b9d701e
--- /dev/null
+++ b/homeassistant/components/adguard/.translations/id.json
@@ -0,0 +1,15 @@
+{
+    "config": {
+        "error": {
+            "connection_error": "Gagal terhubung."
+        },
+        "step": {
+            "user": {
+                "data": {
+                    "password": "Kata sandi",
+                    "port": "Port"
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/ambiclimate/.translations/es-419.json b/homeassistant/components/ambiclimate/.translations/es-419.json
index eaac252d605da584c84c6cfc88c5fd3bf6a4ebec..607454f4402f025fe8a0fc933afd10ed98860345 100644
--- a/homeassistant/components/ambiclimate/.translations/es-419.json
+++ b/homeassistant/components/ambiclimate/.translations/es-419.json
@@ -7,6 +7,17 @@
         },
         "create_entry": {
             "default": "Autenticaci\u00f3n exitosa con Ambiclimate"
-        }
+        },
+        "error": {
+            "follow_link": "Por favor, siga el enlace y autent\u00edquese antes de presionar Enviar",
+            "no_token": "No autenticado con Ambiclimate"
+        },
+        "step": {
+            "auth": {
+                "description": "Por favor, siga este [link]('authorization_url') y <b>Permitir</b> acceso a su cuenta de Ambiclimate, luego vuelva y presione <b>Enviar</b> a continuaci\u00f3n.\n(Aseg\u00farese de que la url de devoluci\u00f3n de llamada especificada es {cb_url})",
+                "title": "Autenticaci\u00f3n de Ambiclimate"
+            }
+        },
+        "title": "Ambiclimate"
     }
 }
\ No newline at end of file
diff --git a/homeassistant/components/auth/.translations/es-419.json b/homeassistant/components/auth/.translations/es-419.json
index 852965596e073fa0a96bd47f4edefebffece235c..4ac97068905560b614c7614ed6163739b103204b 100644
--- a/homeassistant/components/auth/.translations/es-419.json
+++ b/homeassistant/components/auth/.translations/es-419.json
@@ -16,9 +16,13 @@
                     "description": "Se ha enviado una contrase\u00f1a \u00fanica a trav\u00e9s de **notify.{notify_service}**. Por favor ingr\u00e9selo a continuaci\u00f3n:",
                     "title": "Verificar la configuracion"
                 }
-            }
+            },
+            "title": "Notificar contrase\u00f1a de un solo uso"
         },
         "totp": {
+            "error": {
+                "invalid_code": "C\u00f3digo no v\u00e1lido, por favor vuelva a intentarlo. Si recibe este error constantemente, aseg\u00farese de que el reloj de su sistema Home Assistant sea exacto."
+            },
             "step": {
                 "init": {
                     "description": "Para activar la autenticaci\u00f3n de dos factores utilizando contrase\u00f1as de un solo uso basadas en el tiempo, escanee el c\u00f3digo QR con su aplicaci\u00f3n de autenticaci\u00f3n. Si no tiene uno, le recomendamos [Autenticador de Google] (https://support.google.com/accounts/answer/1066447) o [Authy] (https://authy.com/). \n\n {qr_code} \n \n Despu\u00e9s de escanear el c\u00f3digo, ingrese el c\u00f3digo de seis d\u00edgitos de su aplicaci\u00f3n para verificar la configuraci\u00f3n. Si tiene problemas para escanear el c\u00f3digo QR, realice una configuraci\u00f3n manual con el c\u00f3digo ** ` {code} ` **.",
diff --git a/homeassistant/components/axis/.translations/es-419.json b/homeassistant/components/axis/.translations/es-419.json
index 1e9301a19da6845b41b43c09192180e7bed4d4b7..c5404a173f653b042de40a2b2672937e148dbbba 100644
--- a/homeassistant/components/axis/.translations/es-419.json
+++ b/homeassistant/components/axis/.translations/es-419.json
@@ -2,10 +2,13 @@
     "config": {
         "abort": {
             "already_configured": "El dispositivo ya est\u00e1 configurado",
-            "bad_config_file": "Datos err\u00f3neos del archivo de configuraci\u00f3n"
+            "bad_config_file": "Datos err\u00f3neos del archivo de configuraci\u00f3n",
+            "link_local_address": "Las direcciones locales de enlace no son compatibles",
+            "not_axis_device": "El dispositivo descubierto no es un dispositivo de Axis"
         },
         "error": {
             "already_configured": "El dispositivo ya est\u00e1 configurado",
+            "already_in_progress": "El flujo de configuraci\u00f3n para el dispositivo ya est\u00e1 en progreso.",
             "device_unavailable": "El dispositivo no est\u00e1 disponible",
             "faulty_credentials": "Credenciales de usuario incorrectas"
         },
@@ -15,8 +18,10 @@
                     "password": "Contrase\u00f1a",
                     "port": "Puerto",
                     "username": "Nombre de usuario"
-                }
+                },
+                "title": "Configurar dispositivo Axis"
             }
-        }
+        },
+        "title": "Dispositivo Axis"
     }
 }
\ No newline at end of file
diff --git a/homeassistant/components/axis/.translations/fr.json b/homeassistant/components/axis/.translations/fr.json
index 020cd8f5946ed50e9e490bee715d0a98e7bb0b7e..e85fceaf463f1e66b28f8f730dcfda4366db9daf 100644
--- a/homeassistant/components/axis/.translations/fr.json
+++ b/homeassistant/components/axis/.translations/fr.json
@@ -3,7 +3,8 @@
         "abort": {
             "already_configured": "L'appareil est d\u00e9j\u00e0 configur\u00e9",
             "bad_config_file": "Mauvaises donn\u00e9es du fichier de configuration",
-            "link_local_address": "Les adresses locales ne sont pas prises en charge"
+            "link_local_address": "Les adresses locales ne sont pas prises en charge",
+            "not_axis_device": "L'appareil d\u00e9couvert n'est pas un appareil Axis"
         },
         "error": {
             "already_configured": "L'appareil est d\u00e9j\u00e0 configur\u00e9",
diff --git a/homeassistant/components/cast/.translations/hr.json b/homeassistant/components/cast/.translations/hr.json
new file mode 100644
index 0000000000000000000000000000000000000000..91dafab0201643e538feb4fc98f314b7ddff5e39
--- /dev/null
+++ b/homeassistant/components/cast/.translations/hr.json
@@ -0,0 +1,10 @@
+{
+    "config": {
+        "step": {
+            "confirm": {
+                "title": "Google Cast"
+            }
+        },
+        "title": "Google Cast"
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/deconz/.translations/en.json b/homeassistant/components/deconz/.translations/en.json
index 34da602a6cee525c6deed03db34b924ca24bec6c..dd8f1cc4026edb22d6084dd15deacad56f4dd7c5 100644
--- a/homeassistant/components/deconz/.translations/en.json
+++ b/homeassistant/components/deconz/.translations/en.json
@@ -40,16 +40,5 @@
             }
         },
         "title": "deCONZ Zigbee gateway"
-    },
-    "options": {
-        "step": {
-            "deconz_devices": {
-                "description": "Configure visibility of deCONZ device types",
-                "data": {
-                    "allow_clip_sensor": "Allow deCONZ CLIP sensors",
-                    "allow_deconz_groups": "Allow deCONZ light groups"
-                }
-            }
-        }
     }
-}
+}
\ No newline at end of file
diff --git a/homeassistant/components/deconz/.translations/es-419.json b/homeassistant/components/deconz/.translations/es-419.json
index 4ae633ef16573d6cc0ca70296cb04d65ff909c41..1a5d992ef7b914e393a3ef530a77337dc28631d1 100644
--- a/homeassistant/components/deconz/.translations/es-419.json
+++ b/homeassistant/components/deconz/.translations/es-419.json
@@ -2,7 +2,9 @@
     "config": {
         "abort": {
             "already_configured": "El Bridge ya est\u00e1 configurado",
+            "already_in_progress": "El flujo de configuraci\u00f3n para el puente ya est\u00e1 en progreso.",
             "no_bridges": "No se descubrieron puentes deCONZ",
+            "not_deconz_bridge": "No es un puente deCONZ",
             "one_instance_only": "El componente solo admite una instancia deCONZ"
         },
         "error": {
@@ -13,7 +15,8 @@
                 "data": {
                     "allow_clip_sensor": "Permitir la importaci\u00f3n de sensores virtuales",
                     "allow_deconz_groups": "Permitir la importaci\u00f3n de grupos deCONZ"
-                }
+                },
+                "description": "\u00bfDesea configurar Home Assistant para conectarse a la puerta de enlace deCONZ proporcionada por el complemento hass.io {addon}?"
             },
             "init": {
                 "data": {
@@ -23,6 +26,7 @@
                 "title": "Definir el gateway deCONZ"
             },
             "link": {
+                "description": "Desbloquee su puerta de enlace deCONZ para registrarse con Home Assistant. \n\n 1. Vaya a Configuraci\u00f3n deCONZ - > Gateway - > Avanzado \n 2. Presione el bot\u00f3n \"Autenticar aplicaci\u00f3n\"",
                 "title": "Enlazar con deCONZ"
             },
             "options": {
diff --git a/homeassistant/components/deconz/.translations/hr.json b/homeassistant/components/deconz/.translations/hr.json
new file mode 100644
index 0000000000000000000000000000000000000000..2f2eb6df214b218fa0476f0431c8684141d25ce6
--- /dev/null
+++ b/homeassistant/components/deconz/.translations/hr.json
@@ -0,0 +1,17 @@
+{
+    "config": {
+        "step": {
+            "init": {
+                "data": {
+                    "host": "Host",
+                    "port": "Port"
+                }
+            },
+            "options": {
+                "data": {
+                    "allow_clip_sensor": "Dopusti uvoz virtualnih senzora"
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/dialogflow/.translations/pl.json b/homeassistant/components/dialogflow/.translations/pl.json
index 3395b31b4c79ed56b2d410de760003a1517602a9..ee222c83b5180de8b6f4119e54b3ba50ebe29f90 100644
--- a/homeassistant/components/dialogflow/.translations/pl.json
+++ b/homeassistant/components/dialogflow/.translations/pl.json
@@ -5,7 +5,7 @@
             "one_instance_allowed": "Wymagana jest tylko jedna instancja."
         },
         "create_entry": {
-            "default": "Aby wysy\u0142a\u0107 zdarzenia do Home Assistant'a, musisz skonfigurowa\u0107 [Dialogflow Webhook]({twilio_url}). \n\n Wprowad\u017a nast\u0119puj\u0105ce dane:\n\n - URL: `{webhook_url}` \n - Metoda: POST \n - Typ zawarto\u015bci: application/json\n\nZapoznaj si\u0119 z [dokumentacj\u0105]({docs_url}), by pozna\u0107 szczeg\u00f3\u0142y."
+            "default": "Aby wysy\u0142a\u0107 zdarzenia do Home Assistant'a, musisz skonfigurowa\u0107 [Dialogflow Webhook]({dialogflow_url}). \n\n Wprowad\u017a nast\u0119puj\u0105ce dane:\n\n - URL: `{webhook_url}` \n - Metoda: POST \n - Typ zawarto\u015bci: application/json\n\nZapoznaj si\u0119 z [dokumentacj\u0105]({docs_url}), by pozna\u0107 szczeg\u00f3\u0142y."
         },
         "step": {
             "user": {
diff --git a/homeassistant/components/esphome/.translations/es-419.json b/homeassistant/components/esphome/.translations/es-419.json
index 58dbba34fa8384f95f137e904a6b22f9735e03ba..a0a2d77d48c841b380f9dffb2bc390f3dc78348f 100644
--- a/homeassistant/components/esphome/.translations/es-419.json
+++ b/homeassistant/components/esphome/.translations/es-419.json
@@ -8,6 +8,7 @@
             "invalid_password": "\u00a1Contrase\u00f1a invalida!",
             "resolve_error": "No se puede resolver la direcci\u00f3n de la ESP. Si este error persiste, configure una direcci\u00f3n IP est\u00e1tica: https://esphomelib.com/esphomeyaml/components/wifi.html#manual-ips"
         },
+        "flow_title": "ESPHome: {name}",
         "step": {
             "authenticate": {
                 "data": {
@@ -17,6 +18,7 @@
                 "title": "Escriba la contrase\u00f1a"
             },
             "discovery_confirm": {
+                "description": "\u00bfDesea agregar el nodo ESPHome `{name}` a Home Assistant?",
                 "title": "Nodo ESPHome descubierto"
             },
             "user": {
diff --git a/homeassistant/components/hangouts/.translations/es-419.json b/homeassistant/components/hangouts/.translations/es-419.json
index 951a30f18260a4d61c2e7d464f6f6f255886c824..3a297eb15ea3dd3edbcb91c231a35bbd630d554e 100644
--- a/homeassistant/components/hangouts/.translations/es-419.json
+++ b/homeassistant/components/hangouts/.translations/es-419.json
@@ -9,6 +9,9 @@
         },
         "step": {
             "2fa": {
+                "data": {
+                    "2fa": "Pin 2FA"
+                },
                 "title": "Autenticaci\u00f3n de 2 factores"
             },
             "user": {
diff --git a/homeassistant/components/heos/.translations/es-419.json b/homeassistant/components/heos/.translations/es-419.json
index 12ed8cc457a5d481bc3541e4f770528462ed87f9..66c02884a7e257dc0e06e1bbded46aee59793496 100644
--- a/homeassistant/components/heos/.translations/es-419.json
+++ b/homeassistant/components/heos/.translations/es-419.json
@@ -1,5 +1,8 @@
 {
     "config": {
+        "abort": {
+            "already_setup": "Solo puede configurar una sola conexi\u00f3n Heos, ya que ser\u00e1 compatible con todos los dispositivos de la red."
+        },
         "title": "Heos"
     }
 }
\ No newline at end of file
diff --git a/homeassistant/components/homekit_controller/.translations/es-419.json b/homeassistant/components/homekit_controller/.translations/es-419.json
index b058e94e25ad23328a30ff5f8ef5a0c1a9ea6a20..9ddf336c0605c6e9d4ebe18e27c27b4dd1f25570 100644
--- a/homeassistant/components/homekit_controller/.translations/es-419.json
+++ b/homeassistant/components/homekit_controller/.translations/es-419.json
@@ -15,6 +15,7 @@
                     "device": "Dispositivo"
                 }
             }
-        }
+        },
+        "title": "Accesorio HomeKit"
     }
 }
\ No newline at end of file
diff --git a/homeassistant/components/homematicip_cloud/.translations/hr.json b/homeassistant/components/homematicip_cloud/.translations/hr.json
new file mode 100644
index 0000000000000000000000000000000000000000..648dbfe73f98e72fc2fb2fd5ad34e2c7bec3a781
--- /dev/null
+++ b/homeassistant/components/homematicip_cloud/.translations/hr.json
@@ -0,0 +1,7 @@
+{
+    "config": {
+        "abort": {
+            "unknown": "Do\u0161lo je do nepoznate pogre\u0161ke."
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/hue/.translations/es-419.json b/homeassistant/components/hue/.translations/es-419.json
index 8efc9101d9a1753e043a252d7d74f8683f19f765..48a2ff233da84da2909817441499370984a355de 100644
--- a/homeassistant/components/hue/.translations/es-419.json
+++ b/homeassistant/components/hue/.translations/es-419.json
@@ -6,6 +6,7 @@
             "cannot_connect": "No se puede conectar al puente",
             "discover_timeout": "Incapaz de descubrir puentes Hue",
             "no_bridges": "No se descubrieron puentes Philips Hue",
+            "not_hue_bridge": "No es un puente Hue",
             "unknown": "Se produjo un error desconocido"
         },
         "error": {
diff --git a/homeassistant/components/hue/.translations/hr.json b/homeassistant/components/hue/.translations/hr.json
new file mode 100644
index 0000000000000000000000000000000000000000..16a1b19ff8e0ff0de263e52a560e2ef3f2e4b089
--- /dev/null
+++ b/homeassistant/components/hue/.translations/hr.json
@@ -0,0 +1,16 @@
+{
+    "config": {
+        "error": {
+            "linking": "Do\u0161lo je do nepoznate pogre\u0161ke u povezivanju.",
+            "register_failed": "Registracija nije uspjela. Poku\u0161ajte ponovo"
+        },
+        "step": {
+            "init": {
+                "data": {
+                    "host": "Host"
+                }
+            }
+        },
+        "title": "Philips Hue"
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/ifttt/.translations/hr.json b/homeassistant/components/ifttt/.translations/hr.json
new file mode 100644
index 0000000000000000000000000000000000000000..077956287b3e143b2ded64d72168b4fccc31a271
--- /dev/null
+++ b/homeassistant/components/ifttt/.translations/hr.json
@@ -0,0 +1,5 @@
+{
+    "config": {
+        "title": "IFTTT"
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/iqvia/.translations/es-419.json b/homeassistant/components/iqvia/.translations/es-419.json
new file mode 100644
index 0000000000000000000000000000000000000000..b107e1bb696df09e4ac5b7a10483bb9783edc65e
--- /dev/null
+++ b/homeassistant/components/iqvia/.translations/es-419.json
@@ -0,0 +1,14 @@
+{
+    "config": {
+        "error": {
+            "invalid_zip_code": "El c\u00f3digo postal no es v\u00e1lido"
+        },
+        "step": {
+            "user": {
+                "data": {
+                    "zip_code": "C\u00f3digo postal"
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/iqvia/.translations/id.json b/homeassistant/components/iqvia/.translations/id.json
new file mode 100644
index 0000000000000000000000000000000000000000..a93f9aac26fc74175ea37c875237633f7de30f2e
--- /dev/null
+++ b/homeassistant/components/iqvia/.translations/id.json
@@ -0,0 +1,11 @@
+{
+    "config": {
+        "step": {
+            "user": {
+                "data": {
+                    "zip_code": "Kode Pos"
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/life360/.translations/es-419.json b/homeassistant/components/life360/.translations/es-419.json
new file mode 100644
index 0000000000000000000000000000000000000000..3f9bfab33047286efdc14a47d58d3b2a78c508fb
--- /dev/null
+++ b/homeassistant/components/life360/.translations/es-419.json
@@ -0,0 +1,5 @@
+{
+    "config": {
+        "title": "Life360"
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/life360/.translations/fr.json b/homeassistant/components/life360/.translations/fr.json
index 95df1c991a20c2087707a9ef6fc52af86b0604c8..cb4682fc9371030441263b22e4997c935e0aa100 100644
--- a/homeassistant/components/life360/.translations/fr.json
+++ b/homeassistant/components/life360/.translations/fr.json
@@ -4,6 +4,9 @@
             "invalid_credentials": "Informations d'identification invalides",
             "user_already_configured": "Le compte a d\u00e9j\u00e0 \u00e9t\u00e9 configur\u00e9"
         },
+        "create_entry": {
+            "default": "Pour d\u00e9finir les options avanc\u00e9es, voir [Documentation de Life360]( {docs_url} )."
+        },
         "error": {
             "invalid_credentials": "Informations d'identification invalides",
             "invalid_username": "Nom d'utilisateur invalide",
@@ -15,6 +18,7 @@
                     "password": "Mot de passe",
                     "username": "Nom d'utilisateur"
                 },
+                "description": "Pour d\u00e9finir des options avanc\u00e9es, voir [Documentation Life360]({docs_url}).\nVous pouvez le faire avant d'ajouter des comptes.",
                 "title": "Informations sur le compte Life360"
             }
         },
diff --git a/homeassistant/components/life360/.translations/hr.json b/homeassistant/components/life360/.translations/hr.json
new file mode 100644
index 0000000000000000000000000000000000000000..5cf8cbef17f00466e8444a397d71f5aceaafba0b
--- /dev/null
+++ b/homeassistant/components/life360/.translations/hr.json
@@ -0,0 +1,24 @@
+{
+    "config": {
+        "abort": {
+            "invalid_credentials": "Neva\u017ee\u0107e vjerodajnice",
+            "user_already_configured": "Ra\u010dun je ve\u0107 konfiguriran"
+        },
+        "create_entry": {
+            "default": "Da biste postavili napredne opcije, pogledajte [Life360 dokumentacija] ( {docs_url} )."
+        },
+        "error": {
+            "invalid_credentials": "Neva\u017ee\u0107e vjerodajnice",
+            "invalid_username": "Neispravno korisni\u010dko ime",
+            "user_already_configured": "Ra\u010dun je ve\u0107 konfiguriran"
+        },
+        "step": {
+            "user": {
+                "data": {
+                    "password": "Lozinka",
+                    "username": "Korisni\u010dko ime"
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/life360/.translations/id.json b/homeassistant/components/life360/.translations/id.json
new file mode 100644
index 0000000000000000000000000000000000000000..2bb7a1cca688eebf5ddaf26635af6983855f1022
--- /dev/null
+++ b/homeassistant/components/life360/.translations/id.json
@@ -0,0 +1,7 @@
+{
+    "config": {
+        "error": {
+            "invalid_username": "Nama pengguna tidak valid"
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/life360/.translations/pl.json b/homeassistant/components/life360/.translations/pl.json
index b1523da188ce889aabe9912466dedc6e356a2544..15aabaa630842438cb39a6fe71aa2f7abee085d1 100644
--- a/homeassistant/components/life360/.translations/pl.json
+++ b/homeassistant/components/life360/.translations/pl.json
@@ -1,16 +1,16 @@
 {
     "config": {
         "abort": {
-            "invalid_credentials": "B\u0142\u0119dne dane uwierzytelniaj\u0105ce",
-            "user_already_configured": "Konto jest ju\u017c skonfigurowane."
+            "invalid_credentials": "Nieprawid\u0142owe dane uwierzytelniaj\u0105ce",
+            "user_already_configured": "Konto zosta\u0142o ju\u017c skonfigurowane."
         },
         "create_entry": {
             "default": "Aby skonfigurowa\u0107 zaawansowane ustawienia, zapoznaj si\u0119 z [dokumentacj\u0105 Life360]({docs_url})."
         },
         "error": {
-            "invalid_credentials": "B\u0142\u0119dne dane uwierzytelniaj\u0105ce",
+            "invalid_credentials": "Nieprawid\u0142owe dane uwierzytelniaj\u0105ce",
             "invalid_username": "Nieprawid\u0142owa nazwa u\u017cytkownika",
-            "user_already_configured": "Konto jest ju\u017c skonfigurowane."
+            "user_already_configured": "Konto zosta\u0142o ju\u017c skonfigurowane."
         },
         "step": {
             "user": {
diff --git a/homeassistant/components/logi_circle/.translations/es-419.json b/homeassistant/components/logi_circle/.translations/es-419.json
new file mode 100644
index 0000000000000000000000000000000000000000..2393908e2811309e7ba83ba306d843037492706a
--- /dev/null
+++ b/homeassistant/components/logi_circle/.translations/es-419.json
@@ -0,0 +1,27 @@
+{
+    "config": {
+        "abort": {
+            "already_setup": "Solo puede configurar una sola cuenta de Logi Circle.",
+            "external_error": "Se produjo una excepci\u00f3n de otro flujo.",
+            "external_setup": "Logi Circle se configur\u00f3 correctamente desde otro flujo."
+        },
+        "create_entry": {
+            "default": "Autenticado con \u00e9xito con Logi Circle."
+        },
+        "error": {
+            "auth_error": "Autorizaci\u00f3n de API fallida."
+        },
+        "step": {
+            "auth": {
+                "title": "Autenticar con Logi Circle"
+            },
+            "user": {
+                "data": {
+                    "flow_impl": "Proveedor"
+                },
+                "title": "Proveedor de autenticaci\u00f3n"
+            }
+        },
+        "title": "Logi Circle"
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/met/.translations/es-419.json b/homeassistant/components/met/.translations/es-419.json
new file mode 100644
index 0000000000000000000000000000000000000000..d744de150d28a82d0e58a80d5bca81bbd204ffd0
--- /dev/null
+++ b/homeassistant/components/met/.translations/es-419.json
@@ -0,0 +1,20 @@
+{
+    "config": {
+        "error": {
+            "name_exists": "El nombre ya existe"
+        },
+        "step": {
+            "user": {
+                "data": {
+                    "elevation": "Elevaci\u00f3n",
+                    "latitude": "Latitud",
+                    "longitude": "Longitud",
+                    "name": "Nombre"
+                },
+                "description": "Meteorologisk institutt",
+                "title": "Ubicaci\u00f3n"
+            }
+        },
+        "title": "Met.no"
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/met/.translations/hr.json b/homeassistant/components/met/.translations/hr.json
new file mode 100644
index 0000000000000000000000000000000000000000..6505229355cf50b38ff789a7c38bc1e21ab4b17c
--- /dev/null
+++ b/homeassistant/components/met/.translations/hr.json
@@ -0,0 +1,20 @@
+{
+    "config": {
+        "error": {
+            "name_exists": "Ime ve\u0107 postoji"
+        },
+        "step": {
+            "user": {
+                "data": {
+                    "elevation": "Elevacija",
+                    "latitude": "Zemljopisna \u0161irina",
+                    "longitude": "Zemljopisna du\u017eina",
+                    "name": "Ime"
+                },
+                "description": "Meteorolo\u0161ki institutt",
+                "title": "Lokacija"
+            }
+        },
+        "title": "Met.no"
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/met/.translations/id.json b/homeassistant/components/met/.translations/id.json
new file mode 100644
index 0000000000000000000000000000000000000000..12854e4ed619ff780a9da068aae17fcf4e7988b9
--- /dev/null
+++ b/homeassistant/components/met/.translations/id.json
@@ -0,0 +1,13 @@
+{
+    "config": {
+        "step": {
+            "user": {
+                "data": {
+                    "elevation": "Ketinggian",
+                    "name": "Nama"
+                },
+                "title": "Lokasi"
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/met/.translations/pl.json b/homeassistant/components/met/.translations/pl.json
index 61b66b794e18c4953f22cca44f8545237bed7498..d44142213bf066110f2e7cb410b24e946a9e82a0 100644
--- a/homeassistant/components/met/.translations/pl.json
+++ b/homeassistant/components/met/.translations/pl.json
@@ -11,7 +11,7 @@
                     "longitude": "D\u0142ugo\u015b\u0107 geograficzna",
                     "name": "Nazwa"
                 },
-                "description": "Meteorologisk institutt",
+                "description": "Instytut Meteorologiczny",
                 "title": "Lokalizacja"
             }
         },
diff --git a/homeassistant/components/mobile_app/.translations/es-419.json b/homeassistant/components/mobile_app/.translations/es-419.json
index 417d06276160937cb86d17eac332a2ce144d6e2c..271e38147c3323cd0b55cdd92adebc1d06f79dd7 100644
--- a/homeassistant/components/mobile_app/.translations/es-419.json
+++ b/homeassistant/components/mobile_app/.translations/es-419.json
@@ -1,5 +1,8 @@
 {
     "config": {
+        "abort": {
+            "install_app": "Abra la aplicaci\u00f3n m\u00f3vil para configurar la integraci\u00f3n con Home Assistant. Consulte [los documentos] ({apps_url}) para obtener una lista de aplicaciones compatibles."
+        },
         "step": {
             "confirm": {
                 "title": "Aplicaci\u00f3n movil"
diff --git a/homeassistant/components/moon/.translations/sensor.es-419.json b/homeassistant/components/moon/.translations/sensor.es-419.json
index 71cfab736cb6be5260dd47bd16ca8c0a8aa9baf2..89823dd2055900b788cc2d2be1ed2d2f40e134cb 100644
--- a/homeassistant/components/moon/.translations/sensor.es-419.json
+++ b/homeassistant/components/moon/.translations/sensor.es-419.json
@@ -2,11 +2,6 @@
     "state": {
         "first_quarter": "Cuarto creciente",
         "full_moon": "Luna llena",
-        "last_quarter": "Cuarto menguante",
-        "new_moon": "Luna nueva",
-        "waning_crescent": "Luna menguante",
-        "waning_gibbous": "Luna menguante gibosa",
-        "waxing_crescent": "Luna creciente",
-        "waxing_gibbous": "Luna creciente gibosa"
+        "last_quarter": "Cuarto menguante"
     }
 }
\ No newline at end of file
diff --git a/homeassistant/components/mqtt/.translations/hr.json b/homeassistant/components/mqtt/.translations/hr.json
new file mode 100644
index 0000000000000000000000000000000000000000..b3c82fdd8db90f75d30be5a64421594a99b5f7cf
--- /dev/null
+++ b/homeassistant/components/mqtt/.translations/hr.json
@@ -0,0 +1,15 @@
+{
+    "config": {
+        "step": {
+            "broker": {
+                "data": {
+                    "password": "Lozinka",
+                    "port": "Port",
+                    "username": "Korisni\u010dko ime"
+                },
+                "title": "MQTT"
+            }
+        },
+        "title": "MQTT"
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/nest/.translations/hr.json b/homeassistant/components/nest/.translations/hr.json
new file mode 100644
index 0000000000000000000000000000000000000000..b96a358f2f03d799d9cb2b44d82c331557a13670
--- /dev/null
+++ b/homeassistant/components/nest/.translations/hr.json
@@ -0,0 +1,21 @@
+{
+    "config": {
+        "error": {
+            "invalid_code": "Neispravan kod"
+        },
+        "step": {
+            "init": {
+                "data": {
+                    "flow_impl": "Pru\u017eatelj usluge"
+                },
+                "title": "Pru\u017eatelj usluge autentifikacije"
+            },
+            "link": {
+                "data": {
+                    "code": "PIN kod"
+                }
+            }
+        },
+        "title": "Nest"
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/notion/.translations/es-419.json b/homeassistant/components/notion/.translations/es-419.json
new file mode 100644
index 0000000000000000000000000000000000000000..ad2f19b0668ce157271217467845e5376eb62cc7
--- /dev/null
+++ b/homeassistant/components/notion/.translations/es-419.json
@@ -0,0 +1,18 @@
+{
+    "config": {
+        "error": {
+            "invalid_credentials": "Nombre de usuario o contrase\u00f1a inv\u00e1lidos",
+            "no_devices": "No se han encontrado dispositivos en la cuenta."
+        },
+        "step": {
+            "user": {
+                "data": {
+                    "password": "Contrase\u00f1a",
+                    "username": "Nombre de usuario/direcci\u00f3n de correo electr\u00f3nico"
+                },
+                "title": "Complete su informaci\u00f3n"
+            }
+        },
+        "title": "Noci\u00f3n"
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/notion/.translations/hr.json b/homeassistant/components/notion/.translations/hr.json
new file mode 100644
index 0000000000000000000000000000000000000000..b20317a236a71b115d126c439dd3cc31c16c1385
--- /dev/null
+++ b/homeassistant/components/notion/.translations/hr.json
@@ -0,0 +1,19 @@
+{
+    "config": {
+        "error": {
+            "identifier_exists": "Korisni\u010dko ime je ve\u0107 registrirano",
+            "invalid_credentials": "Neispravno korisni\u010dko ime ili lozinka",
+            "no_devices": "Nisu prona\u0111eni ure\u0111aji na ra\u010dunu"
+        },
+        "step": {
+            "user": {
+                "data": {
+                    "password": "Lozinka",
+                    "username": "Korisni\u010dko ime/adresa e-po\u0161te"
+                },
+                "title": "Ispunite svoje podatke"
+            }
+        },
+        "title": "Pojam"
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/notion/.translations/pl.json b/homeassistant/components/notion/.translations/pl.json
index 0c1fe674887d2e312e48dc7649544dc9ffb1fc4d..c35de9c535c1d55643c345bc5b8fc4766fbb81a7 100644
--- a/homeassistant/components/notion/.translations/pl.json
+++ b/homeassistant/components/notion/.translations/pl.json
@@ -1,7 +1,7 @@
 {
     "config": {
         "error": {
-            "identifier_exists": "Nazwa u\u017cytkownika jest ju\u017c zarejestrowana",
+            "identifier_exists": "Nazwa u\u017cytkownika ju\u017c zarejestrowana",
             "invalid_credentials": "Nieprawid\u0142owa nazwa u\u017cytkownika lub has\u0142o",
             "no_devices": "Nie znaleziono urz\u0105dze\u0144 na koncie"
         },
@@ -14,6 +14,6 @@
                 "title": "Wprowad\u017a swoje dane"
             }
         },
-        "title": "Notion"
+        "title": "Poj\u0119cie"
     }
 }
\ No newline at end of file
diff --git a/homeassistant/components/onboarding/.translations/es-419.json b/homeassistant/components/onboarding/.translations/es-419.json
new file mode 100644
index 0000000000000000000000000000000000000000..747074436d7af8c3d6b2c849cd061aa349bbdb96
--- /dev/null
+++ b/homeassistant/components/onboarding/.translations/es-419.json
@@ -0,0 +1,7 @@
+{
+    "area": {
+        "bedroom": "Habitaci\u00f3n",
+        "kitchen": "Cocina",
+        "living_room": "Sala"
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/onboarding/.translations/id.json b/homeassistant/components/onboarding/.translations/id.json
new file mode 100644
index 0000000000000000000000000000000000000000..33e8a88a9ae0cdfac7bfc91c9f93e58d9a3081a8
--- /dev/null
+++ b/homeassistant/components/onboarding/.translations/id.json
@@ -0,0 +1,5 @@
+{
+    "area": {
+        "kitchen": "Dapur"
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/openuv/.translations/hr.json b/homeassistant/components/openuv/.translations/hr.json
new file mode 100644
index 0000000000000000000000000000000000000000..835929d26dfe44d58e199b9595a38dbe6b6d617c
--- /dev/null
+++ b/homeassistant/components/openuv/.translations/hr.json
@@ -0,0 +1,13 @@
+{
+    "config": {
+        "step": {
+            "user": {
+                "data": {
+                    "elevation": "Elevacija",
+                    "latitude": "Zemljopisna \u0161irina",
+                    "longitude": "Zemljopisna du\u017eina"
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/plaato/.translations/es-419.json b/homeassistant/components/plaato/.translations/es-419.json
new file mode 100644
index 0000000000000000000000000000000000000000..d63802984efb216ad3b5ffbd91ff2437bd8340d2
--- /dev/null
+++ b/homeassistant/components/plaato/.translations/es-419.json
@@ -0,0 +1,18 @@
+{
+    "config": {
+        "abort": {
+            "not_internet_accessible": "La instancia de Home Assistant debe estar accesible desde Internet para recibir mensajes de Plaato Airlock.",
+            "one_instance_allowed": "Solo una instancia es necesaria."
+        },
+        "create_entry": {
+            "default": "Para enviar eventos a Home Assistant, deber\u00e1 configurar la funci\u00f3n de webhook en Plaato Airlock. \n\n Complete la siguiente informaci\u00f3n: \n\n - URL: `{webhook_url}` \n - M\u00e9todo: POST \n\n Consulte [la documentaci\u00f3n]({docs_url}) para obtener m\u00e1s detalles."
+        },
+        "step": {
+            "user": {
+                "description": "\u00bfEst\u00e1 seguro de que deseas configurar Plaato Airlock?",
+                "title": "Configurar el Webhook de Plaato"
+            }
+        },
+        "title": "Plaato Airlock"
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/plaato/.translations/hr.json b/homeassistant/components/plaato/.translations/hr.json
new file mode 100644
index 0000000000000000000000000000000000000000..680571040b1ecd642916a9803afafbaa68ae06c4
--- /dev/null
+++ b/homeassistant/components/plaato/.translations/hr.json
@@ -0,0 +1,18 @@
+{
+    "config": {
+        "abort": {
+            "not_internet_accessible": "Va\u0161 Home Assistant mora biti dostupan s interneta za primanje poruka od Plaato Airlocka.",
+            "one_instance_allowed": "Potrebna je samo jedna instanca."
+        },
+        "create_entry": {
+            "default": "Za slanje doga\u0111aja kod ku\u0107nog pomo\u0107nika, morat \u0107ete postaviti zna\u010dajku webhook u Plaato Airlock.\n\nIspunite sljede\u0107e informacije:\n\n-URL: ' {webhook_url} '\n-Metoda: POST\n\nZa dodatne detalje pogledajte [dokumentaciju] ({docs_url})."
+        },
+        "step": {
+            "user": {
+                "description": "Jeste li sigurni da \u017eelite postaviti Plaato Airlock?",
+                "title": "Postavljanje Plaato Webhook"
+            }
+        },
+        "title": "Plaato Airlock"
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/plaato/.translations/pl.json b/homeassistant/components/plaato/.translations/pl.json
index aa7eb5f29bc2f87408c7227b5ea998799709cd64..aac48ee4774bae3156c38f860d592d1b03584250 100644
--- a/homeassistant/components/plaato/.translations/pl.json
+++ b/homeassistant/components/plaato/.translations/pl.json
@@ -9,7 +9,7 @@
         },
         "step": {
             "user": {
-                "description": "Czy chcesz skonfigurowa\u0107 Plaato Airlock?",
+                "description": "Czy na pewno chcesz skonfigurowa\u0107 Airlock Plaato?",
                 "title": "Konfiguracja Plaato Webhook"
             }
         },
diff --git a/homeassistant/components/point/.translations/es-419.json b/homeassistant/components/point/.translations/es-419.json
index c20e3350272d8c05b8c9158c0d284cc243d41134..7436513ba6f84d61d22f048713f4e7143ae3b7dd 100644
--- a/homeassistant/components/point/.translations/es-419.json
+++ b/homeassistant/components/point/.translations/es-419.json
@@ -1,6 +1,8 @@
 {
     "config": {
         "abort": {
+            "already_setup": "Solo puede configurar una cuenta Point.",
+            "authorize_url_fail": "Error desconocido al generar una URL de autorizaci\u00f3n.",
             "external_setup": "Punto configurado con \u00e9xito desde otro flujo."
         },
         "error": {
diff --git a/homeassistant/components/ps4/.translations/es-419.json b/homeassistant/components/ps4/.translations/es-419.json
index 093ee552951786b99d2f40e78c74497b8b56705a..0f7066df007be2f06d031e9dec81aef567a2df49 100644
--- a/homeassistant/components/ps4/.translations/es-419.json
+++ b/homeassistant/components/ps4/.translations/es-419.json
@@ -25,6 +25,12 @@
                 },
                 "description": "Ingresa tu informaci\u00f3n de PlayStation 4. Para 'PIN', navegue hasta 'Configuraci\u00f3n' en su consola PlayStation 4. Luego navegue a 'Configuraci\u00f3n de conexi\u00f3n de la aplicaci\u00f3n m\u00f3vil' y seleccione 'Agregar dispositivo'. Ingrese el PIN que se muestra.",
                 "title": "Playstation 4"
+            },
+            "mode": {
+                "data": {
+                    "mode": "Modo de configuraci\u00f3n"
+                },
+                "title": "Playstation 4"
             }
         },
         "title": "Playstation 4"
diff --git a/homeassistant/components/season/.translations/sensor.es-419.json b/homeassistant/components/season/.translations/sensor.es-419.json
index 65df6a58b10799752e667359b62c992e331a6f18..09ad22740cde75f537b1a8b6f168a33d03d6dec6 100644
--- a/homeassistant/components/season/.translations/sensor.es-419.json
+++ b/homeassistant/components/season/.translations/sensor.es-419.json
@@ -2,7 +2,6 @@
     "state": {
         "autumn": "Oto\u00f1o",
         "spring": "Primavera",
-        "summer": "Verano",
-        "winter": "Invierno"
+        "summer": "Verano"
     }
 }
\ No newline at end of file
diff --git a/homeassistant/components/sensor/.translations/season.hr.json b/homeassistant/components/sensor/.translations/season.hr.json
new file mode 100644
index 0000000000000000000000000000000000000000..ff36d1ca66bf8746c1fb798ce3313b7663c56b14
--- /dev/null
+++ b/homeassistant/components/sensor/.translations/season.hr.json
@@ -0,0 +1,8 @@
+{
+    "state": {
+        "autumn": "Jesen",
+        "spring": "Prolje\u0107e",
+        "summer": "Ljeto",
+        "winter": "Zima"
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/somfy/.translations/fr.json b/homeassistant/components/somfy/.translations/fr.json
index 6afb01169cbec0c75c3f53f14f87b51e15963774..ba873c4f029786ba4b304bea6b8591cd2b9eb33e 100644
--- a/homeassistant/components/somfy/.translations/fr.json
+++ b/homeassistant/components/somfy/.translations/fr.json
@@ -1,5 +1,10 @@
 {
     "config": {
+        "abort": {
+            "already_setup": "Vous ne pouvez configurer qu'un seul compte Somfy.",
+            "authorize_url_timeout": "D\u00e9lai de g\u00e9n\u00e9ration d'url autoriser.",
+            "missing_configuration": "Le composant Somfy n'est pas configur\u00e9. Veuillez suivre la documentation."
+        },
         "create_entry": {
             "default": "Authentifi\u00e9 avec succ\u00e8s avec Somfy."
         },
diff --git a/homeassistant/components/somfy/.translations/hr.json b/homeassistant/components/somfy/.translations/hr.json
new file mode 100644
index 0000000000000000000000000000000000000000..3a9041020764b6663b3bdf2e3dd65048b3362145
--- /dev/null
+++ b/homeassistant/components/somfy/.translations/hr.json
@@ -0,0 +1,8 @@
+{
+    "config": {
+        "create_entry": {
+            "default": "Uspje\u0161no autentificirano sa Somfy."
+        },
+        "title": "Somfy"
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/sonos/.translations/hr.json b/homeassistant/components/sonos/.translations/hr.json
new file mode 100644
index 0000000000000000000000000000000000000000..c91f9a78c292da26eef9b22429c56ee9c74c85f0
--- /dev/null
+++ b/homeassistant/components/sonos/.translations/hr.json
@@ -0,0 +1,10 @@
+{
+    "config": {
+        "step": {
+            "confirm": {
+                "title": "Sonos"
+            }
+        },
+        "title": "Sonos"
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/tplink/.translations/es-419.json b/homeassistant/components/tplink/.translations/es-419.json
index 1d9fb41fc8ce112f68ed53f74cff17130eb051cf..2832804113a6ad45c826d4eae8a3c7079d136a27 100644
--- a/homeassistant/components/tplink/.translations/es-419.json
+++ b/homeassistant/components/tplink/.translations/es-419.json
@@ -1,7 +1,12 @@
 {
     "config": {
+        "abort": {
+            "no_devices_found": "No se encontraron dispositivos TP-Link en la red.",
+            "single_instance_allowed": "Solo es necesaria una \u00fanica configuraci\u00f3n."
+        },
         "step": {
             "confirm": {
+                "description": "\u00bfDesea configurar dispositivos inteligentes TP-Link?",
                 "title": "TP-Link Smart Home"
             }
         },
diff --git a/homeassistant/components/traccar/.translations/en.json b/homeassistant/components/traccar/.translations/en.json
new file mode 100644
index 0000000000000000000000000000000000000000..a8804835278828c60dc46270dae8fcc74d5e4423
--- /dev/null
+++ b/homeassistant/components/traccar/.translations/en.json
@@ -0,0 +1,18 @@
+{
+    "config": {
+        "abort": {
+            "not_internet_accessible": "Your Home Assistant instance needs to be accessible from the internet to receive messages from Traccar.",
+            "one_instance_allowed": "Only a single instance is necessary."
+        },
+        "create_entry": {
+            "default": "To send events to Home Assistant, you will need to setup the webhook feature in Traccar.\n\nUse the following url: `{webhook_url}`\n\nSee [the documentation]({docs_url}) for further details."
+        },
+        "step": {
+            "user": {
+                "description": "Are you sure you want to set up Traccar?",
+                "title": "Set up Traccar"
+            }
+        },
+        "title": "Traccar"
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/tradfri/.translations/es-419.json b/homeassistant/components/tradfri/.translations/es-419.json
index 55016606e2dbe6fed064bdd0e28e7d8f97c53150..4b3e1ed52d44a125eb313d5b47664ee3bbcc3479 100644
--- a/homeassistant/components/tradfri/.translations/es-419.json
+++ b/homeassistant/components/tradfri/.translations/es-419.json
@@ -1,9 +1,11 @@
 {
     "config": {
         "abort": {
-            "already_configured": "El Bridge ya est\u00e1 configurado"
+            "already_configured": "El Bridge ya est\u00e1 configurado",
+            "already_in_progress": "La configuraci\u00f3n del puente ya est\u00e1 en progreso."
         },
         "error": {
+            "cannot_connect": "No se puede conectar a la puerta de enlace.",
             "invalid_key": "Error al registrarse con la clave proporcionada. Si esto sigue sucediendo, intente reiniciar el gateway.",
             "timeout": "Tiempo de espera para validar el c\u00f3digo."
         },
diff --git a/homeassistant/components/tradfri/.translations/hr.json b/homeassistant/components/tradfri/.translations/hr.json
new file mode 100644
index 0000000000000000000000000000000000000000..b9b9cc6c0eba6d3e51d22460c98de4334d5da05a
--- /dev/null
+++ b/homeassistant/components/tradfri/.translations/hr.json
@@ -0,0 +1,15 @@
+{
+    "config": {
+        "abort": {
+            "already_in_progress": "Konfiguracija premosnice je ve\u0107 u tijeku."
+        },
+        "step": {
+            "auth": {
+                "data": {
+                    "host": "Host"
+                }
+            }
+        },
+        "title": "IKEA TR\u00c5DFRI"
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/tradfri/.translations/pl.json b/homeassistant/components/tradfri/.translations/pl.json
index a61a028f3968d66f02409543cf073dfd96aa63a0..e3fcfc89c5bd4b6a52175207db45e7fd44efc3eb 100644
--- a/homeassistant/components/tradfri/.translations/pl.json
+++ b/homeassistant/components/tradfri/.translations/pl.json
@@ -2,7 +2,7 @@
     "config": {
         "abort": {
             "already_configured": "Mostek jest ju\u017c skonfigurowany",
-            "already_in_progress": "Konfigurowanie mostka jest ju\u017c w toku."
+            "already_in_progress": "Konfiguracja mostka jest ju\u017c w toku."
         },
         "error": {
             "cannot_connect": "Nie mo\u017cna po\u0142\u0105czy\u0107 si\u0119 z bram\u0105.",
diff --git a/homeassistant/components/unifi/.translations/en.json b/homeassistant/components/unifi/.translations/en.json
index c484bfbf09fa5d12daafe846baf65d8009631c6f..3686148fdb64520265f3a52eda07b9d8c9042699 100644
--- a/homeassistant/components/unifi/.translations/en.json
+++ b/homeassistant/components/unifi/.translations/en.json
@@ -1,41 +1,26 @@
 {
     "config": {
-        "title": "UniFi Controller",
+        "abort": {
+            "already_configured": "Controller site is already configured",
+            "user_privilege": "User needs to be administrator"
+        },
+        "error": {
+            "faulty_credentials": "Bad user credentials",
+            "service_unavailable": "No service available"
+        },
         "step": {
             "user": {
-                "title": "Set up UniFi Controller",
                 "data": {
                     "host": "Host",
-                    "username": "User name",
                     "password": "Password",
                     "port": "Port",
                     "site": "Site ID",
+                    "username": "User name",
                     "verify_ssl": "Controller using proper certificate"
-                }
+                },
+                "title": "Set up UniFi Controller"
             }
         },
-        "error": {
-            "faulty_credentials": "Bad user credentials",
-            "service_unavailable": "No service available"
-        },
-        "abort": {
-            "already_configured": "Controller site is already configured",
-            "user_privilege": "User needs to be administrator"
-        }
-    },
-    "options": {
-        "step": {
-            "init": {
-                "data": {}
-            },
-            "device_tracker": {
-                "data": {
-                    "detection_time": "Time in seconds from last seen until considered away",
-                    "track_clients": "Track network clients",
-                    "track_devices": "Track network devices (Ubiquiti devices)",
-                    "track_wired_clients": "Include wired network clients"
-                }
-            }
-        }
+        "title": "UniFi Controller"
     }
 }
\ No newline at end of file
diff --git a/homeassistant/components/unifi/.translations/hr.json b/homeassistant/components/unifi/.translations/hr.json
new file mode 100644
index 0000000000000000000000000000000000000000..94a064f34b4ff1bab69322c3cee5374fe7691444
--- /dev/null
+++ b/homeassistant/components/unifi/.translations/hr.json
@@ -0,0 +1,14 @@
+{
+    "config": {
+        "step": {
+            "user": {
+                "data": {
+                    "host": "Host",
+                    "password": "Lozinka",
+                    "port": "Port",
+                    "username": "Korisni\u010dko ime"
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/upnp/.translations/hr.json b/homeassistant/components/upnp/.translations/hr.json
new file mode 100644
index 0000000000000000000000000000000000000000..941f72f2e7da788954fa95817348db077ddcb856
--- /dev/null
+++ b/homeassistant/components/upnp/.translations/hr.json
@@ -0,0 +1,9 @@
+{
+    "config": {
+        "error": {
+            "few": "Nekoliko",
+            "one": "Jedan",
+            "other": "Ostalo"
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/wemo/.translations/es-419.json b/homeassistant/components/wemo/.translations/es-419.json
new file mode 100644
index 0000000000000000000000000000000000000000..df390e73dd10daa072cefb33a8b74703ff61d54c
--- /dev/null
+++ b/homeassistant/components/wemo/.translations/es-419.json
@@ -0,0 +1,15 @@
+{
+    "config": {
+        "abort": {
+            "no_devices_found": "No se encontraron dispositivos Wemo en la red.",
+            "single_instance_allowed": "Solo es posible una \u00fanica configuraci\u00f3n de Wemo."
+        },
+        "step": {
+            "confirm": {
+                "description": "\u00bfDesea configurar Wemo?",
+                "title": "Wemo"
+            }
+        },
+        "title": "Wemo"
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/wemo/.translations/hr.json b/homeassistant/components/wemo/.translations/hr.json
new file mode 100644
index 0000000000000000000000000000000000000000..389bfbd3cb1d483b9d1bc52a3bd3d546001600be
--- /dev/null
+++ b/homeassistant/components/wemo/.translations/hr.json
@@ -0,0 +1,5 @@
+{
+    "config": {
+        "title": "Wemo"
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/wwlln/.translations/es-419.json b/homeassistant/components/wwlln/.translations/es-419.json
new file mode 100644
index 0000000000000000000000000000000000000000..d185410a4ef3d7420f4b45cdc7f9cc2c0f49f595
--- /dev/null
+++ b/homeassistant/components/wwlln/.translations/es-419.json
@@ -0,0 +1,18 @@
+{
+    "config": {
+        "error": {
+            "identifier_exists": "Lugar ya registrado"
+        },
+        "step": {
+            "user": {
+                "data": {
+                    "latitude": "Latitud",
+                    "longitude": "Longitud",
+                    "radius": "Radio (usando su sistema de unidad base)"
+                },
+                "title": "Complete su informaci\u00f3n de ubicaci\u00f3n."
+            }
+        },
+        "title": "Red Mundial de Localizaci\u00f3n de Rayos (WWLLN)"
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/wwlln/.translations/hr.json b/homeassistant/components/wwlln/.translations/hr.json
new file mode 100644
index 0000000000000000000000000000000000000000..09ca1a0273f2ad1e60aa01bc42ab22f468730054
--- /dev/null
+++ b/homeassistant/components/wwlln/.translations/hr.json
@@ -0,0 +1,18 @@
+{
+    "config": {
+        "error": {
+            "identifier_exists": "Lokacija je ve\u0107 registrirana"
+        },
+        "step": {
+            "user": {
+                "data": {
+                    "latitude": "Zemljopisna \u0161irina",
+                    "longitude": "Zemljopisna du\u017eina",
+                    "radius": "Radius (koriste\u0107i sustav osnovne jedinice)"
+                },
+                "title": "Ispunite podatke o lokaciji."
+            }
+        },
+        "title": "Svjetska mre\u017ea lokacija munje (WWLLN)"
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/wwlln/.translations/pl.json b/homeassistant/components/wwlln/.translations/pl.json
index d233b485bd0d2a993f07ed7b28e47c142e62ecea..704c7baeecb3c28c49b9bacf774566612b87a950 100644
--- a/homeassistant/components/wwlln/.translations/pl.json
+++ b/homeassistant/components/wwlln/.translations/pl.json
@@ -8,11 +8,11 @@
                 "data": {
                     "latitude": "Szeroko\u015b\u0107 geograficzna",
                     "longitude": "D\u0142ugo\u015b\u0107 geograficzna",
-                    "radius": "Promie\u0144"
+                    "radius": "Promie\u0144 (przy u\u017cyciu systemu jednostki bazowej)"
                 },
-                "title": "Wprowad\u017a dane o swojej lokalizacji."
+                "title": "Wpisz informacje o swojej lokalizacji."
             }
         },
-        "title": "World Wide Lightning Location Network (WWLLN)"
+        "title": "\u015awiatowa sie\u0107 lokalizacji wy\u0142adowa\u0144 atmosferycznych (WWLLN)"
     }
 }
\ No newline at end of file
diff --git a/homeassistant/components/zone/.translations/hr.json b/homeassistant/components/zone/.translations/hr.json
new file mode 100644
index 0000000000000000000000000000000000000000..8a9f543be0a0b3b884c3aa67c1cebb90ef35b030
--- /dev/null
+++ b/homeassistant/components/zone/.translations/hr.json
@@ -0,0 +1,21 @@
+{
+    "config": {
+        "error": {
+            "name_exists": "Ime ve\u0107 postoji"
+        },
+        "step": {
+            "init": {
+                "data": {
+                    "icon": "Ikona",
+                    "latitude": "Zemljopisna \u0161irina",
+                    "longitude": "Zemljopisna du\u017eina",
+                    "name": "Ime",
+                    "passive": "Pasivno",
+                    "radius": "Radijus"
+                },
+                "title": "Definirajte parametre zone"
+            }
+        },
+        "title": "Zona"
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/zwave/.translations/es-419.json b/homeassistant/components/zwave/.translations/es-419.json
index 2e246fb9931a7f296b80997046729d245462cb93..f2ca1a19aa49bfcff0655ffae847c08647cfc676 100644
--- a/homeassistant/components/zwave/.translations/es-419.json
+++ b/homeassistant/components/zwave/.translations/es-419.json
@@ -4,6 +4,9 @@
             "already_configured": "Z-Wave ya est\u00e1 configurado",
             "one_instance_only": "El componente solo admite una instancia de Z-Wave"
         },
+        "error": {
+            "option_error": "La validaci\u00f3n de Z-Wave fall\u00f3. \u00bfEs correcta la ruta a la memoria USB?"
+        },
         "step": {
             "user": {
                 "data": {