diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6f484990f..56d2bf476 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -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
diff --git a/build.gradle b/build.gradle
index e2f592ee4..dbc1a9495 100644
--- a/build.gradle
+++ b/build.gradle
@@ -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
diff --git a/src/conversations/res/values-el/strings.xml b/src/conversations/res/values-el/strings.xml
new file mode 100644
index 000000000..8250d30ab
--- /dev/null
+++ b/src/conversations/res/values-el/strings.xml
@@ -0,0 +1,9 @@
+
+
+ Επιλέξτε τον πάροχο XMPP σας
+ Χρήση του conversations.im
+ Δημιουργία νέου λογαριασμού
+ Έχετε ήδη λογαριασμό XMPP; Αυτό μπορεί να συμβαίνει αν ήδη χρησιμοποιείτε ένα άλλο πρόγραμμα XMPP ή έχετε χρησιμοποιήσει το Conversations παλιότερα. Αν όχι, μπορείτε να δημιουργήσετε ένα νέο λογαριασμό XMPP τώρα.\nΧρήσιμη πληροφορία: Κάποιοι πάροχοι e-mail παρέχουν επίσης και λογαριασμούς XMPP.
+ Το XMPP είναι ένα δίκτυο άμεσης ανταλλαγής μηνυμάτων ανεξάρτητο παρόχου. Μπορείτε να χρησιμοποιήσετε αυτό το πρόγραμμα με όποιον διακομιστή XMPP επιθυμείτε.\nΓια διευκόλυνση πάντως μπορείτε να δημιουργήσετε έναν λογαριασμό στο conversations.im¹, έναν πάροχο ειδικά σχεδιασμένο για χρήση με το Conversations.
+
+
\ No newline at end of file
diff --git a/src/main/java/eu/siacs/conversations/ui/AboutActivity.java b/src/main/java/eu/siacs/conversations/ui/AboutActivity.java
index e8435efdc..2d281a9e2 100644
--- a/src/main/java/eu/siacs/conversations/ui/AboutActivity.java
+++ b/src/main/java/eu/siacs/conversations/ui/AboutActivity.java
@@ -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)));
}
}
diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java b/src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java
index 815278420..72d6b3006 100644
--- a/src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java
+++ b/src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java
@@ -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";
diff --git a/src/main/java/eu/siacs/conversations/ui/ShareWithActivity.java b/src/main/java/eu/siacs/conversations/ui/ShareWithActivity.java
index 83b0bebcc..0ec7abd9a 100644
--- a/src/main/java/eu/siacs/conversations/ui/ShareWithActivity.java
+++ b/src/main/java/eu/siacs/conversations/ui/ShareWithActivity.java
@@ -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 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();
diff --git a/src/main/java/eu/siacs/conversations/ui/util/ShareUtil.java b/src/main/java/eu/siacs/conversations/ui/util/ShareUtil.java
index a48e8d6a2..89dbd0a25 100644
--- a/src/main/java/eu/siacs/conversations/ui/util/ShareUtil.java
+++ b/src/main/java/eu/siacs/conversations/ui/util/ShareUtil.java
@@ -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 {
diff --git a/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java b/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java
index add83d0b7..6b1f95998 100644
--- a/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java
+++ b/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java
@@ -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) {
diff --git a/src/main/java/eu/siacs/conversations/xmpp/jingle/JingleConnection.java b/src/main/java/eu/siacs/conversations/xmpp/jingle/JingleConnection.java
index e44d85056..d06c2469f 100644
--- a/src/main/java/eu/siacs/conversations/xmpp/jingle/JingleConnection.java
+++ b/src/main/java/eu/siacs/conversations/xmpp/jingle/JingleConnection.java
@@ -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);
diff --git a/src/main/java/eu/siacs/conversations/xmpp/jingle/JingleInbandTransport.java b/src/main/java/eu/siacs/conversations/xmpp/jingle/JingleInbandTransport.java
index 34bf5412e..276040979 100644
--- a/src/main/java/eu/siacs/conversations/xmpp/jingle/JingleInbandTransport.java
+++ b/src/main/java/eu/siacs/conversations/xmpp/jingle/JingleInbandTransport.java
@@ -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();
}
diff --git a/src/main/res/values-el/strings.xml b/src/main/res/values-el/strings.xml
index 1beea1c3c..126c7f901 100644
--- a/src/main/res/values-el/strings.xml
+++ b/src/main/res/values-el/strings.xml
@@ -7,6 +7,7 @@
Κλείσιμο συζήτησης
Λεπτομέρειες επαφής
Λεπτομέρειες ομαδικής συζήτησης
+ Λεπτομέρειες καναλιού
Ασφαλής συζήτηση
Προσθήκη λογαριασμού
Επεξεργασία ονόματος
@@ -16,6 +17,8 @@
Άρση αποκλεισμού επαφής
Αποκλεισμός τομέα
Άρση αποκλεισμού τομέα
+ Αποκλεισμός συμμετέχοντα
+ Αναίρεση αποκλεισμού συμμετέχοντα
Διαχείριση Λογαριασμών
Ρυθμίσεις
Διαμοιρασμός με Συζήτηση
@@ -51,6 +54,7 @@
Διαμοιρασμός με...
Έναρξη συζήτησης
Προσκάλεσε επαφή
+ Πρόσκληση
Επαφές
Επαφή
Ακύρωση
@@ -172,8 +176,11 @@
Είστε βέβαιοι;
Αν διαγράψετε το λογαριαγμό σας, ολόκληρο το ιστορικό συζήτησης θα χαθεί
Εγγραφή φωνής
+ Διεύθυνση XMPP
+ Αποκλεισμός διεύθυνσης XMPP
username@example.com
Συνθηματικό
+ Μη έγκυρη διεύθυνση XMPP
Πλήρης μνήμη. Η εικόνα είναι πολύ μεγάλη
Θέλετε να προσθέσετε %s στην ατζέντα σας?
Πληροφορίες διακομιστή
@@ -208,6 +215,7 @@
Ανάσυρση κλειδιών...
Έγινε
Αποκρυπτογράφηση
+ Σελιδοδείκτες
Αναζήτηση
Πρόσθεσε επαφή
Διαγραφή επαφής
@@ -218,11 +226,16 @@
Επιλογή
Η επαφή υπάρχει ήδη
Συμμετοχή
+ channel@conference.example.com/nick
+ channel@conference.example.com
Αποθήκευση σαν σελιδοδείκτη
Διαγραφή σελιδοδείκτη
Καταστροφή ομαδικής συζήτησης
+ Καταστροφή καναλιού
Είστε βέβαιοι ότι θέλετε να καταστρέψετε αυτή την ομαδική συζήτηση;\n\nΠροσοχή:Η ομαδική συζήτηση θα διαγραφεί οριστικά από τον διακομιστή.
+ Είστε βέβαιοι ότι θέλετε να καταστρέψετε αυτό το δημόσιο κανάλι;\n\nΠροσοχή:Το κανάλι θα διαγραφεί πλήρως από τον διακομιστή.
Δεν ήταν δυνατή η καταστροφή της ομαδικής συζήτησης
+ Δεν ήταν δυνατή η καταστροφή του καναλιού
Αυτός ο σελιδοδείκτης υπάρχει ήδη
Επεξεργασία θέματος ομαδικής συζήτησης
Θέμα
@@ -295,6 +308,7 @@
Αποστολή ξανά
Διεύθυνση URL αρχείου
Η διεύθυνση URL αντιγράφηκε στο πρόχειρο
+ Αντιγραφή διεύθυνσης XMPP στο πρόχειρο
Το μήνυμα λάθους αντιγράφηκε στο πρόχειρο
διεύθυνση ιστού
Σάρωση 2D γραμμοκώδικα
@@ -305,6 +319,14 @@
Επανάληψη
Διατήρηση της υπηρεσίας στο προσκήνιο
Αποτρέπει τον τερματισμό της σύνδεσης από το λειτουργικό σύστημα
+ Δημιουργία αντιγράφου ασφαλείας
+ Τα αντίγραφα ασφαλείας θα αποθηκεύονται στο %s
+ Δημιουργία αντιγράφων ασφαλείας
+ Το αντίγραφο ασφαλείας σας έχει δημιουργηθεί
+ Τα αντίγραφα ασφαλείας έχουν αποθηκευτεί στο %s
+ Επαναφορά αντιγράφου ασφαλείας
+ Έχει γίνει επαναφορά του αντιγράφου ασφαλείας
+ Μην παραλείψετε να ενεργοποιήσετε τον λογαριασμό.
Επιλογή αρχείου
Λήψη %1$s (ολοκληρώθηκε %2$d%%)
Μεταφόρτωση του %s
@@ -350,14 +372,25 @@
Απόκληρος
Μέλος
Κατάσταση για προχωρημένους
+ Απόδοση δικαιωμάτων μέλους
+ Ανάκληση δικαιωμάτων μέλους
Απόδοση δικαιωμάτων διαχειριστή
Ανάκληση δικαιωμάτων διαχειριστή
+ Απόδοση δικαιωμάτων ιδιοκτήτη
+ Ανάκληση δικαιωμάτων ιδιοκτήτη
Αφαίρεση από την ομάδική συζήτηση
+ Αφαίρεση από το κανάλι
Δεν ήταν δυνατή η αλλαγή του δεσμού της επαφής %s
Αποκλεισμός από την ομαδική συζήτηση
+ Απαγόρευση από το κανάλι
+ Προσπαθείτε να αφαιρέσετε τον χρήστη %s από ένα δημόσιο κανάλι. Ο μόνος τρόπος να γίνει αυτό είναι να απαγορέψετε την πρόσβαση στον χρήστη για πάντα.
Αποκλεισμός τώρα
Δεν ήταν δυνατή η αλλαγή ρόλου της επαφής %s
+ Ρύθμιση συζήτησης ιδιωτικής ομάδας
+ Ρύθμιση δημοσίου καναλιού
Ιδιωτική, μόνο για μέλη
+ Ορατότητα διευθύνσεων XMPP από όλους
+ Ορισμός καναλιού ως συντονιζόμενο
Δεν συμμετέχετε
Μεταβολή των επιλογών ομαδικής συζήτησης!
Δεν ήταν δυνατή η μεταβολή των επιλογών ομαδικής συζήτησης
@@ -392,6 +425,8 @@
Δεν βρέθηκε εφαρμογή για την απεικόνιση τοποθεσίας
Τοποθεσία
Η συζήτηση έκλεισε
+ Αποχώρησε από την συζήτηση ιδιωτικής ομάδας
+ Αποχώρησε από το δημόσιο κανάλι
Μη έμπιστες αρχές πιστοποίησης συστήματος
Όλα τα πιστοποιητικά πρέπει να εγκριθούν χειροκίνητα
Αφαίρεση πιστοποιητικών
@@ -410,6 +445,7 @@
Πιο πρόσφατα χρησιμοποιημένη
Επιλογή γρήγορης ενέργειας
Αναζήτηση επαφών
+ Αναζήτηση σελιδοδεικτών
Αποστολή ιδιωτικού μηνύματος
Η επαφή %1$s έφυγε από την ομαδική συζήτηση!
Όνομα χρήστη
@@ -443,6 +479,7 @@
Απαραίτηση η χρήση Captcha
Εισάγετε το κείμενο από την παραπάνω εικόνα
Η αλυσίδα του πιστοποιητικού δεν είναι έμπιστη
+ Η διεύθυνση XMPP δεν ταιριάζει με το πιστοποιητικό
Ανανέωση πιστοποιητικού
Σφάλμα μεταφόρτωσης κλειδιού OMEMO!
Επαληθεύτηκε το κλειδί OMEMO με πιστοποιητικό!
@@ -492,7 +529,10 @@
Σφάλμα ασφάλειας: Μη έγκυρη πρόσβαση σε αρχείο
Δεν βρέθηκε εφαρμογή για να μοιραστείτε την διεύθυνση URI
Διαμοιρασμός της διεύθυνσης URI με...
+
Εγγράφεστε με τον τηλεφωνικό σας αριθμό και το Quicksy αυτόματα — με βάση τους τηλεφωνικούς αριθμούς στο βιβλίο διευθύνσεών σας — προτείνει πιθανές επαφές για εσάς.
Με την εγγραφή σας συμφωνείτε με την πολιτική απορρήτου μας.]]>
Συμφωνώ & προχωρήστε
+ Θα σας καθοδηγήσουμε στη διαδικασία δημιουργίας ενός λογαριασμού στο Conversations.im.¹\nΕπιλέγοντας το conversations.im ως πάροχο θα μπορείτε να επικοινωνείτε με χρήστες άλλων παρόχων δίνοντάς τους την πλήρη ταυτότητα XMPP σας.
+ Η πλήρης ταυτότητα XMPP σας θα είναι: %s
Δημιουργία λογαριασμού
Χρήση του δικού μου παρόχου
Επιλογή ονόματος χρήστη
@@ -624,6 +664,7 @@
Χτες
Επαλήθευση ονόματος μηχανήματος με χρήση DNSSEC
Τα πιστοποιητικά διακομιστή που περιέχουν το επικυρωμένο όνομα μηχανήματος θεωρούνται επαληθευμένα
+ Το πιστοποιητικό δεν περιέχει ταυτότητα XMPP
μερικώς
Εγγραφή βίντεο
Αντιγραφή στο πρόχειρο
@@ -685,6 +726,7 @@
Πρόσθετο διαμοιρασμού τοποθεσίας
Χρήση του πρόσθετου διαμοιρασμού τοποθεσίας αντί για τον ενσωματωμένο χάρτη
Αντιγραφή διεύθυνσης ιστού
+ Αντιγραφή ταυτότητας XMPP
Διαμοιρασμός αρχείων μέσω HTTP για S3
Άμεση αναζήτηση
Άνοιγμα πληκτρολογίου και τοποθέτηση του δείκτη στο πεδίο αναζήτησης στην οθόνη \'Έναρξη συζήτησης\'
@@ -711,6 +753,8 @@
Σημασία, Ήχος, Δόνηση
Συμπίεση βίντεο
Εμφάνιση μέσου
+ Εμφάνιση συμμετεχόντων
+ Συμμετέχοντες
Περιηγητης μέσων
Το αρχείο παραλείπεται λόγω παραβίασης ασφάλειας.
Ποιότητα βίντεο
@@ -769,7 +813,64 @@
Εγκατάσταση Orbot
Εκκίνηση Orbot
Δεν υπάρχει εγκατεστημένη εφαργμογή διαχείρισης εφαρμογών.
+ Αυτή η ομαδική συζήτηση θα κάνει την ταυτότητά XMPP σας δημόσια
ηλεκτρονικό βιβλίο
Αρχικό (μη συμπιεσμένο)
Άνοιγμα με...
+ Φωτογραφία προφίλ του Conversations
+ Επιλογή λογαριασμού
+ Επαναφορά αντιγράφου ασφαλείας
+ Επαναφορά
+ Εισάγετε τον κωδικό σας για τον λογαριασμό %s για να επαναφέρετε το αντίγραφο ασφαλείας.
+ Μην χρησιμοποιείτε τη λειτουργία επαναφοράς αντιγράφων ασφαλείας για να κλωνοποιήσετε (ταυτόχρονη εκτέλεση) μια εγκατάσταση. Η επαναφορά αντιγράφου ασφαλείας προσφέρεται μόνο για μεταφορές ή σε περίπτωση που έχετε χάσει την αρχική συσκευή.
+ Αδυναμία επαναφοράς αντιγράφου ασφαλείας.
+ Αδυναμία αποκρυπτογράφησης του αντιγράφου ασφαλείας. Είναι ο κωδικός σωστός;
+ Δημιουργία & Επαναφορά αντιγράφων ασφαλείας
+ Εισάγετε τη διεύθυνση XMPP
+ Δημιουργία ομαδικής συζήτησης
+ Είσοδος σε δημόσιο κανάλι
+ Δημιουργία συζήτησης ιδιωτικής ομάδας
+ Δημιουργία δημόσιου καναλιού
+ Όνομα καναλιού
+ Διεύθυνση XMPP
+ Παρακαλώ εισάγετε ένα όνομα για το κανάλι
+ Παρακαλώ εισάγετε μια διεύθυνση XMPP
+ Αυτή είναι μια διεύθυνση XMPP. Παρακαλώ εισάγετε ένα όνομα.
+ Δημιουργία δημόσιου καναλιού...
+ Αυτό το κανάλι υπάρχει ήδη
+ Έχετε εισέρθει σε ένα προϋπάρχον κανάλι
+ Αδυναμία ορισμού ρυθμίσεων καναλιού
+ Αλλαγή θέματος από οποιονδήποτε
+ Πρόσκληση άλλων χρηστών από οποιονδήποτε
+ Οποιοσδήποτε μπορεί να αλλάξει το θέμα.
+ Οι ιδιοκτήτες μπορούν να διορθώσουν το θέμα.
+ Οι διαχειριστές μπορούν να διορθώσουν το θέμα.
+ Οι ιδιοκτήτες μπορούν να προσκαλούν άλλους χρήστες.
+ Οποιοσδήποτε μπορεί να προσκαλεί άλλους χρήστες.
+ Οι διευθύνσεις XMPP είναι ορατές στους διαχειριστές.
+ Οι διευθύνσεις XMPP είναι ορατές σε όλους.
+ Αυτό το δημόσιο κανάλι δεν έχει συμμετέχοντες. Προσκαλέστε τις επαφές σας ή χρησιμοποιήστε το κουμπί διαμοιρασμού για να διαδώσετε τη διεύθυνση XMPP του.
+ Αυτή η συζήτησης ιδιωτικής ομάδας δεν έχει συμμετέχοντες.
+ Διαχείριση δικαιωμάτων
+ Αναζήτηση συμμετεχόντων
+ Το αρχείο είναι πολύ μεγάλο
+ Επισύναψη
+ Ανακάλυψη καναλιών
+ Αναζήτηση καναλιών
+ Πιθανή παραβίαση ιδιωτικότητας!
+ search.jabbercat.org.
Χρησιμοποιώντας αυτή τη λειτουργία θα μεταβιβαστεί η διεύθυνση IP σας και οι όροι αναζήτησης σε αυτή την υπηρεσία. Δείτε την Πολιτική Ιδιωτικότητας της για περισσότερες πληροφορίες.]]>
+ Έχω ήδη λογαριασμό
+ Προσθήκη υπάρχοντος λογαριασμού
+ Εγγραφή νέου λογαριασμού
+ Αυτό μοιάζει με διεύθυνση τομέα
+ Προσθήκη έτσι κι αλλιώς
+ Αυτό μοιάζει με διεύθυνση καναλιού
+ Διαμοιρασμός αντιγράφων ασφαλείας
+ Αντίγραφο Conversations
+ Γεγονός
+ Άνοιγμα αντιγράφου ασφαλείας
+ Το αρχείο που επιλέξατε δεν είναι αντίγραφο ασφαλείας του Conversations
+ Αυτός ο λογαριασμός έχει προστεθεί ήδη
+ Παρακαλώ εισάγετε τον κωδικό για αυτό το λογαριασμό
+ Αδυναμία εκτέλεσης αυτής της λειτουργίας
diff --git a/src/main/res/values-it/strings.xml b/src/main/res/values-it/strings.xml
index 460751b5b..aaf7a75e6 100644
--- a/src/main/res/values-it/strings.xml
+++ b/src/main/res/values-it/strings.xml
@@ -864,4 +864,12 @@
Questo sembra un indirizzo di dominio
Aggiungere comunque
Questo sembra un indirizzo di canale
+ Condividi file di backup
+ Backup di Conversations
+ Evento
+ Apri backup
+ Il file selezionato non è un file di backup di Conversations
+ Questo account è già stato configurato
+ Inserisci la password per questo account
+ Impossibile eseguire questa azione
diff --git a/src/main/res/values-ru/strings.xml b/src/main/res/values-ru/strings.xml
index 28a174106..18c6c61e5 100644
--- a/src/main/res/values-ru/strings.xml
+++ b/src/main/res/values-ru/strings.xml
@@ -697,4 +697,6 @@
Создать закрытую конференцию
Создать публичный канал
Найти каналы
+ У меня уже есть аккаунт
+ Добавить существующий аккаунт
diff --git a/src/quicksy/res/values-el/strings.xml b/src/quicksy/res/values-el/strings.xml
index eff238f07..4297e2448 100644
--- a/src/quicksy/res/values-el/strings.xml
+++ b/src/quicksy/res/values-el/strings.xml
@@ -18,4 +18,9 @@
Το Quicksy αδυνατεί να στείλει κρυπτογραφημένα μηνύματα στην επαφή %1$s. Αυτό μπορεί να συμβαίνει γιατί η επαφή σας χρησιμοποιεί παλιότερο διακομιστή ή πρόγραμμα που δε μπορεί να χειριστεί κρυπτογράφηση OMEMO.
Το Quicksy χρειάζεται πρόσβαση στο μικρόφωνο
Αυτή η κατηγορία ειδοποιήσεων χρησιμοποιείται για την εμφάνιση μιας μόνιμης ειδοποίησης που δείχνει πως εκτελείται το Quicksy.
-
+ Φωτογραφία προφίλ του quicksy
+ Το quicksy δεν είναι διαθέσιμο στην χώρα σας.
+ Αδυναμία επαλήθευσης της ταυτότητας του διακομιστή.
+ Άγνωστο σφάλμα ασφάλειας.
+ Λήξη χρονικού ορίου κατά τη σύνδεση στον διακομιστή.
+
diff --git a/src/quicksy/res/values-it/strings.xml b/src/quicksy/res/values-it/strings.xml
index ff5985ec0..963885d78 100644
--- a/src/quicksy/res/values-it/strings.xml
+++ b/src/quicksy/res/values-it/strings.xml
@@ -20,4 +20,7 @@
Questa categoria di notifiche è usata per mostrare una notifica permanente per indicare che Quicksy è in esecuzione.
Immagine profilo di Quicksy
Quicksy non è disponibile nella tua nazione.
-
+ Impossibile verificare l\'identità del server.
+ Errore di sicurezza sconosciuto.
+ Tentativo di connessione al server scaduto.
+