diff --git a/src/main/resources/strings/BriarDesktop_ar.properties b/src/main/resources/strings/BriarDesktop_ar.properties
index f0ad8dfb461962834c52f10d179e6149b6f31cb8..eb8bba58444701dd8e2415184ba9949d8f92eca0 100644
--- a/src/main/resources/strings/BriarDesktop_ar.properties
+++ b/src/main/resources/strings/BriarDesktop_ar.properties
@@ -69,6 +69,16 @@ introduction.response.declined.auto=The introduction to {0} was automatically de
 introduction.response.accepted.received=لقد وافق {0} على تقديمه إلى {1}.
 introduction.response.declined.received=لقد رفض {0} تقديمه إلى {1}.
 introduction.response.declined.received_by_introducee=ي/تقول {0} أن {1} قد رفض/ت التقدمة.
+introduction.error.own_link=Please enter contact's link, not your own
+introduction.error.remote_invalid=Remote handshake link is invalid
+introduction.error.alias_invalid=Alias is invalid
+introduction.error.link_invalid=Link is invalid: {0}
+introduction.error.public_key_invalid=Public key is invalid: {0}
+introduction.error.adding_failed=Adding contact failed
+introduction.error.contact_already_exists=You already have a contact with this link: {0}
+introduction.error.pending_contact_already_exists=You already have a pending contact with this link: {0}
+introduction.error.duplicate_contact_explainer=Be careful if {0} is not the same person as {1}.\n\nOne of them may be trying to discover who your contacts are.\n\nDon't tell them you received the same link from someone else.
+
 
 # Private Group Sharing
 group.invitation.received=قام {0} بدعوتك للإنضمام لمجموعة "{1}".
diff --git a/src/main/resources/strings/BriarDesktop_az.properties b/src/main/resources/strings/BriarDesktop_az.properties
deleted file mode 100644
index 9b49f01488ec1b8e6260030b48c6161e2c911e56..0000000000000000000000000000000000000000
--- a/src/main/resources/strings/BriarDesktop_az.properties
+++ /dev/null
@@ -1,59 +0,0 @@
-# Accessibility
-access.attachment=Qoşma əlavə et
-access.contacts.add=Kontankt əlavə et
-access.contact.menu=Show contact menu
-access.contacts.dropdown.connections.expand=Expand connections menu
-access.contacts.dropdown.contacts.expand=Expand contacts menu
-access.contacts.search=Icon search contacts
-access.introduction.back.contact=Go back to contact screen of introduction process
-access.introduction.close=Close introduction screen
-access.message.send=Send message
-access.message.sent=Mesaj göndərildi
-access.logo=Briar logo
-access.swap=Icon showing errors between two contacts
-
-# Contacts
-contacts.card.nothing=Məktub yixdur.
-contacts.dropdown.connections=Connections
-contacts.dropdown.connections.title=Connections
-contacts.dropdown.connections.bluetooth=Bluetooth-la bağlantı
-contacts.dropdown.connections.removable=Connect via Removable Drive
-contacts.dropdown.contact=Əlaqə
-contacts.dropdown.contact.title=Əlaqə
-contacts.dropdown.contact.change=Kontakt adı dəyişdirin
-contacts.dropdown.contact.delete=Kontakt silin
-contacts.dropdown.delete.all=Bütün mesajları sil
-contacts.dropdown.disappearing=Disappearing messages
-contacts.dropdown.introduction=Şərh edin
-contacts.search.title=Kontaktlar
-
-# Conversation
-conversation.message.new=Yeni ismarış
-
-# Introduction
-introduction.introduce=Şərh edin
-introduction.message=Mesaj əlavə et (istəyə bağlı)
-introduction.title_first=Introduce {0} to
-introduction.title_second=Kontaktları təqdim edin
-
-# Login screen
-login.login=Daxil Ol
-
-# Main
-main.title=Briar Desktop
-main.help.title=Briar Desktop Client
-main.help.debug=Enable printing of debug messages
-main.help.verbose=Print verbose log messages
-main.help.data=The directory where Briar will store its files. Default: {0}
-main.help.tor.port.socks=Tor Socks Port
-main.help.tor.port.control=Tor Control Port
-
-# Miscellaneous
-password=ÅžifrÉ™
-
-# Registration screen
-registration.username=İstifadəçi adı
-registration.register=Hesab yaradın
-
-# Settings
-settings.theme=Change Theme
diff --git a/src/main/resources/strings/BriarDesktop_bg.properties b/src/main/resources/strings/BriarDesktop_bg.properties
index 2d4ab541806d4cee2f32ab8dc6cece2156035efa..021da84bbc4ecfb977b4ce49375767f622f22144 100644
--- a/src/main/resources/strings/BriarDesktop_bg.properties
+++ b/src/main/resources/strings/BriarDesktop_bg.properties
@@ -69,6 +69,16 @@ introduction.response.declined.auto=Запознанството с/ъс {0} е
 introduction.response.accepted.received={0} приема запознанство с/ъс {1}.
 introduction.response.declined.received={0} declined the introduction to {1}.
 introduction.response.declined.received_by_introducee={0} says that {1} declined the introduction.
+introduction.error.own_link=Please enter contact's link, not your own
+introduction.error.remote_invalid=Remote handshake link is invalid
+introduction.error.alias_invalid=Alias is invalid
+introduction.error.link_invalid=Link is invalid: {0}
+introduction.error.public_key_invalid=Public key is invalid: {0}
+introduction.error.adding_failed=Adding contact failed
+introduction.error.contact_already_exists=You already have a contact with this link: {0}
+introduction.error.pending_contact_already_exists=You already have a pending contact with this link: {0}
+introduction.error.duplicate_contact_explainer=Be careful if {0} is not the same person as {1}.\n\nOne of them may be trying to discover who your contacts are.\n\nDon't tell them you received the same link from someone else.
+
 
 # Private Group Sharing
 group.invitation.received={0} has invited you to join the group "{1}".
diff --git a/src/main/resources/strings/BriarDesktop_ca.properties b/src/main/resources/strings/BriarDesktop_ca.properties
deleted file mode 100644
index 125ec1b6978c8ce09924411554f7e16789d99bdf..0000000000000000000000000000000000000000
--- a/src/main/resources/strings/BriarDesktop_ca.properties
+++ /dev/null
@@ -1,59 +0,0 @@
-# Accessibility
-access.attachment=Add attachment
-access.contacts.add=Afegiu un contacte
-access.contact.menu=Show contact menu
-access.contacts.dropdown.connections.expand=Expand connections menu
-access.contacts.dropdown.contacts.expand=Expand contacts menu
-access.contacts.search=Icon search contacts
-access.introduction.back.contact=Go back to contact screen of introduction process
-access.introduction.close=Close introduction screen
-access.message.send=Send message
-access.message.sent=Missatge enviat
-access.logo=Briar logo
-access.swap=Icon showing errors between two contacts
-
-# Contacts
-contacts.card.nothing=Sense missatges.
-contacts.dropdown.connections=Connexions
-contacts.dropdown.connections.title=Connexions
-contacts.dropdown.connections.bluetooth=Connecta via bluetooth
-contacts.dropdown.connections.removable=Connect via Removable Drive
-contacts.dropdown.contact=Contacte
-contacts.dropdown.contact.title=Contacte
-contacts.dropdown.contact.change=Canvia el nom del contacte
-contacts.dropdown.contact.delete=Suprimeix aquest contacte
-contacts.dropdown.delete.all=Esborra tots els missatges
-contacts.dropdown.disappearing=Missatges fonedissos
-contacts.dropdown.introduction=Presenta-li un altre contacte
-contacts.search.title=Contactes
-
-# Conversation
-conversation.message.new=New Message
-
-# Introduction
-introduction.introduce=Presenta-li un altre contacte
-introduction.message=Afegiu una nota (opcional)
-introduction.title_first=Introduce {0} to
-introduction.title_second=Presentació de contactes
-
-# Login screen
-login.login=Entra
-
-# Main
-main.title=Briar Desktop
-main.help.title=Briar Desktop Client
-main.help.debug=Enable printing of debug messages
-main.help.verbose=Print verbose log messages
-main.help.data=The directory where Briar will store its files. Default: {0}
-main.help.tor.port.socks=Tor Socks Port
-main.help.tor.port.control=Tor Control Port
-
-# Miscellaneous
-password=Contrasenya
-
-# Registration screen
-registration.username=Nom d’usuari
-registration.register=Crea el compte
-
-# Settings
-settings.theme=Change Theme
diff --git a/src/main/resources/strings/BriarDesktop_de.properties b/src/main/resources/strings/BriarDesktop_de.properties
index 6d0177abba8a871c2705989ea6d00ecb39dfb630..1281eb4a5f34e21313db640cbc8ad3637ffbfa84 100644
--- a/src/main/resources/strings/BriarDesktop_de.properties
+++ b/src/main/resources/strings/BriarDesktop_de.properties
@@ -60,7 +60,7 @@ introduction.title_first=Stelle {0} vor
 introduction.title_second=Kontakte untereinander bekannt machen
 introduction.request.sent=Du wolltest {0} an {1} als Kontakt empfehlen
 introduction.request.received={0} schlägt vor, dich als Kontakt an {1} zu empfehlen. Möchtest du {1} zu deiner Kontaktliste hinzufügen?
-introduction.request.exists.received={0} schlägt vor, dich als Kontakt an {1} zu empfehlen. {1} ist allerdings bereits in deiner Kontaktliste. Da {0} das vielleicht nicht weiss, kannst du trotzdem antworten:
+introduction.request.exists.received={0} schlägt vor, dich als Kontakt an {1} zu empfehlen. {1} ist allerdings bereits in deiner Kontaktliste. Da {0} das vielleicht nicht weiß, kannst du trotzdem antworten:
 introduction.request.answered.received={0} schlägt vor, dich als Kontakt an {1} zu empfehlen.
 introduction.response.accepted.sent=Du hast die Kontaktempfehlung von {0} angenommen.
 introduction.response.accepted.sent.info=Bevor {0} zu deinen Kontakten hinzugefügt wird, muss die Kontaktempfehlung ebenfalls akzeptieren werden. Dies kann eine Weile dauern.
@@ -69,6 +69,16 @@ introduction.response.declined.auto=Die Kontaktempfehlung mit {0} wurde automati
 introduction.response.accepted.received={0} hat die Kontaktempfehlung für {1} angenommen.
 introduction.response.declined.received={0} hat die Kontaktempfehlung von {1} abgelehnt.
 introduction.response.declined.received_by_introducee={0} meldet, dass {1} die Kontaktempfehlung abgelehnt hat.
+introduction.error.own_link=Please enter contact's link, not your own
+introduction.error.remote_invalid=Remote handshake link is invalid
+introduction.error.alias_invalid=Alias is invalid
+introduction.error.link_invalid=Link is invalid: {0}
+introduction.error.public_key_invalid=Public key is invalid: {0}
+introduction.error.adding_failed=Adding contact failed
+introduction.error.contact_already_exists=You already have a contact with this link: {0}
+introduction.error.pending_contact_already_exists=You already have a pending contact with this link: {0}
+introduction.error.duplicate_contact_explainer=Be careful if {0} is not the same person as {1}.\n\nOne of them may be trying to discover who your contacts are.\n\nDon't tell them you received the same link from someone else.
+
 
 # Private Group Sharing
 group.invitation.received={0} hat dich eingeladen, der Gruppe "{1}" beizutreten.
@@ -151,7 +161,7 @@ startup.error.decryption.text=Briar kann dein Passwort nicht überprüfen. Start
 startup.password_forgotten.button=Ich habe mein Passwort vergessen
 startup.password_forgotten.title=Passwort vergessen
 startup.password_forgotten.text=Dein Briar-Konto ist verschlüsselt auf deinem Gerät  und nicht in der Cloud gespeichert, deshalb kannst du dein Passwort nicht zurücksetzen. Willst du dein Konto löschen und neu beginnen?\n\nAchtung: Deine bestehenden Identitäten, Kontakte und Nachrichten gehen dann für immer verloren.
-startup.failed.expired=This software has expired. Thank you for testing!\n\nTo continue using Briar, please download the latest release. You will be able to continue using your account.
+startup.failed.expired=Diese Software ist abgelaufen. Vielen Dank fürs Testen!\n\nUm Briar weiter zu verwenden, lade bitte die neueste Version herunter. Du kannst dann dein Konto weiter benutzen.
 startup.failed.registration=Briar konnte dein Konto nicht erstellen.\n\nBitte aktualisiere auf die neueste Version und versuche es erneut.
 startup.failed.clock_error=Briar konnte nicht gestartet werden, weil die Uhr deines Geräts falsch eingestellt ist.\n\nBitte stelle die Uhr deines Geräts auf die richtige Zeit ein und versuche es erneut.
 startup.failed.db_error=Briar konnte die Datenbank mit deinem Konto, deinen Kontakten und deinen Nachrichten nicht öffnen.\n\nBitte überprüfe, ob Briar bereits auf diesem Gerät ausgeführt wird. Andernfalls aktualisiere auf die neueste Version der App und versuche es erneut, oder richte ein neues Konto ein, indem du bei der Passwortabfrage "Ich habe mein Passwort vergessen" wählst.
@@ -162,9 +172,9 @@ startup.database.creating=Konto wird erstellt...
 startup.database.opening=Datenbank wird entschlüsselt...
 startup.database.migrating=Datenbank wird aktualisiert...
 startup.database.compacting=Datenbank wird komprimiert...
-expiration.banner.part1.zero=This is a test version of Briar that will expire today.
-expiration.banner.part1.nozero={0, plural, one {This is a test version of Briar that will expire tomorrow.} other {This is a test version of Briar that will expire in {0} days.}}
-expiration.banner.part2=Please update to a newer version in time.
+expiration.banner.part1.zero=Dies ist eine Testversion von Briar, die heute abläuft.
+expiration.banner.part1.nozero={0, plural, one {Dies ist eine Testversion von Briar, die morgen abläuft.} other {Dies ist eine Testversion von Briar, die in {0} Tagen abläuft.}}
+expiration.banner.part2=Bitte aktualisiere sie rechtzeitig auf eine neuere Version.
 
 # Settings
 settings.title=Einstellungen
diff --git a/src/main/resources/strings/BriarDesktop_es.properties b/src/main/resources/strings/BriarDesktop_es.properties
index 7a38a353b3c85648f2626b6fba0db468f58d1f8f..83240f75a7d0933f7104323d66d18f74114bc617 100644
--- a/src/main/resources/strings/BriarDesktop_es.properties
+++ b/src/main/resources/strings/BriarDesktop_es.properties
@@ -69,6 +69,16 @@ introduction.response.declined.auto=La introducción a {0} fue automáticamente
 introduction.response.accepted.received={0} aceptó la introducción a {1}.
 introduction.response.declined.received={0} rechazó la introducción a {1}.
 introduction.response.declined.received_by_introducee={0} dice que {1} declinó la introducción.
+introduction.error.own_link=Please enter contact's link, not your own
+introduction.error.remote_invalid=Remote handshake link is invalid
+introduction.error.alias_invalid=Alias is invalid
+introduction.error.link_invalid=Link is invalid: {0}
+introduction.error.public_key_invalid=Public key is invalid: {0}
+introduction.error.adding_failed=Adding contact failed
+introduction.error.contact_already_exists=You already have a contact with this link: {0}
+introduction.error.pending_contact_already_exists=You already have a pending contact with this link: {0}
+introduction.error.duplicate_contact_explainer=Be careful if {0} is not the same person as {1}.\n\nOne of them may be trying to discover who your contacts are.\n\nDon't tell them you received the same link from someone else.
+
 
 # Private Group Sharing
 group.invitation.received={0} te ha invitado a unirte al grupo "{1}".
diff --git a/src/main/resources/strings/BriarDesktop_fa.properties b/src/main/resources/strings/BriarDesktop_fa.properties
index ea01544fbbaffb64374829251426f463f24c4012..a2030410d38b3e4c5a8e79bc6e2e032f1076a99d 100644
--- a/src/main/resources/strings/BriarDesktop_fa.properties
+++ b/src/main/resources/strings/BriarDesktop_fa.properties
@@ -69,6 +69,16 @@ introduction.response.declined.auto=معرفی به {0} به صورت خودکا
 introduction.response.accepted.received={0} درخواست معرفی به {1} را پذیرفت.
 introduction.response.declined.received={0} درخواست معرفی به {1} را رد کرد.
 introduction.response.declined.received_by_introducee={0} می‌گوید که {1} درخواست معرفی را رد کرده است.
+introduction.error.own_link=Please enter contact's link, not your own
+introduction.error.remote_invalid=Remote handshake link is invalid
+introduction.error.alias_invalid=Alias is invalid
+introduction.error.link_invalid=Link is invalid: {0}
+introduction.error.public_key_invalid=Public key is invalid: {0}
+introduction.error.adding_failed=Adding contact failed
+introduction.error.contact_already_exists=You already have a contact with this link: {0}
+introduction.error.pending_contact_already_exists=You already have a pending contact with this link: {0}
+introduction.error.duplicate_contact_explainer=Be careful if {0} is not the same person as {1}.\n\nOne of them may be trying to discover who your contacts are.\n\nDon't tell them you received the same link from someone else.
+
 
 # Private Group Sharing
 group.invitation.received={0} شما را به پیوستن به گروه "{1}" دعوت کرده است.
diff --git a/src/main/resources/strings/BriarDesktop_fr.properties b/src/main/resources/strings/BriarDesktop_fr.properties
deleted file mode 100644
index 4ff1b8b3c6bee677ee2e896c63f282fd501e8cac..0000000000000000000000000000000000000000
--- a/src/main/resources/strings/BriarDesktop_fr.properties
+++ /dev/null
@@ -1,189 +0,0 @@
-# Accessibility
-access.attachment_add=Ajouter un fichier joint
-access.attachment_remove=Remove attachment
-access.contacts.add=Ajouter un contact
-access.contact.menu=Show contact menu
-access.contacts.dropdown.connections.expand=Expand connections menu
-access.contacts.dropdown.contacts.expand=Expand contacts menu
-access.contacts.search=Icon for searching contacts
-access.introduction.back.contact=Go back to contact screen of introduction process
-access.introduction.close=Close introduction screen
-access.message.jump_to_unread=Jump to next unread message
-access.message.send=Envoyer le message
-access.message.sent=Le message a été envoyé
-access.logo=Briar logo
-access.swap=Icon showing errors between two contacts
-access.about_briar_desktop=About Briar Desktop
-
-# Contacts
-contacts.none_selected.title=Aucun contact n’est sélectionné
-contacts.none_selected.hint=Sélectionnez un contact pour commencer à dialoguer
-contacts.pending_selected.title=Pending contact selected
-contacts.pending_selected.hint=You need to wait until the process of adding each other as contacts has finished before you can start chatting.
-contacts.card.nothing=Il n’y a aucun message.
-contacts.dropdown.connections=Connexions
-contacts.dropdown.connections.title=Connexions
-contacts.dropdown.connections.bluetooth=Se connecter par Bluetooth
-contacts.dropdown.connections.removable=Connect via Removable Drive
-contacts.dropdown.contact=Contact
-contacts.dropdown.contact.title=Contact
-contacts.dropdown.contact.change=Changer le nom du contact
-contacts.dropdown.contact.delete=Supprimer le contact
-contacts.dropdown.delete.all=Supprimer tous les messages
-contacts.dropdown.disappearing=Messages éphémères
-contacts.dropdown.introduction=Faire les présentations
-contacts.search.title=Contacts
-
-# Conversation
-conversation.message.unread=Messages non lus
-conversation.message.new=Nouveau message
-conversation.delete.all.dialog.title=Confirmer la suppression des messages
-conversation.delete.all.dialog.message=Voulez-vous vraiment supprimer tous les messages ?
-conversation.delete.failed.dialog.title=Impossible de supprimer tous les messages
-conversation.delete.failed.dialog.message.ongoing_both=Les messages relatifs aux invitations et présentations en cours ne peuvent pas être supprimés jusqu’à leur conclusion.
-conversation.delete.failed.dialog.message.ongoing_introductions=Les messages relatifs aux présentations en cours ne peuvent pas être supprimés jusqu’à leur conclusion.
-conversation.delete.failed.dialog.message.ongoing_invitations=Les messages relatifs aux invitations en cours ne peuvent pas être supprimés jusqu’à leur conclusion.
-conversation.delete.failed.dialog.message.not_all_selected_both=Pour supprimer une invitation ou une présentation, vous devez sélectionner la demande et la réponse.
-conversation.delete.failed.dialog.message.not_all_selected_introductions=Pour supprimer une présentation, vous devez sélectionner la demande et la réponse.
-conversation.delete.failed.dialog.message.not_all_selected_invitations=Pour supprimer une invitation, vous devez sélectionner la demande et la réponse.
-conversation.delete.contact.dialog.title=Confirmer la suppression du contact
-conversation.delete.contact.dialog.message=Voulez-vous vraiment supprimer ce contact et tous les messages associés ?
-
-# Private Groups
-groups.card.created=Created by {0}
-groups.card.messages={0, plural, one {{0} message} other {{0} messages}}
-
-# Introduction
-introduction.introduce=Faire les présentations
-introduction.message=Ajouter un message (facultatif)
-introduction.title_first=Introduce {0} to
-introduction.title_second=Présenter des contacts
-introduction.request.sent=Vous avez demandé de présenter {0} à {1}.
-introduction.request.received={0} has asked to introduce you to {1}. Do you want to add {1} to your contact list?
-introduction.request.exists.received={0} has asked to introduce you to {1}, but {1} is already in your contact list. Since {0} might not know that, you can still respond:
-introduction.request.answered.received={0} a demandé de vous présenter à {1}.
-introduction.response.accepted.sent=Vous avez accepté d’être présenté à {0}.
-introduction.response.accepted.sent.info=Before {0} gets added to your contacts, they need to accept the introduction as well. This might take some time.
-introduction.response.declined.sent=You declined the introduction to {0}.
-introduction.response.declined.auto=The introduction to {0} was automatically declined.
-introduction.response.accepted.received={0} accepted the introduction to {1}.
-introduction.response.declined.received={0} declined the introduction to {1}.
-introduction.response.declined.received_by_introducee={0} says that {1} declined the introduction.
-
-# Private Group Sharing
-group.invitation.received={0} has invited you to join the group "{1}".
-group.invitation.sent=You have invited {0} to join the group "{1}".
-group.invitation.response.accepted.sent=You accepted the group invitation from {0}.
-group.invitation.response.declined.sent=You declined the group invitation from {0}.
-group.invitation.response.declined.auto=The group invitation from {0} was automatically declined.
-group.invitation.response.accepted.received={0} accepted the group invitation.
-group.invitation.response.declined.received={0} declined the group invitation.
-
-# Forum Sharing
-forum.invitation.received={0} has shared the forum "{1}" with you.
-forum.invitation.sent=You have shared the forum "{0}" with {1}.
-forum.invitation.response.accepted.sent=You accepted the forum invitation from {0}.
-forum.invitation.response.declined.sent=You declined the forum invitation from {0}.
-forum.invitation.response.declined.auto=The forum invitation from {0} was automatically declined.
-forum.invitation.response.accepted.received={0} accepted the forum invitation.
-forum.invitation.response.declined.received={0} declined the forum invitation.
-
-# Blog Sharing
-blog.invitation.received={0} has shared the blog "{1}" with you.
-blog.invitation.sent=You have shared the blog "{0}" with {1}.
-blog.invitation.response.accepted.sent=You accepted the blog invitation from {0}.
-blog.invitation.response.declined.sent=You declined the blog invitation from {0}.
-blog.invitation.response.declined.auto=The blog invitation from {0} was automatically declined.
-blog.invitation.response.accepted.received={0} accepted the blog invitation.
-blog.invitation.response.declined.received={0} declined the blog invitation.
-
-
-# Main
-main.title=Briar Desktop
-main.help.title=Briar Desktop Client
-main.help.debug=Enable printing of debug messages
-main.help.verbose=Print verbose log messages
-main.help.data=The directory where Briar will store its files. Default: {0}
-main.help.tor.port.socks=Tor Socks Port
-main.help.tor.port.control=Tor Control Port
-
-# Welcome
-welcome.title=Bienvenue à Briar
-welcome.text=You don't have any contacts yet. Tap the + icon to add a contact:
-
-# About
-about.copyright=Tous droits réservés
-about.license=Licence
-about.version=Version
-about.contact=Contact
-about.website=Site Web
-
-# Miscellaneous
-cancel=Annuler
-delete=Supprimer
-ok=Valider
-accept=Accepter
-decline=Refuser
-back=Retour
-next=Suivant
-open=Ouvrir
-sorry=Désolé
-error=Erreur
-warning=Avertissement
-unsupported_feature=Unfortunately, this feature is not yet supported by Briar Desktop.
-
-# Startup screen
-startup.title.registration=Bienvenue à Briar
-startup.title.login=Welcome back
-startup.field.nickname=Pseudonyme
-startup.field.nickname.explanation=Votre pseudonyme sera affiché à côté de tout contenu que vous publierez. Vous pourrez le modifier après avoir créé votre compte.
-startup.field.password=Mot de passe
-startup.field.password.explanation=Your Briar account is stored encrypted on your device, not in the cloud. If you forget your password or uninstall Briar, there's no way to recover your account.\n\nChoose a long password that's hard to guess, such as four random words, or ten random letters, numbers and symbols.
-startup.field.password_confirmation=Confirmer le mot de passe
-startup.button.register=Créer un compte
-startup.button.login=Connexion
-startup.error.name_too_long=Le nom est trop long
-startup.error.password_too_weak=Le mot de passe est trop faible
-startup.error.passwords_not_match=Les mots de passe ne correspondent pas
-startup.error.password_wrong=Le mot de passe est erroné, réessayez
-startup.error.decryption.title=Impossible de vérifier le mot de passe
-startup.error.decryption.text=Briar ne peut pas vérifier votre mot de passe. Veuillez essayer de redémarrer votre appareil pour résoudre ce problème.
-startup.password_forgotten.button=J’ai oublié mon mot de passe
-startup.password_forgotten.title=Mot de passe oublié
-startup.password_forgotten.text=Your Briar account is stored encrypted on your device, not in the cloud, so we can't reset your password. Would you like to delete your account and start again?\n\nCaution: Your identities, contacts and messages will be permanently lost.
-startup.failed.expired=This software has expired. Thank you for testing!\n\nTo continue using Briar, please download the latest release. You will be able to continue using your account.
-startup.failed.registration=Briar was unable to create your account.\n\nPlease upgrade to the latest version and try again.
-startup.failed.clock_error=Briar was unable to start because your device's clock is wrong.\n\nPlease set your device's clock to the right time and try again.
-startup.failed.db_error=Briar was unable to open the database containing your account, your contacts and your messages.\n\nPlease check if Briar is already running on this device. Otherwise, upgrade to the latest version of the app and try again, or set up a new account by choosing 'I have forgotten my password' at the password prompt.
-startup.failed.data_too_old_error=Your account was created with an old version of this app and cannot be opened with this version.\n\nYou must either reinstall the old version or set up a new account by choosing 'I have forgotten my password' at the password prompt.
-startup.failed.data_too_new_error=Your account was created with a newer version of this app and cannot be opened with this version.\n\nPlease upgrade to the latest version and try again.
-startup.failed.service_error=Briar was unable to start a required component.\n\nPlease upgrade to the latest version of the app and try again.
-startup.database.creating=Creating Account...
-startup.database.opening=Decrypting Database...
-startup.database.migrating=Upgrading Database...
-startup.database.compacting=Compacting Database...
-expiration.banner.part1.zero=This is a test version of Briar that will expire today.
-expiration.banner.part1.nozero={0, plural, one {This is a test version of Briar that will expire tomorrow.} other {This is a test version of Briar that will expire in {0} days.}}
-expiration.banner.part2=Please update to a newer version in time.
-
-# Settings
-settings.title=Paramètres
-
-# Settings General
-settings.general.title=Général
-
-# Settings Display
-settings.display.title=Affichage
-settings.display.theme=Dark Theme
-
-# Settings Connections
-settings.connections.title=Connexions
-
-# Settings Security
-settings.security.title=Sécurité
-
-# Settings Notifications
-settings.notifications.title=Notifications
-
-# Settings Actions
-settings.actions.title=Actions
diff --git a/src/main/resources/strings/BriarDesktop_gl.properties b/src/main/resources/strings/BriarDesktop_gl.properties
index 08b3ea9d1a1150af9cf6ea123820eb46cd95d0be..c87196341e87029177f9ecc4a1a296b405358974 100644
--- a/src/main/resources/strings/BriarDesktop_gl.properties
+++ b/src/main/resources/strings/BriarDesktop_gl.properties
@@ -69,6 +69,16 @@ introduction.response.declined.auto=A presentación a {0} foi rexeitada automát
 introduction.response.accepted.received={0} aceptou a presentación a {1}.
 introduction.response.declined.received={0} rexeitou a presentación a {1}.
 introduction.response.declined.received_by_introducee={0} di que {1} rexeitou a presentación.
