allow changing call ringtone #LINQT-1321

This commit is contained in:
Gaelle Braud 2025-08-28 16:42:38 +02:00
parent 61d62c91ca
commit 358125dfa6
9 changed files with 360 additions and 196 deletions

View file

@ -51,6 +51,15 @@ SettingsCore::SettingsCore(QObject *parent) : QObject(parent) {
mEchoCancellationEnabled = settingsModel->getEchoCancellationEnabled();
mAutoDownloadReceivedFiles = settingsModel->getAutoDownloadReceivedFiles();
mAutomaticallyRecordCallsEnabled = settingsModel->getAutomaticallyRecordCallsEnabled();
mRingtonePath = settingsModel->getRingtone();
QFileInfo ringtone(mRingtonePath);
if (ringtone.exists()) {
mRingtoneFileName = ringtone.fileName();
mRingtoneFolder = ringtone.absolutePath();
} else {
mRingtoneFileName = mRingtonePath.right(mRingtonePath.lastIndexOf(QDir::separator()));
mRingtoneFolder = mRingtonePath.left(mRingtonePath.lastIndexOf(QDir::separator()));
}
// Audio
mCaptureDevices = settingsModel->getCaptureDevices();
@ -210,6 +219,9 @@ SettingsCore::SettingsCore(const SettingsCore &settingsCore) {
mDefaultDomain = settingsCore.mDefaultDomain;
mShowAccountDevices = settingsCore.mShowAccountDevices;
mRingtonePath = settingsCore.mRingtonePath;
mRingtoneFileName = settingsCore.mRingtoneFileName;
}
SettingsCore::~SettingsCore() {
@ -315,6 +327,10 @@ void SettingsCore::setSelf(QSharedPointer<SettingsCore> me) {
});
});
mSettingsModelConnection->makeConnectToModel(&SettingsModel::ringtoneChanged, [this](QString ringtonePath) {
mSettingsModelConnection->invokeToCore([this, ringtonePath]() { setRingtone(ringtonePath); });
});
mSettingsModelConnection->makeConnectToModel(&SettingsModel::videoDeviceChanged, [this](const QString device) {
mSettingsModelConnection->invokeToCore([this, device]() { setVideoDevice(device); });
});
@ -900,6 +916,30 @@ void SettingsCore::setFullLogsEnabled(bool enabled) {
}
}
void SettingsCore::setRingtone(QString path) {
if (mRingtonePath != path) {
mRingtonePath = path;
QFileInfo ringtone(path);
if (ringtone.exists()) {
mRingtoneFileName = ringtone.fileName();
mRingtoneFolder = ringtone.absolutePath();
} else {
mRingtoneFileName = mRingtonePath.right(mRingtonePath.lastIndexOf(QDir::separator()));
mRingtoneFolder = mRingtonePath.left(mRingtonePath.lastIndexOf(QDir::separator()));
}
emit ringtoneChanged();
setIsSaved(false);
}
}
QString SettingsCore::getRingtoneFileName() const {
return mRingtoneFileName;
}
QString SettingsCore::getRingtonePath() const {
return mRingtonePath;
}
void SettingsCore::cleanLogs() const {
mSettingsModelConnection->invokeToModel([this]() { SettingsModel::getInstance()->cleanLogs(); });
}
@ -984,6 +1024,7 @@ void SettingsCore::writeIntoModel(std::shared_ptr<SettingsModel> model) const {
model->setRingerDevice(mRingerDevice);
model->setCaptureDevice(mCaptureDevice);
model->setPlaybackDevice(mPlaybackDevice);
model->setRingtone(mRingtonePath);
model->setDefaultConferenceLayout(
LinphoneEnums::toLinphone(LinphoneEnums::ConferenceLayout(mConferenceLayout["id"].toInt())));
@ -1041,6 +1082,11 @@ void SettingsCore::writeFromModel(const std::shared_ptr<SettingsModel> &model) {
mVideoEnabled = model->getVideoEnabled();
mEchoCancellationEnabled = model->getEchoCancellationEnabled();
mAutomaticallyRecordCallsEnabled = model->getAutomaticallyRecordCallsEnabled();
mRingtonePath = model->getRingtone();
QFileInfo ringtone(mRingtonePath);
mRingtoneFolder = ringtone.exists() ? ringtone.absolutePath() : "";
mRingtoneFileName =
ringtone.exists() ? ringtone.fileName() : mRingtonePath.right(mRingtonePath.lastIndexOf(QDir::separator()));
// Chat
mAutoDownloadReceivedFiles = model->getAutoDownloadReceivedFiles();

View file

@ -82,6 +82,9 @@ public:
Q_PROPERTY(bool fullLogsEnabled READ getFullLogsEnabled WRITE setFullLogsEnabled NOTIFY fullLogsEnabledChanged)
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)
@ -196,6 +199,10 @@ public:
bool getFullLogsEnabled() const;
void setFullLogsEnabled(bool enabled);
void setRingtone(QString path);
QString getRingtoneFileName() const;
QString getRingtonePath() const;
Q_INVOKABLE void cleanLogs() const;
Q_INVOKABLE void sendLogs() const;
QString getLogsEmail() const;
@ -275,6 +282,8 @@ signals:
void lSetCaptureDevice(QVariantMap device);
void captureDeviceChanged(const QVariantMap &device);
void ringtoneChanged();
void lSetConferenceLayout(QVariantMap layout);
void conferenceLayoutChanged();
@ -346,6 +355,10 @@ private:
QVariantMap mPlaybackDevice;
QVariantMap mRingerDevice;
QString mRingtonePath;
QString mRingtoneFileName;
QString mRingtoneFolder;
QVariantList mConferenceLayouts;
QVariantMap mConferenceLayout;

View file

@ -1161,64 +1161,76 @@
<context>
<name>CallSettingsLayout</name>
<message>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="20"/>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="23"/>
<source>settings_call_devices_title</source>
<extracomment>&quot;Périphériques&quot;</extracomment>
<translation>Geräte</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="22"/>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="25"/>
<source>settings_call_devices_subtitle</source>
<extracomment>&quot;Vous pouvez modifier les périphériques de sortie audio, le microphone et la caméra de capture.&quot;</extracomment>
<translation>Sie können die Audioausgabegeräte, Mikrofon und Kamera ändern.</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="43"/>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="52"/>
<source>settings_calls_echo_canceller_title</source>
<extracomment>&quot;Annulateur d&apos;écho&quot;</extracomment>
<translation>Echo-Unterdrückung</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="45"/>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="54"/>
<source>settings_calls_echo_canceller_subtitle</source>
<extracomment>&quot;Évite que de l&apos;écho soit entendu par votre correspondant&quot;</extracomment>
<translation>Verhindert, dass Echo von Ihrem Gesprächspartner gehört wird</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="52"/>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="61"/>
<source>settings_calls_auto_record_title</source>
<extracomment>&quot;Activer lenregistrement automatique des appels&quot;</extracomment>
<translation>Automatische Anrufaufnahme aktivieren</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="59"/>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="68"/>
<source>settings_call_enable_tones_title</source>
<extracomment>Tonalités</extracomment>
<translation type="unfinished">Töne</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="61"/>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="70"/>
<source>settings_call_enable_tones_subtitle</source>
<extracomment>Activer les tonalités</extracomment>
<translation type="unfinished">Töne aktivieren</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="67"/>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="76"/>
<source>settings_calls_enable_video_title</source>
<extracomment>&quot;Autoriser la vidéo&quot;</extracomment>
<translation>Video aktivieren</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="77"/>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="86"/>
<source>settings_calls_command_line_title</source>
<extracomment>Command line</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="78"/>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="87"/>
<source>settings_calls_command_line_title_place_holder</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="95"/>
<source>settings_calls_change_ringtone_title</source>
<extracomment>&quot;Change ringtone&quot;</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="103"/>
<source>settings_calls_current_ringtone_filename</source>
<extracomment>Current ringtone :</extracomment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CallStatistics</name>
@ -1303,33 +1315,33 @@
<translation>Anruf pausiert</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="472"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="470"/>
<source>call_srtp_point_to_point_encrypted</source>
<extracomment>Appel chiffré de point à point</extracomment>
<translation>Punkt-zu-Punkt verschlüsselter Anruf</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="476"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="474"/>
<source>call_zrtp_sas_validation_required</source>
<extracomment>Vérification nécessaire</extracomment>
<translation>Validierung erforderlich</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="469"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="477"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="467"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="475"/>
<source>call_zrtp_end_to_end_encrypted</source>
<extracomment>Appel chiffré de bout en bout</extracomment>
<translation>Ende-zu-Ende verschlüsselter Anruf</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="480"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="478"/>
<source>call_not_encrypted</source>
<extracomment>&quot;Appel non chiffré&quot;</extracomment>
<translation>Unverschlüsselter Anruf</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="437"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="482"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="435"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="480"/>
<source>call_waiting_for_encryption_info</source>
<extracomment>&quot;En attente de chiffrement&quot;</extracomment>
<translation>Warten auf Verschlüsselung</translation>
@ -1341,133 +1353,133 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="573"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="571"/>
<source>conference_user_is_recording</source>
<extracomment>&quot;Vous enregistrez la réunion&quot;</extracomment>
<translation>Sie nehmen die Besprechung auf</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="575"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="573"/>
<source>call_user_is_recording</source>
<extracomment>&quot;Vous enregistrez l&apos;appel&quot;</extracomment>
<translation>Sie nehmen den Anruf auf</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="578"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="576"/>
<source>conference_remote_is_recording</source>
<extracomment>&quot;Un participant enregistre la réunion&quot;</extracomment>
<translation>Jemand nimmt die Besprechung auf</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="580"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="578"/>
<source>call_remote_recording</source>
<extracomment>&quot;%1 enregistre l&apos;appel&quot;</extracomment>
<translation>%1 nimmt den Anruf auf</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="588"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="586"/>
<source>call_stop_recording</source>
<extracomment>&quot;Arrêter l&apos;enregistrement&quot;</extracomment>
<translation>Aufnahme stoppen</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="621"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="619"/>
<source>add</source>
<translation>Hinzufügen</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="651"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="649"/>
<source>call_transfer_current_call_title</source>
<extracomment>&quot;Transférer %1 à&quot;</extracomment>
<translation>%1 weiterleiten an</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="664"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="676"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="662"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="674"/>
<source>call_transfer_confirm_dialog_tittle</source>
<extracomment>&quot;Confirmer le transfert&quot;</extracomment>
<translation>Weiterleitung bestätigen</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="666"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="677"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="664"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="675"/>
<source>call_transfer_confirm_dialog_message</source>
<extracomment>&quot;Vous allez transférer %1 à %2.&quot;</extracomment>
<translation>Sie werden %1 an %2 weiterleiten.</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="707"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="705"/>
<source>call_action_start_new_call</source>
<extracomment>&quot;Nouvel appel&quot;</extracomment>
<translation>Neuen Anruf starten</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="747"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="745"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1477"/>
<source>call_action_show_dialer</source>
<extracomment>&quot;Pavé numérique&quot;</extracomment>
<translation>Wähltastatur</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="785"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="783"/>
<source>call_action_change_layout</source>
<extracomment>&quot;Modifier la disposition&quot;</extracomment>
<translation>Layout ändern</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="801"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="799"/>
<source>call_action_go_to_calls_list</source>
<extracomment>&quot;Liste d&apos;appel&quot;</extracomment>
<translation>Anrufliste</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="820"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="818"/>
<source>Merger tous les appels</source>
<extracomment>call_action_merge_calls</extracomment>
<translation>Alle Anrufe zusammenführen</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="879"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="877"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1552"/>
<source>call_action_go_to_settings</source>
<extracomment>&quot;Paramètres&quot;</extracomment>
<translation>Einstellungen</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="900"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="898"/>
<source>conference_action_screen_sharing</source>
<extracomment>&quot;Partage de votre écran&quot;</extracomment>
<translation>Bildschirm teilen</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="951"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="949"/>
<source>conference_share_link_title</source>
<extracomment>Partager le lien de la réunion</extracomment>
<translation>Besprechungs-Link teilen</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="955"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="953"/>
<source>copied</source>
<extracomment>Copié</extracomment>
<translation>Kopiert</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="957"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="955"/>
<source>information_popup_meeting_address_copied_to_clipboard</source>
<extracomment>Le lien de la réunion a é copié dans le presse-papier</extracomment>
<translation>Der Besprechungs-Link wurde in die Zwischenablage kopiert</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="965"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="970"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="976"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="963"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="968"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="974"/>
<source>conference_participants_list_title</source>
<extracomment>&quot;Participants (%1)&quot;</extracomment>
<translation>Teilnehmer (%1)</translation>
</message>
<message numerus="yes">
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="996"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1004"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="994"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1002"/>
<source>group_call_participant_selected</source>
<translation type="unfinished">
<numerusform>1 ausgewählter Teilnehmer</numerusform>
@ -1475,18 +1487,18 @@
</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1003"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1001"/>
<source>meeting_schedule_add_participants_title</source>
<translation>Teilnehmer hinzufügen</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1020"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1018"/>
<source>call_encryption_title</source>
<extracomment>Chiffrement</extracomment>
<translation>Verschlüsselung</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1031"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1029"/>
<source>call_stats_title</source>
<extracomment>Statistiques</extracomment>
<translation>Statistiken</translation>
@ -1789,7 +1801,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="415"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="416"/>
<source>chat_room_delete</source>
<extracomment>&quot;Delete&quot;</extracomment>
<translation type="unfinished"></translation>
@ -1812,7 +1824,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="386"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="387"/>
<source>chat_room_leave</source>
<extracomment>&quot;leave&quot;</extracomment>
<translation type="unfinished"></translation>
@ -1830,13 +1842,13 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="421"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="422"/>
<source>chat_list_delete_chat_popup_title</source>
<extracomment>Delete the conversation ?</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="423"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="424"/>
<source>chat_list_delete_chat_popup_message</source>
<extracomment>This conversation and all its messages will be deleted. Do You want to continue ?</extracomment>
<translation type="unfinished"></translation>
@ -2266,13 +2278,13 @@ Error</extracomment>
<context>
<name>ConferenceInfoCore</name>
<message>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="568"/>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="569"/>
<source>information_popup_error_title</source>
<extracomment>&quot;Erreur&quot;</extracomment>
<translation>Fehler</translation>
</message>
<message>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="570"/>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="571"/>
<source>information_popup_disconnected_account_message</source>
<extracomment>&quot;Votre compte est déconnecté&quot;</extracomment>
<translation>Ihr Konto ist getrennt</translation>
@ -3931,13 +3943,13 @@ Error</extracomment>
<translation>Beschreibung hinzufügen</translation>
</message>
<message>
<location filename="../../view/Page/Form/Meeting/MeetingForm.qml" line="266"/>
<location filename="../../view/Page/Form/Meeting/MeetingForm.qml" line="267"/>
<source>meeting_schedule_add_participants_title</source>
<extracomment>&quot;Ajouter des participants&quot;</extracomment>
<translation>Teilnehmer hinzufügen</translation>
</message>
<message>
<location filename="../../view/Page/Form/Meeting/MeetingForm.qml" line="321"/>
<location filename="../../view/Page/Form/Meeting/MeetingForm.qml" line="322"/>
<source>meeting_schedule_send_invitations_title</source>
<extracomment>&quot;Envoyer une invitation aux participants&quot;</extracomment>
<translation>Einladung an Teilnehmer senden</translation>
@ -4993,31 +5005,31 @@ Pour les activer dans un projet commercial, merci de nous contacter.</source>
<translation>Start a group call ?</translation>
</message>
<message>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="414"/>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="424"/>
<source>reply_to_label</source>
<extracomment>Reply to %1</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="606"/>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="616"/>
<source>shared_medias_title</source>
<extracomment>Shared medias</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="608"/>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="618"/>
<source>shared_documents_title</source>
<extracomment>Shared documents</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="637"/>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="647"/>
<source>forward_to_title</source>
<extracomment>Forward to</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="671"/>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="681"/>
<source>conversations_title</source>
<extracomment>Conversations</extracomment>
<translation type="unfinished"></translation>
@ -5166,7 +5178,7 @@ Pour les activer dans un projet commercial, merci de nous contacter.</source>
<context>
<name>Utils</name>
<message numerus="yes">
<location filename="../../tool/Utils.cpp" line="2253"/>
<location filename="../../tool/Utils.cpp" line="2255"/>
<source>nMinute</source>
<translation type="unfinished">
<numerusform></numerusform>
@ -5174,7 +5186,7 @@ Pour les activer dans un projet commercial, merci de nous contacter.</source>
</translation>
</message>
<message numerus="yes">
<location filename="../../tool/Utils.cpp" line="2254"/>
<location filename="../../tool/Utils.cpp" line="2256"/>
<source>nHour</source>
<translation type="unfinished">
<numerusform></numerusform>
@ -5182,8 +5194,8 @@ Pour les activer dans un projet commercial, merci de nous contacter.</source>
</translation>
</message>
<message numerus="yes">
<location filename="../../tool/Utils.cpp" line="2255"/>
<location filename="../../tool/Utils.cpp" line="2256"/>
<location filename="../../tool/Utils.cpp" line="2257"/>
<location filename="../../tool/Utils.cpp" line="2258"/>
<source>nDay</source>
<translation type="unfinished">
<numerusform></numerusform>
@ -5191,7 +5203,7 @@ Pour les activer dans un projet commercial, merci de nous contacter.</source>
</translation>
</message>
<message numerus="yes">
<location filename="../../tool/Utils.cpp" line="2257"/>
<location filename="../../tool/Utils.cpp" line="2259"/>
<source>nWeek</source>
<translation type="unfinished">
<numerusform></numerusform>
@ -5199,7 +5211,7 @@ Pour les activer dans un projet commercial, merci de nous contacter.</source>
</translation>
</message>
<message numerus="yes">
<location filename="../../tool/Utils.cpp" line="2258"/>
<location filename="../../tool/Utils.cpp" line="2260"/>
<source>nSeconds</source>
<translation type="unfinished">
<numerusform></numerusform>

View file

@ -1123,64 +1123,76 @@
<context>
<name>CallSettingsLayout</name>
<message>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="20"/>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="23"/>
<source>settings_call_devices_title</source>
<extracomment>&quot;Périphériques&quot;</extracomment>
<translation>Devices</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="22"/>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="25"/>
<source>settings_call_devices_subtitle</source>
<extracomment>&quot;Vous pouvez modifier les périphériques de sortie audio, le microphone et la caméra de capture.&quot;</extracomment>
<translation>You can change the audio output devices, microphone, and camera.</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="43"/>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="52"/>
<source>settings_calls_echo_canceller_title</source>
<extracomment>&quot;Annulateur d&apos;écho&quot;</extracomment>
<translation>Echo canceller</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="45"/>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="54"/>
<source>settings_calls_echo_canceller_subtitle</source>
<extracomment>&quot;Évite que de l&apos;écho soit entendu par votre correspondant&quot;</extracomment>
<translation>Prevents echo from being heard by your correspondent</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="52"/>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="61"/>
<source>settings_calls_auto_record_title</source>
<extracomment>&quot;Activer lenregistrement automatique des appels&quot;</extracomment>
<translation>Enable automatic call recording</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="59"/>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="68"/>
<source>settings_call_enable_tones_title</source>
<extracomment>Tonalités</extracomment>
<translation>Tones</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="61"/>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="70"/>
<source>settings_call_enable_tones_subtitle</source>
<extracomment>Activer les tonalités</extracomment>
<translation>Enable tones</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="67"/>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="76"/>
<source>settings_calls_enable_video_title</source>
<extracomment>&quot;Autoriser la vidéo&quot;</extracomment>
<translation>Enable video</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="77"/>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="86"/>
<source>settings_calls_command_line_title</source>
<extracomment>Command line</extracomment>
<translation>Command Line to run upon incoming call</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="78"/>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="87"/>
<source>settings_calls_command_line_title_place_holder</source>
<translation>command &quot;https://example.com/?phone=$1&amp;displayName=$2&quot;</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="95"/>
<source>settings_calls_change_ringtone_title</source>
<extracomment>&quot;Change ringtone&quot;</extracomment>
<translation>Change ringtone</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="103"/>
<source>settings_calls_current_ringtone_filename</source>
<extracomment>Current ringtone :</extracomment>
<translation>Current ringtone :</translation>
</message>
</context>
<context>
<name>CallStatistics</name>
@ -1265,33 +1277,33 @@
<translation>Call paused</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="472"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="470"/>
<source>call_srtp_point_to_point_encrypted</source>
<extracomment>Appel chiffré de point à point</extracomment>
<translation>Point-to-point encrypted call</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="476"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="474"/>
<source>call_zrtp_sas_validation_required</source>
<extracomment>Vérification nécessaire</extracomment>
<translation>Validation required</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="469"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="477"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="467"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="475"/>
<source>call_zrtp_end_to_end_encrypted</source>
<extracomment>Appel chiffré de bout en bout</extracomment>
<translation>End-to-end encrypted call</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="480"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="478"/>
<source>call_not_encrypted</source>
<extracomment>&quot;Appel non chiffré&quot;</extracomment>
<translation>Unencrypted call</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="437"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="482"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="435"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="480"/>
<source>call_waiting_for_encryption_info</source>
<extracomment>&quot;En attente de chiffrement&quot;</extracomment>
<translation>Waiting for encryption</translation>
@ -1303,133 +1315,133 @@
<translation>Call paused by remote</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="573"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="571"/>
<source>conference_user_is_recording</source>
<extracomment>&quot;Vous enregistrez la réunion&quot;</extracomment>
<translation>You are recording the meeting</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="575"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="573"/>
<source>call_user_is_recording</source>
<extracomment>&quot;Vous enregistrez l&apos;appel&quot;</extracomment>
<translation>You are recording the call</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="578"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="576"/>
<source>conference_remote_is_recording</source>
<extracomment>&quot;Un participant enregistre la réunion&quot;</extracomment>
<translation>Someone is recording the meeting</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="580"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="578"/>
<source>call_remote_recording</source>
<extracomment>&quot;%1 enregistre l&apos;appel&quot;</extracomment>
<translation>%1 records the call</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="588"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="586"/>
<source>call_stop_recording</source>
<extracomment>&quot;Arrêter l&apos;enregistrement&quot;</extracomment>
<translation>Stop recording</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="621"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="619"/>
<source>add</source>
<translation>Add</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="651"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="649"/>
<source>call_transfer_current_call_title</source>
<extracomment>&quot;Transférer %1 à&quot;</extracomment>
<translation>Transfer %1 to</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="664"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="676"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="662"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="674"/>
<source>call_transfer_confirm_dialog_tittle</source>
<extracomment>&quot;Confirmer le transfert&quot;</extracomment>
<translation>Confirm transfer</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="666"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="677"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="664"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="675"/>
<source>call_transfer_confirm_dialog_message</source>
<extracomment>&quot;Vous allez transférer %1 à %2.&quot;</extracomment>
<translation>You are going to transfer %1 to %2.</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="707"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="705"/>
<source>call_action_start_new_call</source>
<extracomment>&quot;Nouvel appel&quot;</extracomment>
<translation>New call</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="747"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="745"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1477"/>
<source>call_action_show_dialer</source>
<extracomment>&quot;Pavé numérique&quot;</extracomment>
<translation>Dialer</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="785"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="783"/>
<source>call_action_change_layout</source>
<extracomment>&quot;Modifier la disposition&quot;</extracomment>
<translation>Change layout</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="801"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="799"/>
<source>call_action_go_to_calls_list</source>
<extracomment>&quot;Liste d&apos;appel&quot;</extracomment>
<translation>Call list</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="820"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="818"/>
<source>Merger tous les appels</source>
<extracomment>call_action_merge_calls</extracomment>
<translation>Merge all calls</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="879"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="877"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1552"/>
<source>call_action_go_to_settings</source>
<extracomment>&quot;Paramètres&quot;</extracomment>
<translation>Settings</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="900"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="898"/>
<source>conference_action_screen_sharing</source>
<extracomment>&quot;Partage de votre écran&quot;</extracomment>
<translation>Share your screen</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="951"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="949"/>
<source>conference_share_link_title</source>
<extracomment>Partager le lien de la réunion</extracomment>
<translation>Share meeting link</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="955"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="953"/>
<source>copied</source>
<extracomment>Copié</extracomment>
<translation>Copied</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="957"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="955"/>
<source>information_popup_meeting_address_copied_to_clipboard</source>
<extracomment>Le lien de la réunion a é copié dans le presse-papier</extracomment>
<translation>Meeting link has been copied to the clipboard</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="965"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="970"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="976"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="963"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="968"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="974"/>
<source>conference_participants_list_title</source>
<extracomment>&quot;Participants (%1)&quot;</extracomment>
<translation>Participants (%1)</translation>
</message>
<message numerus="yes">
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="996"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1004"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="994"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1002"/>
<source>group_call_participant_selected</source>
<translation>
<numerusform>%1 selected participant</numerusform>
@ -1437,18 +1449,18 @@
</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1003"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1001"/>
<source>meeting_schedule_add_participants_title</source>
<translation>Add participants</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1020"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1018"/>
<source>call_encryption_title</source>
<extracomment>Chiffrement</extracomment>
<translation>Encryption</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1031"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1029"/>
<source>call_stats_title</source>
<extracomment>Statistiques</extracomment>
<translation>Statistics</translation>
@ -1751,7 +1763,7 @@
<translation>Draft : %1</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="415"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="416"/>
<source>chat_room_delete</source>
<extracomment>&quot;Delete&quot;</extracomment>
<translation>Delete</translation>
@ -1774,7 +1786,7 @@
<translation>Mark as read</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="386"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="387"/>
<source>chat_room_leave</source>
<extracomment>&quot;leave&quot;</extracomment>
<translation>Leave</translation>
@ -1792,13 +1804,13 @@
<translation>You will not be able to send or receive messages in this conversation anymore. Do You want to continue ?</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="421"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="422"/>
<source>chat_list_delete_chat_popup_title</source>
<extracomment>Delete the conversation ?</extracomment>
<translation>Delete the conversation ?</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="423"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="424"/>
<source>chat_list_delete_chat_popup_message</source>
<extracomment>This conversation and all its messages will be deleted. Do You want to continue ?</extracomment>
<translation>This conversation and all its messages will be deleted. Do You want to continue ?</translation>
@ -2229,13 +2241,13 @@ Only your correspondent can decrypt them.</translation>
<context>
<name>ConferenceInfoCore</name>
<message>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="568"/>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="569"/>
<source>information_popup_error_title</source>
<extracomment>&quot;Erreur&quot;</extracomment>
<translation>Error</translation>
</message>
<message>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="570"/>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="571"/>
<source>information_popup_disconnected_account_message</source>
<extracomment>&quot;Votre compte est déconnecté&quot;</extracomment>
<translation>Your account is disconnected</translation>
@ -2281,7 +2293,7 @@ Only your correspondent can decrypt them.</translation>
<location filename="../../view/Page/Form/Contact/ContactEdition.qml" line="84"/>
<source>contact_editor_mandatory_first_name_or_company_not_filled</source>
<extracomment>&quot;Veuillez saisir un prénom ou un nom d&apos;entreprise&quot;</extracomment>
<translation type="unfinished">Please enter a first name or a company name</translation>
<translation>Please enter a first name or a company name</translation>
</message>
<message>
<location filename="../../view/Page/Form/Contact/ContactEdition.qml" line="88"/>
@ -3841,13 +3853,13 @@ Expiration : %1</translation>
<translation>Add a description</translation>
</message>
<message>
<location filename="../../view/Page/Form/Meeting/MeetingForm.qml" line="266"/>
<location filename="../../view/Page/Form/Meeting/MeetingForm.qml" line="267"/>
<source>meeting_schedule_add_participants_title</source>
<extracomment>&quot;Ajouter des participants&quot;</extracomment>
<translation>Add participants</translation>
</message>
<message>
<location filename="../../view/Page/Form/Meeting/MeetingForm.qml" line="321"/>
<location filename="../../view/Page/Form/Meeting/MeetingForm.qml" line="322"/>
<source>meeting_schedule_send_invitations_title</source>
<extracomment>&quot;Envoyer une invitation aux participants&quot;</extracomment>
<translation>Send an invitation to participants</translation>
@ -4882,31 +4894,31 @@ To enable them in a commercial project, please contact us.</translation>
<translation>Start a group call ?</translation>
</message>
<message>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="414"/>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="424"/>
<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="606"/>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="616"/>
<source>shared_medias_title</source>
<extracomment>Shared medias</extracomment>
<translation>Shared medias</translation>
</message>
<message>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="608"/>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="618"/>
<source>shared_documents_title</source>
<extracomment>Shared documents</extracomment>
<translation>Shared documents</translation>
</message>
<message>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="637"/>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="647"/>
<source>forward_to_title</source>
<extracomment>Forward to</extracomment>
<translation>Froward to</translation>
</message>
<message>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="671"/>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="681"/>
<source>conversations_title</source>
<extracomment>Conversations</extracomment>
<translation>Conversations</translation>
@ -5055,7 +5067,7 @@ To enable them in a commercial project, please contact us.</translation>
<context>
<name>Utils</name>
<message numerus="yes">
<location filename="../../tool/Utils.cpp" line="2258"/>
<location filename="../../tool/Utils.cpp" line="2260"/>
<source>nSeconds</source>
<translation>
<numerusform>%1 second</numerusform>
@ -5063,7 +5075,7 @@ To enable them in a commercial project, please contact us.</translation>
</translation>
</message>
<message numerus="yes">
<location filename="../../tool/Utils.cpp" line="2253"/>
<location filename="../../tool/Utils.cpp" line="2255"/>
<source>nMinute</source>
<translation>
<numerusform>%1 minute</numerusform>
@ -5107,7 +5119,7 @@ To enable them in a commercial project, please contact us.</translation>
<translation>Failed to create reply message</translation>
</message>
<message numerus="yes">
<location filename="../../tool/Utils.cpp" line="2254"/>
<location filename="../../tool/Utils.cpp" line="2256"/>
<source>nHour</source>
<translation>
<numerusform>%1 hour</numerusform>
@ -5115,8 +5127,8 @@ To enable them in a commercial project, please contact us.</translation>
</translation>
</message>
<message numerus="yes">
<location filename="../../tool/Utils.cpp" line="2255"/>
<location filename="../../tool/Utils.cpp" line="2256"/>
<location filename="../../tool/Utils.cpp" line="2257"/>
<location filename="../../tool/Utils.cpp" line="2258"/>
<source>nDay</source>
<translation>
<numerusform>%1 day</numerusform>
@ -5124,7 +5136,7 @@ To enable them in a commercial project, please contact us.</translation>
</translation>
</message>
<message numerus="yes">
<location filename="../../tool/Utils.cpp" line="2257"/>
<location filename="../../tool/Utils.cpp" line="2259"/>
<source>nWeek</source>
<translation>
<numerusform>%1 week</numerusform>

View file

@ -1123,64 +1123,76 @@
<context>
<name>CallSettingsLayout</name>
<message>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="20"/>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="23"/>
<source>settings_call_devices_title</source>
<extracomment>&quot;Périphériques&quot;</extracomment>
<translation>Périphériques</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="22"/>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="25"/>
<source>settings_call_devices_subtitle</source>
<extracomment>&quot;Vous pouvez modifier les périphériques de sortie audio, le microphone et la caméra de capture.&quot;</extracomment>
<translation>Vous pouvez modifier les périphériques de sortie audio, le microphone et la caméra de capture.</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="43"/>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="52"/>
<source>settings_calls_echo_canceller_title</source>
<extracomment>&quot;Annulateur d&apos;écho&quot;</extracomment>
<translation>Annulateur d&apos;écho</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="45"/>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="54"/>
<source>settings_calls_echo_canceller_subtitle</source>
<extracomment>&quot;Évite que de l&apos;écho soit entendu par votre correspondant&quot;</extracomment>
<translation>Évite que de l&apos;écho soit entendu par votre correspondant</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="52"/>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="61"/>
<source>settings_calls_auto_record_title</source>
<extracomment>&quot;Activer lenregistrement automatique des appels&quot;</extracomment>
<translation>Activer lenregistrement automatique des appels</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="59"/>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="68"/>
<source>settings_call_enable_tones_title</source>
<extracomment>Tonalités</extracomment>
<translation>Tonalités</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="61"/>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="70"/>
<source>settings_call_enable_tones_subtitle</source>
<extracomment>Activer les tonalités</extracomment>
<translation>Activer les tonalités</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="67"/>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="76"/>
<source>settings_calls_enable_video_title</source>
<extracomment>&quot;Autoriser la vidéo&quot;</extracomment>
<translation>Autoriser la vidéo</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="77"/>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="86"/>
<source>settings_calls_command_line_title</source>
<extracomment>Command line</extracomment>
<translation>Redirection vers outil externe lors d&apos;un appel entrant.</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="78"/>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="87"/>
<source>settings_calls_command_line_title_place_holder</source>
<translation>commande &quot;https://exemple.com/?numero=$1&amp;nom=$2&quot;</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="95"/>
<source>settings_calls_change_ringtone_title</source>
<extracomment>&quot;Change ringtone&quot;</extracomment>
<translation>Changer la sonnerie</translation>
</message>
<message>
<location filename="../../view/Page/Layout/Settings/CallSettingsLayout.qml" line="103"/>
<source>settings_calls_current_ringtone_filename</source>
<extracomment>Current ringtone :</extracomment>
<translation>Sonnerie actuelle :</translation>
</message>
</context>
<context>
<name>CallStatistics</name>
@ -1265,33 +1277,33 @@
<translation>Appel mis en pause</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="472"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="470"/>
<source>call_srtp_point_to_point_encrypted</source>
<extracomment>Appel chiffré de point à point</extracomment>
<translation>Appel chiffré de point à point</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="476"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="474"/>
<source>call_zrtp_sas_validation_required</source>
<extracomment>Vérification nécessaire</extracomment>
<translation>Vérification nécessaire</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="469"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="477"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="467"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="475"/>
<source>call_zrtp_end_to_end_encrypted</source>
<extracomment>Appel chiffré de bout en bout</extracomment>
<translation>Appel chiffré de bout en bout</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="480"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="478"/>
<source>call_not_encrypted</source>
<extracomment>&quot;Appel non chiffré&quot;</extracomment>
<translation>Appel non chiffré</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="437"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="482"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="435"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="480"/>
<source>call_waiting_for_encryption_info</source>
<extracomment>&quot;En attente de chiffrement&quot;</extracomment>
<translation>En attente de chiffrement</translation>
@ -1303,133 +1315,133 @@
<translation>Appel mis en pause par votre correspondant</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="573"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="571"/>
<source>conference_user_is_recording</source>
<extracomment>&quot;Vous enregistrez la réunion&quot;</extracomment>
<translation>Vous enregistrez la réunion</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="575"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="573"/>
<source>call_user_is_recording</source>
<extracomment>&quot;Vous enregistrez l&apos;appel&quot;</extracomment>
<translation>Vous enregistrez l&apos;appel</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="578"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="576"/>
<source>conference_remote_is_recording</source>
<extracomment>&quot;Un participant enregistre la réunion&quot;</extracomment>
<translation>Un participant enregistre la réunion</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="580"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="578"/>
<source>call_remote_recording</source>
<extracomment>&quot;%1 enregistre l&apos;appel&quot;</extracomment>
<translation>%1 enregistre l&apos;appel</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="588"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="586"/>
<source>call_stop_recording</source>
<extracomment>&quot;Arrêter l&apos;enregistrement&quot;</extracomment>
<translation>Arrêter l&apos;enregistrement</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="621"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="619"/>
<source>add</source>
<translation>Ajouter</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="651"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="649"/>
<source>call_transfer_current_call_title</source>
<extracomment>&quot;Transférer %1 à&quot;</extracomment>
<translation>Transférer %1 à</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="664"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="676"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="662"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="674"/>
<source>call_transfer_confirm_dialog_tittle</source>
<extracomment>&quot;Confirmer le transfert&quot;</extracomment>
<translation>Confirmer le transfert</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="666"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="677"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="664"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="675"/>
<source>call_transfer_confirm_dialog_message</source>
<extracomment>&quot;Vous allez transférer %1 à %2.&quot;</extracomment>
<translation>Vous allez transférer %1 à %2.</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="707"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="705"/>
<source>call_action_start_new_call</source>
<extracomment>&quot;Nouvel appel&quot;</extracomment>
<translation>Nouvel appel</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="747"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="745"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1477"/>
<source>call_action_show_dialer</source>
<extracomment>&quot;Pavé numérique&quot;</extracomment>
<translation>Pavé numérique</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="785"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="783"/>
<source>call_action_change_layout</source>
<extracomment>&quot;Modifier la disposition&quot;</extracomment>
<translation>Modifier la disposition</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="801"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="799"/>
<source>call_action_go_to_calls_list</source>
<extracomment>&quot;Liste d&apos;appel&quot;</extracomment>
<translation>Liste d&apos;appel</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="820"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="818"/>
<source>Merger tous les appels</source>
<extracomment>call_action_merge_calls</extracomment>
<translation>Merger tous les appels</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="879"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="877"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1552"/>
<source>call_action_go_to_settings</source>
<extracomment>&quot;Paramètres&quot;</extracomment>
<translation>Paramètres</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="900"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="898"/>
<source>conference_action_screen_sharing</source>
<extracomment>&quot;Partage de votre écran&quot;</extracomment>
<translation>Partage de votre écran</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="951"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="949"/>
<source>conference_share_link_title</source>
<extracomment>Partager le lien de la réunion</extracomment>
<translation>Partager le lien de la réunion</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="955"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="953"/>
<source>copied</source>
<extracomment>Copié</extracomment>
<translation>Copié</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="957"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="955"/>
<source>information_popup_meeting_address_copied_to_clipboard</source>
<extracomment>Le lien de la réunion a é copié dans le presse-papier</extracomment>
<translation>Le lien de la réunion a é copié dans le presse-papier</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="965"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="970"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="976"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="963"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="968"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="974"/>
<source>conference_participants_list_title</source>
<extracomment>&quot;Participants (%1)&quot;</extracomment>
<translation>Participants (%1)</translation>
</message>
<message numerus="yes">
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="996"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1004"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="994"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1002"/>
<source>group_call_participant_selected</source>
<translation>
<numerusform>%1 participant sélectionné</numerusform>
@ -1437,18 +1449,18 @@
</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1003"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1001"/>
<source>meeting_schedule_add_participants_title</source>
<translation>Ajouter des participants</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1020"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1018"/>
<source>call_encryption_title</source>
<extracomment>Chiffrement</extracomment>
<translation>Chiffrement</translation>
</message>
<message>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1031"/>
<location filename="../../view/Page/Window/Call/CallsWindow.qml" line="1029"/>
<source>call_stats_title</source>
<extracomment>Statistiques</extracomment>
<translation>Statistiques</translation>
@ -1751,7 +1763,7 @@
<translation>Brouillon : %1</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="415"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="416"/>
<source>chat_room_delete</source>
<extracomment>&quot;Delete&quot;</extracomment>
<translation>Supprimer</translation>
@ -1774,7 +1786,7 @@
<translation>Marquer comme lu</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="386"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="387"/>
<source>chat_room_leave</source>
<extracomment>&quot;leave&quot;</extracomment>
<translation>Quitter la conversation</translation>
@ -1792,13 +1804,13 @@
<translation>Vous ne pourrez plus envoyer ou recevoir de messages dans cette conversation. Souhaitez-vous continuer ?</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="421"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="422"/>
<source>chat_list_delete_chat_popup_title</source>
<extracomment>Delete the conversation ?</extracomment>
<translation>Supprimer la conversation ?</translation>
</message>
<message>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="423"/>
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="424"/>
<source>chat_list_delete_chat_popup_message</source>
<extracomment>This conversation and all its messages will be deleted. Do You want to continue ?</extracomment>
<translation>La conversation et tous ses messages seront supprimés. Souhaitez-vous continuer ?</translation>
@ -2229,13 +2241,13 @@ en bout. Seul votre correspondant peut les déchiffrer.</translation>
<context>
<name>ConferenceInfoCore</name>
<message>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="568"/>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="569"/>
<source>information_popup_error_title</source>
<extracomment>&quot;Erreur&quot;</extracomment>
<translation>Erreur</translation>
</message>
<message>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="570"/>
<location filename="../../core/conference/ConferenceInfoCore.cpp" line="571"/>
<source>information_popup_disconnected_account_message</source>
<extracomment>&quot;Votre compte est déconnecté&quot;</extracomment>
<translation>Votre compte est déconnecté</translation>
@ -3841,13 +3853,13 @@ Expiration : %1</translation>
<translation>Ajouter une description</translation>
</message>
<message>
<location filename="../../view/Page/Form/Meeting/MeetingForm.qml" line="266"/>
<location filename="../../view/Page/Form/Meeting/MeetingForm.qml" line="267"/>
<source>meeting_schedule_add_participants_title</source>
<extracomment>&quot;Ajouter des participants&quot;</extracomment>
<translation>Ajouter des participants</translation>
</message>
<message>
<location filename="../../view/Page/Form/Meeting/MeetingForm.qml" line="321"/>
<location filename="../../view/Page/Form/Meeting/MeetingForm.qml" line="322"/>
<source>meeting_schedule_send_invitations_title</source>
<extracomment>&quot;Envoyer une invitation aux participants&quot;</extracomment>
<translation>Envoyer une invitation aux participants</translation>
@ -4882,31 +4894,31 @@ Pour les activer dans un projet commercial, merci de nous contacter.</translatio
<translation>Démarrer un appel de groupe ?</translation>
</message>
<message>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="414"/>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="424"/>
<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="606"/>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="616"/>
<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="608"/>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="618"/>
<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="637"/>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="647"/>
<source>forward_to_title</source>
<extracomment>Forward to</extracomment>
<translation>Transférer à</translation>
</message>
<message>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="671"/>
<location filename="../../view/Page/Form/Chat/SelectedChatView.qml" line="681"/>
<source>conversations_title</source>
<extracomment>Conversations</extracomment>
<translation>Conversations</translation>
@ -5055,7 +5067,7 @@ Pour les activer dans un projet commercial, merci de nous contacter.</translatio
<context>
<name>Utils</name>
<message numerus="yes">
<location filename="../../tool/Utils.cpp" line="2253"/>
<location filename="../../tool/Utils.cpp" line="2255"/>
<source>nMinute</source>
<translation>
<numerusform>%1 minute</numerusform>
@ -5063,7 +5075,7 @@ Pour les activer dans un projet commercial, merci de nous contacter.</translatio
</translation>
</message>
<message numerus="yes">
<location filename="../../tool/Utils.cpp" line="2254"/>
<location filename="../../tool/Utils.cpp" line="2256"/>
<source>nHour</source>
<translation>
<numerusform>%1 heure</numerusform>
@ -5071,8 +5083,8 @@ Pour les activer dans un projet commercial, merci de nous contacter.</translatio
</translation>
</message>
<message numerus="yes">
<location filename="../../tool/Utils.cpp" line="2255"/>
<location filename="../../tool/Utils.cpp" line="2256"/>
<location filename="../../tool/Utils.cpp" line="2257"/>
<location filename="../../tool/Utils.cpp" line="2258"/>
<source>nDay</source>
<translation>
<numerusform>%1 jour</numerusform>
@ -5080,7 +5092,7 @@ Pour les activer dans un projet commercial, merci de nous contacter.</translatio
</translation>
</message>
<message numerus="yes">
<location filename="../../tool/Utils.cpp" line="2257"/>
<location filename="../../tool/Utils.cpp" line="2259"/>
<source>nWeek</source>
<translation>
<numerusform>%1 semaine</numerusform>
@ -5088,7 +5100,7 @@ Pour les activer dans un projet commercial, merci de nous contacter.</translatio
</translation>
</message>
<message numerus="yes">
<location filename="../../tool/Utils.cpp" line="2258"/>
<location filename="../../tool/Utils.cpp" line="2260"/>
<source>nSeconds</source>
<translation>
<numerusform>%1 seconde</numerusform>

View file

@ -405,6 +405,20 @@ void SettingsModel::setRingerDevice(QVariantMap device) {
emit ringerDeviceChanged(device);
}
void SettingsModel::setRingtone(QString ringtonePath) {
mustBeInLinphoneThread(log().arg(Q_FUNC_INFO));
QFileInfo ringtone(ringtonePath);
if (ringtonePath.isEmpty() || !ringtone.exists()) {
} else {
CoreModel::getInstance()->getCore()->setRing(Utils::appStringToCoreString(ringtonePath));
emit ringtoneChanged(ringtonePath);
}
}
QString SettingsModel::getRingtone() const {
return Utils::coreStringToAppString(CoreModel::getInstance()->getCore()->getRing());
}
// -----------------------------------------------------------------------------
QString SettingsModel::getVideoDevice() const {

View file

@ -113,6 +113,9 @@ public:
QVariantMap getRingerDevice() const;
void setRingerDevice(QVariantMap device);
void setRingtone(QString ringtonePath);
QString getRingtone() const;
QString getVideoDevice() const;
void setVideoDevice(QString device);
@ -233,6 +236,8 @@ signals:
void ringerDeviceChanged(QVariantMap device);
void videoDeviceChanged(QString device);
void ringtoneChanged(QString ringtonePath);
void conferenceLayoutChanged();
void mediaEncryptionChanged();
void mediaEncryptionMandatoryChanged();

View file

@ -2,9 +2,12 @@
import QtQuick
import QtQuick.Layouts
import QtQuick.Controls.Basic as Control
import QtQuick.Dialogs
import Linphone
import SettingsCpp 1.0
import UtilsCpp
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
import "qrc:/qt/qml/Linphone/view/Control/Tool/Helper/utils.js" as Utils
AbstractSettingsLayout {
id: mainItem
@ -31,6 +34,14 @@ AbstractSettingsLayout {
}
onUndo: SettingsCpp.undo()
FileDialog {
id: fileDialog
currentFolder: SettingsCpp.ringtoneFolder
onAccepted: SettingsCpp.ringtonePath = Utils.getSystemPathFromUri(selectedFile)
nameFilters: ["WAV files (*.wav)", "MKV files (*.mkv)"]
options: FileDialog.ReadOnly
}
// Generic call parameters
//////////////////////////
@ -79,6 +90,44 @@ AbstractSettingsLayout {
useTitleAsPlaceHolder: false
toValidate: true
}
RowLayout {
ColumnLayout {
Text {
//: "Change ringtone"
text: qsTr("settings_calls_change_ringtone_title")
font: Typography.p2l
Layout.fillWidth: true
}
RowLayout {
spacing: Math.round(3 * DefaultStyle.dp)
Text {
//: Current ringtone :
text: qsTr("settings_calls_current_ringtone_filename")
font: Typography.p1
wrapMode: Text.WordWrap
color: DefaultStyle.main2_600
}
Text {
text: SettingsCpp.ringtoneName.length !== 0 ? SettingsCpp.ringtoneName : ""
font {
pixelSize: Typography.p1.pixelSize
// weight: Typography.p1.weight
italic: true
}
color: DefaultStyle.main2_600
Layout.fillWidth: true
}
}
}
Item{Layout.fillWidth: true}
RoundButton {
style: ButtonStyle.noBackground
icon.source: AppIcons.arrowSquareOut
onClicked: {
fileDialog.open()
}
}
}
}
}

View file

@ -62,6 +62,7 @@ QtObject {
property string arrowRight: "image://internal/arrow-right.svg"
property string arrowUpRight: "image://internal/arrow-up-right.svg"
property string arrowElbow: "image://internal/arrow-elbow-left.svg"
property string arrowSquareOut: "image://internal/arrow-square-out.svg"
property string microphone: "image://internal/microphone.svg"
property string microphoneSlash: "image://internal/microphone-slash.svg"
property string camera: "image://internal/camera.svg"