diff --git a/homeassistant/components/abode/.translations/pt.json b/homeassistant/components/abode/.translations/pt.json
index 512bf59906c9a9c9e9e9b85c9127f762b075ef8e..4a371c706f774e8ad75195c673b4fb5628a11951 100644
--- a/homeassistant/components/abode/.translations/pt.json
+++ b/homeassistant/components/abode/.translations/pt.json
@@ -6,6 +6,7 @@
         "step": {
             "user": {
                 "data": {
+                    "password": "Palavra-passe",
                     "username": "Endere\u00e7o de e-mail"
                 }
             }
diff --git a/homeassistant/components/adguard/.translations/pt.json b/homeassistant/components/adguard/.translations/pt.json
index f681da4210f8a38c5be6c253f2c4be941620fc92..77ce7025f70c98e664e2c54dde8d615028610380 100644
--- a/homeassistant/components/adguard/.translations/pt.json
+++ b/homeassistant/components/adguard/.translations/pt.json
@@ -4,7 +4,9 @@
             "user": {
                 "data": {
                     "host": "Servidor",
-                    "port": "Porta"
+                    "password": "Palavra-passe",
+                    "port": "Porta",
+                    "username": "Nome de Utilizador"
                 }
             }
         }
diff --git a/homeassistant/components/almond/.translations/ca.json b/homeassistant/components/almond/.translations/ca.json
index cf4618d227210c4dd327a3babf22455f275a980a..ee71197757d6d61d19ec5335e62dc8d0795099eb 100644
--- a/homeassistant/components/almond/.translations/ca.json
+++ b/homeassistant/components/almond/.translations/ca.json
@@ -4,6 +4,11 @@
             "already_setup": "Nom\u00e9s pots configurar un \u00fanic compte amb Almond.",
             "cannot_connect": "No es pot connectar amb el servidor d'Almond."
         },
+        "step": {
+            "pick_implementation": {
+                "title": "Selecci\u00f3 del m\u00e8tode d'autenticaci\u00f3"
+            }
+        },
         "title": "Almond"
     }
 }
\ No newline at end of file
diff --git a/homeassistant/components/almond/.translations/no.json b/homeassistant/components/almond/.translations/no.json
index 6ea2de635b191c12966e2bef49c404c7073a7a74..0272a120f21ddfea320b1dbca50e6eda38d89525 100644
--- a/homeassistant/components/almond/.translations/no.json
+++ b/homeassistant/components/almond/.translations/no.json
@@ -5,6 +5,11 @@
             "cannot_connect": "Kan ikke koble til Almond-serveren.",
             "missing_configuration": "Vennligst sjekk dokumentasjonen om hvordan du setter opp Almond."
         },
+        "step": {
+            "pick_implementation": {
+                "title": "Velg autentiseringsmetode"
+            }
+        },
         "title": "Almond"
     }
 }
\ No newline at end of file
diff --git a/homeassistant/components/almond/.translations/pt.json b/homeassistant/components/almond/.translations/pt.json
new file mode 100644
index 0000000000000000000000000000000000000000..720400e72a5f24233443c25441b54b6cb76e6887
--- /dev/null
+++ b/homeassistant/components/almond/.translations/pt.json
@@ -0,0 +1,10 @@
+{
+    "config": {
+        "step": {
+            "pick_implementation": {
+                "title": "Escolha o m\u00e9todo de autentica\u00e7\u00e3o"
+            }
+        },
+        "title": ""
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/almond/.translations/ru.json b/homeassistant/components/almond/.translations/ru.json
index d15e9a1eeb47d7044b56ca25effc56d3417abe46..39dc41a39952e90293e1adc562f3983fcce687bd 100644
--- a/homeassistant/components/almond/.translations/ru.json
+++ b/homeassistant/components/almond/.translations/ru.json
@@ -5,6 +5,11 @@
             "cannot_connect": "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0443 Almond.",
             "missing_configuration": "\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 \u043f\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 Almond."
         },
+        "step": {
+            "pick_implementation": {
+                "title": "\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043c\u0435\u0442\u043e\u0434 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438"
+            }
+        },
         "title": "Almond"
     }
 }
\ No newline at end of file
diff --git a/homeassistant/components/cover/.translations/pt.json b/homeassistant/components/cover/.translations/pt.json
index cb9f85c4a939f640f869ffa52d025a05bed55a46..6234d2685f4b6f16fbb233e061bffb5c19e18659 100644
--- a/homeassistant/components/cover/.translations/pt.json
+++ b/homeassistant/components/cover/.translations/pt.json
@@ -4,7 +4,15 @@
             "is_closed": "{entity_name} est\u00e1 fechada",
             "is_closing": "{entity_name} est\u00e1 a fechar",
             "is_open": "{entity_name} est\u00e1 aberta",
