mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-01-17 11:28:07 +00:00
imdn details
This commit is contained in:
parent
1d7010c381
commit
a02a58ecc9
26 changed files with 1284 additions and 482 deletions
|
|
@ -60,6 +60,7 @@
|
|||
#include "core/chat/message/EventLogProxy.hpp"
|
||||
#include "core/chat/message/content/ChatMessageContentGui.hpp"
|
||||
#include "core/chat/message/content/ChatMessageContentProxy.hpp"
|
||||
#include "core/chat/message/imdn/ImdnStatusProxy.hpp"
|
||||
#include "core/conference/ConferenceGui.hpp"
|
||||
#include "core/conference/ConferenceInfoGui.hpp"
|
||||
#include "core/conference/ConferenceInfoProxy.hpp"
|
||||
|
|
@ -687,6 +688,7 @@ void App::initCppInterfaces() {
|
|||
qmlRegisterType<FPSCounter>(Constants::MainQmlUri, 1, 0, "FPSCounter");
|
||||
qmlRegisterType<EmojiModel>(Constants::MainQmlUri, 1, 0, "EmojiModel");
|
||||
qmlRegisterType<EmojiProxy>(Constants::MainQmlUri, 1, 0, "EmojiProxy");
|
||||
qmlRegisterType<ImdnStatusProxy>(Constants::MainQmlUri, 1, 0, "ImdnStatusProxy");
|
||||
qmlRegisterType<SoundPlayerGui>(Constants::MainQmlUri, 1, 0, "SoundPlayerGui");
|
||||
qmlRegisterType<RecorderGui>(Constants::MainQmlUri, 1, 0, "RecorderGui");
|
||||
|
||||
|
|
|
|||
|
|
@ -33,6 +33,8 @@ list(APPEND _LINPHONEAPP_SOURCES
|
|||
core/chat/message/content/ChatMessageContentGui.cpp
|
||||
core/chat/message/content/ChatMessageContentList.cpp
|
||||
core/chat/message/content/ChatMessageContentProxy.cpp
|
||||
core/chat/message/imdn/ImdnStatusList.cpp
|
||||
core/chat/message/imdn/ImdnStatusProxy.cpp
|
||||
core/emoji/EmojiList.cpp
|
||||
core/emoji/EmojiModel.cpp
|
||||
core/emoji/EmojiProxy.cpp
|
||||
|
|
|
|||
|
|
@ -27,6 +27,40 @@ DEFINE_ABSTRACT_OBJECT(ChatMessageCore)
|
|||
|
||||
/***********************************************************************/
|
||||
|
||||
ImdnStatus ImdnStatus::operator=(ImdnStatus r) {
|
||||
mAddress = r.mAddress;
|
||||
mState = r.mState;
|
||||
mLastUpdatedTime = r.mLastUpdatedTime;
|
||||
return *this;
|
||||
}
|
||||
|
||||
bool ImdnStatus::operator==(const ImdnStatus &r) const {
|
||||
return r.mState == mState && r.mAddress == mAddress && r.mLastUpdatedTime == mLastUpdatedTime;
|
||||
}
|
||||
|
||||
bool ImdnStatus::operator!=(ImdnStatus r) {
|
||||
return r.mState != mState || r.mAddress != mAddress || r.mLastUpdatedTime != mLastUpdatedTime;
|
||||
}
|
||||
|
||||
ImdnStatus ImdnStatus::createMessageImdnStatusVariant(const QString &address,
|
||||
const LinphoneEnums::ChatMessageState &state,
|
||||
QDateTime lastUpdatedTime) {
|
||||
ImdnStatus s;
|
||||
s.mState = state;
|
||||
s.mAddress = address;
|
||||
s.mLastUpdatedTime = lastUpdatedTime;
|
||||
return s;
|
||||
}
|
||||
|
||||
QVariant createImdnStatusSingletonVariant(const LinphoneEnums::ChatMessageState &state, int count = 1) {
|
||||
QVariantMap map;
|
||||
map.insert("state", QVariant::fromValue(state));
|
||||
map.insert("count", count);
|
||||
return map;
|
||||
}
|
||||
|
||||
/***********************************************************************/
|
||||
|
||||
Reaction Reaction::operator=(Reaction r) {
|
||||
mAddress = r.mAddress;
|
||||
mBody = r.mBody;
|
||||
|
|
@ -132,6 +166,7 @@ ChatMessageCore::ChatMessageCore(const std::shared_ptr<linphone::ChatMessage> &c
|
|||
|
||||
mIsForward = chatmessage->isForward();
|
||||
mIsReply = chatmessage->isReply();
|
||||
mImdnStatusList = computeDeliveryStatus(chatmessage);
|
||||
}
|
||||
|
||||
ChatMessageCore::~ChatMessageCore() {
|
||||
|
|
@ -205,8 +240,12 @@ void ChatMessageCore::setSelf(QSharedPointer<ChatMessageCore> me) {
|
|||
&ChatMessageModel::msgStateChanged,
|
||||
[this](const std::shared_ptr<linphone::ChatMessage> &message, linphone::ChatMessage::State state) {
|
||||
if (mChatMessageModel->getMonitor() != message) return;
|
||||
auto imdnStatusList = computeDeliveryStatus(message);
|
||||
auto msgState = LinphoneEnums::fromLinphone(state);
|
||||
mChatMessageModelConnection->invokeToCore([this, msgState] { setMessageState(msgState); });
|
||||
mChatMessageModelConnection->invokeToCore([this, msgState, imdnStatusList] {
|
||||
setImdnStatusList(imdnStatusList);
|
||||
setMessageState(msgState);
|
||||
});
|
||||
});
|
||||
mChatMessageModelConnection->makeConnectToModel(
|
||||
&ChatMessageModel::fileTransferProgressIndication,
|
||||
|
|
@ -265,6 +304,40 @@ void ChatMessageCore::setSelf(QSharedPointer<ChatMessageCore> me) {
|
|||
[this](const std::shared_ptr<linphone::ChatMessage> &message) {});
|
||||
}
|
||||
|
||||
QList<ImdnStatus> ChatMessageCore::computeDeliveryStatus(const std::shared_ptr<linphone::ChatMessage> &message) {
|
||||
mustBeInLinphoneThread(log().arg(Q_FUNC_INFO));
|
||||
QList<ImdnStatus> imdnStatusList;
|
||||
auto createImdnStatus = [this, &imdnStatusList](std::shared_ptr<linphone::ParticipantImdnState> participant,
|
||||
linphone::ChatMessage::State state) {
|
||||
auto address = participant->getParticipant() ? participant->getParticipant()->getAddress()->clone() : nullptr;
|
||||
auto lastUpdated = QDateTime::fromSecsSinceEpoch(participant->getStateChangeTime());
|
||||
if (address) {
|
||||
address->clean();
|
||||
auto addrString = Utils::coreStringToAppString(address->asStringUriOnly());
|
||||
auto imdn =
|
||||
ImdnStatus::createMessageImdnStatusVariant(addrString, LinphoneEnums::fromLinphone(state), lastUpdated);
|
||||
imdnStatusList.append(imdn);
|
||||
}
|
||||
};
|
||||
// Read
|
||||
for (auto &participant : message->getParticipantsByImdnState(linphone::ChatMessage::State::Displayed)) {
|
||||
createImdnStatus(participant, linphone::ChatMessage::State::Displayed);
|
||||
}
|
||||
// Received
|
||||
for (auto &participant : message->getParticipantsByImdnState(linphone::ChatMessage::State::DeliveredToUser)) {
|
||||
createImdnStatus(participant, linphone::ChatMessage::State::DeliveredToUser);
|
||||
}
|
||||
// Sent
|
||||
for (auto &participant : message->getParticipantsByImdnState(linphone::ChatMessage::State::Delivered)) {
|
||||
createImdnStatus(participant, linphone::ChatMessage::State::Delivered);
|
||||
}
|
||||
// Error
|
||||
for (auto &participant : message->getParticipantsByImdnState(linphone::ChatMessage::State::NotDelivered)) {
|
||||
createImdnStatus(participant, linphone::ChatMessage::State::NotDelivered);
|
||||
}
|
||||
return imdnStatusList;
|
||||
}
|
||||
|
||||
QDateTime ChatMessageCore::getTimestamp() const {
|
||||
return mTimestamp;
|
||||
}
|
||||
|
|
@ -449,6 +522,49 @@ void ChatMessageCore::setMessageState(LinphoneEnums::ChatMessageState state) {
|
|||
}
|
||||
}
|
||||
|
||||
QList<ImdnStatus> ChatMessageCore::getImdnStatusList() const {
|
||||
return mImdnStatusList;
|
||||
}
|
||||
|
||||
void ChatMessageCore::setImdnStatusList(QList<ImdnStatus> status) {
|
||||
mImdnStatusList = status;
|
||||
emit imdnStatusListChanged();
|
||||
}
|
||||
|
||||
QStringList ChatMessageCore::getImdnStatusListLabels() const {
|
||||
QStringList statusList;
|
||||
int count = 0;
|
||||
auto imdnSingletons = getImdnStatusAsSingletons();
|
||||
for (auto &status : imdnSingletons) {
|
||||
auto map = status.toMap();
|
||||
auto val = map["state"].value<LinphoneEnums::ChatMessageState>();
|
||||
auto count = map["count"].toInt();
|
||||
statusList.append(QString("%1 %2").arg(LinphoneEnums::toString(val)).arg(count));
|
||||
}
|
||||
return statusList;
|
||||
}
|
||||
|
||||
QList<QVariant> ChatMessageCore::getImdnStatusAsSingletons() const {
|
||||
QList<QVariant> statusSingletons;
|
||||
for (auto &stat : mImdnStatusList) {
|
||||
auto it = std::find_if(statusSingletons.begin(), statusSingletons.end(), [state = stat.mState](QVariant data) {
|
||||
auto dataState = data.toMap()["state"].value<LinphoneEnums::ChatMessageState>();
|
||||
return state == dataState;
|
||||
});
|
||||
if (it == statusSingletons.end()) statusSingletons.push_back(createImdnStatusSingletonVariant(stat.mState, 1));
|
||||
else {
|
||||
auto map = it->toMap();
|
||||
auto count = map["count"].toInt();
|
||||
++count;
|
||||
map.remove("count");
|
||||
map.insert("count", count);
|
||||
statusSingletons.erase(it);
|
||||
statusSingletons.push_back(map);
|
||||
}
|
||||
}
|
||||
return statusSingletons;
|
||||
}
|
||||
|
||||
std::shared_ptr<ChatMessageModel> ChatMessageCore::getModel() const {
|
||||
return mChatMessageModel;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,6 +34,26 @@
|
|||
|
||||
#include <linphone++/linphone.hh>
|
||||
|
||||
struct ImdnStatus {
|
||||
Q_GADGET
|
||||
|
||||
Q_PROPERTY(QString address MEMBER mAddress)
|
||||
Q_PROPERTY(LinphoneEnums::ChatMessageState state MEMBER mState)
|
||||
Q_PROPERTY(QDateTime lastUpdatedTime MEMBER mLastUpdatedTime)
|
||||
|
||||
public:
|
||||
QString mAddress;
|
||||
LinphoneEnums::ChatMessageState mState;
|
||||
QDateTime mLastUpdatedTime;
|
||||
|
||||
ImdnStatus operator=(ImdnStatus r);
|
||||
bool operator==(const ImdnStatus &r) const;
|
||||
bool operator!=(ImdnStatus r);
|
||||
static ImdnStatus createMessageImdnStatusVariant(const QString &address,
|
||||
const LinphoneEnums::ChatMessageState &state,
|
||||
QDateTime mLastUpdatedTime);
|
||||
};
|
||||
|
||||
struct Reaction {
|
||||
Q_GADGET
|
||||
|
||||
|
|
@ -71,6 +91,9 @@ class ChatMessageCore : public QObject, public AbstractObject {
|
|||
Q_PROPERTY(bool isFromChatGroup READ isFromChatGroup CONSTANT)
|
||||
Q_PROPERTY(bool isRead READ isRead WRITE setIsRead NOTIFY isReadChanged)
|
||||
Q_PROPERTY(QString ownReaction READ getOwnReaction WRITE setOwnReaction NOTIFY messageReactionChanged)
|
||||
Q_PROPERTY(QStringList imdnStatusListAsString READ getImdnStatusListLabels NOTIFY imdnStatusListChanged)
|
||||
Q_PROPERTY(QList<ImdnStatus> imdnStatusList READ getImdnStatusList NOTIFY imdnStatusListChanged)
|
||||
Q_PROPERTY(QList<QVariant> imdnStatusAsSingletons READ getImdnStatusAsSingletons NOTIFY imdnStatusListChanged)
|
||||
Q_PROPERTY(QList<Reaction> reactions READ getReactions WRITE setReactions NOTIFY messageReactionChanged)
|
||||
Q_PROPERTY(QList<QVariant> reactionsSingleton READ getReactionsSingleton NOTIFY singletonReactionMapChanged)
|
||||
Q_PROPERTY(
|
||||
|
|
@ -87,6 +110,8 @@ public:
|
|||
~ChatMessageCore();
|
||||
void setSelf(QSharedPointer<ChatMessageCore> me);
|
||||
|
||||
QList<ImdnStatus> computeDeliveryStatus(const std::shared_ptr<linphone::ChatMessage> &message);
|
||||
|
||||
QDateTime getTimestamp() const;
|
||||
void setTimestamp(QDateTime timestamp);
|
||||
|
||||
|
|
@ -121,6 +146,10 @@ public:
|
|||
|
||||
LinphoneEnums::ChatMessageState getMessageState() const;
|
||||
void setMessageState(LinphoneEnums::ChatMessageState state);
|
||||
QList<ImdnStatus> getImdnStatusList() const;
|
||||
void setImdnStatusList(QList<ImdnStatus> status);
|
||||
QList<QVariant> getImdnStatusAsSingletons() const;
|
||||
QStringList getImdnStatusListLabels() const;
|
||||
|
||||
std::shared_ptr<ChatMessageModel> getModel() const;
|
||||
Q_INVOKABLE ChatMessageContentGui *getVoiceRecordingContent() const;
|
||||
|
|
@ -132,6 +161,7 @@ signals:
|
|||
void isReadChanged(bool read);
|
||||
void isRemoteMessageChanged(bool isRemote);
|
||||
void messageStateChanged();
|
||||
void imdnStatusListChanged();
|
||||
void messageReactionChanged();
|
||||
void singletonReactionMapChanged();
|
||||
|
||||
|
|
@ -156,6 +186,7 @@ private:
|
|||
QString mMessageId;
|
||||
QString mOwnReaction;
|
||||
QList<Reaction> mReactions;
|
||||
QList<ImdnStatus> mImdnStatusList;
|
||||
QList<QVariant> mReactionsSingletonMap;
|
||||
QDateTime mTimestamp;
|
||||
bool mIsRemoteMessage = false;
|
||||
|
|
|
|||
60
Linphone/core/chat/message/imdn/ImdnStatusList.cpp
Normal file
60
Linphone/core/chat/message/imdn/ImdnStatusList.cpp
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
/*
|
||||
* Copyright (c) 2010-2024 Belledonne Communications SARL.
|
||||
*
|
||||
* This file is part of linphone-desktop
|
||||
* (see https://www.linphone.org).
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "ImdnStatusList.hpp"
|
||||
#include "core/App.hpp"
|
||||
|
||||
#include <QSharedPointer>
|
||||
|
||||
#include <linphone++/linphone.hh>
|
||||
|
||||
// =============================================================================
|
||||
|
||||
DEFINE_ABSTRACT_OBJECT(ImdnStatusList)
|
||||
|
||||
QSharedPointer<ImdnStatusList> ImdnStatusList::create() {
|
||||
auto model = QSharedPointer<ImdnStatusList>(new ImdnStatusList(), &QObject::deleteLater);
|
||||
model->moveToThread(App::getInstance()->thread());
|
||||
return model;
|
||||
}
|
||||
|
||||
ImdnStatusList::ImdnStatusList(QObject *parent) : AbstractListProxy<ImdnStatus>(parent) {
|
||||
mustBeInMainThread(getClassName());
|
||||
App::getInstance()->mEngine->setObjectOwnership(this, QQmlEngine::CppOwnership);
|
||||
}
|
||||
|
||||
ImdnStatusList::~ImdnStatusList() {
|
||||
mustBeInMainThread("~" + getClassName());
|
||||
}
|
||||
|
||||
QList<ImdnStatus> ImdnStatusList::getImdnStatusList() {
|
||||
return mList;
|
||||
}
|
||||
|
||||
void ImdnStatusList::setImdnStatusList(QList<ImdnStatus> imdnStatusList) {
|
||||
resetData(imdnStatusList);
|
||||
}
|
||||
|
||||
QVariant ImdnStatusList::data(const QModelIndex &index, int role) const {
|
||||
int row = index.row();
|
||||
if (!index.isValid() || row < 0 || row >= mList.count()) return QVariant();
|
||||
if (role == Qt::DisplayRole) return QVariant::fromValue(mList.at(row));
|
||||
return QVariant();
|
||||
}
|
||||
52
Linphone/core/chat/message/imdn/ImdnStatusList.hpp
Normal file
52
Linphone/core/chat/message/imdn/ImdnStatusList.hpp
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
/*
|
||||
* Copyright (c) 2010-2024 Belledonne Communications SARL.
|
||||
*
|
||||
* This file is part of linphone-desktop
|
||||
* (see https://www.linphone.org).
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef IMDN_STATUS_LIST_H_
|
||||
#define IMDN_STATUS_LIST_H_
|
||||
|
||||
#include "core/chat/message/ChatMessageCore.hpp"
|
||||
#include "core/proxy/AbstractListProxy.hpp"
|
||||
#include "tool/AbstractObject.hpp"
|
||||
#include "tool/thread/SafeConnection.hpp"
|
||||
#include <QLocale>
|
||||
|
||||
// =============================================================================
|
||||
|
||||
class ImdnStatusList : public AbstractListProxy<ImdnStatus>, public AbstractObject {
|
||||
Q_OBJECT
|
||||
public:
|
||||
static QSharedPointer<ImdnStatusList> create();
|
||||
ImdnStatusList(QObject *parent = Q_NULLPTR);
|
||||
~ImdnStatusList();
|
||||
|
||||
QList<ImdnStatus> getImdnStatusList();
|
||||
void setImdnStatusList(QList<ImdnStatus> imdnStatusList);
|
||||
|
||||
virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
|
||||
|
||||
signals:
|
||||
void imdnStatusListChanged();
|
||||
|
||||
private:
|
||||
QList<ImdnStatus> mImdnStatuss;
|
||||
DECLARE_ABSTRACT_OBJECT
|
||||
};
|
||||
|
||||
#endif
|
||||
65
Linphone/core/chat/message/imdn/ImdnStatusProxy.cpp
Normal file
65
Linphone/core/chat/message/imdn/ImdnStatusProxy.cpp
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
|
||||
/*
|
||||
* Copyright (c) 2010-2024 Belledonne Communications SARL.
|
||||
*
|
||||
* This file is part of linphone-desktop
|
||||
* (see https://www.linphone.org).
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "ImdnStatusProxy.hpp"
|
||||
#include "ImdnStatusList.hpp"
|
||||
#include "core/App.hpp"
|
||||
// #include "core/chat/message/ChatMessageGui.hpp"
|
||||
|
||||
DEFINE_ABSTRACT_OBJECT(ImdnStatusProxy)
|
||||
|
||||
ImdnStatusProxy::ImdnStatusProxy(QObject *parent) : LimitProxy(parent) {
|
||||
mList = ImdnStatusList::create();
|
||||
setSourceModel(mList.get());
|
||||
connect(mList.get(), &ImdnStatusList::modelReset, this, &ImdnStatusProxy::imdnStatusListChanged);
|
||||
connect(this, &ImdnStatusProxy::filterChanged, this, [this] { invalidate(); });
|
||||
}
|
||||
|
||||
ImdnStatusProxy::~ImdnStatusProxy() {
|
||||
}
|
||||
|
||||
QList<ImdnStatus> ImdnStatusProxy::getImdnStatusList() {
|
||||
return mList->getImdnStatusList();
|
||||
}
|
||||
|
||||
void ImdnStatusProxy::setImdnStatusList(QList<ImdnStatus> statusList) {
|
||||
mList->setImdnStatusList(statusList);
|
||||
}
|
||||
|
||||
LinphoneEnums::ChatMessageState ImdnStatusProxy::getFilter() const {
|
||||
return mFilter;
|
||||
}
|
||||
|
||||
void ImdnStatusProxy::setFilter(LinphoneEnums::ChatMessageState filter) {
|
||||
if (mFilter != filter) {
|
||||
mFilter = filter;
|
||||
emit filterChanged();
|
||||
}
|
||||
}
|
||||
|
||||
bool ImdnStatusProxy::filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const {
|
||||
auto imdn = mList->getAt(sourceRow);
|
||||
return imdn.mState == mFilter;
|
||||
}
|
||||
|
||||
bool ImdnStatusProxy::lessThan(const QModelIndex &sourceLeft, const QModelIndex &sourceRight) const {
|
||||
return true;
|
||||
}
|
||||
62
Linphone/core/chat/message/imdn/ImdnStatusProxy.hpp
Normal file
62
Linphone/core/chat/message/imdn/ImdnStatusProxy.hpp
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
|
||||
/*
|
||||
* Copyright (c) 2010-2024 Belledonne Communications SARL.
|
||||
*
|
||||
* This file is part of linphone-desktop
|
||||
* (see https://www.linphone.org).
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef IMDN_STATUS_PROXY_H_
|
||||
#define IMDN_STATUS_PROXY_H_
|
||||
|
||||
#include "core/chat/message/ChatMessageCore.hpp"
|
||||
#include "core/proxy/LimitProxy.hpp"
|
||||
#include "tool/AbstractObject.hpp"
|
||||
|
||||
// =============================================================================
|
||||
|
||||
class ImdnStatusList;
|
||||
|
||||
class ImdnStatusProxy : public LimitProxy, public AbstractObject {
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(
|
||||
QList<ImdnStatus> imdnStatusList READ getImdnStatusList WRITE setImdnStatusList NOTIFY imdnStatusListChanged)
|
||||
Q_PROPERTY(LinphoneEnums::ChatMessageState filter READ getFilter WRITE setFilter NOTIFY filterChanged)
|
||||
|
||||
public:
|
||||
ImdnStatusProxy(QObject *parent = Q_NULLPTR);
|
||||
~ImdnStatusProxy();
|
||||
|
||||
QList<ImdnStatus> getImdnStatusList();
|
||||
void setImdnStatusList(QList<ImdnStatus> imdnStatusList);
|
||||
|
||||
LinphoneEnums::ChatMessageState getFilter() const;
|
||||
void setFilter(LinphoneEnums::ChatMessageState filter);
|
||||
|
||||
bool filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const override;
|
||||
bool lessThan(const QModelIndex &sourceLeft, const QModelIndex &sourceRight) const override;
|
||||
|
||||
signals:
|
||||
void imdnStatusListChanged();
|
||||
void filterChanged();
|
||||
|
||||
protected:
|
||||
LinphoneEnums::ChatMessageState mFilter;
|
||||
QSharedPointer<ImdnStatusList> mList;
|
||||
DECLARE_ABSTRACT_OBJECT
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
@ -41,9 +41,6 @@ public:
|
|||
|
||||
virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
|
||||
|
||||
signals:
|
||||
void reactionsChanged();
|
||||
|
||||
private:
|
||||
QList<Reaction> mReactions;
|
||||
DECLARE_ABSTRACT_OBJECT
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ DEFINE_ABSTRACT_OBJECT(EmojiProxy)
|
|||
EmojiProxy::EmojiProxy(QObject *parent) : LimitProxy(parent) {
|
||||
mList = EmojiList::create();
|
||||
setSourceModel(mList.get());
|
||||
connect(mList.get(), &EmojiList::reactionsChanged, this, &EmojiProxy::reactionsChanged);
|
||||
connect(mList.get(), &EmojiList::modelReset, this, &EmojiProxy::reactionsChanged);
|
||||
connect(this, &EmojiProxy::filterChanged, this, [this] { invalidate(); });
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -13,13 +13,13 @@
|
|||
<context>
|
||||
<name>AbstractWindow</name>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/AbstractWindow.qml" line="78"/>
|
||||
<location filename="../../view/Page/Window/AbstractWindow.qml" line="80"/>
|
||||
<source>contact_dialog_pick_phone_number_or_sip_address_title</source>
|
||||
<extracomment>"Choisissez un numéro ou adresse SIP"</extracomment>
|
||||
<translation>Telefonnummer oder SIP-Adresse wählen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/AbstractWindow.qml" line="277"/>
|
||||
<location filename="../../view/Page/Window/AbstractWindow.qml" line="279"/>
|
||||
<source>fps_counter</source>
|
||||
<translation>%1 FPS</translation>
|
||||
</message>
|
||||
|
|
@ -523,7 +523,7 @@
|
|||
<context>
|
||||
<name>App</name>
|
||||
<message>
|
||||
<location filename="../../core/App.cpp" line="338"/>
|
||||
<location filename="../../core/App.cpp" line="337"/>
|
||||
<source>remote_provisioning_dialog</source>
|
||||
<extracomment>Voulez-vous télécharger et appliquer la configuration depuis cette adresse ?</extracomment>
|
||||
<translation>Möchten Sie die Remote-Konfiguration von dieser Adresse herunterladen und anwenden?</translation>
|
||||
|
|
@ -1758,18 +1758,18 @@
|
|||
<context>
|
||||
<name>ChatListView</name>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="269"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="270"/>
|
||||
<source>chat_message_is_writing_info</source>
|
||||
<extracomment>%1 is writing…</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="271"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="272"/>
|
||||
<source>chat_message_draft_sending_text</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="340"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="341"/>
|
||||
<source>chat_room_delete</source>
|
||||
<extracomment>"Supprimer"</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
|
@ -1787,13 +1787,13 @@
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="346"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="347"/>
|
||||
<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="348"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="349"/>
|
||||
<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>
|
||||
|
|
@ -1802,31 +1802,37 @@
|
|||
<context>
|
||||
<name>ChatMessage</name>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="238"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="239"/>
|
||||
<source>chat_message_copy_selection</source>
|
||||
<extracomment>"Copy selection"</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="240"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="241"/>
|
||||
<source>chat_message_copy</source>
|
||||
<extracomment>"Copy"</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="248"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="249"/>
|
||||
<source>chat_message_copied_to_clipboard_title</source>
|
||||
<extracomment>Copied</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="250"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="251"/>
|
||||
<source>chat_message_copied_to_clipboard_toast</source>
|
||||
<extracomment>"to clipboard"</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="256"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="257"/>
|
||||
<source>chat_message_see_status</source>
|
||||
<extracomment>"See message status"</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="273"/>
|
||||
<source>chat_message_delete</source>
|
||||
<extracomment>"Delete"</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
|
@ -1916,19 +1922,19 @@ Error</extracomment>
|
|||
<context>
|
||||
<name>ChatMessageCore</name>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="101"/>
|
||||
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="127"/>
|
||||
<source>all_reactions_label</source>
|
||||
<extracomment>"Reactions": all reactions for one message label</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="145"/>
|
||||
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="173"/>
|
||||
<source>info_toast_deleted_title</source>
|
||||
<extracomment>Deleted</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="147"/>
|
||||
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="175"/>
|
||||
<source>info_toast_deleted_message</source>
|
||||
<extracomment>The message has been deleted</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
|
@ -1981,20 +1987,20 @@ Error</extracomment>
|
|||
<context>
|
||||
<name>ChatMessagesListView</name>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="90"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="91"/>
|
||||
<source>chat_message_list_encrypted_header_title</source>
|
||||
<extracomment>End to end encrypted chat</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="100"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="101"/>
|
||||
<source>chat_message_list_encrypted_header_message</source>
|
||||
<extracomment>Les messages de cette conversation sont chiffrés de bout
|
||||
en bout. Seul votre correspondant peut les déchiffrer.</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="184"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="186"/>
|
||||
<source>chat_message_is_writing_info</source>
|
||||
<extracomment>%1 is writing…</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
|
@ -3089,7 +3095,7 @@ Error</extracomment>
|
|||
<translation>Apply</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="129"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="130"/>
|
||||
<source>group_infos_call</source>
|
||||
<extracomment>"Appel"</extracomment>
|
||||
<translation>Anrufen</translation>
|
||||
|
|
@ -3107,19 +3113,19 @@ Error</extracomment>
|
|||
<translation>Unmute</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="139"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="141"/>
|
||||
<source>group_infos_meeting</source>
|
||||
<extracomment>"Réunion"</extracomment>
|
||||
<translation>Meeting</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="162"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="164"/>
|
||||
<source>group_infos_participants</source>
|
||||
<translation>Participants (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="169"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="174"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="171"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="176"/>
|
||||
<source>group_infos_media_docs</source>
|
||||
<translation>Medien & Dokumente</translation>
|
||||
</message>
|
||||
|
|
@ -3129,55 +3135,55 @@ Error</extracomment>
|
|||
<translation type="vanished">Geteilte Medien</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="184"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="186"/>
|
||||
<source>group_infos_shared_docs</source>
|
||||
<translation>Geteilte Dokumente</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="196"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="198"/>
|
||||
<source>group_infos_other_actions</source>
|
||||
<translation>Weitere Aktionen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="201"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="203"/>
|
||||
<source>group_infos_enable_ephemerals</source>
|
||||
<translation>Flüchtige Nachrichten aktivieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="201"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="203"/>
|
||||
<source>group_infos_disable_ephemerals</source>
|
||||
<translation>Flüchtige Nachrichten deaktivieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="211"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="213"/>
|
||||
<source>group_infos_leave_room</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="230"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="232"/>
|
||||
<source>group_infos_delete_history</source>
|
||||
<translation>Verlauf löschen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="235"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="237"/>
|
||||
<source>group_infos_delete_history_toast_title</source>
|
||||
<extracomment>Delete history ?</extracomment>
|
||||
<translation>Verlauf löschen?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="237"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="239"/>
|
||||
<source>group_infos_delete_history_toast_message</source>
|
||||
<extracomment>All the messages will be removed from the chat room. Do you want to continue ?</extracomment>
|
||||
<translation>Alle Nachrichten werden aus dem Chat entfernt. Möchten Sie fortfahren?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="216"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="218"/>
|
||||
<source>group_infos_leave_room_toast_title</source>
|
||||
<extracomment>Leave Chat Room ?</extracomment>
|
||||
<translation>Chatraum verlassen?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="218"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="220"/>
|
||||
<source>group_infos_leave_room_toast_message</source>
|
||||
<extracomment>All the messages will be removed from the chat room. Do you want to continue ?</extracomment>
|
||||
<translation>Alle Nachrichten werden aus dem Chat entfernt. Möchten Sie fortfahren?</translation>
|
||||
|
|
@ -3551,102 +3557,102 @@ Error</extracomment>
|
|||
<context>
|
||||
<name>MainLayout</name>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="143"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="147"/>
|
||||
<source>bottom_navigation_calls_label</source>
|
||||
<extracomment>"Appels"</extracomment>
|
||||
<translation>Anrufe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="148"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="152"/>
|
||||
<source>bottom_navigation_contacts_label</source>
|
||||
<extracomment>"Contacts"</extracomment>
|
||||
<translation>Kontakte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="153"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="157"/>
|
||||
<source>bottom_navigation_conversations_label</source>
|
||||
<extracomment>"Conversations"</extracomment>
|
||||
<translation>Konversationen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="159"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="163"/>
|
||||
<source>bottom_navigation_meetings_label</source>
|
||||
<extracomment>"Réunions"</extracomment>
|
||||
<translation>Besprechungen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="206"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="210"/>
|
||||
<source>searchbar_placeholder_text</source>
|
||||
<extracomment>"Rechercher un contact, appeler %1"</extracomment>
|
||||
<translation>Kontakt suchen, %1 anrufen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="209"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="213"/>
|
||||
<source>searchbar_placeholder_text_chat_feature_enabled</source>
|
||||
<extracomment>"ou envoyer un message …"</extracomment>
|
||||
<translation>oder eine Nachricht senden …</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="315"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="449"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="319"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="453"/>
|
||||
<source>contact_presence_status_disable_do_not_disturb</source>
|
||||
<extracomment>"Désactiver ne pas déranger"</extracomment>
|
||||
<translation>Nicht stören deaktivieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="371"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="375"/>
|
||||
<source>information_popup_error_title</source>
|
||||
<translation>Fehler</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="373"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="377"/>
|
||||
<source>no_voicemail_uri_error_message</source>
|
||||
<extracomment>"L'URI de messagerie vocale n'est pas définie."</extracomment>
|
||||
<translation>Die Voicemail-URI ist nicht definiert.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="433"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="437"/>
|
||||
<source>drawer_menu_manage_account</source>
|
||||
<extracomment>Mon compte</extracomment>
|
||||
<translation>Mein Konto</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="451"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="455"/>
|
||||
<source>contact_presence_status_enable_do_not_disturb</source>
|
||||
<extracomment>"Activer ne pas déranger"</extracomment>
|
||||
<translation>Nicht stören aktivieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="470"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="474"/>
|
||||
<source>settings_title</source>
|
||||
<translation>Einstellungen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="488"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="492"/>
|
||||
<source>recordings_title</source>
|
||||
<extracomment>"Enregistrements"</extracomment>
|
||||
<translation>Aufnahmen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="503"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="507"/>
|
||||
<source>help_title</source>
|
||||
<extracomment>"Aide"</extracomment>
|
||||
<translation>Hilfe</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="520"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="524"/>
|
||||
<source>help_quit_title</source>
|
||||
<extracomment>"Quitter l'application"</extracomment>
|
||||
<translation>App beenden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="525"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="529"/>
|
||||
<source>quit_app_question</source>
|
||||
<extracomment>"Quitter %1 ?"</extracomment>
|
||||
<translation>%1 beenden?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="554"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="558"/>
|
||||
<source>drawer_menu_add_account</source>
|
||||
<extracomment>"Ajouter un compte"</extracomment>
|
||||
<translation>Konto hinzufügen</translation>
|
||||
|
|
@ -3655,78 +3661,78 @@ Error</extracomment>
|
|||
<context>
|
||||
<name>MainWindow</name>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="41"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="42"/>
|
||||
<source>information_popup_connexion_succeed_title</source>
|
||||
<extracomment>"Connexion réussie"</extracomment>
|
||||
<translation>Verbindung erfolgreich</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="43"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="44"/>
|
||||
<source>information_popup_connexion_succeed_message</source>
|
||||
<extracomment>"Vous êtes connecté en mode %1"</extracomment>
|
||||
<translation>Sie sind im %1-Modus verbunden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="45"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="46"/>
|
||||
<source>interoperable</source>
|
||||
<extracomment>interopérable</extracomment>
|
||||
<translation>interoperabel</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="74"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="75"/>
|
||||
<source>call_transfer_successful_toast_title</source>
|
||||
<extracomment>"Appel transféré"</extracomment>
|
||||
<translation>Anruf weitergeleitet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="76"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="77"/>
|
||||
<source>call_transfer_successful_toast_message</source>
|
||||
<extracomment>"Votre correspondant a été transféré au contact sélectionné"</extracomment>
|
||||
<translation>Ihr Gesprächspartner wurde an den ausgewählten Kontakt weitergeleitet</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="122"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="128"/>
|
||||
<source>information_popup_success_title</source>
|
||||
<translation>Gespeichert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="124"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="130"/>
|
||||
<source>information_popup_changes_saved</source>
|
||||
<extracomment>"Les changements ont été sauvegardés"</extracomment>
|
||||
<translation>Änderungen wurden gespeichert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="209"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="215"/>
|
||||
<source>captcha_validation_loading_message</source>
|
||||
<extracomment>"Veuillez valider le captcha sur la page web"</extracomment>
|
||||
<translation>Bitte das Captcha auf der Webseite bestätigen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="217"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="223"/>
|
||||
<source>assistant_register_error_title</source>
|
||||
<extracomment>"Erreur lors de la création"</extracomment>
|
||||
<translation>Fehler bei der Erstellung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="236"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="242"/>
|
||||
<source>assistant_register_success_title</source>
|
||||
<extracomment>"Compte créé"</extracomment>
|
||||
<translation>Konto erstellt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="238"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="244"/>
|
||||
<source>assistant_register_success_message</source>
|
||||
<extracomment>"Le compte a été créé. Vous pouvez maintenant vous connecter"</extracomment>
|
||||
<translation>Das Konto wurde erstellt. Sie können sich jetzt anmelden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="242"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="248"/>
|
||||
<source>assistant_register_error_code</source>
|
||||
<extracomment>"Erreur dans le code de validation"</extracomment>
|
||||
<translation>Fehler im Bestätigungscode</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="243"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="249"/>
|
||||
<source>information_popup_error_title</source>
|
||||
<translation>Fehler</translation>
|
||||
</message>
|
||||
|
|
@ -3800,152 +3806,152 @@ Error</extracomment>
|
|||
<translation>Keine Besprechungen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="78"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="89"/>
|
||||
<source>meeting_schedule_cancel_dialog_message</source>
|
||||
<extracomment>"Souhaitez-vous annuler et supprimer cette réunion ?"</extracomment>
|
||||
<translation>Möchten Sie diese Besprechung absagen und löschen?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="80"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="91"/>
|
||||
<source>meeting_schedule_delete_dialog_message</source>
|
||||
<extracomment>Souhaitez-vous supprimer cette réunion ?</extracomment>
|
||||
<translation>Möchten Sie diese Besprechung löschen?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="86"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="97"/>
|
||||
<source>meeting_schedule_cancel_and_delete_action</source>
|
||||
<extracomment>"Annuler et supprimer"</extracomment>
|
||||
<translation>Absagen und löschen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="95"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="106"/>
|
||||
<source>meeting_schedule_delete_only_action</source>
|
||||
<extracomment>"Supprimer seulement"</extracomment>
|
||||
<translation>Nur löschen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="97"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="108"/>
|
||||
<source>meeting_schedule_delete_action</source>
|
||||
<extracomment>"Supprimer"</extracomment>
|
||||
<translation type="unfinished">Löschen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="106"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="117"/>
|
||||
<source>back_action</source>
|
||||
<extracomment>Retour</extracomment>
|
||||
<translation>Zurück</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="149"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="160"/>
|
||||
<source>meetings_list_title</source>
|
||||
<extracomment>Réunions</extracomment>
|
||||
<translation>Besprechungen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="173"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="184"/>
|
||||
<source>meetings_search_hint</source>
|
||||
<extracomment>"Rechercher une réunion"</extracomment>
|
||||
<translation>Besprechung suchen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="190"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="201"/>
|
||||
<source>list_filter_no_result_found</source>
|
||||
<extracomment>"Aucun résultat…"</extracomment>
|
||||
<translation>Kein Ergebnis…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="192"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="203"/>
|
||||
<source>meetings_empty_list</source>
|
||||
<extracomment>"Aucune réunion"</extracomment>
|
||||
<translation>Keine Besprechungen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="255"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="304"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="266"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="315"/>
|
||||
<source>meeting_schedule_title</source>
|
||||
<extracomment>"Nouvelle réunion"</extracomment>
|
||||
<translation>Neue Besprechung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="266"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="277"/>
|
||||
<source>create</source>
|
||||
<translation>Erstellen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="273"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="277"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="316"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="418"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="421"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="470"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="284"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="288"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="327"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="429"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="432"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="481"/>
|
||||
<source>information_popup_error_title</source>
|
||||
<translation>Fehler</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="275"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="419"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="286"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="430"/>
|
||||
<source>meeting_schedule_mandatory_field_not_filled_toast</source>
|
||||
<extracomment>Veuillez saisir un titre et sélectionner au moins un participant</extracomment>
|
||||
<translation>Bitte Titel bestimmen und mindestens einen Teilnehmer auswählen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="279"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="422"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="290"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="433"/>
|
||||
<source>meeting_schedule_duration_error_toast</source>
|
||||
<extracomment>"La fin de la conférence doit être plus récente que son début"</extracomment>
|
||||
<translation>Das Ende der Besprechung muss nach dem Beginn liegen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="283"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="311"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="294"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="322"/>
|
||||
<source>meeting_schedule_creation_in_progress</source>
|
||||
<extracomment>"Création de la réunion en cours …"</extracomment>
|
||||
<translation>Besprechung wird erstellt…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="306"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="317"/>
|
||||
<source>meeting_info_created_toast</source>
|
||||
<extracomment>"Réunion planifiée avec succès"</extracomment>
|
||||
<translation>Besprechung erfolgreich erstellt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="318"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="329"/>
|
||||
<source>meeting_failed_to_schedule_toast</source>
|
||||
<extracomment>"Échec de création de la réunion !"</extracomment>
|
||||
<translation>Besprechung konnte nicht erstellt werden!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="411"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="422"/>
|
||||
<source>save</source>
|
||||
<translation>Speichern</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="461"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="688"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="472"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="699"/>
|
||||
<source>saved</source>
|
||||
<extracomment>"Enregistré"</extracomment>
|
||||
<translation>Gespeichert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="463"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="474"/>
|
||||
<source>meeting_info_updated_toast</source>
|
||||
<extracomment>"Réunion mise à jour"</extracomment>
|
||||
<translation>Besprechung geändert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="468"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="479"/>
|
||||
<source>meeting_schedule_edit_in_progress</source>
|
||||
<extracomment>"Modification de la réunion en cours…"</extracomment>
|
||||
<translation>Bersprechung wird geändert…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="472"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="483"/>
|
||||
<source>meeting_failed_to_edit_toast</source>
|
||||
<extracomment>"Échec de la modification de la réunion !"</extracomment>
|
||||
<translation>Besprechung konnte nicht geändert werden!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="509"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="520"/>
|
||||
<source>meeting_schedule_add_participants_title</source>
|
||||
<extracomment>"Ajouter des participants"</extracomment>
|
||||
<translation>Teilnehmer hinzufügen</translation>
|
||||
|
|
@ -3957,12 +3963,12 @@ Error</extracomment>
|
|||
<translation>Apply</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="524"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="535"/>
|
||||
<source>add</source>
|
||||
<translation>Hinzufügen</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="534"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="545"/>
|
||||
<source>group_call_participant_selected</source>
|
||||
<extracomment>"%n participant(s) sélectionné(s)"</extracomment>
|
||||
<translation type="unfinished">
|
||||
|
|
@ -3971,31 +3977,31 @@ Error</extracomment>
|
|||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="619"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="630"/>
|
||||
<source>meeting_info_delete</source>
|
||||
<extracomment>"Supprimer la réunion"</extracomment>
|
||||
<translation>Besprechung löschen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="690"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="701"/>
|
||||
<source>meeting_address_copied_to_clipboard_toast</source>
|
||||
<extracomment>"Adresse de la réunion copiée"</extracomment>
|
||||
<translation>Besprechungs-URI kopiert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="725"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="736"/>
|
||||
<source>meeting_schedule_timezone_title</source>
|
||||
<extracomment>"Fuseau horaire"</extracomment>
|
||||
<translation>Zeitzone</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="818"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="829"/>
|
||||
<source>meeting_info_organizer_label</source>
|
||||
<extracomment>"Organisateur"</extracomment>
|
||||
<translation>Organisator</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="835"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="846"/>
|
||||
<source>meeting_info_join_title</source>
|
||||
<extracomment>"Rejoindre la réunion"</extracomment>
|
||||
<translation>Besprechung beitreten</translation>
|
||||
|
|
@ -4023,15 +4029,30 @@ Error</extracomment>
|
|||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MessageReactionsInfos</name>
|
||||
<name>MessageImdnStatusInfos</name>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/MessageReactionsInfos.qml" line="28"/>
|
||||
<source>message_details_status title</source>
|
||||
<location filename="../../view/Page/Layout/Chat/MessageImdnStatusInfos.qml" line="11"/>
|
||||
<source>message_details_status_title</source>
|
||||
<extracomment>Message status</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/MessageReactionsInfos.qml" line="91"/>
|
||||
<location filename="../../view/Page/Layout/Chat/MessageImdnStatusInfos.qml" line="47"/>
|
||||
<source>click_to_delete_reaction_info</source>
|
||||
<extracomment>Click to delete</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MessageReactionsInfos</name>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/MessageReactionsInfos.qml" line="12"/>
|
||||
<source>message_details_reactions_title</source>
|
||||
<extracomment>Reactions</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/MessageReactionsInfos.qml" line="59"/>
|
||||
<source>click_to_delete_reaction_info</source>
|
||||
<extracomment>Click to delete</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
|
|
@ -4454,31 +4475,91 @@ Error</extracomment>
|
|||
<translation>Post-quantum ZRTP</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="184"/>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="125"/>
|
||||
<source>message_state_in_progress</source>
|
||||
<extracomment>"delivery in progress"</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="128"/>
|
||||
<source>message_state_delivered</source>
|
||||
<extracomment>sent</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="131"/>
|
||||
<source>message_state_not_delivered</source>
|
||||
<extracomment>error</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="134"/>
|
||||
<source>message_state_file_transfer_error</source>
|
||||
<extracomment>cannot get file from server</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="137"/>
|
||||
<source>message_state_file_transfer_done</source>
|
||||
<extracomment>file transfer has been completed successfully</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="140"/>
|
||||
<source>message_state_delivered_to_user</source>
|
||||
<extracomment>received</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="143"/>
|
||||
<source>message_state_displayed</source>
|
||||
<extracomment>read</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="146"/>
|
||||
<source>message_state_file_transfer__in_progress</source>
|
||||
<extracomment>file transfer in progress</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="149"/>
|
||||
<source>message_state_pending_delivery</source>
|
||||
<extracomment>pending delivery</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="152"/>
|
||||
<source>message_state_file_transfer_cancelling</source>
|
||||
<extracomment>file transfer canceled</extracomment>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="219"/>
|
||||
<source>incoming</source>
|
||||
<extracomment>"Entrant"</extracomment>
|
||||
<translation>Eingehend</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="187"/>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="222"/>
|
||||
<source>outgoing</source>
|
||||
<extracomment>"Sortant"</extracomment>
|
||||
<translation>Ausgehend</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="213"/>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="248"/>
|
||||
<source>conference_layout_active_speaker</source>
|
||||
<extracomment>"Participant actif"</extracomment>
|
||||
<translation>Aktiver Sprecher</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="215"/>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="250"/>
|
||||
<source>conference_layout_grid</source>
|
||||
<extracomment>"Mosaïque"</extracomment>
|
||||
<translation>Raster</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="217"/>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="252"/>
|
||||
<source>conference_layout_audio_only</source>
|
||||
<extracomment>"Audio uniquement"</extracomment>
|
||||
<translation>Nur Audio</translation>
|
||||
|
|
|
|||
|
|
@ -13,13 +13,13 @@
|
|||
<context>
|
||||
<name>AbstractWindow</name>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/AbstractWindow.qml" line="78"/>
|
||||
<location filename="../../view/Page/Window/AbstractWindow.qml" line="80"/>
|
||||
<source>contact_dialog_pick_phone_number_or_sip_address_title</source>
|
||||
<extracomment>"Choisissez un numéro ou adresse SIP"</extracomment>
|
||||
<translation>Choose a SIP number or address</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/AbstractWindow.qml" line="277"/>
|
||||
<location filename="../../view/Page/Window/AbstractWindow.qml" line="279"/>
|
||||
<source>fps_counter</source>
|
||||
<translation>%1 FPS</translation>
|
||||
</message>
|
||||
|
|
@ -523,7 +523,7 @@
|
|||
<context>
|
||||
<name>App</name>
|
||||
<message>
|
||||
<location filename="../../core/App.cpp" line="338"/>
|
||||
<location filename="../../core/App.cpp" line="337"/>
|
||||
<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>
|
||||
|
|
@ -1720,18 +1720,18 @@
|
|||
<context>
|
||||
<name>ChatListView</name>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="269"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="270"/>
|
||||
<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/ChatListView.qml" line="271"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="272"/>
|
||||
<source>chat_message_draft_sending_text</source>
|
||||
<translation>Draft : %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="340"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="341"/>
|
||||
<source>chat_room_delete</source>
|
||||
<extracomment>"Supprimer"</extracomment>
|
||||
<translation>Delete</translation>
|
||||
|
|
@ -1749,13 +1749,13 @@
|
|||
<translation>Unmute</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="346"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="347"/>
|
||||
<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="348"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="349"/>
|
||||
<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>
|
||||
|
|
@ -1764,31 +1764,37 @@
|
|||
<context>
|
||||
<name>ChatMessage</name>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="238"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="239"/>
|
||||
<source>chat_message_copy_selection</source>
|
||||
<extracomment>"Copy selection"</extracomment>
|
||||
<translation>Copy selection</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="240"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="241"/>
|
||||
<source>chat_message_copy</source>
|
||||
<extracomment>"Copy"</extracomment>
|
||||
<translation>Copy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="248"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="249"/>
|
||||
<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="250"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="251"/>
|
||||
<source>chat_message_copied_to_clipboard_toast</source>
|
||||
<extracomment>"to clipboard"</extracomment>
|
||||
<translation>in clipboard</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="256"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="257"/>
|
||||
<source>chat_message_see_status</source>
|
||||
<extracomment>"See message status"</extracomment>
|
||||
<translation>See message status</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="273"/>
|
||||
<source>chat_message_delete</source>
|
||||
<extracomment>"Delete"</extracomment>
|
||||
<translation>Delete</translation>
|
||||
|
|
@ -1878,19 +1884,19 @@ Error</extracomment>
|
|||
<context>
|
||||
<name>ChatMessageCore</name>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="101"/>
|
||||
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="127"/>
|
||||
<source>all_reactions_label</source>
|
||||
<extracomment>"Reactions": all reactions for one message label</extracomment>
|
||||
<translation>Reactions</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="145"/>
|
||||
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="173"/>
|
||||
<source>info_toast_deleted_title</source>
|
||||
<extracomment>Deleted</extracomment>
|
||||
<translation>Deleted</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="147"/>
|
||||
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="175"/>
|
||||
<source>info_toast_deleted_message</source>
|
||||
<extracomment>The message has been deleted</extracomment>
|
||||
<translation>The message has been deleted</translation>
|
||||
|
|
@ -1943,13 +1949,13 @@ Error</extracomment>
|
|||
<context>
|
||||
<name>ChatMessagesListView</name>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="90"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="91"/>
|
||||
<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="100"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="101"/>
|
||||
<source>chat_message_list_encrypted_header_message</source>
|
||||
<extracomment>Les messages de cette conversation sont chiffrés de bout
|
||||
en bout. Seul votre correspondant peut les déchiffrer.</extracomment>
|
||||
|
|
@ -1957,7 +1963,7 @@ Error</extracomment>
|
|||
Only your correspondent can decrypt them.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="184"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="186"/>
|
||||
<source>chat_message_is_writing_info</source>
|
||||
<extracomment>%1 is writing…</extracomment>
|
||||
<translation>%1 is writing…</translation>
|
||||
|
|
@ -3012,7 +3018,7 @@ Only your correspondent can decrypt them.</translation>
|
|||
<translation>Apply</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="129"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="130"/>
|
||||
<source>group_infos_call</source>
|
||||
<extracomment>"Appel"</extracomment>
|
||||
<translation>Call</translation>
|
||||
|
|
@ -3030,77 +3036,72 @@ Only your correspondent can decrypt them.</translation>
|
|||
<translation>Unmute</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="139"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="141"/>
|
||||
<source>group_infos_meeting</source>
|
||||
<extracomment>"Réunion"</extracomment>
|
||||
<translation>Meeting</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="162"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="164"/>
|
||||
<source>group_infos_participants</source>
|
||||
<translation>Participants (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="169"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="174"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="171"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="176"/>
|
||||
<source>group_infos_media_docs</source>
|
||||
<translation>Medias & documents</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>group_infos_shared_media</source>
|
||||
<extracomment>Shared medias</extracomment>
|
||||
<translation type="vanished">Shared medias</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="184"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="186"/>
|
||||
<source>group_infos_shared_docs</source>
|
||||
<translation>Shared documents</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="196"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="198"/>
|
||||
<source>group_infos_other_actions</source>
|
||||
<translation>Other actions</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="201"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="203"/>
|
||||
<source>group_infos_enable_ephemerals</source>
|
||||
<translation>Enable ephemeral messages</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="201"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="203"/>
|
||||
<source>group_infos_disable_ephemerals</source>
|
||||
<translation>Disable ephemeral messages</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="230"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="232"/>
|
||||
<source>group_infos_delete_history</source>
|
||||
<translation>Delete history</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="235"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="237"/>
|
||||
<source>group_infos_delete_history_toast_title</source>
|
||||
<extracomment>Delete history ?</extracomment>
|
||||
<translation>Delete history ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="237"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="239"/>
|
||||
<source>group_infos_delete_history_toast_message</source>
|
||||
<extracomment>All the messages will be removed from the chat room. Do you want to continue ?</extracomment>
|
||||
<translation>All the messages will be removed from the chat room. Do you want to continue ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="211"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="213"/>
|
||||
<source>group_infos_leave_room</source>
|
||||
<translation>Leave Chat Room</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="216"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="218"/>
|
||||
<source>group_infos_leave_room_toast_title</source>
|
||||
<extracomment>Leave Chat Room ?</extracomment>
|
||||
<translation>Leave Chat Room ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="218"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="220"/>
|
||||
<source>group_infos_leave_room_toast_message</source>
|
||||
<extracomment>All the messages will be removed from the chat room. Do you want to continue ?</extracomment>
|
||||
<translation>All the messages will be removed from the chat room. Do you want to continue ?</translation>
|
||||
|
|
@ -3469,102 +3470,102 @@ Only your correspondent can decrypt them.</translation>
|
|||
<context>
|
||||
<name>MainLayout</name>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="143"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="147"/>
|
||||
<source>bottom_navigation_calls_label</source>
|
||||
<extracomment>"Appels"</extracomment>
|
||||
<translation>Calls</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="148"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="152"/>
|
||||
<source>bottom_navigation_contacts_label</source>
|
||||
<extracomment>"Contacts"</extracomment>
|
||||
<translation>Contacts</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="153"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="157"/>
|
||||
<source>bottom_navigation_conversations_label</source>
|
||||
<extracomment>"Conversations"</extracomment>
|
||||
<translation>Conversations</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="159"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="163"/>
|
||||
<source>bottom_navigation_meetings_label</source>
|
||||
<extracomment>"Réunions"</extracomment>
|
||||
<translation>Meetings</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="206"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="210"/>
|
||||
<source>searchbar_placeholder_text</source>
|
||||
<extracomment>"Rechercher un contact, appeler %1"</extracomment>
|
||||
<translation>Find contact, call %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="209"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="213"/>
|
||||
<source>searchbar_placeholder_text_chat_feature_enabled</source>
|
||||
<extracomment>"ou envoyer un message …"</extracomment>
|
||||
<translation>or send message …</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="315"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="449"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="319"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="453"/>
|
||||
<source>contact_presence_status_disable_do_not_disturb</source>
|
||||
<extracomment>"Désactiver ne pas déranger"</extracomment>
|
||||
<translation>Disable do not disturb</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="371"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="375"/>
|
||||
<source>information_popup_error_title</source>
|
||||
<translation>Error</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="373"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="377"/>
|
||||
<source>no_voicemail_uri_error_message</source>
|
||||
<extracomment>"L'URI de messagerie vocale n'est pas définie."</extracomment>
|
||||
<translation>The voicemail URI is not defined.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="433"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="437"/>
|
||||
<source>drawer_menu_manage_account</source>
|
||||
<extracomment>Mon compte</extracomment>
|
||||
<translation>My account</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="451"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="455"/>
|
||||
<source>contact_presence_status_enable_do_not_disturb</source>
|
||||
<extracomment>"Activer ne pas déranger"</extracomment>
|
||||
<translation>Enable do not disturb</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="470"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="474"/>
|
||||
<source>settings_title</source>
|
||||
<translation>Settings</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="488"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="492"/>
|
||||
<source>recordings_title</source>
|
||||
<extracomment>"Enregistrements"</extracomment>
|
||||
<translation>Records</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="503"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="507"/>
|
||||
<source>help_title</source>
|
||||
<extracomment>"Aide"</extracomment>
|
||||
<translation>Help</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="520"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="524"/>
|
||||
<source>help_quit_title</source>
|
||||
<extracomment>"Quitter l'application"</extracomment>
|
||||
<translation>Quit the app</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="525"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="529"/>
|
||||
<source>quit_app_question</source>
|
||||
<extracomment>"Quitter %1 ?"</extracomment>
|
||||
<translation>Quit %1 ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="554"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="558"/>
|
||||
<source>drawer_menu_add_account</source>
|
||||
<extracomment>"Ajouter un compte"</extracomment>
|
||||
<translation>Add an account</translation>
|
||||
|
|
@ -3573,78 +3574,78 @@ Only your correspondent can decrypt them.</translation>
|
|||
<context>
|
||||
<name>MainWindow</name>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="41"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="42"/>
|
||||
<source>information_popup_connexion_succeed_title</source>
|
||||
<extracomment>"Connexion réussie"</extracomment>
|
||||
<translation>Connection succeed</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="43"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="44"/>
|
||||
<source>information_popup_connexion_succeed_message</source>
|
||||
<extracomment>"Vous êtes connecté en mode %1"</extracomment>
|
||||
<translation>You are logged in %1 mode</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="45"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="46"/>
|
||||
<source>interoperable</source>
|
||||
<extracomment>interopérable</extracomment>
|
||||
<translation>interoperable</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="74"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="75"/>
|
||||
<source>call_transfer_successful_toast_title</source>
|
||||
<extracomment>"Appel transféré"</extracomment>
|
||||
<translation>Call forwarded</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="76"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="77"/>
|
||||
<source>call_transfer_successful_toast_message</source>
|
||||
<extracomment>"Votre correspondant a été transféré au contact sélectionné"</extracomment>
|
||||
<translation>Your correspondent has been transferred to the selected contact</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="122"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="128"/>
|
||||
<source>information_popup_success_title</source>
|
||||
<translation>Saved</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="124"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="130"/>
|
||||
<source>information_popup_changes_saved</source>
|
||||
<extracomment>"Les changements ont été sauvegardés"</extracomment>
|
||||
<translation>Changes have been saved</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="209"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="215"/>
|
||||
<source>captcha_validation_loading_message</source>
|
||||
<extracomment>"Veuillez valider le captcha sur la page web"</extracomment>
|
||||
<translation>Please validate the captcha on the web page</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="217"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="223"/>
|
||||
<source>assistant_register_error_title</source>
|
||||
<extracomment>"Erreur lors de la création"</extracomment>
|
||||
<translation>Error while creating</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="236"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="242"/>
|
||||
<source>assistant_register_success_title</source>
|
||||
<extracomment>"Compte créé"</extracomment>
|
||||
<translation>Account created</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="238"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="244"/>
|
||||
<source>assistant_register_success_message</source>
|
||||
<extracomment>"Le compte a été créé. Vous pouvez maintenant vous connecter"</extracomment>
|
||||
<translation>The account has been created. You can now log in.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="242"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="248"/>
|
||||
<source>assistant_register_error_code</source>
|
||||
<extracomment>"Erreur dans le code de validation"</extracomment>
|
||||
<translation>Error in validation code</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="243"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="249"/>
|
||||
<source>information_popup_error_title</source>
|
||||
<translation>Error</translation>
|
||||
</message>
|
||||
|
|
@ -3718,152 +3719,152 @@ Only your correspondent can decrypt them.</translation>
|
|||
<translation>No meeting</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="78"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="89"/>
|
||||
<source>meeting_schedule_cancel_dialog_message</source>
|
||||
<extracomment>"Souhaitez-vous annuler et supprimer cette réunion ?"</extracomment>
|
||||
<translation>Would you like to cancel and delete this meeting?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="80"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="91"/>
|
||||
<source>meeting_schedule_delete_dialog_message</source>
|
||||
<extracomment>Souhaitez-vous supprimer cette réunion ?</extracomment>
|
||||
<translation>Would you like to delete this meeting?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="86"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="97"/>
|
||||
<source>meeting_schedule_cancel_and_delete_action</source>
|
||||
<extracomment>"Annuler et supprimer"</extracomment>
|
||||
<translation>Cancel and delete</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="95"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="106"/>
|
||||
<source>meeting_schedule_delete_only_action</source>
|
||||
<extracomment>"Supprimer seulement"</extracomment>
|
||||
<translation>Delete only</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="97"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="108"/>
|
||||
<source>meeting_schedule_delete_action</source>
|
||||
<extracomment>"Supprimer"</extracomment>
|
||||
<translation>Delete</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="106"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="117"/>
|
||||
<source>back_action</source>
|
||||
<extracomment>Retour</extracomment>
|
||||
<translation>Back</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="149"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="160"/>
|
||||
<source>meetings_list_title</source>
|
||||
<extracomment>Réunions</extracomment>
|
||||
<translation>Meetings</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="173"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="184"/>
|
||||
<source>meetings_search_hint</source>
|
||||
<extracomment>"Rechercher une réunion"</extracomment>
|
||||
<translation>Find meeting</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="190"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="201"/>
|
||||
<source>list_filter_no_result_found</source>
|
||||
<extracomment>"Aucun résultat…"</extracomment>
|
||||
<translation>No result…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="192"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="203"/>
|
||||
<source>meetings_empty_list</source>
|
||||
<extracomment>"Aucune réunion"</extracomment>
|
||||
<translation>No meeting</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="255"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="304"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="266"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="315"/>
|
||||
<source>meeting_schedule_title</source>
|
||||
<extracomment>"Nouvelle réunion"</extracomment>
|
||||
<translation>New meeting</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="266"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="277"/>
|
||||
<source>create</source>
|
||||
<translation>Create</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="273"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="277"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="316"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="418"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="421"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="470"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="284"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="288"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="327"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="429"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="432"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="481"/>
|
||||
<source>information_popup_error_title</source>
|
||||
<translation>Error</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="275"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="419"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="286"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="430"/>
|
||||
<source>meeting_schedule_mandatory_field_not_filled_toast</source>
|
||||
<extracomment>Veuillez saisir un titre et sélectionner au moins un participant</extracomment>
|
||||
<translation>Please fill the title and select at least one participant</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="279"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="422"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="290"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="433"/>
|
||||
<source>meeting_schedule_duration_error_toast</source>
|
||||
<extracomment>"La fin de la conférence doit être plus récente que son début"</extracomment>
|
||||
<translation>The end of the conference must be more recent than its beginning</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="283"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="311"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="294"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="322"/>
|
||||
<source>meeting_schedule_creation_in_progress</source>
|
||||
<extracomment>"Création de la réunion en cours …"</extracomment>
|
||||
<translation>Creation in progress…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="306"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="317"/>
|
||||
<source>meeting_info_created_toast</source>
|
||||
<extracomment>"Réunion planifiée avec succès"</extracomment>
|
||||
<translation>Meeting successfully created</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="318"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="329"/>
|
||||
<source>meeting_failed_to_schedule_toast</source>
|
||||
<extracomment>"Échec de création de la réunion !"</extracomment>
|
||||
<translation>Failed to create meeting!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="411"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="422"/>
|
||||
<source>save</source>
|
||||
<translation>Save</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="461"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="688"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="472"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="699"/>
|
||||
<source>saved</source>
|
||||
<extracomment>"Enregistré"</extracomment>
|
||||
<translation>Saved</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="463"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="474"/>
|
||||
<source>meeting_info_updated_toast</source>
|
||||
<extracomment>"Réunion mise à jour"</extracomment>
|
||||
<translation>Meeting updated</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="468"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="479"/>
|
||||
<source>meeting_schedule_edit_in_progress</source>
|
||||
<extracomment>"Modification de la réunion en cours…"</extracomment>
|
||||
<translation>Meeting update in progress…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="472"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="483"/>
|
||||
<source>meeting_failed_to_edit_toast</source>
|
||||
<extracomment>"Échec de la modification de la réunion !"</extracomment>
|
||||
<translation>Failed to update meeting !</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="509"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="520"/>
|
||||
<source>meeting_schedule_add_participants_title</source>
|
||||
<extracomment>"Ajouter des participants"</extracomment>
|
||||
<translation>Add participants</translation>
|
||||
|
|
@ -3875,12 +3876,12 @@ Only your correspondent can decrypt them.</translation>
|
|||
<translation>Apply</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="524"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="535"/>
|
||||
<source>add</source>
|
||||
<translation>Add</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="534"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="545"/>
|
||||
<source>group_call_participant_selected</source>
|
||||
<extracomment>"%n participant(s) sélectionné(s)"</extracomment>
|
||||
<translation>
|
||||
|
|
@ -3889,31 +3890,31 @@ Only your correspondent can decrypt them.</translation>
|
|||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="619"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="630"/>
|
||||
<source>meeting_info_delete</source>
|
||||
<extracomment>"Supprimer la réunion"</extracomment>
|
||||
<translation>Delete meeting</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="690"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="701"/>
|
||||
<source>meeting_address_copied_to_clipboard_toast</source>
|
||||
<extracomment>"Adresse de la réunion copiée"</extracomment>
|
||||
<translation>Meeting URI copied</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="725"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="736"/>
|
||||
<source>meeting_schedule_timezone_title</source>
|
||||
<extracomment>"Fuseau horaire"</extracomment>
|
||||
<translation>Timezone</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="818"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="829"/>
|
||||
<source>meeting_info_organizer_label</source>
|
||||
<extracomment>"Organisateur"</extracomment>
|
||||
<translation>Organizer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="835"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="846"/>
|
||||
<source>meeting_info_join_title</source>
|
||||
<extracomment>"Rejoindre la réunion"</extracomment>
|
||||
<translation>Join meeting</translation>
|
||||
|
|
@ -3941,15 +3942,30 @@ Only your correspondent can decrypt them.</translation>
|
|||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MessageReactionsInfos</name>
|
||||
<name>MessageImdnStatusInfos</name>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/MessageReactionsInfos.qml" line="28"/>
|
||||
<source>message_details_status title</source>
|
||||
<location filename="../../view/Page/Layout/Chat/MessageImdnStatusInfos.qml" line="11"/>
|
||||
<source>message_details_status_title</source>
|
||||
<extracomment>Message status</extracomment>
|
||||
<translation>Message status</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/MessageReactionsInfos.qml" line="91"/>
|
||||
<location filename="../../view/Page/Layout/Chat/MessageImdnStatusInfos.qml" line="47"/>
|
||||
<source>click_to_delete_reaction_info</source>
|
||||
<extracomment>Click to delete</extracomment>
|
||||
<translation>Click to delete</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MessageReactionsInfos</name>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/MessageReactionsInfos.qml" line="12"/>
|
||||
<source>message_details_reactions_title</source>
|
||||
<extracomment>Reactions</extracomment>
|
||||
<translation>Reactions</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/MessageReactionsInfos.qml" line="59"/>
|
||||
<source>click_to_delete_reaction_info</source>
|
||||
<extracomment>Click to delete</extracomment>
|
||||
<translation>Click to delete</translation>
|
||||
|
|
@ -4355,31 +4371,91 @@ Only your correspondent can decrypt them.</translation>
|
|||
<translation>Post quantum ZRTP</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="184"/>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="125"/>
|
||||
<source>message_state_in_progress</source>
|
||||
<extracomment>"delivery in progress"</extracomment>
|
||||
<translation>delivery in progress</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="128"/>
|
||||
<source>message_state_delivered</source>
|
||||
<extracomment>sent</extracomment>
|
||||
<translation>sent</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="131"/>
|
||||
<source>message_state_not_delivered</source>
|
||||
<extracomment>error</extracomment>
|
||||
<translation>error</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="134"/>
|
||||
<source>message_state_file_transfer_error</source>
|
||||
<extracomment>cannot get file from server</extracomment>
|
||||
<translation>cannot get file from server</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="137"/>
|
||||
<source>message_state_file_transfer_done</source>
|
||||
<extracomment>file transfer has been completed successfully</extracomment>
|
||||
<translation>file transfer has been completed successfully</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="140"/>
|
||||
<source>message_state_delivered_to_user</source>
|
||||
<extracomment>received</extracomment>
|
||||
<translation>received</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="143"/>
|
||||
<source>message_state_displayed</source>
|
||||
<extracomment>read</extracomment>
|
||||
<translation>read</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="146"/>
|
||||
<source>message_state_file_transfer__in_progress</source>
|
||||
<extracomment>file transfer in progress</extracomment>
|
||||
<translation>file transfer in progress</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="149"/>
|
||||
<source>message_state_pending_delivery</source>
|
||||
<extracomment>pending delivery</extracomment>
|
||||
<translation>pending delivery</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="152"/>
|
||||
<source>message_state_file_transfer_cancelling</source>
|
||||
<extracomment>file transfer canceled</extracomment>
|
||||
<translation>file transfer canceled</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="219"/>
|
||||
<source>incoming</source>
|
||||
<extracomment>"Entrant"</extracomment>
|
||||
<translation>Incoming</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="187"/>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="222"/>
|
||||
<source>outgoing</source>
|
||||
<extracomment>"Sortant"</extracomment>
|
||||
<translation>Outgoing</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="213"/>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="248"/>
|
||||
<source>conference_layout_active_speaker</source>
|
||||
<extracomment>"Participant actif"</extracomment>
|
||||
<translation>Active speaker</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="215"/>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="250"/>
|
||||
<source>conference_layout_grid</source>
|
||||
<extracomment>"Mosaïque"</extracomment>
|
||||
<translation>Grid</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="217"/>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="252"/>
|
||||
<source>conference_layout_audio_only</source>
|
||||
<extracomment>"Audio uniquement"</extracomment>
|
||||
<translation>Audio only</translation>
|
||||
|
|
|
|||
|
|
@ -13,13 +13,13 @@
|
|||
<context>
|
||||
<name>AbstractWindow</name>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/AbstractWindow.qml" line="78"/>
|
||||
<location filename="../../view/Page/Window/AbstractWindow.qml" line="80"/>
|
||||
<source>contact_dialog_pick_phone_number_or_sip_address_title</source>
|
||||
<extracomment>"Choisissez un numéro ou adresse SIP"</extracomment>
|
||||
<translation>Choisissez un numéro ou adresse SIP</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/AbstractWindow.qml" line="277"/>
|
||||
<location filename="../../view/Page/Window/AbstractWindow.qml" line="279"/>
|
||||
<source>fps_counter</source>
|
||||
<translation>%1 FPS</translation>
|
||||
</message>
|
||||
|
|
@ -523,7 +523,7 @@
|
|||
<context>
|
||||
<name>App</name>
|
||||
<message>
|
||||
<location filename="../../core/App.cpp" line="338"/>
|
||||
<location filename="../../core/App.cpp" line="337"/>
|
||||
<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>
|
||||
|
|
@ -1720,18 +1720,18 @@
|
|||
<context>
|
||||
<name>ChatListView</name>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="269"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="270"/>
|
||||
<source>chat_message_is_writing_info</source>
|
||||
<extracomment>%1 is writing…</extracomment>
|
||||
<translation>%1 est en train d'écrire…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="271"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="272"/>
|
||||
<source>chat_message_draft_sending_text</source>
|
||||
<translation>Brouillon : %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="340"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="341"/>
|
||||
<source>chat_room_delete</source>
|
||||
<extracomment>"Supprimer"</extracomment>
|
||||
<translation>Supprimer</translation>
|
||||
|
|
@ -1749,13 +1749,13 @@
|
|||
<translation>Enlever la sourdine </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="346"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="347"/>
|
||||
<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="348"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatListView.qml" line="349"/>
|
||||
<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>
|
||||
|
|
@ -1764,31 +1764,37 @@
|
|||
<context>
|
||||
<name>ChatMessage</name>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="238"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="239"/>
|
||||
<source>chat_message_copy_selection</source>
|
||||
<extracomment>"Copy selection"</extracomment>
|
||||
<translation>Copier la sélection</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="240"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="241"/>
|
||||
<source>chat_message_copy</source>
|
||||
<extracomment>"Copy"</extracomment>
|
||||
<translation>Copier</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="248"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="249"/>
|
||||
<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="250"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="251"/>
|
||||
<source>chat_message_copied_to_clipboard_toast</source>
|
||||
<extracomment>"to clipboard"</extracomment>
|
||||
<translation>dans le presse-papiers</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="256"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="257"/>
|
||||
<source>chat_message_see_status</source>
|
||||
<extracomment>"See message status"</extracomment>
|
||||
<translation>Voir les statuts du message</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessage.qml" line="273"/>
|
||||
<source>chat_message_delete</source>
|
||||
<extracomment>"Delete"</extracomment>
|
||||
<translation>Supprimer</translation>
|
||||
|
|
@ -1878,19 +1884,19 @@ Error</extracomment>
|
|||
<context>
|
||||
<name>ChatMessageCore</name>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="101"/>
|
||||
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="127"/>
|
||||
<source>all_reactions_label</source>
|
||||
<extracomment>"Reactions": all reactions for one message label</extracomment>
|
||||
<translation>Réactions</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="145"/>
|
||||
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="173"/>
|
||||
<source>info_toast_deleted_title</source>
|
||||
<extracomment>Deleted</extracomment>
|
||||
<translation>Supprimé</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="147"/>
|
||||
<location filename="../../core/chat/message/ChatMessageCore.cpp" line="175"/>
|
||||
<source>info_toast_deleted_message</source>
|
||||
<extracomment>The message has been deleted</extracomment>
|
||||
<translation>Le message a été supprimé</translation>
|
||||
|
|
@ -1943,13 +1949,13 @@ Error</extracomment>
|
|||
<context>
|
||||
<name>ChatMessagesListView</name>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="90"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="91"/>
|
||||
<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="100"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="101"/>
|
||||
<source>chat_message_list_encrypted_header_message</source>
|
||||
<extracomment>Les messages de cette conversation sont chiffrés de bout
|
||||
en bout. Seul votre correspondant peut les déchiffrer.</extracomment>
|
||||
|
|
@ -1957,7 +1963,7 @@ Error</extracomment>
|
|||
en bout. Seul votre correspondant peut les déchiffrer.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="184"/>
|
||||
<location filename="../../view/Control/Display/Chat/ChatMessagesListView.qml" line="186"/>
|
||||
<source>chat_message_is_writing_info</source>
|
||||
<extracomment>%1 is writing…</extracomment>
|
||||
<translation>%1 est en train d'écrire…</translation>
|
||||
|
|
@ -3012,7 +3018,7 @@ en bout. Seul votre correspondant peut les déchiffrer.</translation>
|
|||
<translation>Appliquer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="129"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="130"/>
|
||||
<source>group_infos_call</source>
|
||||
<extracomment>"Appel"</extracomment>
|
||||
<translation>Appel</translation>
|
||||
|
|
@ -3030,77 +3036,72 @@ en bout. Seul votre correspondant peut les déchiffrer.</translation>
|
|||
<translation>Réactiver les notifications</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="139"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="141"/>
|
||||
<source>group_infos_meeting</source>
|
||||
<extracomment>"Réunion"</extracomment>
|
||||
<translation>Réunion</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="162"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="164"/>
|
||||
<source>group_infos_participants</source>
|
||||
<translation>Participants (%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="169"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="174"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="171"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="176"/>
|
||||
<source>group_infos_media_docs</source>
|
||||
<translation>Medias & documents</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>group_infos_shared_media</source>
|
||||
<extracomment>Shared medias</extracomment>
|
||||
<translation type="vanished">Médias partagés</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="184"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="186"/>
|
||||
<source>group_infos_shared_docs</source>
|
||||
<translation>Documents partagés</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="196"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="198"/>
|
||||
<source>group_infos_other_actions</source>
|
||||
<translation>Autres actions</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="201"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="203"/>
|
||||
<source>group_infos_enable_ephemerals</source>
|
||||
<translation>Activer les messages éphémères</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="201"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="203"/>
|
||||
<source>group_infos_disable_ephemerals</source>
|
||||
<translation>Désactiver les messages éphémères</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="230"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="232"/>
|
||||
<source>group_infos_delete_history</source>
|
||||
<translation>Supprimer l'historique</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="235"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="237"/>
|
||||
<source>group_infos_delete_history_toast_title</source>
|
||||
<extracomment>Delete history ?</extracomment>
|
||||
<translation>Supprimer l'historique ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="237"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="239"/>
|
||||
<source>group_infos_delete_history_toast_message</source>
|
||||
<extracomment>All the messages will be removed from the chat room. Do you want to continue ?</extracomment>
|
||||
<translation>Tous les messages seront supprimés. Souhaitez-vous continuer ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="211"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="213"/>
|
||||
<source>group_infos_leave_room</source>
|
||||
<translation>Quitter la conversation</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="216"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="218"/>
|
||||
<source>group_infos_leave_room_toast_title</source>
|
||||
<extracomment>Leave Chat Room ?</extracomment>
|
||||
<translation>Quitter la conversation ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="218"/>
|
||||
<location filename="../../view/Page/Layout/Chat/GroupConversationInfos.qml" line="220"/>
|
||||
<source>group_infos_leave_room_toast_message</source>
|
||||
<extracomment>All the messages will be removed from the chat room. Do you want to continue ?</extracomment>
|
||||
<translation>Vous ne recevrez ni pourrez envoyer des messages dans cette conversation, quitter ?</translation>
|
||||
|
|
@ -3469,102 +3470,102 @@ en bout. Seul votre correspondant peut les déchiffrer.</translation>
|
|||
<context>
|
||||
<name>MainLayout</name>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="143"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="147"/>
|
||||
<source>bottom_navigation_calls_label</source>
|
||||
<extracomment>"Appels"</extracomment>
|
||||
<translation>Appels</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="148"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="152"/>
|
||||
<source>bottom_navigation_contacts_label</source>
|
||||
<extracomment>"Contacts"</extracomment>
|
||||
<translation>Contacts</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="153"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="157"/>
|
||||
<source>bottom_navigation_conversations_label</source>
|
||||
<extracomment>"Conversations"</extracomment>
|
||||
<translation>Conversations</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="159"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="163"/>
|
||||
<source>bottom_navigation_meetings_label</source>
|
||||
<extracomment>"Réunions"</extracomment>
|
||||
<translation>Réunions</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="206"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="210"/>
|
||||
<source>searchbar_placeholder_text</source>
|
||||
<extracomment>"Rechercher un contact, appeler %1"</extracomment>
|
||||
<translation>Rechercher un contact, appeler %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="209"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="213"/>
|
||||
<source>searchbar_placeholder_text_chat_feature_enabled</source>
|
||||
<extracomment>"ou envoyer un message …"</extracomment>
|
||||
<translation>ou envoyer un message …</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="315"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="449"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="319"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="453"/>
|
||||
<source>contact_presence_status_disable_do_not_disturb</source>
|
||||
<extracomment>"Désactiver ne pas déranger"</extracomment>
|
||||
<translation>Désactiver ne pas déranger</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="371"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="375"/>
|
||||
<source>information_popup_error_title</source>
|
||||
<translation>Erreur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="373"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="377"/>
|
||||
<source>no_voicemail_uri_error_message</source>
|
||||
<extracomment>"L'URI de messagerie vocale n'est pas définie."</extracomment>
|
||||
<translation>L'URI de messagerie vocale n'est pas définie.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="433"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="437"/>
|
||||
<source>drawer_menu_manage_account</source>
|
||||
<extracomment>Mon compte</extracomment>
|
||||
<translation>Mon compte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="451"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="455"/>
|
||||
<source>contact_presence_status_enable_do_not_disturb</source>
|
||||
<extracomment>"Activer ne pas déranger"</extracomment>
|
||||
<translation>Activer ne pas déranger</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="470"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="474"/>
|
||||
<source>settings_title</source>
|
||||
<translation>Paramètres</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="488"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="492"/>
|
||||
<source>recordings_title</source>
|
||||
<extracomment>"Enregistrements"</extracomment>
|
||||
<translation>Enregistrements</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="503"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="507"/>
|
||||
<source>help_title</source>
|
||||
<extracomment>"Aide"</extracomment>
|
||||
<translation>Aide</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="520"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="524"/>
|
||||
<source>help_quit_title</source>
|
||||
<extracomment>"Quitter l'application"</extracomment>
|
||||
<translation>Quitter l'application</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="525"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="529"/>
|
||||
<source>quit_app_question</source>
|
||||
<extracomment>"Quitter %1 ?"</extracomment>
|
||||
<translation>Quitter %1 ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="554"/>
|
||||
<location filename="../../view/Page/Layout/Main/MainLayout.qml" line="558"/>
|
||||
<source>drawer_menu_add_account</source>
|
||||
<extracomment>"Ajouter un compte"</extracomment>
|
||||
<translation>Ajouter un compte</translation>
|
||||
|
|
@ -3573,78 +3574,78 @@ en bout. Seul votre correspondant peut les déchiffrer.</translation>
|
|||
<context>
|
||||
<name>MainWindow</name>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="41"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="42"/>
|
||||
<source>information_popup_connexion_succeed_title</source>
|
||||
<extracomment>"Connexion réussie"</extracomment>
|
||||
<translation>Connexion réussie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="43"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="44"/>
|
||||
<source>information_popup_connexion_succeed_message</source>
|
||||
<extracomment>"Vous êtes connecté en mode %1"</extracomment>
|
||||
<translation>Vous êtes connecté en mode %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="45"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="46"/>
|
||||
<source>interoperable</source>
|
||||
<extracomment>interopérable</extracomment>
|
||||
<translation>interopérable</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="74"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="75"/>
|
||||
<source>call_transfer_successful_toast_title</source>
|
||||
<extracomment>"Appel transféré"</extracomment>
|
||||
<translation>Appel transféré</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="76"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="77"/>
|
||||
<source>call_transfer_successful_toast_message</source>
|
||||
<extracomment>"Votre correspondant a été transféré au contact sélectionné"</extracomment>
|
||||
<translation>Votre correspondant a été transféré au contact sélectionné</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="122"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="128"/>
|
||||
<source>information_popup_success_title</source>
|
||||
<translation>Enregistré</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="124"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="130"/>
|
||||
<source>information_popup_changes_saved</source>
|
||||
<extracomment>"Les changements ont été sauvegardés"</extracomment>
|
||||
<translation>Les changements ont été sauvegardés</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="209"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="215"/>
|
||||
<source>captcha_validation_loading_message</source>
|
||||
<extracomment>"Veuillez valider le captcha sur la page web"</extracomment>
|
||||
<translation>Veuillez valider le captcha sur la page web</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="217"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="223"/>
|
||||
<source>assistant_register_error_title</source>
|
||||
<extracomment>"Erreur lors de la création"</extracomment>
|
||||
<translation>Erreur lors de la création</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="236"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="242"/>
|
||||
<source>assistant_register_success_title</source>
|
||||
<extracomment>"Compte créé"</extracomment>
|
||||
<translation>Compte créé</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="238"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="244"/>
|
||||
<source>assistant_register_success_message</source>
|
||||
<extracomment>"Le compte a été créé. Vous pouvez maintenant vous connecter"</extracomment>
|
||||
<translation>Le compte a été créé. Vous pouvez maintenant vous connecter</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="242"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="248"/>
|
||||
<source>assistant_register_error_code</source>
|
||||
<extracomment>"Erreur dans le code de validation"</extracomment>
|
||||
<translation>Erreur dans le code de validation</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="243"/>
|
||||
<location filename="../../view/Page/Window/Main/MainWindow.qml" line="249"/>
|
||||
<source>information_popup_error_title</source>
|
||||
<translation>Erreur</translation>
|
||||
</message>
|
||||
|
|
@ -3718,152 +3719,152 @@ en bout. Seul votre correspondant peut les déchiffrer.</translation>
|
|||
<translation>Aucune réunion</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="78"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="89"/>
|
||||
<source>meeting_schedule_cancel_dialog_message</source>
|
||||
<extracomment>"Souhaitez-vous annuler et supprimer cette réunion ?"</extracomment>
|
||||
<translation>Souhaitez-vous annuler et supprimer cette réunion ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="80"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="91"/>
|
||||
<source>meeting_schedule_delete_dialog_message</source>
|
||||
<extracomment>Souhaitez-vous supprimer cette réunion ?</extracomment>
|
||||
<translation>Souhaitez-vous supprimer cette réunion ?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="86"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="97"/>
|
||||
<source>meeting_schedule_cancel_and_delete_action</source>
|
||||
<extracomment>"Annuler et supprimer"</extracomment>
|
||||
<translation>Annuler et supprimer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="95"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="106"/>
|
||||
<source>meeting_schedule_delete_only_action</source>
|
||||
<extracomment>"Supprimer seulement"</extracomment>
|
||||
<translation>Supprimer seulement</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="97"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="108"/>
|
||||
<source>meeting_schedule_delete_action</source>
|
||||
<extracomment>"Supprimer"</extracomment>
|
||||
<translation>Supprimer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="106"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="117"/>
|
||||
<source>back_action</source>
|
||||
<extracomment>Retour</extracomment>
|
||||
<translation>Retour</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="149"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="160"/>
|
||||
<source>meetings_list_title</source>
|
||||
<extracomment>Réunions</extracomment>
|
||||
<translation>Réunions</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="173"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="184"/>
|
||||
<source>meetings_search_hint</source>
|
||||
<extracomment>"Rechercher une réunion"</extracomment>
|
||||
<translation>Rechercher une réunion</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="190"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="201"/>
|
||||
<source>list_filter_no_result_found</source>
|
||||
<extracomment>"Aucun résultat…"</extracomment>
|
||||
<translation>Aucun résultat…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="192"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="203"/>
|
||||
<source>meetings_empty_list</source>
|
||||
<extracomment>"Aucune réunion"</extracomment>
|
||||
<translation>Aucune réunion</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="255"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="304"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="266"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="315"/>
|
||||
<source>meeting_schedule_title</source>
|
||||
<extracomment>"Nouvelle réunion"</extracomment>
|
||||
<translation>Nouvelle réunion</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="266"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="277"/>
|
||||
<source>create</source>
|
||||
<translation>Créer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="273"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="277"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="316"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="418"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="421"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="470"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="284"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="288"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="327"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="429"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="432"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="481"/>
|
||||
<source>information_popup_error_title</source>
|
||||
<translation>Erreur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="275"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="419"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="286"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="430"/>
|
||||
<source>meeting_schedule_mandatory_field_not_filled_toast</source>
|
||||
<extracomment>Veuillez saisir un titre et sélectionner au moins un participant</extracomment>
|
||||
<translation>Veuillez saisir un titre et sélectionner au moins un participant</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="279"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="422"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="290"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="433"/>
|
||||
<source>meeting_schedule_duration_error_toast</source>
|
||||
<extracomment>"La fin de la conférence doit être plus récente que son début"</extracomment>
|
||||
<translation>La fin de la conférence doit être plus récente que son début</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="283"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="311"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="294"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="322"/>
|
||||
<source>meeting_schedule_creation_in_progress</source>
|
||||
<extracomment>"Création de la réunion en cours …"</extracomment>
|
||||
<translation>Création de la réunion en cours…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="306"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="317"/>
|
||||
<source>meeting_info_created_toast</source>
|
||||
<extracomment>"Réunion planifiée avec succès"</extracomment>
|
||||
<translation>Réunion planifiée avec succès</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="318"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="329"/>
|
||||
<source>meeting_failed_to_schedule_toast</source>
|
||||
<extracomment>"Échec de création de la réunion !"</extracomment>
|
||||
<translation>Échec de création de la réunion !</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="411"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="422"/>
|
||||
<source>save</source>
|
||||
<translation>Enregistrer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="461"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="688"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="472"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="699"/>
|
||||
<source>saved</source>
|
||||
<extracomment>"Enregistré"</extracomment>
|
||||
<translation>Enregistré</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="463"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="474"/>
|
||||
<source>meeting_info_updated_toast</source>
|
||||
<extracomment>"Réunion mise à jour"</extracomment>
|
||||
<translation>Réunion mise à jour</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="468"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="479"/>
|
||||
<source>meeting_schedule_edit_in_progress</source>
|
||||
<extracomment>"Modification de la réunion en cours…"</extracomment>
|
||||
<translation>Modification de la réunion en cours…</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="472"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="483"/>
|
||||
<source>meeting_failed_to_edit_toast</source>
|
||||
<extracomment>"Échec de la modification de la réunion !"</extracomment>
|
||||
<translation>Échec de la modification de la réunion !</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="509"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="520"/>
|
||||
<source>meeting_schedule_add_participants_title</source>
|
||||
<extracomment>"Ajouter des participants"</extracomment>
|
||||
<translation>Ajouter des participants</translation>
|
||||
|
|
@ -3875,12 +3876,12 @@ en bout. Seul votre correspondant peut les déchiffrer.</translation>
|
|||
<translation>Appliquer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="524"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="535"/>
|
||||
<source>add</source>
|
||||
<translation>Ajouter</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="534"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="545"/>
|
||||
<source>group_call_participant_selected</source>
|
||||
<extracomment>"%n participant(s) sélectionné(s)"</extracomment>
|
||||
<translation>
|
||||
|
|
@ -3889,31 +3890,31 @@ en bout. Seul votre correspondant peut les déchiffrer.</translation>
|
|||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="619"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="630"/>
|
||||
<source>meeting_info_delete</source>
|
||||
<extracomment>"Supprimer la réunion"</extracomment>
|
||||
<translation>Supprimer la réunion</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="690"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="701"/>
|
||||
<source>meeting_address_copied_to_clipboard_toast</source>
|
||||
<extracomment>"Adresse de la réunion copiée"</extracomment>
|
||||
<translation>Adresse de la réunion copiée</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="725"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="736"/>
|
||||
<source>meeting_schedule_timezone_title</source>
|
||||
<extracomment>"Fuseau horaire"</extracomment>
|
||||
<translation>Fuseau horaire</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="818"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="829"/>
|
||||
<source>meeting_info_organizer_label</source>
|
||||
<extracomment>"Organisateur"</extracomment>
|
||||
<translation>Organisateur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="835"/>
|
||||
<location filename="../../view/Page/Main/Meeting/MeetingPage.qml" line="846"/>
|
||||
<source>meeting_info_join_title</source>
|
||||
<extracomment>"Rejoindre la réunion"</extracomment>
|
||||
<translation>Rejoindre la réunion</translation>
|
||||
|
|
@ -3941,15 +3942,30 @@ en bout. Seul votre correspondant peut les déchiffrer.</translation>
|
|||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MessageReactionsInfos</name>
|
||||
<name>MessageImdnStatusInfos</name>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/MessageReactionsInfos.qml" line="28"/>
|
||||
<source>message_details_status title</source>
|
||||
<location filename="../../view/Page/Layout/Chat/MessageImdnStatusInfos.qml" line="11"/>
|
||||
<source>message_details_status_title</source>
|
||||
<extracomment>Message status</extracomment>
|
||||
<translation>Statut du message</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/MessageReactionsInfos.qml" line="91"/>
|
||||
<location filename="../../view/Page/Layout/Chat/MessageImdnStatusInfos.qml" line="47"/>
|
||||
<source>click_to_delete_reaction_info</source>
|
||||
<extracomment>Click to delete</extracomment>
|
||||
<translation>Appuyez pour supprimer</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MessageReactionsInfos</name>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/MessageReactionsInfos.qml" line="12"/>
|
||||
<source>message_details_reactions_title</source>
|
||||
<extracomment>Reactions</extracomment>
|
||||
<translation>Réactions</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../view/Page/Layout/Chat/MessageReactionsInfos.qml" line="59"/>
|
||||
<source>click_to_delete_reaction_info</source>
|
||||
<extracomment>Click to delete</extracomment>
|
||||
<translation>Appuyez pour supprimer</translation>
|
||||
|
|
@ -4355,31 +4371,91 @@ en bout. Seul votre correspondant peut les déchiffrer.</translation>
|
|||
<translation>ZRTP - Post quantique</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="184"/>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="125"/>
|
||||
<source>message_state_in_progress</source>
|
||||
<extracomment>"delivery in progress"</extracomment>
|
||||
<translation>envoi en cours</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="128"/>
|
||||
<source>message_state_delivered</source>
|
||||
<extracomment>sent</extracomment>
|
||||
<translation>envoyé</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="131"/>
|
||||
<source>message_state_not_delivered</source>
|
||||
<extracomment>error</extracomment>
|
||||
<translation>en erreur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="134"/>
|
||||
<source>message_state_file_transfer_error</source>
|
||||
<extracomment>cannot get file from server</extracomment>
|
||||
<translation>impossible de récupérer le fichier depuis le serveur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="137"/>
|
||||
<source>message_state_file_transfer_done</source>
|
||||
<extracomment>file transfer has been completed successfully</extracomment>
|
||||
<translation>fichier transféré avec succès</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="140"/>
|
||||
<source>message_state_delivered_to_user</source>
|
||||
<extracomment>received</extracomment>
|
||||
<translation>reçu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="143"/>
|
||||
<source>message_state_displayed</source>
|
||||
<extracomment>read</extracomment>
|
||||
<translation>lu</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="146"/>
|
||||
<source>message_state_file_transfer__in_progress</source>
|
||||
<extracomment>file transfer in progress</extracomment>
|
||||
<translation>transfert du fichier en cours</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="149"/>
|
||||
<source>message_state_pending_delivery</source>
|
||||
<extracomment>pending delivery</extracomment>
|
||||
<translation>envoi en attente</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="152"/>
|
||||
<source>message_state_file_transfer_cancelling</source>
|
||||
<extracomment>file transfer canceled</extracomment>
|
||||
<translation>transfert du fichier annulé</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="219"/>
|
||||
<source>incoming</source>
|
||||
<extracomment>"Entrant"</extracomment>
|
||||
<translation>Entrant</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="187"/>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="222"/>
|
||||
<source>outgoing</source>
|
||||
<extracomment>"Sortant"</extracomment>
|
||||
<translation>Sortant</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="213"/>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="248"/>
|
||||
<source>conference_layout_active_speaker</source>
|
||||
<extracomment>"Participant actif"</extracomment>
|
||||
<translation>Intervenant actif</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="215"/>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="250"/>
|
||||
<source>conference_layout_grid</source>
|
||||
<extracomment>"Mosaïque"</extracomment>
|
||||
<translation>Mosaïque</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="217"/>
|
||||
<location filename="../../tool/LinphoneEnums.cpp" line="252"/>
|
||||
<source>conference_layout_audio_only</source>
|
||||
<extracomment>"Audio uniquement"</extracomment>
|
||||
<translation>Audio uniquement</translation>
|
||||
|
|
|
|||
|
|
@ -118,6 +118,41 @@ LinphoneEnums::ChatMessageState LinphoneEnums::fromLinphone(const linphone::Chat
|
|||
return static_cast<LinphoneEnums::ChatMessageState>(data);
|
||||
}
|
||||
|
||||
QString LinphoneEnums::toString(const LinphoneEnums::ChatMessageState &data) {
|
||||
switch (data) {
|
||||
case LinphoneEnums::ChatMessageState::StateInProgress:
|
||||
//: "delivery in progress"
|
||||
return QObject::tr("message_state_in_progress");
|
||||
case LinphoneEnums::ChatMessageState::StateDelivered:
|
||||
//: sent
|
||||
return QObject::tr("message_state_delivered");
|
||||
case LinphoneEnums::ChatMessageState::StateNotDelivered:
|
||||
//: error
|
||||
return QObject::tr("message_state_not_delivered");
|
||||
case LinphoneEnums::ChatMessageState::StateFileTransferError:
|
||||
//: cannot get file from server
|
||||
return QObject::tr("message_state_file_transfer_error");
|
||||
case LinphoneEnums::ChatMessageState::StateFileTransferDone:
|
||||
//: file transfer has been completed successfully
|
||||
return QObject::tr("message_state_file_transfer_done");
|
||||
case LinphoneEnums::ChatMessageState::StateDeliveredToUser:
|
||||
//: received
|
||||
return QObject::tr("message_state_delivered_to_user");
|
||||
case LinphoneEnums::ChatMessageState::StateDisplayed:
|
||||
//: read
|
||||
return QObject::tr("message_state_displayed");
|
||||
case LinphoneEnums::ChatMessageState::StateFileTransferInProgress:
|
||||
//: file transfer in progress
|
||||
return QObject::tr("message_state_file_transfer__in_progress");
|
||||
case LinphoneEnums::ChatMessageState::StatePendingDelivery:
|
||||
//: pending delivery
|
||||
return QObject::tr("message_state_pending_delivery");
|
||||
case LinphoneEnums::ChatMessageState::StateFileTransferCancelling:
|
||||
//: file transfer canceled
|
||||
return QObject::tr("message_state_file_transfer_cancelling");
|
||||
}
|
||||
}
|
||||
|
||||
linphone::ChatRoom::State LinphoneEnums::toLinphone(const LinphoneEnums::ChatRoomState &data) {
|
||||
return static_cast<linphone::ChatRoom::State>(data);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -97,12 +97,15 @@ enum class ChatMessageState {
|
|||
StateFileTransferDone = int(linphone::ChatMessage::State::FileTransferDone),
|
||||
StateDeliveredToUser = int(linphone::ChatMessage::State::DeliveredToUser),
|
||||
StateDisplayed = int(linphone::ChatMessage::State::Displayed),
|
||||
StateFileTransferInProgress = int(linphone::ChatMessage::State::FileTransferInProgress)
|
||||
StateFileTransferInProgress = int(linphone::ChatMessage::State::FileTransferInProgress),
|
||||
StatePendingDelivery = int(linphone::ChatMessage::State::PendingDelivery),
|
||||
StateFileTransferCancelling = int(linphone::ChatMessage::State::FileTransferCancelling)
|
||||
};
|
||||
Q_ENUM_NS(ChatMessageState)
|
||||
|
||||
linphone::ChatMessage::State toLinphone(const LinphoneEnums::ChatMessageState &data);
|
||||
LinphoneEnums::ChatMessageState fromLinphone(const linphone::ChatMessage::State &data);
|
||||
QString toString(const LinphoneEnums::ChatMessageState &data);
|
||||
|
||||
enum class ChatRoomState {
|
||||
None = int(linphone::ChatRoom::State::None),
|
||||
|
|
|
|||
|
|
@ -329,7 +329,8 @@ QString Utils::formatElapsedTime(int seconds, bool dotsSeparator) {
|
|||
else return (h == 0 ? "" : hours + "h ") + (m == 0 ? "" : min + "min ") + sec + "s";
|
||||
}
|
||||
|
||||
QString Utils::formatDate(const QDateTime &date, bool includeTime, bool includeDateIfToday, QString format) {
|
||||
QString Utils::formatDate(QDateTime date, bool includeTime, bool includeDateIfToday, QString format) {
|
||||
date = getOffsettedUTC(date);
|
||||
QString dateDay;
|
||||
//: "Aujourd'hui"
|
||||
if (date.date() == QDate::currentDate()) dateDay = tr("today");
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ public:
|
|||
Q_INVOKABLE static QString createAvatar(const QUrl &fileUrl); // Return the avatar path
|
||||
Q_INVOKABLE static QString formatElapsedTime(int seconds,
|
||||
bool dotsSeparator = true); // Return the elapsed time formated
|
||||
Q_INVOKABLE static QString formatDate(const QDateTime &date,
|
||||
Q_INVOKABLE static QString formatDate(QDateTime date,
|
||||
bool includeTime = true,
|
||||
bool includeDateIfToday = true,
|
||||
QString format = ""); // Return the date formated
|
||||
|
|
|
|||
|
|
@ -154,6 +154,8 @@ list(APPEND _LINPHONEAPP_QML_FILES
|
|||
view/Page/Layout/Settings/NetworkSettingsLayout.qml
|
||||
view/Page/Layout/Settings/AdvancedSettingsLayout.qml
|
||||
view/Page/Layout/Chat/GroupConversationInfos.qml
|
||||
view/Page/Layout/Chat/MessageImdnStatusInfos.qml
|
||||
view/Page/Layout/Chat/MessageInfosLayout.qml
|
||||
view/Page/Layout/Chat/MessageReactionsInfos.qml
|
||||
view/Page/Layout/Chat/OneOneConversationInfos.qml
|
||||
view/Page/Layout/Chat/ChatInfoActionsGroup.qml
|
||||
|
|
|
|||
|
|
@ -69,8 +69,8 @@ ColumnLayout {
|
|||
}
|
||||
}
|
||||
PresenceNoteLayout {
|
||||
visible: contact.core.presenceNote.length > 0 && mainItem.useVerticalLayout
|
||||
friendCore: contact.core
|
||||
visible: contact?.core.presenceNote.length > 0 && mainItem.useVerticalLayout
|
||||
friendCore: contact?.core || null
|
||||
Layout.preferredWidth: 412 * DefaultStyle.dp
|
||||
Layout.preferredHeight: 85 * DefaultStyle.dp
|
||||
}
|
||||
|
|
@ -92,10 +92,10 @@ ColumnLayout {
|
|||
Layout.fillWidth:true
|
||||
Layout.preferredHeight: 79 * DefaultStyle.dp
|
||||
color: 'transparent'
|
||||
visible: contact.core.presenceNote.length > 0 && !mainItem.useVerticalLayout
|
||||
visible: contact && contact.core.presenceNote.length > 0 && !mainItem.useVerticalLayout
|
||||
PresenceNoteLayout {
|
||||
anchors.centerIn: parent
|
||||
friendCore: contact.core
|
||||
friendCore: contact?.core || null
|
||||
width: 412 * DefaultStyle.dp
|
||||
height: 85 * DefaultStyle.dp
|
||||
}
|
||||
|
|
|
|||
|
|
@ -57,15 +57,20 @@ Control.TabBar {
|
|||
delay: 1000
|
||||
text: modelData
|
||||
}
|
||||
MouseArea{
|
||||
anchors.fill: parent
|
||||
cursorShape: tabButton.hovered ? Qt.PointingHandCursor: Qt.ArrowCursor
|
||||
acceptedButtons: Qt.NoButton
|
||||
}
|
||||
|
||||
background: Item {
|
||||
anchors.fill: parent
|
||||
visible: mainItem.currentIndex === index || tabButton.hovered
|
||||
|
||||
Rectangle {
|
||||
id: tabBackground
|
||||
visible: mainItem.currentIndex === index
|
||||
height: Math.round(5 * DefaultStyle.dp)
|
||||
color: DefaultStyle.main1_500_main
|
||||
color: mainItem.currentIndex === index ? DefaultStyle.main1_500_main : DefaultStyle.main2_400
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
|
|
@ -86,9 +91,12 @@ Control.TabBar {
|
|||
contentItem: Text {
|
||||
id: tabText
|
||||
width: Math.min(implicitWidth, mainItem.width / mainItem.model.length)
|
||||
font.weight: mainItem.textWeight
|
||||
font {
|
||||
pixelSize: mainItem.pixelSize
|
||||
weight: mainItem.textWeight
|
||||
capitalization: Font.Capitalize
|
||||
}
|
||||
color: mainItem.currentIndex === index ? DefaultStyle.main2_600 : DefaultStyle.main2_400
|
||||
font.pixelSize: mainItem.pixelSize
|
||||
elide: Text.ElideRight
|
||||
maximumLineCount: 1
|
||||
text: modelData
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ Control.Control {
|
|||
signal messageDeletionRequested()
|
||||
signal isFileHoveringChanged(bool isFileHovering)
|
||||
signal showReactionsForMessageRequested()
|
||||
signal showImdnStatusForMessageRequested()
|
||||
|
||||
background: Item {
|
||||
anchors.fill: parent
|
||||
|
|
@ -241,14 +242,32 @@ Control.Control {
|
|||
icon.source: AppIcons.copy
|
||||
// spacing: Math.round(10 * DefaultStyle.dp)
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredHeight: 45 * DefaultStyle.dp
|
||||
Layout.preferredHeight: Math.round(45 * DefaultStyle.dp)
|
||||
onClicked: {
|
||||
var success = UtilsCpp.copyToClipboard(chatBubbleContent.selectedText != "" ? chatBubbleContent.selectedText : mainItem.chatMessage.core.text)
|
||||
//: Copied
|
||||
if (success) UtilsCpp.showInformationPopup(qsTr("chat_message_copied_to_clipboard_title"),
|
||||
//: "to clipboard"
|
||||
qsTr("chat_message_copied_to_clipboard_toast"))
|
||||
}
|
||||
optionsMenu.close()
|
||||
}
|
||||
}
|
||||
IconLabelButton {
|
||||
inverseLayout: true
|
||||
//: "See message status"
|
||||
text: qsTr("chat_message_see_status")
|
||||
icon.source: AppIcons.chatTeardropText
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredHeight: Math.round(45 * DefaultStyle.dp)
|
||||
onClicked: {
|
||||
mainItem.showImdnStatusForMessageRequested()
|
||||
optionsMenu.close()
|
||||
}
|
||||
}
|
||||
Rectangle {
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredHeight: Math.min(1, Math.round(1 * DefaultStyle.dp))
|
||||
color: DefaultStyle.main2_400
|
||||
}
|
||||
IconLabelButton {
|
||||
inverseLayout: true
|
||||
|
|
@ -257,18 +276,13 @@ Control.Control {
|
|||
icon.source: AppIcons.trashCan
|
||||
// spacing: Math.round(10 * DefaultStyle.dp)
|
||||
Layout.fillWidth: true
|
||||
Layout.preferredHeight: 45 * DefaultStyle.dp
|
||||
Layout.preferredHeight: Math.round(45 * DefaultStyle.dp)
|
||||
onClicked: {
|
||||
mainItem.messageDeletionRequested()
|
||||
optionsMenu.close()
|
||||
}
|
||||
style: ButtonStyle.hoveredBackgroundRed
|
||||
}
|
||||
// Rectangle {
|
||||
// Layout.fillWidth: true
|
||||
// Layout.preferredHeight: Math.round(1 * DefaultStyle.dp)
|
||||
// color: DefaultStyle.main2_200
|
||||
// }
|
||||
}
|
||||
}
|
||||
PopupButton {
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ ListView {
|
|||
property ChatGui chat
|
||||
property color backgroundColor
|
||||
signal showReactionsForMessageRequested(ChatMessageGui chatMessage)
|
||||
signal showImdnStatusForMessageRequested(ChatMessageGui chatMessage)
|
||||
|
||||
Component.onCompleted: {
|
||||
var index = eventLogProxy.findFirstUnreadIndex()
|
||||
|
|
@ -135,6 +136,7 @@ ListView {
|
|||
|
||||
onMessageDeletionRequested: modelData.core.lDelete()
|
||||
onShowReactionsForMessageRequested: mainItem.showReactionsForMessageRequested(modelData)
|
||||
onShowImdnStatusForMessageRequested: mainItem.showImdnStatusForMessageRequested(modelData)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -156,6 +156,11 @@ RowLayout {
|
|||
contentLoader.showingMessageReactions = true
|
||||
detailsPanel.visible = true
|
||||
}
|
||||
onShowImdnStatusForMessageRequested: (chatMessage) => {
|
||||
mainItem.chatMessage = chatMessage
|
||||
contentLoader.showingImdnStatus = true
|
||||
detailsPanel.visible = true
|
||||
}
|
||||
|
||||
Popup {
|
||||
id: emojiPickerPopup
|
||||
|
|
@ -322,7 +327,10 @@ RowLayout {
|
|||
visible: false
|
||||
Layout.fillHeight: true
|
||||
Layout.preferredWidth: Math.round(387 * DefaultStyle.dp)
|
||||
onVisibleChanged: if(!visible) contentLoader.showingMessageReactions = false
|
||||
onVisibleChanged: if(!visible) {
|
||||
contentLoader.showingMessageReactions = false
|
||||
contentLoader.showingImdnStatus = false
|
||||
}
|
||||
|
||||
background: Rectangle {
|
||||
color: DefaultStyle.grey_0
|
||||
|
|
@ -332,13 +340,16 @@ RowLayout {
|
|||
contentItem: Loader {
|
||||
id: contentLoader
|
||||
property bool showingMessageReactions: false
|
||||
property bool showingImdnStatus: false
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: Math.round(39 * DefaultStyle.dp)
|
||||
sourceComponent: showingMessageReactions
|
||||
? messageReactionsComponent
|
||||
: mainItem.chat.core.isGroupChat
|
||||
? groupInfoComponent
|
||||
: oneToOneInfoComponent
|
||||
: showingImdnStatus
|
||||
? messageImdnStatusComponent
|
||||
: mainItem.chat.core.isGroupChat
|
||||
? groupInfoComponent
|
||||
: oneToOneInfoComponent
|
||||
active: detailsPanel.visible
|
||||
onLoaded: {
|
||||
if (contentLoader.item) {
|
||||
|
|
@ -371,5 +382,15 @@ RowLayout {
|
|||
}
|
||||
}
|
||||
}
|
||||
Component {
|
||||
id: messageImdnStatusComponent
|
||||
MessageImdnStatusInfos {
|
||||
chatMessageGui: mainItem.chatMessage
|
||||
onGoBackRequested: {
|
||||
detailsPanel.visible = false
|
||||
mainItem.chatMessage = null
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
74
Linphone/view/Page/Layout/Chat/MessageImdnStatusInfos.qml
Normal file
74
Linphone/view/Page/Layout/Chat/MessageImdnStatusInfos.qml
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
import QtCore
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import Linphone
|
||||
import UtilsCpp
|
||||
|
||||
MessageInfosLayout {
|
||||
id: mainItem
|
||||
spacing: Math.round(25 * DefaultStyle.dp)
|
||||
//: Message status
|
||||
title: qsTr("message_details_status_title")
|
||||
tabbarModel: chatMessageGui ? chatMessageGui.core.imdnStatusListAsString : []
|
||||
listModel: ImdnStatusProxy {
|
||||
imdnStatusList: chatMessageGui ? chatMessageGui.core.imdnStatusList : []
|
||||
filter: chatMessageGui ? chatMessageGui.core.imdnStatusAsSingletons[mainItem.tabbar.currentIndex].state : ""
|
||||
}
|
||||
|
||||
listView.delegate: Item {
|
||||
id: listDelegate
|
||||
width: listView.width
|
||||
height: delegateIn.implicitHeight
|
||||
property var contactObj: modelData ? UtilsCpp.findFriendByAddress(modelData.address) : null
|
||||
property FriendGui contact: contactObj && contactObj.value || null
|
||||
property var nameObj: modelData ? UtilsCpp.getDisplayName(modelData.address) : null
|
||||
property string updateTime: UtilsCpp.isCurrentDay(modelData.lastUpdatedTime)
|
||||
? UtilsCpp.toTimeString(modelData.lastUpdatedTime, "hh:mm")
|
||||
: UtilsCpp.formatDate(modelData.lastUpdatedTime, true)
|
||||
RowLayout {
|
||||
id: delegateIn
|
||||
anchors.fill: parent
|
||||
spacing: Math.round(16 * DefaultStyle.dp)
|
||||
Avatar {
|
||||
Layout.alignment: Qt.AlignHCenter
|
||||
contact: listDelegate.contact
|
||||
displayNameVal: contact
|
||||
? ""
|
||||
: nameObj
|
||||
? nameObj.value
|
||||
: ""
|
||||
Layout.preferredWidth: Math.round(45 * DefaultStyle.dp)
|
||||
Layout.preferredHeight: Math.round(45 * DefaultStyle.dp)
|
||||
}
|
||||
ColumnLayout {
|
||||
spacing: 0
|
||||
Text {
|
||||
text: nameObj?.value || ""
|
||||
font {
|
||||
pixelSize: Typography.p1.pixelSize
|
||||
weight: Typography.p1.weight
|
||||
}
|
||||
}
|
||||
Text {
|
||||
visible: listDelegate.contact
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
Layout.fillWidth: true
|
||||
text: listDelegate.contact ? listDelegate.contact.core.presenceStatus : ""
|
||||
color: listDelegate.contact ? listDelegate.contact.core.presenceColor : 'transparent'
|
||||
font {
|
||||
pixelSize: Typography.p3.pixelSize
|
||||
weight: Typography.p3.weight
|
||||
}
|
||||
}
|
||||
}
|
||||
Item{Layout.fillWidth: true}
|
||||
Text {
|
||||
text: listDelegate.updateTime
|
||||
font {
|
||||
pixelSize: Typography.p3.pixelSize
|
||||
weight: Typography.p3.weight
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
63
Linphone/view/Page/Layout/Chat/MessageInfosLayout.qml
Normal file
63
Linphone/view/Page/Layout/Chat/MessageInfosLayout.qml
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
import QtCore
|
||||
import QtQuick
|
||||
import QtQuick.Controls.Basic as Control
|
||||
import QtQuick.Dialogs
|
||||
import QtQuick.Effects
|
||||
import QtQuick.Layouts
|
||||
import Linphone
|
||||
import UtilsCpp
|
||||
import SettingsCpp
|
||||
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
|
||||
|
||||
ColumnLayout {
|
||||
id: mainItem
|
||||
|
||||
property string title
|
||||
property ChatMessageGui chatMessageGui
|
||||
property var tabbarModel
|
||||
property var listModel
|
||||
property var listDelegate
|
||||
property alias tabbar: tabbar
|
||||
property alias listView: listView
|
||||
property var parentView
|
||||
|
||||
spacing: Math.round(25 * DefaultStyle.dp)
|
||||
|
||||
signal goBackRequested()
|
||||
|
||||
RowLayout {
|
||||
BigButton {
|
||||
icon.source: AppIcons.leftArrow
|
||||
style: ButtonStyle.noBackground
|
||||
onClicked: mainItem.goBackRequested()
|
||||
}
|
||||
Text {
|
||||
text: mainItem.title
|
||||
font {
|
||||
pixelSize: Typography.h4.pixelSize
|
||||
weight: Typography.h4.weight
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ColumnLayout {
|
||||
spacing: Math.round(21 * DefaultStyle.dp)
|
||||
Layout.leftMargin: Math.round(16 * DefaultStyle.dp)
|
||||
Layout.rightMargin: Math.round(16 * DefaultStyle.dp)
|
||||
TabBar {
|
||||
id: tabbar
|
||||
Layout.fillWidth: true
|
||||
model: mainItem.tabbarModel
|
||||
pixelSize: Typography.h3m.pixelSize
|
||||
textWeight: Typography.h3m.weight
|
||||
}
|
||||
|
||||
ListView {
|
||||
id: listView
|
||||
Layout.fillWidth: true
|
||||
Layout.fillHeight: true
|
||||
spacing: Math.round(11 * DefaultStyle.dp)
|
||||
model: mainItem.listModel
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,118 +1,77 @@
|
|||
import QtCore
|
||||
import QtQuick
|
||||
import QtQuick.Controls.Basic as Control
|
||||
import QtQuick.Dialogs
|
||||
import QtQuick.Effects
|
||||
import QtQuick.Layouts
|
||||
import Linphone
|
||||
import UtilsCpp
|
||||
import SettingsCpp
|
||||
import 'qrc:/qt/qml/Linphone/view/Style/buttonStyle.js' as ButtonStyle
|
||||
|
||||
ColumnLayout {
|
||||
MessageInfosLayout {
|
||||
id: mainItem
|
||||
property ChatMessageGui chatMessageGui
|
||||
property var parentView
|
||||
spacing: Math.round(25 * DefaultStyle.dp)
|
||||
|
||||
signal goBackRequested()
|
||||
|
||||
RowLayout {
|
||||
BigButton {
|
||||
icon.source: AppIcons.leftArrow
|
||||
style: ButtonStyle.noBackground
|
||||
onClicked: mainItem.goBackRequested()
|
||||
}
|
||||
Text {
|
||||
//: Message status
|
||||
text: qsTr("message_details_status title")
|
||||
font {
|
||||
pixelSize: Typography.h4.pixelSize
|
||||
weight: Typography.h4.weight
|
||||
}
|
||||
}
|
||||
//: Reactions
|
||||
title: qsTr("message_details_reactions_title")
|
||||
tabbarModel: chatMessageGui ? chatMessageGui.core.reactionsSingletonAsStrings : []
|
||||
listModel: EmojiProxy {
|
||||
reactions: chatMessageGui ? chatMessageGui.core.reactions : []
|
||||
// First index of reactionsSingletonAsStrings list is all reactions combined which does not appear
|
||||
// in reactionsSingleton list
|
||||
filter: tabbar.currentIndex >=1 && chatMessageGui && chatMessageGui.core.reactionsSingleton[tabbar.currentIndex-1].body || ""
|
||||
}
|
||||
|
||||
ColumnLayout {
|
||||
spacing: Math.round(11 * DefaultStyle.dp)
|
||||
Layout.leftMargin: Math.round(16 * DefaultStyle.dp)
|
||||
Layout.rightMargin: Math.round(16 * DefaultStyle.dp)
|
||||
TabBar {
|
||||
id: tabbar
|
||||
Layout.fillWidth: true
|
||||
model: mainItem.chatMessageGui ? mainItem.chatMessageGui.core.reactionsSingletonAsStrings : []
|
||||
pixelSize: Typography.h3m.pixelSize
|
||||
textWeight: Typography.h3m.weight
|
||||
listView.delegate: Item {
|
||||
width: listView.width
|
||||
height: delegateIn.implicitHeight
|
||||
property var contactObj: modelData ? UtilsCpp.findFriendByAddress(modelData.address) : null
|
||||
property var nameObj: modelData ? UtilsCpp.getDisplayName(modelData.address) : null
|
||||
property var isMeObj: modelData ? UtilsCpp.isMe(modelData.address) : null
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
enabled: isMeObj && isMeObj.value
|
||||
cursorShape: containsMouse ? Qt.PointingHandCursor : Qt.ArrowCursor
|
||||
hoverEnabled: true
|
||||
onClicked: mainItem.chatMessageGui.core.lRemoveReaction()
|
||||
}
|
||||
|
||||
ListView {
|
||||
id: reactionsList
|
||||
Layout.fillWidth: true
|
||||
Layout.fillHeight: true
|
||||
spacing: Math.round(11 * DefaultStyle.dp)
|
||||
model: EmojiProxy {
|
||||
reactions: mainItem.chatMessageGui ? mainItem.chatMessageGui.core.reactions : []
|
||||
// First index of reactionsSingletonAsStrings list is all reactions combined which does not appear
|
||||
// in reactionsSingleton list
|
||||
filter: tabbar.currentIndex >=1 && mainItem.chatMessageGui && mainItem.chatMessageGui.core.reactionsSingleton[tabbar.currentIndex-1].body || ""
|
||||
RowLayout {
|
||||
id: delegateIn
|
||||
anchors.fill: parent
|
||||
spacing: Math.round(16 * DefaultStyle.dp)
|
||||
Avatar {
|
||||
Layout.alignment: Qt.AlignHCenter
|
||||
contact: contactObj?.value || null
|
||||
displayNameVal: contact
|
||||
? ""
|
||||
: nameObj
|
||||
? nameObj.value
|
||||
: ""
|
||||
Layout.preferredWidth: Math.round(45 * DefaultStyle.dp)
|
||||
Layout.preferredHeight: Math.round(45 * DefaultStyle.dp)
|
||||
}
|
||||
delegate: Item {
|
||||
width: reactionsList.width
|
||||
height: delegateIn.implicitHeight
|
||||
property var contactObj: modelData ? UtilsCpp.findFriendByAddress(modelData.address) : null
|
||||
property var nameObj: modelData ? UtilsCpp.getDisplayName(modelData.address) : null
|
||||
property var isMeObj: modelData ? UtilsCpp.isMe(modelData.address) : null
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
enabled: isMeObj && isMeObj.value
|
||||
cursorShape: containsMouse ? Qt.PointingHandCursor : Qt.ArrowCursor
|
||||
hoverEnabled: true
|
||||
onClicked: mainItem.chatMessageGui.core.lRemoveReaction()
|
||||
ColumnLayout {
|
||||
Text {
|
||||
text: nameObj?.value || ""
|
||||
font {
|
||||
pixelSize: Typography.p1.pixelSize
|
||||
weight: Typography.p1.weight
|
||||
}
|
||||
}
|
||||
RowLayout {
|
||||
id: delegateIn
|
||||
anchors.fill: parent
|
||||
spacing: Math.round(16 * DefaultStyle.dp)
|
||||
Avatar {
|
||||
Layout.alignment: Qt.AlignHCenter
|
||||
contact: contactObj?.value || null
|
||||
displayNameVal: contact
|
||||
? ""
|
||||
: nameObj
|
||||
? nameObj.value
|
||||
: ""
|
||||
Layout.preferredWidth: Math.round(45 * DefaultStyle.dp)
|
||||
Layout.preferredHeight: Math.round(45 * DefaultStyle.dp)
|
||||
}
|
||||
ColumnLayout {
|
||||
Text {
|
||||
text: nameObj?.value || ""
|
||||
font {
|
||||
pixelSize: Typography.p1.pixelSize
|
||||
weight: Typography.p1.weight
|
||||
}
|
||||
}
|
||||
Text {
|
||||
visible: isMeObj && isMeObj.value
|
||||
//: Click to delete
|
||||
text: qsTr("click_to_delete_reaction_info")
|
||||
color: DefaultStyle.main2_400
|
||||
font {
|
||||
pixelSize: Typography.p3.pixelSize
|
||||
weight: Typography.p3.weight
|
||||
}
|
||||
}
|
||||
}
|
||||
Item{Layout.fillWidth: true}
|
||||
Text {
|
||||
text: UtilsCpp.encodeEmojiToQmlRichFormat(modelData.body)
|
||||
font {
|
||||
pixelSize: Typography.h3.pixelSize
|
||||
weight: Typography.p3.weight
|
||||
}
|
||||
Text {
|
||||
visible: isMeObj && isMeObj.value
|
||||
//: Click to delete
|
||||
text: qsTr("click_to_delete_reaction_info")
|
||||
color: DefaultStyle.main2_400
|
||||
font {
|
||||
pixelSize: Typography.p3.pixelSize
|
||||
weight: Typography.p3.weight
|
||||
}
|
||||
}
|
||||
}
|
||||
Item{Layout.fillWidth: true}
|
||||
Text {
|
||||
text: UtilsCpp.encodeEmojiToQmlRichFormat(modelData.body)
|
||||
font {
|
||||
pixelSize: Typography.h3.pixelSize
|
||||
weight: Typography.p3.weight
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue