Merge tag '2.5.7' into develop

This commit is contained in:
Martin/Geno 2019-09-08 06:53:06 +00:00
commit 13b55fde20
No known key found for this signature in database
GPG Key ID: E7907CD4A3C7A6C1
15 changed files with 176 additions and 34 deletions

View File

@ -1,5 +1,9 @@
# Changelog
### Version 2.5.7
* fixed crash when scanning QR codes on Android 6 and lower
* when sharing a message from and to Conversations insert it as quote
### Version 2.5.6
* fixes for Jingle file transfer
* fixed some rare crashes

View File

@ -6,7 +6,7 @@ buildscript {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.4.1'
classpath 'com.android.tools.build:gradle:3.4.2'
}
}
@ -51,7 +51,9 @@ dependencies {
conversationsFreeCompatImplementation "com.android.support:support-emoji-bundled:$supportLibVersion"
quicksyFreeCompatImplementation "com.android.support:support-emoji-bundled:$supportLibVersion"
implementation 'org.bouncycastle:bcmail-jdk15on:1.58'
implementation 'com.google.zxing:core:3.4.0'
//zxing stopped supporting Java 7 so we have to stick with 3.3.3
//https://github.com/zxing/zxing/issues/1170
implementation 'com.google.zxing:core:3.3.3'
implementation 'de.measite.minidns:minidns-hla:0.2.4'
implementation 'me.leolin:ShortcutBadger:1.1.22@aar'
implementation 'org.whispersystems:signal-protocol-java:2.6.2'
@ -81,8 +83,8 @@ android {
defaultConfig {
minSdkVersion 16
targetSdkVersion 25
versionCode 336
versionName "2.5.6"
versionCode 337
versionName "2.5.7"
archivesBaseName += "-$versionName"
applicationId "eu.sum7.conversations"
resValue "string", "applicationId", applicationId

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="pick_a_server">Επιλέξτε τον πάροχο XMPP σας</string>
<string name="use_conversations.im">Χρήση του conversations.im</string>
<string name="create_new_account">Δημιουργία νέου λογαριασμού</string>
<string name="do_you_have_an_account">Έχετε ήδη λογαριασμό XMPP; Αυτό μπορεί να συμβαίνει αν ήδη χρησιμοποιείτε ένα άλλο πρόγραμμα XMPP ή έχετε χρησιμοποιήσει το Conversations παλιότερα. Αν όχι, μπορείτε να δημιουργήσετε ένα νέο λογαριασμό XMPP τώρα.\nΧρήσιμη πληροφορία: Κάποιοι πάροχοι e-mail παρέχουν επίσης και λογαριασμούς XMPP.</string>
<string name="server_select_text">Το XMPP είναι ένα δίκτυο άμεσης ανταλλαγής μηνυμάτων ανεξάρτητο παρόχου. Μπορείτε να χρησιμοποιήσετε αυτό το πρόγραμμα με όποιον διακομιστή XMPP επιθυμείτε.\nΓια διευκόλυνση πάντως μπορείτε να δημιουργήσετε έναν λογαριασμό στο conversations.im¹, έναν πάροχο ειδικά σχεδιασμένο για χρήση με το Conversations.</string>
</resources>

View File

@ -20,7 +20,6 @@ public class AboutActivity extends AppCompatActivity {
setContentView(R.layout.activity_about);
setSupportActionBar(findViewById(R.id.toolbar));
configureActionBar(getSupportActionBar());
setTitle(getString(R.string.title_activity_about_x, getString(R.string.app_name
)));
setTitle(getString(R.string.title_activity_about_x, getString(R.string.app_name)));
}
}

View File

@ -93,7 +93,7 @@ public class ConversationsActivity extends XmppActivity implements OnConversatio
public static final String ACTION_VIEW_CONVERSATION = "eu.siacs.conversations.action.VIEW";
public static final String EXTRA_CONVERSATION = "conversationUuid";
public static final String EXTRA_DOWNLOAD_UUID = "eu.siacs.conversations.download_uuid";
public static final String EXTRA_AS_QUOTE = "as_quote";
public static final String EXTRA_AS_QUOTE = "eu.siacs.conversations.as_quote";
public static final String EXTRA_NICK = "nick";
public static final String EXTRA_IS_PRIVATE_MESSAGE = "pm";
public static final String EXTRA_DO_NOT_APPEND = "do_not_append";

View File

@ -40,6 +40,7 @@ public class ShareWithActivity extends XmppActivity implements XmppConnectionSer
public String account;
public String contact;
public String text;
public boolean asQuote = false;
}
private Share share;
@ -132,6 +133,7 @@ public class ShareWithActivity extends XmppActivity implements XmppConnectionSer
if (Intent.ACTION_SEND.equals(action)) {
final String text = intent.getStringExtra(Intent.EXTRA_TEXT);
final Uri uri = intent.getParcelableExtra(Intent.EXTRA_STREAM);
final boolean asQuote = intent.getBooleanExtra(ConversationsActivity.EXTRA_AS_QUOTE, false);
if (data != null && "geo".equals(data.getScheme())) {
this.share.uris.clear();
@ -141,6 +143,7 @@ public class ShareWithActivity extends XmppActivity implements XmppConnectionSer
this.share.uris.add(uri);
} else {
this.share.text = text;
this.share.asQuote = asQuote;
}
} else if (Intent.ACTION_SEND_MULTIPLE.equals(action)) {
final ArrayList<Uri> uris = intent.getParcelableArrayListExtra(Intent.EXTRA_STREAM);
@ -195,6 +198,7 @@ public class ShareWithActivity extends XmppActivity implements XmppConnectionSer
} else if (share.text != null) {
intent.setAction(ConversationsActivity.ACTION_VIEW_CONVERSATION);
intent.putExtra(Intent.EXTRA_TEXT, share.text);
intent.putExtra(ConversationsActivity.EXTRA_AS_QUOTE, share.asQuote);
}
startActivity(intent);
finish();

View File

@ -30,16 +30,11 @@
package eu.siacs.conversations.ui.util;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.Intent;
import android.support.v4.content.ContextCompat;
import android.util.Log;
import android.widget.Toast;
import java.net.URL;
import java.util.regex.Matcher;
import eu.siacs.conversations.Config;
import eu.siacs.conversations.R;
import eu.siacs.conversations.entities.DownloadableFile;
import eu.siacs.conversations.entities.Message;
@ -58,9 +53,11 @@ public class ShareUtil {
if (message.isGeoUri()) {
shareIntent.putExtra(Intent.EXTRA_TEXT, message.getBody());
shareIntent.setType("text/plain");
shareIntent.putExtra(ConversationsActivity.EXTRA_AS_QUOTE, true);
} else if (!message.isFileOrImage()) {
shareIntent.putExtra(Intent.EXTRA_TEXT, message.getMergedBody().toString());
shareIntent.setType("text/plain");
shareIntent.putExtra(ConversationsActivity.EXTRA_AS_QUOTE, true);
} else {
final DownloadableFile file = activity.xmppConnectionService.getFileBackend().getFile(message);
try {

View File

@ -1233,9 +1233,6 @@ public class XmppConnection implements Runnable {
}
private void enableAdvancedStreamFeatures() {
if (getFeatures().carbons() && !features.carbonsEnabled) {
sendEnableCarbons();
}
if (getFeatures().blocking() && !features.blockListRequested) {
Log.d(Config.LOGTAG, account.getJid().asBareJid() + ": Requesting block list");
this.sendIqPacket(getIqGenerator().generateGetBlockList(), mXmppConnectionService.getIqParser());
@ -1243,6 +1240,9 @@ public class XmppConnection implements Runnable {
for (final OnAdvancedStreamFeaturesLoaded listener : advancedStreamFeaturesLoadedListeners) {
listener.onAdvancedStreamFeaturesAvailable(account);
}
if (getFeatures().carbons() && !features.carbonsEnabled) {
sendEnableCarbons();
}
}
private void sendServiceDiscoveryItems(final Jid server) {

View File

@ -13,13 +13,11 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
import eu.siacs.conversations.Config;
import eu.siacs.conversations.crypto.axolotl.AxolotlService;
import eu.siacs.conversations.crypto.axolotl.OnMessageCreatedCallback;
import eu.siacs.conversations.crypto.axolotl.XmppAxolotlMessage;
import eu.siacs.conversations.entities.Account;
import eu.siacs.conversations.entities.Conversation;
@ -650,9 +648,13 @@ public class JingleConnection implements Transferable {
} else if (content.hasIbbTransport()) {
String receivedBlockSize = packet.getJingleContent().ibbTransport().getAttribute("block-size");
if (receivedBlockSize != null) {
int bs = Integer.parseInt(receivedBlockSize);
if (bs > this.ibbBlockSize) {
this.ibbBlockSize = bs;
try {
int bs = Integer.parseInt(receivedBlockSize);
if (bs > this.ibbBlockSize) {
this.ibbBlockSize = bs;
}
} catch (Exception e) {
Log.d(Config.LOGTAG,account.getJid().asBareJid()+": unable to parse block size in session-accept");
}
}
this.transport = new JingleInbandTransport(this, this.transportId, this.ibbBlockSize);
@ -839,12 +841,16 @@ public class JingleConnection implements Transferable {
private boolean receiveFallbackToIbb(JinglePacket packet) {
Log.d(Config.LOGTAG, "receiving fallack to ibb");
Log.d(Config.LOGTAG, "receiving fallback to ibb");
final String receivedBlockSize = packet.getJingleContent().ibbTransport().getAttribute("block-size");
if (receivedBlockSize != null) {
final int bs = Integer.parseInt(receivedBlockSize);
if (bs < this.ibbBlockSize) {
this.ibbBlockSize = bs;
try {
final int bs = Integer.parseInt(receivedBlockSize);
if (bs < this.ibbBlockSize) {
this.ibbBlockSize = bs;
}
} catch (NumberFormatException e) {
Log.d(Config.LOGTAG,account.getJid().asBareJid()+": unable to parse block size in transport-replace");
}
}
this.transportId = packet.getJingleContent().getTransportId();
@ -853,8 +859,8 @@ public class JingleConnection implements Transferable {
final JinglePacket answer = bootstrapPacket("transport-accept");
final Content content = new Content(contentCreator, contentName);
content.setFileOffer(fileOffer, ftVersion);
content.ibbTransport().setAttribute("block-size", this.ibbBlockSize);
content.ibbTransport().setAttribute("sid", this.transportId);
answer.setContent(content);
@ -877,9 +883,13 @@ public class JingleConnection implements Transferable {
String receivedBlockSize = packet.getJingleContent().ibbTransport()
.getAttribute("block-size");
if (receivedBlockSize != null) {
int bs = Integer.parseInt(receivedBlockSize);
if (bs > this.ibbBlockSize) {
this.ibbBlockSize = bs;
try {
int bs = Integer.parseInt(receivedBlockSize);
if (bs < this.ibbBlockSize) {
this.ibbBlockSize = bs;
}
} catch (NumberFormatException e) {
Log.d(Config.LOGTAG, account.getJid().asBareJid()+": unable to parse block size in transport-accept");
}
}
this.transport = new JingleInbandTransport(this, this.transportId, this.ibbBlockSize);

View File

@ -177,12 +177,10 @@ public class JingleInbandTransport extends JingleTransport {
this.account.getXmppConnection().sendIqPacket(iq, this.onAckReceived);
this.account.getXmppConnection().r(); //don't fill up stanza queue too much
this.seq++;
if (this.remainingSize > 0) {
connection.updateProgress((int) ((((double) (this.fileSize - this.remainingSize)) / this.fileSize) * 100));
} else {
connection.updateProgress((int) ((((double) (this.fileSize - this.remainingSize)) / this.fileSize) * 100));
if (this.remainingSize <= 0) {
sendClose();
file.setSha1Sum(digest.digest());
Log.d(Config.LOGTAG,account.getJid().asBareJid()+": sendNextBlock() remaining size");
this.onFileTransmissionStatusChanged.onFileTransmitted(file);
fileInputStream.close();
}

View File

@ -7,6 +7,7 @@
<string name="action_end_conversation">Κλείσιμο συζήτησης</string>
<string name="action_contact_details">Λεπτομέρειες επαφής</string>
<string name="action_muc_details">Λεπτομέρειες ομαδικής συζήτησης</string>
<string name="channel_details">Λεπτομέρειες καναλιού</string>
<string name="action_secure">Ασφαλής συζήτηση</string>
<string name="action_add_account">Προσθήκη λογαριασμού</string>
<string name="action_edit_contact">Επεξεργασία ονόματος</string>
@ -16,6 +17,8 @@
<string name="action_unblock_contact">Άρση αποκλεισμού επαφής</string>
<string name="action_block_domain">Αποκλεισμός τομέα</string>
<string name="action_unblock_domain">Άρση αποκλεισμού τομέα</string>
<string name="action_block_participant">Αποκλεισμός συμμετέχοντα</string>
<string name="action_unblock_participant">Αναίρεση αποκλεισμού συμμετέχοντα</string>
<string name="title_activity_manage_accounts">Διαχείριση Λογαριασμών</string>
<string name="title_activity_settings">Ρυθμίσεις</string>
<string name="title_activity_sharewith">Διαμοιρασμός με Συζήτηση</string>
@ -51,6 +54,7 @@
<string name="share_with">Διαμοιρασμός με...</string>
<string name="start_conversation">Έναρξη συζήτησης</string>
<string name="invite_contact">Προσκάλεσε επαφή</string>
<string name="invite">Πρόσκληση</string>
<string name="contacts">Επαφές</string>
<string name="contact">Επαφή</string>
<string name="cancel">Ακύρωση</string>
@ -172,8 +176,11 @@
<string name="mgmt_account_are_you_sure">Είστε βέβαιοι;</string>
<string name="mgmt_account_delete_confirm_text">Αν διαγράψετε το λογαριαγμό σας, ολόκληρο το ιστορικό συζήτησης θα χαθεί</string>
<string name="attach_record_voice">Εγγραφή φωνής</string>
<string name="account_settings_jabber_id">Διεύθυνση XMPP</string>
<string name="block_jabber_id">Αποκλεισμός διεύθυνσης XMPP</string>
<string name="account_settings_example_jabber_id">username@example.com</string>
<string name="password">Συνθηματικό</string>
<string name="invalid_jid">Μη έγκυρη διεύθυνση XMPP</string>
<string name="error_out_of_memory">Πλήρης μνήμη. Η εικόνα είναι πολύ μεγάλη</string>
<string name="add_phone_book_text">Θέλετε να προσθέσετε %s στην ατζέντα σας?</string>
<string name="server_info_show_more">Πληροφορίες διακομιστή</string>
@ -208,6 +215,7 @@
<string name="fetching_keys">Ανάσυρση κλειδιών...</string>
<string name="done">Έγινε</string>
<string name="decrypt">Αποκρυπτογράφηση</string>
<string name="bookmarks">Σελιδοδείκτες</string>
<string name="search">Αναζήτηση</string>
<string name="enter_contact">Πρόσθεσε επαφή</string>
<string name="delete_contact">Διαγραφή επαφής</string>
@ -218,11 +226,16 @@
<string name="select">Επιλογή</string>
<string name="contact_already_exists">Η επαφή υπάρχει ήδη</string>
<string name="join">Συμμετοχή</string>
<string name="channel_full_jid_example">channel@conference.example.com/nick</string>
<string name="channel_bare_jid_example">channel@conference.example.com</string>
<string name="save_as_bookmark">Αποθήκευση σαν σελιδοδείκτη</string>
<string name="delete_bookmark">Διαγραφή σελιδοδείκτη</string>
<string name="destroy_room">Καταστροφή ομαδικής συζήτησης</string>
<string name="destroy_channel">Καταστροφή καναλιού</string>
<string name="destroy_room_dialog">Είστε βέβαιοι ότι θέλετε να καταστρέψετε αυτή την ομαδική συζήτηση;\n\n<b>Προσοχή:</b>Η ομαδική συζήτηση θα διαγραφεί οριστικά από τον διακομιστή.</string>
<string name="destroy_channel_dialog">Είστε βέβαιοι ότι θέλετε να καταστρέψετε αυτό το δημόσιο κανάλι;\n\n<b>Προσοχή:</b>Το κανάλι θα διαγραφεί πλήρως από τον διακομιστή.</string>
<string name="could_not_destroy_room">Δεν ήταν δυνατή η καταστροφή της ομαδικής συζήτησης</string>
<string name="could_not_destroy_channel">Δεν ήταν δυνατή η καταστροφή του καναλιού</string>
<string name="bookmark_already_exists">Αυτός ο σελιδοδείκτης υπάρχει ήδη</string>
<string name="action_edit_subject">Επεξεργασία θέματος ομαδικής συζήτησης</string>
<string name="topic">Θέμα</string>
@ -295,6 +308,7 @@
<string name="send_again">Αποστολή ξανά</string>
<string name="file_url">Διεύθυνση URL αρχείου</string>
<string name="url_copied_to_clipboard">Η διεύθυνση URL αντιγράφηκε στο πρόχειρο</string>
<string name="jabber_id_copied_to_clipboard">Αντιγραφή διεύθυνσης XMPP στο πρόχειρο</string>
<string name="error_message_copied_to_clipboard">Το μήνυμα λάθους αντιγράφηκε στο πρόχειρο</string>
<string name="web_address">διεύθυνση ιστού</string>
<string name="scan_qr_code">Σάρωση 2D γραμμοκώδικα</string>
@ -305,6 +319,14 @@
<string name="try_again">Επανάληψη</string>
<string name="pref_keep_foreground_service">Διατήρηση της υπηρεσίας στο προσκήνιο</string>
<string name="pref_keep_foreground_service_summary">Αποτρέπει τον τερματισμό της σύνδεσης από το λειτουργικό σύστημα</string>
<string name="pref_create_backup">Δημιουργία αντιγράφου ασφαλείας</string>
<string name="pref_create_backup_summary">Τα αντίγραφα ασφαλείας θα αποθηκεύονται στο %s</string>
<string name="notification_create_backup_title">Δημιουργία αντιγράφων ασφαλείας</string>
<string name="notification_backup_created_title">Το αντίγραφο ασφαλείας σας έχει δημιουργηθεί</string>
<string name="notification_backup_created_subtitle">Τα αντίγραφα ασφαλείας έχουν αποθηκευτεί στο %s</string>
<string name="restoring_backup">Επαναφορά αντιγράφου ασφαλείας</string>
<string name="notification_restored_backup_title">Έχει γίνει επαναφορά του αντιγράφου ασφαλείας</string>
<string name="notification_restored_backup_subtitle">Μην παραλείψετε να ενεργοποιήσετε τον λογαριασμό.</string>
<string name="choose_file">Επιλογή αρχείου</string>
<string name="receiving_x_file">Λήψη %1$s (ολοκληρώθηκε %2$d%%)</string>
<string name="download_x_file">Μεταφόρτωση του %s</string>
@ -350,14 +372,25 @@
<string name="outcast">Απόκληρος</string>
<string name="member">Μέλος</string>
<string name="advanced_mode">Κατάσταση για προχωρημένους</string>
<string name="grant_membership">Απόδοση δικαιωμάτων μέλους</string>
<string name="remove_membership">Ανάκληση δικαιωμάτων μέλους</string>
<string name="grant_admin_privileges">Απόδοση δικαιωμάτων διαχειριστή</string>
<string name="remove_admin_privileges">Ανάκληση δικαιωμάτων διαχειριστή</string>
<string name="grant_owner_privileges">Απόδοση δικαιωμάτων ιδιοκτήτη</string>
<string name="remove_owner_privileges">Ανάκληση δικαιωμάτων ιδιοκτήτη</string>
<string name="remove_from_room">Αφαίρεση από την ομάδική συζήτηση</string>
<string name="remove_from_channel">Αφαίρεση από το κανάλι</string>
<string name="could_not_change_affiliation">Δεν ήταν δυνατή η αλλαγή του δεσμού της επαφής %s</string>
<string name="ban_from_conference">Αποκλεισμός από την ομαδική συζήτηση</string>
<string name="ban_from_channel">Απαγόρευση από το κανάλι</string>
<string name="removing_from_public_conference">Προσπαθείτε να αφαιρέσετε τον χρήστη %s από ένα δημόσιο κανάλι. Ο μόνος τρόπος να γίνει αυτό είναι να απαγορέψετε την πρόσβαση στον χρήστη για πάντα.</string>
<string name="ban_now">Αποκλεισμός τώρα</string>
<string name="could_not_change_role">Δεν ήταν δυνατή η αλλαγή ρόλου της επαφής %s</string>
<string name="conference_options">Ρύθμιση συζήτησης ιδιωτικής ομάδας</string>
<string name="channel_options">Ρύθμιση δημοσίου καναλιού</string>
<string name="members_only">Ιδιωτική, μόνο για μέλη</string>
<string name="non_anonymous">Ορατότητα διευθύνσεων XMPP από όλους</string>
<string name="moderated">Ορισμός καναλιού ως συντονιζόμενο</string>
<string name="you_are_not_participating">Δεν συμμετέχετε</string>
<string name="modified_conference_options">Μεταβολή των επιλογών ομαδικής συζήτησης!</string>
<string name="could_not_modify_conference_options">Δεν ήταν δυνατή η μεταβολή των επιλογών ομαδικής συζήτησης</string>
@ -392,6 +425,8 @@
<string name="no_application_found_to_display_location">Δεν βρέθηκε εφαρμογή για την απεικόνιση τοποθεσίας</string>
<string name="location">Τοποθεσία</string>
<string name="title_undo_swipe_out_conversation">Η συζήτηση έκλεισε</string>
<string name="title_undo_swipe_out_group_chat">Αποχώρησε από την συζήτηση ιδιωτικής ομάδας</string>
<string name="title_undo_swipe_out_channel">Αποχώρησε από το δημόσιο κανάλι</string>
<string name="pref_dont_trust_system_cas_title">Μη έμπιστες αρχές πιστοποίησης συστήματος</string>
<string name="pref_dont_trust_system_cas_summary">Όλα τα πιστοποιητικά πρέπει να εγκριθούν χειροκίνητα</string>
<string name="pref_remove_trusted_certificates_title">Αφαίρεση πιστοποιητικών</string>
@ -410,6 +445,7 @@
<string name="recently_used">Πιο πρόσφατα χρησιμοποιημένη</string>
<string name="choose_quick_action">Επιλογή γρήγορης ενέργειας</string>
<string name="search_contacts">Αναζήτηση επαφών</string>
<string name="search_bookmarks">Αναζήτηση σελιδοδεικτών</string>
<string name="send_private_message">Αποστολή ιδιωτικού μηνύματος</string>
<string name="user_has_left_conference">Η επαφή %1$s έφυγε από την ομαδική συζήτηση!</string>
<string name="username">Όνομα χρήστη</string>
@ -443,6 +479,7 @@
<string name="captcha_required">Απαραίτηση η χρήση Captcha</string>
<string name="captcha_hint">Εισάγετε το κείμενο από την παραπάνω εικόνα</string>
<string name="certificate_chain_is_not_trusted">Η αλυσίδα του πιστοποιητικού δεν είναι έμπιστη</string>
<string name="jid_does_not_match_certificate">Η διεύθυνση XMPP δεν ταιριάζει με το πιστοποιητικό</string>
<string name="action_renew_certificate">Ανανέωση πιστοποιητικού</string>
<string name="error_fetching_omemo_key">Σφάλμα μεταφόρτωσης κλειδιού OMEMO!</string>
<string name="verified_omemo_key_with_certificate">Επαληθεύτηκε το κλειδί OMEMO με πιστοποιητικό!</string>
@ -492,7 +529,10 @@
<string name="security_error_invalid_file_access">Σφάλμα ασφάλειας: Μη έγκυρη πρόσβαση σε αρχείο</string>
<string name="no_application_to_share_uri">Δεν βρέθηκε εφαρμογή για να μοιραστείτε την διεύθυνση URI</string>
<string name="share_uri_with">Διαμοιρασμός της διεύθυνσης URI με...</string>
<string name="welcome_text_quicksy"><![CDATA[Το Quicksy είναι ένα παρακλάδι του δημοφιλούς προγράμματος XMPP Conversations με αυτόματη εύρεση επαφών.<br><br>Εγγράφεστε με τον τηλεφωνικό σας αριθμό και το Quicksy αυτόματα — με βάση τους τηλεφωνικούς αριθμούς στο βιβλίο διευθύνσεών σας — προτείνει πιθανές επαφές για εσάς.<br><br>Με την εγγραφή σας συμφωνείτε με την <a href="https://quicksy.im/#privacy">πολιτική απορρήτου</a> μας.]]></string>
<string name="agree_and_continue">Συμφωνώ &amp; προχωρήστε</string>
<string name="magic_create_text">Θα σας καθοδηγήσουμε στη διαδικασία δημιουργίας ενός λογαριασμού στο Conversations.im.¹\nΕπιλέγοντας το conversations.im ως πάροχο θα μπορείτε να επικοινωνείτε με χρήστες άλλων παρόχων δίνοντάς τους την πλήρη ταυτότητα XMPP σας.</string>
<string name="your_full_jid_will_be">Η πλήρης ταυτότητα XMPP σας θα είναι: %s</string>
<string name="create_account">Δημιουργία λογαριασμού</string>
<string name="use_own_provider">Χρήση του δικού μου παρόχου</string>
<string name="pick_your_username">Επιλογή ονόματος χρήστη</string>
@ -624,6 +664,7 @@
<string name="yesterday">Χτες</string>
<string name="pref_validate_hostname">Επαλήθευση ονόματος μηχανήματος με χρήση DNSSEC</string>
<string name="pref_validate_hostname_summary">Τα πιστοποιητικά διακομιστή που περιέχουν το επικυρωμένο όνομα μηχανήματος θεωρούνται επαληθευμένα</string>
<string name="certificate_does_not_contain_jid">Το πιστοποιητικό δεν περιέχει ταυτότητα XMPP</string>
<string name="server_info_partial">μερικώς</string>
<string name="attach_record_video">Εγγραφή βίντεο</string>
<string name="copy_to_clipboard">Αντιγραφή στο πρόχειρο</string>
@ -685,6 +726,7 @@
<string name="pref_use_share_location_plugin">Πρόσθετο διαμοιρασμού τοποθεσίας</string>
<string name="pref_use_share_location_plugin_summary">Χρήση του πρόσθετου διαμοιρασμού τοποθεσίας αντί για τον ενσωματωμένο χάρτη</string>
<string name="copy_link">Αντιγραφή διεύθυνσης ιστού</string>
<string name="copy_jabber_id">Αντιγραφή ταυτότητας XMPP</string>
<string name="p1_s3_filetransfer">Διαμοιρασμός αρχείων μέσω HTTP για S3</string>
<string name="pref_start_search">Άμεση αναζήτηση</string>
<string name="pref_start_search_summary">Άνοιγμα πληκτρολογίου και τοποθέτηση του δείκτη στο πεδίο αναζήτησης στην οθόνη \'Έναρξη συζήτησης\'</string>
@ -711,6 +753,8 @@
<string name="pref_more_notification_settings_summary">Σημασία, Ήχος, Δόνηση</string>
<string name="video_compression_channel_name">Συμπίεση βίντεο</string>
<string name="view_media">Εμφάνιση μέσου</string>
<string name="view_users">Εμφάνιση συμμετεχόντων</string>
<string name="group_chat_members">Συμμετέχοντες</string>
<string name="media_browser">Περιηγητης μέσων</string>
<string name="security_violation_not_attaching_file">Το αρχείο παραλείπεται λόγω παραβίασης ασφάλειας.</string>
<string name="pref_video_compression">Ποιότητα βίντεο</string>
@ -769,7 +813,64 @@
<string name="install_orbot">Εγκατάσταση Orbot</string>
<string name="start_orbot">Εκκίνηση Orbot</string>
<string name="no_market_app_installed">Δεν υπάρχει εγκατεστημένη εφαργμογή διαχείρισης εφαρμογών.</string>
<string name="group_chat_will_make_your_jabber_id_public">Αυτή η ομαδική συζήτηση θα κάνει την ταυτότητά XMPP σας δημόσια</string>
<string name="ebook">ηλεκτρονικό βιβλίο</string>
<string name="video_original">Αρχικό (μη συμπιεσμένο)</string>
<string name="open_with">Άνοιγμα με...</string>
<string name="set_profile_picture">Φωτογραφία προφίλ του Conversations</string>
<string name="choose_account">Επιλογή λογαριασμού</string>
<string name="restore_backup">Επαναφορά αντιγράφου ασφαλείας</string>
<string name="restore">Επαναφορά</string>
<string name="enter_password_to_restore">Εισάγετε τον κωδικό σας για τον λογαριασμό %s για να επαναφέρετε το αντίγραφο ασφαλείας.</string>
<string name="restore_warning">Μην χρησιμοποιείτε τη λειτουργία επαναφοράς αντιγράφων ασφαλείας για να κλωνοποιήσετε (ταυτόχρονη εκτέλεση) μια εγκατάσταση. Η επαναφορά αντιγράφου ασφαλείας προσφέρεται μόνο για μεταφορές ή σε περίπτωση που έχετε χάσει την αρχική συσκευή.</string>
<string name="unable_to_restore_backup">Αδυναμία επαναφοράς αντιγράφου ασφαλείας.</string>
<string name="unable_to_decrypt_backup">Αδυναμία αποκρυπτογράφησης του αντιγράφου ασφαλείας. Είναι ο κωδικός σωστός;</string>
<string name="backup_channel_name">Δημιουργία &amp; Επαναφορά αντιγράφων ασφαλείας</string>
<string name="enter_jabber_id">Εισάγετε τη διεύθυνση XMPP</string>
<string name="create_group_chat">Δημιουργία ομαδικής συζήτησης</string>
<string name="join_public_channel">Είσοδος σε δημόσιο κανάλι</string>
<string name="create_private_group_chat">Δημιουργία συζήτησης ιδιωτικής ομάδας</string>
<string name="create_public_channel">Δημιουργία δημόσιου καναλιού</string>
<string name="create_dialog_channel_name">Όνομα καναλιού</string>
<string name="xmpp_address">Διεύθυνση XMPP</string>
<string name="please_enter_name">Παρακαλώ εισάγετε ένα όνομα για το κανάλι</string>
<string name="please_enter_xmpp_address">Παρακαλώ εισάγετε μια διεύθυνση XMPP</string>
<string name="this_is_an_xmpp_address">Αυτή είναι μια διεύθυνση XMPP. Παρακαλώ εισάγετε ένα όνομα.</string>
<string name="creating_channel">Δημιουργία δημόσιου καναλιού...</string>
<string name="channel_already_exists">Αυτό το κανάλι υπάρχει ήδη</string>
<string name="joined_an_existing_channel">Έχετε εισέρθει σε ένα προϋπάρχον κανάλι</string>
<string name="unable_to_set_channel_configuration">Αδυναμία ορισμού ρυθμίσεων καναλιού</string>
<string name="allow_participants_to_edit_subject">Αλλαγή θέματος από οποιονδήποτε</string>
<string name="allow_participants_to_invite_others">Πρόσκληση άλλων χρηστών από οποιονδήποτε</string>
<string name="anyone_can_edit_subject">Οποιοσδήποτε μπορεί να αλλάξει το θέμα.</string>
<string name="owners_can_edit_subject">Οι ιδιοκτήτες μπορούν να διορθώσουν το θέμα.</string>
<string name="admins_can_edit_subject">Οι διαχειριστές μπορούν να διορθώσουν το θέμα.</string>
<string name="owners_can_invite_others">Οι ιδιοκτήτες μπορούν να προσκαλούν άλλους χρήστες.</string>
<string name="anyone_can_invite_others">Οποιοσδήποτε μπορεί να προσκαλεί άλλους χρήστες.</string>
<string name="jabber_ids_are_visible_to_admins">Οι διευθύνσεις XMPP είναι ορατές στους διαχειριστές.</string>
<string name="jabber_ids_are_visible_to_anyone">Οι διευθύνσεις XMPP είναι ορατές σε όλους.</string>
<string name="no_users_hint_channel">Αυτό το δημόσιο κανάλι δεν έχει συμμετέχοντες. Προσκαλέστε τις επαφές σας ή χρησιμοποιήστε το κουμπί διαμοιρασμού για να διαδώσετε τη διεύθυνση XMPP του.</string>
<string name="no_users_hint_group_chat">Αυτή η συζήτησης ιδιωτικής ομάδας δεν έχει συμμετέχοντες.</string>
<string name="manage_permission">Διαχείριση δικαιωμάτων</string>
<string name="search_participants">Αναζήτηση συμμετεχόντων</string>
<string name="file_too_large">Το αρχείο είναι πολύ μεγάλο</string>
<string name="attach">Επισύναψη</string>
<string name="discover_channels">Ανακάλυψη καναλιών</string>
<string name="search_channels">Αναζήτηση καναλιών</string>
<string name="channel_discovery_opt_in_title">Πιθανή παραβίαση ιδιωτικότητας!</string>
<string name="channel_discover_opt_in_message"><![CDATA[Η ανακάλυψη καναλιού χρησιμοποιεί μια τρίτη υπηρεσία που λέγεται <a href="https://search.jabbercat.org">search.jabbercat.org</a>.<br><br>Χρησιμοποιώντας αυτή τη λειτουργία θα μεταβιβαστεί η διεύθυνση IP σας και οι όροι αναζήτησης σε αυτή την υπηρεσία. Δείτε την <a href="https://search.jabbercat.org/privacy">Πολιτική Ιδιωτικότητας</a> της για περισσότερες πληροφορίες.]]></string>
<string name="i_already_have_an_account">Έχω ήδη λογαριασμό</string>
<string name="add_existing_account">Προσθήκη υπάρχοντος λογαριασμού</string>
<string name="register_new_account">Εγγραφή νέου λογαριασμού</string>
<string name="this_looks_like_a_domain">Αυτό μοιάζει με διεύθυνση τομέα</string>
<string name="add_anway">Προσθήκη έτσι κι αλλιώς</string>
<string name="this_looks_like_channel">Αυτό μοιάζει με διεύθυνση καναλιού</string>
<string name="share_backup_files">Διαμοιρασμός αντιγράφων ασφαλείας</string>
<string name="conversations_backup">Αντίγραφο Conversations</string>
<string name="event">Γεγονός</string>
<string name="open_backup">Άνοιγμα αντιγράφου ασφαλείας</string>
<string name="not_a_backup_file">Το αρχείο που επιλέξατε δεν είναι αντίγραφο ασφαλείας του Conversations</string>
<string name="account_already_setup">Αυτός ο λογαριασμός έχει προστεθεί ήδη</string>
<string name="please_enter_password">Παρακαλώ εισάγετε τον κωδικό για αυτό το λογαριασμό</string>
<string name="unable_to_perform_this_action">Αδυναμία εκτέλεσης αυτής της λειτουργίας</string>
</resources>

View File

@ -864,4 +864,12 @@
<string name="this_looks_like_a_domain">Questo sembra un indirizzo di dominio</string>
<string name="add_anway">Aggiungere comunque</string>
<string name="this_looks_like_channel">Questo sembra un indirizzo di canale</string>
<string name="share_backup_files">Condividi file di backup</string>
<string name="conversations_backup">Backup di Conversations</string>
<string name="event">Evento</string>
<string name="open_backup">Apri backup</string>
<string name="not_a_backup_file">Il file selezionato non è un file di backup di Conversations</string>
<string name="account_already_setup">Questo account è già stato configurato</string>
<string name="please_enter_password">Inserisci la password per questo account</string>
<string name="unable_to_perform_this_action">Impossibile eseguire questa azione</string>
</resources>

View File

@ -697,4 +697,6 @@
<string name="create_private_group_chat">Создать закрытую конференцию</string>
<string name="create_public_channel">Создать публичный канал</string>
<string name="discover_channels">Найти каналы</string>
<string name="i_already_have_an_account">У меня уже есть аккаунт</string>
<string name="add_existing_account">Добавить существующий аккаунт</string>
</resources>

View File

@ -18,4 +18,9 @@
<string name="error_trustkey_general">Το Quicksy αδυνατεί να στείλει κρυπτογραφημένα μηνύματα στην επαφή %1$s. Αυτό μπορεί να συμβαίνει γιατί η επαφή σας χρησιμοποιεί παλιότερο διακομιστή ή πρόγραμμα που δε μπορεί να χειριστεί κρυπτογράφηση OMEMO.</string>
<string name="no_microphone_permission">Το Quicksy χρειάζεται πρόσβαση στο μικρόφωνο</string>
<string name="foreground_service_channel_description">Αυτή η κατηγορία ειδοποιήσεων χρησιμοποιείται για την εμφάνιση μιας μόνιμης ειδοποίησης που δείχνει πως εκτελείται το Quicksy.</string>
</resources>
<string name="set_profile_picture">Φωτογραφία προφίλ του quicksy</string>
<string name="not_available_in_your_country">Το quicksy δεν είναι διαθέσιμο στην χώρα σας.</string>
<string name="unable_to_verify_server_identity">Αδυναμία επαλήθευσης της ταυτότητας του διακομιστή.</string>
<string name="unknown_security_error">Άγνωστο σφάλμα ασφάλειας.</string>
<string name="timeout_while_connecting_to_server">Λήξη χρονικού ορίου κατά τη σύνδεση στον διακομιστή.</string>
</resources>

View File

@ -20,4 +20,7 @@
<string name="foreground_service_channel_description">Questa categoria di notifiche è usata per mostrare una notifica permanente per indicare che Quicksy è in esecuzione.</string>
<string name="set_profile_picture">Immagine profilo di Quicksy</string>
<string name="not_available_in_your_country">Quicksy non è disponibile nella tua nazione.</string>
</resources>
<string name="unable_to_verify_server_identity">Impossibile verificare l\'identità del server.</string>
<string name="unknown_security_error">Errore di sicurezza sconosciuto.</string>
<string name="timeout_while_connecting_to_server">Tentativo di connessione al server scaduto.</string>
</resources>