-            "is_opening": "{entity_name} est\u00e1 a abrir"
+            "is_opening": "{entity_name} est\u00e1 a abrir",
+            "is_position": "A posi\u00e7\u00e3o atual de {entity_name} \u00e9",
+            "is_tilt_position": "A inclina\u00e7\u00e3o actual de {entity_name} \u00e9"
+        },
+        "trigger_type": {
+            "closed": "{entity_name} fechou",
+            "closing": "{entity_name} est\u00e1 a fechar",
+            "opened": "{entity_name} abriu",
+            "opening": "{entity_name} est\u00e1 a abrir"
         }
     }
 }
\ No newline at end of file
diff --git a/homeassistant/components/deconz/.translations/pt.json b/homeassistant/components/deconz/.translations/pt.json
index 63a66595ace417dd4293c36bd3f4b4b88f27b0fc..f24d7692a555e79df3b7946d90352b923ac97600 100644
--- a/homeassistant/components/deconz/.translations/pt.json
+++ b/homeassistant/components/deconz/.translations/pt.json
@@ -32,7 +32,13 @@
     },
     "device_automation": {
         "trigger_subtype": {
-            "left": "Esquerda"
+            "left": "Esquerda",
+            "side_1": "Lado 1",
+            "side_2": "Lado 2",
+            "side_3": "Lado 3",
+            "side_4": "Lado 4",
+            "side_5": "Lado 5",
+            "side_6": "Lado 6"
         }
     }
 }
