From 24cdcdd7c5ebf0ef02f43cf29ee6e9b6fa4c7d16 Mon Sep 17 00:00:00 2001
From: Jenkins <jenkins@ring-packaging.cx>
Date: Mon, 17 Sep 2018 16:17:53 -0400
Subject: [PATCH] i18n: automatic bump

Change-Id: Ia46865c37e7a8b13c861cc55b4d345ceac0f4f62
---
 translations/lrc_ar.ts    | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_bg.ts    | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_ca.ts    | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_cs_CZ.ts | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_da_DK.ts | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_de.ts    | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_de_DE.ts | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_el.ts    | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_en.ts    | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_en_GB.ts | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_eo.ts    | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_es.ts    | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_es_AR.ts | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_et_EE.ts | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_eu.ts    | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_fa_IR.ts | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_fi.ts    | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_fr.ts    | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_fr_CA.ts | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_fr_CH.ts | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_fr_FR.ts | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_he.ts    | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_hi_IN.ts | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_hr.ts    | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_hu.ts    | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_id.ts    | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_it.ts    | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_it_IT.ts | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_ja.ts    | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_ko_KR.ts | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_lt.ts    | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_ms.ts    | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_nb.ts    | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_nl.ts    | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_nl_BE.ts | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_nl_NL.ts | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_pa.ts    | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_pl.ts    | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_pt.ts    | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_pt_BR.ts | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_ro.ts    | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_ru.ts    | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_ru_RU.ts | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_sk_SK.ts | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_sl.ts    | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_sq_AL.ts | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_sv.ts    | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_tr.ts    | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_uk.ts    | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_zh.ts    | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_zh_CN.ts | 55 ++++++++++++++++++++++++++++++---------
 translations/lrc_zh_TW.ts | 55 ++++++++++++++++++++++++++++++---------
 52 files changed, 2236 insertions(+), 624 deletions(-)

diff --git a/translations/lrc_ar.ts b/translations/lrc_ar.ts
index 7a2b6db8..fe2c9af9 100644
--- a/translations/lrc_ar.ts
+++ b/translations/lrc_ar.ts
@@ -1381,50 +1381,50 @@
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation type="unfinished"/>
     </message>
@@ -1484,6 +1484,37 @@
         <translation>ملف</translation>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_bg.ts b/translations/lrc_bg.ts
index ea123a13..b396b55c 100644
--- a/translations/lrc_bg.ts
+++ b/translations/lrc_bg.ts
@@ -1381,50 +1381,50 @@
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation type="unfinished"/>
     </message>
@@ -1484,6 +1484,37 @@
         <translation>ФАЙЛ</translation>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_ca.ts b/translations/lrc_ca.ts
index fdf7e774..124a5129 100644
--- a/translations/lrc_ca.ts
+++ b/translations/lrc_ca.ts
@@ -1381,50 +1381,50 @@
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation type="unfinished"/>
     </message>
@@ -1484,6 +1484,37 @@
         <translation type="unfinished"/>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_cs_CZ.ts b/translations/lrc_cs_CZ.ts
index 4aee5859..da9ce4ff 100644
--- a/translations/lrc_cs_CZ.ts
+++ b/translations/lrc_cs_CZ.ts
@@ -1381,50 +1381,50 @@
         <translation>Sbírka profilů peerů</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation type="unfinished"/>
     </message>
@@ -1484,6 +1484,37 @@
         <translation>SOUBOR</translation>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_da_DK.ts b/translations/lrc_da_DK.ts
index 03b8b7c9..c5d37844 100644
--- a/translations/lrc_da_DK.ts
+++ b/translations/lrc_da_DK.ts
@@ -1381,50 +1381,50 @@
         <translation>Partners Profil-samling</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation>Invitation modtaget</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation>Kontakt tilføjet</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation>Invitation accepteret</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation>📞 Udgående opkald</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation>📞 Indgående opkald</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation>📞 Udgående opkald - </translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation>📞 Indgående opkald - </translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation>🕽 Mistede udgående opkald</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation>🕽 Misteede indgående opkald</translation>
     </message>
@@ -1484,6 +1484,37 @@
         <translation>FILE</translation>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_de.ts b/translations/lrc_de.ts
