Compare commits
1 commit
master
...
flatpak-gn
Author | SHA1 | Date | |
---|---|---|---|
f15fb7c4f1 |
|
@ -32,9 +32,9 @@ OS support
|
||||||
------------
|
------------
|
||||||
* Linux (flatpaks are targeted for Ubuntu 22.04+)
|
* Linux (flatpaks are targeted for Ubuntu 22.04+)
|
||||||
* Windows 10\11
|
* Windows 10\11
|
||||||
* MacOS via [brew](https://brew.sh/) (very experimental, see below)
|
* MacOS via [brew](https://brew.sh/) (very experimental!)
|
||||||
|
|
||||||
Officially, we support only x86_64 architecture. Whilst you may be able to compile this code for ARM-based platforms (like Pinephone or MacOS), there's zero guarantees that it'll compile or function properly, as we don't have the hardware and the time to test it out.
|
We only support 64 bit platforms.
|
||||||
|
|
||||||
Installation (prebuilt packages & AUR)
|
Installation (prebuilt packages & AUR)
|
||||||
------------
|
------------
|
||||||
|
|
|
@ -60,11 +60,7 @@
|
||||||
"buildsystem": "cmake-ninja",
|
"buildsystem": "cmake-ninja",
|
||||||
"builddir": true,
|
"builddir": true,
|
||||||
"config-opts": [
|
"config-opts": [
|
||||||
"-DSOUP_VERSION=3",
|
"-DSOUP_VERSION=3"
|
||||||
"-DNO_DEBUG=yes",
|
|
||||||
"-DCMAKE_BUILD_TYPE=Release",
|
|
||||||
"-DENABLED_PLUGINS=notification-sound",
|
|
||||||
"-DPLUGIN_RTP_WEBRTC_AUDIO_PROCESSING=OFF"
|
|
||||||
],
|
],
|
||||||
"cleanup": [
|
"cleanup": [
|
||||||
"/include",
|
"/include",
|
||||||
|
|
|
@ -46,15 +46,6 @@ public class FileManager : StreamInteractionModule, Object {
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
private string sanitize_filename(string filename) {
|
|
||||||
#if _WIN32
|
|
||||||
GLib.Regex regex = new GLib.Regex("[<>:\"/\\|?*]");
|
|
||||||
#else
|
|
||||||
GLib.Regex regex = new GLib.Regex("[/]");
|
|
||||||
#endif
|
|
||||||
return regex.replace(filename, -1, 0, "_");
|
|
||||||
}
|
|
||||||
|
|
||||||
public async void send_file(File file, Conversation conversation) {
|
public async void send_file(File file, Conversation conversation) {
|
||||||
FileTransfer file_transfer = new FileTransfer();
|
FileTransfer file_transfer = new FileTransfer();
|
||||||
file_transfer.account = conversation.account;
|
file_transfer.account = conversation.account;
|
||||||
|
@ -252,7 +243,7 @@ public class FileManager : StreamInteractionModule, Object {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Save file
|
// Save file
|
||||||
string filename = Random.next_int().to_string("%x") + "_" + sanitize_filename(file_transfer.file_name);
|
string filename = Random.next_int().to_string("%x") + "_" + file_transfer.file_name;
|
||||||
File file = File.new_for_path(Path.build_filename(get_storage_dir(), filename));
|
File file = File.new_for_path(Path.build_filename(get_storage_dir(), filename));
|
||||||
|
|
||||||
OutputStream os = file.create(FileCreateFlags.REPLACE_DESTINATION);
|
OutputStream os = file.create(FileCreateFlags.REPLACE_DESTINATION);
|
||||||
|
@ -341,7 +332,7 @@ public class FileManager : StreamInteractionModule, Object {
|
||||||
|
|
||||||
private async void save_file(FileTransfer file_transfer) throws FileSendError {
|
private async void save_file(FileTransfer file_transfer) throws FileSendError {
|
||||||
try {
|
try {
|
||||||
string filename = Random.next_int().to_string("%x") + "_" + sanitize_filename(file_transfer.file_name);
|
string filename = Random.next_int().to_string("%x") + "_" + file_transfer.file_name;
|
||||||
File file = File.new_for_path(Path.build_filename(get_storage_dir(), filename));
|
File file = File.new_for_path(Path.build_filename(get_storage_dir(), filename));
|
||||||
OutputStream os = file.create(FileCreateFlags.REPLACE_DESTINATION);
|
OutputStream os = file.create(FileCreateFlags.REPLACE_DESTINATION);
|
||||||
yield os.splice_async(file_transfer.input_stream, OutputStreamSpliceFlags.CLOSE_SOURCE|OutputStreamSpliceFlags.CLOSE_TARGET);
|
yield os.splice_async(file_transfer.input_stream, OutputStreamSpliceFlags.CLOSE_SOURCE|OutputStreamSpliceFlags.CLOSE_TARGET);
|
||||||
|
|
|
@ -563,7 +563,7 @@ msgstr "Уведомления"
|
||||||
|
|
||||||
#: main/src/ui/contact_details/settings_provider.vala:55
|
#: main/src/ui/contact_details/settings_provider.vala:55
|
||||||
msgid "Pin conversation"
|
msgid "Pin conversation"
|
||||||
msgstr "Закрепить беседу"
|
msgstr ""
|
||||||
|
|
||||||
#: main/src/ui/contact_details/settings_provider.vala:55
|
#: main/src/ui/contact_details/settings_provider.vala:55
|
||||||
msgid "Pins the conversation to the top of the conversation list"
|
msgid "Pins the conversation to the top of the conversation list"
|
||||||
|
@ -826,16 +826,16 @@ msgstr "Прочтите %s, чтобы узнать о процессе авт
|
||||||
|
|
||||||
#: main/src/ui/conversation_content_view/message_widget.vala:213
|
#: main/src/ui/conversation_content_view/message_widget.vala:213
|
||||||
msgid "Edit message"
|
msgid "Edit message"
|
||||||
msgstr "Редактировать сообщение"
|
msgstr ""
|
||||||
|
|
||||||
#: main/src/ui/conversation_content_view/reactions_widget.vala:102
|
#: main/src/ui/conversation_content_view/reactions_widget.vala:102
|
||||||
msgid "You"
|
msgid "You"
|
||||||
msgstr "Вы"
|
msgstr ""
|
||||||
|
|
||||||
#: main/src/ui/conversation_content_view/reactions_widget.vala:128
|
#: main/src/ui/conversation_content_view/reactions_widget.vala:128
|
||||||
#: main/src/ui/conversation_content_view/item_actions.vala:8
|
#: main/src/ui/conversation_content_view/item_actions.vala:8
|
||||||
msgid "Add reaction"
|
msgid "Add reaction"
|
||||||
msgstr "Добавить реакцию"
|
msgstr ""
|
||||||
|
|
||||||
#: main/src/ui/conversation_content_view/file_image_widget.vala:53
|
#: main/src/ui/conversation_content_view/file_image_widget.vala:53
|
||||||
#: main/src/ui/conversation_content_view/file_default_widget.vala:57
|
#: main/src/ui/conversation_content_view/file_default_widget.vala:57
|
||||||
|
@ -947,7 +947,7 @@ msgstr "несколько секунд"
|
||||||
|
|
||||||
#: main/src/ui/conversation_content_view/conversation_item_skeleton.vala:191
|
#: main/src/ui/conversation_content_view/conversation_item_skeleton.vala:191
|
||||||
msgid "Delivered"
|
msgid "Delivered"
|
||||||
msgstr "Доставленo"
|
msgstr ""
|
||||||
|
|
||||||
#: main/src/ui/conversation_content_view/conversation_item_skeleton.vala:195
|
#: main/src/ui/conversation_content_view/conversation_item_skeleton.vala:195
|
||||||
msgid "Read"
|
msgid "Read"
|
||||||
|
@ -959,15 +959,15 @@ msgstr "Этот контакт хочет добавить вас в свой
|
||||||
|
|
||||||
#: main/src/ui/conversation_content_view/item_actions.vala:21
|
#: main/src/ui/conversation_content_view/item_actions.vala:21
|
||||||
msgid "This conversation does not support reactions."
|
msgid "This conversation does not support reactions."
|
||||||
msgstr "Этот разговор не поддерживает реакции."
|
msgstr ""
|
||||||
|
|
||||||
#: main/src/ui/conversation_content_view/item_actions.vala:33
|
#: main/src/ui/conversation_content_view/item_actions.vala:33
|
||||||
msgid "Reply"
|
msgid "Reply"
|
||||||
msgstr "Ответить"
|
msgstr ""
|
||||||
|
|
||||||
#: main/src/ui/conversation_content_view/item_actions.vala:43
|
#: main/src/ui/conversation_content_view/item_actions.vala:43
|
||||||
msgid "This conversation does not support replies."
|
msgid "This conversation does not support replies."
|
||||||
msgstr "Этот разговор не поддерживает ответы"
|
msgstr ""
|
||||||
|
|
||||||
#: main/src/ui/conversation_content_view/file_default_widget.vala:64
|
#: main/src/ui/conversation_content_view/file_default_widget.vala:64
|
||||||
#, c-format
|
#, c-format
|
||||||
|
@ -1006,7 +1006,7 @@ msgstr "Тут пустовато"
|
||||||
|
|
||||||
#: main/data/unified_main_content.ui:47
|
#: main/data/unified_main_content.ui:47
|
||||||
msgid "Click + to start a chat or join a channel"
|
msgid "Click + to start a chat or join a channel"
|
||||||
msgstr "Нажмите +, чтобы начать чат или присоединиться к каналу"
|
msgstr ""
|
||||||
|
|
||||||
#: main/data/add_conversation/conference_details_fragment.ui:20
|
#: main/data/add_conversation/conference_details_fragment.ui:20
|
||||||
#: main/data/add_conversation/add_groupchat_dialog.ui:40
|
#: main/data/add_conversation/add_groupchat_dialog.ui:40
|
||||||
|
|
|
@ -73,9 +73,6 @@ public class FileImageWidget : Box {
|
||||||
image_overlay_toolbar.visible = false;
|
image_overlay_toolbar.visible = false;
|
||||||
});
|
});
|
||||||
|
|
||||||
// Set tooltip to display the file name on hover
|
|
||||||
image.set_tooltip_text(file_name);
|
|
||||||
|
|
||||||
this.append(overlay);
|
this.append(overlay);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -90,8 +90,7 @@ public class FileWidget : SizeRequestBox {
|
||||||
|
|
||||||
private async void update_widget() {
|
private async void update_widget() {
|
||||||
if (show_image() && state != State.IMAGE
|
if (show_image() && state != State.IMAGE
|
||||||
&& file_transfer.state == FileTransfer.State.COMPLETE
|
&& file_transfer.state == FileTransfer.State.COMPLETE) {
|
||||||
&& file_transfer.get_file().query_exists()) {
|
|
||||||
var content_bak = content;
|
var content_bak = content;
|
||||||
|
|
||||||
FileImageWidget file_image_widget = null;
|
FileImageWidget file_image_widget = null;
|
||||||
|
@ -110,8 +109,7 @@ public class FileWidget : SizeRequestBox {
|
||||||
} catch (Error e) { }
|
} catch (Error e) { }
|
||||||
}
|
}
|
||||||
|
|
||||||
if (state != State.DEFAULT ||
|
if (state != State.DEFAULT) {
|
||||||
(file_transfer.state == FileTransfer.State.COMPLETE && !file_transfer.get_file().query_exists())) {
|
|
||||||
if (content != null) this.remove(content);
|
if (content != null) this.remove(content);
|
||||||
FileDefaultWidget default_file_widget = new FileDefaultWidget();
|
FileDefaultWidget default_file_widget = new FileDefaultWidget();
|
||||||
default_widget_controller = new FileDefaultWidgetController(default_file_widget);
|
default_widget_controller = new FileDefaultWidgetController(default_file_widget);
|
||||||
|
@ -178,17 +176,11 @@ public class FileWidgetController : Object {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void open_file() {
|
private void open_file() {
|
||||||
if (file_transfer.get_file().query_exists()) {
|
try{
|
||||||
try {
|
|
||||||
Dino.Util.launch_default_for_uri(file_transfer.get_file().get_uri());
|
Dino.Util.launch_default_for_uri(file_transfer.get_file().get_uri());
|
||||||
} catch (Error err) {
|
} catch (Error err) {
|
||||||
warning("Failed to open %s - %s", file_transfer.get_file().get_uri(), err.message);
|
warning("Failed to open %s - %s", file_transfer.get_file().get_uri(), err.message);
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
warning("File %s does not exist", file_transfer.get_file().get_uri());
|
|
||||||
file_transfer.state = FileTransfer.State.NOT_STARTED;
|
|
||||||
widget.activate_action("file.download", null);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void save_file() {
|
private void save_file() {
|
||||||
|
@ -252,12 +244,8 @@ public class FileDefaultWidgetController : Object {
|
||||||
|
|
||||||
private void update_file_info() {
|
private void update_file_info() {
|
||||||
state = file_transfer.state;
|
state = file_transfer.state;
|
||||||
if (state == FileTransfer.State.COMPLETE && !file_transfer.get_file().query_exists()) {
|
|
||||||
state = FileTransfer.State.NOT_STARTED;
|
|
||||||
file_transfer.state = FileTransfer.State.NOT_STARTED;
|
|
||||||
}
|
|
||||||
widget.update_file_info(file_transfer.mime_type, file_transfer.transferred_bytes,
|
widget.update_file_info(file_transfer.mime_type, file_transfer.transferred_bytes,
|
||||||
file_transfer.direction, state, file_transfer.size);
|
file_transfer.direction, file_transfer.state, file_transfer.size);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void on_clicked() {
|
private void on_clicked() {
|
||||||
|
@ -266,11 +254,10 @@ public class FileDefaultWidgetController : Object {
|
||||||
widget.activate_action("file.open", null);
|
widget.activate_action("file.open", null);
|
||||||
break;
|
break;
|
||||||
case FileTransfer.State.NOT_STARTED:
|
case FileTransfer.State.NOT_STARTED:
|
||||||
case FileTransfer.State.FAILED:
|
|
||||||
widget.activate_action("file.download", null);
|
widget.activate_action("file.download", null);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
// Clicking doesn't do anything in IN_PROGRESS state
|
// Clicking doesn't do anything in FAILED and IN_PROGRESS states
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -197,7 +197,6 @@ public class Dialog : Gtk.Dialog {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void populate_grid_data(Account account) {
|
private void populate_grid_data(Account account) {
|
||||||
active_switch.sensitive = false;
|
|
||||||
active_switch.state_set.disconnect(change_account_state);
|
active_switch.state_set.disconnect(change_account_state);
|
||||||
|
|
||||||
picture.model = new ViewModel.CompatAvatarPictureModel(stream_interactor).add_participant(new Conversation(account.bare_jid, account, Conversation.Type.CHAT), account.bare_jid);
|
picture.model = new ViewModel.CompatAvatarPictureModel(stream_interactor).add_participant(new Conversation(account.bare_jid, account, Conversation.Type.CHAT), account.bare_jid);
|
||||||
|
@ -228,14 +227,11 @@ public class Dialog : Gtk.Dialog {
|
||||||
ConnectionManager.ConnectionState state = stream_interactor.connection_manager.get_state(account);
|
ConnectionManager.ConnectionState state = stream_interactor.connection_manager.get_state(account);
|
||||||
switch (state) {
|
switch (state) {
|
||||||
case ConnectionManager.ConnectionState.CONNECTING:
|
case ConnectionManager.ConnectionState.CONNECTING:
|
||||||
active_switch.sensitive = false;
|
|
||||||
state_label.label = _("Connecting…"); break;
|
state_label.label = _("Connecting…"); break;
|
||||||
case ConnectionManager.ConnectionState.CONNECTED:
|
case ConnectionManager.ConnectionState.CONNECTED:
|
||||||
active_switch.sensitive = true;
|
|
||||||
password_change_btn.sensitive = true;
|
password_change_btn.sensitive = true;
|
||||||
state_label.label = _("Connected"); break;
|
state_label.label = _("Connected"); break;
|
||||||
case ConnectionManager.ConnectionState.DISCONNECTED:
|
case ConnectionManager.ConnectionState.DISCONNECTED:
|
||||||
active_switch.sensitive = true;
|
|
||||||
password_change_btn.sensitive = false;
|
password_change_btn.sensitive = false;
|
||||||
state_label.label = _("Disconnected"); break;
|
state_label.label = _("Disconnected"); break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,9 @@
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: dino-openpgp-0.0\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2024-06-09 22:16+0200\n"
|
"POT-Creation-Date: 2023-02-07 21:31+0100\n"
|
||||||
"PO-Revision-Date: 2024-06-09 22:39+0200\n"
|
"PO-Revision-Date: 2020-04-16 20:11+0000\n"
|
||||||
"Last-Translator: eerielili \n"
|
|
||||||
"Language-Team: German <https://hosted.weblate.org/projects/dino/plugin-"
|
"Language-Team: German <https://hosted.weblate.org/projects/dino/plugin-"
|
||||||
"openpgp/de/>\n"
|
"openpgp/de/>\n"
|
||||||
"Language: de\n"
|
"Language: de\n"
|
||||||
|
@ -12,11 +11,11 @@ msgstr ""
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
"X-Generator: Poedit 3.4.2\n"
|
"X-Generator: Weblate 4.0.1-dev\n"
|
||||||
|
|
||||||
#: plugins/openpgp/src/account_settings_entry.vala:68
|
#: plugins/openpgp/src/account_settings_entry.vala:68
|
||||||
#: plugins/openpgp/src/account_settings_entry.vala:72
|
#: plugins/openpgp/src/account_settings_entry.vala:72
|
||||||
#: plugins/openpgp/src/account_settings_entry.vala:113
|
#: plugins/openpgp/src/account_settings_entry.vala:101
|
||||||
msgid "Key publishing disabled"
|
msgid "Key publishing disabled"
|
||||||
msgstr "Schlüsselveröffentlichung deaktiviert"
|
msgstr "Schlüsselveröffentlichung deaktiviert"
|
||||||
|
|
||||||
|
@ -25,40 +24,18 @@ msgid "Error in GnuPG"
|
||||||
msgstr "Fehler in GnuPG"
|
msgstr "Fehler in GnuPG"
|
||||||
|
|
||||||
#: plugins/openpgp/src/account_settings_entry.vala:72
|
#: plugins/openpgp/src/account_settings_entry.vala:72
|
||||||
msgid ""
|
msgid "No keys available. Generate one!"
|
||||||
"No keys available. Generate one or check if your keys aren't expired or "
|
msgstr "Keine Schlüssel vorhanden. Erzeuge einen!"
|
||||||
"revoked!"
|
|
||||||
msgstr ""
|
|
||||||
"Keine Schlüssel vorhanden. Erstellen Sie einen oder prüfen Sie,"
|
|
||||||
"ob Ihre Schlüssel nicht abgelaufen sind oder widerrufen!"
|
|
||||||
|
|
||||||
|
#: plugins/openpgp/src/account_settings_entry.vala:101
|
||||||
#: plugins/openpgp/src/account_settings_entry.vala:95
|
|
||||||
msgid "expired!"
|
|
||||||
msgstr "abgelaufen"
|
|
||||||
|
|
||||||
#: plugins/openpgp/src/account_settings_entry.vala:95
|
|
||||||
msgid "revoked!"
|
|
||||||
msgstr "widerrufen!"
|
|
||||||
|
|
||||||
#: plugins/openpgp/src/account_settings_entry.vala:96
|
|
||||||
msgid "Attention required!"
|
|
||||||
msgstr "Achtung!"
|
|
||||||
|
|
||||||
#: plugins/openpgp/src/account_settings_entry.vala:96
|
|
||||||
#, c-format
|
|
||||||
msgid "Your key %s is %s"
|
|
||||||
msgstr "Ihr Schlüssel %s is %s"
|
|
||||||
|
|
||||||
#: plugins/openpgp/src/account_settings_entry.vala:113
|
|
||||||
msgid "Select key"
|
msgid "Select key"
|
||||||
msgstr "Wähle einen Schlüssel"
|
msgstr "Wähle einen Schlüssel"
|
||||||
|
|
||||||
#: plugins/openpgp/src/account_settings_entry.vala:126
|
#: plugins/openpgp/src/account_settings_entry.vala:114
|
||||||
msgid "Loading…"
|
msgid "Loading…"
|
||||||
msgstr "Lade…"
|
msgstr "Lade…"
|
||||||
|
|
||||||
#: plugins/openpgp/src/account_settings_entry.vala:126
|
#: plugins/openpgp/src/account_settings_entry.vala:114
|
||||||
msgid "Querying GnuPG"
|
msgid "Querying GnuPG"
|
||||||
msgstr "Frage GnuPG ab"
|
msgstr "Frage GnuPG ab"
|
||||||
|
|
||||||
|
@ -69,3 +46,6 @@ msgstr "Schlüssel nicht im Schlüsselbund"
|
||||||
#: plugins/openpgp/src/contact_details_provider.vala:30
|
#: plugins/openpgp/src/contact_details_provider.vala:30
|
||||||
msgid "Encryption"
|
msgid "Encryption"
|
||||||
msgstr "Verschlüsselung"
|
msgstr "Verschlüsselung"
|
||||||
|
|
||||||
|
#~ msgid "OpenPGP"
|
||||||
|
#~ msgstr "OpenPGP"
|
||||||
|
|
|
@ -1,68 +1,52 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION+\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"POT-Creation-Date: 2024-06-09 22:16+0200\n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"PO-Revision-Date: 2024-06-09 22:18+0200\n"
|
"POT-Creation-Date: 2023-02-07 21:31+0100\n"
|
||||||
"Last-Translator: \n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Language-Team: Dino+\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language: en\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"Language: \n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Generator: Poedit 3.4.2\n"
|
|
||||||
"X-Poedit-Basepath: ../src\n"
|
|
||||||
"X-Poedit-KeywordsList: _(\n"
|
|
||||||
"X-Poedit-SourceCharset: UTF-8\n"
|
|
||||||
"X-Poedit-SearchPath-0: .\n"
|
|
||||||
|
|
||||||
#: account_settings_entry.vala:68 account_settings_entry.vala:72
|
#: plugins/openpgp/src/account_settings_entry.vala:68
|
||||||
#: account_settings_entry.vala:113
|
#: plugins/openpgp/src/account_settings_entry.vala:72
|
||||||
|
#: plugins/openpgp/src/account_settings_entry.vala:101
|
||||||
msgid "Key publishing disabled"
|
msgid "Key publishing disabled"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: account_settings_entry.vala:68
|
#: plugins/openpgp/src/account_settings_entry.vala:68
|
||||||
msgid "Error in GnuPG"
|
msgid "Error in GnuPG"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: account_settings_entry.vala:72
|
#: plugins/openpgp/src/account_settings_entry.vala:72
|
||||||
msgid ""
|
msgid "No keys available. Generate one!"
|
||||||
"No keys available. Generate one or check if your keys aren't expired or "
|
|
||||||
"revoked!"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: account_settings_entry.vala:95
|
#: plugins/openpgp/src/account_settings_entry.vala:101
|
||||||
msgid "expired!"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: account_settings_entry.vala:95
|
|
||||||
msgid "revoked!"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: account_settings_entry.vala:96
|
|
||||||
msgid "Attention required!"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: account_settings_entry.vala:96
|
|
||||||
#, c-format
|
|
||||||
msgid "Your key %s is %s"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: account_settings_entry.vala:113
|
|
||||||
msgid "Select key"
|
msgid "Select key"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: account_settings_entry.vala:126
|
#: plugins/openpgp/src/account_settings_entry.vala:114
|
||||||
msgid "Loading…"
|
msgid "Loading…"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: account_settings_entry.vala:126
|
#: plugins/openpgp/src/account_settings_entry.vala:114
|
||||||
msgid "Querying GnuPG"
|
msgid "Querying GnuPG"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: contact_details_provider.vala:28
|
#: plugins/openpgp/src/contact_details_provider.vala:28
|
||||||
msgid "Key not in keychain"
|
msgid "Key not in keychain"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: contact_details_provider.vala:30
|
#: plugins/openpgp/src/contact_details_provider.vala:30
|
||||||
msgid "Encryption"
|
msgid "Encryption"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
|
@ -7,9 +7,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2024-06-09 22:16+0200\n"
|
"POT-Creation-Date: 2023-02-07 21:31+0100\n"
|
||||||
"PO-Revision-Date: 2024-06-09 22:22+0200\n"
|
"PO-Revision-Date: 2020-11-12 17:21+0000\n"
|
||||||
"Last-Translator: \n"
|
|
||||||
"Language-Team: French <https://hosted.weblate.org/projects/dino/plugin-"
|
"Language-Team: French <https://hosted.weblate.org/projects/dino/plugin-"
|
||||||
"openpgp/fr/>\n"
|
"openpgp/fr/>\n"
|
||||||
"Language: fr\n"
|
"Language: fr\n"
|
||||||
|
@ -17,11 +16,11 @@ msgstr ""
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||||
"X-Generator: Poedit 3.4.2\n"
|
"X-Generator: Weblate 4.4-dev\n"
|
||||||
|
|
||||||
#: plugins/openpgp/src/account_settings_entry.vala:68
|
#: plugins/openpgp/src/account_settings_entry.vala:68
|
||||||
#: plugins/openpgp/src/account_settings_entry.vala:72
|
#: plugins/openpgp/src/account_settings_entry.vala:72
|
||||||
#: plugins/openpgp/src/account_settings_entry.vala:113
|
#: plugins/openpgp/src/account_settings_entry.vala:101
|
||||||
msgid "Key publishing disabled"
|
msgid "Key publishing disabled"
|
||||||
msgstr "La publication des clés est désactivée"
|
msgstr "La publication des clés est désactivée"
|
||||||
|
|
||||||
|
@ -30,39 +29,18 @@ msgid "Error in GnuPG"
|
||||||
msgstr "Erreur dans GnuPG"
|
msgstr "Erreur dans GnuPG"
|
||||||
|
|
||||||
#: plugins/openpgp/src/account_settings_entry.vala:72
|
#: plugins/openpgp/src/account_settings_entry.vala:72
|
||||||
msgid ""
|
msgid "No keys available. Generate one!"
|
||||||
"No keys available. Generate one or check if your keys aren't expired or "
|
msgstr "Aucune clé n’est disponible. Générez-en une !"
|
||||||
"revoked!"
|
|
||||||
msgstr ""
|
|
||||||
"Pas de clés disponibles. Générez-en une nouvelle ou vérifier si vos "
|
|
||||||
"clés ne seraient pas expirées ou révoquées!"
|
|
||||||
|
|
||||||
#: plugins/openpgp/src/account_settings_entry.vala:95
|
#: plugins/openpgp/src/account_settings_entry.vala:101
|
||||||
msgid "expired!"
|
|
||||||
msgstr "expirée!"
|
|
||||||
|
|
||||||
#: plugins/openpgp/src/account_settings_entry.vala:95
|
|
||||||
msgid "revoked!"
|
|
||||||
msgstr "révoquée!"
|
|
||||||
|
|
||||||
#: plugins/openpgp/src/account_settings_entry.vala:96
|
|
||||||
msgid "Attention required!"
|
|
||||||
msgstr "Attention requise!"
|
|
||||||
|
|
||||||
#: plugins/openpgp/src/account_settings_entry.vala:96
|
|
||||||
#, c-format
|
|
||||||
msgid "Your key %s is %s"
|
|
||||||
msgstr "Votre clé %s est %s"
|
|
||||||
|
|
||||||
#: plugins/openpgp/src/account_settings_entry.vala:113
|
|
||||||
msgid "Select key"
|
msgid "Select key"
|
||||||
msgstr "Choix d’une clé"
|
msgstr "Choix d’une clé"
|
||||||
|
|
||||||
#: plugins/openpgp/src/account_settings_entry.vala:126
|
#: plugins/openpgp/src/account_settings_entry.vala:114
|
||||||
msgid "Loading…"
|
msgid "Loading…"
|
||||||
msgstr "Chargement…"
|
msgstr "Chargement…"
|
||||||
|
|
||||||
#: plugins/openpgp/src/account_settings_entry.vala:126
|
#: plugins/openpgp/src/account_settings_entry.vala:114
|
||||||
msgid "Querying GnuPG"
|
msgid "Querying GnuPG"
|
||||||
msgstr "Interrogation de GnuPG"
|
msgstr "Interrogation de GnuPG"
|
||||||
|
|
||||||
|
|
|
@ -7,9 +7,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2024-06-09 22:16+0200\n"
|
"POT-Creation-Date: 2023-02-07 21:31+0100\n"
|
||||||
"PO-Revision-Date: 2024-06-09 22:39+0200\n"
|
"PO-Revision-Date: 2020-06-02 11:41+0000\n"
|
||||||
"Last-Translator: eerielili\n"
|
|
||||||
"Language-Team: Russian <https://hosted.weblate.org/projects/dino/plugin-"
|
"Language-Team: Russian <https://hosted.weblate.org/projects/dino/plugin-"
|
||||||
"openpgp/ru/>\n"
|
"openpgp/ru/>\n"
|
||||||
"Language: ru\n"
|
"Language: ru\n"
|
||||||
|
@ -18,11 +17,11 @@ msgstr ""
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
||||||
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||||
"X-Generator: Poedit 3.4.2\n"
|
"X-Generator: Weblate 4.1-dev\n"
|
||||||
|
|
||||||
#: plugins/openpgp/src/account_settings_entry.vala:68
|
#: plugins/openpgp/src/account_settings_entry.vala:68
|
||||||
#: plugins/openpgp/src/account_settings_entry.vala:72
|
#: plugins/openpgp/src/account_settings_entry.vala:72
|
||||||
#: plugins/openpgp/src/account_settings_entry.vala:113
|
#: plugins/openpgp/src/account_settings_entry.vala:101
|
||||||
msgid "Key publishing disabled"
|
msgid "Key publishing disabled"
|
||||||
msgstr "Публикация ключа отключена"
|
msgstr "Публикация ключа отключена"
|
||||||
|
|
||||||
|
@ -31,37 +30,18 @@ msgid "Error in GnuPG"
|
||||||
msgstr "Ошибка в GnuPG"
|
msgstr "Ошибка в GnuPG"
|
||||||
|
|
||||||
#: plugins/openpgp/src/account_settings_entry.vala:72
|
#: plugins/openpgp/src/account_settings_entry.vala:72
|
||||||
msgid ""
|
msgid "No keys available. Generate one!"
|
||||||
"No keys available. Generate one or check if your keys aren't expired or "
|
|
||||||
"revoked!"
|
|
||||||
msgstr "Нет доступных ключей. Создайте как минимум один, либо проверьте что уже существующие (ранее созданные) ключи не были отозваны или срок их действия не закончился!"
|
msgstr "Нет доступных ключей. Создайте как минимум один, либо проверьте что уже существующие (ранее созданные) ключи не были отозваны или срок их действия не закончился!"
|
||||||
|
|
||||||
#: plugins/openpgp/src/account_settings_entry.vala:95
|
#: plugins/openpgp/src/account_settings_entry.vala:101
|
||||||
msgid "expired!"
|
|
||||||
msgstr "истёк!"
|
|
||||||
|
|
||||||
#: plugins/openpgp/src/account_settings_entry.vala:95
|
|
||||||
msgid "revoked!"
|
|
||||||
msgstr "отозван!"
|
|
||||||
|
|
||||||
#: plugins/openpgp/src/account_settings_entry.vala:96
|
|
||||||
msgid "Attention required!"
|
|
||||||
msgstr "внимание!"
|
|
||||||
|
|
||||||
#: plugins/openpgp/src/account_settings_entry.vala:96
|
|
||||||
#, c-format
|
|
||||||
msgid "Your key %s is %s"
|
|
||||||
msgstr "Ваш ключ %s %s"
|
|
||||||
|
|
||||||
#: plugins/openpgp/src/account_settings_entry.vala:113
|
|
||||||
msgid "Select key"
|
msgid "Select key"
|
||||||
msgstr "Выбрать ключ"
|
msgstr "Выбрать ключ"
|
||||||
|
|
||||||
#: plugins/openpgp/src/account_settings_entry.vala:126
|
#: plugins/openpgp/src/account_settings_entry.vala:114
|
||||||
msgid "Loading…"
|
msgid "Loading…"
|
||||||
msgstr "Загрузка…"
|
msgstr "Загрузка…"
|
||||||
|
|
||||||
#: plugins/openpgp/src/account_settings_entry.vala:126
|
#: plugins/openpgp/src/account_settings_entry.vala:114
|
||||||
msgid "Querying GnuPG"
|
msgid "Querying GnuPG"
|
||||||
msgstr "Запрос GnuPG"
|
msgstr "Запрос GnuPG"
|
||||||
|
|
||||||
|
|
|
@ -69,7 +69,7 @@ public class AccountSettingsEntry : Plugins.AccountSettingsEntry {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (keys.size == 0) {
|
if (keys.size == 0) {
|
||||||
label.set_markup(build_markup_string(_("Key publishing disabled"), _("No keys available. Generate one or check if your keys aren't expired or revoked!")));
|
label.set_markup(build_markup_string(_("Key publishing disabled"), _("No keys available. Generate one!")));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -88,18 +88,6 @@ public class AccountSettingsEntry : Plugins.AccountSettingsEntry {
|
||||||
set_label_active(selected);
|
set_label_active(selected);
|
||||||
|
|
||||||
combobox.changed.connect(key_changed);
|
combobox.changed.connect(key_changed);
|
||||||
if (account_key != null) {
|
|
||||||
try {
|
|
||||||
GPG.Key key_check = GPGHelper.get_public_key(account_key);
|
|
||||||
if(key_check.expired || key_check.revoked) {
|
|
||||||
string status_str = key_check.expired ? _("expired!") : _("revoked!");
|
|
||||||
label.set_markup(build_markup_string(_("Attention required!"), _("Your key %s is %s").printf("<span color='red'><b>"+ key_check.fpr +"</b></span>", status_str) ) );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch {
|
|
||||||
debug("Coudn't check GPG key status.");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void populate_list_store() {
|
private void populate_list_store() {
|
||||||
|
|
Loading…
Reference in a new issue