+introduction.error.own_link=Please enter contact's link, not your own
+introduction.error.remote_invalid=Remote handshake link is invalid
+introduction.error.alias_invalid=Alias is invalid
+introduction.error.link_invalid=Link is invalid: {0}
+introduction.error.public_key_invalid=Public key is invalid: {0}
+introduction.error.adding_failed=Adding contact failed
+introduction.error.contact_already_exists=You already have a contact with this link: {0}
+introduction.error.pending_contact_already_exists=You already have a pending contact with this link: {0}
+introduction.error.duplicate_contact_explainer=Be careful if {0} is not the same person as {1}.\n\nOne of them may be trying to discover who your contacts are.\n\nDon't tell them you received the same link from someone else.
+
 
 # Private Group Sharing
 group.invitation.received={0} convidoute ao grupo "{1}".
diff --git a/src/main/resources/strings/BriarDesktop_he.properties b/src/main/resources/strings/BriarDesktop_he.properties
deleted file mode 100644
index cac1805ed56c65bc09610af3ca0f93f4f51117c1..0000000000000000000000000000000000000000
--- a/src/main/resources/strings/BriarDesktop_he.properties
+++ /dev/null
@@ -1,189 +0,0 @@
-# Accessibility
-access.attachment_add=הוסף קובץ מצורף
-access.attachment_remove=Remove attachment
-access.contacts.add=הוסף איש קשר
-access.contact.menu=Show contact menu
-access.contacts.dropdown.connections.expand=Expand connections menu
-access.contacts.dropdown.contacts.expand=Expand contacts menu
-access.contacts.search=Icon for searching contacts
-access.introduction.back.contact=Go back to contact screen of introduction process
-access.introduction.close=Close introduction screen
-access.message.jump_to_unread=Jump to next unread message
-access.message.send=Send message
-access.message.sent=הודעה נשלחה
-access.logo=Briar logo
-access.swap=Icon showing errors between two contacts
-access.about_briar_desktop=About Briar Desktop
-
-# Contacts
-contacts.none_selected.title=איש קשר לא נבחר
-contacts.none_selected.hint=בחר איש קשר כדי להתחיל להתכתב
-contacts.pending_selected.title=Pending contact selected
-contacts.pending_selected.hint=You need to wait until the process of adding each other as contacts has finished before you can start chatting.
-contacts.card.nothing=אין הודעות.
-contacts.dropdown.connections=חיבורים
-contacts.dropdown.connections.title=חיבורים
-contacts.dropdown.connections.bluetooth=התחבר באמצעות שן כחולה
-contacts.dropdown.connections.removable=Connect via Removable Drive
-contacts.dropdown.contact=צרו קשר
-contacts.dropdown.contact.title=צרו קשר
-contacts.dropdown.contact.change=שינוי שם איש הקשר
-contacts.dropdown.contact.delete=מחק איש קשר
-contacts.dropdown.delete.all=מחיקת כל ההודעות
-contacts.dropdown.disappearing=Disappearing messages
-contacts.dropdown.introduction=בצע היכרות
-contacts.search.title=אנשי קשר
-
-# Conversation
-conversation.message.unread=הודעות שלא נקראו
-conversation.message.new=New Message
-conversation.delete.all.dialog.title=אשר מחיקת הודעה
-conversation.delete.all.dialog.message=האם אכן ברצונך למחוק את כל ההודעות?
-conversation.delete.failed.dialog.title=לא היה ניתן למחוק את כל ההודעות
-conversation.delete.failed.dialog.message.ongoing_both=הודעות שקשורות אל הזמנות והיכרויות מתמשכות אינן יכולות להימחק עד שההיכרויות או ההזמנות יסוימו.
-conversation.delete.failed.dialog.message.ongoing_introductions=הודעות שקשורות אל היכרויות מתמשכות אינן יכולות להימחק עד שהההיכרויות יסוימו.
-conversation.delete.failed.dialog.message.ongoing_invitations=הודעות שקשורות אל הזמנות מתמשכות אינן יכולות להימחק עד שההזמנות יסוימו.
-conversation.delete.failed.dialog.message.not_all_selected_both=כדי למחוק הזמנה או היכרות, צריך לבחור את הבקשה והתגובה.
-conversation.delete.failed.dialog.message.not_all_selected_introductions=כדי למחוק את ההיכרות, צריך לבחור את הבקשה והתגובה.
-conversation.delete.failed.dialog.message.not_all_selected_invitations=כדי למחוק את ההזמנה, צריך לבחור את הבקשה והתגובה.
-conversation.delete.contact.dialog.title=אשר מחיקת איש קשר
-conversation.delete.contact.dialog.message=האם אכן ברצונך למחוק איש קשר זה ואת כל ההודעות שהוחלפו עם איש קשר זה?
-
-# Private Groups
-groups.card.created=Created by {0}
-groups.card.messages={0, plural, one {{0} message} two {{0} messages} many {{0} messages} other {{0} messages}}
-
-# Introduction
-introduction.introduce=בצע היכרות
-introduction.message=הוסף הודעה (רשותי)
-introduction.title_first=Introduce {0} to
-introduction.title_second=הכר בין אנשי קשר
-introduction.request.sent=ביקשת להכיר את {0} בפני {1}.
-introduction.request.received={0} has asked to introduce you to {1}. Do you want to add {1} to your contact list?
-introduction.request.exists.received={0} has asked to introduce you to {1}, but {1} is already in your contact list. Since {0} might not know that, you can still respond:
-introduction.request.answered.received={0} ביקש להכיר אותך בפני {1}.
-introduction.response.accepted.sent=הסכמת אל ההיכרות בפני %1$s{0}.
-introduction.response.accepted.sent.info=בטרם {0} יוכל להתווסף אל אנשי הקשר שלך, הוא צריך לקבל את ההיכרות בנוסף. זה עשוי לקחת זמן מה.
-introduction.response.declined.sent=סירבת אל ההיכרות בפני {0}.
-introduction.response.declined.auto=The introduction to {0} was automatically declined.
-introduction.response.accepted.received={0} הסכים אל ההיכרות בפני {1}.
-introduction.response.declined.received={0} declined the introduction to {1}.
-introduction.response.declined.received_by_introducee={0} says that {1} declined the introduction.
-
-# Private Group Sharing
-group.invitation.received={0} has invited you to join the group "{1}".
-group.invitation.sent=You have invited {0} to join the group "{1}".
-group.invitation.response.accepted.sent=You accepted the group invitation from {0}.
-group.invitation.response.declined.sent=You declined the group invitation from {0}.
-group.invitation.response.declined.auto=The group invitation from {0} was automatically declined.
-group.invitation.response.accepted.received={0} accepted the group invitation.
-group.invitation.response.declined.received={0} declined the group invitation.
-
-# Forum Sharing
-forum.invitation.received={0} has shared the forum "{1}" with you.
-forum.invitation.sent=You have shared the forum "{0}" with {1}.
-forum.invitation.response.accepted.sent=You accepted the forum invitation from {0}.
-forum.invitation.response.declined.sent=You declined the forum invitation from {0}.
-forum.invitation.response.declined.auto=The forum invitation from {0} was automatically declined.
-forum.invitation.response.accepted.received={0} accepted the forum invitation.
-forum.invitation.response.declined.received={0} declined the forum invitation.
-
-# Blog Sharing
-blog.invitation.received={0} has shared the blog "{1}" with you.
-blog.invitation.sent=You have shared the blog "{0}" with {1}.
-blog.invitation.response.accepted.sent=You accepted the blog invitation from {0}.
-blog.invitation.response.declined.sent=You declined the blog invitation from {0}.
-blog.invitation.response.declined.auto=The blog invitation from {0} was automatically declined.
-blog.invitation.response.accepted.received={0} accepted the blog invitation.
-blog.invitation.response.declined.received={0} declined the blog invitation.
-
-
-# Main
-main.title=Briar Desktop
-main.help.title=Briar Desktop Client
-main.help.debug=Enable printing of debug messages
-main.help.verbose=Print verbose log messages
-main.help.data=The directory where Briar will store its files. Default: {0}
-main.help.tor.port.socks=Tor Socks Port
-main.help.tor.port.control=Tor Control Port
-
-# Welcome
-welcome.title=ברוך בואך אל Briar
-welcome.text=You don't have any contacts yet. Tap the + icon to add a contact:
-
-# About
-about.copyright=Copyright
-about.license=רישיון
-about.version=גירסה
-about.contact=צרו קשר
-about.website=אתר
-
-# Miscellaneous
-cancel=ביטול
-delete=מחיקה
-ok=אישור
-accept=קבל
-decline=סרב
-back=הקודם
-next=הבא
-open=פתיחה
-sorry=עמך הסליחה
-error=שגיאה
-warning=אזהרה
-unsupported_feature=Unfortunately, this feature is not yet supported by Briar Desktop.
-
-# Startup screen
-startup.title.registration=ברוך בואך אל Briar
-startup.title.login=Welcome back
-startup.field.nickname=כינוי
-startup.field.nickname.explanation=כינויך יוראה ליד תוכן כלשהו שתכתוב. אינך יכול לשנות אותו לאחר יצירת חשבונך.
-startup.field.password=סיסמה
-startup.field.password.explanation=Your Briar account is stored encrypted on your device, not in the cloud. If you forget your password or uninstall Briar, there's no way to recover your account.\n\nChoose a long password that's hard to guess, such as four random words, or ten random letters, numbers and symbols.
-startup.field.password_confirmation=אשר סיסמה
-startup.button.register=יצירת חשבון
-startup.button.login=כניסה למערכת
-startup.error.name_too_long=השם ארוך מדי
-startup.error.password_too_weak=הסיסמה חלשה מדי
-startup.error.passwords_not_match=הסיסמאות אינן תואמות
-startup.error.password_wrong=סיסמה שגויה, נסה שוב
-startup.error.decryption.title=לא יכול לבדוק סיסמה
-startup.error.decryption.text=Briar לא יכול לבדוק את הסיסמה שלך. אנא נסה לאתחל מחדש את המכשיר שלך כדי לפתור בעיה זאת.
-startup.password_forgotten.button=שכחתי את הסיסמה שלי
-startup.password_forgotten.title=סיסמה אבודה
-startup.password_forgotten.text=Your Briar account is stored encrypted on your device, not in the cloud, so we can't reset your password. Would you like to delete your account and start again?\n\nCaution: Your identities, contacts and messages will be permanently lost.
-startup.failed.expired=This software has expired. Thank you for testing!\n\nTo continue using Briar, please download the latest release. You will be able to continue using your account.
-startup.failed.registration=Briar was unable to create your account.\n\nPlease upgrade to the latest version and try again.
-startup.failed.clock_error=Briar was unable to start because your device's clock is wrong.\n\nPlease set your device's clock to the right time and try again.
-startup.failed.db_error=Briar was unable to open the database containing your account, your contacts and your messages.\n\nPlease check if Briar is already running on this device. Otherwise, upgrade to the latest version of the app and try again, or set up a new account by choosing 'I have forgotten my password' at the password prompt.
-startup.failed.data_too_old_error=Your account was created with an old version of this app and cannot be opened with this version.\n\nYou must either reinstall the old version or set up a new account by choosing 'I have forgotten my password' at the password prompt.
-startup.failed.data_too_new_error=Your account was created with a newer version of this app and cannot be opened with this version.\n\nPlease upgrade to the latest version and try again.
-startup.failed.service_error=Briar was unable to start a required component.\n\nPlease upgrade to the latest version of the app and try again.
-startup.database.creating=Creating Account...
-startup.database.opening=Decrypting Database...
-startup.database.migrating=Upgrading Database...
-startup.database.compacting=Compacting Database...
-expiration.banner.part1.zero=This is a test version of Briar that will expire today.
-expiration.banner.part1.nozero={0, plural, one {This is a test version of Briar that will expire tomorrow.} two {This is a test version of Briar that will expire in {0} days.} many {This is a test version of Briar that will expire in {0} days.} other {This is a test version of Briar that will expire in {0} days.}}
-expiration.banner.part2=Please update to a newer version in time.
-
-# Settings
-settings.title=הגדרות
-
-# Settings General
-settings.general.title=כללי
-
-# Settings Display
-settings.display.title=תצוגה
-settings.display.theme=Dark Theme
-
-# Settings Connections
-settings.connections.title=חיבורים
-
-# Settings Security
-settings.security.title=אבטחה
-
-# Settings Notifications
-settings.notifications.title=התראות
-
-# Settings Actions
-settings.actions.title=פעולות
diff --git a/src/main/resources/strings/BriarDesktop_hu.properties b/src/main/resources/strings/BriarDesktop_hu.properties
index 6b7cb5d7a9d3a83da51fdc85d6be293c7dd8e599..24a75b0436a2ca3b04c88d4b2835e8dbec42b28d 100644
--- a/src/main/resources/strings/BriarDesktop_hu.properties
+++ b/src/main/resources/strings/BriarDesktop_hu.properties
@@ -13,7 +13,7 @@ access.message.send=Üzenet küldése
 access.message.sent=Üzenet elküldve
 access.logo=Briar logo
 access.swap=Ikon, ami hibákat jelez két kapcsolat között