index d99dcdb8..686ec9b2 100644
--- a/translations/lrc_de.ts
+++ b/translations/lrc_de.ts
@@ -1381,50 +1381,50 @@
         <translation>Sammlung der Teilnehmerprofile</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation>Einladung erhalten</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation>Kontakt hinzugefügt</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation>Einladung angenommen</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation>📞 Ausgehender Anruf</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation>📞 Eingehender Anruf</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation>📞 Ausgehender Anruf - </translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation>📞 Eingehender Anruf - </translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation>🕽 Verpasster ausgehender Anruf</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation>🕽 Verpasster eingehender Anruf</translation>
     </message>
@@ -1484,6 +1484,37 @@
         <translation>DATEI</translation>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_de_DE.ts b/translations/lrc_de_DE.ts
index 38e64283..91472077 100644
--- a/translations/lrc_de_DE.ts
+++ b/translations/lrc_de_DE.ts
@@ -1381,50 +1381,50 @@
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation type="unfinished"/>
     </message>
@@ -1484,6 +1484,37 @@
         <translation>DATEI</translation>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_el.ts b/translations/lrc_el.ts
index 5fabc1e9..2ca4498a 100644
--- a/translations/lrc_el.ts
+++ b/translations/lrc_el.ts
@@ -1381,50 +1381,50 @@
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation type="unfinished"/>
     </message>
@@ -1484,6 +1484,37 @@
         <translation type="unfinished"/>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_en.ts b/translations/lrc_en.ts
index 804e7635..12899ae2 100644
--- a/translations/lrc_en.ts
+++ b/translations/lrc_en.ts
@@ -1383,50 +1383,50 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1486,6 +1486,37 @@
         <translation type="unfinished"></translation>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_en_GB.ts b/translations/lrc_en_GB.ts
index 37d06858..ef7b3831 100644
--- a/translations/lrc_en_GB.ts
+++ b/translations/lrc_en_GB.ts
@@ -1381,50 +1381,50 @@
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation type="unfinished"/>
     </message>
@@ -1484,6 +1484,37 @@
         <translation type="unfinished"/>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_eo.ts b/translations/lrc_eo.ts
index c69a5d48..132b22e4 100644
--- a/translations/lrc_eo.ts
+++ b/translations/lrc_eo.ts
@@ -1381,50 +1381,50 @@
         <translation>Kolekto de Samtavolanaj Profiloj</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation type="unfinished"/>
     </message>
@@ -1484,6 +1484,37 @@
         <translation>DOSIERO</translation>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_es.ts b/translations/lrc_es.ts
index ebc9b943..3fa00b28 100644
--- a/translations/lrc_es.ts
+++ b/translations/lrc_es.ts
@@ -1381,50 +1381,50 @@
         <translation>Colección de perfiles de pares</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation>Invitación recibida</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation>Contacto añadido</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation>Invitación aceptada</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation>📞 Llamada saliente</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation>📞 Llamada entrante</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation>📞 Llamada saliente - </translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation>📞 Llamada entrante - </translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation>🕽 Llamada saliente perdida</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation>🕽 Llamada entrante perdida</translation>
     </message>
@@ -1484,6 +1484,37 @@
         <translation>ARCHIVO</translation>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_es_AR.ts b/translations/lrc_es_AR.ts
index f02eb169..155d2f31 100644
--- a/translations/lrc_es_AR.ts
+++ b/translations/lrc_es_AR.ts
@@ -1381,50 +1381,50 @@
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation>Invitación recibida</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation>Contacto añadido</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation>Invitación aceptada</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation type="unfinished"/>
     </message>
@@ -1484,6 +1484,37 @@
         <translation type="unfinished"/>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_et_EE.ts b/translations/lrc_et_EE.ts
index b25adc53..8676bad9 100644
--- a/translations/lrc_et_EE.ts
+++ b/translations/lrc_et_EE.ts
@@ -1381,50 +1381,50 @@
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation type="unfinished"/>
     </message>
@@ -1484,6 +1484,37 @@
         <translation type="unfinished"/>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_eu.ts b/translations/lrc_eu.ts
index a8a03237..f69dc94b 100644
--- a/translations/lrc_eu.ts
+++ b/translations/lrc_eu.ts
@@ -1381,50 +1381,50 @@
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation type="unfinished"/>
     </message>
