sso page to manually cancel sso connection

This commit is contained in:
Gaelle Braud 2026-01-16 17:12:12 +01:00
parent af4e8d2685
commit 638c53dad6
19 changed files with 666 additions and 446 deletions

View file

@ -329,6 +329,9 @@ App::App(int &argc, char *argv[])
mEventCountNotifier = new EventCountNotifier(this); mEventCountNotifier = new EventCountNotifier(this);
mDateUpdateTimer.start(); mDateUpdateTimer.start();
mOIDCRefreshTimer.setInterval(1000);
mOIDCRefreshTimer.setSingleShot(false);
#ifdef Q_OS_LINUX #ifdef Q_OS_LINUX
exportDesktopFile(); exportDesktopFile();
#endif #endif
@ -384,7 +387,29 @@ void App::setSelf(QSharedPointer<App>(me)) {
mCoreModelConnection->makeConnectToModel( mCoreModelConnection->makeConnectToModel(
&CoreModel::globalStateChanged, &CoreModel::globalStateChanged,
[this](const std::shared_ptr<linphone::Core> &core, linphone::GlobalState gstate, const std::string &message) { [this](const std::shared_ptr<linphone::Core> &core, linphone::GlobalState gstate, const std::string &message) {
mCoreModelConnection->invokeToCore([this, gstate] { setCoreStarted(gstate == linphone::GlobalState::On); }); mCoreModelConnection->invokeToCore([this, gstate] {
setCoreStarted(gstate == linphone::GlobalState::On);
if (gstate == linphone::GlobalState::Configuring) {
if (mMainWindow) {
QMetaObject::invokeMethod(mMainWindow, "openSSOPage", Qt::DirectConnection);
} else {
connect(
this, &App::mainWindowChanged, this,
[this] {
mCoreModelConnection->invokeToModel([this] {
auto gstate = CoreModel::getInstance()->getCore()->getGlobalState();
if (gstate == linphone::GlobalState::Configuring)
mCoreModelConnection->invokeToCore([this] {
if (mMainWindow)
QMetaObject::invokeMethod(mMainWindow, "openSSOPage",
Qt::DirectConnection);
});
});
},
Qt::SingleShotConnection);
}
}
});
}); });
mCoreModelConnection->makeConnectToModel(&CoreModel::authenticationRequested, &App::onAuthenticationRequested); mCoreModelConnection->makeConnectToModel(&CoreModel::authenticationRequested, &App::onAuthenticationRequested);
// Config error message // Config error message
@ -425,7 +450,28 @@ void App::setSelf(QSharedPointer<App>(me)) {
// Synchronize state for because linphoneCore was ran before any connections. // Synchronize state for because linphoneCore was ran before any connections.
mCoreModelConnection->invokeToModel([this]() { mCoreModelConnection->invokeToModel([this]() {
auto state = CoreModel::getInstance()->getCore()->getGlobalState(); auto state = CoreModel::getInstance()->getCore()->getGlobalState();
mCoreModelConnection->invokeToCore([this, state] { setCoreStarted(state == linphone::GlobalState::On); }); mCoreModelConnection->invokeToCore([this, state] {
setCoreStarted(state == linphone::GlobalState::On);
if (state == linphone::GlobalState::Configuring) {
if (mMainWindow) {
QMetaObject::invokeMethod(mMainWindow, "openSSOPage", Qt::DirectConnection);
} else {
connect(
this, &App::mainWindowChanged, this,
[this] {
mCoreModelConnection->invokeToModel([this] {
auto gstate = CoreModel::getInstance()->getCore()->getGlobalState();
if (gstate == linphone::GlobalState::Configuring)
mCoreModelConnection->invokeToCore([this] {
if (mMainWindow)
QMetaObject::invokeMethod(mMainWindow, "openSSOPage", Qt::DirectConnection);
});
});
},
Qt::SingleShotConnection);
}
}
});
}); });
mCoreModelConnection->makeConnectToModel(&CoreModel::unreadNotificationsChanged, [this] { mCoreModelConnection->makeConnectToModel(&CoreModel::unreadNotificationsChanged, [this] {
@ -477,6 +523,30 @@ void App::setSelf(QSharedPointer<App>(me)) {
}); });
}); });
mCoreModelConnection->makeConnectToModel(&CoreModel::oidcRemainingTimeBeforeTimeoutChanged,
[this](int remainingTime) {
qDebug() << "App: oidc timeout changed";
mCoreModelConnection->invokeToCore([this, remainingTime] {
mRemainingTimeBeforeOidcTimeout = remainingTime;
emit remainingTimeBeforeOidcTimeoutChanged();
});
});
mCoreModelConnection->makeConnectToCore(&App::lForceOidcTimeout, [this] {
qDebug() << "App: force oidc timeout";
mCoreModelConnection->invokeToModel([this] { emit CoreModel::getInstance()->forceOidcTimeout(); });
});
mCoreModelConnection->makeConnectToModel(&CoreModel::timeoutTimerStarted, [this]() {
qDebug() << "App: oidc timer started";
mCoreModelConnection->invokeToCore([this] { mOIDCRefreshTimer.start(); });
});
mCoreModelConnection->makeConnectToModel(&CoreModel::timeoutTimerStopped, [this]() {
qDebug() << "App: oidc timer stopped";
mCoreModelConnection->invokeToCore([this] { mOIDCRefreshTimer.stop(); });
});
connect(&mOIDCRefreshTimer, &QTimer::timeout, this, [this]() {
mCoreModelConnection->invokeToModel([this] { CoreModel::getInstance()->refreshOidcRemainingTime(); });
});
//--------------------------------------------------------------------------------------------- //---------------------------------------------------------------------------------------------
mCliModelConnection = SafeConnection<App, CliModel>::create(me, CliModel::getInstance()); mCliModelConnection = SafeConnection<App, CliModel>::create(me, CliModel::getInstance());
mCliModelConnection->makeConnectToCore(&App::receivedMessage, [this](int, const QByteArray &byteArray) { mCliModelConnection->makeConnectToCore(&App::receivedMessage, [this](int, const QByteArray &byteArray) {
@ -1090,7 +1160,7 @@ bool App::notify(QObject *receiver, QEvent *event) {
} }
if (event->type() == QEvent::MouseButtonPress) { if (event->type() == QEvent::MouseButtonPress) {
auto window = findParentWindow(receiver); auto window = findParentWindow(receiver);
if (getMainWindow() == window) { if (getMainWindow() == window && mAccountList) {
auto defaultAccountCore = mAccountList->getDefaultAccountCore(); auto defaultAccountCore = mAccountList->getDefaultAccountCore();
if (defaultAccountCore && defaultAccountCore->getUnreadCallNotifications() > 0) { if (defaultAccountCore && defaultAccountCore->getUnreadCallNotifications() > 0) {
emit defaultAccountCore->lResetMissedCalls(); emit defaultAccountCore->lResetMissedCalls();

View file

@ -55,6 +55,8 @@ class App : public SingleApplication, public AbstractObject {
Q_PROPERTY(QString sdkVersion READ getSdkVersion CONSTANT) Q_PROPERTY(QString sdkVersion READ getSdkVersion CONSTANT)
Q_PROPERTY(ChatGui *currentChat READ getCurrentChat WRITE setCurrentChat NOTIFY currentChatChanged) Q_PROPERTY(ChatGui *currentChat READ getCurrentChat WRITE setCurrentChat NOTIFY currentChatChanged)
Q_PROPERTY(QString localeAsString READ getLocaleAsString CONSTANT) Q_PROPERTY(QString localeAsString READ getLocaleAsString CONSTANT)
Q_PROPERTY(int remainingTimeBeforeOidcTimeout MEMBER mRemainingTimeBeforeOidcTimeout NOTIFY
remainingTimeBeforeOidcTimeoutChanged)
public: public:
App(int &argc, char *argv[]); App(int &argc, char *argv[]);
@ -219,6 +221,8 @@ signals:
void chatsChanged(); void chatsChanged();
void callHistoryChanged(); void callHistoryChanged();
void localeChanged(); void localeChanged();
void lForceOidcTimeout();
void remainingTimeBeforeOidcTimeoutChanged();
// void executeCommand(QString command); // void executeCommand(QString command);
private: private:
@ -257,6 +261,8 @@ private:
QTimer mDateUpdateTimer; QTimer mDateUpdateTimer;
QDate mCurrentDate; QDate mCurrentDate;
float mScreenRatio = 1; float mScreenRatio = 1;
QTimer mOIDCRefreshTimer;
int mRemainingTimeBeforeOidcTimeout = 0;
DECLARE_ABSTRACT_OBJECT DECLARE_ABSTRACT_OBJECT
}; };

View file

@ -24,6 +24,12 @@
#include "core/App.hpp" #include "core/App.hpp"
AccountProxy::AccountProxy(QObject *parent) : LimitProxy(parent) { AccountProxy::AccountProxy(QObject *parent) : LimitProxy(parent) {
if (!App::getInstance()->getAccountList()) {
mList = AccountList::create();
App::getInstance()->setAccountList(mList);
}
mList = App::getInstance()->getAccountList();
setSourceModel(mList.get());
connect(this, &AccountProxy::initializedChanged, this, &AccountProxy::resetDefaultAccount); connect(this, &AccountProxy::initializedChanged, this, &AccountProxy::resetDefaultAccount);
connect(this, &AccountProxy::initializedChanged, this, &AccountProxy::haveAccountChanged); connect(this, &AccountProxy::initializedChanged, this, &AccountProxy::haveAccountChanged);
} }

View file

@ -59,6 +59,7 @@ signals:
protected: protected:
bool mInitialized = false; bool mInitialized = false;
QSharedPointer<AccountList> mList;
QSharedPointer<AccountCore> mDefaultAccount; // When null, a new UI object is build from List QSharedPointer<AccountCore> mDefaultAccount; // When null, a new UI object is build from List
}; };

View file

@ -73,7 +73,9 @@ void ChatList::connectItem(QSharedPointer<ChatCore> chat) {
}; };
connect(chat.get(), &ChatCore::unreadMessagesCountChanged, this, [this, dataChange] { connect(chat.get(), &ChatCore::unreadMessagesCountChanged, this, [this, dataChange] {
dataChange(); dataChange();
auto defaultAccount = App::getInstance()->getAccountList()->getDefaultAccountCore(); auto defaultAccount = App::getInstance()->getAccountList()
? App::getInstance()->getAccountList()->getDefaultAccountCore()
: nullptr;
if (defaultAccount) emit defaultAccount->lRefreshNotifications(); if (defaultAccount) emit defaultAccount->lRefreshNotifications();
}); });
connect(chat.get(), &ChatCore::lastUpdatedTimeChanged, this, dataChange); connect(chat.get(), &ChatCore::lastUpdatedTimeChanged, this, dataChange);

View file

@ -95,7 +95,7 @@
<context> <context>
<name>AccountListView</name> <name>AccountListView</name>
<message> <message>
<location filename="../../view/Page/Main/Account/AccountListView.qml" line="89"/> <location filename="../../view/Page/Main/Account/AccountListView.qml" line="88"/>
<source>add_an_account</source> <source>add_an_account</source>
<extracomment>Add an account</extracomment> <extracomment>Add an account</extracomment>
<translation>Konto hinzufügen</translation> <translation>Konto hinzufügen</translation>
@ -674,141 +674,141 @@
<context> <context>
<name>App</name> <name>App</name>
<message> <message>
<location filename="../../core/App.cpp" line="365"/> <location filename="../../core/App.cpp" line="368"/>
<source>remote_provisioning_dialog</source> <source>remote_provisioning_dialog</source>
<extracomment>Voulez-vous télécharger et appliquer la configuration depuis cette adresse ?</extracomment> <extracomment>Voulez-vous télécharger et appliquer la configuration depuis cette adresse ?</extracomment>
<translation>Möchten Sie die Remote-Konfiguration von dieser Adresse herunterladen und anwenden?</translation> <translation>Möchten Sie die Remote-Konfiguration von dieser Adresse herunterladen und anwenden?</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="400"/> <location filename="../../core/App.cpp" line="425"/>
<location filename="../../core/App.cpp" line="452"/> <location filename="../../core/App.cpp" line="498"/>
<location filename="../../core/App.cpp" line="715"/> <location filename="../../core/App.cpp" line="785"/>
<source>info_popup_error_title</source> <source>info_popup_error_title</source>
<extracomment>Error</extracomment> <extracomment>Error</extracomment>
<translation>Fehler</translation> <translation>Fehler</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="401"/> <location filename="../../core/App.cpp" line="426"/>
<location filename="../../core/App.cpp" line="717"/> <location filename="../../core/App.cpp" line="787"/>
<source>info_popup_configuration_failed_message</source> <source>info_popup_configuration_failed_message</source>
<extracomment>Remote provisioning failed : %1</extracomment> <extracomment>Remote provisioning failed : %1</extracomment>
<translation>Remote-Provisionierung fehlgeschlagen: %1</translation> <translation>Remote-Provisionierung fehlgeschlagen: %1</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="455"/> <location filename="../../core/App.cpp" line="501"/>
<source>info_popup_error_checking_update</source> <source>info_popup_error_checking_update</source>
<extracomment>An error occured while trying to check update. Please try again later or contact support team.</extracomment> <extracomment>An error occured while trying to check update. Please try again later or contact support team.</extracomment>
<translation>Fehler bei der Update-Prüfung. Bitte später erneut versuchen oder Support-Team kontaktieren.</translation> <translation>Fehler bei der Update-Prüfung. Bitte später erneut versuchen oder Support-Team kontaktieren.</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="462"/> <location filename="../../core/App.cpp" line="508"/>
<source>info_popup_new_version_download_label</source> <source>info_popup_new_version_download_label</source>
<translation>Herunterladen!</translation> <translation>Herunterladen!</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="465"/> <location filename="../../core/App.cpp" line="511"/>
<source>info_popup_new_version_available_title</source> <source>info_popup_new_version_available_title</source>
<extracomment>New version available !</extracomment> <extracomment>New version available !</extracomment>
<translation>Neue Version verfügbar!</translation> <translation>Neue Version verfügbar!</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="467"/> <location filename="../../core/App.cpp" line="513"/>
<source>info_popup_new_version_available_message</source> <source>info_popup_new_version_available_message</source>
<extracomment>A new version of Linphone (%1) is available. %2</extracomment> <extracomment>A new version of Linphone (%1) is available. %2</extracomment>
<translation>Eine neue Version von Linphone (%1) ist unter %1 verfügbar</translation> <translation>Eine neue Version von Linphone (%1) ist unter %1 verfügbar</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="473"/> <location filename="../../core/App.cpp" line="519"/>
<source>info_popup_version_up_to_date_title</source> <source>info_popup_version_up_to_date_title</source>
<translation>Auf dem neuesten Stand</translation> <translation>Auf dem neuesten Stand</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="475"/> <location filename="../../core/App.cpp" line="521"/>
<source>info_popup_version_up_to_date_message</source> <source>info_popup_version_up_to_date_message</source>
<extracomment>Your version is up to date</extracomment> <extracomment>Your version is up to date</extracomment>
<translation>Ihre Version ist auf dem neuesten Stand</translation> <translation>Ihre Version ist auf dem neuesten Stand</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="711"/> <location filename="../../core/App.cpp" line="781"/>
<source>configuration_error_detail</source> <source>configuration_error_detail</source>
<extracomment>not reachable</extracomment> <extracomment>not reachable</extracomment>
<translation>nicht erreichbar</translation> <translation>nicht erreichbar</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1002"/> <location filename="../../core/App.cpp" line="1072"/>
<source>application_description</source> <source>application_description</source>
<extracomment>&quot;A free and open source SIP video-phone.&quot;</extracomment> <extracomment>&quot;A free and open source SIP video-phone.&quot;</extracomment>
<translation>Ein kostenloses Open-Source SIP Video-Telefon.</translation> <translation>Ein kostenloses Open-Source SIP Video-Telefon.</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1004"/> <location filename="../../core/App.cpp" line="1074"/>
<source>command_line_arg_order</source> <source>command_line_arg_order</source>
<extracomment>&quot;Send an order to the application towards a command line&quot;</extracomment> <extracomment>&quot;Send an order to the application towards a command line&quot;</extracomment>
<translation>Kommandozeilen-Befehl an die Anwendung schicken</translation> <translation>Kommandozeilen-Befehl an die Anwendung schicken</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1008"/> <location filename="../../core/App.cpp" line="1078"/>
<source>command_line_option_show_help</source> <source>command_line_option_show_help</source>
<translation>Zeige Hilfe</translation> <translation>Zeige Hilfe</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1013"/> <location filename="../../core/App.cpp" line="1083"/>
<source>command_line_option_show_app_version</source> <source>command_line_option_show_app_version</source>
<translation>App-Version anzeigen</translation> <translation>App-Version anzeigen</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1021"/> <location filename="../../core/App.cpp" line="1091"/>
<source>command_line_option_config_to_fetch</source> <source>command_line_option_config_to_fetch</source>
<extracomment>&quot;Specify the linphone configuration file to be fetched. It will be merged with the current configuration.&quot;</extracomment> <extracomment>&quot;Specify the linphone configuration file to be fetched. It will be merged with the current configuration.&quot;</extracomment>
<translation>Abzurufende Linphone-Konfigurationsdatei angeben. Sie wird mit der aktuellen Konfiguration zusammengeführt.</translation> <translation>Abzurufende Linphone-Konfigurationsdatei angeben. Sie wird mit der aktuellen Konfiguration zusammengeführt.</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1023"/> <location filename="../../core/App.cpp" line="1093"/>
<source>command_line_option_config_to_fetch_arg</source> <source>command_line_option_config_to_fetch_arg</source>
<extracomment>&quot;URL, path or file&quot;</extracomment> <extracomment>&quot;URL, path or file&quot;</extracomment>
<translation>URL, Pfad oder Datei</translation> <translation>URL, Pfad oder Datei</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1028"/> <location filename="../../core/App.cpp" line="1098"/>
<source>command_line_option_minimized</source> <source>command_line_option_minimized</source>
<translation>Minimieren</translation> <translation>Minimieren</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1031"/> <location filename="../../core/App.cpp" line="1101"/>
<source>command_line_option_log_to_stdout</source> <source>command_line_option_log_to_stdout</source>
<translation>Debug-Informationen auf der Standardausgabe ausgeben</translation> <translation>Debug-Informationen auf der Standardausgabe ausgeben</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1034"/> <location filename="../../core/App.cpp" line="1104"/>
<source>command_line_option_print_app_logs_only</source> <source>command_line_option_print_app_logs_only</source>
<extracomment>&quot;Print only logs from the application&quot;</extracomment> <extracomment>&quot;Print only logs from the application&quot;</extracomment>
<translation>Nur Anwendungs-Logs ausgeben</translation> <translation>Nur Anwendungs-Logs ausgeben</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1490"/> <location filename="../../core/App.cpp" line="1560"/>
<source>hide_action</source> <source>hide_action</source>
<extracomment>&quot;Cacher&quot; &quot;Afficher&quot;</extracomment> <extracomment>&quot;Cacher&quot; &quot;Afficher&quot;</extracomment>
<translation>Ausblenden</translation> <translation>Ausblenden</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1490"/> <location filename="../../core/App.cpp" line="1560"/>
<source>show_action</source> <source>show_action</source>
<translation>Zeigen</translation> <translation>Zeigen</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1505"/> <location filename="../../core/App.cpp" line="1575"/>
<source>quit_action</source> <source>quit_action</source>
<extracomment>&quot;Quitter&quot;</extracomment> <extracomment>&quot;Quitter&quot;</extracomment>
<translation>Beenden</translation> <translation>Beenden</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1523"/> <location filename="../../core/App.cpp" line="1593"/>
<source>check_for_update</source> <source>check_for_update</source>
<extracomment>Check for update</extracomment> <extracomment>Check for update</extracomment>
<translation>Auf Updates prüfen</translation> <translation>Auf Updates prüfen</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1646"/> <location filename="../../core/App.cpp" line="1716"/>
<source>mark_all_read_action</source> <source>mark_all_read_action</source>
<translation>Alle als gelesen markieren</translation> <translation>Alle als gelesen markieren</translation>
</message> </message>
@ -833,19 +833,19 @@
<translation>Passwort</translation> <translation>Passwort</translation>
</message> </message>
<message> <message>
<location filename="../../view/Control/Popup/Dialog/AuthenticationDialog.qml" line="86"/> <location filename="../../view/Control/Popup/Dialog/AuthenticationDialog.qml" line="87"/>
<source>cancel</source> <source>cancel</source>
<extracomment>&quot;Annuler</extracomment> <extracomment>&quot;Annuler</extracomment>
<translation>Abbrechen</translation> <translation>Abbrechen</translation>
</message> </message>
<message> <message>
<location filename="../../view/Control/Popup/Dialog/AuthenticationDialog.qml" line="96"/> <location filename="../../view/Control/Popup/Dialog/AuthenticationDialog.qml" line="97"/>
<source>assistant_account_login</source> <source>assistant_account_login</source>
<extracomment>Connexion</extracomment> <extracomment>Connexion</extracomment>
<translation>Anmelden</translation> <translation>Anmelden</translation>
</message> </message>
<message> <message>
<location filename="../../view/Control/Popup/Dialog/AuthenticationDialog.qml" line="104"/> <location filename="../../view/Control/Popup/Dialog/AuthenticationDialog.qml" line="105"/>
<source>assistant_account_login_missing_password</source> <source>assistant_account_login_missing_password</source>
<extracomment>Veuillez saisir un mot de passe</extracomment> <extracomment>Veuillez saisir un mot de passe</extracomment>
<translation>Bitte Passwort eingeben</translation> <translation>Bitte Passwort eingeben</translation>
@ -1026,7 +1026,7 @@
<context> <context>
<name>CallHistoryListView</name> <name>CallHistoryListView</name>
<message> <message>
<location filename="../../view/Control/Display/Call/CallHistoryListView.qml" line="204"/> <location filename="../../view/Control/Display/Call/CallHistoryListView.qml" line="198"/>
<source>call_name_accessible_button</source> <source>call_name_accessible_button</source>
<extracomment>Call %1</extracomment> <extracomment>Call %1</extracomment>
<translation>Anruf %1</translation> <translation>Anruf %1</translation>
@ -1236,101 +1236,101 @@
<translation>Anrufprotokoll leer</translation> <translation>Anrufprotokoll leer</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="86"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="85"/>
<source>history_dialog_delete_all_call_logs_title</source> <source>history_dialog_delete_all_call_logs_title</source>
<extracomment>Supprimer l&apos;historique d&apos;appels ?</extracomment> <extracomment>Supprimer l&apos;historique d&apos;appels ?</extracomment>
<translation>Anrufprotokoll löschen?</translation> <translation>Anrufprotokoll löschen?</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="88"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="87"/>
<source>history_dialog_delete_all_call_logs_message</source> <source>history_dialog_delete_all_call_logs_message</source>
<extracomment>&quot;L&apos;ensemble de votre historique d&apos;appels sera définitivement supprimé.&quot;</extracomment> <extracomment>&quot;L&apos;ensemble de votre historique d&apos;appels sera définitivement supprimé.&quot;</extracomment>
<translation>Das gesamte Anrufprotokoll wird dauerhaft gelöscht.</translation> <translation>Das gesamte Anrufprotokoll wird dauerhaft gelöscht.</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="94"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="93"/>
<source>history_dialog_delete_call_logs_title</source> <source>history_dialog_delete_call_logs_title</source>
<extracomment>Supprimer l&apos;historique d&apos;appels ?</extracomment> <extracomment>Supprimer l&apos;historique d&apos;appels ?</extracomment>
<translation>Anrufprotokoll löschen?</translation> <translation>Anrufprotokoll löschen?</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="96"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="95"/>
<source>history_dialog_delete_call_logs_message</source> <source>history_dialog_delete_call_logs_message</source>
<extracomment>&quot;L&apos;ensemble de votre historique d&apos;appels avec ce correspondant sera définitivement supprimé.&quot;</extracomment> <extracomment>&quot;L&apos;ensemble de votre historique d&apos;appels avec ce correspondant sera définitivement supprimé.&quot;</extracomment>
<translation>Das Anrufprotokoll mit diesem Benutzer wird dauerhaft gelöscht.</translation> <translation>Das Anrufprotokoll mit diesem Benutzer wird dauerhaft gelöscht.</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="151"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="150"/>
<source>call_history_call_list_title</source> <source>call_history_call_list_title</source>
<extracomment>&quot;Appels&quot;</extracomment> <extracomment>&quot;Appels&quot;</extracomment>
<translation>Anrufe</translation> <translation>Anrufe</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="459"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="458"/>
<source>call_history_options_accessible_name</source> <source>call_history_options_accessible_name</source>
<translation>Anrufverlaufsoptionen</translation> <translation>Anrufverlaufsoptionen</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="171"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="170"/>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="551"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="550"/>
<source>menu_delete_history</source> <source>menu_delete_history</source>
<extracomment>&quot;Supprimer l&apos;historique&quot;</extracomment> <extracomment>&quot;Supprimer l&apos;historique&quot;</extracomment>
<translation>Verlauf löschen</translation> <translation>Verlauf löschen</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="165"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="164"/>
<source>call_history_list_options_accessible_name</source> <source>call_history_list_options_accessible_name</source>
<extracomment>Call history options</extracomment> <extracomment>Call history options</extracomment>
<translation>Anrufverlaufsoptionen</translation> <translation>Anrufverlaufsoptionen</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="199"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="198"/>
<source>create_new_call_accessible_name</source> <source>create_new_call_accessible_name</source>
<extracomment>Create new call</extracomment> <extracomment>Create new call</extracomment>
<translation>Neuen Anruf erstellen</translation> <translation>Neuen Anruf erstellen</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="212"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="211"/>
<source>call_search_in_history</source> <source>call_search_in_history</source>
<extracomment>&quot;Rechercher un appel&quot;</extracomment> <extracomment>&quot;Rechercher un appel&quot;</extracomment>
<translation>Anruf suchen</translation> <translation>Anruf suchen</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="246"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="245"/>
<source>call_forward_to_address_info</source> <source>call_forward_to_address_info</source>
<translation>Anrufe weiterleiten an: </translation> <translation>Anrufe weiterleiten an: </translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="246"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="245"/>
<source>call_forward_to_address_info_voicemail</source> <source>call_forward_to_address_info_voicemail</source>
<translation>Anrufbeantworter</translation> <translation>Anrufbeantworter</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="275"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="274"/>
<source>list_filter_no_result_found</source> <source>list_filter_no_result_found</source>
<extracomment>&quot;Aucun résultat&quot;</extracomment> <extracomment>&quot;Aucun résultat&quot;</extracomment>
<translation>Kein Ergebnis gefunden</translation> <translation>Kein Ergebnis gefunden</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="277"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="276"/>
<source>history_list_empty_history</source> <source>history_list_empty_history</source>
<extracomment>&quot;Aucun appel dans votre historique&quot;</extracomment> <extracomment>&quot;Aucun appel dans votre historique&quot;</extracomment>
<translation>Anrufprotokoll leer</translation> <translation>Anrufprotokoll leer</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="354"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="353"/>
<source>return_to_call_history_accessible_name</source> <source>return_to_call_history_accessible_name</source>
<extracomment>Return to call history</extracomment> <extracomment>Return to call history</extracomment>
<translation>Zum Anrufverlauf zurückkehren</translation> <translation>Zum Anrufverlauf zurückkehren</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="365"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="364"/>
<source>call_action_start_new_call</source> <source>call_action_start_new_call</source>
<extracomment>&quot;Nouvel appel&quot;</extracomment> <extracomment>&quot;Nouvel appel&quot;</extracomment>
<translation>Neuer Anruf</translation> <translation>Neuer Anruf</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="406"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="405"/>
<source>call_start_group_call_title</source> <source>call_start_group_call_title</source>
<extracomment>&quot;Appel de groupe&quot;</extracomment> <extracomment>&quot;Appel de groupe&quot;</extracomment>
<translation>Gruppenanruf</translation> <translation>Gruppenanruf</translation>
@ -1344,7 +1344,7 @@
</translation> </translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="408"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="407"/>
<source>call_action_start_group_call</source> <source>call_action_start_group_call</source>
<extracomment>&quot;Lancer&quot;</extracomment> <extracomment>&quot;Lancer&quot;</extracomment>
<translation>Starten</translation> <translation>Starten</translation>
@ -1360,74 +1360,74 @@
<translation type="vanished">Erforderlich</translation> <translation type="vanished">Erforderlich</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="418"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="417"/>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="422"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="421"/>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="520"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="519"/>
<source>information_popup_error_title</source> <source>information_popup_error_title</source>
<translation>Fehler</translation> <translation>Fehler</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="420"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="419"/>
<source>group_call_error_must_have_name</source> <source>group_call_error_must_have_name</source>
<extracomment>&quot;Un nom doit être donné à l&apos;appel de groupe</extracomment> <extracomment>&quot;Un nom doit être donné à l&apos;appel de groupe</extracomment>
<translation>Es muss ein Name für den Anruf angegeben werden</translation> <translation>Es muss ein Name für den Anruf angegeben werden</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="424"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="423"/>
<source>group_call_error_not_connected</source> <source>group_call_error_not_connected</source>
<extracomment>&quot;Vous n&apos;etes pas connecté&quot;</extracomment> <extracomment>&quot;Vous n&apos;etes pas connecté&quot;</extracomment>
<translation>Sie sind nicht verbunden</translation> <translation>Sie sind nicht verbunden</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="478"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="477"/>
<source>menu_see_existing_contact</source> <source>menu_see_existing_contact</source>
<extracomment>&quot;Show contact&quot;</extracomment> <extracomment>&quot;Show contact&quot;</extracomment>
<translation>Kontakt anzeigen</translation> <translation>Kontakt anzeigen</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="480"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="479"/>
<source>menu_add_address_to_contacts</source> <source>menu_add_address_to_contacts</source>
<extracomment>&quot;Add to contacts&quot;</extracomment> <extracomment>&quot;Add to contacts&quot;</extracomment>
<translation>Zu Kontakten hinzufügen</translation> <translation>Zu Kontakten hinzufügen</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="502"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="501"/>
<source>menu_copy_sip_address</source> <source>menu_copy_sip_address</source>
<extracomment>&quot;Copier l&apos;adresse SIP&quot;</extracomment> <extracomment>&quot;Copier l&apos;adresse SIP&quot;</extracomment>
<translation>SIP-Adresse kopieren</translation> <translation>SIP-Adresse kopieren</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="514"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="513"/>
<source>sip_address_copied_to_clipboard_toast</source> <source>sip_address_copied_to_clipboard_toast</source>
<extracomment>Adresse copiée</extracomment> <extracomment>Adresse copiée</extracomment>
<translation>SIP-Adresse kopiert</translation> <translation>SIP-Adresse kopiert</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="516"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="515"/>
<source>sip_address_copied_to_clipboard_message</source> <source>sip_address_copied_to_clipboard_message</source>
<extracomment>L&apos;adresse a é copié dans le presse_papiers</extracomment> <extracomment>L&apos;adresse a é copié dans le presse_papiers</extracomment>
<translation>Die Adresse wurde in die Zwischenablage kopiert</translation> <translation>Die Adresse wurde in die Zwischenablage kopiert</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="522"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="521"/>
<source>sip_address_copy_to_clipboard_error</source> <source>sip_address_copy_to_clipboard_error</source>
<extracomment>&quot;Erreur lors de la copie de l&apos;adresse&quot;</extracomment> <extracomment>&quot;Erreur lors de la copie de l&apos;adresse&quot;</extracomment>
<translation>Fehler beim Kopieren der Adresse</translation> <translation>Fehler beim Kopieren der Adresse</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="642"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="641"/>
<source>notification_missed_call_title</source> <source>notification_missed_call_title</source>
<extracomment>&quot;Appel manqué&quot;</extracomment> <extracomment>&quot;Appel manqué&quot;</extracomment>
<translation>Verpasster Anruf</translation> <translation>Verpasster Anruf</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="645"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="644"/>
<source>call_outgoing</source> <source>call_outgoing</source>
<extracomment>&quot;Appel sortant&quot;</extracomment> <extracomment>&quot;Appel sortant&quot;</extracomment>
<translation>Ausgehender Anruf</translation> <translation>Ausgehender Anruf</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="647"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="646"/>
<source>call_audio_incoming</source> <source>call_audio_incoming</source>
<extracomment>&quot;Appel entrant&quot;</extracomment> <extracomment>&quot;Appel entrant&quot;</extracomment>
<translation>Eingehender Anruf</translation> <translation>Eingehender Anruf</translation>
@ -2546,91 +2546,91 @@ Stellen Sie sicher, dass Sie keine sensiblen Informationen teilen!</translation>
<translation>Keine Chats</translation> <translation>Keine Chats</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="46"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="45"/>
<source>info_popup_error_title</source> <source>info_popup_error_title</source>
<translation>Fehler</translation> <translation>Fehler</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="48"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="47"/>
<source>info_popup_chatroom_creation_failed</source> <source>info_popup_chatroom_creation_failed</source>
<extracomment>Chat room creation failed !</extracomment> <extracomment>Chat room creation failed !</extracomment>
<translation>Chat konnte nicht erstellt werden!</translation> <translation>Chat konnte nicht erstellt werden!</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="42"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="41"/>
<source>loading_popup_chatroom_creation_pending_message</source> <source>loading_popup_chatroom_creation_pending_message</source>
<extracomment>Chat room is being created...</extracomment> <extracomment>Chat room is being created...</extracomment>
<translation>Chat wird erstellt...</translation> <translation>Chat wird erstellt...</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="97"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="96"/>
<source>chat_dialog_delete_chat_title</source> <source>chat_dialog_delete_chat_title</source>
<extracomment>Supprimer la conversation ?</extracomment> <extracomment>Supprimer la conversation ?</extracomment>
<translation>Chat löschen?</translation> <translation>Chat löschen?</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="99"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="98"/>
<source>chat_dialog_delete_chat_message</source> <source>chat_dialog_delete_chat_message</source>
<extracomment>&quot;La conversation et tous ses messages seront supprimés.&quot;</extracomment> <extracomment>&quot;La conversation et tous ses messages seront supprimés.&quot;</extracomment>
<translation>Dieser Chat und alle seine Nachrichten werden gelöscht.</translation> <translation>Dieser Chat und alle seine Nachrichten werden gelöscht.</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="132"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="131"/>
<source>chat_list_title</source> <source>chat_list_title</source>
<extracomment>&quot;Conversations&quot;</extracomment> <extracomment>&quot;Conversations&quot;</extracomment>
<translation>Chats</translation> <translation>Chats</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="150"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="149"/>
<source>menu_mark_all_as_read</source> <source>menu_mark_all_as_read</source>
<extracomment>&quot;mark all as read&quot;</extracomment> <extracomment>&quot;mark all as read&quot;</extracomment>
<translation>Alle als gelesen markieren</translation> <translation>Alle als gelesen markieren</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="180"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="179"/>
<source>chat_search_in_history</source> <source>chat_search_in_history</source>
<extracomment>&quot;Rechercher une conversation&quot;</extracomment> <extracomment>&quot;Rechercher une conversation&quot;</extracomment>
<translation>Chat suchen</translation> <translation>Chat suchen</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="203"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="202"/>
<source>list_filter_no_result_found</source> <source>list_filter_no_result_found</source>
<extracomment>&quot;Aucun résultat&quot;</extracomment> <extracomment>&quot;Aucun résultat&quot;</extracomment>
<translation>Kein Ergebnis</translation> <translation>Kein Ergebnis</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="205"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="204"/>
<source>chat_list_empty_history</source> <source>chat_list_empty_history</source>
<extracomment>&quot;Aucune conversation dans votre historique&quot;</extracomment> <extracomment>&quot;Aucune conversation dans votre historique&quot;</extracomment>
<translation>Keine Chats in der Historie</translation> <translation>Keine Chats in der Historie</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="279"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="278"/>
<source>chat_action_start_new_chat</source> <source>chat_action_start_new_chat</source>
<extracomment>&quot;New chat&quot;</extracomment> <extracomment>&quot;New chat&quot;</extracomment>
<translation>Neuer Chat</translation> <translation>Neuer Chat</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="317"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="316"/>
<source>chat_start_group_chat_title</source> <source>chat_start_group_chat_title</source>
<extracomment>&quot;Nouveau groupe&quot;</extracomment> <extracomment>&quot;Nouveau groupe&quot;</extracomment>
<translation>Neuer Gruppenchat</translation> <translation>Neuer Gruppenchat</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="319"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="318"/>
<source>chat_action_start_group_chat</source> <source>chat_action_start_group_chat</source>
<extracomment>&quot;Créer&quot;</extracomment> <extracomment>&quot;Créer&quot;</extracomment>
<translation>Erstellen</translation> <translation>Erstellen</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="335"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="334"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="358"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="357"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="363"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="362"/>
<source>information_popup_error_title</source> <source>information_popup_error_title</source>
<translation>Fehler</translation> <translation>Fehler</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="337"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="336"/>
<source>information_popup_chat_creation_failed_message</source> <source>information_popup_chat_creation_failed_message</source>
<extracomment>&quot;La création a échoué&quot;</extracomment> <extracomment>&quot;La création a échoué&quot;</extracomment>
<translation>Erstellen fehlgeschlagen</translation> <translation>Erstellen fehlgeschlagen</translation>
@ -2641,25 +2641,25 @@ Stellen Sie sicher, dass Sie keine sensiblen Informationen teilen!</translation>
<translation type="obsolete">Der Codec konnte nicht installiert werden.</translation> <translation type="obsolete">Der Codec konnte nicht installiert werden.</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="355"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="354"/>
<source>group_chat_error_must_have_name</source> <source>group_chat_error_must_have_name</source>
<extracomment>&quot;Un nom doit être donné au groupe</extracomment> <extracomment>&quot;Un nom doit être donné au groupe</extracomment>
<translation>Für den Gruppenchat muss ein Name festgelegt werden</translation> <translation>Für den Gruppenchat muss ein Name festgelegt werden</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="360"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="359"/>
<source>group_chat_error_no_participant</source> <source>group_chat_error_no_participant</source>
<extracomment>&quot;Please select at least one participant</extracomment> <extracomment>&quot;Please select at least one participant</extracomment>
<translation>Bitte wählen Sie mindestens einen Teilnehmer aus</translation> <translation>Bitte wählen Sie mindestens einen Teilnehmer aus</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="365"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="364"/>
<source>group_call_error_not_connected</source> <source>group_call_error_not_connected</source>
<extracomment>&quot;Vous n&apos;etes pas connecté&quot;</extracomment> <extracomment>&quot;Vous n&apos;etes pas connecté&quot;</extracomment>
<translation>Sie sind nicht verbunden</translation> <translation>Sie sind nicht verbunden</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="371"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="370"/>
<source>chat_creation_in_progress</source> <source>chat_creation_in_progress</source>
<extracomment>Creation de la conversation en cours </extracomment> <extracomment>Creation de la conversation en cours </extracomment>
<translation>Chat-Erstellung ausstehend</translation> <translation>Chat-Erstellung ausstehend</translation>
@ -3573,12 +3573,12 @@ Stellen Sie sicher, dass Sie keine sensiblen Informationen teilen!</translation>
<context> <context>
<name>CoreModel</name> <name>CoreModel</name>
<message> <message>
<location filename="../../model/core/CoreModel.cpp" line="207"/> <location filename="../../model/core/CoreModel.cpp" line="215"/>
<source>info_popup_error_title</source> <source>info_popup_error_title</source>
<translation>Fehler</translation> <translation>Fehler</translation>
</message> </message>
<message> <message>
<location filename="../../model/core/CoreModel.cpp" line="209"/> <location filename="../../model/core/CoreModel.cpp" line="217"/>
<source>fetching_config_failed_error_message</source> <source>fetching_config_failed_error_message</source>
<extracomment>&quot;Remote provisioning cannot be retrieved&quot;</extracomment> <extracomment>&quot;Remote provisioning cannot be retrieved&quot;</extracomment>
<translation>Die externe Bereitstellung kann nicht abgerufen werden</translation> <translation>Die externe Bereitstellung kann nicht abgerufen werden</translation>
@ -4370,144 +4370,144 @@ Ablauf: %1</translation>
<context> <context>
<name>MainLayout</name> <name>MainLayout</name>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="143"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="142"/>
<source>bottom_navigation_calls_label</source> <source>bottom_navigation_calls_label</source>
<extracomment>&quot;Appels&quot;</extracomment> <extracomment>&quot;Appels&quot;</extracomment>
<translation>Anrufe</translation> <translation>Anrufe</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="145"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="144"/>
<source>open_calls_page_accessible_name</source> <source>open_calls_page_accessible_name</source>
<extracomment>&quot;Open calls page&quot;</extracomment> <extracomment>&quot;Open calls page&quot;</extracomment>
<translation>Anrufe öffnen</translation> <translation>Anrufe öffnen</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="151"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="150"/>
<source>bottom_navigation_contacts_label</source> <source>bottom_navigation_contacts_label</source>
<extracomment>&quot;Contacts&quot;</extracomment> <extracomment>&quot;Contacts&quot;</extracomment>
<translation>Kontakte</translation> <translation>Kontakte</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="153"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="152"/>
<source>open_contacts_page_accessible_name</source> <source>open_contacts_page_accessible_name</source>
<extracomment>&quot;Open contacts page&quot;</extracomment> <extracomment>&quot;Open contacts page&quot;</extracomment>
<translation>Kontakte öffnen</translation> <translation>Kontakte öffnen</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="159"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="158"/>
<source>bottom_navigation_conversations_label</source> <source>bottom_navigation_conversations_label</source>
<extracomment>&quot;Conversations&quot;</extracomment> <extracomment>&quot;Conversations&quot;</extracomment>
<translation>Chats</translation> <translation>Chats</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="161"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="160"/>
<source>open_conversations_page_accessible_name</source> <source>open_conversations_page_accessible_name</source>
<extracomment>&quot;Open conversations page&quot;</extracomment> <extracomment>&quot;Open conversations page&quot;</extracomment>
<translation>Chats öffnen</translation> <translation>Chats öffnen</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="168"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="167"/>
<source>bottom_navigation_meetings_label</source> <source>bottom_navigation_meetings_label</source>
<extracomment>&quot;Réunions&quot;</extracomment> <extracomment>&quot;Réunions&quot;</extracomment>
<translation>Besprechungen</translation> <translation>Besprechungen</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="170"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="169"/>
<source>open_contact_page_accessible_name</source> <source>open_contact_page_accessible_name</source>
<extracomment>&quot;Open meetings page&quot;</extracomment> <extracomment>&quot;Open meetings page&quot;</extracomment>
<translation>Meetings öffnen</translation> <translation>Meetings öffnen</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="221"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="220"/>
<source>searchbar_placeholder_text</source> <source>searchbar_placeholder_text</source>
<extracomment>&quot;Rechercher un contact, appeler %1&quot;</extracomment> <extracomment>&quot;Rechercher un contact, appeler %1&quot;</extracomment>
<translation>Kontakt suchen, %1 anrufen</translation> <translation>Kontakt suchen, %1 anrufen</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="223"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="222"/>
<source>searchbar_placeholder_text_chat_feature_enabled</source> <source>searchbar_placeholder_text_chat_feature_enabled</source>
<extracomment>&quot;ou envoyer un message &quot;</extracomment> <extracomment>&quot;ou envoyer un message &quot;</extracomment>
<translation>oder eine Nachricht senden </translation> <translation>oder eine Nachricht senden </translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="309"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="308"/>
<source>do_not_disturb_accessible_name</source> <source>do_not_disturb_accessible_name</source>
<extracomment>&quot;Do not disturb&quot;</extracomment> <extracomment>&quot;Do not disturb&quot;</extracomment>
<translation>Nicht stören</translation> <translation>Nicht stören</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="327"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="326"/>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="470"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="469"/>
<source>contact_presence_status_disable_do_not_disturb</source> <source>contact_presence_status_disable_do_not_disturb</source>
<extracomment>&quot;Désactiver ne pas déranger&quot;</extracomment> <extracomment>&quot;Désactiver ne pas déranger&quot;</extracomment>
<translation>Nicht stören deaktivieren</translation> <translation>Nicht stören deaktivieren</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="381"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="380"/>
<source>information_popup_error_title</source> <source>information_popup_error_title</source>
<translation>Fehler</translation> <translation>Fehler</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="383"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="382"/>
<source>no_voicemail_uri_error_message</source> <source>no_voicemail_uri_error_message</source>
<extracomment>&quot;L&apos;URI de messagerie vocale n&apos;est pas définie.&quot;</extracomment> <extracomment>&quot;L&apos;URI de messagerie vocale n&apos;est pas définie.&quot;</extracomment>
<translation>Die Voicemail-URI ist nicht definiert.</translation> <translation>Die Voicemail-URI ist nicht definiert.</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="396"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="395"/>
<source>account_list_accessible_name</source> <source>account_list_accessible_name</source>
<extracomment>&quot;Account list&quot;</extracomment> <extracomment>&quot;Account list&quot;</extracomment>
<translation>Kontoliste</translation> <translation>Kontoliste</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="434"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="433"/>
<source>application_options_accessible_name</source> <source>application_options_accessible_name</source>
<extracomment>&quot;Application options&quot;</extracomment> <extracomment>&quot;Application options&quot;</extracomment>
<translation>App-Einstellungen</translation> <translation>App-Einstellungen</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="459"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="458"/>
<source>drawer_menu_manage_account</source> <source>drawer_menu_manage_account</source>
<extracomment>Mon compte</extracomment> <extracomment>Mon compte</extracomment>
<translation>Mein Konto</translation> <translation>Mein Konto</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="472"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="471"/>
<source>contact_presence_status_enable_do_not_disturb</source> <source>contact_presence_status_enable_do_not_disturb</source>
<extracomment>&quot;Activer ne pas déranger&quot;</extracomment> <extracomment>&quot;Activer ne pas déranger&quot;</extracomment>
<translation>Nicht stören aktivieren</translation> <translation>Nicht stören aktivieren</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="487"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="486"/>
<source>settings_title</source> <source>settings_title</source>
<translation>Einstellungen</translation> <translation>Einstellungen</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="503"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="502"/>
<source>recordings_title</source> <source>recordings_title</source>
<extracomment>&quot;Enregistrements&quot;</extracomment> <extracomment>&quot;Enregistrements&quot;</extracomment>
<translation>Aufnahmen</translation> <translation>Aufnahmen</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="514"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="513"/>
<source>help_title</source> <source>help_title</source>
<extracomment>&quot;Aide&quot;</extracomment> <extracomment>&quot;Aide&quot;</extracomment>
<translation>Hilfe</translation> <translation>Hilfe</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="529"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="528"/>
<source>help_quit_title</source> <source>help_quit_title</source>
<extracomment>&quot;Quitter l&apos;application&quot;</extracomment> <extracomment>&quot;Quitter l&apos;application&quot;</extracomment>
<translation>App beenden</translation> <translation>App beenden</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="534"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="533"/>
<source>quit_app_question</source> <source>quit_app_question</source>
<extracomment>&quot;Quitter %1 ?&quot;</extracomment> <extracomment>&quot;Quitter %1 ?&quot;</extracomment>
<translation>%1 beenden?</translation> <translation>%1 beenden?</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="557"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="556"/>
<source>drawer_menu_add_account</source> <source>drawer_menu_add_account</source>
<extracomment>&quot;Ajouter un compte&quot;</extracomment> <extracomment>&quot;Ajouter un compte&quot;</extracomment>
<translation>Konto hinzufügen</translation> <translation>Konto hinzufügen</translation>
@ -4546,42 +4546,54 @@ Ablauf: %1</translation>
<translation>Ihr Gesprächspartner wurde an den ausgewählten Kontakt weitergeleitet</translation> <translation>Ihr Gesprächspartner wurde an den ausgewählten Kontakt weitergeleitet</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="128"/> <location filename="../../view/Page/Window/Main/MainWindow.qml" line="132"/>
<source>information_popup_success_title</source> <source>information_popup_success_title</source>
<translation>Gespeichert</translation> <translation>Gespeichert</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="130"/> <location filename="../../view/Page/Window/Main/MainWindow.qml" line="134"/>
<source>information_popup_changes_saved</source> <source>information_popup_changes_saved</source>
<extracomment>&quot;Les changements ont é sauvegardés&quot;</extracomment> <extracomment>&quot;Les changements ont é sauvegardés&quot;</extracomment>
<translation>Änderungen wurden gespeichert</translation> <translation>Änderungen wurden gespeichert</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="215"/> <location filename="../../view/Page/Window/Main/MainWindow.qml" line="207"/>
<source>oidc_connection_waiting_message</source>
<extracomment>&quot;Trying to connect to single sign on on web page ...&quot;</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="220"/>
<source>cancel</source>
<extracomment>Cancel</extracomment>
<translation type="unfinished">Abbrechen</translation>
</message>
<message>
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="257"/>
<source>captcha_validation_loading_message</source> <source>captcha_validation_loading_message</source>
<extracomment>&quot;Veuillez valider le captcha sur la page web&quot;</extracomment> <extracomment>&quot;Veuillez valider le captcha sur la page web&quot;</extracomment>
<translation>Bitte das Captcha auf der Webseite bestätigen</translation> <translation>Bitte das Captcha auf der Webseite bestätigen</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="223"/> <location filename="../../view/Page/Window/Main/MainWindow.qml" line="265"/>
<source>assistant_register_error_title</source> <source>assistant_register_error_title</source>
<extracomment>&quot;Erreur lors de la création&quot;</extracomment> <extracomment>&quot;Erreur lors de la création&quot;</extracomment>
<translation>Fehler bei der Erstellung</translation> <translation>Fehler bei der Erstellung</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="243"/> <location filename="../../view/Page/Window/Main/MainWindow.qml" line="285"/>
<source>assistant_register_success_title</source> <source>assistant_register_success_title</source>
<extracomment>&quot;Compte créé&quot;</extracomment> <extracomment>&quot;Compte créé&quot;</extracomment>
<translation>Konto erstellt</translation> <translation>Konto erstellt</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="245"/> <location filename="../../view/Page/Window/Main/MainWindow.qml" line="287"/>
<source>assistant_register_success_message</source> <source>assistant_register_success_message</source>
<extracomment>&quot;Le compte a é créé. Vous pouvez maintenant vous connecter&quot;</extracomment> <extracomment>&quot;Le compte a é créé. Vous pouvez maintenant vous connecter&quot;</extracomment>
<translation>Das Konto wurde erstellt. Sie können sich jetzt anmelden.</translation> <translation>Das Konto wurde erstellt. Sie können sich jetzt anmelden.</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="250"/> <location filename="../../view/Page/Window/Main/MainWindow.qml" line="292"/>
<source>assistant_register_error_code</source> <source>assistant_register_error_code</source>
<extracomment>&quot;Erreur dans le code de validation&quot;</extracomment> <extracomment>&quot;Erreur dans le code de validation&quot;</extracomment>
<translation>Fehler im Bestätigungscode</translation> <translation>Fehler im Bestätigungscode</translation>
@ -5093,108 +5105,109 @@ Ablauf: %1</translation>
<translation>OAuthHttpServerReplyHandler ist nicht aktiv</translation> <translation>OAuthHttpServerReplyHandler ist nicht aktiv</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="106"/> <location filename="../../model/auth/OIDCModel.cpp" line="107"/>
<location filename="../../model/auth/OIDCModel.cpp" line="273"/>
<source>oidc_authentication_timeout_message</source> <source>oidc_authentication_timeout_message</source>
<extracomment>Timeout: Not authenticated</extracomment> <extracomment>Timeout: Not authenticated</extracomment>
<translation>Zeitüberschreitung: Nicht authentifiziert</translation> <translation>Zeitüberschreitung: Nicht authentifiziert</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="125"/> <location filename="../../model/auth/OIDCModel.cpp" line="126"/>
<source>oidc_authentication_granted_message</source> <source>oidc_authentication_granted_message</source>
<extracomment>Authentication granted</extracomment> <extracomment>Authentication granted</extracomment>
<translation>Authentifizierung erfolgreich</translation> <translation>Authentifizierung erfolgreich</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="132"/> <location filename="../../model/auth/OIDCModel.cpp" line="133"/>
<source>oidc_authentication_not_authenticated_message</source> <source>oidc_authentication_not_authenticated_message</source>
<extracomment>Not authenticated</extracomment> <extracomment>Not authenticated</extracomment>
<translation>Nicht authentifiziert</translation> <translation>Nicht authentifiziert</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="138"/> <location filename="../../model/auth/OIDCModel.cpp" line="139"/>
<source>oidc_authentication_refresh_message</source> <source>oidc_authentication_refresh_message</source>
<extracomment>Refreshing token</extracomment> <extracomment>Refreshing token</extracomment>
<translation>Token wird aktualisiert</translation> <translation>Token wird aktualisiert</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="143"/> <location filename="../../model/auth/OIDCModel.cpp" line="144"/>
<source>oidc_authentication_temporary_credentials_message</source> <source>oidc_authentication_temporary_credentials_message</source>
<extracomment>Temporary credentials received</extracomment> <extracomment>Temporary credentials received</extracomment>
<translation>Temporäre Anmeldedaten erhalten</translation> <translation>Temporäre Anmeldedaten erhalten</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="161"/> <location filename="../../model/auth/OIDCModel.cpp" line="162"/>
<source>oidc_authentication_network_error</source> <source>oidc_authentication_network_error</source>
<extracomment>Network error</extracomment> <extracomment>Network error</extracomment>
<translation>Netzwerkfehler</translation> <translation>Netzwerkfehler</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="165"/> <location filename="../../model/auth/OIDCModel.cpp" line="166"/>
<source>oidc_authentication_server_error</source> <source>oidc_authentication_server_error</source>
<extracomment>Server error</extracomment> <extracomment>Server error</extracomment>
<translation>Serverfehler</translation> <translation>Serverfehler</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="169"/> <location filename="../../model/auth/OIDCModel.cpp" line="170"/>
<source>oidc_authentication_token_not_found_error</source> <source>oidc_authentication_token_not_found_error</source>
<extracomment>OAuth token not found</extracomment> <extracomment>OAuth token not found</extracomment>
<translation>OAuth-Token nicht gefunden</translation> <translation>OAuth-Token nicht gefunden</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="173"/> <location filename="../../model/auth/OIDCModel.cpp" line="174"/>
<source>oidc_authentication_token_secret_not_found_error</source> <source>oidc_authentication_token_secret_not_found_error</source>
<extracomment>OAuth token secret not found</extracomment> <extracomment>OAuth token secret not found</extracomment>
<translation>OAuth-Token-Geheimnis nicht gefunden</translation> <translation>OAuth-Token-Geheimnis nicht gefunden</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="177"/> <location filename="../../model/auth/OIDCModel.cpp" line="178"/>
<source>oidc_authentication_callback_not_verified_error</source> <source>oidc_authentication_callback_not_verified_error</source>
<extracomment>OAuth callback not verified</extracomment> <extracomment>OAuth callback not verified</extracomment>
<translation>OAuth-Callback nicht verifiziert</translation> <translation>OAuth-Callback nicht verifiziert</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="188"/> <location filename="../../model/auth/OIDCModel.cpp" line="190"/>
<source>oidc_authentication_request_auth_message</source> <source>oidc_authentication_request_auth_message</source>
<extracomment>Requesting authorization from browser</extracomment> <extracomment>Requesting authorization from browser</extracomment>
<translation>Autorisierung über den Browser anfordern</translation> <translation>Autorisierung über den Browser anfordern</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="219"/> <location filename="../../model/auth/OIDCModel.cpp" line="222"/>
<source>oidc_authentication_no_token_found_error</source> <source>oidc_authentication_no_token_found_error</source>
<translation>Kein Token gefunden</translation> <translation>Kein Token gefunden</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="232"/> <location filename="../../model/auth/OIDCModel.cpp" line="235"/>
<source>oidc_authentication_request_token_message</source> <source>oidc_authentication_request_token_message</source>
<extracomment>Requesting access token</extracomment> <extracomment>Requesting access token</extracomment>
<translation>Zugriffstoken wird angefordert</translation> <translation>Zugriffstoken wird angefordert</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="237"/> <location filename="../../model/auth/OIDCModel.cpp" line="240"/>
<source>oidc_authentication_refresh_token_message</source> <source>oidc_authentication_refresh_token_message</source>
<extracomment>Refreshing access token</extracomment> <extracomment>Refreshing access token</extracomment>
<translation>Zugriffstoken wird aktualisiert</translation> <translation>Zugriffstoken wird aktualisiert</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="242"/> <location filename="../../model/auth/OIDCModel.cpp" line="245"/>
<source>oidc_authentication_request_authorization_message</source> <source>oidc_authentication_request_authorization_message</source>
<extracomment>Requesting authorization</extracomment> <extracomment>Requesting authorization</extracomment>
<translation>Autorisierung wird angefordert</translation> <translation>Autorisierung wird angefordert</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="247"/> <location filename="../../model/auth/OIDCModel.cpp" line="250"/>
<source>oidc_authentication_request_temporary_credentials_message</source> <source>oidc_authentication_request_temporary_credentials_message</source>
<extracomment>Requesting temporary credentials</extracomment> <extracomment>Requesting temporary credentials</extracomment>
<translation>Temporäre Anmeldedaten werden angefordert</translation> <translation>Temporäre Anmeldedaten werden angefordert</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="274"/> <location filename="../../model/auth/OIDCModel.cpp" line="300"/>
<source>oidc_authentication_no_auth_found_in_config_error</source> <source>oidc_authentication_no_auth_found_in_config_error</source>
<extracomment>No authorization endpoint found in OpenID configuration</extracomment> <extracomment>No authorization endpoint found in OpenID configuration</extracomment>
<translation>Kein Autorisierungs-Endpunkt in der OpenID-Konfiguration gefunden</translation> <translation>Kein Autorisierungs-Endpunkt in der OpenID-Konfiguration gefunden</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="289"/> <location filename="../../model/auth/OIDCModel.cpp" line="315"/>
<source>oidc_authentication_no_token_found_in_config_error</source> <source>oidc_authentication_no_token_found_in_config_error</source>
<extracomment>No token endpoint found in OpenID configuration</extracomment> <extracomment>No token endpoint found in OpenID configuration</extracomment>
<translation>Kein Token-Endpunkt in der OpenID-Konfiguration gefunden</translation> <translation>Kein Token-Endpunkt in der OpenID-Konfiguration gefunden</translation>
@ -6321,32 +6334,32 @@ Um sie in einem kommerziellen Projekt zu aktivieren, kontaktieren Sie uns bitte.
<context> <context>
<name>WaitingRoom</name> <name>WaitingRoom</name>
<message> <message>
<location filename="../../view/Page/Main/Call/WaitingRoom.qml" line="99"/> <location filename="../../view/Page/Main/Call/WaitingRoom.qml" line="98"/>
<source>meeting_waiting_room_title</source> <source>meeting_waiting_room_title</source>
<extracomment>Participer à :</extracomment> <extracomment>Participer à :</extracomment>
<translation>Beitreten :</translation> <translation>Beitreten :</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/WaitingRoom.qml" line="121"/> <location filename="../../view/Page/Main/Call/WaitingRoom.qml" line="120"/>
<source>meeting_waiting_room_join</source> <source>meeting_waiting_room_join</source>
<extracomment>&quot;Rejoindre&quot;</extracomment> <extracomment>&quot;Rejoindre&quot;</extracomment>
<translation>Beitreten</translation> <translation>Beitreten</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/WaitingRoom.qml" line="132"/> <location filename="../../view/Page/Main/Call/WaitingRoom.qml" line="131"/>
<location filename="../../view/Page/Main/Call/WaitingRoom.qml" line="175"/> <location filename="../../view/Page/Main/Call/WaitingRoom.qml" line="174"/>
<source>cancel</source> <source>cancel</source>
<extracomment>Cancel</extracomment> <extracomment>Cancel</extracomment>
<translation>Abbrechen</translation> <translation>Abbrechen</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/WaitingRoom.qml" line="146"/> <location filename="../../view/Page/Main/Call/WaitingRoom.qml" line="145"/>
<source>meeting_waiting_room_joining_title</source> <source>meeting_waiting_room_joining_title</source>
<extracomment>&quot;Connexion à la réunion&quot;</extracomment> <extracomment>&quot;Connexion à la réunion&quot;</extracomment>
<translation>Verbindung zur Besprechung</translation> <translation>Verbindung zur Besprechung</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/WaitingRoom.qml" line="156"/> <location filename="../../view/Page/Main/Call/WaitingRoom.qml" line="155"/>
<source>meeting_waiting_room_joining_subtitle</source> <source>meeting_waiting_room_joining_subtitle</source>
<extracomment>&quot;Vous allez rejoindre la réunion dans quelques instants&quot;</extracomment> <extracomment>&quot;Vous allez rejoindre la réunion dans quelques instants&quot;</extracomment>
<translation>Sie werden der Besprechung in wenigen Momenten beitreten...</translation> <translation>Sie werden der Besprechung in wenigen Momenten beitreten...</translation>

View file

@ -95,7 +95,7 @@
<context> <context>
<name>AccountListView</name> <name>AccountListView</name>
<message> <message>
<location filename="../../view/Page/Main/Account/AccountListView.qml" line="89"/> <location filename="../../view/Page/Main/Account/AccountListView.qml" line="88"/>
<source>add_an_account</source> <source>add_an_account</source>
<extracomment>Add an account</extracomment> <extracomment>Add an account</extracomment>
<translation>Add an account</translation> <translation>Add an account</translation>
@ -655,141 +655,141 @@
<context> <context>
<name>App</name> <name>App</name>
<message> <message>
<location filename="../../core/App.cpp" line="365"/> <location filename="../../core/App.cpp" line="368"/>
<source>remote_provisioning_dialog</source> <source>remote_provisioning_dialog</source>
<extracomment>Voulez-vous télécharger et appliquer la configuration depuis cette adresse ?</extracomment> <extracomment>Voulez-vous télécharger et appliquer la configuration depuis cette adresse ?</extracomment>
<translation>Do you want to download and apply remote provisioning from this address ?</translation> <translation>Do you want to download and apply remote provisioning from this address ?</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="400"/> <location filename="../../core/App.cpp" line="425"/>
<location filename="../../core/App.cpp" line="452"/> <location filename="../../core/App.cpp" line="498"/>
<location filename="../../core/App.cpp" line="715"/> <location filename="../../core/App.cpp" line="785"/>
<source>info_popup_error_title</source> <source>info_popup_error_title</source>
<extracomment>Error</extracomment> <extracomment>Error</extracomment>
<translation>Error</translation> <translation>Error</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="401"/> <location filename="../../core/App.cpp" line="426"/>
<location filename="../../core/App.cpp" line="717"/> <location filename="../../core/App.cpp" line="787"/>
<source>info_popup_configuration_failed_message</source> <source>info_popup_configuration_failed_message</source>
<extracomment>Remote provisioning failed : %1</extracomment> <extracomment>Remote provisioning failed : %1</extracomment>
<translation>Remote provisioning failed : %1</translation> <translation>Remote provisioning failed : %1</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="455"/> <location filename="../../core/App.cpp" line="501"/>
<source>info_popup_error_checking_update</source> <source>info_popup_error_checking_update</source>
<extracomment>An error occured while trying to check update. Please try again later or contact support team.</extracomment> <extracomment>An error occured while trying to check update. Please try again later or contact support team.</extracomment>
<translation>An error occured while trying to check update. Please try again later or contact support team.</translation> <translation>An error occured while trying to check update. Please try again later or contact support team.</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="462"/> <location filename="../../core/App.cpp" line="508"/>
<source>info_popup_new_version_download_label</source> <source>info_popup_new_version_download_label</source>
<translation>Download it !</translation> <translation>Download it !</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="465"/> <location filename="../../core/App.cpp" line="511"/>
<source>info_popup_new_version_available_title</source> <source>info_popup_new_version_available_title</source>
<extracomment>New version available !</extracomment> <extracomment>New version available !</extracomment>
<translation>New version available !</translation> <translation>New version available !</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="467"/> <location filename="../../core/App.cpp" line="513"/>
<source>info_popup_new_version_available_message</source> <source>info_popup_new_version_available_message</source>
<extracomment>A new version of Linphone (%1) is available. %2</extracomment> <extracomment>A new version of Linphone (%1) is available. %2</extracomment>
<translation>A new version of Linphone (%1) is available at %1</translation> <translation>A new version of Linphone (%1) is available at %1</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="473"/> <location filename="../../core/App.cpp" line="519"/>
<source>info_popup_version_up_to_date_title</source> <source>info_popup_version_up_to_date_title</source>
<translation>Up to date</translation> <translation>Up to date</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="475"/> <location filename="../../core/App.cpp" line="521"/>
<source>info_popup_version_up_to_date_message</source> <source>info_popup_version_up_to_date_message</source>
<extracomment>Your version is up to date</extracomment> <extracomment>Your version is up to date</extracomment>
<translation>Up to date Your version is up to date</translation> <translation>Up to date Your version is up to date</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="711"/> <location filename="../../core/App.cpp" line="781"/>
<source>configuration_error_detail</source> <source>configuration_error_detail</source>
<extracomment>not reachable</extracomment> <extracomment>not reachable</extracomment>
<translation>not reachable</translation> <translation>not reachable</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1002"/> <location filename="../../core/App.cpp" line="1072"/>
<source>application_description</source> <source>application_description</source>
<extracomment>&quot;A free and open source SIP video-phone.&quot;</extracomment> <extracomment>&quot;A free and open source SIP video-phone.&quot;</extracomment>
<translation>A free and open source SIP video-phone.</translation> <translation>A free and open source SIP video-phone.</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1004"/> <location filename="../../core/App.cpp" line="1074"/>
<source>command_line_arg_order</source> <source>command_line_arg_order</source>
<extracomment>&quot;Send an order to the application towards a command line&quot;</extracomment> <extracomment>&quot;Send an order to the application towards a command line&quot;</extracomment>
<translation>Send an order to the application towards a command line</translation> <translation>Send an order to the application towards a command line</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1008"/> <location filename="../../core/App.cpp" line="1078"/>
<source>command_line_option_show_help</source> <source>command_line_option_show_help</source>
<translation>Show this help</translation> <translation>Show this help</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1013"/> <location filename="../../core/App.cpp" line="1083"/>
<source>command_line_option_show_app_version</source> <source>command_line_option_show_app_version</source>
<translation>Show app version</translation> <translation>Show app version</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1021"/> <location filename="../../core/App.cpp" line="1091"/>
<source>command_line_option_config_to_fetch</source> <source>command_line_option_config_to_fetch</source>
<extracomment>&quot;Specify the linphone configuration file to be fetched. It will be merged with the current configuration.&quot;</extracomment> <extracomment>&quot;Specify the linphone configuration file to be fetched. It will be merged with the current configuration.&quot;</extracomment>
<translation>Specify the linphone configuration file to be fetched. It will be merged with the current configuration.</translation> <translation>Specify the linphone configuration file to be fetched. It will be merged with the current configuration.</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1023"/> <location filename="../../core/App.cpp" line="1093"/>
<source>command_line_option_config_to_fetch_arg</source> <source>command_line_option_config_to_fetch_arg</source>
<extracomment>&quot;URL, path or file&quot;</extracomment> <extracomment>&quot;URL, path or file&quot;</extracomment>
<translation>URL, path or file</translation> <translation>URL, path or file</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1028"/> <location filename="../../core/App.cpp" line="1098"/>
<source>command_line_option_minimized</source> <source>command_line_option_minimized</source>
<translation>Minimize</translation> <translation>Minimize</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1031"/> <location filename="../../core/App.cpp" line="1101"/>
<source>command_line_option_log_to_stdout</source> <source>command_line_option_log_to_stdout</source>
<translation>Log to stdout some debug information while running</translation> <translation>Log to stdout some debug information while running</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1034"/> <location filename="../../core/App.cpp" line="1104"/>
<source>command_line_option_print_app_logs_only</source> <source>command_line_option_print_app_logs_only</source>
<extracomment>&quot;Print only logs from the application&quot;</extracomment> <extracomment>&quot;Print only logs from the application&quot;</extracomment>
<translation>Print only logs from the application</translation> <translation>Print only logs from the application</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1490"/> <location filename="../../core/App.cpp" line="1560"/>
<source>hide_action</source> <source>hide_action</source>
<extracomment>&quot;Cacher&quot; &quot;Afficher&quot;</extracomment> <extracomment>&quot;Cacher&quot; &quot;Afficher&quot;</extracomment>
<translation>Hide</translation> <translation>Hide</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1490"/> <location filename="../../core/App.cpp" line="1560"/>
<source>show_action</source> <source>show_action</source>
<translation>Show</translation> <translation>Show</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1505"/> <location filename="../../core/App.cpp" line="1575"/>
<source>quit_action</source> <source>quit_action</source>
<extracomment>&quot;Quitter&quot;</extracomment> <extracomment>&quot;Quitter&quot;</extracomment>
<translation>Quit</translation> <translation>Quit</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1523"/> <location filename="../../core/App.cpp" line="1593"/>
<source>check_for_update</source> <source>check_for_update</source>
<extracomment>Check for update</extracomment> <extracomment>Check for update</extracomment>
<translation>Check for update</translation> <translation>Check for update</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1646"/> <location filename="../../core/App.cpp" line="1716"/>
<source>mark_all_read_action</source> <source>mark_all_read_action</source>
<translation>Marquer tout comme lu</translation> <translation>Marquer tout comme lu</translation>
</message> </message>
@ -814,19 +814,19 @@
<translation>Password</translation> <translation>Password</translation>
</message> </message>
<message> <message>
<location filename="../../view/Control/Popup/Dialog/AuthenticationDialog.qml" line="86"/> <location filename="../../view/Control/Popup/Dialog/AuthenticationDialog.qml" line="87"/>
<source>cancel</source> <source>cancel</source>
<extracomment>&quot;Annuler</extracomment> <extracomment>&quot;Annuler</extracomment>
<translation>Cancel</translation> <translation>Cancel</translation>
</message> </message>
<message> <message>
<location filename="../../view/Control/Popup/Dialog/AuthenticationDialog.qml" line="96"/> <location filename="../../view/Control/Popup/Dialog/AuthenticationDialog.qml" line="97"/>
<source>assistant_account_login</source> <source>assistant_account_login</source>
<extracomment>Connexion</extracomment> <extracomment>Connexion</extracomment>
<translation>Connection</translation> <translation>Connection</translation>
</message> </message>
<message> <message>
<location filename="../../view/Control/Popup/Dialog/AuthenticationDialog.qml" line="104"/> <location filename="../../view/Control/Popup/Dialog/AuthenticationDialog.qml" line="105"/>
<source>assistant_account_login_missing_password</source> <source>assistant_account_login_missing_password</source>
<extracomment>Veuillez saisir un mot de passe</extracomment> <extracomment>Veuillez saisir un mot de passe</extracomment>
<translation>Please enter a password</translation> <translation>Please enter a password</translation>
@ -1007,7 +1007,7 @@
<context> <context>
<name>CallHistoryListView</name> <name>CallHistoryListView</name>
<message> <message>
<location filename="../../view/Control/Display/Call/CallHistoryListView.qml" line="204"/> <location filename="../../view/Control/Display/Call/CallHistoryListView.qml" line="198"/>
<source>call_name_accessible_button</source> <source>call_name_accessible_button</source>
<extracomment>Call %1</extracomment> <extracomment>Call %1</extracomment>
<translation>Call %1</translation> <translation>Call %1</translation>
@ -1205,12 +1205,12 @@
<context> <context>
<name>CallPage</name> <name>CallPage</name>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="246"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="245"/>
<source>call_forward_to_address_info</source> <source>call_forward_to_address_info</source>
<translation>Forward calls to: </translation> <translation>Forward calls to: </translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="246"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="245"/>
<source>call_forward_to_address_info_voicemail</source> <source>call_forward_to_address_info_voicemail</source>
<translation>Voicemail</translation> <translation>Voicemail</translation>
</message> </message>
@ -1227,170 +1227,170 @@
<translation>Empty call history</translation> <translation>Empty call history</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="86"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="85"/>
<source>history_dialog_delete_all_call_logs_title</source> <source>history_dialog_delete_all_call_logs_title</source>
<extracomment>Supprimer l&apos;historique d&apos;appels ?</extracomment> <extracomment>Supprimer l&apos;historique d&apos;appels ?</extracomment>
<translation>Delete call history ?</translation> <translation>Delete call history ?</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="88"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="87"/>
<source>history_dialog_delete_all_call_logs_message</source> <source>history_dialog_delete_all_call_logs_message</source>
<extracomment>&quot;L&apos;ensemble de votre historique d&apos;appels sera définitivement supprimé.&quot;</extracomment> <extracomment>&quot;L&apos;ensemble de votre historique d&apos;appels sera définitivement supprimé.&quot;</extracomment>
<translation>Call history will be permanently deleted.</translation> <translation>Call history will be permanently deleted.</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="94"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="93"/>
<source>history_dialog_delete_call_logs_title</source> <source>history_dialog_delete_call_logs_title</source>
<extracomment>Supprimer l&apos;historique d&apos;appels ?</extracomment> <extracomment>Supprimer l&apos;historique d&apos;appels ?</extracomment>
<translation>Delete call history ?</translation> <translation>Delete call history ?</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="96"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="95"/>
<source>history_dialog_delete_call_logs_message</source> <source>history_dialog_delete_call_logs_message</source>
<extracomment>&quot;L&apos;ensemble de votre historique d&apos;appels avec ce correspondant sera définitivement supprimé.&quot;</extracomment> <extracomment>&quot;L&apos;ensemble de votre historique d&apos;appels avec ce correspondant sera définitivement supprimé.&quot;</extracomment>
<translation>Call history with this user will be permanently deleted.</translation> <translation>Call history with this user will be permanently deleted.</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="151"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="150"/>
<source>call_history_call_list_title</source> <source>call_history_call_list_title</source>
<extracomment>&quot;Appels&quot;</extracomment> <extracomment>&quot;Appels&quot;</extracomment>
<translation>Calls</translation> <translation>Calls</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="459"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="458"/>
<source>call_history_options_accessible_name</source> <source>call_history_options_accessible_name</source>
<translation>Call history options</translation> <translation>Call history options</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="171"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="170"/>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="551"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="550"/>
<source>menu_delete_history</source> <source>menu_delete_history</source>
<extracomment>&quot;Supprimer l&apos;historique&quot;</extracomment> <extracomment>&quot;Supprimer l&apos;historique&quot;</extracomment>
<translation>Delete history</translation> <translation>Delete history</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="165"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="164"/>
<source>call_history_list_options_accessible_name</source> <source>call_history_list_options_accessible_name</source>
<extracomment>Call history options</extracomment> <extracomment>Call history options</extracomment>
<translation>Call history options</translation> <translation>Call history options</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="199"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="198"/>
<source>create_new_call_accessible_name</source> <source>create_new_call_accessible_name</source>
<extracomment>Create new call</extracomment> <extracomment>Create new call</extracomment>
<translation>Create new call</translation> <translation>Create new call</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="212"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="211"/>
<source>call_search_in_history</source> <source>call_search_in_history</source>
<extracomment>&quot;Rechercher un appel&quot;</extracomment> <extracomment>&quot;Rechercher un appel&quot;</extracomment>
<translation>Find call</translation> <translation>Find call</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="275"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="274"/>
<source>list_filter_no_result_found</source> <source>list_filter_no_result_found</source>
<extracomment>&quot;Aucun résultat&quot;</extracomment> <extracomment>&quot;Aucun résultat&quot;</extracomment>
<translation>No result found</translation> <translation>No result found</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="277"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="276"/>
<source>history_list_empty_history</source> <source>history_list_empty_history</source>
<extracomment>&quot;Aucun appel dans votre historique&quot;</extracomment> <extracomment>&quot;Aucun appel dans votre historique&quot;</extracomment>
<translation>No call in history</translation> <translation>No call in history</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="354"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="353"/>
<source>return_to_call_history_accessible_name</source> <source>return_to_call_history_accessible_name</source>
<extracomment>Return to call history</extracomment> <extracomment>Return to call history</extracomment>
<translation>Return to call history</translation> <translation>Return to call history</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="365"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="364"/>
<source>call_action_start_new_call</source> <source>call_action_start_new_call</source>
<extracomment>&quot;Nouvel appel&quot;</extracomment> <extracomment>&quot;Nouvel appel&quot;</extracomment>
<translation>New call</translation> <translation>New call</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="406"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="405"/>
<source>call_start_group_call_title</source> <source>call_start_group_call_title</source>
<extracomment>&quot;Appel de groupe&quot;</extracomment> <extracomment>&quot;Appel de groupe&quot;</extracomment>
<translation>Group call</translation> <translation>Group call</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="408"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="407"/>
<source>call_action_start_group_call</source> <source>call_action_start_group_call</source>
<extracomment>&quot;Lancer&quot;</extracomment> <extracomment>&quot;Lancer&quot;</extracomment>
<translation>Start</translation> <translation>Start</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="418"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="417"/>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="422"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="421"/>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="520"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="519"/>
<source>information_popup_error_title</source> <source>information_popup_error_title</source>
<translation>Error</translation> <translation>Error</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="420"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="419"/>
<source>group_call_error_must_have_name</source> <source>group_call_error_must_have_name</source>
<extracomment>&quot;Un nom doit être donné à l&apos;appel de groupe</extracomment> <extracomment>&quot;Un nom doit être donné à l&apos;appel de groupe</extracomment>
<translation>A name must be provided for the call</translation> <translation>A name must be provided for the call</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="424"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="423"/>
<source>group_call_error_not_connected</source> <source>group_call_error_not_connected</source>
<extracomment>&quot;Vous n&apos;etes pas connecté&quot;</extracomment> <extracomment>&quot;Vous n&apos;etes pas connecté&quot;</extracomment>
<translation>You are not connected</translation> <translation>You are not connected</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="478"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="477"/>
<source>menu_see_existing_contact</source> <source>menu_see_existing_contact</source>
<extracomment>&quot;Show contact&quot;</extracomment> <extracomment>&quot;Show contact&quot;</extracomment>
<translation>Show contact</translation> <translation>Show contact</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="480"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="479"/>
<source>menu_add_address_to_contacts</source> <source>menu_add_address_to_contacts</source>
<extracomment>&quot;Add to contacts&quot;</extracomment> <extracomment>&quot;Add to contacts&quot;</extracomment>
<translation>Add to contacts</translation> <translation>Add to contacts</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="502"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="501"/>
<source>menu_copy_sip_address</source> <source>menu_copy_sip_address</source>
<extracomment>&quot;Copier l&apos;adresse SIP&quot;</extracomment> <extracomment>&quot;Copier l&apos;adresse SIP&quot;</extracomment>
<translation>Copy SIP address</translation> <translation>Copy SIP address</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="514"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="513"/>
<source>sip_address_copied_to_clipboard_toast</source> <source>sip_address_copied_to_clipboard_toast</source>
<extracomment>Adresse copiée</extracomment> <extracomment>Adresse copiée</extracomment>
<translation>SIP address copied</translation> <translation>SIP address copied</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="516"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="515"/>
<source>sip_address_copied_to_clipboard_message</source> <source>sip_address_copied_to_clipboard_message</source>
<extracomment>L&apos;adresse a é copié dans le presse_papiers</extracomment> <extracomment>L&apos;adresse a é copié dans le presse_papiers</extracomment>
<translation>The address has been copied to the clipboard</translation> <translation>The address has been copied to the clipboard</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="522"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="521"/>
<source>sip_address_copy_to_clipboard_error</source> <source>sip_address_copy_to_clipboard_error</source>
<extracomment>&quot;Erreur lors de la copie de l&apos;adresse&quot;</extracomment> <extracomment>&quot;Erreur lors de la copie de l&apos;adresse&quot;</extracomment>
<translation>Error copying address</translation> <translation>Error copying address</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="642"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="641"/>
<source>notification_missed_call_title</source> <source>notification_missed_call_title</source>
<extracomment>&quot;Appel manqué&quot;</extracomment> <extracomment>&quot;Appel manqué&quot;</extracomment>
<translation>Missed call</translation> <translation>Missed call</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="645"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="644"/>
<source>call_outgoing</source> <source>call_outgoing</source>
<extracomment>&quot;Appel sortant&quot;</extracomment> <extracomment>&quot;Appel sortant&quot;</extracomment>
<translation>Outgoing call</translation> <translation>Outgoing call</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="647"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="646"/>
<source>call_audio_incoming</source> <source>call_audio_incoming</source>
<extracomment>&quot;Appel entrant&quot;</extracomment> <extracomment>&quot;Appel entrant&quot;</extracomment>
<translation>Incoming call</translation> <translation>Incoming call</translation>
@ -2504,115 +2504,115 @@ Only your correspondent can decrypt them.</translation>
<translation>No conversation</translation> <translation>No conversation</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="46"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="45"/>
<source>info_popup_error_title</source> <source>info_popup_error_title</source>
<translation>Error</translation> <translation>Error</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="48"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="47"/>
<source>info_popup_chatroom_creation_failed</source> <source>info_popup_chatroom_creation_failed</source>
<extracomment>Chat room creation failed !</extracomment> <extracomment>Chat room creation failed !</extracomment>
<translation>Chat room creation failed !</translation> <translation>Chat room creation failed !</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="42"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="41"/>
<source>loading_popup_chatroom_creation_pending_message</source> <source>loading_popup_chatroom_creation_pending_message</source>
<extracomment>Chat room is being created...</extracomment> <extracomment>Chat room is being created...</extracomment>
<translation>Chat room is being created...</translation> <translation>Chat room is being created...</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="97"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="96"/>
<source>chat_dialog_delete_chat_title</source> <source>chat_dialog_delete_chat_title</source>
<extracomment>Supprimer la conversation ?</extracomment> <extracomment>Supprimer la conversation ?</extracomment>
<translation>Delete conversation ?</translation> <translation>Delete conversation ?</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="99"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="98"/>
<source>chat_dialog_delete_chat_message</source> <source>chat_dialog_delete_chat_message</source>
<extracomment>&quot;La conversation et tous ses messages seront supprimés.&quot;</extracomment> <extracomment>&quot;La conversation et tous ses messages seront supprimés.&quot;</extracomment>
<translation>This conversation and all its messages will be deleted.</translation> <translation>This conversation and all its messages will be deleted.</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="132"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="131"/>
<source>chat_list_title</source> <source>chat_list_title</source>
<extracomment>&quot;Conversations&quot;</extracomment> <extracomment>&quot;Conversations&quot;</extracomment>
<translation>Conversations</translation> <translation>Conversations</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="150"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="149"/>
<source>menu_mark_all_as_read</source> <source>menu_mark_all_as_read</source>
<extracomment>&quot;mark all as read&quot;</extracomment> <extracomment>&quot;mark all as read&quot;</extracomment>
<translation>Mark all as read</translation> <translation>Mark all as read</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="180"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="179"/>
<source>chat_search_in_history</source> <source>chat_search_in_history</source>
<extracomment>&quot;Rechercher une conversation&quot;</extracomment> <extracomment>&quot;Rechercher une conversation&quot;</extracomment>
<translation>Search for a chat</translation> <translation>Search for a chat</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="203"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="202"/>
<source>list_filter_no_result_found</source> <source>list_filter_no_result_found</source>
<extracomment>&quot;Aucun résultat&quot;</extracomment> <extracomment>&quot;Aucun résultat&quot;</extracomment>
<translation>No result</translation> <translation>No result</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="205"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="204"/>
<source>chat_list_empty_history</source> <source>chat_list_empty_history</source>
<extracomment>&quot;Aucune conversation dans votre historique&quot;</extracomment> <extracomment>&quot;Aucune conversation dans votre historique&quot;</extracomment>
<translation>No conversation in history</translation> <translation>No conversation in history</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="279"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="278"/>
<source>chat_action_start_new_chat</source> <source>chat_action_start_new_chat</source>
<extracomment>&quot;New chat&quot;</extracomment> <extracomment>&quot;New chat&quot;</extracomment>
<translation>New conversation</translation> <translation>New conversation</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="317"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="316"/>
<source>chat_start_group_chat_title</source> <source>chat_start_group_chat_title</source>
<extracomment>&quot;Nouveau groupe&quot;</extracomment> <extracomment>&quot;Nouveau groupe&quot;</extracomment>
<translation>New group</translation> <translation>New group</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="319"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="318"/>
<source>chat_action_start_group_chat</source> <source>chat_action_start_group_chat</source>
<extracomment>&quot;Créer&quot;</extracomment> <extracomment>&quot;Créer&quot;</extracomment>
<translation>Create</translation> <translation>Create</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="335"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="334"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="358"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="357"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="363"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="362"/>
<source>information_popup_error_title</source> <source>information_popup_error_title</source>
<translation>Error</translation> <translation>Error</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="337"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="336"/>
<source>information_popup_chat_creation_failed_message</source> <source>information_popup_chat_creation_failed_message</source>
<extracomment>&quot;La création a échoué&quot;</extracomment> <extracomment>&quot;La création a échoué&quot;</extracomment>
<translation>Creation failed</translation> <translation>Creation failed</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="355"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="354"/>
<source>group_chat_error_must_have_name</source> <source>group_chat_error_must_have_name</source>
<extracomment>&quot;Un nom doit être donné au groupe</extracomment> <extracomment>&quot;Un nom doit être donné au groupe</extracomment>
<translation>A name must be set for the group</translation> <translation>A name must be set for the group</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="360"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="359"/>
<source>group_chat_error_no_participant</source> <source>group_chat_error_no_participant</source>
<extracomment>&quot;Please select at least one participant</extracomment> <extracomment>&quot;Please select at least one participant</extracomment>
<translation>Please select at least one participant</translation> <translation>Please select at least one participant</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="365"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="364"/>
<source>group_call_error_not_connected</source> <source>group_call_error_not_connected</source>
<extracomment>&quot;Vous n&apos;etes pas connecté&quot;</extracomment> <extracomment>&quot;Vous n&apos;etes pas connecté&quot;</extracomment>
<translation>You are not connected</translation> <translation>You are not connected</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="371"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="370"/>
<source>chat_creation_in_progress</source> <source>chat_creation_in_progress</source>
<extracomment>Creation de la conversation en cours </extracomment> <extracomment>Creation de la conversation en cours </extracomment>
<translation>Chat creation pending</translation> <translation>Chat creation pending</translation>
@ -3476,12 +3476,12 @@ Only your correspondent can decrypt them.</translation>
<context> <context>
<name>CoreModel</name> <name>CoreModel</name>
<message> <message>
<location filename="../../model/core/CoreModel.cpp" line="207"/> <location filename="../../model/core/CoreModel.cpp" line="215"/>
<source>info_popup_error_title</source> <source>info_popup_error_title</source>
<translation>Error</translation> <translation>Error</translation>
</message> </message>
<message> <message>
<location filename="../../model/core/CoreModel.cpp" line="209"/> <location filename="../../model/core/CoreModel.cpp" line="217"/>
<source>fetching_config_failed_error_message</source> <source>fetching_config_failed_error_message</source>
<extracomment>&quot;Remote provisioning cannot be retrieved&quot;</extracomment> <extracomment>&quot;Remote provisioning cannot be retrieved&quot;</extracomment>
<translation>Remote provisioning cannot be retrieved</translation> <translation>Remote provisioning cannot be retrieved</translation>
@ -4268,144 +4268,144 @@ Expiration : %1</translation>
<context> <context>
<name>MainLayout</name> <name>MainLayout</name>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="143"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="142"/>
<source>bottom_navigation_calls_label</source> <source>bottom_navigation_calls_label</source>
<extracomment>&quot;Appels&quot;</extracomment> <extracomment>&quot;Appels&quot;</extracomment>
<translation>Calls</translation> <translation>Calls</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="145"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="144"/>
<source>open_calls_page_accessible_name</source> <source>open_calls_page_accessible_name</source>
<extracomment>&quot;Open calls page&quot;</extracomment> <extracomment>&quot;Open calls page&quot;</extracomment>
<translation>Open calls pages</translation> <translation>Open calls pages</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="151"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="150"/>
<source>bottom_navigation_contacts_label</source> <source>bottom_navigation_contacts_label</source>
<extracomment>&quot;Contacts&quot;</extracomment> <extracomment>&quot;Contacts&quot;</extracomment>
<translation>Contacts</translation> <translation>Contacts</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="153"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="152"/>
<source>open_contacts_page_accessible_name</source> <source>open_contacts_page_accessible_name</source>
<extracomment>&quot;Open contacts page&quot;</extracomment> <extracomment>&quot;Open contacts page&quot;</extracomment>
<translation>Open contacts page</translation> <translation>Open contacts page</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="159"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="158"/>
<source>bottom_navigation_conversations_label</source> <source>bottom_navigation_conversations_label</source>
<extracomment>&quot;Conversations&quot;</extracomment> <extracomment>&quot;Conversations&quot;</extracomment>
<translation>Conversations</translation> <translation>Conversations</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="161"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="160"/>
<source>open_conversations_page_accessible_name</source> <source>open_conversations_page_accessible_name</source>
<extracomment>&quot;Open conversations page&quot;</extracomment> <extracomment>&quot;Open conversations page&quot;</extracomment>
<translation>Open conversations page</translation> <translation>Open conversations page</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="168"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="167"/>
<source>bottom_navigation_meetings_label</source> <source>bottom_navigation_meetings_label</source>
<extracomment>&quot;Réunions&quot;</extracomment> <extracomment>&quot;Réunions&quot;</extracomment>
<translation>Meetings</translation> <translation>Meetings</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="170"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="169"/>
<source>open_contact_page_accessible_name</source> <source>open_contact_page_accessible_name</source>
<extracomment>&quot;Open meetings page&quot;</extracomment> <extracomment>&quot;Open meetings page&quot;</extracomment>
<translation>Open meetings page</translation> <translation>Open meetings page</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="221"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="220"/>
<source>searchbar_placeholder_text</source> <source>searchbar_placeholder_text</source>
<extracomment>&quot;Rechercher un contact, appeler %1&quot;</extracomment> <extracomment>&quot;Rechercher un contact, appeler %1&quot;</extracomment>
<translation>Find contact, call %1</translation> <translation>Find contact, call %1</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="223"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="222"/>
<source>searchbar_placeholder_text_chat_feature_enabled</source> <source>searchbar_placeholder_text_chat_feature_enabled</source>
<extracomment>&quot;ou envoyer un message &quot;</extracomment> <extracomment>&quot;ou envoyer un message &quot;</extracomment>
<translation>or send message </translation> <translation>or send message </translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="309"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="308"/>
<source>do_not_disturb_accessible_name</source> <source>do_not_disturb_accessible_name</source>
<extracomment>&quot;Do not disturb&quot;</extracomment> <extracomment>&quot;Do not disturb&quot;</extracomment>
<translation>Do not disturb</translation> <translation>Do not disturb</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="327"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="326"/>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="470"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="469"/>
<source>contact_presence_status_disable_do_not_disturb</source> <source>contact_presence_status_disable_do_not_disturb</source>
<extracomment>&quot;Désactiver ne pas déranger&quot;</extracomment> <extracomment>&quot;Désactiver ne pas déranger&quot;</extracomment>
<translation>Disable do not disturb</translation> <translation>Disable do not disturb</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="381"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="380"/>
<source>information_popup_error_title</source> <source>information_popup_error_title</source>
<translation>Error</translation> <translation>Error</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="383"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="382"/>
<source>no_voicemail_uri_error_message</source> <source>no_voicemail_uri_error_message</source>
<extracomment>&quot;L&apos;URI de messagerie vocale n&apos;est pas définie.&quot;</extracomment> <extracomment>&quot;L&apos;URI de messagerie vocale n&apos;est pas définie.&quot;</extracomment>
<translation>The voicemail URI is not defined.</translation> <translation>The voicemail URI is not defined.</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="396"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="395"/>
<source>account_list_accessible_name</source> <source>account_list_accessible_name</source>
<extracomment>&quot;Account list&quot;</extracomment> <extracomment>&quot;Account list&quot;</extracomment>
<translation>account list</translation> <translation>account list</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="434"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="433"/>
<source>application_options_accessible_name</source> <source>application_options_accessible_name</source>
<extracomment>&quot;Application options&quot;</extracomment> <extracomment>&quot;Application options&quot;</extracomment>
<translation>Application options</translation> <translation>Application options</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="459"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="458"/>
<source>drawer_menu_manage_account</source> <source>drawer_menu_manage_account</source>
<extracomment>Mon compte</extracomment> <extracomment>Mon compte</extracomment>
<translation>My account</translation> <translation>My account</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="472"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="471"/>
<source>contact_presence_status_enable_do_not_disturb</source> <source>contact_presence_status_enable_do_not_disturb</source>
<extracomment>&quot;Activer ne pas déranger&quot;</extracomment> <extracomment>&quot;Activer ne pas déranger&quot;</extracomment>
<translation>Enable do not disturb</translation> <translation>Enable do not disturb</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="487"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="486"/>
<source>settings_title</source> <source>settings_title</source>
<translation>Settings</translation> <translation>Settings</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="503"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="502"/>
<source>recordings_title</source> <source>recordings_title</source>
<extracomment>&quot;Enregistrements&quot;</extracomment> <extracomment>&quot;Enregistrements&quot;</extracomment>
<translation>Records</translation> <translation>Records</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="514"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="513"/>
<source>help_title</source> <source>help_title</source>
<extracomment>&quot;Aide&quot;</extracomment> <extracomment>&quot;Aide&quot;</extracomment>
<translation>Help</translation> <translation>Help</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="529"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="528"/>
<source>help_quit_title</source> <source>help_quit_title</source>
<extracomment>&quot;Quitter l&apos;application&quot;</extracomment> <extracomment>&quot;Quitter l&apos;application&quot;</extracomment>
<translation>Quit the app</translation> <translation>Quit the app</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="534"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="533"/>
<source>quit_app_question</source> <source>quit_app_question</source>
<extracomment>&quot;Quitter %1 ?&quot;</extracomment> <extracomment>&quot;Quitter %1 ?&quot;</extracomment>
<translation>Quit %1 ?</translation> <translation>Quit %1 ?</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="557"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="556"/>
<source>drawer_menu_add_account</source> <source>drawer_menu_add_account</source>
<extracomment>&quot;Ajouter un compte&quot;</extracomment> <extracomment>&quot;Ajouter un compte&quot;</extracomment>
<translation>Add an account</translation> <translation>Add an account</translation>
@ -4444,42 +4444,54 @@ Expiration : %1</translation>
<translation>Your correspondent has been transferred to the selected contact</translation> <translation>Your correspondent has been transferred to the selected contact</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="128"/> <location filename="../../view/Page/Window/Main/MainWindow.qml" line="132"/>
<source>information_popup_success_title</source> <source>information_popup_success_title</source>
<translation>Saved</translation> <translation>Saved</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="130"/> <location filename="../../view/Page/Window/Main/MainWindow.qml" line="134"/>
<source>information_popup_changes_saved</source> <source>information_popup_changes_saved</source>
<extracomment>&quot;Les changements ont é sauvegardés&quot;</extracomment> <extracomment>&quot;Les changements ont é sauvegardés&quot;</extracomment>
<translation>Changes have been saved</translation> <translation>Changes have been saved</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="215"/> <location filename="../../view/Page/Window/Main/MainWindow.qml" line="207"/>
<source>oidc_connection_waiting_message</source>
<extracomment>&quot;Trying to connect to single sign on on web page ...&quot;</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="220"/>
<source>cancel</source>
<extracomment>Cancel</extracomment>
<translation type="unfinished">Cancel</translation>
</message>
<message>
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="257"/>
<source>captcha_validation_loading_message</source> <source>captcha_validation_loading_message</source>
<extracomment>&quot;Veuillez valider le captcha sur la page web&quot;</extracomment> <extracomment>&quot;Veuillez valider le captcha sur la page web&quot;</extracomment>
<translation>Please validate the captcha on the web page</translation> <translation>Please validate the captcha on the web page</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="223"/> <location filename="../../view/Page/Window/Main/MainWindow.qml" line="265"/>
<source>assistant_register_error_title</source> <source>assistant_register_error_title</source>
<extracomment>&quot;Erreur lors de la création&quot;</extracomment> <extracomment>&quot;Erreur lors de la création&quot;</extracomment>
<translation>Error while creating</translation> <translation>Error while creating</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="243"/> <location filename="../../view/Page/Window/Main/MainWindow.qml" line="285"/>
<source>assistant_register_success_title</source> <source>assistant_register_success_title</source>
<extracomment>&quot;Compte créé&quot;</extracomment> <extracomment>&quot;Compte créé&quot;</extracomment>
<translation>Account created</translation> <translation>Account created</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="245"/> <location filename="../../view/Page/Window/Main/MainWindow.qml" line="287"/>
<source>assistant_register_success_message</source> <source>assistant_register_success_message</source>
<extracomment>&quot;Le compte a é créé. Vous pouvez maintenant vous connecter&quot;</extracomment> <extracomment>&quot;Le compte a é créé. Vous pouvez maintenant vous connecter&quot;</extracomment>
<translation>The account has been created. You can now log in.</translation> <translation>The account has been created. You can now log in.</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="250"/> <location filename="../../view/Page/Window/Main/MainWindow.qml" line="292"/>
<source>assistant_register_error_code</source> <source>assistant_register_error_code</source>
<extracomment>&quot;Erreur dans le code de validation&quot;</extracomment> <extracomment>&quot;Erreur dans le code de validation&quot;</extracomment>
<translation>Error in validation code</translation> <translation>Error in validation code</translation>
@ -4982,108 +4994,109 @@ Expiration : %1</translation>
<translation>OAuthHttpServerReplyHandler is not listening</translation> <translation>OAuthHttpServerReplyHandler is not listening</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="106"/> <location filename="../../model/auth/OIDCModel.cpp" line="107"/>
<location filename="../../model/auth/OIDCModel.cpp" line="273"/>
<source>oidc_authentication_timeout_message</source> <source>oidc_authentication_timeout_message</source>
<extracomment>Timeout: Not authenticated</extracomment> <extracomment>Timeout: Not authenticated</extracomment>
<translation>Timeout: Not authenticated</translation> <translation>Timeout: Not authenticated</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="125"/> <location filename="../../model/auth/OIDCModel.cpp" line="126"/>
<source>oidc_authentication_granted_message</source> <source>oidc_authentication_granted_message</source>
<extracomment>Authentication granted</extracomment> <extracomment>Authentication granted</extracomment>
<translation>Authentication granted</translation> <translation>Authentication granted</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="132"/> <location filename="../../model/auth/OIDCModel.cpp" line="133"/>
<source>oidc_authentication_not_authenticated_message</source> <source>oidc_authentication_not_authenticated_message</source>
<extracomment>Not authenticated</extracomment> <extracomment>Not authenticated</extracomment>
<translation>Not authenticated</translation> <translation>Not authenticated</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="138"/> <location filename="../../model/auth/OIDCModel.cpp" line="139"/>
<source>oidc_authentication_refresh_message</source> <source>oidc_authentication_refresh_message</source>
<extracomment>Refreshing token</extracomment> <extracomment>Refreshing token</extracomment>
<translation>Refreshing token</translation> <translation>Refreshing token</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="143"/> <location filename="../../model/auth/OIDCModel.cpp" line="144"/>
<source>oidc_authentication_temporary_credentials_message</source> <source>oidc_authentication_temporary_credentials_message</source>
<extracomment>Temporary credentials received</extracomment> <extracomment>Temporary credentials received</extracomment>
<translation>Temporary credentials received</translation> <translation>Temporary credentials received</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="161"/> <location filename="../../model/auth/OIDCModel.cpp" line="162"/>
<source>oidc_authentication_network_error</source> <source>oidc_authentication_network_error</source>
<extracomment>Network error</extracomment> <extracomment>Network error</extracomment>
<translation>Network error</translation> <translation>Network error</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="165"/> <location filename="../../model/auth/OIDCModel.cpp" line="166"/>
<source>oidc_authentication_server_error</source> <source>oidc_authentication_server_error</source>
<extracomment>Server error</extracomment> <extracomment>Server error</extracomment>
<translation>Server error</translation> <translation>Server error</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="169"/> <location filename="../../model/auth/OIDCModel.cpp" line="170"/>
<source>oidc_authentication_token_not_found_error</source> <source>oidc_authentication_token_not_found_error</source>
<extracomment>OAuth token not found</extracomment> <extracomment>OAuth token not found</extracomment>
<translation>OAuth token not found</translation> <translation>OAuth token not found</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="173"/> <location filename="../../model/auth/OIDCModel.cpp" line="174"/>
<source>oidc_authentication_token_secret_not_found_error</source> <source>oidc_authentication_token_secret_not_found_error</source>
<extracomment>OAuth token secret not found</extracomment> <extracomment>OAuth token secret not found</extracomment>
<translation>OAuth token secret not found</translation> <translation>OAuth token secret not found</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="177"/> <location filename="../../model/auth/OIDCModel.cpp" line="178"/>
<source>oidc_authentication_callback_not_verified_error</source> <source>oidc_authentication_callback_not_verified_error</source>
<extracomment>OAuth callback not verified</extracomment> <extracomment>OAuth callback not verified</extracomment>
<translation>OAuth callback not verified</translation> <translation>OAuth callback not verified</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="188"/> <location filename="../../model/auth/OIDCModel.cpp" line="190"/>
<source>oidc_authentication_request_auth_message</source> <source>oidc_authentication_request_auth_message</source>
<extracomment>Requesting authorization from browser</extracomment> <extracomment>Requesting authorization from browser</extracomment>
<translation>Requesting authorization from browser</translation> <translation>Requesting authorization from browser</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="219"/> <location filename="../../model/auth/OIDCModel.cpp" line="222"/>
<source>oidc_authentication_no_token_found_error</source> <source>oidc_authentication_no_token_found_error</source>
<translation>No token found</translation> <translation>No token found</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="232"/> <location filename="../../model/auth/OIDCModel.cpp" line="235"/>
<source>oidc_authentication_request_token_message</source> <source>oidc_authentication_request_token_message</source>
<extracomment>Requesting access token</extracomment> <extracomment>Requesting access token</extracomment>
<translation>Requesting access token</translation> <translation>Requesting access token</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="237"/> <location filename="../../model/auth/OIDCModel.cpp" line="240"/>
<source>oidc_authentication_refresh_token_message</source> <source>oidc_authentication_refresh_token_message</source>
<extracomment>Refreshing access token</extracomment> <extracomment>Refreshing access token</extracomment>
<translation>Refreshing access token</translation> <translation>Refreshing access token</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="242"/> <location filename="../../model/auth/OIDCModel.cpp" line="245"/>
<source>oidc_authentication_request_authorization_message</source> <source>oidc_authentication_request_authorization_message</source>
<extracomment>Requesting authorization</extracomment> <extracomment>Requesting authorization</extracomment>
<translation>Requesting authorization</translation> <translation>Requesting authorization</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="247"/> <location filename="../../model/auth/OIDCModel.cpp" line="250"/>
<source>oidc_authentication_request_temporary_credentials_message</source> <source>oidc_authentication_request_temporary_credentials_message</source>
<extracomment>Requesting temporary credentials</extracomment> <extracomment>Requesting temporary credentials</extracomment>
<translation>Requesting temporary credentials</translation> <translation>Requesting temporary credentials</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="274"/> <location filename="../../model/auth/OIDCModel.cpp" line="300"/>
<source>oidc_authentication_no_auth_found_in_config_error</source> <source>oidc_authentication_no_auth_found_in_config_error</source>
<extracomment>No authorization endpoint found in OpenID configuration</extracomment> <extracomment>No authorization endpoint found in OpenID configuration</extracomment>
<translation>No authorization endpoint found in OpenID configuration</translation> <translation>No authorization endpoint found in OpenID configuration</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="289"/> <location filename="../../model/auth/OIDCModel.cpp" line="315"/>
<source>oidc_authentication_no_token_found_in_config_error</source> <source>oidc_authentication_no_token_found_in_config_error</source>
<extracomment>No token endpoint found in OpenID configuration</extracomment> <extracomment>No token endpoint found in OpenID configuration</extracomment>
<translation>No token endpoint found in OpenID configuration</translation> <translation>No token endpoint found in OpenID configuration</translation>
@ -6186,32 +6199,32 @@ To enable them in a commercial project, please contact us.</translation>
<context> <context>
<name>WaitingRoom</name> <name>WaitingRoom</name>
<message> <message>
<location filename="../../view/Page/Main/Call/WaitingRoom.qml" line="99"/> <location filename="../../view/Page/Main/Call/WaitingRoom.qml" line="98"/>
<source>meeting_waiting_room_title</source> <source>meeting_waiting_room_title</source>
<extracomment>Participer à :</extracomment> <extracomment>Participer à :</extracomment>
<translation>Join :</translation> <translation>Join :</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/WaitingRoom.qml" line="121"/> <location filename="../../view/Page/Main/Call/WaitingRoom.qml" line="120"/>
<source>meeting_waiting_room_join</source> <source>meeting_waiting_room_join</source>
<extracomment>&quot;Rejoindre&quot;</extracomment> <extracomment>&quot;Rejoindre&quot;</extracomment>
<translation>Join</translation> <translation>Join</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/WaitingRoom.qml" line="132"/> <location filename="../../view/Page/Main/Call/WaitingRoom.qml" line="131"/>
<location filename="../../view/Page/Main/Call/WaitingRoom.qml" line="175"/> <location filename="../../view/Page/Main/Call/WaitingRoom.qml" line="174"/>
<source>cancel</source> <source>cancel</source>
<extracomment>Cancel</extracomment> <extracomment>Cancel</extracomment>
<translation>Cancel</translation> <translation>Cancel</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/WaitingRoom.qml" line="146"/> <location filename="../../view/Page/Main/Call/WaitingRoom.qml" line="145"/>
<source>meeting_waiting_room_joining_title</source> <source>meeting_waiting_room_joining_title</source>
<extracomment>&quot;Connexion à la réunion&quot;</extracomment> <extracomment>&quot;Connexion à la réunion&quot;</extracomment>
<translation>Connection to meeting</translation> <translation>Connection to meeting</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/WaitingRoom.qml" line="156"/> <location filename="../../view/Page/Main/Call/WaitingRoom.qml" line="155"/>
<source>meeting_waiting_room_joining_subtitle</source> <source>meeting_waiting_room_joining_subtitle</source>
<extracomment>&quot;Vous allez rejoindre la réunion dans quelques instants&quot;</extracomment> <extracomment>&quot;Vous allez rejoindre la réunion dans quelques instants&quot;</extracomment>
<translation>You will be joining the meeting in a few moments...</translation> <translation>You will be joining the meeting in a few moments...</translation>

View file

@ -95,7 +95,7 @@
<context> <context>
<name>AccountListView</name> <name>AccountListView</name>
<message> <message>
<location filename="../../view/Page/Main/Account/AccountListView.qml" line="89"/> <location filename="../../view/Page/Main/Account/AccountListView.qml" line="88"/>
<source>add_an_account</source> <source>add_an_account</source>
<extracomment>Add an account</extracomment> <extracomment>Add an account</extracomment>
<translation>Ajouter un compte</translation> <translation>Ajouter un compte</translation>
@ -650,141 +650,141 @@
<context> <context>
<name>App</name> <name>App</name>
<message> <message>
<location filename="../../core/App.cpp" line="365"/> <location filename="../../core/App.cpp" line="368"/>
<source>remote_provisioning_dialog</source> <source>remote_provisioning_dialog</source>
<extracomment>Voulez-vous télécharger et appliquer la configuration depuis cette adresse ?</extracomment> <extracomment>Voulez-vous télécharger et appliquer la configuration depuis cette adresse ?</extracomment>
<translation>Voulez-vous télécharger et appliquer la configuration depuis cette adresse ?</translation> <translation>Voulez-vous télécharger et appliquer la configuration depuis cette adresse ?</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="400"/> <location filename="../../core/App.cpp" line="425"/>
<location filename="../../core/App.cpp" line="452"/> <location filename="../../core/App.cpp" line="498"/>
<location filename="../../core/App.cpp" line="715"/> <location filename="../../core/App.cpp" line="785"/>
<source>info_popup_error_title</source> <source>info_popup_error_title</source>
<extracomment>Error</extracomment> <extracomment>Error</extracomment>
<translation>Erreur</translation> <translation>Erreur</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="401"/> <location filename="../../core/App.cpp" line="426"/>
<location filename="../../core/App.cpp" line="717"/> <location filename="../../core/App.cpp" line="787"/>
<source>info_popup_configuration_failed_message</source> <source>info_popup_configuration_failed_message</source>
<extracomment>Remote provisioning failed : %1</extracomment> <extracomment>Remote provisioning failed : %1</extracomment>
<translation>La configuration distante a échoué : %1</translation> <translation>La configuration distante a échoué : %1</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="455"/> <location filename="../../core/App.cpp" line="501"/>
<source>info_popup_error_checking_update</source> <source>info_popup_error_checking_update</source>
<extracomment>An error occured while trying to check update. Please try again later or contact support team.</extracomment> <extracomment>An error occured while trying to check update. Please try again later or contact support team.</extracomment>
<translation>Une erreur est survenue lors de la recherche de mise à jour. Merci de réessayer plus tard ou de contacter l&apos;équipe de support.</translation> <translation>Une erreur est survenue lors de la recherche de mise à jour. Merci de réessayer plus tard ou de contacter l&apos;équipe de support.</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="462"/> <location filename="../../core/App.cpp" line="508"/>
<source>info_popup_new_version_download_label</source> <source>info_popup_new_version_download_label</source>
<translation>Téléchargez-&#x202f;!</translation> <translation>Téléchargez-&#x202f;!</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="465"/> <location filename="../../core/App.cpp" line="511"/>
<source>info_popup_new_version_available_title</source> <source>info_popup_new_version_available_title</source>
<extracomment>New version available !</extracomment> <extracomment>New version available !</extracomment>
<translation>Nouvelle version disponible !</translation> <translation>Nouvelle version disponible !</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="467"/> <location filename="../../core/App.cpp" line="513"/>
<source>info_popup_new_version_available_message</source> <source>info_popup_new_version_available_message</source>
<extracomment>A new version of Linphone (%1) is available. %2</extracomment> <extracomment>A new version of Linphone (%1) is available. %2</extracomment>
<translation>Une nouvelle version de Linphone (%1) est disponible. %2</translation> <translation>Une nouvelle version de Linphone (%1) est disponible. %2</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="473"/> <location filename="../../core/App.cpp" line="519"/>
<source>info_popup_version_up_to_date_title</source> <source>info_popup_version_up_to_date_title</source>
<translation>À jour</translation> <translation>À jour</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="475"/> <location filename="../../core/App.cpp" line="521"/>
<source>info_popup_version_up_to_date_message</source> <source>info_popup_version_up_to_date_message</source>
<extracomment>Your version is up to date</extracomment> <extracomment>Your version is up to date</extracomment>
<translation>Votre version est à jour</translation> <translation>Votre version est à jour</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="711"/> <location filename="../../core/App.cpp" line="781"/>
<source>configuration_error_detail</source> <source>configuration_error_detail</source>
<extracomment>not reachable</extracomment> <extracomment>not reachable</extracomment>
<translation>indisponible</translation> <translation>indisponible</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1002"/> <location filename="../../core/App.cpp" line="1072"/>
<source>application_description</source> <source>application_description</source>
<extracomment>&quot;A free and open source SIP video-phone.&quot;</extracomment> <extracomment>&quot;A free and open source SIP video-phone.&quot;</extracomment>
<translation>A free and open source SIP video-phone.</translation> <translation>A free and open source SIP video-phone.</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1004"/> <location filename="../../core/App.cpp" line="1074"/>
<source>command_line_arg_order</source> <source>command_line_arg_order</source>
<extracomment>&quot;Send an order to the application towards a command line&quot;</extracomment> <extracomment>&quot;Send an order to the application towards a command line&quot;</extracomment>
<translation>Send an order to the application towards a command line</translation> <translation>Send an order to the application towards a command line</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1008"/> <location filename="../../core/App.cpp" line="1078"/>
<source>command_line_option_show_help</source> <source>command_line_option_show_help</source>
<translation>Show this help</translation> <translation>Show this help</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1013"/> <location filename="../../core/App.cpp" line="1083"/>
<source>command_line_option_show_app_version</source> <source>command_line_option_show_app_version</source>
<translation>Afficher la version de l&apos;application</translation> <translation>Afficher la version de l&apos;application</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1021"/> <location filename="../../core/App.cpp" line="1091"/>
<source>command_line_option_config_to_fetch</source> <source>command_line_option_config_to_fetch</source>
<extracomment>&quot;Specify the linphone configuration file to be fetched. It will be merged with the current configuration.&quot;</extracomment> <extracomment>&quot;Specify the linphone configuration file to be fetched. It will be merged with the current configuration.&quot;</extracomment>
<translation>Specify the linphone configuration file to be fetched. It will be merged with the current configuration.</translation> <translation>Specify the linphone configuration file to be fetched. It will be merged with the current configuration.</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1023"/> <location filename="../../core/App.cpp" line="1093"/>
<source>command_line_option_config_to_fetch_arg</source> <source>command_line_option_config_to_fetch_arg</source>
<extracomment>&quot;URL, path or file&quot;</extracomment> <extracomment>&quot;URL, path or file&quot;</extracomment>
<translation>URL, path or file</translation> <translation>URL, path or file</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1028"/> <location filename="../../core/App.cpp" line="1098"/>
<source>command_line_option_minimized</source> <source>command_line_option_minimized</source>
<translation>Minimiser</translation> <translation>Minimiser</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1031"/> <location filename="../../core/App.cpp" line="1101"/>
<source>command_line_option_log_to_stdout</source> <source>command_line_option_log_to_stdout</source>
<translation>Log to stdout some debug information while running</translation> <translation>Log to stdout some debug information while running</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1034"/> <location filename="../../core/App.cpp" line="1104"/>
<source>command_line_option_print_app_logs_only</source> <source>command_line_option_print_app_logs_only</source>
<extracomment>&quot;Print only logs from the application&quot;</extracomment> <extracomment>&quot;Print only logs from the application&quot;</extracomment>
<translation>Print only logs from the application</translation> <translation>Print only logs from the application</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1490"/> <location filename="../../core/App.cpp" line="1560"/>
<source>hide_action</source> <source>hide_action</source>
<extracomment>&quot;Cacher&quot; &quot;Afficher&quot;</extracomment> <extracomment>&quot;Cacher&quot; &quot;Afficher&quot;</extracomment>
<translation>Cacher</translation> <translation>Cacher</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1490"/> <location filename="../../core/App.cpp" line="1560"/>
<source>show_action</source> <source>show_action</source>
<translation>Afficher</translation> <translation>Afficher</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1505"/> <location filename="../../core/App.cpp" line="1575"/>
<source>quit_action</source> <source>quit_action</source>
<extracomment>&quot;Quitter&quot;</extracomment> <extracomment>&quot;Quitter&quot;</extracomment>
<translation>Quitter</translation> <translation>Quitter</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1523"/> <location filename="../../core/App.cpp" line="1593"/>
<source>check_for_update</source> <source>check_for_update</source>
<extracomment>Check for update</extracomment> <extracomment>Check for update</extracomment>
<translation>Rechercher une mise à jour</translation> <translation>Rechercher une mise à jour</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1646"/> <location filename="../../core/App.cpp" line="1716"/>
<source>mark_all_read_action</source> <source>mark_all_read_action</source>
<translation>Marquer tout comme lu</translation> <translation>Marquer tout comme lu</translation>
</message> </message>
@ -809,19 +809,19 @@
<translation>Mot de passe</translation> <translation>Mot de passe</translation>
</message> </message>
<message> <message>
<location filename="../../view/Control/Popup/Dialog/AuthenticationDialog.qml" line="86"/> <location filename="../../view/Control/Popup/Dialog/AuthenticationDialog.qml" line="87"/>
<source>cancel</source> <source>cancel</source>
<extracomment>&quot;Annuler</extracomment> <extracomment>&quot;Annuler</extracomment>
<translation>Annuler</translation> <translation>Annuler</translation>
</message> </message>
<message> <message>
<location filename="../../view/Control/Popup/Dialog/AuthenticationDialog.qml" line="96"/> <location filename="../../view/Control/Popup/Dialog/AuthenticationDialog.qml" line="97"/>
<source>assistant_account_login</source> <source>assistant_account_login</source>
<extracomment>Connexion</extracomment> <extracomment>Connexion</extracomment>
<translation>Connexion</translation> <translation>Connexion</translation>
</message> </message>
<message> <message>
<location filename="../../view/Control/Popup/Dialog/AuthenticationDialog.qml" line="104"/> <location filename="../../view/Control/Popup/Dialog/AuthenticationDialog.qml" line="105"/>
<source>assistant_account_login_missing_password</source> <source>assistant_account_login_missing_password</source>
<extracomment>Veuillez saisir un mot de passe</extracomment> <extracomment>Veuillez saisir un mot de passe</extracomment>
<translation>Veuillez saisir un mot de passe</translation> <translation>Veuillez saisir un mot de passe</translation>
@ -982,7 +982,7 @@
<context> <context>
<name>CallHistoryListView</name> <name>CallHistoryListView</name>
<message> <message>
<location filename="../../view/Control/Display/Call/CallHistoryListView.qml" line="204"/> <location filename="../../view/Control/Display/Call/CallHistoryListView.qml" line="198"/>
<source>call_name_accessible_button</source> <source>call_name_accessible_button</source>
<extracomment>Call %1</extracomment> <extracomment>Call %1</extracomment>
<translation>Appeler %1</translation> <translation>Appeler %1</translation>
@ -1192,180 +1192,180 @@
<translation>Historique d&apos;appel vide</translation> <translation>Historique d&apos;appel vide</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="86"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="85"/>
<source>history_dialog_delete_all_call_logs_title</source> <source>history_dialog_delete_all_call_logs_title</source>
<extracomment>Supprimer l&apos;historique d&apos;appels ?</extracomment> <extracomment>Supprimer l&apos;historique d&apos;appels ?</extracomment>
<translation>Supprimer l&apos;historique d&apos;appels ?</translation> <translation>Supprimer l&apos;historique d&apos;appels ?</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="88"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="87"/>
<source>history_dialog_delete_all_call_logs_message</source> <source>history_dialog_delete_all_call_logs_message</source>
<extracomment>&quot;L&apos;ensemble de votre historique d&apos;appels sera définitivement supprimé.&quot;</extracomment> <extracomment>&quot;L&apos;ensemble de votre historique d&apos;appels sera définitivement supprimé.&quot;</extracomment>
<translation>L&apos;ensemble de votre historique d&apos;appels sera définitivement supprimé.</translation> <translation>L&apos;ensemble de votre historique d&apos;appels sera définitivement supprimé.</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="94"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="93"/>
<source>history_dialog_delete_call_logs_title</source> <source>history_dialog_delete_call_logs_title</source>
<extracomment>Supprimer l&apos;historique d&apos;appels ?</extracomment> <extracomment>Supprimer l&apos;historique d&apos;appels ?</extracomment>
<translation>Supprimer l&apos;historique d&apos;appels ?</translation> <translation>Supprimer l&apos;historique d&apos;appels ?</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="96"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="95"/>
<source>history_dialog_delete_call_logs_message</source> <source>history_dialog_delete_call_logs_message</source>
<extracomment>&quot;L&apos;ensemble de votre historique d&apos;appels avec ce correspondant sera définitivement supprimé.&quot;</extracomment> <extracomment>&quot;L&apos;ensemble de votre historique d&apos;appels avec ce correspondant sera définitivement supprimé.&quot;</extracomment>
<translation>L&apos;ensemble de votre historique d&apos;appels avec ce correspondant sera définitivement supprimé.</translation> <translation>L&apos;ensemble de votre historique d&apos;appels avec ce correspondant sera définitivement supprimé.</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="151"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="150"/>
<source>call_history_call_list_title</source> <source>call_history_call_list_title</source>
<extracomment>&quot;Appels&quot;</extracomment> <extracomment>&quot;Appels&quot;</extracomment>
<translation>Appels</translation> <translation>Appels</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="459"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="458"/>
<source>call_history_options_accessible_name</source> <source>call_history_options_accessible_name</source>
<translation>Options de l&apos;</translation> <translation>Options de l&apos;</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="171"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="170"/>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="551"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="550"/>
<source>menu_delete_history</source> <source>menu_delete_history</source>
<extracomment>&quot;Supprimer l&apos;historique&quot;</extracomment> <extracomment>&quot;Supprimer l&apos;historique&quot;</extracomment>
<translation>Supprimer l&apos;historique</translation> <translation>Supprimer l&apos;historique</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="165"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="164"/>
<source>call_history_list_options_accessible_name</source> <source>call_history_list_options_accessible_name</source>
<extracomment>Call history options</extracomment> <extracomment>Call history options</extracomment>
<translation>Options de la liste de l&apos;historique d&apos;appel</translation> <translation>Options de la liste de l&apos;historique d&apos;appel</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="199"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="198"/>
<source>create_new_call_accessible_name</source> <source>create_new_call_accessible_name</source>
<extracomment>Create new call</extracomment> <extracomment>Create new call</extracomment>
<translation>Créer un nouvel appel</translation> <translation>Créer un nouvel appel</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="212"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="211"/>
<source>call_search_in_history</source> <source>call_search_in_history</source>
<extracomment>&quot;Rechercher un appel&quot;</extracomment> <extracomment>&quot;Rechercher un appel&quot;</extracomment>
<translation>Rechercher un appel</translation> <translation>Rechercher un appel</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="246"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="245"/>
<source>call_forward_to_address_info</source> <source>call_forward_to_address_info</source>
<translation>Transférer l&apos;appel à :</translation> <translation>Transférer l&apos;appel à :</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="246"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="245"/>
<source>call_forward_to_address_info_voicemail</source> <source>call_forward_to_address_info_voicemail</source>
<translation>Boîte vocale</translation> <translation>Boîte vocale</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="275"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="274"/>
<source>list_filter_no_result_found</source> <source>list_filter_no_result_found</source>
<extracomment>&quot;Aucun résultat&quot;</extracomment> <extracomment>&quot;Aucun résultat&quot;</extracomment>
<translation>Aucun résultat</translation> <translation>Aucun résultat</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="277"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="276"/>
<source>history_list_empty_history</source> <source>history_list_empty_history</source>
<extracomment>&quot;Aucun appel dans votre historique&quot;</extracomment> <extracomment>&quot;Aucun appel dans votre historique&quot;</extracomment>
<translation>Aucun appel dans votre historique</translation> <translation>Aucun appel dans votre historique</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="354"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="353"/>
<source>return_to_call_history_accessible_name</source> <source>return_to_call_history_accessible_name</source>
<extracomment>Return to call history</extracomment> <extracomment>Return to call history</extracomment>
<translation>Retourner à l&apos;historique d&apos;appels</translation> <translation>Retourner à l&apos;historique d&apos;appels</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="365"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="364"/>
<source>call_action_start_new_call</source> <source>call_action_start_new_call</source>
<extracomment>&quot;Nouvel appel&quot;</extracomment> <extracomment>&quot;Nouvel appel&quot;</extracomment>
<translation>Nouvel appel</translation> <translation>Nouvel appel</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="406"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="405"/>
<source>call_start_group_call_title</source> <source>call_start_group_call_title</source>
<extracomment>&quot;Appel de groupe&quot;</extracomment> <extracomment>&quot;Appel de groupe&quot;</extracomment>
<translation>Appel de groupe</translation> <translation>Appel de groupe</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="408"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="407"/>
<source>call_action_start_group_call</source> <source>call_action_start_group_call</source>
<extracomment>&quot;Lancer&quot;</extracomment> <extracomment>&quot;Lancer&quot;</extracomment>
<translation>Lancer</translation> <translation>Lancer</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="418"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="417"/>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="422"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="421"/>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="520"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="519"/>
<source>information_popup_error_title</source> <source>information_popup_error_title</source>
<translation>Erreur</translation> <translation>Erreur</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="420"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="419"/>
<source>group_call_error_must_have_name</source> <source>group_call_error_must_have_name</source>
<extracomment>&quot;Un nom doit être donné à l&apos;appel de groupe</extracomment> <extracomment>&quot;Un nom doit être donné à l&apos;appel de groupe</extracomment>
<translation>Un nom doit être donné à l&apos;appel de groupe</translation> <translation>Un nom doit être donné à l&apos;appel de groupe</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="424"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="423"/>
<source>group_call_error_not_connected</source> <source>group_call_error_not_connected</source>
<extracomment>&quot;Vous n&apos;etes pas connecté&quot;</extracomment> <extracomment>&quot;Vous n&apos;etes pas connecté&quot;</extracomment>
<translation>Vous n&apos;etes pas connecté</translation> <translation>Vous n&apos;etes pas connecté</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="478"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="477"/>
<source>menu_see_existing_contact</source> <source>menu_see_existing_contact</source>
<extracomment>&quot;Show contact&quot;</extracomment> <extracomment>&quot;Show contact&quot;</extracomment>
<translation>Voir le contact</translation> <translation>Voir le contact</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="480"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="479"/>
<source>menu_add_address_to_contacts</source> <source>menu_add_address_to_contacts</source>
<extracomment>&quot;Add to contacts&quot;</extracomment> <extracomment>&quot;Add to contacts&quot;</extracomment>
<translation>Ajouter aux contacts</translation> <translation>Ajouter aux contacts</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="502"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="501"/>
<source>menu_copy_sip_address</source> <source>menu_copy_sip_address</source>
<extracomment>&quot;Copier l&apos;adresse SIP&quot;</extracomment> <extracomment>&quot;Copier l&apos;adresse SIP&quot;</extracomment>
<translation>Copier l&apos;adresse SIP</translation> <translation>Copier l&apos;adresse SIP</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="514"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="513"/>
<source>sip_address_copied_to_clipboard_toast</source> <source>sip_address_copied_to_clipboard_toast</source>
<extracomment>Adresse copiée</extracomment> <extracomment>Adresse copiée</extracomment>
<translation>Adresse copiée</translation> <translation>Adresse copiée</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="516"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="515"/>
<source>sip_address_copied_to_clipboard_message</source> <source>sip_address_copied_to_clipboard_message</source>
<extracomment>L&apos;adresse a é copié dans le presse_papiers</extracomment> <extracomment>L&apos;adresse a é copié dans le presse_papiers</extracomment>
<translation>L&apos;adresse a é copié dans le presse-papiers</translation> <translation>L&apos;adresse a é copié dans le presse-papiers</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="522"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="521"/>
<source>sip_address_copy_to_clipboard_error</source> <source>sip_address_copy_to_clipboard_error</source>
<extracomment>&quot;Erreur lors de la copie de l&apos;adresse&quot;</extracomment> <extracomment>&quot;Erreur lors de la copie de l&apos;adresse&quot;</extracomment>
<translation>Erreur lors de la copie de l&apos;adresse</translation> <translation>Erreur lors de la copie de l&apos;adresse</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="642"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="641"/>
<source>notification_missed_call_title</source> <source>notification_missed_call_title</source>
<extracomment>&quot;Appel manqué&quot;</extracomment> <extracomment>&quot;Appel manqué&quot;</extracomment>
<translation>Appel manqué</translation> <translation>Appel manqué</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="645"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="644"/>
<source>call_outgoing</source> <source>call_outgoing</source>
<extracomment>&quot;Appel sortant&quot;</extracomment> <extracomment>&quot;Appel sortant&quot;</extracomment>
<translation>Appel sortant</translation> <translation>Appel sortant</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/CallPage.qml" line="647"/> <location filename="../../view/Page/Main/Call/CallPage.qml" line="646"/>
<source>call_audio_incoming</source> <source>call_audio_incoming</source>
<extracomment>&quot;Appel entrant&quot;</extracomment> <extracomment>&quot;Appel entrant&quot;</extracomment>
<translation>Appel entrant</translation> <translation>Appel entrant</translation>
@ -2479,115 +2479,115 @@ en bout. Seul votre correspondant peut les déchiffrer.</translation>
<translation>Aucune conversation</translation> <translation>Aucune conversation</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="46"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="45"/>
<source>info_popup_error_title</source> <source>info_popup_error_title</source>
<translation>Erreur</translation> <translation>Erreur</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="48"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="47"/>
<source>info_popup_chatroom_creation_failed</source> <source>info_popup_chatroom_creation_failed</source>
<extracomment>Chat room creation failed !</extracomment> <extracomment>Chat room creation failed !</extracomment>
<translation>La création de la conversation a échoué !</translation> <translation>La création de la conversation a échoué !</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="42"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="41"/>
<source>loading_popup_chatroom_creation_pending_message</source> <source>loading_popup_chatroom_creation_pending_message</source>
<extracomment>Chat room is being created...</extracomment> <extracomment>Chat room is being created...</extracomment>
<translation>Création de la conversation en cours...</translation> <translation>Création de la conversation en cours...</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="97"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="96"/>
<source>chat_dialog_delete_chat_title</source> <source>chat_dialog_delete_chat_title</source>
<extracomment>Supprimer la conversation ?</extracomment> <extracomment>Supprimer la conversation ?</extracomment>
<translation>Supprimer la conversation ?</translation> <translation>Supprimer la conversation ?</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="99"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="98"/>
<source>chat_dialog_delete_chat_message</source> <source>chat_dialog_delete_chat_message</source>
<extracomment>&quot;La conversation et tous ses messages seront supprimés.&quot;</extracomment> <extracomment>&quot;La conversation et tous ses messages seront supprimés.&quot;</extracomment>
<translation>La conversation et tous ses messages seront supprimés.</translation> <translation>La conversation et tous ses messages seront supprimés.</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="132"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="131"/>
<source>chat_list_title</source> <source>chat_list_title</source>
<extracomment>&quot;Conversations&quot;</extracomment> <extracomment>&quot;Conversations&quot;</extracomment>
<translation>Conversations</translation> <translation>Conversations</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="150"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="149"/>
<source>menu_mark_all_as_read</source> <source>menu_mark_all_as_read</source>
<extracomment>&quot;mark all as read&quot;</extracomment> <extracomment>&quot;mark all as read&quot;</extracomment>
<translation>Tout marquer comme lu</translation> <translation>Tout marquer comme lu</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="180"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="179"/>
<source>chat_search_in_history</source> <source>chat_search_in_history</source>
<extracomment>&quot;Rechercher une conversation&quot;</extracomment> <extracomment>&quot;Rechercher une conversation&quot;</extracomment>
<translation>Rechercher une conversation</translation> <translation>Rechercher une conversation</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="203"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="202"/>
<source>list_filter_no_result_found</source> <source>list_filter_no_result_found</source>
<extracomment>&quot;Aucun résultat&quot;</extracomment> <extracomment>&quot;Aucun résultat&quot;</extracomment>
<translation>Aucun résultat</translation> <translation>Aucun résultat</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="205"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="204"/>
<source>chat_list_empty_history</source> <source>chat_list_empty_history</source>
<extracomment>&quot;Aucune conversation dans votre historique&quot;</extracomment> <extracomment>&quot;Aucune conversation dans votre historique&quot;</extracomment>
<translation>Aucune conversation dans votre historique</translation> <translation>Aucune conversation dans votre historique</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="279"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="278"/>
<source>chat_action_start_new_chat</source> <source>chat_action_start_new_chat</source>
<extracomment>&quot;New chat&quot;</extracomment> <extracomment>&quot;New chat&quot;</extracomment>
<translation>Nouvelle conversation</translation> <translation>Nouvelle conversation</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="317"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="316"/>
<source>chat_start_group_chat_title</source> <source>chat_start_group_chat_title</source>
<extracomment>&quot;Nouveau groupe&quot;</extracomment> <extracomment>&quot;Nouveau groupe&quot;</extracomment>
<translation>Nouveau groupe</translation> <translation>Nouveau groupe</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="319"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="318"/>
<source>chat_action_start_group_chat</source> <source>chat_action_start_group_chat</source>
<extracomment>&quot;Créer&quot;</extracomment> <extracomment>&quot;Créer&quot;</extracomment>
<translation>Créer</translation> <translation>Créer</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="335"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="334"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="358"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="357"/>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="363"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="362"/>
<source>information_popup_error_title</source> <source>information_popup_error_title</source>
<translation>Erreur</translation> <translation>Erreur</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="337"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="336"/>
<source>information_popup_chat_creation_failed_message</source> <source>information_popup_chat_creation_failed_message</source>
<extracomment>&quot;La création a échoué&quot;</extracomment> <extracomment>&quot;La création a échoué&quot;</extracomment>
<translation>La création a échoué</translation> <translation>La création a échoué</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="355"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="354"/>
<source>group_chat_error_must_have_name</source> <source>group_chat_error_must_have_name</source>
<extracomment>&quot;Un nom doit être donné au groupe</extracomment> <extracomment>&quot;Un nom doit être donné au groupe</extracomment>
<translation>Un nom doit être donné au groupe</translation> <translation>Un nom doit être donné au groupe</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="360"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="359"/>
<source>group_chat_error_no_participant</source> <source>group_chat_error_no_participant</source>
<extracomment>&quot;Please select at least one participant</extracomment> <extracomment>&quot;Please select at least one participant</extracomment>
<translation>Veuillez sélectionner au moins un participant</translation> <translation>Veuillez sélectionner au moins un participant</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="365"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="364"/>
<source>group_call_error_not_connected</source> <source>group_call_error_not_connected</source>
<extracomment>&quot;Vous n&apos;etes pas connecté&quot;</extracomment> <extracomment>&quot;Vous n&apos;etes pas connecté&quot;</extracomment>
<translation>Vous n&apos;êtes pas connecté</translation> <translation>Vous n&apos;êtes pas connecté</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Chat/ChatPage.qml" line="371"/> <location filename="../../view/Page/Main/Chat/ChatPage.qml" line="370"/>
<source>chat_creation_in_progress</source> <source>chat_creation_in_progress</source>
<extracomment>Creation de la conversation en cours </extracomment> <extracomment>Creation de la conversation en cours </extracomment>
<translation>Création de la conversation en cours</translation> <translation>Création de la conversation en cours</translation>
@ -3451,12 +3451,12 @@ en bout. Seul votre correspondant peut les déchiffrer.</translation>
<context> <context>
<name>CoreModel</name> <name>CoreModel</name>
<message> <message>
<location filename="../../model/core/CoreModel.cpp" line="207"/> <location filename="../../model/core/CoreModel.cpp" line="215"/>
<source>info_popup_error_title</source> <source>info_popup_error_title</source>
<translation>Erreur</translation> <translation>Erreur</translation>
</message> </message>
<message> <message>
<location filename="../../model/core/CoreModel.cpp" line="209"/> <location filename="../../model/core/CoreModel.cpp" line="217"/>
<source>fetching_config_failed_error_message</source> <source>fetching_config_failed_error_message</source>
<extracomment>&quot;Remote provisioning cannot be retrieved&quot;</extracomment> <extracomment>&quot;Remote provisioning cannot be retrieved&quot;</extracomment>
<translation>La configuration distante n&apos;a pas pu être récupérée</translation> <translation>La configuration distante n&apos;a pas pu être récupérée</translation>
@ -4243,144 +4243,144 @@ Expiration : %1</translation>
<context> <context>
<name>MainLayout</name> <name>MainLayout</name>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="143"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="142"/>
<source>bottom_navigation_calls_label</source> <source>bottom_navigation_calls_label</source>
<extracomment>&quot;Appels&quot;</extracomment> <extracomment>&quot;Appels&quot;</extracomment>
<translation>Appels</translation> <translation>Appels</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="145"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="144"/>
<source>open_calls_page_accessible_name</source> <source>open_calls_page_accessible_name</source>
<extracomment>&quot;Open calls page&quot;</extracomment> <extracomment>&quot;Open calls page&quot;</extracomment>
<translation>Ouvrir la page des appels</translation> <translation>Ouvrir la page des appels</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="151"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="150"/>
<source>bottom_navigation_contacts_label</source> <source>bottom_navigation_contacts_label</source>
<extracomment>&quot;Contacts&quot;</extracomment> <extracomment>&quot;Contacts&quot;</extracomment>
<translation>Contacts</translation> <translation>Contacts</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="153"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="152"/>
<source>open_contacts_page_accessible_name</source> <source>open_contacts_page_accessible_name</source>
<extracomment>&quot;Open contacts page&quot;</extracomment> <extracomment>&quot;Open contacts page&quot;</extracomment>
<translation>Ouvrir la page des contacts</translation> <translation>Ouvrir la page des contacts</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="159"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="158"/>
<source>bottom_navigation_conversations_label</source> <source>bottom_navigation_conversations_label</source>
<extracomment>&quot;Conversations&quot;</extracomment> <extracomment>&quot;Conversations&quot;</extracomment>
<translation>Conversations</translation> <translation>Conversations</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="161"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="160"/>
<source>open_conversations_page_accessible_name</source> <source>open_conversations_page_accessible_name</source>
<extracomment>&quot;Open conversations page&quot;</extracomment> <extracomment>&quot;Open conversations page&quot;</extracomment>
<translation>Ouvrir la page des conversations</translation> <translation>Ouvrir la page des conversations</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="168"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="167"/>
<source>bottom_navigation_meetings_label</source> <source>bottom_navigation_meetings_label</source>
<extracomment>&quot;Réunions&quot;</extracomment> <extracomment>&quot;Réunions&quot;</extracomment>
<translation>Réunions</translation> <translation>Réunions</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="170"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="169"/>
<source>open_contact_page_accessible_name</source> <source>open_contact_page_accessible_name</source>
<extracomment>&quot;Open meetings page&quot;</extracomment> <extracomment>&quot;Open meetings page&quot;</extracomment>
<translation>Ouvrir la page des réunions</translation> <translation>Ouvrir la page des réunions</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="221"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="220"/>
<source>searchbar_placeholder_text</source> <source>searchbar_placeholder_text</source>
<extracomment>&quot;Rechercher un contact, appeler %1&quot;</extracomment> <extracomment>&quot;Rechercher un contact, appeler %1&quot;</extracomment>
<translation>Rechercher un contact, appeler %1</translation> <translation>Rechercher un contact, appeler %1</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="223"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="222"/>
<source>searchbar_placeholder_text_chat_feature_enabled</source> <source>searchbar_placeholder_text_chat_feature_enabled</source>
<extracomment>&quot;ou envoyer un message &quot;</extracomment> <extracomment>&quot;ou envoyer un message &quot;</extracomment>
<translation>ou envoyer un message </translation> <translation>ou envoyer un message </translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="309"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="308"/>
<source>do_not_disturb_accessible_name</source> <source>do_not_disturb_accessible_name</source>
<extracomment>&quot;Do not disturb&quot;</extracomment> <extracomment>&quot;Do not disturb&quot;</extracomment>
<translation>Ne pas déranger</translation> <translation>Ne pas déranger</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="327"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="326"/>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="470"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="469"/>
<source>contact_presence_status_disable_do_not_disturb</source> <source>contact_presence_status_disable_do_not_disturb</source>
<extracomment>&quot;Désactiver ne pas déranger&quot;</extracomment> <extracomment>&quot;Désactiver ne pas déranger&quot;</extracomment>
<translation>Désactiver ne pas déranger</translation> <translation>Désactiver ne pas déranger</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="381"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="380"/>
<source>information_popup_error_title</source> <source>information_popup_error_title</source>
<translation>Erreur</translation> <translation>Erreur</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="383"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="382"/>
<source>no_voicemail_uri_error_message</source> <source>no_voicemail_uri_error_message</source>
<extracomment>&quot;L&apos;URI de messagerie vocale n&apos;est pas définie.&quot;</extracomment> <extracomment>&quot;L&apos;URI de messagerie vocale n&apos;est pas définie.&quot;</extracomment>
<translation>L&apos;URI de messagerie vocale n&apos;est pas définie.</translation> <translation>L&apos;URI de messagerie vocale n&apos;est pas définie.</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="396"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="395"/>
<source>account_list_accessible_name</source> <source>account_list_accessible_name</source>
<extracomment>&quot;Account list&quot;</extracomment> <extracomment>&quot;Account list&quot;</extracomment>
<translation>liste des comptes</translation> <translation>liste des comptes</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="434"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="433"/>
<source>application_options_accessible_name</source> <source>application_options_accessible_name</source>
<extracomment>&quot;Application options&quot;</extracomment> <extracomment>&quot;Application options&quot;</extracomment>
<translation>Options de l&apos;application</translation> <translation>Options de l&apos;application</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="459"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="458"/>
<source>drawer_menu_manage_account</source> <source>drawer_menu_manage_account</source>
<extracomment>Mon compte</extracomment> <extracomment>Mon compte</extracomment>
<translation>Mon compte</translation> <translation>Mon compte</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="472"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="471"/>
<source>contact_presence_status_enable_do_not_disturb</source> <source>contact_presence_status_enable_do_not_disturb</source>
<extracomment>&quot;Activer ne pas déranger&quot;</extracomment> <extracomment>&quot;Activer ne pas déranger&quot;</extracomment>
<translation>Activer ne pas déranger</translation> <translation>Activer ne pas déranger</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="487"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="486"/>
<source>settings_title</source> <source>settings_title</source>
<translation>Paramètres</translation> <translation>Paramètres</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="503"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="502"/>
<source>recordings_title</source> <source>recordings_title</source>
<extracomment>&quot;Enregistrements&quot;</extracomment> <extracomment>&quot;Enregistrements&quot;</extracomment>
<translation>Enregistrements</translation> <translation>Enregistrements</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="514"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="513"/>
<source>help_title</source> <source>help_title</source>
<extracomment>&quot;Aide&quot;</extracomment> <extracomment>&quot;Aide&quot;</extracomment>
<translation>Aide</translation> <translation>Aide</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="529"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="528"/>
<source>help_quit_title</source> <source>help_quit_title</source>
<extracomment>&quot;Quitter l&apos;application&quot;</extracomment> <extracomment>&quot;Quitter l&apos;application&quot;</extracomment>
<translation>Quitter l&apos;application</translation> <translation>Quitter l&apos;application</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="534"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="533"/>
<source>quit_app_question</source> <source>quit_app_question</source>
<extracomment>&quot;Quitter %1 ?&quot;</extracomment> <extracomment>&quot;Quitter %1 ?&quot;</extracomment>
<translation>Quitter %1 ?</translation> <translation>Quitter %1 ?</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="557"/> <location filename="../../view/Page/Layout/Main/MainLayout.qml" line="556"/>
<source>drawer_menu_add_account</source> <source>drawer_menu_add_account</source>
<extracomment>&quot;Ajouter un compte&quot;</extracomment> <extracomment>&quot;Ajouter un compte&quot;</extracomment>
<translation>Ajouter un compte</translation> <translation>Ajouter un compte</translation>
@ -4419,42 +4419,54 @@ Expiration : %1</translation>
<translation>Votre correspondant a é transféré au contact sélectionné</translation> <translation>Votre correspondant a é transféré au contact sélectionné</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="128"/> <location filename="../../view/Page/Window/Main/MainWindow.qml" line="132"/>
<source>information_popup_success_title</source> <source>information_popup_success_title</source>
<translation>Enregistré</translation> <translation>Enregistré</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="130"/> <location filename="../../view/Page/Window/Main/MainWindow.qml" line="134"/>
<source>information_popup_changes_saved</source> <source>information_popup_changes_saved</source>
<extracomment>&quot;Les changements ont é sauvegardés&quot;</extracomment> <extracomment>&quot;Les changements ont é sauvegardés&quot;</extracomment>
<translation>Les changements ont é sauvegardés</translation> <translation>Les changements ont é sauvegardés</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="215"/> <location filename="../../view/Page/Window/Main/MainWindow.qml" line="207"/>
<source>oidc_connection_waiting_message</source>
<extracomment>&quot;Trying to connect to single sign on on web page ...&quot;</extracomment>
<translation>Tentative de connexion distante ...</translation>
</message>
<message>
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="220"/>
<source>cancel</source>
<extracomment>Cancel</extracomment>
<translation>Annuler</translation>
</message>
<message>
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="257"/>
<source>captcha_validation_loading_message</source> <source>captcha_validation_loading_message</source>
<extracomment>&quot;Veuillez valider le captcha sur la page web&quot;</extracomment> <extracomment>&quot;Veuillez valider le captcha sur la page web&quot;</extracomment>
<translation>Veuillez valider le captcha sur la page web</translation> <translation>Veuillez valider le captcha sur la page web</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="223"/> <location filename="../../view/Page/Window/Main/MainWindow.qml" line="265"/>
<source>assistant_register_error_title</source> <source>assistant_register_error_title</source>
<extracomment>&quot;Erreur lors de la création&quot;</extracomment> <extracomment>&quot;Erreur lors de la création&quot;</extracomment>
<translation>Erreur lors de la création</translation> <translation>Erreur lors de la création</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="243"/> <location filename="../../view/Page/Window/Main/MainWindow.qml" line="285"/>
<source>assistant_register_success_title</source> <source>assistant_register_success_title</source>
<extracomment>&quot;Compte créé&quot;</extracomment> <extracomment>&quot;Compte créé&quot;</extracomment>
<translation>Compte créé</translation> <translation>Compte créé</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="245"/> <location filename="../../view/Page/Window/Main/MainWindow.qml" line="287"/>
<source>assistant_register_success_message</source> <source>assistant_register_success_message</source>
<extracomment>&quot;Le compte a é créé. Vous pouvez maintenant vous connecter&quot;</extracomment> <extracomment>&quot;Le compte a é créé. Vous pouvez maintenant vous connecter&quot;</extracomment>
<translation>Le compte a é créé. Vous pouvez maintenant vous connecter</translation> <translation>Le compte a é créé. Vous pouvez maintenant vous connecter</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="250"/> <location filename="../../view/Page/Window/Main/MainWindow.qml" line="292"/>
<source>assistant_register_error_code</source> <source>assistant_register_error_code</source>
<extracomment>&quot;Erreur dans le code de validation&quot;</extracomment> <extracomment>&quot;Erreur dans le code de validation&quot;</extracomment>
<translation>Erreur dans le code de validation</translation> <translation>Erreur dans le code de validation</translation>
@ -4953,108 +4965,109 @@ Expiration : %1</translation>
<translation>OAuthHttpServerReplyHandler n&apos;est pas disponible</translation> <translation>OAuthHttpServerReplyHandler n&apos;est pas disponible</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="106"/> <location filename="../../model/auth/OIDCModel.cpp" line="107"/>
<location filename="../../model/auth/OIDCModel.cpp" line="273"/>
<source>oidc_authentication_timeout_message</source> <source>oidc_authentication_timeout_message</source>
<extracomment>Timeout: Not authenticated</extracomment> <extracomment>Timeout: Not authenticated</extracomment>
<translation>Timeout : non authentifié</translation> <translation>Timeout : non authentifié</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="125"/> <location filename="../../model/auth/OIDCModel.cpp" line="126"/>
<source>oidc_authentication_granted_message</source> <source>oidc_authentication_granted_message</source>
<extracomment>Authentication granted</extracomment> <extracomment>Authentication granted</extracomment>
<translation>Authentification accordée</translation> <translation>Authentification accordée</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="132"/> <location filename="../../model/auth/OIDCModel.cpp" line="133"/>
<source>oidc_authentication_not_authenticated_message</source> <source>oidc_authentication_not_authenticated_message</source>
<extracomment>Not authenticated</extracomment> <extracomment>Not authenticated</extracomment>
<translation>Non authentifié</translation> <translation>Non authentifié</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="138"/> <location filename="../../model/auth/OIDCModel.cpp" line="139"/>
<source>oidc_authentication_refresh_message</source> <source>oidc_authentication_refresh_message</source>
<extracomment>Refreshing token</extracomment> <extracomment>Refreshing token</extracomment>
<translation>Token en cours de rafraîchissement</translation> <translation>Token en cours de rafraîchissement</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="143"/> <location filename="../../model/auth/OIDCModel.cpp" line="144"/>
<source>oidc_authentication_temporary_credentials_message</source> <source>oidc_authentication_temporary_credentials_message</source>
<extracomment>Temporary credentials received</extracomment> <extracomment>Temporary credentials received</extracomment>
<translation>Identifiants temporaires reçus</translation> <translation>Identifiants temporaires reçus</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="161"/> <location filename="../../model/auth/OIDCModel.cpp" line="162"/>
<source>oidc_authentication_network_error</source> <source>oidc_authentication_network_error</source>
<extracomment>Network error</extracomment> <extracomment>Network error</extracomment>
<translation>Erreur réseau</translation> <translation>Erreur réseau</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="165"/> <location filename="../../model/auth/OIDCModel.cpp" line="166"/>
<source>oidc_authentication_server_error</source> <source>oidc_authentication_server_error</source>
<extracomment>Server error</extracomment> <extracomment>Server error</extracomment>
<translation>Erreur de serveur</translation> <translation>Erreur de serveur</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="169"/> <location filename="../../model/auth/OIDCModel.cpp" line="170"/>
<source>oidc_authentication_token_not_found_error</source> <source>oidc_authentication_token_not_found_error</source>
<extracomment>OAuth token not found</extracomment> <extracomment>OAuth token not found</extracomment>
<translation>Token OAuth non trouvé</translation> <translation>Token OAuth non trouvé</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="173"/> <location filename="../../model/auth/OIDCModel.cpp" line="174"/>
<source>oidc_authentication_token_secret_not_found_error</source> <source>oidc_authentication_token_secret_not_found_error</source>
<extracomment>OAuth token secret not found</extracomment> <extracomment>OAuth token secret not found</extracomment>
<translation>Token OAuth secret non trouvé</translation> <translation>Token OAuth secret non trouvé</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="177"/> <location filename="../../model/auth/OIDCModel.cpp" line="178"/>
<source>oidc_authentication_callback_not_verified_error</source> <source>oidc_authentication_callback_not_verified_error</source>
<extracomment>OAuth callback not verified</extracomment> <extracomment>OAuth callback not verified</extracomment>
<translation>Retour OAuth non vérifié</translation> <translation>Retour OAuth non vérifié</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="188"/> <location filename="../../model/auth/OIDCModel.cpp" line="190"/>
<source>oidc_authentication_request_auth_message</source> <source>oidc_authentication_request_auth_message</source>
<extracomment>Requesting authorization from browser</extracomment> <extracomment>Requesting authorization from browser</extracomment>
<translation>En attente d&apos;autorisation du navigateur</translation> <translation>En attente d&apos;autorisation du navigateur</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="219"/> <location filename="../../model/auth/OIDCModel.cpp" line="222"/>
<source>oidc_authentication_no_token_found_error</source> <source>oidc_authentication_no_token_found_error</source>
<translation>Token non trouvé</translation> <translation>Token non trouvé</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="232"/> <location filename="../../model/auth/OIDCModel.cpp" line="235"/>
<source>oidc_authentication_request_token_message</source> <source>oidc_authentication_request_token_message</source>
<extracomment>Requesting access token</extracomment> <extracomment>Requesting access token</extracomment>
<translation>En attente du token d&apos;accès</translation> <translation>En attente du token d&apos;accès</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="237"/> <location filename="../../model/auth/OIDCModel.cpp" line="240"/>
<source>oidc_authentication_refresh_token_message</source> <source>oidc_authentication_refresh_token_message</source>
<extracomment>Refreshing access token</extracomment> <extracomment>Refreshing access token</extracomment>
<translation>Token en cours de rafraîchissement</translation> <translation>Token en cours de rafraîchissement</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="242"/> <location filename="../../model/auth/OIDCModel.cpp" line="245"/>
<source>oidc_authentication_request_authorization_message</source> <source>oidc_authentication_request_authorization_message</source>
<extracomment>Requesting authorization</extracomment> <extracomment>Requesting authorization</extracomment>
<translation>Autorisation en cours</translation> <translation>Autorisation en cours</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="247"/> <location filename="../../model/auth/OIDCModel.cpp" line="250"/>
<source>oidc_authentication_request_temporary_credentials_message</source> <source>oidc_authentication_request_temporary_credentials_message</source>
<extracomment>Requesting temporary credentials</extracomment> <extracomment>Requesting temporary credentials</extracomment>
<translation>En attente d&apos;identifiants temporaires</translation> <translation>En attente d&apos;identifiants temporaires</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="274"/> <location filename="../../model/auth/OIDCModel.cpp" line="300"/>
<source>oidc_authentication_no_auth_found_in_config_error</source> <source>oidc_authentication_no_auth_found_in_config_error</source>
<extracomment>No authorization endpoint found in OpenID configuration</extracomment> <extracomment>No authorization endpoint found in OpenID configuration</extracomment>
<translation>Pas d&apos;autorisation trouvé dans la configuration OpenID</translation> <translation>Pas d&apos;autorisation trouvé dans la configuration OpenID</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="289"/> <location filename="../../model/auth/OIDCModel.cpp" line="315"/>
<source>oidc_authentication_no_token_found_in_config_error</source> <source>oidc_authentication_no_token_found_in_config_error</source>
<extracomment>No token endpoint found in OpenID configuration</extracomment> <extracomment>No token endpoint found in OpenID configuration</extracomment>
<translation>Pas de token trouvé dans la configuration OpenID</translation> <translation>Pas de token trouvé dans la configuration OpenID</translation>
@ -6157,32 +6170,32 @@ Pour les activer dans un projet commercial, merci de nous contacter.</translatio
<context> <context>
<name>WaitingRoom</name> <name>WaitingRoom</name>
<message> <message>
<location filename="../../view/Page/Main/Call/WaitingRoom.qml" line="99"/> <location filename="../../view/Page/Main/Call/WaitingRoom.qml" line="98"/>
<source>meeting_waiting_room_title</source> <source>meeting_waiting_room_title</source>
<extracomment>Participer à :</extracomment> <extracomment>Participer à :</extracomment>
<translation>Participer à :</translation> <translation>Participer à :</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/WaitingRoom.qml" line="121"/> <location filename="../../view/Page/Main/Call/WaitingRoom.qml" line="120"/>
<source>meeting_waiting_room_join</source> <source>meeting_waiting_room_join</source>
<extracomment>&quot;Rejoindre&quot;</extracomment> <extracomment>&quot;Rejoindre&quot;</extracomment>
<translation>Rejoindre</translation> <translation>Rejoindre</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/WaitingRoom.qml" line="132"/> <location filename="../../view/Page/Main/Call/WaitingRoom.qml" line="131"/>
<location filename="../../view/Page/Main/Call/WaitingRoom.qml" line="175"/> <location filename="../../view/Page/Main/Call/WaitingRoom.qml" line="174"/>
<source>cancel</source> <source>cancel</source>
<extracomment>Cancel</extracomment> <extracomment>Cancel</extracomment>
<translation>Annuler</translation> <translation>Annuler</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/WaitingRoom.qml" line="146"/> <location filename="../../view/Page/Main/Call/WaitingRoom.qml" line="145"/>
<source>meeting_waiting_room_joining_title</source> <source>meeting_waiting_room_joining_title</source>
<extracomment>&quot;Connexion à la réunion&quot;</extracomment> <extracomment>&quot;Connexion à la réunion&quot;</extracomment>
<translation>Connexion à la réunion</translation> <translation>Connexion à la réunion</translation>
</message> </message>
<message> <message>
<location filename="../../view/Page/Main/Call/WaitingRoom.qml" line="156"/> <location filename="../../view/Page/Main/Call/WaitingRoom.qml" line="155"/>
<source>meeting_waiting_room_joining_subtitle</source> <source>meeting_waiting_room_joining_subtitle</source>
<extracomment>&quot;Vous allez rejoindre la réunion dans quelques instants&quot;</extracomment> <extracomment>&quot;Vous allez rejoindre la réunion dans quelques instants&quot;</extracomment>
<translation>Vous allez rejoindre la réunion dans quelques instants</translation> <translation>Vous allez rejoindre la réunion dans quelques instants</translation>

View file

@ -102,6 +102,7 @@ OIDCModel::OIDCModel(const std::shared_ptr<linphone::AuthInfo> &authInfo, QObjec
lWarning() << log().arg("Timeout reached for OpenID connection."); lWarning() << log().arg("Timeout reached for OpenID connection.");
dynamic_cast<OAuthHttpServerReplyHandler *>(mOidc.replyHandler())->close(); dynamic_cast<OAuthHttpServerReplyHandler *>(mOidc.replyHandler())->close();
CoreModel::getInstance()->getCore()->abortAuthentication(mAuthInfo); CoreModel::getInstance()->getCore()->abortAuthentication(mAuthInfo);
emit timeoutTimerStopped();
//: Timeout: Not authenticated //: Timeout: Not authenticated
emit statusChanged(tr("oidc_authentication_timeout_message")); emit statusChanged(tr("oidc_authentication_timeout_message"));
emit finished(); emit finished();
@ -120,14 +121,14 @@ OIDCModel::OIDCModel(const std::shared_ptr<linphone::AuthInfo> &authInfo, QObjec
connect(&mOidc, &QOAuth2AuthorizationCodeFlow::statusChanged, [=](QAbstractOAuth::Status status) { connect(&mOidc, &QOAuth2AuthorizationCodeFlow::statusChanged, [=](QAbstractOAuth::Status status) {
switch (status) { switch (status) {
case QAbstractOAuth::Status::Granted: { case QAbstractOAuth::Status::Granted: {
mTimeout.stop(); stopTimeoutTimer();
//: Authentication granted //: Authentication granted
emit statusChanged(tr("oidc_authentication_granted_message")); emit statusChanged(tr("oidc_authentication_granted_message"));
emit authenticated(); emit authenticated();
break; break;
} }
case QAbstractOAuth::Status::NotAuthenticated: { case QAbstractOAuth::Status::NotAuthenticated: {
mTimeout.stop(); stopTimeoutTimer();
//: Not authenticated //: Not authenticated
emit statusChanged(tr("oidc_authentication_not_authenticated_message")); emit statusChanged(tr("oidc_authentication_not_authenticated_message"));
emit finished(); emit finished();
@ -149,7 +150,7 @@ OIDCModel::OIDCModel(const std::shared_ptr<linphone::AuthInfo> &authInfo, QObjec
}); });
connect(&mOidc, &QOAuth2AuthorizationCodeFlow::requestFailed, [=](QAbstractOAuth::Error error) { connect(&mOidc, &QOAuth2AuthorizationCodeFlow::requestFailed, [=](QAbstractOAuth::Error error) {
mTimeout.stop(); stopTimeoutTimer();
const QMetaObject metaObject = QAbstractOAuth::staticMetaObject; const QMetaObject metaObject = QAbstractOAuth::staticMetaObject;
int index = metaObject.indexOfEnumerator("Error"); int index = metaObject.indexOfEnumerator("Error");
@ -183,10 +184,12 @@ OIDCModel::OIDCModel(const std::shared_ptr<linphone::AuthInfo> &authInfo, QObjec
}); });
connect(&mOidc, &QOAuth2AuthorizationCodeFlow::authorizeWithBrowser, [this](const QUrl &url) { connect(&mOidc, &QOAuth2AuthorizationCodeFlow::authorizeWithBrowser, [this](const QUrl &url) {
mustBeInLinphoneThread(log().arg(Q_FUNC_INFO));
qDebug() << "Browser authentication url : " << url; qDebug() << "Browser authentication url : " << url;
//: Requesting authorization from browser //: Requesting authorization from browser
emit statusChanged(tr("oidc_authentication_request_auth_message")); emit statusChanged(tr("oidc_authentication_request_auth_message"));
mTimeout.start(); mTimeout.start();
emit timeoutTimerStarted();
QDesktopServices::openUrl(url); QDesktopServices::openUrl(url);
}); });
@ -261,6 +264,29 @@ OIDCModel::OIDCModel(const std::shared_ptr<linphone::AuthInfo> &authInfo, QObjec
connect(reply, &QNetworkReply::finished, this, &OIDCModel::openIdConfigReceived); connect(reply, &QNetworkReply::finished, this, &OIDCModel::openIdConfigReceived);
} }
void OIDCModel::forceTimeout() {
lWarning() << log().arg("Froce timeout for OpenID connection.");
stopTimeoutTimer();
dynamic_cast<OAuthHttpServerReplyHandler *>(mOidc.replyHandler())->close();
CoreModel::getInstance()->getCore()->abortAuthentication(mAuthInfo);
//: Timeout: Not authenticated
emit statusChanged(tr("oidc_authentication_timeout_message"));
emit finished();
}
bool OIDCModel::isTimerRunning() const {
return mTimeout.isActive();
}
int OIDCModel::getRemainingTimeBeforeTimeOut() {
return mTimeout.remainingTime();
}
void OIDCModel::stopTimeoutTimer() {
mTimeout.stop();
emit timeoutTimerStopped();
}
void OIDCModel::openIdConfigReceived() { void OIDCModel::openIdConfigReceived() {
auto reply = dynamic_cast<QNetworkReply *>(sender()); auto reply = dynamic_cast<QNetworkReply *>(sender());
auto document = QJsonDocument::fromJson(reply->readAll()); auto document = QJsonDocument::fromJson(reply->readAll());

View file

@ -36,12 +36,18 @@ public:
void openIdConfigReceived(); void openIdConfigReceived();
void setBearers(); void setBearers();
void forceTimeout();
bool isTimerRunning() const;
int getRemainingTimeBeforeTimeOut();
void stopTimeoutTimer();
signals: signals:
void authenticated(); void authenticated();
void requestFailed(const QString &error); void requestFailed(const QString &error);
void statusChanged(const QString &status); void statusChanged(const QString &status);
void finished(); void finished();
void timeoutTimerStarted();
void timeoutTimerStopped();
private: private:
/** /**

View file

@ -145,6 +145,14 @@ void CoreModel::setConfigPath(QString path) {
} }
} }
void CoreModel::refreshOidcRemainingTime() {
for (auto oidc : mOpenIdConnections) {
if (oidc && oidc->isTimerRunning()) {
emit oidcRemainingTimeBeforeTimeoutChanged(oidc->getRemainingTimeBeforeTimeOut());
}
}
}
//------------------------------------------------------------------------------- //-------------------------------------------------------------------------------
// PATHS // PATHS
//------------------------------------------------------------------------------- //-------------------------------------------------------------------------------
@ -402,7 +410,19 @@ void CoreModel::onAuthenticationRequested(const std::shared_ptr<linphone::Core>
<< realm << " at " << serverUrl; << realm << " at " << serverUrl;
QString key = username + '@' + realm + ' ' + serverUrl; QString key = username + '@' + realm + ' ' + serverUrl;
if (mOpenIdConnections.contains(key)) mOpenIdConnections[key]->deleteLater(); if (mOpenIdConnections.contains(key)) mOpenIdConnections[key]->deleteLater();
mOpenIdConnections[key] = new OIDCModel(authInfo, this); auto oidcModel = new OIDCModel(authInfo, this);
mOpenIdConnections[key] = oidcModel;
connect(oidcModel, &OIDCModel::timeoutTimerStarted, this, [this] {
mustBeInLinphoneThread(log().arg(Q_FUNC_INFO));
emit timeoutTimerStarted();
qDebug() << "start refresh timer";
});
connect(oidcModel, &OIDCModel::timeoutTimerStopped, this, [this] { emit timeoutTimerStopped(); });
connect(this, &CoreModel::forceOidcTimeout, oidcModel, [this, oidcModel] {
if (oidcModel->isTimerRunning()) {
oidcModel->forceTimeout();
}
});
} }
} }
emit authenticationRequested(core, authInfo, method); emit authenticationRequested(core, authInfo, method);

View file

@ -61,6 +61,8 @@ public:
void start(); void start();
void setConfigPath(QString path); void setConfigPath(QString path);
void refreshOidcRemainingTime();
QString getFetchConfig(QString filePath, bool *error); QString getFetchConfig(QString filePath, bool *error);
void useFetchConfig(QString filePath); void useFetchConfig(QString filePath);
bool setFetchConfig(QString filePath); bool setFetchConfig(QString filePath);
@ -93,6 +95,10 @@ signals:
void enabledLdapAddressBookSaved(); void enabledLdapAddressBookSaved();
void magicSearchResultReceived(QString filter); void magicSearchResultReceived(QString filter);
void messageReadInChatRoom(std::shared_ptr<linphone::ChatRoom> chatRoom); void messageReadInChatRoom(std::shared_ptr<linphone::ChatRoom> chatRoom);
void oidcRemainingTimeBeforeTimeoutChanged(int remainingTime);
void forceOidcTimeout();
void timeoutTimerStarted();
void timeoutTimerStopped();
private: private:
QString mConfigPath; QString mConfigPath;

View file

@ -72,6 +72,7 @@ Dialog {
contentItem: TextField { contentItem: TextField {
id: passwordEdit id: passwordEdit
hidden: true hidden: true
width: parent.width
isError: passwordItem.errorTextVisible isError: passwordItem.errorTextVisible
KeyNavigation.down: cancelButton KeyNavigation.down: cancelButton
} }

View file

@ -87,7 +87,6 @@ Item {
AccountProxy { AccountProxy {
id: accountProxy id: accountProxy
sourceModel: AppCpp.accounts
onDefaultAccountChanged: if (tabbar.currentIndex === 0 && defaultAccount) onDefaultAccountChanged: if (tabbar.currentIndex === 0 && defaultAccount)
defaultAccount.core?.lResetMissedCalls() defaultAccount.core?.lResetMissedCalls()
} }

View file

@ -67,7 +67,6 @@ ColumnLayout{
Repeater{ Repeater{
model: AccountProxy { model: AccountProxy {
id: accountProxy id: accountProxy
sourceModel: AppCpp.accounts
} }
delegate: contactDelegate delegate: contactDelegate
} }

View file

@ -28,7 +28,6 @@ AbstractMainPage {
property ConferenceInfoGui confInfoGui property ConferenceInfoGui confInfoGui
property AccountProxy accounts: AccountProxy { property AccountProxy accounts: AccountProxy {
id: accountProxy id: accountProxy
sourceModel: AppCpp.accounts
} }
property AccountGui account: accountProxy.defaultAccount property AccountGui account: accountProxy.defaultAccount
property var state: account && account.core?.registrationState || 0 property var state: account && account.core?.registrationState || 0

View file

@ -35,7 +35,6 @@ RowLayout {
mutedStatus: microButton.checked mutedStatus: microButton.checked
AccountProxy { AccountProxy {
id: accounts id: accounts
sourceModel: AppCpp.accounts
} }
account: accounts.defaultAccount account: accounts.defaultAccount
} }

View file

@ -18,7 +18,6 @@ AbstractMainPage {
property AccountProxy accounts: AccountProxy { property AccountProxy accounts: AccountProxy {
id: accountProxy id: accountProxy
sourceModel: AppCpp.accounts
} }
property AccountGui account: accountProxy.defaultAccount property AccountGui account: accountProxy.defaultAccount
property var state: account && account.core?.registrationState || 0 property var state: account && account.core?.registrationState || 0

View file

@ -91,6 +91,10 @@ AbstractWindow {
mainWindowStackView.replace(loginPage) mainWindowStackView.replace(loginPage)
} }
function openSSOPage() {
mainWindowStackView.replace(ssoPage)
}
function scheduleMeeting(subject, addresses) { function scheduleMeeting(subject, addresses) {
openMainPage() openMainPage()
mainWindowStackView.currentItem.scheduleMeeting(subject, addresses) mainWindowStackView.currentItem.scheduleMeeting(subject, addresses)
@ -145,7 +149,6 @@ AbstractWindow {
id: accountProxyLoader id: accountProxyLoader
active: AppCpp.coreStarted active: AppCpp.coreStarted
sourceComponent: AccountProxy { sourceComponent: AccountProxy {
sourceModel: AppCpp.accounts
onInitializedChanged: if (isInitialized) { onInitializedChanged: if (isInitialized) {
mainWindow.accountProxy = this mainWindow.accountProxy = this
mainWindow.initStackViewItem() mainWindow.initStackViewItem()
@ -181,6 +184,45 @@ AbstractWindow {
} }
} }
} }
Component {
id: ssoPage
Rectangle {
color: DefaultStyle.grey_0
Image {
id: logoImage
anchors.centerIn: parent
source: AppIcons.splashscreenLogo
sourceSize.width: Utils.getSizeWithScreenRatio(395)
sourceSize.height: Utils.getSizeWithScreenRatio(395)
width: Utils.getSizeWithScreenRatio(395)
height: Utils.getSizeWithScreenRatio(395)
}
ColumnLayout {
anchors.top: logoImage.bottom
anchors.topMargin: Utils.getSizeWithScreenRatio(24)
anchors.horizontalCenter: parent.horizontalCenter
Text {
Layout.alignment: Qt.AlignHCenter
//: "Trying to connect to single sign on on web page ..."
text: qsTr("oidc_connection_waiting_message")
font: Typography.h2
horizontalAlignment: Text.AlignHCenter
}
Text {
Layout.alignment: Qt.AlignHCenter
text: UtilsCpp.formatDuration(AppCpp.remainingTimeBeforeOidcTimeout)
font: Typography.h3m
horizontalAlignment: Text.AlignHCenter
}
Button {
Layout.alignment: Qt.AlignHCenter
//: Cancel
text: qsTr("cancel")
onClicked: AppCpp.lForceOidcTimeout()
}
}
}
}
Component { Component {
id: loginPage id: loginPage
LoginPage { LoginPage {