-access.about_briar_desktop=About Briar Desktop
+access.about_briar_desktop=A Briar Desktop névjegye
 
 # Contacts
 contacts.none_selected.title=Nincs kapcsolat kiválasztva
@@ -58,52 +58,62 @@ introduction.introduce=Bemutatkozás készítése
 introduction.message=Üzenet hozzáadása (opcionális)
 introduction.title_first={0} bemutatása neki:
 introduction.title_second=Kapcsolatok bemutatása
-introduction.request.sent=You have asked to introduce {0} to {1}.
-introduction.request.received={0} has asked to introduce you to {1}. Do you want to add {1} to your contact list?
-introduction.request.exists.received={0} has asked to introduce you to {1}, but {1} is already in your contact list. Since {0} might not know that, you can still respond:
-introduction.request.answered.received={0} has asked to introduce you to {1}.
-introduction.response.accepted.sent=You accepted the introduction to {0}.
-introduction.response.accepted.sent.info=Before {0} gets added to your contacts, they need to accept the introduction as well. This might take some time.
-introduction.response.declined.sent=You declined the introduction to {0}.
-introduction.response.declined.auto=The introduction to {0} was automatically declined.
+introduction.request.sent=Megkértek, hogy mutasd be {0} felhasználót {1} felhasználónak.
+introduction.request.received={0} szeretné bemutatni {1} személynek. Szeretné hozzáadni {1} személyt a kapcsolataihoz?
+introduction.request.exists.received={0} szeretné bemutatni {1} személynek, de {1} már a kapcsolatai között található. Mivel {0}  erről nem tudhat, továbbra is válaszolhatja a következőket:
+introduction.request.answered.received={0} szeretné bemutatni Önt {1} számára.
+introduction.response.accepted.sent=Ön elfogadta a bemutatását {0} számára.
+introduction.response.accepted.sent.info=Mielőtt {0}  hozzáadásra kerülne a kapcsolataihoz, el kell neki is fogadni a bemutatkozást. Ez időbe telhet.
+introduction.response.declined.sent=Ön elutasította a bemutatását {0} számára.
+introduction.response.declined.auto=A bemutatás {0} számára automatikusan elutasításra került.
 introduction.response.accepted.received={0} elfogadta a bemutatkozást {1} számára.
 introduction.response.declined.received={0} elutasította a bemutatkozást {1} számára.
 introduction.response.declined.received_by_introducee={0} szerint {1} elutasította a bemutatkozást.
+introduction.error.own_link=A kapcsolata linkjét adja meg, ne a sajátját
+introduction.error.remote_invalid=A távoli kézfogás link érvénytelen
+introduction.error.alias_invalid=Az alias érvénytelen
+introduction.error.link_invalid=A link érvénytelen: {0}
+introduction.error.public_key_invalid=A publikus kulcs érvénytelen: {0}
+introduction.error.adding_failed=Kapcsolat hozzáadása sikertelen
+introduction.error.contact_already_exists=Önnek már van kapcsolata ezzel a linkkel: {0}
+introduction.error.pending_contact_already_exists=Önnek már van várakozó kapcsolata ezzel a linkkel: {0}
+introduction.error.duplicate_contact_explainer=Legyen óvatos, ha {0} és {1} nem ugyanaz a személy.\n\nEgyikük megpróbálja kideríteni, hogy kik az Ön kapcsolatai.\n\nNe árulja el nekik, hogy már megkapta ezt a linket valaki mástól.
+
 
 # Private Group Sharing
 group.invitation.received={0} meghívta Önt, hogy csatlakozzon a(z) "{1}" csoporthoz.
 group.invitation.sent=Meghívta {0} személyt, hogy csatlakozzon a(z) "{1}" csoporthoz.
 group.invitation.response.accepted.sent=Elfogadta a(z) {0} csoport meghívását.
 group.invitation.response.declined.sent=Elutasította a(z) {0} csoport meghívását.
-group.invitation.response.declined.auto=The group invitation from {0} was automatically declined.
+group.invitation.response.declined.auto= {0} csoport meghívása automatikusan elutasításra került.
 group.invitation.response.accepted.received={0} elfogadta a csoport meghívást.
 group.invitation.response.declined.received={0} elutasította a csoport meghívást.
 
 # Forum Sharing
 forum.invitation.received={0} megosztotta Önnel a(z) "{1}" fórumot.
-forum.invitation.sent=You have shared the forum "{0}" with {1}.
-forum.invitation.response.accepted.sent=You accepted the forum invitation from {0}.
-forum.invitation.response.declined.sent=You declined the forum invitation from {0}.
-forum.invitation.response.declined.auto=The forum invitation from {0} was automatically declined.
+forum.invitation.sent=Ön megosztotta a(z) "{0}" fórumot {1} számára.
+forum.invitation.response.accepted.sent=Ön elfogadta {0} fórum meghívását.
+forum.invitation.response.declined.sent=Ön elutasította {0} fórum meghívását.
+forum.invitation.response.declined.auto= {0} fórum meghívása automatikusan elutasításra került.
 forum.invitation.response.accepted.received={0} elfogadta a fórum meghívást.
 forum.invitation.response.declined.received={0} elutasította a fórum meghívást.
 
 # Blog Sharing
-blog.invitation.received={0} has shared the blog "{1}" with you.
-blog.invitation.sent=You have shared the blog "{0}" with {1}.
-blog.invitation.response.accepted.sent=You accepted the blog invitation from {0}.
-blog.invitation.response.declined.sent=You declined the blog invitation from {0}.
-blog.invitation.response.declined.auto=The blog invitation from {0} was automatically declined.
-blog.invitation.response.accepted.received={0} accepted the blog invitation.
-blog.invitation.response.declined.received={0} declined the blog invitation.
+blog.invitation.received={0} megosztotta Önnel a(z) "{1}" blogot.
+blog.invitation.sent=Ön megosztotta a(z) "{0}" blogot {1} számára.
+blog.invitation.response.accepted.sent=Ön elfogadta {0} blog meghívását.
+blog.invitation.response.declined.sent=Ön elutasította {0} blog meghívását. 
+blog.invitation.response.declined.auto= {0} blog meghívása automatikusan elutasításra került.
+blog.invitation.response.accepted.received={0} elfogadta a blog meghívást.
+blog.invitation.response.declined.received={0} elutasította a blog meghívást.
 
 
 # Main
 main.title=Briar Desktop
 main.help.title=Briar Desktop kliens
 main.help.debug=A hibakereső üzenetek kiírásának engedélyezése
-main.help.verbose=Print verbose log messages
-main.help.data=The directory where Briar will store its files. Default: {0}
+main.help.verbose=Részletes log üzenetek kiírása
+main.help.data=A mappa, ahol a Briar tárolja a fájljait. Alapértelmezett: {0}
 main.help.tor.port.socks=Tor Socks port
 main.help.tor.port.control=Tor vezérlő port
 
@@ -138,7 +148,7 @@ startup.title.login=Köszöntjük újra
 startup.field.nickname=Becenév
 startup.field.nickname.explanation=A beceneve fog megjelenni minden tartalom mellett amit Ön osztott meg. Nem tudja megváltoztatni a fiók létrehozása után.
 startup.field.password=Jelszó
-startup.field.password.explanation=Your Briar account is stored encrypted on your device, not in the cloud. If you forget your password or uninstall Briar, there's no way to recover your account.\n\nChoose a long password that's hard to guess, such as four random words, or ten random letters, numbers and symbols.
+startup.field.password.explanation=A Briar fiókja az eszközén kerül tárolásra titkosítva, nem a felhőben. Ha elfelejti a jelszavát, vagy eltávolítja a Briar-t, nincs lehetőség fiókja visszanyerésére.\n\nVálasszon egy hosszú, nehezen kitalálható jelszót, például négy tetszőleges szó vagy tíz tetszőleges betű, szám vagy szimbólum.
 startup.field.password_confirmation=Jelszó megerősítése
 startup.button.register=Fiók létrehozása
 startup.button.login=Belépés
@@ -150,21 +160,21 @@ startup.error.decryption.title=A jelszót nem sikerült ellenőrizni
 startup.error.decryption.text=A Briar nem tudta ellenőrizni jelszavát. Kérjük indítja újra az eszközét a probléma megoldásához.
 startup.password_forgotten.button=Elfelejtettem a jelszavam
 startup.password_forgotten.title=Elveszett jelszó
-startup.password_forgotten.text=Your Briar account is stored encrypted on your device, not in the cloud, so we can't reset your password. Would you like to delete your account and start again?\n\nCaution: Your identities, contacts and messages will be permanently lost.
-startup.failed.expired=This software has expired. Thank you for testing!\n\nTo continue using Briar, please download the latest release. You will be able to continue using your account.
-startup.failed.registration=Briar was unable to create your account.\n\nPlease upgrade to the latest version and try again.
-startup.failed.clock_error=Briar was unable to start because your device's clock is wrong.\n\nPlease set your device's clock to the right time and try again.
-startup.failed.db_error=Briar was unable to open the database containing your account, your contacts and your messages.\n\nPlease check if Briar is already running on this device. Otherwise, upgrade to the latest version of the app and try again, or set up a new account by choosing 'I have forgotten my password' at the password prompt.
-startup.failed.data_too_old_error=Your account was created with an old version of this app and cannot be opened with this version.\n\nYou must either reinstall the old version or set up a new account by choosing 'I have forgotten my password' at the password prompt.
-startup.failed.data_too_new_error=Your account was created with a newer version of this app and cannot be opened with this version.\n\nPlease upgrade to the latest version and try again.
-startup.failed.service_error=Briar was unable to start a required component.\n\nPlease upgrade to the latest version of the app and try again.
+startup.password_forgotten.text=A Briar fiókja az eszközén kerül tárolásra titkosítva, nem a felhőben, így nincs lehetőség jelszó helyreállításra. Szeretné törölni a fiókját és elölről kezdeni?\n\nFigyelem: Az identitásai, a kapcsolatai és az üzenetei végleg elvesznek.
+startup.failed.expired=Ez a szoftver lejárt. Köszönjük a tesztelést!\n\nA Briar további használatához kérjük töltse le a legfrissebb verziót. Tovább tudja használni a fiókját belőle. 
+startup.failed.registration=A Briar nem tudja létrehozni a fiókját.\n\nKérjük frissítsen a legutolsó verzióra és próbálja újra.
+startup.failed.clock_error=A Briar nem tud elindulni, mert az eszköz órája nem megfelelően jár.\n\nKérjük állítsa be az eszköz óráját a megfelelő időre és próbálja újra.
+startup.failed.db_error=A Briar nem tudja megnyitni az adatbázist, ami a fiókját, kapcsolatait és üzeneteit tartalmazza.\n\nKérjük ellenőrizze, hogy a Briar nem fut-e már ezen az eszközön. Egyéb esetben frissítsen a legfrissebb verzióra és próbálja meg újra, vagy hozzon létre új fiókot az 'Elfelejtettem a jelszavam' opciót választva a jelszó bekérésnél.
+startup.failed.data_too_old_error=A fiókja egy régi app verzióval volt létrehozva, és nem nyitható meg ezzel a verzióval. \n\nVagy visszatelepíti a régi verziót, vagy létrehoz egy új fiókot az 'Elfelejtettem a jelszavam' menüpont alatt, amikor a jelszóbekérés történik.
+startup.failed.data_too_new_error=A fiókja az app újabb verziójával került létrehozásra és nem nyitható meg ezzel a verzióval.\n\nKérjük frissítsen a legutolsó verzióra és próbálja újra.
+startup.failed.service_error=A Briar nem tudja elindítani a szükséges komponenst.\n\nKérjük frissítsen a legutolsó verzióra és próbálja újra.
 startup.database.creating=Fiók létrehozása...
 startup.database.opening=Adatbázis dekódolása...
 startup.database.migrating=Adatbázis frissítése
 startup.database.compacting=Adatbázis tömörítése...
