Improve URL/open-with handler (hopefully)
This commit is contained in:
parent
0d01ad0b22
commit
90b0a40824
4 changed files with 122 additions and 103 deletions
|
@ -4,3 +4,7 @@ X-Nemo-Application-Type=generic
|
||||||
Icon=harbour-fernschreiber
|
Icon=harbour-fernschreiber
|
||||||
Exec=harbour-fernschreiber
|
Exec=harbour-fernschreiber
|
||||||
Name=Fernschreiber
|
Name=Fernschreiber
|
||||||
|
MimeType=x-url-handler/t.me;x-scheme-handler/tg;
|
||||||
|
X-Maemo-Service=de.ygriega.fernschreiber
|
||||||
|
X-Maemo-Object-Path=/de/ygriega/fernschreiber
|
||||||
|
X-Maemo-Method=de.ygriega.fernschreiber.openUrl
|
||||||
|
|
|
@ -369,8 +369,25 @@ function enhanceMessageText(formattedText, ignoreEntities) {
|
||||||
return messageText;
|
return messageText;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function handleTMeLink(link, usedPrefix) {
|
||||||
|
if (link.indexOf("joinchat") !== -1) {
|
||||||
|
Debug.log("Joining Chat: ", link);
|
||||||
|
tdLibWrapper.joinChatByInviteLink(link);
|
||||||
|
// Do the necessary stuff to open the chat if successful
|
||||||
|
// Fail with nice error message if it doesn't work
|
||||||
|
} else {
|
||||||
|
Debug.log("Search public chat: ", link.substring(usedPrefix.length));
|
||||||
|
tdLibWrapper.searchPublicChat(link.substring(usedPrefix.length), true);
|
||||||
|
// Check responses for updateBasicGroup or updateSupergroup
|
||||||
|
// Fire createBasicGroupChat or createSupergroupChat
|
||||||
|
// Do the necessary stuff to open the chat
|
||||||
|
// Fail with nice error message if chat can't be found
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function handleLink(link) {
|
function handleLink(link) {
|
||||||
var tMePrefix = tdLibWrapper.getOptionString("t_me_url");
|
var tMePrefix = tdLibWrapper.getOptionString("t_me_url");
|
||||||
|
var tMePrefixHttp = tMePrefix.replace('https', 'http');
|
||||||
if (link.indexOf("user://") === 0) {
|
if (link.indexOf("user://") === 0) {
|
||||||
var userName = link.substring(8);
|
var userName = link.substring(8);
|
||||||
var userInformation = tdLibWrapper.getUserInformationByName(userName);
|
var userInformation = tdLibWrapper.getUserInformationByName(userName);
|
||||||
|
@ -392,19 +409,9 @@ function handleLink(link) {
|
||||||
return link.substring(13);
|
return link.substring(13);
|
||||||
} else {
|
} else {
|
||||||
if (link.indexOf(tMePrefix) === 0) {
|
if (link.indexOf(tMePrefix) === 0) {
|
||||||
if (link.indexOf("joinchat") !== -1) {
|
handleTMeLink(link, tMePrefix);
|
||||||
Debug.log("Joining Chat: ", link);
|
} else if (link.indexOf(tMePrefixHttp) === 0) {
|
||||||
tdLibWrapper.joinChatByInviteLink(link);
|
handleTMeLink(link, tMePrefixHttp);
|
||||||
// Do the necessary stuff to open the chat if successful
|
|
||||||
// Fail with nice error message if it doesn't work
|
|
||||||
} else {
|
|
||||||
Debug.log("Search public chat: ", link.substring(tMePrefix.length));
|
|
||||||
tdLibWrapper.searchPublicChat(link.substring(tMePrefix.length), true);
|
|
||||||
// Check responses for updateBasicGroup or updateSupergroup
|
|
||||||
// Fire createBasicGroupChat or createSupergroupChat
|
|
||||||
// Do the necessary stuff to open the chat
|
|
||||||
// Fail with nice error message if chat can't be found
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
Qt.openUrlExternally(link);
|
Qt.openUrlExternally(link);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1881,39 +1881,47 @@ void TDLibWrapper::setLogVerbosityLevel()
|
||||||
|
|
||||||
void TDLibWrapper::initializeOpenWith()
|
void TDLibWrapper::initializeOpenWith()
|
||||||
{
|
{
|
||||||
LOG("Initialize open-with");
|
LOG("Initialize open-with");LOG("Checking standard open URL file...");
|
||||||
LOG("Checking standard open URL file...");
|
|
||||||
const QString applicationsLocation(QStandardPaths::writableLocation(QStandardPaths::ApplicationsLocation));
|
const QString applicationsLocation(QStandardPaths::writableLocation(QStandardPaths::ApplicationsLocation));
|
||||||
const QString openUrlFilePath(applicationsLocation + "/open-url.desktop");
|
const QString openUrlFilePath(applicationsLocation + "/open-url.desktop");
|
||||||
if (QFile::exists(openUrlFilePath)) {
|
if (QFile::exists(openUrlFilePath)) {
|
||||||
LOG("Standard open URL file exists, good!");
|
LOG("Old open URL file exists, that needs to go away...!");
|
||||||
} else {
|
QFile::remove(openUrlFilePath);
|
||||||
LOG("Copying standard open URL file to " << openUrlFilePath);
|
}
|
||||||
QFile::copy("/usr/share/applications/open-url.desktop", openUrlFilePath);
|
const QString sailfishBrowserFilePath(applicationsLocation + "/sailfish-browser.desktop");
|
||||||
QProcess::startDetached("update-desktop-database " + applicationsLocation);
|
if (!QFile::exists(sailfishBrowserFilePath)) {
|
||||||
|
LOG("Copying standard Sailfish Browser desktop file to " << sailfishBrowserFilePath);
|
||||||
|
if (QFile::copy("/usr/share/applications/sailfish-browser.desktop", sailfishBrowserFilePath)) {
|
||||||
|
LOG("Standard Sailfish Browser desktop file successfully copied to " << sailfishBrowserFilePath);
|
||||||
|
QProcess::startDetached("update-desktop-database " + applicationsLocation);
|
||||||
|
} else {
|
||||||
|
LOG("ERROR copying standard Sailfish Browser desktop file to " << sailfishBrowserFilePath);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const QString desktopFilePath(applicationsLocation + "/harbour-fernschreiber-open-url.desktop");
|
const QString desktopFilePath(applicationsLocation + "/harbour-fernschreiber-open-url.desktop");
|
||||||
QFile desktopFile(desktopFilePath);
|
QFile desktopFile(desktopFilePath);
|
||||||
if (!desktopFile.exists()) {
|
if (desktopFile.exists()) {
|
||||||
LOG("Creating Open-With file at " << desktopFile.fileName());
|
LOG("Fernschreiber open-with file existing, removing and re-creating...");
|
||||||
if (desktopFile.open(QIODevice::WriteOnly | QIODevice::Text)) {
|
desktopFile.remove();
|
||||||
QTextStream fileOut(&desktopFile);
|
}
|
||||||
fileOut.setCodec("UTF-8");
|
LOG("Creating Fernschreiber open-with file at " << desktopFile.fileName());
|
||||||
fileOut << QString("[Desktop Entry]").toUtf8() << "\n";
|
if (desktopFile.open(QIODevice::WriteOnly | QIODevice::Text)) {
|
||||||
fileOut << QString("Type=Application").toUtf8() << "\n";
|
QTextStream fileOut(&desktopFile);
|
||||||
fileOut << QString("Name=Fernschreiber").toUtf8() << "\n";
|
fileOut.setCodec("UTF-8");
|
||||||
fileOut << QString("Icon=harbour-fernschreiber").toUtf8() << "\n";
|
fileOut << QString("[Desktop Entry]").toUtf8() << "\n";
|
||||||
fileOut << QString("NotShowIn=X-MeeGo;").toUtf8() << "\n";
|
fileOut << QString("Type=Application").toUtf8() << "\n";
|
||||||
fileOut << QString("MimeType=text/html;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/tg;").toUtf8() << "\n";
|
fileOut << QString("Name=Fernschreiber").toUtf8() << "\n";
|
||||||
fileOut << QString("X-Maemo-Service=de.ygriega.fernschreiber").toUtf8() << "\n";
|
fileOut << QString("Icon=harbour-fernschreiber").toUtf8() << "\n";
|
||||||
fileOut << QString("X-Maemo-Object-Path=/de/ygriega/fernschreiber").toUtf8() << "\n";
|
fileOut << QString("NotShowIn=X-MeeGo;").toUtf8() << "\n";
|
||||||
fileOut << QString("X-Maemo-Method=de.ygriega.fernschreiber.openUrl").toUtf8() << "\n";
|
fileOut << QString("MimeType=x-url-handler/t.me;x-scheme-handler/tg;").toUtf8() << "\n";
|
||||||
fileOut << QString("Hidden=true;").toUtf8() << "\n";
|
fileOut << QString("X-Maemo-Service=de.ygriega.fernschreiber").toUtf8() << "\n";
|
||||||
fileOut.flush();
|
fileOut << QString("X-Maemo-Object-Path=/de/ygriega/fernschreiber").toUtf8() << "\n";
|
||||||
desktopFile.close();
|
fileOut << QString("X-Maemo-Method=de.ygriega.fernschreiber.openUrl").toUtf8() << "\n";
|
||||||
QProcess::startDetached("update-desktop-database " + applicationsLocation);
|
fileOut << QString("Hidden=true;").toUtf8() << "\n";
|
||||||
}
|
fileOut.flush();
|
||||||
|
desktopFile.close();
|
||||||
|
QProcess::startDetached("update-desktop-database " + applicationsLocation);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString dbusPathName = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + "/dbus-1/services";
|
QString dbusPathName = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + "/dbus-1/services";
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Terms of Service</source>
|
<source>Terms of Service</source>
|
||||||
<translation>Conditions d'utilisation</translation>
|
<translation>Conditions d'utilisation</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Privacy Policy</source>
|
<source>Privacy Policy</source>
|
||||||
|
@ -37,7 +37,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>This project uses the Telegram Database Library (TDLib). Thanks for making it available under the conditions of the Boost Software License 1.0!</source>
|
<source>This project uses the Telegram Database Library (TDLib). Thanks for making it available under the conditions of the Boost Software License 1.0!</source>
|
||||||
<translation>Ce projet utilise Telegram Database Library (TDLib). Merci de l'avoir distribuée sous les conditions de la Boost Software Licences 1.0 !</translation>
|
<translation>Ce projet utilise Telegram Database Library (TDLib). Merci de l'avoir distribuée sous les conditions de la Boost Software Licences 1.0 !</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Open Telegram Database Library on GitHub</source>
|
<source>Open Telegram Database Library on GitHub</source>
|
||||||
|
@ -49,7 +49,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>This product uses the Telegram API but is not endorsed or certified by Telegram.</source>
|
<source>This product uses the Telegram API but is not endorsed or certified by Telegram.</source>
|
||||||
<translation>Ce produit utilise l'API de Telegram, mais n'est ni appuyé ni certifié par Telegram.</translation>
|
<translation>Ce produit utilise l'API de Telegram, mais n'est ni appuyé ni certifié par Telegram.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>TDLib version %1</source>
|
<source>TDLib version %1</source>
|
||||||
|
@ -65,7 +65,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>This project uses twemoji. Copyright 2018 Twitter, Inc. and other contributors. Thanks for making it available under the conditions of the MIT License (coding) and CC-BY 4.0 (graphics)!</source>
|
<source>This project uses twemoji. Copyright 2018 Twitter, Inc. and other contributors. Thanks for making it available under the conditions of the MIT License (coding) and CC-BY 4.0 (graphics)!</source>
|
||||||
<translation>Ce projet utilise twemoji. Copyright 2018 Twitter, Inc. et autres contributeurs. Merci de l'avoir distribué sous les conditions de la licence MIT (code) et CC-BY 4.0 (graphismes) !</translation>
|
<translation>Ce projet utilise twemoji. Copyright 2018 Twitter, Inc. et autres contributeurs. Merci de l'avoir distribué sous les conditions de la licence MIT (code) et CC-BY 4.0 (graphismes) !</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Open twemoji on GitHub</source>
|
<source>Open twemoji on GitHub</source>
|
||||||
|
@ -77,7 +77,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>This project uses rlottie. Copyright 2020 Samsung Electronics Co., Ltd. and other contributors. Thanks for making it available under the conditions of the MIT License!</source>
|
<source>This project uses rlottie. Copyright 2020 Samsung Electronics Co., Ltd. and other contributors. Thanks for making it available under the conditions of the MIT License!</source>
|
||||||
<translation>Ce projet utilise rlottie. Copyright 2020 Samsung Electronics Co., Ltd. et autres contributeurs. Merci de l'avoir distribué sous les conditions de la licence MIT !</translation>
|
<translation>Ce projet utilise rlottie. Copyright 2020 Samsung Electronics Co., Ltd. et autres contributeurs. Merci de l'avoir distribué sous les conditions de la licence MIT !</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Open rlottie on GitHub</source>
|
<source>Open rlottie on GitHub</source>
|
||||||
|
@ -97,7 +97,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>This project uses OpenStreetMap Nominatim for reverse geocoding of location attachments. Thanks for making it available as web service!</source>
|
<source>This project uses OpenStreetMap Nominatim for reverse geocoding of location attachments. Thanks for making it available as web service!</source>
|
||||||
<translation>Ce projet utilise OpenStreetMap Nominatim pour du géocodage inversé des pièces jointes de localisation. Merci de l'avoir mis à disposition en tant que service web !</translation>
|
<translation>Ce projet utilise OpenStreetMap Nominatim pour du géocodage inversé des pièces jointes de localisation. Merci de l'avoir mis à disposition en tant que service web !</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Open OSM Nominatim Wiki</source>
|
<source>Open OSM Nominatim Wiki</source>
|
||||||
|
@ -193,7 +193,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>There is no information text available, yet.</source>
|
<source>There is no information text available, yet.</source>
|
||||||
<translation>Aucun texte informatif pour l'instant.</translation>
|
<translation>Aucun texte informatif pour l'instant.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Info</source>
|
<source>Info</source>
|
||||||
|
@ -208,11 +208,11 @@
|
||||||
<message>
|
<message>
|
||||||
<source>Invite Link</source>
|
<source>Invite Link</source>
|
||||||
<comment>header</comment>
|
<comment>header</comment>
|
||||||
<translation>Lien d'invitation</translation>
|
<translation>Lien d'invitation</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>The Invite Link has been copied to the clipboard.</source>
|
<source>The Invite Link has been copied to the clipboard.</source>
|
||||||
<translation>Le lien d'invitation a été copié dans le presse-papiers.</translation>
|
<translation>Le lien d'invitation a été copié dans le presse-papiers.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>%1, %2</source>
|
<source>%1, %2</source>
|
||||||
|
@ -297,7 +297,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>User Info</source>
|
<source>User Info</source>
|
||||||
<translation>Informations sur l'utilisateur</translation>
|
<translation>Informations sur l'utilisateur</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Group Info</source>
|
<source>Group Info</source>
|
||||||
|
@ -456,7 +456,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>This secret chat is not yet ready. Your chat partner needs to go online first.</source>
|
<source>This secret chat is not yet ready. Your chat partner needs to go online first.</source>
|
||||||
<translation>Cet échange secret n'est pas encore prêt. Votre interlocuteur doit être en ligne</translation>
|
<translation>Cet échange secret n'est pas encore prêt. Votre interlocuteur doit être en ligne</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Closing chat</source>
|
<source>Closing chat</source>
|
||||||
|
@ -531,7 +531,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>You don't have any chats yet.</source>
|
<source>You don't have any chats yet.</source>
|
||||||
<translation>Vous n'avez aucune conversation.</translation>
|
<translation>Vous n'avez aucune conversation.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
@ -542,7 +542,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Waiting for network...</source>
|
<source>Waiting for network...</source>
|
||||||
<translation>En attente d'une connexion…</translation>
|
<translation>En attente d'une connexion…</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Connecting to network...</source>
|
<source>Connecting to network...</source>
|
||||||
|
@ -580,7 +580,7 @@
|
||||||
<message>
|
<message>
|
||||||
<source>Group Member Permissions</source>
|
<source>Group Member Permissions</source>
|
||||||
<comment>what can normal group members do</comment>
|
<comment>what can normal group members do</comment>
|
||||||
<translation>Autorisations d'un membre dans le groupe</translation>
|
<translation>Autorisations d'un membre dans le groupe</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Send Messages</source>
|
<source>Send Messages</source>
|
||||||
|
@ -595,7 +595,7 @@
|
||||||
<message>
|
<message>
|
||||||
<source>Send Other Messages</source>
|
<source>Send Other Messages</source>
|
||||||
<comment>member permission</comment>
|
<comment>member permission</comment>
|
||||||
<translation>Envoyer d'autres types de messages</translation>
|
<translation>Envoyer d'autres types de messages</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Add Web Page Previews</source>
|
<source>Add Web Page Previews</source>
|
||||||
|
@ -697,11 +697,11 @@
|
||||||
<message>
|
<message>
|
||||||
<source>have registered with Telegram</source>
|
<source>have registered with Telegram</source>
|
||||||
<comment>myself</comment>
|
<comment>myself</comment>
|
||||||
<translation>s'est enregistré avec Telegram</translation>
|
<translation>s'est enregistré avec Telegram</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>has registered with Telegram</source>
|
<source>has registered with Telegram</source>
|
||||||
<translation>s'est enregistré avec Telegram</translation>
|
<translation>s'est enregistré avec Telegram</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>joined this chat</source>
|
<source>joined this chat</source>
|
||||||
|
@ -805,11 +805,11 @@
|
||||||
<message>
|
<message>
|
||||||
<source>changed the secret chat TTL setting</source>
|
<source>changed the secret chat TTL setting</source>
|
||||||
<comment>myself</comment>
|
<comment>myself</comment>
|
||||||
<translation>a changé la durée de vie de l'échange secret</translation>
|
<translation>a changé la durée de vie de l'échange secret</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>changed the secret chat TTL setting</source>
|
<source>changed the secret chat TTL setting</source>
|
||||||
<translation>a changé la durée de vie de l'échange secret</translation>
|
<translation>a changé la durée de vie de l'échange secret</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>upgraded this group to a supergroup</source>
|
<source>upgraded this group to a supergroup</source>
|
||||||
|
@ -828,11 +828,11 @@
|
||||||
<message>
|
<message>
|
||||||
<source>created a screenshot in this chat</source>
|
<source>created a screenshot in this chat</source>
|
||||||
<comment>myself</comment>
|
<comment>myself</comment>
|
||||||
<translation>a créé une capture d'écran de cette conversation</translation>
|
<translation>a créé une capture d'écran de cette conversation</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>created a screenshot in this chat</source>
|
<source>created a screenshot in this chat</source>
|
||||||
<translation>a créé une capture d'écran de cette conversation</translation>
|
<translation>a créé une capture d'écran de cette conversation</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>sent an unsupported message</source>
|
<source>sent an unsupported message</source>
|
||||||
|
@ -854,16 +854,16 @@
|
||||||
<message>
|
<message>
|
||||||
<source>sent a self-destructing photo that is expired</source>
|
<source>sent a self-destructing photo that is expired</source>
|
||||||
<comment>myself</comment>
|
<comment>myself</comment>
|
||||||
<translation>a envoyé une photo s'autodétruisant périmée</translation>
|
<translation>a envoyé une photo s'autodétruisant périmée</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>sent a self-destructing video that is expired</source>
|
<source>sent a self-destructing video that is expired</source>
|
||||||
<comment>myself</comment>
|
<comment>myself</comment>
|
||||||
<translation>a envoyé une vidéo s'autodétruisant périmée</translation>
|
<translation>a envoyé une vidéo s'autodétruisant périmée</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>sent a self-destructing video that is expired</source>
|
<source>sent a self-destructing video that is expired</source>
|
||||||
<translation>a envoyé une vidéo s'autodétruisant périmée</translation>
|
<translation>a envoyé une vidéo s'autodétruisant périmée</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>sent an unsupported message: %1</source>
|
<source>sent an unsupported message: %1</source>
|
||||||
|
@ -872,7 +872,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>sent a self-destructing photo that is expired</source>
|
<source>sent a self-destructing photo that is expired</source>
|
||||||
<translation>a envoyé une photo s'autodétruisant périmée</translation>
|
<translation>a envoyé une photo s'autodétruisant périmée</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>sent an audio</source>
|
<source>sent an audio</source>
|
||||||
|
@ -939,7 +939,7 @@
|
||||||
<name>ImagePage</name>
|
<name>ImagePage</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Download Picture</source>
|
<source>Download Picture</source>
|
||||||
<translation>Télécharger l'image</translation>
|
<translation>Télécharger l'image</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Download of %1 successful.</source>
|
<source>Download of %1 successful.</source>
|
||||||
|
@ -993,7 +993,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Unable to authenticate you with the entered code.</source>
|
<source>Unable to authenticate you with the entered code.</source>
|
||||||
<translation>Impossible de s'authentifier avec le code saisi.</translation>
|
<translation>Impossible de s'authentifier avec le code saisi.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Enter code again</source>
|
<source>Enter code again</source>
|
||||||
|
@ -1001,7 +1001,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Restart authentication</source>
|
<source>Restart authentication</source>
|
||||||
<translation>Redémarrer l'authentification</translation>
|
<translation>Redémarrer l'authentification</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Please enter your password:</source>
|
<source>Please enter your password:</source>
|
||||||
|
@ -1009,7 +1009,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>User Registration</source>
|
<source>User Registration</source>
|
||||||
<translation>Enregistrement de l'utilisateur</translation>
|
<translation>Enregistrement de l'utilisateur</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Enter your First Name</source>
|
<source>Enter your First Name</source>
|
||||||
|
@ -1021,7 +1021,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Register User</source>
|
<source>Register User</source>
|
||||||
<translation>Enregistrement de l'utilisateur</translation>
|
<translation>Enregistrement de l'utilisateur</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Use the international format, e.g. %1</source>
|
<source>Use the international format, e.g. %1</source>
|
||||||
|
@ -1056,7 +1056,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>More Options...</source>
|
<source>More Options...</source>
|
||||||
<translation>Plus d'options…</translation>
|
<translation>Plus d'options…</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
@ -1096,7 +1096,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>This message was forwarded. Original author: %1</source>
|
<source>This message was forwarded. Original author: %1</source>
|
||||||
<translation>Ce message a été transféré. Auteur d'origine : %1</translation>
|
<translation>Ce message a été transféré. Auteur d'origine : %1</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
@ -1157,7 +1157,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>You don't have any contacts.</source>
|
<source>You don't have any contacts.</source>
|
||||||
<translation>Vous n'avez aucun contact.</translation>
|
<translation>Vous n'avez aucun contact.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Private Chat</source>
|
<source>Private Chat</source>
|
||||||
|
@ -1242,7 +1242,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>You don't have any chats yet.</source>
|
<source>You don't have any chats yet.</source>
|
||||||
<translation>Vous n'avez aucune conversation.</translation>
|
<translation>Vous n'avez aucune conversation.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>New Chat</source>
|
<source>New Chat</source>
|
||||||
|
@ -1378,7 +1378,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Quizzes have one correct answer. Participants can't revoke their responses.</source>
|
<source>Quizzes have one correct answer. Participants can't revoke their responses.</source>
|
||||||
<translation>Une seule réponse pour le quiz. Impossible d'annuler la réponse.</translation>
|
<translation>Une seule réponse pour le quiz. Impossible d'annuler la réponse.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Enter an optional explanation</source>
|
<source>Enter an optional explanation</source>
|
||||||
|
@ -1386,11 +1386,11 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Shown when the user selects a wrong answer.</source>
|
<source>Shown when the user selects a wrong answer.</source>
|
||||||
<translation>Aficher quand l'utilisateur sélectionne une réponse erronée.</translation>
|
<translation>Aficher quand l'utilisateur sélectionne une réponse erronée.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>An explanation can be up to 200 characters long.</source>
|
<source>An explanation can be up to 200 characters long.</source>
|
||||||
<translation>Une explication peut comporter jusqu'à 200 caractères.</translation>
|
<translation>Une explication peut comporter jusqu'à 200 caractères.</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
@ -1512,7 +1512,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Only display emojis instead of the actual stickers</source>
|
<source>Only display emojis instead of the actual stickers</source>
|
||||||
<translation>Afficher uniquement les emojis au lieu d'un autocollant</translation>
|
<translation>Afficher uniquement les emojis au lieu d'un autocollant</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Show stickers as images</source>
|
<source>Show stickers as images</source>
|
||||||
|
@ -1520,7 +1520,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Show background for stickers and align them centrally like images</source>
|
<source>Show background for stickers and align them centrally like images</source>
|
||||||
<translation>Afficher l'arrière-plan pour l'autocollant et l'aligner au centre comme les images</translation>
|
<translation>Afficher l'arrière-plan pour l'autocollant et l'aligner au centre comme les images</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Animate stickers</source>
|
<source>Animate stickers</source>
|
||||||
|
@ -1535,15 +1535,15 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Send message by enter</source>
|
<source>Send message by enter</source>
|
||||||
<translation>Envoyer le message avec la touche d'entrée</translation>
|
<translation>Envoyer le message avec la touche d'entrée</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Send your message by pressing the enter key</source>
|
<source>Send your message by pressing the enter key</source>
|
||||||
<translation>Envoyer votre message en appuyant sur la touche d'entrée</translation>
|
<translation>Envoyer votre message en appuyant sur la touche d'entrée</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Focus text input on chat open</source>
|
<source>Focus text input on chat open</source>
|
||||||
<translation>Focaliser la saisie lorsque la conversation s'ouvre</translation>
|
<translation>Focaliser la saisie lorsque la conversation s'ouvre</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Focus the text input area when entering a chat</source>
|
<source>Focus the text input area when entering a chat</source>
|
||||||
|
@ -1551,11 +1551,11 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Focus text input area after send</source>
|
<source>Focus text input area after send</source>
|
||||||
<translation>Focaliser la zone de saise après l'envoi</translation>
|
<translation>Focaliser la zone de saise après l'envoi</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Focus the text input area after sending a message</source>
|
<source>Focus the text input area after sending a message</source>
|
||||||
<translation>Focaliser la zone de saisie après l'envoi d'un message</translation>
|
<translation>Focaliser la zone de saisie après l'envoi d'un message</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Delay before marking messages as read</source>
|
<source>Delay before marking messages as read</source>
|
||||||
|
@ -1595,7 +1595,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Notification turns on the display</source>
|
<source>Notification turns on the display</source>
|
||||||
<translation>Notification allume l'écran</translation>
|
<translation>Notification allume l'écran</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Enable notification sounds</source>
|
<source>Enable notification sounds</source>
|
||||||
|
@ -1625,7 +1625,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Privacy setting for managing whether you can be invited to chats.</source>
|
<source>Privacy setting for managing whether you can be invited to chats.</source>
|
||||||
<translation>Paramètre de confidentialité pour configurer l'invitation à une conversation.</translation>
|
<translation>Paramètre de confidentialité pour configurer l'invitation à une conversation.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Yes</source>
|
<source>Yes</source>
|
||||||
|
@ -1653,7 +1653,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Privacy setting for managing whether a link to your account is included in forwarded messages.</source>
|
<source>Privacy setting for managing whether a link to your account is included in forwarded messages.</source>
|
||||||
<translation>Paramètre de confidentialité pour configurer l'inclusion d'un lien vers votre compte dans les messages transférés.</translation>
|
<translation>Paramètre de confidentialité pour configurer l'inclusion d'un lien vers votre compte dans les messages transférés.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Show phone number</source>
|
<source>Show phone number</source>
|
||||||
|
@ -1681,7 +1681,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Allow sending Location to inline bots</source>
|
<source>Allow sending Location to inline bots</source>
|
||||||
<translation>Autoriser l'envoi de localisation aux bots intégrés</translation>
|
<translation>Autoriser l'envoi de localisation aux bots intégrés</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Some inline bots request location data when using them</source>
|
<source>Some inline bots request location data when using them</source>
|
||||||
|
@ -1704,7 +1704,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Enable storage optimizer</source>
|
<source>Enable storage optimizer</source>
|
||||||
<translation>Activer l'optimisation de l'espace de stockage</translation>
|
<translation>Activer l'optimisation de l'espace de stockage</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
@ -1734,7 +1734,7 @@
|
||||||
<message>
|
<message>
|
||||||
<source>Username</source>
|
<source>Username</source>
|
||||||
<comment>user name of the logged-in profile - header</comment>
|
<comment>user name of the logged-in profile - header</comment>
|
||||||
<translation>Nom d'utilisateur</translation>
|
<translation>Nom d'utilisateur</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Profile Pictures</source>
|
<source>Profile Pictures</source>
|
||||||
|
@ -1750,7 +1750,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Deleting profile picture</source>
|
<source>Deleting profile picture</source>
|
||||||
<translation>Supprimer l'image de profil</translation>
|
<translation>Supprimer l'image de profil</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Uploading...</source>
|
<source>Uploading...</source>
|
||||||
|
@ -1765,22 +1765,22 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Removing sticker set</source>
|
<source>Removing sticker set</source>
|
||||||
<translation>Suppression du lot d'autocollants</translation>
|
<translation>Suppression du lot d'autocollants</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Sticker set successfully removed!</source>
|
<source>Sticker set successfully removed!</source>
|
||||||
<translation>Lot d'autocollants supprimés avec succès !</translation>
|
<translation>Lot d'autocollants supprimés avec succès !</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>StickerSetOverlay</name>
|
<name>StickerSetOverlay</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Sticker set successfully installed!</source>
|
<source>Sticker set successfully installed!</source>
|
||||||
<translation>Lot d'autocollants installé avec succès !</translation>
|
<translation>Lot d'autocollants installé avec succès !</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Sticker set successfully removed!</source>
|
<source>Sticker set successfully removed!</source>
|
||||||
<translation>Lot d'autocollants supprimé avec succès!</translation>
|
<translation>Lot d'autocollants supprimé avec succès!</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
@ -1806,7 +1806,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Press the button to start recording</source>
|
<source>Press the button to start recording</source>
|
||||||
<translation>Appuyez sur le bouton pour démarrer l'enregistrement</translation>
|
<translation>Appuyez sur le bouton pour démarrer l'enregistrement</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Unavailable</source>
|
<source>Unavailable</source>
|
||||||
|
@ -1826,7 +1826,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Use recording</source>
|
<source>Use recording</source>
|
||||||
<translation>Utilise l'enregistrement</translation>
|
<translation>Utilise l'enregistrement</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Voice Note (%1)</source>
|
<source>Voice Note (%1)</source>
|
||||||
|
@ -1852,7 +1852,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>has registered with Telegram</source>
|
<source>has registered with Telegram</source>
|
||||||
<translation>s'est inscrit avec Telegram</translation>
|
<translation>s'est inscrit avec Telegram</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Picture: %1</source>
|
<source>Picture: %1</source>
|
||||||
|
@ -1991,7 +1991,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>was never online</source>
|
<source>was never online</source>
|
||||||
<translation>n'a jamais été en ligne</translation>
|
<translation>n'a jamais été en ligne</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>last online: last month</source>
|
<source>last online: last month</source>
|
||||||
|
@ -2124,12 +2124,12 @@
|
||||||
<message>
|
<message>
|
||||||
<source>changed the secret chat TTL setting</source>
|
<source>changed the secret chat TTL setting</source>
|
||||||
<comment>myself; TTL = Time To Live</comment>
|
<comment>myself; TTL = Time To Live</comment>
|
||||||
<translation>a changé le paramètre de durée de vie de l'échange secret</translation>
|
<translation>a changé le paramètre de durée de vie de l'échange secret</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>changed the secret chat TTL setting</source>
|
<source>changed the secret chat TTL setting</source>
|
||||||
<comment>TTL = Time To Live</comment>
|
<comment>TTL = Time To Live</comment>
|
||||||
<translation>a changé le paramètre de durée de vie de l'échange secret</translation>
|
<translation>a changé le paramètre de durée de vie de l'échange secret</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>upgraded this group to a supergroup</source>
|
<source>upgraded this group to a supergroup</source>
|
||||||
|
@ -2148,11 +2148,11 @@
|
||||||
<message>
|
<message>
|
||||||
<source>created a screenshot in this chat</source>
|
<source>created a screenshot in this chat</source>
|
||||||
<comment>myself</comment>
|
<comment>myself</comment>
|
||||||
<translation>a réalisé une capture d'écran de cette conversation</translation>
|
<translation>a réalisé une capture d'écran de cette conversation</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>created a screenshot in this chat</source>
|
<source>created a screenshot in this chat</source>
|
||||||
<translation>a réalisé une capture d'écran de cette conversation</translation>
|
<translation>a réalisé une capture d'écran de cette conversation</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>sent an unsupported message</source>
|
<source>sent an unsupported message</source>
|
||||||
|
@ -2197,7 +2197,7 @@
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Unable to find user %1</source>
|
<source>Unable to find user %1</source>
|
||||||
<translation>Impossible de trouver l'utilisateur %1</translation>
|
<translation>Impossible de trouver l'utilisateur %1</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>sent a video note</source>
|
<source>sent a video note</source>
|
||||||
|
|
Loading…
Reference in a new issue