diff --git a/options/locale/locale_de-DE.ini b/options/locale/locale_de-DE.ini
index ee4fca4b34cd..766a0952cb23 100644
--- a/options/locale/locale_de-DE.ini
+++ b/options/locale/locale_de-DE.ini
@@ -206,6 +206,7 @@ sign_up_successful=Konto wurde erfolgreich erstellt.
 confirmation_mail_sent_prompt=Eine neue Bestätigungs-E-Mail wurde an <b>%s</b> gesendet. Bitte überprüfe dein Postfach innerhalb der nächsten %s, um die Registrierung abzuschließen.
 must_change_password=Aktualisiere dein Passwort
 allow_password_change=Verlange vom Benutzer das Passwort zu ändern (empfohlen)
+reset_password_mail_sent_prompt=Eine Bestätigungs-E-Mail wurde an<b>%s</b> gesendet. Bitte überprüfe dein Postfach innerhalb von %s um den Wiederherstellungsprozess abzuschließen.
 active_your_account=Aktiviere dein Konto
 account_activated=Konto wurde aktiviert
 prohibit_login=Anmelden verboten
@@ -214,7 +215,11 @@ resent_limit_prompt=Du hast bereits eine Aktivierungs-E-Mail angefordert. Bitte
 has_unconfirmed_mail=Hallo %s, du hast eine unbestätigte E-Mail-Adresse (<b>%s</b>). Wenn du keine Bestätigungs-E-Mail erhalten hast oder eine neue senden möchtest, klicke bitte auf den folgenden Button.
 resend_mail=Aktivierungs-E-Mail erneut verschicken
 email_not_associate=Diese E-Mail-Adresse ist mit keinem Konto verknüpft.
+send_reset_mail=Wiederherstellungs-E-Mail senden
+reset_password=Kontowiederherstellung
 invalid_code=Dein Bestätigungs-Code ist ungültig oder abgelaufen.
+reset_password_helper=Konto wiederherstellen
+reset_password_wrong_user=Du bist angemeldet als %s, aber der Link zur Kontowiederherstellung ist für %s
 password_too_short=Das Passwort muss mindestens %d Zeichen lang sein.
 non_local_account=Benutzer, die nicht von Gitea verwaltet werden können ihre Passwörter nicht über das Web Interface ändern.
 verify=Verifizieren
@@ -237,6 +242,7 @@ openid_connect_desc=Die gewählte OpenID-URI ist unbekannt. Ordne sie hier einem
 openid_register_title=Neues Konto einrichten
 openid_register_desc=Die gewählte OpenID-URI ist unbekannt. Ordne sie hier einem neuen Account zu.
 openid_signin_desc=Gib deine OpenID-URI ein. Zum Beispiel: https://anne.me, bob.openid.org.cn oder gnusocial.net/carry.
+disable_forgot_password_mail=Die Kontowiederherstellung ist deaktiviert. Bitte wende dich an den Administrator.
 email_domain_blacklisted=Du kannst dich nicht mit deiner E-Mail-Adresse registrieren.
 authorize_application=Anwendung autorisieren
 authroize_redirect_notice=Wenn du diese Anwendung autorisierst, wirst du zu %s weitergeleitet.
@@ -249,6 +255,7 @@ authorization_failed_desc=Die Autorisierung ist fehlgeschlagen, da wir eine ung
 [mail]
 activate_account=Bitte aktiviere dein Konto
 activate_email=Bestätige deine E-Mail-Adresse
+reset_password=Stelle dein Konto wieder her
 register_success=Registrierung erfolgreich
 register_notify=Willkommen bei Gitea
 
@@ -643,6 +650,8 @@ video_not_supported_in_browser=Dein Browser unterstützt das HTML5 'video'-Tag n
 audio_not_supported_in_browser=Dein Browser unterstützt den HTML5 'audio'-Tag nicht.
 stored_lfs=Gespeichert mit Git LFS
 commit_graph=Commit graph
+blame=Blame
+normal_view=Normale Ansicht
 
 editor.new_file=Neue Datei
 editor.upload_file=Datei hochladen
@@ -678,6 +687,7 @@ editor.directory_is_a_file=Der Verzeichnisname „%s“ wird bereits als Dateina
 editor.file_is_a_symlink='%s' ist ein symbolischer Link. Symbolische Links können mit dem Web Editor nicht bearbeitet werden
 editor.filename_is_a_directory=Der Dateiname „%s“ wird bereits als Verzeichnisname in diesem Repository verwendet.
 editor.file_editing_no_longer_exists=Die bearbeitete Datei „%s“ existiert nicht mehr in diesem Repository.