-expiration.banner.part1.zero=This is a test version of Briar that will expire today.
-expiration.banner.part1.nozero={0, plural, one {This is a test version of Briar that will expire tomorrow.} other {This is a test version of Briar that will expire in {0} days.}}
-expiration.banner.part2=Please update to a newer version in time.
+expiration.banner.part1.zero=Ez a Briar teszt verziója, ami ma lejár.
+expiration.banner.part1.nozero={0, plural, one {Ez a Briar teszt verziója, ami holnap lejár.} other {Ez a Briar teszt verziója, ami {0} nap múlva lejár.}}
+expiration.banner.part2=Kérjük időben frissítsen egy új verzióra.
 
 # Settings
 settings.title=Beállítások
diff --git a/src/main/resources/strings/BriarDesktop_is.properties b/src/main/resources/strings/BriarDesktop_is.properties
index a336884806ffb3603f39d1aba03373940b89d6a3..59c0d0049062172aba0ce35f28a0aae433128311 100644
--- a/src/main/resources/strings/BriarDesktop_is.properties
+++ b/src/main/resources/strings/BriarDesktop_is.properties
@@ -69,6 +69,16 @@ introduction.response.declined.auto=Kynningu við {0} var sjálfvirkt hafnað.
 introduction.response.accepted.received={0} samþykkti kynningu við {1}.
 introduction.response.declined.received={0} hafnaði kynningu við {1}.
 introduction.response.declined.received_by_introducee={0} segir að {1} hafi hafnað kynningunni.
+introduction.error.own_link=Please enter contact's link, not your own
+introduction.error.remote_invalid=Remote handshake link is invalid
+introduction.error.alias_invalid=Alias is invalid
+introduction.error.link_invalid=Link is invalid: {0}
+introduction.error.public_key_invalid=Public key is invalid: {0}
+introduction.error.adding_failed=Adding contact failed
+introduction.error.contact_already_exists=You already have a contact with this link: {0}
+introduction.error.pending_contact_already_exists=You already have a pending contact with this link: {0}
+introduction.error.duplicate_contact_explainer=Be careful if {0} is not the same person as {1}.\n\nOne of them may be trying to discover who your contacts are.\n\nDon't tell them you received the same link from someone else.
+
 
 # Private Group Sharing
 group.invitation.received={0} bauð þér í hópinn "{1}".
diff --git a/src/main/resources/strings/BriarDesktop_it.properties b/src/main/resources/strings/BriarDesktop_it.properties
index d55234951d9c7808fe308fb681fd634e382c2838..7982087b6047dc636ffa286ad3f0b8f7c4484836 100644
--- a/src/main/resources/strings/BriarDesktop_it.properties
+++ b/src/main/resources/strings/BriarDesktop_it.properties
@@ -13,7 +13,7 @@ access.message.send=Invia Messaggio
 access.message.sent=Messaggio inviato
 access.logo=Logo di Briar
 access.swap=Icona per mostrare errori tra due contatti
-access.about_briar_desktop=About Briar Desktop
+access.about_briar_desktop=Informazioni su Briar Desktop
 
 # Contacts
 contacts.none_selected.title=Nessun contatto selezionato
@@ -69,6 +69,16 @@ introduction.response.declined.auto=La presentazione a {0} è stata rifiutata au
 introduction.response.accepted.received={0} ha accettato di presentarsi a {1}.
 introduction.response.declined.received={0} ha rifiutato di presentarsi a {1}.
 introduction.response.declined.received_by_introducee={0} dice che {1} ha rifiutato di presentarsi.
+introduction.error.own_link=Inserisci il collegamento del contatto, non il tuo
+introduction.error.remote_invalid=Collegamento di handshake remoto non valido
+introduction.error.alias_invalid=Alias non valido
+introduction.error.link_invalid=Collegamento non valido: {0}
+introduction.error.public_key_invalid=Chiave pubblica non valida: {0}
+introduction.error.adding_failed=Aggiunta contatto fallita
+introduction.error.contact_already_exists=Hai già un contatto con questo collegamento: {0}
+introduction.error.pending_contact_already_exists=Hai già un contatto in attesa con questo collegamento: {0}
+introduction.error.duplicate_contact_explainer=Fai attenzione se {0} non è la stessa persona di {1}.\n\nUno di essi forse sta tentando di scoprire chi sono i tuoi contatti.\n\nNon dire loro che hai ricevuto lo stesso collegamento da qualcun altro.
+
 
 # Private Group Sharing
 group.invitation.received={0} ti ha invitato ad entrare nel gruppo "{1}".
@@ -151,7 +161,7 @@ startup.error.decryption.text=Briar non riesce a controllare la tua password. Pr
 startup.password_forgotten.button=Ho dimenticato la password
 startup.password_forgotten.title=Password persa
 startup.password_forgotten.text=Il tuo account Briar si trova cifrato sul tuo dispositivo e non nel cloud, quindi non possiamo resettarti la tua password. Vorresti cancellare il tuo account e partire di nuovo?\n\nAttenzione: Le tue identità, contatti e messaggi verranno persi permanentemente.
-startup.failed.expired=This software has expired. Thank you for testing!\n\nTo continue using Briar, please download the latest release. You will be able to continue using your account.
+startup.failed.expired=Questo software è scaduto. Grazie per averlo provato!\n\nPer continuare ad usare Briar, scarica la versione più recente. Potrai continuare ad usare il tuo account.
 startup.failed.registration=Briar non ha potuto creare il tuo account.\n\nAggiorna all'ultima versione dell'app e riprova.
 startup.failed.clock_error=Briar non ha potuto avviarsi perchè l'orologio del tuo dispositivo è sbagliato.\n\nRegola correttamente l'orologio e riprova.
 startup.failed.db_error=Briar non ha potuto aprire il database contenente il tuo account, i contatti e i messaggi.\n\nPer farvore controlla se Briar è già avviato su questo dispositivo. Altrimenti, aggiorna all'ultima versione dell'app e riprova, o configura un nuovo account scegliendo 'Ho dimenticato la password' quando richiesto.
@@ -162,9 +172,9 @@ startup.database.creating=Creazione account..
 startup.database.opening=Decrittazione del database...
 startup.database.migrating=Aggiornamento del database...
 startup.database.compacting=Compattazione del database…
-expiration.banner.part1.zero=This is a test version of Briar that will expire today.
-expiration.banner.part1.nozero={0, plural, one {This is a test version of Briar that will expire tomorrow.} other {This is a test version of Briar that will expire in {0} days.}}
-expiration.banner.part2=Please update to a newer version in time.
+expiration.banner.part1.zero=Questa è una versione di prova di Briar che scadrà oggi.
+expiration.banner.part1.nozero={0, plural, one {Questa è una versione di prova di Briar che scadrà domani.} other {Questa è una versione di prova di Briar che scadrà tra {0} giorni.}}
+expiration.banner.part2=Aggiorna ad una versione più recente in tempo.
 
 # Settings
 settings.title=Impostazioni
diff --git a/src/main/resources/strings/BriarDesktop_ja.properties b/src/main/resources/strings/BriarDesktop_ja.properties
deleted file mode 100644
index 90a2df8e4fccad48f6f5d001428eebe4b3079f66..0000000000000000000000000000000000000000
--- a/src/main/resources/strings/BriarDesktop_ja.properties
+++ /dev/null
@@ -1,59 +0,0 @@
-# Accessibility
-access.attachment=Add attachment
-access.contacts.add=連絡相手を追加
-access.contact.menu=Show contact menu
-access.contacts.dropdown.connections.expand=Expand connections menu
-access.contacts.dropdown.contacts.expand=Expand contacts menu
-access.contacts.search=Icon search contacts
-access.introduction.back.contact=Go back to contact screen of introduction process
-access.introduction.close=Close introduction screen
-access.message.send=Send message
-access.message.sent=Message sent
-access.logo=Briar logo
-access.swap=Icon showing errors between two contacts
-
-# Contacts
-contacts.card.nothing=メッセージがありません。
-contacts.dropdown.connections=接続数
-contacts.dropdown.connections.title=接続数
-contacts.dropdown.connections.bluetooth=Bluetooth経由で接続する
-contacts.dropdown.connections.removable=Connect via Removable Drive
-contacts.dropdown.contact=連絡先
-contacts.dropdown.contact.title=連絡先
-contacts.dropdown.contact.change=連絡先を変更
-contacts.dropdown.contact.delete=この連絡先を削除
-contacts.dropdown.delete.all=全てのメッセージを削除
-contacts.dropdown.disappearing=消えたメッセージ
-contacts.dropdown.introduction=はじめに
-contacts.search.title=連絡先
-
-# Conversation
-conversation.message.new=新着メッセージ
-
-# Introduction
-introduction.introduce=はじめに
-introduction.message=メッセージを追加する(任意)
-introduction.title_first=Introduce {0} to
-introduction.title_second=連絡相手を紹介する
-
-# Login screen
-login.login=ログイン
-
-# Main
-main.title=Briar Desktop
-main.help.title=Briar Desktop Client
-main.help.debug=Enable printing of debug messages
-main.help.verbose=Print verbose log messages
-main.help.data=The directory where Briar will store its files. Default: {0}
-main.help.tor.port.socks=Tor Socks Port
-main.help.tor.port.control=Tor Control Port
-
-# Miscellaneous
-password=パスワード
-
-# Registration screen
-registration.username=ユーザー名
-registration.register=アカウントを作成
-
-# Settings
-settings.theme=Change Theme
diff --git a/src/main/resources/strings/BriarDesktop_ko.properties b/src/main/resources/strings/BriarDesktop_ko.properties
deleted file mode 100644
index 3dd89900b0f32059d9f4605b4741a3044d900180..0000000000000000000000000000000000000000
--- a/src/main/resources/strings/BriarDesktop_ko.properties
+++ /dev/null
@@ -1,59 +0,0 @@
-# Accessibility
-access.attachment=첨부파일 추가
-access.contacts.add=연락처 추가하기
-access.contact.menu=Show contact menu
-access.contacts.dropdown.connections.expand=Expand connections menu
-access.contacts.dropdown.contacts.expand=Expand contacts menu
-access.contacts.search=Icon search contacts
-access.introduction.back.contact=Go back to contact screen of introduction process
-access.introduction.close=Close introduction screen
-access.message.send=Send message
-access.message.sent=Message sent
-access.logo=Briar logo
-access.swap=Icon showing errors between two contacts
-
-# Contacts
-contacts.card.nothing=메시지가 없습니다.
-contacts.dropdown.connections=ì—°ê²°
-contacts.dropdown.connections.title=ì—°ê²°
-contacts.dropdown.connections.bluetooth=블루투스로 연결하기
-contacts.dropdown.connections.removable=Connect via Removable Drive
-contacts.dropdown.contact=문의
-contacts.dropdown.contact.title=문의
-contacts.dropdown.contact.change=연락처 이름 바꾸기
-contacts.dropdown.contact.delete=연락처 삭제하기
-contacts.dropdown.delete.all=모든 메시지 지우기
-contacts.dropdown.disappearing=Disappearing messages
-contacts.dropdown.introduction=소개시키기
-contacts.search.title=문의
-
-# Conversation
-conversation.message.new=새 메세지
-
-# Introduction
-introduction.introduce=소개시키기
-introduction.message=메시지 추가하기(선택 사항)
-introduction.title_first=Introduce {0} to
-introduction.title_second=지인 소개하기
-
-# Login screen
-login.login=로그인
-
-# Main
-main.title=Briar Desktop
-main.help.title=Briar Desktop Client
-main.help.debug=Enable printing of debug messages
-main.help.verbose=Print verbose log messages
-main.help.data=The directory where Briar will store its files. Default: {0}
-main.help.tor.port.socks=Tor Socks Port
-main.help.tor.port.control=Tor Control Port
-
-# Miscellaneous
-password=비밀번호
-
-# Registration screen
-registration.username=Username
-registration.register=계정 만들기
-
-# Settings
-settings.theme=Change Theme
diff --git a/src/main/resources/strings/BriarDesktop_lt.properties b/src/main/resources/strings/BriarDesktop_lt.properties
index 4cdd38f5fe4a22bb812ce539e1105fb2083340fc..a29e9fad9c5118915c9f41414fd5313c5e5e7f0b 100644
--- a/src/main/resources/strings/BriarDesktop_lt.properties
+++ b/src/main/resources/strings/BriarDesktop_lt.properties
@@ -1,6 +1,6 @@
 # Accessibility
 access.attachment_add=PridÄ—ti priedÄ…
-access.attachment_remove=Remove attachment
+access.attachment_remove=Å alinti priedÄ…
 access.contacts.add=PridÄ—ti adresatÄ…
 access.contact.menu=Show contact menu
 access.contacts.dropdown.connections.expand=Išskleisti ryšių meniu
@@ -69,6 +69,16 @@ introduction.response.declined.auto=The introduction to {0} was automatically de
 introduction.response.accepted.received={0} accepted the introduction to {1}.
 introduction.response.declined.received={0} declined the introduction to {1}.
 introduction.response.declined.received_by_introducee={0} sako, kad {1} atmetė supažindinimą.
