diff --git a/build.gradle b/build.gradle index 87644d9e59..0777854404 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { } dependencies { classpath 'com.android.tools.build:gradle:2.3.1' - classpath "io.realm:realm-gradle-plugin:3.0.0" + classpath "io.realm:realm-gradle-plugin:3.1.1" classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' classpath 'com.frogermcs.androiddevmetrics:androiddevmetrics-plugin:0.4' } diff --git a/xabber/build.gradle b/xabber/build.gradle index 198238ea07..393123f997 100644 --- a/xabber/build.gradle +++ b/xabber/build.gradle @@ -10,8 +10,8 @@ android { defaultConfig { minSdkVersion 15 targetSdkVersion 25 - versionCode 342 - versionName '1.0.170' + versionCode 343 + versionName '1.0.171' } lintOptions { diff --git a/xabber/src/main/java/com/xabber/android/data/account/AccountManager.java b/xabber/src/main/java/com/xabber/android/data/account/AccountManager.java index 1ea767f47d..329e13cc6c 100644 --- a/xabber/src/main/java/com/xabber/android/data/account/AccountManager.java +++ b/xabber/src/main/java/com/xabber/android/data/account/AccountManager.java @@ -170,6 +170,13 @@ public void onLoad() { LogManager.exception(this, e); } + if (serverName == null || userName == null || resource == null) { + LogManager.e(LOG_TAG, "could not create account. username " + userName + + ", server name " + serverName + + ", resource " + resource); + continue; + } + AccountItem accountItem = new AccountItem( accountRealm.isCustom(), accountRealm.getHost(), diff --git a/xabber/src/main/java/com/xabber/android/data/connection/ConnectionBuilder.java b/xabber/src/main/java/com/xabber/android/data/connection/ConnectionBuilder.java index aa05ac1797..49d30dc767 100644 --- a/xabber/src/main/java/com/xabber/android/data/connection/ConnectionBuilder.java +++ b/xabber/src/main/java/com/xabber/android/data/connection/ConnectionBuilder.java @@ -10,7 +10,7 @@ import org.jivesoftware.smack.SASLAuthentication; import org.jivesoftware.smack.proxy.ProxyInfo; -import org.jivesoftware.smack.sasl.provided.SASLPlainMechanism; +import org.jivesoftware.smack.sasl.provided.SASLDigestMD5Mechanism; import org.jivesoftware.smack.tcp.XMPPTCPConnection; import org.jivesoftware.smack.tcp.XMPPTCPConnectionConfiguration; import org.jivesoftware.smack.util.TLSUtils; @@ -19,7 +19,6 @@ import java.net.UnknownHostException; import java.security.KeyManagementException; import java.security.NoSuchAlgorithmException; -import java.util.Map; import javax.net.ssl.SSLContext; import javax.net.ssl.X509TrustManager; @@ -66,7 +65,6 @@ class ConnectionBuilder { setUpSasl(); - LogManager.i(LOG_TAG, "new XMPPTCPConnection " + connectionSettings.getServerName()); return new XMPPTCPConnection(builder.build()); } @@ -143,20 +141,9 @@ private static ProxyInfo getProxyInfo(ConnectionSettings connectionSettings) { return proxyInfo; } - private static void setUpSasl() { - if (SettingsManager.connectionUsePlainTextAuth()) { - final Map registeredSASLMechanisms = SASLAuthentication.getRegisterdSASLMechanisms(); - for (String mechanism : registeredSASLMechanisms.values()) { - SASLAuthentication.blacklistSASLMechanism(mechanism); - } - - SASLAuthentication.unBlacklistSASLMechanism(SASLPlainMechanism.NAME); - - } else { - final Map registeredSASLMechanisms = SASLAuthentication.getRegisterdSASLMechanisms(); - for (String mechanism : registeredSASLMechanisms.values()) { - SASLAuthentication.unBlacklistSASLMechanism(mechanism); - } - } + private synchronized static void setUpSasl() { + // TODO: DIGEST-MD5 mechanism disabled due to implementation problems + // should be enabled back when fixed in Smack + SASLAuthentication.blacklistSASLMechanism(SASLDigestMD5Mechanism.NAME); } } diff --git a/xabber/src/main/java/com/xabber/android/data/extension/muc/RoomChat.java b/xabber/src/main/java/com/xabber/android/data/extension/muc/RoomChat.java index 224610f12c..d85395d311 100644 --- a/xabber/src/main/java/com/xabber/android/data/extension/muc/RoomChat.java +++ b/xabber/src/main/java/com/xabber/android/data/extension/muc/RoomChat.java @@ -332,7 +332,7 @@ private boolean showStatusChange() { * @param resource */ private boolean isSelf(Resourcepart resource) { - return nickname.equals(resource); + return nickname != null && resource != null && nickname.equals(resource); } /** diff --git a/xabber/src/main/java/com/xabber/android/data/intent/BaseAccountIntentBuilder.java b/xabber/src/main/java/com/xabber/android/data/intent/BaseAccountIntentBuilder.java index 192fc612a8..e8977f5c45 100644 --- a/xabber/src/main/java/com/xabber/android/data/intent/BaseAccountIntentBuilder.java +++ b/xabber/src/main/java/com/xabber/android/data/intent/BaseAccountIntentBuilder.java @@ -42,10 +42,12 @@ public T setAccount(AccountJid account) { @Override void preBuild() { super.preBuild(); - if (account == null) + if (account == null) { return; - if (getSegmentCount() != 0) - throw new IllegalStateException(); + } + if (getSegmentCount() != 0) { + throw new IllegalStateException("Wrong segment count: " + getSegmentCount()); + } addSegment(account.toString()); } diff --git a/xabber/src/main/java/com/xabber/android/data/intent/EntityIntentBuilder.java b/xabber/src/main/java/com/xabber/android/data/intent/EntityIntentBuilder.java index 9b5e0ee843..5f982cef9e 100644 --- a/xabber/src/main/java/com/xabber/android/data/intent/EntityIntentBuilder.java +++ b/xabber/src/main/java/com/xabber/android/data/intent/EntityIntentBuilder.java @@ -45,10 +45,12 @@ public EntityIntentBuilder setUser(UserJid user) { @Override void preBuild() { super.preBuild(); - if (user == null) + if (user == null) { return; - if (getSegmentCount() == 0) - throw new IllegalStateException(); + } + if (getSegmentCount() == 0) { + throw new IllegalStateException("Wrong segment count: " + getSegmentCount()); + } addSegment(user.toString()); } diff --git a/xabber/src/main/java/com/xabber/android/ui/adapter/accountoptions/AccountOptionsAdapter.java b/xabber/src/main/java/com/xabber/android/ui/adapter/accountoptions/AccountOptionsAdapter.java index 9492fd698c..79aeb3b59a 100644 --- a/xabber/src/main/java/com/xabber/android/ui/adapter/accountoptions/AccountOptionsAdapter.java +++ b/xabber/src/main/java/com/xabber/android/ui/adapter/accountoptions/AccountOptionsAdapter.java @@ -53,6 +53,8 @@ public int getItemCount() { @Override public void onAccountOptionClick(int adapterPosition) { - listener.onAccountOptionClick(options[adapterPosition]); + if (adapterPosition >= 0 && adapterPosition < options.length) { + listener.onAccountOptionClick(options[adapterPosition]); + } } } diff --git a/xabber/src/main/java/com/xabber/android/ui/adapter/contactlist/ContactListAdapter.java b/xabber/src/main/java/com/xabber/android/ui/adapter/contactlist/ContactListAdapter.java index f62f82f7c1..478c1704d2 100644 --- a/xabber/src/main/java/com/xabber/android/ui/adapter/contactlist/ContactListAdapter.java +++ b/xabber/src/main/java/com/xabber/android/ui/adapter/contactlist/ContactListAdapter.java @@ -717,7 +717,9 @@ private void bindGroup(GroupViewHolder viewHolder, GroupConfiguration configurat @Override public void onContactClick(int adapterPosition) { - listener.onContactClick((AbstractContact) baseEntities.get(adapterPosition)); + if (adapterPosition >= 0 && adapterPosition < baseEntities.size()) { + listener.onContactClick((AbstractContact) baseEntities.get(adapterPosition)); + } } @Override diff --git a/xabber/src/main/java/com/xabber/android/ui/dialog/ChatHistoryClearDialog.java b/xabber/src/main/java/com/xabber/android/ui/dialog/ChatHistoryClearDialog.java new file mode 100644 index 0000000000..eb3d030357 --- /dev/null +++ b/xabber/src/main/java/com/xabber/android/ui/dialog/ChatHistoryClearDialog.java @@ -0,0 +1,56 @@ +package com.xabber.android.ui.dialog; + + +import android.app.AlertDialog; +import android.app.Dialog; +import android.app.DialogFragment; +import android.content.DialogInterface; +import android.os.Bundle; + +import com.xabber.android.R; +import com.xabber.android.data.entity.AccountJid; +import com.xabber.android.data.entity.UserJid; +import com.xabber.android.data.message.MessageManager; +import com.xabber.android.data.roster.RosterManager; + +public class ChatHistoryClearDialog extends DialogFragment implements DialogInterface.OnClickListener { + + public static final String ARGUMENT_ACCOUNT = ChatHistoryClearDialog.class.getName() + "ARGUMENT_ACCOUNT"; + public static final String ARGUMENT_USER = ChatHistoryClearDialog.class.getName() + "ARGUMENT_USER"; + + AccountJid account; + UserJid user; + + public static ChatHistoryClearDialog newInstance(AccountJid account, UserJid user) { + ChatHistoryClearDialog fragment = new ChatHistoryClearDialog(); + + Bundle arguments = new Bundle(); + arguments.putParcelable(ARGUMENT_ACCOUNT, account); + arguments.putParcelable(ARGUMENT_USER, user); + fragment.setArguments(arguments); + return fragment; + } + + @Override + public Dialog onCreateDialog(Bundle savedInstanceState) { + Bundle args = getArguments(); + account = args.getParcelable(ARGUMENT_ACCOUNT); + user = args.getParcelable(ARGUMENT_USER); + + String name = RosterManager.getInstance().getBestContact(account, user).getName(); + + return new AlertDialog.Builder(getActivity()) + .setTitle(R.string.clear_history) + .setMessage(getString(R.string.clear_chat_history_dialog_message, name)) + .setPositiveButton(R.string.clear_chat_history_dialog_button, this) + .setNegativeButton(android.R.string.cancel, this).create(); + } + + @Override + public void onClick(DialogInterface dialog, int which) { + if (which == Dialog.BUTTON_POSITIVE) { + MessageManager.getInstance().clearHistory(account, user); + } + } + +} diff --git a/xabber/src/main/java/com/xabber/android/ui/fragment/ChatFragment.java b/xabber/src/main/java/com/xabber/android/ui/fragment/ChatFragment.java index bcd4f09fd2..ff57e8d30f 100644 --- a/xabber/src/main/java/com/xabber/android/ui/fragment/ChatFragment.java +++ b/xabber/src/main/java/com/xabber/android/ui/fragment/ChatFragment.java @@ -81,6 +81,7 @@ import com.xabber.android.ui.color.ColorManager; import com.xabber.android.ui.dialog.BlockContactDialog; import com.xabber.android.ui.dialog.ChatExportDialogFragment; +import com.xabber.android.ui.dialog.ChatHistoryClearDialog; import com.xabber.android.ui.helper.ContactTitleInflater; import com.xabber.android.ui.helper.PermissionsRequester; import com.xabber.android.ui.preferences.ChatContactSettings; @@ -1086,7 +1087,7 @@ private void closeChat(AccountJid account, UserJid user) { } private void clearHistory(AccountJid account, UserJid user) { - MessageManager.getInstance().clearHistory(account, user); + ChatHistoryClearDialog.newInstance(account, user).show(getFragmentManager(), ChatHistoryClearDialog.class.getSimpleName()); } private void leaveConference(AccountJid account, UserJid user) { diff --git a/xabber/src/main/java/com/xabber/android/ui/fragment/ConferenceSelectFragment.java b/xabber/src/main/java/com/xabber/android/ui/fragment/ConferenceSelectFragment.java index 1a8fc627fe..dcdfd968a3 100644 --- a/xabber/src/main/java/com/xabber/android/ui/fragment/ConferenceSelectFragment.java +++ b/xabber/src/main/java/com/xabber/android/ui/fragment/ConferenceSelectFragment.java @@ -42,6 +42,7 @@ public class ConferenceSelectFragment extends ListFragment implements AdapterView.OnItemSelectedListener, View.OnClickListener, MUCManager.HostedRoomsListener, AdapterView.OnItemClickListener { + private static final String LOG_TAG = ConferenceSelectFragment.class.getSimpleName(); private Spinner accountView; private EditText serverView; private EditText roomView; @@ -148,6 +149,11 @@ public void onSaveInstanceState(Bundle outState) { @Override public void onItemClick(AdapterView parent, View view, int position, long id) { + if (account == null) { + LogManager.w(LOG_TAG, "onItemClick: Account is null!"); + return; + } + try { startActivity(ConferenceAddActivity.createIntent(getActivity(), account, UserJid.from(hostedConferencesAdapter.getItem(position).getJid()))); diff --git a/xabber/src/main/res/values-de/account_editor.xml b/xabber/src/main/res/values-de/account_editor.xml index a5f1a6df47..610f96621a 100644 --- a/xabber/src/main/res/values-de/account_editor.xml +++ b/xabber/src/main/res/values-de/account_editor.xml @@ -13,6 +13,7 @@ Kontotyp Benutzername für Google Talk Wenn du über kein Google-Konto verfügst, kannst du unter http://mail.google.com\n eins erstellen. Verwende bitte your_user_name@your_google_domain + Du musst zunächst einen XMPP Account erstellen um Xabber zu nutzen! Wenn du mehr über XMPP (Jabber) erfahren möchtest, besuche https://xmpp.org Benutzername Servername nicht angegeben @@ -55,7 +56,7 @@ TLS/SSL-Verschlüsselung TLS benötigt TLS-Verschlüsselung für Verbindung zum Server verlangen - Chatten über das anonyme Netzwerk TOR und erzwingen einer TLS Verschlüsselung\nFür Google Talk nicht empfohlen + Anonymer Chat über TOR und Erzwingen einer TLS Verschlüsselung wird für Google Talk nicht empfohlen Wollen Sie wirklich alle Änderungen verwerfen? Überprüfen Sie den Benutzernamen. Details finden Sie unten im Hilfetext. Für die Nutzung von TOR muss Orbot installiert sein und die Proxy-Verbindung darüber laufen. Möchten Sie die App von Google Play herunterladen? @@ -74,8 +75,8 @@ Türkis Verbindungseinstellungen Blockierte Kontakte - Unterstützung für Sperrung noch nicht beschlossen. - Sperrung wird vom Server nicht unterstützt. + Serverseitige Unterstützung für Kontaktsperrung noch nicht ermittelt. + Keine serverseitige Unterstützung für Kontaktsperrung. Nicht blockierte Kontakte. %d Kontakt blockiert. diff --git a/xabber/src/main/res/values-de/account_list.xml b/xabber/src/main/res/values-de/account_list.xml index 8f3d07c34c..078f4a3daa 100644 --- a/xabber/src/main/res/values-de/account_list.xml +++ b/xabber/src/main/res/values-de/account_list.xml @@ -8,7 +8,7 @@ Konto bearbeiten Registrierung Autorisierung - Online + Verfügbar Verbinden Verbindung wird getrennt Abgemeldet diff --git a/xabber/src/main/res/values-de/contact_editor.xml b/xabber/src/main/res/values-de/contact_editor.xml index 51295735a1..f753fb8c2c 100644 --- a/xabber/src/main/res/values-de/contact_editor.xml +++ b/xabber/src/main/res/values-de/contact_editor.xml @@ -6,7 +6,7 @@ Alias (optional) Wollen Sie Ihren Kontostatus %1$s mit dem Kontakt teilen? Benutzername des Kontakts - Kontakt wurde nicht gefunden + Kontakt nicht gefunden Gruppenname setzen Gruppenname Konto auswählen diff --git a/xabber/src/main/res/values-de/contact_list.xml b/xabber/src/main/res/values-de/contact_list.xml index b5f3aa3a3c..f04ced08a0 100644 --- a/xabber/src/main/res/values-de/contact_list.xml +++ b/xabber/src/main/res/values-de/contact_list.xml @@ -6,7 +6,7 @@ Konten verwalten Konto hinzufügen Kontakt hinzufügen - Offline Kontakte zeigen + Offline Kontakte anzeigen Verbinden Wiederverbinden Verbinde... diff --git a/xabber/src/main/res/values-de/contact_viewer.xml b/xabber/src/main/res/values-de/contact_viewer.xml index f658fe09c8..2ff5316812 100644 --- a/xabber/src/main/res/values-de/contact_viewer.xml +++ b/xabber/src/main/res/values-de/contact_viewer.xml @@ -4,7 +4,7 @@ Kontaktinformationen Client Dieses Gerät - Nickname + Spitzname Formatierter Name Präfix Vorname diff --git a/xabber/src/main/res/values-de/muc_editor.xml b/xabber/src/main/res/values-de/muc_editor.xml index 91bf7e3237..eddc2da7d7 100644 --- a/xabber/src/main/res/values-de/muc_editor.xml +++ b/xabber/src/main/res/values-de/muc_editor.xml @@ -4,10 +4,10 @@ Nickname nicht angegeben Konferenz nicht angegeben Konferenz beitreten - Nick - Ihr Nickname in der Konferenz + Spitzname + Ihr Spitzname in der Konferenz Passwort - Kein Passwort benötigt + Passwort wird nicht benötigt Konferenz Mehrbenutzer Chat Der Nickname wird bereits verwendet diff --git a/xabber/src/main/res/values-de/phrase_editor.xml b/xabber/src/main/res/values-de/phrase_editor.xml index 12b49088e7..48a9a24fbd 100644 --- a/xabber/src/main/res/values-de/phrase_editor.xml +++ b/xabber/src/main/res/values-de/phrase_editor.xml @@ -1,9 +1,9 @@ - Satz hinzufügen - Satz löschen - Wollen Sie folgenden Begriff wirklich löschen: %s? + Ausdruck hinzufügen + Ausdruck löschen + Wollen Sie folgenden Ausdruck wirklich löschen: %s? < beliebiger Text > Teil der Kontaktgruppe Regulärer Ausdruck diff --git a/xabber/src/main/res/values-de/preference_editor.xml b/xabber/src/main/res/values-de/preference_editor.xml index e8426a2cd0..556d7a82c1 100644 --- a/xabber/src/main/res/values-de/preference_editor.xml +++ b/xabber/src/main/res/values-de/preference_editor.xml @@ -2,7 +2,7 @@ Cache löschen\nAlle lokalen Daten löschen. Dadurch kann etwas Speicherplatz frei werden. - Wollen Sie wirklich den Chatverlauf und andere lokale Daten entfernen? \nAccount und Listendaten sind davon nicht betroffen. Die Anwendung wird geschlossen. + Wollen Sie wirklich den Chatverlauf und andere lokale Daten entfernen? \nKonto und Kontaktliste sind davon nicht betroffen. Die Anwendung wird geschlossen. Senden mit Enter\nDurch Drücken der Enter-Taste kann die Nachricht gesendet werden Status autom. auf \"Abwesend\" ändern\nStatus automatisch auf \"Abwesend\" setzen, wenn der Bildschirm gesperrt wird Kontakteliste sortieren \nFestlegen der Reihenfolge, in welcher die Kontakte angezeigt werden diff --git a/xabber/src/main/res/values-fr/account_editor.xml b/xabber/src/main/res/values-fr/account_editor.xml index 7465c0b823..3c8ed4b24d 100644 --- a/xabber/src/main/res/values-fr/account_editor.xml +++ b/xabber/src/main/res/values-fr/account_editor.xml @@ -13,6 +13,7 @@ Type de compte Identifiant gmail.com ou domaine Google Apps Pas de compte Google ? Vous pouvez en créer un sur http://mail.google.com\nVous pouvez aussi utiliser identifiant@votredomainegoogle + Vous devez enregistrer un compte XMPP avant de l\'ajouter à Xabber! Vous pouvez en apprendre plus sur XMPP (Jabber) ici : https://xmpp.org Identifiant Le nom du serveur est manquant diff --git a/xabber/src/main/res/values-hu/account_editor.xml b/xabber/src/main/res/values-hu/account_editor.xml index 9c3837a6d5..0513b9e0ca 100644 --- a/xabber/src/main/res/values-hu/account_editor.xml +++ b/xabber/src/main/res/values-hu/account_editor.xml @@ -13,6 +13,7 @@ Fióktípus gmail.com felhasználónév vagy Google Apps tartomány Ha nincs Google fiókod, létrehozhatsz egyet itt: http://mail.google.com \n Vagy használhatod a felhasznaloneved@google_tartomanyod is + Regisztrálj XMPP fiókot, azután tudod hozzáadni a Xabberhez! Tudj meg többet az XMPP-ről (Jabberről) itt: https://xmpp.org Felhasználónév A szervernév nincs megadva diff --git a/xabber/src/main/res/values-in/account_editor.xml b/xabber/src/main/res/values-in/account_editor.xml index 63d7d79b9e..da4819de4a 100644 --- a/xabber/src/main/res/values-in/account_editor.xml +++ b/xabber/src/main/res/values-in/account_editor.xml @@ -13,6 +13,7 @@ Jenis akun nama pengguna untuk gmail.com atau domain Aplikasi Google Jika anda belum memiliki akun Google, anda dapat membuatnya di http://mail.google.com\n Anda juga dapat menggunakan nama_pengguna_anda@domain_google_anda + Anda harus mendaftar akun XMPP sebelum menambahkannya dalam Xabber! Jika anda ingin mempelajari XMPP (Jabber) lebih lanjut, kunjungi: https://xmpp.org Nama pengguna Nama server belum ditentukan diff --git a/xabber/src/main/res/values-it/account_editor.xml b/xabber/src/main/res/values-it/account_editor.xml index e79936ea29..363dea930c 100644 --- a/xabber/src/main/res/values-it/account_editor.xml +++ b/xabber/src/main/res/values-it/account_editor.xml @@ -13,6 +13,7 @@ Tipo account username per gmail.com o per Google Apps Se non possiedi un account Google puoi crearne uno visitando http://mail.google.com\nÈ anche possibile utilizzare nome_utente@dominio_personale_google + È necessario registrare un account XMPP prima di aggiungerlo a Xabber! Se vuoi saperne di più su XMPP (Jabber) visita https://xmpp.org Nome utente Il nome del server non è stato specificato diff --git a/xabber/src/main/res/values-it/muc_editor.xml b/xabber/src/main/res/values-it/muc_editor.xml index 77564e382f..a3fb20a64a 100644 --- a/xabber/src/main/res/values-it/muc_editor.xml +++ b/xabber/src/main/res/values-it/muc_editor.xml @@ -23,9 +23,9 @@ Salva conferenza Scegli conferenza Successivo - Elenca conferenze ospitate + Ottieni conversazioni di gruppo allogate Errore nell\'ottenere la lista delle conferenze Inserire nome conferenza Il contatto è bloccato! - Invito ad una conferenza + Invito ad una conversazione di gruppo diff --git a/xabber/src/main/res/values-ja/account_editor.xml b/xabber/src/main/res/values-ja/account_editor.xml index e95a3b8669..1768d76afe 100644 --- a/xabber/src/main/res/values-ja/account_editor.xml +++ b/xabber/src/main/res/values-ja/account_editor.xml @@ -13,6 +13,7 @@ アカウントの種類 gmail.com または Google Apps ドメイン用のユーザー名 Google アカウントを持っていない場合、http://mail.google.com で作成してください\nyour_user_name@your_google_domain を使用することもできます + Xabber に追加する前に XMPP アカウントを登録 する必要があります! XMPP (Jabber) についての詳細は: https://xmpp.org ユーザー名 サーバー名が指定されていません diff --git a/xabber/src/main/res/values-nb/account_editor.xml b/xabber/src/main/res/values-nb/account_editor.xml index 946088f955..8b97b2f30d 100644 --- a/xabber/src/main/res/values-nb/account_editor.xml +++ b/xabber/src/main/res/values-nb/account_editor.xml @@ -13,6 +13,7 @@ Kontotype brukernavn for gmail.com eller Google Apps-domene Hvis du ikke har en Google-konto kan du lage en ny på http://mail.google.com\nDu kan også bruke ditt_brukernavn@ditt_google_domene + Du må før du legger den til i Xabber! Hvis du vil lære mer om XMPP (Jabber) se her: https://xmpp.org Brukernavn Tjenernavn er ikke angitt @@ -83,9 +84,11 @@ Sludrehistorikk Lagringsvalg for sludrehistorikk + Støtte for sludrehistorikk fra tjenerlager er ikke bestemt enda Tjeneren støtter ikke lagring av sludrehistorikk. Behandling av meldingsarkiv Lagre alle meldinger på tjeneren + Lagre kontaktliste på tjeneren Ikke lagre noen meldinger på tjeneren Last inn meldingshistorikk Last inn historikk for alle kontakter diff --git a/xabber/src/main/res/values-nb/contact_editor.xml b/xabber/src/main/res/values-nb/contact_editor.xml index 5b037b8a9f..311a711aac 100644 --- a/xabber/src/main/res/values-nb/contact_editor.xml +++ b/xabber/src/main/res/values-nb/contact_editor.xml @@ -19,6 +19,8 @@ Feil ved behandling av bilde Kontoinnstillinger Kontoinformasjon + Tjenerinfo + Liste over tjenerfunksjoner %1$s fra %2$s ønsker å starte en private samtale med deg Godta Blokker diff --git a/xabber/src/main/res/values-nb/contact_list.xml b/xabber/src/main/res/values-nb/contact_list.xml index 31fcf6d39d..f1052da36a 100644 --- a/xabber/src/main/res/values-nb/contact_list.xml +++ b/xabber/src/main/res/values-nb/contact_list.xml @@ -75,6 +75,9 @@ Gå over til den mørke siden Bli værende på lysets side Batterioptimisering + Enheten din har iverksatt hissig batterioptimisering som kan lede til at merknader fra Xabber blir forsinket eller faktisk forsvinne.\n\nDu vil nå bli spurt om å skru av dette. + Lagre til fil + Slett gamle loggfiler Åpne Send Velkommen til Xabber diff --git a/xabber/src/main/res/values-nb/contact_viewer.xml b/xabber/src/main/res/values-nb/contact_viewer.xml index 292a672ccd..dbae80c15c 100644 --- a/xabber/src/main/res/values-nb/contact_viewer.xml +++ b/xabber/src/main/res/values-nb/contact_viewer.xml @@ -3,6 +3,7 @@ Kontaktinformasjon Klient + Denne enheten Kallenavn Fullt navn Prefiks @@ -51,6 +52,7 @@ Rediger grupper Slett kontakt Rediger brukerinformasjon + Rediger Brukerinformasjon for konto er lagret Kunne ikke lagre brukerinformasjon for konto Lagrer… @@ -63,4 +65,6 @@ Beskrivelse Emne Deltakere: %d + Tilkoblede enheter + vCard diff --git a/xabber/src/main/res/values-nb/preference_editor.xml b/xabber/src/main/res/values-nb/preference_editor.xml index 33e006c9c9..7abbe3d882 100644 --- a/xabber/src/main/res/values-nb/preference_editor.xml +++ b/xabber/src/main/res/values-nb/preference_editor.xml @@ -17,7 +17,11 @@ Vis kontopanel\nVis handlingsknapper med avatarer nederst til høyre i kontaktlisten Dupliser aktive samtaler\nAktive samtaler vises både øverst i kontaktlisten og i grupper Feilsøkingslogg\nSkriv beskjeder til feilsøkingsloggen (du starte programmet på nytt for å ta endringene i bruk) + Skriv fillogg\nSkriv feilrettingslogg til lokal fil (du kan dele den). + Loggfiler\nListe over skrevne loggfiler. + Loggfiler Vis tilkoblingsfeil\nVis oppsprettsvinduer med tilkoblingsunntak + Send kræsjrapporter\nSend anonyme kræsjrapporter for å hjelpe utviklingen av Xabber. (Start programmet på nytt for at disse endringene skal tre i effekt). Lysvarsel\nBlink LED-lyset ved varsler Ikon på oppgavelinjen\nVis vedvarende melding. Dette alternativet hindrer at Android fjerner programmet fra minnet Varslingslyd\nVelg varslingslyd @@ -82,4 +86,5 @@ Klartekstbekreftelse\nBruk klartekstbekreftelse for alle kontoer. Ikke anbefalt. Nøkkelsetninger\nOpprett egendefinert varsel for mottatte meldinger som inneholder gitte setninger Ønsker du virkelig å fjerne alle ignorerte sertifikater? + Innstillinger diff --git a/xabber/src/main/res/values-ru/chat_viewer.xml b/xabber/src/main/res/values-ru/chat_viewer.xml index 507ce79066..aeeddfa220 100644 --- a/xabber/src/main/res/values-ru/chat_viewer.xml +++ b/xabber/src/main/res/values-ru/chat_viewer.xml @@ -10,6 +10,8 @@ Введите сообщение Отправить Очистить историю сообщений + Очистить + Очистить всю историю сообщений с %s? Сообщения доставлены на сервер получателя и могут быть прочитаны им после подключения к сети Контакт не доступен Файл не найден diff --git a/xabber/src/main/res/values-sr/account_editor.xml b/xabber/src/main/res/values-sr/account_editor.xml index e284ca137c..3b6662c6cd 100644 --- a/xabber/src/main/res/values-sr/account_editor.xml +++ b/xabber/src/main/res/values-sr/account_editor.xml @@ -30,7 +30,7 @@ Кликните да укључите налог Порт мора бити број (подразумевано: 5222) Порт мора бити између 1 и 65535 (подразумевани: 5222) - Приоритет мора бити број између -128 и 128 (подразумевано: 10) + Приоритет мора бити број између -128 и 127 (подразумевано: 10) Овлашћење Без овлашћења ОАут поставке @@ -62,6 +62,7 @@ Инсталирати Орбот? Инсталирај Орбот Неуспех регистровања налога на серверу. + Не могу да добавим податке о серверу. Боја налога Зелена Наранџаста @@ -71,4 +72,17 @@ Плавозелена Плавосива Цијан + Поставке везе + Блокирани контакти + Подршка за блокирање је још увек неодређена. + Блокирање сервер не подржава. + Нема блокираних особа. + + %d блокирана особа. + %d блокиране особе. + %d блокираних особа. + + Историјат ћаскања + Опције смештања историјата порука + Очисти историјат при изласку diff --git a/xabber/src/main/res/values-sr/contact_list.xml b/xabber/src/main/res/values-sr/contact_list.xml index e5ef65aa5f..a10d4b0c6a 100644 --- a/xabber/src/main/res/values-sr/contact_list.xml +++ b/xabber/src/main/res/values-sr/contact_list.xml @@ -73,5 +73,5 @@ Изаберите своју судбину Нова тамна тема је доступна за Ксабер. Можете ли се одупрети искушењу да је пробате? Придружи се Тамној страни - "Остани на Светлој страни" + Остани на Светлој страни diff --git a/xabber/src/main/res/values-sr/fingerprint_viewer.xml b/xabber/src/main/res/values-sr/fingerprint_viewer.xml index d61f9cf443..ea8d6bf2f4 100644 --- a/xabber/src/main/res/values-sr/fingerprint_viewer.xml +++ b/xabber/src/main/res/values-sr/fingerprint_viewer.xml @@ -5,7 +5,7 @@ Овај контакт је поуздан Ваш отисак: Отисак вашег саговорника: - Скенирајте QR код са отиском саговорника - Прикажи QR код мог отиска + Скенирајте Куер код са отиском саговорника + Прикажи Куер код мог отиска Копирај мој отисак у клипборд diff --git a/xabber/src/main/res/values-sr/notification_bar.xml b/xabber/src/main/res/values-sr/notification_bar.xml index 721cd9ac12..9005116073 100644 --- a/xabber/src/main/res/values-sr/notification_bar.xml +++ b/xabber/src/main/res/values-sr/notification_bar.xml @@ -3,28 +3,35 @@ налог налога + налога налог налога + налога Грешка аутентификације контакт контакта + контаката порука поруке + порука %1$d %2$s од %3$d %4$s %1$d %2$s од %3$s %1$s: %2$s %1$d од %2$d %3$s повезан %1$d од %2$d %3$s повезана + %1$d од %2$d %3$s повезано повезивање %1$d од %2$d %3$s повезивање %1$d од %2$d %3$s + повезивање %1$d од %2$d %3$s %1$d од %2$d %3$s чека на повезивање %1$d од %2$d %3$s чекају на повезивање + %1$d од %2$d %3$s чекају на повезивање %1$d %2$s ван везе Желите ли да складиштите историјат порука на серверу?\nОво омогућује Ксаберу да учита историјат порука са свих уређаја који користе овај налог.\nОва функција ће повући нешто више података са интернета и лагано смањити брзину везе.\nУПОЗОРЕЊЕ: Читав ваш локални историјат ће бити уклоњен. diff --git a/xabber/src/main/res/values-sr/preference_editor.xml b/xabber/src/main/res/values-sr/preference_editor.xml index 9a6598d87c..38c3914671 100644 --- a/xabber/src/main/res/values-sr/preference_editor.xml +++ b/xabber/src/main/res/values-sr/preference_editor.xml @@ -17,6 +17,7 @@ Прикажи панел налога\nПриказ дугмади радњи са аватарима у доњем десном углу листе Дупликати активног ћаскања\nАктивна ћаскања се приказују и изнад листе и у групама Дневник грешака\nУпис порука у дневник за отклањање грешака (потребан рестарт) + Приказ грешака везе\nИскачуће поруке при грешкама повезивања Светлосна индикација\nЛЕД трепће при обавештењима Икона траке задатака\nПриказује стално обавештење. Ова опција спречава Андроид да избаци програм из меморије Звучно упозорење\nИзаберите звук обавештења @@ -81,5 +82,4 @@ Аутентификација обичним текстом\nАутентификација обичним текстом за све налоге. Није препоручљиво. Кључне речи\nНаправите посебна обавештења кад примљене поруке садрже наведене речи Желите ли заиста да уклоните све игнорисане сертификате? - Приказ грешака везе\nИскачуће поруке при грешкама повезивања diff --git a/xabber/src/main/res/values-sv/account_editor.xml b/xabber/src/main/res/values-sv/account_editor.xml index 846dd9a220..295dc09efd 100644 --- a/xabber/src/main/res/values-sv/account_editor.xml +++ b/xabber/src/main/res/values-sv/account_editor.xml @@ -14,6 +14,7 @@ användarnamn för gmail.com eller Google Appsdomänen Om du ännu inte har ett Googlekonto kan du skapa ett på: http://mail.google.com\n Du kan även välja att använda ditt_konto_namn@din_google_domän + Du måste registrera ett XMPP-konto innan du lägger till det i Xabber! Om du vill veta mer om XMPP (Jabber) gå till: https://xmpp.org Användarnamn Servernamn har inte angetts diff --git a/xabber/src/main/res/values-zh-rCN/account_editor.xml b/xabber/src/main/res/values-zh-rCN/account_editor.xml index 4e1453389e..d926eea99e 100644 --- a/xabber/src/main/res/values-zh-rCN/account_editor.xml +++ b/xabber/src/main/res/values-zh-rCN/account_editor.xml @@ -13,6 +13,7 @@ 账户类型 gmail.com或Google Apps域上的用户名 如果没有Google账户,你可以在 http://mail.google.com 创建一个\n你也可以使用your_user_name@your_google_domain + 在添加到 Xabber 之前,你必须 注册 XMPP 帐户 如果你想了解更多关于XMPP(Jabber)的信息,请参阅: https://xmpp.org 用户名 域未指定 @@ -62,6 +63,7 @@ 安装Orbot? 安装Orbot 未能在服务器上注册账户。 + 无法获取服务器信息。 账户颜色 绿色 橙色 @@ -71,4 +73,26 @@ 深青色 蓝灰色 青色 + 连接设置 + 屏蔽的联系人 + 不能确定是否支持屏蔽联系人。 + 服务器不支持屏蔽。 + 无屏蔽的联系人。 + + 已屏蔽 %d 个联系人。 + + 聊天历史 + 聊天消息的存储选项 + 尚未确定是否支持聊天历史记录保存在服务器上 + 服务器不支持存储聊天记录。 + 消息存档管理 + 在服务器上存储所有消息 + 将名册联系人消息存储在服务器上 + 不在服务器上存储任何消息 + 加载消息历史记录 + 加载所有联系人的历史记录 + 只加载打开的聊天会话的历史记录 + 不加载任何人的历史记录 + 退出时清除历史记录 + 在退出 Xabber 之前从设备中删除所有聊天消息。 diff --git a/xabber/src/main/res/values-zh-rCN/contact_editor.xml b/xabber/src/main/res/values-zh-rCN/contact_editor.xml index dc149912a7..ce7b317625 100644 --- a/xabber/src/main/res/values-zh-rCN/contact_editor.xml +++ b/xabber/src/main/res/values-zh-rCN/contact_editor.xml @@ -19,6 +19,8 @@ 在图像处理过程中的错误 帐户设置 帐户信息 + 服务器信息 + 服务器功能列表 来自 %2$s 的 %1$s 想要与你开始私人聊天 接受 阻止 diff --git a/xabber/src/main/res/values-zh-rCN/contact_list.xml b/xabber/src/main/res/values-zh-rCN/contact_list.xml index 572c657721..02f0278c75 100644 --- a/xabber/src/main/res/values-zh-rCN/contact_list.xml +++ b/xabber/src/main/res/values-zh-rCN/contact_list.xml @@ -74,4 +74,17 @@ Xabber 有新黑暗主题可用。你能抗拒使用它的诱惑吗? 加入黑暗的一面 留在光明的一面 + 电池优化 + 您的设备针对 Xabber 做了一些重度的电池优化,这可能导致通知的延迟或者甚至丢失消息。\n\n你现在将被要求禁用那些优化。 + 保存到文件 + 删除旧的日志文件 + 打开 + 发送 + 欢迎使用 Xabber + 安卓开源 XMPP 客户端 + 我有 XMPP 帐户 + 注册 XMPP 帐户 + 创建 Xabber 帐户 + 如果你没有 XMPP 帐户,请 阅读我们的常见问题 如何获得一个。 + 注册 XMPP 帐户 diff --git a/xabber/src/main/res/values-zh-rCN/contact_viewer.xml b/xabber/src/main/res/values-zh-rCN/contact_viewer.xml index 1ab31034db..324a4bc82f 100644 --- a/xabber/src/main/res/values-zh-rCN/contact_viewer.xml +++ b/xabber/src/main/res/values-zh-rCN/contact_viewer.xml @@ -3,6 +3,7 @@ 联系人信息 客户端 + 此设备 昵称 姓名 前缀 @@ -51,6 +52,7 @@ 编辑分组 删除联系人 编辑用户信息 + 编辑 已成功保存的帐户用户信息 不能保存帐户用户信息 正在保存… @@ -63,4 +65,6 @@ 描述 主题 参与者: %d + 已连接的设备 + 电子名片 diff --git a/xabber/src/main/res/values-zh-rCN/preference_editor.xml b/xabber/src/main/res/values-zh-rCN/preference_editor.xml index 7f1a9cd225..7ca3330054 100644 --- a/xabber/src/main/res/values-zh-rCN/preference_editor.xml +++ b/xabber/src/main/res/values-zh-rCN/preference_editor.xml @@ -17,7 +17,11 @@ 显示账户面板\n在联系人列表的右下角显示带有头像的动作按钮 重复显示进行中的聊天\n同时在联系人列表顶部和分组中显示进行中聊天 调试日志\n将消息写入调试日志(请重启程序来应用设置) + 写文件日志\n写调试日志到本地文件(你可以共享它)。 + 日志文件\n写入的日志文件列表。 + 日志文件 显示连接错误\n显示连接异常弹出消息 + 发送崩溃报告\n发送匿名崩溃报告以帮助 Xabber 开发(请重启程序以应用更改)。 灯光提示\n通知时闪烁LED 任务栏图标\n显示持久性通知,此选项可防止Android从内存中卸载该程序 声音提示\n选择提示音 @@ -78,8 +82,9 @@ 注意声音\n选择铃声 加载vCard\n加载和更新联系人的个人信息和头像,禁用以减少流量 加载图像\n自动从文件URL加载图像。禁用以降低带宽使用率。 - 复写模式\n可能不稳定!将为此客户端上的相同账户共享会话,禁用以减少流量使用。 + 复写模式\n将为此客户端上的相同账户共享会话,禁用以减少流量使用。 纯文本身份验证\n对所有账户使用纯文本认证。 不建议。 关键短语\n通知某些包含预设短语的消息并选择声音 你确实要删除所有忽略的证书吗? + 设置 diff --git a/xabber/src/main/res/values/account_editor.xml b/xabber/src/main/res/values/account_editor.xml index 36f6053713..d12bbc0001 100644 --- a/xabber/src/main/res/values/account_editor.xml +++ b/xabber/src/main/res/values/account_editor.xml @@ -12,7 +12,7 @@ Account type username for gmail.com or Google Apps domain If you don\'t have Google account you may create one at http://mail.google.com\nAlso you can use your_user_name@your_google_domain - You must register XMPP account before adding it to Xabber! + You must register an XMPP account before adding it to Xabber! If you want to learn more about XMPP (Jabber) here: https://xmpp.org Username Server name is not specified diff --git a/xabber/src/main/res/values/chat_viewer.xml b/xabber/src/main/res/values/chat_viewer.xml index a31f59cbf7..6336a42bf0 100644 --- a/xabber/src/main/res/values/chat_viewer.xml +++ b/xabber/src/main/res/values/chat_viewer.xml @@ -9,6 +9,8 @@ Type your message here Send Clear history + Clear + Do you really want to clear all chat history with %s? The recipient is offline. Messages you send will be delivered when they come back online. Contact is not available File not found diff --git a/xabber/src/main/res/xml/preference_connection.xml b/xabber/src/main/res/xml/preference_connection.xml index 024e6969f5..674cabd333 100644 --- a/xabber/src/main/res/xml/preference_connection.xml +++ b/xabber/src/main/res/xml/preference_connection.xml @@ -44,11 +44,6 @@ android:key="@string/connection_use_carbons_key" android:defaultValue="@bool/connection_use_carbons_default" /> -