@@ -1484,6 +1484,37 @@
         <translation type="unfinished"/>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_fa_IR.ts b/translations/lrc_fa_IR.ts
index 005f9f0d..eec95fbc 100644
--- a/translations/lrc_fa_IR.ts
+++ b/translations/lrc_fa_IR.ts
@@ -1381,50 +1381,50 @@
         <translation>مجموعه پروفیل های همکار</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation>دعوت نامه دریافت شد</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation>مخاطب افزوده شد</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation>دعوت پذیرفته شد</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation>📞 تماس خروجی</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation>📞 تماس ورودی</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation>📞 تماس خروجی -</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation>📞 تماس ورودی -</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation>🕽  تماس تلفنی رد شد</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation>🕽 تماس تلفنی رد شد</translation>
     </message>
@@ -1484,6 +1484,37 @@
         <translation>فایل</translation>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_fi.ts b/translations/lrc_fi.ts
index 5a329268..1699fc39 100644
--- a/translations/lrc_fi.ts
+++ b/translations/lrc_fi.ts
@@ -1382,50 +1382,50 @@ Virhe</translation>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation type="unfinished"/>
     </message>
@@ -1485,6 +1485,37 @@ Virhe</translation>
         <translation>TIEDOSTO</translation>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_fr.ts b/translations/lrc_fr.ts
index 93c50f42..d83153d0 100644
--- a/translations/lrc_fr.ts
+++ b/translations/lrc_fr.ts
@@ -1381,50 +1381,50 @@
         <translation>Liste des profils paires</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation>Invitation reçue</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation>Contact ajouté</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation>Invitation acceptée</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation>ð Appel sortant</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation>ð Appel entrant</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation>ð Appel sortant -</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation>ð Appel entrant -</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation>🕽 Appel sortant raté</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation>🕽 Appels entrants ratés</translation>
     </message>
@@ -1484,6 +1484,37 @@
         <translation>FICHIER</translation>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_fr_CA.ts b/translations/lrc_fr_CA.ts
index c661f3c6..99625c00 100644
--- a/translations/lrc_fr_CA.ts
+++ b/translations/lrc_fr_CA.ts
@@ -1381,50 +1381,50 @@
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation type="unfinished"/>
     </message>
@@ -1484,6 +1484,37 @@
         <translation type="unfinished"/>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_fr_CH.ts b/translations/lrc_fr_CH.ts
index 7d297027..c24e2bb3 100644
--- a/translations/lrc_fr_CH.ts
+++ b/translations/lrc_fr_CH.ts
@@ -1381,50 +1381,50 @@
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation type="unfinished"/>
     </message>
@@ -1484,6 +1484,37 @@
         <translation type="unfinished"/>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_fr_FR.ts b/translations/lrc_fr_FR.ts
index 96fd1692..17f7783f 100644
--- a/translations/lrc_fr_FR.ts
+++ b/translations/lrc_fr_FR.ts
@@ -1381,50 +1381,50 @@
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation type="unfinished"/>
     </message>
@@ -1484,6 +1484,37 @@
         <translation type="unfinished"/>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_he.ts b/translations/lrc_he.ts
index 010879f4..ebd2fd53 100644
--- a/translations/lrc_he.ts
+++ b/translations/lrc_he.ts
@@ -1381,50 +1381,50 @@
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation type="unfinished"/>
     </message>
@@ -1484,6 +1484,37 @@
         <translation type="unfinished"/>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_hi_IN.ts b/translations/lrc_hi_IN.ts
index f789cdb7..31f02128 100644
--- a/translations/lrc_hi_IN.ts
+++ b/translations/lrc_hi_IN.ts
@@ -1381,50 +1381,50 @@
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation type="unfinished"/>
     </message>
@@ -1484,6 +1484,37 @@
         <translation type="unfinished"/>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_hr.ts b/translations/lrc_hr.ts
index 65df02b0..4c98d1a2 100644
--- a/translations/lrc_hr.ts
+++ b/translations/lrc_hr.ts
@@ -1381,50 +1381,50 @@
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation type="unfinished"/>
     </message>
@@ -1484,6 +1484,37 @@
         <translation>DATOTEKA</translation>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_hu.ts b/translations/lrc_hu.ts