+introduction.error.own_link=Įveskite adresato nuorodą, o ne savo asmeninę
+introduction.error.remote_invalid=Remote handshake link is invalid
+introduction.error.alias_invalid=Alias is invalid
+introduction.error.link_invalid=Link is invalid: {0}
+introduction.error.public_key_invalid=Public key is invalid: {0}
+introduction.error.adding_failed=Adding contact failed
+introduction.error.contact_already_exists=You already have a contact with this link: {0}
+introduction.error.pending_contact_already_exists=You already have a pending contact with this link: {0}
+introduction.error.duplicate_contact_explainer=Be careful if {0} is not the same person as {1}.\n\nOne of them may be trying to discover who your contacts are.\n\nDon't tell them you received the same link from someone else.
+
 
 # Private Group Sharing
 group.invitation.received={0} pakvietė jus prisijungti prie grupės „{1}“.
@@ -134,7 +144,7 @@ unsupported_feature=Unfortunately, this feature is not yet supported by Briar De
 
 # Startup screen
 startup.title.registration=Sveiki atvykę į Briar
-startup.title.login=Welcome back
+startup.title.login=Sveiki sugrįžę
 startup.field.nickname=Slapyvardis
 startup.field.nickname.explanation=Jūsų slapyvardis bus rodomas šalia bet kokio jūsų skelbiamo turinio. Sukūrę paskyrą, slapyvardžio pakeisti nebegalėsite.
 startup.field.password=Slaptažodis
@@ -158,13 +168,13 @@ startup.failed.db_error=Briar was unable to open the database containing your ac
 startup.failed.data_too_old_error=Your account was created with an old version of this app and cannot be opened with this version.\n\nYou must either reinstall the old version or set up a new account by choosing 'I have forgotten my password' at the password prompt.
 startup.failed.data_too_new_error=Your account was created with a newer version of this app and cannot be opened with this version.\n\nPlease upgrade to the latest version and try again.
 startup.failed.service_error=Briar was unable to start a required component.\n\nPlease upgrade to the latest version of the app and try again.
-startup.database.creating=Creating Account...
-startup.database.opening=Decrypting Database...
-startup.database.migrating=Upgrading Database...
-startup.database.compacting=Compacting Database...
-expiration.banner.part1.zero=This is a test version of Briar that will expire today.
-expiration.banner.part1.nozero={0, plural, one {This is a test version of Briar that will expire tomorrow.} few {This is a test version of Briar that will expire in {0} days.} many {This is a test version of Briar that will expire in {0} days.} other {This is a test version of Briar that will expire in {0} days.}}
-expiration.banner.part2=Please update to a newer version in time.
+startup.database.creating=Kuriama paskyra...
+startup.database.opening=Iššifruojama duomenų bazė...
+startup.database.migrating=Naujinama duomenų bazė...
+startup.database.compacting=Glaudinama duomenų bazė...
+expiration.banner.part1.zero=Tai yra bandomoji Briar versija, kuri šiandien nustos galioti.
+expiration.banner.part1.nozero={0, plural, one {Tai yra bandomoji Briar versija, kuri rytoj nustos galioti.} few {Tai yra bandomoji Briar versija, kuri po {0} dienų nustos galioti.} many {Tai yra bandomoji Briar versija, kuri po {0} dienų nustos galioti.} other {Tai yra bandomoji Briar versija, kuri po {0} dienos nustos galioti.}}
+expiration.banner.part2=Per tą laiką atsinaujinkite į naujesnę versiją.
 
 # Settings
 settings.title=Nustatymai
@@ -174,7 +184,7 @@ settings.general.title=Bendra
 
 # Settings Display
 settings.display.title=Rodinys
-settings.display.theme=Dark Theme
+settings.display.theme=Tamsus apipavidalinimas
 
 # Settings Connections
 settings.connections.title=Ryšiai
diff --git a/src/main/resources/strings/BriarDesktop_my.properties b/src/main/resources/strings/BriarDesktop_my.properties
deleted file mode 100644
index ebc85fcfbd0f6151b289ab4a9c5d086001e95a8e..0000000000000000000000000000000000000000
--- a/src/main/resources/strings/BriarDesktop_my.properties
+++ /dev/null
@@ -1,189 +0,0 @@
-# Accessibility
-access.attachment_add=ပူတြဲဖုုိင္ ထည့္်ရန္
-access.attachment_remove=Remove attachment
-access.contacts.add=အဆက်အသွယ် ထည့်မယ်
-access.contact.menu=Show contact menu
-access.contacts.dropdown.connections.expand=Expand connections menu
-access.contacts.dropdown.contacts.expand=Expand contacts menu
-access.contacts.search=Icon for searching contacts
-access.introduction.back.contact=Go back to contact screen of introduction process
-access.introduction.close=Close introduction screen
-access.message.jump_to_unread=Jump to next unread message
-access.message.send=Send message
-access.message.sent=Message sent
-access.logo=Briar logo
-access.swap=Icon showing errors between two contacts
-access.about_briar_desktop=About Briar Desktop
-
-# Contacts
-contacts.none_selected.title=အဆက်အသွယ်ရွေးမထားပါ
-contacts.none_selected.hint=စကားစမြည်စပြောရန် အဆက်အသွယ်ရွေးပါ
-contacts.pending_selected.title=Pending contact selected
-contacts.pending_selected.hint=You need to wait until the process of adding each other as contacts has finished before you can start chatting.
-contacts.card.nothing=မက်ဆေ့ချ်များမရှိပါ
-contacts.dropdown.connections=ချိတ်ဆက်မှုများ
-contacts.dropdown.connections.title=ချိတ်ဆက်မှုများ
-contacts.dropdown.connections.bluetooth=ဘလူးတုသ် နှင့် ချိတ်မယ်
-contacts.dropdown.connections.removable=Connect via Removable Drive
-contacts.dropdown.contact=ဆက်သွယ်ရန်
-contacts.dropdown.contact.title=ဆက်သွယ်ရန်
-contacts.dropdown.contact.change=အဆက်အသွယ်အမည်အား ပြောင်းမယ်
-contacts.dropdown.contact.delete=အဆက်အသွယ်ကို ဖျက်မည်
-contacts.dropdown.delete.all=မက်ဆေ့ချ်များအားလုံး ဖျက်မယ်
-contacts.dropdown.disappearing=ပျောက်ကွယ် မက်ဆေ့ချ်များ
-contacts.dropdown.introduction=မိတ်ဆက်ခြင်း ပြုလုပ်ပါ
-contacts.search.title=အဆက်အသွယ်များ
-
-# Conversation
-conversation.message.unread=Unread messages
-conversation.message.new=New Message
-conversation.delete.all.dialog.title=မက်ဆေ့ချ်ပယ်ဖျက်ခြင်းအား အတည်ပြုမယ်
-conversation.delete.all.dialog.message=မက်ဆေ့ချ်များအားလုံးကို အပြီးပယ်ဖျက်ရန် သေချာပြီလား?
-conversation.delete.failed.dialog.title=မက်ဆေ့ချ်များအားလုံးကို အပြီးပယ်ဖျက်၍ မရနိုင်ပါ
-conversation.delete.failed.dialog.message.ongoing_both=ဆက်လက်ဖြစ်နေဆဲရှိသော ဖိတ်ကြားခြင်းများနှင့် မိတ်ဆက်ခြင်းများနှင့် ပတ်သက်သော မက်ဆေ့ချ်များ မပြီးဆုံးခြင်းထိ ပယ်ဖျက်၍မရပါ။
-conversation.delete.failed.dialog.message.ongoing_introductions=ဆက်လက်ဖြစ်နေဆဲရှိသော မိတ်ဆက်ခြင်းများနှင့် ပတ်သက်သော မက်ဆေ့ချ်များ မပြီးဆုံးခြင်းထိ ပယ်ဖျက်၍မရပါ။
-conversation.delete.failed.dialog.message.ongoing_invitations=ဆက်လက်ဖြစ်နေဆဲရှိသော ဖိတ်ကြားခြင်းများနှင့် ပတ်သက်သော မက်ဆေ့ချ်များ မပြီးဆုံးခြင်းထိ ပယ်ဖျက်၍မရပါ။
-conversation.delete.failed.dialog.message.not_all_selected_both=ဖိတ်ကြားခြင်း သို့မဟုတ် မိတ်ဆက်ခြင်းအား ပယ်ဖျက်ရန် တောင်းဆိုချက်နှင့် တုံ့ပြန်ချက်အား သင်ရွေးထားရပါသည်။
-conversation.delete.failed.dialog.message.not_all_selected_introductions=မိတ်ဆက်ခြင်းအား ပယ်ဖျက်ရန် တောင်းဆိုချက်နှင့် တုံ့ပြန်ချက်အား သင်ရွေးထားရပါသည်။
-conversation.delete.failed.dialog.message.not_all_selected_invitations=ဖိတ်ကြားခြင်းအား ပယ်ဖျက်ရန် တောင်းဆိုချက်နှင့် တုံ့ပြန်ချက်အား သင်ရွေးထားရပါသည်။
-conversation.delete.contact.dialog.title=အဆက်အသွယ်ကို အပြီးပယ်ဖျက်ခြင်းအား အတည်ပြုမည်
-conversation.delete.contact.dialog.message=ဤအဆက်အသွယ်အပြင် ၎င်းနှင့်ပြောထားသမျှမက်ဆေ့ချ်အားလုံးကို ဖယ်ရှားချင်တာ သေချာပါသလား?
-
-# Private Groups
-groups.card.created=Created by {0}
-groups.card.messages={0, plural, other {{0} messages}}
-
-# Introduction
-introduction.introduce=မိတ်ဆက်ခြင်း ပြုလုပ်ပါ
-introduction.message=မက်ဆေ့ချ် ထည့်သွင်းပါ (မဖြစ်မနေမဟုတ်ပါ)
-introduction.title_first=Introduce {0} to
-introduction.title_second= အဆက်အသွယ်လိပ်စာများကို မိတ်ဆက်ခြင်း
-introduction.request.sent=သင်မှ {0} ကို {1} နှင့် မိတ်ဆက်ပေးဖို့  တောင်းဆိုလိုက်ပါသည်။
-introduction.request.received={0} မှ သင့်ကို {1} နှင့် မိတ်ဆက်ပေးဖို့ တောင်းဆိုပါသည်။ သင့် အဆက်အသွယ်စာရင်းထဲသို့ {1} အားပေါင်းထည့်ချင်ပါသလား?
-introduction.request.exists.received={0} has asked to introduce you to {1}, but {1} is already in your contact list. Since {0} might not know that, you can still respond:
-introduction.request.answered.received={1} ကို သင်မှ မိတ်ဆက်ပေးရန် {0} ကတောင်းဆိုထားပါသည်။
-introduction.response.accepted.sent={0} နှင့် မိတ်ဆက်ခြင်းအား သင်လက်ခံခဲ့ပါသည်။
-introduction.response.accepted.sent.info=သင့် အဆက်အသွယ်စာရင်းထဲသို့ {0} အားမထည့်သွင်းပြီးခင် ၎င်းမှ မိတ်ဆက်ခြင်းအား အရင်လက်ခံထားရပါမည်။ ဤလုပ်ငန်းစဥ်သည် ကြန့်ကြာနိုင်ပါသည်။
-introduction.response.declined.sent={0} နှင့် မိတ်ဆက်ခြင်းအား သင် ငြင်းဆိုခဲ့ပါသည်။
-introduction.response.declined.auto=The introduction to {0} was automatically declined.
-introduction.response.accepted.received={1} နှင့် မိတ်ဆက်ခြင်းကို {0} က လက်ခံခဲ့ပါသည်။
-introduction.response.declined.received={0} declined the introduction to {1}.
-introduction.response.declined.received_by_introducee={0} says that {1} declined the introduction.
-
-# Private Group Sharing
-group.invitation.received={0} has invited you to join the group "{1}".
-group.invitation.sent=You have invited {0} to join the group "{1}".
-group.invitation.response.accepted.sent=You accepted the group invitation from {0}.
-group.invitation.response.declined.sent=You declined the group invitation from {0}.
-group.invitation.response.declined.auto=The group invitation from {0} was automatically declined.
-group.invitation.response.accepted.received={0} accepted the group invitation.
-group.invitation.response.declined.received={0} declined the group invitation.
-
-# Forum Sharing
-forum.invitation.received={0} has shared the forum "{1}" with you.
-forum.invitation.sent=You have shared the forum "{0}" with {1}.
-forum.invitation.response.accepted.sent=You accepted the forum invitation from {0}.
-forum.invitation.response.declined.sent=You declined the forum invitation from {0}.
-forum.invitation.response.declined.auto=The forum invitation from {0} was automatically declined.
-forum.invitation.response.accepted.received={0} accepted the forum invitation.
-forum.invitation.response.declined.received={0} declined the forum invitation.
-
-# Blog Sharing
-blog.invitation.received={0} has shared the blog "{1}" with you.
-blog.invitation.sent=You have shared the blog "{0}" with {1}.
-blog.invitation.response.accepted.sent=You accepted the blog invitation from {0}.
-blog.invitation.response.declined.sent=You declined the blog invitation from {0}.
-blog.invitation.response.declined.auto=The blog invitation from {0} was automatically declined.
-blog.invitation.response.accepted.received={0} accepted the blog invitation.
-blog.invitation.response.declined.received={0} declined the blog invitation.
-
-
-# Main
-main.title=Briar Desktop
-main.help.title=Briar Desktop Client
-main.help.debug=Enable printing of debug messages
-main.help.verbose=Print verbose log messages
-main.help.data=The directory where Briar will store its files. Default: {0}
-main.help.tor.port.socks=Tor Socks Port
-main.help.tor.port.control=Tor Control Port
-
-# Welcome
-welcome.title=Briar မှ ကြိုဆိုပါသည်
-welcome.text=You don't have any contacts yet. Tap the + icon to add a contact:
-
-# About
-about.copyright=မူပိုင်ခွင့်
-about.license=လိုင်စင်
-about.version=ဗားရှင်း
-about.contact=ဆက်သွယ်ရန်
-about.website=ဝဘ်ဆိုက်
-
-# Miscellaneous
-cancel=ပယ်ဖျက်ရန်
-delete=ဖျက်ရန်
-ok=အိုကေ
-accept=လက်ခံသည်
-decline=ငြင်းဆန်သည်
-back=နောက်သို့
-next=ရှေ့သို့
-open=ဖွင့်မယ်
-sorry=ဝမ်းနည်းပါတယ်
-error=ချို့ယွင်းချက်
-warning=သတိပေးချက်
-unsupported_feature=Unfortunately, this feature is not yet supported by Briar Desktop.
-
-# Startup screen
-startup.title.registration=Briar မှ ကြိုဆိုပါသည်
-startup.title.login=Welcome back
-startup.field.nickname=အမည်ပြောင်
-startup.field.nickname.explanation=သင့်နာမည်ပြောင်သည် သင်တင်ထားသမျှ၏ဘေးတွင် ပေါ်နေပါလိမ့်မည်။ သို့ပါ၍ သင့်နာမည်ပြောင်အား အကောင့်ဖွင့်ပြီးနောက် ပြောင်း၍မရတော့ပါ။
-startup.field.password=စကားဝှက်
-startup.field.password.explanation=Your Briar account is stored encrypted on your device, not in the cloud. If you forget your password or uninstall Briar, there's no way to recover your account.\n\nChoose a long password that's hard to guess, such as four random words, or ten random letters, numbers and symbols.
-startup.field.password_confirmation=စကားဝှက်ကို အတည်ပြုပါ
-startup.button.register=အကောင့်ဖွင့်မည်
-startup.button.login=အေကာင့္ထဲသို႔ ဝင္မည္။
-startup.error.name_too_long=နာမည်ရှည်လွန်းသည်
-startup.error.password_too_weak=စကားဝှက်က အားနည်းလွန်းသည်
-startup.error.passwords_not_match=စကားဝှက်များ ကိုက်ညီမှုမရှိပါ
-startup.error.password_wrong=စကားဝှက်မှားနေသည်၊ ထပ်စမ်းကြည့်ပါ
-startup.error.decryption.title=စကားဝှက်ကို စစ်ဆေး၍မရပါ
-startup.error.decryption.text=Briar က သင့်စကားဝှက်ကို မစစ်ဆေးနိုင်ပါ။ ဤပြဿနာကို ဖြေရှင်းရန် သင့်ကိရိယာကို ပိတ်၍ပြန်ဖွင့်ကြည့်ပါ။
-startup.password_forgotten.button=ကျွန်ုပ်၏စကားဝှက်ကို မေ့သွားပါသည်
-startup.password_forgotten.title=စကားဝှက်ပျောက်ဆုံး
-startup.password_forgotten.text=Your Briar account is stored encrypted on your device, not in the cloud, so we can't reset your password. Would you like to delete your account and start again?\n\nCaution: Your identities, contacts and messages will be permanently lost.
-startup.failed.expired=This software has expired. Thank you for testing!\n\nTo continue using Briar, please download the latest release. You will be able to continue using your account.
-startup.failed.registration=Briar was unable to create your account.\n\nPlease upgrade to the latest version and try again.
-startup.failed.clock_error=Briar was unable to start because your device's clock is wrong.\n\nPlease set your device's clock to the right time and try again.
-startup.failed.db_error=Briar was unable to open the database containing your account, your contacts and your messages.\n\nPlease check if Briar is already running on this device. Otherwise, upgrade to the latest version of the app and try again, or set up a new account by choosing 'I have forgotten my password' at the password prompt.
-startup.failed.data_too_old_error=Your account was created with an old version of this app and cannot be opened with this version.\n\nYou must either reinstall the old version or set up a new account by choosing 'I have forgotten my password' at the password prompt.
-startup.failed.data_too_new_error=Your account was created with a newer version of this app and cannot be opened with this version.\n\nPlease upgrade to the latest version and try again.
-startup.failed.service_error=Briar was unable to start a required component.\n\nPlease upgrade to the latest version of the app and try again.
-startup.database.creating=Creating Account...
-startup.database.opening=Decrypting Database...
-startup.database.migrating=Upgrading Database...
-startup.database.compacting=Compacting Database...
-expiration.banner.part1.zero=This is a test version of Briar that will expire today.
-expiration.banner.part1.nozero={0, plural, other {This is a test version of Briar that will expire in {0} days.}}
-expiration.banner.part2=Please update to a newer version in time.
-
-# Settings
-settings.title=ဆက်တင်များ
-
-# Settings General
-settings.general.title=ယေဘုယျ
-
-# Settings Display
-settings.display.title=ရုပ်ထင်မှန်သား
-settings.display.theme=Dark Theme
-
-# Settings Connections
-settings.connections.title=ချိတ်ဆက်မှုများ
-
-# Settings Security
-settings.security.title=လုံခြုံရေး
-
-# Settings Notifications
-settings.notifications.title=အသိပေးချက်များ
-
-# Settings Actions
-settings.actions.title=လုပ်ဆောင်မှုများ
diff --git a/src/main/resources/strings/BriarDesktop_nl.properties b/src/main/resources/strings/BriarDesktop_nl.properties
deleted file mode 100644
index 3f39782d0f13326f647206285fbc5f41247f7479..0000000000000000000000000000000000000000
--- a/src/main/resources/strings/BriarDesktop_nl.properties
+++ /dev/null
@@ -1,59 +0,0 @@
-# Accessibility
-access.attachment=Voeg bijlage toe
-access.contacts.add=Contact toevoegen
-access.contact.menu=Show contact menu
-access.contacts.dropdown.connections.expand=Expand connections menu
-access.contacts.dropdown.contacts.expand=Expand contacts menu
-access.contacts.search=Icon search contacts
-access.introduction.back.contact=Go back to contact screen of introduction process
-access.introduction.close=Close introduction screen
-access.message.send=Verstuur bericht
-access.message.sent=Bericht is verstuurd
-access.logo=Briar logo
-access.swap=Icon showing errors between two contacts
-
-# Contacts
-contacts.card.nothing=Geen berichten.
-contacts.dropdown.connections=Verbindingen
-contacts.dropdown.connections.title=Verbindingen
-contacts.dropdown.connections.bluetooth=Verbind via Bluetooth
-contacts.dropdown.connections.removable=Connect via Removable Drive
-contacts.dropdown.contact=Contact
-contacts.dropdown.contact.title=Contact
-contacts.dropdown.contact.change=Verander naam van contact
-contacts.dropdown.contact.delete=Contact verwijderen
-contacts.dropdown.delete.all=Verwijder alle berichten
-contacts.dropdown.disappearing=Disappearing messages
-contacts.dropdown.introduction=Introduceer
-contacts.search.title=Contacten
-
-# Conversation
-conversation.message.new=Nieuw bericht
-
-# Introduction
-introduction.introduce=Introduceer
-introduction.message=Voeg een bericht toe (optioneel)
-introduction.title_first=Introduce {0} to
-introduction.title_second=Intoduceer contacten
-
-# Login screen
-login.login=Login
-
-# Main
-main.title=Briar Desktop
-main.help.title=Briar Desktop Client
-main.help.debug=Enable printing of debug messages
-main.help.verbose=Print verbose log messages
-main.help.data=The directory where Briar will store its files. Default: {0}
-main.help.tor.port.socks=Tor Socks Port
-main.help.tor.port.control=Tor Control Port
-
-# Miscellaneous
-password=Wachtwoord
-
-# Registration screen
-registration.username=Gebruikersnaam
-registration.register=Account maken
-
-# Settings
-settings.theme=Change Theme
diff --git a/src/main/resources/strings/BriarDesktop_pl.properties b/src/main/resources/strings/BriarDesktop_pl.properties
index 466fbc1c2b19469fe9411055e4934e72b1134913..5d290bac2c0cee1cfd946250e270a6a25475f431 100644
--- a/src/main/resources/strings/BriarDesktop_pl.properties
+++ b/src/main/resources/strings/BriarDesktop_pl.properties
@@ -69,6 +69,16 @@ introduction.response.declined.auto=Przedstawienie kontaktowi {0} zostało autom
 introduction.response.accepted.received={0} zaakceptował przedstawienie {1}.
 introduction.response.declined.received={0} odrzucił przedstawienie {1}.
 introduction.response.declined.received_by_introducee={0} informuje, że {1} odrzucił przedstawienie
