diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 111648a2d4..6ee85168af 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -111,7 +111,7 @@ jobs: SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} ORG_GRADLE_PROJECT_SONAR_LOGIN: ${{ secrets.SONAR_TOKEN }} if: ${{ always() && env.GITHUB_TOKEN != '' && env.SONAR_TOKEN != '' && env.ORG_GRADLE_PROJECT_SONAR_LOGIN != '' }} - run: ./gradlew sonarqube $CI_GRADLE_ARG_PROPERTIES + run: ./gradlew sonar $CI_GRADLE_ARG_PROPERTIES - name: Format unit test results if: always() diff --git a/build.gradle b/build.gradle index 285713cacf..cfeb006d97 100644 --- a/build.gradle +++ b/build.gradle @@ -41,7 +41,7 @@ buildscript { plugins { // ktlint Plugin - id "org.jlleitschuh.gradle.ktlint" version "11.2.0" + id "org.jlleitschuh.gradle.ktlint" version "11.3.1" // Detekt id "io.gitlab.arturbosch.detekt" version "1.22.0" // Ksp @@ -203,10 +203,10 @@ if (launchTask.contains("coverage".toLowerCase())) { apply plugin: 'org.sonarqube' // To run a sonar analysis: -// Run './gradlew sonarqube -Dsonar.login=' +// Run './gradlew sonar -Dsonar.login=' // The SONAR_KEY is stored in passbolt as Token Sonar Cloud Bma -sonarqube { +sonar { properties { property "sonar.projectName", "element-android" property "sonar.projectKey", "vector-im_element-android" @@ -225,7 +225,7 @@ sonarqube { } project(":vector") { - sonarqube { + sonar { properties { property "sonar.sources", project(":vector").android.sourceSets.main.java.srcDirs // exclude source code from analyses separated by a colon (:) @@ -236,13 +236,13 @@ project(":vector") { } project(":library:external:diff-match-patch") { - sonarqube { + sonar { skipProject = true } } //project(":matrix-sdk-android") { -// sonarqube { +// sonar { // properties { // property "sonar.sources", project(":matrix-sdk-android").android.sourceSets.main.java.srcDirs // // exclude source code from analyses separated by a colon (:) diff --git a/changelog.d/8185.feature b/changelog.d/8185.feature new file mode 100644 index 0000000000..3e1f10d438 --- /dev/null +++ b/changelog.d/8185.feature @@ -0,0 +1 @@ +[Rich text editor] Add ability to insert GIFs from keyboard \ No newline at end of file diff --git a/changelog.d/8195.bugfix b/changelog.d/8195.bugfix new file mode 100644 index 0000000000..72da824aa1 --- /dev/null +++ b/changelog.d/8195.bugfix @@ -0,0 +1 @@ +Update room member shields behavior diff --git a/dependencies.gradle b/dependencies.gradle index a28f54e9f5..8b6256f792 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -134,7 +134,7 @@ ext.libs = [ 'mavericksTesting' : "com.airbnb.android:mavericks-testing:$mavericks" ], maplibre : [ - 'androidSdk' : "org.maplibre.gl:android-sdk:9.6.0", + 'androidSdk' : "org.maplibre.gl:android-sdk:10.0.2", 'pluginAnnotation' : "org.maplibre.gl:android-plugin-annotation-v9:1.0.0" ], mockk : [ diff --git a/fastlane/metadata/android/cs-CZ/changelogs/40105240.txt b/fastlane/metadata/android/cs-CZ/changelogs/40105240.txt new file mode 100644 index 0000000000..e0c33880d4 --- /dev/null +++ b/fastlane/metadata/android/cs-CZ/changelogs/40105240.txt @@ -0,0 +1,2 @@ +Hlavní změny v této verzi: Hlavně opravy chyb, zejména oprava zpráv, které se nezobrazovaly na časové ose. +Úplný seznam změn: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/cs-CZ/changelogs/40105250.txt b/fastlane/metadata/android/cs-CZ/changelogs/40105250.txt new file mode 100644 index 0000000000..e0c33880d4 --- /dev/null +++ b/fastlane/metadata/android/cs-CZ/changelogs/40105250.txt @@ -0,0 +1,2 @@ +Hlavní změny v této verzi: Hlavně opravy chyb, zejména oprava zpráv, které se nezobrazovaly na časové ose. +Úplný seznam změn: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/cs-CZ/changelogs/40105260.txt b/fastlane/metadata/android/cs-CZ/changelogs/40105260.txt new file mode 100644 index 0000000000..5c6d6cf466 --- /dev/null +++ b/fastlane/metadata/android/cs-CZ/changelogs/40105260.txt @@ -0,0 +1,2 @@ +Hlavní změny v této verzi: Hlavně opravy chyb. +Úplný seznam změn: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/de-DE/changelogs/40105240.txt b/fastlane/metadata/android/de-DE/changelogs/40105240.txt new file mode 100644 index 0000000000..6fce28362c --- /dev/null +++ b/fastlane/metadata/android/de-DE/changelogs/40105240.txt @@ -0,0 +1,2 @@ +Die wichtigsten Änderungen in dieser Version: Hauptsächlich Fehlerbehebungen, insbesondere für nicht im Verlauf angezeigte Nachrichten. +Vollständiges Änderungsprotokoll: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/de-DE/changelogs/40105250.txt b/fastlane/metadata/android/de-DE/changelogs/40105250.txt new file mode 100644 index 0000000000..6fce28362c --- /dev/null +++ b/fastlane/metadata/android/de-DE/changelogs/40105250.txt @@ -0,0 +1,2 @@ +Die wichtigsten Änderungen in dieser Version: Hauptsächlich Fehlerbehebungen, insbesondere für nicht im Verlauf angezeigte Nachrichten. +Vollständiges Änderungsprotokoll: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/de-DE/changelogs/40105260.txt b/fastlane/metadata/android/de-DE/changelogs/40105260.txt new file mode 100644 index 0000000000..71f4cbd484 --- /dev/null +++ b/fastlane/metadata/android/de-DE/changelogs/40105260.txt @@ -0,0 +1,2 @@ +Die wichtigsten Änderungen in dieser Version: Hauptsächlich Fehlerbehebungen. +Vollständiges Änderungsprotokoll: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/et/changelogs/40105240.txt b/fastlane/metadata/android/et/changelogs/40105240.txt new file mode 100644 index 0000000000..779a4428a6 --- /dev/null +++ b/fastlane/metadata/android/et/changelogs/40105240.txt @@ -0,0 +1,2 @@ +Põhilised muutused selles versioonis: enamuses veaparandused, sh sõnumite kadumine ajajaoonelt. +Kogu ingliskeelne muudatuste logi: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/et/changelogs/40105250.txt b/fastlane/metadata/android/et/changelogs/40105250.txt new file mode 100644 index 0000000000..779a4428a6 --- /dev/null +++ b/fastlane/metadata/android/et/changelogs/40105250.txt @@ -0,0 +1,2 @@ +Põhilised muutused selles versioonis: enamuses veaparandused, sh sõnumite kadumine ajajaoonelt. +Kogu ingliskeelne muudatuste logi: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/et/changelogs/40105260.txt b/fastlane/metadata/android/et/changelogs/40105260.txt new file mode 100644 index 0000000000..396e654160 --- /dev/null +++ b/fastlane/metadata/android/et/changelogs/40105260.txt @@ -0,0 +1,2 @@ +Põhilised muutused selles versioonis: põhiliselt veaparandused. +Kogu ingliskeelne muudatuste logi: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/fa/changelogs/40105240.txt b/fastlane/metadata/android/fa/changelogs/40105240.txt new file mode 100644 index 0000000000..c6e3ddf8a9 --- /dev/null +++ b/fastlane/metadata/android/fa/changelogs/40105240.txt @@ -0,0 +1,2 @@ +تغییرات عمده در این نگارش: عموماً رفع اشکال. به طور خاص رفع نمایان نشدن پیام روی خط زمانی. +گزارش دگرگونی کامل: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/fa/changelogs/40105250.txt b/fastlane/metadata/android/fa/changelogs/40105250.txt new file mode 100644 index 0000000000..c6e3ddf8a9 --- /dev/null +++ b/fastlane/metadata/android/fa/changelogs/40105250.txt @@ -0,0 +1,2 @@ +تغییرات عمده در این نگارش: عموماً رفع اشکال. به طور خاص رفع نمایان نشدن پیام روی خط زمانی. +گزارش دگرگونی کامل: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/fa/changelogs/40105260.txt b/fastlane/metadata/android/fa/changelogs/40105260.txt new file mode 100644 index 0000000000..f3bb20cef8 --- /dev/null +++ b/fastlane/metadata/android/fa/changelogs/40105260.txt @@ -0,0 +1,2 @@ +تغییرات عمده در این نگارش: عمدتاً رفع اشکال. +گزارش دگرگونی کامل: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/fr-FR/changelogs/40105240.txt b/fastlane/metadata/android/fr-FR/changelogs/40105240.txt new file mode 100644 index 0000000000..187c8c8f72 --- /dev/null +++ b/fastlane/metadata/android/fr-FR/changelogs/40105240.txt @@ -0,0 +1,2 @@ +Principaux changements pour cette version : Principalement des corrections de bugs, notamment les messages non visibles dans l’historique +Intégralité des changements : https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/fr-FR/changelogs/40105250.txt b/fastlane/metadata/android/fr-FR/changelogs/40105250.txt new file mode 100644 index 0000000000..187c8c8f72 --- /dev/null +++ b/fastlane/metadata/android/fr-FR/changelogs/40105250.txt @@ -0,0 +1,2 @@ +Principaux changements pour cette version : Principalement des corrections de bugs, notamment les messages non visibles dans l’historique +Intégralité des changements : https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/fr-FR/changelogs/40105260.txt b/fastlane/metadata/android/fr-FR/changelogs/40105260.txt new file mode 100644 index 0000000000..2b066a3512 --- /dev/null +++ b/fastlane/metadata/android/fr-FR/changelogs/40105260.txt @@ -0,0 +1,2 @@ +Principaux changements pour cette version : Principalement des corrections de bugs. +Intégralité des changements : https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/hu-HU/changelogs/40105240.txt b/fastlane/metadata/android/hu-HU/changelogs/40105240.txt new file mode 100644 index 0000000000..592ef5e7ef --- /dev/null +++ b/fastlane/metadata/android/hu-HU/changelogs/40105240.txt @@ -0,0 +1,2 @@ +Legnagyobb változtatás ebben a verzióban: Leginkább hibajavítások, mint amikor az üzenet nem jelenik meg az idővonalon. +Teljes változási napló: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/hu-HU/changelogs/40105250.txt b/fastlane/metadata/android/hu-HU/changelogs/40105250.txt new file mode 100644 index 0000000000..592ef5e7ef --- /dev/null +++ b/fastlane/metadata/android/hu-HU/changelogs/40105250.txt @@ -0,0 +1,2 @@ +Legnagyobb változtatás ebben a verzióban: Leginkább hibajavítások, mint amikor az üzenet nem jelenik meg az idővonalon. +Teljes változási napló: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/id/changelogs/40105240.txt b/fastlane/metadata/android/id/changelogs/40105240.txt new file mode 100644 index 0000000000..d924da7ad6 --- /dev/null +++ b/fastlane/metadata/android/id/changelogs/40105240.txt @@ -0,0 +1,2 @@ +Perubahan utama dalam versi ini: Secara umum perbaikan kutu, terutama memperbaiki pesan-pesan tidak muncul di lini masa. +Catatan perubahan lanjutan: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/id/changelogs/40105250.txt b/fastlane/metadata/android/id/changelogs/40105250.txt new file mode 100644 index 0000000000..d924da7ad6 --- /dev/null +++ b/fastlane/metadata/android/id/changelogs/40105250.txt @@ -0,0 +1,2 @@ +Perubahan utama dalam versi ini: Secara umum perbaikan kutu, terutama memperbaiki pesan-pesan tidak muncul di lini masa. +Catatan perubahan lanjutan: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/id/changelogs/40105260.txt b/fastlane/metadata/android/id/changelogs/40105260.txt new file mode 100644 index 0000000000..329f1cc199 --- /dev/null +++ b/fastlane/metadata/android/id/changelogs/40105260.txt @@ -0,0 +1,2 @@ +Perubahan utama dalam versi ini: Kebanyakan perbaikan kutu. +Catatan perubahan lanjutan: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/it-IT/changelogs/40105240.txt b/fastlane/metadata/android/it-IT/changelogs/40105240.txt new file mode 100644 index 0000000000..a3f49e5149 --- /dev/null +++ b/fastlane/metadata/android/it-IT/changelogs/40105240.txt @@ -0,0 +1,2 @@ +Modifiche principali in questa versione: correzione di errori, in particolare correzione dei messaggi che non comparivano nella linea temporale. +Cronologia completa: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/it-IT/changelogs/40105250.txt b/fastlane/metadata/android/it-IT/changelogs/40105250.txt new file mode 100644 index 0000000000..a3f49e5149 --- /dev/null +++ b/fastlane/metadata/android/it-IT/changelogs/40105250.txt @@ -0,0 +1,2 @@ +Modifiche principali in questa versione: correzione di errori, in particolare correzione dei messaggi che non comparivano nella linea temporale. +Cronologia completa: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/ja-JP/changelogs/40105240.txt b/fastlane/metadata/android/ja-JP/changelogs/40105240.txt new file mode 100644 index 0000000000..6feaf6245f --- /dev/null +++ b/fastlane/metadata/android/ja-JP/changelogs/40105240.txt @@ -0,0 +1,2 @@ +このバージョンの主な変更点:バグの修正。特に、タイムラインにメッセージが表示されない不具合を修正。 +更新履歴:https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/ja-JP/changelogs/40105250.txt b/fastlane/metadata/android/ja-JP/changelogs/40105250.txt new file mode 100644 index 0000000000..6feaf6245f --- /dev/null +++ b/fastlane/metadata/android/ja-JP/changelogs/40105250.txt @@ -0,0 +1,2 @@ +このバージョンの主な変更点:バグの修正。特に、タイムラインにメッセージが表示されない不具合を修正。 +更新履歴:https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/sk/changelogs/40105240.txt b/fastlane/metadata/android/sk/changelogs/40105240.txt new file mode 100644 index 0000000000..5d293d4549 --- /dev/null +++ b/fastlane/metadata/android/sk/changelogs/40105240.txt @@ -0,0 +1,2 @@ +Hlavné zmeny v tejto verzii: Hlavne opravy chýb, najmä oprava správy, ktorá sa nezobrazuje na časovej osi. +Úplný zoznam zmien: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/sk/changelogs/40105250.txt b/fastlane/metadata/android/sk/changelogs/40105250.txt new file mode 100644 index 0000000000..5d293d4549 --- /dev/null +++ b/fastlane/metadata/android/sk/changelogs/40105250.txt @@ -0,0 +1,2 @@ +Hlavné zmeny v tejto verzii: Hlavne opravy chýb, najmä oprava správy, ktorá sa nezobrazuje na časovej osi. +Úplný zoznam zmien: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/sk/changelogs/40105260.txt b/fastlane/metadata/android/sk/changelogs/40105260.txt new file mode 100644 index 0000000000..f857b15b9f --- /dev/null +++ b/fastlane/metadata/android/sk/changelogs/40105260.txt @@ -0,0 +1,2 @@ +Hlavné zmeny v tejto verzii: Hlavne opravy chýb. +Celý zoznam zmien: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/sq/changelogs/40105240.txt b/fastlane/metadata/android/sq/changelogs/40105240.txt new file mode 100644 index 0000000000..57b49e89c8 --- /dev/null +++ b/fastlane/metadata/android/sq/changelogs/40105240.txt @@ -0,0 +1,2 @@ +Ndryshimet kryesore në këtë version: Kryesisht ndreqje të metash, veçanërisht ndreqje mosshfaqjeje mesazhesh te rrjedha kohore. +Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/sq/changelogs/40105250.txt b/fastlane/metadata/android/sq/changelogs/40105250.txt new file mode 100644 index 0000000000..57b49e89c8 --- /dev/null +++ b/fastlane/metadata/android/sq/changelogs/40105250.txt @@ -0,0 +1,2 @@ +Ndryshimet kryesore në këtë version: Kryesisht ndreqje të metash, veçanërisht ndreqje mosshfaqjeje mesazhesh te rrjedha kohore. +Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/sv-SE/changelogs/40105240.txt b/fastlane/metadata/android/sv-SE/changelogs/40105240.txt new file mode 100644 index 0000000000..f6b6dd6f2c --- /dev/null +++ b/fastlane/metadata/android/sv-SE/changelogs/40105240.txt @@ -0,0 +1,2 @@ +Huvudsakliga ändringar i den här versionen: Huvudsakligen buggfixar, fixar speciellt meddelanden som inte visas i tidslinjen. +Full ändringslogg: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/sv-SE/changelogs/40105250.txt b/fastlane/metadata/android/sv-SE/changelogs/40105250.txt new file mode 100644 index 0000000000..f6b6dd6f2c --- /dev/null +++ b/fastlane/metadata/android/sv-SE/changelogs/40105250.txt @@ -0,0 +1,2 @@ +Huvudsakliga ändringar i den här versionen: Huvudsakligen buggfixar, fixar speciellt meddelanden som inte visas i tidslinjen. +Full ändringslogg: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/uk/changelogs/40105240.txt b/fastlane/metadata/android/uk/changelogs/40105240.txt new file mode 100644 index 0000000000..c7e1351761 --- /dev/null +++ b/fastlane/metadata/android/uk/changelogs/40105240.txt @@ -0,0 +1,2 @@ +Основні зміни у цій версії: Переважно виправлення помилок, зокрема, виправлено повідомлення, що не з'являлися у стрічці. +Список усіх змін: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/uk/changelogs/40105250.txt b/fastlane/metadata/android/uk/changelogs/40105250.txt new file mode 100644 index 0000000000..c7e1351761 --- /dev/null +++ b/fastlane/metadata/android/uk/changelogs/40105250.txt @@ -0,0 +1,2 @@ +Основні зміни у цій версії: Переважно виправлення помилок, зокрема, виправлено повідомлення, що не з'являлися у стрічці. +Список усіх змін: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/uk/changelogs/40105260.txt b/fastlane/metadata/android/uk/changelogs/40105260.txt new file mode 100644 index 0000000000..608d8e7d37 --- /dev/null +++ b/fastlane/metadata/android/uk/changelogs/40105260.txt @@ -0,0 +1,2 @@ +Основні зміни в цій версії: Виправлення помилок +Перелік усіх змін: https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/zh-TW/changelogs/40105240.txt b/fastlane/metadata/android/zh-TW/changelogs/40105240.txt new file mode 100644 index 0000000000..401877b730 --- /dev/null +++ b/fastlane/metadata/android/zh-TW/changelogs/40105240.txt @@ -0,0 +1,2 @@ +此版本中的主要變動:主要為臭蟲修復,特別是修復訊息不會出現在時間軸中的問題。 +完整的變更紀錄:https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/zh-TW/changelogs/40105250.txt b/fastlane/metadata/android/zh-TW/changelogs/40105250.txt new file mode 100644 index 0000000000..401877b730 --- /dev/null +++ b/fastlane/metadata/android/zh-TW/changelogs/40105250.txt @@ -0,0 +1,2 @@ +此版本中的主要變動:主要為臭蟲修復,特別是修復訊息不會出現在時間軸中的問題。 +完整的變更紀錄:https://github.com/vector-im/element-android/releases diff --git a/fastlane/metadata/android/zh-TW/changelogs/40105260.txt b/fastlane/metadata/android/zh-TW/changelogs/40105260.txt new file mode 100644 index 0000000000..5346472634 --- /dev/null +++ b/fastlane/metadata/android/zh-TW/changelogs/40105260.txt @@ -0,0 +1,2 @@ +此版本中的主要變動:主要是臭蟲修復。 +完整的變更紀錄:https://github.com/vector-im/element-android/releases diff --git a/library/ui-strings/src/main/res/values-ca/strings.xml b/library/ui-strings/src/main/res/values-ca/strings.xml index 1f2cf1983c..153036da0f 100644 --- a/library/ui-strings/src/main/res/values-ca/strings.xml +++ b/library/ui-strings/src/main/res/values-ca/strings.xml @@ -1160,7 +1160,7 @@ Tema "Tema: " Afegeix un tema - %s perquè la gent sàpiga de que tracta la sala. + %s perquè la gent sàpiga de què tracta la sala. Tema Tema de la sala (opcional) Esperant l\'històric xifrat @@ -2808,7 +2808,7 @@ Activa l\'editor de text enriquit Rep notificacions en aquesta sessió. Notificacions - Carregant + Carregant… Pausa l\'emissió de veu Reprodueix o reprèn l\'emissió de veu Atura l\'enregistrament d\'emissió de veu @@ -2833,4 +2833,19 @@ Format de text Enrere 30 segons Avança 30 segons - + No es pot iniciar la nova l\'emissió de veu + Emissió en directe + No es pot iniciar el missatge de veu + Comprova-ho per assegurar que el teu compte és segur + Tens sessions no verificades + Històric de l\'enquesta + Emissió de veu iniciada + Citant + Responent a %s + Editant + Mostra els xats recents al menú de compartició del sistema + Activa la compartició directa + Has finalitzat una emissió de veu. + %1$s a finalitzat una emissió de veu. + Sí, atura + \ No newline at end of file diff --git a/library/ui-strings/src/main/res/values-cs/strings.xml b/library/ui-strings/src/main/res/values-cs/strings.xml index b1f7df9bb4..00303591b7 100644 --- a/library/ui-strings/src/main/res/values-cs/strings.xml +++ b/library/ui-strings/src/main/res/values-cs/strings.xml @@ -2980,4 +2980,13 @@ Nelze spustit hlasovou zprávu Chyba připojení - nahrávání pozastaveno Použít formát inline kódu + Přepnout blok kódu + Přepnout citaci + Zrušit odsazení + Odsazení + Zobrazit hlasování na časové ose + Nelze dešifrovat toto hlasové vysílání. + Údaje o vašem účtu jsou spravovány odděleně na adrese %1$s. + Účet + Při aktualizaci předvoleb oznámení došlo k chybě. Zkuste to prosím znovu. \ No newline at end of file diff --git a/library/ui-strings/src/main/res/values-de/strings.xml b/library/ui-strings/src/main/res/values-de/strings.xml index 06c477b410..971344a863 100644 --- a/library/ui-strings/src/main/res/values-de/strings.xml +++ b/library/ui-strings/src/main/res/values-de/strings.xml @@ -941,7 +941,7 @@ Url: Nutzungsbedingungen Für andere auffindbar sein - Verwende Bots, Bridges, Widgets und Sticker-Pakete + Nutze Bots, Brücken, Widgets und Sticker-Pakete Identitäts-Server Verbindung zum Identitäts-Server trennen Identitäts-Server konfigurieren @@ -2783,7 +2783,7 @@ Öffne die App auf deinem anderen Gerät Die Anfrage wurde auf dem anderen Gerät abgelehnt. Die Verbindung konnte nicht in der erforderlichen Zeit hergestellt werden. - Verbindung mit diesem Gerät nicht unterstützt. + Die Verbindung mit diesem Gerät wird nicht unterstützt. Verbindung fehlgeschlagen Überprüfe dein angemeldetes Gerät. Der unten gezeigte Code sollte angezeigt werden. Bestätige, dass beide Codes übereinstimmen: Sichere Verbindung hergestellt @@ -2919,4 +2919,13 @@ Kann Sprachnachricht nicht beginnen Verbindungsfehler − Aufnahme pausiert Als Inline-Code formatieren + Einrücken + Umfrage im Verlauf anzeigen + Entschlüsseln der Sprachübertragung nicht möglich. + Zitat umschalten + Nicht einrücken + Codeblock umschalten + Konto + Deine Kontodetails werden separat verwaltet bei %1$s. + Ein Fehler ist während der Aktualisierung deiner Benachrichtigungseinstellungen aufgetreten. Bitte versuche es erneut. \ No newline at end of file diff --git a/library/ui-strings/src/main/res/values-enm/strings.xml b/library/ui-strings/src/main/res/values-enm/strings.xml new file mode 100644 index 0000000000..a6b3daec93 --- /dev/null +++ b/library/ui-strings/src/main/res/values-enm/strings.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/library/ui-strings/src/main/res/values-et/strings.xml b/library/ui-strings/src/main/res/values-et/strings.xml index 0f005fe04e..8e304efbda 100644 --- a/library/ui-strings/src/main/res/values-et/strings.xml +++ b/library/ui-strings/src/main/res/values-et/strings.xml @@ -2891,7 +2891,7 @@ Sinu koduserver veel ei toeta jutulõngade loendit. Alustasime ringhäälingukõnega Selle ringhäälingukõne esitamine ei õnnestu. - Krüptimisvigade tõttu jääb osa hääli lugemata + Dekrüptimisvigade tõttu jääb osa hääli lugemata Möödunud päevas polnud ühtegi toimumas olnud küsitlust. \nVarasemate päevade vaatamiseks laadi veel küsitlusi. @@ -2911,4 +2911,13 @@ Kuna sa hetkel salvestad ringhäälingukõnet, siis häälsõnumi salvestamine või esitamine ei õnnestu. Selleks palun lõpeta ringhäälingukõne Viga võrguühenduses - salvestamine on peatatud Kasuta lõimitud koodi vormingut + Kasutajakonto + Sinu kasutajakonto andmeid hallatakse siin: %1$s. + Selle ringhäälingukõne dekrüptimine ei õnnestu. + Näita küsitlust ajajoonel + Lisa taandrida + Eemalda taandrida + Lülita tsiteerimine sisse/välja + Lülita koodiblokk sisse/välja + Sinu teavituste seadistuste muutmisel tekkis viga. Palu proovi uuesti. \ No newline at end of file diff --git a/library/ui-strings/src/main/res/values-fa/strings.xml b/library/ui-strings/src/main/res/values-fa/strings.xml index 9b1d367dde..8e15009c81 100644 --- a/library/ui-strings/src/main/res/values-fa/strings.xml +++ b/library/ui-strings/src/main/res/values-fa/strings.xml @@ -191,7 +191,7 @@ تنظیمات گزارش اشکال در حال بارگذاری… - باشه + قبول لغو ذخیره ترک کردن @@ -2920,4 +2920,13 @@ نمی‌توان پخش صوتی را آغاز کرد خطای اتّصال - ضبط مکث شد اعمال قالب کد درون‌خط + تغییر حالت بلوک کد + تغییر حالت نقل قول + تونرفتگی + تورفتگی + دیدن نظرسنجی در خط زمانی + حساب + ناتوان در رمزگشایی این پخش صوتی. + جزییات حسابتان جداگانه در %1$s مدیریت می‌شود. + هنگام به‌روز رسانی ترجیحات آگاهیتان خطایی رخ داد. لطفاً دوباره تلاش کنید. \ No newline at end of file diff --git a/library/ui-strings/src/main/res/values-fi/strings.xml b/library/ui-strings/src/main/res/values-fi/strings.xml index 66f333845f..96408da021 100644 --- a/library/ui-strings/src/main/res/values-fi/strings.xml +++ b/library/ui-strings/src/main/res/values-fi/strings.xml @@ -88,8 +88,8 @@ Peruutit eston %1$s. Syy: %2$s Poistit käyttäjän %1$s. Syy: %2$s Hylkäsit kutsun. Syy: %1$s - Lähdit. Syy: %1$s - %1$s lähti. Syy: %2$s + Poistuit. Syy: %1$s + %1$s poistui. Syy: %2$s Poistuit huoneesta. Syy: %1$s Liityit. Syy: %1$s %1$s liittyi. Syy: %2$s @@ -139,9 +139,9 @@ Päivitit tässä. %s päivitti täällä. Päivitit tämän huoneen. - Teit tulevista viesteistä näkyviä käyttäjälle %1$s - %1$s teki tulevista viesteistä näkyviä käyttäjälle %2$s - Teit tulevan huonehistorian näkyväksi %1$s + Teit tulevista viesteistä näkyviä seuraaville: %1$s + %1$s teki tulevista viesteistä näkyviä seuraaville: %2$s + Teit tulevan huonehistorian näkyväksi seuraaville: %1$s Lopetit puhelun. Vastasit puheluun. Lähetit tietoja puhelun valmistelemiseksi. @@ -168,7 +168,7 @@ Liityit %1$s liittyi Liityit huoneeseen - Kutsuit %1$s + Kutsuit käyttäjän %1$s Loit keskustelun %1$s loi keskustelun Loit huoneen @@ -1311,7 +1311,7 @@ QR-koodin skannaaminen vaatii luvan kameran käyttöön. Kysy varmistusta ennen puhelun aloittamista Estä vahinkopuhelut - SSL Virhe. + SSL-virhe. Takakamera Etukamera Vaihda kameraa @@ -2119,8 +2119,8 @@ Vahvistetu Suodata - Käyttämättä %1$d päivän tai pidempään - Käyttämättä %1$d päivää tai pidempään + Käyttämättä vuorokauden tai pidempään + Käyttämättä %1$d vuorokautta tai pidempään Käyttämätön Ei valmis turvallista viestintää varten @@ -2136,7 +2136,7 @@ Käyttämättä olevat istunnot Vahvista nämä istunnot tai kirjaudu niistä ulos. Vahvistamattomat istunnot - Paranna tilisi turvallisuutta seuraamalla näitä suosituksia. + Paranna tilisi turvallisuutta noudattamalla näitä suosituksia. Turvallisuussuositukset Käyttämättä %1$d+ päivän (%2$s) @@ -2164,8 +2164,8 @@ Tällä hetkellä käytössä %s. Menetelmä - Löytyi %d menetelmä. - Löytyi %d menetelmää. + Yksi menetelmä löytyi. + %d menetelmää löytyi. Saatavilla olevat menetelmät Ilmoitusmenetelmä @@ -2357,4 +2357,76 @@ Anna kameran käyttöoikeus järjestelmän asetuksista tämän toiminnon suorittamiseksi. Tämän toiminnon suorittaminen vaatii enemmän oikeuksia. Anna oikeudet järjestelmän asetuksista. Kuunnellaan ilmoituksia + Lukemattomat viestisi näkyvät tässä sitten kun saat niitä. + Ei ilmoitettavaa. + Kirjaudu QR-koodilla + Huomaa, että istuntojen nimet näkyvät ihmisille, joiden kanssa viestit. + Istunnon nimi + IP-osoite + Käyttöjärjestelmä + Malli + Selain + URL-osoite + Versio + Nimi + Istunnon nimi + Kirjaudu ulos tästä istunnosta + Piilota IP-osoite + Näytä IP-osoite + Kirjaudu ulos kaikista muista istunnoista + + Kirjaudu ulos yhdestä istunnosta + Kirjaudu ulos %1$d istunnosta + + Kirjaudu ulos + + Harkitse vanhoista (yksi vuorokausi tai vanhemmista), käyttämättömistä istunnoista uloskirjautumista. + Harkitse vanhoista (%1$d vuorokautta tai vanhemmista), käyttämättömistä istunnoista uloskirjautumista. + + + Harkitse vanhoista (yksi vuorokausi tai vanhemmista), käyttämättömistä istunnoista uloskirjautumista. + Harkitse vanhoista (%1$d vuorokautta tai vanhemmista), käyttämättömistä istunnoista uloskirjautumista. + + Tämä istunto on valmiina turvalliseen viestintään. + Nykyinen istuntosi on valmina turvalliseen viestintään. + Kamera + Sijainti + Kyselyt + Liitteet + Tarrat + Karttaa ei voida ladata +\nTätä kotipalvelinta ei välttämättä ole säädetty näyttämään karttoja. + Virhe kyselyjä noudettaessa. + Lataa lisää kyselyjä + + Viime vuorokaudelta ei ole menneitä kyselyjä. +\nLataa lisää kyselyjä nähdäksesi aiempien päivien kyselyt. + Viimeisiltä %1$d vuorokaudelta ei ole menneitä kyselyjä. +\nLataa lisää kyselyjä nähdäksesi aiempien päivien kyselyt. + + Tässä huoneessa ei ole menneitä kyselyjä + Menneet kyselyt + + Ei kyselyjä viimeisen vuorokauden ajalta. +\nLataa lisää kyselyjä nähdäksesi aiempien päivien kyselyt. + Ei kyselyjä viimeisen %1$d vuorokauden ajalta. +\nLataa lisää kyselyjä nähdäksesi aiempien päivien kyselyt. + + Tässä huoneessa ei ole aktiivisia kyselyjä + Aktiiviset kyselyt + Salauksen purkamisvirheistä johtuen joitakin ääniä ei ehkä lasketa + Tämä estää ihmisiä äänestämästä ja näyttää kyselyn lopulliset tulokset. + Ota LaTeX-matematiikka käyttöön + %1$s jäljellä + Äänitä pitämällä painettuna, lähetä päästämällä + Huoneen päivittäminen on edistynyt toiminto, jota yleensä suositellaan, kun huone on epävakaa virheistä, puuttuvista ominaisuuksita tai tietoturvahaavoittuvuuksista johtuen. +\nSe vaikuttaa yleensä vain siihen, miten huonetta käsitellään palvelimella. + Merkitse ei-ehdotetuksi + Merkitse ehdotetuksi + Viestien lähettäminen epäonnistui + Varattu + Virhe puhelua siirrettäessä + Yhdistä + Kumoa kutsu + Kotipalvelin ei hyväksy pelkistä numeroista koostuvaa käyttäjänimeä. \ No newline at end of file diff --git a/library/ui-strings/src/main/res/values-fr-rCA/strings.xml b/library/ui-strings/src/main/res/values-fr-rCA/strings.xml index cd39fa3381..9a9a288b99 100644 --- a/library/ui-strings/src/main/res/values-fr-rCA/strings.xml +++ b/library/ui-strings/src/main/res/values-fr-rCA/strings.xml @@ -296,7 +296,7 @@ code QR Ajouter avec un code QR Lien copié dans le presse-papiers - Ajouter un onglet dédié aux notifications non-lues sur l’écran principal. + Ajouter un onglet dédié aux notifications non lues sur l’écran principal. Activer le balayage pour répondre dans l’historique Nom ou identifiant (#exemple:matrix.org) Voir le répertoire des salons @@ -842,7 +842,7 @@ Le code est requis à l’ouverture d’${app_name}. Le code est demandé après 2 minutes d\'inutilisation d’${app_name}. Demander le code après 2 minutes - Afficher uniquement le numéro de messages non-lus dans une simple notification. + Afficher uniquement le numéro de messages non lus dans une simple notification. Afficher les détails comme les noms des salons et le contenu du message. Afficher le contenu dans les notifications Le code est la seule façon de déverrouiller ${app_name}. @@ -2068,4 +2068,4 @@ \n \nCette action va redémarrer l’application et pourra prendre du temps. Requête de synchronisation initiale - + \ No newline at end of file diff --git a/library/ui-strings/src/main/res/values-fr/strings.xml b/library/ui-strings/src/main/res/values-fr/strings.xml index 491a2660c4..3d08c58820 100644 --- a/library/ui-strings/src/main/res/values-fr/strings.xml +++ b/library/ui-strings/src/main/res/values-fr/strings.xml @@ -274,9 +274,9 @@ Rejoindre Rejeter Quitter le salon - Conversations privées + Messages directs Inviter - Bannir + Interdire l’accès au salon (définitif) Révoquer le bannissement Mentionner Faire confiance @@ -473,7 +473,7 @@ Chargement… Voulez-vous vraiment engager un nouvel appel audio \? Voulez-vous vraiment engager un nouvel appel vidéo \? - Bannir un utilisateur va l’expulser du salon et l’empêcher de le rejoindre à nouveau. + L’exclusion de l’utilisateur va l’expulser du salon et l’empêcher de le rejoindre à nouveau. Notification pour chaque message Ajouter à l’écran d’accueil Aperçu des liens @@ -579,7 +579,7 @@ réduire %1$s : %2$s +%d - Expulser + Retirer du salon (réversible) Afficher un aperçu des liens dans la discussion quand votre serveur d’accueil le permet. Envoyer des notifications de saisie Les autres utilisateurs pourront voir que vous êtes en train d’écrire. @@ -836,7 +836,7 @@ Changer de réseau Veuillez patienter… On dirait que vous avez déjà configuré une sauvegarde de clé depuis une autre session. Voulez-vous la remplacer par celle que vous êtes en train de créer \? - Vos conversations privées seront affichées ici. Appuyez sur « + » en bas à droite pour en démarrer une. + Vos messages directs seront affichés ici. Appuyez sur « + » en bas à droite pour en démarrer une. Salons Vos salons seront affichés ici. Appuyez sur le « + » en bas à droite pour trouver ceux existant ou en créer de nouveaux. Réactions @@ -852,7 +852,7 @@ Changer Impossible d’avoir un aperçu de ce salon Salons - Conversations privées + Messages directs CRÉER Nom Public @@ -884,7 +884,7 @@ Merci, la suggestion a bien été envoyée Échec d’envoi de la suggestion (%s) Afficher les évènements cachés dans les discussions - Conversations privées + Messages directs Attente… Chiffrement de la miniature… Envoi de la miniature (%1$s / %2$s) @@ -1410,7 +1410,7 @@ Le lien %1$s vous emmène sur un autre site : %2$s. \n \nVoulez-vous vraiment poursuivre \? - Nous n’avons pas pu créer votre conversation privée. Vérifiez les utilisateurs que vous souhaitez inviter et réessayez. + Nous n’avons pas pu créer votre message direct. Vérifiez les utilisateurs que vous souhaitez inviter et réessayez. Non chiffré Chiffré par un appareil non vérifié Vérifiez la nouvelle connexion accédant à votre compte : %1$s @@ -1570,7 +1570,7 @@ Le code est requis à l’ouverture de ${app_name}. Le code est demandé après 2 minutes d\'inutilisation de ${app_name}. Demander le code après 2 minutes - Afficher uniquement le numéro de messages non-lus dans une simple notification. + Afficher uniquement le numéro de messages non lus dans une simple notification. Afficher les détails comme les noms des salons et le contenu du message. Afficher le contenu dans les notifications Le code est la seule façon de déverrouiller ${app_name}. @@ -1607,7 +1607,7 @@ %1$s, %2$s et %3$d autre ont lu %1$s, %2$s et %3$d autres ont lu - Ajouter un onglet dédié aux notifications non-lues sur l’écran principal. + Ajouter un onglet dédié aux notifications non lues sur l’écran principal. Le salon a été créé, mais certaines invitations n’ont pas été envoyées pour la raison suivante : \n \n%s @@ -1716,12 +1716,12 @@ Sujet Sujet du salon (facultatif) Nom du salon - Conversation privée + Message direct Inclure l’historique d’échange de clés Plus aucun résultat Exporter le rapport d’audit %s pour permettre aux gens de connaître le sujet de ce salon. - Ceci est le début de l’historique de votre conversation privée avec %s. + Ceci est le début de l’historique de votre message direct avec %s. Ceci est le début de cette conversation. Ceci est le début de %s. Vous n\'avez pas le droit d’activer le chiffrement dans ce salon. @@ -2131,8 +2131,8 @@ Les invitations à des salons Les conversations de groupe chiffrées Les conversations de groupe - Les conversations privées chiffrées - Les conversations privées + Les conversations à deux chiffrées + Les messages directs Mon nom d’utilisateur Mon nom d’affichage Me notifier pour @@ -2614,7 +2614,7 @@ Préférences de présentation Parcourir les salons Créer un salon - Commencer une discussion + Commencer un message direct Non vérifiée · Dernière activité %1$s Vérifié · Dernière activité %1$s Tout voir (%1$d) @@ -2636,7 +2636,7 @@ Accéder aux espaces Pour simplifier Element, les onglets sont désormais facultatifs. Gérez les depuis le menu en haut à droite. Bienvenu dans une nouvelle vue ! - C\'est ici que vos messages non-lus s’afficheront lorsque vous en aurez. + C\'est ici que vos messages non lus s’afficheront lorsque vous en aurez. Rien à signaler. La messagerie sécurisée tout-en-un pour les équipes, les amis, et les organisations. Créez une discussion ou rejoignez un salon pour démarrer. Bienvenue dans ${app_name}, @@ -2920,4 +2920,13 @@ Impossible de démarrer un message vocal Erreur de connexion – Enregistrement en pause Appliquer le formatage de code en ligne + Bloc de code + Citation + Désindenter + Indenter + Consulter la chronologie des sondages + Impossible de déchiffrer cette diffusion audio. + Les détails de votre compte sont gérés séparément sur %1$s. + Compte + Nous avons rencontré une erreur lors de la mise-à-jour de vos préférences de notification. Veuillez réessayer. \ No newline at end of file diff --git a/library/ui-strings/src/main/res/values-hu/strings.xml b/library/ui-strings/src/main/res/values-hu/strings.xml index a44bc9b78b..d536f075cb 100644 --- a/library/ui-strings/src/main/res/values-hu/strings.xml +++ b/library/ui-strings/src/main/res/values-hu/strings.xml @@ -2920,4 +2920,12 @@ A Visszaállítási Kulcsot tartsd biztonságos helyen, mint pl. egy jelszókeze Hang üzenetet nem lehet elindítani Kapcsolódási hiba – Felvétel szüneteltetve Beágyazott kód formátum alkalmazása + Kód blokk be/ki + Idézet be/ki + Behúzás kijjebb + Behúzás + Szavazás megjelenítése az idővonalon + A hang közvetítés nem fejthető vissza. + A fiókadatok külön vannak kezelve itt: %1$s. + Fiók \ No newline at end of file diff --git a/library/ui-strings/src/main/res/values-in/strings.xml b/library/ui-strings/src/main/res/values-in/strings.xml index ca871db81b..3d8d1b25be 100644 --- a/library/ui-strings/src/main/res/values-in/strings.xml +++ b/library/ui-strings/src/main/res/values-in/strings.xml @@ -2862,4 +2862,13 @@ Di masa mendatang proses verifikasi ini akan dimutakhirkan. Anda tidak dapat memulai sebuah pesan suara karena Anda saat ini merekam sebuah siaran langsung. Silakan mengakhiri siaran langsung Anda untuk memulai merekam sebuah pesan suara Tidak dapat memulai pesan suara Terapkan format kode dalam baris + Alih balok kode + Alih kutipan + Batalkan inden + Inden + Tampilkan pemungutan suara di lini masa + Tidak dapat mendekripsi siaran suara ini. + Detail akun Anda dikelola secara terpisah di %1$s. + Akun + Terjadi kesalahan saat memperbarui preferensi notifikasi Anda. Silakan coba lagi. \ No newline at end of file diff --git a/library/ui-strings/src/main/res/values-it/strings.xml b/library/ui-strings/src/main/res/values-it/strings.xml index 80a0b7045f..8a6db0f0e2 100644 --- a/library/ui-strings/src/main/res/values-it/strings.xml +++ b/library/ui-strings/src/main/res/values-it/strings.xml @@ -2911,4 +2911,12 @@ Impossibile iniziare il messaggio vocale Applica formato codice interlinea Errore di connessione - Registrazione in pausa + Attiva/disattiva blocco di codice + Attiva/disattiva citazione + Rimuovi indentazione + Indenta + Vedi sondaggio nella linea temporale + Impossibile decifrare questa trasmissione vocale. + I dettagli del tuo account sono gestiti separatamente su %1$s. + Account \ No newline at end of file diff --git a/library/ui-strings/src/main/res/values-ja/strings.xml b/library/ui-strings/src/main/res/values-ja/strings.xml index f51f2ba81a..cf28976e65 100644 --- a/library/ui-strings/src/main/res/values-ja/strings.xml +++ b/library/ui-strings/src/main/res/values-ja/strings.xml @@ -143,7 +143,7 @@ このセッションで通知を有効にする 1対1のチャットでのメッセージ グループチャットでのメッセージ - ルームへ招待されたとき + ルームに招待されたとき 通話への招待 ボットによるメッセージ 端末起動時に開始 @@ -252,7 +252,7 @@ 公開端末名 ルームのエンドツーエンド暗号鍵をエクスポート 認証済 - このルームに参加していません。 + あなたはこのルームのメンバーではありません。 このルームでそれを行う権限がありません。 ルーム %s は閲覧できません。 ユーザー名 @@ -394,7 +394,7 @@ 指定したIDのユーザーをブロック 指定したIDのユーザーのブロックを解除 ユーザーの権限レベルを規定 - 指定したIDのユーザーの管理者権限を取り消す + 指定したIDのユーザーの権限をリセット 指定したIDのユーザーを現在のルームに招待 指定したアドレスのルームに参加 ルームから退出 @@ -406,7 +406,7 @@ %1$sのホームサーバーを引き続き使用するには、利用規約を確認して同意する必要があります。 エラー 確認 - アカウントを無効化 + アカウントの無効化 この操作により、あなたのアカウントは永久に使えなくなります。ログインしたり同じユーザーIDを再登録したりすることはできなくなります。あなたのアカウントは参加している全てのルームから退出し、あなたのIDサーバーからアカウントの詳細が削除されます。<b>この操作は取り消せません。</b> \n \nアカウントを無効化しても、<b>デフォルトではあなたが送信したメッセージの履歴は消去されません</b>。メッセージの履歴を消去する場合は、以下のボックスにチェックを入れてください。 @@ -418,7 +418,7 @@ このルームは置き換えられており、アクティブではありません。 こちらから継続中の会話を確認 このルームは別の会話の続きです - 以前のメッセージを表示するには、ここをクリックしてください + ここをクリックすると、以前のメッセージを表示します サービス管理者に連絡 このホームサーバーはリソース制限の1つを超過しているため、 ユーザーがログインできなくなることがあります このホームサーバーはリソースの上限に達しました。 @@ -484,7 +484,7 @@ 通知に関する問題解決 システムの設定。 アカウントの設定。 - カスタム設定。 + ユーザー定義の設定。 端末起動時に開始 バックグラウンド制限の確認 編集 @@ -537,13 +537,13 @@ ルームから退出しています… 管理者 モデレーター - カスタム + ユーザー定義 招待中 ユーザー %1$sの管理者 %1$sのモデレーター %1$sの既定のユーザー - %2$sのカスタム(%1$d) + %2$sのユーザー定義(%1$d) タイムライン エンドツーエンド暗号化を有効にする… 暗号化を有効にする @@ -572,7 +572,7 @@ アカウントデータ 削除… 削除の確認 - このイベントを削除してよろしいですか?ルーム名やトピックの変更を削除すると、変更が取り消されます。 + このイベントを削除してよろしいですか?ルームの名前やトピックの変更を削除すると、変更が取り消される可能性があります。 暗号化が有効です このルーム内でのメッセージはエンドツーエンドで暗号化されます。詳細の確認や認証はユーザーのプロフィールをご確認ください。 暗号化が有効になっていません @@ -714,7 +714,7 @@ Playサービスを修正 Google PlayサービスのAPKは利用可能で最新の状態になっています。 Playサービスのチェック - 一部の通知はカスタム設定で無効になっています。 + 一部の通知はユーザー定義の設定で無効になっています。 一部のメッセージがサイレントに設定されていることに注意してください(音を出さずに通知します)。 1つ以上のテストが失敗しました。調査用のバグレポートを送信してください。 1つ以上のテストが失敗しました。提案された修正を試してください。 @@ -911,8 +911,8 @@ %1$s、%2$s、%3$sと%4$s %1$s、%2$sと%3$s %1$sの権限レベルを%2$sから%3$sへ - カスタム - カスタム (%1$d) + ユーザー定義 + ユーザー定義 (%1$d) 既定 モデレーター 管理者 @@ -940,7 +940,7 @@ これにより、現在のキーまたはフレーズが置き換えられます。 新しいセキュリティーキーを生成するか、既存のバックアップに新しいセキュリティーフレーズを設定してください。 サーバー上の暗号鍵をバックアップして、暗号化されたメッセージとデータへのアクセスが失われるのを防ぎましょう。 - メッセージ作成画面に絵文字キーボードを開くためのボタンを追加 + メッセージ入力欄に絵文字キーボードを開くためのボタンを追加 絵文字キーボードを表示 アバターと表示名の変更を含む。 アカウントのイベントを表示 @@ -1076,7 +1076,7 @@ バックアップには認証済のセッション %s による署名があります。 バックアップにはこのセッションによる有効な署名があります。 バックアップには%sというIDの不明のセッションによる署名があります。 - このセッションでは鍵がバックアップされていません。 + 鍵はこのセッションからバックアップされていません。 このセッションでは鍵のバックアップが無効になっています。 このセッションでは鍵のバックアップが正しく設定されています。 最新の復号化キーのバージョンを取得するのに失敗しました(%s)。 @@ -1144,7 +1144,7 @@ \n直近のオンライン日時:%2$s \n新しいセッションにログインしなかった場合、この要求を無視してください。 鍵の共有リクエスト - カスタムカメラ画面の代わりにシステムカメラを開始。 + ユーザー定義のカメラ画面の代わりにシステムカメラを開始。 使用中のウィジェットがありません インテグレーションを管理 DRMで保護されているメディアを読み込む @@ -1187,7 +1187,7 @@ スペースのメンバーのみ 誰でもルームを発見し参加できます 公開 - 招待した人のみが検索・参加できます + 招待した人のみが検索し、参加できます 非公開 不明のアクセス設定(%s) 誰でもルームにノックができ、メンバーがその参加を承認または拒否できます @@ -1197,7 +1197,7 @@ このアドレスを公開 アドレスを設定すると、他のユーザーがあなたのホームサーバー(%1$s)を通じてこのルームを見つけられるようになります。 ローカルアドレス - 新しい公開アドレス(例:#alias:server) + 新しい公開アドレス(例:#alias:server) 他の公開アドレスはまだありません。以下から追加できます。 他の公開アドレスはまだありません。 アドレス\"%1$s\"を非公開にしますか? @@ -1252,7 +1252,7 @@ Matrix IDでサインイン 詳細を表示 その他 - カスタムと高度な設定 + ユーザー定義と高度な設定 組織向けのプレミアムホスティング 組織向けのプレミアムホスティング 最大の公開サーバーで、数百万人に無料で参加 @@ -1333,8 +1333,8 @@ これを使用するとデータが%sと共有される可能性があります: %1$s:%2$s %3$s %1$s:%2$s - あなたが知らないかもしれない他のスペースやルーム - 誰がこのルームを検索・参加できるか選択してください。 + 知らないかもしれない他のスペースやルーム + 誰がこのルームを検索し、参加できるか選択してください。 タップしスペースを編集 スペースを選択 アクセス可能なスペース @@ -1354,8 +1354,8 @@ ダイレクトメッセージ 自分のユーザー名 自分の表示名 - グループチャットで暗号化されたメッセージ - 1対1のチャットで暗号化されたメッセージ + グループチャットでの暗号化されたメッセージ + 1対1のチャットでの暗号化されたメッセージ 以下の場合に通知 その他 メンションとキーワード @@ -1436,8 +1436,8 @@ %1$s個以上の選択肢が必要です - 呼び出したユーザーは話し中です。 - 話し中です + 呼び出したユーザーは通話中です。 + 通話中 %sとの音声通話 %sとのビデオ通話 呼び出しています… @@ -1507,7 +1507,7 @@ 警告! 位置情報 メディア - アンケート終了 + アンケートが終了しました アンケートを終了しますか? アンケートを削除 スペースを作成 @@ -1628,11 +1628,11 @@ 不適切として報告済 添付ファイルを送信 詳細なログを有効にする。 - メールアドレスか電話番号でアカウントを見つけてもらえるようにするには、IDサーバー(%s)の利用規約への同意が必要です。 + メールアドレスか電話番号でアカウントを検出可能にするには、IDサーバー(%s)の利用規約への同意が必要です。 ${app_name}は位置情報にアクセスできませんでした ${app_name}は位置情報にアクセスできませんでした。後でもう一度やり直してください。 音声メッセージ(%1$s) - 推奨のルームバージョンへとアップグレード + 推奨のルームバージョンにアップグレード 音声メッセージを録音 あなたのホームサーバーの運営方針 一番下に移動 @@ -1707,7 +1707,7 @@ 素早くクラッシュ 開発者モードは隠された機能を有効にするため、アプリケーションが不安定になる恐れがあります。開発者向けです! 復号エラーが生じた際に、自動的にログを送信 - 復号エラーを自動的に報告する。 + 復号エラーを自動で報告。 変更を有効にするにはアプリケーションの再起動が必要です。 LaTeXによる数学表記を有効にする 以下の場合に通知 @@ -1731,7 +1731,7 @@ 投票する 投票した人には、投票の際に即座に結果が表示されます アンケートの終了後に結果を公開 - 結果はアンケートを終了した後でのみ明らかにされます + 結果はアンケートが終了した後で表示されます 以下で開く 暗号化のアップグレードが利用できます SSSSキーをリカバリーキーから生成しています @@ -1812,7 +1812,7 @@ サーバーのバージョン サーバー名 電話番号が正しくないようです。確認してください - カスタムホームサーバーを選択 + ユーザー定義のホームサーバーを選択 Element Matrix Servicesを選択 再送信 コードを入力 @@ -1825,7 +1825,7 @@ 信頼済 認証済 未送信のメッセージを削除 - カスタムイベントを送信 + ユーザー定義のイベントを送信 ルームの状態を調査 開封確認メッセージを表示 通知しない @@ -1842,7 +1842,7 @@ 合計%1$d票。投票すると結果を確認できます - 未認証の端末で暗号化 + 未認証の端末による暗号化 メッセージを紙吹雪と共に送信 メッセージを降雪と共に送信 紙吹雪🎉を送る @@ -1863,7 +1863,7 @@ 正しい参加者が%sにアクセスできるようにしましょう。 連絡先を追加 - %d人の知り合いがすでに参加しています + %d人の知人が既に参加しています %sに招待 ユーザー名かメールアドレスで招待 @@ -1874,18 +1874,18 @@ 注意:アプリケーションが再起動します ホームサーバーの管理者にお問い合わせください あなたが参加している全てのルームがホームに表示されます。 - 親のスペースを自動的に更新 + 上位のスペースを自動的に更新 残り%1$d秒 %sに属する人は、誰でもこのルームを検索し、参加することができます。手動で全員を招待する必要はありません。これはルームの設定からいつでも変更できます。 - 親のスペースに属する人は、誰でもこのルームを検索し、参加することができます。手動で全員を招待する必要はありません。これはルームの設定からいつでも変更できます。 + 上位のスペースに属する人は、誰でもこのルームを検索し、参加することができます。手動で全員を招待する必要はありません。これはルームの設定からいつでも変更できます。 %1$d個の投票に基づく - 合計%1$d票の投票に基づく最終結果 + 合計%1$d票に基づく最終結果 新しいセッションが認証されました。セッションは暗号化されたメッセージにアクセスすることができます。また、セッションは他のユーザーに「信頼済」として表示されます。 - このルームを同じホームサーバー上で組織内のチームとのコラボレーションにのみ使用する場合、このオプションを有効にするといいかもしれません。これは後から変更できません。 + このルームを、あなたのホームサーバーで、組織内のチームとのコラボレーションにのみ使用するなら、この設定を有効にするといいかもしれません。これは後から変更できません。 %sに属していないユーザーによるこのルームへの参加を、今後永久に拒否 プレーンテキストメッセージの前に ( ͡° ͜ʖ ͡°) を付ける このメールアドレスのドメインの登録は許可されていません @@ -1906,7 +1906,7 @@ これは正しいユーザーIDではありません。正しいフォーマットは「@user:homeserver.org」です。 パスワードを忘れた場合、戻ってパスワードを再設定してください。 メールボックスを確認してください - カスタムサーバーに接続 + ユーザー定義のサーバーに接続 既にアカウントがあります 既存のサーバーに参加しますか? この質問をスキップ @@ -1991,7 +1991,7 @@ このルームはまだ作成されていません。キャンセルしますか? テキストメッセージで共有 保護を設定 - このルームのみ + このルームにのみ 誰でも参加可能。コミュニティー向け 既存のスペースに参加するには、招待が必要です。 これは後から変更できます @@ -2033,9 +2033,9 @@ \n%sで利用規約を閲覧できます。 最初の検索結果のみ表示しています。文字をもっと入力してください… matrix.toリンクのフォーマットが正しくありませんでした - 注意!この端末には暗号鍵を含む個人データが保存されています。 + 警告:あなたの個人データ(暗号化の鍵を含む)が、この端末に保存されています。 \n -\nこの端末での使用を終了、または他のアカウントにサインインする場合、このデータをクリアしてください。 +\nこの端末の使用を終了するか、他のアカウントにログインしたい場合は、そのデータを消去してください。 この端末に現在保存されている全てのデータをクリアしますか? \nアカウントデータとメッセージにアクセスするにはもう一度サインインしてください。 現在のセッションはユーザー %1$s のものですが、あなたが提供している認証情報はユーザー %2$s のものです。この操作は${app_name}ではサポートされていません。 @@ -2188,10 +2188,10 @@ ディスカバリーの設定を終了します。 ここの参加者はあなただけです。退出すると、今後あなたを含めて誰も参加できなくなります。 再び招待されない限り、再参加することはできません。 - あなたはこのスペースの唯一の管理者です。退出すると、誰もそれをコントロールすることができなくなります。 + あなたはこのスペースの唯一の管理者です。退出すると、誰もそれを管理できなくなります。 名前のないルーム - このルームはホームサーバーが不安定と判断したルームバージョン%sで動作しています。 - 申し訳ありませんが、%sに参加する途中で問題が発生しました + このルームは、ホームサーバーが不安定と判断したルームバージョン%sで動作しています。 + 申し訳ありませんが、%sに参加する際に問題が発生しました このルームへの招待が、アカウントに関連付けられていないメールアドレス %s に送られました 投票がありません ルーム全体に通知 @@ -2238,7 +2238,7 @@ アプリの名前を変更しました!アプリは最新版で、アカウントにはログイン済です。 ステートイベントを送信 ステートイベント - カスタムのステートイベントを送信 + ユーザー定義のステートイベントを送信 ステートイベントを送信しました! 続行するには名前を設定してください。 どんな作業に取り組みますか? @@ -2318,7 +2318,7 @@ 鍵のバックアップの機密情報をSSSSに保存しています あなたしか知らないセキュリティーフレーズを入力してください。サーバーで機密情報を保護するために使用します。 詳細を非表示 - 他の参加者はいません。%sに招待しましょう。 + まだ他の参加者はいません。%sに招待しましょう。 位置情報(ライブ)が有効です 現在の位置情報を共有 現在の位置情報を共有 @@ -2503,11 +2503,11 @@ %1$d日以上使用されていません(%2$s) 地図を読み込めません -\nこのホームサーバーは地図が読み込むよう設定されていないおそれがあります。 +\nこのホームサーバーは地図が読み込めるように設定されていないおそれがあります。 スペースは、ルームや連絡先をまとめる新しい方法です。右下のボタンを使うと、既存のルームを追加したり新たに作成したりできます。 セキュリティーに関する勧告 その他のセッション - セキュリティーを最大限に高めるには、不明なセッションや利用していないセッションからサインアウトしてください。 + セキュリティーを最大限に高めるには、不明なセッションや使用していないセッションからサインアウトしてください。 生体認証を有効にできませんでした。 関連付けに失敗しました。 おかえりなさい! @@ -2526,7 +2526,7 @@ 未読のメッセージがある場合は、ここに表示されます。 未読はありません。 クライアントの情報の保存を有効にする - セッション名は連絡先にも表示されます。 + セッション名は連絡先に対しても表示されます。ご注意ください。 セッション名を設定すると、端末をより簡単に認識できるようになります。 このセッションでプッシュ通知を受信。 絞り込みを解除 @@ -2541,7 +2541,7 @@ 未認証のセッションはありません。 認証済のセッションはありません。 - 使用していない古いセッション(%1$d日以上使用されていません)からサインアウトすることを検討してください。 + 使用していない古いセッション(%1$d日以上使用されていません)からのサインアウトを検討してください。 非アクティブ セッションを認証すると、より安全なメッセージのやりとりが可能になります。見覚えのない、または使用していないセッションがあれば、サインアウトしましょう。 @@ -2614,7 +2614,7 @@ Googleサービス 通知の受信方法を選択してください 画面を共有しています - ${app_name}画面共有 + ${app_name}の画面共有 テキストの装飾 連絡先 カメラ @@ -2631,14 +2631,14 @@ 一時的な実装。位置情報がルームの履歴に残ります 位置情報(ライブ)の共有を有効にする 位置情報を共有しています - ${app_name}位置情報(ライブ) + ${app_name}の位置情報(ライブ) 残り%1$s 位置情報(ライブ)を表示 位置情報(ライブ)が終了しました 位置情報(ライブ)を読み込んでいます… 8時間 1時間 - 15分 + 15分間 位置情報(ライブ)を共有する時間 現在の位置にズーム 地図で選択した位置情報のピン @@ -2656,7 +2656,7 @@ ライブ配信を終了してよろしいですか?配信を終了し、録音をこのルームで利用できるよう設定します。 ライブ配信を停止しますか? 残り%1$s - 接続エラー - 録音を停止しました + 接続エラー - 録音を一時停止しました この音声配信を再生できません。 既に音声配信を録音しています。新しく始めるには今の音声配信を終了してください。 他の人が既に音声配信を録音しています。新しく始めるには音声配信が終わるまで待機してください。 @@ -2800,7 +2800,7 @@ %s \nは空です。 クライアントの名称、バージョン、URLを記録し、セッションマネージャーでより容易にセッションを認識できるよう設定。 - セッション名を変更 + セッション名の変更 絞り込む 直近のオンライン日時 %1$s @@ -2811,7 +2811,7 @@ 未認証・直近のオンライン日時 %1$s 認証済・直近のオンライン日時 %1$s 現在のセッションを認証すると、このセッションの認証の状態を確認できます。 - セキュリティーを最大限に高めるには、セッションを認証し、不明なセッションや利用していないセッションからサインアウトしてください。 + セキュリティーを最大限に高めるには、セッションを認証し、不明なセッションや使用していないセッションからサインアウトしてください。 Element Callウィジェットを自動で承認し、カメラまたはマイクのアクセス権を付与 Element Callの権限のショートカットを有効にする 現在のゲートウェイ:%s @@ -2854,4 +2854,18 @@ 認証済のセッションは、パスフレーズの入力、または他の認証済のセッションで本人確認を行ったセッションです。 \n \n認証済のセッションには、暗号化されたメッセージを復号化する際に使用する全ての鍵が備わっています。また、他のユーザーに対しては、あなたがこのセッションを信頼していることが表示されます。 + %1$s タップして戻る + もう一方の端末でサインインしてください。 + 携帯端末にサインインしますか? + サインインの画面で開始 + サインインの画面で開始 + セキュアなメッセージのやり取りを設定している際に、セキュリティー上の問題に遭遇しました。あなたのホームサーバー、インターネット接続、端末のいずれかの安全性が損なわれている可能性があります。 + コードブロックの表示を切り替える + あなたのアカウントの詳細は%1$sで管理されています。 + 引用の表示を切り替える + インデントを減らす + インデントを増やす + アンケートをタイムラインに表示 + この音声配信を復号化できません。 + アカウント \ No newline at end of file diff --git a/library/ui-strings/src/main/res/values-lv/strings.xml b/library/ui-strings/src/main/res/values-lv/strings.xml index 9201bf146a..81a7a10dcc 100644 --- a/library/ui-strings/src/main/res/values-lv/strings.xml +++ b/library/ui-strings/src/main/res/values-lv/strings.xml @@ -39,7 +39,6 @@ Uzaicinājums uz istabu %1$s un %2$s Tukša istaba - Jūs nomainījāt savu parādāmo vārdu no %1$s uz %2$s Jūs nomainījāt savu parādāmo vārdu uz %1$s Jūs nomainījāt savu avataru @@ -222,7 +221,6 @@ Dzēst Pārdēvēt Ziņot par saturu - vai Uzaicināt Izrakstīties @@ -245,7 +243,6 @@ Vienīgi Matrix kontakti Nav rezultātu Istabas - Nosūtīt logfailus Nosūtīt sistēmas avārijas logfailus Nosūtīt ekrānattēlu @@ -272,7 +269,7 @@ Gaiša tēma Tumša tēma Melna tēma - Notikumu monitorings + Uztver notikumus Skaņas paziņojumi Klusi paziņojumi Kļūdas atskaite @@ -285,10 +282,8 @@ Šķiet ievadīta nederīga epasta adrese Šī epasta adrese jau tiek izmantota. Aizmirsāt paroli\? - Mājasservers vēlas pārbaudīt, vai neesat robots Neizdevās verificēt epasta adresi: pārbaudiet, vai esi noklikšķinājis(usi) uz saiti atsūtītajā epastā - Ievadi korektu URL adresi Bojāts JSON Nav derīgs JSON @@ -305,15 +300,10 @@ Notiek zvans… Adresāts neatbildēja uz zvanu. Element informācija - - ${app_name}-am nepieciešama atļauja piekļūt mikrofonam, lai nodrošinātu audio zvanus. - ${app_name} nepieciešama atļauja piekļūt kamerai un mikrofonam, lai veiktu videozvanus. \n \nLūdzu, dodiet piekļuves atļauju nākamajā uznirstošajā logā, lai būtu iespēja veikt zvanus. - - Turpināt @@ -321,7 +311,6 @@ Pievienoties Noraidīt Pāriet uz pirmo neizlasīto ziņu - Pamest istabu Vai tiešām vēlies pamest istabu\? TIEŠIE ČATI @@ -349,7 +338,6 @@ Servera sertifikāts ir izmanījies un Tava ierīce tam tagad neuzticas. Tas ir ĻOTI NEPARASTI. Iesakām NEUZTICĒTIES šim jaunajam sertifikātam. Sertifikāts izmainījās no iepriekš uzticama uz neuzticamu. Iespējams, serveris ir aktualizējis savu sertifikātu. Sazinies ar servera administratoru, lai saņemtu sagaidāmo nospiedumu (fingerprint). Akceptē sertifikātu TIKAI tad, kad servera administrators publicējis sertifikāta nospiedumu, kurš atbilst augstāk redzamajam. - Meklēšana Istabas dalībnieku filtrs Rezultātu nav @@ -407,7 +395,6 @@ Ierīces nosaukums Pēdējo reizi manīts %1$s @ %2$s - Autentifikācija Pierakstījies kā Mājasserveris @@ -450,7 +437,6 @@ %d biedru izmaiņas Biedru katalogs - %d biedri %d biedrs @@ -461,11 +447,8 @@ %d jauna ziņa %d jaunas ziņas - - Iestatīt kā galveno adresi Atiestatīt kā galveno adresi - Tēma Atšifrēšanas kļūda Ierīces nosaukums @@ -475,9 +458,8 @@ Eksportēt istabas atslēgas Eksportēt atslēgas vietējā failā Eksportēt - Ievadiet frāzveida paroli - Apstiprināt frāzveida paroli - + Ievadīt paroles vārdkopu + Apstiprināt paroles vārdkopu Importēt E2E istabas atslēgas Importēt istabas atslēgas Importēt atslēgas no vietējā faila @@ -490,17 +472,15 @@ Apstipriniet, salīdzinot sekojošo ar lietotāja iestatījumiem citā savā sesijā: Ja tā sakrīt, nospied zemāk esošo verifikācijas pogu. Ja tā nesakrīt, tad kāds ir pārtvēris šo ierīci un Tu droši vien vēlies šo ierīci pievienot melnajam sarakstam. Nākotnē šī pārbaudes procedūra plānota sarežģītāka. - Izvēlies istabu katalogu Mājasservera nosaukums Visas istabas %s serverī Visas vietējās %s istabas - %d nelasīta paziņota ziņa - %d nelasītas paziņotas ziņas - %d nelasītu paziņotu ziņu + %d nelasītu paziņotu ziņu + %d nelasīta paziņota ziņa + %d nelasītas paziņotas ziņu - %d istaba %d istabas @@ -908,8 +888,6 @@ Nākotnē šī pārbaudes procedūra plānota sarežģītāka. Nosūtīja jums uzaicinājumu %s vēlas verificēt jūsu sesiju Verifikācijas pieprasījums - - Nodrošinieties pret piekļuves zaudēšanu šifrētām ziņām un datiem Neparedzēta kļūda Izveidot frāzveida paroli @@ -936,7 +914,7 @@ Nākotnē šī pārbaudes procedūra plānota sarežģītāka. Iztrūks obligāts parametrs. %1$s: %2$s %3$s %1$s: %2$s - ** Neizdevās nosūtīt - atveriet istabu + ** Neizdevās nosūtīt - lūgums atvērt istabu Es Jauns uzaicinājums Jaunas ziņas @@ -1036,7 +1014,6 @@ Nākotnē šī pārbaudes procedūra plānota sarežģītāka. %1$d cilvēki %1$d cilvēki - Gaida %s… Verificēts %s Verificē %s @@ -1159,7 +1136,7 @@ Nākotnē šī pārbaudes procedūra plānota sarežģītāka. Jūs neizmantojat nevienu identitāšu serveri Rezerves kopiju nevarēja atšifrēt ar šo atkopšanās atslēgu: lūdzu, pārbaudiet, vai ievadījāt pareizo atkopšanās atslēgu. Kalkulē atkopšanās atslēgu… - Frāzveida parole pārāk vāja + Paroles vārdkopa ir pārāk vāja Nosūta doto ziņu ar sniegu Nosūta doto ziņu ar konfeti Atbastīta tikai šifrētās istabās @@ -1247,8 +1224,8 @@ Nākotnē šī pārbaudes procedūra plānota sarežģītāka. Gandrīz galā! Vai %s redzams tas pats vairogs\? Kamēr šis lietotājs nav padarījis šo sesiju uzticamu, ziņas uz un no tās ir marķētas ar brīdinājumiem. Alternatīvi, jūs varat manuāli verificēt šos sesiju. %1$s (%2$s) pierakstījās, izmantojot jaunu sesiju: - Lūdzu, ievadiet frāzveida paroli - Frāzveida paroles nesakrīt + Lūgums ievadīt paroles vārdkopu + Paroles vārdkopa nesakrīt Piekļuve istabai Pārvaldiet epasta adreses un tālruņu numurus, kas saistīti ar jūsu Matrix kontu Epasti un tālruņa numuri @@ -1290,7 +1267,6 @@ Nākotnē šī pārbaudes procedūra plānota sarežģītāka. Jauna šifrēto ziņu atslēga Izmantot Atslēgu Dublēšanu Nekad nezaudējiet šifrētās ziņas - Dzēst savu dublēto šifrēšanas atslēgu no servera\? Jūs vairs nevarēsiet izmantot atkopšanas atsļēgu, lai lasītu šifrēto ziņu vēsturi. Izdzēst dublējumu Pārbauda dublējuma statusu @@ -1303,10 +1279,10 @@ Nākotnē šī pārbaudes procedūra plānota sarežģītāka. Izmantojiet savu Atgūšanas Atslēgu, lai atbloķētu savu šifrēto ziņu vēsturi izmantojiet savu atgūšanas atslēgu Lietotāju ielūgšana, izmešana un aizliegšana tika neaizskarta. - Konfigurēt Skaļās Notifikācijas + Uzstādīt skaļos paziņojumus Izslēgt ierobežojumus Pārbaudīt fona ierobežojumus - Notifikācija tika nospiesta! + Paziņojumam tika piesists! Neizdevās reģistrēt FCM žetonu mājasserverī: \n%1$s FCM žetons veiksmīgi reģistrēts mājasserverī. @@ -1322,19 +1298,17 @@ Nākotnē šī pārbaudes procedūra plānota sarežģītāka. \nPievienojiet dažas tagad\? Neizdevās izveidot reālā laika savienojumu. \nLūdzu, jautājiet sava servera administratoram, lai konfigurētu PAGRIEZIENA serveri, lai zvani strādātu uzticami. - Izmantojiet Integrācijas Pārvaldnieku, lai pārvaldītu botus, tiltus, logrīkus un uzlīmes. \nIntegrācijas Pārvaldnieks saņem konfigurācijas datus un var modificēt logrīkus, sūtīt istabu uzaicinājumus jūsu vārdā. - - Jūs nesaņemsiet jaunas notifikācijas, kad aplikācija ir fonā. + Par ienākošajiem ziņojumiem netiks paziņots, kad lietotne darbojas fonā. Bez fona sinhronizācijas Optimizēts reālajam laikam Fona Sinhronizācijas Režīms Izvēlaites LED krāsu, vibrāciju, skaņu… - Konfigurēt Klusās Notifikācijas - Konfigurēt Zvanu Notifikācijas + Uzstādīt klusos paziņojumus + Uzstādīt zvanu paziņojumus Pakalpojums startēsies, kad ierīce būs restartēta. - Notifikāciju Displejs + Paziņojumu attēlošana Google Play Servisu APK ir pieejams un atjaunināts. Filtrēt aizliegtos lietotājus Lūdzu palaidiet ${app_name} citā ierīcē, kas var atšifrēt ziņu, lai tā varētu nosūtīt šīs sesijas atslēgas. @@ -1380,21 +1354,20 @@ Nākotnē šī pārbaudes procedūra plānota sarežģītāka. Lūdzu uztaisiet kopiju Stop Aizvietot - Dublējums jau pastāv jūsu mājasserverī - Atgūšanas atslēgas tika saglabātas. - - Saglabāt kā Failu + Rezerves kopija jau pastāv jūsu mājasserverī + Atkopšanas atslēgas tika saglabātas. + Saglabāt datnē Saglabāt Atgūšanas Atslēgu Es uztaisīju kopiju Saglabājiet savu atgūšanas atslēgu kaut kur ļoti drošā vietā, piemēram, paroles pārvaldniekā (vai seifā) Jūsu atkopšanas atslēga ir drošības tīkls - to var izmantot, lai atjaunotu piekļuvi jūsu šifrētajām ziņām, ja esat aizmirsis savu paroles frāzi. \nSaglabājiet savu atgūšanas atslēgu kaut kur ļoti drošā vietā, piemēram, paroles pārvaldniekā (vai seifā) - Jūsu atslēgas tiek dublētas. - Izdevās ! - (Advancēti) Iestatīt ar Atgūšanas Atslēgu - Vai, aizsargājiet jūsu dublējumu ar Atgūšanas Atslēgu, saglabājot to drošā vietā. - Taisa Dublējumu - Iestatīt Frāzi + Tiek veidota atslēgu rezerves kopija. + Izdevās! + (Papildu) Uzstādīt ar atkopšanas atslēgu + Vai aizsargā rezerves kopiju ar atkopšanas atslēgu, saglabājot to drošā vietā. + Veido rezerves kopiju + Uzstādīt paroles vārdkopu Mēs saglabāsim šifrētu jūsu atslēgu kopiju savā serverī. Aizsargājiet savu dublējumu ar frāzi, lai tā būtu droši aizsargāta. \n \nLai nodrošinātu maksimālu drošību, tam jāatšķiras no jūsu konta paroles. @@ -1454,7 +1427,6 @@ Nākotnē šī pārbaudes procedūra plānota sarežģītāka. Publicēt jaunu adresi manuāli Šī ir galvenā adrese ${app_name} apkopo anonīmu analītiku, lai ļautu mums uzlabot aplikāciju. - Šis aizvietos jūsu esošo Atslēgu vai Frāzi. Izveidot jaunu Drošības Atslēgu vai iestatīt jaunu Drošības Frāzi jūsu esošajam dublējumam. Iestatīt uz šīs ierīces @@ -1509,7 +1481,7 @@ Nākotnē šī pārbaudes procedūra plānota sarežģītāka. Pārbaudes diagnostika Paziņojumu pārbaude Paziņojumu svarīgums - Advancēti Notifikāciju Iestatījumi + Paziņojumu papildu iestatījumi Jūs apturējāt zvanu %s apturēja zvanu Apturēt @@ -1657,8 +1629,6 @@ Nākotnē šī pārbaudes procedūra plānota sarežģītāka. Kopīgojiet atkopšanas atslēgu ar… Lūdzu, %s, lai turpinātu izmantot šo pakalpojumu. Lūdzu, %s, lai palielinātu šo limitu. - - Palaidiet sistēmas kameru, nevis pielāgotās kameras ekrānu. Lasīt DRM aizsargātu multividi Izmantojot to, var kopīgot datus ar %s: @@ -1700,7 +1670,6 @@ Nākotnē šī pārbaudes procedūra plānota sarežģītāka. %d izvēlēti Modificēt logrīku - Trūkst atļauju Lai veiktu šo darbību, lūdzu, piešķiriet kamerai atļauju sistēmas iestatījumos. Lai veiktu šo darbību, trūkst dažu atļauju. Lūdzu, sistēmas Iestatījumos piešķiriet atļaujas. @@ -1778,7 +1747,6 @@ Nākotnē šī pārbaudes procedūra plānota sarežģītāka. Savienoties %1$s Pieskarieties, lai atgrieztos Aktīvs zvans (%1$s) · - Aktīvs zvans (%1$s) Tika pieļauta kļūda, meklējot tālruņa numuru Zvanu taustiņi @@ -1833,7 +1801,7 @@ Nākotnē šī pārbaudes procedūra plānota sarežģītāka. Neatļaut ekrānšāviņus lietotnē Izmantot failu Ievadiet savu %s, lai turpinātu - Notifikāciju iestatījumi + Paziņojumu uzstādīšana Neizdevās importēt atslēgas %s, lai ļautu cilvēkiem uzzināt, par ko ir šī istaba. Nokopējiet to uz personālās mākoņa krātuves @@ -1945,7 +1913,6 @@ Nākotnē šī pārbaudes procedūra plānota sarežģītāka. \n• Jūsu servera administrators ir anulējis jūsu piekļuvi drošības apsvērumu dēļ. Neizskatās pēc derīgas e-pasta adreses Nosūta doto ziņojumu kā pārsteigumu - %1$s pie %2$s Šajā istabā nav multivides Multivide @@ -1961,7 +1928,6 @@ Nākotnē šī pārbaudes procedūra plānota sarežģītāka. Atveriet izvēlni izveidot telpu Atveriet navigācijas atvilktni Izskatās, ka serveris pārāk ilgi neatbild, to var izraisīt slikts savienojums vai servera kļūda. Lūdzu, pēc brīža mēģiniet vēlreiz. - Identitātes serveris nesniedz nekādu politiku Slēpt identitātes servera politiku Parādīt identitātes servera politiku @@ -2000,7 +1966,6 @@ Nākotnē šī pārbaudes procedūra plānota sarežģītāka. Šifrētās tiešās ziņas Tiešās ziņas Mans lietotājvārds - Neizdevās iegūt jaunāko atjaunošanas atslēgu versiju (%s). %d jaunu atslēgu tika pievienotas šai sesijai. @@ -2011,7 +1976,7 @@ Nākotnē šī pārbaudes procedūra plānota sarežģītāka. Iegūst rezerves kopiju… Atjaunošanas atslēgas ģenerēšana, izmantojot paroli, šis process var aizņemt vairākas sekundes. Izskatās, ka jums jau ir izveidots atslēgas dublējums no citas sesijas. Vai vēlaties to aizstāt ar izveidoto\? - Lūdzu, dzēsiet parolesfrāzi, ja vēlaties, lai ${app_name} ģenerētu atkopšanas atslēgu. + Lūgums izdzēst paroles vārdkopu, ja ir vēlams, lai ${app_name} izveidotu atkopšanas atslēgu. Nav atrasts derīgs Google Play Services APK. Paziņojumi var nedarboties pareizi. Marķēšana ir izslēgta. Marķēšana ir ieslēgta. @@ -2063,9 +2028,6 @@ Nākotnē šī pārbaudes procedūra plānota sarežģītāka. izmetot lietotāju, noņems viņu no šīs Telpas. \n \nLai novērstu viņu atkārtotu pievienošanos, jums tā vietā vajadzētu viņiem aizliegt pievienoties. - - - Beidz zvanu… Nav atbildes Lietotājs, kuram zvanījāt, ir aizņemts. @@ -2091,4 +2053,18 @@ Nākotnē šī pārbaudes procedūra plānota sarežģītāka. Lai sūtītu balss ziņojumus, piešķiriet Mikrofona atļauju. Telpas Uztver paziņojumus - + Atvērt aptauju + Sniegt atgriezenisko saiti + Piesist augšējā labajā stūrī, lai redzētu iespēju sniegt atgriezenisko saiti. + Tu beidzi balss pārraidi. + %1$s izbeidza balss pārraidi. + Izmantot ierīci, kurā veikta pieteikšanās, lai nolasītu zemāk esošo kvadrātkodu: + Nolasīt zemāk esošo kvadrātkodu ar ierīci, kurā ir notikusi atteikšanās. + Pieteikties ar kvadrātkodu + Jāizmanto ierīces kamera, lai nolasītu citā ierīcē attēlotu kvadrātkodu: + Nolasīt kvadrātkodu + 3 + 2 + 1 + Izmēģināt + \ No newline at end of file diff --git a/library/ui-strings/src/main/res/values-pl/strings.xml b/library/ui-strings/src/main/res/values-pl/strings.xml index 2bdd6e806d..0c87b20780 100644 --- a/library/ui-strings/src/main/res/values-pl/strings.xml +++ b/library/ui-strings/src/main/res/values-pl/strings.xml @@ -2827,4 +2827,5 @@ Witaj w ${app_name}, \n%s. Wszechstronna, bezpieczna aplikacja do czatowania dla zespołów, przyjaciół i organizacji. Utwórz czat lub dołącz do istniejącego pokoju, aby rozpocząć. + Twój token dostępu zapewnia pełny dostęp do Twojego konta. Nie udostępniaj go nikomu. \ No newline at end of file diff --git a/library/ui-strings/src/main/res/values-sk/strings.xml b/library/ui-strings/src/main/res/values-sk/strings.xml index 82deefb371..d825518e0f 100644 --- a/library/ui-strings/src/main/res/values-sk/strings.xml +++ b/library/ui-strings/src/main/res/values-sk/strings.xml @@ -2980,4 +2980,13 @@ Nemožno spustiť hlasovú správu Chyba pripojenia - nahrávanie pozastavené Použiť formát riadkového kódu + Prepnutie bloku kódu + Prepínanie citácie + Zrušiť odsadenie + Odsadenie + Zobraziť anketu na časovej osi + Toto hlasové vysielanie sa nedá dešifrovať. + Údaje o vašom účte sú spravované samostatne na %1$s. + Účet + Pri aktualizácii vašich predvolieb oznámení došlo k chybe. Skúste prosím znova. \ No newline at end of file diff --git a/library/ui-strings/src/main/res/values-sq/strings.xml b/library/ui-strings/src/main/res/values-sq/strings.xml index 447a2b52d7..50f7543f67 100644 --- a/library/ui-strings/src/main/res/values-sq/strings.xml +++ b/library/ui-strings/src/main/res/values-sq/strings.xml @@ -2906,4 +2906,13 @@ Gabim lidhjeje - Incizimi u ndal S’mund të nisni një mesazh zanor teksa jeni aktualisht duke incizuar një transmetim të drejtpërdrejtë. Ju lutemi, përfundoni transmetimin tuaj të drejtpërdrejtë, që të mund të nisni incizimin e një mesazhi zanor S’niset dot mesazh zanor + Shfaq/fshih bllok kodi + Shfaq/fshih citim + Hiqe zhvendosjen e kryeradhës + Zhvendos kryeradhën + Shihni pyetësor në rrjedhë kohore + S’arrihet të shfeshtëzohet ky transmetim zanor. + Hollësitë e llogarisë tuaj administrohen më vete, te %1$s. + Llogari + Ndodhi një gabim, kur u përditësuan parapëlqimet tuaja për njoftime. Ju lutemi, riprovoni. \ No newline at end of file diff --git a/library/ui-strings/src/main/res/values-sv/strings.xml b/library/ui-strings/src/main/res/values-sv/strings.xml index 597dd90b2f..1c9688e99c 100644 --- a/library/ui-strings/src/main/res/values-sv/strings.xml +++ b/library/ui-strings/src/main/res/values-sv/strings.xml @@ -326,7 +326,7 @@ \nLägg till några nu\? Tyvärr har ingen extern applikation hittats som kan fullfölja denna handling. Logga in - Logga in med externt konto + Logga in med samlad inloggning Skicka in Fel användarnamn och/eller lösenord Det här ser inte ut som en giltig e-postadress @@ -1820,7 +1820,7 @@ Skickar det givna meddelandet med snöfall Skickar de givna meddelandet med konfetti Rensa historik - externt konto + samlad inloggning Logga in med %s Skapa konto med %s Fortsätt med %s @@ -2920,4 +2920,12 @@ Kan inte starta röstsändning Startade en röstsändning Använd inline-kodformat + Växla kodblock + Växla citat + Minska indrag + Indrag + Visa omröstning i tidslinjen + Kunder inte avkryptera den här röstsändningen. + Dina kontodetaljer hanteras separat på %1$s. + Konto \ No newline at end of file diff --git a/library/ui-strings/src/main/res/values-uk/strings.xml b/library/ui-strings/src/main/res/values-uk/strings.xml index 26d38bb324..9df054e1bd 100644 --- a/library/ui-strings/src/main/res/values-uk/strings.xml +++ b/library/ui-strings/src/main/res/values-uk/strings.xml @@ -1147,7 +1147,7 @@ Ви вийшли Вилучити… Наліпка - Використовувати ботів, мости, віджети та пакунки наліпок + Використовувати боти, мости, віджети та пакунки наліпок Зв\'язок із сервером втрачено Виправлень не знайдено Історія виправлень @@ -3040,4 +3040,13 @@ Не вдалося розпочати запис голосового повідомлення Помилка з\'єднання - Запис призупинено Застосовувати вбудований формат коду + Перемкнути блок коду + Перемкнути цитування + Без відступу + Відступ + Переглянути опитування у стрічці + Неможливо розшифрувати цю голосову трансляцію. + Керування подробицями вашого облікового запису відбувається окремо на %1$s. + Обліковий запис + Сталася помилка під час оновлення налаштувань сповіщень. Повторіть спробу. \ No newline at end of file diff --git a/library/ui-strings/src/main/res/values-zh-rCN/strings.xml b/library/ui-strings/src/main/res/values-zh-rCN/strings.xml index f3b5854afb..52d5e5f17a 100644 --- a/library/ui-strings/src/main/res/values-zh-rCN/strings.xml +++ b/library/ui-strings/src/main/res/values-zh-rCN/strings.xml @@ -9,7 +9,7 @@ %1$s 移除了 %2$s %1$s 解封了 %2$s %1$s 封禁了 %2$s - %1$s 更换了他们的头像 + %1$s 更换了其头像 %1$s 将他们的显示名称设置为 %2$s %1$s 将其显示名称从 %2$s 更改为 %3$s %1$s 移除了他们的显示名称(%2$s) @@ -178,7 +178,7 @@ 拒绝 挂断 引用 - 共享 + 分享 语音通话 视频通话 全部标记为已读 @@ -797,10 +797,10 @@ 房间 回应 同意 - 添加反应 - 查看反应 + 添加回应 + 查看回应 反应 - 由用户删除的事件 + 事件被用户删除 创建新房间 修改 请稍候…… @@ -825,7 +825,7 @@ 帮助和关于 (已编辑) - 撤消 + 撤销 断开连接 拒绝 这不是有效的 Matrix 服务器地址 @@ -942,7 +942,7 @@ 消息已移除 显示已移除消息 对已移除消息显示占位符 - 房间管理员主持的事件 + 事件被房间管理员删除 格式错误事件,无法显示 无网络。请检查你的网络连接。 更改网络 @@ -1265,7 +1265,7 @@ 上传 离开房间 - 正在离开房间… + 正在离开房间…… 管理员 协管员 自定义 @@ -1597,7 +1597,7 @@ %d 秒 轮询 - 用%s反应 + 用%s回应 验证结果 是否删除类型 %1$s 的账户数据? \n @@ -1702,7 +1702,7 @@ 从低优先级移除 添加到低优先级 - %2$d 的 %1$d + %1$d / %2$d 旋转和裁剪 添加图像自 授予许可 @@ -1758,7 +1758,7 @@ 权限 查看和更新更改房间各个部分所需的角色。 房间权限 - 此房间不公开。你没有邀请将无法重新加入。 + 此房间不公开。没有邀请,你将无法重新加入。 你保持通话 %s 保持通话 保持 @@ -1883,7 +1883,7 @@ 此别名当前无法被访问。 \n请稍后再试,或询问房间管理员你身份有权访问。 - 无论以何种方式加入 + 依然加入 加入空间 创建空间 暂且略过 @@ -2820,4 +2820,6 @@ 你无法启动语音消息因为你正在录制实时广播。请终止实时广播以开始录制语音消息 无法启动语音消息 结束了投票。 + 你的访问令牌提供对你账户的完全访问权限。勿与任何人分享它。 + 访问令牌 \ No newline at end of file diff --git a/library/ui-strings/src/main/res/values-zh-rTW/strings.xml b/library/ui-strings/src/main/res/values-zh-rTW/strings.xml index b3845e550d..058a4e4507 100644 --- a/library/ui-strings/src/main/res/values-zh-rTW/strings.xml +++ b/library/ui-strings/src/main/res/values-zh-rTW/strings.xml @@ -2860,4 +2860,13 @@ 您無法開始語音訊息,因為您目前正在錄製直播。請結束您的直播以開始錄製語音訊息 無法開始語音訊息 套用內嵌程式碼格式 + 切換程式碼區塊 + 切換引用 + 取消縮排 + 縮排 + 在時間軸中檢視投票 + 無法解密此語音廣播。 + 您的帳號詳細資訊已單獨於 %1$s 中管理。 + 帳號 + 更新您的通知偏好設定時發生錯誤。請再試一次。 \ No newline at end of file diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/model/CryptoDeviceInfo.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/model/CryptoDeviceInfo.kt index 418b1e6ce3..a1c5866fff 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/model/CryptoDeviceInfo.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/api/session/crypto/model/CryptoDeviceInfo.kt @@ -34,6 +34,9 @@ data class CryptoDeviceInfo( val isVerified: Boolean get() = trustLevel?.isVerified() == true + val isCrossSigningVerified: Boolean + get() = trustLevel?.isCrossSigningVerified() == true + val isUnknown: Boolean get() = trustLevel == null diff --git a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/WorkManagerProvider.kt b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/WorkManagerProvider.kt index ad28286a84..d8cdd162f1 100644 --- a/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/WorkManagerProvider.kt +++ b/matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/di/WorkManagerProvider.kt @@ -41,7 +41,7 @@ internal class WorkManagerProvider @Inject constructor( private val coroutineDispatchers: MatrixCoroutineDispatchers, private val sessionScope: CoroutineScope ) { - private val tag = MATRIX_SDK_TAG_PREFIX + sessionId + val tag = MATRIX_SDK_TAG_PREFIX + sessionId val workManager = WorkManager.getInstance(context) diff --git a/matrix-sdk-android/src/test/java/org/matrix/android/sdk/test/fakes/FakeWorkManagerProvider.kt b/matrix-sdk-android/src/test/java/org/matrix/android/sdk/test/fakes/FakeWorkManagerProvider.kt index 51ff24c01d..437fda65e4 100644 --- a/matrix-sdk-android/src/test/java/org/matrix/android/sdk/test/fakes/FakeWorkManagerProvider.kt +++ b/matrix-sdk-android/src/test/java/org/matrix/android/sdk/test/fakes/FakeWorkManagerProvider.kt @@ -26,5 +26,6 @@ internal class FakeWorkManagerProvider( val instance = mockk().also { every { it.workManager } returns fakeWorkManager.instance + every { it.tag } returns "Tag" } } diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/composer/ComposerEditText.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/composer/ComposerEditText.kt index 9e88882866..f0014f4ecd 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/composer/ComposerEditText.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/composer/ComposerEditText.kt @@ -17,7 +17,6 @@ package im.vector.app.features.home.room.detail.composer -import android.content.ClipData import android.content.Context import android.net.Uri import android.os.Build @@ -27,12 +26,12 @@ import android.view.inputmethod.EditorInfo import android.view.inputmethod.InputConnection import androidx.annotation.RequiresApi import androidx.appcompat.widget.AppCompatEditText -import androidx.core.view.OnReceiveContentListener import androidx.core.view.ViewCompat import androidx.core.view.inputmethod.EditorInfoCompat import androidx.core.view.inputmethod.InputConnectionCompat import im.vector.app.core.extensions.ooi import im.vector.app.core.platform.SimpleTextWatcher +import im.vector.app.features.home.room.detail.composer.images.UriContentListener import im.vector.app.features.html.PillImageSpan import timber.log.Timber @@ -56,27 +55,11 @@ class ComposerEditText @JvmOverloads constructor( EditorInfoCompat.setContentMimeTypes(editorInfo, mimeTypes) ic = InputConnectionCompat.createWrapper(this, ic, editorInfo) - val onReceiveContentListener = OnReceiveContentListener { _, payload -> - val split = payload.partition { item -> item.uri != null } - val uriContent = split.first - val remaining = split.second - - if (uriContent != null) { - val clip: ClipData = uriContent.clip - for (i in 0 until clip.itemCount) { - val uri = clip.getItemAt(i).uri - // ... app-specific logic to handle the URI ... - callback?.onRichContentSelected(uri) - } - } - // Return anything that we didn't handle ourselves. This preserves the default platform - // behavior for text and anything else for which we are not implementing custom handling. - // Return anything that we didn't handle ourselves. This preserves the default platform - // behavior for text and anything else for which we are not implementing custom handling. - remaining - } - - ViewCompat.setOnReceiveContentListener(this, mimeTypes, onReceiveContentListener) + ViewCompat.setOnReceiveContentListener( + this, + mimeTypes, + UriContentListener { callback?.onRichContentSelected(it) } + ) return ic } diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/composer/RichTextComposerLayout.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/composer/RichTextComposerLayout.kt index a13ef25d62..a821458939 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/composer/RichTextComposerLayout.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/composer/RichTextComposerLayout.kt @@ -36,6 +36,7 @@ import androidx.annotation.DrawableRes import androidx.annotation.StringRes import androidx.constraintlayout.widget.ConstraintSet import androidx.core.text.toSpannable +import androidx.core.view.ViewCompat import androidx.core.view.isGone import androidx.core.view.isInvisible import androidx.core.view.isVisible @@ -47,6 +48,7 @@ import im.vector.app.core.extensions.showKeyboard import im.vector.app.core.utils.DimensionConverter import im.vector.app.databinding.ComposerRichTextLayoutBinding import im.vector.app.databinding.ViewRichTextMenuButtonBinding +import im.vector.app.features.home.room.detail.composer.images.UriContentListener import io.element.android.wysiwyg.EditorEditText import io.element.android.wysiwyg.inputhandlers.models.InlineFormat import io.element.android.wysiwyg.inputhandlers.models.LinkAction @@ -188,6 +190,16 @@ internal class RichTextComposerLayout @JvmOverloads constructor( views.plainTextComposerEditText.addTextChangedListener( TextChangeListener({ callback?.onTextChanged(it) }, { updateTextFieldBorder(isFullScreen) }) ) + ViewCompat.setOnReceiveContentListener( + views.richTextComposerEditText, + arrayOf("image/*"), + UriContentListener { callback?.onRichContentSelected(it) } + ) + ViewCompat.setOnReceiveContentListener( + views.plainTextComposerEditText, + arrayOf("image/*"), + UriContentListener { callback?.onRichContentSelected(it) } + ) disallowParentInterceptTouchEvent(views.richTextComposerEditText) disallowParentInterceptTouchEvent(views.plainTextComposerEditText) diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/composer/images/UriContentListener.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/composer/images/UriContentListener.kt new file mode 100644 index 0000000000..da0152fd9e --- /dev/null +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/composer/images/UriContentListener.kt @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2023 New Vector Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package im.vector.app.features.home.room.detail.composer.images + +import android.content.ClipData +import android.net.Uri +import android.view.View +import androidx.core.view.ContentInfoCompat +import androidx.core.view.OnReceiveContentListener + +class UriContentListener( + private val onContent: (uri: Uri) -> Unit +) : OnReceiveContentListener { + override fun onReceiveContent(view: View, payload: ContentInfoCompat): ContentInfoCompat? { + val split = payload.partition { item -> item.uri != null } + val uriContent = split.first + val remaining = split.second + + if (uriContent != null) { + val clip: ClipData = uriContent.clip + for (i in 0 until clip.itemCount) { + val uri = clip.getItemAt(i).uri + // ... app-specific logic to handle the URI ... + onContent(uri) + } + } + // Return anything that we didn't handle ourselves. This preserves the default platform + // behavior for text and anything else for which we are not implementing custom handling. + return remaining + } +} diff --git a/vector/src/main/java/im/vector/app/features/location/MapBoxMapExt.kt b/vector/src/main/java/im/vector/app/features/location/MapBoxMapExt.kt index 8e917c665a..5a6e69b103 100644 --- a/vector/src/main/java/im/vector/app/features/location/MapBoxMapExt.kt +++ b/vector/src/main/java/im/vector/app/features/location/MapBoxMapExt.kt @@ -17,6 +17,7 @@ package im.vector.app.features.location import com.mapbox.mapboxsdk.camera.CameraPosition +import com.mapbox.mapboxsdk.camera.CameraUpdateFactory import com.mapbox.mapboxsdk.constants.MapboxConstants import com.mapbox.mapboxsdk.geometry.LatLng import com.mapbox.mapboxsdk.geometry.LatLngBounds @@ -28,12 +29,12 @@ fun MapboxMap?.zoomToLocation(locationData: LocationData, preserveCurrentZoomLev } else { INITIAL_MAP_ZOOM_IN_PREVIEW } - this?.easeCamera { - CameraPosition.Builder() - .target(LatLng(locationData.latitude, locationData.longitude)) - .zoom(zoomLevel) - .build() - } + val expectedCameraPosition = CameraPosition.Builder() + .target(LatLng(locationData.latitude, locationData.longitude)) + .zoom(zoomLevel) + .build() + val cameraUpdate = CameraUpdateFactory.newCameraPosition(expectedCameraPosition) + this?.easeCamera(cameraUpdate) } fun MapboxMap?.zoomToBounds(latLngBounds: LatLngBounds) { diff --git a/vector/src/main/java/im/vector/app/features/roommemberprofile/RoomMemberProfileController.kt b/vector/src/main/java/im/vector/app/features/roommemberprofile/RoomMemberProfileController.kt index bdf2978cca..9585e6aaa1 100644 --- a/vector/src/main/java/im/vector/app/features/roommemberprofile/RoomMemberProfileController.kt +++ b/vector/src/main/java/im/vector/app/features/roommemberprofile/RoomMemberProfileController.kt @@ -107,16 +107,10 @@ class RoomMemberProfileController @Inject constructor( // Cross signing is enabled for this user if (state.userMXCrossSigningInfo.isTrusted()) { // User is trusted - val icon = if (state.allDevicesAreTrusted) { - R.drawable.ic_shield_trusted + val (icon, titleRes) = if (state.allDevicesAreCrossSignedTrusted) { + Pair(R.drawable.ic_shield_trusted, R.string.verification_profile_verified) } else { - R.drawable.ic_shield_warning - } - - val titleRes = if (state.allDevicesAreTrusted) { - R.string.verification_profile_verified - } else { - R.string.verification_profile_warning + Pair(R.drawable.ic_shield_warning, R.string.verification_profile_warning) } buildProfileAction( diff --git a/vector/src/main/java/im/vector/app/features/roommemberprofile/devices/DeviceListBottomSheetViewModel.kt b/vector/src/main/java/im/vector/app/features/roommemberprofile/devices/DeviceListBottomSheetViewModel.kt index eb23c5654e..683e4b4945 100644 --- a/vector/src/main/java/im/vector/app/features/roommemberprofile/devices/DeviceListBottomSheetViewModel.kt +++ b/vector/src/main/java/im/vector/app/features/roommemberprofile/devices/DeviceListBottomSheetViewModel.kt @@ -45,6 +45,7 @@ data class DeviceListViewState( val allowDeviceAction: Boolean, val userItem: MatrixItem? = null, val memberCrossSigningKey: MXCrossSigningInfo? = null, + val myDeviceId: String = "", val cryptoDevices: Async> = Loading(), val selectedDevice: CryptoDeviceInfo? = null ) : MavericksState @@ -70,6 +71,7 @@ class DeviceListBottomSheetViewModel @AssistedInject constructor( userId = userId, allowDeviceAction = args.allowDeviceAction, userItem = session.getUserOrDefault(userId).toMatrixItem(), + myDeviceId = session.sessionParams.deviceId ?: "", ) } } diff --git a/vector/src/main/java/im/vector/app/features/roommemberprofile/devices/DeviceListEpoxyController.kt b/vector/src/main/java/im/vector/app/features/roommemberprofile/devices/DeviceListEpoxyController.kt index 995de365eb..764268e6a5 100644 --- a/vector/src/main/java/im/vector/app/features/roommemberprofile/devices/DeviceListEpoxyController.kt +++ b/vector/src/main/java/im/vector/app/features/roommemberprofile/devices/DeviceListEpoxyController.kt @@ -32,9 +32,12 @@ import im.vector.app.core.ui.list.genericItem import im.vector.app.core.ui.list.genericWithValueItem import im.vector.app.core.utils.DimensionConverter import im.vector.app.features.settings.VectorPreferences +import im.vector.app.features.settings.devices.TrustUtils import im.vector.lib.core.utils.epoxy.charsequence.toEpoxyCharSequence import me.gujun.android.span.span +import org.matrix.android.sdk.api.extensions.orFalse import org.matrix.android.sdk.api.session.crypto.model.CryptoDeviceInfo +import org.matrix.android.sdk.api.session.crypto.model.RoomEncryptionTrustLevel import javax.inject.Inject class DeviceListEpoxyController @Inject constructor( @@ -68,10 +71,20 @@ class DeviceListEpoxyController @Inject constructor( it.isVerified } + val trustMSK = data.memberCrossSigningKey?.isTrusted().orFalse() + val legacyMode = data.memberCrossSigningKey == null + // Build top header - val allGreen = deviceList.fold(true, { prev, device -> - prev && device.isVerified - }) + val allGreen = deviceList.fold(true) { prev, device -> + val trustLevel = TrustUtils.shieldForTrust( + data.myDeviceId == device.deviceId, + trustMSK, + legacyMode, + device.trustLevel + ) + + prev && trustLevel == RoomEncryptionTrustLevel.Trusted + } genericItem { id("title") @@ -105,8 +118,21 @@ class DeviceListEpoxyController @Inject constructor( // Build list of device with status deviceList.forEach { device -> genericWithValueItem { + val trustLevel = TrustUtils.shieldForTrust( + data.myDeviceId == device.deviceId, + trustMSK, + legacyMode, + device.trustLevel + ) + val shield = when (trustLevel) { + RoomEncryptionTrustLevel.Default -> R.drawable.ic_shield_unknown + RoomEncryptionTrustLevel.Warning -> R.drawable.ic_shield_warning + RoomEncryptionTrustLevel.Trusted -> R.drawable.ic_shield_trusted + RoomEncryptionTrustLevel.E2EWithUnsupportedAlgorithm -> R.drawable.ic_warning_badge + } + id(device.deviceId) - titleIconResourceId(if (device.isVerified) R.drawable.ic_shield_trusted else R.drawable.ic_shield_warning) + titleIconResourceId(shield) apply { val title = if (host.vectorPreferences.developerMode()) { val seq = span { @@ -126,12 +152,12 @@ class DeviceListEpoxyController @Inject constructor( } value( host.stringProvider.getString( - if (device.isVerified) R.string.trusted else R.string.not_trusted + if (trustLevel == RoomEncryptionTrustLevel.Trusted) R.string.trusted else R.string.not_trusted ) ) valueColorInt( host.colorProvider.getColorFromAttribute( - if (device.isVerified) R.attr.colorPrimary else R.attr.colorError + if (trustLevel == RoomEncryptionTrustLevel.Trusted) R.attr.colorPrimary else R.attr.colorError ) ) itemClickAction { diff --git a/vector/src/main/java/im/vector/app/features/roommemberprofile/devices/DeviceTrustInfoEpoxyController.kt b/vector/src/main/java/im/vector/app/features/roommemberprofile/devices/DeviceTrustInfoEpoxyController.kt index 569a7f980c..20c388dd95 100644 --- a/vector/src/main/java/im/vector/app/features/roommemberprofile/devices/DeviceTrustInfoEpoxyController.kt +++ b/vector/src/main/java/im/vector/app/features/roommemberprofile/devices/DeviceTrustInfoEpoxyController.kt @@ -27,9 +27,12 @@ import im.vector.app.core.ui.list.genericWithValueItem import im.vector.app.core.utils.DimensionConverter import im.vector.app.features.crypto.verification.epoxy.bottomSheetVerificationActionItem import im.vector.app.features.settings.VectorPreferences +import im.vector.app.features.settings.devices.TrustUtils import im.vector.lib.core.utils.epoxy.charsequence.toEpoxyCharSequence import me.gujun.android.span.span +import org.matrix.android.sdk.api.extensions.orFalse import org.matrix.android.sdk.api.session.crypto.model.CryptoDeviceInfo +import org.matrix.android.sdk.api.session.crypto.model.RoomEncryptionTrustLevel import javax.inject.Inject class DeviceTrustInfoEpoxyController @Inject constructor( @@ -49,11 +52,26 @@ class DeviceTrustInfoEpoxyController @Inject constructor( override fun buildModels(data: DeviceListViewState?) { val host = this data?.selectedDevice?.let { cryptoDeviceInfo -> - val isVerified = cryptoDeviceInfo.trustLevel?.isVerified() == true + val trustMSK = data.memberCrossSigningKey?.isTrusted().orFalse() + val legacyMode = data.memberCrossSigningKey == null + val isMyDevice = data.myDeviceId == cryptoDeviceInfo.deviceId + val trustLevel = TrustUtils.shieldForTrust( + isMyDevice, + trustMSK, + legacyMode, + cryptoDeviceInfo.trustLevel + ) + val isVerified = trustLevel == RoomEncryptionTrustLevel.Trusted + val shield = when (trustLevel) { + RoomEncryptionTrustLevel.Default -> R.drawable.ic_shield_unknown + RoomEncryptionTrustLevel.Warning -> R.drawable.ic_shield_warning + RoomEncryptionTrustLevel.Trusted -> R.drawable.ic_shield_trusted + RoomEncryptionTrustLevel.E2EWithUnsupportedAlgorithm -> R.drawable.ic_warning_badge + } genericItem { id("title") style(ItemStyle.BIG_TEXT) - titleIconResourceId(if (isVerified) R.drawable.ic_shield_trusted else R.drawable.ic_shield_warning) + titleIconResourceId(shield) title( host.stringProvider .getString(if (isVerified) R.string.verification_profile_verified else R.string.verification_profile_warning) @@ -90,7 +108,7 @@ class DeviceTrustInfoEpoxyController @Inject constructor( genericWithValueItem { id(cryptoDeviceInfo.deviceId) - titleIconResourceId(if (isVerified) R.drawable.ic_shield_trusted else R.drawable.ic_shield_warning) + titleIconResourceId(shield) title( span { +(cryptoDeviceInfo.displayName() ?: "") @@ -103,7 +121,7 @@ class DeviceTrustInfoEpoxyController @Inject constructor( ) } - if (!isVerified) { + if (!isVerified && !isMyDevice) { genericFooterItem { id("warn") centered(false) diff --git a/vector/src/main/res/layout/fragment_location_preview.xml b/vector/src/main/res/layout/fragment_location_preview.xml index e70baa1581..6addcc9c73 100644 --- a/vector/src/main/res/layout/fragment_location_preview.xml +++ b/vector/src/main/res/layout/fragment_location_preview.xml @@ -12,7 +12,7 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" - app:mapbox_renderTextureMode="true" + app:maplibre_renderTextureMode="true" app:showLocateButton="true" />