index 583213cf..13eff57e 100644
--- a/translations/lrc_hu.ts
+++ b/translations/lrc_hu.ts
@@ -1381,50 +1381,50 @@
         <translation>Peer profilgyűjtemény</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation>Meghívó érkezett</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation>Kapcsolat hozzáadva</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation>Meghívó elfogadva</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation>📞 Kimenő hívás</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation>ð Bejövő hívás</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation>📞 Kimenő hívás - </translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation>ð Bejövő hívás - </translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation>🕽 Nem fogadott kimenő hívás</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation>🕽 Nem fogadott bejövő hívás</translation>
     </message>
@@ -1484,6 +1484,37 @@
         <translation>FÁJL</translation>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_id.ts b/translations/lrc_id.ts
index 1e28b912..7cbbc16e 100644
--- a/translations/lrc_id.ts
+++ b/translations/lrc_id.ts
@@ -1381,50 +1381,50 @@
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation type="unfinished"/>
     </message>
@@ -1484,6 +1484,37 @@
         <translation type="unfinished"/>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_it.ts b/translations/lrc_it.ts
index a2d95cad..8158640c 100644
--- a/translations/lrc_it.ts
+++ b/translations/lrc_it.ts
@@ -1381,50 +1381,50 @@
         <translation>Elenco dei profili peer</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation type="unfinished"/>
     </message>
@@ -1484,6 +1484,37 @@
         <translation>FILE</translation>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_it_IT.ts b/translations/lrc_it_IT.ts
index ccd0724c..66b427fc 100644
--- a/translations/lrc_it_IT.ts
+++ b/translations/lrc_it_IT.ts
@@ -1381,50 +1381,50 @@
         <translation>Collezione profili dei peer</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation type="unfinished"/>
     </message>
@@ -1484,6 +1484,37 @@
         <translation>FILE</translation>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_ja.ts b/translations/lrc_ja.ts
index 10bd6fc6..df33a192 100644
--- a/translations/lrc_ja.ts
+++ b/translations/lrc_ja.ts
@@ -1381,50 +1381,50 @@
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation type="unfinished"/>
     </message>
@@ -1484,6 +1484,37 @@
         <translation type="unfinished"/>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_ko_KR.ts b/translations/lrc_ko_KR.ts
index 6bdaab18..e875845e 100644
--- a/translations/lrc_ko_KR.ts
+++ b/translations/lrc_ko_KR.ts
@@ -1381,50 +1381,50 @@
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation type="unfinished"/>
     </message>
@@ -1484,6 +1484,37 @@
         <translation type="unfinished"/>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_lt.ts b/translations/lrc_lt.ts
index d7a0f768..a1e1566f 100644
--- a/translations/lrc_lt.ts
+++ b/translations/lrc_lt.ts
@@ -1381,50 +1381,50 @@
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation>Kontaktas pridėtas</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation>Pakvietimas priimtas</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation>📞 Išsiunčiamasis skambutis</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation>📞 Gaunamasis skambutis</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation>📞 Išsiunčiamasis skambutis - </translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation>📞 Gaunamasis skambutis - </translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation>🕽 Praleistas gaunamasis skambutis</translation>
     </message>
@@ -1484,6 +1484,37 @@
         <translation>FAILAS</translation>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_ms.ts b/translations/lrc_ms.ts
index f6a53213..c966deed 100644
--- a/translations/lrc_ms.ts
+++ b/translations/lrc_ms.ts
@@ -1382,50 +1382,50 @@
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation type="unfinished"/>
     </message>
@@ -1485,6 +1485,37 @@
         <translation>FAIL</translation>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_nb.ts b/translations/lrc_nb.ts
index 30fe326b..3d4ee632 100644
--- a/translations/lrc_nb.ts
+++ b/translations/lrc_nb.ts
@@ -1381,50 +1381,50 @@
         <translation>Samling av likemannsprofiler</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation>Invitasjon mottatt</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation>Kontakt lagt til</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation>Invitasjon godtatt</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation>📞 Utgående anrop</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation>📞 Innkommende anrop</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation>📞 Utgående anrop - </translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation>📞 Innkommende anrop - </translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation>🕽 Ubesvart utgående anrop</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation>🕽 Tapt innkommende anrop</translation>
     </message>