+introduction.error.own_link=Please enter contact's link, not your own
+introduction.error.remote_invalid=Remote handshake link is invalid
+introduction.error.alias_invalid=Alias is invalid
+introduction.error.link_invalid=Link is invalid: {0}
+introduction.error.public_key_invalid=Public key is invalid: {0}
+introduction.error.adding_failed=Adding contact failed
+introduction.error.contact_already_exists=You already have a contact with this link: {0}
+introduction.error.pending_contact_already_exists=You already have a pending contact with this link: {0}
+introduction.error.duplicate_contact_explainer=Be careful if {0} is not the same person as {1}.\n\nOne of them may be trying to discover who your contacts are.\n\nDon't tell them you received the same link from someone else.
+
 
 # Private Group Sharing
 group.invitation.received={0} zaprosił Cię do dołączenia do grupy "{1}".
diff --git a/src/main/resources/strings/BriarDesktop_pt_BR.properties b/src/main/resources/strings/BriarDesktop_pt_BR.properties
deleted file mode 100644
index f0792f41f908f39f5686b58b8a57f485437c9ded..0000000000000000000000000000000000000000
--- a/src/main/resources/strings/BriarDesktop_pt_BR.properties
+++ /dev/null
@@ -1,59 +0,0 @@
-# Accessibility
-access.attachment=Adicionar anexo
-access.contacts.add=Adicionar contato
-access.contact.menu=Show contact menu
-access.contacts.dropdown.connections.expand=Expand connections menu
-access.contacts.dropdown.contacts.expand=Expand contacts menu
-access.contacts.search=Icon search contacts
-access.introduction.back.contact=Go back to contact screen of introduction process
-access.introduction.close=Close introduction screen
-access.message.send=Enviar mensagem
-access.message.sent=Mensagem enviada
-access.logo=Briar logo
-access.swap=Icon showing errors between two contacts
-
-# Contacts
-contacts.card.nothing=Sem Mensagens
-contacts.dropdown.connections=Conexões
-contacts.dropdown.connections.title=Conexões
-contacts.dropdown.connections.bluetooth=Conectar via Bluetooth
-contacts.dropdown.connections.removable=Connect via Removable Drive
-contacts.dropdown.contact=Contato
-contacts.dropdown.contact.title=Contato
-contacts.dropdown.contact.change=Alterar nome do contato
-contacts.dropdown.contact.delete=Apagar contato
-contacts.dropdown.delete.all=Deletar todas as mensagens
-contacts.dropdown.disappearing=Disappearing messages
-contacts.dropdown.introduction=Fazer apresentação
-contacts.search.title=Contatos
-
-# Conversation
-conversation.message.new=Nova mensagem
-
-# Introduction
-introduction.introduce=Fazer apresentação
-introduction.message=Adicionar uma mensagem (opcional)
-introduction.title_first=Introduce {0} to
-introduction.title_second=Apresentar contatos
-
-# Login screen
-login.login=Entrar
-
-# Main
-main.title=Briar Desktop
-main.help.title=Briar Desktop Client
-main.help.debug=Enable printing of debug messages
-main.help.verbose=Print verbose log messages
-main.help.data=The directory where Briar will store its files. Default: {0}
-main.help.tor.port.socks=Tor Socks Port
-main.help.tor.port.control=Tor Control Port
-
-# Miscellaneous
-password=Senha
-
-# Registration screen
-registration.username=Usuário
-registration.register=Criar Conta
-
-# Settings
-settings.theme=Change Theme
diff --git a/src/main/resources/strings/BriarDesktop_ro.properties b/src/main/resources/strings/BriarDesktop_ro.properties
index 73b09a11dba424358fd21e52e2e313e6cb4c5189..813999a22739ab0951eb610b673a4ba3039fd15c 100644
--- a/src/main/resources/strings/BriarDesktop_ro.properties
+++ b/src/main/resources/strings/BriarDesktop_ro.properties
@@ -69,6 +69,16 @@ introduction.response.declined.auto=Introducerea la {0} a fost refuzată în mod
 introduction.response.accepted.received={0} a acceptat introducerea lui {1}.
 introduction.response.declined.received={0} a refuzat introducerea în {1}.
 introduction.response.declined.received_by_introducee={0} spune că {1} a refuzat introducerea.
