Compare commits

..

No commits in common. "ca4380bfd0bb8faa4073f2cb65bfb09cffb2ea94" and "1f6a9796865ee8ba8a197e8f24f33c2077a8ed71" have entirely different histories.

23 changed files with 1157 additions and 1524 deletions

View file

@ -102,7 +102,7 @@ macosx-ninja-package:
- if: $PACKAGE_MACOSX
- if: $DEPLOY_MACOSX
variables:
CMAKE_OPTIONS: -DPython3_ROOT_DIR=/opt/bc/pip-packages/ -DENABLE_APP_PACKAGING=ON -DENABLE_GPL_THIRD_PARTIES=OFF -DENABLE_G729=ON -DENABLE_BUGSPLAT_SYMBOLS_UPLOAD=ON -DBUGSPLAT_CLIENT_ID=$BUGSPLAT_CLIENT_ID -DBUGSPLAT_CLIENT_SECRET=$BUGSPLAT_CLIENT_SECRET -DBUGSPLAT_DATABASE=$BUGSPLAT_DATABASE
CMAKE_OPTIONS: -DPython3_ROOT_DIR=/opt/bc/pip-packages/ -DENABLE_APP_PACKAGING=ON -DENABLE_GPL_THIRD_PARTIES=OFF -DENABLE_G729=ON
RELEASE_FILE: -DLINPHONE_SDK_MAKE_RELEASE_FILE_URL=$MAKE_RELEASE_FILE_URL/$MACOSX_PLATFORM/$APP_FOLDER
extends: macosx-ninja
script:

View file

@ -223,22 +223,10 @@ void ChatCore::setSelf(const QSharedPointer<ChatCore> &me) {
mChatModelConnection->makeConnectToModel(
&ChatModel::chatMessagesReceived, [this](const std::shared_ptr<linphone::ChatRoom> &chatRoom,
const std::list<std::shared_ptr<linphone::EventLog>> &eventsLog) {
if (!mChatModel) {
lWarning() << log().arg("Chat model is null !");
return;
} else if (!mChatModelConnection) {
lWarning() << log().arg("Connection between Core and Model is null !");
return;
}
if (mChatModel->getMonitor() != chatRoom) return;
lInfo() << log().arg("Chat message received in chatroom") << this << mChatModel->getTitle();
lInfo() << log().arg("Connection =") << mChatModelConnection.get();
lDebug() << log().arg("CHAT MESSAGE RECEIVED IN CHATROOM") << this << mChatModel->getTitle();
QList<QSharedPointer<EventLogCore>> list;
for (auto &e : eventsLog) {
if (!e) {
lWarning() << log().arg("Event log is null, continue");
continue;
}
auto event = EventLogCore::create(e, chatRoom);
list.push_back(event);
}
@ -389,15 +377,6 @@ void ChatCore::setSelf(const QSharedPointer<ChatCore> &me) {
setMeAdmin(meAdmin);
});
});
mChatModelConnection->makeConnectToModel(
&ChatModel::participantAddressesChanged,
[this](const std::shared_ptr<linphone::ChatRoom> &chatRoom, bool success) {
if (!success) {
auto participants = buildParticipants(chatRoom);
mChatModelConnection->invokeToCore([this, participants] { setParticipants(participants); });
}
mChatModelConnection->invokeToCore([this, success] { emit participantAddressesChanged(success); });
});
mChatModelConnection->makeConnectToCore(&ChatCore::lRemoveParticipantAtIndex, [this](int index) {
mChatModelConnection->invokeToModel([this, index]() { mChatModel->removeParticipantAtIndex(index); });
});

View file

@ -175,7 +175,6 @@ signals:
void fileListChanged();
void isSecuredChanged();
void conferenceJoined();
void participantAddressesChanged(bool success);
void lDeleteMessage(ChatMessageGui *message);
void lDelete();

View file