@@ -1484,6 +1484,37 @@
         <translation>FIL</translation>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_nl.ts b/translations/lrc_nl.ts
index fb4b5e2e..9171cfab 100644
--- a/translations/lrc_nl.ts
+++ b/translations/lrc_nl.ts
@@ -1381,50 +1381,50 @@
         <translation>Peerprofielverzameling</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation>Uitnodiging ontvangen</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation>Contact toegevoegd</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation>Uitnodiging aanvaard</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation>ð Uitgaande oproep</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation>ð Inkomende oproep</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation>ð Uitgaande oproep -</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation>ð Inkomende oproep -</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation>ð½ Gemiste uitgaande oproep</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation>ð½ Gemiste inkomende oproep</translation>
     </message>
@@ -1484,6 +1484,37 @@
         <translation>BESTAND</translation>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_nl_BE.ts b/translations/lrc_nl_BE.ts
index d491f379..45518d02 100644
--- a/translations/lrc_nl_BE.ts
+++ b/translations/lrc_nl_BE.ts
@@ -1381,50 +1381,50 @@
         <translation>Peerprofielverzameling</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation>Uitnodiging ontvangen</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation>Contact toegevoegd</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation>Uitnodiging aanvaard</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation>📞 Uitgaanden oproep</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation>📞 Inkomenden oproep</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation>📞 Uitgaanden oproep - </translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation>📞 Inkomenden oproep - </translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation>🕽 Gemisten uitgaanden oproep</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation>🕽 Gemisten inkomenden oproep</translation>
     </message>
@@ -1484,6 +1484,37 @@
         <translation>BESTAND</translation>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_nl_NL.ts b/translations/lrc_nl_NL.ts
index 4dfb714e..f749855d 100644
--- a/translations/lrc_nl_NL.ts
+++ b/translations/lrc_nl_NL.ts
@@ -1381,50 +1381,50 @@
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation type="unfinished"/>
     </message>
@@ -1484,6 +1484,37 @@
         <translation type="unfinished"/>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_pa.ts b/translations/lrc_pa.ts
index 69b6cbc6..7a92d57b 100644
--- a/translations/lrc_pa.ts
+++ b/translations/lrc_pa.ts
@@ -1381,50 +1381,50 @@
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation type="unfinished"/>
     </message>
@@ -1484,6 +1484,37 @@
         <translation type="unfinished"/>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_pl.ts b/translations/lrc_pl.ts
index 53280d37..f03062c0 100644
--- a/translations/lrc_pl.ts
+++ b/translations/lrc_pl.ts
@@ -1381,50 +1381,50 @@
         <translation>Kolekcja profil peer</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation>Otrzymano zaproszenie</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation>Kontakt dodany</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation>Zaakceptowano zaproszenie</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation>ð Połączenie wychodzące</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation>ð Połączenie przychodzące</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation>ð Połączenie wychodzące -</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation>ð Połączenie przychodzące -</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation>🕽 Nieodebrane połączenie wychodzące</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation>🕽 Nieodebrane połączenia przychodzące</translation>
     </message>
@@ -1484,6 +1484,37 @@
         <translation>PLIK</translation>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_pt.ts b/translations/lrc_pt.ts
index a5306b73..0ab46c95 100644
--- a/translations/lrc_pt.ts
+++ b/translations/lrc_pt.ts
@@ -1381,50 +1381,50 @@
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation type="unfinished"/>
     </message>
@@ -1484,6 +1484,37 @@
         <translation type="unfinished"/>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_pt_BR.ts b/translations/lrc_pt_BR.ts
index 71aa5a04..4376065c 100644
--- a/translations/lrc_pt_BR.ts
+++ b/translations/lrc_pt_BR.ts
@@ -1381,50 +1381,50 @@
         <translation>Coleção de Perfis de pares</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation>Convite recebido</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation>Contato adicionado</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation>Convite aceito</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation>📞 Chamada efetuada</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation>📞 Chamada recebida</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation>📞 Chamada efetuada - </translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation>📞 Chamada recebida - </translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation>🕽 Chamada efetuada não atendida</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation>🕽 Chamada recebida não atendida</translation>
     </message>