\ No newline at end of file
diff --git a/homeassistant/components/demo/.translations/en.json b/homeassistant/components/demo/.translations/en.json
new file mode 100644
index 0000000000000000000000000000000000000000..ef01fcb4f3c35e0d61e318d80a31ae923e015809
--- /dev/null
+++ b/homeassistant/components/demo/.translations/en.json
@@ -0,0 +1,5 @@
+{
+    "config": {
+        "title": "Demo"
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/demo/.translations/no.json b/homeassistant/components/demo/.translations/no.json
new file mode 100644
index 0000000000000000000000000000000000000000..ef01fcb4f3c35e0d61e318d80a31ae923e015809
--- /dev/null
+++ b/homeassistant/components/demo/.translations/no.json
@@ -0,0 +1,5 @@
+{
+    "config": {
+        "title": "Demo"
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/demo/.translations/pt.json b/homeassistant/components/demo/.translations/pt.json
new file mode 100644
index 0000000000000000000000000000000000000000..8183f28aed3f389e069169d63a318aeb8203d5b8
--- /dev/null
+++ b/homeassistant/components/demo/.translations/pt.json
@@ -0,0 +1,5 @@
+{
+    "config": {
+        "title": "Demonstra\u00e7\u00e3o"
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/demo/.translations/ru.json b/homeassistant/components/demo/.translations/ru.json
new file mode 100644
index 0000000000000000000000000000000000000000..0438252a42991b1ee05267c509ad3496ab182899
--- /dev/null
+++ b/homeassistant/components/demo/.translations/ru.json
@@ -0,0 +1,5 @@
+{
+    "config": {
+        "title": "\u0414\u0435\u043c\u043e"
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/demo/.translations/zh-Hant.json b/homeassistant/components/demo/.translations/zh-Hant.json
new file mode 100644
index 0000000000000000000000000000000000000000..cfb0fced0c2db313c799410b64921e6566ace6bc
--- /dev/null
+++ b/homeassistant/components/demo/.translations/zh-Hant.json
@@ -0,0 +1,5 @@
+{
+    "config": {
+        "title": "\u5c55\u793a"
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/device_tracker/.translations/pt.json b/homeassistant/components/device_tracker/.translations/pt.json
new file mode 100644
index 0000000000000000000000000000000000000000..952eb4b1475dfcdaf6da0a200bab617ebe419bf6
--- /dev/null
+++ b/homeassistant/components/device_tracker/.translations/pt.json
@@ -0,0 +1,8 @@
+{
+    "device_automation": {
+        "condtion_type": {
+            "is_home": "{entity_name} est\u00e1 em casa",
+            "is_not_home": "{entity_name} n\u00e3o est\u00e1 em casa"
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/fan/.translations/pt.json b/homeassistant/components/fan/.translations/pt.json
new file mode 100644
index 0000000000000000000000000000000000000000..a76550cbeddec277be61128457731580da2d353f
--- /dev/null
+++ b/homeassistant/components/fan/.translations/pt.json
@@ -0,0 +1,16 @@
+{
+    "device_automation": {
+        "action_type": {
+            "turn_off": "Desligar {entity_name}",
+            "turn_on": "Ligar {entity_name}"
+        },
+        "condtion_type": {
+            "is_off": "{entity_name} est\u00e1 desligada",
+            "is_on": "{entity_name} est\u00e1 ligada"
+        },
+        "trigger_type": {
+            "turned_off": "{entity_name} desligou-se",
+            "turned_on": "{entity_name} ligou-se"
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/glances/.translations/pt.json b/homeassistant/components/glances/.translations/pt.json
new file mode 100644
index 0000000000000000000000000000000000000000..b46423599731a77ce98ec73c1e32fd0a4fa1839e
--- /dev/null
+++ b/homeassistant/components/glances/.translations/pt.json
@@ -0,0 +1,12 @@
+{
+    "config": {
+        "step": {
+            "user": {
+                "data": {
+                    "password": "Palavra-passe",
+                    "username": "Nome de Utilizador"
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/homekit_controller/.translations/pt.json b/homeassistant/components/homekit_controller/.translations/pt.json
index 37f68408ce44fa7447d79b2b40bd66f0ed03ac14..c60ed155569f14a33ae8b46afcfff9e424b9a76e 100644
--- a/homeassistant/components/homekit_controller/.translations/pt.json
+++ b/homeassistant/components/homekit_controller/.translations/pt.json
@@ -4,7 +4,8 @@
             "pair": {
                 "data": {
                     "pairing_code": "C\u00f3digo de emparelhamento"
-                }
+                },
+                "title": "Emparelhar com o acess\u00f3rio HomeKit"
             },
             "user": {
                 "data": {
diff --git a/homeassistant/components/huawei_lte/.translations/pt.json b/homeassistant/components/huawei_lte/.translations/pt.json
new file mode 100644
index 0000000000000000000000000000000000000000..6e3a06ac662c262726cf6c4d5da766c7c7281a6d
--- /dev/null
+++ b/homeassistant/components/huawei_lte/.translations/pt.json
@@ -0,0 +1,34 @@
+{
+    "config": {
+        "abort": {
+            "already_configured": "Este dispositivo j\u00e1 foi configurado",
+            "already_in_progress": "Este dispositivo j\u00e1 est\u00e1 a ser configurado"
+        },
+        "error": {
+            "incorrect_password": "Palavra-passe incorreta",
+            "incorrect_username": "Nome de Utilizador incorreto",
+            "incorrect_username_or_password": "Nome de utilizador ou palavra passe incorretos"
+        },
+        "step": {
+            "user": {
+                "data": {
+                    "password": "Palavra-passe",
+                    "url": "",
+                    "username": "Utilizador"
+                },
+                "title": "Configurar o Huawei LTE"
+            }
+        },
+        "title": ""
+    },
+    "options": {
+        "step": {
+            "init": {
+                "data": {
+                    "recipient": "Destinat\u00e1rios de notifica\u00e7\u00e3o por SMS",
+                    "track_new_devices": "Seguir novos dispositivos"
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/iaqualink/.translations/pt.json b/homeassistant/components/iaqualink/.translations/pt.json
new file mode 100644
index 0000000000000000000000000000000000000000..24825307e767a909c7f4e4eab65fea3d5f50d79b
--- /dev/null
+++ b/homeassistant/components/iaqualink/.translations/pt.json
@@ -0,0 +1,12 @@
+{
+    "config": {
+        "step": {
+            "user": {
+                "data": {
+                    "password": "Palavra-passe",
+                    "username": "Nome de utilizador / Endere\u00e7o de e-mail"
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/life360/.translations/pt.json b/homeassistant/components/life360/.translations/pt.json
new file mode 100644
index 0000000000000000000000000000000000000000..9c848bd8ec88100dc06c9367a28751cd865d8cd2
--- /dev/null
+++ b/homeassistant/components/life360/.translations/pt.json
@@ -0,0 +1,15 @@
+{
+    "config": {
+        "error": {
+            "invalid_username": "Nome de utilizador incorreto"
+        },
+        "step": {
+            "user": {
+                "data": {
+                    "password": "Palavra-passe",
+                    "username": "Nome de Utilizador"
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/light/.translations/pt.json b/homeassistant/components/light/.translations/pt.json
new file mode 100644
index 0000000000000000000000000000000000000000..272516f4c6b9c237d5074187fe0be86b4ff889c8
--- /dev/null
+++ b/homeassistant/components/light/.translations/pt.json
@@ -0,0 +1,17 @@
+{
+    "device_automation": {
+        "action_type": {
+            "toggle": "Alternar {entity_name}",
+            "turn_off": "Desligar {entity_name}",
+            "turn_on": "Ligar {entity_name}"
+        },
+        "condition_type": {
+            "is_off": "{entity_name} est\u00e1 desligado",
+            "is_on": "{entity_name} est\u00e1 ligado"
+        },
+        "trigger_type": {
+            "turned_off": "{entity_name} foi desligado",
+            "turned_on": "{entity_name} foi ligado"
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/linky/.translations/pt.json b/homeassistant/components/linky/.translations/pt.json
new file mode 100644
index 0000000000000000000000000000000000000000..daf1ce751816e4f48c63df1084367c2acac587a6
--- /dev/null
+++ b/homeassistant/components/linky/.translations/pt.json
@@ -0,0 +1,18 @@
+{
+    "config": {
+        "abort": {
+            "username_exists": "Conta j\u00e1 configurada"
+        },
+        "error": {
+            "username_exists": "Conta j\u00e1 configurada"
+        },
+        "step": {
+            "user": {
+                "data": {
+                    "password": "Palavra-passe",
+                    "username": ""
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/lock/.translations/pt.json b/homeassistant/components/lock/.translations/pt.json
new file mode 100644
index 0000000000000000000000000000000000000000..05bcf44166003e71bebe551b56313e8c9d11508d
--- /dev/null
+++ b/homeassistant/components/lock/.translations/pt.json
@@ -0,0 +1,8 @@
+{
+    "device_automation": {
+        "trigger_type": {
+            "locked": "{entity_name} fechada",
+            "unlocked": "{entity_name} aberta"
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/met/.translations/pt.json b/homeassistant/components/met/.translations/pt.json
index c7081cd694a0af9049d8d835b66935e7422be0dc..2ba2911d89042f7165b56d806bff35b3ce6feba2 100644
--- a/homeassistant/components/met/.translations/pt.json
+++ b/homeassistant/components/met/.translations/pt.json
@@ -1,5 +1,8 @@
 {
     "config": {
+        "error": {
+            "name_exists": "A localiza\u00e7\u00e3o j\u00e1 existe"
+        },
         "step": {
             "user": {
                 "data": {
diff --git a/homeassistant/components/neato/.translations/pt.json b/homeassistant/components/neato/.translations/pt.json
new file mode 100644
index 0000000000000000000000000000000000000000..b46423599731a77ce98ec73c1e32fd0a4fa1839e
--- /dev/null
+++ b/homeassistant/components/neato/.translations/pt.json
@@ -0,0 +1,12 @@
+{
+    "config": {
+        "step": {
+            "user": {
+                "data": {
+                    "password": "Palavra-passe",
+                    "username": "Nome de Utilizador"
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/notion/.translations/pt.json b/homeassistant/components/notion/.translations/pt.json
new file mode 100644
index 0000000000000000000000000000000000000000..e379229ec3a1b9b9a956733b1c368bc197e6446a
--- /dev/null
+++ b/homeassistant/components/notion/.translations/pt.json
@@ -0,0 +1,14 @@
+{
+    "config": {
+        "error": {
+            "invalid_credentials": "Nome de utilizador ou palavra passe incorretos"
+        },
+        "step": {
+            "user": {
+                "data": {
+                    "password": "Palavra-passe"
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/sensor/.translations/pt.json b/homeassistant/components/sensor/.translations/pt.json
index 801b22f0c4544bf766153dc835c6a8ebbafc54c4..032d88e02d9e4b91af5b2097d49f9d1298f07720 100644
--- a/homeassistant/components/sensor/.translations/pt.json
+++ b/homeassistant/components/sensor/.translations/pt.json
@@ -1,8 +1,13 @@
 {
     "device_automation": {
         "condition_type": {
+            "is_battery_level": "N\u00edvel de bateria atual de {entity_name}",
             "is_humidity": "humidade {entity_name}",
-            "is_power": "pot\u00eancia {entity_name}",
+            "is_illuminance": "Luminancia atual de {entity_name}",
+            "is_power": "Pot\u00eancia atual de {entity_name}",
+            "is_pressure": "Press\u00e3o atual de {entity_name}",
+            "is_signal_strength": "Intensidade atual do sinal de {entity_name}",
+            "is_temperature": "Temperatura atual de {entity_name}",
             "is_timestamp": "momento temporal de {entity_name}",
             "is_value": "valor {entity_name}"
         },
diff --git a/homeassistant/components/somfy/.translations/ca.json b/homeassistant/components/somfy/.translations/ca.json
index 0ca526fde69c53d09a16766cef9827d6dc5fb2f0..b3095cd4e9c4da931e80ef62b9cd314425067074 100644
--- a/homeassistant/components/somfy/.translations/ca.json
+++ b/homeassistant/components/somfy/.translations/ca.json
@@ -10,7 +10,7 @@
         },
         "step": {
             "pick_implementation": {
-                "title": "Tria del m\u00e8tode d'autenticaci\u00f3"
+                "title": "Selecci\u00f3 del m\u00e8tode d'autenticaci\u00f3"
             }
         },
         "title": "Somfy"
diff --git a/homeassistant/components/transmission/.translations/pt.json b/homeassistant/components/transmission/.translations/pt.json
index f681da4210f8a38c5be6c253f2c4be941620fc92..0421228d0f0d6d7e1b9e2c0d3be5e841a077d6df 100644
--- a/homeassistant/components/transmission/.translations/pt.json
+++ b/homeassistant/components/transmission/.translations/pt.json
@@ -1,10 +1,15 @@
 {
     "config": {
+        "error": {
+            "wrong_credentials": "Nome de utilizador ou palavra passe incorretos"
+        },
         "step": {
             "user": {
                 "data": {
                     "host": "Servidor",
-                    "port": "Porta"
+                    "password": "Palavra-passe",
+                    "port": "Porta",
+                    "username": "Utilizador"
                 }
             }
         }
diff --git a/homeassistant/components/vacuum/.translations/pt.json b/homeassistant/components/vacuum/.translations/pt.json
new file mode 100644
index 0000000000000000000000000000000000000000..42b8bdabc0f344aee067e586a717721ad872c6ea
--- /dev/null
+++ b/homeassistant/components/vacuum/.translations/pt.json
@@ -0,0 +1,10 @@
+{
+    "device_automation": {
+        "action_type": {
+            "clean": "Deixar {entity_name} limpar"
+        },
+        "condtion_type": {
+            "is_cleaning": "{entity_name} est\u00e1 a limpar"
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/vesync/.translations/pt.json b/homeassistant/components/vesync/.translations/pt.json
new file mode 100644
index 0000000000000000000000000000000000000000..395907056e9cfbb1ecbfa0915329ad4c7b0e71c4
--- /dev/null
+++ b/homeassistant/components/vesync/.translations/pt.json
@@ -0,0 +1,16 @@
+{
+    "config": {
+        "error": {
+            "invalid_login": "Nome de utilizador ou palavra passe incorretos"
+        },
+        "step": {
+            "user": {
+                "data": {
+                    "password": "Palavra-passe",
+                    "username": "Endere\u00e7o de e-mail"
+                },
+                "title": "Introduza o nome de utilizador e a palavra-passe"
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/withings/.translations/pt.json b/homeassistant/components/withings/.translations/pt.json
new file mode 100644
index 0000000000000000000000000000000000000000..0a1f02335ccb867daa4e3b4f35fcc5d2900d2495
--- /dev/null
+++ b/homeassistant/components/withings/.translations/pt.json
@@ -0,0 +1,11 @@
+{
+    "config": {
+        "step": {
+            "profile": {
+                "data": {
+                    "profile": "Perfil"
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/homeassistant/components/wled/.translations/pt.json b/homeassistant/components/wled/.translations/pt.json
new file mode 100644
index 0000000000000000000000000000000000000000..521434d11a8bf458d4641ee85a371ec972201f61
--- /dev/null
+++ b/homeassistant/components/wled/.translations/pt.json
@@ -0,0 +1,22 @@
+{
+    "config": {
+        "abort": {
+            "connection_error": "Falha ao ligar ao dispositivo WLED"
+        },
+        "error": {
+            "connection_error": "Falha ao ligar ao dispositivo WLED"
+        },
+        "step": {
+            "user": {
+                "data": {
+                    "host": "Nome servidor ou endere\u00e7o IP"
+                },
+                "title": "Associar WLED"
+            },
+            "zeroconf_confirm": {
+                "title": "Dispositivo WLED descoberto"
+            }
+        },
+        "title": ""
+    }
+}
\ No newline at end of file