@ -366,8 +366,7 @@ void Notifier::notifyReceivedMessages(const std::shared_ptr<linphone::ChatRoom>
txt = tr("new_conference_invitation");
};
if (messages.size() == 1 &&
SettingsModel::getInstance()->getDisplayNotificationContent()) { // Display only sender on mono message.
if (messages.size() == 1) { // Display only sender on mono message.
if (message->isRead()) return;
getMessage(message);
if (txt.isEmpty()) { // Do not notify message without content
@ -383,9 +382,6 @@ void Notifier::notifyReceivedMessages(const std::shared_ptr<linphone::ChatRoom>
}
}
if (unreadCount == 0) return;
else if (unreadCount == 1)
//: 'New message received!' Notification that warn the user of a new message.
txt = tr("new_chat_room_message");
if (unreadCount > 1)
//: 'New messages received!' Notification that warn the user of new messages.
txt = tr("new_chat_room_messages");

View file

@ -275,8 +275,6 @@ QString Paths::getLogsDirPath() {
QString Paths::getAppRootCaFilePath() {
// Hardcoded because it comes from linphone and is not customizable.
return getReadableFilePath(getAppPackageDataDirPath() + "/linphone/rootca.pem");
}
QString Paths::getCrashpadDirPath() {
#ifdef HAVE_CRASH_HANDLER
return getWritableDirPath(QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation) +

View file

@ -92,8 +92,6 @@ void MagicSearchList::setSelf(const QSharedPointer<MagicSearchList> &me) {
mModelConnection->makeConnectToModel(
&MagicSearchModel::searchResultsReceived,
[this](const std::list<std::shared_ptr<linphone::SearchResult>> &results) {
lInfo() << log().arg("Search result received : Safe Connection =") << mModelConnection.get();
lInfo() << log().arg("this =") << this;
auto *contacts = new QList<QSharedPointer<FriendCore>>();
auto ldapContacts = ToolModel::getLdapFriendList();
auto core = CoreModel::getInstance()->getCore();

View file

@ -50,7 +50,6 @@ SettingsCore::SettingsCore(QObject *parent) : QObject(parent) {
mVideoEnabled = settingsModel->getVideoEnabled();
mEchoCancellationEnabled = settingsModel->getEchoCancellationEnabled();
mAutoDownloadReceivedFiles = settingsModel->getAutoDownloadReceivedFiles();
mDisplayNotificationContent = settingsModel->getDisplayNotificationContent();
mAutomaticallyRecordCallsEnabled = settingsModel->getAutomaticallyRecordCallsEnabled();
mRingtonePath = settingsModel->getRingtone();
QFileInfo ringtone(mRingtonePath);
@ -165,7 +164,6 @@ SettingsCore::SettingsCore(const SettingsCore &settingsCore) {
mVideoEnabled = settingsCore.mVideoEnabled;
mEchoCancellationEnabled = settingsCore.mEchoCancellationEnabled;
mAutoDownloadReceivedFiles = settingsCore.mAutoDownloadReceivedFiles;
mDisplayNotificationContent = settingsCore.mDisplayNotificationContent;
mAutomaticallyRecordCallsEnabled = settingsCore.mAutomaticallyRecordCallsEnabled;
// Audio
@ -252,7 +250,6 @@ void SettingsCore::reloadSettings() {
setVideoEnabled(settingsModel->getVideoEnabled());
setEchoCancellationEnabled(settingsModel->getEchoCancellationEnabled());
setAutoDownloadReceivedFiles(settingsModel->getAutoDownloadReceivedFiles());
setDisplayNotificationContent(settingsModel->getDisplayNotificationContent());
setAutomaticallyRecordCallsEnabled(settingsModel->getAutomaticallyRecordCallsEnabled());
setRingtone(settingsModel->getRingtone());
@ -403,12 +400,6 @@ void SettingsCore::setSelf(QSharedPointer<SettingsCore> me) {
mSettingsModelConnection->invokeToCore([this, enabled]() { setAutoDownloadReceivedFiles(enabled); });
});
// Auto download incoming files
mSettingsModelConnection->makeConnectToModel(
&SettingsModel::displayNotificationContentChanged, [this](const bool enabled) {
mSettingsModelConnection->invokeToCore([this, enabled]() { setDisplayNotificationContent(enabled); });
});
// Auto recording
mSettingsModelConnection->makeConnectToModel(
&SettingsModel::automaticallyRecordCallsEnabledChanged, [this](const bool enabled) {
@ -649,7 +640,6 @@ void SettingsCore::reset(const SettingsCore &settingsCore) {
setAutomaticallyRecordCallsEnabled(settingsCore.mAutomaticallyRecordCallsEnabled);
setAutoDownloadReceivedFiles(settingsCore.mAutoDownloadReceivedFiles);
setDisplayNotificationContent(settingsCore.mDisplayNotificationContent);
// Audio
setCaptureDevices(settingsCore.mCaptureDevices);
setPlaybackDevices(settingsCore.mPlaybackDevices);
@ -805,14 +795,6 @@ void SettingsCore::setAutoDownloadReceivedFiles(bool enabled) {
}
}
void SettingsCore::setDisplayNotificationContent(bool enabled) {
if (mDisplayNotificationContent != enabled) {
mDisplayNotificationContent = enabled;
emit displayNotificationContentChanged();
setIsSaved(false);
}
}
void SettingsCore::setAutomaticallyRecordCallsEnabled(bool enabled) {
if (mAutomaticallyRecordCallsEnabled != enabled) {
mAutomaticallyRecordCallsEnabled = enabled;
@ -1259,8 +1241,6 @@ void SettingsCore::writeIntoModel(std::shared_ptr<SettingsModel> model) const {
// Chat
model->setAutoDownloadReceivedFiles(mAutoDownloadReceivedFiles);
model->setDisplayNotificationContent(mDisplayNotificationContent);
// Audio
model->setRingerDevice(mRingerDevice);
model->setCaptureDevice(mCaptureDevice);
@ -1336,7 +1316,6 @@ void SettingsCore::writeFromModel(const std::shared_ptr<SettingsModel> &model) {
// Chat
mAutoDownloadReceivedFiles = model->getAutoDownloadReceivedFiles();
mDisplayNotificationContent = model->getDisplayNotificationContent();
// Audio
mCaptureDevices = model->getCaptureDevices();

View file

@ -42,8 +42,6 @@ public:
echoCancellationEnabledChanged)
Q_PROPERTY(bool autoDownloadReceivedFiles READ getAutoDownloadReceivedFiles WRITE setAutoDownloadReceivedFiles
NOTIFY autoDownloadReceivedFilesChanged)
Q_PROPERTY(bool displayNotificationContent READ getDisplayNotificationContent WRITE setDisplayNotificationContent
NOTIFY displayNotificationContentChanged)
Q_PROPERTY(
int echoCancellationCalibration READ getEchoCancellationCalibration NOTIFY echoCancellationCalibrationChanged)
Q_PROPERTY(bool automaticallyRecordCallsEnabled READ getAutomaticallyRecordCallsEnabled WRITE
@ -95,15 +93,16 @@ public:
Q_PROPERTY(bool fullLogsEnabled READ getFullLogsEnabled WRITE setFullLogsEnabled NOTIFY fullLogsEnabledChanged)
Q_PROPERTY(bool crashReporterEnabled READ getCrashReporterEnabled WRITE setCrashReporterEnabled NOTIFY
crashReporterEnabledChanged)
Q_PROPERTY(QString logsEmail READ getLogsEmail) Q_PROPERTY(QString logsFolder READ getLogsFolder)
Q_PROPERTY(QString logsEmail READ getLogsEmail)
Q_PROPERTY(QString logsFolder READ getLogsFolder)
Q_PROPERTY(QString ringtoneName READ getRingtoneFileName NOTIFY ringtoneChanged)
Q_PROPERTY(QString ringtonePath READ getRingtonePath WRITE setRingtone NOTIFY ringtoneChanged)
Q_PROPERTY(QString ringtoneFolder MEMBER mRingtoneFolder NOTIFY ringtoneChanged)
Q_PROPERTY(bool dnd READ dndEnabled WRITE lEnableDnd NOTIFY dndChanged)
Q_PROPERTY(bool isSaved READ isSaved WRITE setIsSaved NOTIFY isSavedChanged)
Q_PROPERTY(bool showAccountDevices READ showAccountDevices WRITE setShowAccountDevices
NOTIFY showAccountDevicesChanged)
Q_PROPERTY(
bool showAccountDevices READ showAccountDevices WRITE setShowAccountDevices NOTIFY showAccountDevicesChanged)
static QSharedPointer<SettingsCore> create();
SettingsCore(QObject *parent = Q_NULLPTR);
@ -153,11 +152,6 @@ public:
}
void setAutoDownloadReceivedFiles(bool enabled);
bool getDisplayNotificationContent() {
return mDisplayNotificationContent;
}
void setDisplayNotificationContent(bool enabled);
bool getAutomaticallyRecordCallsEnabled() {
return mAutomaticallyRecordCallsEnabled;
}
@ -315,7 +309,6 @@ signals:
void echoCancellationEnabledChanged();
void autoDownloadReceivedFilesChanged();
void displayNotificationContentChanged();
void automaticallyRecordCallsEnabledChanged();
@ -413,7 +406,6 @@ private:
bool mVideoEnabled;
bool mEchoCancellationEnabled;
bool mAutoDownloadReceivedFiles;
bool mDisplayNotificationContent;
bool mAutomaticallyRecordCallsEnabled;
// Audio

File diff suppressed because it is too large Load diff

View file

@ -39,45 +39,45 @@
<context>
<name>AccountCore</name>
<message>
<location filename="../../core/account/AccountCore.cpp" line="454"/>
<location filename="../../core/account/AccountCore.cpp" line="447"/>
<source>drawer_menu_account_connection_status_connected</source>
<extracomment>&quot;Connecté&quot;</extracomment>
<translation>Connected</translation>
</message>
<message>
<location filename="../../core/account/AccountCore.cpp" line="457"/>
<location filename="../../core/account/AccountCore.cpp" line="450"/>
<source>drawer_menu_account_connection_status_refreshing</source>
<translation>Refreshing</translation>
</message>
<message>
<location filename="../../core/account/AccountCore.cpp" line="460"/>
<location filename="../../core/account/AccountCore.cpp" line="453"/>
<source>drawer_menu_account_connection_status_progress</source>
<translation>Connecting</translation>
</message>
<message>
<location filename="../../core/account/AccountCore.cpp" line="463"/>
<location filename="../../core/account/AccountCore.cpp" line="456"/>
<source>drawer_menu_account_connection_status_failed</source>
<translation>Error</translation>
</message>
<message>
<location filename="../../core/account/AccountCore.cpp" line="467"/>
<location filename="../../core/account/AccountCore.cpp" line="460"/>
<source>drawer_menu_account_connection_status_cleared</source>
<translation>Disabled</translation>
</message>
<message>
<location filename="../../core/account/AccountCore.cpp" line="501"/>
<location filename="../../core/account/AccountCore.cpp" line="494"/>
<source>manage_account_status_connected_summary</source>
<extracomment>&quot;Vous êtes en ligne et joignable.&quot;</extracomment>
<translation>You are online and reachable.</translation>
</message>
<message>
<location filename="../../core/account/AccountCore.cpp" line="504"/>
<location filename="../../core/account/AccountCore.cpp" line="497"/>
<source>manage_account_status_failed_summary</source>
<extracomment>&quot;Erreur de connexion, vérifiez vos paramètres.&quot;</extracomment>
<translation>Connection error, check your settings.</translation>
</message>
<message>
<location filename="../../core/account/AccountCore.cpp" line="508"/>
<location filename="../../core/account/AccountCore.cpp" line="501"/>
<source>manage_account_status_cleared_summary</source>
<extracomment>&quot;Compte désactivé, vous ne recevrez ni appel ni message.&quot;</extracomment>
<translation>Account disabled, you will not receive calls or messages.</translation>
@ -503,7 +503,7 @@
<translation>Lime server URL</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/AccountSettingsParametersLayout.qml" line="282"/>
<location filename="../../view/Page/Layout/Settings/AccountSettingsParametersLayout.qml"/>
<source>account_settings_ccmp_server_url_title</source>
<extracomment>&quot;URL du serveur CCMP&quot;</extracomment>
<translation>CCMP server URL</translation>
@ -661,141 +661,141 @@
<context>
<name>App</name>
<message>
<location filename="../../core/App.cpp" line="370"/>
<location filename="../../core/App.cpp" line="368"/>
<source>remote_provisioning_dialog</source>
<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>
</message>
<message>
<location filename="../../core/App.cpp" line="427"/>
<location filename="../../core/App.cpp" line="505"/>
<location filename="../../core/App.cpp" line="791"/>
<location filename="../../core/App.cpp" line="425"/>
<location filename="../../core/App.cpp" line="503"/>
<location filename="../../core/App.cpp" line="789"/>
<source>info_popup_error_title</source>
<extracomment>Error</extracomment>
<translation>Error</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="428"/>
<location filename="../../core/App.cpp" line="793"/>
<location filename="../../core/App.cpp" line="426"/>
<location filename="../../core/App.cpp" line="791"/>
<source>info_popup_configuration_failed_message</source>
<extracomment>Remote provisioning failed : %1</extracomment>
<translation>Remote provisioning failed : %1</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="508"/>
<location filename="../../core/App.cpp" line="506"/>
<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>
<translation>An error occured while trying to check update. Please try again later or contact support team.</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="515"/>
<location filename="../../core/App.cpp" line="513"/>
<source>info_popup_new_version_download_label</source>
<translation>Download it !</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="518"/>
<location filename="../../core/App.cpp" line="516"/>
<source>info_popup_new_version_available_title</source>
<extracomment>New version available !</extracomment>
<translation>New version available !</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="520"/>
<location filename="../../core/App.cpp" line="518"/>
<source>info_popup_new_version_available_message</source>
<extracomment>A new version of Linphone (%1) is available. %2</extracomment>
<translation>A new version of Linphone (%1) is available at %1</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="526"/>
<location filename="../../core/App.cpp" line="524"/>
<source>info_popup_version_up_to_date_title</source>
<translation>Up to date</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="528"/>
<location filename="../../core/App.cpp" line="526"/>
<source>info_popup_version_up_to_date_message</source>
<extracomment>Your version is up to date</extracomment>
<translation>Up to date Your version is up to date</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="787"/>
<location filename="../../core/App.cpp" line="785"/>
<source>configuration_error_detail</source>
<extracomment>not reachable</extracomment>
<translation>not reachable</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1078"/>
<location filename="../../core/App.cpp" line="1076"/>
<source>application_description</source>
<extracomment>&quot;A free and open source SIP video-phone.&quot;</extracomment>
<translation>A free and open source SIP video-phone.</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1080"/>
<location filename="../../core/App.cpp" line="1078"/>
<source>command_line_arg_order</source>
<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>
</message>
<message>
<location filename="../../core/App.cpp" line="1084"/>
<location filename="../../core/App.cpp" line="1082"/>
<source>command_line_option_show_help</source>
<translation>Show this help</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1089"/>
<location filename="../../core/App.cpp" line="1087"/>
<source>command_line_option_show_app_version</source>
<translation>Show app version</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1097"/>
<location filename="../../core/App.cpp" line="1095"/>
<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>
<translation>Specify the linphone configuration file to be fetched. It will be merged with the current configuration.</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1099"/>
<location filename="../../core/App.cpp" line="1097"/>
<source>command_line_option_config_to_fetch_arg</source>
<extracomment>&quot;URL, path or file&quot;</extracomment>
<translation>URL, path or file</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1104"/>
<location filename="../../core/App.cpp" line="1102"/>
<source>command_line_option_minimized</source>
<translation>Minimize</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1107"/>
<location filename="../../core/App.cpp" line="1105"/>
<source>command_line_option_log_to_stdout</source>
<translation>Log to stdout some debug information while running</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1110"/>
<location filename="../../core/App.cpp" line="1108"/>
<source>command_line_option_print_app_logs_only</source>
<extracomment>&quot;Print only logs from the application&quot;</extracomment>
<translation>Print only logs from the application</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1566"/>
<location filename="../../core/App.cpp" line="1564"/>
<source>hide_action</source>
<extracomment>&quot;Cacher&quot; &quot;Afficher&quot;</extracomment>
<translation>Hide</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1566"/>
<location filename="../../core/App.cpp" line="1564"/>
<source>show_action</source>
<translation>Show</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1581"/>
<location filename="../../core/App.cpp" line="1579"/>
<source>quit_action</source>
<extracomment>&quot;Quitter&quot;</extracomment>
<translation>Quit</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1599"/>
<location filename="../../core/App.cpp" line="1597"/>
<source>check_for_update</source>
<extracomment>Check for update</extracomment>
<translation>Check for update</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1722"/>
<location filename="../../core/App.cpp" line="1720"/>
<source>mark_all_read_action</source>
<translation>Marquer tout comme lu</translation>
</message>
@ -841,76 +841,76 @@
<context>
<name>CallCore</name>
<message>
<location filename="../../core/call/CallCore.cpp" line="217"/>
<location filename="../../core/call/CallCore.cpp" line="215"/>
<source>call_record_end_message</source>
<extracomment>&quot;Enregistrement terminé&quot;</extracomment>
<translation>Recording ended</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="219"/>
<location filename="../../core/call/CallCore.cpp" line="217"/>
<source>call_record_saved_in_file_message</source>
<extracomment>&quot;L&apos;appel a é enregistré dans le fichier : %1&quot;</extracomment>
<translation>Recording has been saved in file : %1</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="403"/>
<location filename="../../core/call/CallCore.cpp" line="428"/>
<location filename="../../core/call/CallCore.cpp" line="401"/>
<location filename="../../core/call/CallCore.cpp" line="426"/>
<source>call_stats_codec_label</source>
<extracomment>&quot;Codec: %1 / %2 kHz&quot;</extracomment>
<translation>Codec: %1 / %2 kHz</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="407"/>
<location filename="../../core/call/CallCore.cpp" line="431"/>
<location filename="../../core/call/CallCore.cpp" line="405"/>
<location filename="../../core/call/CallCore.cpp" line="429"/>
<source>call_stats_bandwidth_label</source>
<extracomment>&quot;Bande passante : %1 %2 kbits/s %3 %4 kbits/s&quot;</extracomment>
<translation>Bandwidth : %1 %2 kbits/s %3 %4 kbits/s</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="413"/>
<location filename="../../core/call/CallCore.cpp" line="436"/>
<location filename="../../core/call/CallCore.cpp" line="411"/>
<location filename="../../core/call/CallCore.cpp" line="434"/>
<source>call_stats_loss_rate_label</source>
<extracomment>&quot;Taux de perte: %1% %2%&quot;</extracomment>
<translation>Loss rate: %1% %2%</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="418"/>
<location filename="../../core/call/CallCore.cpp" line="416"/>
<source>call_stats_jitter_buffer_label</source>
<extracomment>&quot;Tampon de gigue: %1 ms&quot;</extracomment>
<translation>Jitter buffer : %1 ms</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="445"/>
<location filename="../../core/call/CallCore.cpp" line="443"/>
<source>call_stats_resolution_label</source>
<extracomment>&quot;Définition vidéo : %1 %2 %3 %4&quot;</extracomment>
<translation>Video resolution: %1 %2 %3 %4</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="451"/>
<location filename="../../core/call/CallCore.cpp" line="449"/>
<source>call_stats_fps_label</source>
<extracomment>&quot;FPS : %1 %2 %3 %4&quot;</extracomment>
<translation>FPS : %1 %2 %3 %4</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="714"/>
<location filename="../../core/call/CallCore.cpp" line="674"/>
<source>media_encryption_dtls</source>
<extracomment>DTLS</extracomment>
<translation>DTLS</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="717"/>
<location filename="../../core/call/CallCore.cpp" line="677"/>
<source>media_encryption_none</source>
<extracomment>None</extracomment>
<translation>None</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="720"/>
<location filename="../../core/call/CallCore.cpp" line="680"/>
<source>media_encryption_srtp</source>
<extracomment>SRTP</extracomment>
<translation>SRTP</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="723"/>
<location filename="../../core/call/CallCore.cpp" line="683"/>
<source>media_encryption_post_quantum</source>
<extracomment>&quot;ZRTP - Post quantique&quot;</extracomment>
<translation>Post quantum ZRTP</translation>
@ -2079,13 +2079,13 @@
<context>
<name>ChatDroppableTextArea</name>
<message>
<location filename="../../view/Control/Input/Chat/ChatDroppableTextArea.qml" line="158"/>
<location filename="../../view/Control/Input/Chat/ChatDroppableTextArea.qml" line="156"/>
<source>chat_view_send_area_placeholder_text</source>
<extracomment>Say something : placeholder text for sending message text area</extracomment>
<translation>Say something</translation>
</message>
<message>
<location filename="../../view/Control/Input/Chat/ChatDroppableTextArea.qml" line="197"/>
<location filename="../../view/Control/Input/Chat/ChatDroppableTextArea.qml" line="195"/>
<source>cannot_record_while_in_call_tooltip</source>
<extracomment>Cannot record a message while a call is ongoing</extracomment>
<translation>Cannot record a message while a call is ongoing</translation>
@ -2161,98 +2161,99 @@
<context>
<name>ChatMessage</name>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="480"/>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="444"/>
<source>chat_message_copy_selection</source>
<extracomment>&quot;Copy selection&quot;</extracomment>
<translation>Copy selection</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="482"/>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="446"/>
<source>chat_message_copy</source>
<extracomment>&quot;Copy&quot;</extracomment>
<translation>Copy</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="490"/>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="454"/>
<source>chat_message_copied_to_clipboard_title</source>
<extracomment>Copied</extracomment>
<translation>Copied</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="492"/>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="456"/>
<source>chat_message_copied_to_clipboard_toast</source>
<extracomment>&quot;to clipboard&quot;</extracomment>
<translation>in clipboard</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="130"/>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="129"/>
<source>chat_message_remote_replied</source>
<extracomment>%1 replied</extracomment>
<translation>%1 replied to</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="97"/>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="96"/>
<source>chat_message_forwarded</source>
<extracomment>Forwarded</extracomment>
<translation>Forwarded</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="128"/>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="127"/>
<source>chat_message_remote_replied_to</source>
<extracomment>%1 replied to %2</extracomment>
<translation>%1 replied to %2</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="133"/>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="132"/>
<source>chat_message_user_replied_to</source>
<extracomment>You replied to %1</extracomment>
<translation>You replied to %1</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="135"/>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="134"/>
<source>chat_message_user_replied</source>
<extracomment>You replied</extracomment>
<translation>You replied</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="429"/>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="408"/>
<source>chat_message_send_again</source>
<extracomment>&quot;Re-send&quot;</extracomment>
<translation>Re-send</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="440"/>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="419"/>
<source>chat_message_reception_info</source>
<extracomment>&quot;Reception info&quot;</extracomment>
<translation>Reception info</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="452"/>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="407"/>
<source>menu_edit_chat_message</source>
<extracomment>&quot;Edit&quot;</extracomment>
<translation>Edit</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="466"/>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="431"/>
<source>chat_message_reply</source>
<extracomment>Reply</extracomment>
<translation>Reply</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="500"/>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="463"/>
<source>chat_message_forward</source>
<extracomment>Forward</extracomment>
<translation>Forward</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="517"/>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="480"/>
<source>chat_message_delete</source>
<extracomment>&quot;Delete&quot;</extracomment>
<translation>Delete</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="306"/>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="469"/>
<source>conversation_message_edited_label</source>
<extracomment>&quot;Edited&quot;</extracomment>
<translation>Edited</translation>
</message>
</context>
@ -2375,19 +2376,19 @@ Error</extracomment>
<context>
<name>ChatMessageCore</name>
<message>
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="163"/>
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="157"/>
<source>all_reactions_label</source>
<extracomment>&quot;Reactions&quot;: all reactions for one message label</extracomment>
<translation>Reactions</translation>
</message>
<message>
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="223"/>
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="214"/>
<source>info_toast_deleted_title</source>
<extracomment>Deleted</extracomment>
<translation>Deleted</translation>
</message>
<message>
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="225"/>
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="216"/>
<source>info_toast_deleted_message</source>
<extracomment>The message has been deleted</extracomment>
<translation>The message has been deleted</translation>
@ -2418,24 +2419,24 @@ Error</extracomment>
<translation>Meeting has been cancelled</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessageInvitationBubble.qml" line="182"/>
<location filename="../../view/Control/Display/Chat/ChatMessageInvitationBubble.qml" line="171"/>
<source></source>
<translation>from %1 to %2 (UTC%3)</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessageInvitationBubble.qml" line="245"/>
<location filename="../../view/Control/Display/Chat/ChatMessageInvitationBubble.qml" line="234"/>
<source>ics_bubble_description_title</source>
<extracomment>Description</extracomment>
<translation>Description</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessageInvitationBubble.qml" line="297"/>
<location filename="../../view/Control/Display/Chat/ChatMessageInvitationBubble.qml" line="286"/>
<source>ics_bubble_join</source>
<extracomment>&quot;Rejoindre&quot;</extracomment>
<translation>Join</translation>
</message>
<message numerus="yes">
<location filename="../../view/Control/Display/Chat/ChatMessageInvitationBubble.qml" line="287"/>
<location filename="../../view/Control/Display/Chat/ChatMessageInvitationBubble.qml" line="276"/>
<source>ics_bubble_participants</source>
<extracomment>%n participant(s)</extracomment>
<translation>
@ -2447,44 +2448,44 @@ Error</extracomment>
<context>
<name>ChatMessagesListView</name>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="112"/>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="123"/>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="110"/>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="121"/>
<source>popup_info_find_message_title</source>
<extracomment>Find message</extracomment>
<translation>Find message</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="125"/>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="123"/>
<source>info_popup_no_result_message</source>
<extracomment>No result found</extracomment>
<translation>No result found</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="117"/>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="115"/>
<source>info_popup_first_result_message</source>
<extracomment>First result reached</extracomment>
<translation>First result reached</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="115"/>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="113"/>
<source>info_popup_last_result_message</source>
<extracomment>Last result reached</extracomment>
<translation>Last result reached</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="162"/>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="160"/>
<source>chat_message_list_encrypted_header_title</source>
<extracomment>End to end encrypted chat</extracomment>
<translation>End to end encrypted chat</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="164"/>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="162"/>
<source>unencrypted_conversation_warning</source>
<extracomment>This conversation is not encrypted !</extracomment>
<translation>This conversation is not encrypted !</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="175"/>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="173"/>
<source>chat_message_list_encrypted_header_message</source>
<extracomment>Messages in this conversation are e2e encrypted.
Only your correspondent can decrypt them.</extracomment>
@ -2492,7 +2493,7 @@ Error</extracomment>
Only your correspondent can decrypt them.</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="177"/>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="175"/>
<source>chat_message_list_not_encrypted_header_message</source>
<extracomment>Messages are not end to end encrypted,
may sure you don&apos;t share any sensitive information !</extracomment>
@ -2500,39 +2501,43 @@ Only your correspondent can decrypt them.</translation>
may sure you don&apos;t share any sensitive information !</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="217"/>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="215"/>
<source>chat_message_is_writing_info</source>
<extracomment>%1 is writing</extracomment>
<translation>%1 is writing</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="238"/>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="470"/>
<source>conversation_dialog_delete_chat_message_title</source>
<extracomment>&quot;Supprimer le message ?&quot;</extracomment>
<extracomment>&quot;Delete this message?&quot;</extracomment>
<translation>Delete this message?</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="246"/>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="471"/>
<source>conversation_dialog_delete_locally_label</source>
<extracomment>&quot;For me&quot;</extracomment>
<translation>For me</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="257"/>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="472"/>
<source>conversation_dialog_delete_for_everyone_label</source>
<extracomment>&quot;For everyone&quot;</extracomment>
<translation>For everyone</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="268"/>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="472"/>
<source>dialog_cancel</source>
<extracomment>&quot;Cancel&quot;</extracomment>
<translation>Cancel</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="349"/>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="472"/>
<source>info_toast_deleted_title</source>
<extracomment>Deleted</extracomment>
<translation>Deleted</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="351"/>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="472"/>
<source>info_toast_deleted_message</source>
<extracomment>The message has been deleted</extracomment>
<translation>The message has been deleted</translation>
@ -2676,35 +2681,17 @@ Only your correspondent can decrypt them.</translation>
<translation>Attached files</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/ChatSettingsLayout.qml" line="21"/>
<source>settings_chat_notifications_title</source>
<extracomment>Notifications</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/ChatSettingsLayout.qml" line="32"/>
<location filename="../../view/Page/Layout/Settings/ChatSettingsLayout.qml" line="25"/>
<source>settings_chat_attached_files_auto_download_title</source>
<extracomment>&quot;Automatic download&quot;</extracomment>
<translation>Automatic download</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/ChatSettingsLayout.qml" line="34"/>
<location filename="../../view/Page/Layout/Settings/ChatSettingsLayout.qml" line="27"/>
<source>settings_chat_attached_files_auto_download_subtitle</source>
<extracomment>&quot;Automatically download transferred or received files in conversations&quot;</extracomment>
<translation>Automatically download transferred or received files in conversations</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/ChatSettingsLayout.qml" line="50"/>
<source>settings_chat_display_notification_content_title</source>
<extracomment>&quot;Display notification content&quot;</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/ChatSettingsLayout.qml" line="52"/>
<source>settings_chat_display_notification_content_subtitle</source>
<extracomment>&quot;Display the content of the received message&quot;</extracomment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CliModel</name>
@ -2742,13 +2729,13 @@ Only your correspondent can decrypt them.</translation>
<context>
<name>ConferenceInfoCore</name>
<message>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="583"/>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="577"/>
<source>information_popup_error_title</source>
<extracomment>&quot;Erreur&quot;</extracomment>
<translation>Error</translation>
</message>
<message>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="585"/>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="579"/>
<source>information_popup_disconnected_account_message</source>
<extracomment>&quot;Votre compte est déconnecté&quot;</extracomment>
<translation>Your account is disconnected</translation>
@ -3543,12 +3530,12 @@ Only your correspondent can decrypt them.</translation>
<context>
<name>CoreModel</name>
<message>
<location filename="../../model/core/CoreModel.cpp" line="218"/>
<location filename="../../model/core/CoreModel.cpp" line="215"/>
<source>info_popup_error_title</source>
<translation>Error</translation>
</message>
<message>
<location filename="../../model/core/CoreModel.cpp" line="220"/>
<location filename="../../model/core/CoreModel.cpp" line="217"/>
<source>fetching_config_failed_error_message</source>
<extracomment>&quot;Remote provisioning cannot be retrieved&quot;</extracomment>
<translation>Remote provisioning cannot be retrieved</translation>
@ -4327,7 +4314,7 @@ Expiration : %1</translation>
<context>
<name>MagicSearchList</name>
<message>
<location filename="../../core/search/MagicSearchList.cpp" line="145"/>
<location filename="../../core/search/MagicSearchList.cpp" line="143"/>
<source>device_id</source>
<translation>Phone</translation>
</message>
@ -4571,38 +4558,10 @@ Expiration : %1</translation>
<context>
<name>ManageParticipants</name>
<message>
<location filename="../../view/Page/Layout/Chat/ManageParticipants.qml" line="29"/>
<source>info_popup_error_title</source>
<translation type="unfinished">Error</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ManageParticipants.qml" line="31"/>
<source>info_popup_manage_participant_error_message</source>
<extracomment>Error while setting participants !</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ManageParticipants.qml" line="34"/>
<source>info_popup_success_title</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ManageParticipants.qml" line="36"/>
<source>info_popup_manage_participant_updated_message</source>
<extracomment>Participants updated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ManageParticipants.qml" line="59"/>
<location filename="../../view/Page/Layout/Chat/ManageParticipants.qml" line="44"/>
<source>group_infos_manage_participants</source>
<translation>Participants</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ManageParticipants.qml" line="68"/>
<source>apply_button_text</source>
<extracomment>Apply</extracomment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MeetingForm</name>
@ -4856,19 +4815,19 @@ Expiration : %1</translation>
<translation>Meeting URI copied</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="798"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="786"/>
<source>meeting_schedule_timezone_title</source>
<extracomment>&quot;Fuseau horaire&quot;</extracomment>
<translation>Timezone</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="904"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="892"/>
<source>meeting_info_organizer_label</source>
<extracomment>&quot;Organisateur&quot;</extracomment>
<translation>Organizer</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="921"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="909"/>
<source>meeting_info_join_title</source>
<extracomment>&quot;Rejoindre la réunion&quot;</extracomment>
<translation>Join meeting</translation>
@ -5069,19 +5028,13 @@ Expiration : %1</translation>
<translation>Conference invitation received !</translation>
</message>
<message>
<location filename="../../core/notifier/Notifier.cpp" line="388"/>
<source>new_chat_room_message</source>
<extracomment>&apos;New message received!&apos; Notification that warn the user of a new message.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../core/notifier/Notifier.cpp" line="391"/>
<location filename="../../core/notifier/Notifier.cpp" line="387"/>
<source>new_chat_room_messages</source>
<extracomment>&apos;New messages received!&apos; Notification that warn the user of new messages.</extracomment>
<translation>New messages received !</translation>
</message>
<message>
<location filename="../../core/notifier/Notifier.cpp" line="419"/>
<location filename="../../core/notifier/Notifier.cpp" line="415"/>
<source>new_message_alert_accessible_name</source>
<extracomment>New message on chatroom %1</extracomment>
<translation>New message on chatroom %1</translation>
@ -5858,47 +5811,48 @@ To enable them in a commercial project, please contact us.</translation>
<context>
<name>SelectedChatView</name>
<message>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="50"/>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="49"/>
<source>chat_view_group_call_toast_message</source>
<translation>Start a group call ?</translation>
</message>
<message>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="146"/>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="145"/>
<source>unencrypted_conversation_warning</source>
<extracomment>This conversation is not encrypted !</extracomment>
<translation>This conversation is not encrypted !</translation>
</message>
<message>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="448"/>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="433"/>
<source>reply_to_label</source>
<extracomment>Reply to %1</extracomment>
<translation>Reply to %1</translation>
</message>
<message>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="449"/>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="417"/>
<source>conversation_editing_message_title</source>
<extracomment>Message beeing edited</extracomment>
<translation>Message beeing edited</translation>
</message>
<message>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="660"/>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="639"/>
<source>shared_medias_title</source>
<extracomment>Shared medias</extracomment>
<translation>Shared medias</translation>
</message>
<message>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="662"/>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="641"/>
<source>shared_documents_title</source>
<extracomment>Shared documents</extracomment>
<translation>Shared documents</translation>
</message>
<message>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="691"/>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="670"/>
<source>forward_to_title</source>
<extracomment>Forward to</extracomment>
<translation>Forward to</translation>
</message>
<message>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="725"/>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="704"/>
<source>conversations_title</source>
<extracomment>Conversations</extracomment>
<translation>Conversations</translation>
@ -6048,7 +6002,7 @@ To enable them in a commercial project, please contact us.</translation>
<translation>Voice recording (%1)</translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="623"/>
<location filename="../../model/tool/ToolModel.cpp" line="614"/>
<source>unknown_audio_device_name</source>
<translation>Unknown device name</translation>
</message>
@ -6068,20 +6022,22 @@ To enable them in a commercial project, please contact us.</translation>
<translation>Meeting modification</translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="563"/>
<location filename="../../model/tool/ToolModel.cpp" line="530"/>
<source>conversation_message_content_deleted_label</source>
<extracomment>&quot;&lt;i&gt;This message has been deleted&lt;/i&gt;&quot;</extracomment>
<translation>&lt;i&gt;This message has been deleted&lt;/i&gt;</translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="562"/>
<location filename="../../model/tool/ToolModel.cpp" line="530"/>
<source>conversation_message_content_deleted_by_us_label</source>
<extracomment>&quot;&lt;i&gt;You have deleted this message&lt;/i&gt;&quot;</extracomment>
<translation>&lt;i&gt;You have deleted this message&lt;/i&gt;</translation>
</message>
</context>
<context>
<name>Utils</name>
<message numerus="yes">
<location filename="../../tool/Utils.cpp" line="2241"/>
<location filename="../../tool/Utils.cpp" line="2197"/>
<source>nSeconds</source>
<translation>
<numerusform>%1 second</numerusform>
@ -6089,7 +6045,7 @@ To enable them in a commercial project, please contact us.</translation>
</translation>
</message>
<message numerus="yes">
<location filename="../../tool/Utils.cpp" line="2236"/>
<location filename="../../tool/Utils.cpp" line="2192"/>
<source>nMinute</source>
<translation>
<numerusform>%1 minute</numerusform>
@ -6121,9 +6077,9 @@ To enable them in a commercial project, please contact us.</translation>
<translation>Cannot reply to invalid message</translation>
</message>
<message>
<location filename="../../tool/Utils.cpp" line="2082"/>
<location filename="../../tool/Utils.cpp" line="2123"/>
<source>chat_message_edit_error</source>
<extracomment>Cannot edit to invalid message</extracomment>
<extracomment>Cannot modify invalid message</extracomment>
<translation>Cannot modify invalid message</translation>
</message>
<message>
@ -6133,7 +6089,7 @@ To enable them in a commercial project, please contact us.</translation>
<translation>Could not send reply message : %1</translation>
</message>
<message>
<location filename="../../tool/Utils.cpp" line="2088"/>
<location filename="../../tool/Utils.cpp" line="2129"/>
<source>info_popup_edited_message_error</source>
<extracomment>Could not send edited message : %1</extracomment>
<translation>Could not send edited message : %1</translation>
@ -6145,13 +6101,13 @@ To enable them in a commercial project, please contact us.</translation>
<translation>Failed to create reply message</translation>
</message>
<message>
<location filename="../../tool/Utils.cpp" line="2115"/>
<location filename="../../tool/Utils.cpp" line="2156"/>
<source>info_popup_send_edited_message_error_message</source>
<extracomment>Failed to create edited message</extracomment>
<translation>Failed to create edited message</translation>
</message>
<message numerus="yes">
<location filename="../../tool/Utils.cpp" line="2237"/>
<location filename="../../tool/Utils.cpp" line="2193"/>
<source>nHour</source>
<translation>
<numerusform>%1 hour</numerusform>
@ -6159,8 +6115,8 @@ To enable them in a commercial project, please contact us.</translation>
</translation>
</message>
<message numerus="yes">
<location filename="../../tool/Utils.cpp" line="2238"/>
<location filename="../../tool/Utils.cpp" line="2239"/>
<location filename="../../tool/Utils.cpp" line="2194"/>
<location filename="../../tool/Utils.cpp" line="2195"/>
<source>nDay</source>
<translation>
<numerusform>%1 day</numerusform>
@ -6168,7 +6124,7 @@ To enable them in a commercial project, please contact us.</translation>
</translation>
</message>
<message numerus="yes">
<location filename="../../tool/Utils.cpp" line="2240"/>
<location filename="../../tool/Utils.cpp" line="2196"/>
<source>nWeek</source>
<translation>
<numerusform>%1 week</numerusform>
@ -6294,7 +6250,7 @@ To enable them in a commercial project, please contact us.</translation>
<translation>Failed to create 1-1 conversation with %1 !</translation>
</message>
<message>
<location filename="../../tool/Utils.cpp" line="2147"/>
<location filename="../../tool/Utils.cpp" line="2103"/>
<source>recorder_error</source>
<extracomment>Error with the recorder</extracomment>
<translation>Error with the recorder</translation>
@ -6302,8 +6258,7 @@ To enable them in a commercial project, please contact us.</translation>
<message>
<location filename="../../tool/Utils.cpp" line="2008"/>
<location filename="../../tool/Utils.cpp" line="2040"/>
<location filename="../../tool/Utils.cpp" line="2084"/>
<location filename="../../tool/Utils.cpp" line="2149"/>
<location filename="../../tool/Utils.cpp" line="2105"/>
<source>chat_error</source>
<translation>Error in the chat</translation>
</message>
@ -6312,22 +6267,20 @@ To enable them in a commercial project, please contact us.</translation>
<location filename="../../tool/Utils.cpp" line="2025"/>
<location filename="../../tool/Utils.cpp" line="2042"/>
<location filename="../../tool/Utils.cpp" line="2069"/>
<location filename="../../tool/Utils.cpp" line="2086"/>
<location filename="../../tool/Utils.cpp" line="2113"/>
<location filename="../../tool/Utils.cpp" line="2151"/>
<location filename="../../tool/Utils.cpp" line="2165"/>
<location filename="../../tool/Utils.cpp" line="2107"/>
<location filename="../../tool/Utils.cpp" line="2121"/>
<source>info_popup_error_title</source>
<extracomment>Error</extracomment>
<translation>Error</translation>
</message>
<message>
<location filename="../../tool/Utils.cpp" line="2153"/>
<location filename="../../tool/Utils.cpp" line="2109"/>
<source>info_popup_send_voice_message_error_message</source>
<extracomment>Could not send voice message : %1</extracomment>
<translation>Could not send voice message : %1</translation>
</message>
<message>
<location filename="../../tool/Utils.cpp" line="2167"/>
<location filename="../../tool/Utils.cpp" line="2123"/>
<source>info_popup_send_voice_message_sending_error_message</source>
<extracomment>Failed to create message from record</extracomment>
<translation>Failed to create message from record</translation>

View file

@ -39,45 +39,45 @@
<context>
<name>AccountCore</name>
<message>
<location filename="../../core/account/AccountCore.cpp" line="454"/>
<location filename="../../core/account/AccountCore.cpp" line="447"/>
<source>drawer_menu_account_connection_status_connected</source>
<extracomment>&quot;Connecté&quot;</extracomment>
<translation>Connecté</translation>
</message>
<message>
<location filename="../../core/account/AccountCore.cpp" line="457"/>
<location filename="../../core/account/AccountCore.cpp" line="450"/>
<source>drawer_menu_account_connection_status_refreshing</source>
<translation>En cours de rafraîchissement</translation>
</message>
<message>
<location filename="../../core/account/AccountCore.cpp" line="460"/>
<location filename="../../core/account/AccountCore.cpp" line="453"/>
<source>drawer_menu_account_connection_status_progress</source>
<translation>Connexion</translation>
</message>
<message>
<location filename="../../core/account/AccountCore.cpp" line="463"/>
<location filename="../../core/account/AccountCore.cpp" line="456"/>
<source>drawer_menu_account_connection_status_failed</source>
<translation>Erreur</translation>
</message>
<message>
<location filename="../../core/account/AccountCore.cpp" line="467"/>
<location filename="../../core/account/AccountCore.cpp" line="460"/>
<source>drawer_menu_account_connection_status_cleared</source>
<translation>Désactivé</translation>
</message>
<message>
<location filename="../../core/account/AccountCore.cpp" line="501"/>
<location filename="../../core/account/AccountCore.cpp" line="494"/>
<source>manage_account_status_connected_summary</source>
<extracomment>&quot;Vous êtes en ligne et joignable.&quot;</extracomment>
<translation>Vous êtes en ligne et joignable.</translation>
</message>
<message>
<location filename="../../core/account/AccountCore.cpp" line="504"/>
<location filename="../../core/account/AccountCore.cpp" line="497"/>
<source>manage_account_status_failed_summary</source>
<extracomment>&quot;Erreur de connexion, vérifiez vos paramètres.&quot;</extracomment>
<translation>Erreur de connexion, vérifiez vos paramètres.</translation>
</message>
<message>
<location filename="../../core/account/AccountCore.cpp" line="508"/>
<location filename="../../core/account/AccountCore.cpp" line="501"/>
<source>manage_account_status_cleared_summary</source>
<extracomment>&quot;Compte désactivé, vous ne recevrez ni appel ni message.&quot;</extracomment>
<translation>Compte désactivé, vous ne recevrez ni appel ni message.</translation>
@ -498,7 +498,7 @@
<translation>URL du serveur déchange de clés de chiffrement</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/AccountSettingsParametersLayout.qml" line="282"/>
<location filename="../../view/Page/Layout/Settings/AccountSettingsParametersLayout.qml"/>
<source>account_settings_ccmp_server_url_title</source>
<extracomment>&quot;URL du serveur CCMP&quot;</extracomment>
<translation>URL du serveur CCMP</translation>
@ -656,141 +656,141 @@
<context>
<name>App</name>
<message>
<location filename="../../core/App.cpp" line="370"/>
<location filename="../../core/App.cpp" line="368"/>
<source>remote_provisioning_dialog</source>
<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>
</message>
<message>
<location filename="../../core/App.cpp" line="427"/>
<location filename="../../core/App.cpp" line="505"/>
<location filename="../../core/App.cpp" line="791"/>
<location filename="../../core/App.cpp" line="425"/>
<location filename="../../core/App.cpp" line="503"/>
<location filename="../../core/App.cpp" line="789"/>
<source>info_popup_error_title</source>
<extracomment>Error</extracomment>
<translation>Erreur</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="428"/>
<location filename="../../core/App.cpp" line="793"/>
<location filename="../../core/App.cpp" line="426"/>
<location filename="../../core/App.cpp" line="791"/>
<source>info_popup_configuration_failed_message</source>
<extracomment>Remote provisioning failed : %1</extracomment>
<translation>La configuration distante a échoué : %1</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="508"/>
<location filename="../../core/App.cpp" line="506"/>
<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>
<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>
<location filename="../../core/App.cpp" line="515"/>
<location filename="../../core/App.cpp" line="513"/>
<source>info_popup_new_version_download_label</source>
<translation>Téléchargez-&#x202f;!</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="518"/>
<location filename="../../core/App.cpp" line="516"/>
<source>info_popup_new_version_available_title</source>
<extracomment>New version available !</extracomment>
<translation>Nouvelle version disponible !</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="520"/>
<location filename="../../core/App.cpp" line="518"/>
<source>info_popup_new_version_available_message</source>
<extracomment>A new version of Linphone (%1) is available. %2</extracomment>
<translation>Une nouvelle version de Linphone (%1) est disponible. %2</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="526"/>
<location filename="../../core/App.cpp" line="524"/>
<source>info_popup_version_up_to_date_title</source>
<translation>À jour</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="528"/>
<location filename="../../core/App.cpp" line="526"/>
<source>info_popup_version_up_to_date_message</source>
<extracomment>Your version is up to date</extracomment>
<translation>Votre version est à jour</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="787"/>
<location filename="../../core/App.cpp" line="785"/>
<source>configuration_error_detail</source>
<extracomment>not reachable</extracomment>
<translation>indisponible</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1078"/>
<location filename="../../core/App.cpp" line="1076"/>
<source>application_description</source>
<extracomment>&quot;A free and open source SIP video-phone.&quot;</extracomment>
<translation>A free and open source SIP video-phone.</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1080"/>
<location filename="../../core/App.cpp" line="1078"/>
<source>command_line_arg_order</source>
<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>
</message>
<message>
<location filename="../../core/App.cpp" line="1084"/>
<location filename="../../core/App.cpp" line="1082"/>
<source>command_line_option_show_help</source>
<translation>Show this help</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1089"/>
<location filename="../../core/App.cpp" line="1087"/>
<source>command_line_option_show_app_version</source>
<translation>Afficher la version de l&apos;application</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1097"/>
<location filename="../../core/App.cpp" line="1095"/>
<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>
<translation>Specify the linphone configuration file to be fetched. It will be merged with the current configuration.</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1099"/>
<location filename="../../core/App.cpp" line="1097"/>
<source>command_line_option_config_to_fetch_arg</source>
<extracomment>&quot;URL, path or file&quot;</extracomment>
<translation>URL, path or file</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1104"/>
<location filename="../../core/App.cpp" line="1102"/>
<source>command_line_option_minimized</source>
<translation>Minimiser</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1107"/>
<location filename="../../core/App.cpp" line="1105"/>
<source>command_line_option_log_to_stdout</source>
<translation>Log to stdout some debug information while running</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1110"/>
<location filename="../../core/App.cpp" line="1108"/>
<source>command_line_option_print_app_logs_only</source>
<extracomment>&quot;Print only logs from the application&quot;</extracomment>
<translation>Print only logs from the application</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1566"/>
<location filename="../../core/App.cpp" line="1564"/>
<source>hide_action</source>
<extracomment>&quot;Cacher&quot; &quot;Afficher&quot;</extracomment>
<translation>Cacher</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1566"/>
<location filename="../../core/App.cpp" line="1564"/>
<source>show_action</source>
<translation>Afficher</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1581"/>
<location filename="../../core/App.cpp" line="1579"/>
<source>quit_action</source>
<extracomment>&quot;Quitter&quot;</extracomment>
<translation>Quitter</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1599"/>
<location filename="../../core/App.cpp" line="1597"/>
<source>check_for_update</source>
<extracomment>Check for update</extracomment>
<translation>Rechercher une mise à jour</translation>
</message>
<message>
<location filename="../../core/App.cpp" line="1722"/>
<location filename="../../core/App.cpp" line="1720"/>
<source>mark_all_read_action</source>
<translation>Marquer tout comme lu</translation>
</message>
@ -836,76 +836,76 @@
<context>
<name>CallCore</name>
<message>
<location filename="../../core/call/CallCore.cpp" line="217"/>
<location filename="../../core/call/CallCore.cpp" line="215"/>
<source>call_record_end_message</source>
<extracomment>&quot;Enregistrement terminé&quot;</extracomment>
<translation>Enregistrement terminé</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="219"/>
<location filename="../../core/call/CallCore.cpp" line="217"/>
<source>call_record_saved_in_file_message</source>
<extracomment>&quot;L&apos;appel a é enregistré dans le fichier : %1&quot;</extracomment>
<translation>L&apos;appel a é enregistré dans le fichier : %1</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="403"/>
<location filename="../../core/call/CallCore.cpp" line="428"/>
<location filename="../../core/call/CallCore.cpp" line="401"/>
<location filename="../../core/call/CallCore.cpp" line="426"/>
<source>call_stats_codec_label</source>
<extracomment>&quot;Codec: %1 / %2 kHz&quot;</extracomment>
<translation>Codec: %1 / %2 kHz</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="407"/>
<location filename="../../core/call/CallCore.cpp" line="431"/>
<location filename="../../core/call/CallCore.cpp" line="405"/>
<location filename="../../core/call/CallCore.cpp" line="429"/>
<source>call_stats_bandwidth_label</source>
<extracomment>&quot;Bande passante : %1 %2 kbits/s %3 %4 kbits/s&quot;</extracomment>
<translation>Bande passante : %1 %2 kbits/s %3 %4 kbits/s</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="413"/>
<location filename="../../core/call/CallCore.cpp" line="436"/>
<location filename="../../core/call/CallCore.cpp" line="411"/>
<location filename="../../core/call/CallCore.cpp" line="434"/>
<source>call_stats_loss_rate_label</source>
<extracomment>&quot;Taux de perte: %1% %2%&quot;</extracomment>
<translation>Taux de perte: %1% %2%</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="418"/>
<location filename="../../core/call/CallCore.cpp" line="416"/>
<source>call_stats_jitter_buffer_label</source>
<extracomment>&quot;Tampon de gigue: %1 ms&quot;</extracomment>
<translation>Tampon de gigue: %1 ms</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="445"/>
<location filename="../../core/call/CallCore.cpp" line="443"/>
<source>call_stats_resolution_label</source>
<extracomment>&quot;Définition vidéo : %1 %2 %3 %4&quot;</extracomment>
<translation>Définition vidéo : %1 %2 %3 %4</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="451"/>
<location filename="../../core/call/CallCore.cpp" line="449"/>
<source>call_stats_fps_label</source>
<extracomment>&quot;FPS : %1 %2 %3 %4&quot;</extracomment>
<translation>FPS : %1 %2 %3 %4</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="714"/>
<location filename="../../core/call/CallCore.cpp" line="674"/>
<source>media_encryption_dtls</source>
<extracomment>DTLS</extracomment>
<translation>DTLS</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="717"/>
<location filename="../../core/call/CallCore.cpp" line="677"/>
<source>media_encryption_none</source>
<extracomment>None</extracomment>
<translation>None</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="720"/>
<location filename="../../core/call/CallCore.cpp" line="680"/>
<source>media_encryption_srtp</source>
<extracomment>SRTP</extracomment>
<translation>SRTP</translation>
</message>
<message>
<location filename="../../core/call/CallCore.cpp" line="723"/>
<location filename="../../core/call/CallCore.cpp" line="683"/>
<source>media_encryption_post_quantum</source>
<extracomment>&quot;ZRTP - Post quantique&quot;</extracomment>
<translation>ZRTP - Post quantique</translation>
@ -2054,13 +2054,13 @@
<context>
<name>ChatDroppableTextArea</name>
<message>
<location filename="../../view/Control/Input/Chat/ChatDroppableTextArea.qml" line="158"/>
<location filename="../../view/Control/Input/Chat/ChatDroppableTextArea.qml" line="156"/>
<source>chat_view_send_area_placeholder_text</source>
<extracomment>Say something : placeholder text for sending message text area</extracomment>
<translation>Dites quelque chose</translation>
</message>
<message>
<location filename="../../view/Control/Input/Chat/ChatDroppableTextArea.qml" line="197"/>
<location filename="../../view/Control/Input/Chat/ChatDroppableTextArea.qml" line="195"/>
<source>cannot_record_while_in_call_tooltip</source>
<extracomment>Cannot record a message while a call is ongoing</extracomment>
<translation>Impossible d&apos;enregistrer un message vocal pendant un appel</translation>
@ -2136,98 +2136,99 @@
<context>
<name>ChatMessage</name>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="480"/>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="444"/>
<source>chat_message_copy_selection</source>
<extracomment>&quot;Copy selection&quot;</extracomment>
<translation>Copier la sélection</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="482"/>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="446"/>
<source>chat_message_copy</source>
<extracomment>&quot;Copy&quot;</extracomment>
<translation>Copier</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="490"/>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="454"/>
<source>chat_message_copied_to_clipboard_title</source>
<extracomment>Copied</extracomment>
<translation>Copié</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="492"/>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="456"/>
<source>chat_message_copied_to_clipboard_toast</source>
<extracomment>&quot;to clipboard&quot;</extracomment>
<translation>dans le presse-papiers</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="130"/>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="129"/>
<source>chat_message_remote_replied</source>
<extracomment>%1 replied</extracomment>
<translation>%1 a répondu</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="97"/>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="96"/>
<source>chat_message_forwarded</source>
<extracomment>Forwarded</extracomment>
<translation>Transféré</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="128"/>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="127"/>
<source>chat_message_remote_replied_to</source>
<extracomment>%1 replied to %2</extracomment>
<translation>%1 a répondu à %2</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="133"/>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="132"/>
<source>chat_message_user_replied_to</source>
<extracomment>You replied to %1</extracomment>
<translation>Vous avez répondu à %1</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="135"/>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="134"/>
<source>chat_message_user_replied</source>
<extracomment>You replied</extracomment>
<translation>Vous avez répondu</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="429"/>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="408"/>
<source>chat_message_send_again</source>
<extracomment>&quot;Re-send&quot;</extracomment>
<translation>-envoyer</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="440"/>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="419"/>
<source>chat_message_reception_info</source>
<extracomment>&quot;Reception info&quot;</extracomment>
<translation>Info de réception</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="452"/>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="407"/>
<source>menu_edit_chat_message</source>
<extracomment>&quot;Edit&quot;</extracomment>
<translation>Modifier</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="466"/>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="431"/>
<source>chat_message_reply</source>
<extracomment>Reply</extracomment>
<translation>Répondre</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="500"/>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="463"/>
<source>chat_message_forward</source>
<extracomment>Forward</extracomment>
<translation>Transférer</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="517"/>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="480"/>
<source>chat_message_delete</source>
<extracomment>&quot;Delete&quot;</extracomment>
<translation>Supprimer</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="306"/>
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="469"/>
<source>conversation_message_edited_label</source>
<extracomment>&quot;Edited&quot;</extracomment>
<translation>Modifié</translation>
</message>
</context>
@ -2350,19 +2351,19 @@ Error</extracomment>
<context>
<name>ChatMessageCore</name>
<message>
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="163"/>
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="157"/>
<source>all_reactions_label</source>
<extracomment>&quot;Reactions&quot;: all reactions for one message label</extracomment>
<translation>Réactions</translation>
</message>
<message>
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="223"/>
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="214"/>
<source>info_toast_deleted_title</source>
<extracomment>Deleted</extracomment>
<translation>Supprimé</translation>
</message>
<message>
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="225"/>
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="216"/>
<source>info_toast_deleted_message</source>
<extracomment>The message has been deleted</extracomment>
<translation>Le message a é supprimé</translation>
@ -2393,24 +2394,24 @@ Error</extracomment>
<translation>La réunion a é annulée</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessageInvitationBubble.qml" line="182"/>
<location filename="../../view/Control/Display/Chat/ChatMessageInvitationBubble.qml" line="171"/>
<source></source>
<translation>de %1 à %2 (UTC%3)</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessageInvitationBubble.qml" line="245"/>
<location filename="../../view/Control/Display/Chat/ChatMessageInvitationBubble.qml" line="234"/>
<source>ics_bubble_description_title</source>
<extracomment>Description</extracomment>
<translation>Description</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessageInvitationBubble.qml" line="297"/>
<location filename="../../view/Control/Display/Chat/ChatMessageInvitationBubble.qml" line="286"/>
<source>ics_bubble_join</source>
<extracomment>&quot;Rejoindre&quot;</extracomment>
<translation>Rejoindre</translation>
</message>
<message numerus="yes">
<location filename="../../view/Control/Display/Chat/ChatMessageInvitationBubble.qml" line="287"/>
<location filename="../../view/Control/Display/Chat/ChatMessageInvitationBubble.qml" line="276"/>
<source>ics_bubble_participants</source>
<extracomment>%n participant(s)</extracomment>
<translation>
@ -2422,44 +2423,44 @@ Error</extracomment>
<context>
<name>ChatMessagesListView</name>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="112"/>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="123"/>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="110"/>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="121"/>
<source>popup_info_find_message_title</source>
<extracomment>Find message</extracomment>
<translation>Trouver un message</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="125"/>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="123"/>
<source>info_popup_no_result_message</source>
<extracomment>No result found</extracomment>
<translation>Aucun résultat trouvé</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="117"/>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="115"/>
<source>info_popup_first_result_message</source>
<extracomment>First result reached</extracomment>
<translation>Premier résultat atteint</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="115"/>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="113"/>
<source>info_popup_last_result_message</source>
<extracomment>Last result reached</extracomment>
<translation>Dernier résultat atteint</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="162"/>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="160"/>
<source>chat_message_list_encrypted_header_title</source>
<extracomment>End to end encrypted chat</extracomment>
<translation>Conversation chiffrée de bout en bout</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="164"/>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="162"/>
<source>unencrypted_conversation_warning</source>
<extracomment>This conversation is not encrypted !</extracomment>
<translation>Cette conversation n&apos;est pas chiffrée !</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="175"/>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="173"/>
<source>chat_message_list_encrypted_header_message</source>
<extracomment>Messages in this conversation are e2e encrypted.
Only your correspondent can decrypt them.</extracomment>
@ -2467,7 +2468,7 @@ Error</extracomment>
en bout. Seul votre correspondant peut les déchiffrer.</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="177"/>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="175"/>
<source>chat_message_list_not_encrypted_header_message</source>
<extracomment>Messages are not end to end encrypted,
may sure you don&apos;t share any sensitive information !</extracomment>
@ -2475,39 +2476,43 @@ en bout. Seul votre correspondant peut les déchiffrer.</translation>
assurez-vous de ne pas partager dinformations sensibles !</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="217"/>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="215"/>
<source>chat_message_is_writing_info</source>
<extracomment>%1 is writing</extracomment>
<translation>%1 est en train d&apos;écrire</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="238"/>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="470"/>
<source>conversation_dialog_delete_chat_message_title</source>
<extracomment>&quot;Supprimer le message ?&quot;</extracomment>
<extracomment>&quot;Delete this message?&quot;</extracomment>
<translation>Supprimer le message ?</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="246"/>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="471"/>
<source>conversation_dialog_delete_locally_label</source>
<extracomment>&quot;For me&quot;</extracomment>
<translation>Pour moi</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="257"/>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="472"/>
<source>conversation_dialog_delete_for_everyone_label</source>
<extracomment>&quot;For everyone&quot;</extracomment>
<translation>Pour tout le monde</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="268"/>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="472"/>
<source>dialog_cancel</source>
<extracomment>&quot;Cancel&quot;</extracomment>
<translation>Annuler</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="349"/>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="472"/>
<source>info_toast_deleted_title</source>
<extracomment>Deleted</extracomment>
<translation>Supprimé</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="351"/>
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="472"/>
<source>info_toast_deleted_message</source>
<extracomment>The message has been deleted</extracomment>
<translation>Le message a é supprimé</translation>
@ -2651,35 +2656,17 @@ en bout. Seul votre correspondant peut les déchiffrer.</translation>
<translation>Fichiers joints</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/ChatSettingsLayout.qml" line="21"/>
<source>settings_chat_notifications_title</source>
<extracomment>Notifications</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/ChatSettingsLayout.qml" line="32"/>
<location filename="../../view/Page/Layout/Settings/ChatSettingsLayout.qml" line="25"/>
<source>settings_chat_attached_files_auto_download_title</source>
<extracomment>&quot;Automatic download&quot;</extracomment>
<translation>Téléchargement automatique</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/ChatSettingsLayout.qml" line="34"/>
<location filename="../../view/Page/Layout/Settings/ChatSettingsLayout.qml" line="27"/>
<source>settings_chat_attached_files_auto_download_subtitle</source>
<extracomment>&quot;Automatically download transferred or received files in conversations&quot;</extracomment>
<translation>Télécharger automatiquement les fichiers échangés dans les conversations</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/ChatSettingsLayout.qml" line="50"/>
<source>settings_chat_display_notification_content_title</source>
<extracomment>&quot;Display notification content&quot;</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/ChatSettingsLayout.qml" line="52"/>
<source>settings_chat_display_notification_content_subtitle</source>
<extracomment>&quot;Display the content of the received message&quot;</extracomment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CliModel</name>
@ -2717,13 +2704,13 @@ en bout. Seul votre correspondant peut les déchiffrer.</translation>
<context>
<name>ConferenceInfoCore</name>
<message>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="583"/>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="577"/>
<source>information_popup_error_title</source>
<extracomment>&quot;Erreur&quot;</extracomment>
<translation>Erreur</translation>
</message>
<message>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="585"/>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="579"/>
<source>information_popup_disconnected_account_message</source>
<extracomment>&quot;Votre compte est déconnecté&quot;</extracomment>
<translation>Votre compte est déconnecté</translation>
@ -3518,12 +3505,12 @@ en bout. Seul votre correspondant peut les déchiffrer.</translation>
<context>
<name>CoreModel</name>
<message>
<location filename="../../model/core/CoreModel.cpp" line="218"/>
<location filename="../../model/core/CoreModel.cpp" line="215"/>
<source>info_popup_error_title</source>
<translation>Erreur</translation>
</message>
<message>
<location filename="../../model/core/CoreModel.cpp" line="220"/>
<location filename="../../model/core/CoreModel.cpp" line="217"/>
<source>fetching_config_failed_error_message</source>
<extracomment>&quot;Remote provisioning cannot be retrieved&quot;</extracomment>
<translation>La configuration distante n&apos;a pas pu être récupérée</translation>
@ -4302,7 +4289,7 @@ Expiration : %1</translation>
<context>
<name>MagicSearchList</name>
<message>
<location filename="../../core/search/MagicSearchList.cpp" line="145"/>
<location filename="../../core/search/MagicSearchList.cpp" line="143"/>
<source>device_id</source>
<translation>Téléphone</translation>
</message>
@ -4542,38 +4529,10 @@ Expiration : %1</translation>
<context>
<name>ManageParticipants</name>
<message>
<location filename="../../view/Page/Layout/Chat/ManageParticipants.qml" line="29"/>
<source>info_popup_error_title</source>
<translation type="unfinished">Erreur</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ManageParticipants.qml" line="31"/>
<source>info_popup_manage_participant_error_message</source>
<extracomment>Error while setting participants !</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ManageParticipants.qml" line="34"/>
<source>info_popup_success_title</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ManageParticipants.qml" line="36"/>
<source>info_popup_manage_participant_updated_message</source>
<extracomment>Participants updated</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ManageParticipants.qml" line="59"/>
<location filename="../../view/Page/Layout/Chat/ManageParticipants.qml" line="44"/>
<source>group_infos_manage_participants</source>
<translation>Participants</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Chat/ManageParticipants.qml" line="68"/>
<source>apply_button_text</source>
<extracomment>Apply</extracomment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MeetingForm</name>
@ -4827,19 +4786,19 @@ Expiration : %1</translation>
<translation>Adresse de la réunion copiée</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="798"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="786"/>
<source>meeting_schedule_timezone_title</source>
<extracomment>&quot;Fuseau horaire&quot;</extracomment>
<translation>Fuseau horaire</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="904"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="892"/>
<source>meeting_info_organizer_label</source>
<extracomment>&quot;Organisateur&quot;</extracomment>
<translation>Organisateur</translation>
</message>
<message>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="921"/>
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="909"/>
<source>meeting_info_join_title</source>
<extracomment>&quot;Rejoindre la réunion&quot;</extracomment>
<translation>Rejoindre la réunion</translation>
@ -5040,19 +4999,13 @@ Expiration : %1</translation>
<translation>Nouvelle invitation à une conférence !</translation>
</message>
<message>
<location filename="../../core/notifier/Notifier.cpp" line="388"/>
<source>new_chat_room_message</source>
<extracomment>&apos;New message received!&apos; Notification that warn the user of a new message.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../core/notifier/Notifier.cpp" line="391"/>
<location filename="../../core/notifier/Notifier.cpp" line="387"/>
<source>new_chat_room_messages</source>
<extracomment>&apos;New messages received!&apos; Notification that warn the user of new messages.</extracomment>
<translation>Nouveaux messages reçus !</translation>
</message>
<message>
<location filename="../../core/notifier/Notifier.cpp" line="419"/>
<location filename="../../core/notifier/Notifier.cpp" line="415"/>
<source>new_message_alert_accessible_name</source>
<extracomment>New message on chatroom %1</extracomment>
<translation>Nouveau message sur la conversation %1</translation>
@ -5829,47 +5782,48 @@ Pour les activer dans un projet commercial, merci de nous contacter.</translatio
<context>
<name>SelectedChatView</name>
<message>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="50"/>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="49"/>
<source>chat_view_group_call_toast_message</source>
<translation>Démarrer un appel de groupe ?</translation>
</message>
<message>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="146"/>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="145"/>
<source>unencrypted_conversation_warning</source>
<extracomment>This conversation is not encrypted !</extracomment>
<translation>Cette conversation n&apos;est pas chiffrée !</translation>
</message>
<message>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="448"/>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="433"/>
<source>reply_to_label</source>
<extracomment>Reply to %1</extracomment>
<translation>Réponse à %1</translation>
</message>
<message>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="449"/>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="417"/>
<source>conversation_editing_message_title</source>
<extracomment>Message beeing edited</extracomment>
<translation>Modification du message</translation>
</message>
<message>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="660"/>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="639"/>
<source>shared_medias_title</source>
<extracomment>Shared medias</extracomment>
<translation>Médias partagés</translation>
</message>
<message>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="662"/>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="641"/>
<source>shared_documents_title</source>
<extracomment>Shared documents</extracomment>
<translation>Documents partagés</translation>
</message>
<message>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="691"/>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="670"/>
<source>forward_to_title</source>
<extracomment>Forward to</extracomment>
<translation>Transférer à</translation>
</message>
<message>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="725"/>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="704"/>
<source>conversations_title</source>
<extracomment>Conversations</extracomment>
<translation>Conversations</translation>
@ -6019,7 +5973,7 @@ Pour les activer dans un projet commercial, merci de nous contacter.</translatio
<translation>Message vocal (%1)</translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="623"/>
<location filename="../../model/tool/ToolModel.cpp" line="614"/>
<source>unknown_audio_device_name</source>
<translation>Appareil inconnu</translation>
</message>
@ -6039,20 +5993,22 @@ Pour les activer dans un projet commercial, merci de nous contacter.</translatio
<translation>Modification d&apos;une réunion</translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="563"/>
<location filename="../../model/tool/ToolModel.cpp" line="530"/>
<source>conversation_message_content_deleted_label</source>
<extracomment>&quot;&lt;i&gt;This message has been deleted&lt;/i&gt;&quot;</extracomment>
<translation>&lt;i&gt;Le message a é supprimé&lt;/i&gt;</translation>
</message>
<message>
<location filename="../../model/tool/ToolModel.cpp" line="562"/>
<location filename="../../model/tool/ToolModel.cpp" line="530"/>
<source>conversation_message_content_deleted_by_us_label</source>
<extracomment>&quot;&lt;i&gt;You have deleted this message&lt;/i&gt;&quot;</extracomment>
<translation>&lt;i&gt;Vous avez supprimé le message&lt;/i&gt;</translation>
</message>
</context>
<context>
<name>Utils</name>
<message numerus="yes">
<location filename="../../tool/Utils.cpp" line="2236"/>
<location filename="../../tool/Utils.cpp" line="2192"/>
<source>nMinute</source>
<translation>
<numerusform>%1 minute</numerusform>
@ -6060,7 +6016,7 @@ Pour les activer dans un projet commercial, merci de nous contacter.</translatio
</translation>
</message>
<message numerus="yes">
<location filename="../../tool/Utils.cpp" line="2237"/>
<location filename="../../tool/Utils.cpp" line="2193"/>
<source>nHour</source>
<translation>
<numerusform>%1 heure</numerusform>
@ -6068,8 +6024,8 @@ Pour les activer dans un projet commercial, merci de nous contacter.</translatio
</translation>
</message>
<message numerus="yes">
<location filename="../../tool/Utils.cpp" line="2238"/>
<location filename="../../tool/Utils.cpp" line="2239"/>
<location filename="../../tool/Utils.cpp" line="2194"/>
<location filename="../../tool/Utils.cpp" line="2195"/>
<source>nDay</source>
<translation>
<numerusform>%1 jour</numerusform>
@ -6077,7 +6033,7 @@ Pour les activer dans un projet commercial, merci de nous contacter.</translatio
</translation>
</message>
<message numerus="yes">
<location filename="../../tool/Utils.cpp" line="2240"/>
<location filename="../../tool/Utils.cpp" line="2196"/>
<source>nWeek</source>
<translation>
<numerusform>%1 semaine</numerusform>
@ -6085,7 +6041,7 @@ Pour les activer dans un projet commercial, merci de nous contacter.</translatio
</translation>
</message>
<message numerus="yes">
<location filename="../../tool/Utils.cpp" line="2241"/>
<location filename="../../tool/Utils.cpp" line="2197"/>
<source>nSeconds</source>
<translation>
<numerusform>%1 seconde</numerusform>
@ -6211,7 +6167,7 @@ Pour les activer dans un projet commercial, merci de nous contacter.</translatio
<translation>Erreur lors de la création de la conversation avec %1</translation>
</message>
<message>
<location filename="../../tool/Utils.cpp" line="2147"/>
<location filename="../../tool/Utils.cpp" line="2103"/>
<source>recorder_error</source>
<extracomment>Error with the recorder</extracomment>
<translation>Erreur avec l&apos;enregistreur</translation>
@ -6219,8 +6175,7 @@ Pour les activer dans un projet commercial, merci de nous contacter.</translatio
<message>
<location filename="../../tool/Utils.cpp" line="2008"/>
<location filename="../../tool/Utils.cpp" line="2040"/>
<location filename="../../tool/Utils.cpp" line="2084"/>
<location filename="../../tool/Utils.cpp" line="2149"/>
<location filename="../../tool/Utils.cpp" line="2105"/>
<source>chat_error</source>
<translation>Erreur dans le chat</translation>
</message>
@ -6235,10 +6190,8 @@ Pour les activer dans un projet commercial, merci de nous contacter.</translatio
<location filename="../../tool/Utils.cpp" line="2025"/>
<location filename="../../tool/Utils.cpp" line="2042"/>
<location filename="../../tool/Utils.cpp" line="2069"/>
<location filename="../../tool/Utils.cpp" line="2086"/>
<location filename="../../tool/Utils.cpp" line="2113"/>
<location filename="../../tool/Utils.cpp" line="2151"/>
<location filename="../../tool/Utils.cpp" line="2165"/>
<location filename="../../tool/Utils.cpp" line="2107"/>
<location filename="../../tool/Utils.cpp" line="2121"/>
<source>info_popup_error_title</source>
<extracomment>Error</extracomment>
<translation>Erreur</translation>
@ -6262,9 +6215,9 @@ Pour les activer dans un projet commercial, merci de nous contacter.</translatio
<translation>Impossible de répondre : message invalide</translation>
</message>
<message>
<location filename="../../tool/Utils.cpp" line="2082"/>
<location filename="../../tool/Utils.cpp" line="2123"/>
<source>chat_message_edit_error</source>
<extracomment>Cannot edit to invalid message</extracomment>
<extracomment>Cannot modify invalid message</extracomment>
<translation>Impossible de modifier le message : message invalide</translation>
</message>
<message>
@ -6274,7 +6227,7 @@ Pour les activer dans un projet commercial, merci de nous contacter.</translatio
<translation>Impossible d&apos;envoyer la réponse : %1</translation>
</message>
<message>
<location filename="../../tool/Utils.cpp" line="2088"/>
<location filename="../../tool/Utils.cpp" line="2129"/>
<source>info_popup_edited_message_error</source>
<extracomment>Could not send edited message : %1</extracomment>
<translation>Impossible d&apos;envoyer le message modifié : %1</translation>
@ -6286,19 +6239,19 @@ Pour les activer dans un projet commercial, merci de nous contacter.</translatio
<translation>Impossible de créer le message</translation>
</message>
<message>
<location filename="../../tool/Utils.cpp" line="2115"/>
<location filename="../../tool/Utils.cpp" line="2156"/>
<source>info_popup_send_edited_message_error_message</source>
<extracomment>Failed to create edited message</extracomment>
<translation>Impossible de créer le message modifié</translation>
</message>
<message>
<location filename="../../tool/Utils.cpp" line="2153"/>
<location filename="../../tool/Utils.cpp" line="2109"/>
<source>info_popup_send_voice_message_error_message</source>
<extracomment>Could not send voice message : %1</extracomment>
<translation>Impossible d&apos;envoyer le message vocal : %1</translation>
</message>
<message>
<location filename="../../tool/Utils.cpp" line="2167"/>
<location filename="../../tool/Utils.cpp" line="2123"/>
<source>info_popup_send_voice_message_sending_error_message</source>
<extracomment>Failed to create message from record</extracomment>
<translation>Impossible de créer le message vocal</translation>

View file

@ -237,24 +237,18 @@ void ChatModel::toggleParticipantAdminStatusAtIndex(int index) const {
mMonitor->setParticipantAdminStatus(participant, !participant->isAdmin());
}
void ChatModel::setParticipantAddresses(const QStringList &addresses) {
void ChatModel::setParticipantAddresses(const QStringList &addresses) const {
QSet<QString> s{addresses.cbegin(), addresses.cend()};
bool soFarSoGood = true;
for (auto p : mMonitor->getParticipants()) {
auto address = Utils::coreStringToAppString(p->getAddress()->asStringUriOnly());
if (s.contains(address)) s.remove(address);
else {
mMonitor->removeParticipants({p});
}
else mMonitor->removeParticipant(p);
}
for (const auto &a : s) {
auto address = linphone::Factory::get()->createAddress(Utils::appStringToCoreString(a));
if (address) {
soFarSoGood &= mMonitor->addParticipants({address});
if (address) mMonitor->addParticipant(address);
}
}
emit participantAddressesChanged(mMonitor, soFarSoGood);
}
//---------------------------------------------------------------//

View file

@ -84,7 +84,7 @@ public:
void setEphemeralLifetime(int time);
void setSubject(QString subject) const;
void removeParticipantAtIndex(int index) const;
void setParticipantAddresses(const QStringList &addresses);
void setParticipantAddresses(const QStringList &addresses) const;
void toggleParticipantAdminStatusAtIndex(int index) const;
signals:
@ -94,7 +94,6 @@ signals:
void mutedChanged(bool muted);
void ephemeralEnableChanged(bool enable);
void ephemeralLifetimeChanged(int time);
void participantAddressesChanged(const std::shared_ptr<linphone::ChatRoom> &chatRoom, bool success);
private:
DECLARE_ABSTRACT_OBJECT

View file

@ -37,7 +37,6 @@ ChatMessageModel::ChatMessageModel(const std::shared_ptr<linphone::ChatMessage>
mEphemeralTimer.setInterval(60);
mEphemeralTimer.setSingleShot(false);
if (mMonitor->getEphemeralExpireTime() != 0) mEphemeralTimer.start();
mChatRoom = mMonitor->getChatRoom();
connect(&mEphemeralTimer, &QTimer::timeout, this,
[this] { emit ephemeralMessageTimeUpdated(mMonitor, mMonitor->getEphemeralExpireTime()); });
connect(this, &ChatMessageModel::ephemeralMessageTimerStarted, this, [this] { mEphemeralTimer.start(); });
@ -48,8 +47,7 @@ ChatMessageModel::ChatMessageModel(const std::shared_ptr<linphone::ChatMessage>
// We need to force this signal sending because there is no callback to know when a message has been read
connect(CoreModel::getInstance().get(), &CoreModel::chatRoomRead, this,
[this](const std::shared_ptr<linphone::Core> &core, const std::shared_ptr<linphone::ChatRoom> &chatRoom) {
if (!mMonitor || !mChatRoom.lock()) return;
if (chatRoom == mChatRoom.lock()) {
if (chatRoom == mMonitor->getChatRoom()) {
if (mMonitor->isRead()) {
emit messageRead(mMonitor);
}

View file

@ -33,7 +33,7 @@ DEFINE_ABSTRACT_OBJECT(ConferenceInfoModel)
ConferenceInfoModel::ConferenceInfoModel(const std::shared_ptr<linphone::ConferenceInfo> &conferenceInfo,
QObject *parent)
// TODO : remove cloning when a fix will be done in SDK (#SDK-1001 ticket)
: mConferenceInfo(conferenceInfo) {
: mConferenceInfo(conferenceInfo->clone()) {
mustBeInLinphoneThread(getClassName());
}

View file

@ -521,17 +521,6 @@ void SettingsModel::setAutoDownloadReceivedFiles(bool status) {
emit autoDownloadReceivedFilesChanged(status);
}
bool SettingsModel::getDisplayNotificationContent() const {
mustBeInLinphoneThread(log().arg(Q_FUNC_INFO));
return !!mConfig->getInt(UiSection, "display_notification_content", 1);
}
void SettingsModel::setDisplayNotificationContent(bool display) {
mustBeInLinphoneThread(log().arg(Q_FUNC_INFO));
mConfig->setInt(UiSection, "display_notification_content", display);
emit displayNotificationContentChanged(display);
}
bool SettingsModel::getEchoCancellationEnabled() const {
mustBeInLinphoneThread(log().arg(Q_FUNC_INFO));
return CoreModel::getInstance()->getCore()->echoCancellationEnabled();

View file

@ -66,9 +66,6 @@ public:
void setAutoDownloadReceivedFiles(bool enabled);
bool getAutoDownloadReceivedFiles() const;
void setDisplayNotificationContent(bool display);
bool getDisplayNotificationContent() const;
// Audio. --------------------------------------------------------------------
bool getIsInCall() const;
@ -290,7 +287,6 @@ signals:
// Messages. --------------------------------------------------------------------
void autoDownloadReceivedFilesChanged(bool enabled);
void displayNotificationContentChanged(bool display);
private:
void notifyConfigReady();

View file

@ -66,7 +66,7 @@ template <class A, class B>
class SafeConnection : public QObject {
// Use create functions.
protected:
SafeConnection(QSharedPointer<A> a, std::shared_ptr<B> b)
SafeConnection(const QSharedPointer<A> &a, std::shared_ptr<B> b)
: mCore(a), mModel(b), mCoreObject(a.get()), mModelObject(b.get()) {
}
SafeConnection(QSharedPointer<A> a, QSharedPointer<B> b)
@ -150,7 +150,6 @@ public:
}
bool tryLock() {
if (!this) return false;
mLocker.lock();
auto coreLocked = mCore.lock();
auto modelLocked = mModel.lock();

View file

@ -87,7 +87,6 @@ ListView {
onModelAboutToBeReset: {
loading = true
}
onModelReset: loading = false
onModelUpdated: {
loading = false
var index = eventLogProxy.findFirstUnreadIndex()

View file

@ -22,22 +22,6 @@ Rectangle {
height: participantAddColumn.implicitHeight
signal done()
Connections {
enabled: chatGui !== null
target: chatGui.core
function onParticipantAddressesChanged(success) {
if (!success) UtilsCpp.showInformationPopup(qsTr("info_popup_error_title"),
//: Error while setting participants !
qsTr("info_popup_manage_participant_error_message"), false)
else {
mainItem.done()
UtilsCpp.showInformationPopup(qsTr("info_popup_success_title"),
//: Participants updated
qsTr("info_popup_manage_participant_updated_message"), true)
}
}
}
ColumnLayout {
id: participantAddColumn
anchors.fill: parent
@ -52,6 +36,7 @@ Rectangle {
style: ButtonStyle.noBackground
icon.source: AppIcons.leftArrow
onClicked: {
mainItem.chatGui.core.lSetParticipantsAddresses(manageParticipantsLayout.selectedParticipants)
mainItem.done()
}
}
@ -62,14 +47,6 @@ Rectangle {
font: Typography.h4
Layout.fillWidth: true
}
MediumButton {
id: manageParticipantsApplyButton
//: Apply
text: qsTr("apply_button_text")
onClicked: {
mainItem.chatGui.core.lSetParticipantsAddresses(manageParticipantsLayout.selectedParticipants)
}
}
}
AddParticipantsForm {
id: manageParticipantsLayout

View file

@ -15,13 +15,6 @@ AbstractSettingsLayout {
subTitle: "",
contentComponent: attachedFilesParamComp,
// hideTopMargin: true
},
{
//: Notifications
title: qsTr("settings_chat_notifications_title"),
subTitle: "",
contentComponent: displayNotifParamComp,
// hideTopMargin: true
}
]
@ -35,24 +28,6 @@ AbstractSettingsLayout {
propertyName: "autoDownloadReceivedFiles"
propertyOwner: SettingsCpp
Connections {
target: mainItem
function onSave() {
SettingsCpp.save()
}
}
}
}
Component {
id: displayNotifParamComp
SwitchSetting {
//: "Display notification content"
titleText: qsTr("settings_chat_display_notification_content_title")
//: "Display the content of the received message"
subTitleText: qsTr("settings_chat_display_notification_content_subtitle")
propertyName: "displayNotificationContent"
propertyOwner: SettingsCpp
Connections {
target: mainItem
function onSave() {

View file

@ -321,7 +321,7 @@ AbstractMainPage {
meetingSetup.conferenceInfoGui.core.save()
//: "Création de la réunion en cours "
mainWindow.showLoadingPopup(qsTr("meeting_schedule_creation_in_progress"), true, function () {
meetingSetup.conferenceInfoGui.core.lCancelCreation()
meetingSetup.conferenceInfoGui.core.cancelCreation()
})
}
}

@ -1 +1 @@
Subproject commit 2e6e6b927ce202f6948da02ea33081a52b89bf48
Subproject commit cbf282611d1d39dac1405a5a9388de0e8ee5b9e5