@@ -1484,6 +1484,37 @@
         <translation>ARQUIVO</translation>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_ro.ts b/translations/lrc_ro.ts
index 2a140f3e..f795d8b4 100644
--- a/translations/lrc_ro.ts
+++ b/translations/lrc_ro.ts
@@ -1381,50 +1381,50 @@
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation type="unfinished"/>
     </message>
@@ -1484,6 +1484,37 @@
         <translation type="unfinished"/>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_ru.ts b/translations/lrc_ru.ts
index 58125524..f1c35d37 100644
--- a/translations/lrc_ru.ts
+++ b/translations/lrc_ru.ts
@@ -1381,50 +1381,50 @@
         <translation>Коллекция профилей участников</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation>Получено приглашение</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation>Контакт добавлен</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation>Приглашение принято</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation>📞 Исходящий вызов</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation>📞 Входящий вызов</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation>📞 Исходящий вызов - </translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation>📞 Входящий вызов - </translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation>🕽 Непринятый исходящий вызов</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation>🕽 Пропущенный входящий вызов</translation>
     </message>
@@ -1484,6 +1484,37 @@
         <translation>ФАЙЛ</translation>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_ru_RU.ts b/translations/lrc_ru_RU.ts
index 3677bef6..b15479da 100644
--- a/translations/lrc_ru_RU.ts
+++ b/translations/lrc_ru_RU.ts
@@ -1381,50 +1381,50 @@
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation type="unfinished"/>
     </message>
@@ -1484,6 +1484,37 @@
         <translation>ФАЙЛ</translation>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_sk_SK.ts b/translations/lrc_sk_SK.ts
index 3fe553fe..7c477314 100644
--- a/translations/lrc_sk_SK.ts
+++ b/translations/lrc_sk_SK.ts
@@ -1381,50 +1381,50 @@
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation type="unfinished"/>
     </message>
@@ -1484,6 +1484,37 @@
         <translation type="unfinished"/>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_sl.ts b/translations/lrc_sl.ts
index 67e2e22a..11345f2d 100644
--- a/translations/lrc_sl.ts
+++ b/translations/lrc_sl.ts
@@ -1381,50 +1381,50 @@
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation type="unfinished"/>
     </message>
@@ -1484,6 +1484,37 @@
         <translation>DATOTEKA</translation>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_sq_AL.ts b/translations/lrc_sq_AL.ts
index a2591850..c6943d33 100644
--- a/translations/lrc_sq_AL.ts
+++ b/translations/lrc_sq_AL.ts
@@ -1381,50 +1381,50 @@
         <translation>Koleksion Profilesh Personash</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation>Ftesa u mor</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation>Kontakti u shtua</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation>Ftesa u pranua</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation>Thirrje ikëse ð</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation>Tirrje ardhëse ð</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation>Thirrje ikëse ð - </translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation>Tirrje ardhëse ð - </translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation>Thirrje ikëse të humbura 🕽</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation>Thirrje ardhëse të humbura 🕽</translation>
     </message>
@@ -1484,6 +1484,37 @@
         <translation>KARTELË</translation>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_sv.ts b/translations/lrc_sv.ts
index 8017f773..569f7d67 100644
--- a/translations/lrc_sv.ts
+++ b/translations/lrc_sv.ts
@@ -1381,50 +1381,50 @@
         <translation>Deltagarprofilsamling</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation>Inbjudan mottagen</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation>Kontakt tillagt</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation>Inbjudan accepterad</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation>📞 Utgående samtal</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation>📞 Inkommande samtal</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation>📞 Utgående samtal - </translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation>📞 Inkommande samtal - </translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation>🕽 Missat utgående samtal</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation>🕽 Missat inkommande samtal</translation>
     </message>
@@ -1484,6 +1484,37 @@
         <translation>FIL</translation>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_tr.ts b/translations/lrc_tr.ts
index 30e9cb08..eca9ac24 100644
--- a/translations/lrc_tr.ts
+++ b/translations/lrc_tr.ts
@@ -1381,50 +1381,50 @@
         <translation>Eş Profil Koleksiyonları</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation type="unfinished"/>
     </message>
@@ -1484,6 +1484,37 @@
         <translation>DOSYA</translation>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_uk.ts b/translations/lrc_uk.ts
