aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md5
-rw-r--r--build.gradle4
-rw-r--r--src/main/java/eu/siacs/conversations/crypto/OtrService.java40
-rw-r--r--src/main/java/eu/siacs/conversations/entities/Account.java89
-rw-r--r--src/main/java/eu/siacs/conversations/entities/MucOptions.java1
-rw-r--r--src/main/java/eu/siacs/conversations/generator/MessageGenerator.java4
-rw-r--r--src/main/java/eu/siacs/conversations/parser/MessageParser.java39
-rw-r--r--src/main/java/eu/siacs/conversations/services/XmppConnectionService.java6
-rw-r--r--src/main/java/eu/siacs/conversations/ui/WelcomeActivity.java6
-rw-r--r--src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java19
-rw-r--r--src/main/res/layout/magic_create.xml13
-rw-r--r--src/main/res/layout/welcome.xml13
-rw-r--r--src/main/res/values-ar/strings.xml1
-rw-r--r--src/main/res/values-bg/strings.xml12
-rw-r--r--src/main/res/values-ca/strings.xml1
-rw-r--r--src/main/res/values-cs/strings.xml13
-rw-r--r--src/main/res/values-de/strings.xml15
-rw-r--r--src/main/res/values-el/strings.xml1
-rw-r--r--src/main/res/values-es/strings.xml13
-rw-r--r--src/main/res/values-eu/strings.xml15
-rw-r--r--src/main/res/values-fr/strings.xml20
-rw-r--r--src/main/res/values-id/strings.xml1
-rw-r--r--src/main/res/values-it/strings.xml13
-rw-r--r--src/main/res/values-iw/strings.xml1
-rw-r--r--src/main/res/values-ja/strings.xml13
-rw-r--r--src/main/res/values-ko/strings.xml1
-rw-r--r--src/main/res/values-nb-rNO/strings.xml1
-rw-r--r--src/main/res/values-nl/strings.xml23
-rw-r--r--src/main/res/values-pl/strings.xml3
-rw-r--r--src/main/res/values-pt-rBR/strings.xml10
-rw-r--r--src/main/res/values-pt/strings.xml1
-rw-r--r--src/main/res/values-ro-rRO/strings.xml15
-rw-r--r--src/main/res/values-ru/strings.xml235
-rw-r--r--src/main/res/values-sk/strings.xml1
-rw-r--r--src/main/res/values-sr/strings.xml11
-rw-r--r--src/main/res/values-sv/strings.xml11
-rw-r--r--src/main/res/values-tr-rTR/strings.xml11
-rw-r--r--src/main/res/values-uk/strings.xml3
-rw-r--r--src/main/res/values-vi/strings.xml1
-rw-r--r--src/main/res/values-w360dp/fineprint.xml4
-rw-r--r--src/main/res/values-w384dp/dimens.xml1
-rw-r--r--src/main/res/values-zh-rCN/strings.xml29
-rw-r--r--src/main/res/values-zh-rTW/strings.xml1
-rw-r--r--src/main/res/values/dimens.xml1
-rw-r--r--src/main/res/values/fineprint.xml4
-rw-r--r--src/main/res/values/strings.xml4
46 files changed, 459 insertions, 270 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index de16c6c2..bad5098f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,10 @@
###Changelog
+####Version 1.14.6
+* make error notification dismissable
+* bug fixes
+
+
####Version 1.14.5
* expert setting to delete OMEMO identities
* bug fixes
diff --git a/build.gradle b/build.gradle
index 7cf2c157..4e0e9ce1 100644
--- a/build.gradle
+++ b/build.gradle
@@ -55,8 +55,8 @@ android {
defaultConfig {
minSdkVersion 14
targetSdkVersion 24
- versionCode 176
- versionName "1.14.5"
+ versionCode 179
+ versionName "1.14.6"
archivesBaseName += "-$versionName"
applicationId "eu.siacs.conversations"
}
diff --git a/src/main/java/eu/siacs/conversations/crypto/OtrService.java b/src/main/java/eu/siacs/conversations/crypto/OtrService.java
index af11756f..3663cd3b 100644
--- a/src/main/java/eu/siacs/conversations/crypto/OtrService.java
+++ b/src/main/java/eu/siacs/conversations/crypto/OtrService.java
@@ -53,28 +53,30 @@ public class OtrService extends OtrCryptoEngineImpl implements OtrEngineHost {
this.mXmppConnectionService = service;
}
- private KeyPair loadKey(JSONObject keys) {
+ private KeyPair loadKey(final JSONObject keys) {
if (keys == null) {
return null;
}
- try {
- BigInteger x = new BigInteger(keys.getString("otr_x"), 16);
- BigInteger y = new BigInteger(keys.getString("otr_y"), 16);
- BigInteger p = new BigInteger(keys.getString("otr_p"), 16);
- BigInteger q = new BigInteger(keys.getString("otr_q"), 16);
- BigInteger g = new BigInteger(keys.getString("otr_g"), 16);
- KeyFactory keyFactory = KeyFactory.getInstance("DSA");
- DSAPublicKeySpec pubKeySpec = new DSAPublicKeySpec(y, p, q, g);
- DSAPrivateKeySpec privateKeySpec = new DSAPrivateKeySpec(x, p, q, g);
- PublicKey publicKey = keyFactory.generatePublic(pubKeySpec);
- PrivateKey privateKey = keyFactory.generatePrivate(privateKeySpec);
- return new KeyPair(publicKey, privateKey);
- } catch (JSONException e) {
- return null;
- } catch (NoSuchAlgorithmException e) {
- return null;
- } catch (InvalidKeySpecException e) {
- return null;
+ synchronized (keys) {
+ try {
+ BigInteger x = new BigInteger(keys.getString("otr_x"), 16);
+ BigInteger y = new BigInteger(keys.getString("otr_y"), 16);
+ BigInteger p = new BigInteger(keys.getString("otr_p"), 16);
+ BigInteger q = new BigInteger(keys.getString("otr_q"), 16);
+ BigInteger g = new BigInteger(keys.getString("otr_g"), 16);
+ KeyFactory keyFactory = KeyFactory.getInstance("DSA");
+ DSAPublicKeySpec pubKeySpec = new DSAPublicKeySpec(y, p, q, g);
+ DSAPrivateKeySpec privateKeySpec = new DSAPrivateKeySpec(x, p, q, g);
+ PublicKey publicKey = keyFactory.generatePublic(pubKeySpec);
+ PrivateKey privateKey = keyFactory.generatePrivate(privateKeySpec);
+ return new KeyPair(publicKey, privateKey);
+ } catch (JSONException e) {
+ return null;
+ } catch (NoSuchAlgorithmException e) {
+ return null;
+ } catch (InvalidKeySpecException e) {
+ return null;
+ }
}
}
diff --git a/src/main/java/eu/siacs/conversations/entities/Account.java b/src/main/java/eu/siacs/conversations/entities/Account.java
index 9218e524..7d60dcf7 100644
--- a/src/main/java/eu/siacs/conversations/entities/Account.java
+++ b/src/main/java/eu/siacs/conversations/entities/Account.java
@@ -203,7 +203,7 @@ public class Account extends AbstractEntity {
protected int options = 0;
protected String rosterVersion;
protected State status = State.OFFLINE;
- protected JSONObject keys = new JSONObject();
+ protected final JSONObject keys;
protected String avatar;
protected String displayName = null;
protected String hostname = null;
@@ -238,11 +238,13 @@ public class Account extends AbstractEntity {
this.password = password;
this.options = options;
this.rosterVersion = rosterVersion;
+ JSONObject tmp;
try {
- this.keys = new JSONObject(keys);
- } catch (final JSONException ignored) {
- this.keys = new JSONObject();
+ tmp = new JSONObject(keys);
+ } catch(JSONException e) {
+ tmp = new JSONObject();
}
+ this.keys = tmp;
this.avatar = avatar;
this.displayName = displayName;
this.hostname = hostname;
@@ -391,15 +393,28 @@ public class Account extends AbstractEntity {
}
public String getKey(final String name) {
- return this.keys.optString(name, null);
+ synchronized (this.keys) {
+ return this.keys.optString(name, null);
+ }
}
- public boolean setKey(final String keyName, final String keyValue) {
+ public int getKeyAsInt(final String name, int defaultValue) {
+ String key = getKey(name);
try {
- this.keys.put(keyName, keyValue);
- return true;
- } catch (final JSONException e) {
- return false;
+ return key == null ? defaultValue : Integer.parseInt(key);
+ } catch (NumberFormatException e) {
+ return defaultValue;
+ }
+ }
+
+ public boolean setKey(final String keyName, final String keyValue) {
+ synchronized (this.keys) {
+ try {
+ this.keys.put(keyName, keyValue);
+ return true;
+ } catch (final JSONException e) {
+ return false;
+ }
}
}
@@ -419,7 +434,9 @@ public class Account extends AbstractEntity {
values.put(SERVER, jid.getDomainpart());
values.put(PASSWORD, password);
values.put(OPTIONS, options);
- values.put(KEYS, this.keys.toString());
+ synchronized (this.keys) {
+ values.put(KEYS, this.keys.toString());
+ }
values.put(ROSTERVERSION, rosterVersion);
values.put(AVATAR, avatar);
values.put(DISPLAY_NAME, displayName);
@@ -496,54 +513,42 @@ public class Account extends AbstractEntity {
}
public String getPgpSignature() {
- try {
- if (keys.has(KEY_PGP_SIGNATURE) && !"null".equals(keys.getString(KEY_PGP_SIGNATURE))) {
- return keys.getString(KEY_PGP_SIGNATURE);
- } else {
- return null;
- }
- } catch (final JSONException e) {
- return null;
- }
+ return getKey(KEY_PGP_SIGNATURE);
}
public boolean setPgpSignature(String signature) {
- try {
- keys.put(KEY_PGP_SIGNATURE, signature);
- } catch (JSONException e) {
- return false;
- }
- return true;
+ return setKey(KEY_PGP_SIGNATURE, signature);
}
public boolean unsetPgpSignature() {
- try {
- keys.put(KEY_PGP_SIGNATURE, JSONObject.NULL);
- } catch (JSONException e) {
- return false;
+ synchronized (this.keys) {
+ return keys.remove(KEY_PGP_SIGNATURE) != null;
}
- return true;
}
public long getPgpId() {
- if (keys.has(KEY_PGP_ID)) {
- try {
- return keys.getLong(KEY_PGP_ID);
- } catch (JSONException e) {
+ synchronized (this.keys) {
+ if (keys.has(KEY_PGP_ID)) {
+ try {
+ return keys.getLong(KEY_PGP_ID);
+ } catch (JSONException e) {
+ return 0;
+ }
+ } else {
return 0;
}
- } else {
- return 0;
}
}
public boolean setPgpSignId(long pgpID) {
- try {
- keys.put(KEY_PGP_ID, pgpID);
- } catch (JSONException e) {
- return false;
+ synchronized (this.keys) {
+ try {
+ keys.put(KEY_PGP_ID, pgpID);
+ } catch (JSONException e) {
+ return false;
+ }
+ return true;
}
- return true;
}
public Roster getRoster() {
diff --git a/src/main/java/eu/siacs/conversations/entities/MucOptions.java b/src/main/java/eu/siacs/conversations/entities/MucOptions.java
index 9d54a86d..fa6afcfa 100644
--- a/src/main/java/eu/siacs/conversations/entities/MucOptions.java
+++ b/src/main/java/eu/siacs/conversations/entities/MucOptions.java
@@ -127,7 +127,6 @@ public class MucOptions {
UNKNOWN
}
- public static final String STATUS_CODE_ROOM_CONFIG_CHANGED = "104";
public static final String STATUS_CODE_SELF_PRESENCE = "110";
public static final String STATUS_CODE_ROOM_CREATED = "201";
public static final String STATUS_CODE_BANNED = "301";
diff --git a/src/main/java/eu/siacs/conversations/generator/MessageGenerator.java b/src/main/java/eu/siacs/conversations/generator/MessageGenerator.java
index 5ef47a33..f5c701cc 100644
--- a/src/main/java/eu/siacs/conversations/generator/MessageGenerator.java
+++ b/src/main/java/eu/siacs/conversations/generator/MessageGenerator.java
@@ -183,6 +183,10 @@ public class MessageGenerator extends AbstractGenerator {
packet.setFrom(conversation.getAccount().getJid());
Element x = packet.addChild("x", "jabber:x:conference");
x.setAttribute("jid", conversation.getJid().toBareJid().toString());
+ String password = conversation.getMucOptions().getPassword();
+ if (password != null) {
+ x.setAttribute("password",password);
+ }
return packet;
}
diff --git a/src/main/java/eu/siacs/conversations/parser/MessageParser.java b/src/main/java/eu/siacs/conversations/parser/MessageParser.java
index b4553012..81b68ed9 100644
--- a/src/main/java/eu/siacs/conversations/parser/MessageParser.java
+++ b/src/main/java/eu/siacs/conversations/parser/MessageParser.java
@@ -587,26 +587,27 @@ public class MessageParser extends AbstractParser implements OnMessagePacketRece
}
}
if (conversation != null && mucUserElement != null && from.isBareJid()) {
- if (mucUserElement.hasChild("status")) {
- for (Element child : mucUserElement.getChildren()) {
- if (child.getName().equals("status")
- && MucOptions.STATUS_CODE_ROOM_CONFIG_CHANGED.equals(child.getAttribute("code"))) {
- mXmppConnectionService.fetchConferenceConfiguration(conversation);
- }
- }
- } else if (mucUserElement.hasChild("item")) {
- for(Element child : mucUserElement.getChildren()) {
- if ("item".equals(child.getName())) {
- MucOptions.User user = AbstractParser.parseItem(conversation,child);
- Log.d(Config.LOGTAG,account.getJid()+": changing affiliation for "
- +user.getRealJid()+" to "+user.getAffiliation()+" in "
- +conversation.getJid().toBareJid());
- if (!user.realJidMatchesAccount()) {
- conversation.getMucOptions().addUser(user);
- mXmppConnectionService.getAvatarService().clear(conversation);
- mXmppConnectionService.updateMucRosterUi();
- mXmppConnectionService.updateConversationUi();
+ for (Element child : mucUserElement.getChildren()) {
+ if ("status".equals(child.getName())) {
+ try {
+ int code = Integer.parseInt(child.getAttribute("code"));
+ if ((code >= 170 && code <= 174) || (code >= 102 && code <= 104)) {
+ mXmppConnectionService.fetchConferenceConfiguration(conversation);
+ break;
}
+ } catch (Exception e) {
+ //ignored
+ }
+ } else if ("item".equals(child.getName())) {
+ MucOptions.User user = AbstractParser.parseItem(conversation,child);
+ Log.d(Config.LOGTAG,account.getJid()+": changing affiliation for "
+ +user.getRealJid()+" to "+user.getAffiliation()+" in "
+ +conversation.getJid().toBareJid());
+ if (!user.realJidMatchesAccount()) {
+ conversation.getMucOptions().addUser(user);
+ mXmppConnectionService.getAvatarService().clear(conversation);
+ mXmppConnectionService.updateMucRosterUi();
+ mXmppConnectionService.updateConversationUi();
}
}
}
diff --git a/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java b/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java
index f6298ea2..5650b894 100644
--- a/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java
+++ b/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java
@@ -1135,7 +1135,8 @@ public class XmppConnectionService extends Service {
}
if (packet != null) {
- if (account.getXmppConnection().getFeatures().sm() || conversation.getMode() == Conversation.MODE_MULTI) {
+ if (account.getXmppConnection().getFeatures().sm()
+ || (conversation.getMode() == Conversation.MODE_MULTI && message.getCounterpart().isBareJid())) {
message.setStatus(Message.STATUS_UNSEND);
} else {
message.setStatus(Message.STATUS_SEND);
@@ -1177,7 +1178,8 @@ public class XmppConnectionService extends Service {
if (resend) {
if (packet != null && addToConversation) {
- if (account.getXmppConnection().getFeatures().sm() || conversation.getMode() == Conversation.MODE_MULTI) {
+ if (account.getXmppConnection().getFeatures().sm()
+ || (conversation.getMode() == Conversation.MODE_MULTI && message.getCounterpart().isBareJid())) {
markMessage(message, Message.STATUS_UNSEND);
} else {
markMessage(message, Message.STATUS_SEND);
diff --git a/src/main/java/eu/siacs/conversations/ui/WelcomeActivity.java b/src/main/java/eu/siacs/conversations/ui/WelcomeActivity.java
index 3c837b94..59d58db5 100644
--- a/src/main/java/eu/siacs/conversations/ui/WelcomeActivity.java
+++ b/src/main/java/eu/siacs/conversations/ui/WelcomeActivity.java
@@ -1,5 +1,6 @@
package eu.siacs.conversations.ui;
+import android.app.ActionBar;
import android.app.Activity;
import android.content.Intent;
import android.content.pm.ActivityInfo;
@@ -16,6 +17,11 @@ public class WelcomeActivity extends Activity {
if (getResources().getBoolean(R.bool.portrait_only)) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
+ final ActionBar ab = getActionBar();
+ if (ab != null) {
+ ab.setDisplayShowHomeEnabled(false);
+ ab.setDisplayHomeAsUpEnabled(false);
+ }
super.onCreate(savedInstanceState);
setContentView(R.layout.welcome);
final Button createAccount = (Button) findViewById(R.id.create_account);
diff --git a/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java b/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java
index ab92535a..383e990d 100644
--- a/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java
+++ b/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java
@@ -852,18 +852,13 @@ public class XmppConnection implements Runnable {
saslMechanism = new Anonymous(tagWriter, account, mXmppConnectionService.getRNG());
}
if (saslMechanism != null) {
- final JSONObject keys = account.getKeys();
- try {
- if (keys.has(Account.PINNED_MECHANISM_KEY) &&
- keys.getInt(Account.PINNED_MECHANISM_KEY) > saslMechanism.getPriority()) {
- Log.e(Config.LOGTAG, "Auth failed. Authentication mechanism " + saslMechanism.getMechanism() +
- " has lower priority (" + String.valueOf(saslMechanism.getPriority()) +
- ") than pinned priority (" + keys.getInt(Account.PINNED_MECHANISM_KEY) +
- "). Possible downgrade attack?");
- throw new SecurityException();
- }
- } catch (final JSONException e) {
- Log.d(Config.LOGTAG, "Parse error while checking pinned auth mechanism");
+ final int pinnedMechanism = account.getKeyAsInt(Account.PINNED_MECHANISM_KEY, -1);
+ if (pinnedMechanism > saslMechanism.getPriority()) {
+ Log.e(Config.LOGTAG, "Auth failed. Authentication mechanism " + saslMechanism.getMechanism() +
+ " has lower priority (" + String.valueOf(saslMechanism.getPriority()) +
+ ") than pinned priority (" + pinnedMechanism +
+ "). Possible downgrade attack?");
+ throw new SecurityException();
}
Log.d(Config.LOGTAG, account.getJid().toString() + ": Authenticating with " + saslMechanism.getMechanism());
auth.setAttribute("mechanism", saslMechanism.getMechanism());
diff --git a/src/main/res/layout/magic_create.xml b/src/main/res/layout/magic_create.xml
index e21ce5c0..02ba65bc 100644
--- a/src/main/res/layout/magic_create.xml
+++ b/src/main/res/layout/magic_create.xml
@@ -17,7 +17,7 @@
android:layout_alignParentStart="true"
android:minHeight="256dp"
android:orientation="vertical"
- android:paddingBottom="8dp"
+ android:paddingBottom="10dp"
android:paddingLeft="16dp"
android:paddingRight="16dp">
<Space
@@ -79,5 +79,16 @@
android:padding="8dp"
android:src="@drawable/main_logo"/>
</RelativeLayout>
+ <TextView
+ android:paddingLeft="8dp"
+ android:paddingRight="8dp"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentBottom="true"
+ android:textColor="?attr/color_text_secondary"
+ android:textSize="@dimen/fineprint_size"
+ android:maxLines="1"
+ android:text="@string/free_for_six_month"
+ android:layout_centerHorizontal="true"/>
</RelativeLayout>
</ScrollView> \ No newline at end of file
diff --git a/src/main/res/layout/welcome.xml b/src/main/res/layout/welcome.xml
index 3d618675..228fe6b6 100644
--- a/src/main/res/layout/welcome.xml
+++ b/src/main/res/layout/welcome.xml
@@ -17,7 +17,7 @@
android:layout_alignParentStart="true"
android:minHeight="256dp"
android:orientation="vertical"
- android:paddingBottom="8dp"
+ android:paddingBottom="10dp"
android:paddingLeft="16dp"
android:paddingRight="16dp">
<Space
@@ -70,5 +70,16 @@
android:padding="8dp"
android:src="@drawable/main_logo"/>
</RelativeLayout>
+ <TextView
+ android:paddingLeft="8dp"
+ android:paddingRight="8dp"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_alignParentBottom="true"
+ android:textColor="?attr/color_text_secondary"
+ android:textSize="@dimen/fineprint_size"
+ android:maxLines="1"
+ android:text="@string/free_for_six_month"
+ android:layout_centerHorizontal="true"/>
</RelativeLayout>
</ScrollView> \ No newline at end of file
diff --git a/src/main/res/values-ar/strings.xml b/src/main/res/values-ar/strings.xml
index 84f59bb3..b54de99c 100644
--- a/src/main/res/values-ar/strings.xml
+++ b/src/main/res/values-ar/strings.xml
@@ -166,7 +166,6 @@
<string name="contact_already_exists">جهة الاتصال موجودة لديك مسبقا</string>
<string name="join">دخول</string>
<string name="conference_address">اسم الغرفة كامل</string>
- <string name="conference_address_example">room@conference.example.com</string>
<string name="save_as_bookmark">حفظ بالمفضلة</string>
<string name="delete_bookmark">حذف من المفضلة</string>
<string name="bookmark_already_exists">موجوده بالمفضلة سابقا</string>
diff --git a/src/main/res/values-bg/strings.xml b/src/main/res/values-bg/strings.xml
index da322608..868ea5e2 100644
--- a/src/main/res/values-bg/strings.xml
+++ b/src/main/res/values-bg/strings.xml
@@ -247,7 +247,7 @@
<string name="contact_already_exists">Контактът вече съществува</string>
<string name="join">Присъединяване</string>
<string name="conference_address">Адрес на беседата</string>
- <string name="conference_address_example">room@conference.example.com</string>
+ <string name="conference_address_example">стая@беседа.сървър.com/псевдоним</string>
<string name="save_as_bookmark">Запазване като отметка</string>
<string name="delete_bookmark">Изтриване на отметка</string>
<string name="bookmark_already_exists">Вече съществува такава отметка</string>
@@ -313,7 +313,7 @@
<string name="pref_use_send_button_to_indicate_status_summary">Оцветяване на бутона за изпращане в зависимост от състоянието на контакта</string>
<string name="pref_expert_options_other">Други</string>
<string name="pref_conference_name">Име на беседата</string>
- <string name="pref_conference_name_summary">Използване на темата на стаята вместо JID идентификатора за беседите</string>
+ <string name="pref_conference_name_summary">Използване на темата на стаята вместо идентификатора JID за беседите</string>
<string name="pref_autojoin">Автоматично присъединяване към беседите</string>
<string name="pref_autojoin_summary">Спазване на флага за автоматично присъединяване в отметките на беседите</string>
<string name="toast_message_otr_fingerprint">Отпечатъкът OTR е копиран!</string>
@@ -595,8 +595,8 @@
<string name="security_error_invalid_file_access">Грешка в сигурността: неправилен достъп до файл</string>
<string name="no_application_to_share_uri">Няма намерено приложение за споделяне на адреса</string>
<string name="share_uri_with">Споделяне на адреса с…</string>
- <string name="welcome_text">XMPP е протокол, който не е обвързан с конкретен доставчик. Можете да използвате клиента с всеки сървър, който работи с протокола XMPP.\nЗа Ваше удобство, ние предоставяме лесен начин да си създадете профил в conversations.im — сървър, пригоден да работи добре с Conversations.</string>
- <string name="magic_create_text">Ще преминем заедно с Вас през процеса за създаване на профил в conversations.im.\nАко изберете да използвате conversations.im, ще можете да общувате с потребители, използващи други сървъри, като им дадете своя пълен Jabber идентификатор.</string>
+ <string name="welcome_text">XMPP е протокол, който не е обвързан с конкретен доставчик. Можете да използвате клиента с всеки сървър, който работи с протокола XMPP.\nЗа Ваше удобство, ние предоставяме лесен начин да си създадете профил в conversations.im¹ — сървър, пригоден да работи добре с Conversations.</string>
+ <string name="magic_create_text">Ще преминем заедно с Вас през процеса за създаване на профил в conversations.im.¹\nАко изберете да използвате conversations.im, ще можете да общувате с потребители, използващи други сървъри, като им дадете своя пълен Jabber идентификатор.</string>
<string name="your_full_jid_will_be">Вашият пълен Jabber идентификатор ще бъде: %s</string>
<string name="create_account">Създаване на профил</string>
<string name="use_own_provider">Използване на собствен сървър</string>
@@ -653,4 +653,8 @@
<string name="missing_keys_from_x">Липсват ключове OMEMO от %s.</string>
<string name="wrong_conference_configuration">Това не е лична, не-анонимна беседа.</string>
<string name="this_conference_has_no_members">Няма участници в тази беседа.</string>
+ <string name="report_jid_as_spammer">Докладване на този JID за изпращане на нежелани съобщения.</string>
+ <string name="pref_delete_omemo_identities">Изтриване на идентификаторите OMEMO</string>
+ <string name="pref_delete_omemo_identities_summary">Пресъздайте своите ключове OMEMO. Всички Ваши контакти ще трябва да Ви потвърдят отново. Използвайте това само в краен случай.</string>
+ <string name="delete_selected_keys">Изтриване на избраните ключове.</string>
</resources>
diff --git a/src/main/res/values-ca/strings.xml b/src/main/res/values-ca/strings.xml
index 2210069a..b2f051e9 100644
--- a/src/main/res/values-ca/strings.xml
+++ b/src/main/res/values-ca/strings.xml
@@ -199,7 +199,6 @@
<string name="contact_already_exists">El contacte ja existeix</string>
<string name="join">Unir-se</string>
<string name="conference_address">Direcció de la sala</string>
- <string name="conference_address_example">room@conference.example.com</string>
<string name="save_as_bookmark">Guardar com a favorits</string>
<string name="delete_bookmark">Eliminar de favorits</string>
<string name="bookmark_already_exists">Aquesta llista de favorits ja existeix</string>
diff --git a/src/main/res/values-cs/strings.xml b/src/main/res/values-cs/strings.xml
index 2c7931d1..54af09db 100644
--- a/src/main/res/values-cs/strings.xml
+++ b/src/main/res/values-cs/strings.xml
@@ -247,7 +247,7 @@
<string name="contact_already_exists">Kontakt již existuje</string>
<string name="join">Vstoupit</string>
<string name="conference_address">Adresa konference</string>
- <string name="conference_address_example">mistnost@konference.server.cz</string>
+ <string name="conference_address_example">room@conference.example.com/nick</string>
<string name="save_as_bookmark">Uložit jako záložku</string>
<string name="delete_bookmark">Smazat záložku</string>
<string name="bookmark_already_exists">Tato záložka již existuje</string>
@@ -283,6 +283,7 @@
<string name="conference_requires_password">Konference vyžaduje heslo</string>
<string name="enter_password">Vložit heslo</string>
<string name="missing_presence_updates">Chybí informace o změnách stavu kontaktu</string>
+ <string name="missing_presence_subscription">Chybí informace o změnách stavu</string>
<string name="request_presence_updates">Nejdříve si prosím vyžádejte povolení o zasílání změn stavu kontaktu.\n\n<small>To bude poté použito pro zjištění jakou aplikaci tento kontakt používá.</small></string>
<string name="request_now">Ihned vyžádat</string>
<string name="delete_fingerprint">Smazat identifikátor</string>
@@ -598,8 +599,8 @@
<string name="security_error_invalid_file_access">Chyba zabezpečení: Neplatný přístup k souboru</string>
<string name="no_application_to_share_uri">Nebyla nalezena aplikace pro sdílení URI</string>
<string name="share_uri_with">Sdílet URI s...</string>
- <string name="welcome_text">XMPP je protokol nezávislý na poskytovateli. Tohoto klienta můžete použít s jakýmkoliv XMPP serverem dle svého výběru.\nPro lepší uživatelskou přívětivost jsme připravili možnost vytvořit účet u conversations.im; speciálné připraveného poskytovatele pro použití s aplikací Conversations.</string>
- <string name="magic_create_text">Provedeme vás procesem založení uživatelského účtu u conversations.im.\nVybráním conversations.im za svého poskytovatele budete moci komunikovat s uživateli u jiných poskytovatelů poté co jim sdělíte své Jabber ID.</string>
+ <string name="welcome_text">XMPP je protokol nezávislý na poskytovateli. Tohoto klienta můžete použít s jakýmkoliv XMPP serverem dle svého výběru.\nPro lepší uživatelskou přívětivost jsme připravili možnost vytvořit účet u conversations.im¹; poskytovatele speciálné připraveného pro použití s aplikací Conversations.</string>
+ <string name="magic_create_text">Provedeme vás procesem založení uživatelského účtu u conversations.im.¹\nVybráním conversations.im za svého poskytovatele budete moci komunikovat s uživateli u jiných poskytovatelů, poté co jim sdělíte své Jabber ID.</string>
<string name="your_full_jid_will_be">Vaše celé Jabber ID bude: %s</string>
<string name="create_account">Vytvořit účet</string>
<string name="use_own_provider">Použít vlastního provozovatele</string>
@@ -654,6 +655,12 @@
<string name="unable_to_update_account">Nelze aktualizovat účet</string>
<string name="missing_presence_subscription_with_x">Chybí informace o změnách stavu od %s.</string>
<string name="missing_keys_from_x">Chybí OMEMO klíče od %s.</string>
+ <string name="missing_omemo_keys">Chybí OMEMO klíče</string>
<string name="wrong_conference_configuration">Toto není soukromá, neanonymní konference.</string>
<string name="this_conference_has_no_members">V této konferenci nejsou žádní členové.</string>
+ <string name="report_jid_as_spammer">Nahlásit toto JID jako odesilatele nevyžádaného obsahu.</string>
+ <string name="pref_delete_omemo_identities">Smazat OMEMO identity</string>
+ <string name="pref_delete_omemo_identities_summary">Znovu vygenerovat OMEMO klíče. Vyžaduje potvrzení od všech vašich kontaktů. POužijte pouze jako poslední řešení.</string>
+ <string name="delete_selected_keys">Smazat vybrané klíče</string>
+ <string name="error_publish_avatar_offline">Pro zveřejnění svého avatara musíte být online.</string>
</resources>
diff --git a/src/main/res/values-de/strings.xml b/src/main/res/values-de/strings.xml
index 91df36f4..962a6b3b 100644
--- a/src/main/res/values-de/strings.xml
+++ b/src/main/res/values-de/strings.xml
@@ -247,7 +247,7 @@
<string name="contact_already_exists">Der Kontakt existiert bereits</string>
<string name="join">Beitreten</string>
<string name="conference_address">Konferenz-Adresse</string>
- <string name="conference_address_example">raum@conference.domain.de</string>
+ <string name="conference_address_example">raum@conference.beispiel.de/Nickname</string>
<string name="save_as_bookmark">Zur Kontaktliste hinzufügen</string>
<string name="delete_bookmark">Von Kontaktliste entfernen</string>
<string name="bookmark_already_exists">Die Konferenz befindet sich bereits auf deiner Kontaktliste</string>
@@ -283,6 +283,7 @@
<string name="conference_requires_password">Konferenz ist passwortgeschützt</string>
<string name="enter_password">Passwort eingeben</string>
<string name="missing_presence_updates">Fehlender Online-Status des Kontakts</string>
+ <string name="missing_presence_subscription">Online-Status nicht vorhanden</string>
<string name="request_presence_updates">Bitte erst Online-Status vom Kontakt anfragen.\n\n<small>Dies wird verwendet, um festzustellen, welche Client(s) der Kontakt benutzt.</small></string>
<string name="request_now">Jetzt anfordern</string>
<string name="delete_fingerprint">Fingerabdruck löschen</string>
@@ -516,7 +517,7 @@
<string name="pref_use_white_background_summary">Empfangene Nachrichten als schwarzen Text auf weißem Hintergrund anzeigen</string>
<string name="account_status_tor_unavailable">Tor-Netzwerk nicht verfügbar</string>
<string name="account_status_bind_failure">Bindungsfehler</string>
- <string name="account_status_host_unknown">Server haftet nicht für die Domain</string>
+ <string name="account_status_host_unknown">Unbekannte Domain</string>
<string name="server_info_broken">Fehlerhaft</string>
<string name="pref_presence_settings">Status</string>
<string name="pref_away_when_screen_off">Abwesend bei abgeschaltetem Bildschirm</string>
@@ -595,8 +596,8 @@
<string name="security_error_invalid_file_access">Sicherheitsfehler: Dateizugriff nicht erlaubt</string>
<string name="no_application_to_share_uri">Keine Anwendung zum Teilen der URI gefunden</string>
<string name="share_uri_with">Teile URI mit…</string>
- <string name="welcome_text">XMPP ist ein providerunabhängiges Protokoll. Du kannst diesen Client mit jedem beliebigen XMPP-Server benutzen.\nUm es Dir leicht zu machen haben wir die Möglichkeit geschaffen, ein Konto auf conversations.im anzulegen. Dieser Provider ist besonders gut für Conversations geeignet. </string>
- <string name="magic_create_text">Wir führen dich durch den Prozess der Kontoerstellung auf conversations.im.\nWenn du conversations.im als Provider wählst, kannst du mit Nutzern anderer Anbieter kommunizieren, indem du ihnen deine vollständige Jabber-ID gibst.</string>
+ <string name="welcome_text">XMPP ist ein providerunabhängiges Protokoll. Du kannst diesen Client mit jedem beliebigen XMPP-Server benutzen.\nUm es Dir leicht zu machen haben wir die Möglichkeit geschaffen, ein Konto auf conversations.im¹ anzulegen. Dieser Provider ist besonders gut für Conversations geeignet. </string>
+ <string name="magic_create_text">Wir führen dich durch den Prozess der Kontoerstellung auf conversations.im.¹\nWenn du conversations.im als Provider wählst, kannst du mit Nutzern anderer Anbieter kommunizieren, indem du ihnen deine vollständige Jabber-ID gibst.</string>
<string name="your_full_jid_will_be">Deine vollständige Jabber ID lautet: %s</string>
<string name="create_account">Konto erstellen</string>
<string name="use_own_provider">Nutze eigenen Provider</string>
@@ -651,6 +652,12 @@
<string name="unable_to_update_account">Konto kann nicht aktualisiert werden.</string>
<string name="missing_presence_subscription_with_x">Fehlender Online-Status von %s.</string>
<string name="missing_keys_from_x">OMEMO-Schlüssel von %s fehlen.</string>
+ <string name="missing_omemo_keys">OMEMO-Schlüssel fehlen</string>
<string name="wrong_conference_configuration">Dies ist keine private, nicht-anonyme Konferenz.</string>
<string name="this_conference_has_no_members">Diese Konferenz enthält keine Teilnehmer.</string>
+ <string name="report_jid_as_spammer">Melde die JID als Sender unerwünschter Nachrichten.</string>
+ <string name="pref_delete_omemo_identities">OMEMO Identitäten zurücksetzen</string>
+ <string name="pref_delete_omemo_identities_summary">Regeneriere deine OMEMO-Schlüssel. Alle deine Kontakte müssen dich neu verifizieren. Nutze dies als letzten Ausweg.</string>
+ <string name="delete_selected_keys">Ausgewählte Schlüssel löschen</string>
+ <string name="error_publish_avatar_offline">Du musst verbunden sein um deinen Avatar zu veröffentlichen</string>
</resources>
diff --git a/src/main/res/values-el/strings.xml b/src/main/res/values-el/strings.xml
index a08ec2b8..1c2fd858 100644
--- a/src/main/res/values-el/strings.xml
+++ b/src/main/res/values-el/strings.xml
@@ -199,7 +199,6 @@
<string name="contact_already_exists">Η επαφή υπάρχει ήδη</string>
<string name="join">Συμμετοχή</string>
<string name="conference_address">Διεύθυνση συνδιάσκεψης</string>
- <string name="conference_address_example">room@conference.example.com</string>
<string name="save_as_bookmark">Αποθήκευση σαν σελιδοδείκτη</string>
<string name="delete_bookmark">Διαγραφή σελιδοδείκτη</string>
<string name="bookmark_already_exists">Αυτός ο σελιδοδείκτης υπάρχει ήδη</string>
diff --git a/src/main/res/values-es/strings.xml b/src/main/res/values-es/strings.xml
index 28890171..eede5b98 100644
--- a/src/main/res/values-es/strings.xml
+++ b/src/main/res/values-es/strings.xml
@@ -247,7 +247,7 @@
<string name="contact_already_exists">El contacto ya existe</string>
<string name="join">Unirse</string>
<string name="conference_address">Dirección</string>
- <string name="conference_address_example">nombre@salas.ejemplo.com</string>
+ <string name="conference_address_example">sala@salas.ejemplo.com/nick</string>
<string name="save_as_bookmark">Guardar en marcadores</string>
<string name="delete_bookmark">Eliminar marcador</string>
<string name="bookmark_already_exists">Este marcador ya existe</string>
@@ -283,6 +283,7 @@
<string name="conference_requires_password">Esta conversación requiere contraseña</string>
<string name="enter_password">Introduce la contraseña</string>
<string name="missing_presence_updates">Se ha perdido la suscripción de presencia del contacto</string>
+ <string name="missing_presence_subscription">Se ha perdido la suscripción de presencia</string>
<string name="request_presence_updates">Por favor, solicita la suscripción de presencia a tu contacto primero.\n\n<small>Esto se usará para determinar qué cliente(s) está usando tu contacto.</small></string>
<string name="request_now">Solicitar ahora</string>
<string name="delete_fingerprint">Eliminar huella digital OTR</string>
@@ -595,8 +596,8 @@
<string name="security_error_invalid_file_access">Error de seguridad: Acceso a fichero inválido</string>
<string name="no_application_to_share_uri">No se ha encontrado ninguna aplicación para compartir la URI</string>
<string name="share_uri_with">Compartir URI con...</string>
- <string name="welcome_text">XMPP es un protocolo independiente del proveedor. Puedes usar este cliente con cualquier servidor de XMPP que elijas.\nDe todas formas, para tu comodidad, hemos facilitado la creación de una cuenta en conversations.im; un proveedor alojado especialmente para su uso con Conversations.</string>
- <string name="magic_create_text">Te guiaremos durante el proceso de creación de la cuenta en conversations.im.\nCuando selecciones conversations.im como proveedor, podrás comunicarte con usuarios de otros servidores mediante tu identificador Jabber.</string>
+ <string name="welcome_text">XMPP es un protocolo independiente del proveedor. Puedes usar este cliente con cualquier servidor de XMPP que elijas.\nDe todas formas, para tu comodidad, hemos facilitado la creación de una cuenta en conversations.im¹; un proveedor alojado especialmente para su uso con Conversations.</string>
+ <string name="magic_create_text">Te guiaremos durante el proceso de creación de la cuenta en conversations.im.¹\nCuando selecciones conversations.im como proveedor, podrás comunicarte con usuarios de otros servidores mediante tu identificador Jabber.</string>
<string name="your_full_jid_will_be">Tu identificador Jabber será: %s</string>
<string name="create_account">Crear cuenta</string>
<string name="use_own_provider">Usar otro proveedor de mi elección</string>
@@ -651,6 +652,12 @@
<string name="unable_to_update_account">No se ha podido actualizar la cuenta</string>
<string name="missing_presence_subscription_with_x">Se ha perdido la suscripción de presencia con %s.</string>
<string name="missing_keys_from_x">Se ha perdido la clave OMEMO de %s.</string>
+ <string name="missing_omemo_keys">Se han perdido las claves OMEMO</string>
<string name="wrong_conference_configuration">Ésta no es una conversación privada no anónima.</string>
<string name="this_conference_has_no_members">No hay miembros en esta conversación.</string>
+ <string name="report_jid_as_spammer">Reportar a este Id Jabber por enviar mensajes no deseados</string>
+ <string name="pref_delete_omemo_identities">Eliminar identidades OMEMO</string>
+ <string name="pref_delete_omemo_identities_summary">Regenerar tus clave OMEMO. Todos tus contactos tendrán que verificarte de nuevo. Usa esta opción como último recurso.</string>
+ <string name="delete_selected_keys">Eliminar claves seleccionadas</string>
+ <string name="error_publish_avatar_offline">Debes estar conectado para publicar la imagen de perfil</string>
</resources>
diff --git a/src/main/res/values-eu/strings.xml b/src/main/res/values-eu/strings.xml
index f2b0f247..3ebfd517 100644
--- a/src/main/res/values-eu/strings.xml
+++ b/src/main/res/values-eu/strings.xml
@@ -247,7 +247,6 @@
<string name="contact_already_exists">Kontaktua existitzen da dagoeneko</string>
<string name="join">Batu</string>
<string name="conference_address">Konferentziaren helbidea</string>
- <string name="conference_address_example">gela@conference.example.com</string>
<string name="save_as_bookmark">Gorde laster-marka bezala</string>
<string name="delete_bookmark">Laster-marka ezabatu</string>
<string name="bookmark_already_exists">Laster-marka hau existitzen da dagoeneko</string>
@@ -595,8 +594,8 @@
<string name="security_error_invalid_file_access">Segurtasun akatsa: fitxategi sarrera baliogabea</string>
<string name="no_application_to_share_uri">Ez da aplikaziorik aurkitu URIa partekatzeko</string>
<string name="share_uri_with">URIa honekin partekatu...</string>
- <string name="welcome_text">XMPP hornitzaleez independiente den protokolo bat da. Bezero hau aukeratzen duzun edozein XMPP zerbitzariarekin erabili dezakezu.\nHala ere zure erosotasunerako conversations.im-en, Conversationsekin bereziki erabiltzeko egokia den hornitzaile batean, kontu bat sortzea erraz egin dugu.</string>
- <string name="magic_create_text">conversations.im-en kontu bat sortzeko prozesuan zehar gidatuko zaitugu.\nconversations.im hornitzaile bezala aukeratzerakoan beste hornitzaileen erabiltzaileekin komunikatzeko gai izango zara haiei zure Jabber ID osoa emanez.</string>
+ <string name="welcome_text">XMPP hornitzaleez independiente den protokolo bat da. Bezero hau aukeratzen duzun edozein XMPP zerbitzariarekin erabili dezakezu.\nHala ere zure erosotasunerako conversations.im¹-en, Conversationsekin bereziki erabiltzeko egokia den hornitzaile batean, kontu bat sortzea erraz egin dugu.</string>
+ <string name="magic_create_text">conversations.im-en kontu bat sortzeko prozesuan zehar gidatuko zaitugu.\nconversations.im¹ hornitzaile bezala aukeratzerakoan beste hornitzaileen erabiltzaileekin komunikatzeko gai izango zara haiei zure Jabber ID osoa emanez.</string>
<string name="your_full_jid_will_be">Zure Jabber ID osoa %s izango da</string>
<string name="create_account">Kontua sortu</string>
<string name="use_own_provider">Nire hornitzale propioa erabili</string>
@@ -643,4 +642,14 @@
<string name="type_console">Kontsola</string>
<string name="payment_required">Ordainketa beharrezkoa da</string>
<string name="missing_internet_permission">Interneterako baimena falta da</string>
+ <string name="me">Ni</string>
+ <string name="contact_asks_for_presence_subscription">Kontaktuak presentzia harpidetza eskatzen du</string>
+ <string name="allow">Baimendu</string>
+ <string name="no_permission_to_access_x">%s(e)ra sartzeko baimenik ez</string>
+ <string name="remote_server_not_found">Urruneko zerbitzaria ez da aurkitu</string>
+ <string name="unable_to_update_account">Ezin izan da kontua eguneratu</string>
+ <string name="missing_presence_subscription_with_x">%s(r)ekin presentzia harpidetza falta da</string>
+ <string name="missing_keys_from_x">%s(r)en OMEMO gakoak falta dira.</string>
+ <string name="wrong_conference_configuration">Hau ez da konferentzia pribatu, ez anonimo bat.</string>
+ <string name="this_conference_has_no_members">Ez dago kiderik konferentzia honetan.</string>
</resources>
diff --git a/src/main/res/values-fr/strings.xml b/src/main/res/values-fr/strings.xml
index d86f1364..63576e0e 100644
--- a/src/main/res/values-fr/strings.xml
+++ b/src/main/res/values-fr/strings.xml
@@ -247,7 +247,7 @@
<string name="contact_already_exists">Le contact existe déjà.</string>
<string name="join">Rejoindre</string>
<string name="conference_address">Adresse de la conférence</string>
- <string name="conference_address_example">salle@conference.exemple.com</string>
+ <string name="conference_address_example">room@conference.example.com/nick</string>
<string name="save_as_bookmark">Enregistrer comme favori</string>
<string name="delete_bookmark">Supprimer le favori</string>
<string name="bookmark_already_exists">Le favori existe déjà</string>
@@ -595,8 +595,8 @@
<string name="security_error_invalid_file_access">Erreur de sécurité : accès fichier non-valide</string>
<string name="no_application_to_share_uri">Aucune application trouvée pour partager l\'URI</string>
<string name="share_uri_with">Partager l\'URI avec...</string>
- <string name="welcome_text">XMPP est un protocole indépendant. Vous pouvez utiliser ce client avec le serveur XMPP de votre choix.\nCependant, pour votre confort, vous pouvez créer un compte sur conversations.im, un fournisseur spécialement approprié pour Conversations.</string>
- <string name="magic_create_text">Nous vous guiderons pendant toute la procédure de création d\'un compte utilisateur sur conversations.im.\nEn choisissant conversations.im comme fournisseur, vous pourrez communiquer avec les utilisateurs d\'autres fournisseurs en leur transmettant votre Jabber ID complet. </string>
+ <string name="welcome_text">XMPP est un protocole indépendant. Vous pouvez utiliser ce client avec le serveur XMPP de votre choix.\nCependant, pour votre confort, vous pouvez créer un compte sur conversations.im¹, un fournisseur spécialement approprié pour Conversations.</string>
+ <string name="magic_create_text">Nous vous guiderons pendant toute la procédure de création d\'un compte utilisateur sur conversations.im.¹\nEn choisissant conversations.im comme fournisseur, vous pourrez communiquer avec les utilisateurs d\'autres fournisseurs en leur transmettant votre Jabber ID complet. </string>
<string name="your_full_jid_will_be">Votre Jabber ID complet sera : %s</string>
<string name="create_account">Créer un compte</string>
<string name="use_own_provider">Utiliser votre propre fournisseur</string>
@@ -643,4 +643,18 @@
<string name="type_console">Console</string>
<string name="payment_required">Paiement Obligatoire</string>
<string name="missing_internet_permission">Permission Internet Manquante</string>
+ <string name="me">Moi</string>
+ <string name="contact_asks_for_presence_subscription">Le contact demande la notification de présence</string>
+ <string name="allow">Autoriser</string>
+ <string name="no_permission_to_access_x">Permission d\'accès refusée à %s</string>
+ <string name="remote_server_not_found">Serveur distant non trouvé</string>
+ <string name="unable_to_update_account">Mise à jour du compte impossible</string>
+ <string name="missing_presence_subscription_with_x">La notification de présence est manquante avec %s</string>
+ <string name="missing_keys_from_x">La clef OMEMO de %s est manquante</string>
+ <string name="wrong_conference_configuration">La conférence n\'est ni privée, ni anonyme</string>
+ <string name="this_conference_has_no_members">Aucun membre dans cette conférence</string>
+ <string name="report_jid_as_spammer">Signaler ce JID comme envoyant des messages non sollicités</string>
+ <string name="pref_delete_omemo_identities">Effacer les identités OMEMO</string>
+ <string name="pref_delete_omemo_identities_summary">Régénérer vos clef OMEMO. Tous vos contacts devront les vérifier à nouveau. A n\'utiliser qu\'en dernier recours.</string>
+ <string name="delete_selected_keys">Supprimer les clefs sélectionnées</string>
</resources>
diff --git a/src/main/res/values-id/strings.xml b/src/main/res/values-id/strings.xml
index 880700e7..6ba858c7 100644
--- a/src/main/res/values-id/strings.xml
+++ b/src/main/res/values-id/strings.xml
@@ -222,7 +222,6 @@
<string name="contact_already_exists">Kontak ini sudah ada</string>
<string name="join">Gabung</string>
<string name="conference_address">Alamat conference</string>
- <string name="conference_address_example">room@conference.example.com</string>
<string name="save_as_bookmark">Simpan sebagai bookmark</string>
<string name="delete_bookmark">Hapus bookmark</string>
<string name="bookmark_already_exists">Bookmark ini sudah ada</string>
diff --git a/src/main/res/values-it/strings.xml b/src/main/res/values-it/strings.xml
index 455b5e6e..d409b53f 100644
--- a/src/main/res/values-it/strings.xml
+++ b/src/main/res/values-it/strings.xml
@@ -247,7 +247,7 @@
<string name="contact_already_exists">Il contatto esiste già</string>
<string name="join">Entra</string>
<string name="conference_address">Indirizzo conferenza</string>
- <string name="conference_address_example">room@conference.example.com</string>
+ <string name="conference_address_example">room@conference.example.com/nick</string>
<string name="save_as_bookmark">Salva come segnalibro</string>
<string name="delete_bookmark">Elimina segnalibro</string>
<string name="bookmark_already_exists">Questo segnalibro esiste già</string>
@@ -283,6 +283,7 @@
<string name="conference_requires_password">La conferenza richiede una password</string>
<string name="enter_password">Inserisci la password</string>
<string name="missing_presence_updates">Aggiornamenti della presenza del contatto mancanti</string>
+ <string name="missing_presence_subscription">Sottoiscrizione alla presenza mancante</string>
<string name="request_presence_updates">Richiedi gli aggiornamenti della presenza dal tuo contatto.\n\n<small>Questo verrà usato per determinare quali client sta usando il tuo contatto.</small></string>
<string name="request_now">Rechiedi adesso</string>
<string name="delete_fingerprint">Elimina Impronta</string>
@@ -595,8 +596,8 @@
<string name="security_error_invalid_file_access">Errore di sicurezza: accesso file non valido</string>
<string name="no_application_to_share_uri">Nessuna applicazione trovata per condividere l\'URI</string>
<string name="share_uri_with">Condividi l\'URI con...</string>
- <string name="welcome_text">XMPP è un protocollo che non dipende da un provider. Puoi usare questo client con qualsiasi server XMPP scelto.\nTuttavia per comodità abbiamo semplificato la creazione di un account su conversations.im; un provider particolarmente adatto all\'uso con Conversations.</string>
- <string name="magic_create_text">Ti guideremo nel processo di creazione di un account su conversations.im.\nQuando scegli conversations.im come provider potrai comunicare con utenti di altri provider dando il tuo ID Jabber completo.</string>
+ <string name="welcome_text">XMPP è un protocollo che non dipende da un provider. Puoi usare questo client con qualsiasi server XMPP scelto.\nTuttavia per comodità abbiamo semplificato la creazione di un account su conversations.im¹; un provider particolarmente adatto all\'uso con Conversations.</string>
+ <string name="magic_create_text">Ti guideremo nel processo di creazione di un account su conversations.im.¹\nQuando scegli conversations.im come provider potrai comunicare con utenti di altri provider dando il tuo ID Jabber completo.</string>
<string name="your_full_jid_will_be">Il tuo ID Jabber completo sarà: %s</string>
<string name="create_account">Crea account</string>
<string name="use_own_provider">Usa un altro provider</string>
@@ -651,6 +652,12 @@
<string name="unable_to_update_account">Impossibile aggiornare l\'account</string>
<string name="missing_presence_subscription_with_x">Sottoscrizione della presenza con %s mancante.</string>
<string name="missing_keys_from_x">Chiavi OMEMO da %s mancanti.</string>
+ <string name="missing_omemo_keys">Chiave OMEMO mancante</string>
<string name="wrong_conference_configuration">Questa non è un conferenza privata/anonima.</string>
<string name="this_conference_has_no_members">Non ci sono membri in questa conferenza.</string>
+ <string name="report_jid_as_spammer">Questo JID invia messaggi non richiesti.</string>
+ <string name="pref_delete_omemo_identities">Elimina identità OMEMO</string>
+ <string name="pref_delete_omemo_identities_summary">Rigenera le tue chiavi OMEMO. I tuoi contatti dovranno verificare un\'altra volta la tua identità. Solo come ultima possibilità.</string>
+ <string name="delete_selected_keys">Cancella le chiavi selezionate</string>
+ <string name="error_publish_avatar_offline">Devi essere connesso per pubblicare l\'avatar.</string>
</resources>
diff --git a/src/main/res/values-iw/strings.xml b/src/main/res/values-iw/strings.xml
index 22718d55..8ed4739f 100644
--- a/src/main/res/values-iw/strings.xml
+++ b/src/main/res/values-iw/strings.xml
@@ -215,7 +215,6 @@
<string name="contact_already_exists">איש קשר כבר קיים</string>
<string name="join">הצטרף</string>
<string name="conference_address">כתובת ועידה</string>
- <string name="conference_address_example">room@conference.example.com</string>
<string name="save_as_bookmark">שמור בתור סימנייה</string>
<string name="delete_bookmark">מחק סימנייה</string>
<string name="bookmark_already_exists">סימנייה זו כבר קיימת</string>
diff --git a/src/main/res/values-ja/strings.xml b/src/main/res/values-ja/strings.xml
index dc0f518f..3e55d17a 100644
--- a/src/main/res/values-ja/strings.xml
+++ b/src/main/res/values-ja/strings.xml
@@ -247,7 +247,7 @@
<string name="contact_already_exists">連絡先はすでに存在します</string>
<string name="join">参加</string>
<string name="conference_address">会議アドレス</string>
- <string name="conference_address_example">room@conference.example.com</string>
+ <string name="conference_address_example">room@conference.example.com/nick</string>
<string name="save_as_bookmark">ブックマークとして保存</string>
<string name="delete_bookmark">ブックマークを削除</string>
<string name="bookmark_already_exists">このブックマークはすでに存在します</string>
@@ -283,6 +283,7 @@
<string name="conference_requires_password">会議はパスワードが必要です</string>
<string name="enter_password">パスワードを入力してください</string>
<string name="missing_presence_updates">連絡先からの参加アップデートがありません</string>
+ <string name="missing_presence_subscription">参加サブスクリプションが見つかりません</string>
<string name="request_presence_updates">最初に連絡先から参加アップデートを要求してください。\n\n<small>これは、連絡先が何のクライアントを使用しているかを決めるために使用されます。</small></string>
<string name="request_now">今すぐ要求</string>
<string name="delete_fingerprint">フィンガープリントを削除</string>
@@ -390,7 +391,7 @@
<string name="account_image_description">アカウント アバター</string>
<string name="copy_otr_clipboard_description">OTR フィンガープリントをクリップボードにコピー</string>
<string name="copy_omemo_clipboard_description">OMEMO フィンガープリントをクリップボードにコピー</string>
- <string name="regenerate_omemo_key">OMEMO キーを再生成</string>
+ <string name="regenerate_omemo_key">OMEMO 鍵を再生成</string>
<string name="wipe_omemo_pep">PEP から他のデバイスを消去</string>
<string name="clear_other_devices">デバイスをクリア</string>
<string name="clear_other_devices_desc">OMEMO のアナウンスから他のすべてのデバイスをクリアしてもよろしいですか? お使いのデバイスが次回接続したとき、それらは自分自身を再アナウンスしますが、それらはその間に送信されたメッセージを受信できない場合があります。</string>
@@ -592,7 +593,7 @@
<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">XMPPはプロバイダーに依存しないプロトコルです。これまであなたが選択したどのXMPPサーバーでも、このクライアントを使用することができます。\nしかしあなたが便利なように、Conversationsで使用するのに最適なプロバイダーconversations.imで簡単にアカウントを作成することができるようにしています。</string>
+ <string name="welcome_text">XMPPはプロバイダーに依存しないプロトコルです。これまであなたが選択したどのXMPPサーバーでも、このクライアントを使用することができます。\nしかしあなたが便利なように、Conversationsで使用するのに最適なプロバイダーconversations.im¹で簡単にアカウントを作成することができるようにしています。</string>
<string name="magic_create_text">conversations.imのアカウントを作成する手順をガイドします。\nプロバイダーとしてconversations.imを選択すると、あなたの完全なJabber IDを指定することによって、他のプロバイダーのユーザと通信することができるようになります。</string>
<string name="your_full_jid_will_be">あなたの完全な Jabber ID は: %s</string>
<string name="create_account">アカウントを作成</string>
@@ -648,6 +649,12 @@
<string name="unable_to_update_account">アカウントを更新できません</string>
<string name="missing_presence_subscription_with_x">%s の、参加サブスクリプションが見つかりません。</string>
<string name="missing_keys_from_x">%s からの OMEMO 鍵が見つかりません。</string>
+ <string name="missing_omemo_keys">OMEMO 鍵が見つかりません</string>
<string name="wrong_conference_configuration">これはプライベートではない、非匿名の会議です。</string>
<string name="this_conference_has_no_members">この会議にメンバーはいません</string>
+ <string name="report_jid_as_spammer">この JID を不要なメッセージ送信として報告します。</string>
+ <string name="pref_delete_omemo_identities">OMEMO ID を削除</string>
+ <string name="pref_delete_omemo_identities_summary">OMEMO 鍵を再生成します。すべての連絡先を再度確認する必要があります。最後の手段としてのみ使用してください。</string>
+ <string name="delete_selected_keys">選択した鍵を削除</string>
+ <string name="error_publish_avatar_offline">アバターを公開するには接続する必要があります。</string>
</resources>
diff --git a/src/main/res/values-ko/strings.xml b/src/main/res/values-ko/strings.xml
index 08ea1ca6..1860cbc2 100644
--- a/src/main/res/values-ko/strings.xml
+++ b/src/main/res/values-ko/strings.xml
@@ -223,7 +223,6 @@
<string name="contact_already_exists">이미 존재하는 연락처입니다 </string>
<string name="join">참석 </string>
<string name="conference_address">회의 주소 </string>
- <string name="conference_address_example">room@conference.example.com</string>
<string name="save_as_bookmark">즐겨찾기로 저장 </string>
<string name="delete_bookmark">즐겨찾기 삭제 </string>
<string name="bookmark_already_exists">즐겨찾기가 이미 존재합니다 </string>
diff --git a/src/main/res/values-nb-rNO/strings.xml b/src/main/res/values-nb-rNO/strings.xml
index 424eb2e0..55671015 100644
--- a/src/main/res/values-nb-rNO/strings.xml
+++ b/src/main/res/values-nb-rNO/strings.xml
@@ -223,7 +223,6 @@
<string name="contact_already_exists">Kontakten finnes allerede</string>
<string name="join">Ta del i</string>
<string name="conference_address">Konferanse-adresse</string>
- <string name="conference_address_example">rom@konferanse.eksempel.no</string>
<string name="save_as_bookmark">Lagre som bokmerke</string>
<string name="delete_bookmark">Slett bokmerke</string>
<string name="bookmark_already_exists">Dette bokmerket finnes allerede</string>
diff --git a/src/main/res/values-nl/strings.xml b/src/main/res/values-nl/strings.xml
index 132e7200..4d55e33d 100644
--- a/src/main/res/values-nl/strings.xml
+++ b/src/main/res/values-nl/strings.xml
@@ -168,9 +168,9 @@
<string name="mgmt_account_delete">Account verwijderen</string>
<string name="mgmt_account_disable">Tijdelijk uitschakelen</string>
<string name="mgmt_account_publish_avatar">Avatar publiceren</string>
- <string name="mgmt_account_publish_pgp">Publiceer OpenPGP publieke sleutel</string>
- <string name="openpgp_has_been_published">Publieke OpenPGP-sleutel is gepubliceerd.</string>
- <string name="republish_pgp_keys">Vergeet niet je publieke OpenPGP-sleutels opnieuw te publiceren!</string>
+ <string name="mgmt_account_publish_pgp">OpenPGP-publieke sleutel publiceren</string>
+ <string name="openpgp_has_been_published">OpenPGP-publieke sleutel is gepubliceerd.</string>
+ <string name="republish_pgp_keys">Vergeet niet je OpenPGP-publieke sleutels opnieuw te publiceren!</string>
<string name="mgmt_account_enable">Account inschakelen</string>
<string name="mgmt_account_are_you_sure">Ben je zeker?</string>
<string name="mgmt_account_delete_confirm_text">Als je je account verwijdert wordt je volledige gespreksgeschiedenis gewist</string>
@@ -247,7 +247,7 @@
<string name="contact_already_exists">Het contact bestaat al</string>
<string name="join">Deelnemen</string>
<string name="conference_address">Gespreksadres</string>
- <string name="conference_address_example">kamer@groepsgesprek.voorbeeld.be</string>
+ <string name="conference_address_example">ruimte@groepsgesprek.voorbeeld.be/naam</string>
<string name="save_as_bookmark">Opslaan als bladwijzer</string>
<string name="delete_bookmark">Bladwijzer verwijderen</string>
<string name="bookmark_already_exists">Deze bladwijzer bestaat al</string>
@@ -283,6 +283,7 @@
<string name="conference_requires_password">Wachtwoord nodig voor toegang tot groepsgesprek</string>
<string name="enter_password">Wachtwoord invoeren</string>
<string name="missing_presence_updates">Ontbrekende aanwezigheidsupdates van contact</string>
+ <string name="missing_presence_subscription">Geen aanwezigheidsupdates</string>
<string name="request_presence_updates">Vraag eerst aanwezigheidsupdates van je contact aan.\n\n<small>Dit wordt gebruikt om te bepalen welke client(s) je contact gebruikt.</small></string>
<string name="request_now">Nu aanvragen</string>
<string name="delete_fingerprint">Vingerafdruk verwijderen</string>
@@ -563,7 +564,7 @@
<string name="shared_text_with_x">Tekst gedeeld met %s</string>
<string name="no_storage_permission">Conversations heeft toegang nodig tot de externe opslag</string>
<string name="sync_with_contacts">Synchroniseer met contacten</string>
- <string name="sync_with_contacts_long">Conversations wil je XMPP-rooster met je contacten vergelijken om hun volledige namen en profielfoto\'s te tonen.\n\nConversations zal je contacten enkel lokaal lezen en vergelijken zonder ze te uploaden naar je server.\n\nJe zal nu gevraagd worden Conversations toegang te verlenen tot je contacten.</string>
+ <string name="sync_with_contacts_long">Conversations wil je XMPP-rooster met je contacten vergelijken om hun volledige namen en avatars te tonen.\n\nConversations zal je contacten enkel lokaal lezen en vergelijken zonder ze te uploaden naar je server.\n\nJe zal nu gevraagd worden Conversations toegang te verlenen tot je contacten.</string>
<string name="certificate_information">Certificaatinformatie</string>
<string name="certificate_subject">Onderwerp</string>
<string name="certificate_issuer">Uitgever</string>
@@ -595,8 +596,8 @@
<string name="security_error_invalid_file_access">Beveiligingsfout: Ongeldige bestandstoegang</string>
<string name="no_application_to_share_uri">Geen applicatie om URI te delen</string>
<string name="share_uri_with">URI delen met…</string>
- <string name="welcome_text">XMPP is een protocol onafhankelijk van de providers. Je kan deze toepassing gebruiken met eender welke XMPP-server.\nOm het eenvoudig te houden hebben we het makkelijk gemaakt een account aan te maken op conversations.im; een provider speciaal geschikt voor Conversations.</string>
- <string name="magic_create_text">We zullen je helpen een account op conversations.im aan te maken.\nWanneer je conversations.im als je provider kiest kan je met gebruikers van andere providers communiceren door hen je volledige Jabber-ID te geven.</string>
+ <string name="welcome_text">XMPP is een protocol onafhankelijk van de providers. Je kan deze cliënt gebruiken met eender welke XMPP-server.\nOm het eenvoudig te houden hebben we het makkelijk gemaakt een account aan te maken op conversations.im¹; een provider speciaal geschikt voor Conversations.</string>
+ <string name="magic_create_text">We zullen je helpen een account op conversations.im¹ aan te maken.\nWanneer je conversations.im als je provider kiest kan je met gebruikers van andere providers communiceren door hen je volledige Jabber-ID te geven.</string>
<string name="your_full_jid_will_be">Je volledige Jabber-ID zal %s zijn</string>
<string name="create_account">Account aanmaken</string>
<string name="use_own_provider">Gebruik mijn eigen provider</string>
@@ -650,7 +651,13 @@
<string name="remote_server_not_found">Externe server niet gevonden</string>
<string name="unable_to_update_account">Kan account niet bijwerken</string>
<string name="missing_presence_subscription_with_x">Geen aanwezigheidsupdates van %s.</string>
- <string name="missing_keys_from_x">Geen OMEMO sleutels van %s.</string>
+ <string name="missing_keys_from_x">Geen OMEMO-sleutels van %s.</string>
+ <string name="missing_omemo_keys">Geen OMEMO-sleutels</string>
<string name="wrong_conference_configuration">Dit is geen privé, niet-anoniem groepsgesprek.</string>
<string name="this_conference_has_no_members">Er neemt niemand deel aan dit groepsgesprek.</string>
+ <string name="report_jid_as_spammer">Rapporteer deze JID voor het sturen van ongewenste berichten</string>
+ <string name="pref_delete_omemo_identities">OMEMO-identiteiten verwijderen</string>
+ <string name="pref_delete_omemo_identities_summary">Maak je OMEMO-sleutels opnieuw aan. Al je contacten zullen je opnieuw moeten verifiëren. Gebruik dit enkel als een laatste reddingsmiddel.</string>
+ <string name="delete_selected_keys">Geselecteerde sleutels verwijderen</string>
+ <string name="error_publish_avatar_offline">Je moet verbonden zijn om je avatar te kunnen publiceren.</string>
</resources>
diff --git a/src/main/res/values-pl/strings.xml b/src/main/res/values-pl/strings.xml
index cc9ce245..7cbb7655 100644
--- a/src/main/res/values-pl/strings.xml
+++ b/src/main/res/values-pl/strings.xml
@@ -238,7 +238,6 @@
<string name="contact_already_exists">Kontakt już istnieje</string>
<string name="join">Dołącz</string>
<string name="conference_address">Adres konferencji</string>
- <string name="conference_address_example">room@conference.example.com</string>
<string name="save_as_bookmark">Dodaj jako zakładkę</string>
<string name="delete_bookmark">Usuń zakładkę</string>
<string name="bookmark_already_exists">Zakładka już istnieje</string>
@@ -583,8 +582,6 @@
<string name="security_error_invalid_file_access">Błąd bezpieczeństwa: nieprawidłowy dostęp do pliku</string>
<string name="no_application_to_share_uri">Nie odnaleziono aplikacji skojarzonej z URI</string>
<string name="share_uri_with">Udostępnij URI za pomocą...</string>
- <string name="welcome_text">XMPP jest protokołem niezależnym od dostawcy usług. Możesz używać tego klienta z dowolnym serwerem XMPP.\nJednak dla Twojej wygody ułatwiliśmy Ci stworzenie konta na conversations.im, serwerze specjalnie przystosowanym do używania z Conversations.</string>
- <string name="magic_create_text">Przeprowadzimy Cię przez proces tworzenia konta na conversations.im.\nKiedy wybierzesz konto na serwerze conversations.im, będziesz mógł komunikować się z użytkownikami na innych serwerach podając im swój pełen Jabber ID.</string>
<string name="your_full_jid_will_be">Twój pełen Jabber ID będzie następujący: %s</string>
<string name="create_account">Utwórz Konto</string>
<string name="use_own_provider">Użyj innego serwera</string>
diff --git a/src/main/res/values-pt-rBR/strings.xml b/src/main/res/values-pt-rBR/strings.xml
index 789bdff3..4f66ba80 100644
--- a/src/main/res/values-pt-rBR/strings.xml
+++ b/src/main/res/values-pt-rBR/strings.xml
@@ -247,7 +247,7 @@
<string name="contact_already_exists">Esse contato já existe</string>
<string name="join">Entrar</string>
<string name="conference_address">Endereço da conferência</string>
- <string name="conference_address_example">sala@conferencia.example.com</string>
+ <string name="conference_address_example">sala@conferencia.exemplo.com/apelido</string>
<string name="save_as_bookmark">Salvar como favorito</string>
<string name="delete_bookmark">Excluir o favorito</string>
<string name="bookmark_already_exists">Esse favorito já existe</string>
@@ -595,8 +595,8 @@
<string name="security_error_invalid_file_access">Erro de segurança: Acesso inválido ao arquivo</string>
<string name="no_application_to_share_uri">Não foi encontrada nenhuma aplicação para compartilhar a URI</string>
<string name="share_uri_with">Compartilhar a URI com...</string>
- <string name="welcome_text">O XMPP é um protocolo independente de provedor. Você pode usar esse cliente com qualquer servidor que você escolher.\nEntretanto, para sua conveniência, nós simplificamos o processo de criação de uma conta em conversations.im, um provedor especialmente configurado para usar com o Conversations.</string>
- <string name="magic_create_text">Nós guiaremos você ao longo do processo de criar uma conta em conversations.im.\nAo usar esse provedor você também poderá se comunicar com usuários de outros provedores. Basta fornecê-los a sua identificação Jabber completa.</string>
+ <string name="welcome_text">O XMPP é um protocolo independente de provedor. Você pode usar esse cliente com qualquer servidor que você escolher.\nEntretanto, para sua conveniência, nós simplificamos o processo de criação de uma conta em conversations.im¹, um provedor especialmente configurado para usar com o Conversations.</string>
+ <string name="magic_create_text">Nós guiaremos você ao longo do processo de criar uma conta em conversations.im.¹\nAo usar esse provedor você também poderá se comunicar com usuários de outros provedores. Basta fornecê-los a sua identificação Jabber completa.</string>
<string name="your_full_jid_will_be">Sua ID Jabber será: %s</string>
<string name="create_account">Criar conta</string>
<string name="use_own_provider">Usar meu próprio provedor</string>
@@ -653,4 +653,8 @@
<string name="missing_keys_from_x">Sem chaves OMEMO para %s.</string>
<string name="wrong_conference_configuration">Essa conferência não é privada nem anônima.</string>
<string name="this_conference_has_no_members">Não existem ninguém nessa conferência.</string>
+ <string name="report_jid_as_spammer">Informe que esse JID está enviando mensagens indesejáveis</string>
+ <string name="pref_delete_omemo_identities">Excluir identidades OMEMO</string>
+ <string name="pref_delete_omemo_identities_summary">Regerar suas chaves OMEMO. Todos os seus contatos terão que verificá-lo novamente. Utilize isso somente como último recurso.</string>
+ <string name="delete_selected_keys">Excluir as chaves selecionadas</string>
</resources>
diff --git a/src/main/res/values-pt/strings.xml b/src/main/res/values-pt/strings.xml
index bc8167ff..9d5bd169 100644
--- a/src/main/res/values-pt/strings.xml
+++ b/src/main/res/values-pt/strings.xml
@@ -237,7 +237,6 @@
<string name="contact_already_exists">O contacto já existe</string>
<string name="join">Juntar</string>
<string name="conference_address">Endereço da conferência</string>
- <string name="conference_address_example">sala@conferencia.example.com</string>
<string name="save_as_bookmark">Guardar como favorito</string>
<string name="delete_bookmark">Apagar favorito</string>
<string name="bookmark_already_exists">O favorito já existe</string>
diff --git a/src/main/res/values-ro-rRO/strings.xml b/src/main/res/values-ro-rRO/strings.xml
index 0f6c5452..909b14d2 100644
--- a/src/main/res/values-ro-rRO/strings.xml
+++ b/src/main/res/values-ro-rRO/strings.xml
@@ -247,7 +247,7 @@
<string name="contact_already_exists">Contactul exista deja</string>
<string name="join">Alatura-te</string>
<string name="conference_address">Adresa conferinta</string>
- <string name="conference_address_example">room@conference.example.com</string>
+ <string name="conference_address_example">camera@conferinta.exemplu.ro/nume_utilizator</string>
<string name="save_as_bookmark">Salveaza semn de carte</string>
<string name="delete_bookmark">Sterge semn de carte</string>
<string name="bookmark_already_exists">Acest semn de carte exista</string>
@@ -283,6 +283,7 @@
<string name="conference_requires_password">Conferinta necesita parola</string>
<string name="enter_password">Introdu parola</string>
<string name="missing_presence_updates">Au lipsit actualizarile de prezenta de la contact</string>
+ <string name="missing_presence_subscription">Lipseste abonarea de la actualizarea prezentei</string>
<string name="request_presence_updates">Te rog mai intai cere actualizari de prezente de la contact.\n\n<small>Asta va fi folosita pentru a determina ce aplicatii client foloseste contactul tau</small></string>
<string name="request_now">Cere acum</string>
<string name="delete_fingerprint">Sterge amprenta</string>
@@ -550,7 +551,7 @@
<string name="pref_use_tor_summary">Trimite toate conexiunile prin reteaua Tor. Necesita Orbot</string>
<string name="account_settings_hostname">Nume gazda</string>
<string name="account_settings_port">Port</string>
- <string name="hostname_or_onion">Adresa server- sau .onion</string>
+ <string name="hostname_or_onion">Adresa server sau .onion</string>
<string name="not_a_valid_port">Acesta nu este un numar de port valabil</string>
<string name="not_valid_hostname">Acesta nu este un nume de gazda valabila</string>
<string name="connected_accounts">%1$d din %2$d conturi conectate</string>
@@ -599,8 +600,8 @@ Emitent</string>
<string name="security_error_invalid_file_access">Eroare de securitate.: Acces fisier invalid</string>
<string name="no_application_to_share_uri">Nu s-a gasit nici o aplicatie care sa partajeze URI</string>
<string name="share_uri_with">Partajeaza URI cu...</string>
- <string name="welcome_text">XMPP este un protocol independent ce nu depinde de un anume furnizor. Aveți posibilitatea sa utilizati acest client cu orice server XMPP doriti.\nTotusi pentru confortul dumneavoastra am facilitat crearea unui cont pe conversations.im; un furnizor potrivit pentru utilizarea cu aplicatia Conversations.</string>
- <string name="magic_create_text">Va vom ghida prin procesul de creare al unui cont pe conversations.im.\nCand alegeti conversations.im ca furnizor veti putea comunica cu utilizatorii altor furnizori oferindu-le ID-ul dumneavoastra Jabber.</string>
+ <string name="welcome_text">XMPP este un protocol independent ce nu depinde de un anume furnizor. Aveți posibilitatea sa utilizati acest client cu orice server XMPP doriti.\nTotusi pentru confortul dumneavoastra am facilitat crearea unui cont pe conversations.im¹; un furnizor potrivit pentru utilizarea cu aplicatia Conversations.</string>
+ <string name="magic_create_text">Va vom ghida prin procesul de creare al unui cont pe conversations.im.¹\nCand alegeti conversations.im ca furnizor veti putea comunica cu utilizatorii altor furnizori oferindu-le ID-ul dumneavoastra Jabber.</string>
<string name="your_full_jid_will_be">ID-ul Jabber va fi: %s</string>
<string name="create_account">Creeaza cont</string>
<string name="use_own_provider">Foloseste furnizorul meu</string>
@@ -655,6 +656,12 @@ Emitent</string>
<string name="unable_to_update_account">Nu se poate actualiza contul</string>
<string name="missing_presence_subscription_with_x">Lipsesc actualizarile de prezenta cu %s.</string>
<string name="missing_keys_from_x">Cheie OMEMO lipsa din %s.</string>
+ <string name="missing_omemo_keys">Chei OMEMO lipsa</string>
<string name="wrong_conference_configuration">Aceasta este o conferinta care nu este privata si nu este anonima.</string>
<string name="this_conference_has_no_members">Conferinta nu are nici un membru.</string>
+ <string name="report_jid_as_spammer">Raporteaza ca aceasta identitate (JID) trimite mesaje nedorite.</string>
+ <string name="pref_delete_omemo_identities">Sterge identitatile OMEMO</string>
+ <string name="pref_delete_omemo_identities_summary">Regenereaza cheile personale OMEMO. Toate contactele vor fi obligate sa verifice cheile tale din nou. Foloseste asta ca o ultima optiune.</string>
+ <string name="delete_selected_keys">Sterge cheile selectate</string>
+ <string name="error_publish_avatar_offline">Pentru a putea publica avatarul trebuie sa existe o conexiune.</string>
</resources>
diff --git a/src/main/res/values-ru/strings.xml b/src/main/res/values-ru/strings.xml
index 83e2f84b..ad62138e 100644
--- a/src/main/res/values-ru/strings.xml
+++ b/src/main/res/values-ru/strings.xml
@@ -6,7 +6,7 @@
<string name="action_end_conversation">Закончить текущую беседу</string>
<string name="action_contact_details">Сведения о контакте</string>
<string name="action_muc_details">Сведения о конференции</string>
- <string name="action_secure">Защищенная беседа</string>
+ <string name="action_secure">Защищённая беседа</string>
<string name="action_add_account">Добавить аккаунт</string>
<string name="action_edit_contact">Редактировать контакт</string>
<string name="action_add_phone_book">Добавить в адресную книгу</string>
@@ -15,20 +15,20 @@
<string name="action_unblock_contact">Разблокировать контакт</string>
<string name="action_block_domain">Заблокировать домен</string>
<string name="action_unblock_domain">Разблокировать домен</string>
- <string name="title_activity_manage_accounts">Управление Аккаунтами</string>
+ <string name="title_activity_manage_accounts">Управление аккаунтами</string>
<string name="title_activity_settings">Настройки</string>
- <string name="title_activity_conference_details">Сведения о Конференции</string>
- <string name="title_activity_contact_details">Сведения о Контакте</string>
+ <string name="title_activity_conference_details">Сведения о конференции</string>
+ <string name="title_activity_contact_details">Сведения о контакте</string>
<string name="title_activity_sharewith">Поделиться</string>
<string name="title_activity_start_conversation">Начать беседу</string>
<string name="title_activity_choose_contact">Выберите собеседника</string>
- <string name="title_activity_block_list">Черный список</string>
+ <string name="title_activity_block_list">Чёрный список</string>
<string name="just_now">только что</string>
<string name="minute_ago">1 минуту назад</string>
<string name="minutes_ago">%d мин. назад</string>
- <string name="unread_conversations">непрочитанных сообщений</string>
+ <string name="unread_conversations">сообщен. не прочитано</string>
<string name="sending">отправка…</string>
- <string name="message_decrypting">Расшифровка сообщения. Подождите...</string>
+ <string name="message_decrypting">Расшифровка сообщения. Подождите…</string>
<string name="pgp_message">OpenPGP зашифрованное сообщение</string>
<string name="nick_in_use">Имя уже используется</string>
<string name="admin">Администратор</string>
@@ -59,11 +59,11 @@
<string name="save">Сохранить</string>
<string name="ok">ОК</string>
<string name="crash_report_title">Conversations был неожиданно остановлен</string>
- <string name="crash_report_message">Отправляя отчеты об ошибках, вы помогаете исправить и улучшить программу, поддерживая дальнейшее развитие программы\n<b>Предупреждение:</b>Отчет об ошибке будет отправлен разработчику, используя ваш аккаунт XMPP.</string>
+ <string name="crash_report_message">Отправляя отчёты об ошибках, вы помогаете исправить и улучшить Conversations\n<b>Предупреждение:</b> Отчёт будет отправлен разработчику с вашего XMPP аккаунта. </string>
<string name="send_now">Отправить сейчас</string>
<string name="send_never">Больше не спрашивать</string>
- <string name="problem_connecting_to_account">Не удается подключиться к аккаунту</string>
- <string name="problem_connecting_to_accounts">Не удается подключиться к аккаунтам</string>
+ <string name="problem_connecting_to_account">Не удаётся подключиться к аккаунту</string>
+ <string name="problem_connecting_to_accounts">Не удаётся подключиться к аккаунтам</string>
<string name="touch_to_fix">Нажмите здесь, чтобы настроить свои аккаунты</string>
<string name="attach_file">Прикрепить файл</string>
<string name="not_in_roster">Контакт не находится в вашем списке. Хотите добавить его?</string>
@@ -72,55 +72,56 @@
<string name="send_rejected">отклонено</string>
<string name="preparing_image">Подготовка изображения к передаче</string>
<string name="preparing_images">Подготовка изображений для передачи</string>
- <string name="sharing_files_please_wait">Обмен файлами. Пожалуйста, подождите...</string>
+ <string name="sharing_files_please_wait">Обмен файлами. Пожалуйста, подождите…</string>
<string name="action_clear_history">Очистить историю</string>
<string name="clear_conversation_history">Очистить историю</string>
<string name="clear_histor_msg">Вы хотите удалить все сообщения в этой беседе?\n\n<b>Предупреждение:</b> Данная операция не повлияет на сообщения, хранящиеся на других устройствах.</string>
<string name="delete_messages">Удалить сообщения</string>
<string name="also_end_conversation">Закончить эту беседу впоследствии</string>
- <string name="send_unencrypted_message">Отправить нешифрованное сообщение</string>
- <string name="send_message_to_x">Отправить сообщение для %s</string>
- <string name="send_otr_message">Отправить OTR защифрованное сообщение</string>
- <string name="send_omemo_message">Отправить OMEMO защифрованное сообщение</string>
- <string name="send_omemo_x509_message">Послать v\\OMEMO зашифрованное сообщение</string>
- <string name="send_pgp_message">Отправить OpenPGP защифрованное сообщение</string>
- <string name="your_nick_has_been_changed">Ваш псевдоним был изменен</string>
+ <string name="choose_presence">Выберите устройство</string>
+ <string name="send_unencrypted_message">Нешифрованное сообщение</string>
+ <string name="send_message_to_x">Сообщение для %s</string>
+ <string name="send_otr_message">OTR зашифрованное сообщение</string>
+ <string name="send_omemo_message">OMEMO зашифрованное сообщение</string>
+ <string name="send_omemo_x509_message">v\\OMEMO зашифрованное сообщение</string>
+ <string name="send_pgp_message">OpenPGP зашифрованное сообщение</string>
+ <string name="your_nick_has_been_changed">Ваш псевдоним был изменён</string>
<string name="send_unencrypted">Отправить в незашифрованном виде</string>
<string name="decryption_failed">Расшифровка не удалась. Вероятно, что у вас нет надлежащего ключа.</string>
<string name="openkeychain_required">Установите OpenKeychain</string>
<string name="openkeychain_required_long">Conversations использует стороннее приложение под названием <b>OpenKeychain</b> для шифрования и расшифрования сообщений и управления открытыми ключами.\nПрограмма OpenKeychain распространяется под лицензией GPLv3 и доступна для загрузки через F-Droid или Google Play.\n\n<small>(Потребуется перезапуск Conversations после установки.)</small></string>
<string name="restart">Перезапуск</string>
<string name="install">Установка</string>
- <string name="openkeychain_not_installed">Установите OpenKeychain пожалуйста</string>
+ <string name="openkeychain_not_installed">Пожалуйста, установите OpenKeychain</string>
<string name="offering">предложение…</string>
<string name="waiting">ожидание…</string>
<string name="no_pgp_key">Нет OpenPGP ключа</string>
- <string name="contact_has_no_pgp_key">Conversations не может зашифровать сообщение, потому что удаленный пользователь не анонсирует свой открытый ключ.\n\n<small>Пожалуйста, попросите удаленного пользователя тоже установить OpenPGP.</small></string>
+ <string name="contact_has_no_pgp_key">Conversations не может зашифровать сообщение, потому что удалённый пользователь не анонсирует свой открытый ключ.\n\n<small>Пожалуйста, попросите удалённого пользователя установить OpenPGP.</small></string>
<string name="no_pgp_keys">Нет OpenPGP ключей</string>
- <string name="contacts_have_no_pgp_keys">Conversations не может зашифровать сообщения, потому что удаленные пользователи не анонсируют свои открытые ключи.\n\n<small>Пожалуйста, попросите удаленных пользователей тоже установить OpenPGP.</small></string>
+ <string name="contacts_have_no_pgp_keys">Conversations не может зашифровать сообщения, потому что удалённые пользователи не анонсируют свои открытые ключи.\n\n<small>Пожалуйста, попросите удалённых пользователей установить OpenPGP.</small></string>
<string name="pref_general">Общие</string>
<string name="pref_xmpp_resource">Название ресурса</string>
- <string name="pref_xmpp_resource_summary">Имя которым Conversations идентифицирует себя</string>
+ <string name="pref_xmpp_resource_summary">Имя, которым клиент идентифицирует себя</string>
<string name="pref_accept_files">Принимать файлы</string>
- <string name="pref_accept_files_summary">Автоматический прием файлов…</string>
+ <string name="pref_accept_files_summary">Автоматический приём файлов…</string>
<string name="pref_attachments">Вложения</string>
<string name="pref_return_to_previous">Быстрый обмен</string>
<string name="pref_return_to_previous_summary">Мгновенный возврат на предыдущий экран вместо открытия беседы после обмена</string>
<string name="pref_notification_settings">Уведомление</string>
- <string name="pref_notifications">Уведомление</string>
+ <string name="pref_notifications">Уведомления</string>
<string name="pref_notifications_summary">Использовать звуковое уведомление когда приходят новые сообщения</string>
<string name="pref_vibrate">Вибрация</string>
- <string name="pref_vibrate_summary">Вибирировать, когда приходят новые сообщения</string>
+ <string name="pref_vibrate_summary">Вибрировать, когда приходят новые сообщения</string>
<string name="pref_led">Светодиодное уведомление</string>
<string name="pref_led_summary">Мерцание индикатора при получении нового сообщения</string>
- <string name="pref_sound">Рингтон</string>
- <string name="pref_sound_summary">Воспроизводить звук, когда приходят новые сообщения</string>
+ <string name="pref_sound">Звук уведомления</string>
+ <string name="pref_sound_summary">Звук при поступлении новых сообщений</string>
<string name="pref_notification_grace_period">Грейс-период</string>
<string name="pref_notification_grace_period_summary">Промежуток времени, в течение которого Conversations хранит молчание при обнаружении активности на другом устройстве</string>
<string name="pref_advanced_options">Дополнительно</string>
- <string name="pref_never_send_crash">Отчеты об ошибках</string>
- <string name="pref_never_send_crash_summary">Отправляя отчеты об ошибках, вы помогаете исправить и улучшить Conversations, поддерживая дальнейшее развитие программы</string>
- <string name="pref_confirm_messages">Отчеты о получении</string>
+ <string name="pref_never_send_crash">Не отправлять отчёты об ошибках</string>
+ <string name="pref_never_send_crash_summary">Отправляя отчёты об ошибках, вы помогаете исправить и улучшить Conversations</string>
+ <string name="pref_confirm_messages">Отчёты о получении</string>
<string name="pref_confirm_messages_summary">Разрешить уведомлять отправителя, когда вы получили и прочитали сообщение</string>
<string name="pref_ui_options">Интерфейс</string>
<string name="openpgp_error">Возникла ошибка в OpenKeychain</string>
@@ -132,11 +133,11 @@
<string name="subscriptions">Подписки</string>
<string name="your_account">Ваш аккаунт</string>
<string name="keys">Ключи</string>
- <string name="send_presence_updates">Анонсировать статус присутствия</string>
- <string name="receive_presence_updates">Получать обновления статусов присутствия</string>
- <string name="ask_for_presence_updates">Запрашивать обновления статусов присутствия</string>
- <string name="attach_choose_picture">Выберите изображение</string>
- <string name="attach_take_picture">Снимите изображение</string>
+ <string name="send_presence_updates">Отправлять присутствие</string>
+ <string name="receive_presence_updates">Получать присутствие</string>
+ <string name="ask_for_presence_updates">Запрашивать присутствие</string>
+ <string name="attach_choose_picture">Выбрать изображение</string>
+ <string name="attach_take_picture">Сделать снимок</string>
<string name="preemptively_grant">Удовлетворять запросы на подписки</string>
<string name="error_not_an_image_file">Выбранный файл не является изображением</string>
<string name="error_compressing_image">Ошибка при преобразовании изображения</string>
@@ -144,7 +145,7 @@
<string name="error_io_exception">Общая ошибка ввода/вывода. Возможно, на устройстве недостаточно свободного места?</string>
<string name="error_security_exception_during_image_copy">Приложение, которое было использовано для выбора изображения не имеет достаточных прав для чтения файла.\n\n<small>Используйте другой файловый менеджер, чтобы выбрать изображение</small></string>
<string name="account_status_unknown">Неизвестен</string>
- <string name="account_status_disabled">Временно отключен</string>
+ <string name="account_status_disabled">Временно отключён</string>
<string name="account_status_online">В сети</string>
<string name="account_status_connecting">Соединение\u2026</string>
<string name="account_status_offline">Не в сети</string>
@@ -156,30 +157,32 @@
<string name="account_status_regis_success">Регистрация завершена</string>
<string name="account_status_regis_not_sup">Сервер не поддерживает регистрацию</string>
<string name="account_status_security_error">Ошибка безопасности</string>
+ <string name="account_status_policy_violation">Нарушение правил</string>
<string name="account_status_incompatible_server">Несовместимый сервер</string>
+ <string name="account_status_stream_error">Ошибка потока</string>
<string name="encryption_choice_unencrypted">Без шифра</string>
<string name="encryption_choice_otr">OTR</string>
<string name="encryption_choice_pgp">OpenPGP</string>
<string name="encryption_choice_omemo">OMEMO</string>
<string name="mgmt_account_edit">Редактировать аккаунт</string>
- <string name="mgmt_account_delete">Удалить</string>
- <string name="mgmt_account_disable">Отключить</string>
+ <string name="mgmt_account_delete">Удалить аккаунт</string>
+ <string name="mgmt_account_disable">Временно отключить</string>
<string name="mgmt_account_publish_avatar">Разместить аватар</string>
<string name="mgmt_account_publish_pgp">Анонсировать OpenPGP ключ</string>
<string name="openpgp_has_been_published">Открытый ключ OpenPGP был опубликован.</string>
<string name="republish_pgp_keys">Не забудьте повторно анонсировать свои OpenPGP ключи!</string>
- <string name="mgmt_account_enable">Включить</string>
+ <string name="mgmt_account_enable">Включить аккаунт</string>
<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">JID (Джаббер ID)</string>
+ <string name="account_settings_jabber_id">Jabber ID</string>
<string name="account_settings_password">Пароль</string>
<string name="account_settings_example_jabber_id">username@example.com</string>
<string name="account_settings_confirm_password">Подтвердите пароль</string>
<string name="password">Пароль</string>
<string name="confirm_password">Подтвердите пароль</string>
<string name="passwords_do_not_match">Пароли не совпадают</string>
- <string name="invalid_jid">Недопустимый JID (Джаббер ID)</string>
+ <string name="invalid_jid">Недопустимый Jabber ID</string>
<string name="error_out_of_memory">Недостаточно памяти. Изображение слишком большое</string>
<string name="add_phone_book_text">Вы хотите добавить %s в вашу адресную книгу?</string>
<string name="contact_status_online">в сети</string>
@@ -199,7 +202,7 @@
<string name="server_info_stream_management">XEP-0198: Управление потоками</string>
<string name="server_info_pep">XEP-0163: PEP (Аватары / OMEMO)</string>
<string name="server_info_http_upload">XEP-0363: Загрузка по HTTP</string>
- <string name="server_info_push">XEP-0357: Push уведомления</string>
+ <string name="server_info_push">XEP-0357: Push-уведомления</string>
<string name="server_info_available">доступно</string>
<string name="server_info_unavailable">недоступно</string>
<string name="missing_public_keys">Отсутствие анонсирования открытых ключей</string>
@@ -210,13 +213,15 @@
<string name="last_seen_hours">Присутствие: %d час. назад</string>
<string name="last_seen_day">Присутствие: 1 день назад</string>
<string name="last_seen_days">Присутствие: %d дн. назад</string>
- <string name="never_seen">Никогда</string>
- <string name="install_openkeychain">Зашифрованное сообщение. Пожалуйста, установите OpenKeychain для дешифрования.</string>
- <string name="unknown_otr_fingerprint">Неизвестная контрольная сумма криптографического протокола OTR</string>
+ <string name="never_seen">никогда</string>
+ <string name="install_openkeychain">Зашифрованное сообщение. Пожалуйста, установите OpenKeychain для расшифрования.</string>
+ <string name="unknown_otr_fingerprint">Неизвестный отпечаток OTR</string>
<string name="openpgp_messages_found">Найдены OpenPGP зашифрованые сообщения</string>
- <string name="reception_failed">Прием не удался</string>
- <string name="your_fingerprint">Контрольная сумма</string>
- <string name="otr_fingerprint">OTR контрольная сумма</string>
+ <string name="reception_failed">Приём не удался</string>
+ <string name="your_fingerprint">Ваш отпечаток</string>
+ <string name="otr_fingerprint">OTR отпечаток</string>
+ <string name="otr_fingerprint_selected_message">OTR отпечаток сообщения</string>
+ <string name="openpgp_key_id">ID OpenPGP ключа</string>
<string name="omemo_fingerprint">OMEMO отпечаток</string>
<string name="omemo_fingerprint_x509">v\\OMEMO отпечаток</string>
<string name="omemo_fingerprint_selected_message">OMEMO отпечаток сообщения</string>
@@ -227,29 +232,29 @@
<string name="fetching_keys">Получение ключей…</string>
<string name="done">Готово</string>
<string name="verify">Подтвердить</string>
- <string name="decrypt">Дешифровать</string>
+ <string name="decrypt">Расшифровать</string>
<string name="conferences">Конференции</string>
<string name="search">Поиск</string>
- <string name="create_contact">Создать контакт</string>
+ <string name="create_contact">Новый контакт</string>
<string name="enter_contact">Добавить контакт</string>
<string name="join_conference">Присоединиться к конференции</string>
- <string name="delete_contact">Удалить Контакт</string>
+ <string name="delete_contact">Удалить контакт</string>
<string name="view_contact_details">Посмотреть данные контакта</string>
<string name="block_contact">Заблокировать контакт</string>
<string name="unblock_contact">Разблокировать контакт</string>
<string name="create">Создать</string>
- <string name="select">Select</string>
+ <string name="select">Выбрать</string>
<string name="contact_already_exists">Контакт уже существует</string>
<string name="join">Присоединиться</string>
<string name="conference_address">Адрес конференции</string>
- <string name="conference_address_example">room@conference.example.com</string>
+ <string name="conference_address_example">room@conference.example.com/nick</string>
<string name="save_as_bookmark">Сохранить закладку</string>
<string name="delete_bookmark">Удалить закладку</string>
<string name="bookmark_already_exists">Такая закладка уже существует</string>
<string name="you">Вы</string>
<string name="action_edit_subject">Редактировать тему конференции</string>
<string name="edit_subject_hint">Тема конференции</string>
- <string name="joining_conference">Вход в конференцию...</string>
+ <string name="joining_conference">Вход в конференцию…</string>
<string name="leave">Покинуть</string>
<string name="contact_added_you">Собеседник добавил вас в список контактов</string>
<string name="add_back">Добавить в ответ</string>
@@ -263,11 +268,11 @@
<string name="error_saving_avatar">Не удалось сохранить аватар</string>
<string name="or_long_press_for_default">(Или долгое прикосновение, чтобы вернуть значения по умолчанию)</string>
<string name="error_publish_avatar_no_server_support">Ваш сервер не поддерживает публикацию аватаров</string>
- <string name="private_message">Отправить личное сообщение для %s</string>
+ <string name="private_message">шёпот</string>
<string name="private_message_to">отправить %s</string>
<string name="send_private_message_to">Отправить личное сообщение для %s</string>
<string name="connect">Подключиться</string>
- <string name="account_already_exists">Эта учетная запись уже существует</string>
+ <string name="account_already_exists">Аккаунт уже существует</string>
<string name="next">Далее</string>
<string name="server_info_session_established">Текущий сеанс установлен</string>
<string name="additional_information">Дополнительная информация</string>
@@ -278,11 +283,12 @@
<string name="conference_requires_password">Конференция требует авторизации</string>
<string name="enter_password">Введите пароль</string>
<string name="missing_presence_updates">Обновления присутствия недоступны</string>
+ <string name="missing_presence_subscription">Отсутствует подписка</string>
<string name="request_presence_updates">Пожалуйста, прежде запросите обновления присутствия у вашего собеседника.\n\n<small>Эта информация будет использоваться для определения того, каким клиентом(ами) пользуетя ваш собеседник.</small></string>
<string name="request_now">Запросить сейчас</string>
- <string name="delete_fingerprint">Удалить Контрольную Сумму</string>
- <string name="sure_delete_fingerprint">Вы уверены, что хотите удалить данную контрольную сумму?</string>
- <string name="ignore">Отменить</string>
+ <string name="delete_fingerprint">Удалить отпечаток</string>
+ <string name="sure_delete_fingerprint">Вы уверены, что хотите удалить данный отпечаток?</string>
+ <string name="ignore">Игнорировать</string>
<string name="without_mutual_presence_updates"><b>Внимание:</b> Если обновления присутствия не включены на обеих сторонах, это может привести к возникновению неожиданных проблемам.\n\n<small>Уточните сведения о контакте, проверив настройки обновлений присутствия.</small></string>
<string name="pref_security_settings">Безопасность</string>
<string name="pref_force_encryption">Обязательное сквозное шифрование</string>
@@ -295,7 +301,7 @@
<string name="pref_expert_options_summary">Пожалуйста, будьте осторожны с данными настройками</string>
<string name="title_activity_about">О Conversations</string>
<string name="pref_about_conversations_summary">Информация о билде и лицензировании</string>
- <string name="title_pref_quiet_hours">Тихие Часы</string>
+ <string name="title_pref_quiet_hours">Тихие часы</string>
<string name="title_pref_quiet_hours_start_time">Начало</string>
<string name="title_pref_quiet_hours_end_time">Окончание</string>
<string name="title_pref_enable_quiet_hours">Включить режим «тихих часов»</string>
@@ -304,13 +310,13 @@
<string name="pref_use_larger_font_summary">Установите больший размер шрифта по всей программе</string>
<string name="pref_use_send_button_to_indicate_status">Использовать кнопку-индикатор</string>
<string name="pref_use_indicate_received">Запрос в получении сообщения</string>
- <string name="pref_use_indicate_received_summary">Если поддерживается, поступившие сообщения будут отмечены зеленой галочкой</string>
+ <string name="pref_use_indicate_received_summary">Если поддерживается, поступившие сообщения будут отмечены зелёной галочкой</string>
<string name="pref_use_send_button_to_indicate_status_summary">Раскрасить кнопку отправить, указывая текущий статус собеседника</string>
<string name="pref_expert_options_other">Другие</string>
<string name="pref_conference_name">Название конференции</string>
<string name="pref_conference_name_summary">Использовать тему беседы заместо JID для отображения конференций</string>
<string name="pref_autojoin">Автоматический вход в конференции</string>
- <string name="pref_autojoin_summary">Автоматический вход в конференции</string>
+ <string name="pref_autojoin_summary">Автоматически входить в конференции при установленном флаге автовхода закладки</string>
<string name="toast_message_otr_fingerprint">OTR-отпечаток скопирован в буфер обмена!</string>
<string name="toast_message_omemo_fingerprint">OMEMO отпечаток скопирован в буфер обмена!</string>
<string name="conference_banned">Вы заблокированы в этой конференции</string>
@@ -318,11 +324,11 @@
<string name="conference_kicked">Вы были удалены из конференции</string>
<string name="conference_shutdown">Конференция была остановлена</string>
<string name="conference_unknown_error">Вы больше не состоите в конференции</string>
- <string name="using_account">использовать учётную запись %s</string>
+ <string name="using_account">используется аккаунт %s</string>
<string name="checking_x">Проверка %s на сервере HTTP</string>
<string name="not_connected_try_again">Вы неподключены. Попробуйте позже</string>
- <string name="check_x_filesize">Проверьте размер %s</string>
- <string name="check_x_filesize_on_host">Проверьте размер %1$s на %2$s</string>
+ <string name="check_x_filesize">Проверить размер %s</string>
+ <string name="check_x_filesize_on_host">Проверить размер %1$s на %2$s</string>
<string name="message_options">Опции сообщения</string>
<string name="copy_text">Копировать текст</string>
<string name="copy_original_url">Копировать адрес ссылки</string>
@@ -352,13 +358,15 @@
<string name="verified">Подтверждён!</string>
<string name="smp_requested">Контакт запросил подтверждение SMP</string>
<string name="no_otr_session_found">Действительная OTR-сессия не найдена!</string>
- <string name="conversations_foreground_service">Диалоги</string>
+ <string name="conversations_foreground_service">Conversations</string>
<string name="pref_keep_foreground_service">Оставить службу на переднем плане</string>
<string name="pref_keep_foreground_service_summary">Не позволяет операционной системе закрыть ваше соединение</string>
+ <string name="pref_export_logs">Экспорт истории</string>
+ <string name="pref_export_logs_summary">Записать историю бесед на SD карту</string>
<string name="notification_export_logs_title">Запись истории на SD карту</string>
- <string name="choose_file">Выберите файл</string>
- <string name="receiving_x_file">Получение %1$s (%2$d%% выполнено)</string>
- <string name="download_x_file">Загружено %s</string>
+ <string name="choose_file">Выбрать файл</string>
+ <string name="receiving_x_file">%1$s загружается (%2$d%% выполнено)</string>
+ <string name="download_x_file">Загрузить %s</string>
<string name="delete_x_file">Удалить %s</string>
<string name="file">файл</string>
<string name="open_x_file">Открыть %s</string>
@@ -375,12 +383,12 @@
<string name="pref_show_dynamic_tags">Показывать динамические тэги</string>
<string name="pref_show_dynamic_tags_summary">Отображать теги только для чтения под контактами</string>
<string name="enable_notifications">Включить уведомления</string>
- <string name="conference_with">Создать конференцию с...</string>
+ <string name="conference_with">Создать конференцию с…</string>
<string name="no_conference_server_found">Сервер конференции не был найден</string>
<string name="conference_creation_failed">Не удалось создать конференцию!</string>
<string name="secret_accepted">Секретный ключ принят!</string>
<string name="reset">Сброс</string>
- <string name="account_image_description">Изображение учётной записи</string>
+ <string name="account_image_description">Аватар аккаунта</string>
<string name="copy_otr_clipboard_description">Скопировать OTR-отпечаток в буфер обмена</string>
<string name="copy_omemo_clipboard_description">Скопировать OMEMO-отпечаток в буфер обмена</string>
<string name="regenerate_omemo_key">Создать заново ключ OMEMO</string>
@@ -395,7 +403,7 @@
<string name="error_trustkeys_title">Ошибка</string>
<string name="fetching_history_from_server">Получение истории с сервера</string>
<string name="no_more_history_on_server">На сервере больше нет истории</string>
- <string name="updating">Обновление...</string>
+ <string name="updating">Обновление…</string>
<string name="password_changed">Пароль изменён!</string>
<string name="could_not_change_password">Не удалось изменить пароль</string>
<string name="otr_session_not_started">Отправить сообщение чтобы начать зашифрованный чат</string>
@@ -409,17 +417,17 @@
<string name="current_password">Текущий пароль</string>
<string name="new_password">Новый пароль</string>
<string name="password_should_not_be_empty">Пароль не может быть пустым</string>
- <string name="enable_all_accounts">Включить все учётные записи</string>
- <string name="disable_all_accounts">Отключить все учётные записи</string>
+ <string name="enable_all_accounts">Включить все аккаунты</string>
+ <string name="disable_all_accounts">Отключить все аккаунты</string>
<string name="perform_action_with">Взаимодействовать с</string>
- <string name="no_affiliation">Не является участником</string>
+ <string name="no_affiliation">Посетитель</string>
<string name="no_role">Не в сети</string>
- <string name="outcast">Заблокированный пользователь</string>
+ <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="grant_admin_privileges">Назначить администратором</string>
<string name="remove_admin_privileges">Снять административные права</string>
<string name="remove_from_room">Исключить из конференции</string>
<string name="could_not_change_affiliation">Не удалось изменить принадлежность %s</string>
@@ -428,10 +436,10 @@
<string name="ban_now">Заблокировать</string>
<string name="could_not_change_role">Не удалось сменить роль %s</string>
<string name="public_conference">Публичная конференция</string>
- <string name="private_conference">Приватная конференция только для членов</string>
+ <string name="private_conference">Приватная конференция</string>
<string name="conference_options">Настройки конференции</string>
- <string name="members_only">Частная, только для участников</string>
- <string name="non_anonymous">Не анонимно </string>
+ <string name="members_only">Приватная</string>
+ <string name="non_anonymous">Неанонимная</string>
<string name="moderated">Модерируемая</string>
<string name="you_are_not_participating">Вы не участвуете</string>
<string name="modified_conference_options">Настройки конференции изменены!</string>
@@ -460,7 +468,7 @@
<string name="sending_x_file">Отправляется %s</string>
<string name="offering_x_file">Предложен %s</string>
<string name="hide_offline">Скрыть пользователей вне сети</string>
- <string name="disable_account">Отключить учётную запись</string>
+ <string name="disable_account">Отключить аккаунт</string>
<string name="contact_is_typing">%s печатает…</string>
<string name="contact_has_stopped_typing">%s прекратил набор</string>
<string name="pref_chat_states">Оповещения о наборе</string>
@@ -471,24 +479,24 @@
<string name="location">Местоположение</string>
<string name="received_location">Получено местоположение</string>
<string name="title_undo_swipe_out_conversation">Беседа окончена</string>
- <string name="title_undo_swipe_out_muc">Покинул беседу</string>
+ <string name="title_undo_swipe_out_muc">Выход из конференции</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>
+ <string name="pref_remove_trusted_certificates_title">Удалить сертификаты</string>
<string name="pref_remove_trusted_certificates_summary">Удалить сертификаты, подтверждённые вручную</string>
<string name="toast_no_trusted_certs">Не найдено сертификатов, подтверждённых вручную</string>
<string name="dialog_manage_certs_title">Удалить сертификаты</string>
- <string name="dialog_manage_certs_positivebutton">Удалить отмеченное</string>
+ <string name="dialog_manage_certs_positivebutton">Удалить отмеченные</string>
<string name="dialog_manage_certs_negativebutton">Отмена</string>
<plurals name="toast_delete_certificates">
<item quantity="one">Удалён %d сертификат</item>
- <item quantity="few">Удалено %d сертификатов</item>
+ <item quantity="few">Удалено %d сертификата</item>
<item quantity="many">Удалено %d сертификатов</item>
<item quantity="other">Удалено %d сертификатов</item>
</plurals>
<plurals name="select_contact">
<item quantity="one">Выбран %d контакт</item>
- <item quantity="few">Выбрано %d контактов</item>
+ <item quantity="few">Выбрано %d контакта</item>
<item quantity="many">Выбрано %d контактов</item>
<item quantity="other">Выбрано %d контактов</item>
</plurals>
@@ -510,17 +518,18 @@
<string name="download_failed_could_not_connect">Загрузка не удалась: не удалось подключиться к серверу</string>
<string name="download_failed_could_not_write_file">Загрузка не удалась: ошибка записи файла</string>
<string name="pref_use_white_background">Использовать белый фон</string>
- <string name="pref_use_white_background_summary">Показывать принятые сообщения черным текстом на белом фоне</string>
+ <string name="pref_use_white_background_summary">Показывать принятые сообщения чёрным текстом на белом фоне</string>
<string name="account_status_tor_unavailable">Сеть Tor недоступна</string>
<string name="account_status_bind_failure">Ошибка связывания</string>
+ <string name="account_status_host_unknown">Сервер не ответственен за домен</string>
<string name="server_info_broken">Повреждено</string>
<string name="pref_presence_settings">Присутствие</string>
<string name="pref_away_when_screen_off">Вышел когда экран выключен</string>
- <string name="pref_away_when_screen_off_summary">Отмечает ваш ресурс как \"вышел\" когда экран выключен</string>
+ <string name="pref_away_when_screen_off_summary">Отмечает ваш ресурс как «вышел» когда экран выключен</string>
<string name="pref_xa_on_silent_mode">Не доступен в режиме без звука</string>
- <string name="pref_xa_on_silent_mode_summary">Отмечает ваш ресурс как \"не доступен\", когда телефон в беззвучном режиме</string>
+ <string name="pref_xa_on_silent_mode_summary">Отмечает ваш ресурс как «не доступен», когда телефон в беззвучном режиме</string>
<string name="pref_treat_vibrate_as_silent">Не доступен в режиме вибрации</string>
- <string name="pref_treat_vibrate_as_silent_summary">Отмечает ваш ресурс как \"не доступен\", когда телефон в режиме вибрации</string>
+ <string name="pref_treat_vibrate_as_silent_summary">Отмечает ваш ресурс как «не доступен», когда телефон в режиме вибрации</string>
<string name="pref_show_connection_options">Расширенные настройки подключения</string>
<string name="pref_show_connection_options_summary">Показывать имя сервера и порт в настройках аккаунтов</string>
<string name="hostname_example">xmpp.example.com</string>
@@ -541,10 +550,10 @@
<string name="device_does_not_support_certificates">Ваше устройство не поддерживает выбор клиентских сертификатов!</string>
<string name="pref_connection_options">Подключение</string>
<string name="pref_use_tor">Соединение через Tor</string>
- <string name="pref_use_tor_summary">Направить все соединения через сеть TOR. Требуется Orbot</string>
+ <string name="pref_use_tor_summary">Направить все соединения через сеть Tor. Требуется Orbot</string>
<string name="account_settings_hostname">Имя сервера</string>
<string name="account_settings_port">Порт</string>
- <string name="hostname_or_onion">Сервер- или .onion-Адрес</string>
+ <string name="hostname_or_onion">Сервер- или .onion-адрес</string>
<string name="not_a_valid_port">Это недопустимый номер порта</string>
<string name="not_valid_hostname">Это недопустимое имя сервера</string>
<string name="connected_accounts">%1$d из %2$d аккаунтов соединены</string>
@@ -570,9 +579,9 @@
<string name="certificate_sha1">SHA-1</string>
<string name="certicate_info_not_available">(недоступно)</string>
<string name="certificate_not_found">Сертификатов не найдено</string>
- <string name="notify_on_all_messages">Уведомлять о всех сообщениях</string>
- <string name="notify_only_when_highlighted">Оповещение только при обращениях</string>
- <string name="notify_never">Уведомления запрещены</string>
+ <string name="notify_on_all_messages">Все сообщения</string>
+ <string name="notify_only_when_highlighted">При обращении</string>
+ <string name="notify_never">Без уведомления</string>
<string name="notify_paused">Уведомления приостановлены</string>
<string name="pref_picture_compression">Сжать изображения</string>
<string name="pref_picture_compression_summary">Изменить размер и сжать изображения</string>
@@ -587,16 +596,16 @@
<string name="this_field_is_required">Незаполненное поле</string>
<string name="correct_message">Исправить сообщение</string>
<string name="send_corrected_message">Отправить исправленное сообщение</string>
- <string name="no_keys_just_confirm">Вы уже доверяете этому контакту. Выбрав \'готово\', вы только подтвердите, что %s является участником конференции.</string>
+ <string name="no_keys_just_confirm">Вы уже доверяете этому контакту. Выбрав «готово», вы только подтвердите, что %s является участником конференции.</string>
<string name="select_image_and_crop">Выбрать изображение</string>
<string name="this_account_is_disabled">Вы отключили этот аккаунт</string>
<string name="security_error_invalid_file_access">Ошибка безопасности: недействительный доступ к файлу</string>
<string name="no_application_to_share_uri">Не найдено приложения для отправки</string>
<string name="share_uri_with">Отправить URI…</string>
- <string name="welcome_text">Протокол XMPP не зависит от провайдера. Вы можете выбрать любой другой сервер XMPP.\nОднако, для удобства мы упростили процедуру создания аккаунта на conversations.im; данный провайдер максимально подходит для использования с Conversations.</string>
- <string name="magic_create_text">Мы поможем создать аккаунт на conversations.im\nВыбрав conversations.im в качестве провайдера, вы сможете общаться с пользователями других провайдеров, сообщив им свой полный Jabber ID.</string>
+ <string name="welcome_text">XMPP — независимый протокол. Вы можете использовать клиент для работы с любым XMPP сервером.\nОднако, для Вашего удобства мы упростили процедуру создания аккаунта на conversations.im¹; данный провайдер максимально подходит для использования с Conversations.</string>
+ <string name="magic_create_text">Мы поможем Вам создать аккаунт на conversations.im¹.\nВыбрав conversations.im в качестве провайдера, вы сможете общаться с пользователями других провайдеров, сообщив им свой полный Jabber ID.</string>
<string name="your_full_jid_will_be">Ваш полный Jabber ID: %s</string>
- <string name="create_account">Создать Аккаунт</string>
+ <string name="create_account">Создать аккаунт</string>
<string name="use_own_provider">Использовать свой провайдер</string>
<string name="pick_your_username">Выберите имя пользователя</string>
<string name="pref_manually_change_presence">Ручная смена присутствия</string>
@@ -613,6 +622,7 @@
<string name="device_does_not_support_battery_op">Ваше устройство не поддерживает отключение оптимизации энергопотребления</string>
<string name="show_password">Показать пароль</string>
<string name="registration_please_wait">Регистрация не удалась: повторите попытку позднее</string>
+ <string name="registration_password_too_weak">Регистрация не удалась: слишком слабый пароль</string>
<string name="create_conference">Создать конференцию</string>
<string name="join_or_create_conference">Присоединиться или создать конференцию</string>
<string name="conference_subject">Тема</string>
@@ -629,6 +639,31 @@
<string name="pref_theme_options_summary">Выбрать цветовую палитру</string>
<string name="pref_theme_light">Светлая тема</string>
<string name="pref_theme_dark">Тёмная тема</string>
- <string name="pref_use_green_background">Зелёный Фон</string>
+ <string name="pref_use_green_background">Зелёный фон</string>
<string name="pref_use_green_background_summary">Использовать зелёный фон для полученных сообщений</string>
+ <string name="unable_to_connect_to_keychain">Не удаётся подключиться к OpenKeychain</string>
+ <string name="this_device_is_no_longer_in_use">Данное устройство больше не используется</string>
+ <string name="type_pc">Компьютер</string>
+ <string name="type_phone">Телефон</string>
+ <string name="type_tablet">Планшет</string>
+ <string name="type_web">Веб браузер</string>
+ <string name="type_console">Консоль</string>
+ <string name="payment_required">Требуется оплата</string>
+ <string name="missing_internet_permission">Доступ в интернет запрещён</string>
+ <string name="me">Я</string>
+ <string name="contact_asks_for_presence_subscription">Контакт запрашивает подписку</string>
+ <string name="allow">Разрешить</string>
+ <string name="no_permission_to_access_x">Нет доступа к %s</string>
+ <string name="remote_server_not_found">Удалённый сервер не найден</string>
+ <string name="unable_to_update_account">Невозможно обновить аккаунт</string>
+ <string name="missing_presence_subscription_with_x">Отсутствует подписка на %s</string>
+ <string name="missing_keys_from_x">Отсутствуют OMEMO ключи %s</string>
+ <string name="missing_omemo_keys">Отсутствуют OMEMO ключи</string>
+ <string name="wrong_conference_configuration">Неприватная неанонимная конференция.</string>
+ <string name="this_conference_has_no_members">Конференция пуста.</string>
+ <string name="report_jid_as_spammer">Отправить жалобу на нежелательные сообщения.</string>
+ <string name="pref_delete_omemo_identities">Удалить OMEMO ключи</string>
+ <string name="pref_delete_omemo_identities_summary">Создать заново OMEMO ключи. Необходимо повторное подтверждение. Используйте только в крайнем случае.</string>
+ <string name="delete_selected_keys">Удалить отмеченные</string>
+ <string name="error_publish_avatar_offline">Вы должны подключиться для публикации аватара.</string>
</resources>
diff --git a/src/main/res/values-sk/strings.xml b/src/main/res/values-sk/strings.xml
index a850e802..a1c3e89c 100644
--- a/src/main/res/values-sk/strings.xml
+++ b/src/main/res/values-sk/strings.xml
@@ -212,7 +212,6 @@
<string name="contact_already_exists">Kontakt už existuje</string>
<string name="join">Vstúpiť</string>
<string name="conference_address">Adresa</string>
- <string name="conference_address_example">room@conference.example.com</string>
<string name="save_as_bookmark">Uložiť ako záložku</string>
<string name="delete_bookmark">Vymazať záložku</string>
<string name="bookmark_already_exists">Táto záložka už existuje</string>
diff --git a/src/main/res/values-sr/strings.xml b/src/main/res/values-sr/strings.xml
index 972999d1..46723f17 100644
--- a/src/main/res/values-sr/strings.xml
+++ b/src/main/res/values-sr/strings.xml
@@ -247,7 +247,7 @@
<string name="contact_already_exists">Контакт већ постоји</string>
<string name="join">Придружи се</string>
<string name="conference_address">Адреса групног ћаскања</string>
- <string name="conference_address_example">soba@konferencija.primer.com</string>
+ <string name="conference_address_example">soba@konferencija.primer.com/nadimak</string>
<string name="save_as_bookmark">Сачувај као обележивач</string>
<string name="delete_bookmark">Обриши обележивач</string>
<string name="bookmark_already_exists">Овај обележивач већ постоји</string>
@@ -283,6 +283,7 @@
<string name="conference_requires_password">Групно ћаскање захтева лозинку</string>
<string name="enter_password">Унесите лозинку</string>
<string name="missing_presence_updates">Нема ажуриране присутности од контакта</string>
+ <string name="missing_presence_subscription">Нема претплате на присутност</string>
<string name="request_presence_updates">Најпре захтевајте ажурирање присутности од вашег контакта.\n\n<small>Ово ће омогућити да се одреди којег клијента ваш контакт користи.</small></string>
<string name="request_now">Захтевај одмах</string>
<string name="delete_fingerprint">Обриши отисак</string>
@@ -598,8 +599,6 @@
<string name="security_error_invalid_file_access">Безбедносна грешка: неисправан приступ фајлу</string>
<string name="no_application_to_share_uri">Нема апликације за дељење веза</string>
<string name="share_uri_with">Подели везу помоћу…</string>
- <string name="welcome_text">ИксМПП је протокол независан од провајдера. Можете да користите овог клијента са било којим ИксМПП сервером.\nИпак, због погодности смо олакшали стварање налога на conversations.im, провајдер посебно прилагођен за коришћење са Конверзацијом.</string>
- <string name="magic_create_text">Водићемо вас кроз процес прављења налога на conversations.im.\nАко изаберете conversations.im за даваоца услуге моћи ћете да комуницирате са другим корисницима ако им дате ваш Џабер ИД.</string>
<string name="your_full_jid_will_be">Ваш пуни Џабер ИД ће бити: %s</string>
<string name="create_account">Направи налог</string>
<string name="use_own_provider">Користићу сопствени провајдер</string>
@@ -654,6 +653,12 @@
<string name="unable_to_update_account">Не могох да се ажурирам налог</string>
<string name="missing_presence_subscription_with_x">Нема претплате на присутност са %s.</string>
<string name="missing_keys_from_x">Нема ОМЕМО кључева у %s.</string>
+ <string name="missing_omemo_keys">Нема ОМЕМО кључева</string>
<string name="wrong_conference_configuration">Ово није приватно, неанонимно групно ћаскање.</string>
<string name="this_conference_has_no_members">Нема учесника у овом групном ћаскању.</string>
+ <string name="report_jid_as_spammer">Пријави да овај ЈИД шаље нежељене поруке.</string>
+ <string name="pref_delete_omemo_identities">Обриши ОМЕМО идентитете</string>
+ <string name="pref_delete_omemo_identities_summary">Поновно генерисање ОМЕМО кључева. Сви ваши контакти ће морати поново да вас овере. Користите ово само у крајњем случају.</string>
+ <string name="delete_selected_keys">Обриши изабране кључеве</string>
+ <string name="error_publish_avatar_offline">Морате бити повезани да бисте објавили ваш аватар.</string>
</resources>
diff --git a/src/main/res/values-sv/strings.xml b/src/main/res/values-sv/strings.xml
index a9a82d5b..51cf173d 100644
--- a/src/main/res/values-sv/strings.xml
+++ b/src/main/res/values-sv/strings.xml
@@ -247,7 +247,7 @@
<string name="contact_already_exists">Kontakten finns redan</string>
<string name="join">Gå med</string>
<string name="conference_address">Konferensadress</string>
- <string name="conference_address_example">rum@conference.exempel.se</string>
+ <string name="conference_address_example">room@conference.example.com/nick</string>
<string name="save_as_bookmark">Spara som bokmärke</string>
<string name="delete_bookmark">Ta bort bokmärke</string>
<string name="bookmark_already_exists">Detta bokmärke finns redan</string>
@@ -283,6 +283,7 @@
<string name="conference_requires_password">Konferensen kräver lösenord</string>
<string name="enter_password">Fyll i lösenord</string>
<string name="missing_presence_updates">Saknar tillgänglighetsuppdateringar från kontakt</string>
+ <string name="missing_presence_subscription">Saknar tillgänglighetsuppdateringar</string>
<string name="request_presence_updates">Begär tillgänglighetsuppdateringar från din kontakt först.\n\n<small>Detta används för att se vilken klient/klienter din kontakt använder.</small></string>
<string name="request_now">Begär nu</string>
<string name="delete_fingerprint">Ta bort fingeravtryck</string>
@@ -595,8 +596,6 @@
<string name="security_error_invalid_file_access">Säkerhetsfel: Ogiltig filaccess</string>
<string name="no_application_to_share_uri">Ingen applikation kunde hittas för att dela URI</string>
<string name="share_uri_with">Dela URI med...</string>
- <string name="welcome_text">XMPP är ett leverantörsoberoende protokoll. Du kan använda denna klient med vilken XMPP server du vill.\nFör din bekvämlighet har vi gjort det enkelt att skapa ett konto hos conversations.im; en leverantör speciellt anpassad för att användas med Conversations.</string>
- <string name="magic_create_text">Du kommer nu att få hjälp med att skapa ett konto på conversations.im.\nNär conversations.im väljs som leverantör kommer du kunna kommunicera med användare hos andra leverantörer genom att ge dem ditt Jabber ID.</string>
<string name="your_full_jid_will_be">Ditt jabber ID blir: %s</string>
<string name="create_account">Skapa konto</string>
<string name="use_own_provider">Använd min egen leverantör</string>
@@ -651,6 +650,12 @@
<string name="unable_to_update_account">Kan inte uppdatera konto</string>
<string name="missing_presence_subscription_with_x">Saknar tillgänglighetsuppdateringar från %s.</string>
<string name="missing_keys_from_x">Saknar OMEMO nyckel från %s.</string>
+ <string name="missing_omemo_keys">Saknar OMEMO nycklar</string>
<string name="wrong_conference_configuration">Detta är inte en privat, icke-anonym konferens.</string>
<string name="this_conference_has_no_members">Det finns inga medlemmar i denna konferens.</string>
+ <string name="report_jid_as_spammer">Rapportera detta JID för skickande av oönskade meddelanden.</string>
+ <string name="pref_delete_omemo_identities">Ta bort OMEMO identiteter</string>
+ <string name="pref_delete_omemo_identities_summary">Regenerera din OMEMO-nyckel. Alla dina kontakter kommer att behöva verifiera dig igen. Använd detta endast som en sista utväg.</string>
+ <string name="delete_selected_keys">Ta bort valda nycklar</string>
+ <string name="error_publish_avatar_offline">Du måste vara ansluten för att publicera din avatarbild</string>
</resources>
diff --git a/src/main/res/values-tr-rTR/strings.xml b/src/main/res/values-tr-rTR/strings.xml
index 8137611d..f0c07049 100644
--- a/src/main/res/values-tr-rTR/strings.xml
+++ b/src/main/res/values-tr-rTR/strings.xml
@@ -247,7 +247,7 @@
<string name="contact_already_exists">Kişi zaten mevcut</string>
<string name="join">Katıl</string>
<string name="conference_address">Grup sohbet adresi</string>
- <string name="conference_address_example">oda@conference.ornek.com</string>
+ <string name="conference_address_example">oda@conference.ornek.com/nick</string>
<string name="save_as_bookmark">Yer imi olarak kaydet</string>
<string name="delete_bookmark">Yer imini sil</string>
<string name="bookmark_already_exists">Bu yer imi zaten mevcut</string>
@@ -283,6 +283,7 @@
<string name="conference_requires_password">Grup sohbet için parola gerekiyor</string>
<string name="enter_password">Parolayı gir</string>
<string name="missing_presence_updates">Kişinin çevrimiçi durum bildirimi güncellemesi kayıp</string>
+ <string name="missing_presence_subscription">Durum bildirimi aboneliği eksik.</string>
<string name="request_presence_updates">Lütfen öncelikle kişiden çevrimiçi durum güncellemelerini isteyin.\n\n<small>Bu bilgi kişinin kullandığı istemcinin belirlenmesinde kullanılacaktır.</small></string>
<string name="request_now">Şimdi iste</string>
<string name="delete_fingerprint">Parmak izini sil</string>
@@ -592,7 +593,7 @@
<string name="security_error_invalid_file_access">Güvenlik hatası: Geçersiz dosya erişimi</string>
<string name="no_application_to_share_uri">URI paylaşmak için uygulama bulunamadı</string>
<string name="share_uri_with">URI paylaş ile...</string>
- <string name="welcome_text">XMPP sağlayıcıdan bağımsız bir protokoldür. Bu istemciyi tercih ettiğiniz herhangi bir XMMP sunucusuyla kullanabilirsiniz.\n Kullanılabilirlik sağlamak için conversation.im sağlayıcısında hesap oluşturmayı daha kolay hale getirdik; Conversation için özelleşmiş bir servis sağlayıcı. </string>
+ <string name="welcome_text">XMPP servis sağlayıcısından bağımsız bir protokoldür. Bu istemciyi dilediğiniz XMMPP sunucularıyla birlikte kullanabilirsiniz\n Lakin sizin rahat etmeniz için Conversations istemcisiyle kullanmanız için oluşturduğumuz conversation.im sunucusu üzerinde hesap açmayı kolaylaştırdık.</string>
<string name="magic_create_text">conversation.im sağlayıcısında hesap açma sürecinde size yol göstereceğiz.\nconversation.im i bir servis sağlayıcı olarak kullandığınızda diğer sağlayıcıları kullanan kullanıcılar tam Jabber kimliğinizi vererek iletişim kurabilirsiniz. </string>
<string name="your_full_jid_will_be">Tam Jabber kimliğiniz %s olacak</string>
<string name="create_account">Hesap Oluştur</string>
@@ -648,6 +649,12 @@
<string name="unable_to_update_account">Hesap güncellenemiyor</string>
<string name="missing_presence_subscription_with_x">%s ile durum bildirimi aboneliği eksik.</string>
<string name="missing_keys_from_x">%s den eksik OMEMO anahtarları var.</string>
+ <string name="missing_omemo_keys">Eksik OMEMO anahtarları var.</string>
<string name="wrong_conference_configuration">Bu özel ve anonim olmayan bir sohbet.</string>
<string name="this_conference_has_no_members">Bu konferansta herhangi bir üye yok. </string>
+ <string name="report_jid_as_spammer">Bu kişiyi istenmeyen ileti gönderen olarak rapor et.</string>
+ <string name="pref_delete_omemo_identities">OMEMO kimiliğini sil</string>
+ <string name="pref_delete_omemo_identities_summary">OMEMO anahtarını tekrar oluştur. Tüm kişilerinizin sizi tekrar doğrulaması gerekecek. Bunu sadece son çare olarak kullanın.</string>
+ <string name="delete_selected_keys">Seçilen anahtarları sil</string>
+ <string name="error_publish_avatar_offline">Avatarınızı yayınlamak için bağlı olmalısınız.</string>
</resources>
diff --git a/src/main/res/values-uk/strings.xml b/src/main/res/values-uk/strings.xml
index 517af6f5..576c7310 100644
--- a/src/main/res/values-uk/strings.xml
+++ b/src/main/res/values-uk/strings.xml
@@ -246,7 +246,6 @@
<string name="contact_already_exists">Контакт уже існує</string>
<string name="join">Долучитися</string>
<string name="conference_address">Адреса конференції</string>
- <string name="conference_address_example">room@conference.example.com</string>
<string name="save_as_bookmark">Зберегти як закладку</string>
<string name="delete_bookmark">Видалити закладку</string>
<string name="bookmark_already_exists">Ця закладка вже існує</string>
@@ -595,8 +594,6 @@
<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">XMPP надає незалежний протокол. Ви можете використати цей клієнт з будь-яким XMPP сервером на Ваш вибір.\nДля Вашої зручності, ми зробили так, що Ви можете просто створити обліковий запис на conversations.im; це один із провайдерів, який спеціально підходящий для використання з програмою.</string>
- <string name="magic_create_text">Ми проведемо Вас через процес створення облікового запису на conversations.im.\nУ разі вибору conversations.im у якості провайдера, Ви зможете спілкуватися з користувачами інших провайдерів, надавши їм Ваш повний Jabber ID.</string>
<string name="your_full_jid_will_be">Ваш повний Jabber ID буде: %s</string>
<string name="create_account">Створити обліковий запис</string>
<string name="use_own_provider">Використати мого власного провайдера</string>
diff --git a/src/main/res/values-vi/strings.xml b/src/main/res/values-vi/strings.xml
index 4e094fcb..0a1f24b6 100644
--- a/src/main/res/values-vi/strings.xml
+++ b/src/main/res/values-vi/strings.xml
@@ -223,7 +223,6 @@
<string name="contact_already_exists">Đã có liên hệ này rồi</string>
<string name="join">Tham gia</string>
<string name="conference_address">Địa chỉ diễn đàn</string>
- <string name="conference_address_example">room@conference.example.com</string>
<string name="save_as_bookmark">Lưu thành đánh dấu</string>
<string name="delete_bookmark">Xoá đánh dấu</string>
<string name="bookmark_already_exists">Đã có đánh dấu này rồi</string>
diff --git a/src/main/res/values-w360dp/fineprint.xml b/src/main/res/values-w360dp/fineprint.xml
new file mode 100644
index 00000000..fa28fbed
--- /dev/null
+++ b/src/main/res/values-w360dp/fineprint.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <string name="free_for_six_month">¹ Optional conversations.im account €8/year. First 6 month free.</string>
+</resources> \ No newline at end of file
diff --git a/src/main/res/values-w384dp/dimens.xml b/src/main/res/values-w384dp/dimens.xml
index 5026848e..441e1103 100644
--- a/src/main/res/values-w384dp/dimens.xml
+++ b/src/main/res/values-w384dp/dimens.xml
@@ -1,3 +1,4 @@
<resources>
<dimen name="conversations_overview_width">336dp</dimen>
+ <dimen name="fineprint_size">12sp</dimen>
</resources>
diff --git a/src/main/res/values-zh-rCN/strings.xml b/src/main/res/values-zh-rCN/strings.xml
index 087b9e51..a2585623 100644
--- a/src/main/res/values-zh-rCN/strings.xml
+++ b/src/main/res/values-zh-rCN/strings.xml
@@ -78,6 +78,7 @@
<string name="clear_histor_msg">删除该会话中所有信息?\n\n<b>注:</b> 该操作不会影响其他设备或服务器保存的信息。</string>
<string name="delete_messages">删除消息</string>
<string name="also_end_conversation">结束此会话以后</string>
+ <string name="choose_presence">选择设备</string>
<string name="send_unencrypted_message">发送未加密的信息</string>
<string name="send_message_to_x">发信息给 %s</string>
<string name="send_otr_message">发送 OTR 加密信息</string>
@@ -217,6 +218,8 @@
<string name="reception_failed">接收失败</string>
<string name="your_fingerprint">你的指纹</string>
<string name="otr_fingerprint">OTR 指纹</string>
+ <string name="otr_fingerprint_selected_message">消息的 OTR 指纹</string>
+ <string name="openpgp_key_id">OpenPGP 密钥 ID</string>
<string name="omemo_fingerprint">OMEMO 指纹</string>
<string name="omemo_fingerprint_x509">v\\OMEMO 指纹</string>
<string name="omemo_fingerprint_selected_message">消息的 OMEMO 指纹</string>
@@ -242,7 +245,7 @@
<string name="contact_already_exists">联系人已存在</string>
<string name="join">加入</string>
<string name="conference_address">讨论组地址</string>
- <string name="conference_address_example">room@conference.example.com</string>
+ <string name="conference_address_example">room@conference.example.com/nick</string>
<string name="save_as_bookmark">保存为书签</string>
<string name="delete_bookmark">删除书签</string>
<string name="bookmark_already_exists">该书签已存在</string>
@@ -355,6 +358,8 @@
<string name="conversations_foreground_service">Conversations</string>
<string name="pref_keep_foreground_service">保持前台服务</string>
<string name="pref_keep_foreground_service_summary">防止操作系统中断你的连接</string>
+ <string name="pref_export_logs">导出历史记录</string>
+ <string name="pref_export_logs_summary">将 conversations 的历史日志写到 SD 卡</string>
<string name="notification_export_logs_title">正在将日志写入 SD 卡</string>
<string name="choose_file">选择文件</string>
<string name="receiving_x_file">接收中 %1$s (已完成 %2$d%%)</string>
@@ -586,8 +591,6 @@
<string name="security_error_invalid_file_access">安全错误:文件访问权限无效</string>
<string name="no_application_to_share_uri">没有可以分享此链接的应用</string>
<string name="share_uri_with">分享链接...</string>
- <string name="welcome_text">XMPP 是一种独立于服务端的协议。你可以选择任何 XMPP 服务器来使用本客户端。\n当然为了方便您的使用,我们可以为您在 conversations.im ——一个特别为 Conversations 设计的服务端——上创建一个账户。</string>
- <string name="magic_create_text">我们将指导您在 conversations.im 上创建一个账户。\n当您选择 conversations.im 作为服务端后,您将可以通过提供您完整的 Jabber ID 来与他人进行会话。</string>
<string name="your_full_jid_will_be">您完整的 Jabble ID 是:%s </string>
<string name="create_account">创建账户</string>
<string name="use_own_provider">使用我自己的服务端</string>
@@ -606,6 +609,7 @@
<string name="device_does_not_support_battery_op">该设备不支持禁用电池优化</string>
<string name="show_password">显示密码</string>
<string name="registration_please_wait">注册失败:请重试</string>
+ <string name="registration_password_too_weak">注册失败:密码太弱</string>
<string name="create_conference">创建讨论组</string>
<string name="join_or_create_conference">加入创建讨论组</string>
<string name="conference_subject">主题</string>
@@ -624,4 +628,23 @@
<string name="pref_theme_dark">黑暗主题</string>
<string name="pref_use_green_background">绿色背景</string>
<string name="pref_use_green_background_summary">接收到的消息使用绿色背景</string>
+ <string name="unable_to_connect_to_keychain">无法连接到 OpenKeychain</string>
+ <string name="this_device_is_no_longer_in_use">此设备不再使用</string>
+ <string name="type_pc">计算机</string>
+ <string name="type_phone">移动电话</string>
+ <string name="type_tablet">平板</string>
+ <string name="type_web">浏览器</string>
+ <string name="type_console">控制台</string>
+ <string name="payment_required">需要付款</string>
+ <string name="allow">允许</string>
+ <string name="no_permission_to_access_x">没有访问 %s 的许可</string>
+ <string name="remote_server_not_found">找不到远程服务器</string>
+ <string name="unable_to_update_account">无法更新账户</string>
+ <string name="missing_keys_from_x">缺少来自 %s 的 OMEMO 密钥。</string>
+ <string name="wrong_conference_configuration">这不是一个私密,非匿名的会议室。</string>
+ <string name="this_conference_has_no_members">这个会议室中没有成员。</string>
+ <string name="report_jid_as_spammer">报告这个 JID 发送不想要的消息。</string>
+ <string name="pref_delete_omemo_identities">删除 OMEMO 身份</string>
+ <string name="pref_delete_omemo_identities_summary">重新生成你的 OMEMO 密钥。你的所有联系人不得不对你进行再认证。请将此作为最后的办法。</string>
+ <string name="delete_selected_keys">删除选择的密钥</string>
</resources>
diff --git a/src/main/res/values-zh-rTW/strings.xml b/src/main/res/values-zh-rTW/strings.xml
index 7f48dd19..00557f09 100644
--- a/src/main/res/values-zh-rTW/strings.xml
+++ b/src/main/res/values-zh-rTW/strings.xml
@@ -174,7 +174,6 @@
<string name="contact_already_exists">聯絡人已存在</string>
<string name="join">加入</string>
<string name="conference_address">群組地址</string>
- <string name="conference_address_example">room@conference.example.com</string>
<string name="save_as_bookmark">儲存為書籤</string>
<string name="delete_bookmark">刪除書籤</string>
<string name="bookmark_already_exists">該書籤已存在</string>
diff --git a/src/main/res/values/dimens.xml b/src/main/res/values/dimens.xml
index 95e80055..4ce44f22 100644
--- a/src/main/res/values/dimens.xml
+++ b/src/main/res/values/dimens.xml
@@ -5,4 +5,5 @@
<dimen name="infocard_padding">16dp</dimen>
<dimen name="conversations_overview_width">288dp</dimen>
<dimen name="image_button_padding">8dp</dimen>
+ <dimen name="fineprint_size">11sp</dimen>
</resources>
diff --git a/src/main/res/values/fineprint.xml b/src/main/res/values/fineprint.xml
new file mode 100644
index 00000000..55eeccb6
--- /dev/null
+++ b/src/main/res/values/fineprint.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <string name="free_for_six_month">¹ Optional conversations.im account €8/year. 6 month free.</string>
+</resources> \ No newline at end of file
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index c7c791df..170cbfff 100644
--- a/src/main/res/values/strings.xml
+++ b/src/main/res/values/strings.xml
@@ -629,8 +629,8 @@
<string name="no_application_to_share_uri">No application found to share URI</string>
<string name="share_uri_with">Share URI with…</string>
<string translatable="false" name="welcome_header">Join the Conversation</string>
- <string name="welcome_text">XMPP is a provider independent protocol. You can use this client with what ever XMPP server you choose.\nHowever for your convenience we made it easy to create an account on conversations.im; a provider specially suited for the use with Conversations.</string>
- <string name="magic_create_text">We will guide you through the process of creating an account on conversations.im.\nWhen picking conversations.im as a provider you will be able to communicate with users of other providers by giving them your full Jabber ID.</string>
+ <string name="welcome_text">XMPP is a provider independent protocol. You can use this client with what ever XMPP server you choose.\nHowever for your convenience we made it easy to create an account on conversations.im¹; a provider specially suited for the use with Conversations.</string>
+ <string name="magic_create_text">We will guide you through the process of creating an account on conversations.im.¹\nWhen picking conversations.im as a provider you will be able to communicate with users of other providers by giving them your full Jabber ID.</string>
<string name="your_full_jid_will_be">Your full Jabber ID will be: %s</string>
<string name="create_account">Create Account</string>
<string name="use_own_provider">Use my own provider</string>