diff --git a/.woodpecker.yml b/.woodpecker.yml
new file mode 100644
index 0000000000000000000000000000000000000000..2de87b7074700157d3e41ede0cec2198884abc3c
--- /dev/null
+++ b/.woodpecker.yml
@@ -0,0 +1,7 @@
+pipeline:
+ build:
+ image: codeberg.org/freeyourgadget/android-fdroid-tools:latest
+ commands:
+ - ./gradlew clean
+ - ./gradlew assembleConversationsFreeDebug
+ - ./gradlew assembleQuicksyFreeDebug
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b5ef2e389ab0557028afff675640675948865bbc..9ea5fd8dd65b24aa694a79533fba60e92aed3425 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,28 @@
# Changelog
+### Version 2.12.6
+
+* Fix 'q' falsely being recognized as cyrillic
+
+### Version 2.12.5
+
+* Bump Target SDK to 33 again
+* Fix issues on servers supporting SASL2 w/o inline Stream Management
+
+### Version 2.12.4
+
+* Revert Target SDK bump (back to 32) to fix various issues on Android 13
+
+### Version 2.12.3
+
+* Improve support for new emojis
+* Add ability to remove account from server
+* Show timestamp for calls
+
+### Version 2.12.2
+
+* Increase corner radius on profile pictures
+
### Version 2.12.1
* Fix crash in UnifiedPush Distributor
diff --git a/build.gradle b/build.gradle
index 08635e06d5a1fee6091b0b0bb0949775ee26b1da..f49859151f1ddb85fb64d12f356add9843d432db 100644
--- a/build.gradle
+++ b/build.gradle
@@ -6,7 +6,7 @@ buildscript {
mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:7.3.1'
+ classpath 'com.android.tools.build:gradle:7.4.2'
}
}
@@ -19,8 +19,7 @@ apply plugin: 'com.android.application'
repositories {
google()
mavenCentral()
- jcenter()
- maven { url 'https://jitpack.io' }
+ maven { url='https://jitpack.io'}
}
def tags = grgit.tag.list().findAll { it.dateTime != null }.sort { it.dateTime }
@@ -59,7 +58,7 @@ dependencies {
implementation "androidx.core:core:1.10.1"
implementation 'androidx.viewpager:viewpager:1.0.0'
- playstoreImplementation('com.google.firebase:firebase-messaging:23.1.1') {
+ playstoreImplementation('com.google.firebase:firebase-messaging:23.1.2') {
exclude group: 'com.google.firebase', module: 'firebase-core'
exclude group: 'com.google.firebase', module: 'firebase-analytics'
exclude group: 'com.google.firebase', module: 'firebase-measurement-connector'
@@ -68,13 +67,13 @@ dependencies {
cheogramPlaystoreImplementation 'com.github.singpolyma:play-licensing:1c637ea03c'
conversationsPlaystoreImplementation("com.android.installreferrer:installreferrer:2.2")
quicksyPlaystoreImplementation 'com.google.android.gms:play-services-auth-api-phone:18.0.1'
- implementation 'org.sufficientlysecure:openpgp-api:10.0'
- implementation 'com.theartofdev.edmodo:android-image-cropper:2.8.0'
- implementation 'androidx.appcompat:appcompat:1.5.1'
- implementation 'androidx.exifinterface:exifinterface:1.3.5'
+ implementation 'com.github.open-keychain.open-keychain:openpgp-api:v5.7.1'
+ implementation("com.github.CanHub:Android-Image-Cropper:2.0.0")
+ implementation 'androidx.appcompat:appcompat:1.6.1'
+ implementation 'androidx.exifinterface:exifinterface:1.3.6'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
- implementation 'com.google.android.material:material:1.7.0'
+ implementation 'com.google.android.material:material:1.8.0'
implementation "androidx.emoji2:emoji2:1.2.0"
freeImplementation "androidx.emoji2:emoji2-bundled:1.2.0"
@@ -88,7 +87,10 @@ dependencies {
implementation 'org.whispersystems:signal-protocol-android:2.6.2'
implementation "com.wefika:flowlayout:0.4.1"
//noinspection GradleDependency
- implementation 'com.otaliastudios:transcoder:0.9.1'
+ implementation('com.github.natario1:Transcoder:v0.9.1') {
+ exclude group: 'com.otaliastudios.opengl', module: 'egloo'
+ }
+ implementation 'com.github.natario1:Egloo:v0.4.0'
implementation 'org.jxmpp:jxmpp-jid:1.0.3'
implementation 'org.jxmpp:jxmpp-stringprep-libidn:1.0.3'
@@ -116,7 +118,7 @@ dependencies {
implementation 'com.github.woltapp:blurhash:master'
implementation 'com.caverock:androidsvg-aar:1.4'
implementation 'org.tomlj:tomlj:1.1.0'
- implementation 'com.tbuonomo.andrui:viewpagerdotsindicator:4.1.2'
+ implementation 'com.tbuonomo:dotsindicator:5.0'
// INSERT
}
@@ -131,7 +133,7 @@ android {
defaultConfig {
minSdkVersion 21
- targetSdkVersion 32
+ targetSdkVersion 33
versionCode 42024 + tags.size()
versionName grgit.describe(always: true)
applicationId "eu.siacs.conversations"
@@ -285,7 +287,7 @@ android {
}
}
lint {
- disable 'MissingTranslation', 'InvalidPackage', 'AppCompatResource'
+ disable 'MissingTranslation', 'InvalidPackage', 'AppCompatResource', 'ExtraTranslation'
}
android.applicationVariants.all { variant ->
diff --git a/fastlane/metadata/android/da-DK/short_description.txt b/fastlane/metadata/android/da-DK/short_description.txt
new file mode 100644
index 0000000000000000000000000000000000000000..166643398f89376be49e26d868682fc34d460ea0
--- /dev/null
+++ b/fastlane/metadata/android/da-DK/short_description.txt
@@ -0,0 +1 @@
+Krypteret, brugervenlig XMPP instant messenger til din mobile enhed
diff --git a/fastlane/metadata/android/de-DE/changelogs/42047.txt b/fastlane/metadata/android/de-DE/changelogs/42047.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b1271c241657911cb8c4d97e763125cb383406b6
--- /dev/null
+++ b/fastlane/metadata/android/de-DE/changelogs/42047.txt
@@ -0,0 +1 @@
+* Absturz im UnifiedPush-Verteiler behoben
diff --git a/fastlane/metadata/android/de-DE/changelogs/42050.txt b/fastlane/metadata/android/de-DE/changelogs/42050.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c15854142aed073fe7d0db9a56059924079aebf4
--- /dev/null
+++ b/fastlane/metadata/android/de-DE/changelogs/42050.txt
@@ -0,0 +1 @@
+* Vergrößerung des Eckenradius bei Profilbildern
diff --git a/fastlane/metadata/android/de-DE/changelogs/42059.txt b/fastlane/metadata/android/de-DE/changelogs/42059.txt
new file mode 100644
index 0000000000000000000000000000000000000000..39abfa31419ed58ceec64c15a2d24382ec745b53
--- /dev/null
+++ b/fastlane/metadata/android/de-DE/changelogs/42059.txt
@@ -0,0 +1,2 @@
+* Ziel-SDK wieder auf 33 erhöht
+* Behebt Probleme auf Servern, die SASL2 ohne Inline Stream Management unterstützen
diff --git a/fastlane/metadata/android/de-DE/changelogs/42060.txt b/fastlane/metadata/android/de-DE/changelogs/42060.txt
new file mode 100644
index 0000000000000000000000000000000000000000..535628636f8140c2b16fe621e100d20e4367e5da
--- /dev/null
+++ b/fastlane/metadata/android/de-DE/changelogs/42060.txt
@@ -0,0 +1 @@
+* Fehlerhafte Erkennung von 'q' als kyrillisch behoben
diff --git a/fastlane/metadata/android/en-US/changelogs/42050.txt b/fastlane/metadata/android/en-US/changelogs/42050.txt
new file mode 100644
index 0000000000000000000000000000000000000000..abdee24a2f3cd859ec1cdb1c94dd300911adce91
--- /dev/null
+++ b/fastlane/metadata/android/en-US/changelogs/42050.txt
@@ -0,0 +1 @@
+* Increase corner radius on profile pictures
diff --git a/fastlane/metadata/android/en-US/changelogs/42059.txt b/fastlane/metadata/android/en-US/changelogs/42059.txt
new file mode 100644
index 0000000000000000000000000000000000000000..042b86fcb8f447bba0c29067e704dfb865b4eed7
--- /dev/null
+++ b/fastlane/metadata/android/en-US/changelogs/42059.txt
@@ -0,0 +1,2 @@
+* Bump Target SDK to 33 again
+* Fix issues on servers supporting SASL2 w/o inline Stream Management
diff --git a/fastlane/metadata/android/en-US/changelogs/42060.txt b/fastlane/metadata/android/en-US/changelogs/42060.txt
new file mode 100644
index 0000000000000000000000000000000000000000..65c918e49fac604152d122e90b2b0ad20c3a745f
--- /dev/null
+++ b/fastlane/metadata/android/en-US/changelogs/42060.txt
@@ -0,0 +1 @@
+* Fix 'q' falsely being recognized as cyrillic
diff --git a/fastlane/metadata/android/gl-ES/full_description.txt b/fastlane/metadata/android/gl-ES/full_description.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9bdcf9042de371fcd868b9cf9e7d5ad8bc155e57
--- /dev/null
+++ b/fastlane/metadata/android/gl-ES/full_description.txt
@@ -0,0 +1,40 @@
+Fácil de usar, fiable, baixo consumo de batería. Con soporte para imaxes, conversas en grupo e cifraxe e2e.
+
+Principios do deseño:
+
+* Ser tan fermosa e doada de usar como sexa posible sen sacrificar a seguridade ou privacidade
+* Apoiarse en protocolos existentes e ben establecidos
+* Non precisar dunha Conta de Google ou concretamente Google Cloud Messaging (GCM)
+* Solicitar os mínimos permisos posibles
+
+Características:
+
+* Cifraxe extremo-a-extremo, ben con OMEMO ou con OpenPGP
+* Enviar e recibir imaxes
+* Chamadas de audio e vídeo cifradas (DTLS-SRTP)
+* Interface intuitiva seguindo as recomendacións Android Design
+* Imaxes/Avatares para os Contactos
+* Sicronizada co cliente de escritorio
+* Conferencias (con soporte para marcadores)
+* Integración coa Libreta de enderezos
+* Varias contas cunha lista de conversas unificada
+* Consumo de enerxía moi baixo
+
+Con Conversations é moi doado crear unha conta no servidor gratuíto conversations.im. Con todo, Conversations funcionará igualmente con calquera outro servidor XMPP. Existen moitos servidores XMPP xestionados por voluntarios e gratuítos.
+
+Características de XMPP:
+
+Conversations funciona con calquera sevidor XMPP, mais XMPP é un protocolo extensible. Estas extensións tamén están estadarizadas nos chamados XEP's.
+Conversations da soporte a un par delas que axudan a mellorar a experiencia de uso da aplicación. Pode acontecer que o teu servidor XMPP actual non dé soporte para estas extensións. Por tanto para obter o mellor resultado ao usar Conversations debes ter considerar usar un servidor XMPP que si o faga - ou incluso mellor - xestionar o teu propio servidor para as túas amizades.
+
+Estes XEPs son - neste intre:
+
+* XEP-0065: SOCKS5 Bytestreams (ou mod_proxy65). Usado para a transferencia de ficheiros se as dúas partes están detrás dun cortalumes (NAT).
+* XEP-0163: Personal Eventing Protocol para os avatares
+* XEP-0191: O bloqueo de ordes permiteche bloquear spammer ou contactos sen eliminalos das túas listaxes.
+* XEP-0198: Stream Management permite que XMPP sobreviva a caídas da rede e cambios na conexión TCP.
+* XEP-0280: Message Carbons permite sincronizar automáticamente as mensaxes co teu cliente de escritorio e por tanto cambiar dun a outro sen perder mensaxes da conversa.
+* XEP-0237: Roster Versioning fundamentalmente para aforrar datos en conexións móbiles
+* XEP-0313: Message Archive Management sincroniza o historial de mensaxes co servidor. Para obter as mensaxes recibidas cando Conversations non teña conexión.
+* XEP-0352: Client State Indication permítelle ao servidor saber se Conversations está a funcionar en segundo plano. Permítelle ao servidor aforrar ancho de banda retendo paquetes de datos de pouca importancia.
+* XEP-0363: HTTP File Upload permíteche compartir ficheiros en salas de conferencia e con contactos que non están conectados. Require un compoñente adicional no teu servidor.
diff --git a/fastlane/metadata/android/gl-ES/short_description.txt b/fastlane/metadata/android/gl-ES/short_description.txt
new file mode 100644
index 0000000000000000000000000000000000000000..79c77166e9effd79e5d7e966aad65fbcf1a97423
--- /dev/null
+++ b/fastlane/metadata/android/gl-ES/short_description.txt
@@ -0,0 +1 @@
+Mensaxería instantánea XMPP cifrada e fácil de usar para o teu dispositivo móbil
diff --git a/fastlane/metadata/android/it-IT/short_description.txt b/fastlane/metadata/android/it-IT/short_description.txt
index 66e51b2d5d6f2a28e5ef36d141d21eda83c88819..fd4dfa96d176adfd04d44af06c379eff3bf95b6d 100644
--- a/fastlane/metadata/android/it-IT/short_description.txt
+++ b/fastlane/metadata/android/it-IT/short_description.txt
@@ -1 +1 @@
-Un client di messaggistica XMPP facile e criptato, ottimizzato per il mobile
+Client di messaggistica XMPP facile e criptato, per il tuo dispositivo mobile
diff --git a/fastlane/metadata/android/pl-PL/changelogs/42043.txt b/fastlane/metadata/android/pl-PL/changelogs/42043.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2b6bd98c977bde345b0159b2279bccaf9436b68d
--- /dev/null
+++ b/fastlane/metadata/android/pl-PL/changelogs/42043.txt
@@ -0,0 +1 @@
+* Naprawiono regresję w przesyłaniu plików P2P
diff --git a/fastlane/metadata/android/pl-PL/changelogs/42044.txt b/fastlane/metadata/android/pl-PL/changelogs/42044.txt
index 9afce457432a1a8eadf074c936a1142311479810..5098380e3848407a60fd652f25184b793b3c89cb 100644
--- a/fastlane/metadata/android/pl-PL/changelogs/42044.txt
+++ b/fastlane/metadata/android/pl-PL/changelogs/42044.txt
@@ -1,3 +1,3 @@
-* Naprawiono ponowne wysyłanie wiadomości podczas używania SASL2.
-* Naprawiono czarny obraz wideo pomiędzy niektórymi urządzeniami.
-* Naprawiono awarię przy użyciu pustych haseł.
+* Naprawiono ponowne wysyłanie wiadomości podczas używania SASL2
+* Naprawiono czarny obraz wideo pomiędzy niektórymi urządzeniami
+* Naprawiono awarię przy użyciu pustych haseł
diff --git a/fastlane/metadata/android/pl-PL/changelogs/42046.txt b/fastlane/metadata/android/pl-PL/changelogs/42046.txt
new file mode 100644
index 0000000000000000000000000000000000000000..65648f27cb34a03e219f4f88f5738bd96862f070
--- /dev/null
+++ b/fastlane/metadata/android/pl-PL/changelogs/42046.txt
@@ -0,0 +1 @@
+* Zintegrowano dystrybutora UnifiedPush aby ułatwić przesyłanie wiadomości push do innych aplikacji obsługujących UnifiedPush, takich jak Tusky czy Fedilab
diff --git a/fastlane/metadata/android/pl-PL/changelogs/42047.txt b/fastlane/metadata/android/pl-PL/changelogs/42047.txt
new file mode 100644
index 0000000000000000000000000000000000000000..62038683df90b10a312f0e40a99ea5aaa33790a7
--- /dev/null
+++ b/fastlane/metadata/android/pl-PL/changelogs/42047.txt
@@ -0,0 +1 @@
+* Naprawiono awarię w dystrybutorze UnifiedPush
diff --git a/fastlane/metadata/android/pl-PL/full_description.txt b/fastlane/metadata/android/pl-PL/full_description.txt
index bb1ca39195b43c0bb87d4e9a88c72ee6f5e9c3b6..442e1e8263a4a57ba82f80f6b310bdb36ed53cef 100644
--- a/fastlane/metadata/android/pl-PL/full_description.txt
+++ b/fastlane/metadata/android/pl-PL/full_description.txt
@@ -20,7 +20,7 @@ Funkcjonalność:
* wiele kont, zintegrowana skrzynka odbiorcza;
* bardzo ograniczony wpływ na zużycie baterii.
-Conversations bardzo ułatwia rejestrację konta na darmowym serwerze conversations.im, jednak będzie działać również z każdym innym serwerem XMPP. Wiele serwerów jest uruchamianych przez wolontariuszy i są dostępne za bez opłat.
+Conversations bardzo ułatwia rejestrację konta na darmowym serwerze conversations.im, jednak będzie działać również z każdym innym serwerem XMPP. Wiele serwerów jest uruchamianych przez wolontariuszy i są dostępne bez opłat.
Funkcjonalność XMPP:
diff --git a/fastlane/metadata/android/sq/changelogs/349.txt b/fastlane/metadata/android/sq/changelogs/349.txt
new file mode 100644
index 0000000000000000000000000000000000000000..b7f3efd3afec84708ca14053dc5e7fe175a2c1d3
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/349.txt
@@ -0,0 +1,4 @@
+* Sjellje për herë të parë rregullimi ekspertësh për të kryer pikasje kanalesh në shërbyes vendor, në vend se në search.jabber.network
+* Aktivizim, si parazgjedhje, i shenjave të për dërgim dhe heqje e rregullimit
+* Aktivizim, si parazgjedhje, i “Send button indicates status” dhe heqje e rregullimit
+* Kalim i rregullimit “Shërbim Move Backup and Foreground Service” te skena kryesore
diff --git a/fastlane/metadata/android/sq/changelogs/351.txt b/fastlane/metadata/android/sq/changelogs/351.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9885dc4dd9766c67671b1270b601daf9741ef45b
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/351.txt
@@ -0,0 +1,3 @@
+* ndreqje për shpërngulje kartelash Jingle IBB
+* ndreqje për saktësime të përsëritura që zënë vend te baza e të dhënave
+* u kalua te Last Message Correction v1.1
diff --git a/fastlane/metadata/android/sq/changelogs/353.txt b/fastlane/metadata/android/sq/changelogs/353.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fcf64418a7cfe025bcdf01b6e5b74cbcc3c652fa
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/353.txt
@@ -0,0 +1,4 @@
+* lejim i përdoruesve të caktojnë nofkën e vet
+* rimarrje shkarkimi kartela të fshehtëzuara me OMEMO
+* Kanali tani përdor '#' si simbol në një avatar
+* Quicksy përdor “përherë”, si parazgjedhje për fshehtëzim OMEMO (e fsheh ikonën e kyçjes)
diff --git a/fastlane/metadata/android/sq/changelogs/360.txt b/fastlane/metadata/android/sq/changelogs/360.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7c5bcb13e6e7f56105c32174c20679bddae41c73
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/360.txt
@@ -0,0 +1 @@
+* Mbulim për parametra URI XMPP ?register dher ?register;preauth
diff --git a/fastlane/metadata/android/sq/changelogs/362.txt b/fastlane/metadata/android/sq/changelogs/362.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c56753172a04e8bd9fcff4c40e99143c7de3f08b
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/362.txt
@@ -0,0 +1 @@
+* Mbulim për ndërrim të automatizuar teme në Android 10
diff --git a/fastlane/metadata/android/sq/changelogs/364.txt b/fastlane/metadata/android/sq/changelogs/364.txt
new file mode 100644
index 0000000000000000000000000000000000000000..675ba9b39693964b10c36de2ce06086c1e2feaad
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/364.txt
@@ -0,0 +1,2 @@
+* Sjellje e paraparjes për PDF në Android 5+
+* Përdor 12 byte IV për OMEMO
diff --git a/fastlane/metadata/android/sq/changelogs/367.txt b/fastlane/metadata/android/sq/changelogs/367.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9527158a7b33dce608d25dcb2e167e779128735d
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/367.txt
@@ -0,0 +1,2 @@
+* Ndreqje përzgjedhjesh avatari në disa pajisje Android 10
+* Ndreqje shpërnguljesh kartelash për kartela të mëdha
diff --git a/fastlane/metadata/android/sq/changelogs/379.txt b/fastlane/metadata/android/sq/changelogs/379.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c39112cdbebefedf7fc7d1ec062e7f416f05e2f0
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/379.txt
@@ -0,0 +1 @@
+* Thirrje audio/video (Lyp mbulim nga shërbyesi në formë shërbyesish STUN dhe TURN të zbulueshëm përmes XEP-0215)
diff --git a/fastlane/metadata/android/sq/changelogs/381.txt b/fastlane/metadata/android/sq/changelogs/381.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d9bbe41fd54c48514c56d9173440da6fd5a7fb81
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/381.txt
@@ -0,0 +1,2 @@
+* Sinjalizim i dëgjueshëm (rënie të zilesh, për fillim thirrjeje, për mbarim thirrjeje) për thirrje zanore.
+* U ndreq problem me dështim riprovimi thirrjeje video
diff --git a/fastlane/metadata/android/sq/changelogs/382.txt b/fastlane/metadata/android/sq/changelogs/382.txt
new file mode 100644
index 0000000000000000000000000000000000000000..30f6a0275d2a9182c705f0248451ac68576d1e8e
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/382.txt
@@ -0,0 +1,2 @@
+* Shtim butoni për të ndërruar kamerën gjatë thirrjeje video
+* U ndreqën thirrje me zë në tablete
diff --git a/fastlane/metadata/android/sq/changelogs/383.txt b/fastlane/metadata/android/sq/changelogs/383.txt
new file mode 100644
index 0000000000000000000000000000000000000000..657191d83a881e5a28d0216c83868365f58e73da
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/383.txt
@@ -0,0 +1,3 @@
+* Kalim i ikonës së thirrjes në të majtë, për të mbajtur ikonat e paneleve të tjerë në një vend të qëndrueshëm
+* Shfaq kohëzgjatje thirrjeje gjatë thirrjesh audio
+* Ndërprerje komunikimi për thirrje A/V (të njëjtët dy persona që i bëjnë thirrje njëri-tjetrit në të njëjtën kohë)
diff --git a/fastlane/metadata/android/sq/changelogs/387.txt b/fastlane/metadata/android/sq/changelogs/387.txt
new file mode 100644
index 0000000000000000000000000000000000000000..23bb694eb007fb4648e0266c92f187c68911bbf2
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/387.txt
@@ -0,0 +1,2 @@
+* Ripunim i ndërfaqes për “Hyni me dëshmi”
+* Shtim aftësie për të fiksuar fjalosje në krye (shtoje te të parapëlqyer)
diff --git a/fastlane/metadata/android/sq/changelogs/388.txt b/fastlane/metadata/android/sq/changelogs/388.txt
new file mode 100644
index 0000000000000000000000000000000000000000..86ffab7a6d0e66bf88bb05848845784027929f80
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/388.txt
@@ -0,0 +1,3 @@
+* Zvogëlim jehone gjatë thirrjesh në disa pajisje
+* Ndreqje hyrjeje, kur fjalëkalimet përmbajnë shenja speciale
+* Luajtje tonesh për “rënie numri” dhe “i zënë” në altoparlant, gjatë thirrjesh video
diff --git a/fastlane/metadata/android/sq/changelogs/390.txt b/fastlane/metadata/android/sq/changelogs/390.txt
new file mode 100644
index 0000000000000000000000000000000000000000..9849d5da0ced36c9eebdc143fc6baa0219a779bb
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/390.txt
@@ -0,0 +1 @@
+* Ofrim regjistrimi mesazhi zanor, kur i thirruri është i zënë
diff --git a/fastlane/metadata/android/sq/changelogs/393.txt b/fastlane/metadata/android/sq/changelogs/393.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4f5a7d3c3e9081ea237a1c4b94c3a95a8657b54e
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/393.txt
@@ -0,0 +1,3 @@
+* Shfaqje butoni ndihme, nëse thirrja A/V dështon
+* U ndreqën disa vithisje të bezdisshme
+* U ndreqën lidhje Jingle (shpërngulje kartelash + thirrje) me JID-ra të zhveshura
diff --git a/fastlane/metadata/android/sq/changelogs/394.txt b/fastlane/metadata/android/sq/changelogs/394.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d4abc7a770d49cd699d5c37fa2fcf5e25398c89b
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/394.txt
@@ -0,0 +1,2 @@
+* U ndreq mosshfaqje njoftimesh nën disa kushte
+* U ndreqën probleme përputhshmërie dhe vithisje të lidhura me thirrje A/V
diff --git a/fastlane/metadata/android/sq/changelogs/395.txt b/fastlane/metadata/android/sq/changelogs/395.txt
new file mode 100644
index 0000000000000000000000000000000000000000..805779d989713da2c64df800145b6b64b3f2a121
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/395.txt
@@ -0,0 +1,3 @@
+* shtim “Kthehuni te fjalosje”, te skena e thirrjeve audio
+* Përmirësim shkurtoresh tastiere
+* ndreqje të metash
diff --git a/fastlane/metadata/android/sq/changelogs/397.txt b/fastlane/metadata/android/sq/changelogs/397.txt
new file mode 100644
index 0000000000000000000000000000000000000000..611099b0ee3facbc0fc9119bc9166c41eebcf7ce
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/397.txt
@@ -0,0 +1,3 @@
+* Shtim aftësie për trajtim kartelash GPX
+* Përmirësim funksionimi për rikthim me kopjeruajtje
+* ndreqje të metash
diff --git a/fastlane/metadata/android/sq/changelogs/398.txt b/fastlane/metadata/android/sq/changelogs/398.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4b1fccd3ad90696a55ee30271e8e1e9571b1f4d1
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/398.txt
@@ -0,0 +1,4 @@
+* Kërkim te biseda individuale
+* Njoftim përdoruesish, nëse dështon dërgimi i mesazhit
+* Mbajtje mend i emrave në ekran (nofkave) prej përdoruesish të Quicksy-t nga një rinisje në tjetrën
+* Shtim butoni për nisje të Orbot-it (Tor) që nga njoftim, në qoftë e nevojshme
diff --git a/fastlane/metadata/android/sq/changelogs/401.txt b/fastlane/metadata/android/sq/changelogs/401.txt
new file mode 100644
index 0000000000000000000000000000000000000000..af9886b3bdb42dbdf3635f13cb233239443af6ce
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/401.txt
@@ -0,0 +1,2 @@
+* u ndreq kërkim në Android <= 5
+* optimizim konsumi kujtese
diff --git a/fastlane/metadata/android/sq/changelogs/402.txt b/fastlane/metadata/android/sq/changelogs/402.txt
new file mode 100644
index 0000000000000000000000000000000000000000..3a0763bc8e630ed3919130e07d32d56c7e0f1e21
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/402.txt
@@ -0,0 +1,3 @@
+* Ofrim prodhimi Ftese të Kollajtë, për shërbyes që e mbulojnë
+* Shfaqje GIF-esh dërguar prej Movim
+* depozitim avatarësh në fshehtinë
diff --git a/fastlane/metadata/android/sq/changelogs/403.txt b/fastlane/metadata/android/sq/changelogs/403.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5c048809ad5eb6f6c443c84c6c155c48a8167d4d
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/403.txt
@@ -0,0 +1,3 @@
+* U ndreqën probleme lidhjeje, kur llogari të ndryshme përdornin mekanizma të ndryshëm SCRAM
+* Shtim mbulimi për SCRAM-SHA-512
+* Lejim shpërngulje kartelash P2P (Jingle) me kontakt veten
diff --git a/fastlane/metadata/android/sq/changelogs/404.txt b/fastlane/metadata/android/sq/changelogs/404.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ee060d51c989d407f9b687602d35d03c319457a3
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/404.txt
@@ -0,0 +1 @@
+* përmirësime të vockla qëndrueshmërie për thirrje A/V
diff --git a/fastlane/metadata/android/sq/changelogs/405.txt b/fastlane/metadata/android/sq/changelogs/405.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5d526d00b8fe3c4811ad35aee2b6800b2ad713c4
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/405.txt
@@ -0,0 +1 @@
+* Quicksy: Marrje e automatizuar SMS-je verifikimi
diff --git a/fastlane/metadata/android/sq/changelogs/407.txt b/fastlane/metadata/android/sq/changelogs/407.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7d06acadc5827d9bac1850ab1827addf570f8309
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/407.txt
@@ -0,0 +1,3 @@
+* Shfaq buton thirrjeje, për kontakte jo në linjë, nëse kanë deklaruar më parë mbulim të kësaj
+* Butoni “mbrapsht” nuk përfundon më thirrjen, kur thirrja është e lidhur
+* ndreqje të metash
diff --git a/fastlane/metadata/android/sq/changelogs/42000.txt b/fastlane/metadata/android/sq/changelogs/42000.txt
new file mode 100644
index 0000000000000000000000000000000000000000..12a86887112afa1e588f4b9b848772569d12e13f
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/42000.txt
@@ -0,0 +1,4 @@
+* Aftësi për të përzgjedhur zilen për thirrje ardhëse
+* Ndreqje pikasjeje ID-je kyçi OpenPGP për OpenKeychain 5.6+
+* Verifikim si duhet dëshmish TLS punycode
+* Përmirësim qëndrueshmërie vendosjeje sesioni RTP (thirrje)
diff --git a/fastlane/metadata/android/sq/changelogs/42006.txt b/fastlane/metadata/android/sq/changelogs/42006.txt
new file mode 100644
index 0000000000000000000000000000000000000000..184483c2868f71786a2394a51596ac8b9817907f
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/42006.txt
@@ -0,0 +1,2 @@
+* Verifikim thirrjesh A/V me sesioni OMEMO që ekzistojnë që më parë
+* Përmirësim përputhshmërie me sendërtime WebRTC jo të bazuara libwebrt
diff --git a/fastlane/metadata/android/sq/changelogs/42010.txt b/fastlane/metadata/android/sq/changelogs/42010.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0b861e242b6e446772e679ea57b703a9544699cf
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/42010.txt
@@ -0,0 +1,2 @@
+* Ndreqje të metash të ndryshme që lidhen me mbulim Tor-i
+* Përmirësim përputhshmërie thirrjesh me Dino
diff --git a/fastlane/metadata/android/sq/changelogs/42012.txt b/fastlane/metadata/android/sq/changelogs/42012.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c7bc07f2b8c5005e5e6542acbc54415626f9d5f4
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/42012.txt
@@ -0,0 +1 @@
+* Ndreqje ngarkimesh/shkarkime HTTP për përdorues që nuk besojnë AD-ra sistemi
diff --git a/fastlane/metadata/android/sq/changelogs/42013.txt b/fastlane/metadata/android/sq/changelogs/42013.txt
new file mode 100644
index 0000000000000000000000000000000000000000..8ee028730267ba19f87b9d87ffa8dbef068df03e
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/42013.txt
@@ -0,0 +1 @@
+* U ndreqën probleme “S’ka Lidhje”, për Android 7.1
diff --git a/fastlane/metadata/android/sq/changelogs/42014.txt b/fastlane/metadata/android/sq/changelogs/42014.txt
new file mode 100644
index 0000000000000000000000000000000000000000..7604d0749900eebc74ee308de6863cbc9d3679ca
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/42014.txt
@@ -0,0 +1,2 @@
+* Verifikim përherë i emrit të përkatësisë. Pa mbishkrim përdoruesi
+* Mbulim për mirëfilltësim paraprak liste përdoruesish
diff --git a/fastlane/metadata/android/sq/changelogs/42015.txt b/fastlane/metadata/android/sq/changelogs/42015.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fb51e49f76ac2ed801e1cbe463592e6dd64740ad
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/42015.txt
@@ -0,0 +1 @@
+* përmirësime të vockla A/V
diff --git a/fastlane/metadata/android/sq/changelogs/42018.txt b/fastlane/metadata/android/sq/changelogs/42018.txt
new file mode 100644
index 0000000000000000000000000000000000000000..125dc4b610b8fec4da0e457ccbd2948244c3c71a
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/42018.txt
@@ -0,0 +1,3 @@
+* Shfaq shtylla të zeza, kur videoja nga larg nuk përputhet me përpjesëtimet e ekranit
+* Përmirësim funksionimi kërkimi
+* Shtim rregullimi për parandalim fotosh ekrani
diff --git a/fastlane/metadata/android/sq/changelogs/42022.txt b/fastlane/metadata/android/sq/changelogs/42022.txt
new file mode 100644
index 0000000000000000000000000000000000000000..281589a649b803e2e1dc714f73bf7b512ca14ceb
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/42022.txt
@@ -0,0 +1,2 @@
+* Ndreqje problemi moskryerje ngjeshjeje për disa nga videot
+* Ndreqje vithisjeje të rrallë, kur hapet njoftim
diff --git a/fastlane/metadata/android/sq/changelogs/42023.txt b/fastlane/metadata/android/sq/changelogs/42023.txt
new file mode 100644
index 0000000000000000000000000000000000000000..61b5672af927dfa1ca2961c693db8f757feff38b
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/42023.txt
@@ -0,0 +1,2 @@
+* Ndreqje vithisjeje, kur shfaqen disa lloje thonjëzash
+* Ndreqje vithisjeje te skena e mirëseardhjes
diff --git a/fastlane/metadata/android/sq/changelogs/42037.txt b/fastlane/metadata/android/sq/changelogs/42037.txt
new file mode 100644
index 0000000000000000000000000000000000000000..35e334aad83fcb77dac95650d719060ac9f34833
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/42037.txt
@@ -0,0 +1,8 @@
+Version 2.10.9
+* Kërko leje Bluetooth, kur bëhen thirrje A/V (Mund ta hidhni tej këtë, nëse s’përdorni kufje Bluetooth me mikrofon)
+* Ndreqje të mete, kur thirret dikush në Movim
+* Ndreqje shfaqjeje avatari gabim për fjalosje në grup
+* Pyet përherë për lënie jashtë optimizimesh për baterinë
+* Vendosje flamurke “vetëm vendore” për njoftime “x llogari të lidhura”
+* Ndreqje ndërveprimi me shtojcën Google Maps Share Location Plugin
+* Heqje poshtëshënimi lidhur me tarifa shërbyesi
diff --git a/fastlane/metadata/android/sq/changelogs/42038.txt b/fastlane/metadata/android/sq/changelogs/42038.txt
new file mode 100644
index 0000000000000000000000000000000000000000..32d84634b778a0137c1033d9691a029573dda3fb
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/42038.txt
@@ -0,0 +1,2 @@
+* Ndreqje të metash të vockla
+* Rikthim i aftësisë për të bërë thirrje përmes JMP-je dhe shërbimesh të tjera (versioni në Playstore)
diff --git a/fastlane/metadata/android/sq/changelogs/42041.txt b/fastlane/metadata/android/sq/changelogs/42041.txt
new file mode 100644
index 0000000000000000000000000000000000000000..65f27b7e21a722753e8f3bbf4d9693eb3acc63af
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/42041.txt
@@ -0,0 +1,5 @@
+* Sendërtim profili Implement Extensible SASL, Bind 2.0 dhe Fast, për rilidhje më të shpejta
+* Sendërtim i “channel binding”
+* Shtim aftësie për të kaluar nga thirrje audio në thirrje video
+* Shtim aftësie për të fshirë avatarin e vetes
+* Shtim njoftimi për thirrje të humbura
diff --git a/fastlane/metadata/android/sq/changelogs/42042.txt b/fastlane/metadata/android/sq/changelogs/42042.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bbdd9377232aa615b39ecbf859daf6d4b0b92af7
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/42042.txt
@@ -0,0 +1,2 @@
+* Ndreqje qerthulli ridërgimi në shërbyes që mbulojnë vetëm sm:2
+* “Kalo në video” shfaqe vetëm nëse pala tjetër mbulon video
diff --git a/fastlane/metadata/android/sq/changelogs/42043.txt b/fastlane/metadata/android/sq/changelogs/42043.txt
new file mode 100644
index 0000000000000000000000000000000000000000..af4821614a58d43c693825530cbd0a7aca282a9d
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/42043.txt
@@ -0,0 +1 @@
+* Ndreqje prapakthimi në shpërngulje P2P kartelash
diff --git a/fastlane/metadata/android/sq/changelogs/42044.txt b/fastlane/metadata/android/sq/changelogs/42044.txt
new file mode 100644
index 0000000000000000000000000000000000000000..6fa07e806a1b3b06079f979d31515ee5cd3494b9
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/42044.txt
@@ -0,0 +1,3 @@
+* Ndreqje dërgim sërish i mesazheve, kur përdoret SASL2
+* Ndreqje nxirje të videos mes disa pajisjesh
+* Ndreqje vithisje kur jepen fjalëkalime të zbrazët
diff --git a/fastlane/metadata/android/sq/changelogs/42046.txt b/fastlane/metadata/android/sq/changelogs/42046.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e4f28ef07090a9efd88be3a70f5a426c37ce98fb
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/42046.txt
@@ -0,0 +1 @@
+* Integrim “UnifiedPush Distributor” për të lehtësuar mesazhe push për te aplikacione të tjerë që munden të përdorin UnifiedPush, bie fjala, Tusky dhe Fedilab
diff --git a/fastlane/metadata/android/sq/changelogs/42047.txt b/fastlane/metadata/android/sq/changelogs/42047.txt
new file mode 100644
index 0000000000000000000000000000000000000000..d26dd71bb6e6eb4110f6eb45f44eea70b0666ab0
--- /dev/null
+++ b/fastlane/metadata/android/sq/changelogs/42047.txt
@@ -0,0 +1 @@
+* Ndreqje vithisjeje te UnifiedPush Distributor
diff --git a/fastlane/metadata/android/sq/full_description.txt b/fastlane/metadata/android/sq/full_description.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f6f03b1513984e54293cbc4cd04fcc3ee0ab9cef
--- /dev/null
+++ b/fastlane/metadata/android/sq/full_description.txt
@@ -0,0 +1,39 @@
+I kollajtë për t’u përdorur, i qëndrueshëm, dashamirës ndaj baterisë. Me mbulim së brendshmi për figura, fjalosje në grup dhe fshehtëzim e2e.
+
+Parime konceptuale:
+
+* Të qenët aq i bukur dhe i lehtë për përdorim sa mundet, pa sakrifikuar sigurinë ose privatësinë
+* Bazim në protokolle ekzistues, të mirënjohur
+* Mospasje nevojë për një Google Account, ose, posaçërisht Google Cloud Messaging (GCM)
+* Kërkim i sa më pak lejesh që të jetë e mundur
+
+Veçori:
+
+* Fshehtëzim skaj-më-skaj me OMEMO, ose OpenPGP
+* Dërgim dhe marrje mesazhesh
+* Thirrje të fshehtëzuara audio dhe video (DTLS-SRTP)
+* UI intuitive që ndjek udhëzimet Android Design
+* Foto / Avatarë të Kontakteve tuaja
+* Njëkohësim me klient desktop
+* Konferenca (me mbulim për faqerojtës)
+* Integrim libri adresash
+* Llogari të shumta / kuti e unifikuar të marrësh
+* Ndikim shumë i pakët në jetëgjatësinë e baterisë
+
+Conversations e bën shumë të lehtë krijimin e një llogarie te shërbyesi falas conversations.im. Megjithatë, Conversations do të funksionojë me çfarëdo shërbyesi tjetër XMPP. Plot shërbyes XMPP mbahen në punë nga vullnetarë dhe janë pa pagesë
+
+Veçori të XMPP-së:
+
+Conversations funksionon me çdo shërbyes XMPP në qarkullim. Megjithatë, XMPP është një protokoll i zgjerueshëm. Edhe këto zgjerime janë të standardizuara në të ashtuquajturit XEP-e. Conversations mbulon një a dy prej tyre, për ta bërë punën e përdoruesit më të mirë në përgjithësi. Ka një mundësi që shërbyesi juaj aktual XMPP të mos i mbulojë këto zgjerime. Ndaj, që të përfitoni maksimumin nga Conversations, duhet të shihni mundësi ose të kaloni te një shërbyes XMPP që i mbulon, ose - akoma më mirë - të vini në punë shërbyesin tuaj XMPP për ju dhe shokët tuaj.
+
+Këto XEP-e janë - deri sot:
+
+* XEP-0065: SOCKS5 Bytestreams (ose mod_proxy65). Do të përdoret për të shpërngulur kartela, nëse të dy palët gjenden pas një firewall-i (NAT).
+* XEP-0163: Personal Eventing Protocol, për avatarë
+* XEP-0191: Urdhri i bllokimeve ju lejon të kaloni në listë bllokimesh llogari që dërgojnë mesazhe të padëshiruar, ose të bllokoni kontakte pa i hequr nga lista juaj.
+* XEP-0198: Stream Management i lejon XMPP-së të mbijetojë ndërprerje të vockla rrjeti dhe ndryshime te lidhja përkatëse TCP.
+* XEP-0280: Message Carbons do të njëkohësojë automatikisht te klienti juaj desktop mesazhet që dërgoni dhe, pra, ju lejon të kaloni pa një cen nga klienti juaj për celular në atë për desktop dhe anasjelltas, brenda një bisede.
+* XEP-0237: Roster Versioning kryesisht për të kursyer sasi trafiku në lidhje celulare të dobëta
+* XEP-0313: Message Archive Management njëkohëson historik mesazhesh me shërbyesin. Ndiqni mesazhet që qenë dërguar ndërkohë që Conversations s’qe në linjë.
+* XEP-0352: Client State Indication i lejon shërbyesit të dijë nëse është apo jo në prapaskenë Conversations. I lejon shërbyesit të kursejë sasi trafiku, duke mbajtur paketa pa rëndësi.
+* XEP-0363: HTTP File Upload ju lejon të ndani me të tjerë kartela në konferenca dhe me kontakte jo në linjë. Lyp një përbërë shtesë në shërbyesin tuaj.
diff --git a/fastlane/metadata/android/sq/short_description.txt b/fastlane/metadata/android/sq/short_description.txt
new file mode 100644
index 0000000000000000000000000000000000000000..bec029626c7d0c60640e15335ee66033fce51217
--- /dev/null
+++ b/fastlane/metadata/android/sq/short_description.txt
@@ -0,0 +1 @@
+Shkëmbyes XMPP mesazhesh aty për aty, i fshehtëzuar, i kollajtë, për celular
diff --git a/fastlane/metadata/android/sv-SE/changelogs/360.txt b/fastlane/metadata/android/sv-SE/changelogs/360.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ac91103f8839ccfab671754884132ba69fefe38d
--- /dev/null
+++ b/fastlane/metadata/android/sv-SE/changelogs/360.txt
@@ -0,0 +1 @@
+* Stöd för XMPP-uri-parametrarna ?register och ?register;preauth
diff --git a/fastlane/metadata/android/sv-SE/changelogs/362.txt b/fastlane/metadata/android/sv-SE/changelogs/362.txt
new file mode 100644
index 0000000000000000000000000000000000000000..04a164c57a9af5f820c9ff20639c50b1f0d524a9
--- /dev/null
+++ b/fastlane/metadata/android/sv-SE/changelogs/362.txt
@@ -0,0 +1 @@
+* Stöd för automatisk tema-byte på Android 10
diff --git a/fastlane/metadata/android/sv-SE/changelogs/364.txt b/fastlane/metadata/android/sv-SE/changelogs/364.txt
new file mode 100644
index 0000000000000000000000000000000000000000..64803c6ccd2a24906c96df4fba7aa88ab02611e0
--- /dev/null
+++ b/fastlane/metadata/android/sv-SE/changelogs/364.txt
@@ -0,0 +1,2 @@
+* PDF-förhandsvisning på Android 5+
+* Använd 12-bitars IV:s för OMEMO
diff --git a/fastlane/metadata/android/sv-SE/changelogs/367.txt b/fastlane/metadata/android/sv-SE/changelogs/367.txt
new file mode 100644
index 0000000000000000000000000000000000000000..56be092a2ad4737b17e6f99ca3609f6ecc403705
--- /dev/null
+++ b/fastlane/metadata/android/sv-SE/changelogs/367.txt
@@ -0,0 +1,2 @@
+* Fix för avatar-val på vissa Android 10-enheter
+* Fix för överföring av större filer
diff --git a/fastlane/metadata/android/sv-SE/changelogs/379.txt b/fastlane/metadata/android/sv-SE/changelogs/379.txt
new file mode 100644
index 0000000000000000000000000000000000000000..2b471fc7121aba02614e012a2e85efb5f4b00295
--- /dev/null
+++ b/fastlane/metadata/android/sv-SE/changelogs/379.txt
@@ -0,0 +1 @@
+* Ljud- och bildsamtal (Kräver serverstöd i form av STUN- och TURN-servrar som kan hittas via XEP-0215)
diff --git a/fastlane/metadata/android/sv-SE/changelogs/381.txt b/fastlane/metadata/android/sv-SE/changelogs/381.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e34071679d6f82cf434f0f51519742175925ae6f
--- /dev/null
+++ b/fastlane/metadata/android/sv-SE/changelogs/381.txt
@@ -0,0 +1,2 @@
+* Ljudsignaler för ljudsamtal (uppringning, samtal startat och samtal avslutat)
+* Fix för problem med återuppringning vid misslyckat videosamtal
diff --git a/fastlane/metadata/android/sv-SE/changelogs/382.txt b/fastlane/metadata/android/sv-SE/changelogs/382.txt
new file mode 100644
index 0000000000000000000000000000000000000000..949e8e9d36319387b186121eb12daca30ccf18ad
--- /dev/null
+++ b/fastlane/metadata/android/sv-SE/changelogs/382.txt
@@ -0,0 +1,2 @@
+* Knapp för att byta kamera under videosamtal
+* Fix för röstsamtal på plattor
diff --git a/fastlane/metadata/android/sv-SE/full_description.txt b/fastlane/metadata/android/sv-SE/full_description.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c02bd4912c0f7ad4a8487a5f1360fd11f9d13c19
--- /dev/null
+++ b/fastlane/metadata/android/sv-SE/full_description.txt
@@ -0,0 +1,39 @@
+Lättanvänd, pålitlig och batterivänlig. Med inbyggt stöd för bilder, gruppchatt och totalsträckskryptering (end-to-end-kryptering).
+
+Designprinciper:
+
+* Vara så snygg och lättanvänd som möjligt utan att offra säkerhet eller personlig integritet
+* Bygga på väletablerade existerande protokoll
+* Inte kräva ett Google-konto eller specifikt Google Cloud Messaging (GCM)
+* Kräva så få behörigheter som möjligt
+
+Funktioner:
+
+* Totalsträckskryptering (end-to-end-kryptering) med antingen OMEMO eller OpenPGP
+* Skicka och ta emot bilder
+* Krypterade ljud- och bildsamtal (DTLS-SRTP)
+* Intuitivt användargränssnitt som följder Androids designriktlinjer
+* Bilder eller avatarer för dina kontakter
+* Synkroniserar med din skrivbordsklient
+* Konferenser (med stöd för bokmärken)
+* Integration med adressboken
+* Stöd för flera konton, med delan inkorg
+* Väldigt liten påverkan på batteriets livstid
+
+Med Conversations kan du lätt skapa ett konto på den fria servern conversations.im. Men Conversations fungerar med vilken annan XMPP-server som helst. Många XMPP-servrar drivs av volontärer och är gratis att använda.
+
+XMPP-funktioner:
+
+Conversations fungerar med alla XMPP-servrar. Men XMPP är ett utbyggbart protokoll. Dessa tillägg är också standardiserade i så kallade XEP’s. Conversations stödjer vissa av dessa tillägg för att göra den övergripande användarupplevelsen bättre. Det kan hända att din XMPP-server inte har stöd för dessa tillägg. För att få ut det mesta av Conversations bör du överväga att antingen byta till en XMPP-server som har stöd, eller - ännu bättre - kör din egen XMPP-server för dig och dina vänner!
+
+De XEP-tillägg som stöds är:
+
+* XEP-0065: SOCKS5 Bytestreams (or mod_proxy65). Används för filöverföring om båda parter är bakom en brandvägg (NAT).
+* XEP-0163: Personal Eventing Protocol för avatarer
+* XEP-0191: Blocking command låter dig svartlista spammare eller blocka kontakter utan att ta bort dem
+* XEP-0198: Stream Management låter XMPP att klara av mindre nätverksavbrott och förändringar i den underliggande TCP-anslutningen
+* XEP-0280: Message Carbons som automatiskt synkar meddelanden till din skrivbordsklient och på så viss gör det möjligt att växla sömlöst från din mobil till skrivbordsklient och tillbaka inom en och samma konversation
+* XEP-0237: Roster Versioning för att spara bandbredd vid dåliga mobilanslutningar
+* XEP-0313: Message Archive Management synkronisera meddelandehistorik med server. Läs meddelanden som sänts medan Conversations var off line.
+* XEP-0352: Client State Indication låter servern veta om Conversations är körs i bakgrunden eller inte. Det gör att servern kan spara bandbredd genom att inte skicka oviktiga paket.
+* XEP-0363: HTTP File Upload låter dig dela filer i konferenser med offline-kontakter. Det kräver ett tillägg på din server.
diff --git a/fastlane/metadata/android/sv-SE/short_description.txt b/fastlane/metadata/android/sv-SE/short_description.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0177c6fe2657e56f740bb7577530a382d853666b
--- /dev/null
+++ b/fastlane/metadata/android/sv-SE/short_description.txt
@@ -0,0 +1 @@
+Krypterad lättanvänd XMPP-meddelandeapp för din mobil
diff --git a/fastlane/metadata/android/zh-TW/changelogs/397.txt b/fastlane/metadata/android/zh-TW/changelogs/397.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0575a7378de8ad67370e96229cbcf843b381ca85
--- /dev/null
+++ b/fastlane/metadata/android/zh-TW/changelogs/397.txt
@@ -0,0 +1,3 @@
+* 處理 GPX 檔案
+* 改善備份與還原的效能
+* 錯誤修正
diff --git a/fastlane/metadata/android/zh-TW/changelogs/42047.txt b/fastlane/metadata/android/zh-TW/changelogs/42047.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a63fcf276e57a052a7282b279a444f235fea9c1b
--- /dev/null
+++ b/fastlane/metadata/android/zh-TW/changelogs/42047.txt
@@ -0,0 +1 @@
+* 修正 UnifiedPush 散發者當機
diff --git a/fastlane/metadata/android/zh-TW/changelogs/42050.txt b/fastlane/metadata/android/zh-TW/changelogs/42050.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5e10020c620e191e4dce36a28b7196ee5fbf2247
--- /dev/null
+++ b/fastlane/metadata/android/zh-TW/changelogs/42050.txt
@@ -0,0 +1 @@
+* 增加設定檔圖片的圓角半徑
diff --git a/fastlane/metadata/android/zh-TW/full_description.txt b/fastlane/metadata/android/zh-TW/full_description.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0e9114c98bda9640c41f1dd6b04636afcd70f52c
--- /dev/null
+++ b/fastlane/metadata/android/zh-TW/full_description.txt
@@ -0,0 +1,39 @@
+易於使用、可靠、省電,且帶有內建圖像支援、群組聊天和端對端加密的 XMPP 用戶端。
+
+設計原則:
+
+* 在不犧牲安全或隱私權的前提下,盡可能地保持美觀性和易用性
+* 仰賴現存的、已建立的通訊協定
+* 不需要 Google 帳戶或特別的 Google 雲端訊息 (GCM)
+* 需要少量可能的權限
+
+功能:
+
+* OMEMO 或 OpenPGP 端對端加密
+* 傳送並接收圖像
+* 加密的音訊和視訊通話 (DTLS-SRTP)
+* 依循 Android 設計指南的直覺化 UI
+* 為您的聯絡人顯示圖片/ 頭像
+* 與桌面用戶端同步
+* 會議 (書籤支援)
+* 通訊錄整合
+* 多個帳戶/整合收件匣
+* 對電池壽命的極低影響
+
+Conversations 使在免費的 conversations.im 伺服器上建立一個帳戶變得極為輕易。然而 Conversations 也可在其他 XMPP 伺服器上運作,很多 XMPP 伺服器是由志工驅動的,並且完全免費。
+
+XMPP 功能:
+
+Conversations 可以在所有 XMPP 伺服器上運作。然而,XMPP 是一個可以擴充的通訊協定,這些擴充功能在所謂的 XEP 中也是標準化的。Conversations 支援其中的幾個,已使使用者體驗更佳。有可能您目前的 XMPP 伺服器並不支援這些擴充功能,因此,為了最大限度的發揮 Conversations 的作用,您應該考慮切換到一個支援這些擴充功能的 XMPP 伺服器,或者甚至更好——為您和您的朋友驅動您自己的 XMPP 伺服器。
+
+如下 XEP - 截止目前:
+
+* XEP-0065:SOCKS5 位元資料流 (或 mod_proxy65),將被用於傳輸檔案,如果雙方都在防火牆之後 (NAT)。
+* XEP-0163:用於虛擬化身的私人活動通訊協定
+* XEP-0191:封鎖命令可讓您將濫發垃圾郵件者列入黑名單,或封鎖聯絡人而不把他們從名冊中移除。
+* XEP-0198:串流管理允許 XMPP 在小型網路中斷和基礎 TCP 連線的變更中生存。
+* XEP-0280:訊息副本,自動將您傳送的訊息同步至桌面用戶端,從而允許您在一次會話中從您的行動用戶端無縫切換到您的桌面用戶端。
+* XEP-0237:名冊版本管理,主要是為了節省行動連線不佳時的頻寬。
+* XEP-0313:訊息封存管理將訊息記錄與伺服器同步,隨時掌握離線傳送的訊息。
+* XEP-0352:用戶端狀態指示可讓伺服器知道 Conversations 是否在背景,允許伺服器透過扣留不必要的封裝來節省頻寬。
+* XEP-0363:HTTP 檔案上傳允許您在會議中或與離線聯絡人分享檔案,需要在您的伺服器上有一個額外的元件。
diff --git a/fastlane/metadata/android/zh-TW/short_description.txt b/fastlane/metadata/android/zh-TW/short_description.txt
new file mode 100644
index 0000000000000000000000000000000000000000..06e14ddbe99f784cd8ae95cfafc8c4792f1eec13
--- /dev/null
+++ b/fastlane/metadata/android/zh-TW/short_description.txt
@@ -0,0 +1 @@
+可加密、易於使用的 XMPP 即時訊息,為您的行動裝置設計
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 6446094ffcff349e853f5a3f253e80e6aa44e22b..528419fe6467c1878c33e7a29da3df070ce0f20a 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionSha256Sum=cd5c2958a107ee7f0722004a12d0f8559b4564c34daad7df06cffd4d12a426d0
+distributionSha256Sum=97a52d145762adc241bad7fd18289bf7f6801e08ece6badf80402fe2b9f250b1
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
diff --git a/src/cheogram/aidl/android/service/euicc/ICarrierEuiccProvisioningService.aidl b/src/cheogram/aidl/android/service/euicc/ICarrierEuiccProvisioningService.aidl
new file mode 100644
index 0000000000000000000000000000000000000000..fc73cb0f223133bcf8492e06466a485942622058
--- /dev/null
+++ b/src/cheogram/aidl/android/service/euicc/ICarrierEuiccProvisioningService.aidl
@@ -0,0 +1,8 @@
+package android.service.euicc;
+
+import android.service.euicc.IGetActivationCodeCallback;
+
+interface ICarrierEuiccProvisioningService {
+ void getActivationCode(in IGetActivationCodeCallback callback);
+ void getActivationCodeForEid(in String eid, in IGetActivationCodeCallback callback);
+}
diff --git a/src/cheogram/aidl/android/service/euicc/IGetActivationCodeCallback.aidl b/src/cheogram/aidl/android/service/euicc/IGetActivationCodeCallback.aidl
new file mode 100644
index 0000000000000000000000000000000000000000..6b8c76c8d041059d0579e1238a94bc352ae954c2
--- /dev/null
+++ b/src/cheogram/aidl/android/service/euicc/IGetActivationCodeCallback.aidl
@@ -0,0 +1,6 @@
+package android.service.euicc;
+
+interface IGetActivationCodeCallback {
+ oneway void onSuccess(String activationCode);
+ oneway void onFailure();
+}
diff --git a/src/cheogram/java/com/cheogram/android/ConversationPage.java b/src/cheogram/java/com/cheogram/android/ConversationPage.java
index e37ae1e1bc2da1479c5c956e0d0afa8e1e94be34..79a21d7e5c5397e4bef92224220563535d628368 100644
--- a/src/cheogram/java/com/cheogram/android/ConversationPage.java
+++ b/src/cheogram/java/com/cheogram/android/ConversationPage.java
@@ -3,7 +3,7 @@ package com.cheogram.android;
import android.content.Context;
import android.view.View;
-import eu.siacs.conversations.utils.Consumer;
+import androidx.core.util.Consumer;
public interface ConversationPage {
public String getTitle();
diff --git a/src/cheogram/java/com/cheogram/android/SwipeDetector.java b/src/cheogram/java/com/cheogram/android/SwipeDetector.java
index 30507f21947d44e84cf785f4a1e4e5f6fdaac3b5..d09da1fb3a3cd264b032d8576047919057b8288c 100644
--- a/src/cheogram/java/com/cheogram/android/SwipeDetector.java
+++ b/src/cheogram/java/com/cheogram/android/SwipeDetector.java
@@ -4,7 +4,7 @@ import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
-import eu.siacs.conversations.utils.Consumer;
+import androidx.core.util.Consumer;
// https://stackoverflow.com/a/41766670/8611
/**
diff --git a/src/cheogram/java/com/cheogram/android/WebxdcPage.java b/src/cheogram/java/com/cheogram/android/WebxdcPage.java
index 66390d91063fec7cfdfabd18db7e2153e31b9b99..747021e038b900ebbb46b8a49a221569e1ac3810 100644
--- a/src/cheogram/java/com/cheogram/android/WebxdcPage.java
+++ b/src/cheogram/java/com/cheogram/android/WebxdcPage.java
@@ -32,6 +32,7 @@ import androidx.core.content.ContextCompat;
import androidx.core.content.pm.ShortcutInfoCompat;
import androidx.core.content.pm.ShortcutManagerCompat;
import androidx.core.graphics.drawable.IconCompat;
+import androidx.core.util.Consumer;
import androidx.databinding.DataBindingUtil;
import com.google.common.io.ByteStreams;
@@ -63,7 +64,6 @@ import eu.siacs.conversations.entities.Message;
import eu.siacs.conversations.persistance.FileBackend;
import eu.siacs.conversations.services.XmppConnectionService;
import eu.siacs.conversations.ui.ConversationsActivity;
-import eu.siacs.conversations.utils.Consumer;
import eu.siacs.conversations.utils.MimeUtils;
import eu.siacs.conversations.utils.UIHelper;
import eu.siacs.conversations.xml.Element;
diff --git a/src/cheogram/java/eu/siacs/conversations/ui/ManageAccountActivity.java b/src/cheogram/java/eu/siacs/conversations/ui/ManageAccountActivity.java
index 71ab1a5ea1b165e44565c434316bddcf827c3fe2..2a54ed633ae6b1f9342f6e27d7ab206e7cbd8f04 100644
--- a/src/cheogram/java/eu/siacs/conversations/ui/ManageAccountActivity.java
+++ b/src/cheogram/java/eu/siacs/conversations/ui/ManageAccountActivity.java
@@ -439,23 +439,6 @@ public class ManageAccountActivity extends XmppActivity implements OnAccountUpda
}
}
- private void deleteAccount(final Account account) {
- final AlertDialog.Builder builder = new AlertDialog.Builder(this);
- builder.setTitle(getString(R.string.mgmt_account_are_you_sure));
- builder.setIconAttribute(android.R.attr.alertDialogIcon);
- builder.setMessage(getString(R.string.mgmt_account_delete_confirm_text));
- builder.setPositiveButton(getString(R.string.delete),
- (dialog, which) -> {
- xmppConnectionService.deleteAccount(account);
- selectedAccount = null;
- if (xmppConnectionService.getAccounts().size() == 0 && Config.MAGIC_CREATE_DOMAIN != null) {
- WelcomeActivity.launch(this);
- }
- });
- builder.setNegativeButton(getString(R.string.cancel), null);
- builder.create().show();
- }
-
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
diff --git a/src/conversations/java/eu/siacs/conversations/ui/ManageAccountActivity.java b/src/conversations/java/eu/siacs/conversations/ui/ManageAccountActivity.java
index 6aecf4b26faaf601f37152dcd3fdfb48ecd50442..888a1f13ec82b69f1bac7dc0b539fba076c19a8a 100644
--- a/src/conversations/java/eu/siacs/conversations/ui/ManageAccountActivity.java
+++ b/src/conversations/java/eu/siacs/conversations/ui/ManageAccountActivity.java
@@ -12,6 +12,8 @@ import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView.AdapterContextMenuInfo;
+import android.widget.Button;
+import android.widget.CheckBox;
import android.widget.ListView;
import android.widget.Toast;
@@ -196,6 +198,12 @@ public class ManageAccountActivity extends XmppActivity implements OnAccountUpda
}
}
+ @Override
+ protected void deleteAccount(final Account account) {
+ super.deleteAccount(account);
+ this.selectedAccount = null;
+ }
+
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (MenuDoubleTabUtil.shouldIgnoreTap()) {
@@ -368,22 +376,6 @@ public class ManageAccountActivity extends XmppActivity implements OnAccountUpda
}
}
- private void deleteAccount(final Account account) {
- final AlertDialog.Builder builder = new AlertDialog.Builder(this);
- builder.setTitle(getString(R.string.mgmt_account_are_you_sure));
- builder.setIconAttribute(android.R.attr.alertDialogIcon);
- builder.setMessage(getString(R.string.mgmt_account_delete_confirm_text));
- builder.setPositiveButton(getString(R.string.delete),
- (dialog, which) -> {
- xmppConnectionService.deleteAccount(account);
- selectedAccount = null;
- if (xmppConnectionService.getAccounts().size() == 0 && Config.MAGIC_CREATE_DOMAIN != null) {
- WelcomeActivity.launch(this);
- }
- });
- builder.setNegativeButton(getString(R.string.cancel), null);
- builder.create().show();
- }
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
diff --git a/src/conversations/res/values-ar/strings.xml b/src/conversations/res/values-ar/strings.xml
index 7d44818a72f347631896cbc0b4d223c58e499a20..6483bc9dffc73d16a53efca7d8d0a6faf0eb424a 100644
--- a/src/conversations/res/values-ar/strings.xml
+++ b/src/conversations/res/values-ar/strings.xml
@@ -3,18 +3,18 @@
اختر مزود خدمة XMPP الخاص بكاستخدِم conversations.imأنشئ حسابًا جديدًا
- هل تملك حساب XMPP؟؟ قد يكون ذلك ممكنا لو كنت تستعمل خدمة XMPP أخرى أو إستعملت تطبيق كونفرسايشنز سابقا. أو يمكنك صنع حساب XMPP جديد الآن.
-ملاحظة: بعض خدمات البريد الإلكتروني تقدم حسابات XMPP.
- XMPP هي خدمة مستقلة للتواصل بشبكة الرسائل المباشرة. يمكنك إستعمال هذه الخدمة مع أي خادم XMPP تختاره.
-سعيا لراحتك جعلنا خلق حساب في كونفيرسايشنز سهلا مع مقدم خدمة خاص بالإستعمال مع كونفيرسايشنز.
- لقد تمت دعوتك لـ %1$s. سيتم دلّك على طريقة صنع حساب.
-عندما تختار %1$sكمقدّم خدمة سيصبح من الممكن لك التواصل مع مستعملين من أي خادم آخر عن طريق إعطائهم عنوانك الكامل على XMPP.
- تمّت دعوتك إلى %1$s. تم إختيار إسم مستخدم خاص بك. سيتم قيادتك عبر طريقة صنع حساب.
-سيمكنك التواصل مع مستخدمين من مزودين آخرين عبر إعطائهم كامل عنوانك XMPP.
+ هل تملك حساب XMPP؟؟ قد يكون ذلك ممكنا لو كنت تستعمل خدمة XMPP أخرى أو إستعملت تطبيق Conversations سابقا. أو يمكنك صنع حساب XMPP جديد الآن.
+\nملاحظة: بعض خدمات البريد الإلكتروني تقدم حسابات XMPP.
+ XMPP هو مزود مستقل لشبكة المراسلة الفورية. يمكنك استخدام هذا العميل مع أي خادم XMPP تختاره.
+\nولكن من أجل راحتك ، فقد جعلنا من السهل إنشاء حساب على موقع chat. مزود مناسب بشكل خاص للاستخدام مع المحادثات.
+ لقد تمت دعوتك إلى%1$s. سنوجهك خلال عملية إنشاء حساب.
+\nعند اختيار%1$s كموفر ، ستتمكن من التواصل مع مستخدمي مقدمي الخدمات الآخرين من خلال منحهم عنوان XMPP الكامل الخاص بك.
+ لقد تمت دعوتك إلى%1$s. تم بالفعل اختيار اسم مستخدم لك. سنوجهك خلال عملية إنشاء حساب.
+\nستتمكن من التواصل مع مستخدمي مقدمي الخدمات الآخرين من خلال منحهم عنوان XMPP الكامل الخاص بك.سيرفر دعوتكلم يتم التقاط الكود بطريقة جيّدةإضغط على زر مشاركة لترسل إلى المتصل بك دعوة إلى %1$s.إذا كان المتصل بك قريبا منك، يمكنه فحص الكود بالأسفل ليقبل دعوتك.إنظم %1$s وتحدّث معي: %2$s
- شارك إستدعاء مع...
+ شارك الدعوة مع…
\ No newline at end of file
diff --git a/src/conversations/res/values-da-rDK/strings.xml b/src/conversations/res/values-da-rDK/strings.xml
index fb5992a1b8c19d3182982ad3fc1a3a302437052e..f79a920780a8587b9665e6f22dc324fbeda0048c 100644
--- a/src/conversations/res/values-da-rDK/strings.xml
+++ b/src/conversations/res/values-da-rDK/strings.xml
@@ -1,6 +1,6 @@
- Vælg din XMPP-udbyder
+ Vælg din XMPP udbyderBrug conversations.imOpret ny kontoHar du allerede en XMPP-konto? Dette kan være tilfældet, hvis du allerede bruger en anden XMPP-klient eller har brugt Conversations før. Hvis ikke, kan du lige nu oprette en ny XMPP-konto.\nTip: Nogle e-mail-udbydere leverer også XMPP-konti.
@@ -12,5 +12,5 @@
Tryk på deleknappen for at sende din kontakt en invitation til %1$s.Hvis din kontakt er i nærheden, kan de også skanne koden nedenfor for at acceptere din invitation.Deltag med %1$s og chat med mig: %2$s
- Del invitation med...
+ Del invitation med…
\ No newline at end of file
diff --git a/src/conversations/res/values-fr/strings.xml b/src/conversations/res/values-fr/strings.xml
index 47badf219ba884664fe1fc4014adf29d026faaa6..f0c96726fa5b35739f4e84ad1e0a044fc93c748a 100644
--- a/src/conversations/res/values-fr/strings.xml
+++ b/src/conversations/res/values-fr/strings.xml
@@ -9,8 +9,8 @@
Vous avez été invité à %1$s. Un nom d’utilisateur a déjà été choisi pour vous. Nous allons vous guider à travers le processus de création d’un compte.\nVous pourrez communiquer avec les utilisateurs des autres fournisseurs en leur donnant votre adresse XMPP complète.Votre invitation au serveurCode de provisionnement mal formaté
- Appuyez sur le bouton partager pour envoyer à votre contact une invitation pour %1$s
- Si vos contacts sont à votre côté, ils peuvent aussi scanner le code ci dessous pour accepter votre invitation
+ Appuyez sur le bouton partager pour envoyer à votre contact une invitation pour %1$s.
+ Si vos contacts sont à proximité, ils peuvent aussi scanner le code ci-dessous pour accepter votre invitation.Rejoignez %1$set discutez avec moi : %2$s
- Partager une invitation avec ...
+ Partager une invitation avec …
\ No newline at end of file
diff --git a/src/conversations/res/values-id/strings.xml b/src/conversations/res/values-id/strings.xml
index 16a58436c0212b1bc9652602782f847bb409788a..a316ee848ec9798ecdc70b2976262c25c2be4066 100644
--- a/src/conversations/res/values-id/strings.xml
+++ b/src/conversations/res/values-id/strings.xml
@@ -3,8 +3,8 @@
Pilih XMPP server andaGunakan conversations.imBuat akun baru
- Anda sudah memiliki akun XMPP? Ini mungkin terjadi jika Anda sudah menggunakan aplikasi XMPP yang berbeda atau pernah menggunakan Conversations sebelumnya. Jika tidak, Anda dapat membuat akun XMPP baru. \ NPetunjuk: Beberapa penyedia layanan email juga menyediakan akun XMPP.
- XMPP adalah jaringan penyedia pesan instan independen. Anda dapat menggunakan aplikasi ini dengan server XMPP pilihan Anda. \ NNamun demi kenyamanan Anda, kami permudah untuk membuat akun di Conversations.im; provider yang sangat cocok digunakan dengan Conversations.
+ Anda sudah memiliki akun XMPP\? Ini mungkin terjadi jika Anda sudah menggunakan aplikasi XMPP yang berbeda atau pernah menggunakan Conversations sebelumnya. Jika tidak, Anda dapat membuat akun XMPP baru. NPetunjuk: Beberapa penyedia layanan email juga menyediakan akun XMPP.
+ XMPP adalah jaringan penyedia pesan instan independen. Anda dapat menggunakan aplikasi ini dengan server XMPP pilihan Anda. NNamun demi kenyamanan Anda, kami permudah untuk membuat akun di Conversations.im; provider yang sangat cocok digunakan dengan Conversations.Anda telah diundang ke %1$s. Kami akan memandu Anda melalui proses pembuatan akun. \nSaat memilih %1$s sebagai penyedia, Anda akan dapat berkomunikasi dengan pengguna provider lain dengan memberikan alamat XMPP lengkap Anda kepada mereka.Anda telah diundang ke%1$s. Username telah dipilihkan untuk Anda. Kami akan memandu Anda melalui proses pembuatan akun. \nAnda dapat berkomunikasi dengan pengguna provider lain dengan memberi mereka alamat XMPP lengkap Anda.Undangan server Anda
diff --git a/src/conversations/res/values-pt/strings.xml b/src/conversations/res/values-pt/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a6b3daec9354f9ae75cdf8d94a67446c6227dd96
--- /dev/null
+++ b/src/conversations/res/values-pt/strings.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/src/conversations/res/values-sq/strings.xml b/src/conversations/res/values-sq/strings.xml
index a6b3daec9354f9ae75cdf8d94a67446c6227dd96..1e3f34b5b9fed8100052f995230cc926f45d7a63 100644
--- a/src/conversations/res/values-sq/strings.xml
+++ b/src/conversations/res/values-sq/strings.xml
@@ -1,2 +1,20 @@
-
\ No newline at end of file
+
+ XMPP është një rrjet shkëmbimi mesazhesh të atypëratyshëm i pavarur nga shërbimet. Këtë klient mund ta përdorni me cilindo shërbyes XMPP që zgjidhni.
+\nMegjithatë, për lehtësi, e kemi bërë të kollajshme të krijohet një llogari te conversations.im, një shërbim posaçërisht i përshtatshëm për përdorim me Conversations.
+ Jeni ftuar te %1$s. Do t’ju udhëheqim përmes procesit të krijimit të një llogarie.
+\nKur zgjidhet %1$s si shërbim, do të jeni në gjendje të komunikoni me përdorues nga shërbime të tjera duke u dhënë adresën tuaj të plotë XMPP.
+ Jeni ftuar te %1$s. Për ju është zgjedhur tashmë një emër përdoruesi. Do t’ju udhëheqim përmes procesit të krijimit të një llogarie.
+\nDo të jeni në gjendje të komunikoni me përdorues nga shërbime të tjera duke u dhënë adresën tuaj të plotë XMPP.
+ Prekni butonin e ndarjes me të tjerë që t’i dërgoni kontaktit tuaj një ftesë për te %1$s.
+ Nëse kontakti juaj është atypari, mund të skanojë gjithashtu kodin më poshtë, që të pranojë ftesën tuaj.
+ Bëhuni pjesë e %1$s dhe bisedoni me: %2$s
+ Ndajeni ftesën me…
+ Krijoni llogari të re
+ Zgjidhni shërbimin tuaj XMPP
+ Përdor conversations.im
+ Keni tashmë një llogari XMPP\? Mund të jetë kështu nëse përdorni tashmë një klient tjetër XMPP, ose e keni përdorur Conversations më parë. Nëse jo, mund të krijoni një llogari të re XMPP që tani.
+\nNdihmëz: Disa shërbime email-i ofrojnë gjithashtu llogari XMPP.
+ Ftesë nga shërbyesi juaj
+ Kod i formatuar jo saktësisht
+
\ No newline at end of file
diff --git a/src/conversations/res/values-sv/strings.xml b/src/conversations/res/values-sv/strings.xml
index a6185650eade287dfa1828f7d5d0436db8fc0bdb..062a0c26fd9e2c5779bf239e9505298d027863ec 100644
--- a/src/conversations/res/values-sv/strings.xml
+++ b/src/conversations/res/values-sv/strings.xml
@@ -9,5 +9,11 @@
Tryck på dela-knappen för att skicka en inbjudan till din kontakt till %1$s.Om din kontakt är i närheten, kan de också skanna koden nedan för att acceptera din inbjudan.Gå med %1$s och chatta med mig: %2$s
- Dela inbjudan med...
+ Dela inbjudan med…
+ Du har blivit inbjuden till %1$s. Ett användarnamn har redan valts åt dig. Vi guidar dig genom processen för att skapa ett konto.
+\nDu kommer att kunna kommunicera med användare av andra leverantörer genom att ge dem din fullständiga XMPP-adress.
+ XMPP är ett leverantörsoberoende snabbmeddelandenätverk. Du kan använda den här klienten med vilken XMPP-server du än väljer.
+\nMen för din bekvämlighet har vi gjort det enkelt att skapa ett konto på conversations.im; en leverantör som är speciellt lämpad för användning med Conversations.
+ Du har blivit inbjuden till %1$s. Vi guidar dig genom processen för att skapa ett konto.
+\nNär du väljer %1$s som leverantör kommer du att kunna kommunicera med användare av andra leverantörer genom att ge dem din fullständiga XMPP-adress.
\ No newline at end of file
diff --git a/src/conversations/res/values-vi/strings.xml b/src/conversations/res/values-vi/strings.xml
index f80ceacf833768e3bf9280d631601ad7d0240319..851ad092743ce8359f5b22e4199505b91cb29c63 100644
--- a/src/conversations/res/values-vi/strings.xml
+++ b/src/conversations/res/values-vi/strings.xml
@@ -1,16 +1,20 @@
Chọn nhà cung cấp XMPP của bạn
- Sử dụng conversations.im
+ Sử dụng “conversations.im”Tạo tài khoản mới
- Bạn đã có tài khoản XMPP chưa? Điều này có thể đúng nếu bạn đang dùng một ứng dụng khách cho XMPP khác hoặc đã sử dụng Conversations trước đó. Nếu không, bạn có thể tạo tài khoản XMPP mới ngay bây giờ.\nGợi ý: Một số nhà cung cấp email cũng cung cấp tài khoản XMPP.
- XMPP là một mạng nhắn tin ngay lập tức không phụ thuộc vào nhà cung cấp. Bạn có thể sử dụng ứng dụng khách này với bất kỳ máy chủ XMPP nào mà bạn chọn.\nTuy nhiên, vì sự thuận tiện của bạn, chúng tôi đã làm cho việc tạo tài khoản trên conversations.im được dễ dàng; một nhà cung cấp đặc biệt phù hợp với việc sử dụng Conversations.
- Bạn đã được mời vào %1$s. Chúng tôi sẽ hướng dẫn bạn trong quá trình tạo tài khoản.\nKhi chọn %1$s là nhà cung cấp, bạn sẽ có thể giao tiếp với những người dùng của các nhà cung cấp khác bằng cách đưa cho họ địa chỉ XMPP đầy đủ của bạn.
- Bạn đã được mời vào %1$s. Một tên người dùng đã được chọn sẵn cho bạn. Chúng tôi sẽ hướng dẫn bạn trong quá trình tạo tài khoản.\nBạn sẽ có thể giao tiếp với những người dùng của các nhà cung cấp khác bằng cách đưa cho họ địa chỉ XMPP đầy đủ của bạn.
+ Bạn đã có sẵn một tài khoản XMPP chưa\? Nếu bạn đang dùng một ứng dụng XMPP khác dành cho máy khách (client) hoặc đã sử dụng Conversations trước đó. Nếu chưa có, bạn có thể tạo tài khoản XMPP mới ngay bây giờ.
+\nGợi ý: Một số nhà cung cấp dịch vụ email cũng cung cấp tài khoản XMPP.
+ XMPP là một dịch vụ mạng tin nhắn không phụ thuộc vào nhà cung cấp nào. Bạn có thể sử dụng ứng dụng máy khách này với bất kỳ máy chủ XMPP nào mà bạn chọn.
+\nĐể thuận tiện hơn cho bạn, chúng tôi đã đơn giản hóa khâu tạo tài khoản trên conversations.im – một nhà cung cấp đặc biệt phù hợp cho việc sử dụng Conversations.
+ Bạn đã được mời vào “ %1$s”. Chúng tôi sẽ hướng dẫn bạn xuyên suốt quá trình tạo tài khoản.
+\nKhi chọn “%1$s” làm nhà cung cấp, bạn sẽ có thể liên lạc với những người dùng của các nhà cung cấp khác bằng cách đưa cho họ địa chỉ XMPP đầy đủ của bạn.
+ Bạn đã được mời vào “%1$s.” Một tên người dùng đã được chọn sẵn cho bạn. Chúng tôi sẽ hướng dẫn bạn xuyên suốt quá trình tạo tài khoản.
+\nBạn sẽ có thể với những người dùng của các nhà cung cấp khác bằng cách đưa cho họ địa chỉ XMPP đầy đủ của bạn.Lời mời vào máy chủ của bạn
- Mã cung cấp không được định dạng đúng
- Nhấn nút chia sẻ để gửi lời mời vào %1$s đến liên hệ của bạn.
- Nếu liên hệ của bạn ở gần đây, họ cũng có thể quét mã ở dưới để chấp nhận lời mời của bạn.
- Hãy tham gia vào %1$s và trò chuyện với tôi: %2$s
- Chia sẻ lời mời với...
+ Mã cung cấp sai định dạng
+ Nhấn nút chia sẻ để gửi đến liên hệ của bạn một lời mời vào “%1$s”.
+ Nếu liên hệ của bạn đang ở gần bên bạn, họ có thể quét mã ở dưới để chấp nhận lời mời của bạn.
+ Hãy tham gia vào “%1$s” và trò chuyện với tôi: %2$s
+ Chia sẻ lời mời với…
\ No newline at end of file
diff --git a/src/conversations/res/values-zh-rTW/strings.xml b/src/conversations/res/values-zh-rTW/strings.xml
index 8f1828bf62b65a31e116e3b5c1d83e9a63325396..de09fe8678196ca8bb913e6315821d577248f4d4 100644
--- a/src/conversations/res/values-zh-rTW/strings.xml
+++ b/src/conversations/res/values-zh-rTW/strings.xml
@@ -3,14 +3,18 @@
挑選您的 XMPP 提供者使用 conversations.im建立新帳戶
- 您已經擁有一個 XMPP 賬戶嗎?如果您之前使用過其他 XMPP 客戶端或 Conversations 的話,那麼您已經擁有 XMPP 賬戶了。如果沒有賬戶的話,您可以現在建立一個。\n提示:有些電子郵件服務供應商也會提供 XMPP 賬戶。
- XMPP 是提供者無關的即時訊息網絡。 任何你選擇的 XMPP 伺服器都可在此客戶端上使用。\n不過,我們令它在 Coversations.im 中建立帳戶變得更方便; Conversations.im 是特別適合 Conversations 的提供者
- 你已受邀參加 %1$s 。 我們將指導你完成建立帳戶的過程。選擇 %1$s 作爲提供者後,你可以將你完整的 XMPP 地址交給使用其他提供者的用戶,你便能與他們交流。
- 您已被邀請參加 %1$s 。 我們已經爲你選擇了一個用戶名。 我們將指導你完成建立帳戶的過程。\n將你完整的 XMPP 地址交給使用其他提供者的用戶後,你便能與他們交流。
+ 您已經擁有一個 XMPP 帳戶了嗎?如果您之前使用過其他 XMPP 用戶端或 Conversations 的話,那麼您已經擁有 XMPP 帳戶了。若沒有,您現在就建立一個新的 XMPP 帳戶。
+\n提示:部分電子郵件提供者也會提供 XMPP 帳戶。
+ XMPP 是提供者無關的即時訊息網路。任何您選擇的 XMPP 伺服器都可在此用戶端上使用。
+\n不過,我們令它在 Coversations.im 中建立帳戶變得更方便;conversations.im 是特別適合 Conversations 的提供者。
+ 你已受邀參加 %1$s 。我們將指引您完成建立帳戶的過程。
+\n選擇 %1$s 作為提供者後,您可以將您完整的 XMPP 位址交給使用其他提供者的使用者,以便能與他們進行交流。
+ 你已受邀參加 %1$s 。我們已經為您挑選了一個使用者名稱。我們將指引您完成建立帳戶的過程。
+\n您可以將您完整的 XMPP 位址交給使用其他提供者的使用者,以便能與他們進行交流。您的伺服器邀請
- 配置代碼格式不正確
- 輕觸分享按鍵向您的聯絡人發送加入 %1$s 的邀請。
- 如果你的聯絡人就在附近,他們也可以掃描下面的代碼來接受你的邀請。
- 加入 %1$s 和我聊天:%2$s
- 分享邀請到...
+ 佈建代碼格式不正確
+ 輕觸分享按鍵以向您的聯絡人傳送加入 %1$s 的邀請。
+ 如果您的聯絡人就在附近,他們也可以掃描下面的代碼以接受您的邀請。
+ 加入 %1$s 與我聊天:%2$s
+ 分享邀請至…
\ No newline at end of file
diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml
index 0d6f508764b21f06a337e45a81e5b0b251f160e6..49bfd40ef6f2fd485f50a769f3a17520c189a549 100644
--- a/src/main/AndroidManifest.xml
+++ b/src/main/AndroidManifest.xml
@@ -38,6 +38,7 @@
+
+
+
@@ -316,7 +319,7 @@
android:value="eu.siacs.conversations.ui.SettingsActivity" />
diff --git a/src/main/java/eu/siacs/conversations/crypto/PgpEngine.java b/src/main/java/eu/siacs/conversations/crypto/PgpEngine.java
index 9652ad3eb2716bee7a5894be92b4007f4e153753..d3588a9952cc22cb0e5cb795181c7d09dda08f5f 100644
--- a/src/main/java/eu/siacs/conversations/crypto/PgpEngine.java
+++ b/src/main/java/eu/siacs/conversations/crypto/PgpEngine.java
@@ -285,7 +285,9 @@ public class PgpEngine {
Intent params = new Intent();
params.setAction(OpenPgpApi.ACTION_GET_KEY);
params.putExtra(OpenPgpApi.EXTRA_KEY_ID, pgpKeyId);
- Intent result = api.executeApi(params, null, null);
+ final ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
+ final ByteArrayInputStream inputStream = new ByteArrayInputStream(new byte[0]);
+ Intent result = api.executeApi(params, inputStream, outputStream);
return (PendingIntent) result.getParcelableExtra(OpenPgpApi.RESULT_INTENT);
}
}
diff --git a/src/main/java/eu/siacs/conversations/entities/Conversation.java b/src/main/java/eu/siacs/conversations/entities/Conversation.java
index 0857deba38b60b32eb2829a311d34d843b93fa24..acb67c7ba23044bb4d729790dd0886a05af77ec3 100644
--- a/src/main/java/eu/siacs/conversations/entities/Conversation.java
+++ b/src/main/java/eu/siacs/conversations/entities/Conversation.java
@@ -52,6 +52,7 @@ import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AlertDialog.Builder;
import androidx.core.content.ContextCompat;
+import androidx.core.util.Consumer;
import androidx.databinding.DataBindingUtil;
import androidx.databinding.ViewDataBinding;
import androidx.viewpager.widget.PagerAdapter;
@@ -126,7 +127,6 @@ import eu.siacs.conversations.ui.UriHandlerActivity;
import eu.siacs.conversations.ui.text.FixedURLSpan;
import eu.siacs.conversations.ui.util.ShareUtil;
import eu.siacs.conversations.ui.util.SoftKeyboardUtils;
-import eu.siacs.conversations.utils.Consumer;
import eu.siacs.conversations.utils.JidHelper;
import eu.siacs.conversations.utils.MessageUtils;
import eu.siacs.conversations.utils.PhoneNumberUtilWrapper;
diff --git a/src/main/java/eu/siacs/conversations/http/HttpConnectionManager.java b/src/main/java/eu/siacs/conversations/http/HttpConnectionManager.java
index ad62d9aee7e46170f5b1bd49aa5efcbc308b4581..999c81c467228865fba5102ce1d8f5d5aba9fadc 100644
--- a/src/main/java/eu/siacs/conversations/http/HttpConnectionManager.java
+++ b/src/main/java/eu/siacs/conversations/http/HttpConnectionManager.java
@@ -5,6 +5,8 @@ import static eu.siacs.conversations.utils.Random.SECURE_RANDOM;
import android.os.Build;
import android.util.Log;
+import androidx.core.util.Consumer;
+
import org.apache.http.conn.ssl.StrictHostnameVerifier;
import java.io.IOException;
@@ -31,7 +33,6 @@ import eu.siacs.conversations.entities.DownloadableFile;
import eu.siacs.conversations.entities.Message;
import eu.siacs.conversations.services.AbstractConnectionManager;
import eu.siacs.conversations.services.XmppConnectionService;
-import eu.siacs.conversations.utils.Consumer;
import eu.siacs.conversations.utils.TLSSocketFactory;
import okhttp3.HttpUrl;
import okhttp3.OkHttpClient;
diff --git a/src/main/java/eu/siacs/conversations/http/HttpDownloadConnection.java b/src/main/java/eu/siacs/conversations/http/HttpDownloadConnection.java
index e6b8192e020f4f7703be13ae22e7d3ac1cc3071c..bb7e46923adc62852dfc98a709e49216d6c42880 100644
--- a/src/main/java/eu/siacs/conversations/http/HttpDownloadConnection.java
+++ b/src/main/java/eu/siacs/conversations/http/HttpDownloadConnection.java
@@ -3,6 +3,7 @@ package eu.siacs.conversations.http;
import android.util.Log;
import androidx.annotation.Nullable;
+import androidx.core.util.Consumer;
import com.google.common.base.Strings;
import com.google.common.io.ByteStreams;
@@ -24,7 +25,6 @@ import eu.siacs.conversations.entities.Transferable;
import eu.siacs.conversations.persistance.FileBackend;
import eu.siacs.conversations.services.AbstractConnectionManager;
import eu.siacs.conversations.services.XmppConnectionService;
-import eu.siacs.conversations.utils.Consumer;
import eu.siacs.conversations.utils.CryptoHelper;
import eu.siacs.conversations.utils.FileWriterException;
import eu.siacs.conversations.utils.MimeUtils;
diff --git a/src/main/java/eu/siacs/conversations/persistance/FileBackend.java b/src/main/java/eu/siacs/conversations/persistance/FileBackend.java
index c403626902d65f7aadbca9a00ce01a23e4f990af..5f2e1b52de67123c629935eae6b2e8bc70a497e5 100644
--- a/src/main/java/eu/siacs/conversations/persistance/FileBackend.java
+++ b/src/main/java/eu/siacs/conversations/persistance/FileBackend.java
@@ -164,7 +164,7 @@ public class FileBackend {
"do not consider video file with min width larger than 720 for size check");
continue;
}
- } catch (NotAVideoFile notAVideoFile) {
+ } catch (final IOException | NotAVideoFile e) {
// ignore and fall through
}
}
@@ -289,7 +289,7 @@ public class FileBackend {
return inSampleSize;
}
- private static Dimensions getVideoDimensions(Context context, Uri uri) throws NotAVideoFile {
+ private static Dimensions getVideoDimensions(Context context, Uri uri) throws NotAVideoFile, IOException {
MediaMetadataRetriever mediaMetadataRetriever = new MediaMetadataRetriever();
try {
mediaMetadataRetriever.setDataSource(context, uri);
@@ -315,7 +315,7 @@ public class FileBackend {
}
private static Dimensions getVideoDimensions(MediaMetadataRetriever metadataRetriever)
- throws NotAVideoFile {
+ throws NotAVideoFile, IOException {
String hasVideo =
metadataRetriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_HAS_VIDEO);
if (hasVideo == null) {
@@ -1923,7 +1923,7 @@ public class FileBackend {
Log.d(Config.LOGTAG, "ambiguous file " + mime + " is audio");
fileParams.runtime = getMediaRuntime(file);
}
- } catch (final NotAVideoFile e) {
+ } catch (final IOException | NotAVideoFile e) {
Log.d(Config.LOGTAG, "ambiguous file " + mime + " is audio");
fileParams.runtime = getMediaRuntime(file);
}
@@ -1941,7 +1941,7 @@ public class FileBackend {
fileParams.width = dimensions.width;
fileParams.height = dimensions.height;
}
- } catch (NotAVideoFile notAVideoFile) {
+ } catch (final IOException | NotAVideoFile notAVideoFile) {
Log.d(
Config.LOGTAG,
"file with mime type " + file.getMimeType() + " was not a video file");
@@ -2015,7 +2015,7 @@ public class FileBackend {
return new Dimensions(imageHeight, imageWidth);
}
- private Dimensions getVideoDimensions(File file) throws NotAVideoFile {
+ private Dimensions getVideoDimensions(final File file) throws NotAVideoFile, IOException {
MediaMetadataRetriever metadataRetriever = new MediaMetadataRetriever();
try {
metadataRetriever.setDataSource(file.getAbsolutePath());
diff --git a/src/main/java/eu/siacs/conversations/services/UnifiedPushBroker.java b/src/main/java/eu/siacs/conversations/services/UnifiedPushBroker.java
index 7d2d90dd5777b4aebc028f2366fe90b77cbf0f60..f27bf7fc52a0920910019b49925a359118de544b 100644
--- a/src/main/java/eu/siacs/conversations/services/UnifiedPushBroker.java
+++ b/src/main/java/eu/siacs/conversations/services/UnifiedPushBroker.java
@@ -4,6 +4,9 @@ import android.content.ComponentName;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
+import android.os.Message;
+import android.os.Messenger;
+import android.os.RemoteException;
import android.preference.PreferenceManager;
import android.util.Log;
import com.google.common.base.Optional;
@@ -62,7 +65,7 @@ public class UnifiedPushBroker {
Log.d(
Config.LOGTAG,
account.getJid().asBareJid() + ": trigger endpoint renewal on bind");
- renewUnifiedEndpoint(transportOptional.get());
+ renewUnifiedEndpoint(transportOptional.get(), null);
}
}
}
@@ -74,11 +77,15 @@ public class UnifiedPushBroker {
}
public Optional renewUnifiedPushEndpoints() {
+ return renewUnifiedPushEndpoints(null);
+ }
+
+ public Optional renewUnifiedPushEndpoints(final PushTargetMessenger pushTargetMessenger) {
final Optional transportOptional = getTransport();
if (transportOptional.isPresent()) {
final Transport transport = transportOptional.get();
if (transport.account.isEnabled()) {
- renewUnifiedEndpoint(transportOptional.get());
+ renewUnifiedEndpoint(transportOptional.get(), pushTargetMessenger);
} else {
Log.d(Config.LOGTAG, "skipping UnifiedPush endpoint renewal. Account is disabled");
}
@@ -88,7 +95,7 @@ public class UnifiedPushBroker {
return transportOptional;
}
- private void renewUnifiedEndpoint(final Transport transport) {
+ private void renewUnifiedEndpoint(final Transport transport, final PushTargetMessenger pushTargetMessenger) {
final Account account = transport.account;
final UnifiedPushDatabase unifiedPushDatabase = UnifiedPushDatabase.getInstance(service);
final List renewals =
@@ -114,16 +121,23 @@ public class UnifiedPushBroker {
final Element register = registration.addChild("register", Namespace.UNIFIED_PUSH);
register.setAttribute("application", hashedApplication);
register.setAttribute("instance", hashedInstance);
+ final Messenger messenger;
+ if (pushTargetMessenger != null && renewal.equals(pushTargetMessenger.pushTarget)) {
+ messenger = pushTargetMessenger.messenger;
+ } else {
+ messenger = null;
+ }
this.service.sendIqPacket(
account,
registration,
- (a, response) -> processRegistration(transport, renewal, response));
+ (a, response) -> processRegistration(transport, renewal, messenger, response));
}
}
private void processRegistration(
final Transport transport,
final UnifiedPushDatabase.PushTarget renewal,
+ final Messenger messenger,
final IqPacket response) {
if (response.getType() == IqPacket.TYPE.RESULT) {
final Element registered = response.findChild("registered", Namespace.UNIFIED_PUSH);
@@ -142,7 +156,7 @@ public class UnifiedPushBroker {
Log.d(Config.LOGTAG, "could not parse expiration", e);
return;
}
- renewUnifiedPushEndpoint(transport, renewal, endpoint, expiration);
+ renewUnifiedPushEndpoint(transport, renewal, messenger, endpoint, expiration);
} else {
Log.d(Config.LOGTAG, "could not register UP endpoint " + response.getErrorCondition());
}
@@ -151,6 +165,7 @@ public class UnifiedPushBroker {
private void renewUnifiedPushEndpoint(
final Transport transport,
final UnifiedPushDatabase.PushTarget renewal,
+ final Messenger messenger,
final String endpoint,
final long expiration) {
Log.d(Config.LOGTAG, "registered endpoint " + endpoint + " expiration=" + expiration);
@@ -171,9 +186,24 @@ public class UnifiedPushBroker {
+ renewal.instance
+ " was updated to "
+ endpoint);
- broadcastEndpoint(
- renewal.instance,
- new UnifiedPushDatabase.ApplicationEndpoint(renewal.application, endpoint));
+ final UnifiedPushDatabase.ApplicationEndpoint applicationEndpoint = new UnifiedPushDatabase.ApplicationEndpoint(renewal.application, endpoint);
+ sendEndpoint(messenger, renewal.instance, applicationEndpoint);
+ }
+ }
+
+ private void sendEndpoint(final Messenger messenger, String instance, final UnifiedPushDatabase.ApplicationEndpoint applicationEndpoint) {
+ if (messenger != null) {
+ Log.d(Config.LOGTAG,"using messenger instead of broadcast to communicate endpoint to "+applicationEndpoint.application);
+ final Message message = new Message();
+ message.obj = endpointIntent(instance, applicationEndpoint);
+ try {
+ messenger.send(message);
+ } catch (final RemoteException e) {
+ Log.d(Config.LOGTAG,"messenger failed. falling back to broadcast");
+ broadcastEndpoint(instance, applicationEndpoint);
+ }
+ } else {
+ broadcastEndpoint(instance, applicationEndpoint);
}
}
@@ -302,14 +332,19 @@ public class UnifiedPushBroker {
private void broadcastEndpoint(
final String instance, final UnifiedPushDatabase.ApplicationEndpoint endpoint) {
Log.d(Config.LOGTAG, "broadcasting endpoint to " + endpoint.application);
- final Intent updateIntent = new Intent(UnifiedPushDistributor.ACTION_NEW_ENDPOINT);
- updateIntent.setPackage(endpoint.application);
- updateIntent.putExtra("token", instance);
- updateIntent.putExtra("endpoint", endpoint.endpoint);
+ final Intent updateIntent = endpointIntent(instance, endpoint);
service.sendBroadcast(updateIntent);
}
- public void rebroadcastEndpoint(final String instance, final Transport transport) {
+ private static Intent endpointIntent(final String instance, final UnifiedPushDatabase.ApplicationEndpoint endpoint) {
+ final Intent intent = new Intent(UnifiedPushDistributor.ACTION_NEW_ENDPOINT);
+ intent.setPackage(endpoint.application);
+ intent.putExtra("token", instance);
+ intent.putExtra("endpoint", endpoint.endpoint);
+ return intent;
+ }
+
+ public void rebroadcastEndpoint(final Messenger messenger, final String instance, final Transport transport) {
final UnifiedPushDatabase unifiedPushDatabase = UnifiedPushDatabase.getInstance(service);
final UnifiedPushDatabase.ApplicationEndpoint endpoint =
unifiedPushDatabase.getEndpoint(
@@ -317,7 +352,7 @@ public class UnifiedPushBroker {
transport.transport.toEscapedString(),
instance);
if (endpoint != null) {
- broadcastEndpoint(instance, endpoint);
+ sendEndpoint(messenger, instance, endpoint);
}
}
@@ -330,4 +365,14 @@ public class UnifiedPushBroker {
this.transport = transport;
}
}
+
+ public static class PushTargetMessenger {
+ private final UnifiedPushDatabase.PushTarget pushTarget;
+ private final Messenger messenger;
+
+ public PushTargetMessenger(UnifiedPushDatabase.PushTarget pushTarget, Messenger messenger) {
+ this.pushTarget = pushTarget;
+ this.messenger = messenger;
+ }
+ }
}
diff --git a/src/main/java/eu/siacs/conversations/services/UnifiedPushDistributor.java b/src/main/java/eu/siacs/conversations/services/UnifiedPushDistributor.java
index 64c16dbcdf7ff804741282d8e4c66f94907ba2a6..c5402dec6b2fa3eab65f69c2beae6bb3cb493f1b 100644
--- a/src/main/java/eu/siacs/conversations/services/UnifiedPushDistributor.java
+++ b/src/main/java/eu/siacs/conversations/services/UnifiedPushDistributor.java
@@ -1,10 +1,13 @@
package eu.siacs.conversations.services;
+import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ResolveInfo;
import android.net.Uri;
+import android.os.Messenger;
+import android.os.Parcelable;
import android.util.Log;
import com.google.common.base.Charsets;
@@ -46,12 +49,21 @@ public class UnifiedPushDistributor extends BroadcastReceiver {
return;
}
final String action = intent.getAction();
- final String application = intent.getStringExtra("application");
+ final String application;
+ final Parcelable appByPendingIntent = intent.getParcelableExtra("app");
+ if (appByPendingIntent instanceof PendingIntent) {
+ final PendingIntent pendingIntent = (PendingIntent) appByPendingIntent;
+ application = pendingIntent.getIntentSender().getCreatorPackage();
+ Log.d(Config.LOGTAG,"received application name via pending intent "+ application);
+ } else {
+ application = intent.getStringExtra("application");
+ }
+ final Parcelable messenger = intent.getParcelableExtra("messenger");
final String instance = intent.getStringExtra("token");
final List features = intent.getStringArrayListExtra("features");
switch (Strings.nullToEmpty(action)) {
case ACTION_REGISTER:
- register(context, application, instance, features);
+ register(context, application, instance, features, messenger);
break;
case ACTION_UNREGISTER:
unregister(context, instance);
@@ -69,7 +81,8 @@ public class UnifiedPushDistributor extends BroadcastReceiver {
final Context context,
final String application,
final String instance,
- final Collection features) {
+ final Collection features,
+ final Parcelable messenger) {
if (Strings.isNullOrEmpty(application) || Strings.isNullOrEmpty(instance)) {
Log.w(Config.LOGTAG, "ignoring invalid UnifiedPush registration");
return;
@@ -92,6 +105,10 @@ public class UnifiedPushDistributor extends BroadcastReceiver {
final Intent serviceIntent = new Intent(context, XmppConnectionService.class);
serviceIntent.setAction(XmppConnectionService.ACTION_RENEW_UNIFIED_PUSH_ENDPOINTS);
serviceIntent.putExtra("instance", instance);
+ serviceIntent.putExtra("application", application);
+ if (messenger instanceof Messenger) {
+ serviceIntent.putExtra("messenger", messenger);
+ }
Compatibility.startService(context, serviceIntent);
} else {
Log.d(Config.LOGTAG, "not successful. sending error message back to application");
diff --git a/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java b/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java
index 2c7681e102c11ec6d31817b38d1ebb59cdcdcbcc..fafdc653de1305ff75fc24baa86c499619d6e9c7 100644
--- a/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java
+++ b/src/main/java/eu/siacs/conversations/services/XmppConnectionService.java
@@ -34,6 +34,7 @@ import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.os.IBinder;
+import android.os.Messenger;
import android.os.PowerManager;
import android.os.PowerManager.WakeLock;
import android.os.SystemClock;
@@ -53,6 +54,7 @@ import androidx.annotation.IntegerRes;
import androidx.annotation.NonNull;
import androidx.core.app.RemoteInput;
import androidx.core.content.ContextCompat;
+import androidx.core.util.Consumer;
import com.cheogram.android.WebxdcUpdate;
@@ -61,6 +63,7 @@ import com.google.common.base.Optional;
import com.google.common.base.Strings;
import org.conscrypt.Conscrypt;
+import org.jxmpp.stringprep.libidn.LibIdnXmppStringprep;
import org.openintents.openpgp.IOpenPgpService2;
import org.openintents.openpgp.util.OpenPgpApi;
import org.openintents.openpgp.util.OpenPgpServiceConnection;
@@ -71,7 +74,6 @@ import java.io.IOException;
import java.security.Security;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
-import java.text.ParseException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -136,9 +138,7 @@ import eu.siacs.conversations.ui.UiCallback;
import eu.siacs.conversations.ui.interfaces.OnAvatarPublication;
import eu.siacs.conversations.ui.interfaces.OnMediaLoaded;
import eu.siacs.conversations.ui.interfaces.OnSearchResultsAvailable;
-import eu.siacs.conversations.utils.AccountUtils;
import eu.siacs.conversations.utils.Compatibility;
-import eu.siacs.conversations.utils.Consumer;
import eu.siacs.conversations.utils.ConversationsFileObserver;
import eu.siacs.conversations.utils.CryptoHelper;
import eu.siacs.conversations.utils.Emoticons;
@@ -893,9 +893,18 @@ public class XmppConnectionService extends Service {
break;
case ACTION_RENEW_UNIFIED_PUSH_ENDPOINTS:
final String instance = intent.getStringExtra("instance");
- final Optional transport = renewUnifiedPushEndpoints();
+ final String application = intent.getStringExtra("application");
+ final Messenger messenger = intent.getParcelableExtra("messenger");
+ final UnifiedPushBroker.PushTargetMessenger pushTargetMessenger;
+ if (messenger != null && application != null && instance != null) {
+ pushTargetMessenger = new UnifiedPushBroker.PushTargetMessenger(new UnifiedPushDatabase.PushTarget(application, instance),messenger);
+ Log.d(Config.LOGTAG,"found push target messenger");
+ } else {
+ pushTargetMessenger = null;
+ }
+ final Optional transport = renewUnifiedPushEndpoints(pushTargetMessenger);
if (instance != null && transport.isPresent()) {
- unifiedPushBroker.rebroadcastEndpoint(instance, transport.get());
+ unifiedPushBroker.rebroadcastEndpoint(messenger, instance, transport.get());
}
break;
case ACTION_IDLE_PING:
@@ -1243,7 +1252,7 @@ public class XmppConnectionService extends Service {
@SuppressLint("TrulyRandom")
@Override
public void onCreate() {
- org.jxmpp.stringprep.libidn.LibIdnXmppStringprep.setup();
+ LibIdnXmppStringprep.setup();
setTheme(ThemeHelper.find(this));
ThemeHelper.applyCustomColors(this);
if (Compatibility.runsTwentySix()) {
@@ -2497,8 +2506,12 @@ public class XmppConnectionService extends Service {
return this.unifiedPushBroker.reconfigurePushDistributor();
}
+ private Optional renewUnifiedPushEndpoints(final UnifiedPushBroker.PushTargetMessenger pushTargetMessenger) {
+ return this.unifiedPushBroker.renewUnifiedPushEndpoints(pushTargetMessenger);
+ }
+
public Optional renewUnifiedPushEndpoints() {
- return this.unifiedPushBroker.renewUnifiedPushEndpoints();
+ return this.unifiedPushBroker.renewUnifiedPushEndpoints(null);
}
private void provisionAccount(final String address, final String password) {
@@ -2615,6 +2628,20 @@ public class XmppConnectionService extends Service {
});
}
+ public void unregisterAccount(final Account account, final Consumer callback) {
+ final IqPacket iqPacket = new IqPacket(IqPacket.TYPE.SET);
+ final Element query = iqPacket.addChild("query",Namespace.REGISTER);
+ query.addChild("remove");
+ sendIqPacket(account, iqPacket, (a, response) -> {
+ if (response.getType() == IqPacket.TYPE.RESULT) {
+ deleteAccount(a);
+ callback.accept(true);
+ } else {
+ callback.accept(false);
+ }
+ });
+ }
+
public void deleteAccount(final Account account) {
getPreferences().edit().remove("onboarding_continued").commit();
final boolean connected = account.getStatus() == Account.State.ONLINE;
diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java
index 00ddfede9d31c8369c6c980087b2b4901c5e6c52..faf0fab81765d75e794660d8ceb9ca183a8571dc 100644
--- a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java
+++ b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java
@@ -2270,8 +2270,7 @@ public class ConversationFragment extends XmppFragment
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
final List missingPermissions = new ArrayList<>();
for (String permission : permissions) {
- if (Config.ONLY_INTERNAL_STORAGE
- && permission.equals(Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
+ if ((Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU || Config.ONLY_INTERNAL_STORAGE) && permission.equals(Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
continue;
}
if (activity.checkSelfPermission(permission) != PackageManager.PERMISSION_GRANTED) {
diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java b/src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java
index 70039e5a04fcb9d15f713ed5aa9766f5fef81ea8..71748d8b25a1d0a937019b585a3c79907cdd1afb 100644
--- a/src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java
+++ b/src/main/java/eu/siacs/conversations/ui/ConversationsActivity.java
@@ -57,6 +57,7 @@ import androidx.annotation.IdRes;
import androidx.annotation.NonNull;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AlertDialog;
+import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import androidx.databinding.DataBindingUtil;
@@ -243,16 +244,16 @@ public class ConversationsActivity extends XmppActivity implements OnConversatio
getPreferences().edit().putBoolean(getBatteryOptimizationPreferenceKey(), false).apply();
}
- private void openBatteryOptimizationDialogIfNeeded() {
+ private boolean openBatteryOptimizationDialogIfNeeded() {
if (isOptimizingBattery()
&& android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M
&& getPreferences().getBoolean(getBatteryOptimizationPreferenceKey(), true)) {
- AlertDialog.Builder builder = new AlertDialog.Builder(this);
+ final AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(R.string.battery_optimizations_enabled);
builder.setMessage(getString(R.string.battery_optimizations_enabled_dialog, getString(R.string.app_name)));
builder.setPositiveButton(R.string.next, (dialog, which) -> {
- Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
- Uri uri = Uri.parse("package:" + getPackageName());
+ final Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
+ final Uri uri = Uri.parse("package:" + getPackageName());
intent.setData(uri);
try {
startActivityForResult(intent, REQUEST_BATTERY_OP);
@@ -264,6 +265,14 @@ public class ConversationsActivity extends XmppActivity implements OnConversatio
final AlertDialog dialog = builder.create();
dialog.setCanceledOnTouchOutside(false);
dialog.show();
+ return true;
+ }
+ return false;
+ }
+
+ private void requestNotificationPermissionIfNeeded() {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU && ActivityCompat.checkSelfPermission(this, Manifest.permission.POST_NOTIFICATIONS) != PackageManager.PERMISSION_GRANTED) {
+ requestPermissions(new String[]{Manifest.permission.POST_NOTIFICATIONS}, REQUEST_POST_NOTIFICATION);
}
}
@@ -429,6 +438,9 @@ public class ConversationsActivity extends XmppActivity implements OnConversatio
} else {
handleNegativeActivityResult(activityResult.requestCode);
}
+ if (activityResult.requestCode == REQUEST_BATTERY_OP) {
+ requestNotificationPermissionIfNeeded();
+ }
}
private void handleNegativeActivityResult(int requestCode) {
diff --git a/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java b/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java
index 405a8bb61f3b20613dcf916254d9769c316d9a07..3ecfce57282e6ea1dab93f4d721356bdbcb7fedc 100644
--- a/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java
+++ b/src/main/java/eu/siacs/conversations/ui/EditAccountActivity.java
@@ -676,6 +676,7 @@ public class EditAccountActivity extends OmemoActivity implements OnAccountUpdat
final MenuItem showBlocklist = menu.findItem(R.id.action_show_block_list);
final MenuItem showMoreInfo = menu.findItem(R.id.action_server_info_show_more);
final MenuItem changePassword = menu.findItem(R.id.action_change_password_on_server);
+ final MenuItem deleteAccount = menu.findItem(R.id.action_delete_account);
final MenuItem renewCertificate = menu.findItem(R.id.action_renew_certificate);
final MenuItem mamPrefs = menu.findItem(R.id.action_mam_prefs);
final MenuItem changePresence = menu.findItem(R.id.action_change_presence);
@@ -691,6 +692,7 @@ public class EditAccountActivity extends OmemoActivity implements OnAccountUpdat
if (!mAccount.getXmppConnection().getFeatures().register()) {
changePassword.setVisible(false);
+ deleteAccount.setVisible(false);
}
mamPrefs.setVisible(mAccount.getXmppConnection().getFeatures().mam());
changePresence.setVisible(!mInitMode);
@@ -698,6 +700,7 @@ public class EditAccountActivity extends OmemoActivity implements OnAccountUpdat
showBlocklist.setVisible(false);
showMoreInfo.setVisible(false);
changePassword.setVisible(false);
+ deleteAccount.setVisible(false);
mamPrefs.setVisible(false);
changePresence.setVisible(false);
}
@@ -906,6 +909,9 @@ public class EditAccountActivity extends OmemoActivity implements OnAccountUpdat
case R.id.action_change_password_on_server:
gotoChangePassword(null);
break;
+ case R.id.action_delete_account:
+ deleteAccount();
+ break;
case R.id.action_mam_prefs:
editMamPrefs();
break;
@@ -919,6 +925,12 @@ public class EditAccountActivity extends OmemoActivity implements OnAccountUpdat
return super.onOptionsItemSelected(item);
}
+ private void deleteAccount() {
+ this.deleteAccount(mAccount,()->{
+ finish();
+ });
+ }
+
private boolean inNeedOfSaslAccept() {
return mAccount != null && mAccount.getLastErrorStatus() == Account.State.DOWNGRADE_ATTACK && mAccount.getPinnedMechanismPriority() >= 0 && !accountInfoEdited();
}
diff --git a/src/main/java/eu/siacs/conversations/ui/PublishGroupChatProfilePictureActivity.java b/src/main/java/eu/siacs/conversations/ui/PublishGroupChatProfilePictureActivity.java
index 198eadbd14cfbe1d93eefe7ad935726d5102edeb..9dd273412b26a70dbdbb59d999ccbbc5606a795c 100644
--- a/src/main/java/eu/siacs/conversations/ui/PublishGroupChatProfilePictureActivity.java
+++ b/src/main/java/eu/siacs/conversations/ui/PublishGroupChatProfilePictureActivity.java
@@ -44,8 +44,6 @@ import android.widget.Toast;
import androidx.annotation.StringRes;
import androidx.databinding.DataBindingUtil;
-import com.theartofdev.edmodo.cropper.CropImage;
-
import eu.siacs.conversations.Config;
import eu.siacs.conversations.R;
import eu.siacs.conversations.databinding.ActivityPublishProfilePictureBinding;
@@ -55,6 +53,8 @@ import eu.siacs.conversations.ui.util.PendingItem;
import static eu.siacs.conversations.ui.PublishProfilePictureActivity.REQUEST_CHOOSE_PICTURE;
+import com.canhub.cropper.CropImage;
+
public class PublishGroupChatProfilePictureActivity extends XmppActivity implements OnAvatarPublication {
private final PendingItem pendingConversationUuid = new PendingItem<>();
private ActivityPublishProfilePictureBinding binding;
diff --git a/src/main/java/eu/siacs/conversations/ui/PublishProfilePictureActivity.java b/src/main/java/eu/siacs/conversations/ui/PublishProfilePictureActivity.java
index d5945802459be35f88464e62b3ed23a19d0c32dd..11bc3c09ec4c1a85cab5c5171e97264a79fbfe23 100644
--- a/src/main/java/eu/siacs/conversations/ui/PublishProfilePictureActivity.java
+++ b/src/main/java/eu/siacs/conversations/ui/PublishProfilePictureActivity.java
@@ -22,7 +22,7 @@ import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.StringRes;
-import com.theartofdev.edmodo.cropper.CropImage;
+import com.canhub.cropper.CropImage;
import java.util.concurrent.atomic.AtomicBoolean;
diff --git a/src/main/java/eu/siacs/conversations/ui/RtpSessionActivity.java b/src/main/java/eu/siacs/conversations/ui/RtpSessionActivity.java
index 4fda24fc592eb4912e54127ccb6c87839efc93ed..635cbdd8bf5220e373775c6498b00d78e46b5227 100644
--- a/src/main/java/eu/siacs/conversations/ui/RtpSessionActivity.java
+++ b/src/main/java/eu/siacs/conversations/ui/RtpSessionActivity.java
@@ -10,6 +10,7 @@ import android.app.PictureInPictureParams;
import android.content.ActivityNotFoundException;
import android.content.Context;
import android.content.Intent;
+import android.content.pm.ActivityInfo;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
@@ -440,7 +441,7 @@ public class RtpSessionActivity extends XmppActivity
private void putScreenInCallMode(final Set media) {
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
- if (!media.contains(Media.VIDEO)) {
+ if (Media.audioOnly(media)) {
final JingleRtpConnection rtpConnection =
rtpConnectionReference != null ? rtpConnectionReference.get() : null;
final AppRTCAudioManager audioManager =
@@ -451,6 +452,15 @@ public class RtpSessionActivity extends XmppActivity
acquireProximityWakeLock();
}
}
+ lockOrientation(media);
+ }
+
+ private void lockOrientation(final Set media) {
+ if (Media.audioOnly(media)) {
+ setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
+ } else {
+ setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
+ }
}
@SuppressLint("WakelockTimeout")
@@ -1414,6 +1424,7 @@ public class RtpSessionActivity extends XmppActivity
final AbstractJingleConnection.Id id = requireRtpConnection().getId();
final boolean verified = requireRtpConnection().isVerified();
final Set media = getMedia();
+ lockOrientation(media);
final ContentAddition contentAddition = getPendingContentAddition();
final Contact contact = getWith();
if (account == id.account && id.with.equals(with) && id.sessionId.equals(sessionId)) {
diff --git a/src/main/java/eu/siacs/conversations/ui/SettingsActivity.java b/src/main/java/eu/siacs/conversations/ui/SettingsActivity.java
index ed10c271f1ab7af3aa609e704196f74c14ef714a..01db1e9982c995c00d16bdf436067457e86c88d9 100644
--- a/src/main/java/eu/siacs/conversations/ui/SettingsActivity.java
+++ b/src/main/java/eu/siacs/conversations/ui/SettingsActivity.java
@@ -32,6 +32,8 @@ import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
import java.io.File;
+import java.net.URI;
+import java.net.URISyntaxException;
import java.security.KeyStoreException;
import java.util.ArrayList;
import java.util.Arrays;
@@ -53,6 +55,7 @@ import eu.siacs.conversations.ui.util.StyledAttributes;
import eu.siacs.conversations.utils.GeoHelper;
import eu.siacs.conversations.utils.ThemeHelper;
import eu.siacs.conversations.utils.TimeFrameUtils;
+import eu.siacs.conversations.xmpp.InvalidJid;
import eu.siacs.conversations.xmpp.Jid;
public class SettingsActivity extends XmppActivity implements OnSharedPreferenceChangeListener {
@@ -585,12 +588,41 @@ public class SettingsActivity extends XmppActivity implements OnSharedPreference
} else if (name.equals(PREVENT_SCREENSHOTS)) {
SettingsUtils.applyScreenshotPreventionSetting(this);
} else if (UnifiedPushDistributor.PREFERENCES.contains(name)) {
+ final String pushServerPreference =
+ Strings.nullToEmpty(preferences.getString(
+ UnifiedPushDistributor.PREFERENCE_PUSH_SERVER,
+ getString(R.string.default_push_server))).trim();
+ if (isJidInvalid(pushServerPreference) || isHttpUri(pushServerPreference)) {
+ Toast.makeText(this,R.string.invalid_jid,Toast.LENGTH_LONG).show();
+ }
if (xmppConnectionService.reconfigurePushDistributor()) {
xmppConnectionService.renewUnifiedPushEndpoints();
}
}
}
+ private static boolean isJidInvalid(final String input) {
+ if (Strings.isNullOrEmpty(input)) {
+ return true;
+ }
+ try {
+ Jid.ofEscaped(input);
+ return false;
+ } catch (final IllegalArgumentException e) {
+ return true;
+ }
+ }
+
+ private static boolean isHttpUri(final String input) {
+ final URI uri;
+ try {
+ uri = new URI(input);
+ } catch (final URISyntaxException e) {
+ return false;
+ }
+ return Arrays.asList("http","https").contains(uri.getScheme());
+ }
+
@Override
public void onResume() {
super.onResume();
diff --git a/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java b/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java
index 2b16138fe8ddcda12bb0fb5a5127b9eebe80f4b4..ff7f39446dd6c407f8f138993f7f47531501c6c1 100644
--- a/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java
+++ b/src/main/java/eu/siacs/conversations/ui/StartConversationActivity.java
@@ -702,8 +702,8 @@ public class StartConversationActivity extends XmppActivity implements XmppConne
mSearchEditText.setHint(R.string.search_contacts);
mSearchEditText.setContentDescription(getString(R.string.search_contacts));
} else {
- mSearchEditText.setHint(R.string.search_bookmarks);
- mSearchEditText.setContentDescription(getString(R.string.search_bookmarks));
+ mSearchEditText.setHint(R.string.search_group_chats);
+ mSearchEditText.setContentDescription(getString(R.string.search_group_chats));
}
}
@@ -841,16 +841,12 @@ public class StartConversationActivity extends XmppActivity implements XmppConne
final AlertDialog.Builder builder = new AlertDialog.Builder(this);
final AtomicBoolean requestPermission = new AtomicBoolean(false);
builder.setTitle(R.string.sync_with_contacts);
- if (QuickConversationsService.isQuicksy()) {
- builder.setMessage(Html.fromHtml(getString(R.string.sync_with_contacts_quicksy)));
- } else {
- builder.setMessage(getString(R.string.sync_with_contacts_long, getString(R.string.app_name)));
- }
+ builder.setMessage(getString(R.string.sync_with_contacts_long, getString(R.string.app_name)));
@StringRes int confirmButtonText;
if (QuickConversationsService.isConversations()) {
confirmButtonText = R.string.next;
} else {
- confirmButtonText = R.string.confirm;
+ confirmButtonText = R.string.agree_and_continue;
}
builder.setPositiveButton(confirmButtonText, (dialog, which) -> {
if (requestPermission.compareAndSet(false, true)) {
@@ -860,9 +856,11 @@ public class StartConversationActivity extends XmppActivity implements XmppConne
builder.setOnDismissListener(dialog -> {
if (QuickConversationsService.isConversations() && requestPermission.compareAndSet(false, true)) {
requestPermissions(new String[]{Manifest.permission.READ_CONTACTS}, REQUEST_SYNC_CONTACTS);
-
}
});
+ if (QuickConversationsService.isQuicksy()) {
+ builder.setNegativeButton(R.string.decline, null);
+ }
builder.setCancelable(QuickConversationsService.isQuicksy());
final AlertDialog dialog = builder.create();
dialog.setCanceledOnTouchOutside(QuickConversationsService.isQuicksy());
@@ -1550,7 +1548,7 @@ public class StartConversationActivity extends XmppActivity implements XmppConne
case 0:
return getResources().getString(R.string.contacts);
case 1:
- return getResources().getString(R.string.bookmarks);
+ return getResources().getString(R.string.group_chats);
default:
return super.getPageTitle(position);
}
diff --git a/src/main/java/eu/siacs/conversations/ui/XmppActivity.java b/src/main/java/eu/siacs/conversations/ui/XmppActivity.java
index 49a6475bd0fe864333ad00a10777b5d445786041..72b9fb293319ac572d5b544acd7de27b96504bc3 100644
--- a/src/main/java/eu/siacs/conversations/ui/XmppActivity.java
+++ b/src/main/java/eu/siacs/conversations/ui/XmppActivity.java
@@ -44,6 +44,8 @@ import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
+import android.widget.Button;
+import android.widget.CheckBox;
import android.widget.ImageView;
import android.widget.Toast;
@@ -87,6 +89,7 @@ import eu.siacs.conversations.utils.AccountUtils;
import eu.siacs.conversations.utils.Compatibility;
import eu.siacs.conversations.utils.ExceptionHelper;
import eu.siacs.conversations.ui.util.SettingsUtils;
+import eu.siacs.conversations.utils.SignupUtils;
import eu.siacs.conversations.utils.ThemeHelper;
import eu.siacs.conversations.xmpp.Jid;
import eu.siacs.conversations.xmpp.OnKeyStatusUpdated;
@@ -99,6 +102,7 @@ public abstract class XmppActivity extends ActionBarActivity {
protected static final int REQUEST_INVITE_TO_CONVERSATION = 0x0102;
protected static final int REQUEST_CHOOSE_PGP_ID = 0x0103;
protected static final int REQUEST_BATTERY_OP = 0x49ff;
+ protected static final int REQUEST_POST_NOTIFICATION = 0x50ff;
public XmppConnectionService xmppConnectionService;
public boolean xmppConnectionServiceBound = false;
@@ -294,6 +298,66 @@ public abstract class XmppActivity extends ActionBarActivity {
builder.create().show();
}
+ protected void deleteAccount(final Account account) {
+ this.deleteAccount(account, null);
+ }
+
+ protected void deleteAccount(final Account account, final Runnable postDelete) {
+ final AlertDialog.Builder builder = new AlertDialog.Builder(this);
+ final View dialogView = getLayoutInflater().inflate(R.layout.dialog_delete_account, null);
+ final CheckBox deleteFromServer =
+ dialogView.findViewById(R.id.delete_from_server);
+ builder.setView(dialogView);
+ builder.setTitle(R.string.mgmt_account_delete);
+ builder.setPositiveButton(getString(R.string.delete),null);
+ builder.setNegativeButton(getString(R.string.cancel), null);
+ final AlertDialog dialog = builder.create();
+ dialog.setOnShowListener(dialogInterface->{
+ final Button button = dialog.getButton(AlertDialog.BUTTON_POSITIVE);
+ button.setOnClickListener(v -> {
+ final boolean unregister = deleteFromServer.isChecked();
+ if (unregister) {
+ if (account.isOnlineAndConnected()) {
+ deleteFromServer.setEnabled(false);
+ button.setText(R.string.please_wait);
+ button.setEnabled(false);
+ xmppConnectionService.unregisterAccount(account, result -> {
+ if (result) {
+ dialog.dismiss();
+ if (postDelete != null) {
+ postDelete.run();
+ }
+ if (xmppConnectionService.getAccounts().size() == 0 && Config.MAGIC_CREATE_DOMAIN != null) {
+ final Intent intent = SignupUtils.getSignUpIntent(this);
+ intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
+ startActivity(intent);
+ }
+ } else {
+ deleteFromServer.setEnabled(true);
+ button.setText(R.string.delete);
+ button.setEnabled(true);
+ Toast.makeText(this,R.string.could_not_delete_account_from_server,Toast.LENGTH_LONG).show();
+ }
+ });
+ } else {
+ Toast.makeText(this,R.string.not_connected_try_again,Toast.LENGTH_LONG).show();
+ }
+ } else {
+ xmppConnectionService.deleteAccount(account);
+ dialog.dismiss();
+ if (xmppConnectionService.getAccounts().size() == 0 && Config.MAGIC_CREATE_DOMAIN != null) {
+ final Intent intent = SignupUtils.getSignUpIntent(this);
+ intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
+ startActivity(intent);
+ } else if (postDelete != null) {
+ postDelete.run();
+ }
+ }
+ });
+ });
+ dialog.show();
+ }
+
abstract void onBackendConnected();
protected void registerListeners() {
@@ -778,7 +842,7 @@ public abstract class XmppActivity extends ActionBarActivity {
}
protected boolean hasStoragePermission(int requestCode) {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) {
if (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, requestCode);
return false;
diff --git a/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java b/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java
index 5eae1588399a6f2db712f43bf48b7c5a5d19318c..9989c3d6409e2cd41b504b496581cb02e0d79c9a 100644
--- a/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java
+++ b/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java
@@ -10,6 +10,7 @@ import android.graphics.drawable.Drawable;
import android.graphics.Typeface;
import android.net.Uri;
import android.os.AsyncTask;
+import android.os.Build;
import android.preference.PreferenceManager;
import android.text.Spannable;
import android.text.SpannableString;
@@ -1168,7 +1169,7 @@ public class MessageAdapter extends ArrayAdapter {
}
public void openDownloadable(Message message) {
- if (ContextCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU && ContextCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
ConversationFragment.registerPendingMessage(activity, message);
ActivityCompat.requestPermissions(activity, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, ConversationsActivity.REQUEST_OPEN_MESSAGE);
return;
diff --git a/src/main/java/eu/siacs/conversations/ui/service/AudioPlayer.java b/src/main/java/eu/siacs/conversations/ui/service/AudioPlayer.java
index 08edfadbe70726b73a07a2a6107d5ff760f611ea..8475688a62893778f7a11579f60e78c17f998438 100644
--- a/src/main/java/eu/siacs/conversations/ui/service/AudioPlayer.java
+++ b/src/main/java/eu/siacs/conversations/ui/service/AudioPlayer.java
@@ -145,7 +145,7 @@ public class AudioPlayer implements View.OnClickListener, MediaPlayer.OnCompleti
}
private void startStop(ImageButton playPause) {
- if (ContextCompat.checkSelfPermission(messageAdapter.getActivity(), Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
+ if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU && ContextCompat.checkSelfPermission(messageAdapter.getActivity(), Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
pendingOnClickView.push(new WeakReference<>(playPause));
ActivityCompat.requestPermissions(messageAdapter.getActivity(), new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, ConversationsActivity.REQUEST_PLAY_PAUSE);
return;
diff --git a/src/main/java/eu/siacs/conversations/ui/widget/DialpadView.java b/src/main/java/eu/siacs/conversations/ui/widget/DialpadView.java
index 2a2846d35a2d93c664dee9eb6edaf7cf0915c5bd..a16a16bc2a69c97e5cbaad17133d8a4842603495 100644
--- a/src/main/java/eu/siacs/conversations/ui/widget/DialpadView.java
+++ b/src/main/java/eu/siacs/conversations/ui/widget/DialpadView.java
@@ -22,11 +22,12 @@ import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.View;
+import androidx.core.util.Consumer;
+
import androidx.constraintlayout.widget.ConstraintLayout;
import androidx.databinding.DataBindingUtil;
import eu.siacs.conversations.databinding.DialpadBinding;
import eu.siacs.conversations.R;
-import eu.siacs.conversations.utils.Consumer;
public class DialpadView extends ConstraintLayout implements View.OnClickListener {
diff --git a/src/main/java/eu/siacs/conversations/utils/Compatibility.java b/src/main/java/eu/siacs/conversations/utils/Compatibility.java
index 79a07afd02a4a3ecee00949a66fb47b1594a9abc..4853928423c9e35515f74270ac847033d32df5f5 100644
--- a/src/main/java/eu/siacs/conversations/utils/Compatibility.java
+++ b/src/main/java/eu/siacs/conversations/utils/Compatibility.java
@@ -40,8 +40,8 @@ public class Compatibility {
private static final List UNUSED_SETTINGS_PRE_TWENTYSIX =
Collections.singletonList("message_notification_settings");
- public static boolean hasStoragePermission(Context context) {
- return Build.VERSION.SDK_INT < Build.VERSION_CODES.M
+ public static boolean hasStoragePermission(final Context context) {
+ return Build.VERSION.SDK_INT < Build.VERSION_CODES.M || Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU
|| ContextCompat.checkSelfPermission(
context, android.Manifest.permission.WRITE_EXTERNAL_STORAGE)
== PackageManager.PERMISSION_GRANTED;
diff --git a/src/main/java/eu/siacs/conversations/utils/Consumer.java b/src/main/java/eu/siacs/conversations/utils/Consumer.java
deleted file mode 100644
index 8f6d2d89939164ad869ce9d86e49489e808b75f9..0000000000000000000000000000000000000000
--- a/src/main/java/eu/siacs/conversations/utils/Consumer.java
+++ /dev/null
@@ -1,6 +0,0 @@
-package eu.siacs.conversations.utils;
-
-// Based on java.util.function.Consumer to avoid Android 24 dependency
-public interface Consumer {
- void accept(T t);
-}
diff --git a/src/main/java/eu/siacs/conversations/utils/IrregularUnicodeDetector.java b/src/main/java/eu/siacs/conversations/utils/IrregularUnicodeDetector.java
index d3aade355c550feccc8068d93571f7571a4a5f38..1c94225b1262ba374078b9595754e649d8b491c0 100644
--- a/src/main/java/eu/siacs/conversations/utils/IrregularUnicodeDetector.java
+++ b/src/main/java/eu/siacs/conversations/utils/IrregularUnicodeDetector.java
@@ -60,7 +60,7 @@ public class IrregularUnicodeDetector {
private static final Map NORMALIZATION_MAP;
private static final LruCache CACHE = new LruCache<>(4096);
- private static final List AMBIGUOUS_CYRILLIC = Arrays.asList("а","г","е","ѕ","і","q","о","р","с","у");
+ private static final List AMBIGUOUS_CYRILLIC = Arrays.asList("а","г","е","ѕ","і","ј","ԛ","о","р","с","у","х");
static {
Map temp = new HashMap<>();
diff --git a/src/main/java/eu/siacs/conversations/utils/PermissionUtils.java b/src/main/java/eu/siacs/conversations/utils/PermissionUtils.java
index 004676156f2ffb8d0c98a2256a015f32287a6cbc..dd74dc57c3ea5053b93c8c03dd557f046eac09e2 100644
--- a/src/main/java/eu/siacs/conversations/utils/PermissionUtils.java
+++ b/src/main/java/eu/siacs/conversations/utils/PermissionUtils.java
@@ -72,7 +72,7 @@ public class PermissionUtils {
public static boolean hasPermission(
final Activity activity, final List permissions, final int requestCode) {
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) {
final ImmutableList.Builder missingPermissions = new ImmutableList.Builder<>();
for (final String permission : permissions) {
if (ActivityCompat.checkSelfPermission(activity, permission)
diff --git a/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java b/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java
index abca4f112ccaec535136f583ba8e248e04346bd4..37034fa3155edc71da36ea77b60e6827c270d5c9 100644
--- a/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java
+++ b/src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java
@@ -164,6 +164,7 @@ public class XmppConnection implements Runnable {
private boolean quickStartInProgress = false;
private boolean isBound = false;
private Element streamFeatures;
+ private Element boundStreamFeatures;
private String streamId = null;
private int stanzasReceived = 0;
private int stanzasSent = 0;
@@ -778,8 +779,11 @@ public class XmppConnection implements Runnable {
+ ": server sent bound and resumed in SASL2 success");
throw new StateChangingException(Account.State.INCOMPATIBLE_SERVER);
}
- final boolean processNopStreamFeatures;
if (resumed != null && streamId != null) {
+ if (this.boundStreamFeatures != null) {
+ this.streamFeatures = this.boundStreamFeatures;
+ Log.d(Config.LOGTAG, "putting previous stream features back in place: " + XmlHelper.printElementNames(this.boundStreamFeatures));
+ }
processResumed(resumed);
} else if (failed != null) {
processFailed(failed, false); // wait for new stream features
@@ -787,6 +791,8 @@ public class XmppConnection implements Runnable {
if (bound != null) {
clearIqCallbacks();
this.isBound = true;
+ processNopStreamFeatures();
+ this.boundStreamFeatures = this.streamFeatures;
final Element streamManagementEnabled =
bound.findChild("enabled", Namespace.STREAM_MANAGEMENT);
final Element carbonsEnabled = bound.findChild("enabled", Namespace.CARBONS);
@@ -806,9 +812,6 @@ public class XmppConnection implements Runnable {
features.carbonsEnabled = true;
}
sendPostBindInitialization(waitForDisco, carbonsEnabled != null);
- processNopStreamFeatures = true;
- } else {
- processNopStreamFeatures = false;
}
final HashedToken.Mechanism tokenMechanism;
if (SaslMechanism.hashedToken(currentSaslMechanism)) {
@@ -830,10 +833,6 @@ public class XmppConnection implements Runnable {
+ ": no response to our hashed token request "
+ this.hashTokenRequest);
}
- // a successful resume will not send stream features
- if (processNopStreamFeatures) {
- processNopStreamFeatures();
- }
}
mXmppConnectionService.databaseBackend.updateAccount(account);
this.quickStartInProgress = false;
@@ -1397,6 +1396,7 @@ public class XmppConnection implements Runnable {
throw new StateChangingException(Account.State.INCOMPATIBLE_SERVER);
}
} else {
+
Log.d(
Config.LOGTAG,
account.getJid().asBareJid()
@@ -1553,7 +1553,9 @@ public class XmppConnection implements Runnable {
.addChild("device")
.setContent(String.format("%s %s", Build.MANUFACTURER, Build.MODEL));
}
- if (bind != null) {
+ // do not include bind if 'inlinestreamManagment' is missing and we have a streamId
+ final boolean mayAttemptBind = streamId == null || inlineStreamManagement;
+ if (bind != null && mayAttemptBind) {
authenticate.addChild(generateBindRequest(bind));
}
if (inlineStreamManagement && streamId != null) {
@@ -2451,6 +2453,7 @@ public class XmppConnection implements Runnable {
private void resetStreamId() {
this.streamId = null;
+ this.boundStreamFeatures = null;
}
private List> findDiscoItemsByFeature(final String feature) {
diff --git a/src/main/java/eu/siacs/conversations/xmpp/jingle/ToneManager.java b/src/main/java/eu/siacs/conversations/xmpp/jingle/ToneManager.java
index 954ab6eb1c6034c777a1b936ea58a51539c39e34..037bccd44abd9679437b0873330ce879a9aa87e7 100644
--- a/src/main/java/eu/siacs/conversations/xmpp/jingle/ToneManager.java
+++ b/src/main/java/eu/siacs/conversations/xmpp/jingle/ToneManager.java
@@ -160,17 +160,24 @@ class ToneManager {
if (currentTone != null) {
currentTone.cancel(true);
}
- if (toneGenerator != null) {
- // catch race condition with already-released generator
- try {
- toneGenerator.stopTone();
- } catch (final RuntimeException e) { }
+ stopTone(toneGenerator);
+ }
+
+ private static void stopTone(final ToneGenerator toneGenerator) {
+ if (toneGenerator == null) {
+ return;
+ }
+ try {
+ toneGenerator.stopTone();
+ } catch (final RuntimeException e) {
+ Log.w(Config.LOGTAG,"tone has already stopped");
}
}
public void startTone(final int toneType, final int durationMs) {
if (this.toneGenerator != null) {
this.toneGenerator.release();
+
}
final AudioManager audioManager = ContextCompat.getSystemService(context, AudioManager.class);
final boolean ringerModeNormal = audioManager == null || audioManager.getRingerMode() == AudioManager.RINGER_MODE_NORMAL;
diff --git a/src/main/res/layout/activity_contact_details.xml b/src/main/res/layout/activity_contact_details.xml
index a50f417d21e621e25d1bac75d45124ec755fe168..4b32f857f9d564b6093498f8195b6837cff6b5a5 100644
--- a/src/main/res/layout/activity_contact_details.xml
+++ b/src/main/res/layout/activity_contact_details.xml
@@ -36,11 +36,13 @@
android:layout_height="wrap_content"
android:padding="@dimen/card_padding_regular">
-
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/res/layout/dialog_join_conference.xml b/src/main/res/layout/dialog_join_conference.xml
index e4d4b8000b84bcb2b0708d535fbc770f67d283a8..f526ffd9918065a65bf3458f1397b7359a4e7792 100644
--- a/src/main/res/layout/dialog_join_conference.xml
+++ b/src/main/res/layout/dialog_join_conference.xml
@@ -46,6 +46,6 @@
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:checked="true"
- android:text="@string/save_as_bookmark"/>
+ android:text="@string/save_as_group_chat"/>
diff --git a/src/main/res/layout/user_preview.xml b/src/main/res/layout/user_preview.xml
index 4ba4fc9c370aa6e42abc5d1c8a4a67169d4933a3..f33d487dc7998cd457caf2d859b185bc5ae69866 100644
--- a/src/main/res/layout/user_preview.xml
+++ b/src/main/res/layout/user_preview.xml
@@ -1,11 +1,12 @@
-
+
-
+
+
أنشر المفتاح العمومي OpenPGPحذف مفتاح OpenPGP العموميتفعيل الحساب
- هل أنت متأكد ؟تسجيل صوتعنوان XMPPاحجب عنوان XMPP
@@ -183,7 +182,6 @@
جارإحضار المفاتيح ...تمفك الشيفرة
- الفواصل المرجعيةبحثقم بإدخال جهة إتصالحذف جهة الإتصال
@@ -359,7 +357,6 @@
التي تم استعمالها كثيرا مؤخراإختر حركة سريعةالبحث في جهات الإتصال
- البحث في الفواصل المرجعيةإبعث برسالة على الخاصإسم المستخدمإسم المستخدم
diff --git a/src/main/res/values-bg/strings.xml b/src/main/res/values-bg/strings.xml
index 84ae4b8036e52d5cac66aa9ee8d48083e26607ec..04f3c7369f178b830b98b43543b0df0e0a49374d 100644
--- a/src/main/res/values-bg/strings.xml
+++ b/src/main/res/values-bg/strings.xml
@@ -184,7 +184,6 @@
Наистина ли искате да премахнете своя публичен OpenPGP ключ от известяването си за присъствие?\nКонтактите Ви вече няма да могат да Ви изпращат съобщение, шифровани чрез OpenPGP.Публичният OpenPGP ключ е публикуван.Активиране на профила
- Наистина ли искате това?Изтриването на профила Ви ще изтрие и цялата история на разговорите ВиЗапис на гласXMPP адрес
@@ -227,7 +226,6 @@
Изтегляне на ключове…ГотовоДешифроване
- ОтметкиТърсенеВъведете контактИзтриване на контакта
@@ -452,7 +450,6 @@
Използвани наскороИзберете бързо действиеТърсене в контактите
- Търсене в отметкитеИзпращане на лично съобщение%1$s напусна груповия разговорПотребителско име
@@ -512,7 +509,6 @@
Дайте на %1$s разрешение за достъп до камератаСинхронизиране с контактите%1$s иска разрешение за достъп до адресната Ви книга, за да потърси съвпадения със списъка от контакти в XMPP.\nТова ще покаже пълните имена и аватари на контактите Ви.\n\n%1$s само ще прочете адресната книга и ще потърси съвпадения на това устройство – нищо няма да се качва на сървъра Ви.
- Ние няма да пазим копия на тези телефонни номера.\n\nЗа повече информация, прочетете декларацията ни за поверителност.
Сега ще Ви помолим да дадете достъп до контактите си.]]>Известяване за всички съобщенияИзвестяване само при споменаванеИзвестията са изключени
@@ -535,7 +531,6 @@
Грешка в сигурността: неправилен достъп до файл!Няма намерено приложение за споделяне на адресаСподеляне на адреса с…
- Трябва да се регистрирате чрез телефонния си номер, след което Quicksy автоматично ще претърси телефонните номера в указателя Ви и ще Ви предложи контакти в приложението.
Регистрирайки се, Вие се съгласявате с нашата декларация за поверителност.]]>Съгласяване и продължаванеНа conversations.im има ръководство за създаване на профил.\nИзбирайки conversations.im за доставчик, Вие ще можете да общувате и с потребители на други доставчици, като им предоставите своя пълен адрес за XMPP.Пълният Ви XMPP адрес ще бъде: %s
@@ -869,7 +864,6 @@
Откриване на каналиТърсене на каналиВъзможно нарушаване на декларацията за поверителност!
- search.jabber.network.
Ако използвате тази функционалност, Вашият IP адрес и въведеният текст за търсене ще бъдат изпратени до сървъра на тази услуга. Разгледайте нейната Декларация за поверителност за повече информация.]]>Вече имам профилДобавяне на съществуващ профилРегистриране на нов профил
@@ -916,10 +910,8 @@
Текущо видео-обажданеИзключете Tor, за да правите обажданияВходящо обаждане
- Входящо обаждане · %sПропуснато обаждане · %sИзходящо обаждане
- Изходящо обаждане · %sПропуснато обажданеГласово обажданеВидео обаждане
diff --git a/src/main/res/values-bn-rIN/strings.xml b/src/main/res/values-bn-rIN/strings.xml
index bd426b737a968a48aa4ec5f7391761337bbeb759..d4a0639a96c48b96776b603d33a7e1f2dc3e4e93 100644
--- a/src/main/res/values-bn-rIN/strings.xml
+++ b/src/main/res/values-bn-rIN/strings.xml
@@ -102,7 +102,6 @@
প্রস্তাব দেওয়া হচ্ছে...অপেক্ষা করা হচ্ছে...কোনো OpenPGP Key খুঁজে পাওয়া যায়নি
- বুকমার্ক করা যেগুলিখোঁজা যাকএই ব্যক্তিকে ব্লক্ করা যাকব্লকটা সরিয়ে ফেলা যাক
diff --git a/src/main/res/values-ca/strings.xml b/src/main/res/values-ca/strings.xml
index 49363d74ae54fae3c95ee27d11f9e93fa02d38cb..4cc207d53569eaf20c8c42e11cefdb360d120153 100644
--- a/src/main/res/values-ca/strings.xml
+++ b/src/main/res/values-ca/strings.xml
@@ -176,7 +176,6 @@
Esteu segur que voleu eliminar la vostra clau pública d\'OpenPGP de l\'anunci de la vostra presència?\nEls vostres contactes ja no podran enviar missatges xifrats amb OpenPGP.S\'ha publicat la clau pública de OpenPGP.Habilita el compte
- N\'esteu segur?En esborrar el teu compte s\'esborra tot l\'historial de conversesEnregistra veuAdreça XMPP
@@ -217,7 +216,6 @@
S\'estan obtenint les claus…FetDesxifra
- MarcadorsCercaIntroduïu un contacteSuprimeix el contacte
@@ -442,7 +440,6 @@
Ús més recentTrieu una acció ràpidaBuscar contactes
- Buscar favoritsEnvia un missatge privat%1$s ha abandonat el xat de grupNom d\'usuari
@@ -497,7 +494,6 @@
Imatges compartides amb %sText compartit amb %sSincronitza amb contactes
- No guardarem una còpia d\'aquests números de telèfon.\n\nPer a més informació llegeixi la nostra política de privadesa
Ara se us demanarà que concediu permís per accedir als vostres contactes.]]>Notifica a tots els missatgesNotifica només quan s\'esmentaS\'han desactivat les notificacions
@@ -518,7 +514,6 @@
Error de seguretat: Accés invàlid a un arxiu!No s\'ha trobat cap aplicació per a compartir URIComparteix l\'URI amb…
- Si es registra amb el seu número de telèfon i Quicksy,--basant-se en els números de telèfon de la seva agenda--li suggereix automàticament possibles contactes.
En inscriure\'s, accepta nostra política de privacitat.]]>Acceptar i continuarS\'ha establert una guia per a la creació de comptes en conversations.im.¹\nEn triar conversations.im com a proveïdor podràs comunicar-te amb usuaris d\'altres proveïdors donant-los la teva adreça XMPP completa.La seva adreça XMPP completa serà: %s
@@ -848,7 +843,6 @@ que l\'administrador del servidor llegeixi els missatges, però pot ser l\'únic
Descobreix canalsBuscar canalsPossible violació de la privacitat.
- search.jabber.network.
L\'ús d\'aquesta funció transmetrà la seva adreça IP i els termes de cerca a aquest servei. Consulti la seva Política de Privacitat per a obtenir més informació.]]>Ja tinc un compteAfegir compte existentRegistrar un nou compte
@@ -894,9 +888,7 @@ que l\'administrador del servidor llegeixi els missatges, però pot ser l\'únic
Trucada de vídeo en cursDesactivar Tor per a fer trucadesTrucada entrant
- Trucada entrant · %sTrucada sortint
- Trucada sortint · %sTrucada perdudaTrucada de veuTrucada de vídeo
diff --git a/src/main/res/values-cs/strings.xml b/src/main/res/values-cs/strings.xml
index 1b4270b0ab27ed4e5ea681004ca5a50a04d12343..b979e5cb45d20b83cd92c51f5f0ab79ddab72594 100644
--- a/src/main/res/values-cs/strings.xml
+++ b/src/main/res/values-cs/strings.xml
@@ -31,16 +31,9 @@
před %d minutami%d nepřečtená konverzace
-
-
%d nepřečtené konverzace
-
-
%d nepřečtených konverzací
-
-
%d nepřečtených konverzací
-
odesílám…Dešifrování zprávy. Chvíli strpení…
@@ -95,7 +88,9 @@
Smaže historii konverzacíOpravdu chcete smazat všechny zprávy v této konverzace?\n\nVarováníToto neovlivní zprávy uložené na jiných zařízeních či serverech.Smazat soubor
- Opravdu chcete smazat tento soubor?\n\nVarováníToto neovlivní kopie uložené na jiných zařízeních či serverech.
+ Opravdu chcete smazat tento soubor\?
+\n
+\nVarováníToto neovlivní kopie uložené na jiných zařízeních či serverech. Poté zavřít tuto konverzaciVybrat přístrojOdeslat nešifrovanou zprávu
@@ -132,7 +127,7 @@
Zvuk upozornění na nové zprávyVyzváněcí tón pro příchozí hovoryČasová lhůta
- Časová lhůta po kterou bude Conversations v tichém režimu při zaznamenání aktivity na jiném přístroji
+ Časová lhůta po kterou bude Conversations v tichém režimu při zaznamenání aktivity na jiném přístroji.RozšířenéNeodesílat detaily o pádu aplikaceZasíláním detailů o důvodu selhání pomůžete dalšímu vývoji
@@ -188,8 +183,7 @@
Skutečně chcete odstranit Váš současný veřejný OpenPGP klíč?\nVaše kontakty Vám nebudou moci nadále posílat zprávy šifrované pomocí OpenPGP. OpenPGP veřejný klíč zveřejněn.Povolit účet
- Jste si jisti?
- Smazáním Vašeho účtu dojde k vymazání celé Vaší historie konverzací.
+ Opravdu chcete svůj účet smazat\? Smazáním Vašeho účtu dojde k vymazání celé Vaší historie konverzacíNahrát hlasAdresa XMPPBlokovat XMPP adresu
@@ -230,7 +224,6 @@
Získávání klíčů…HotovoDešifrovat
- ZáložkyHledatVložit kontaktSmazat kontakt
@@ -281,7 +274,9 @@
PovolitPožadováno heslo ke skupinovému chatuVložit heslo
- Nejdříve, prosím, od kontaktu vyžádejte zasílání informací o změně stavu.\n\nTo bude využito k identifikaci aplikace, kterou kontakt používá.
+ Nejdříve, prosím, od kontaktu vyžádejte zasílání informací o změně stavu.
+\n
+\nTo bude využito k identifikaci aplikace, kterou kontakt používá.Ihned vyžádatIgnorovatVarování: Odeslání bez povolení vzájemného informování o změně stavu může způsobit nečekané potíže.\n\nJděte do \"Detaily kontaktu\" a ověřte nastavení aktualizace stavu.
@@ -320,8 +315,8 @@
Adresa XMPP zkopírována do schránkyChybové hlášení zkopírováno do schránkywebová adresa
- Skenovat 2D kód
- Zobrazit 2D kód
+ Skenovat QR kód
+ Zobrazit QR kódZobrazit seznam blokovanýchDetaily účtuPotvrdit
@@ -335,7 +330,7 @@
Soubory zálohy byly uloženy do %sObnovuji zálohuZáloha obnovena
- Nezapomeňte povolit účet
+ Nezapomeňte si účet aktivovat.Vybrat souborPřijímám %1$s (%2$d%% dokončeno)Stáhnout %s
@@ -457,7 +452,6 @@
Naposledy použitáVybrat rychlou akciProhledat kontakty
- Prohledat záložkyPoslat soukromou zprávu%1$s opustil(a) skupinový chatUživatelské jméno
@@ -518,7 +512,6 @@
Povolit %1$s přístup ke kameřeSynchronizovat s kontakty%1$s požaduje přístup k Vašim kontaktům za účelem spárování s Vašimi XMPP kontakty.\nU kontaktů se pak zobrazí celé jméno a avatar.\n\n%1$s bude kontakty pouze číst a párovat místně v zařízení, aniž by došlo k nahrání těchto dat na server.
- Tyto kontaktní údaje nebudeme kopírovat a ukládat.\n\nVíce informací najdete v našich zásadách pro ochranu osobních údajů.
Nyní budete požádáni o udělení přístupu k Vašim kontaktům.]]>Upozorňovat na všechny zprávyUpozornit pouze, když mě někdo zmíníUpozornění vypnuta
@@ -529,7 +522,9 @@
Pouze pro velké obrázkyPovolena optimalizace využití baterieVaše zařízení používá agresivní optimalizaci výdrže baterie pro %1$s, což může vést k opožděným upozorněním nebo dokonce ke ztrátě některých zpráv.\nDoporučujeme optimalizaci vypnout.
- Vaše zařízení používá agresivní optimalizaci výdrže baterie pro %1$s, což může vést k opožděným upozorněním nebo dokonce ke ztrátě některých zpráv.\nNyní budete vyzváni k jejímu vypnutí.
+ Vaše zařízení používá agresivní optimalizaci výdrže baterie pro %1$s, což může vést k opožděným upozorněním nebo dokonce ke ztrátě některých zpráv.
+\n
+\nNyní budete vyzváni k jejímu vypnutí.VypnoutVybraný obsah je příliš dlouhý(Žádné aktivované účty)
@@ -538,18 +533,18 @@
Odeslat opravenou zprávuTento osobní otisk byl již bezpečně ověřen. Ťuknutím na \"Hotovo\" pouze potvrzujete, že %s je členem tohoto skupinového chatu.Tento účet byl vypnut
- Bezpečnostní chyba: Neplatný přístup k souboru
+ Bezpečnostní chyba: Neplatný přístup k souboru!Nebyla nalezena aplikace umožňující sdílení URISdílet URI s…
- Po zadání Vašeho telefonního čísla Vám Quicksy automaticky—na základě čísel ve Vašem telefonním seznamu—navrhne možné kontakty.
Přihlášením se do služby potvrzujete souhlas s našimi zásadami pro ochranu osobních údajů.]]>Souhlasit a pokračovat
- Průvodce je nastaven, aby vytvořil účet na serveru conversations.im.¹\nPokud si vyberete conversations.im jako svého poskytovatele, budete moci komunikovat s uživateli u ostatních poskytovatelů, budou-li mít vaši celou XMPP adresu.
+ Průvodce je nastaven, aby vytvořil účet na serveru conversations.im.
+\nPokud si vyberete conversations.im jako svého poskytovatele, budete moci komunikovat s uživateli u ostatních poskytovatelů, budou-li mít vaši celou XMPP adresu.Vaše celá XMPP adresa: %sVytvořit účetPoužít vlastního provozovateleZadejte své uživatelské jménoSpravovat viditelnost ručně
- Nastavit viditelnost při úpravě statusové zprávy
+ Nastavit svou viditelnost při úpravě statusové zprávy.Stavová zprávaVolný pro chatOnline
@@ -604,7 +599,7 @@
Nebylo možné vytvořit dočasný souborTento přístroj byl ověřenKopírovat identifikátor
- Oveřil(a) jste všechny OMEMO klíče, které vlastníte.
+ Oveřil(a) jste všechny OMEMO klíče, které vlastníteKód neobsahuje otisk pro tuto konverzaci.Ověřené otiskyNaskenovat kód kontaktu pomocí fotoaparátu
@@ -699,7 +694,7 @@
Přijmout neznámý certifikát?Certifikát není podepsaný žádnou známou certifikační autoritou.Přijmout nesouhlasící jméno serveru?
- Server se nemohl prokázat jako \"%s\". Certifikát je platný pouze pro:
+ Server se nemohl prokázat jako \"%s\". Certifikát je platný pouze pro:Chcete se přesto připojit?Detaily certifikátu:Jednou
@@ -719,10 +714,10 @@
OMEMO šifrováníOMEMO bude vždy použito k šifrování zpráv v jednotlivých konverzacích i v soukromých skupinách.OMEMO bude použito jako výchozí pro nové konverzace.
- OMEMO bude nutné zapnout ručně pro každou každou novou konverzaci.
+ OMEMO bude nutné zapnout ručně pro každou novou konverzaci.Vytvořit zástupceVelikost písma
- Relativní velikost písma v aplikaci
+ Relativní velikost písma v aplikaci.Zapnuto jako výchozíVypnuto jako výchozíMalé
@@ -878,8 +873,7 @@
PřiložitNajít kanályProhledat kanály
- Možné porušení soukromí
- search.jabber.network.
Používání této služby odešle vaši IP adresu a vyhledávaný termín této službě. Pro více informací konzultujte jejich Zásady ochrany osobních údajů.]]>
+ Možné porušení soukromí!Již mám účetPřidat existující účetVytvořit nový účet
@@ -923,10 +917,8 @@
Probíhající videohovorZakázat hovory přes TorPříchozí hovor
- Příchozí hovor · %sZmeškané volání · %sOdchozí hovor
- Odchozí hovor · %sZmeškané voláníHovorVideohovor
@@ -973,4 +965,57 @@
Žádný z aktivních účtů tuto funkci nepodporujeZálohování zahájeno. Budete upozorněni, jakmile bude záloha hotova.Nelze povolit video.
-
+
+ %1$d zmeškaný hovor od %2$s
+ %1$d zmeškané hovory od %2$s
+ %1$d zmeškaných hovorů od %2$s
+
+
+ %d zmeškaný hovor
+ %d zmeškané hovory
+ %d zmeškaných hovorů
+
+ Synchronizovat se záložkami
+
+ %1$d zmeškaný hovor od %2$d kontaktu
+ %1$d zmeškané hovory od %2$d kontaktů
+ %1$d zmeškaných hovorů od %2$d kontaktů
+
+ Stahování selhalo: Neplatný soubor
+ Chystáte se ověřit OMEMO klíče vlastního účtu. To je bezpečné pouze v případě, že jste následovali odkaz z důvěryhodného zdroje a pokud jste ho zveřejnili Vy sami.
+ Fixovat polohu
+ Skupinové chaty
+ Zmeškané hovory
+ Uložit jako skupinový chat
+ Tento skupinový chat jste opustili z technických důvodů
+ Vyhledávání kanálů používá službu třetí strany jménem <a href=https://search.jabber.network>search.jabber.network</a>.<br><br>Používání této služby odešle vaši IP adresu a vyhledávaný termín této službě. Pro více informací konzultujte jejich <a href=https://search.jabber.network/privacy>Zásady ochrany osobních údajů</a>.
+ Znovu spojuji hovor
+ Slepě důvěřované klíče OMEMO, které mohou být někdo jiný nebo někým zasaženy.
+ Příchozí hovor ·(%s) · %s
+ Nedůvěryhodný řetězec certifikátů
+ Zprávy se nenačítají kvůli v aplikaci nastavené době uchování.
+ Vektorová ilustrace
+ multimediální soubor
+ Zabránit snímkům obrazovky
+ Skrýt obsah aplikace v přepínači aplikací a blokovat snímky obrazovky
+ Nekompatibilní klient
+ Obnovování připojení
+ Problém s ověřením
+ Přepnout na videohovor\?
+ Odchozí hovor · %s
+ Přepnout na video
+ Odmítnout žádosti o přepnutí na video
+ XEP-0215: External Service Discovery
+ Pokračovat
+ e-kniha
+ Hledat skupinové chaty
+ Uvolnit polohu
+ jabber.network
+ Znovu spojuji videohovor
+ Odchozí hovor · (%s) · %s
+ Dokument prostého textu
+ Registrace účtů nejsou podporovány
+ Nebyla nalezena žádná XMPP adresa
+ Smazat avatar
+ Dočasné selhání autentizace
+
\ No newline at end of file
diff --git a/src/main/res/values-da-rDK/strings.xml b/src/main/res/values-da-rDK/strings.xml
index 990feea2356859d3c5e1d7bcf742db9daaefaace..215d1ca5ab7b33666384aec901790813de620781 100644
--- a/src/main/res/values-da-rDK/strings.xml
+++ b/src/main/res/values-da-rDK/strings.xml
@@ -31,10 +31,7 @@
%d minutter siden%d ulæst samtale
-
-
%d ulæst samtaler
-
sender…Dekrypter besked. Vent venligst…
@@ -89,7 +86,9 @@
Ryd samtalehistorikVil du slette alle beskeder i denne samtale?\n\nAdvarsel: Dette vil ikke påvirke beskeder gemt på andre enheder eller servere.Slet fil
- Er du sikker på, at du vil slette denne fil?\n\nAdvarsel: Dette sletter ikke kopier af denne fil, der er gemt på andre enheder eller servere.
+ Er du sikker på, at du vil slette denne fil\?
+\n
+\nAdvarsel: Dette sletter ikke kopier af denne fil, der er gemt på andre enheder eller servere. Luk efterfølgende denne samtaleVælg enhedSend ukrypteret besked
@@ -129,14 +128,14 @@
Tidsintervallet hvor notifikationer er lydløs efter at have registreret aktivitet på en af dine andre enheder.AdvanceretSend aldrig fejlrapporter
- Ved at indsende \"stack traces\" hjælper du udviklingen
+ Ved at indsende stakspor hjælper du udviklingenBekræft beskederLad dine kontakter vide når du har modtaget og læst deres beskederForbyd skærmbilledeSkjul app indhold i app-skifteren og bloker skærmbillederUI
- OpenKeychain producerede en fejl
- Dårlig nøgle til kryptering
+ OpenKeychain producerede en fejl.
+ Dårlig nøgle til kryptering.AccepterDer er sket en fejlFejl
@@ -183,10 +182,9 @@
Offentliggør OpenPGP offentlig nøgleFjern OpenPGP offentlig nøgleEr du sikker på, at du vil fjerne din OpenPGP-nøgle fra din nærværsmeddelelse?\nDine kontakter kan ikke længere sende dig OpenPGP-krypterede meddelelser.
- OpenPGP offentlig nøgle er offentliggjort
+ OpenPGP offentlig nøgle er offentliggjort.Aktiver konto
- Er du sikker?
- Sletning af din konto sletter hele din samtalehistorik
+ Er du sikker på, at du vil slette din konto\? Sletning af din konto sletter hele din samtalehistorikOptag lydXMPP-adresseBloker XMPP-adresse
@@ -228,7 +226,6 @@
Henter nøgler…FærdigDekrypter
- BogmærkerFindIndtast kontaktSlet kontakt
@@ -423,7 +420,7 @@
PDF dokumentAndroid AppKontakt
- Avatar er blevet offentliggjort
+ Avatar er blevet offentliggjort!Sender %sTilbyder %sSkjul offline
@@ -458,7 +455,6 @@
Senest brugtVælg hurtig handlingFind kontakter
- Find bogmærkerSend privat besked%1$s har forladt gruppechattenBrugernavn
@@ -519,7 +515,6 @@
Giv %1$s adgang til kameraetSynkroniser med kontakter%1$s ønsker tilladelse til at få adgang til din adressebog for at matche den med din XMPP kontaktliste.\nDette vil vise dine kontakters fulde navne og avatarer.\n\n%1$s læser kun din adressebog og matcher den lokalt uden at uploade noget til din server.
- Vi gemmer ikke en kopi af disse telefonnumre.\n\nFor mere information, læs vores privatlivspolitik.
Du vil bedes nu om at give tilladelse til at få adgang til dine kontakter.]]>Underret ved alle beskederUnderret kun når nævntNotifikationer deaktiveret
@@ -542,9 +537,9 @@
Sikkerhedsfejl: Ugyldig filadgang!Ingen app fundet der kan dele URLDel URL med…
- Du tilmelder dig med dit telefonnummer, og Quicksy vil automatisk - baseret på telefonnumre i din adressebog - foreslå mulige kontakter til dig.
Når du tilmelder dig, accepterer du vores privatlispolitik.]]>Accepter og fortsætte
- En guide er oprettet til kontooprettelse på conversations.im.¹\nNår du vælger conversations.im som udbyder, kan du kommunikere med brugere fra andre udbydere ved at give dem din fulde XMPP-adresse.
+ En guide er oprettet til kontooprettelse på conversations.im.
+\nNår du vælger conversations.im som udbyder, vil du være i stand til at kommunikere med brugere af andre udbydere ved at give dem din fulde XMPP-adresse.Din fulde XMPP-adresse vil blive: %sOpret kontoBrug min egen udbyder
@@ -692,7 +687,7 @@
Accepter ukendt certifikat?Serverens certifikat er ikke underskrevet af en kendt Certifikat Autoritet.Accepter fejlbehæftet servernavn?
- Server kunne ikke godkendes som \"%s\". Certifikatet er kun gyldig for:
+ Server kunne ikke godkendes som \"%s\". Certifikatet er kun gyldig for:Vil du fortsætte alligevel?Certifikatdetaljer:En gang
@@ -710,7 +705,7 @@
Deaktiver nuUdkast:OMEMO-kryptering
- OMEMO vil altid blive brugt for en-til-en og private gruppechats
+ OMEMO vil altid blive brugt for en-til-en og private gruppechats.OMEMO vil blive brugt som standard for nye samtaler.OMEMO skal være tændt udtrykkeligt for nye samtaler.Opret genvej
@@ -819,7 +814,7 @@
Noget gik galt ved behandlingen af din anmodning.Ugyldig brugerindtastningMidlertidig utilgængelig. Prøv igen senere.
- Ingen netværksforbindelse
+ Ingen netværksforbindelse.Prøv venligst igen om %sDu er begrænsetFor mange forsøg
@@ -829,7 +824,7 @@
Indtast dit navn for at lade folk, der ikke har dig i deres adressebog, vide, hvem du er.Dit navnIndtast dit navn
- Brug redigeringsknappen for at instille dit navn
+ Brug redigeringsknappen for at indstille dit navn.Afvis anmodningInstaller OrbotStart Orbot
@@ -844,7 +839,7 @@
GendanIndtast din adgangskode til kontoen %s for at gendanne backuppen.Brug ikke gendannelsessikkerhedsfunktionen i et forsøg på at klone (køre samtidigt) en installation. Gendannelse af en backup er kun beregnet til migreringer, eller hvis du har mistet den originale enhed.
- Kunne ikke gendan backup
+ Kunne ikke gendan backup.Kunne ikke dekryptere backup. Er adgangskoden korrekt?Backup & GendanIndtast XMPP-adresse
@@ -856,21 +851,21 @@
XMPP-adresseAngiv venligst et navn til kanalenAngiv venligst en XMPP-adresse
- Dette er en XMPP-adresse. Angiv venligst et navn
+ Dette er en XMPP-adresse. Angiv venligst et navn.Opret offentlig kanal…Denne kanal eksister alleredeDu sluttede dig til en eksisterende kanalKunne ikke gemme kanalkonfigurationTillad enhver at redigere emnetTillad alle at invitere andre
- Alle kan redigere titlen
+ Alle kan redigere titlen.Ejere kan redigere emnet.Administrator kan redigere emnet.Ejere kan invitere andre.Alle kan invitere andre.XMPP-adresser er synlig for administratorerne.XMPP-adresser er synlige for alle.
- Denne offentlige kanal har ingen deltagere. Inviter dine kontakter eller brug deleknappen til distribuere dens XMPP-adresse
+ Denne offentlige kanal har ingen deltagere. Inviter dine kontakter eller brug deleknappen til distribuere dens XMPP-adresse.Denne private gruppechat har ingen medlemmer.Administrer rettighederFind deltagere
@@ -879,7 +874,6 @@
Find kanalerFind kanalerRisiko for krænkelse af privatlivet!
- søg.jabber.netværk.
Brug af denne funktion sender din IP-adresse og søgetermer til denne service. Se deres Privatlivspolitik for mere information.]]>Jeg har allerede en kontoTilføj eksisterende kontoRegistrer ny konto
@@ -907,7 +901,7 @@
Lav opkaldIndkommende opkaldIndkommende videoopkald
- Skift til videoopkald
+ Skift til videoopkald\?Tilføje yderligere spor?ForbinderForbundet
@@ -931,10 +925,8 @@
Forbinder igen videoopkaldDeaktiver TOR for at lave opkaldIndkommende opkald
- Indkommende opkald · %sMistet opkald · %sUdgående opkald
- Udgående opkald · %sMistet opkald%1$d mistet opkald fra %2$s
@@ -997,5 +989,17 @@
Opkald er deaktiveret ved brug af TorSkift til videoAfvis skift til video anmodning
-
-
+ Afvis
+ Kunne ikke slette konto fra server
+ XMPP Konto
+ Push Server
+ Ingen (deaktiveret)
+ Den konto, hvorigennem push-beskeder modtages.
+ UnifiedPush-distributør
+ Udgående opkald · %s
+ Udgående opkald (%s) · %s
+ Kanalopdagelse bruger en tredjepartstjeneste kaldet <a href=https://search.jabber.network>search.jabber.network</a>.<br><br>Brug af denne funktion vil overføre din IP-adresse og søgetermer til den service. Se deres <a href=https://search.jabber.network/privacy>privatlivspolitik</a> for at få flere oplysninger.
+ Indkommende opkald (%s) · %s
+ Fjern konto fra server
+ En brugervalgt push-server til at videresende push-meddelelser via XMPP til din enhed.
+
\ No newline at end of file
diff --git a/src/main/res/values-de/strings.xml b/src/main/res/values-de/strings.xml
index a0a783617c13a780786945e73f709be1c75ff271..b674bc04d4d200b9f1558425ce8e3f338d37532d 100644
--- a/src/main/res/values-de/strings.xml
+++ b/src/main/res/values-de/strings.xml
@@ -184,8 +184,7 @@
Bist du sicher, dass du deinen öffentlichen OpenPGP-Schlüssel aus deiner Anwesenheitsmitteilung entfernen möchtest?\nDeine Kontakte können dir dann keine OpenPGP-verschlüsselten Nachrichten senden.Öffentlicher OpenPGP-Schlüssel veröffentlicht.Konto aktivieren
- Bist du dir sicher?
- Die Löschung deines Kontos löscht deinen gesamten Gesprächsverlauf
+ Bist du sicher, dass du dein Konto möchtest\? Dies wird deinen gesamten Gesprächsverlauf entfernenSprache aufzeichnenXMPP-AdresseXMPP-Adresse sperren
@@ -227,7 +226,6 @@
Schlüssel werden abgerufen…FertigEntschlüsseln
- LesezeichenSuchenKontakt eingebenKontakt löschen
@@ -459,7 +457,6 @@
Zuletzt verwendetWähle Schnell-TasteKontakte durchsuchen
- Lesezeichen durchsuchenPrivate Nachricht senden%1$s hat den Gruppenchat verlassenBenutzername
@@ -520,7 +517,6 @@
%1$s den Zugriff auf die Kamera gewährenMit Kontakten synchronisieren%1$s möchte die Erlaubnis, auf deine Kontakte zuzugreifen, um sie mit deiner XMPP-Kontaktliste abzugleichen.\nDadurch werden die vollständigen Namen und Profilbilder deiner Kontakte angezeigt.\n\n%1$s liest nur dein Adressbuch und gleicht es lokal ab, ohne dass etwas auf deinen Server hochgeladen wird.
- Wir werden keine Kopie dieser Telefonnummern speichern.\n\nFür weitere Informationen lies unsere Datenschutzerklärung.
Du wirst nun gefragt, ob du den Zugriff auf deine Kontakte erlauben möchtest.]]>Bei allen Nachrichten benachrichtigenNur benachrichtigen, wenn ich erwähnt werdeBenachrichtigungen deaktiviert
@@ -543,7 +539,6 @@
Sicherheitsfehler: Dateizugriff nicht erlaubt!Keine App zum Teilen der URI gefundenTeile URI mit…
- Du registrierst dich mit deiner Telefonnummer und Quicksy wird automatisch auf der Grundlage der Telefonnummern in deinem Adressbuch mögliche Kontakte vorschlagen.
Mit der Anmeldung erklärst du dich mit unserer Datenschutzerklärung einverstanden.]]>Zustimmen und fortfahrenEin Guide hilft bei 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 XMPP-Adresse gibst.
@@ -588,7 +583,7 @@
Bezahlung erforderlichBerechtigung zur Nutzung des Internets erteilenIch
- Kontakt möchte Online-Status abbonieren
+ Kontakt möchte Online-Status abonnierenErlaubenKeine Berechtigung um auf %s zuzugreifenRemote-Server nicht gefunden
@@ -773,7 +768,7 @@
Diese Benachrichtigungsart wird verwendet, um Benachrichtigungen anzuzeigen, die keinen Ton auslösen sollen. Zum Beispiel, wenn du auf einem anderen Gerät aktiv bist (Schonfrist).Fehlgeschlagene ZustellungenBenachrichtigungseinstellungen
- Anrufeinstellungen
+ Einstellungen für die Benachrichtigung bei eingehenden AnrufenWichtigkeit, Klang, VibrationenVideo komprimierenMedien anzeigen
@@ -881,7 +876,6 @@
Channels entdeckenChannels suchenMögliche Datenschutzverletzung!
- search.jabber.network.
Wenn du diese Funktion verwendest, werden deine IP-Adresse und deine Suchbegriffe an diesen Dienst übertragen. Weitere Informationen findest du in der Datenschutzerklärung.]]>Ich habe bereits ein KontoVorhandenes Konto hinzufügenNeues Konto erstellen
@@ -933,10 +927,8 @@
Videoanruf erneut verbindenDeaktiviere Tor, um Anrufe zu tätigenEingehender Anruf
- Eingehender Anruf · %sEntgangener Anruf · %sAusgehender Anruf
- Ausgehender Anruf · %sEntgangener Anruf%1$d entgangener Anruf von %2$s
@@ -1005,4 +997,14 @@
Kein (deaktiviert)UnifiedPush VerteilerDas Konto, über das Push-Nachrichten empfangen werden sollen.
+ Ablehnen
+ Eingehender Anruf (%s) · %s
+ Ausgehender Anruf (%s) · %s
+ Ausgehender Anruf · %s
+ Konto vom Server löschen
+ Konto konnte nicht vom Server gelöscht werden
+ Gruppenchats
+ Als Gruppenchat speichern
+ Gruppenchats durchsuchen
+ Die Channelsuche verwendet einen Drittanbieterservice namens <a href=https://search.jabber.network>search.jabber.network</a>.<br><br>Wenn du diese Funktion verwendest, werden deine IP-Adresse und deine Suchbegriffe an diesen Dienst übertragen. Weitere Informationen findest du in der <a href=https://search.jabber.network/privacy>Datenschutzerklärung</a>.
\ No newline at end of file
diff --git a/src/main/res/values-el/strings.xml b/src/main/res/values-el/strings.xml
index dfe79e81415ca1787ad07d741695efad89db14fa..183ec8357d5273a8217275f784037642717d0adf 100644
--- a/src/main/res/values-el/strings.xml
+++ b/src/main/res/values-el/strings.xml
@@ -184,7 +184,6 @@
Είστε βέβαιοι ότι θέλετε να αφαιρέσετε το δημόσιο κλειδί σας OpenPGP από την ανακοίνωση παρουσίας σας;\nΟι επαφές σας δεν θα είναι πλέον δυνατόν να σας στείλουν κρυπτογραφημένα μηνύματα με OpenPGP.Το δημόσιο κλειδί OpenPGP έχει δημοσιευτεί.Ενεργοποίηση λογαριασμού
- Είστε βέβαιοι;Η διαγραφή του λογαριασμού σας διαγράφει όλο το ιστορικό συζητήσεών σαςΕγγραφή φωνήςΔιεύθυνση XMPP
@@ -227,7 +226,6 @@
Μεταφόρτωση κλειδιών...ΈγινεΑποκρυπτογράφηση
- ΣελιδοδείκτεςΑναζήτησηΕισαγωγή επαφήςΔιαγραφή επαφής
@@ -453,7 +451,6 @@
Πιο πρόσφατα χρησιμοποιημένηΕπιλογή γρήγορης ενέργειαςΑναζήτηση επαφών
- Αναζήτηση σελιδοδεικτώνΑποστολή ιδιωτικού μηνύματοςΟ/Η %1$s αποχώρησε από την ομαδική συζήτησηΌνομα χρήστη
@@ -513,7 +510,6 @@
Απόδοση δικαιώματος στο %1$s για πρόσβαση στην φωτογραφική μηχανήΣυγχρονισμός με επαφέςΤο %1$s ζητάει το δικαίωμα να έχει πρόσβαση στο βιβλίο διευθύνσεων για να το ταιριάξει με την λίστα επαφών XMPP σας.\nΑυτή η ενέργεια θα εμφανίσει τα πλήρη ονόματα και τις εικόνες προφίλ των επαφών σας.\n\nΤο %1$s θα διαβάσει μόνο το βιβλίο διευθύνσεών σας και θα το ταιριάξει τοπικά χωρίς να μεταφορτώσει κανένα στοιχείο στον διακομιστή σας.
- Δεν θα αποθηκευτεί αντίγραφο αυτών των τηλεφωνικών αριθμών.\n\nΓια περισσότερες πληροφορίες διαβάστε την πολιτική απορρήτου μας.
Θα σας ζητηθεί τώρα να δώσετε το δικαίωμα για πρόσβαση στις επαφές σας.]]>Ειδοποίηση για όλα τα μηνύματαΕιδοποίηση μόνο όταν αναφέρεται το όνομά μουΟι ειδοποιήσεις απενεργοποιήθηκαν
@@ -536,7 +532,6 @@
Σφάλμα ασφάλειας: Μη έγκυρη πρόσβαση σε αρχείο!Δεν βρέθηκε εφαρμογή για να μοιραστείτε την διεύθυνση URIΔιαμοιρασμός της διεύθυνσης URI με...
- Εγγράφεστε με τον τηλεφωνικό σας αριθμό και το Quicksy αυτόματα — με βάση τους τηλεφωνικούς αριθμούς στο βιβλίο διευθύνσεών σας — προτείνει πιθανές επαφές για εσάς.
Με την εγγραφή σας συμφωνείτε με την πολιτική απορρήτου μας.]]>Συμφωνώ και προχωρήστεΘα καθοδηγηθείτε στη διαδικασία δημιουργίας ενός λογαριασμού στο conversations.im.¹\nΕπιλέγοντας το conversations.im ως πάροχο θα μπορείτε να επικοινωνείτε με χρήστες άλλων παρόχων δίνοντάς τους την πλήρη διεύθυνση XMPP σας.Η πλήρης ταυτότητα XMPP σας θα είναι: %s
@@ -872,7 +867,6 @@
Εύρεση καναλιώνΑναζήτηση καναλιώνΠιθανή παραβίαση ιδιωτικότητας!
- search.jabber.network.
Χρησιμοποιώντας αυτή τη λειτουργία θα μεταβιβαστεί η διεύθυνση IP σας και οι όροι αναζήτησης σε αυτή την υπηρεσία. Δείτε την Πολιτική Ιδιωτικότητας της για περισσότερες πληροφορίες.]]>Έχω ήδη λογαριασμόΠροσθήκη υπάρχοντος λογαριασμούΕγγραφή νέου λογαριασμού
@@ -922,10 +916,8 @@
Επανασύνδεση βίντεοκλήσηςΑπενεργοποίηστε το Tor για να κάνετε κλήσειςΕισερχόμενη κλήση
- Εισερχόμενη κλήση · %sΑναπάντηση κλήση · %sΕξερχόμενη κλήση
- Εξερχόμενη κλήση · %sΑναπάντηση κλήσηΚλήση ήχουΒιντεοκλήση
diff --git a/src/main/res/values-es/strings.xml b/src/main/res/values-es/strings.xml
index bd23b79a2ec89e96993d5e9c57e2b74e65239d76..d7b10fb7fa02455ba372388d33eb9d89e8c892e7 100644
--- a/src/main/res/values-es/strings.xml
+++ b/src/main/res/values-es/strings.xml
@@ -126,10 +126,10 @@
Sonido de notificación para nuevos mensajesTono para las nuevas llamadasPeriodo de gracia
- Después de que se detecte actividad en otros dispositivos, las notificaciones se silenciarán durante este período de tiempo.
+ El tiempo que se silencian las notificaciones tras detectar actividad en otro de tus dispositivos.AvanzadoNunca informar de errores
- Estará ayudando al desarrollo si elige enviar un informe de error
+ Al enviar los informes de los fallos, ayudará a un mayor desarrolloConfirmar mensajesPermitir a tus contactos saber cuando has recibido y leído sus mensajesImpedir capturas de pantalla
@@ -187,8 +187,7 @@
¿Estás seguro de que quieres eliminar tu clave pública OpenPGP de tu anuncio de presencia?\nTus contactos no podrán enviarte mensajes cifrados con OpenPGP.La clave pública OpenPGP ha sido publicada.Habilitar
- ¿Estás seguro?
- Si eliminas tu cuenta tu historial de conversaciones completo se perderá
+ ¿Estás seguro de que desea eliminar tu cuenta\? Eliminar tú cuenta borrando todo tu historial de conversacionesGrabar audioDirección XMPPBloquear dirección XMPP
@@ -199,15 +198,15 @@
¿Quieres añadir a %s a tus contactos?Información de servidorXEP-0313: MAM
- XEP-0280: Message Carbons
- XEP-0352: Client State Indication
- XEP-0191: Blocking Command
- XEP-0237: Roster Versioning
- XEP-0198: Stream Management
- XEP-0215: External Service Discovery
- XEP-0163: PEP (Avatars / OMEMO)
- XEP-0363: HTTP File Upload
- XEP-0357: Push
+ XEP-0280: Copias de los mensajes
+ XEP-0352: Visualización del estado del cliente
+ XEP-0191: Comando de bloqueo
+ XEP-0237: Control de las versiones de la lista de contactos
+ XEP-0198: Gestión del flujo de datos
+ XEP-0215: Detectando servicios externos
+ XEP-0163: PEP (Avatares / OMEMO)
+ XEP-0363: Carga de archivo HTTP
+ XEP-0357: Notificaciones automáticasSíNoSe han perdido las claves de anuncio públicas
@@ -230,7 +229,6 @@
Descargando claves…HechoDescifrar
- MarcadoresBuscarIntroducir contactoEliminar contacto
@@ -461,7 +459,6 @@
Usada más recientementeElegir acción rápidaBuscar contactos
- Buscar marcadoresEnviar mensaje privado%1$s ha dejado la conversaciónUsuario
@@ -523,7 +520,6 @@
Permitir a %1$s acceder a la cámaraSincronizar contactos%1$s quiere permiso para acceder a tu agenda de contactos y cruzarla con tu lista de contactos de XMPP.\nEsto permitirá mostrar el nombre completo y los avatares de tus contactos.\n\n%1$s solo leerá tu agenda de contactos y la cruzará localmente sin subir nada a tu servidor.
- No guardaremos una copia de estos números de teléfono.\n\nPara más información puedes leer nuestra política de privacidad.
El sistema te preguntará ahora para conceder los permisos de acceso a tus contactos del móvil.]]>Notificar para todos los mensajesNotificar solo cuando eres mencionadoNotificaciones deshabilitadas
@@ -546,7 +542,6 @@
Error de seguridad: ¡Acceso a archivo inválido!No se ha encontrado ninguna aplicación para compartir la URICompartir URI con…
- Quicksy es un derivado del popular cliente XMPP Conversations con detección automática de contactos.<br><br>El registro se realiza con tu número de teléfono y Quicksy automáticamente—basado en los teléfonos de tu agenda de contactos—te sugerirá posibles contactos.<br><br>Registrándote en Quicksy aceptas nuestra <a href=https://quicksy.im/#privacy>política de privacidad</a>.Aceptar y continuarUna guía te ayudará en 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 proporcionándoles tu dirección XMPP completa.
@@ -699,7 +694,7 @@
MensajeLos mensajes privados están deshabilitadosAplicaciones protegidas
- Para recibir notificaciones de mensajes incluso cuando la pantalla está apagada, debe agregar Conversations a la lista de aplicaciones protegidas.
+ Para seguir recibiendo notificaciones, aunque la pantalla esté apagada, tienes que añadir Conversations a la lista de aplicaciones protegidas.¿Aceptar certificado desconocido?El certificado del servidor no está firmado por una Autoridad Certificadora conocida.¿Aceptar nombre del servidor no coincidente?
@@ -849,7 +844,7 @@
e-bookOriginal (sin comprimir)Abrir con…
- Establecer la foto del perfil
+ Foto de perfil de ConversationsElige una cuentaRestaurar copia de respaldoRestaurar
@@ -890,7 +885,6 @@
Descubrir canalesBuscar canales¡Posible violación de privacidad!
- search.jabbercat.org.
Usando esta funcionalidad transmitirás tu dirección IP y los términos buscados a este servicio. Ver su Política de Privacidad para más información.]]> Ya tengo una cuentaAñadir una cuenta existenteRegistrar una cuenta nueva
@@ -942,10 +936,8 @@
Reconectando video llamadaDeshabilitar Tor para hacer llamadasLlamada entrante
- Llamada entrante · %sLlamada perdida · %sLlamada saliente
- Video llamada saliente · %sLlamada perdida%1$d llamada perdida de %2$s
@@ -1019,4 +1011,14 @@
Servidor pushUn servidor push elegido por el usuario para transmitir mensajes push a través de XMPP a su dispositivo.Ninguno (desactivado)
+ Llamada entrante (%s) · %s
+ Llamada saliente (%s) · %s
+ Llamadas salientes · %s
+ Rechazar
+ Eliminar la cuenta del servidor
+ No se pudo eliminar la cuenta del servidor
+ Chats en grupo
+ Buscar un grupo de chats
+ La búsqueda de canales utiliza un servicio de terceros denominado <a href=https://search.jabber.network>search.jabber.network</a>.<br><br>Si utiliza esta función, tu dirección IP y la búsqueda de términos serán transferidos a este servicio. Para obtener más información, consulta la <a href=https://search.jabber.network/privacy>Política de privacidad</a>.
+ Guardar como un chat en grupo
\ No newline at end of file
diff --git a/src/main/res/values-eu/strings.xml b/src/main/res/values-eu/strings.xml
index 9699bc4a80adb6f0490b6a7b524c8defdb7cb09e..aeb1f85ff2542516d8496b9ae6fbe6afcd76a33a 100644
--- a/src/main/res/values-eu/strings.xml
+++ b/src/main/res/values-eu/strings.xml
@@ -146,7 +146,6 @@
OpenPGP gako publikoa kenduZiur zure OpenPGP gako publikoa zure presentzia eguneraketetatik kendu nahi duzula?\nZure kontaktuek ezin dizute gehiago OpenPGPz enkriptatutako mezuak bidali.Kontua gaitu
- Ziur al zaude?Ahotsa grabatuXMPP helbideaXMPP helbidea blokeatu
@@ -179,7 +178,6 @@
Gakoak eskuratzen...EgindaDesenkriptatu
- Laster-markakBilatuKontaktua sartuKontaktua ezabatu
@@ -380,7 +378,6 @@
Azkenengo aldiz erabilitakoaEkintza azkarra aukeratuKontaktuak bilatu
- Laster-marketan bilatuMezu pribatua bidaliErabiltzaile izenaErabiltzaile izena
@@ -727,7 +724,6 @@
Kanalak aurkituKanalak bilatuBalizko pribatutasun urraketa!
- search.jabber.network. izeneko hirugarren zerbitzu bat erabiltzen du.
Ezaugarri hau erabiltzeak zure IP helbidea eta bilatutako testua zerbitzu horretara bidaltzea dakar. Ikusi beren pribatutasun politika informazio gehiago lortzeko.]]>Badaukat kontu bat dagoenekoGehitu existitzen den kontu batKontu berria erregistratu
diff --git a/src/main/res/values-fa-rIR/strings.xml b/src/main/res/values-fa-rIR/strings.xml
index 9c10dc123d8705e7c28ca088afb2cb4e2b3e8584..8c30590ffdd8e8c7a6b3f649f1f8b1e2a233dc7c 100644
--- a/src/main/res/values-fa-rIR/strings.xml
+++ b/src/main/res/values-fa-rIR/strings.xml
@@ -118,7 +118,6 @@
انتشار کلید عمومی OpenPGPحذف کلید عمومی OpenPGPفعال سازی حساب کاربری
- آیا مطمئن هستید؟ضبط صداusername@example.comکلمه عبور
diff --git a/src/main/res/values-fi/strings.xml b/src/main/res/values-fi/strings.xml
index 20db7a1e626936244a46f79d2541796ed96d293e..9bd0cde7ac3d0cce1036608e95497467e5f8e01c 100644
--- a/src/main/res/values-fi/strings.xml
+++ b/src/main/res/values-fi/strings.xml
@@ -179,7 +179,6 @@
Haluatko varmasti poistaa OpenPGP-avaimesi tilamainostuksistasi?\nYhteystietosi eivät voi enää lähettää sinulle OpenPGP-salattuja viestejä.OpenPGP julkinen avain julkaistu.Ota tunnus käyttöön
- Oletko varma?Tilin poistaminen pyyhkii koko keskusteluhistoriasiNauhoita ääntäXMPP-osoite
@@ -222,7 +221,6 @@
Haetaan avaimia...ValmisPura salaus
- KirjanmerkitHakuSyötä yhteystietoPoista yhteystieto
@@ -817,7 +815,6 @@
Löydä kanaviaHae kanaviaMahdollinen yksityisyyden loukkaus!
- search.jabber.network.
Sen käyttö lähettää IP-osoitteesi ja hakusanat palvelulle. Katso heidän yksityisyyskäytännöstään lisätietoa.]]>Minulla on jo tiliLisää olemassa oleva tiliRekisteröi uusi tili
@@ -863,10 +860,8 @@
Videopuhelu keskenPoista Tor käytöstä soittaaksesi puhelunSaapuva puhelu
- Saapuva puhelu · %sVastaamaton puhelu · %sLähtevä puhelu
- Lähtevä puhelu · %sVastaamaton puheluÄänipuheluVideopuhelu
diff --git a/src/main/res/values-fr/strings.xml b/src/main/res/values-fr/strings.xml
index 07417aa672817ee70ba6720a85b2941071f20f7b..8836ccaa31a0b26cd1ad3f2844144dbd3edaa832 100644
--- a/src/main/res/values-fr/strings.xml
+++ b/src/main/res/values-fr/strings.xml
@@ -31,13 +31,8 @@
Il y a %d minutes%d conversation non lue
-
-
%d conversations non lues
-
-
%d conversations non lues
-
Envoi…Déchiffrement du message. Veuillez patienter…
@@ -92,7 +87,9 @@
Vider l\'historique de la conversationÊtes-vous sûr de vouloir supprimer tous les messages de cette conversation ?\n\n Avertissement : Cela ne supprimera pas les copies des messages qui sont stockés sur d\'autres appareils ou serveurs.Supprimer le fichier
- Êtes-vous sûr de vouloir supprimer ce fichier ?\n\n Avertissement : Cela ne supprimera pas les copies de ce fichier qui sont stockés sur d\'autres appareils ou serveurs.
+ Êtes-vous sûr de vouloir supprimer ce fichier \?
+\n
+\nAvertissement : Cela ne supprimera pas les copies de ce fichier qui sont stockées sur d\'autres appareils ou serveurs. Fermez cette conversation aprèsChoisir l\'appareilEnvoyer un message en clair
@@ -127,12 +124,12 @@
SonnerieSon des notificationsSon de notification pour les nouveaux messages
- Sonnerie d\'appel entrant
+ Sonnerie d\'appels entrantsPériode sans notificationLa durée pendant laquelle les notifications sont désactivées après la détection d\'une activité sur l\'un de vos autres appareils.AvancéNe pas envoyer de rapports d\'erreurs
- En envoyant des rapports de crash vous aidez le développement de Conversations
+ En envoyant des rapports de crash vous aidez le développementConfirmation de lectureInformer vos contacts quand vous avez reçu et lu leurs messagesInterdire les captures d’écran
@@ -184,10 +181,9 @@
Publier la clé publique OpenPGPSupprimer la clé publique OpenPGPÊtes-vous sûr de vouloir supprimer votre clé publique OpenPGP de votre annonce de présence ?\nVos contacts ne pourront plus vous envoyer de message chiffrés avec OpenPGP.
- Clé publique OpenPGP publiée
+ Clé publique OpenPGP publiée.Activer
- Êtes-vous sûr ?
- Supprimer votre compte effacera l\'historique de vos conversations
+ Êtes-vous sûr de vouloir supprimer votre compte \? Supprimer votre compte effacera l\'historique de vos conversationsEnregistrer un sonAdresse XMPPBloquer l\'adresse XMPP
@@ -228,7 +224,6 @@
Récupération des clés…TerminéDéchiffrer
- FavorisRechercherAjouter contactSupprimer un contact
@@ -246,12 +241,14 @@
Détruire le groupeDétruire le canalVoulez-vous vraiment détruire ce groupe ?\n\nAvertissement : le groupe sera complètement supprimé du serveur.
- Êtes-vous sûr de vouloir détruire ce canal public ? \ On \ Avertissement : le canal sera complètement supprimé du serveur.
+ Êtes-vous sûr de vouloir détruire ce canal public \?
+\n
+\nAttention : Le canal sera totalement supprimé du serveur.Impossible de détruire le groupeImpossible de détruire le canalModifier le sujet du groupeSujet
- Rejoindre le groupe
+ Rejoindre le groupe…PartirVotre correspondant vous a ajouté dans sa liste de contactsAjouter en retour
@@ -411,7 +408,7 @@
Touche Entrée pour envoyerUtilisez la touche Entrée pour envoyer un message. Vous pourrez toujours utiliser la combinaison Ctrl+Entrée pour envoyer un message, même si cette option est désactivée.Afficher la touche Entrée
- Remplacer la touche Émoticônes par une touche Entrée.
+ Remplacer la touche Émoticônes par la touche Entrée.audiovidéoimage
@@ -454,7 +451,6 @@
Dernière utiliséeSélectionner l\'action rapide Rechercher dans les contacts
- Rechercher des favorisEnvoyer un message privé%1$s a quitté le groupeIdentifiant
@@ -495,7 +491,7 @@
Votre appareil ne supporte pas la sélection de certificats client !ConnexionConnexion via Tor
- Rediriger toutes les connexions via le réseau Tor. Nécessite Orbot.
+ Rediriger toutes les connexions vers le réseau Tor. Nécessite Orbot.Nom d\'hôtePortAdresse du serveur (ou .onion)
@@ -515,7 +511,6 @@
Autoriser %1$s à accéder au stockage externeAutoriser %1$s à accéder à la caméraSynchroniser avec contacts
- Nous ne stockerons pas de copie de ces numéros.\n\nPour plus d\'informations, lisez notre politique de confidentialité.
maintenant être invité à donner la permission d\'accéder à vos contacts.]]>Notifier pour tous les messagesNotifier seulement en cas de mentionNotifications désactivées
@@ -535,12 +530,12 @@
Envoyer le message corrigéVous avez déjà validé l\'empreinte de cette personne pour accorder votre confiance. En sélectionnant « Terminé », vous confirmez simplement que %s fait partie de ce groupe.Vous avez désactivé ce compte
- Erreur de sécurité : accès fichier invalide
+ Erreur de sécurité : accès invalide au fichier !Aucune application disponible pour partager l\'URIPartager l\'URI avec…
- Vous vous inscrivez avec votre numéro de téléphone et Quicksy va automatiquement, en fonction des numéros de votre carnet d’adresses, vous suggérer d’éventuels contacts.
en vous inscrivant, vous acceptez notre politique de confidentialité.]]>Accepter et continuer
- Nous vous guiderons tout au long du processus de création d\'un compte sur conversations.im.¹\nLorsque vous sélectionnerez conversations.im en tant que fournisseur, vous pourrez communiquer avec les utilisateurs d\'autres fournisseurs en leur fournissant votre adresse XMPP complète.
+ Nous vous guiderons tout au long du processus de création d\'un compte sur conversations.im.
+\nLorsque vous sélectionnerez conversations.im en tant que fournisseur, vous pourrez communiquer avec les utilisateurs d\'autres fournisseurs en leur fournissant votre adresse XMPP complète.Votre adresse XMPP complète sera : %sCréer un compteUtiliser votre propre fournisseur
@@ -712,7 +707,7 @@
Chiffrement OMEMOOMEMO sera toujours utilisé pour des discussions à deux ou les groupes privés.OMEMO sera utilisé par défaut pour les nouvelles discussions.
- OMEMO devra être activé manuellement pour chaque nouvelle discussion
+ OMEMO devra être activé manuellement pour chaque nouvelle discussion.Créer un raccourciTaille de policeLa taille de police relative utilisée dans l\'application.
@@ -797,7 +792,7 @@
%s.]]>Nous vous avons envoyé un autre SMS avec un code à 6 chiffres.Veuillez saisir ci-dessous le code PIN à 6 chiffres.
- Renvoyer un SMS.
+ Renvoyer un SMSRenvoyer SMS (%s)S\'il vous plaît, attendez (%s)retour
@@ -878,7 +873,6 @@
Découverte des canauxRecherche des canauxViolation possible de la confidentialité !
- search.jabber.network.
L\'utilisation de cette fonction transmettra votre adresse IP et les termes de recherche à ce service. Veuillez consulter leur Politique de confidentialité pour plus d\'information.]]>J\'ai déjà un compteAjouter un compte existantEnregistrer un nouveau compte
@@ -928,10 +922,8 @@
En cours de reconnexion de l\'appel vidéoDésactivez Tor afin de passer des appelsAppel entrant
- Appel entrant · %sAppel manqué · %sAppel sortant
- Appel sortant · %sAppel manquéAppel audioAppel vidéo
@@ -977,4 +969,59 @@
Impossible d’activer la vidéo.La création de nouveaux comptes n’est pas prise en chargeAucune adresse XMPP trouvée
-
+
+ %d appel manqué
+ %d appels manqués
+ %d appels manqués
+
+ Empreinte OMEMO (origine du message)
+ Masquer le contenu de l\'application dans le sélecteur d\'applications et bloquer les captures d\'écran
+ Client incompatible
+ Passer en vidéo
+ La sauvegarde a débuté. Vous serez notifié une fois terminé.
+ Vous avez quitté ce groupe pour des raisons techniques
+ Supprimer le compte du serveur
+ %1$s souhaite obtenir la permission d\'accéder à votre carnet d\'adresses pour le faire correspondre à votre liste de contacts XMPP.
+\nCela affichera les noms complets et les avatars de vos contacts.
+\n
+\n%1$s ne lira que votre carnet d\'adresses et le comparera localement sans rien télécharger sur votre serveur.
+ ficher multimédia
+ La découverte des canaux utilise un service tiers appelé <a href=https://search.jabber.network>search.jabber.network</a>.<br><br>L\'utilisation de cette fonction transmet votre adresse IP et votre recherche à ce service. Voir leur <a href=https://search.jabber.network/privacy>Politique de gestion de la vie privée</a> pour plus d\'informations.
+ Rechercher des groupes
+ Appel sortant (%s) · %s
+ Votre système d\'exploitation empêche %1$s d\'accéder à l\'internet lorsqu\'il est en arrière-plan. Pour être notifié de nouveaux messages, vous devez permettre à %1$s d\'accéder à Internet lorsque l\'économiseur de données est activé.
+\n%1$s s\'efforcera toujours d\'économiser des données lorsque cela est possible.
+ Vous êtes sur le point de vérifier les clés OMEMO de votre propre compte. Cette opération n\'est garantie que si vous avez suivi ce lien à partir d\'une source fiable où vous seul pouvez avoir publié ce lien.
+ Appels manqués
+ Passer à un appel vidéo \?
+ Ajouter des traces supplémentaires \?
+ Compte XMPP
+ Le compte par lequel les messages push seront reçus.
+ Serveur Push
+ Un serveur push choisi par l\'utilisateur pour relayer les messages push via XMPP vers votre appareil.
+ Aucun (désactivé)
+
+ %1$d appels manqués de %2$d contact
+ %1$d appels manqués de %2$d contacts
+ %1$d appels manqués de %2$d contacts
+
+ Discussions de groupe
+ Enregistrer comme groupe
+ Synchroniser les favoris
+ Activer \"Rejoindre automatiquement\" en entrant ou sortant d\'un groupe et réagir aux modifications apportées par d\'autres clients.
+ graphique vectoriel
+ Appel entrant (%s) - %s
+ Appel sortant · %s
+
+ %1$d appel manqué de %2$s
+ %1$d appels manqués de %2$s
+ %1$d appels manqués de %2$s
+
+ Les appels sont désactivés lorsque l\'on utilise Tor
+ Rejeter la demande de passage en vidéo
+ Décliner
+ Impossible de supprimer le compte du serveur
+ Document texte
+ Échec temporaire de l\'authentification
+ Supprimer l\'avatar
+
\ No newline at end of file
diff --git a/src/main/res/values-gl/strings.xml b/src/main/res/values-gl/strings.xml
index 0e20c589499f9184e35699153d6cb0f3394ede26..8bba6035f63924b82d065c4bd434c0eb4ec99bc5 100644
--- a/src/main/res/values-gl/strings.xml
+++ b/src/main/res/values-gl/strings.xml
@@ -35,7 +35,7 @@
enviando…Descifrando a mensaxe. Agarda por favor…
- Mensaxe cifrado con OpenPGP
+ Mensaxe cifrada con OpenPGPO alcume xa está en usoAlcume non válidoAdmin
@@ -98,10 +98,10 @@
Enviar mensaxe a 1%sEnviar mensaxe cifrada con OMEMOEnviar mensaxe cifrada v\\OMEMO
- Enviar mensaxe cifrado con OpenPGP
+ Enviar mensaxe cifrada con OpenPGPNovo alcume en usoEnviar sen cifrar
- Fallou o descifrado. Quizais non teñas a chave privada apropiada.
+ Fallou o desencriptado. Quizais non teñas a chave privada apropiada.OpenKeychainOpenKeychain para cifrar e descifrar as mensaxes e xestionar a túas chaves públicas.
Está baixo licenza GPLv3+ e dispoñible en F-Droid e Google Play.
(Reinicia %1$s após a instalación.)]]>Reiniciar
@@ -188,8 +188,7 @@
Tes a certeza de que queres eliminar a túa chave pública OpenPGP do anuncio de presenza? \nOs teus contactos non poderán enviarche mensaxes cifradas con OpenPGP.Publicada a chave pública OpenPGP.Habilitar
- Seguro?
- Ao eliminar a conta eliminas todo o historial de conversas
+ Tes a certeza de querer eliminar a túa conta\? Ao eliminar a conta eliminas todo o historial de conversasGravar audioEnderezo XMPPBloquear enderezo XMPP
@@ -231,7 +230,6 @@
Obtendo chaves…FeitoDescifrar
- MarcadoresBuscarIntroducir contactoEliminar contacto
@@ -461,7 +459,6 @@
Utilizadas recentementeElixe a acción rápidaBuscar contactos
- Buscar marcadoresEnviar mensaxe privada%1$s deixou a conversa en grupoIdentificador
@@ -522,7 +519,6 @@
Permitir que %1$s acceda á cámaraSincronice con todos os contactos%1$s quere ter permiso para acceder á túa libreta de enderezos para comparala coa lista de contactos XMPP.\nDeste xeito poderá mostrar o nome completo e avatares dos teus contactos.\n\n%1$s só utilizará de xeito local a túa lista de contactos, sen subila a ningún servidor.
- Non gardaremos unha copia desos números de teléfono.\n\nPara máis información le a nosa política de privacidade.
A continuación pediremos permiso para acceder aos contactos.]]>Notificar todas as mensaxesNotificar só cando é mencionadaNotificacións desactivadas
@@ -545,7 +541,6 @@
Fallo de seguridade: Acceso non válido ao ficheiro!Non se atopou unha app para compartir URICompartir URI con…
- Podes rexistrarte co teu número de teléfono e Quicksy suxerirache automáticamente —tomando os números da túa libreta de enderezos como referencia— posibles contactos para ti.
Ao rexistrarte aceptas a nosa política de privacidade.]]>Aceptar e continuarTes unha guía para crear unha conta en conversations.im
\nAo escoller conversations.im como provedor poderás comunicarte con outras usuarias de outros provedores con só darlles o teu enderezo XMPP completo.
@@ -672,7 +667,7 @@
Bloquear estrañoBloquear o dominio ao completoEn liña neste momento
- Volver a intentar o descifrado
+ Volve intentar o descifradoFallo na sesiónMecanismo SASL desactualizadoO servidor require rexistro no sitio web
@@ -708,13 +703,13 @@
Desactivar a encriptación%1$s non pode enviar mensaxes cifradas a %2$s. Podería deberse a que o teu contacto utiliza un servidor sen actualizar ou un cliente que non pode xestionar OMEMO.Non se obtivo a lista de dispositivos
- Non se obtiveron as chaves de cifrado
+ Non se obtiveron as chaves da cifraxeSuxestión: Nalgúns casos, isto pode solucionarse engadíndovos mutuamente as vosas listas de contactos.
- Tes a certeza de querer desactivar o cifrado OMEMO para esta conversa\?
+ Tes a certeza de querer desactivar a cifraxe OMEMO para esta conversa\?
\nIsto permitirá á administración do teu servidor ler as túas mensaxes, pero pode ser a única forma de comunicarse con persoas que usan clientes obsoletos.Desactivar agoraBorrador:
- Cifrado OMEMO
+ Cifraxe OMEMOOMEMO sempre se utilizará para charlas individuais e privadas en grupo.OMEMO utilizarase por defecto para as novas conversas.OMEMO terá que ser activado explícitamente para novas conversacións.
@@ -884,7 +879,6 @@
Descubrir canlesBuscar canlesPosible intrusión na privacidade!
- search.jabber.network.
Ao utilizar esta función transmitirás o teu enderezo IP e termos de busca a ese servizo. Le a súa Política de Privacidade para máis información.]]>Xa teño unha contaEngadir conta existenteRexistrar unha nova conta
@@ -936,10 +930,8 @@
Reconectando a videochamadaDesactivar Tor para facer chamadasChamada entrante
- Conversa de · %sChamada perdida · %sChamada realizada
- Conversa de · %sChamada perdida%1$d chamada perdida de %2$s
@@ -969,8 +961,8 @@
Esta conversaO teu avatarAvatar para %s
- Cifrado con OMEMO
- Cifrado con OpenPGP
+ Cifrada con OMEMO
+ Cifrada con OpenPGPSen cifrarSaírGravar correo de voz
@@ -1008,4 +1000,14 @@
Servidor PushO servidor elexido pola usuaria para obter as mensaxes push a través de XMPP.Ningún (desactivado)
-
\ No newline at end of file
+ Rexeitar
+ Chamada entrante (%s) · %s
+ Chamada saínte (%s) · %s
+ Chamada saínte · %s
+ Eliminar a conta no servidor
+ Non se puido eliminar a conta no servidor
+ Gardar como conversa en grupo
+ Buscar conversas en grupo
+ Conversas en grupo
+ O descubrimento de canles usa un servizo externo chamado <a href=https://search.jabber.network>search.jabber.network</a>.<br><br>Ao usar esta ferramenta transmitirás o teu enderezo IP e termos de busca a ese servizo. Le a súa <a href=https://search.jabber.network/privacy>Política de Privacidade</a> para saber máis.
+
diff --git a/src/main/res/values-hu/strings.xml b/src/main/res/values-hu/strings.xml
index e56c28a404b1088aeb11c361af26e5878c362a51..c9bea574807bcc388cd2aff4885534af491607b4 100644
--- a/src/main/res/values-hu/strings.xml
+++ b/src/main/res/values-hu/strings.xml
@@ -184,7 +184,6 @@
Biztosan el szeretné távolítani az OpenPGP nyilvános kulcsát a jelenléti közleményéből?\nA partnerei többé nem lesznek képesek OpenPGP titkosítású üzeneteket küldeni Önnek.Az OpenPGP nyilvános kulcs közzé lett téve.Fiók engedélyezése
- Biztos benne?A fiók törlésével az összes beszélgetési előzményei is eltávolításra kerülnekHang rögzítéseXMPP-cím
@@ -225,7 +224,6 @@
Kulcsok lekérése…KészVisszafejtés
- KönyvjelzőkKeresésPartner megadásaPartner törlése
@@ -444,7 +442,6 @@
Legutóbb használtGyors művelet kiválasztásaPartnerek keresése
- Könyvjelzők kereséseSzemélyes üzenet küldése%1$s elhagyta a csoportos csevegéstFelhasználónév
@@ -497,7 +494,6 @@
%s partnerrel megosztott képek%s partnerrel megosztott szövegSzinkronizálás a partnerekkel
- A telefonszámok másolatát nem fogjuk eltárolni.\n\nTovábbi információkért olvassa el az adatvédelmi irányelveinket.
Most arra fogják kérni, hogy adjon jogosultságot a névjegyek eléréséhez.]]>Értesítés az összes üzenetrőlCsak akkor értesítsen, ha megemlítikÉrtesítések letiltva
@@ -517,7 +513,6 @@
Biztonsági hiba: érvénytelen fájlhozzáférésNem található alkalmazás az URI megosztásáhozURI megosztása ezzel…
- Regisztráljon a telefonszámával, és a Quicksy automatikusan – a címjegyzékében szereplő telefonszámok alapján – javaslatot tesz a lehetséges partnerekre.
A regisztrációval elfogadja azadatvédelmi irányelveinket.]]>Elfogadás és folytatásA teljes XMPP-címe ez lesz: %sFiók létrehozása
@@ -837,7 +832,6 @@
Csatornák felderítéseCsatornák kereséseMagánélet lehetséges megsértése!
- search.jabber.network nevű, harmadik féltől származó szolgáltatást használja.
A funkció használata elküldi az IP-címét és a keresési kifejezést annak a szolgáltatásnak. További információkért nézze meg az adatvédelmi irányelveiket.]]>Már van fiókomMeglévő fiók hozzáadásaÚj fiók regisztrálása
@@ -882,9 +876,7 @@
Kimenő videohívásTor letiltása a hívások indításáhozBejövő hívás
- Bejövő hívás · %sKimenő hívás
- Kimenő hívás · %sNem fogadott hívásHanghívásVideohívás
diff --git a/src/main/res/values-id/strings.xml b/src/main/res/values-id/strings.xml
index 94c0ee1e8ad34e67c5ff304a8914ac78382df8b1..47b9992d06fc8b40a79180910342376e33e8471a 100644
--- a/src/main/res/values-id/strings.xml
+++ b/src/main/res/values-id/strings.xml
@@ -173,7 +173,6 @@
Yakin ingin menghapus kunci publik OpenPGP Anda dari pengumuman kehadiran?\nKontak Anda tidak lagi dapat mengirimi Anda pesan terenkripsi OpenPGP.Kunci publik OpenPGP diumumkanAktifkan Akun
- Apakah Anda yakin.?Menghapus akun akan menghilangkan semua riwayat percakapanRekam suaraalamat XMPP
@@ -214,7 +213,6 @@
Mengambil kunci…SelesaiDeskripsi
- BookmarkCariMasukkan kontakHapus kontak
diff --git a/src/main/res/values-it/strings.xml b/src/main/res/values-it/strings.xml
index 5b1ba6663e07c4e3c324fa4e33d7bcbb0e8467f7..49745c3fc4a08299e805218c74f32bc1521c157b 100644
--- a/src/main/res/values-it/strings.xml
+++ b/src/main/res/values-it/strings.xml
@@ -83,8 +83,8 @@
Preparazione per l\'invio dell\'immaginePreparazione per l\'invio delle immaginiCondivisione file. Attendere prego…
- Pulisci la cronologia
- Pulisci la cronologia della conversazione
+ Svuota la cronologia
+ Svuota la cronologia della conversazioneVuoi eliminare tutti i messaggi in questa conversazione?\n\nAttenzione: ciò non influenzerà i messaggi salvati su altri dispositivi o server.Elimina fileSei sicuro di voler eliminare questo file?\n\nAttenzione: non verranno eliminate copie di questo file memorizzate in altri dispositivi o server.
@@ -185,8 +185,7 @@
Sei sicuro di volere rimuovere la tua chiave pubblica OpenPGP dalla dichiarazione di presenza?\nI tuoi contatti non potranno più inviarti messaggi cifrati con OpenPGP.Chiave pubblica OpenPGP pubblicata.Attiva profilo
- Sei sicuro?
- L\'eliminazione del tuo profilo cancellerà tutta la cronologia dielle conversazioni
+ Vuoi davvero eliminare il tuo profilo\? La sua eliminazione cancellerà tutta la cronologia delle conversazioniRegistra la voceIndirizzo XMPPBlocca indirizzo XMPP
@@ -228,7 +227,6 @@
Ricezione chiavi…FattoDecripta
- SegnalibriCercaInserisci contattoElimina contatto
@@ -363,7 +361,7 @@
Avatar del profiloCopia impronta OMEMO negli appuntiRigenera chiave OMEMO
- Pulisci dispositivi
+ Elimina dispositiviSei sicuro di voler rimuovere tutti gli altri dispositivi dall\'annuncio OMEMO? La prossima volta che si connetteranno si riannunceranno, ma potrebbero non ricevere i messaggi inviati nel frattempo.Non ci sono chiavi utilizzabili per questo contatto.\nRicezione di nuove chiavi dal server non riuscita. Forse qualcosa non va con il server del tuo contatto?Non ci sono chiavi utilizzabili per questo contatto.\nAssicurati di avere reciprocamente la sottoscrizione sulla presenza.
@@ -461,7 +459,6 @@
Usati recentementeScegli azione rapidaCerca contatti
- Cerca segnalibriInvia messaggio privato%1$s ha abbandonato la chat di gruppoUtente
@@ -523,7 +520,6 @@
Dai a %1$s l\'accesso alla fotocameraSincronizza con i contatti%1$s vuole l\'autorizzazione ad accedere alla tua rubrica per confrontarla con la lista di contatti in XMPP.\nCiò mostrerà i nomi ed avatar dei contatti.\n\n%1$s leggerà solamente la rubrica e la confronterà localmente senza inviare nulla al tuo server.
- Non salveremo una copia di quei numeri di telefono.\n\nPer maggiori informazioni leggi la nostra politica sulla privacy.
Ti verrà ora chiesta l\'autorizzazione di accedere ai tuoi contatti.]]>Notifica per tutti i messaggiNotifica solo quando menzionatoNotifiche disattivate
@@ -546,9 +542,9 @@
Errore di sicurezza: accesso file non valido!Nessuna app trovata per condividere l\'URICondividi URI con…
- Ti registri con il tuo numero di telefono e Quicksy ti suggerirà—in base ai numeri di telefono nella tua rubrica—automaticamente i possibili contatti.
Registrandoti accetti la nostra politica sulla privacy.]]>Accetta e continua
- È disponibile una guida per la creazione di un profilo su conversations.im.¹\nQuando scegli conversations.im come fornitore potrai comunicare con utenti di altri fornitori dando il tuo indirizzo XMPP completo.
+ È disponibile una guida per la creazione di un profilo su conversations.im.
+\nQuando scegli conversations.im come fornitore potrai comunicare con utenti di altri fornitori dando il tuo indirizzo XMPP completo.Il tuo indirizzo XMPP completo sarà: %sCrea profiloUsa un altro fornitore
@@ -889,7 +885,6 @@
Individua i canaliCerca i canaliPossibile violazione della privacy!
- search.jabber.network.
L\'uso di questa funzione trasmetterà il tuo indirizzo IP e i termini di ricerca a quel servizio. Vedi la loro informativa sulla privacy per maggiori informazioni.]]>Ho già un profiloAggiungi un profilo esistenteRegistra un nuovo profilo
@@ -941,10 +936,8 @@
Riconnessione chiamata videoDisattiva Tor per le chiamateChiamata in arrivo
- Chiamata in arrivo · %sChiamata persa · %sChiamata in uscita
- Chiamata in uscita · %sChiamata persa%1$d chiamata persa da %2$s
@@ -1012,4 +1005,20 @@
Le chiamate sono disattivate quando si usa TorPassa al videoRifiuta richiesta di passare al video
+ Distributore di UnifiedPush
+ Profilo XMPP
+ Il profilo attraverso cui verranno ricevuti i messaggi push.
+ Server push
+ Un server scelto dall\'utente per inoltrare i messaggi push via XMPP al tuo dispositivo.
+ Nessuno (disattivato)
+ Rifiuta
+ Chiamata in arrivo (%s) · %s
+ Chiamata in uscita (%s) · %s
+ Chiamata in uscita · %s
+ Rimuovi profilo dal server
+ Impossibile eliminare il profilo dal server
+ Chat di gruppo
+ Salva come chat di gruppo
+ Cerca chat di gruppo
+ La scoperta dei canali usa un servizio di terze parti chiamato <a href=https://search.jabber.network>search.jabber.network</a>.<br><br>L\'uso di questa funzione invierà il tuo indirizzo IP e i termini di ricerca a quel servizio. Vedi la sua <a href=https://search.jabber.network/privacy>informativa sulla privacy</a> per maggiori informazioni.
\ No newline at end of file
diff --git a/src/main/res/values-iw/strings.xml b/src/main/res/values-iw/strings.xml
index d79130bd47d45cd981e718394bd6194d1630c381..5041fb565501a68ce7479b494650a125d8d0e325 100644
--- a/src/main/res/values-iw/strings.xml
+++ b/src/main/res/values-iw/strings.xml
@@ -106,7 +106,6 @@
פרסם תמונת פרופילפרסם מפתח ציבורי של OpenPGPהפעל חשבון
- האם אתה בטוח?הקלט קולusername@example.comסיסמה
diff --git a/src/main/res/values-ja/strings.xml b/src/main/res/values-ja/strings.xml
index ff862a3833e4ff0593bd7f24311f7f3700b616c0..8ef68c6459e31fb3a09c0f920307bf5c83fb9cef 100644
--- a/src/main/res/values-ja/strings.xml
+++ b/src/main/res/values-ja/strings.xml
@@ -181,7 +181,6 @@
出席情報告知から OpenPGP 公開鍵を削除してもよろしいですか?\n連絡先はあなたに OpenPGP 暗号化メッセージを送信できなくなります。OpenPGP 公開鍵を公開しました。アカウントを有効化
- よろしいですか?アカウントを削除すると会話履歴がすべて消去されます音声を録音XMPP アドレス
@@ -224,7 +223,6 @@
暗号鍵の取得中…完了復号
- ブックマーク検索連絡先を入力連絡先を削除
@@ -452,7 +450,6 @@
最近使用したクイックアクションを選択連絡先を検索
- ブックマークを検索非公開メッセージを送信%1$s はグループチャットを退出しましたユーザー名
@@ -512,7 +509,6 @@
%1$s にカメラへのアクセス権を付与連絡先と同期%1$s はあなたのアドレス帳にアクセスして、あなたのXMPP 連絡先名簿と照合する権限を求めています。\nこれにより、連絡先のフルネームとアバターが表示されます。\n\n%1$s は、あなたのサーバーに何かをアップロードすることなく、あなたのアドレス帳を読み込んで照合するだけです。
- Quicksyは、それらの電話番号のコピーを保存することはありません。\n\n詳細はプライバシーポリシーをご覧ください。
この機能を使うと、あなたののIPアドレスや検索キーワードがそのサービスに送信されます。詳しくは、プライバシーポリシーをご覧ください。]]>既にアカウントを持っています既存アカウントを追加新規アカウントを登録
@@ -915,10 +909,8 @@
ビデオ通話再接続中通話するのに Tor を無効化着信通話
- 着信通話・%s不在着信通話・%s発信通話
- 発信通話・%s不在着信通話%2$sから%1$d件の不在着信
diff --git a/src/main/res/values-ko/strings.xml b/src/main/res/values-ko/strings.xml
index 1963c61ce7290a246f294eb27fac8676a06622d4..1871607695388218a600412425b8e5ad212915ab 100644
--- a/src/main/res/values-ko/strings.xml
+++ b/src/main/res/values-ko/strings.xml
@@ -123,7 +123,6 @@
아바타 공개 OpenPGP 공개 키 공개 계정 사용
- 확실합니까? 녹음 username@example.com암호
diff --git a/src/main/res/values-ml/strings.xml b/src/main/res/values-ml/strings.xml
index 2d0bca6381cf68444ca7b2589fa3306bafd59b85..a65f433bb45ce45a001fd5a07b1c3c7aa971e35d 100644
--- a/src/main/res/values-ml/strings.xml
+++ b/src/main/res/values-ml/strings.xml
@@ -120,7 +120,6 @@
അവതാർ പ്രസിദ്ധീകരിക്കൂOpenPGP പബ്ലിക് കീ പ്രസിദ്ധീകരിക്കുകOpenPGP പബ്ലിക് കീ നീക്കം ചെയ്യുക
- നിങ്ങള്ക്ക് ഉറപ്പാണോ?ശബ്ദം റെക്കോർഡുചെയ്യൂXMPP വിലാസംXMPP വിലാസം തടയുക
@@ -145,7 +144,6 @@
കീകൾ ലഭ്യമാക്കുന്നു...ചെയ്തുഡീക്രിപ്റ്റ് ചെയ്യുക
- അടയാളകുറിപ്പുകൾതിരയുകകോൺടാക്റ്റ് നൽകുകകോൺടാക്റ്റ് ഇല്ലാതാക്കൂ
diff --git a/src/main/res/values-nb-rNO/strings.xml b/src/main/res/values-nb-rNO/strings.xml
index 1be782e73a27476952755f9c554c40eaf716315e..30561df9fd716d8560230ca69ea1091a236b78af 100644
--- a/src/main/res/values-nb-rNO/strings.xml
+++ b/src/main/res/values-nb-rNO/strings.xml
@@ -133,7 +133,6 @@
Fjern offentlig OpenPGP-nøkkelEr du sikker på at du vil fjerne din offentlige OpenPGP-nøkkel fra din tilstedeværelseskunngjøring?\nDine kontakter vil ikke lenger kunne sende deg OpenPGP-krypterte meldinger.Skru på konto
- Bekreft.Ta opp stemmebrukernavn@eksempel.noPassord
diff --git a/src/main/res/values-nl/strings.xml b/src/main/res/values-nl/strings.xml
index 2c67c7429e9f4c359349314a3d7035408cc04b04..393fda62190f3c977b84f9a1ec0d6399d397ebc8 100644
--- a/src/main/res/values-nl/strings.xml
+++ b/src/main/res/values-nl/strings.xml
@@ -171,7 +171,6 @@
Weet je zeker dat je je OpenPGP-publieke sleutel uit je aanwezigheidsaankondiging wil verwijderen?\nJe contacten zullen je geen OpenPGP-versleutelde berichten meer kunnen sturen.OpenPGP-publieke sleutel gepubliceerd.Account inschakelen
- Weet je het zeker?Stem opnemenXMPP-adresXMPP-adres blokkeren
@@ -211,7 +210,6 @@
Sleutels ophalen…KlaarOntsleutelen
- BladwijzersZoekenContact invoerenContact verwijderen
@@ -421,7 +419,6 @@
Recent gebruiktSnelle actie kiezenContacten zoeken
- Bladwijzers doorzoekenPrivébericht sturenGebruikersnaamGebruikersnaam
@@ -461,7 +458,6 @@
Laad meer berichtenSynchroniseer met contacten
- We bewaren geen kopie van deze telefoonnummers.\n\nVoor meer informatie, bekijk ons privacybeleid.
Je wordt nu gevraagd om toegang te verlenen tot je contactpersonen.]]>Melding bij alle berichtenMelding enkel wanneer aangesprokenMeldingen uitgeschakeld
@@ -478,7 +474,6 @@
Gecorrigeerd bericht versturenJe hebt deze account uitgeschakeldURI delen met…
- Je meldt je aan met je telefoonnummer en Quicksy zal automatisch—gebaseerd op de telefoonnummers in je adresboek—mogelijke contacten aanbevelen.
Door je aan te melden, stem je in met ons privacybeleid.]]>Je volledige XMPP-adres zal %s zijnAccount aanmakenGebruik mijn eigen provider
@@ -770,7 +765,6 @@
Kanalen ontdekkenKanalen doorzoekenMogelijke privacyschending!
- search.jabber.network.
Door deze functie te gebruiken, zullen je IP-adres en zoekopdrachten naar die dienst verstuurd worden. Bekijk hun privacybeleid voor meer informatie.]]>Ik heb al een accountBestaande account toevoegenNieuwe account registreren
diff --git a/src/main/res/values-pl/strings.xml b/src/main/res/values-pl/strings.xml
index d3769ebafd845f5a8b15bc3da3aacd437c7d9e79..eb54e15086213fc7b6462ca248454f97c0f4236b 100644
--- a/src/main/res/values-pl/strings.xml
+++ b/src/main/res/values-pl/strings.xml
@@ -115,7 +115,7 @@
Nie można zaszyfrować twojej wiadomości bo twoje kontakty nie ogłaszają swoich kluczy publicznych.\n\nPoproś aby ustawili OpenPGP.GłówneAkceptuj pliki
- Automatycznie akceptuj pliki mniejsze niż...
+ Automatycznie akceptuj pliki mniejsze niż…ZałącznikiPowiadomienieWibracje
@@ -152,12 +152,14 @@
Błąd konwersji obrazuNie odnaleziono plikuOgólny błąd wejścia/wyjścia. Być może skończyło się miejsce w pamięci\?
- Aplikacja użyta do wyboru obrazu nie zezwoliła na odczyt pliku.\n\nWybierz obraz przy użyciu innego menedżera plików
+ Aplikacja użyta do wyboru obrazu nie zezwoliła na odczyt pliku.
+\n
+\nWybierz obraz przy użyciu innego menedżera plików.Aplikacja której użyłeś do udostępnienia pliku nie dostarczyła odpowiednich uprawnień. NieznanyTymczasowo wyłączonoPołączono
- Łączenie...
+ Łączenie…RozłączonoBłąd uwierzytelnieniaNie odnaleziono serwera
@@ -186,8 +188,7 @@
Czy na pewno chcesz usunąć klucz publiczny OpenPGP ze swojej propagacji obecności?\nTwoje kontakty nie będą już mogły wysyłać Ci wiadomości zaszyfrowanych OpenPGP.Klucz publiczny OpenPGP został opublikowany.Włącz konto
- Czy na pewno?
- Usunięcie konta usuwa całą historię rozmów
+ Czy na pewno chcesz usunąć swoje konto\? Usunięcie konta usuwa całą historię rozmówNagraj głosAdres XMPPZablokuj adres XMPP
@@ -226,10 +227,9 @@
v\\Odcisk OMEMO (pochodzenie wiadomości)Pozostałe urządzeniaZaufane odciski OMEMO
- Pobieranie kluczy...
+ Pobieranie kluczy…UkończonoOdszyfruj
- ZakładkiSzukajWpisz kontaktUsuń kontakt
@@ -252,7 +252,7 @@
Nie można usunąć kanałuEdytuj tytuł konferencjiTemat
- Dołączanie do konferencji
+ Dołączanie do konferencji…Opuść pokójKontakt dodał ciebie do swojej listy kontaktówRównież dodaj
@@ -262,7 +262,7 @@
Wszyscy przeczytali do tego miejscaPublikujDotknij awatar, żeby wybrać obraz z galerii
- Publikowanie...
+ Publikowanie…Serwer odrzucił żądanie publikacjiNie można skonwertować obrazuNie udało się zapisać obrazu w pamięci urządzenia
@@ -280,7 +280,9 @@
WłączKonferencja wymaga hasłaWprowadź hasło
- Poproś kontakt o udostępnienie powiadomień o obecności.\n\nPozwoli to na ustalenie klienta, z którego korzysta rozmówca.
+ Poproś kontakt o udostępnianie powiadomień o obecności.
+\n
+\nPozwoli to na ustalenie klienta, z którego korzysta rozmówca.Zażądaj terazIgnorujUwaga: Wysyłanie bez obustronnych powiadomień o obecności może powodować nieoczekiwane problemy.\n\nSprawdź subskrypcję powiadomień w szczegółach kontaktu.
@@ -297,7 +299,7 @@
Powiadomienia będą wyciszone w wybranym przedziale czasuInneSynchronizuj zakładki
- Ustaw flagę automatycznego dołączania przy wchodzeniu lub opuszczaniu pokoju i reaguj na zmiany innych klientów
+ Ustaw flagę automatycznego dołączania przy wchodzeniu lub opuszczaniu pokoju i reaguj na zmiany innych klientów.Odcisk klucza OMEMO został skopiowany do schowkaZbanowanyKonferencja tylko dla użytkowników
@@ -369,7 +371,7 @@
Coś poszło źlePobieranie historii z serweraKoniec historii na serwerze
- Aktualizowanie...
+ Aktualizowanie…Hasło zostało zmienione!Nie udało się zmienić hasłaZmień hasło
@@ -400,7 +402,7 @@
Nie udało się zmienić funkcji %sKonfiguracja prywatnej rozmowy grupowejKonfiguracja publicznego kanału
- Prywatne, tylko dla członków.
+ Prywatne, tylko dla członkówSpraw aby adres XMPP był widoczny dla wszystkichWłącz moderację na kanaleNie bierzesz udziału
@@ -428,9 +430,9 @@
Wysyłanie %sOferowanie %sUkryj niedostępnych
- %s pisze...
+ %s pisze…%s już nie pisze
- %s piszą...
+ %s piszą…%s przestali pisaćPowiadomienia pisaniaPowiadamiaj rozmówcę, kiedy rozpoczynasz nową wiadomość
@@ -461,7 +463,6 @@
Ostatnio używanaWybierz szybką akcjęPrzeszukuj kontakty
- Przeszukaj zakładkiWyślij wiadomość prywatną%1$s opuścił konferencjęNazwa użytkownika
@@ -490,7 +491,7 @@
Nie mogę odczytać certyfikatuPreferencje archiwizacjiPreferencje archiwizacji po stronie serwera
- Pobieranie preferencji archiwizacji. Proszę czekać...
+ Pobieranie preferencji archiwizacji. Proszę czekać…Nie można pobrać preferencji archiwizacjiCAPTCHA wymaganaWprowadź tekst z powyższego obrazka
@@ -524,7 +525,6 @@
Pozwól %1$s na dostępu do aparatuSynchronizuj z kontaktami%1$s potrzebuje dostępu do twojej książki adresowej aby dopasować ją z twoją listą kontaktów XMPP.\nDzięki temu wyświetlone zostaną pełne nazwy i awatary kontaktów.\n\n%1$s użyje książki adresowej wyłącznie do lokalnego dopasowania bez wysyłania czegokolwiek na serwer.
- Nie przechowujemy kopii tych numerów.\n\nAby uzyskać więcej informacji przeczytaj naszą politykę prywatności.
Zostaniesz poproszony o pozwolenie na dostęp do twoich kontaktów.]]>Powiadom o wszystkich wiadomościachPowiadamiaj tylko w przypadku wzmianki o mniePowiadomienia wyłączone
@@ -535,7 +535,9 @@
Tylko duże obrazkiOptymalizacje zużycia baterii włączoneTwoje urządzenie ma włączone agresywne oszczędzanie baterii przez co %1$s może odbierać wiadomości z opóźnieniem.\nZalecamy wyłączenie tych optymalizacji.
- Twoje urządzenie ma włączone agresywne oszczędzanie baterii przez co %1$s może odbierać wiadomości z opóźnieniem.\nZostaniesz poproszony o wyłączenie ich.
+ Twoje urządzenie stosuje agresywne oszczędzanie baterii, przez co %1$s może odbierać wiadomości z opóźnieniem lub je tracić.
+\n
+\nZostaniesz poproszony o jego wyłączenie.WyłączZaznaczony obszar jest zbyt duży(Brak aktywynych kont)
@@ -546,8 +548,7 @@
Wyłączyłeś to kontoBłąd bezpieczeństwa: nieprawidłowy dostęp do pliku!Nie odnaleziono aplikacji do udostępnienia URI
- Udostępnij URI za pomocą...
- Zapisujesz się przy użyciu numeru telefonu i Quicksy automatycznie - na podstawie numerów telefonów w książce adresowej - zasugeruje potencjalne kontakty dla ciebie.
Zapisując się zgadzasz się na naszą politykę prywatności.]]>
+ Udostępnij URI za pomocą…Zgoda i kontynuujPoprowadzimy cię przez proces tworzenia konta na conversations.im.
\nKiedy wybierzesz conversations.im jako dostawcę będziesz mógł komunikować się z innymi osobami jeśli podasz im swój pełen adres XMPP.
@@ -568,7 +569,7 @@
Rejestracja nie powiodła się: spróbuj późniejRejestracja nie powiodła się: hasło zbyt słabeWybierz członków
- Tworzenie konferencji
+ Tworzenie konferencji…Zaproś ponownieWyłączKrótki
@@ -598,7 +599,7 @@
Nie znaleziono serweraBrak odpowiedzi od zdalnego serweraNie można zaktualizować konta
- Zgłoś spam z tego adresu XMPP
+ Zgłoś spam z tego adresu XMPP.Usuń tożsamości OMEMOWygeneruj jeszcze raz klucze OMEMO. Wszystkie twoje kontakty będą musiały zweryfikować cię ponownie. Użyj tego tylko w ostateczności.Usuń zaznaczone klucze
@@ -614,7 +615,7 @@
Zweryfikowałeś wszystkie klucze OMEMO które posiadaszKod kreskowy nie zawiera odcisków dla tej rozmowy.Zaufane odciski
- Użyj aparatu, aby zeskanować kod kreskowy kontaktu.
+ Użyj aparatu, aby zeskanować kod kreskowy kontaktuProszę czekać na ściągnięcie kluczyUdostępnij przez kod QRUdostępnij przez URI XMPP
@@ -676,10 +677,10 @@
Automatyczne usuwanie wiadomościAutomatycznie usuwaj z tego urządzenia wiadomości starsze niż skonfigurowany okres czasu.Szyfrowanie wiadomości
- Nie pobieram wiadomości przez lokalny okres retencji
+ Nie pobieram wiadomości przez lokalny okres retencji.Kompresuję filmOdpowiadające rozmowy zostały zamknięte.
- Kontakt zablokowany
+ Kontakt zablokowany.Powiadomienia od nieznajomychPowiadamiaj przy wiadomościach i połączeniach od nieznajomych.Odebrano wiadomość od nieznajomego
@@ -706,9 +707,9 @@
WiadomośćPrywatne wiadomości są wyłączoneAplikacje chronione
- Aby otrzymywać wiadomości kiedy ekran jest wyłączony musisz dodać Conversations do listy aplikacji chronionych.
+ Aby otrzymywać powiadomienia nawet kiedy ekran jest wyłączony musisz dodać Conversations do listy chronionych aplikacji.Zaakceptować nieznany certyfikat?
- Certyfikat serwera nie jest podpisany przez znany Urząd Certyfikacji
+ Certyfikat serwera nie jest podpisany przez znany Urząd Certyfikacji.Czy zaakceptować niepasującą nazwę serwera?Nie można potwierdzić serwera jako \"%s\". Certyfikat jest ważny tylko dla:Czy chcesz kontynuować połączenie?
@@ -724,8 +725,8 @@
Nie powiodło się pobranie listy urządzeńNie powiodło się pobranie kluczy szyfrowaniaPodpowiedź: W niektórych przypadkach może pomóc wzajemne dodanie się do listy kontaktów.
- Czy na pewno chcesz wyłączyć szyfrowanie OMEMO dla tej konwersacji?
-Administrator twojego serwera będzie mógł czytać twoje wiadomości, ale może to być jedyny sposób aby komunikować się z ludźmi korzystającymi ze starych klientów.
+ Czy na pewno chcesz wyłączyć szyfrowanie OMEMO dla tej konwersacji\?
+\nAdministrator twojego serwera będzie mógł czytać twoje wiadomości, ale może to być jedyny sposób aby komunikować się z ludźmi korzystającymi z przestarzałych klientów.Wyłącz terazSzkic:Szyfrowanie OMEMO
@@ -753,7 +754,7 @@ Administrator twojego serwera będzie mógł czytać twoje wiadomości, ale moż
Pokaż lokalizacjęUdostępnijNie można rozpocząć nagrywania
- Proszę czekać...
+ Proszę czekać…Pozwól %1$s na dostęp do mikrofonuWyszukaj wiadomościGIF
@@ -776,7 +777,7 @@ Administrator twojego serwera będzie mógł czytać twoje wiadomości, ale moż
Ta konferencja została usuniętaNie można rozpocząć nagrywaniaUsługa na pierwszym planie
- Ta kategoria powiadomień jest używana aby wyświetlać stałe powiadomienie oznaczające, że %1$s działa
+ Ta kategoria powiadomień jest używana aby wyświetlać stałe powiadomienie oznaczające, że %1$s działa.Wiadomość StatusuProblemy z połączeniemTa kategoria powiadomień jest używana aby wyświetlać powiadomienia oznaczające, że Conversations ma problemy z połączeniem.
@@ -810,7 +811,7 @@ Administrator twojego serwera będzie mógł czytać twoje wiadomości, ale moż
Zweryfikuj swój numer telefonuQuicksy wyśle wiadomość SMS (operator może naliczyć opłatę) aby zweryfikować numer telefonu. Wpisz kod kraju i numer telefonu: %s
Czy wszystko się zgadza czy też chciałbyś zmienić numer?]]>
- %s nie jest prawidłowym numerem telefonu
+ %s nie jest prawidłowym numerem telefonu.Proszę wpisać swój numer telefonu.Przeszukaj krajeZweryfikuj %s
@@ -826,8 +827,8 @@ Administrator twojego serwera będzie mógł czytać twoje wiadomości, ale moż
Czy na pewno chcesz przerwać procedurę rejestracji?TakNie
- Weryfikowanie...
- Prośba o SMS...
+ Weryfikowanie…
+ Prośba o SMS…PIN który wpisałeś jest nieprawidłowy.PIN który wysłaliśmy stracił ważność.Nieznany błąd sieci.
@@ -856,12 +857,12 @@ Administrator twojego serwera będzie mógł czytać twoje wiadomości, ale moż
Ten kanał sprawi, że twój adres XMPP będzie publicznye-bookOryginalne (nieskompresowane)
- Otwórz za pomocą...
+ Otwórz za pomocą…Obrazek profilowy ConversationsWybierz kontoPrzywróć kopię zapasowąPrzywróć
- Wpisz swoje hasło do konta %s aby przywrócić kopię zapasową
+ Wpisz swoje hasło do konta %s aby przywrócić kopię zapasową.Nie używaj kopii zapasowej aby klonować (uruchamiać równolegle) instalację. Przywracanie kopii jest przeznaczone tylko do migracji albo kiedy urządzenie zostało zgubione.Nie można przywrócić kopii zapasowej.Nie można odszyfrować kopii zapasowej. Czy hasło jest poprawne?
@@ -876,7 +877,7 @@ Administrator twojego serwera będzie mógł czytać twoje wiadomości, ale moż
Podaj nazwę kanałuPodaj adres XMPPTo jest adres XMPP. Podaj nazwę.
- Tworzenie kanału publicznego...
+ Tworzenie kanału publicznego…Ten kanał już istniejeDołączono do istniejącego kanałuNie można ustawić konfiguracji kanału
@@ -898,7 +899,6 @@ Administrator twojego serwera będzie mógł czytać twoje wiadomości, ale moż
Odkryj kanałyWyszukaj kanałMożliwe naruszenie prywatności!
- search.jabber.network.
Używając tej funkcji twój adres IP oraz kryteria wyszukiwania zostaną wysłane do tej usługi. Sprawdź Politykę Prywatności aby uzyskać więcej informacji.]]>Już mam kontoDodaj istniejące kontoZarejestruj nowe konto
@@ -913,7 +913,7 @@ Administrator twojego serwera będzie mógł czytać twoje wiadomości, ale moż
To konto zostało już ustawioneProszę podać hasło dla tego kontaNie można wykonać tej akcji
- Dołącz do publicznego kanału...
+ Dołącz do publicznego kanału…Aplikacja udostępniająca nie udzieliła pozwolenia na dostęp do tego pliku.jabber.network
@@ -950,10 +950,8 @@ Administrator twojego serwera będzie mógł czytać twoje wiadomości, ale moż
Ponowne łączenie rozmowy wideoWyłącz Tor aby dzwonićPołączenie przychodzące
- Połączenie przychodzące · %sNieodebrane połączenie · %sPołączenie wychodzące
- Połączenie wychodzące · %sNieodebrane połączenie%1$d nieodebrana rozmowa od %2$s
@@ -1032,4 +1030,14 @@ Administrator twojego serwera będzie mógł czytać twoje wiadomości, ale moż
Serwer pushDowolnie wybrany serwer push do przekazywania wiadomości push przez XMPP na Twoje urządzenie.Brak (nieaktywne)
+ Odrzuć
+ Połączenie przychodzące (%s) · %s
+ Połączenie wychodzące (%s) · %s
+ Połączenie wychodzące · %s
+ Usuń konto z serwera
+ Nie można usunąć konta z serwera
+ Wyszukaj czatów grupowych
+ Wykrywanie kanałów korzysta z usługi innego podmiotu o nazwie <a href=https://search.jabber.network>search.jabber.network</a>.<br><br>Użycie tej funkcji spowoduje przesłanie adresu IP i wyszukiwanych terminów do tej usługi. Zobacz ich <a href=https://search.jabber.network/privacy>Politykę prywatności</a>, aby uzyskać więcej informacji.
+ Czaty grupowe
+ Zapisz jako czat grupowy
\ No newline at end of file
diff --git a/src/main/res/values-pt-rBR/strings.xml b/src/main/res/values-pt-rBR/strings.xml
index b2617b3031503c1007b22357e7dbcc6141b51bd7..0cb31fa7e49076cba9902bb0a8b94f8218f50056 100644
--- a/src/main/res/values-pt-rBR/strings.xml
+++ b/src/main/res/values-pt-rBR/strings.xml
@@ -188,7 +188,6 @@
Tem certeza que deseja remover sua chave pública OpenPGP do seu anúncio de presença?\nSeus contatos não poderão mais enviar mensagens criptografadas com o OpenPGP para você.A chave pública do OpenPGP foi publicada.Habilitar a conta
- Tem certeza?Se você excluir a sua conta todo o seu histórico de conversas será apagadoGravar vozEndereço XMPP
@@ -231,7 +230,6 @@
Buscando as chaves...ConcluídoDescriptografar
- FavoritosPesquisarDigite o contatoExcluir contato
@@ -462,7 +460,6 @@
Usada mais recentementeSelecione a ação rápidaPesquisar contatos
- Pesquisar favoritosEnviar mensagem privada%1$s deixou a conversa em grupoNome de usuário
@@ -524,7 +521,6 @@
Permita o acesso do %1$s à câmeraSincronizar com os contatos%1$s gostaria de obter a permissão para acessar seu livro de endereços e fazer a correspondência entre ele e a sua lista de contatos do XMPP. Isso permitirá exibir os nomes completos e avatares dos seus contatos.\n\n%1$s fará a leitura e a correspondência do seu livro de endereços localmente, sem enviar os seus contatos para o servidor em uso.
- Nós não armazenaremos nenhuma cópia desses números de telefone.\n\nPara maiores informações, leia nossa política de privacidade.
Agora você será solicitado a fornecer permissões de acesso aos seus contatos.]]>Notificar em todas as mensagensNotificar somente quando for mencionadoNotificações desabilitadas
@@ -547,7 +543,6 @@
Erro de segurança: Acesso inválido ao arquivo!Não foi encontrado nenhum aplicativo para compartilhar a URICompartilhar a URI com...
- Você se registra com o seu número de telefone e o Quicksy sugere automaticamente - baseado nos números de telefone do seu livro de endereços - possíveis contatos para você..
Ao se registrar você concorda com nossa política de privacidade.]]>Concordar e continuarVocê será guiado ao longo do processo de criação de conta no conversations.im.¹\nAo usar o conversations.im você também poderá se comunicar com usuários de outros provedores. Basta fornecer a eles o sua endereço XMPP completo.Seu endereço XMPP completo será: %s
@@ -890,7 +885,6 @@
Descobrir canaisPesquisar canaisProvável violação de privacidade!
- search.jabber.network.
Ao usar esse recurso, você enviará o seu endereço IP e termos de pesquisa para esse serviço. Veja sua Política de Privacidade para maiores informações.]]>Eu já tenho uma conta.Adicionar uma conta já existenteRegistrar uma nova conta
@@ -942,10 +936,8 @@
Reconectando a vídeo-chamadaDesabilitar o Tor para fazer chamadasChamada recebida
- Chamada recebida · %sChamada perdida · %sChamada realizada
- Chamada realizada · %sChamada perdida%1$d chamada perdida para %2$s
diff --git a/src/main/res/values-pt/strings.xml b/src/main/res/values-pt/strings.xml
index 1f914c6ce6db66acc3eef90411df86941ba3b7a0..86e78718cbdb98f628411ba8c813fec03f0bbf43 100644
--- a/src/main/res/values-pt/strings.xml
+++ b/src/main/res/values-pt/strings.xml
@@ -128,7 +128,6 @@
Publicar chave pública OpenPGPRemover chave pública OpenPGPAtivar conta
- Tem a certeza?Gravar voznomedeutilizador@exemplo.comPalavra-passe
diff --git a/src/main/res/values-ro-rRO/strings.xml b/src/main/res/values-ro-rRO/strings.xml
index f41b8b9c217d516ff1a50fea6501cfad32a39475..a6c980d5c63edf5c8bce6c2e74b70571ef252fed 100644
--- a/src/main/res/values-ro-rRO/strings.xml
+++ b/src/main/res/values-ro-rRO/strings.xml
@@ -187,8 +187,7 @@
Sigur doriți să vă ștergeți cheia publică OpenPGP din mesajele de prezență?\nContactele dumneavoastră nu vor mai putea să vă trimită mesaje criptate cu OpenPGP.Cheia publică OpenPGP a fost publicată.Activează cont
- Sigur doriți asta?
- Dacă vă ștergeți contul, întregul istoric de conversații va fi pierdut
+ Sigur doriți să vă ștergeți contul\? Dacă vă ștergeți contul, întregul istoric de conversații va fi pierdutÎnregistrare voceAdresă XMPPBlochează adresă XMPP
@@ -230,7 +229,6 @@
Se preiau cheile…GataDecriptează
- Semne de carteCautăIntroduceți contactȘterge contact
@@ -463,7 +461,6 @@
Folosită recentAlegeți acțiunea rapidăCaută contacte
- Caută semne de carteTrimite mesaj privat%1$s a părăsit discuția de grupNume utilizator
@@ -528,7 +525,6 @@
\nAșa v-a afișa numele lor complete și avatarele.
\n
\n%1$s va citi și potrivi local fără a fi încărcate pe serverul dumneavoastră.
- Nu vom stoca o copie a acestor numere the telefon.\n\nPentru mai multe informații puteți citii politica noastră de confidențialitate.
Urmează să fiți întrebați dacă doriți să permiteți accesul la contacte.]]>Notifică la toate mesajeleNotifică doar atunci când cineva vă menționează numeleNotificări dezactivate
@@ -554,7 +550,6 @@
Eroare de securitate.: Acces fișier invalid!Nu s-a găsit nici o aplicație care să partajeze adresaPartajează adresa cu…
- Vă înscrieți cu numărul de telefon și Quicksy—pe baza numerelor de telefon din agenda dumneavoastră—vă va sugera automat posibile contacte.
Înscriindu-vă sunteți de acord cu politica noastră de confidențialitate.]]>Sunt de acord și continuăGhidul va configura un cont pe conversations.im.
\nCând alegeți conversations.im ca furnizor veți putea comunica cu utilizatorii altor furnizori oferindu-le adresa dumneavoastră completă XMPP.
@@ -898,7 +893,6 @@
Descoperă canale publiceCaută canale publicePosibilă încălcare a intimității!
- search.jabber.network.
Folosind această funcție se va transmite adresa dumneavoastră IP și cuvintele căutate către acest serviciu. Pentru mai multe informații citiți Politica de confidențialitate a serviciului.]]>Eu am deja un contAdaugă un cont existentÎnregistrează un cont nou
@@ -950,10 +944,8 @@
Reconectare apel videoDezactivați Tor pentru a face apeluriApel primit
- Apel primit · %sApel pierdut · %sApel efectuat
- Apel efectuat · %sApel pierdut%1$d apel pierdut de la %2$s
@@ -1027,4 +1019,14 @@
Nici unul (dezactivat)Distribuitor UnifiedPushContul prin care vor fi primite notificările push.
+ Refuză
+ Apel primit (%s) · %s
+ Apel efectuat (%s) · %s
+ Apel efectuat · %s
+ Nu s-a putut șterge contul de pe server
+ Șterge contul de pe server
+ Discuții de grup
+ Descoperirea de canale publice folosește un serviciu terț numit <a href=https://search.jabber.network>search.jabber.network</a>.<br><br>Folosind această funcție se va transmite adresa dumneavoastră IP și cuvintele căutate către acest serviciu. Pentru mai multe informații citiți <a href=https://search.jabber.network/privacy>Politica de confidențialitate</a> a serviciului.
+ Salvare ca discuție de grup
+ Caută discuții de grup
\ No newline at end of file
diff --git a/src/main/res/values-ru/strings.xml b/src/main/res/values-ru/strings.xml
index 3c46c85c1f32d96a95200d1a2d176e94afba5a71..b15b5d02f1dd73c0ca7b6b747d330538754e3a37 100644
--- a/src/main/res/values-ru/strings.xml
+++ b/src/main/res/values-ru/strings.xml
@@ -31,16 +31,9 @@
%d мин. назад%d непрочитанная беседа
-
-
%d непрочитанные беседы
-
-
%d непрочитанных бесед
-
-
%d непрочитанных бесед
-
отправка…Расшифровка сообщения. Подождите…
@@ -190,7 +183,6 @@
Вы действительно хотите удалить ваш OpenPGP публичный ключ из опубликованных?\nВаши собеседники не смогут больше отправлять вам зашифрованные OpenPGP сообщения.Публичный ключ OpenPGP опубликован.Включить аккаунт
- Вы уверены?Удаление аккаунта также удалит всю историю вашей перепискиЗапись голосаXMPP-адрес
@@ -233,7 +225,6 @@
Получение ключей…ГотовоРасшифровать
- ЗакладкиПоискДобавить контактУдалить контакт
@@ -461,7 +452,6 @@
Последнее выбранноеВыбрать быстрое действиеПоиск контактов
- Поиск закладокОтправить личное сообщение%1$s покинул конференциюИмя пользователя
@@ -523,7 +513,6 @@
Предоставить %1$s разрешение на использование камерыСинхронизировать с контактами%1$s нужно разрешение на доступ к контактам, чтобы соотнести их с вашими XMPP-контактами.\nЭто позволит отобразить полные имена и аватары контактов.\n\n%1$s сделает это локально, без отправки чего-либо на ваш сервер.
- Мы не будем хранить у себя копии этих номеров.\n\nДля более подробной информации читайте нашу политику конфиденциальности.
Сейчас будет сделан запрос на разрешение доступа к контактам.]]>Все сообщенияУведомлять только при упоминанииУведомления выключены
@@ -546,7 +535,6 @@
Ошибка безопасности: недействительный доступ к файлуНе найдено приложения для передачи URIОтправить URI…
- После авторизации по номеру телефона Quicksy автоматически, основываясь на вашей адресной книге, предложит добавить возможные контакты.
Регистрируясь, вы соглашаетесь с нашей политикой конфиденциальности.]]>Согласиться и продолжитьМы поможем Вам создать аккаунт на conversations.im¹.\nВыбрав conversations.im в качестве провайдера, вы сможете общаться с пользователями других провайдеров, сообщив им свой полный XMPP-адрес.Ваш полный XMPP-адрес будет: %s
@@ -892,7 +880,6 @@
Найти каналыПоиск каналовВозможно нарушение конфиденциальности!
- search.jabber.network.
Использование этого сервиса требует передачи вашего IP-адреса и поисковых запросов. Для дополнительной информации смотрите Политику конфиденциальности.]]>У меня уже есть аккаунтДобавить существующий аккаунтЗарегистрировать новую учетную запись
@@ -938,10 +925,8 @@
Активный видеовызовОтключите Tor для совершения звонковВходящий вызов
- Входящий вызов · %sПропущенный вызов · %sИсходящий вызов
- Исходящий вызов · %sПропущен вызовАудиовызовВидеовызов
@@ -989,4 +974,10 @@
Резервное копирование было начато. Вы получите уведомление, как только оно будет завершено. Невозможно включить видео.Текстовые данные
-
+
+ %d пропущеный звонок
+ %d пропущенных звонков
+ %d пропущеныыз звонков
+ %d пропущеныыз звонков
+
+
\ No newline at end of file
diff --git a/src/main/res/values-sk/strings.xml b/src/main/res/values-sk/strings.xml
index d05bfa0cde9e7234cf3c2316cd6cc0f87f58353f..f5c874bc9425e67105180e842bd1a7b41aca295d 100644
--- a/src/main/res/values-sk/strings.xml
+++ b/src/main/res/values-sk/strings.xml
@@ -184,7 +184,6 @@
Zverejniť OpenPGP kľúčOdstrániť OpenPGP verejný kľúčPovoliť účet
- Ste si istý?Nahrať hlasXMPP adresaZablokovať adresu XMPP
@@ -223,7 +222,6 @@
Načítavam kľúče...DokončenýDešifrovať
- ZáložkyHľadaťVložiť KontaktZmazať kontakt
@@ -509,10 +507,8 @@
Prebiehajúci hovorPrebiehajúci video hovorPrichádzajúci hovor
- Prichádzajúci hovor - %sZmeškaný hovor - %sOdchádzajúci hovor
- Odchádzajúci hovor - %sZmeškaný hovorHlasový hovorVideo hovor
diff --git a/src/main/res/values-sq-rAL/strings.xml b/src/main/res/values-sq-rAL/strings.xml
index c757504ac22ffabf690af242fcb45db770882057..c86c426b67f73b47c3aa40c84d3c6a8c4611ccab 100644
--- a/src/main/res/values-sq-rAL/strings.xml
+++ b/src/main/res/values-sq-rAL/strings.xml
@@ -1,2 +1,996 @@
-
-
+
+
+ Bisedë e re
+ Administroni llogari
+ Administroni llogari
+ Mbylle bisedën
+ Hollësi kontakti
+ Hollësi fjalosjeje grupi
+ Hollësi kanali
+ Shtoni llogari
+ Përpunoni emër
+ Shtoje te libër adresash
+ Bllokojeni kontaktin
+ Zhbllokoje kontaktin
+ Blloko përkatësin
+ Zhbllokoje përkatësinë
+ Blloko pjesëmarrësin
+ Zhbllokoje pjesëmarrësin
+ Administroni Llogari
+ Formësime
+ Jepe përmes Conversation
+ Nisni Bisedë
+ Zgjidhni Kontakt
+ Zgjidhni Kontakte
+ Jepe përmes llogarie
+ mu tani
+ 1 minutë më parë
+ %d minuta më parë
+ po dërgohet…
+ Po shfshehtëzohet mesazhi. Ju lutem prisni…
+ Mesazhi i fshehtëzuar me OpenPGP
+ Nofka është tashmë e regjistruar
+ Nofkë e pavlefshme
+ Përgjegjës
+ I zoti
+ Moderator
+ Pjesëmarrës
+ Vizitor
+ Të bllokohen krejt kontaktet nga %s\?
+ Të zhbllokohen krejt kontaktet prej %s\?
+ Kontakti u bllokua
+ Bllokuar
+ Regjistroni llogari të re në shërbyes
+ Ndryshoni fjalëkalim te shërbyesi
+ Ndajeni me…
+ Nisni bisedë
+ Ftoni kontakt
+ Ftoni
+ Kontakte
+ Kontakt
+ Anuloje
+ Shtoni
+ Përpunojeni
+ Fshije
+ Bllokoje
+ Zhbllokoje
+ Ruaje
+ OK
+ %1$s u vithis
+ Dërgoje tani
+ Mos ripyet më kurrë
+ S’u lidh dot te llogaria
+ S’u lidh dot te llogari të shumta
+ Prekeni, që të administroni llogaritë tuaja
+ Bashkëngjitni kartelë
+ Të shtohet te lista juaj e kontakteve ky kontakt që mungon\?
+ Shtoni kontakt
+ dërgimi dështoi
+ Po bëhet gati për dërgim figure
+ Po bëhet gati për dërgim figurash
+ Po jepen kartela. Ju lutemi, prisni…
+ Spastro historikun
+ Spastoni Historik Bisedash
+ Fshije kartelën
+ Mbylle këtë bisedë më pas
+ Zgjidhni pajisje
+ Dërgoni mesazh të pafshehtëzuar
+ Dërgoni mesazh
+ Dërgoje mesazhin për %s
+ Dërgoni një mesazh të fshehtëzuar me OMEMO
+ Dërgoni një mesazh të fshehtëzuar me v\\OMEMO
+ Dërgoni një mesazh të fshehtëzuar me OpenPGP
+ Nofkë e re në përdorim
+ Dërgoje të pafshehtëzuar
+ Instaloje
+ Ju lutemi, instaloni OpenKeychain
+ po ofrohet…
+ po pritet…
+ S’u gjet Kyç OpenPGP
+ S’u gjetën Ke OpenPGP
+ Të Përgjithshme
+ Prano kartela
+ Bashkëngjitje
+ Njoftim
+ Dridhu
+ Dridhu, kur mbërrin mesazh i ri
+ Njoftim LED
+ Zile
+ Tingull njoftimi
+ Tingull njoftimi për mesazhe të rinj
+ Zile për thirrje ardhëse
+ Të mëtejshme
+ Mos dërgo kurrë njoftime vithisjesh
+ Ripohoni Mesazhe
+ Pengo Foto Ekrani
+ UI
+ OpenKeychain prodhoi një gabim.
+ Kyç i pavlefshëm për fshehtëzim.
+ Pranoje
+ Ndodhi një gabim
+ Gabim
+ Llogaria juaj
+ Dërgo përditësime pranie
+ Merr përditësime pranie
+ Pyet për përditësime pranie
+ Zgjidhni foto
+ Bëni një foto
+ Kartela që përzgjodhët s’është figurë
+ S’u gjet kartelë
+ E panjohur
+ Përkohësisht i çaktivizuar
+ I lidhur
+ Po lidhet…
+ I shkëputur
+ E paautorizuar
+ S’u gjet shërbyes
+ Pa lidhje
+ Regjistrimi dështoi
+ Emër përdoruesi tashmë në përdorim
+ Regjistrimi u plotësua
+ Regjistrim i pambuluar nga shërbyesi
+ Token-i i pavlefshëm regjistrimi
+ Tratativa TLS dështoi
+ Përkatësi: e paverifikueshme
+ Dhunim rregullash
+ Shërbyes i papërputhshëm
+ Klient jo i përputhshëm
+ Gabim rrjedhe
+ Gabim në hapjen e rrjedhës
+ Të pafshehtëzuara
+ OTR
+ OpenPGP
+ OMEMO
+ Fshije llogarinë
+ Çaktivizoje përkohësisht
+ Publikoje avatarin
+ Publikoni kyçin publik OpenPGP
+ Hiq kyç publik OpenPGP
+ Kyçi publik OpenPGP u bë publik.
+ Aktivizoje llogarinë
+ Incizoni zë
+ Adresë XMPP
+ Bllokoj adresë XMPP
+ username@example.com
+ Fjalëkalim
+ Kjo s’është adresë XMPP e vlefshme
+ Mbaroi kujtesa. Figurë shumë e madhe
+ Doni të shtohet %s te libri juaj i adresave\?
+ Hollësi shërbyesi
+ XEP-0313: MAM
+ XEP-0198: Administrim Rrjedhe
+ XEP-0163: PEP (Avatarë / OMEMO)
+ XEP-0363: Ngarkim Kartelash HTTP
+ jo i passhëm
+ parë së fundi mu tani
+ parë së fundi një minutë më parë
+ parë së fundi %d minuta më parë
+ parë së fundi një orë më parë
+ parë së fundi %d orë më parë
+ parë së fundi një ditë më parë
+ parë së fundi %d ditë më parë
+ U gjetën mesazhe të rinj të fshehtëzuar me OpenPGP
+ ID Kyçi OpenPGP
+ Shenja gishtash OMEMO
+ Shenja gishtash v\\OMEMO
+ Pajisje të tjera
+ Beso Shenja Gishtash OMEMO
+ Po sillen kyçe…
+ U bë
+ Shfshehtëzoje
+ Kërko
+ Jepni Kontakt
+ Fshije kontaktin
+ Shihni hollësi kontakti
+ Bllokojeni kontaktin
+ Zhbllokoje kontaktin
+ Krijoje
+ Përzgjidhni
+ Kontakti ekziston tashmë
+ Hyni
+ kanal@konferencë.shembull.com/nofkë
+ Ruaje si faqerojtës
+ Fshije faqerojtësin
+ Asgjëso fjalosje grupi
+ Asgjësoje kanalin
+ S’u asgjësua dot fjalosje në grup
+ S’u asgjësua dot kanali
+ Përpunoni subjekt fjalosjeje në grup
+ Po hyhet në fjalosje grupi…
+ Dil
+ Kontakti u shtua te listë kontaktesh
+ Rishtoje
+ %s ka lexuar deri në këtë pikë
+ %s ka lexuar deri në këtë pikë
+ Po publikohet…
+ Shërbyesi hodhi poshtë urdhrin publikimin tuaj
+ S’u shndërrua dot fotoja juaj
+ S’u ruajt dot avatari në disk
+ Shërbyesi juaj nuk mbulon publikim avatarësh
+ pëshpëriti
+ për %s
+ Dërgo mesazh privat te %s
+ Lidhe
+ Ka tashmë një llogari të tillë
+ Pasuesi
+ U vendos sesion
+ Anashkaloje
+ Çaktivizo njoftimet
+ Aktivizoje
+ Fjalosja në grupi lyp fjalëkalim
+ Jepni fjalëkalim
+ Kërkoje tani
+ Shpërfille
+ Siguri
+ Lejo ndreqje mesazhi
+ Rregullime ekspertësh
+ Ju lutemi, hapni sytë me këto
+ Mbi %s
+ Orë të Qeta
+ Kohë fillimi
+ Kohë përfundimi
+ Aktivizoni orë të qeta
+ Tjetër
+ Njëkohëso faqerojtës
+ U kopjuan në të papastër shenja gishtash OMEMO
+ Jeni dëbuar nga kjo fjalosje në grup
+ Kjo fjalosje në grup është vetëm për anëtarë
+ Kufizim burimesh
+ Jepni përzënë nga kjo fjalosje në grup
+ Fjalosje në grup qe mbyllur
+ S’jeni më te kjo fjalosje grupi
+ duke përdorur llogari %s
+ strehuar në %s
+ Po kontrollohet %s te strehë HTTP
+ S’jeni i lidhur. Riprovoni më vonë
+ Kontrolloni madhësi %s
+ Kontrolloni madhësinë e %1$s në %2$s
+ Mundësi mesazhi
+ Ngjite si citim
+ Kopjoji URL-në origjinale
+ Ridërgoje
+ URL kartele
+ URL-ja u kopjua në të papastër
+ Adresa XMPP u kopjua në clipboard
+ Mesazhi i gabimit u kopjua në të papastër
+ adresë web
+ Skano Kod me vija 2D
+ Shfaq Kod me vija 2D
+ Shfaqe listë bllokimesh
+ Hollësi llogarie
+ Ripohojeni
+ Riprovoni
+ Shërbim në prapaskenë
+ Krijo kopjeruajtje
+ Kartelat kopjeruajtje do të depozitohen në %s
+ Po krijohen kartela kopjeruajtje
+ Kopjeruajtja juaj u krijua
+ Po rikthehet kopjeruajtje
+ Kopjeruajtja juaj u rikthye
+ Mos harroni të aktivizoni llogarinë.
+ Zgjidhni kartelë
+ Po merret %1$s (plotësuar %2$d%%)
+ Shkarkoni %s
+ Fshije %s
+ kartelë
+ Hap %s
+ po dërgohet (plotësuar %1$d%%)
+ Po bëhet gati për dhënie kartele
+ %s ofruar për shkarkim
+ s’u nda dot kartelë me të tjerë
+ shpërngulje kartelash e anuluar
+ Kartela u fshi
+ S’u gjet aplikacion për hapje të kartelës
+ S’u gjet aplikacion për hapje të lidhjes
+ S’u gjet aplikacion për të parë kontakte
+ Etiketa Dinamike
+ Aktivizo njoftimet
+ S’u gjet shërbyes fjalosjeje grupi
+ S’u krijua dot fjalosje grupi
+ Avatar llogarie
+ Kopjoje shenja gishtash OMEMO në të papastër
+ Riprodho kyç OMEMO
+ Spastro pajisje
+ Diç shkoi ters
+ Po sillet historik prej shërbyesi
+ S’ka historik tjetër në shërbyes
+ Po përditësohet…
+ Fjalëkalimi u ndryshua!
+ Fjalëkalimi s’u ndryshua dot
+ Ndryshoni fjalëkalimin
+ Fjalëkalimi i tanishëm
+ Fjalëkalim i ri
+ Fjalëkalimi s’mund të jetë i zbrazët
+ Aktivizo krejt llogaritë
+ Çaktivizo krejt llogaritë
+ Kryeje veprimin me
+ Pa përshoqërim
+ I shkëputur
+ Anëtar
+ Mënyrë e thelluar
+ Akordojini privilegje anëtari
+ Shfuqizoni privilegje anëtari
+ Akordoni privilegje përgjegjësi
+ Shfuqizoni privilegje përgjegjësi
+ Akordojini privilegje të zoti
+ Shfuqizoni privilegje të zoti
+ Hiqe prej fjalosjeje grupi
+ Hiqe prej kanali
+ S’u ndryshua dot përshoqërim i %s
+ Dëboje nga fjalosje në grup
+ Dëboje nga kanali
+ Dëboje tani
+ S’u ndryshua dot roli i %s
+ Formësim fjalosje private në grup
+ Formësim kanali publik
+ Private, vetëm për anëtarë
+ S’po merrni pjesë
+ U ndryshuan mundësi fjalosjeje në grup!
+ Kurrë
+ Deri sa të jepet njoftim tjetër
+ Përgjigjuni
+ Vëri shenjë si të lexuar
+ Tasti Enter bën dërgimin
+ Shfaq tastin Enter
+ Ndryshoje tastin e emotikoneve si tast Enter
+ audio
+ video
+ figurë
+ grafik vektorial
+ kartelë multimedia
+ Dokument PDF
+ Aplikacion
+ Kontakt
+ Avatari u bë publik!
+ Po ofrohet %s
+ %s po shkruan…
+ %s ka reshtur së shkruari
+ %s po shkruajnë…
+ %s ka reshtur së shkruari
+ Njoftime shtypjesh
+ Dërgo vendndodhjen
+ Shfaq vendndodhje
+ S’u gjet aplikacion për shfaqje të vendndodhjes
+ Vendndodhje
+ Biseda u mbyll
+ Braktisi fjalosje private në grup
+ Braktisi kanal majtas
+ Krejt dëshmitë duhet të miratohen dorazi
+ Hiqni dëshmi
+ Fshi dëshmi të miratuara dorazi
+ S’u dhanë dëshmi dorazi
+ Hiqi dëshmitë
+ Fshije përzgjedhjen
+ Anuloje
+ Veprim i Shpejtë
+ Asnjë
+ Më të përdorur së fundi
+ Zgjidhni veprim të shpejtë
+ Kërko te kontaktet
+ Dërgo mesazh privat
+ %1$s e braktisi fjalosjen në grup
+ Emër përdoruesi
+ Emër përdoruesi
+ Ky s’është emër i vlefshëm përdoruesi
+ Shkarkimi dështoi: S’u gjet shërbye
+ Shkarkimi dështoi: S’u gjet kartelë
+ Shkarkimi dështoi: S’u lidh dot te strehë
+ Shkarkimi dështoi: S’u arrit të shkruhej te kartelë
+ Shkarkimi dështoi: Kartelë e pavlefshme
+ Rrjet Tor jo në punë
+ Dështim lidhjeje
+ Shërbyesi s’është përgjegjës për këtë përkatësi
+ I dëmtuar
+ “I larguar”, kur pajisja është e kyçur
+ Shfaqmë si “I lraguar”, kur pajisja është e kyçur
+ Shfaqmë si “I zënë”, kur pajisja është në dridhje
+ Rregullime të zgjeruara lidhjeje
+ Hyni me dëshmi
+ S’u analizua dot dëshmi
+ Parapëlqime arkivimi
+ Parapëlqime arkivimi më anë të shërbyesit
+ S’u prunë dot parapëlqime arkivimi
+ Zgjidhja e CAPTCHA-s është e domosdoshme
+ Jepni tekstin prej figurës më sipër
+ Varg jo i besuar dëshmish
+ Adresa XMPP s’përputhet me dëshminë
+ Rinovoni dëshminë
+ Gabim në sjellje kyçi OMEMO!
+ U verifikua kyç OMEMO me dëshmi!
+ Lidhje
+ Lidhu përmes Tor-i
+ Strehëemër
+ Portë
+ Ky s’është numër i vlefshëm porte
+ Ky s’është një strehëemër i vlefshëm
+ Njëkohësoje me kontaktet
+ Njofto për krejt mesazhet
+ Njoftomë vetëm kur përmendem
+ Njoftime të çaktivizuara
+ Njoftime të ndalura
+ Ngjeshje Figure
+ Përherë
+ Vetëm figura të mëdha
+ Me optimizime baterie të aktivizuara
+ Çaktivizoje
+ Zona e përzgjedhur është shumë e madhe
+ (Pa llogari të aktivizuara)
+ Kjo fushë është e domosdoshme
+ Ndreqe mesazhin
+ Dërgo mesazhin e saktësuar
+ E keni çaktivizuar këtë llogari
+ Gabim sigurie: Hyrje e pavlefshme te kartelë!
+ S’u gjet aplikacion për të dhënë URI
+ Jepjani URI-n…
+ Pajtohuni dhe vazhdoni
+ Adresa juaj e plotë XMPP do të jetë: %s
+ Krijo Llogari
+ Përdorni shërbimin tuaj
+ Zgjidhni emrin tuaj si përdorues
+ Administrojeni dorazi praninë
+ Mesazh gjendjeje
+ I lirë për Fjalosje
+ Në linjë
+ I larguar
+ I zënë
+ U prodhua një fjalëkalim i siguruar
+ Regjistrimi dështoi: Riprovoni më vonë
+ Regjistrimi dështoi: Fjalëkalim shumë i dobët
+ Zgjidhni pjesëmarrës
+ Po krijohet fjalosje në Grup…
+ Riftojeni
+ Çaktivizoje
+ E shkurtër
+ Mesatare
+ E gjatë
+ Përdorim transmetimi
+ Privatësi
+ Temë
+ Përzgjidhni paletën e ngjyrave
+ Automatike
+ E çelët
+ E errët
+ Sfond i gjelbër
+ S’u lidh dot te OpenKeychain
+ Kjo pajisje s’është më në përdorim
+ Kompjuter
+ Telefon celular
+ Tablet
+ Shfletues
+ Konsolë
+ Lypset pagesë
+ Akordo leje për përdorim të Internetit
+ Unë
+ Kontakti kërkon pajtim pranie
+ Lejoje
+ S’ka leje për përdorim të %s
+ S’u gjet shërbyes i largët
+ Mbarim kohe shërbyesi të largët
+ S’u përditësua dot llogaria
+ Raportojeni këtë adresa për mesazhe të padëshiruar.
+ Fshini identitete OMEMO
+ Fshi kyçet e përzgjedhur
+ Kopjo shenja gishtash
+ Kodi me vija nuk përmban shenja gishtash për këtë bisedë.
+ Shenja gishtash të verifikuar
+ Përdorni kamerën e telefonit tuaj që të skanoni një kod me vija
+ Ju lutemi, pritni të sillen kyçet
+ Ndajeni si Kod me vija
+ Jepe si URI XMPP
+ Ndajeni me të tjerë si lidhje HTTP
+ Besim i Verbër Para Verifikimi
+ Jo i besuar
+ Kod 2D me vija i pavlefshëm
+ Spastro fshehtinën
+ Spastro depozitë private
+ Vazhdoni
+ Verifikoni kyçe OMEMO
+ Shfaq joaktive
+ Mos e beso pajisjen
+
+ %d minutë
+ %d minuta
+
+
+ %d orë
+ %d orë
+
+
+ %d ditë
+ %d ditës
+
+
+ %d javë
+ %d javë
+
+ Fshirje e automatizuar mesazhesh
+ Po fshehtëzohet meszhi
+ Po ngjishet video
+ Biseda përkatëse u mbyll.
+ Kontakti u bllokua.
+ Njoftime prej të panjohurish
+ U mor mesazh prej të panjohuri
+ Blloko të huaj
+ Bllokoje krejt përkatësinë
+ në linjë mu tani
+ Riprovo shfshehtëzimin
+ Dështim sesioni
+ Shërbyesi kërkon doemos regjistrim përmes një sajti
+ Hap sajtin
+ S’u gjetën aplikacione për hapjen e sajtit
+ Sot
+ Dje
+ Vlerësoj strehemër me DNSSEC
+ të pjesshme
+ Regjistroni video
+ Kopjoje në të papastër
+ Mesazhi u kopjua në të papastër
+ Mesazh
+ Mesazhet private janë të çaktivizuara
+ Aplikacione të Mbrojtur
+ Të pranohet Dëshmi e Panjohur\?
+ Dëshmia e shërbyesit s’është nënshkruar prej një Autoriteti të njohur Dëshmish.
+ Të Pranohet Emër Shërbyesi i Ngatërruar\?
+ Doni të lidheni, sido qoftë\?
+ Hollësi dëshmie:
+ Një herë
+ Që të skanojë kodin QR, skanerit i duhet leje përdorimi të kamerës
+ Rrëshqitni drejt fundit
+ Përpunoni Mesazh gjendjeje
+ Përpunoni mesazh gjendjeje
+ Çaktivizo fshehtëzimin
+ S’u soll dot listë pajisjesh
+ S’u sollën dot kyçe fshehtëzimi
+ Çaktivizoje tani
+ Skicë:
+ Fshehtëzim OMEMO
+ Krijoni Shkurtore
+ Madhësi Shkronjash
+ On, si parazgjedhje
+ Off, si parazgjedhje
+ Mesatare
+ E madhe
+ Mesazhi s’qe fshehtëzuar për këtë pajisje.
+ S’’u arrit të shfshehtëzohet mesazh fshehtëzuar me OMEMO.
+ zhbëje
+ Tregimi i vendndodhjes është i çaktivizuar
+ Ndreqe pozicionin
+ Shfiksoje pozicionin
+ Kopjo Vendndodhjen
+ Jepe Vendndodhjen
+ Drejtime
+ Jepe vendndodhjen
+ Shfaq vendndodhje
+ Ndajeni me të tjerë
+ S’u fillua dot regjistrim
+ Ju lutemi, prisni…
+ Akordoni hyrje %1$s për mikrofonin
+ Kërko te mesazhet
+ GIF
+ Shihni bisedë
+ Shtojcë Tregimi Vendndodhjeje
+ Kopjo adresë web
+ Kopjo adresë XMPP
+ Dhënie Kartelash HTTP për S3
+ Kërkim i Drejtpërdrejtë
+ Avatar fjalosjeje në grup
+ Emër kontakti
+ Nofkë
+ Emër
+ Jepni një emër, nëse doni
+ Emër fjalosjeje në grup
+ Kjo fjalosje në grup është asgjësuar
+ S’u ruajt dot regjistrim
+ Shërbim në pjesën e dukshme
+ Hollësi Gjendjeje
+ Probleme Lidhjeje
+ Mesazhe
+ Thirrje
+ Mesazhe
+ Thirrje ardhëse
+ Thirrje në kryerje e sipër
+ Thirrje të humbura
+ Mesazhe heshtazi
+ Dërgime të dështuar
+ Rregullime njoftimesh mesazhesh
+ Rregullime njoftimesh për thirrje ardhëse
+ Rëndësi, Tingull, Dridhje
+ Ngjeshje videoje
+ Shihni media
+ Pjesëmarrës
+ Shfletues mediash
+ Cilësi Video
+ Mesatare (360p)
+ E lartë (720p)
+ anuluar
+ Po skiconi tashmë një mesazh.
+ Veçori e pasendërtuar
+ Kod i pavlefshëm vendi
+ Zgjidhni vend
+ numër telefoni
+ Verifikoni numrin tuaj të telefonit
+ %s s’është numër telefoni i vlefshëm.
+ Ju lutemi, jepni numrin e telefonit tuaj.
+ Kërko te vendet
+ Verifikoni %s
+ Ridërgo SMS
+ Ridërgo SMS (%s)
+ Ju lutemi, pritni (%s)
+ mbrapsht
+ Jeni i sigurt se doni të ndëpritet procedura e regjistrimit\?
+ Po
+ Po verifikohet…
+ PIN-i që dhatë është i pasaktë.
+ Gabim i panjohur rrjeti.
+ Përgjigje e panjohur nga shërbyesi.
+ S’u lidh dot te shërbyesi.
+ S’u vendos dot një lidhje të sigurt.
+ S’u gjet dot shërbyes.
+ Diç shkoi ters gjatë përpunimit të kërkesës tuaj.
+ Dhënie e pavlefshme nga përdoruesi
+ Përkohësisht i pakapshëm. Riprovoni më vonë.
+ S’ka lidhje rrjeti.
+ Ju lutemi, riprovoni pas %s
+ Shumë përpjekje
+ Përditësoje
+ Emri juaj
+ Jepni emrin tuaj
+ Hidhe poshtë kërkesën
+ Instaloni Orbot-in
+ Nisni Orbot-in
+ e-libër
+ Origjinalja (e pangjeshur)
+ Hape me…
+ Foto profili Conversations
+ Zgjidhni llogari
+ Riktheje kopjeruajtjen
+ Riktheje
+ S’u rikthye dot kopjeruajtje.
+ S’u shfehtëzua dot kopjeruajtje. A është i saktë fjalëkalimi\?
+ Kopjeruani & Riktheni
+ Jepni adresë XMPP
+ Krijoni fjalosje grupi
+ Hyni në kanal publik
+ Krijoni fjalosje private në grup
+ Krijoni kanal publik
+ Emër kanali
+ Adresë XMPP
+ Ju lutemi, jepni një emër për kanalin
+ Ju lutemi, jepni një adresë XMPP
+ Kjo është një adresë XMPP. Ju lutemi, jepni një emër.
+ Po krijohet kanal publik…
+ Ky kanal ekziston tashmë
+ Hytë në një kanal ekzistues
+ S’u ruajt dot formësim kanali
+ Lejo këdo të përpunojë temën
+ Lejo këdo të ftojë të tjerë
+ Cilido mund të përpunojë temën.
+ Të zotët mund të përpunoni subjektin.
+ Përgjegjësit mund të përpunojnë temën.
+ Të zotët mund të ftojnë të tjerë.
+ Cilido mund të ftojë të tjerë.
+ Adresat XMPP janë të dukshme për përgjegjës.
+ Adresat XMPP janë të dukshme për këdo.
+ Kjo fjalosje private në grup s’ka anëtarë.
+ Administroni privilegje
+ Kërko te pjesmarrës
+ Kartelë shumë e madhe
+ Bashkëngjite
+ Zbuloni kanale
+ Kërko te kanale
+ Cenim potencial privatësie!
+ Kam tashmë një llogari
+ Shtoni llogari ekzistuese
+ Regjistroni llogari të re
+ Kjo duket si adresë përkatësie
+ Shtoje sido qoftë
+ Ndani me të tjerë kartela kopjeruajtjesh
+ Kopjeruajtje bisede
+ Akt
+ Hap kopjeruajtje
+ Kartela që përzgjodhët s’është kartelë kopjeruajtjeje Conversations
+ Kjo llogari është ujdisur tashmë
+ Ju lutemi, jepni fjalëkalimin për këtë llogari
+ S’u krye dot ky veprim
+ Fjalosje në Grup & Kanale
+ Shërbyes vendor
+ Metodë zbulimi kanalesh
+ Kopjeruajtje
+ Mbi
+ Ju lutemi, aktivizoni një llogari
+ Bëni thirrje
+ Thirrje ardhëse
+ Thirrje video ardhëse
+ Të kalohet në thirrje video\?
+ Po lidhet
+ I lidhur
+ Po rilidhet
+ Po pranohet thirrja
+ Po përfundohet thirrja
+ Përgjigje
+ Hidhe tej
+ Po pikasen pajisje
+ Po i bihet ziles
+ I zënë
+ S’u bë dot lidhje e thirrjes
+ Humbi lidhja
+ Thirrje e tërhequr
+ Dështim aplikacioni
+ Problem verifikimi
+ Mbylle
+ Thirrje në kryerje e sipër
+ Thirrje video në kryerje e sipër
+ Po rilidhet thirrja
+ Po rilidhet thirrje video
+ Që të bëni thirrje, çaktivizoni Tor-in
+ Thirrje ardhëse
+ Thirrje e humbur · %s
+ Thirrje për
+ Thirrje e humbur
+
+ %1$d thirrje e humbur, prej %2$s
+ %1$d thirrje të humbura, prej %2$s
+
+
+ %d thirrje e humbur
+ %d thirrje të humbura
+
+ Mikrofoni juaj s’është i përdorshëm
+ Mund të kryeni vetëm një thirrje në herë.
+ S’u ndërrua dot kahu i kamerës
+ Fiksoje në krye
+ Shfiksoje prej kreut
+ Gjurmë GPX
+ S’u ndreq dot mesazhi
+ Krejt bisedat
+ Këtë bisedë
+ Avatari juaj
+ Avatar për %s
+ Fshehtëzuar me OMEMO
+ Fshehtëzuar me OpenPGP
+ Jo e fshehtëzuar
+ Dalje
+ Incizo postë zanore
+ Luaje audion
+ Ndale videon
+
+ Shihni %1$d Pjesëmarrës
+ Shihni %1$d Pjesëmarrës
+
+
+ S’u dha dot një mesazh
+ S’u dhanë dot disa mesazhe
+
+ Dërgime të dështuara
+ Më tepër mundësi
+ S’u gjet aplikacion
+ Ftojeni te Conversations
+ S’arrihet të analizohet ftesë
+ Shërbyesi s’mbulon prodhim ftesash
+ Këtë veçori s’e mbulon ndonjë llogari aktive
+ S’arrihet të aktivizohet video.
+ Dokument tekst i thjeshtë
+ Nuk mbulohen regjistrime llogarish
+ S’u gjet adresë XMPP
+ Dështim i përkohshëm mirëfilltësimi
+ Fshije avatarin
+ Kalo në thirrje video
+ Hidh poshtë kalim në thirrje video
+ Hyni në kanal publik…
+
+ %d bisedë e palexuar
+ %d biseda të palexuara
+
+
+ U fshi %d dëshmi
+ U fshi %d dëshmi
+
+
+ %d muaj
+ %d muaj
+
+ S’u shndërrua dot kartelë figure
+ Temë
+ Rregullime
+ Rinise
+ Duke dërguar “stack traces” ndihmoni në zhvillimin
+ Bëje kanalin të moderuar
+ U lidhën %1$d nga %2$d e llogarive
+ Ngarko më tepër mesazhe
+ Akordoni hyrje %1$s për kamerën
+ Shfaq mesazh gabimi
+ Mesazh Gabimi
+ S’u krijua dot kartelë e përkohshme
+ Kjo pajisje u verifikua
+ Që të vazhdoni të merrni njoftime, edhe kur ekrani juaj është i fikur, duhet të shtoni Conversations te lista e aplikacioneve të mbrojtur.
+ Kjo duket si adresë kanali
+ Thirrje audio
+ Thirrje video
+ Ndihmë
+ Kalo te bisedë
+ Rikthehu te thirrja që po bëhej
+
+ %d mesazh
+ %d mesazhe
+
+ Llogari XMPP
+ Asnjë (e çaktivizuar)
+
+ %d sekondë
+ %d sekonda
+
+ Jo
+ PIN-i që keni dërguar, ka skaduar.
+ Po përdorni një version të vjetruar të këtij aplikacioni.
+ Prej këtij numri telefoni është bërë hyrja me një tjetër pajisje.
+ Ju lutemi, jepni emrin tuaj, për t’u bërë të ditur se cili jeni, personave që s’ju kanë në librat e tyre të adresave.
+ Që të caktoni emrin tuaj, përdorni butonin e përpunimeve.
+ Ky kanal do ta bëjë publike adresën tuaj XMPP
+ Po kërkohet SMS…
+ Pajisja juaj përdor optimizime shumë të thella baterie për %1$s, çka mund të shpjerë në vonesa njoftimesh, ose madje edhe humbje mesazhesh.
+\n
+\nTani do t’ju kërkohet t’i çaktivizoni ato.
+ I keni vlerësuar në mënyrë të parrezik shenjat e gishtave të këtij personi, për të ripohuar besimin. Duke përzgjedhur “U bë”, thjesht po ripohoni se %s është pjesë e kësaj fjalosjeje në grup.
+ Ju ndan një hap nga verifikimi i kyçeve OMEMO të llogarisë tuaj. Kjo është e sigurt vetëm nëse e ndoqët këtë lidhje prej një burimi të besuar, ku vetëm ju do të mund ta kishit publikuar këtë lidhje.
+ Jeni i sigurt se doni të hiqet verifikimi i kësaj pajisjeje\?
+\nKësaj pajisjeje dhe mesazheve prej saj do t’u vihet shenjë si “Jo i besuar”.
+ Fshi vetvetiu nga kjo pajisje mesazhe që janë më të vjetër se intervali kohor i formësuar.
+ S’po sillen mesazhe, për shkak të një periudhe lokale mbajtjeje.
+ Fshije prej liste
+ Do të donit të hiqet %s prej listës tuaj të kontakteve\? Bisedat me këtë kontakt s’do të hiqen.
+ Do të donit t’i bllokohet %s dërgimi i mesazheve për ju\?
+ Do të donit të zhbllokohet %s dhe të lejohet t’ju dërgojë mesazhe\?
+ Do të donit të hiqet %s si faqerojtës\? Bisedat me këtë faqerojtës s’do të hiqen.
+ Përdorimi i llogarisë tuaj XMPP për të dërguar “stack traces” ndihmon zhvillimin e pandërprerë të %1$s.
+ Doni të fshihen krejt mesazhet te kjo bisedë\?
+\n
+\nKujdes: Kjo s’do të ndikojë mesazhet e depozituar në pajisje apo shërbyes të tjerë.
+ Jeni i sigurt se doni të fshihet kjo kartelë\?
+\n
+\nKujdes: Kjo s’do të fshijë kopje të kësaj kartele që janë depozituar në pajisje apo shërbyes të tjerë.
+ Shfshehtëzimi dështoi. Ndoshta s’keni kyçin e duhur privat.
+ OpenKeychain
+ %1$s përdor <b>OpenKeychain</b> që të fshehtëzojë dhe shfshehtëzojë mesazhe dhe të administrojë kyçet tuaj publikë.<br><br>Licensohet sipas kushteve të GPLv3+ dhe mund të merret në F-Droid dhe Google Play.<br><br><small>(Ju lutemi, riniseni %1$s më pas.)</small>
+ Mesazhi juaj s’u fshehtëzua dot, ngaqë kontakti juaj s’po deklaron kyçin e vet publik.
+\n
+\nJu lutemi, kërkojini kontaktit tuaj të ujdisë OpenPGP-në.
+ Mesazhi juaj s’u fshehtëzua dot, ngaqë kontaktet tuaj s’po deklarojnë kyçet e tyre publikë.
+\n
+\nJu lutemi, kërkojuni të ujdissin OpenPGP-në.
+ Pranoni vetvetiu kartela më të vogla se…
+ Xixëllo dritëz njoftimesh, kur mbërrin një mesazh i ri
+ Kohëzgjatje heshtimi njoftimesh, pas pikasjeje veprimtarie në një nga pajisjet tuaja të tjera.
+ Bëjuni të ditur kontakteve tuaja kur keni marrë dhe lexuar mesazhet e tyre
+ Fshih lëndë aplikacioni te këmbyesi i aplikacioneve dhe blloko fotografim ekrani
+ Gabim i përgjithshëm I/O. Ndoshta ju është mbaruar hapësirë depozitimi\?
+ Aplikacioni që përdorët për të përzgjedhur këtë figurë nuk dha leje të mjaftueshme për leximin e kartelës.
+\n
+\nPërdorni një tjetër përgjegjës kartelash për të zgjedhur një figurë.
+ Aplikacioni që përdorët për të dhënë këtë kartelë, nuk jep leje të mjaftueshme.
+ Jeni i sigurt se doni të hiqet kyçi juaj publik OpenPGP nga njoftimi juaj për prani\?
+\nKontaktet tuaj s’do të jenë më në gjendje t’ju dërgojnë mesazhe të fshehtëzuar me OpenPGP.
+ Fshirja e llogarisë tuaj fshin krejt historikun e bisedave tuaja
+ Mesazh i fshehtëzuar. Që ta shfshehtëzoni, ju lutemi, instaloni OpenKeychain.
+ Shenja gishtash OMEMO (origjinë mesazhi)
+ Shenja gishtash v\\OMEMO (origjinë mesazhi)
+ kanal@konferencë.example.com
+ Jeni i sigurt se doni të asgjësohet kjo fjalosje në grup\?
+\n
+\nKujdes: Fjalosja në grup do të hiqet plotësisht te shërbyesi.
+ Jeni i sigurt se doni të asgjësohet ky kanal publik\?
+\n
+\nKujdes: Kanali do të hiqet plotësisht te shërbyesi.
+ %1$s +%2$d të tjerë kanë lexuar deri në këtë pikë
+ Gjithkush ka lexuar deri në këtë pikë
+ Prekni avatarin që të përzgjidhni një foto nga galeri
+ (Ose shtypeni gjatë, për të ri kthyer parazgjedhjet)
+ Ju lutemi, së pari kërkoni përditësime pranie nga kontakti juaj.
+\n
+\nKjo do të përdoret për të përcaktuar cilin aplikacion fjalosjeje po përdor kontakti juaj.
+ Lejojuni kontakteve tuaja të përpunojnë mesazhet e tyre edhe më pas
+ Gjatë orëve të qetësisë, njoftimet do të heshtohen
+ Kalo në “autojoin”, kur hyhet ose dilet nga një MUC dhe reago te ndryshime të bëra nga klientë të tjerë.
+ Kujdes: Dërgimi i kësaj, pa përditësime të dyanshme pranie, mund të shkaktojë probleme të papritura.
+\n
+\nKaloni te “Hollësi kontakti”, që të verifikoni pajtime tuajat pranie.
+ E braktisët këtë fjalosje grupi për arsye teknike
+ I pengon sistemit operativ të asgjësojë lidhjen tuaj
+ Kartelat e kopjeruajtjes janë depozituar në %s
+ Anuloje transmetimin
+ Shfaq etiketa vetëm-lexim nën kontakte
+ Jeni i sigurt se doni të spastrohen krejt pajisjet e tjera nga njoftimi OMEMO\? Herës tjetër që pajisjet tuaja lidhen, do të rinjoftojnë veten, por ndërkohë mund të mos marrin mesazhet e dërguar.
+ S’ka kyçe të përdorshëm për këtë kontakt.
+\nS’u sollën dot kyçe të rinj nga shërbyesi. Ndoshta ka diçka gabim me shërbyesin tuaj të kontakteve\?
+ S’ka kyçe të përdorshëm për këtë kontakt.
+\nSigurohuni se keni që të dy pajtim pranie.
+ Po rrekeni të hiqni %s nga një kanal publik. Rruga e vetme për ta bërë këtë është ta dëboni përgjithmonë atë përdorues.
+ Bëji adresat XMPP të dukshme për këdo
+ S’u ndryshuan dot mundësi fjalosjeje në grup
+ Përdorni tastin Enter për të dërguar mesazhin. Mundeni përherë të përdorni Ctrl+Enter për të dërguar mesazhin, edhe nëse kjo mundësi është e çaktivizuar.
+ Po dërgohet %s
+ Fshih të shkëputurat
+ Bëjuni të ditur kontakteve tuaj, kur shkruani mesazhe për ta
+ Mos beso DA sistemi
+ Zëvendëso butonin “Dërgoje” me veprim të shpejtë
+ “I zënë” nën mënyrën e heshtur
+ Shfaqe si “I zënë”, kur pajisja gjendet nën mënyrën e heshtur
+ Trajtoje dridhjen si mënyrë heshturazi
+ Kur ujdiset një llogari, shfaq rregullime strehëemri dhe porte
+ xmpp.example.com
+ Po sillen parapëlqime arkivimi. Ju lutemi, pritni…
+ Pajisja juaj nuk mbulon përzgjedhjen e dëshmive të klientëve!
+ Kaloji krejt lidhjet përmes rrjetit Tor. Lyp Orbot
+ Kartela iu dha %s
+ Figura iu dha %s
+ Figurat iu dhanë %s
+ Teksti iu dha %s
+ Akordoji %1$s hyrje te depozitë e jashtme
+ %1$s dëshiron leje të përdorë librin tuaj të adresave, për përkim me listën tuaj të kontakteve XMPP.
+\nKjo do të sjellë shfaqjen e emrave të plotë dhe avatarëve të kontakteve tuaj.
+\n
+\n%1$s vetëm sa do të lexojë librin tuaj të adresave dhe bëjë lokalisht përkimin, pa ngarkuar gjë në shërbyesin tuaj.
+ Ndihmëz: Përdorni “Zgjidhni kartelë”, në vend se “Zgjidhni foto”, për të dërguar figura të pangjeshura, pavarësisht nga ky rregullim.
+ Pajisja juaj përdor optimizime shumë të thella baterie për %1$s, çka mund të shpjerë në vonesa njoftimesh, ose madje edhe humbje mesazhesh.
+\nRekomandohet të çaktivizohen ato.
+ Pajisja juaj nuk mbulon zgjedhjen e lënies jashtë nga optimizim baterie
+ Bëjuni të ditur kontakteve tuaj, kur përdorni Conversations
+ Për mesazhe të marrë përdor sfond të gjelbër
+ Riprodhoni kyçet tuaj OMEMO. Krejt kontakteve tuaj do t’ju duhet t’ju verifikojnë sërish. Këtë përdoreni si zgjidhjen e fundit.
+ Që të bëni publik avatarin tuaj, duhet të jeni i lidhur.
+ Kursyesi i të dhënave u aktivizua
+ Sistemi juaj operativ po e kufizon hyrjen e %1$s në Internet, kur gjendet në sfond. Që të merrni njoftime për mesazhe të rinj, duhet t’i lejoni %1$s hyrje të pakufizuar , kur “Ruajtësi i të dhënave” është aktiv.
+\n%1$s do të bëjë prapë një përpjekje të kursejë të dhëna, kur është e mundur.
+ Pajisja juaj nuk mbulon çaktivizim Kursyesi të dhënash për %1$s.
+ Verifikuat krejt kyçet OMEMO që zotëroni
+ Beso pajisje të reja prej kontaktesh të paverifikuar, por kërko ripohim dorazi për pajisje të reja për kontakte të verifikuarbut prompt manual confirmation of new devices for verified contacts.
+ Spastro dosje fshehtinë (përdorur nga aplikacioni kamerë)
+ Spastro depozitë private ku mbahen kartelat (Ato mund të rishkarkohen prej shërbyesit)
+ E ndoqa këtë lidhje prej një burimi të besuar
+ Ju ndan një hap nga verifikimi i kyçeve OMEMO të %1$s, pas klikimit të një lidhjeje. Kjo është e sigurt vetëm nëse e ndoqët këtë lidhje prej një burimi të besuar, ku vetëm %2$s do të mund ta kishte publikuar këtë lidhje.
+ Fshih jo aktivet
+ Njofto për mesazhe dhe thirrje të mara prej të huajish.
+ Dëshmi shërbyesi që përmbajnë strehëemrin e vlerësuar, konsiderohen të verifikuara
+ Dëshmia s’përmban adresë XMPP
+ Shërbyesi s’bëri dot mirëfilltësimin si “%s”. Dëshmia është e vlefshme vetëm për:
+ Pas dërgimit të një mesazhi, rrëshqit poshtë
+ %1$s s’është në gjendje të fshehtëzojë mesazhe te %2$s. Kjo mund të vijë për shkak se kontakti juaj përdor një shërbyes, ose klient të vjetruar, që s’mund të përdorë OMEMO.
+ Ndihmëz: Në disa raste, kjo mund të ndreqet duke shtuar listat e kontakteve të njëri-tjetrit.
+ Jeni i sigurt se doni të çaktivizohet fshehtëzimi OMEMO për këtë bisedë\?
+\nKjo do t’i lejojë përgjegjësit të shërbyesit tuaj të lexojë mesazhet tuaj, por mund të jetë e vetmja rrugë për të komunikuar me persona që përdorin klientë të vjetruar.
+ OMEMO do të përdoret përherë për fjalosje tek-për-tek dhe në grup.
+ OMEMO do të përdoret për biseda të reja, si parazgjedhje.
+ OMEMO do të duhet të aktivizohet shprehimisht për biseda të reja.
+ Madhësia relative e shkronjave të përdorura brenda aplikacionit.
+ Te skena “Nisni Bisedë” hapni tastierën dhe vendoseni kursorin te fusha e kërkimeve
+ Streha nuk mbulon avatarë fjalosjeje në grup
+ Vetëm i zoti mund të ndryshyjë avatarin e një fjalosje në grup
+ Përdor Shtojcën Për Tregim Vendndodhjeje, në vend se hartën e brendshme
+ Kjo kategori njoftimesh përdoret për të shfaqur një njoftim të përhershëm që tregon se %1$s është në funksionim.
+ Kjo kategori njoftimesh përdoret për të shfaqur njoftim në rast se ka problem me lidhjen me një llogari.
+ Ky grup njoftimesh përdoret për të shfaqur njoftime që s’duhet të shkaktojnë ndonjë tingull. Për shembull, kur është aktiv në një tjetër pajisje (Grace Period).
+ Cilësi më e ulët do të thotë kartela më të vogla
+ Quicksy do të dërgojë një mesazh SMS (mund të aplikohen tarifa shërbimi) për të verifikuar numrin tuaj të telefonit. Jepni kodin e vendit tuaj dhe numrin e telefonit:
+ Ju kemi dërguar një tjetër SMS me një kod prej 6 shifrash.
+ Ju lutemi, jepni më poshtë PIN-in tuaj prej 6 shifrash.
+ Ju lutemi, jepni PIN-in tuaj prej 6 shifrash.
+ Kartelë e shpërfillur, për shkak cenimi sigurie.
+ Do të verifikojmë numrin e telefonit
%s
Dakord, apo do të donit të përpunonit numrin\?
+ Ju kemi dërguar një SMS te %s.
+ Që të rikthehet kopjeruajtja, jepni fjalëkalimin tuaj për llogarinë %s.
+ Mos përdorni veçorinë e rikthimit të një kopjeruajtje në një përpjekje për të klonuar (xhiruar në të njëjtën kohë) një instalim. Rikthimi i një kopjeruajtje është menduar vetëm për migrime, ose në rast se humbët pajisjen origjinale.
+ Ky kanal publik s’ka pjesëmarrës. Ftoni kontaktet tuaj, ose përdorni butonin e ndarjes me të tjerët për të dhënë adresën XMPP të tij.
+ Aplikacioni dhënës nuk akordoi leje për hyrje në këtë kartelë.
+ Shumica e përdoruesve duhet të zgjedhin ‘jabber.network’ për sugjerime më të mira nga krejt ekosistemi publik XMPP.
+ Shtoni kontakt, krijoni ose hyni në një fjalosje në grup, ose zbuloni kanale
+ Kopjeruajtja u nis. Do të merrni një njoftim, sapo të jetë plotësuar.
+ Thirrjet janë të çaktivizuara, kur përdoret Tor-i
+ Llogaria përmes së cilës do të merren mesazhet push.
+ Shërbyes Push
+ Një shërbyes push i zgjedhur nga përdoruesi, përmes të cilit të kalohen te pajisja juaj mesazhet push përmes XMPP-je.
+ Ka të hartuar një udhërrëfyes mbi krijim llogarish te conversations.im.
+\nKu zgjidhet conversations.im si shërbim, do të jeni në gjendje të komunikoni me përdorues prej shërbimesh të tjera duke u dhënë atyre adresën tuaj të plotë XMPP.
+
+ %1$d thirrje të humbur prej %2$d kontakti
+ %1$d thirrje të humbur prej %2$d kontaktesh
+
+
\ No newline at end of file
diff --git a/src/main/res/values-sr/strings.xml b/src/main/res/values-sr/strings.xml
index 29cb5e8c49f487d9a7cd4c0c496a75b2a9deb540..29939384d39d48ddf727454defed9c1651887b81 100644
--- a/src/main/res/values-sr/strings.xml
+++ b/src/main/res/values-sr/strings.xml
@@ -183,7 +183,6 @@
Желите ли заиста да уклоните ваш ОпенПГП кључ из ваше објаве присутности?\nВаши контакти више неће моћи да вам шаљу ОпенПГП шифроване поруке.ОпенПГП кључ је објављен.Укључи налог
- Да ли сте сигурни?Брисањем налога бришете и целу историју ваших разговора.Сними гласИксМПП адреса
@@ -226,7 +225,6 @@
Добављам кључеве…ГотовоДешифруј
- ОбележивачиТражиУнеси контактОбриши контакт
@@ -449,7 +447,6 @@
Недавно коришћенаИзаберите брзу радњуТражи контакте
- Претрага обележивачаПошаљи личну поруку%1$s је напустио/ла групно ћаскањеКорисничко име
diff --git a/src/main/res/values-sv/strings.xml b/src/main/res/values-sv/strings.xml
index 154eb556cd55027ced88d17850d0f45512eebf47..24c6e6e5f5c4aa54d85b52e1621b13e860f3f542 100644
--- a/src/main/res/values-sv/strings.xml
+++ b/src/main/res/values-sv/strings.xml
@@ -31,10 +31,7 @@
%d min sedan%d oläst konversation
-
-
%d olästa konversationer
-
skickar…Avkrypterar meddelande. Vänta…
@@ -84,12 +81,14 @@
sändning misslyckadesFörbereder att skicka bildFörbereder att skicka bilder
- Delar filer. Vänta...
+ Delar filer. Vänta…Rensa historikRensa konversationshistorikVill du radera alla meddelanden i den här konversationen?\n\nVarning: Det här påverkar inte meddelanden som finns lagrade på andra enheter eller servrar.Ta bort fil
- Är du säker på att du vill ta bort den här filen?\n\nVarning: Den här åtgärden kommer inte att ta bort kopior av den här filen som finns lagrad på andra enheter eller servrar.
+ Är du säker på att du vill ta bort den här filen\?
+\n
+\nVarning: Den här åtgärden kommer inte att ta bort kopior av den här filen som finns lagrad på andra enheter eller servrar. Stäng denna konversation efteråtVälj enhetSkicka okrypterat meddelande
@@ -100,7 +99,7 @@
Skicka OpenPGP-krypterat meddelandeNytt smeknamn användsSkicka okrypterat
- Avkryptering misslyckades. Du har kanske kanske inte rätt privat nyckel.
+ Dekrypteringen misslyckades. Du har kanske inte rätt privat nyckel.OpenKeychainOpenKeychain för att kryptera och avkryptera dina publika nycklar.
Programmet är licensierat under GPLv3+ och finns tillgänglig via F-Droid and Google Play.
(Var god och starta om %1$s efter installationen.)]]>Starta om
@@ -129,7 +128,7 @@
Tidsgräns för hur länge notiser ska tystas efter att aktivitet har upptäckts på en av dina andra enheter.AvanceratSkicka aldrig krasch-rapporter
- Genom att skicka in stack traces hjälper du utvecklingen
+ Genom att skicka in kraschrapporter hjälper du den pågående utvecklingenBekräfta meddelandenLåt dina kontakter veta när du har mottagit och läst deras meddelandenFörhindra skärmdumpar
@@ -151,7 +150,9 @@
Det gick inte att konvertera bildfilenFilen hittas ejGenerellt I/O-fel. Du kanske fick slut på plats?
- Applikationen som du använde för att välja den här bilden tillhandahöll inte tillräckligt med rättigheter för att läsa filen.\n\nVar god och använd en annan filhanterare för att välja en bild.
+ Applikationen som du använde för att välja den här bilden tillhandahöll inte tillräckligt med rättigheter för att läsa filen.
+\n
+\nAnvänd en annan filhanterare för att välja en bild.Applikationen du använde för att dela den här filen tillhandahöll inte tillräckligt med behörigheter.OkändTillfälligt inaktiverad
@@ -184,8 +185,7 @@
Är du säker på att du vill ta bort din OpenPGP publik nyckel från din tillgänglighetsuppdatering?\nDina kontakter kommer inte längre att kunna skicka dig OpenPGP-krypterade meddelande.OpenPGP-nyckel har publicerats.Aktivera konto
- Är du säker?
- Om du tar bort ditt konto raderas hela din konversationshistorik
+ Är du säker på att du vill ta bort ditt konto\? Om du tar bort ditt konto raderas hela din konversationshistorikSpela in röstXMPP-adressBlockera XMPP-adress
@@ -224,10 +224,9 @@
v\\OMEMO-fingeravtryck (meddelandets ursprung)Andra enheterLita på OMEMO-fingeravtryck
- Hämtar nycklar...
+ Hämtar nycklar …KlarAvkryptera
- BokmärkenSökFyll i kontaktTa bort kontakt
@@ -250,7 +249,7 @@
Det gick inte att ta bort kanalenRedigera ämnet för gruppchattenÄmne
- Går med i gruppchatt...
+ Går med i gruppchatt …LämnaKontakten lade till dig i sin kontaktlistaAddera tillbaka
@@ -422,9 +421,9 @@
Skickar %sErbjuder %sDölj ej anslutna
- %s skriver...
+ %s skriver …%s har slutat skriva
- %s skriver...
+ %s skriver …%s har slutat skrivaSkriv-notifieringarLåt dina kontakter veta när du skriver meddelande till dem
@@ -453,7 +452,6 @@
Senast användVälj snabbfunktionSök kontakter
- Sök bokmärkenSkicka privat meddelande%1$s har lämnat gruppchattenAnvändarnamn
@@ -482,7 +480,7 @@
Det gick inte att analysera certifikatetArkiveringsinställningarArkiveringsinställningar på servern
- Hämtar arkiveringsinställningar, vänta...
+ Hämtar arkiveringsinställningar, vänta …Det gick inte att hämta arkiveringsinställningarCAPTCHA behövsSkriv i texten från bilden ovan
@@ -514,7 +512,6 @@
Ge %1$s åtkomst till kameranSynkronisera med kontakter%1$s vill ha behörighet att komma åt din adressbok för att matcha den med din XMPP-kontaktlista.\nDetta visar dina kontakters fullständiga namn och visningsbilder.\n\n%1$s kommer bara att läsa din adressbok och matcha den lokalt, utan att ladda upp något till din server.
- Vi kommer inte att lagra någon kopia av dessa telefonnummer.\n\nLäs vår integritetspolicy för mer information.
Du kommer nu bli ombedd att ge åtkomst till dina kontakter.]]>Notifiera för alla meddelandenNotis endast vid omnämnandeNotifieringar deaktiverade
@@ -525,7 +522,9 @@
Endast stora bilderBatterioptimeringar aktiveradeDin enhet använder kraftiga batterioptimeringar för %1$s, vilket kan leda till försenade aviseringar eller till och med förlust av meddelanden.\nVi rekommenderar att du inaktiverar dem.
- Din enhet använder kraftiga batterioptimeringar för %1$s, vilket kan leda till försenade aviseringar eller till och med förlust av meddelanden.\nDu kommer nu att bli ombedd att inaktivera dem.
+ Din enhet använder kraftiga batterioptimeringar för %1$s, vilket kan leda till försenade aviseringar eller till och med förlust av meddelanden.
+\n
+\nDu kommer nu att bli ombedd att inaktivera dem.DeaktiveraThe valda området är för stort(Inget konto aktiverat)
@@ -536,10 +535,10 @@
Du har deaktiverat detta kontoSäkerhetsfel: Ogiltig filåtkomst!Ingen applikation hittades för att dela URI
- Dela URI med...
- Du registrerar dig med ditt telefonnummer och Quicksy kommer automatiskt – baserat på telefonnumren i din adressbok – att föreslå möjliga kontakter till dig.
Genom att registrera dig godkänner du vår integritetspolicy.]]>
+ Dela URI med …Acceptera och gå vidare
- En guide har skapats för kontoskapande på conversations.im.¹\nNär du väljer conversations.im som leverantör kommer du att kunna kommunicera med användare av andra leverantörer genom att ge dem din fullständiga XMPP-adress.
+ En guide har skapats för kontoskapande på conversations.im.
+\nNär du väljer conversations.im som leverantör kommer du att kunna kommunicera med användare av andra leverantörer genom att ge dem din fullständiga XMPP-adress.Din fullständiga XMPP-adress kommer att vara: %sSkapa kontoAnvänd min egen leverantör
@@ -557,7 +556,7 @@
Registreringfel: Försök igen senareRegistreringsfel: Lösenordet är för svagtVälj deltagare
- Skapar gruppchatt...
+ Skapar gruppchatt …Bjud in igenDeaktiveraKort
@@ -591,7 +590,7 @@
Ta bort OMEMO identiteterÅterskapa dina OMEMO-nycklar. Alla dina kontakter måste verifiera dig igen. Använd endast det här som en sista utväg.Ta bort valda nycklar
- Du måste vara ansluten för att publicera din avatarbild
+ Du måste vara ansluten för att publicera din avatarbild.Visa felmeddelandeFelmeddelandeDatabesparing
@@ -683,11 +682,11 @@
MeddelandePrivata meddelanden är inaktiveradeSkyddade applikationer
- För att fortsätta ta emot aviseringar, även när skärmen är avstängd, måste du lägga till Conversations i listan över skyddade applikationer.
+ För att fortsätta ta emot aviseringar även när skärmen är avstängd, måste du lägga till Conversations i listan över skyddade appar.Godkänn okänt certifikat?Servercertifikatet är inte signerat av en känd certifikatutfärdare.Acceptera servernamn som inte matchar?
- Servern kunde inte autentisera som \"%s\". Certifikatet är endast giltigt för:
+ Servern kunde inte autentisera som \"%s\". Certifikatet är endast giltigt för:Vill du ansluta ändå?Certifikatdetaljer:En gång
@@ -729,7 +728,7 @@
Visa platsDelaDet gick inte att starta inspelningen
- Var god dröj...
+ Var god dröj …Ge %1$s tillgång till mikrofonenSöka i meddelandenGIF
@@ -773,7 +772,7 @@
tillbakaJaNej
- Bekräftar...
+ Bekräftar …Okänt nätverksfel.För många försökDu använder en föråldrad version av denna app.
@@ -784,8 +783,8 @@
Installera OrbotStarta Orbote-bok
- Öppna med...
- Konversationens profilbild
+ Öppna med …
+ Conversations-profilbildVälj kontoÅterställa säkerhetskopieringÅterställa
@@ -802,7 +801,7 @@
Vänligen ange ett namn på kanalenAnge en XMPP-adressDetta är en XMPP-adress. Ange ett namn.
- Skapar publik gruppkonversation...
+ Skapar publik gruppkonversation …Denna kanal finns redanDu har gått med i en befintlig kanalDet gick inte att spara kanalkonfigurationen
@@ -838,7 +837,7 @@
Det här kontot har redan konfigureratsVar god ange lösenordet för det här kontotDet gick inte att utföra den här åtgärden
- Anslut till publik gruppkonversation...
+ Anslut till publik gruppkonversation …Delnings-appen gav inte behörighet till att komma åt den här filen.jabber.network
@@ -873,10 +872,8 @@
Återansluter videosamtaletInaktivera Tor för att ringa samtalInkommande samtal
- Inkommande samtal · %sMissat samtal · %sUtgående samtal
- Pågående samtal · %sMissat samtalRöstsamtalVideosamtal
@@ -911,4 +908,95 @@
Ingen applikation hittadesBjud in till ConversationsIngen XMPP-adress hittades
-
+
+ %1$d missat samtal från %2$s
+ %1$d missade samtal från %2$s
+
+
+ %d missat samtal
+ %d missade samtal
+
+ Denna gruppchatt har förstörts
+ Öppna tangentbordet och placera markören i sökfältet vid \"Starta konversation\"-sidan
+ Denna notifikationskategori används för att visa en permanent notifikation som visar att %1$s är igång.
+ Inställningar för meddelandenotifikationer
+ Inställningar för notifikationer om inkommande samtal
+ Vikt, ljud, vibration
+ Kunde inte upprätta en säker anslutning.
+ Ogiltig inmatning
+ Tillfälligt otillgänglig. Försök igen om en stund.
+ Ingen kontakt med nätverket.
+ Prova igen om %s
+ Begär sms …
+ Pinkoden är fel.
+ Pinkoden som vi har skickat dig har utgått.
+ Kunde inte hitta servern.
+ Klistrade automatiskt in pinkod från urklipp.
+ Ange din sexsiffriga pinkod.
+ Är du säker på att du vill avbryta registreringen\?
+ Ange ditt telefonnummer.
+ Sök länder
+ Verifiera %s
+ Vi har sänt dig ett annat SMS med en sexsiffrig kod.
+ Enge din sexsifftiga pinkod nedan.
+ Skicka SMS igen
+ Skicka SMS igen (%s)
+ Vänta (%s)
+ Vi kommer att verifiera telefonnumret
%s
Är det okej, eller vill du ändra numret\?
+ %s är inte ett giltigt telefonnummer.
+ Filen utelämnad av säkerhetsskäl.
+ Lägre kvalitet ger mindre filer
+ Funktionen är inte implementerad
+ Felaktig landskod
+ Du är begränsad
+ Använd redigera-knappen för att ange ditt namn.
+ Ingen butiksapp installerad.
+ Den här kanalen gör din XMPP-adress publik
+ Original (okomprimerad)
+ Kunde inte dekryptera säkerhetskopian. Är lösenordet rätt\?
+ Byta till videosamtal\?
+ Lägg till ytterligare spår\?
+ Inga aktiva konton har stöd för denna funktion
+ Säkerhetskopieringen har startat. Du får en notifikation när den är färdig.
+ Video kan inte aktiveras.
+ Textdokument
+ Tillfälligt autentiseringsfel
+ Radera avatar
+ Samtal är inaktiverat när Tor används
+ Växla till video
+ Avböj förfrågan om att växla till video
+ UnifiedPush-distributör
+ XMPP-konto
+ Kontot genom vilket push-meddelanden tas emot.
+ Push-server
+ En användarvald push-server för att vidarebefordra push-meddelanden via XMPP till din enhet.
+ Ingen (avaktiverad)
+ Det här telefonnumret är inloggat på en annan enhet.
+ Ange ditt namn så att folk som inte har dig i sin adressbok vet vem du är.
+ Kunde inte kontakta servern.
+ Något blev fel när din förfrågan hanterades.
+ Okänt svar från servern.
+ Vi har sänt dig ett SMS till %s.
+ Quicksy skickar ett SMS för att bekräfta ditt telefonnummer (operatörsavgifter kan tillkomma). Ange din landskod och ditt telefonnumer:
+ Missade samtal
+ Använd Dela plats-plugin istället för den inbyggda kartan
+ Denna notifikationskategori används för att visa en notifikation om det är problem med att kontakta ett konto.
+ Denna notifikationsgrupp används för att visa notifikationer som inte ska utlösa något ljud, till exempel när man är aktiv på en annan enhet (respitperiod).
+ Inkomatibel klient
+ Synkronisera bokmärken
+ Du lämnade gruppchatten av tekniska skäl
+ multimedia-fil
+ Använd inte funktionen för återställning av säkerhetskopia för att försöka klona (köra samtidigt) en installation. Återställning av en säkerhetskopia är avsedd för migreringar eller om du har tappat bort den ursprungliga enheten.
+
+ %1$d missat samtal från %2$d kontakt
+ %1$d missade samtal från %2$d kontakter
+
+
+ Ett meddelande kunde inte levereras
+ Några meddelanden kunde inte levereras
+
+ Kunde inte tolka inbjudan
+ Servern har inte stöd för att skapa inbjudningar
+ Det finns inget stöd för att registrera konto
+ Sätt \"autojoin\"-flagga när du går med i eller lämnar en MUC och reagerar på ändringar gjorda av andra klienter.
+
\ No newline at end of file
diff --git a/src/main/res/values-szl/strings.xml b/src/main/res/values-szl/strings.xml
index df93340b3fa04e173de9c2540ba68136955b5e74..5312cccbca1a6436bfad07662d9d3a8ba6b76ff5 100644
--- a/src/main/res/values-szl/strings.xml
+++ b/src/main/res/values-szl/strings.xml
@@ -198,7 +198,6 @@
\nTwoje kōntakty niy bydōm już mogły wysyłać ci wiadōmości zaszyfrowanych OpenPGP.Klucz publiczny OpenPGP ôstoł ôpublikowany.Włōncz kōnto
- Na zicher\?Wymazanie kōnta wymazuje cołko historyjo godekNagrej głosAdresa XMPP
@@ -241,7 +240,6 @@
Pobiyranie kluczy…SkōńczōnoÔdszyfruj
- ZokłodkiSzukejWpisz kōntaktWymaż kōntakt
@@ -478,7 +476,6 @@
Ôstatnio używanoÔbier gibko akcyjoPrzeszukej kōntakty
- Przeszukej zokłodkiWyślij wiadōmość prywatno%1$s już niy je we kōnferyncyjiMiano ôd używocza
@@ -543,9 +540,6 @@
\nTo pokoże jejich połne miana i awatary.
\n
\n%1$s ino przeczyto twoje kōntakty i dopasuje je lokalnie, bez wysyłanio na twōj serwer.
- Quicksy potrzebuje dostympu do numerōw telefōnōw twojich kōntaktōw, coby zasugerować ci kōntakty, co już używajōm Quicksy. <br><br>Niy trzimiymy kopiji tych numerōw.
-\n
-\nAby dostać wiyncyj informacyje przeczytej naszo polityka prywatności</a>. <br><br>Teroz pojawi sie prośba ô zwōlo na dostymp do twojich kōntaktōw.Powiadōm ô wszyskich wiadōmościachPowiadōmiej ino w przipodku spōmniynio ô miePowiadōmiynia zastawiōne
@@ -571,7 +565,6 @@
Feler bezpieczyństwa: niynoleżny dostymp do zbioru!Niy szło znojś aplikacyje do udostympniynio URIUdostympnij URI ze pōmocōm…
- Quicksy to modyfikacyjo popularnego klijynta XMPP Conversations, z autōmatycznym wykrywaniym kōntaktōw.<br><br>Zapisujesz sie przi użyciu numeru telefōnu i Quicksy autōmatycznie — podle numerōw telefōnōw we adresowyj ksiōnżce — zasugeruje potyncjalne kōntakty dlo ciebie.<br><br>Bez zapisanie sie zgodzosz sie na naszo <a href=https://quicksy.im/#privacy>polityka prywatności</a>.Zgodzōm sie, kōntynuujPokludzymy cie bez proces tworzynio kōnta na conversations.im.¹
\nKej ôbieresz conversations.im za liferanta, to poradzisz kōmunikować sie ze używoczami inkszych liferantōw, jeźli podosz im swoja połno adresa XMPP.
@@ -917,7 +910,6 @@
Ôdkryj kanałyWyszukej kanałMożliwe naruszynie prywatności!
- Ôdkrywanie kanałōw używo usugi trzecij fiyrmy <a href=https://search.jabber.network>search.jabber.network</a>. <br><br>Użycie tyj funkcyje prześle dō nij twoja adresa IP jak tyż kryteria wyszukowanio. Wejzdrzij na <a href=https://search.jabber.network/privacy>Polityka Prywatności</a>, coby dostać wiyncyj informacyji.Już mōm kōntoPrzidej kōnto, co juz istniyjeZaregistruj nowe kōnto
@@ -967,10 +959,8 @@
Łōnczynie zaśZastow Tor coby zwōnićPołōnczynie przichodzōnce
- Połōnczynie przichodzōnce · %sNiyôdebrane · %sPołōnczynie wychodzōnce
- Połōnczynie wychodzōnce · %sNiyôdebrane połōnczyniePołōnczynie audioPołōnczynie wideo
diff --git a/src/main/res/values-tr-rTR/strings.xml b/src/main/res/values-tr-rTR/strings.xml
index ff6fd80d9fe9d03704057c084c76aee1a3b44054..c3c99c534917fb0dfd7074fc5af677ea6d56b695 100644
--- a/src/main/res/values-tr-rTR/strings.xml
+++ b/src/main/res/values-tr-rTR/strings.xml
@@ -31,10 +31,7 @@
%d dakika önc%d okunmamış konuşma
-
-
%d okunmamış konuşmalar
-
gönderiyor…İleti deşifre ediliyor. Lütfen bekleyin…
@@ -185,7 +182,6 @@
OpenPGP genel anahtarınız Çevrim içi durum anonsunuzdan kaldırmak istediğinizden emin misiniz?\nArtık kişileriniz size şifrelenmiş OpenPGP mesajları gönderemeyecek.OpenPGP genel anahtarı yayınlandı.Hesabı etkinleştir
- Emin misiniz?Hesabınızın silinmesi bütün konuşma geçmişinizi silerSes kaydetXMPP adresi
@@ -228,7 +224,6 @@
Anahtarları alıyor…TamamŞifreyi çöz
- Yer imleriAraKişi GirinKişiyi sil
@@ -457,7 +452,6 @@
En son kullanılanlarKısayolu seçKişilerde ara
- Yer imleri araÖzel ileti gönder%1$s grup konuşmasından ayrıldıKullanıcı adı
@@ -518,7 +512,6 @@
%1$s\'ın kamera erişimine izin verKişilerle senkronize et%1$s XMPP listenizi telefon rehberinizle eşleştirmek için izin istiyor. Böylelikle, tüm rehberinizindeki kişilerin tam adları ve avatarlarını görebileceksiniz. \n\n%1$s kişilerinizi sunucunuza yüklemeyecek olup, sadece cihazınız üzerinden eşleştirme yapacaktır.
- Bu telefon numaralarının herhangi bir kopyasını depolamayacağız. \n\nDaha fazla bilgi için gizlilik sözleşmemizi okuyun.
Şimdi kişilerinize ulaşılması için sizden izin istenecek.]]>Tüm iletilerde uyarYalnızca bahsedilğinde haber verUyarılar devre dışı
@@ -541,7 +534,6 @@
Güvenlik hatası: Geçersiz dosya erişimi!URL paylaşacak uygulama bulunamadıURI paylaş ile...
- Telefon numarası ile kayıt olursunuz ve Quicksy -adres defterinizdeki numaraları baz alarak- otomatik olarak size olası yeni kişiler önerir.
Kayıt olarak gizlilik sözleşmemizi onaylamış oluyorsunuz.]]>Kabul et ve devam etConversations\'da hesap kurulum için bir rehber hazırlanmıştır.¹\nConversations.im\'i bir sağlayıcı olarak seçtikten sonra başka sağlayıcılar kullanan kullanıcılarla onlara tam XMPP adresinizi vererek iletişim kurabilirsiniz.Tam XMPP adresiniz %s olacak
@@ -629,7 +621,7 @@
Aktif olmayanları gösterAktif olmayanları saklaGüvensiz aygıt
- Bu cihazın doğrulamasını kaldırmak istediğinizden emin misiniz? \ Bu cihaz ve cihazdan gelen mesajlar güvenilmez olarak işaretlenecektir.
+ Bu cihazın doğrulamasını kaldırmak istediğinizden emin misiniz\? Bu cihaz ve cihazdan gelen mesajlar güvenilmez olarak işaretlenecektir.%d saniye%d saniye
@@ -878,7 +870,6 @@
Kanal keşfetKanal araOlası gizlilik ihlali!
- search.jabber.network isimli bir üçüncü parti hizmeti kullanıyor.
Bu özelliği kullandığınız zaman IP adresiniz ve arama tercihleriniz bu hizmete aktarılacak. Daha fazla bilgi için Gizlilik Politikasını inceleyiniz.]]>Zaten bir hesabım varVarolan bir hesap ekleYeni hesap oluştur
@@ -928,10 +919,8 @@
Görüntülü aramaya tekrar bağlanılıyorArama yapmak için Tor\'u devre dışı bırakGelen arama
- Gelen arama. %sCevapsız çağrı. %sYapılan arama
- Yapılan arama. %sCevapsız arama %2$s tarafından %1$d cevapsız çağrı
@@ -992,4 +981,4 @@
Geçici doğrulama hatasıAvatar\'ı silTor kullanırken çağrılar devre dışı
-
+
\ No newline at end of file
diff --git a/src/main/res/values-uk/strings.xml b/src/main/res/values-uk/strings.xml
index ae4152d4bf695794cbf93367cf895f917f2197a4..7b06ca0579d2fb314b5357148093c435ba85326e 100644
--- a/src/main/res/values-uk/strings.xml
+++ b/src/main/res/values-uk/strings.xml
@@ -168,7 +168,6 @@
Ви впевнені, що хочете вилучити ваш публічний ключ OpenPGP з вашого оголошення про присутність?\nВаші контакти більше не зможуть надсилати вам повідомлення, зашифровані OpenPGP.Публічний ключ OpenPGP опубліковано.Увімкнути обліковий запис
- Ви впевнені?Вилучення облікового запису вилучіть всю історію спілкуванняЗаписати голосАдреса XMPP
@@ -209,7 +208,6 @@
Отримую ключі…ЗробленоРозшифрувати
- ЗакладкиПошукУвести контактВилучити контакт
@@ -436,7 +434,6 @@
Остання, що використанаВибрати швидку діюШукати в контактах
- Шукати закладкиПриватне повідомлення%1$s залишила групу!Ім\'я користувача
@@ -490,7 +487,6 @@
Поділитися зображеннями з %sТекстом поділилися з %sСинхронізувати контакти
- Ми не зберігатимемо копію цих телефонних номерів.\n\nДокладна інформація про Політику конфіденційності.
Зараз ви побачите запит на надання доступу до ваших контактів.]]>Сповіщати про всі повідомленняПовідомляти, лише якщо згадуютьСповіщення вимкнено
@@ -511,7 +507,6 @@
Помилка з безпекою: Неправильний доступ до файлу!Не знайдено програми, щоб поділитися URIПоділитися URI
- Реєструйтеся за номером телефону, а Quicksy автоматично за номерами телефонів зі списку контактів на пристрої запропонує вам доступні контакти.
Користування цим застосунком означає, що ви погоджуєтеся з нашою Політикою конфіденційності.]]>Погодитися та продовжитиМи допоможемо вам створити обліковий запис. На наступній сторінці ви зможете змінити автоматично створений пароль.\nПодалі ви зможете спілкуватися з користувачами вашого або будь-якого іншого провайдера, для цього потрібно буде надати користувачеві вашу повну адресу XMPP.Ваша повна адреса XMPP буде такою: %s
@@ -850,7 +845,6 @@
Пошук каналуШукати каналиМожливе порушення приватності!
- search.jabbercat.org.
Використання цієї функції передає вашу IP-адресу та пошукові запити цьому сервісу. Перегляньте їхню Політику конфіденційности, щоб отримати більше інформації.]]>Я вже маю обліковий записДодати наявний обліковий записЗареєструвати новий обліковий запис
@@ -896,9 +890,7 @@
Активний відеовикликВимкнути ToR для здійснення викликівВхідний виклик
- Вхідний виклик · %sВихідний виклик
- Вихідний виклик · %sПропущені викликиГолосовий викликВідеовиклик
diff --git a/src/main/res/values-vi/strings.xml b/src/main/res/values-vi/strings.xml
index ba7a3dbc1ce932850a31daed6f47dcfa0fbfdbc3..c28babf65b505181fa4fd4058718fab8b6be0bbd 100644
--- a/src/main/res/values-vi/strings.xml
+++ b/src/main/res/values-vi/strings.xml
@@ -31,10 +31,9 @@
%d phút trước%d cuộc hội thoại chưa đọc
-
- đang gửi...
- Đang giải mã tin nhắn. Xin chờ...
+ đang gửi…
+ Đang giải mã tin nhắn. Vui lòng chờ…Tin nhắn mã hoá bằng OpenPGPBiệt danh đã được sử dụngBiệt danh không hợp lệ
@@ -53,7 +52,7 @@
Bạn có muốn xoá dấu trang %s không? Các cuộc hội thoại với dấu trang này sẽ không bị xoá.Đăng ký tài khoản mới trên máy chủĐổi mật k trên máy chủ
- Chia sẻ với...
+ Chia sẻ với…Bắt đầu cuộc hội thoạiMời liên hệMời
@@ -81,12 +80,14 @@
thất bại khi chuyểnĐang chuẩn bị sẵn sàng để gửi hình ảnhĐang chuẩn bị sẵn sàng để gửi các hình ảnh
- Đang chia sẻ các tập tin. Xin chờ...
+ Đang chia sẻ các tập tin. Vui lòng chờ…Xoá lịch sửXoá lịch sử hội thoạiBạn có muốn xoá tất cả tin nhắn trong cuộc hội thoại này không?\n\nCảnh báo: Việc này sẽ không ảnh hưởng đến các tin nhắn được lưu trữ trên các thiết bị hoặc máy chủ khác.Xoá tệp
- Bạn có chắc bạn muốn xoá tệp này không?\n\nCảnh báo: Việc này sẽ không xoá các bản sao được lưu trữ trên các thiết bị hoặc máy chủ khác của tệp này.
+ Bạn có chắc bạn muốn xoá tệp này không\?
+\n
+\nCảnh báo: Việc này sẽ không xoá các bản sao được lưu trữ trên các thiết bị hoặc máy chủ khác của tệp này. Đóng cuộc hội thoại này sau đóChọn thiết bịGửi tin nhắn không mã hoá
@@ -103,15 +104,15 @@
Khởi chạy lạiCài đặtXin cài đặt OpenKeychain
- đang đề xuất...
- đang chờ...
+ đang đề xuất…
+ đang chờ…Không tìm thấy khoá OpenPGPKhông thể mã hoá tin nhắn của bạn vì liên hệ của bạn không thông báo mã khoá công khai của họ.\n\nVui lòng yêu cầu liên hệ của bạn thiết lập OpenPGP.Không tìm thấy các khoá OpenPGPKhông thể mã hoá tin nhắn của bạn vì các liên hệ của bạn không thông báo mã khoá công khai của họ.\n\nVui lòng yêu cầu họ thiết lập OpenPGP.Tổng quanChấp thuận các tập tin
- Tự động chấp thuận các tập tin nhỏ hơn...
+ Tự động chấp thuận các tập tin nhỏ hơn…Tập tin đính kèmThông báoRung
@@ -148,7 +149,9 @@
Không thể chuyển đổi tệp hình ảnhKhông tìm thấy tập tinLỗi I/O tổng quát. Có lẽ đã hết dung lượng lưu trữ?
- Ứng dụng mà bạn dùng để chọn hình ảnh này không cung cấp đủ quyền để đọc tệp.\n\nHãy sử dụng trình quản lý tệp khác để chọn hình ảnh
+ Ứng dụng mà bạn dùng để chọn hình ảnh này không cung cấp đủ quyền để đọc tệp.
+\n
+\nHãy sử dụng trình quản lý tệp khác để chọn hình ảnh.Ứng dụng bạn dùng để chia sẻ tệp này không cung cấp đủ quyền.Không rõTạm thời tắt
@@ -181,8 +184,7 @@
Bạn có chắc bạn muốn xoá mã khoá OpenPGP công khai của bạn khỏi sự thông báo có mặt của bạn không?\nCác liên hệ của bạn sẽ không thể gửi các tin nhắn được mã hoá bằng OpenPGP cho bạn nữa.Đã xuất bản mã khoá OpenPGP công khai.Bật tài khoản
- Bạn chắc chứ?
- Việc xoá tài khoản sẽ xoá toàn bộ lịch sử cuộc hội thoại của bạn
+ Bạn có chắc chắn muốn xóa tài khoản chứ\? Việc xoá tài khoản sẽ xoá toàn bộ lịch sử cuộc hội thoại của bạnGhi âmĐịa chỉ XMPPChặn địa chỉ XMPP
@@ -221,10 +223,9 @@
v\\Mã vân tay OMEMO (nguồn gốc tin nhắn)Các thiết bị khácTin tưởng các dấu vân tay OMEMO
- Đang nhận khoá...
+ Đang nhận khoá…XongGiải mã
- Dấu trangTìm kiếmNhập liên hệXoá liên hệ
@@ -237,7 +238,7 @@
Tham giachannel@conference.example.com/nickchannel@conference.example.com
- Lưu thành đánh dấu
+ Đánh dấuXoá đánh dấuPhá huỷ cuộc trò chuyện nhómPhá huỷ kênh
@@ -247,7 +248,7 @@
Không thể phá huỷ kênhChỉnh sửa chủ đề cuộc trò chuyện nhómChủ đề
- Đang tham gia cuộc trò chuyện nhóm...
+ Đang tham gia cuộc trò chuyện nhóm…Rời khỏiLiên hệ đã thêm bạn vào danh bạThêm họ vào
@@ -257,7 +258,7 @@
Mọi người đã đọc cho đến lúc nàyĐăngNhấn ảnh đại diện để chọn ảnh từ thư viện
- Đang đăng...
+ Đang đăng…Máy chủ đã từ chối đăng tải của bạnKhông thể chuyển đổi hình ảnhKhông thể lưu ảnh đại diện vào ổ đĩa
@@ -361,7 +362,7 @@
Có gì đó sai đã xảy raĐang nhận lịch sử từ máy chủKhông còn lịch sử nào trên máy chủ
- Đang cập nhật...
+ Đang cập nhật…Đã đổi mật khẩu!Không thể đổi mật khẩuĐổi mật khẩu
@@ -419,9 +420,9 @@
Đang gửi %sĐang đề xuất %sẨn ngoại tuyến
- %s đang gõ...
+ %s đang gõ…%s đã ngừng gõ
- %s đang gõ...
+ %s đang gõ…%s đã ngừng gõThông báo đang gõĐể cho các liên hệ của bạn biết khi bạn đang viết tin nhắn cho họ
@@ -449,7 +450,6 @@
Dùng gần đây nhấtChọn thao tác nhanhTìm kiếm liên hệ
- Tìm kiếm dấu trangGửi tin nhắn cá nhân%1$s đã rời khỏi cuộc trò chuyện nhómTên người dùng
@@ -464,8 +464,8 @@
Máy chủ không chịu trách nhiệm cho miền nàyBị hỏngTính khả dụng
- Vắng mặt khi thiết bị bị khoá
- Hiện là Vắng mặt khi thiết bị bị khoá
+ Vắng mặt khi đang khóa máy
+ Hiện trạng thái Vắng mặt khi đang khóa máyBận ở chế độ im lặngHiện là Bận khi thiết bị ở chế độ im lặngCoi chế độ rung như chế độ im lặng
@@ -477,7 +477,7 @@
Không thể xử lý chứng chỉCài đặt lưu trữCài đặt lưu trữ ở phía máy chủ
- Đang lấy cài đặt lưu trữ. Vui lòng đợi...
+ Đang lấy cài đặt lưu trữ. Vui lòng đợi…Không thể lấy cài đặt lưu trữYêu cầu CAPTCHANhập văn bản trong hình ảnh ở trên
@@ -508,7 +508,6 @@
Cấp quyền truy cập máy ảnh cho %1$sĐồng bộ với danh bạ%1$s muốn quyền truy cập sổ địa chỉ của bạn để nối nó với danh sách liên hệ XMPP của bạn.\nViệc này sẽ hiển thị họ tên và ảnh đại diện của các liên hệ của bạn.\n\n%1$s sẽ chỉ đọc sổ địa chỉ của bạn và nối nó một cách cục bộ mà không tải gì cả lên máy chủ của bạn.
- Chúng tôi sẽ không lưu trữ bản sao của các số điện thoại đó.\n\nĐể biết thêm thông tin hãy đọc chính sách riêng tư của chúng tôi.
Bây giờ bạn sẽ được hỏi cấp quyền truy cập danh bạ.]]>Thông báo tất cả tin nhắnChỉ thông báo khi được nhắc đếnĐã tắt thông báo
@@ -519,7 +518,9 @@
Chỉ các hình ảnh lớnĐã bật tối ưu pinThiết bị của bạn đang sử dụng tối ưu hoá pin sâu cho %1$s, điều này có thể dẫn đến thông báo bị trì hoãn hay thậm chí là mất tin nhắn.\nChúng tôi khuyên bạn tắt tối ưu hoá pin.
- Thiết bị của bạn đang sử dụng tối ưu hoá pin sâu cho %1$s, điều này có thể dẫn đến thông báo bị trì hoãn hay thậm chí là mất tin nhắn.\nBây giờ bạn sẽ được hỏi để tắt tối ưu hoá pin.
+ Thiết bị của bạn đang sử dụng tối ưu hoá pin sâu cho %1$s, điều này có thể dẫn đến thông báo bị trì hoãn hay thậm chí là mất tin nhắn.
+\n
+\nBạn sẽ được yêu cầu tắt tối ưu hoá pin ngay bây giờ.TắtKhu vực chọn quá lớn(Không có tài khoản đã kích hoạt)
@@ -530,10 +531,10 @@
Bạn đã tắt tài khoản nàyLỗi bảo mật: Truy cập tệp không hợp lệ!Không tìm thấy ứng dụng nào để chia sẻ URI
- Chia sẻ URI với...
- Bạn đăng ký bằng số điện thoại của bạn và Quicksy sẽ tự động—dựa trên những số điện thoại trong sổ địa chỉ của bạn—đề xuất các liên hệ có thể có cho bạn.
Bằng cách đăng ký, bạn đồng ý với chính sách riêng tư của chúng tôi.]]>
+ Chia sẻ URI với…Đồng ý và tiếp tục
- Một hướng dẫn đã được thiết lập cho việc tạo tài khoản trên conversations.im.¹\nKhi chọn conversations.im làm nhà cung cấp, bạn sẽ có thể giao tiếp với những người dùng của các nhà cung cấp khác bằng cách đưa cho họ địa chỉ XMPP đầy đủ của bạn.
+ Một hướng dẫn đã được thiết lập cho việc tạo tài khoản trên conversations.im.¹
+\nKhi chọn conversations.im làm nhà cung cấp, bạn sẽ có thể giao tiếp với những người dùng của các nhà cung cấp khác bằng cách đưa cho họ địa chỉ XMPP đầy đủ của bạn.Địa chỉ XMPP đầy đủ của bạn sẽ là: %sTạo tài khoảnDùng nhà cung cấp của tôi
@@ -551,7 +552,7 @@
Đăng ký thất bại: Hãy thử lại sauĐăng ký thất bại: Mật khẩu quá yếuChọn các thành viên
- Tạo nhóm chat...
+ Đang tạo nhóm chat…Mời lạiTắtNgắn
@@ -612,7 +613,7 @@
Dọn dẹp bộ nhớ riêngDọn dẹp bộ nhớ riêng nơi các tệp được giữ (Chúng có thể được tải xuống lại từ máy chủ)Tôi đã đi theo liên kết này từ một nguồn được tin tưởng
- Bạn sắp xác minh các mã khoá OMEMO của %1$s sau khi nhấn vào một liên kết. Việc này chỉ là bảo mật nếu bạn đã đi theo liên kết này từ một nguồn được tin tưởng, nơi chỉ có %2$s có thể đã xuất bản liên kết này.
+ Bạn chuẩn bị xác minh các khóa OMEMO của %1$s sau khi nhấn vào một liên kết. Việc làm này chỉ an toàn nếu bạn đã đến liên kết này từ một nguồn đáng tin tưởng, chỉ có %2$s mới có thể cho ra liên kết này trước đó.Xác minh các mã khoá OMEMOHiện không hoạt độngẨn không hoạt động
@@ -673,7 +674,7 @@
Chấp nhận chứng chỉ không xác định?Chứng chỉ máy chủ này không được một người có quyền chứng chỉ đã biết ký.Chấp nhận tên máy chủ không khớp?
- Máy chủ không thể xác thực với tư cách \"%s\". Chứng chỉ chỉ hợp lệ cho:
+ Máy chủ không thể xác thực với tư cách \"%s\". Chứng chỉ chỉ hợp lệ cho: Bạn có muốn vẫn kết nối không?Chi tiết chứng chỉ:Một lần
@@ -715,7 +716,7 @@
Hiện vị tríChia sẻKhông thể bắt đầu ghi lại
- Vui lòng đợi...
+ Vui lòng đợi…Cấp quyền truy cập micro cho %1$sTìm kiếm tin nhắnGIF
@@ -787,8 +788,8 @@
Bạn có chắc bạn muốn huỷ quá trình đăng ký không?CóKhông
- Đang xác minh...
- Đang yêu cầu SMS...
+ Đang xác minh…
+ Đang yêu cầu SMS…Mã PIN bạn đã nhập không chính xác.Mã PIN chúng tôi gửi cho bạn đã hết hạn.Lỗi mạng không xác định.
@@ -817,7 +818,7 @@
Kênh này sẽ làm cho địa chỉ XMPP của bạn trở thành công khaisách điện tửGốc (không nén)
- Mở bằng...
+ Mở bằng…Ảnh hồ sơ ConversationsChọn tài khoảnKhôi phục bản sao lưu
@@ -837,7 +838,7 @@
Vui lòng cung cấp tên cho kênhVui lòng cung cấp địa chỉ XMPPĐây là một địa chỉ XMPP. Vui lòng cung cấp một cái tên.
- Đang tạo kênh công khai...
+ Đang tạo kênh công khai…Kênh này đã tồn tạiBạn đã tham gia một kênh đang tồn tạiKhông thể lưu thiết lập kênh
@@ -859,7 +860,6 @@
Khám phá các kênhTìm kiếm kênhSự vi phạm tính riêng tư có thể có!
- search.jabber.network.
Việc sử dụng tính năng này sẽ truyền địa chỉ IP và câu từ tìm kiếm của bạn đến dịch vụ đó. Hãy xem Chính sách riêng tư của họ để biết thêm thông tin.]]>Tôi đã có một tài khoản rồiThêm tài khoản đang tồn tạiĐăng ký tài khoản mới
@@ -874,7 +874,7 @@
Tài khoản này đã được thiết lập rồiVui lòng nhập mật khẩu cho tài khoản nàyKhông thể thực hiện hành động này
- Tham gia kênh công khai...
+ Tham gia kênh công khai…Ứng dụng chia sẻ đã không cấp quyền truy cập tệp này.jabber.network
@@ -893,7 +893,7 @@
Đang kết thúc cuộc gọiTrả lờiTừ chối
- Đang khám phá các thiết bị
+ Đang dò tìm thiết bịĐang đổ chuôngBậnKhông thể kết nối cuộc gọi
@@ -904,12 +904,10 @@
Cúp máyCuộc gọi đang diễn raCuộc gọi video đang diễn ra
- Tắt Tor để tạo cuộc gọi
+ Tắt Tor để gọiCuộc gọi đến
- Cuộc gọi đến · %sCuộc gọi nhỡ · %sCuộc gọi đi
- Cuộc gọi đi · %sCuộc gọi nhỡCuộc gọi âm thanhCuộc gọi video
@@ -951,4 +949,49 @@
Việc sao lưu đã được bắt đầu. Bạn sẽ nhận một thông báo khi việc đó đã hoàn tất.Không thể bật video.Tài liệu văn bản thuần
-
+ Máy khách không tương thích
+ Trò chuyện nhóm
+ Đồng bộ dấu trang
+ Đặt cờ \"autojoin\" khi tham gia hoặc rời khỏi nhóm trò chuyện và phản hồi sự điều chỉnh của người dùng khác.
+ tệp tin đa phương tiện
+ Tìm kiếm tin nhắn trong nhóm
+ Tải về thất bại: Tệp tin không hợp lệ
+ Cuộc gọi nhỡ
+ Khám phá kênh sử dụng một dịch vụ bên thứ ba gọi là <a href=https://search.jabber.network>search.jabber.network</a>.<br><br>SỬ dụng chức năng này sẽ truyền địa chỉ IP của bạn và tìm kiếm điều khoản đến dịch vụ đó. Hãy đọc <a href=https://search.jabber.network/privacy>Chính sách quyền riêng tư</a> của họ để có thêm thông tin.
+ Chuyển sang gọi video\?
+ Đang kết nối lại cuộc gọi
+ Cuộc gọi đi · %s
+
+ %1$d đã bỏ lỡ cuộc gọi từ danh bạ %2$d
+
+ Đăng ký tài khoản hiện không được hỗ trợ
+ Cuộc gọi bị vô hiệu hóa khi sử dụng Tor
+ UnifiedPush Distributor
+ Tài khoản sẽ nhận được tin nhắn đã đẩy đi.
+ Tài khoản XMPP
+ Máy chủ đẩy
+ Một máy chủ đẩy do người dùng chọn để phát lại tin nhắn đẩy qua XMPP đến thiết bị của bạn.
+ Không tồn tại (đã vô hiệu hóa)
+ Từ chối
+ Lưu thành nhóm trò chuyện
+ Bạn đã rời khỏi nhóm trò chuyện này vì lý do kỹ thuật
+ Bạn chuẩn bị xác minh các khoá OMEMO cho tài khoản của chính bạn. Việc làm này chỉ an toàn nếu bạn đã đến liên kết này từ một nguồn đáng tin tưởng, chỉ có bạn mới có thể cho ra liên kết này trước đó.
+ Tiếp tục
+ Đang kết nối lại
+ Đang kết nối lại cuộc gọi video
+ Cuộc gọi đến (%s) · %s
+ Cuộc gọi đi (%s) · %s
+
+ %1$d đã bỏ lỡ cuộc gọi từ %2$s
+
+
+ %d đã bỏ lỡ cuộc gọi
+
+ Không tìm thấy địa chỉ XMPP
+ Xác thực tạm thời thất bại
+ Xóa ảnh đại diện
+ Chuyển sang video
+ Từ chối yêu cầu chuyển sang video
+ Xóa tài khoản khỏi máy chủ
+ Không thể xóa tài khoản khỏi máy chủ
+
\ No newline at end of file
diff --git a/src/main/res/values-zh-rCN/strings.xml b/src/main/res/values-zh-rCN/strings.xml
index a3d52ff47f42a585c76755f6ace001ea4d7e5785..e48f031b39b43292255fb52606e014903aab3a4b 100644
--- a/src/main/res/values-zh-rCN/strings.xml
+++ b/src/main/res/values-zh-rCN/strings.xml
@@ -24,7 +24,7 @@
开始对话选择联系人选择联系人
- 通过帐户分享
+ 通过账户分享封禁列表刚刚1分钟前
@@ -185,8 +185,7 @@
您确定要从在线状态中移除OpenPGP公钥吗?\n您的联系人将无法再向您发送 OpenPGP 加密信息。OpenPGP 公钥已发布。启用账户
- 确定?
- 如果您删除帐户,您的所有聊天记录将会丢失
+ 你确定删除账户吗?如果您删除账户,您的所有聊天记录将会丢失录制音频XMPP地址拦截XMPP地址
@@ -228,7 +227,6 @@
获取密钥中…完成解密
- 书签搜索输入联系人删除联系人
@@ -307,7 +305,7 @@
这个群聊已被关闭您已不在该群组你出于技术原因离开了群聊
- 使用帐户%s
+ 使用账户%s托管于%s正在HTTP服务器中检查%s未连接。请稍后重试
@@ -460,7 +458,6 @@
刚用过的选择快捷操作搜索联系人
- 搜索书签发送私密消息%1$s离开了群聊用户名
@@ -520,7 +517,6 @@
授予 %1$s 相机访问权限同步联系人%1$s想要访问通讯录的权限来将它与你的 XMPP 联系人列表相匹配。\n这会显示你的联系人的完整姓名和头像。\n\n%1$s只会读取你的通讯录并在本地进行匹配,不会将信息上传到你的服务器。
- 我们并不储存这些号码。\n\n更多信息请阅读隐私政策。接下来将请求通讯录权限。]]>为所有信息显示通知只在被提到时通知通知已禁用
@@ -545,7 +541,6 @@
安全错误:文件访问无效!未找到可以分享此链接的应用分享链接……
- 您注册了电话号码,Quicksy就会根据您的通讯录中的电话号码自动为您建议可能的联系人
電話號碼是否正確,或者您想編輯這個號碼嗎?
+ 您確定要移除此裝置的驗證嗎?
+\n此裝置和來自此裝置的訊息將被標示為「未受信任」。
+ 若要在螢幕關閉時保持接收通知,您需要將 Conversations 加入受保護的應用程式清單。
+ 由於「%s」,伺服器無法驗證,憑證僅對此有效:
+ 您將要驗證您自己帳戶的 OMEMO 金鑰。僅有從可信來源 (僅有您能夠發布此連結) 跟隨此連結時才是安全的。
+ 此通知群組用於顯示不應觸發任何音效的通知,例如在另一個裝置上啟用時 (寬限期)。
+ jabber.network
+ %1$s 無法傳送已加密的訊息至 %2$s。這可能是因為您的聯絡人正在使用過期的伺服器或無法處理 OMEMO 的用戶端。
+ 您確定要解散此群組聊天嘛?
+\n
+\n警告:此群組聊天將會從此伺服器中完全移除。
+ 您確定要解散此公用頻道嘛?
+\n
+\n警告:此頻道將會從此伺服器中完全移除。
+ 警告:在未相互更新線上狀態的狀況下傳送將會出現未知問題。
+\n
+\n前往「聯絡人詳細資料」以驗證您的線上狀態訂閱。
+ 加入或離開多使用者聊天時設定「自動加入」旗標,並回應其他用戶端所做的修改。
+ 您確定要從 OMEMO 宣告中清除所有裝置嗎?您的裝置在下次連線時將會重新宣告,但可能不會收到您傳送的訊息。
+ %1$s想要您通訊錄的存取權以將其與您的 XMPP 聯絡人清單相符。
+\n這將顯示您聯絡人的完整名稱和頭像。
+\n
+\n%1$s僅會讀取您的通訊錄並在本機進行相符處理,不會上傳任何內容至您的伺服器。
+ 您的裝置正在為 %1$s 採用強力電池效能最佳化,這可能會導致通知延遲甚至訊息遺失。
+\n
+\n您將被要求將其停用。
+ 您的作業系統正在限制 %1$s 在背景存取網際網路。若要接收新訊息的通知,您應該允許 %1$s 在「數據節省」開啟時無限制地存取。
+\n在可能的狀況下,%1$s 仍會努力地節省數據。
+ 廣播使用
+ 您確定要刪除此檔案嗎?
+\n
+\n警告:這將不會影響儲存在其他裝置或伺服器上的檔案複本。
+ 無法加密您的訊息,因為您的聯絡人並未宣布他們的公開金鑰。
+\n
+\n請要求您的聯絡人設定 OpenPGP。
+ 無法加密您的訊息,因為您的聯絡人並未宣布他們的公開金鑰。
+\n
+\n請要求他們設定 OpenPGP。
+ 在您的其他裝置上偵測到活動後,通知被靜音的時間長度。
+ 透過傳送堆疊追蹤,您可以協助開發
+ 您用來選取此圖像的應用程式沒有足夠的權限以讀取此檔案。
+ UnifiedPush 散發者
+ XMPP 帳戶
+ 推送伺服器
+ 使用者選擇的推送伺服器,透過 XMPP 將訊息推送至您的裝置。
+ 無 (已停用)
+ 接收推送訊息的帳戶。
+ 拒絕
+ 隱藏非作用中裝置
+ 撥出電話 (%s) · %s
+ 撥入電話 (%s) · %s
+ 撥出電話 · %s
+ 請先要求您的聯絡人進行線上狀態更新。
+\n
+\n這將被用於判斷您的聯絡人正在使用的聊天應用程式。
+ 此聯絡人沒有可用的金鑰。
+\n無法從伺服器擷取新的金鑰,或許您的聯絡人的伺服器出現了問題?
+ 此聯絡人沒有可用的金鑰。
+\n請確保您有互相的線上狀態訂閱。
+ 使用 Enter 鍵傳送訊息,即使此選項已停用,您也可以使用 Ctrl+Enter 傳送訊息。
+ 提示:使用「選擇檔案」而非「選擇圖片」以傳送未壓縮的個別檔案,不論此設定為何。
+ 您的裝置正在為 %1$s 採用強力電池效能最佳化,這可能會導致通知延遲甚至訊息遺失。
+\n建議將其停用。
+ 您已經安全地驗證了這個人的指紋以確認信任。透過選取「完成」以確認 %s 加入群組聊天。
+ 顯示非作用中裝置
+ 盲目信任的 OMEMO 金鑰,說明它們可能對其他人或某人可能冒充別人傳送訊息。
+ 重新產生 OMEMO 金鑰,您的所有聯絡人都需要再次驗證,如非必要請勿採取此步驟。
+ 信任來自未經驗證的聯絡人的新裝置,但對於經過驗證的聯絡人則手動確認新裝置。
+ 提醒來自陌生人的訊息和通話。
+ 包含已驗證的主機名稱的伺服器憑證被視為是已驗證的
+ 您確定要為此會話停用 OMEMO 加密嗎?
+\n這將允許您的伺服器管理員閱讀您的訊息,但這可能是與使用過時的用戶端的人交流的唯一方式。
+ 切換至視訊通話?
+ 新增額外軌道?
+ 切換至視訊
+ 拒絕切換至視訊的要求
+ 從伺服器移除帳戶
+ 無法從伺服器刪除帳戶
+ 搜尋群組聊天
+ 頻道探索使用一個名為 <a href=https://search.jabber.network>search.jabber.network</a> 的第三方服務,<br><br>使用此功能會將您的 IP 位址和搜尋詞彙傳送至此服務。更多資訊請參見他們的 <a href=https://search.jabber.network/privacy>隱私權政策</a>。
+ 群組聊天
+ 儲存為群組聊天
+
diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml
index b564e906029122c441d5d300f48b09b35f89c9f8..edcb04abeb05f02896ffa6260a3f69c7004b7fbe 100644
--- a/src/main/res/values/strings.xml
+++ b/src/main/res/values/strings.xml
@@ -184,8 +184,7 @@
Are you sure you want to remove your OpenPGP public key from your presence announcement?\nYour contacts will no longer be able to send you OpenPGP encrypted messages.OpenPGP public key published.Enable account
- Are you sure?
- Deleting your account erases your entire conversation history
+ Are you sure you want to delete your account? Deleting your account erases your entire conversation historyRecord voiceJabber IDBlock Jabber ID
@@ -227,7 +226,7 @@
Fetching keys…DoneDecrypt
- Bookmarks
+ Group chatsSearchEnter ContactDelete contact
@@ -241,6 +240,7 @@
channel@conference.example.com/nickchannel@conference.example.comSave as bookmark
+ Save as group chatDelete bookmarkDestroy group chatDestroy channel
@@ -457,7 +457,7 @@
Most recently usedChoose quick actionSearch contacts
- Search bookmarks
+ Search group chatsSend private message%1$s has left the group chatUsername
@@ -544,7 +544,7 @@
Share URI with…Join the ConversationHave some Quick Conversations
- You sign up with your phone number and Quicksy will automatically—based on the phone numbers in your address book—suggest possible contacts to you.
By signing up you agree to our privacy policy.]]>
+ You sign up with your phone number and Quicksy will automatically—based on the phone numbers in your address book—suggest possible contacts to you. Quicksy stores your contacts’ phone numbers to make suggestions about possible contacts who are already on Quicksy. By signing up you agree to our Privacy Policy and our Terms & Conditions.]]>Agree and continueA guide is set up for account creation on ChatterboxTown.\nYou will be able to communicate with users of other providers by giving them your full Jabber ID.Your full Jabber ID will be: %s
@@ -936,14 +936,12 @@
Reconnecting video callDisable Tor to make callsIncoming call
- Incoming call . %s
- Incoming call (%s)
- Incoming call (%s) . %s
- Missed call . %s
+ Incoming call · %s
+ Incoming call (%s) · %s
+ Outgoing call (%s) · %s
+ Missed call · %sOutgoing call
- Outgoing call . %s
- Outgoing call (%s)
- Outgoing call (%s) . %s
+ Outgoing call · %sMissed call%1$d missed call from %2$s
@@ -1013,5 +1011,8 @@
Push ServerA user-chosen push server to relay push messages to apps on your device.None (deactivated)
+ Decline
+ Remove account from server
+ Could not delete account from server
diff --git a/src/playstore/res/values/push.xml b/src/playstore/res/values/push.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b0d504abb7f885cb57a39489306628a3114da45f
--- /dev/null
+++ b/src/playstore/res/values/push.xml
@@ -0,0 +1,8 @@
+
+
+ xep0357.cheogram.com
+ 917382633053
+ 1:917382633053:android:3aa274536d734c74d45fb4
+ cheogram-android
+ AIzaSyCMtT7RLQdHs6SxJUl5mk8oOcCZPAbCzJU
+
diff --git a/src/quicksy/java/eu/siacs/conversations/ui/TosActivity.java b/src/quicksy/java/eu/siacs/conversations/ui/TosActivity.java
index eb2b77d9c4eac7fd838a149406f72cf7485c7c78..e5dd0f0a730bb570d7f3b732c690903221f12a9a 100644
--- a/src/quicksy/java/eu/siacs/conversations/ui/TosActivity.java
+++ b/src/quicksy/java/eu/siacs/conversations/ui/TosActivity.java
@@ -66,7 +66,7 @@ public class TosActivity extends XmppActivity {
startActivity(intent);
finish();
});
- welcomeText.setText(Html.fromHtml(getString(R.string.welcome_text_quicksy)));
+ welcomeText.setText(Html.fromHtml(getString(R.string.welcome_text_quicksy_static)));
welcomeText.setMovementMethod(LinkMovementMethod.getInstance());
}
diff --git a/src/quicksy/res/layout/activity_tos.xml b/src/quicksy/res/layout/activity_tos.xml
index 76afb008c5966eb0046ca3da60f207504c56b34d..461032e65cebeb3aaf1a8833556be16e2d818a69 100644
--- a/src/quicksy/res/layout/activity_tos.xml
+++ b/src/quicksy/res/layout/activity_tos.xml
@@ -46,7 +46,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
- android:text="@string/welcome_text_quicksy"
+ android:text="@string/welcome_text_quicksy_static"
android:textAppearance="@style/TextAppearance.Conversations.Body1"/>