index baa183b8..279ae221 100644
--- a/translations/lrc_uk.ts
+++ b/translations/lrc_uk.ts
@@ -1381,50 +1381,50 @@
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation type="unfinished"/>
     </message>
@@ -1484,6 +1484,37 @@
         <translation>ФАЙЛ</translation>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_zh.ts b/translations/lrc_zh.ts
index f4ac85c3..8dd4df1e 100644
--- a/translations/lrc_zh.ts
+++ b/translations/lrc_zh.ts
@@ -1381,50 +1381,50 @@
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation type="unfinished"/>
     </message>
@@ -1484,6 +1484,37 @@
         <translation type="unfinished"/>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_zh_CN.ts b/translations/lrc_zh_CN.ts
index cf640083..1b7fe9dc 100644
--- a/translations/lrc_zh_CN.ts
+++ b/translations/lrc_zh_CN.ts
@@ -1381,50 +1381,50 @@
         <translation>节点资料集</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation type="unfinished"/>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation type="unfinished"/>
     </message>
@@ -1484,6 +1484,37 @@
         <translation>文件</translation>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
diff --git a/translations/lrc_zh_TW.ts b/translations/lrc_zh_TW.ts
index 0e820fbf..2a4d439f 100644
--- a/translations/lrc_zh_TW.ts
+++ b/translations/lrc_zh_TW.ts
@@ -1381,50 +1381,50 @@
         <translation>對方的基本資料收集</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1240"/>
-        <location filename="../src/conversationmodel.cpp" line="1606"/>
-        <location filename="../src/conversationmodel.cpp" line="1858"/>
+        <location filename="../src/conversationmodel.cpp" line="1250"/>
+        <location filename="../src/conversationmodel.cpp" line="1616"/>
+        <location filename="../src/conversationmodel.cpp" line="1868"/>
         <source>Invitation received</source>
         <translation>已收到邀請</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1241"/>
+        <location filename="../src/conversationmodel.cpp" line="1251"/>
         <source>Contact added</source>
         <translation>已新增聯絡人</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1276"/>
-        <location filename="../src/conversationmodel.cpp" line="1283"/>
+        <location filename="../src/conversationmodel.cpp" line="1286"/>
+        <location filename="../src/conversationmodel.cpp" line="1293"/>
         <source>Invitation accepted</source>
         <translation>已接受邀請</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1492"/>
+        <location filename="../src/conversationmodel.cpp" line="1502"/>
         <source>📞 Outgoing call</source>
         <translation>📞 撥出電話</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1494"/>
+        <location filename="../src/conversationmodel.cpp" line="1504"/>
         <source>📞 Incoming call</source>
         <translation>📞 來電</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1507"/>
+        <location filename="../src/conversationmodel.cpp" line="1517"/>
         <source>📞 Outgoing call - </source>
         <translation>📞 撥出電話 - </translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1510"/>
+        <location filename="../src/conversationmodel.cpp" line="1520"/>
         <source>📞 Incoming call - </source>
         <translation>📞 來電 - </translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1514"/>
+        <location filename="../src/conversationmodel.cpp" line="1524"/>
         <source>🕽 Missed outgoing call</source>
         <translation>🕽 未接去電</translation>
     </message>
     <message>
-        <location filename="../src/conversationmodel.cpp" line="1516"/>
+        <location filename="../src/conversationmodel.cpp" line="1526"/>
         <source>🕽 Missed incoming call</source>
         <translation>🕽 未接來電</translation>
     </message>
@@ -1484,6 +1484,37 @@
         <translation>檔案</translation>
     </message>
 </context>
+<context>
+    <name>lrc::ContactModelPimpl</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="380"/>
+        <source>Searching…</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="741"/>
+        <source>Invalid ringID</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="744"/>
+        <source>Not found</source>
+        <translation type="unfinished"/>
+    </message>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="747"/>
+        <source>Couldn&apos;t lookup…</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
+<context>
+    <name>lrc::api::ContactModel</name>
+    <message>
+        <location filename="../src/contactmodel.cpp" line="359"/>
+        <source>Bad URI scheme</source>
+        <translation type="unfinished"/>
+    </message>
+</context>
 <context>
     <name>media::RecordingModel</name>
     <message>
-- 
GitLab