+editor.file_deleting_no_longer_exists=Die Datei '%s' existiert in diesem Repository nicht mehr.
 editor.file_changed_while_editing=Der Inhalt der Datei hat sich seit dem Beginn der Bearbeitung geändert. <a target="_blank" rel="noopener noreferrer" href="%s">Hier klicken</a>, um die Änderungen anzusehen, oder <strong>Änderungen erneut comitten</strong>, um sie zu überschreiben.
 editor.file_already_exists=Eine Datei mit dem Namen „%s“ ist bereits in diesem Repository vorhanden.
 editor.no_changes_to_show=Keine Änderungen vorhanden.
@@ -933,6 +943,7 @@ pulls.tab_conversation=Diskussion
 pulls.tab_commits=Commits
 pulls.tab_files=Geänderte Dateien
 pulls.reopen_to_merge=Bitte diesen Pull-Request wieder öffnen, um die Merge-Operation auszuführen.
+pulls.cant_reopen_deleted_branch=Dieser Pull-Request kann nicht wieder geöffnet werden, da die Branche bereits gelöscht wurde.
 pulls.merged=Zusammengeführt
 pulls.has_merged=Der Pull-Request wurde zusammengeführt.
 pulls.title_wip_desc=`<a href="#">Beginne den Titel mit <strong>%s</strong></a> um zu verhindern, dass der Pull Request versehentlich zusammengeführt wird.`
@@ -1202,6 +1213,8 @@ settings.slack_domain=Domain
 settings.slack_channel=Kanal
 settings.add_discord_hook_desc=<a href="%s">Discord</a>-Integration zu deinem Repository hinzufügen.
 settings.add_dingtalk_hook_desc=<a href="%s">Dingtalk</a>-Integration zu deinem Repository hinzufügen.
+settings.add_telegram_hook_desc=<a href="%s">Telegram</a>-Integration zu deinem Repository hinzufügen.
+settings.add_msteams_hook_desc=<a href="%s">"Microsoft Teams"</a>-Integration zu deinem Repository hinzufügen.
 settings.deploy_keys=Deploy-Schlüssel
 settings.add_deploy_key=Deploy-Schlüssel hinzufügen
 settings.deploy_key_desc=Deploy-Keys haben nur Lesezugriff auf das Repository.
@@ -1249,6 +1262,8 @@ settings.choose_branch=Wähle einen Branch …
 settings.no_protected_branch=Es gibt keine geschützten Branches.
 settings.edit_protected_branch=Bearbeiten
 settings.protected_branch_required_approvals_min=Die Anzahl der erforderlichen Zustimmungen darf nicht negativ sein.
+settings.bot_token=Bot-Token
+settings.chat_id=Chat-ID
 settings.archive.button=Repo archivieren
 settings.archive.header=Dieses Repo archivieren
 settings.archive.text=Durch die Archivierung des Repos wird es vollständig schreibgeschützt. Es wird auf dem Dashboard versteckt, nimmt keine Commits an und es können keine Issues oder Pull-Requests erstellt werden.
@@ -1684,6 +1699,7 @@ config.mail_notify=E-Mail-Benachrichtigungen aktivieren
 config.disable_key_size_check=Prüfung der Mindestschlüssellänge deaktiveren
 config.enable_captcha=CAPTCHA aktivieren
 config.active_code_lives=Aktivierungscode-Lebensdauer
+config.reset_password_code_lives=Kontowiederherstellungs-Code Ablaufzeit
 config.default_keep_email_private=E-Mail-Adressen standardmäßig verbergen
 config.default_allow_create_organization=Erstellen von Organisationen standardmäßig erlauben
 config.enable_timetracking=Zeiterfassung aktivieren
diff --git a/options/locale/locale_pt-BR.ini b/options/locale/locale_pt-BR.ini
index aaad578e6c8c..290b511468f1 100644
--- a/options/locale/locale_pt-BR.ini
+++ b/options/locale/locale_pt-BR.ini
@@ -650,6 +650,8 @@ video_not_supported_in_browser=Seu navegador não suporta a tag 'video' do HTML5
 audio_not_supported_in_browser=Seu navegador não suporta a tag 'audio' do HTML5.
 stored_lfs=Armazenado com Git LFS
 commit_graph=Gráfico de commits
+blame=Anotar
+normal_view=Visão normal
 
 editor.new_file=Novo arquivo
 editor.upload_file=Enviar arquivo
@@ -941,6 +943,7 @@ pulls.tab_conversation=Conversação
 pulls.tab_commits=Commits
 pulls.tab_files=Arquivos alterados
 pulls.reopen_to_merge=Por favor reabra este pull request para aplicar o merge.
+pulls.cant_reopen_deleted_branch=Este pull request não pode ser reaberto porque o branch foi excluído.
 pulls.merged=Merge aplicado
 pulls.has_merged=O merge deste pull request foi aplicado.
 pulls.title_wip_desc=`<a href="#">Inicie o título com o prefixo <strong>%s</strong></a> para prevenir o merge do pull request até que o mesmo esteja pronto.`