+introduction.error.own_link=Please enter contact's link, not your own
+introduction.error.remote_invalid=Remote handshake link is invalid
+introduction.error.alias_invalid=Alias is invalid
+introduction.error.link_invalid=Link is invalid: {0}
+introduction.error.public_key_invalid=Public key is invalid: {0}
+introduction.error.adding_failed=Adding contact failed
+introduction.error.contact_already_exists=You already have a contact with this link: {0}
+introduction.error.pending_contact_already_exists=You already have a pending contact with this link: {0}
+introduction.error.duplicate_contact_explainer=Be careful if {0} is not the same person as {1}.\n\nOne of them may be trying to discover who your contacts are.\n\nDon't tell them you received the same link from someone else.
+
 
 # Private Group Sharing
 group.invitation.received={0} te-a invitat să te alături grupului "{1}".
diff --git a/src/main/resources/strings/BriarDesktop_ru.properties b/src/main/resources/strings/BriarDesktop_ru.properties
index f86af18c535e0d570b1235cb3f1dc0379cfa5395..335f7535c5a0f2f64168c432e8ee75e988ab9bfb 100644
--- a/src/main/resources/strings/BriarDesktop_ru.properties
+++ b/src/main/resources/strings/BriarDesktop_ru.properties
@@ -69,6 +69,16 @@ introduction.response.declined.auto=The introduction to {0} was automatically de
 introduction.response.accepted.received={0} accepted the introduction to {1}.
 introduction.response.declined.received={0} declined the introduction to {1}.
 introduction.response.declined.received_by_introducee={0} says that {1} declined the introduction.
+introduction.error.own_link=Please enter contact's link, not your own
+introduction.error.remote_invalid=Remote handshake link is invalid
+introduction.error.alias_invalid=Alias is invalid
+introduction.error.link_invalid=Link is invalid: {0}
+introduction.error.public_key_invalid=Public key is invalid: {0}
+introduction.error.adding_failed=Adding contact failed
+introduction.error.contact_already_exists=You already have a contact with this link: {0}
+introduction.error.pending_contact_already_exists=You already have a pending contact with this link: {0}
+introduction.error.duplicate_contact_explainer=Be careful if {0} is not the same person as {1}.\n\nOne of them may be trying to discover who your contacts are.\n\nDon't tell them you received the same link from someone else.
+
 
 # Private Group Sharing
 group.invitation.received={0} has invited you to join the group "{1}".
diff --git a/src/main/resources/strings/BriarDesktop_sk.properties b/src/main/resources/strings/BriarDesktop_sk.properties
index 5246833948bba44c66d8b4c56ee630b6fb342950..0d374e998ab116c3c7a0193d31e8da35a10fdbeb 100644
--- a/src/main/resources/strings/BriarDesktop_sk.properties
+++ b/src/main/resources/strings/BriarDesktop_sk.properties
@@ -69,6 +69,16 @@ introduction.response.declined.auto=Zoznámenie s {0} bolo automaticky odmietnut
 introduction.response.accepted.received={0} prijal zoznámenie s {1}.
 introduction.response.declined.received={0} odmietol zoznámenie s {1}.
 introduction.response.declined.received_by_introducee={0} hovorí, že {1} odmietol zoznámenie.
+introduction.error.own_link=Please enter contact's link, not your own
+introduction.error.remote_invalid=Remote handshake link is invalid
+introduction.error.alias_invalid=Alias is invalid
+introduction.error.link_invalid=Link is invalid: {0}
+introduction.error.public_key_invalid=Public key is invalid: {0}
+introduction.error.adding_failed=Adding contact failed
+introduction.error.contact_already_exists=You already have a contact with this link: {0}
+introduction.error.pending_contact_already_exists=You already have a pending contact with this link: {0}
+introduction.error.duplicate_contact_explainer=Be careful if {0} is not the same person as {1}.\n\nOne of them may be trying to discover who your contacts are.\n\nDon't tell them you received the same link from someone else.
+
 
 # Private Group Sharing
 group.invitation.received={0} vás pozval do skupiny "{1}".
diff --git a/src/main/resources/strings/BriarDesktop_sq.properties b/src/main/resources/strings/BriarDesktop_sq.properties
index c22276a6d827d42c4e48f5df116b6d162a0ddd29..11cd92115214f60ef594c310350724492d45d378 100644
--- a/src/main/resources/strings/BriarDesktop_sq.properties
+++ b/src/main/resources/strings/BriarDesktop_sq.properties
@@ -69,6 +69,16 @@ introduction.response.declined.auto=Prezantimi te {0} u hodh poshtë automatikis
 introduction.response.accepted.received={0} pranoi prezantimin te {1}.
 introduction.response.declined.received={0} hodhi poshtë prezantimin te {1}.
 introduction.response.declined.received_by_introducee={0} thotë se {1} hodhi poshtë prezantimin.
+introduction.error.own_link=Ju lutemi, jepni lidhjen e kontaktit, jo tuajën
+introduction.error.remote_invalid=Lidhja për duarshtrëngim së largëti është e pavlefshme
+introduction.error.alias_invalid=Aliasi është i pavlefshëm
+introduction.error.link_invalid=Lidhja është e pavlefshme: {0}
+introduction.error.public_key_invalid=Kyçi publik është i pavlefshëm: {0}
+introduction.error.adding_failed=Shtimi i kontaktit dështoi
+introduction.error.contact_already_exists=Keni tashmë një kontakt me këtë lidhje: {0}
+introduction.error.pending_contact_already_exists=Keni tashmë një kontakt pezull me këtë lidhje: {0}
+introduction.error.duplicate_contact_explainer=Jini i kujdesshëm, nëse {0} s’është i njëjti person me {1}.\n\nNjë prej tyre mund të jetë duke u rrekur të zbulojë cilët janë kontaktet tuaj.\n\nMos u thoni që morët të njëjtën lidhje nga dikush tjetër.
+
 
 # Private Group Sharing
 group.invitation.received={0} ju ka ftuar të bëheni pjesë e grupit “{1}”.
diff --git a/src/main/resources/strings/BriarDesktop_sv.properties b/src/main/resources/strings/BriarDesktop_sv.properties
index 1e02644bd038db46aa76e7abacf5c42ebb6bcb4b..5d5bcdded4ea4dd3c19c03b542548427dff7e238 100644
--- a/src/main/resources/strings/BriarDesktop_sv.properties
+++ b/src/main/resources/strings/BriarDesktop_sv.properties
@@ -69,6 +69,16 @@ introduction.response.declined.auto=Introduktionen av {0} avböjdes automatiskt.
 introduction.response.accepted.received={0} accepterade introduktionen av {1}.
 introduction.response.declined.received={0} avböjde introduktionen av {1}.
 introduction.response.declined.received_by_introducee={0} säger att {1} avböjde introduktionen.
+introduction.error.own_link=Please enter contact's link, not your own
+introduction.error.remote_invalid=Remote handshake link is invalid
+introduction.error.alias_invalid=Alias is invalid
+introduction.error.link_invalid=Link is invalid: {0}
+introduction.error.public_key_invalid=Public key is invalid: {0}
+introduction.error.adding_failed=Adding contact failed
+introduction.error.contact_already_exists=You already have a contact with this link: {0}
+introduction.error.pending_contact_already_exists=You already have a pending contact with this link: {0}
+introduction.error.duplicate_contact_explainer=Be careful if {0} is not the same person as {1}.\n\nOne of them may be trying to discover who your contacts are.\n\nDon't tell them you received the same link from someone else.
+
 
 # Private Group Sharing
 group.invitation.received={0} har bjudit in dig att gå med i gruppen ”{1}".
diff --git a/src/main/resources/strings/BriarDesktop_tr.properties b/src/main/resources/strings/BriarDesktop_tr.properties
index d66fad12424e543ac7dd4b58d8596e76df430485..21c6b9764e46c7e2ffd32c6c8c0d8e48d65bd04c 100644
--- a/src/main/resources/strings/BriarDesktop_tr.properties
+++ b/src/main/resources/strings/BriarDesktop_tr.properties
@@ -69,6 +69,16 @@ introduction.response.declined.auto=The introduction to {0} was automatically de
 introduction.response.accepted.received={0} accepted the introduction to {1}.
 introduction.response.declined.received={0} declined the introduction to {1}.
 introduction.response.declined.received_by_introducee={0} says that {1} declined the introduction.
+introduction.error.own_link=Please enter contact's link, not your own
+introduction.error.remote_invalid=Remote handshake link is invalid
+introduction.error.alias_invalid=Alias is invalid
+introduction.error.link_invalid=Link is invalid: {0}
+introduction.error.public_key_invalid=Public key is invalid: {0}
+introduction.error.adding_failed=Adding contact failed
+introduction.error.contact_already_exists=You already have a contact with this link: {0}
+introduction.error.pending_contact_already_exists=You already have a pending contact with this link: {0}
+introduction.error.duplicate_contact_explainer=Be careful if {0} is not the same person as {1}.\n\nOne of them may be trying to discover who your contacts are.\n\nDon't tell them you received the same link from someone else.
+
 
 # Private Group Sharing
 group.invitation.received={0} has invited you to join the group "{1}".
diff --git a/src/main/resources/strings/BriarDesktop_zh_CN.properties b/src/main/resources/strings/BriarDesktop_zh_CN.properties
index 4e891142c5e4d03dc64ecbde184c5a988a6585b4..a1cff60baefde94596839ed3d0053a88bb91506f 100644
--- a/src/main/resources/strings/BriarDesktop_zh_CN.properties
+++ b/src/main/resources/strings/BriarDesktop_zh_CN.properties
@@ -13,7 +13,7 @@ access.message.send=发送消息
 access.message.sent=消息已发送
 access.logo=Briar 徽标
 access.swap=显示两个联系人之间错误的图标
-access.about_briar_desktop=About Briar Desktop
+access.about_briar_desktop=关于 Briar Desktop
 
 # Contacts
 contacts.none_selected.title=没有联系人被选中
@@ -69,6 +69,16 @@ introduction.response.declined.auto=向 {0} 的介绍被自动拒绝了
 introduction.response.accepted.received={0} 已接受和 {1} 建立联系
 introduction.response.declined.received={0} 已拒绝和 {1} 建立联系
 introduction.response.declined.received_by_introducee={0} 表示 {1} 谢绝了介绍
+introduction.error.own_link=输入联系人的链接,不要输入自己的
+introduction.error.remote_invalid=远程握手链接无效
+introduction.error.alias_invalid=别名无效
+introduction.error.link_invalid=链接无效:{0}
+introduction.error.public_key_invalid=公钥无效:{0}
+introduction.error.adding_failed=添加联系人失败
+introduction.error.contact_already_exists=您已经有此链接的联系人:{0}
+introduction.error.pending_contact_already_exists=您已经有此链接的待处理联系人:{0}
+introduction.error.duplicate_contact_explainer=如 {0} 和 {1} 不是同一人请小心。\n\n其中的一个可能在试图找出谁是你的联系人。\n\n不要告诉他们你从别人那里收到了相同的链接。
+
 
 # Private Group Sharing
 group.invitation.received={0} 已邀请你加入群组 ”{1}”
@@ -112,11 +122,11 @@ welcome.title=欢迎来到 Briar
 welcome.text=您还没有任何联系人!点击 ”+“ 图标添加一个。
 
 # About
-about.copyright=Copyright
-about.license=License
-about.version=Version
+about.copyright=版权
+about.license=许可证
+about.version=版本
 about.contact=联系人
-about.website=Website
+about.website=网站
 
 # Miscellaneous
 cancel=取消
@@ -129,7 +139,7 @@ next=下一步
 open=打开
 sorry=抱歉
 error=错误
-warning=Warning
+warning=警告
 unsupported_feature=很不幸,Briar 桌面版尚不支持此功能
 
 # Startup screen
@@ -151,7 +161,7 @@ startup.error.decryption.text=Briar 无法检查您的密码。请尝试重新
 startup.password_forgotten.button=我忘记了密码
 startup.password_forgotten.title=密码遗失
 startup.password_forgotten.text=你的 Briar 账户被加密存储在你的设备上,而不是在云端,所以我们不能重置你的密码。你确实要删除帐户并重新开始吗?\n\n注意:你的身份、联系人和信息将永久丢失。
-startup.failed.expired=This software has expired. Thank you for testing!\n\nTo continue using Briar, please download the latest release. You will be able to continue using your account.
+startup.failed.expired=此软件已过期。感谢测试。\n\n要继续使用 Briar,请下载最新版本。您将能够继续使用您的帐户。
 startup.failed.registration=Briar 无法创建你的账户。\n\n请升级到最新版并重试。
 startup.failed.clock_error=Briar 无法启动,因为你设备的时钟不正确。\n\n请将设备的时钟设置为正确的时间,然后再试一次。
 startup.failed.db_error=Briar 无法打开包含你的账户、联系人和信息的数据库。\n\n请检查 Briar 是否已经在这个设备上运行。否则,请升级到应用程序的最新版本并再次尝试,或者在密码提示时选择“我忘记了密码”来设置一个新账户。
@@ -162,9 +172,9 @@ startup.database.creating=创建账户...
 startup.database.opening=正在解密数据库…
 startup.database.migrating=正在升级数据库…
 startup.database.compacting=正在压缩数据库…
-expiration.banner.part1.zero=This is a test version of Briar that will expire today.
-expiration.banner.part1.nozero={0, plural, other {This is a test version of Briar that will expire in {0} days.}}
-expiration.banner.part2=Please update to a newer version in time.
+expiration.banner.part1.zero=这是 Briar 的测试版,将于今天过期。
+expiration.banner.part1.nozero={0, plural, other {这是 Briar 的测试版,将于 {0} 天内过期}}
+expiration.banner.part2=请及时更新到新版本。
 
 # Settings
 settings.title=设置