Merge tag 'v1.5.22' into sc

Change-Id: I3e8db4d0d0d6afa0f47c9daa0f809410938674e0

Conflicts:
	matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/database/RealmSessionStoreMigration.kt
	matrix-sdk-android/src/main/java/org/matrix/android/sdk/internal/session/room/timeline/LoadTimelineStrategy.kt
	vector/src/main/java/im/vector/app/features/home/room/detail/timeline/action/CheckIfCanReplyEventUseCase.kt
	vector/src/main/java/im/vector/app/features/home/room/detail/timeline/factory/MessageItemFactory.kt
	vector/src/main/java/im/vector/app/features/home/room/list/RoomSummaryItemFactory.kt
This commit is contained in:
SpiritCroc 2023-01-26 19:49:36 +01:00
commit d8bd92c413
235 changed files with 4779 additions and 1003 deletions

View File

@ -25,14 +25,10 @@ jobs:
cancel-in-progress: true
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
- name: Configure gradle
uses: gradle/gradle-build-action@v2
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
- name: Assemble ${{ matrix.target }} debug apk
run: ./gradlew assemble${{ matrix.target }}Debug $CI_GRADLE_ARG_PROPERTIES
- name: Upload ${{ matrix.target }} debug APKs
@ -50,14 +46,10 @@ jobs:
cancel-in-progress: ${{ github.ref != 'refs/head/main' }}
steps:
- uses: actions/checkout@v3
- uses: actions/cache@v3
- name: Configure gradle
uses: gradle/gradle-build-action@v2
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
- name: Assemble GPlay unsigned apk
run: ./gradlew clean assembleGplayRelease $CI_GRADLE_ARG_PROPERTIES
- name: Upload Gplay unsigned APKs

View File

@ -11,7 +11,7 @@ jobs:
- run: |
npm install --save-dev @babel/plugin-transform-flow-strip-types
- name: Danger
uses: danger/danger-js@11.2.0
uses: danger/danger-js@11.2.2
with:
args: "--dangerfile ./tools/danger/dangerfile.js"
env:

View File

@ -19,14 +19,10 @@ jobs:
uses: actions/setup-python@v4
with:
python-version: 3.8
- uses: actions/cache@v3
- name: Configure gradle
uses: gradle/gradle-build-action@v2
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
- name: Install towncrier
run: |
python3 -m pip install towncrier

View File

@ -44,14 +44,14 @@ jobs:
uses: actions/setup-python@v4
with:
python-version: 3.8
- uses: actions/cache@v3
- uses: actions/setup-java@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
distribution: 'adopt'
java-version: '11'
- name: Configure gradle
uses: gradle/gradle-build-action@v2
with:
cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
- name: Start synapse server
uses: michaelkaye/setup-matrix-synapse@v1.0.4
with:
@ -59,10 +59,6 @@ jobs:
httpPort: 8080
disableRateLimiting: true
public_baseurl: "http://10.0.2.2:8080/"
- uses: actions/setup-java@v3
with:
distribution: 'adopt'
java-version: '11'
- name: Run sanity tests on API ${{ matrix.api-level }}
uses: reactivecircus/android-emulator-runner@v2
with:

View File

@ -66,7 +66,7 @@ jobs:
yarn add danger-plugin-lint-report --dev
- name: Danger lint
if: always()
uses: danger/danger-js@11.2.0
uses: danger/danger-js@11.2.2
with:
args: "--dangerfile ./tools/danger/dangerfile-lint.js"
env:

View File

@ -139,14 +139,10 @@ jobs:
# with:
# distribution: 'adopt'
# java-version: 11
# - uses: actions/cache@v3
# - name: Configure gradle
# uses: gradle/gradle-build-action@v2
# with:
# path: |
# ~/.gradle/caches
# ~/.gradle/wrapper
# key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
# restore-keys: |
# ${{ runner.os }}-gradle-
# cache-read-only: ${{ github.ref != 'refs/heads/develop' }}
# - name: Build Android Tests
# run: ./gradlew clean assembleAndroidTest $CI_GRADLE_ARG_PROPERTIES

View File

@ -1,3 +1,43 @@
Changes in Element v1.5.22 (2023-01-25)
=======================================
Features ✨
----------
- [Poll] Warning message on decryption failure of some events ([#7824](https://github.com/vector-im/element-android/issues/7824))
- [Poll] Render ended polls ([#7900](https://github.com/vector-im/element-android/issues/7900))
- [Rich text editor] Update list item bullet appearance ([#7930](https://github.com/vector-im/element-android/issues/7930))
- [Voice Broadcast] Handle connection errors while recording ([#7890](https://github.com/vector-im/element-android/issues/7890))
- [Voice Broadcast] Use MSC3912 to delete server side all the related events ([#7967](https://github.com/vector-im/element-android/issues/7967))
Bugfixes 🐛
----------
- Fix OOM crashes. ([#7962](https://github.com/vector-im/element-android/issues/7962))
- Fix can't get out of a verification dialog ([#4025](https://github.com/vector-im/element-android/issues/4025))
- Fix rendering of edited polls ([#7938](https://github.com/vector-im/element-android/issues/7938))
- [Voice Broadcast] Fix unexpected "live broadcast" in the room list ([#7832](https://github.com/vector-im/element-android/issues/7832))
- Send voice message should not be allowed during a voice broadcast recording ([#7895](https://github.com/vector-im/element-android/issues/7895))
- Voice Broadcast - Fix playback scrubbing not working if the playback is in a stopped state ([#7961](https://github.com/vector-im/element-android/issues/7961))
- Handle exceptions when listening a voice broadcast ([#7829](https://github.com/vector-im/element-android/issues/7829))
In development 🚧
----------------
- [Voice Broadcast] Only display a notification on the first voice chunk ([#7845](https://github.com/vector-im/element-android/issues/7845))
- [Poll] History list: Load more UI mechanism ([#7864](https://github.com/vector-im/element-android/issues/7864))
SDK API changes ⚠️
------------------
- Implement [MSC3912](https://github.com/matrix-org/matrix-spec-proposals/pull/3912): Relation-based redactions ([#7988](https://github.com/vector-im/element-android/issues/7988))
Other changes
-------------
- Upgrade to Kotlin 1.8 ([#7936](https://github.com/vector-im/element-android/issues/7936))
- Sentry: Report sync duration and metrics for initial sync and for sync after pause. Not for regular sync. ([#7960](https://github.com/vector-im/element-android/issues/7960))
- [Voice Broadcast] Rework internal media players coordination ([#7979](https://github.com/vector-im/element-android/issues/7979))
- Support reactions on Voice Broadcast ([#7807](https://github.com/vector-im/element-android/issues/7807))
- Pause voice broadcast listening on new VB recording ([#7830](https://github.com/vector-im/element-android/issues/7830))
- Tapping slightly left or right of the 30s buttons highlights the whole cell instead of registering as button presses ([#7929](https://github.com/vector-im/element-android/issues/7929))
Changes in Element v1.5.20 (2023-01-10)
=======================================

5
SECURITY.md Normal file
View File

@ -0,0 +1,5 @@
# Reporting a Vulnerability
**If you've found a security vulnerability, please report it to security@matrix.org**
For more information on our security disclosure policy, visit https://www.matrix.org/security-disclosure-policy/

View File

@ -24,12 +24,12 @@ buildscript {
classpath libs.gradle.gradlePlugin
classpath libs.gradle.kotlinPlugin
classpath libs.gradle.hiltPlugin
classpath 'com.google.firebase:firebase-appdistribution-gradle:3.1.1'
classpath 'com.google.gms:google-services:4.3.14'
classpath 'com.google.firebase:firebase-appdistribution-gradle:3.2.0'
classpath 'com.google.gms:google-services:4.3.15'
classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:3.5.0.2730'
classpath 'com.google.android.gms:oss-licenses-plugin:0.10.6'
classpath "com.likethesalad.android:stem-plugin:2.2.3"
classpath 'org.owasp:dependency-check-gradle:7.4.4'
classpath "com.likethesalad.android:stem-plugin:2.3.0"
classpath 'org.owasp:dependency-check-gradle:8.0.1'
classpath "org.jetbrains.dokka:dokka-gradle-plugin:1.7.20"
classpath "org.jetbrains.kotlinx:kotlinx-knit:0.4.0"
classpath 'com.jakewharton:butterknife-gradle-plugin:10.2.3'
@ -45,10 +45,10 @@ plugins {
// Detekt
id "io.gitlab.arturbosch.detekt" version "1.22.0"
// Ksp
id "com.google.devtools.ksp" version "1.7.22-1.0.8"
id "com.google.devtools.ksp" version "1.8.0-1.0.8"
// Dependency Analysis
id 'com.autonomousapps.dependency-analysis' version "1.17.0"
id 'com.autonomousapps.dependency-analysis' version "1.18.0"
// Gradle doctor
id "com.osacky.doctor" version "0.8.1"
}

View File

@ -80,12 +80,12 @@ task generateCoverageReport(type: JacocoReport) {
task unitTestsWithCoverage(type: GradleBuild) {
// the 7.1.3 android gradle plugin has a bug where enableTestCoverage generates invalid coverage
startParameter.projectProperties.coverage = [enableTestCoverage: false]
startParameter.projectProperties.coverage = "false"
tasks = ['testDebugUnitTest']
}
task instrumentationTestsWithCoverage(type: GradleBuild) {
startParameter.projectProperties.coverage = [enableTestCoverage: true]
startParameter.projectProperties.coverage = "true"
startParameter.projectProperties['android.testInstrumentationRunnerArguments.notPackage'] = 'im.vector.app.ui'
tasks = [':vector-app:connectedGplayDebugAndroidTest', ':vector:connectedDebugAndroidTest', 'matrix-sdk-android:connectedDebugAndroidTest']
}

View File

@ -8,17 +8,17 @@ ext.versions = [
def gradle = "7.3.1"
// Ref: https://kotlinlang.org/releases.html
def kotlin = "1.7.22"
def kotlin = "1.8.0"
def kotlinCoroutines = "1.6.4"
def dagger = "2.44.2"
def firebaseBom = "31.1.1"
def firebaseBom = "31.2.0"
def appDistribution = "16.0.0-beta05"
def retrofit = "2.9.0"
def markwon = "4.6.2"
def moshi = "1.14.0"
def lifecycle = "2.5.1"
def flowBinding = "1.2.0"
def flipper = "0.176.0"
def flipper = "0.177.0"
def epoxy = "5.0.0"
def mavericks = "3.0.1"
def glide = "4.14.2"
@ -27,12 +27,13 @@ def jjwt = "0.11.5"
// Temporary version to unblock #6929. Once 0.16.0 is released we should use it, and revert
// the whole commit which set version 0.16.0-SNAPSHOT
def vanniktechEmoji = "0.16.0-SNAPSHOT"
def sentry = "6.9.2"
def fragment = "1.5.5"
def sentry = "6.12.1"
// Use 1.6.0 alpha to fix issue with test
def fragment = "1.6.0-alpha04"
// Testing
def mockk = "1.12.3" // We need to use 1.12.3 to have mocking in androidTest until a new version is released: https://github.com/mockk/mockk/issues/819
def espresso = "3.4.0"
def androidxTest = "1.4.0"
def espresso = "3.5.1"
def androidxTest = "1.5.0"
def androidxOrchestrator = "1.4.2"
def paparazzi = "1.1.0"
@ -50,18 +51,19 @@ ext.libs = [
],
androidx : [
'activity' : "androidx.activity:activity-ktx:1.6.1",
'appCompat' : "androidx.appcompat:appcompat:1.5.1",
'appCompat' : "androidx.appcompat:appcompat:1.6.0",
'biometric' : "androidx.biometric:biometric:1.1.0",
'core' : "androidx.core:core-ktx:1.9.0",
'recyclerview' : "androidx.recyclerview:recyclerview:1.2.1",
'exifinterface' : "androidx.exifinterface:exifinterface:1.3.5",
'fragmentKtx' : "androidx.fragment:fragment-ktx:$fragment",
'fragmentTesting' : "androidx.fragment:fragment-testing:$fragment",
'fragmentTestingManifest' : "androidx.fragment:fragment-testing-manifest:$fragment",
'constraintLayout' : "androidx.constraintlayout:constraintlayout:2.1.4",
'work' : "androidx.work:work-runtime-ktx:2.7.1",
'autoFill' : "androidx.autofill:autofill:1.1.0",
'preferenceKtx' : "androidx.preference:preference-ktx:1.2.0",
'junit' : "androidx.test.ext:junit:1.1.3",
'junit' : "androidx.test.ext:junit:1.1.5",
'lifecycleCommon' : "androidx.lifecycle:lifecycle-common:$lifecycle",
'lifecycleLivedata' : "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle",
'lifecycleProcess' : "androidx.lifecycle:lifecycle-process:$lifecycle",
@ -87,7 +89,7 @@ ext.libs = [
//'appdistributionApi' : "com.google.firebase:firebase-appdistribution-api-ktx:$appDistribution",
//'appdistribution' : "com.google.firebase:firebase-appdistribution:$appDistribution",
// Phone number https://github.com/google/libphonenumber
'phonenumber' : "com.googlecode.libphonenumber:libphonenumber:8.13.4"
'phonenumber' : "com.googlecode.libphonenumber:libphonenumber:8.13.5"
],
dagger : [
'dagger' : "com.google.dagger:dagger:$dagger",
@ -102,7 +104,7 @@ ext.libs = [
],
element : [
'opusencoder' : "io.element.android:opusencoder:1.1.0",
'wysiwyg' : "io.element.android:wysiwyg:0.14.0"
'wysiwyg' : "io.element.android:wysiwyg:0.18.0"
],
squareup : [
'moshi' : "com.squareup.moshi:moshi:$moshi",

View File

@ -0,0 +1 @@
Element

View File

@ -1 +0,0 @@
Element - Təhlükəsiz Mesajlaşma

View File

@ -0,0 +1,2 @@
Hlavní změny v této verzi: Především opravy chyb!
Úplný seznam změn: https://github.com/vector-im/element-android/releases

View File

@ -0,0 +1,2 @@
Die wichtigsten Änderungen in dieser Version: Hauptsächlich Fehlerbeseitigungen!
Vollständiges Änderungsprotokoll: https://github.com/vector-im/element-android/releases

View File

@ -0,0 +1,2 @@
Main changes in this version: Mainly improvements on voice broadcast feature.
Full changelog: https://github.com/vector-im/element-android/releases

View File

@ -0,0 +1,2 @@
Olulisemad muutused selles versioonis: Põhiliselt veaparandused!
Ingliskeelne muudatuste logi täismahus: https://github.com/vector-im/element-android/releases

View File

@ -0,0 +1,2 @@
تغییرات عمده در این نگارش: عموماً رفع اشکال!
گزارش دگرگونی کامل: https://github.com/vector-im/element-android/releases

View File

@ -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

View File

@ -0,0 +1,2 @@
Fő változás ebben a verzióban: Leginkább hibajavítások.
Teljes változásnapló: https://github.com/vector-im/element-android/releases

View File

@ -0,0 +1,2 @@
Perubahan utama dalam versi ini: Kebanyakan perbaikan kutu!
Catatan perubahan lanjutan: https://github.com/vector-im/element-android/releases

View File

@ -0,0 +1,2 @@
Modifiche principali in questa versione: correzione di errori!
Cronologia completa: https://github.com/vector-im/element-android/releases

View File

@ -0,0 +1,2 @@
Hlavné zmeny v tejto verzii: Hlavne oprava chýb!
Úplný zoznam zmien: https://github.com/vector-im/element-android/releases

View File

@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: Rrjedhat tani janë të aktivizuara, si parazgjedhje.
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases

View File

@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: Tanimë rrjedhat janë të aktivizuara si parazgjedhje.
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases

View File

@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: Kryesisht ndreqje të metash!
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases

View File

@ -0,0 +1,2 @@
Huvudsakliga ändringar i den här versionen: Trådar är nu aktivt som förval.
Full ändringslogg: https://github.com/vector-im/element-android/releases

View File

@ -0,0 +1,2 @@
Huvudsakliga ändringar i den här versionen: Trådar är nu aktivt som förval.
Full ändringslogg: https://github.com/vector-im/element-android/releases

View File

@ -0,0 +1,2 @@
Huvudsakliga ändringar i den här versionen: Trådar är nu aktivt som förval.
Full ändringslogg: https://github.com/vector-im/element-android/releases

View File

@ -0,0 +1,2 @@
Huvudsakliga ändringar i den här versionen: Trådar är nu aktivt som förval.
Full ändringslogg: https://github.com/vector-im/element-android/releases

View File

@ -0,0 +1,2 @@
Huvudsakliga ändringar i den här versionen: Huvudsakligen byggfixar!
Full ändringslogg: https://github.com/vector-im/element-android/releases

View File

@ -0,0 +1,2 @@
Основні зміни в цій версії: Виправлення помилок!
Перелік усіх змін: https://github.com/vector-im/element-android/releases

View File

@ -0,0 +1,2 @@
此版本中的主要變動:主要是臭蟲修復!
完整的變更紀錄https://github.com/vector-im/element-android/releases

View File

@ -16,7 +16,7 @@
<string name="notice_room_name_changed">غيّر %1$s اسم الغُرفة إلى: %2$s</string>
<string name="notice_answered_call">أجابَ %s على المُكالمة.</string>
<string name="notice_ended_call">أنهى %s المُكالمة.</string>
<string name="notice_made_future_room_visibility">جعلَ %1$s التأريخ المُستقبلي للغُرفة مرئيًا لـ %2$s</string>
<string name="notice_made_future_room_visibility">جعلَ %1$s عند انشاء الغرف لاحقاً تكون مرئية ل%2$s</string>
<string name="notice_room_visibility_invited">جميع أعضاء الغُرفة، مِنَ اللَّحظة التي تمَّت دعوتهم.</string>
<string name="notice_room_visibility_joined">جميع أعضاء الغُرفة، مِن لحظة إنضمامهم.</string>
<string name="notice_room_visibility_shared">جميع أعضاء الغُرفة.</string>
@ -63,7 +63,7 @@
<string name="notice_call_candidates_by_you">أرسلتَ بيانات لإعداد مُكالمة.</string>
<string name="notice_answered_call_by_you">أجبتَ على المُكالمة.</string>
<string name="notice_ended_call_by_you">أنهيتَ المُكالمة.</string>
<string name="notice_made_future_room_visibility_by_you">جعلتَ التأريخ المُستقبلي للغُرفة مرئيًا لـ %1$s</string>
<string name="notice_made_future_room_visibility_by_you">لقدت جعلت الغرفة التي سيتم انشائها مرئيًا لـ %1$s</string>
<string name="notice_room_update">رقّى %s هذه الغرفة.</string>
<string name="notice_room_update_by_you">رقَّيتَ هذه الغرفة.</string>
<string name="notice_room_name_removed_by_you">أزلتَ اسم الغُرفة</string>
@ -93,9 +93,9 @@
<string name="notice_room_server_acl_updated_no_change">لا تغيير.</string>
<string name="notice_room_server_acl_updated_ip_literals_not_allowed">• خوادِم مُطابقة IP الحرفية محظورة الآن.</string>
<string name="notice_room_server_acl_updated_was_allowed">• الخوادِم المُطابقة لـ %s أُزيلت مِن قائمة السماح.</string>
<string name="notice_room_server_acl_updated_allowed">• الخوادِم المُطابقة لـ %s مسموحة الآن.</string>
<string name="notice_room_server_acl_updated_allowed">• الخوادِم المُطابقة لـ %s اصبحت مسموحة الآن.</string>
<string name="notice_room_server_acl_updated_was_banned">• الخوادِم المُطابقة لـ %s أُزيلت مِن قائمة الحظر.</string>
<string name="notice_room_server_acl_updated_banned">• الخوادِم المُطابقة لـ %s محظورة الآن.</string>
<string name="notice_room_server_acl_updated_banned">• الخوادِم مُتطابقة لـ %s واصبحت محظورة الآن.</string>
<string name="notice_room_server_acl_updated_ip_literals_allowed">• خوادِم مُطابقة IP الحرفية مسموحة الآن.</string>
<string name="notice_room_server_acl_updated_title_by_you">لقد غَيَّرت قائمة الوصول لهذه الغُرفة.</string>
<string name="notice_room_server_acl_updated_title">غَيَّرَ %s قائمة التحكم بالوصول (ACL) لهذه الغُرفة.</string>
@ -234,7 +234,7 @@
<string name="call_ended">انتهت المكالمة</string>
<string name="incoming_video_call">مكالمة صورية واردة</string>
<string name="incoming_voice_call">مكالمة صوتية واردة</string>
<string name="call_in_progress">المكالمة جارية</string>
<string name="call_in_progress">المكالمة جارية</string>
<string name="permissions_rationale_popup_title">معلومات</string>
<string name="yes">نعم</string>
<string name="no">لا</string>
@ -291,9 +291,7 @@
<string name="settings_new_password">كلمة السر الجديدة</string>
<string name="settings_fail_to_update_password">فشل تحديث كلمة السر</string>
<string name="settings_password_updated">حُدّثت كلمة السر</string>
<string name="settings_unignore_user">أأعرض كل رسائل %s؟
سيُعيد هذا الإجراء تشغيل التطبيق وقد يأخذ بعض الوقت.</string>
<string name="settings_unignore_user">أأعرض كل الرسائل من %s؟ سيُعيد هذا الإجراء تشغيل التطبيق وقد يأخذ بعض الوقت.</string>
<string name="settings_select_country">اختر دولة</string>
<string name="media_saving_period_3_days">٣ أيام</string>
<string name="media_saving_period_1_week">أسبوع واحد</string>
@ -471,7 +469,7 @@
<string name="account_phone_number_already_used_error">رقم الهاتف مستخدم بالفعل</string>
<string name="notification_off">معطّل</string>
<string name="notification_noisy">مزعج</string>
<string name="encryption_never_send_to_unverified_devices_summary">لا ترسل من هذا الجهاز الرسائل المعمّاة إلى الأجهزة غير المؤكّدة</string>
<string name="encryption_never_send_to_unverified_devices_summary">لا ترسل من هذا الجهاز الرسائل المشفرة إلى الأجهزة غير الموثقة.</string>
<string name="encryption_never_send_to_unverified_devices_title">عمِّ إلى الأجهزة المؤكّدة فقط</string>
<string name="encryption_information_not_verified">&lt;b&gt;غير&lt;b/&gt; مؤكّدة</string>
<string name="encryption_information_verified">مؤكّدة</string>
@ -482,7 +480,7 @@
<string name="ssl_cert_new_account_expl">إن قال مدير الخادوم بأن هذا متوقع، فتأكد من أن البصمة أدناه تطابق البصمة التي وفّرها.</string>
<string name="ssl_expected_existing_expl">تغيّرت الشهادة من شهادة كنت تثق بها إلى شهادة لا تثق بها. لربما جدّد الخادوم شهادته. راسل إدارة الخادوم واسألهم عن البصمة المتوقعة.</string>
<string name="room_settings_add_homescreen_shortcut">أضِف اختصارا إلى الشاشة الرئيسية</string>
<string name="settings_app_info_link_summary">شاشة معلومات التطبيق في النظام</string>
<string name="settings_app_info_link_summary">أظهر معلومات التطبيق في إعدادات النظام.</string>
<string name="settings_call_invitations">دعوات المكالمات</string>
<string name="settings_start_on_boot">ابدأ عن الإقلاع</string>
<string name="encryption_export_e2e_room_keys">صدّر مفاتيح تعمية الطرفين لغرفة</string>
@ -566,11 +564,7 @@
<string name="resource_limit_soft_mau"> وصل هذا الخادم الحدّ الأقصى للمستخدمين النشطين شهريًا بذلك <b>لن يستطيع بعض المستخدمين الولوج لحساباتهم</b>.</string>
<string name="resource_limit_hard_mau">وصل خادوم المنزل هذا حدّ المستخدمين النشطين شهريًا.</string>
<string name="call_connecting">يجري وصل الاتصال…</string>
<string name="deactivate_account_content">سيجعل هذا حسابك محال الاستخدام للأبد. لن تقدر على الولوج ولن يقدر أحد على إعادة التسجيل بنفس معرّف المستخدم. سيتسبب هذا بأن يترك حسابك كل الغرف التي تشارك فيها، وستُزال تفاصيل الحساب من خادوم التعريف. <b>هذا إجراء لا عودة فيه</b>.
حذفك لحسابك <b>لا يتسبب بأن ننسى رسائلك التي أرسلتها (مبدئيًا)</b>. إن أردت ذلك فرجاءً أشّر على المربّع أدناه.
ظهور الرسائل في «ماترِكس» شبيه كثيرًا بالبريد الإلكتروني. نسياننا لرسائلك يعني أن الرسائل التي أرسلتها لن تُشارك مع أي مستخدم جديد أو غير مسجّل، إلا أن المستخدمين المسجّلين الذي يقدرون على الوصول إليها سيمتلكون نسخة عنها.</string>
<string name="deactivate_account_content">سيجعل هذا حسابك محال الاستخدام للأبد. لن تقدر على تسجيل دخولك ولن يقدر أحد على إعادة التسجيل بنفس معرّف المستخدم. سيتسبب هذا بأن يترك حسابك كل الغرف التي تشارك فيها، وستُزال تفاصيل الحساب من خادم التعريف. <b>هذا إجراء لا مجال الرجوع فيه</b>. حذفك لحسابك <b>لا يتسبب بأن ننسى رسائلك التي أرسلتها (مبدئيًا)</b>. إن أردت ذلك فرجاءً ضع علامة على المربّع أدناه. ظهور الرسائل في «ماترِكس» يشبه كثيرًا بالبريد الإلكتروني. نسياننا لرسائلك يعني أن الرسائل التي أرسلتها لن تُشارك مع أي مستخدم جديد أو غير مسجّل، إلا أن المستخدمين المسجّلين الذي يقدرون على الوصول إليها سيمتلكون نسخة عنها.</string>
<string name="title_activity_keys_backup_restore">الرسائل الآمنة</string>
<string name="action_skip">تخطي</string>
<string name="done">تم</string>
@ -580,7 +574,7 @@
<string name="settings_notification_advanced">الإعدادات المتقدمة للإشعارات</string>
<string name="sign_out_bottom_sheet_warning_no_backup">عند تسجيل الخروج الآن ستخسر مفاتيحك</string>
<string name="sign_out_bottom_sheet_warning_backing_up">النسخ الاحتياطي المفاتيح ما زال جاريا. في حال خروجك الآن لن تتمكن لاحقا من قراءة الرسائل المعماة.</string>
<string name="sign_out_bottom_sheet_warning_backup_not_active">تأكد من تفعيل النسخ الاحتياطي للمفاتيح على كل أجهزتك كي لا تخسر رسائلك المعماة</string>
<string name="sign_out_bottom_sheet_warning_backup_not_active">تأكد من تفعيل النسخ الاحتياطي للمفاتيح على كل أجهزتك كي لا تخسر رسائلك المشفرة.</string>
<string name="sign_out_bottom_sheet_backing_up_keys">ينسخ احتياطيا المفاتيح…</string>
<string name="no_permissions_to_start_conf_call_in_direct_room">ليس لديك تصريح لبدء إجتماع</string>
<string name="no_permissions_to_start_conf_call">ليس لديك تصريح لبدء إجتماع في هذه الغرفة</string>
@ -913,7 +907,7 @@
<string name="login_splash_title">تحكم في محادثاتك.</string>
<string name="ftue_personalize_skip_this_step">تخط هذه الخطوة</string>
<string name="ftue_personalize_submit">احفظ وتابع</string>
<string name="ftue_personalize_complete_subtitle">حُفظت تفضيلاتك.</string>
<string name="ftue_personalize_complete_subtitle">اذهب الى الاعدادات في اي وقت لتغير او تعديل ملفك الشخصي للتطبيق.</string>
<string name="ftue_personalize_complete_title">كل شيئ جاهز!</string>
<string name="ftue_personalize_lets_go">لننطلق</string>
<string name="ftue_profile_picture_subtitle">يمكنك تغييرها في أي وقت.</string>
@ -997,7 +991,7 @@
<string name="navigate_to_thread_when_already_in_the_thread">أنت تستعرض هذا النقاش سلفًا!</string>
<string name="navigate_to_room_when_already_in_the_room">أنت تستعرض هذه الغرفة سلفًا!</string>
<string name="error_no_network">منفصل عن الشبكة. تحقق من اتصالك.</string>
<string name="event_redacted_by_admin_reason">حدث عالجه مدير الغرفة.</string>
<string name="event_redacted_by_admin_reason">حدث تم تغيره من مدير الغرفة.</string>
<string name="room_list_rooms_empty_body">ستعرض غرفك هنا. لانضمام لغرفة أو لإنشاء واحدة اضغط زر +.</string>
<string name="room_list_people_empty_body">ستعرض رسائلك المباشرة هنا. لبدأ محادثات جديدة اضغط زر +.</string>
<string name="room_list_people_empty_title">المحادثات</string>
@ -1175,4 +1169,30 @@
<item quantity="many">كثيرة</item>
<item quantity="other">اخرى</item>
</plurals>
</resources>
<plurals name="notice_room_canonical_alias_alternative_removed">
<item quantity="zero">صفر</item>
<item quantity="one">واحد</item>
<item quantity="two">اثنان</item>
<item quantity="few">القليل</item>
<item quantity="many">العديد</item>
<item quantity="other">أخرى</item>
</plurals>
<string name="initial_sync_request_content">${app_name} يحتاج إلى حذف ذاكرة التخزين المؤقت حتى تكون مستحدثة، من أجل هذه الأسباب:
\n%s
\n
\nملاحظة: هذا الإجراء سيؤدي إلى إعادة تشغيل التطبيق ومن الممكن أن يستغرق بعضاً من الوقت.</string>
<string name="explore_rooms">استكشف غُرف</string>
<string name="change_space">تغيير التجمع</string>
<string name="create_room">انشئ غرفة</string>
<string name="start_chat">ابدأ محادثة</string>
<string name="all_chats">كل المحادثات</string>
<string name="notice_voice_broadcast_ended_by_you">أنت الذي انهيت البث الصوتي.</string>
<plurals name="notice_room_server_acl_changes">
<item quantity="zero">صفر</item>
<item quantity="one">واحد</item>
<item quantity="two">اثنان</item>
<item quantity="few">القليل</item>
<item quantity="many">العديد</item>
<item quantity="other">أخرى</item>
</plurals>
</resources>

View File

@ -1483,8 +1483,6 @@
<string name="crosssigning_verify_session">Потвърди сесията</string>
<string name="cross_signing_verify_by_text">Ръчно потвърждаване чрез текстово съобщение</string>
<string name="verify_this_session">Потвърдете новия вход достъпващ профила ви: %1$s</string>
<string name="verify_other_sessions">Потвърдете всички сесии за да подсигурите, че профилът и съобщенията ви са в безопасност</string>
<string name="review_logins">Прегледайте от къде сте влезли</string>
<string name="encrypted_unverified">Шифровано от непотвърдено устройство</string>
<string name="unencrypted">Нешифровано</string>
<plurals name="secure_backup_reset_devices_you_can_verify">

View File

@ -1811,8 +1811,6 @@
<string name="error_saving_media_file">No s\'ha pogut desar el fitxer multimèdia</string>
<string name="confirm_your_identity_quad_s">Confirma la teva identitat verificant aquest inici de sessió i, així, poder-li donar accés als missatges xifrats.</string>
<string name="crosssigning_verify_session">Verifica l\'inici de sessió</string>
<string name="verify_other_sessions">Verifica totes les teves sessions per assegurar-te que el teu compte i missatges estan segurs</string>
<string name="review_logins">Comprova on has iniciat sessió</string>
<string name="encrypted_unverified">Xifrat amb un dispositiu no verificat</string>
<string name="unencrypted">No xifrat</string>
<plurals name="secure_backup_reset_devices_you_can_verify">
@ -2293,7 +2291,6 @@
<string name="end_poll_confirmation_approve_button">Acaba l\'enquesta</string>
<string name="end_poll_confirmation_description">Això impedirà que la gent pugui votar i es mostraran els resultats finals de l\'enquesta.</string>
<string name="end_poll_confirmation_title">Vols acabar l\'enquesta\?</string>
<string name="a11y_poll_winner_option">opció guanyadora</string>
<plurals name="create_poll_not_enough_options_error">
<item quantity="one">Es necessita almenys %1$s opció</item>
<item quantity="other">Es necessiten almenys %1$s opcions</item>
@ -2717,9 +2714,6 @@
<string name="device_manager_learn_more_session_rename">Els usuaris dels xats directes i sales al les quals t\'hagis unit poden veure la llista completa de les teves sessions.
\n
\nAixò els pot proporcionar més confiança de que realment parlen amb tu però, poden veure el nom de sessió que introdueixis.</string>
<string name="device_manager_learn_more_sessions_verified">Les sessions verificades son sessions en què has iniciat sessió amb les teves credencials i s\'han verificat utilitzant una frase de seguretat o mitjançant la verificació creuada.
\n
\nAixò vol dir que contenen claus de xifrat dels teus missatges anteriors i confirmen als altres usuaris amb qui parles, que aquestes sessions son realment teves.</string>
<string name="device_manager_learn_more_sessions_unverified">Les sessions no verificades son sessions en què has iniciat sessió amb les teves credencials però s\'hi ha fet una verificació creuada.
\n
\nAssegura\'t que reconeixes aquestes sessions especialment, ja que podrien representar un ús no autoritzat del teu compte.</string>
@ -2814,7 +2808,7 @@
<string name="labs_enable_rich_text_editor_title">Activa l\'editor de text enriquit</string>
<string name="device_manager_push_notifications_description">Rep notificacions en aquesta sessió.</string>
<string name="device_manager_push_notifications_title">Notificacions</string>
<string name="a11y_voice_broadcast_buffering">Carregant</string>
<string name="voice_broadcast_buffering">Carregant</string>
<string name="a11y_pause_voice_broadcast">Pausa l\'emissió de veu</string>
<string name="a11y_play_voice_broadcast">Reprodueix o reprèn l\'emissió de veu</string>
<string name="a11y_stop_voice_broadcast_record">Atura l\'enregistrament d\'emissió de veu</string>
@ -2839,4 +2833,4 @@
<string name="attachment_type_selector_text_formatting">Format de text</string>
<string name="a11y_voice_broadcast_fast_backward">Enrere 30 segons</string>
<string name="a11y_voice_broadcast_fast_forward">Avança 30 segons</string>
</resources>
</resources>

View File

@ -1469,8 +1469,6 @@
<string name="failed_to_access_secure_storage">Přístup k zabezpečenému úložišti selhal</string>
<string name="unencrypted">Nezašifrováno</string>
<string name="encrypted_unverified">Zašifrováno neověřeným zařízením</string>
<string name="review_logins">Přezkoumejte, kde jste se přihlásili</string>
<string name="verify_other_sessions">Ověřte všechny své relace za účelem bezpečí Vašeho účtu a zpráv</string>
<string name="verify_this_session">Ověřte nové přihlášení s přístupem na Váš účet: %1$s</string>
<string name="cross_signing_verify_by_text">Manuálně ověřit textem</string>
<string name="crosssigning_verify_session">Ověřit přihlášení</string>
@ -2313,7 +2311,6 @@
<string name="end_poll_confirmation_approve_button">Ukončit hlasování</string>
<string name="end_poll_confirmation_description">Toto zastaví možnost hlasování a zobrazí se konečné výsledky.</string>
<string name="end_poll_confirmation_title">Ukončit toto hlasování\?</string>
<string name="a11y_poll_winner_option">vítězná volba</string>
<string name="poll_end_action">Ukončit hlasování</string>
<plurals name="poll_total_vote_count_after_ended">
<item quantity="one">Konečný výsledek na základě %1$d hlasu</item>
@ -2767,9 +2764,6 @@
\n
\nTo jim poskytuje jistotu, že s vámi skutečně mluví, ale také to znamená, že mohou vidět název relace, který zde zadáte.</string>
<string name="device_manager_learn_more_session_rename_title">Přejmenování relací</string>
<string name="device_manager_learn_more_sessions_verified">Ověřené relace se přihlásily pomocí vašich přihlašovacích údajů a poté byly ověřeny buď pomocí vaší zabezpečené přístupové fráze, nebo křížovým ověřením.
\n
\nTo znamená, že uchovávají šifrovací klíče pro vaše předchozí zprávy a potvrzují ostatním uživatelům, se kterými komunikujete, že tyto relace jste skutečně vy.</string>
<string name="device_manager_learn_more_sessions_verified_title">Ověřené relace</string>
<string name="device_manager_learn_more_sessions_unverified">Neověřené relace jsou relace, které se přihlásily pomocí vašich přihlašovacích údajů, ale nebyly křížově ověřeny.
\n
@ -2860,7 +2854,7 @@
<string name="device_manager_sessions_sign_in_with_qr_code_title">Přihlásit se pomocí QR kódu</string>
<string name="login_scan_qr_code">Naskenovat QR kód</string>
<string name="labs_enable_voice_broadcast_summary">Možnost nahrávat a odesílat hlasové vysílání na časové ose místnosti.</string>
<string name="labs_enable_voice_broadcast_title">Povolit hlasové vysílání (v aktivním vývoji)</string>
<string name="labs_enable_voice_broadcast_title">Povolit hlasové vysílání</string>
<string name="qr_code_login_header_failed_homeserver_is_not_supported_description">Domovský server nepodporuje přihlášení pomocí QR kódu.</string>
<string name="qr_code_login_header_failed_user_cancelled_description">Přihlášení bylo na druhém zařízení zrušeno.</string>
<string name="qr_code_login_header_failed_invalid_qr_code_description">Tento QR kód je neplatný.</string>
@ -2868,7 +2862,7 @@
<string name="qr_code_login_header_failed_other_device_already_signed_in_description">Druhé zařízení je již přihlášeno.</string>
<string name="qr_code_login_header_failed_e2ee_security_issue_description">Při nastavování zabezpečeného zasílání zpráv se vyskytl problém se zabezpečením. Může být napadena jedna z následujících věcí: váš domovský server; vaše internetové připojení; vaše zařízení;</string>
<string name="qr_code_login_header_failed_other_description">Žádost se nezdařila.</string>
<string name="a11y_voice_broadcast_buffering">Ukládání do vyrovnávací paměti…</string>
<string name="voice_broadcast_buffering">Ukládání do vyrovnávací paměti…</string>
<string name="a11y_pause_voice_broadcast">Pozastavit hlasové vysílání</string>
<string name="a11y_play_voice_broadcast">Přehrát nebo obnovit hlasové vysílání</string>
<string name="a11y_stop_voice_broadcast_record">Ukončit záznam hlasového vysílání</string>
@ -2946,4 +2940,42 @@
<string name="set_link_link">Odkaz</string>
<string name="set_link_text">Text</string>
<string name="rich_text_editor_link">Nastavit odkaz</string>
</resources>
<string name="settings_access_token_summary">Přístupový token umožňuje plný přístup k účtu. Nikomu ho nesdělujte.</string>
<string name="settings_access_token">Přístupový token</string>
<string name="rich_text_editor_bullet_list">Přepnout na odrážky</string>
<string name="rich_text_editor_numbered_list">Přepnout na číslovaný seznam</string>
<string name="room_polls_ended_no_item">V této místnosti nejsou žádné předchozí hlasování</string>
<string name="room_polls_ended">Předchozí hlasování</string>
<string name="room_polls_active_no_item">V této místnosti nejsou žádné aktivní hlasování</string>
<string name="room_polls_active">Aktivní hlasování</string>
<string name="room_profile_section_more_polls">Historie hlasování</string>
<string name="message_reply_to_ended_poll_preview">Ukončené hlasování</string>
<string name="message_reply_to_poll_preview">Hlasování</string>
<string name="message_reply_to_sender_ended_poll">ukončil(a) hlasování.</string>
<string name="ended_poll_indicator">Hlasování bylo ukončeno.</string>
<string name="thread_list_not_available">Váš domovský server zatím nepodporuje zobrazení seznamu vláken.</string>
<string name="error_voice_broadcast_unable_to_play">Nelze přehrát toto hlasové vysílání.</string>
<string name="started_a_voice_broadcast">Hlasové vysílání bylo zahájeno</string>
<string name="unable_to_decrypt_some_events_in_poll">Kvůli chybám při dešifrování nemusí být některé hlasy započítány</string>
<string name="room_polls_loading_error">Chyba při načítání hlasování.</string>
<string name="room_polls_load_more">Načíst další hlasování</string>
<string name="room_polls_wait_for_display">Zobrazení hlasování</string>
<plurals name="room_polls_ended_no_item_for_loaded_period">
<item quantity="one">Za uplynulý den nejsou k dispozici žádná hlasování.
\nPro zobrazení hlasování z předchozích dnů načtěte další hlasování.</item>
<item quantity="few">Za poslední %1$d dny nejsou k dispozici žádná hlasování.
\nPro zobrazení hlasování z předchozích dnů načtěte další hlasování.</item>
<item quantity="other">Za posledních %1$d dní nejsou k dispozici žádná hlasování.
\nPro zobrazení hlasování z předchozích dnů načtěte další hlasování.</item>
</plurals>
<plurals name="room_polls_active_no_item_for_loaded_period">
<item quantity="one">Za uplynulý den nejsou žádná aktivní hlasování.
\nPro zobrazení hlasování z předchozích dnů načtěte další ankety.</item>
<item quantity="few">Za poslední %1$d dny nejsou žádná aktivní hlasování.
\nPro zobrazení hlasování z předchozích dnů načtěte další ankety.</item>
<item quantity="other">Za posledních %1$d dní nejsou žádná aktivní hlasování.
\nPro zobrazení hlasování z předchozích dnů načtěte další ankety.</item>
</plurals>
<string name="error_voice_message_broadcast_in_progress_message">Hlasovou zprávu nelze spustit, protože právě nahráváte živé vysílání. Ukončete prosím živé vysílání, abyste mohli začít nahrávat hlasovou zprávu</string>
<string name="error_voice_message_broadcast_in_progress">Nelze spustit hlasovou zprávu</string>
</resources>

View File

@ -1427,8 +1427,6 @@
<string name="failed_to_access_secure_storage">Konnte nicht auf gesicherten Speicher zugreifen</string>
<string name="unencrypted">Unverschlüsselt</string>
<string name="encrypted_unverified">Verschlüsselt von einem nicht verifiziertem Gerät</string>
<string name="review_logins">Überprüfe, wo du angemeldet bist</string>
<string name="verify_other_sessions">Verifiziere alle deine Sitzungen, um sicherzustellen, dass dein Konto und deine Nachrichten sicher sind</string>
<string name="verify_this_session">Bestätige neue Anmeldung zu deinem Konto: %1$s</string>
<string name="cross_signing_verify_by_text">Verifiziere manuell mit einem Text</string>
<string name="crosssigning_verify_session">Anmeldung verifizieren</string>
@ -2319,7 +2317,6 @@
<string name="end_poll_confirmation_approve_button">Umfrage beenden</string>
<string name="end_poll_confirmation_description">Dies verhindert, dass andere Personen abstimmen können, und zeigt die Endergebnisse der Umfrage an.</string>
<string name="end_poll_confirmation_title">Diese Umfrage beenden\?</string>
<string name="a11y_poll_winner_option">Gewinneroption</string>
<string name="poll_end_action">Umfrage beenden</string>
<plurals name="poll_total_vote_count_after_ended">
<item quantity="one">Endgültiges Ergebnis basiert auf %1$d Stimme</item>
@ -2711,9 +2708,6 @@
<string name="device_manager_learn_more_session_rename">Andere Nutzer in Direktnachrichten und Räumen, in denen du dich befindest, können eine vollständige Liste deiner Sitzungen einsehen.
\n
\nDies gibt ihnen die Sicherheit, dass sie auch wirklich mit dir kommunizieren. Allerdings bedeutet es auch, dass sie die Sitzungsnamen sehen können, die du hier angibst.</string>
<string name="device_manager_learn_more_sessions_verified">Verifizierte Sitzungen wurden mit deinen Daten angemeldet und anschließend mit deiner Sicherheitspassphrase oder durch Quersignierung verifiziert.
\n
\nDies bedeutet, dass sie die Verschlüsselungs-Schlüssel für deine bisherigen Nachrichten besitzen und anderen Nutzern bestätigen können, dass diese Sitzungen tatsächlich von dir stammen.</string>
<string name="device_manager_learn_more_session_rename_title">Sitzungen umbenennen</string>
<string name="device_manager_learn_more_sessions_verified_title">Verifizierte Sitzungen</string>
<string name="device_manager_learn_more_sessions_unverified">Nicht verifizierte Sitzungen sind jene, die angemeldet, aber nicht quer signiert sind.
@ -2815,7 +2809,7 @@
<string name="qr_code_login_header_failed_other_description">Die Anfrage ist fehlgeschlagen.</string>
<string name="a11y_play_voice_broadcast">Abspielen oder fortsetzen der Sprachübertragung</string>
<string name="a11y_resume_voice_broadcast_record">Fortsetzen der Sprachübertragung</string>
<string name="a11y_voice_broadcast_buffering">Puffere …</string>
<string name="voice_broadcast_buffering">Puffere …</string>
<string name="a11y_pause_voice_broadcast">Pausiere Sprachübertragung</string>
<string name="a11y_stop_voice_broadcast_record">Stoppe Aufzeichnung der Sprachübertragung</string>
<string name="a11y_pause_voice_broadcast_record">Pausiere Aufzeichnung der Sprachübertragung</string>
@ -2893,9 +2887,34 @@
<string name="settings_access_token">Zugriffstoken</string>
<string name="rich_text_editor_bullet_list">Unsortierte Liste umschalten</string>
<string name="rich_text_editor_numbered_list">Nummerierte Liste umschalten</string>
<string name="room_polls_ended_no_item">In diesem Raum gibt es noch keine abgeschlossenen Umfragen</string>
<string name="room_polls_ended_no_item">In diesem Raum gibt es keine abgeschlossenen Umfragen</string>
<string name="room_polls_ended">Vergangene Umfragen</string>
<string name="room_polls_active_no_item">In diesem Raum gibt es keine aktiven Umfragen</string>
<string name="room_polls_active">Aktive Umfragen</string>
<string name="room_profile_section_more_polls">Umfrageverlauf</string>
</resources>
<string name="message_reply_to_ended_poll_preview">Beendete Umfrage</string>
<string name="message_reply_to_poll_preview">Umfrage</string>
<string name="message_reply_to_sender_ended_poll">beendete eine Umfrage.</string>
<string name="ended_poll_indicator">Umfrage beendet.</string>
<string name="thread_list_not_available">Dein Heim-Server unterstützt noch nicht das Auflisten von Threads.</string>
<string name="started_a_voice_broadcast">Eine Sprachübertragung wurde begonnen</string>
<string name="error_voice_broadcast_unable_to_play">Wiedergabe der Sprachübertragung nicht möglich.</string>
<string name="unable_to_decrypt_some_events_in_poll">Evtl. werden infolge von Entschlüsselungsfehlern einige Stimmen nicht gezählt</string>
<string name="room_polls_loading_error">Fehler beim Laden der Umfragen.</string>
<string name="room_polls_load_more">Weitere Umfragen laden</string>
<string name="room_polls_wait_for_display">Zeige Umfragen an</string>
<plurals name="room_polls_active_no_item_for_loaded_period">
<item quantity="one">Für den vergangenen Tag sind keine aktiven Umfragen verfügbar.
\nLade weitere Umfragen, um die der vorherigen Tage zu sehen.</item>
<item quantity="other">Für die vergangenen %1$d Tage sind keine aktiven Umfragen verfügbar.
\nLade weitere Umfragen, um die der vorherigen Tage zu sehen.</item>
</plurals>
<plurals name="room_polls_ended_no_item_for_loaded_period">
<item quantity="one">Für den vergangenen Tag sind keine beendeten Umfragen verfügbar.
\nLade weitere Umfragen, um die der vorherigen Tage zu sehen.</item>
<item quantity="other">Für die vergangenen %1$d Tage sind keine beendeten Umfragen verfügbar.
\nLade weitere Umfragen, um die der vorherigen Tage zu sehen.</item>
</plurals>
<string name="error_voice_message_broadcast_in_progress_message">Du kannst keine Sprachnachricht beginnen, da du im Moment eine Echtzeitübertragung aufzeichnest. Bitte beende deine Sprachübertragung, um ein Gespräch zu beginnen</string>
<string name="error_voice_message_broadcast_in_progress">Kann Sprachnachricht nicht beginnen</string>
</resources>

View File

@ -1123,9 +1123,7 @@
<string name="settings_select_country">Elektu landon</string>
<string name="settings_emails_and_phone_numbers_summary">Administri retpoŝtadresojn kaj telefonnumerojn ligitajn al via konto de Matrix</string>
<string name="settings_emails_and_phone_numbers_title">Retpoŝtadresoj kaj telefonnumeroj</string>
<string name="settings_unignore_user">Ĉu montri ĉiujn mesaĝojn de %s\?
\n
\nSciu ke tiu ĉi ago reekigos la aplikaĵon, kaj tio povas daŭri iom da tempo.</string>
<string name="settings_unignore_user">Ĉu montri ĉiujn mesaĝojn de %s\?</string>
<string name="settings_password_updated">Via pasvorto ĝisdatiĝis</string>
<string name="settings_fail_to_update_password_invalid_current_password">La pasvorto ne validas</string>
<string name="settings_fail_to_update_password">Malsukcesis ĝisdatigi pasvorton</string>
@ -1485,8 +1483,6 @@
<string name="add_members_to_room">Aldoni ĉambranojn</string>
<string name="confirm_your_identity_quad_s">Konfirmu vian identecon per kontrolo de ĉi tiu saluto, donante al ĝi aliron al ĉifritaj mesaĝoj.</string>
<string name="verify_this_session">Kontrolu la novan saluton, kiu aliras vian konton: %1$s</string>
<string name="verify_other_sessions">Rekontrolu ĉiujn viajn salutaĵojn por certigi, ke viaj konto kaj mesaĝoj estas sekuraj</string>
<string name="review_logins">Rekontrolu, kie vi salutis</string>
<plurals name="secure_backup_reset_devices_you_can_verify">
<item quantity="one">Montri la aparaton per kiu vi povas kontroli nun</item>
<item quantity="other">Montri %d aparatojn per kiuj vi povas kontroli nun</item>
@ -2201,4 +2197,5 @@
<string name="call_ringing">Sonorante…</string>
<string name="spaces">Aroj</string>
<string name="initial_sync_request_reason_unignored_users">- Iom uzantoj reatentita</string>
</resources>
<string name="settings_mentions_at_room">\@room</string>
</resources>

View File

@ -1592,8 +1592,6 @@
<string name="failed_to_access_secure_storage">No se pudo acceder al almacenamiento seguro</string>
<string name="unencrypted">Sin cifrar</string>
<string name="encrypted_unverified">Cifrado por un dispositivo no verificado</string>
<string name="review_logins">Revise dónde inició sesión</string>
<string name="verify_other_sessions">Verifique todas sus sesiones para asegurarse de que su cuenta y sus mensajes estén seguros</string>
<string name="verify_this_session">Verifique el nuevo inicio de sesión accediendo a su cuenta: %1$s</string>
<string name="cross_signing_verify_by_text">Verificar manualmente por texto</string>
<string name="cross_signing_verify_by_emoji">Verificación interactiva por emoji</string>
@ -2386,7 +2384,6 @@
<string name="end_poll_confirmation_approve_button">Finalizar encuesta</string>
<string name="end_poll_confirmation_description">Esto evitará que las personas puedan votar y mostrará los resultados finales de la encuesta.</string>
<string name="end_poll_confirmation_title">¿Finalizar encuesta\?</string>
<string name="a11y_poll_winner_option">opción ganadora</string>
<string name="poll_end_action">Finalizar encuesta</string>
<plurals name="poll_total_vote_count_after_ended">
<item quantity="one">Resultado final basado en %1$d voto</item>
@ -2688,4 +2685,4 @@
<string name="settings_enable_direct_share_summary">Mostrar chats recientes en el menú de compartir sistema</string>
<string name="encryption_never_send_to_unverified_devices_in_room">No enviar nunca mensajes cifrados a sesiones sin verificar en esta sala.</string>
<string name="voice_broadcast_recording_time_left">Restan %1$s</string>
</resources>
</resources>

View File

@ -1304,8 +1304,6 @@
<string name="failed_to_access_secure_storage">Turvahoidla kasutamine ei õnnestu</string>
<string name="unencrypted">Krüptimata</string>
<string name="encrypted_unverified">Krüptitud verifitseerimata seadme poolt</string>
<string name="review_logins">Vaata üle, kust sa oled Matrix\'i võrku loginud</string>
<string name="verify_other_sessions">Selleks et sinu konto ja sõnumid oleks turvatud, verifitseeri kõik oma sessioonid</string>
<string name="verify_this_session">Verifitseeri uus kasutajasessioon, mis pruugib sinu kontot: %1$s</string>
<string name="cross_signing_verify_by_text">Verifitseeri käsitsi etteantud teksti abil</string>
<string name="crosssigning_verify_session">Verifitseeri sisselogimissessioon</string>
@ -2318,7 +2316,6 @@
<string name="tooltip_attachment_file">Laadi fail üles</string>
<string name="tooltip_attachment_gallery">Saada pilte ja videosid</string>
<string name="tooltip_attachment_photo">Ava kaamera</string>
<string name="a11y_poll_winner_option">populaarsem valik</string>
<string name="labs_auto_report_uisi_desc">Kui sõnumite dekrüptimisel tekib viga, siis rakendus saadab selle kohta automaatse teate arendajatele</string>
<string name="labs_auto_report_uisi">Automaatselt teata dekrüptimise vigadest.</string>
<string name="room_member_override_nick_color">Asenda kuvatava nime värvid</string>
@ -2706,9 +2703,6 @@
\n
\nSee tähendab, et nad võivad uskuda, et tegemist on tõesti sinuga. Samal ajal näevad ka siin sisestatud sessiooninime.</string>
<string name="device_manager_learn_more_session_rename_title">Sessioonide nimede muutmine</string>
<string name="device_manager_learn_more_sessions_verified">Verifitseeritud sessioonid on sellised, kuhu sa oled oma kasutajanime ja salasõnaga sisse loginud ning mille puhul oled risttunnustamise läbi teinud või paroolifraasi abil ta turvaliseks märkinud.
\n
\nSee tähendab, et nendes sessioonides on olemas sinu varasemate sõnumite krüptovõtmed ja teistele osapooltele on nad tuvastatavad nii, et tegemist on tõesti sinuga.</string>
<string name="device_manager_learn_more_sessions_verified_title">Verifitseeritud sessioonid</string>
<string name="device_manager_learn_more_sessions_unverified">Verifitseerimata sessioonid on sellised, kuhu sa oled oma kasutajanime ja salasõnaga sisse loginud, kuid mille puhul on risttunnustamine tegemata.
\n
@ -2805,7 +2799,7 @@
<string name="qr_code_login_header_failed_other_device_already_signed_in_description">Teine seade on juba võrku loginud.</string>
<string name="qr_code_login_header_failed_e2ee_security_issue_description">Turvalise sõnumivahetuse ülesseadmisel tekkis turvaviga. Üks kolmest võib olla sattunud vale osapoole kontrolli alla: sinu koduserver, sinu internetiühendus või sinu seade;</string>
<string name="qr_code_login_header_failed_other_description">Päring ei õnnestunud.</string>
<string name="a11y_voice_broadcast_buffering">Andmed on puhverdamisel…</string>
<string name="voice_broadcast_buffering">Andmed on puhverdamisel…</string>
<string name="a11y_play_voice_broadcast">Alusta või jätka ringhäälingukõne esitamist</string>
<string name="a11y_stop_voice_broadcast_record">Lõpeta ringhäälingukõne salvestamine</string>
<string name="a11y_pause_voice_broadcast_record">Peata ringhäälingukõne salvestamine</string>
@ -2890,4 +2884,29 @@
<string name="rich_text_editor_bullet_list">Lülita täpploend sisse/välja</string>
<string name="settings_access_token">Pääsuluba</string>
<string name="settings_access_token_summary">Sinu pääsuluba annab täismahulise ligipääsu sinu kasutajakontole. Palun ära jaga seda teistega.</string>
</resources>
<string name="message_reply_to_ended_poll_preview">Lõppenud küsitlus</string>
<string name="ended_poll_indicator">Küsitlus on lõppenud.</string>
<string name="message_reply_to_sender_ended_poll">lõpetas küsitluse.</string>
<string name="message_reply_to_poll_preview">Küsitlus</string>
<string name="thread_list_not_available">Sinu koduserver veel ei toeta jutulõngade loendit.</string>
<string name="started_a_voice_broadcast">Alustasime ringhäälingukõnega</string>
<string name="error_voice_broadcast_unable_to_play">Selle ringhäälingukõne esitamine ei õnnestu.</string>
<string name="unable_to_decrypt_some_events_in_poll">Krüptimisvigade tõttu jääb osa hääli lugemata</string>
<plurals name="room_polls_active_no_item_for_loaded_period">
<item quantity="one">Möödunud päevas polnud ühtegi toimumas olnud küsitlust.
\nVarasemate päevade vaatamiseks laadi veel küsitlusi.</item>
<item quantity="other">Möödunud %1$d päeva jooksul polnud ühtegi toimumas olnud küsitlust.
\nVarasemate päevade vaatamiseks laadi veel küsitlusi.</item>
</plurals>
<plurals name="room_polls_ended_no_item_for_loaded_period">
<item quantity="one">Möödunud päevas polnud ühtegi küsitlust.
\nVarasemate päevade vaatamiseks laadi veel küsitlusi.</item>
<item quantity="other">Möödunud %1$d päeva jooksul polnud ühtegi küsitlust.
\nVarasemate päevade vaatamiseks laadi veel küsitlusi.</item>
</plurals>
<string name="room_polls_wait_for_display">Küsitluste kuvamise ootel</string>
<string name="room_polls_load_more">Laadi veel küsitlusi</string>
<string name="room_polls_loading_error">Viga küsitluste laadimisel.</string>
<string name="error_voice_message_broadcast_in_progress">Häälsõnumi esitamine ei õnnestu</string>
<string name="error_voice_message_broadcast_in_progress_message">Kuna sa hetkel salvestad ringhäälingukõnet, siis häälsõnumi salvestamine või esitamine ei õnnestu. Selleks palun lõpeta ringhäälingukõne</string>
</resources>

View File

@ -1785,8 +1785,6 @@ Errore hau ${app_name}-en kontroletik kanpo dago. Ez dago Google konturik gailua
<string name="unencrypted">Zifratu gabe</string>
<string name="encrypted_unverified">Egiaztatu gabeko gailu batek zifratua</string>
<string name="review_logins">Berrikusi non hasi duzun saioa</string>
<string name="verify_other_sessions">Egiaztatu zure saio guztiak kontua eta mezuak seguru daudela bermatzeko</string>
<string name="verify_this_session">Egiaztatu zure kontuan hasitako saio berria: %1$s</string>
<string name="cross_signing_verify_by_text">Egiaztatu eskuz testu bidez</string>

View File

@ -1106,8 +1106,6 @@
<string name="or_other_mx_capable_client">یا دیگر کاره‌های ماتریکس دادای قابلیت ورود چندگانه</string>
<string name="cross_signing_verify_by_text">تأیید دستی با متن</string>
<string name="verify_this_session">تأیید ورود جدیدی که به حسابتان دسترسی دارد: %1$s</string>
<string name="verify_other_sessions">تأیید همهٔ نشست‌هایتان برای اطمینان از این که حساب و پیام‌هایتان امنند</string>
<string name="review_logins">بازبینی جاهایی که وارد شده‌اید</string>
<string name="cross_signing_verify_by_emoji">تأیید برهم‌کنشی با اموجی</string>
<string name="crosssigning_verify_session">تأیید ورود</string>
<string name="unencrypted">رمزنشده</string>
@ -2275,7 +2273,6 @@
<string name="end_poll_confirmation_approve_button">پایان نظرسنجی</string>
<string name="end_poll_confirmation_description">این کار اجازهٔ رأی دادن افراد را پایان داده و نتیجهٔ نهایی نظرسنجی را نمایش خواهد داد.</string>
<string name="end_poll_confirmation_title">پایان این نظرسنجی؟</string>
<string name="a11y_poll_winner_option">گزینهٔ غالب</string>
<string name="poll_end_action">پایان نظرسنجی</string>
<plurals name="poll_total_vote_count_after_ended">
<item quantity="one">نتیجهٔ نهایی بر مبنای %1$d رأی</item>
@ -2783,7 +2780,7 @@
<string name="attachment_type_selector_poll">نظرسنجی‌ها</string>
<string name="attachment_type_selector_file">پیوست‌ها</string>
<string name="attachment_type_selector_sticker">برچسب‌ها</string>
<string name="a11y_voice_broadcast_buffering">میانگیری…</string>
<string name="voice_broadcast_buffering">میانگیری…</string>
<string name="voice_broadcast_live">زنده</string>
<string name="qr_code_login_confirm_security_code">تأیید</string>
<string name="three">۳</string>
@ -2859,9 +2856,6 @@
<string name="device_manager_learn_more_sessions_verified_description">نشست‌های تأیید شده آن‌هاییند که پس از ورود عبارت عبورتان یا تأیید هویتتان با نشست تأیید شده‌ای دیگر، واردشان شده‌اید.
\n
\nیعنی تمامی کلیدهای لارم برای رمزگشایی پیام‌های رمزنگاشته‌تان را داشته و این تأیید را به دیگران می‌دهند که به این نشست اطمینان دارید.</string>
<string name="device_manager_learn_more_sessions_verified" tools:ignore="UnusedResources">نشست‌های تأیید شده به حسابتان وارد و با عبارت عبور امنتان یا تأیید متقابل تأیید شده‌اند.
\n
\nیعنی کلیدهای رمزنگاری پیام‌های پیشینتان را داشته و به دیگر کاربران این تأیید را می‌دهند که این نشست، خودتان هستید.</string>
<string name="device_manager_learn_more_sessions_unverified">نشست‌های تأیید نشده نشست‌هاییند که به آن‌ها وارد شده‌اید، ولی تأیید متقبالشان نکرده‌اید.
\n
\nباید به طور خاص مطمئن شوید که این نشست‌ها را می‌شناسید؛ چرا که می‌توانند نشان‌دهندهٔ استفادهٔ تأییدنشده از حسابتان باشند.</string>
@ -2899,4 +2893,29 @@
<string name="room_polls_active_no_item">هیچ نظرسنجی فعّالی در این اتاق وجود ندارد</string>
<string name="room_polls_active">نظرسنجی‌های فعّال</string>
<string name="room_profile_section_more_polls">تاریخچهٔ نظرسنجی‌ها</string>
</resources>
<string name="message_reply_to_ended_poll_preview">نظرسنجی پایان یافته</string>
<string name="message_reply_to_poll_preview">نظرسنجی</string>
<string name="message_reply_to_sender_ended_poll">به نظرسنجی‌ای پایان داد.</string>
<string name="ended_poll_indicator">به نظرسنجی پایان داد.</string>
<string name="thread_list_not_available">کارساز خانگیتان هنوز از سیاهه کردن رشته‌ها پشتیبانی نمی‌کند.</string>
<string name="error_voice_broadcast_unable_to_play">ناتوان در پخش این صدا.</string>
<string name="started_a_voice_broadcast">پخش صوتی را آغاز کرد</string>
<string name="unable_to_decrypt_some_events_in_poll">به خاطر خطاهای رمزگشایی، ممکن است برخی رأی‌ها شمرده نشوند</string>
<string name="room_polls_loading_error">خطا در واکشی نظرسنجی‌ها.</string>
<string name="room_polls_load_more">بار کردن نظرسنجی‌های بیش‌تر</string>
<string name="room_polls_wait_for_display">نشان دادن نظرسنجی‌ها</string>
<plurals name="room_polls_ended_no_item_for_loaded_period">
<item quantity="one">نظرسنجی گذشته‌ای برای روز گذشته وجود ندارد.
\nبرای دیدن نظرسنجی‌های روزهای پیش، نظرسنجی‌های بیش‌تری بار کنید.</item>
<item quantity="other">نظرسنجی گذشته‌ای برای %1$d روز گذشته وجود ندارد.
\nبرای دیدن نظرسنجی‌های روزهای پیش، نظرسنجی‌های بیش‌تری بار کنید.</item>
</plurals>
<plurals name="room_polls_active_no_item_for_loaded_period">
<item quantity="one">نظرسنجی فعّالی برای روز گذشته وجود ندارد.
\nبرای دیدن نظرسنجی‌های روزهای پیش، نظرسنجی‌های بیش‌تری بار کنید.</item>
<item quantity="other">نظرسنجی فعّالی برای %1$d روز گذشته وجود ندارد.
\nبرای دیدن نظرسنجی‌های روزهای پیش، نظرسنجی‌های بیش‌تری بار کنید.</item>
</plurals>
<string name="error_voice_message_broadcast_in_progress_message">از آن‌جا که در حال ضبط پخشی زنده‌اید، نمی‌توانید پیامی صوتی را آغاز کنید. لطفاً برای آغاز ضبط یک پیام صوتی، پخش زنده‌تان را پایان دهید</string>
<string name="error_voice_message_broadcast_in_progress">نمی‌توان پخش صوتی را آغاز کرد</string>
</resources>

View File

@ -1717,8 +1717,6 @@
<string name="error_empty_field_choose_user_name">Valitse käyttäjänimi.</string>
<string name="cross_signing_verify_by_emoji">Vahvista vuorovaikutteisesti emojilla</string>
<string name="crosssigning_verify_session">Vahvista kirjautuminen</string>
<string name="verify_other_sessions">Vahvista kaikki istuntosi varmistaaksesi, että tilisi ja viestisi ovat turvassa</string>
<string name="review_logins">Katselmoi missä olet sisäänkirjautuneena</string>
<string name="encrypted_unverified">Salattu vahvistamattomalla laitteella</string>
<string name="unencrypted">Salaamaton</string>
<string name="use_recovery_key">Käytä palautusavainta</string>
@ -2309,4 +2307,4 @@
<item quantity="one">%1$d valittu</item>
<item quantity="other">%1$d valittu</item>
</plurals>
</resources>
</resources>

View File

@ -640,8 +640,6 @@
<string name="crosssigning_verify_session">Vérifier la connexion</string>
<string name="cross_signing_verify_by_text">Vérifier manuellement avec un texte</string>
<string name="verify_this_session">Vérifiez la nouvelle connexion accédant à votre compte : %1$s</string>
<string name="verify_other_sessions">Vérifiez toutes les sessions pour vous assurer que votre compte et vos messages sont en sécurité</string>
<string name="review_logins">Vérifiez où vous vous êtes connecté</string>
<string name="encrypted_unverified">Chiffré par un appareil non vérifié</string>
<string name="unencrypted">Non chiffré</string>
<string name="default_message_emote_snow">envoie de la neige ❄️</string>

View File

@ -1413,8 +1413,6 @@
<string name="create_room_dm_failure">Nous navons pas pu créer votre conversation privée. Vérifiez les utilisateurs que vous souhaitez inviter et réessayez.</string>
<string name="unencrypted">Non chiffré</string>
<string name="encrypted_unverified">Chiffré par un appareil non vérifié</string>
<string name="review_logins">Vérifiez où vous vous êtes connecté</string>
<string name="verify_other_sessions">Vérifiez toutes les sessions pour vous assurer que votre compte et vos messages sont en sécurité</string>
<string name="verify_this_session">Vérifiez la nouvelle connexion accédant à votre compte : %1$s</string>
<string name="notification_ticker_text_dm">%1$s : %2$s</string>
<string name="notification_ticker_text_group">%1$s : %2$s %3$s</string>
@ -2272,7 +2270,6 @@
<string name="end_poll_confirmation_approve_button">Terminer le sondage</string>
<string name="end_poll_confirmation_description">Cela empêchera les gens de voter et affichera le résultat final du sondage.</string>
<string name="end_poll_confirmation_title">Terminer ce sondage \?</string>
<string name="a11y_poll_winner_option">option gagnante</string>
<string name="poll_end_action">Terminer le sondage</string>
<plurals name="poll_total_vote_count_after_ended">
<item quantity="one">Résultat final sur la base de %1$d vote</item>
@ -2713,9 +2710,6 @@
\n
\nCela leur fournit une preuve de confiance que cest bien avec vous qu\'ils communiquent, mais cela veut également dire quils peuvent voir le nom de la session que vous saisissez ici.</string>
<string name="device_manager_learn_more_session_rename_title">Renommer les sessions</string>
<string name="device_manager_learn_more_sessions_verified">Les sessions vérifiées sont celles qui sont identifiées avec votre mot de passe puis vérifiée, soit à laide de votre phrase de sécurité, ou bien par la vérification croisée.
\n
\nCela signifie quelles possèdent les clés de chiffrement de vos messages passés, et certifient aux autres utilisateurs avec qui vous communiquez que ces sessions viennent vraiment de vous.</string>
<string name="device_manager_learn_more_sessions_verified_title">Sessions vérifiées</string>
<string name="device_manager_learn_more_sessions_unverified">Les sessions non vérifiées sont celles qui sont identifiées avec votre mot de passe sans avoir fait de vérification croisée.
\n
@ -2814,7 +2808,7 @@
<string name="device_manager_sessions_sign_in_with_qr_code_description">Vous pouvez utiliser cet appareil pour connecter un appareil mobile ou un client web avec un QR code. Il y a deux façons de le faire :</string>
<string name="device_manager_sessions_sign_in_with_qr_code_title">Se connecter avec un QR code</string>
<string name="login_scan_qr_code">Scanner le QR code</string>
<string name="a11y_voice_broadcast_buffering">Mise en mémoire tampon…</string>
<string name="voice_broadcast_buffering">Mise en mémoire tampon…</string>
<string name="a11y_pause_voice_broadcast">Mettre en pause la diffusion audio</string>
<string name="a11y_play_voice_broadcast">Lire ou continuer la diffusion audio</string>
<string name="a11y_stop_voice_broadcast_record">Arrêter lenregistrement de la diffusion audio</string>
@ -2899,4 +2893,29 @@
<string name="room_polls_active_no_item">Il ny a aucun sondage en cours dans ce salon</string>
<string name="room_polls_active">Sondages actifs</string>
<string name="room_profile_section_more_polls">Historique des sondages</string>
</resources>
<string name="message_reply_to_ended_poll_preview">Sondage terminé</string>
<string name="message_reply_to_poll_preview">Sondage</string>
<string name="message_reply_to_sender_ended_poll">a terminé un sondage.</string>
<string name="ended_poll_indicator">A terminé le sondage.</string>
<string name="thread_list_not_available">Votre serveur daccueil ne prend pas encore en charge laffichage de la liste des fils de discussion.</string>
<string name="error_voice_broadcast_unable_to_play">Impossible de lire cette diffusion audio.</string>
<string name="started_a_voice_broadcast">A démarré une diffusion audio</string>
<string name="unable_to_decrypt_some_events_in_poll">À cause derreurs de déchiffrement, certains votes pourraient ne pas avoir été pris en compte</string>
<string name="room_polls_loading_error">Erreur lors de la récupération des sondages.</string>
<string name="room_polls_load_more">Charger plus de sondages</string>
<string name="room_polls_wait_for_display">Affichage des sondages</string>
<plurals name="room_polls_ended_no_item_for_loaded_period">
<item quantity="one">Il ny a aucun sondage terminé depuis hier.
\nChargez plus de sondages pour voir les sondages des jours précédents.</item>
<item quantity="other">Il ny a aucun sondage terminé depuis %1$d jours.
\nChargez plus de sondages pour voir les sondages des jours précédents.</item>
</plurals>
<plurals name="room_polls_active_no_item_for_loaded_period">
<item quantity="one">Il ny a aucun sondage actif depuis hier.
\nChargez plus de sondages pour voir les sondages des jours précédents.</item>
<item quantity="other">Il ny a aucun sondage actif depuis %1$d jours.
\nChargez plus de sondages pour voir les sondages des jours précédents.</item>
</plurals>
<string name="error_voice_message_broadcast_in_progress_message">Vous ne pouvez pas commencer un message vocal car vous êtes en train denregistrer une diffusion en direct. Veuillez terminer cette diffusion pour commencer un message vocal</string>
<string name="error_voice_message_broadcast_in_progress">Impossible de démarrer un message vocal</string>
</resources>

View File

@ -1361,8 +1361,6 @@ A Visszaállítási Kulcsot tartsd biztonságos helyen, mint pl. egy jelszókeze
<string name="failed_to_access_secure_storage">A biztonsági tárolóhoz nem sikerült hozzáférni</string>
<string name="unencrypted">Titkosítatlan</string>
<string name="encrypted_unverified">Ellenőrizetlen eszközzel titkosította</string>
<string name="review_logins">Tekintsd át hol vagy bejelentkezve</string>
<string name="verify_other_sessions">Ellenőrizd minden munkamenetedet, hogy a fiókod és az üzeneteid biztonságban legyenek</string>
<string name="verify_this_session">Ellenőrizd ezt az új bejelentkezést ami hozzáfér a fiókodhoz: %1$s</string>
<string name="cross_signing_verify_by_text">Manuális szöveges ellenőrzés</string>
<string name="crosssigning_verify_session">Belépés ellenőrzése</string>
@ -2308,7 +2306,6 @@ A Visszaállítási Kulcsot tartsd biztonságos helyen, mint pl. egy jelszókeze
\n
\nElolvashatod a feltételeinket %s.</string>
<string name="analytics_opt_in_title">Segíts az ${app_name}-et jobbá tenni</string>
<string name="a11y_poll_winner_option">nyerő válasz</string>
<string name="preference_root_legals">Jogi dolgok</string>
<string name="restart_the_application_to_apply_changes">A változások életbelépéséhez indítsd újra az alkalmazást.</string>
<string name="labs_enable_latex_maths">LaTeX matematikai szintaxis engedélyezése</string>
@ -2712,9 +2709,6 @@ A Visszaállítási Kulcsot tartsd biztonságos helyen, mint pl. egy jelszókeze
<string name="device_manager_learn_more_session_rename">Más felhasználók akikkel közvetlenül vagy szobában beszélgetsz látják a teljes listát a munkameneteidről.
\n
\nEzzel ők biztosak lehetnek abban, hogy ténylegesen veled beszélgetnek. Ez azt is jelenti, hogy látják a munkamenet nevét amit itt megadsz.</string>
<string name="device_manager_learn_more_sessions_verified">Ellenőrzött munkamenetbe a neveddel és jelszavaddal léptek be és ellenőrizve lett vagy a biztonsági jelmondattal vagy másik munkamenetből.
\n
\nEz azt jelenti, hogy tartalmazzák a titkosítási kulcsokat az régi üzenetekhez, és biztosítja a többieket a kommunikációban, hogy ezt a munkamenetet tényleg te használod.</string>
<string name="rich_text_editor_format_underline">Aláhúzott</string>
<string name="rich_text_editor_format_strikethrough">Áthúzott</string>
<string name="rich_text_editor_format_italic">Dőlt</string>
@ -2814,7 +2808,7 @@ A Visszaállítási Kulcsot tartsd biztonságos helyen, mint pl. egy jelszókeze
<string name="qr_code_login_header_failed_other_description">A kérés sikertelen.</string>
<string name="labs_enable_voice_broadcast_summary">Hang közvetítés felvételéhez és a szoba idővonalára küldéséhez.</string>
<string name="labs_enable_voice_broadcast_title">Hang közvetítés engedélyezése</string>
<string name="a11y_voice_broadcast_buffering">Pufferelés…</string>
<string name="voice_broadcast_buffering">Pufferelés…</string>
<string name="a11y_pause_voice_broadcast">Hang közvetítés szüneteltetése</string>
<string name="a11y_play_voice_broadcast">Hang közvetítés lejátszása vagy lejátszás folytatása</string>
<string name="a11y_stop_voice_broadcast_record">Hang közvetítés felvétel leállítása</string>
@ -2890,4 +2884,38 @@ A Visszaállítási Kulcsot tartsd biztonságos helyen, mint pl. egy jelszókeze
<string name="set_link_link">Hivatkozás</string>
<string name="set_link_text">Szöveg</string>
<string name="rich_text_editor_link">Hivatkozás beállítása</string>
</resources>
<string name="settings_access_token_summary">A hozzáférési kulcs teljes elérést biztosít a fiókhoz. Soha ne ossza meg mással.</string>
<string name="settings_access_token">Elérési kulcs</string>
<string name="rich_text_editor_bullet_list">Lista ki-,bekapcsolása</string>
<string name="rich_text_editor_numbered_list">Számozott lista ki-,bekapcsolása</string>
<string name="room_polls_ended_no_item">Nincsenek régi szavazások ebben a szobában</string>
<string name="room_polls_ended">Régi szavazások</string>
<string name="room_polls_active_no_item">Nincsenek aktív szavazások ebben a szobában</string>
<string name="room_polls_active">Aktív szavazások</string>
<string name="room_profile_section_more_polls">Szavazás alakulása</string>
<string name="message_reply_to_ended_poll_preview">Lezárt szavazások</string>
<string name="message_reply_to_poll_preview">Szavazás</string>
<string name="message_reply_to_sender_ended_poll">befejezte a szavazást.</string>
<string name="ended_poll_indicator">Szavazás vége.</string>
<string name="thread_list_not_available">A matrix szerver nem támogatja az üzenetszálak listázását.</string>
<string name="error_voice_broadcast_unable_to_play">A hang közvetítés nem játszható le.</string>
<string name="started_a_voice_broadcast">Hang közvetítés indítva</string>
<string name="unable_to_decrypt_some_events_in_poll">Visszafejtési hibák miatt néhány szavazat nem kerül beszámításra</string>
<string name="room_polls_loading_error">Szavazás betöltési hiba.</string>
<string name="room_polls_load_more">Még több szavazás betöltése</string>
<string name="room_polls_wait_for_display">Szavazások megjelenítése</string>
<plurals name="room_polls_ended_no_item_for_loaded_period">
<item quantity="one">Egy napja nincs aktív szavazás.
\nTovábbi szavazások betöltése a régi szavazások megjelenítéséhez.</item>
<item quantity="other">%1$d napja nincs aktív szavazás.
\nTovábbi szavazások betöltése a régi szavazások megjelenítéséhez.</item>
</plurals>
<plurals name="room_polls_active_no_item_for_loaded_period">
<item quantity="one">Egy napja nincs aktív szavazás.
\nTovábbi szavazások betöltése a régi szavazások megjelenítéséhez.</item>
<item quantity="other">%1$d napja nincs aktív szavazás.
\nTovábbi szavazások betöltése a régi szavazások megjelenítéséhez.</item>
</plurals>
<string name="error_voice_message_broadcast_in_progress_message">Nem lehet hang üzenetet indítani élő közvetítés felvétele közben. Az élő közvetítés bejezése szükséges a hang üzenet indításához</string>
<string name="error_voice_message_broadcast_in_progress">Hang üzenetet nem lehet elindítani</string>
</resources>

View File

@ -0,0 +1,106 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="notice_room_reject_with_reason_by_you">Դուք մերժել եք հրավերը։ Պատճառ` %1$s</string>
<string name="notice_room_reject_with_reason">%1$sը մերժել է հրավերը։ Պատճառը` %2$s</string>
<string name="notice_direct_room_leave_with_reason_by_you">Դուք լքել եք։ Պատճառը` %1$s</string>
<string name="notice_room_leave_with_reason">%1$sը լքել է սենյակը։ Պատճառը` %2$s</string>
<string name="notice_direct_room_join_with_reason">%1$sը միացել է։ Պատճառը` %2$s</string>
<string name="notice_direct_room_leave_with_reason">%1$sը լքել է։ Պատճառը` %2$s</string>
<string name="notice_room_leave_with_reason_by_you">Դուք լքել եք սենյակը։ Պատճառը` %1$s</string>
<string name="notice_direct_room_join_with_reason_by_you">Դուք միացել եք։ Պատճառը` %1$s</string>
<string name="notice_room_join_with_reason_by_you">Դուք միացել եք սենյակին։ Պատճառը` %1$s</string>
<string name="notice_room_join_with_reason">%1$sը միացել է սենյակին։ Պատճառը` %2$s</string>
<string name="notice_room_invite_you_with_reason">%1$sը հրավիրել է Ձեզ։ Պատճառը` %2$s</string>
<string name="event_status_sending_message">Հաղորդագրությունը ուղարկվում է…</string>
<string name="notice_crypto_error_unknown_inbound_session_id">Ուղարկողի սարքավորումը մեզ չի ուղարկել այս հաղորդագրության բանալիները։</string>
<string name="notice_ended_call">%sը ավարտել է զանգը։</string>
<string name="notice_answered_call_by_you">Դուք պատասխանել եք զանգին։</string>
<string name="notice_answered_call">%sը պատասխանել է զանգին։</string>
<string name="notice_room_invite_with_reason_by_you">Դուք հրավիրել եք %1$sին։ Պատճառը` %2$s</string>
<string name="notice_room_invite_with_reason">%1$sը հրավիրել է %2$sին։ Պատճառը` %3$s</string>
<string name="event_status_sent_message">Հաղորդագրությունը ուղարկվել է</string>
<string name="room_displayname_empty_room">Դատարկ սենյակ</string>
<plurals name="room_displayname_four_and_more_members">
<item quantity="one">%1$sը, %2$sը, %3$sը և %4$d ուրիշը</item>
<item quantity="other">%1$sը, %2$sը, %3$sը և %4$d ուրիշները</item>
</plurals>
<string name="room_displayname_4_members">%1$sը, %2$sը, %3$sը և %4$sը</string>
<string name="room_displayname_3_members">%1$sը, %2$sը և %3$sը</string>
<string name="room_displayname_two_members">%1$sը և %2$sը</string>
<string name="room_displayname_room_invite">Սենյակի Հրավեր</string>
<string name="medium_email">Էլ-փոստի հասցե</string>
<string name="medium_phone_number">Հեռախոսահամար</string>
<string name="room_error_access_unauthorized">Դուք այս սենյակին միանալու թույլտվություն չունեք</string>
<string name="explore_rooms">Ուսումնասիրել Սենյակներ</string>
<string name="change_space">Ստեղծել Տարածություն</string>
<string name="all_chats">Բոլոր Զրույցները</string>
<string name="start_chat">Սկսել Զրույց</string>
<string name="create_room">Ստեղծել Սենյակ</string>
<string name="matrix_error">Matrix-ի սխալ</string>
<string name="unable_to_send_message">Հնարավոր չէ ուղարկել հաղորդագրությունը</string>
<string name="notice_crypto_unable_to_decrypt">** Հնարավոր չէ վերծանել %sը **</string>
<string name="power_level_default">Լռելյայն</string>
<string name="power_level_moderator">Մոդերատոր</string>
<string name="power_level_admin">Ադմին</string>
<string name="notice_direct_room_third_party_invite_by_you">Դուք հրավիրել եք %1$sին</string>
<string name="notice_direct_room_third_party_invite">%1$s հրավիրել է %2$sին</string>
<string name="notice_room_third_party_invite_by_you">Դուք սենյակին միանալու հրավեր եք ուղարկել %1$sին</string>
<string name="notice_room_third_party_invite">%1$sը սենյակին միանալու հրավեր է ուղարկել%2$sին</string>
<string name="notice_room_name_removed_by_you">Դուք հեռացրել եք սենյակի անունը</string>
<string name="notice_room_name_removed">%1$sը հեռացրել է սենյակի անունը</string>
<string name="notice_room_server_acl_updated_no_change">Փոփոխություն չկա։</string>
<string name="notice_room_visibility_world_readable">ցանկացածը։</string>
<string name="notice_room_visibility_shared">սենյակի բոլոր անդամները։</string>
<string name="notice_room_visibility_joined">սենյակի բոլոր անդամները, իրենց միանալու պահից սկսած։</string>
<string name="notice_room_visibility_invited">սենյակի բոլոր անդամները, իրենց հրավիրման պահից սկսած։</string>
<string name="notice_made_future_direct_room_visibility_by_you">Դուք ապագա հաղորդագրությունները տեսանելի եք դարձրել %1$sին</string>
<string name="notice_made_future_direct_room_visibility">%1$sը ապագա հաղորդագրությունները տեսանելի է դարձրել %2$sին</string>
<string name="notice_made_future_room_visibility_by_you">Դուք սենյակի ապագա պատմությունը տեսանելի եք դարձրել %1$sին</string>
<string name="notice_made_future_room_visibility">%1$sը սենյակի ապագա պատմությունը տեսանելի է դարձրել %2$sին</string>
<string name="notice_ended_call_by_you">Դուք ավարտել եք զանգը։</string>
<string name="notice_room_name_changed_by_you">Դուք սենյակի անունը փոխել եք %1$s</string>
<string name="notice_room_name_changed">%1$sը սենյակի անունը փոխել է %2$s</string>
<string name="notice_direct_room_created">%1$s ստեղծել է այս քննարկումը</string>
<string name="notice_room_created_by_you">Դուք ստեղծել եք այս սենյակը</string>
<string name="notice_room_created">%1$s ստեղծել է այս սենյակը</string>
<plurals name="x_selected">
<item quantity="one">%1$d ընտրված է</item>
<item quantity="other">%1$d ընտրված են</item>
</plurals>
<string name="notice_room_invite_no_invitee_by_you">Ձեր հրավերը</string>
<string name="notice_room_invite_no_invitee">%sի հրավերը</string>
<string name="notice_room_remove_by_you">Դուք հեռացրել եք %1$sին</string>
<string name="notice_room_remove">%1$sը հեռացրել է %2$sին</string>
<string name="notice_room_reject_by_you">Դուք մերժել եք հրավերը</string>
<string name="notice_room_reject">%1$s մերժել է հրավերը</string>
<string name="notice_direct_room_leave_by_you">Դուք լքել եք սենյակը</string>
<string name="notice_direct_room_leave">%1$s լքել է սենյակը</string>
<string name="notice_room_leave_by_you">Դուք լքել եք սենյակը</string>
<string name="notice_room_leave">%1$s լքել է սենյակը</string>
<string name="notice_direct_room_join_by_you">Դուք միացել եք</string>
<string name="notice_direct_room_join">%1$sը միացել է</string>
<string name="notice_room_join_by_you">Դուք միացել եք սենյակին</string>
<string name="notice_room_join">%1$sը միացել է սենյակին</string>
<string name="notice_room_invite_you">%1$sը հրավիրել է Ձեզ</string>
<string name="notice_room_invite_by_you">Դուք հրավիրել եք %1$sին</string>
<string name="notice_room_invite">%1$sը հրավիրել է %2$sին</string>
<string name="notice_direct_room_created_by_you">Դուք ստեղծել եք այս քննարկումը</string>
<string name="notice_room_canonical_alias_unset_by_you">Դուք հեռացրել եք սենյակի գլխավոր հասցեն։</string>
<string name="notice_room_canonical_alias_unset">%1$sը հեռացրել է սենյակի գլխավոր հասցեն։</string>
<string name="notice_room_canonical_alias_set_by_you">Դուք սենյակի գլխավոր հասցեն դրել եք %1$sը։</string>
<string name="notice_room_canonical_alias_set">%1$sը սենյակի գլխավոր հասցեն դրել է %2$sը։</string>
<plurals name="notice_room_aliases_added_by_you">
<item quantity="one">Դուք ավելացրել եք %1$sին որպես սենյակի հասցե</item>
<item quantity="other">Դուք ավելացրել եք %1$sին որպես սենյակի հասցեներ</item>
</plurals>
<plurals name="notice_room_aliases_added">
<item quantity="one">%1$sը ավելացրել է %2$sին որպես սենյակի հասցե</item>
<item quantity="other">%1$sը ավելացրել է %2$sին որպես սենյակի հասցեներ</item>
</plurals>
<string name="notice_room_withdraw_with_reason_by_you">Դուք ետ եք կանչել %1$sի հրավերը։ Պատճառը` %2$s</string>
<string name="notice_room_withdraw_with_reason">%1$sը ետ է կանչել %2$sի հրավերը։ Պատճառը` %3$s</string>
<string name="notice_room_third_party_registered_invite_with_reason">%1$sը ընդունել է %2$sի համար հրավերը։ Պատճառը` %3$s</string>
<string name="notice_room_third_party_registered_invite_with_reason_by_you">Դուք ընդունել եք %1$sի համար հրավերը։ Պատճառը` %2$s</string>
<string name="notice_room_remove_with_reason_by_you">Դուք հեռացրել եք %1$sին։ Պատճառը` %2$s</string>
<string name="notice_room_remove_with_reason">%1$sը հեռացրել է %2$sին։ Պատճառը` %3$s</string>
</resources>

View File

@ -1957,8 +1957,6 @@ Di masa mendatang proses verifikasi ini akan dimutakhirkan.</string>
<string name="cross_signing_verify_by_text">Verifikasi secara Manual oleh Teks</string>
<string name="crosssigning_verify_session">Verifikasi login</string>
<string name="verify_this_session">Verifikasi login baru yang mengakses akun Anda: %1$s</string>
<string name="verify_other_sessions">Verifikasi semua sesi Anda untuk memastikan akun &amp; pesan Anda aman</string>
<string name="review_logins">Lihat mana Anda masuk</string>
<string name="encrypted_unverified">Dienkripsi oleh perangkat yang tidak diverifikasi</string>
<string name="unencrypted">Tidak Dienkripsi</string>
<string name="default_message_emote_snow">mengirim salju ❄️</string>
@ -2233,7 +2231,6 @@ Di masa mendatang proses verifikasi ini akan dimutakhirkan.</string>
<string name="end_poll_confirmation_approve_button">Akhiri poll</string>
<string name="end_poll_confirmation_description">Ini akan menghentikan orang-orang untuk dapat memberikan suara dan akan menampilkan hasil akhir poll.</string>
<string name="end_poll_confirmation_title">Akhiri poll ini\?</string>
<string name="a11y_poll_winner_option">opsi pemenang</string>
<string name="poll_end_action">Akhiri poll</string>
<plurals name="poll_total_vote_count_after_ended">
<item quantity="other">Hasil akhir berdasarkan oleh %1$d suara</item>
@ -2661,9 +2658,6 @@ Di masa mendatang proses verifikasi ini akan dimutakhirkan.</string>
\n
\nIni memberikan mereka kepastian bahwa mereka berbicara dengan Anda, tetapi ini juga berarti bahwa mereka dapat melihat nama sesi yang Anda masukkan di sini.</string>
<string name="device_manager_learn_more_session_rename_title">Mengubah nama sesi</string>
<string name="device_manager_learn_more_sessions_verified">Sesi yang terverifikasi telah masuk dengan kredensial Anda dan juga telah diverifikasi, menggunakan frasa sandi atau memverifikasi secara silang.
\n
\nIni berarti mereka memegang kunci enkripsi ke pesan Anda sebelumnya, dan mengonfirmasi pengguna lain yang Anda berkomunikasi bahwa sesi ini memang Anda.</string>
<string name="device_manager_learn_more_sessions_inactive_title">Sesi tidak aktif</string>
<string name="device_manager_learn_more_sessions_unverified_title">Sesi belum diverifikasi</string>
<string name="device_manager_learn_more_sessions_verified_title">Sesi terverifikasi</string>
@ -2762,7 +2756,7 @@ Di masa mendatang proses verifikasi ini akan dimutakhirkan.</string>
<string name="qr_code_login_header_failed_other_description">Permintaan gagal.</string>
<string name="labs_enable_voice_broadcast_summary">Memungkinkan untuk merekam dan mengirim siaran suara dalam lini masa ruangan.</string>
<string name="labs_enable_voice_broadcast_title">Aktifkan siaran suara</string>
<string name="a11y_voice_broadcast_buffering">Memuat…</string>
<string name="voice_broadcast_buffering">Memuat…</string>
<string name="a11y_pause_voice_broadcast">Jeda siaran suara</string>
<string name="a11y_play_voice_broadcast">Mainkan atau lanjutkan siaran suara</string>
<string name="a11y_stop_voice_broadcast_record">Hentikan rekaman siaran suara</string>
@ -2845,4 +2839,23 @@ Di masa mendatang proses verifikasi ini akan dimutakhirkan.</string>
<string name="room_polls_active_no_item">Tidak ada pemungutan suara yang aktif di ruangan ini</string>
<string name="room_polls_active">Pemungutan suara aktif</string>
<string name="room_profile_section_more_polls">Riwayat pemungutan suara</string>
</resources>
<string name="message_reply_to_ended_poll_preview">Pemungutan suara diakhiri</string>
<string name="message_reply_to_poll_preview">Pemungutan suara</string>
<string name="message_reply_to_sender_ended_poll">mengakhiri pemungutan suara.</string>
<string name="ended_poll_indicator">Mengakhiri pemungutan suara.</string>
<string name="thread_list_not_available">Homeserver Anda belum mendukung pendaftaran utasan.</string>
<string name="error_voice_broadcast_unable_to_play">Tidak dapat memutar siaran suara ini.</string>
<string name="started_a_voice_broadcast">Memulai sebuah siaran suara</string>
<string name="unable_to_decrypt_some_events_in_poll">Karena kesalahan enkripsi, beberapa suara mungkin tidak terhitung</string>
<string name="room_polls_loading_error">Terjadi kesalahan mendapatkan pemungutan suara.</string>
<string name="room_polls_load_more">Muat lebih banyak pemungutan suara</string>
<string name="room_polls_wait_for_display">Menampilkan pemungutan suara</string>
<plurals name="room_polls_ended_no_item_for_loaded_period">
<item quantity="other">Tidak ada pemungutan suara yang lalu %1$d hari terakhir.
\nMuat lebih banyak pemungutan suara untuk melihat pemungutan suara untuk hari sebelumnya.</item>
</plurals>
<plurals name="room_polls_active_no_item_for_loaded_period">
<item quantity="other">Tidak ada pemungutan suara aktif %1$d hari terakhir.
\nMuat lebih banyak pemungutan suara untuk melihat pemungutan suara untuk hari sebelumnya.</item>
</plurals>
</resources>

View File

@ -851,7 +851,6 @@
<item quantity="other">%1$d atkvæði greidd. Greiddu atkvæði til að sjá útkomuna</item>
</plurals>
<string name="login_error_homeserver_not_found">Næ ekki að tengjast heimaþjóni á þessari slóð, athugaðu slóðina</string>
<string name="a11y_poll_winner_option">réttur valkostur</string>
<string name="create_poll_question_hint">Spurning eða viðfangsefni</string>
<string name="restart_the_application_to_apply_changes">Endurræstu forritið til að breytingin taki gildi.</string>
<string name="labs_enable_latex_maths">Virkja LaTeX-stærðfræði</string>
@ -1672,10 +1671,10 @@
<string name="send_suggestion">Settu inn tillögu</string>
<string name="preference_help_summary">Fáðu aðstoð við að nota ${app_name}</string>
<string name="preference_root_legals">Lagaleg atriði</string>
<string name="push_gateway_item_device_name">session_name:</string>
<string name="push_gateway_item_app_display_name">app_display_name:</string>
<string name="push_gateway_item_push_key">push_key:</string>
<string name="push_gateway_item_app_id">app_id:</string>
<string name="push_gateway_item_device_name">Birtingarnafn setu:</string>
<string name="push_gateway_item_app_display_name">Birtingarnafn forrits:</string>
<string name="push_gateway_item_push_key">Push-lykill:</string>
<string name="push_gateway_item_app_id">Auðkenni forrits:</string>
<string name="navigate_to_thread_when_already_in_the_thread">Þú ert nú þegar að skoða þennan spjallþráð!</string>
<string name="navigate_to_room_when_already_in_the_room">Þú ert nú þegar að skoða þessa spjallrás!</string>
<string name="settings_sdk_version">Útgáfa Matrix SDK</string>
@ -1775,7 +1774,6 @@
<string name="create_space_identity_server_info_none">Þú ert núna ekki að nota neinn auðkennisþjón. Til að uppgötva og vera finnanleg/ur fyrir félaga þína í teyminu, skaltu bæta við auðkennisþjóni hér fyrir neðan.</string>
<string name="re_authentication_default_confirm_text">${app_name} krefst þess að þú setjir inn auðkennin þín til að framkvæma þessa aðgerð.</string>
<string name="re_authentication_activity_title">Endurauðkenning er nauðsynleg</string>
<string name="review_logins">Yfirfarðu hvar þú sért skráð/ur inn</string>
<string name="use_recovery_key">Nota endurheimtulykil</string>
<string name="bootstrap_progress_checking_backup">Athuga öryggisafritunarlykil</string>
<string name="bootstrap_invalid_recovery_key">Þetta er ekki gildur endurheimtulykill</string>
@ -2263,4 +2261,125 @@
<string name="ftue_auth_terms_subtitle">Endilega lestu í gegnum stefnur og skilmála fyrir %s</string>
<string name="ftue_auth_terms_title">Stefnur netþjónsins</string>
<string name="ftue_auth_choose_server_ems_subtitle">Element Matrix Services (EMS) er afkastamikil og áreiðanleg hýsingarþjónusta fyrir hraðvirk og örugg samskipti í rauntíma. Skoðaðu hvernig við förum að því á <a href="${ftue_ems_url}">element.io/ems</a></string>
</resources>
<plurals name="x_selected">
<item quantity="one">%1$d valið</item>
<item quantity="other">%1$d valið</item>
</plurals>
<string name="settings_access_token_summary">Aðgangsteiknið þitt gefur fullan aðgang að notandaaðgangnum þínum. Ekki deila því með neinum.</string>
<string name="settings_access_token">Aðgangsteikn</string>
<string name="message_reply_to_ended_poll_preview">Lauk könnun</string>
<string name="message_reply_to_poll_preview">Könnun</string>
<string name="message_reply_to_sender_ended_poll">lauk könnun.</string>
<string name="message_reply_to_sender_created_poll">bjó til könnun.</string>
<string name="message_reply_to_sender_sent_sticker">sendi límmerki.</string>
<string name="message_reply_to_sender_sent_video">sendi myndskeið.</string>
<string name="message_reply_to_sender_sent_image">sendi mynd.</string>
<string name="message_reply_to_sender_sent_voice_message">sendi talskilaboð.</string>
<string name="message_reply_to_sender_sent_audio_file">sendi hljóðskrá.</string>
<string name="message_reply_to_sender_sent_file">sendi skrá.</string>
<string name="message_reply_to_prefix">Sem svar til</string>
<string name="set_link_edit">Breyta tengli</string>
<string name="set_link_create">Búa til tengil</string>
<string name="set_link_link">Tengill</string>
<string name="set_link_text">Texti</string>
<string name="qr_code_login_confirm_security_code">Staðfesta</string>
<string name="qr_code_login_try_again">Reyna aftur</string>
<string name="qr_code_login_status_no_match">Engin samsvörun\?</string>
<string name="qr_code_login_signing_in">Skrái þig inn</string>
<string name="qr_code_login_connecting_to_device">Tengist við tæki</string>
<string name="qr_code_login_scan_qr_code_button">Skanna QR-kóða</string>
<string name="qr_code_login_signing_in_a_mobile_device">Ertu að skrá inn farsíma/snjalltæki\?</string>
<string name="qr_code_login_link_a_device_show_qr_code_instruction_2">Veldu \'Skanna QR-kóða\'</string>
<string name="qr_code_login_link_a_device_scan_qr_code_instruction_2">Veldu \'Skrá inn með QR-kóða\'</string>
<string name="qr_code_login_new_device_instruction_3">Veldu \'Birta QR-kóða\'</string>
<string name="qr_code_login_header_failed_invalid_qr_code_description">Þessi QR-kóði er ógildur.</string>
<string name="qr_code_login_header_failed_other_description">Beiðnin mistókst.</string>
<string name="qr_code_login_header_show_qr_code_title">Skrá inn með QR-kóða</string>
<string name="qr_code_login_header_scan_qr_code_title">Skanna QR-kóða</string>
<string name="three">3</string>
<string name="two">2</string>
<string name="one">1</string>
<string name="onboarding_new_app_layout_spaces_title">Aðgangur að svæðum</string>
<string name="device_manager_learn_more_sessions_verified_title">Sannreyndar setur</string>
<string name="device_manager_learn_more_sessions_unverified_title">Óstaðfestar setur</string>
<string name="device_manager_learn_more_sessions_inactive_title">Óvirkar setur</string>
<string name="device_manager_sessions_sign_in_with_qr_code_title">Skrá inn með QR-kóða</string>
<string name="device_manager_session_rename_edit_hint">Nafn á setu</string>
<string name="device_manager_session_rename">Endurnefna setu</string>
<string name="device_manager_session_details_device_operating_system">Stýrikerfi</string>
<string name="device_manager_session_details_device_model">Gerð</string>
<string name="device_manager_session_details_device_browser">Vafri</string>
<string name="device_manager_session_details_application_url">Slóð (URL)</string>
<string name="device_manager_session_details_application_version">Útgáfa</string>
<string name="device_manager_session_details_application_name">Heiti</string>
<string name="device_manager_session_details_application">Forrit</string>
<string name="device_manager_push_notifications_description">Taka á móti ýti-tilkynningum á þessu tæki.</string>
<string name="device_manager_push_notifications_title">Ýti-tilkynningar</string>
<string name="device_manager_session_details_description">Upplýsingar um forrit, tæki og aðgerðir.</string>
<string name="device_manager_session_overview_signout">Skrá út úr þessari setu</string>
<string name="device_manager_other_sessions_hide_ip_address">Fela IP-vistfang</string>
<string name="device_manager_other_sessions_show_ip_address">Birta IP-vistfang</string>
<string name="device_manager_signout_all_other_sessions">Skrá út úr öllum öðrum setum</string>
<string name="device_manager_other_sessions_multi_signout_selection">Skrá út</string>
<string name="device_manager_inactive_sessions_title">Óvirkar setur</string>
<string name="device_manager_header_section_security_recommendations_title">Ráðleggingar varðandi öryggi</string>
<string name="live_location_labs_promotion_title">Deiling staðsetningar í rauntíma</string>
<string name="attachment_type_selector_text_formatting">Sníðing texta</string>
<string name="attachment_type_selector_contact">Tengiliður</string>
<string name="attachment_type_selector_camera">Myndavél</string>
<string name="attachment_type_selector_location">Staðsetning</string>
<string name="attachment_type_selector_poll">Kannanir</string>
<string name="attachment_type_selector_voice_broadcast">Útvörpun tals</string>
<string name="attachment_type_selector_file">Viðhengi</string>
<string name="attachment_type_selector_sticker">Límmerki</string>
<string name="attachment_type_selector_gallery">Myndasafn</string>
<string name="tooltip_attachment_voice_broadcast">Byrjaðu talútsendingu</string>
<string name="live_location_description">Staðsetning í rauntíma</string>
<string name="live_location_not_enough_permission_dialog_title">Þú hefur ekki heimildir til að deila rauntímastaðsetningum</string>
<string name="live_location_bottom_sheet_last_updated_at">Uppfært fyrir %1$s síðan</string>
<string name="labs_enable_live_location">Virkja deilingu rauntímastaðsetninga</string>
<string name="location_share_live_until">Í beinni til %1$s</string>
<string name="location_share_live_ended">Staðsetningu í rauntíma lauk</string>
<string name="location_share_loading_map_error">Tókst ekki að hlaða inn landakorti
\nÞessi heimaþjónn er mögulega ekki stilltur til að birta landakort.</string>
<string name="room_polls_loading_error">Villa við að sækja kannanir.</string>
<string name="room_polls_load_more">Hlaða inn fleiri könnunum</string>
<string name="room_polls_wait_for_display">Birting kannana</string>
<string name="room_polls_ended">Fyrri kannanir</string>
<string name="room_polls_active">Virkar kannanir</string>
<string name="ended_poll_indicator">Lauk könnuninni.</string>
<string name="voice_broadcast_recording_time_left">%1$s eftir</string>
<string name="a11y_voice_broadcast_fast_forward">Fara áfram um 30 sekúndur</string>
<string name="a11y_voice_broadcast_fast_backward">Fara afturábak um 30 sekúndur</string>
<string name="voice_broadcast_buffering">Hleð í biðminni…</string>
<string name="voice_broadcast_live_broadcast">Bein útsending</string>
<string name="voice_broadcast_live">Beint</string>
<string name="settings_show_latest_profile">Birta upplýsingar um síðasta notanda</string>
<string name="review_unverified_sessions_description">Yfirfarðu þetta til að tryggja að aðgangurinn þinn sé öruggur</string>
<string name="review_unverified_sessions_title">Þú ert með óstaðfestar setur</string>
<string name="room_profile_section_more_polls">Breytingaskrá könnunar</string>
<string name="direct_room_profile_encrypted_subtitle">Skilaboð hér eru enda-í-enda dulrituð.
\n
\nÖryggi skilaboðanna þinna er tryggt og einungis þú og viðtakendurnir hafa dulritunarlyklana til að opna skilaboðin.</string>
<string name="room_profile_encrypted_subtitle">Skilaboð á þessari spjallrás eru enda-í-enda dulrituð.
\n
\nÖryggi skilaboðanna þinna er tryggt og einungis þú og viðtakendurnir hafa dulritunarlyklana til að opna skilaboðin.</string>
<string name="started_a_voice_broadcast">Hóf talútsendingu</string>
<string name="create_room_alias_invalid">Sumir stafir eru óleyfilegir</string>
<string name="command_description_table_flip">Setur (╯°□°)╯︵ ┻━┻ framan við hrein textaskilaboð</string>
<string name="login_scan_qr_code">Skanna QR-kóða</string>
<string name="login_signup_cancel_confirmation_content">Ekki er enn búið að útbúa notandaaðganginn þinn. Á að hætta skráningarferlinu\?</string>
<string name="attachment_type_voice_broadcast">Útvörpun tals</string>
<string name="push_gateway_item_enabled">Virkt:</string>
<string name="push_gateway_item_device_id">Auðkenni setu:</string>
<string name="quoting">Tilvitnanir</string>
<string name="replying_to">Svara til %s</string>
<string name="editing">Breytingar</string>
<string name="error_user_already_logged_in">Það lítur út fyrir að þú sért að reyna að tengjast öðrum heimaþjóni. Viltu skrá þig út\?</string>
<string name="action_stop">Já, stöðva</string>
<string name="action_deselect_all">Afvelja allt</string>
<string name="action_select_all">Velja allt</string>
<string name="action_got_it">Náði því</string>
<string name="notice_voice_broadcast_ended_by_you">Þú endaðir talútsendingu.</string>
<string name="notice_voice_broadcast_ended">%1$s endaði talútsendingu.</string>
</resources>

View File

@ -1418,8 +1418,6 @@
<string name="failed_to_access_secure_storage">Accesso all\'archivio sicuro fallito</string>
<string name="unencrypted">Non criptato</string>
<string name="encrypted_unverified">Criptato da un dispositivo non verificato</string>
<string name="review_logins">Controlla dove hai fatto l\'accesso</string>
<string name="verify_other_sessions">Verifica tutte le tue sessioni per assicurarti che il tuo account e i messaggi siano protetti</string>
<string name="verify_this_session">Verifica il nuovo accesso entrando nel tuo account: %1$s</string>
<string name="cross_signing_verify_by_text">Verifica manualmente con testo</string>
<string name="crosssigning_verify_session">Verifica accesso</string>
@ -2263,7 +2261,6 @@
<string name="end_poll_confirmation_approve_button">Termina sondaggio</string>
<string name="end_poll_confirmation_description">Ciò impedirà alle persone di poter votare e mostrerà i risultati finali del sondaggio.</string>
<string name="end_poll_confirmation_title">Terminare questo sondaggio\?</string>
<string name="a11y_poll_winner_option">opzione vincente</string>
<string name="poll_end_action">Termina sondaggio</string>
<plurals name="poll_total_vote_count_after_ended">
<item quantity="one">Risultato finale basato su %1$d voto</item>
@ -2704,9 +2701,6 @@
\n
\nIn questo modo hanno la certezza che stanno parlando davvero con te, ma significa anche che possono vedere il nome della sessione che inserisci qui.</string>
<string name="device_manager_learn_more_session_rename_title">Rinominare le sessioni</string>
<string name="device_manager_learn_more_sessions_verified">Le sessioni verificate hanno effettuato l\'accesso con le tue credenziali e sono state verificate, usando la frase di sicurezza o la verifica incrociata.
\n
\nCiò significa che hanno le tue chiavi di crittografia per i messaggi passati, e confermano agli altri utenti con cui comunichi che queste sessioni sono usate da te.</string>
<string name="device_manager_learn_more_sessions_verified_title">Sessioni verificate</string>
<string name="device_manager_learn_more_sessions_unverified">Le sessioni non verificate sono quelle in cui è stato fatto l\'accesso con le tue credenziali, ma che non sono state verificate.
\n
@ -2805,7 +2799,7 @@
<string name="qr_code_login_header_failed_other_device_already_signed_in_description">L\'altro dispositivo ha già fatto l\'accesso.</string>
<string name="qr_code_login_header_failed_e2ee_security_issue_description">Si è verificato un problema di sicurezza configurando i messaggi sicuri. Una delle seguenti cose potrebbe essere compromessa: il tuo homeserver; la/e connessione/i internet; il/i dispositivo/i;</string>
<string name="qr_code_login_header_failed_other_description">La richiesta è fallita.</string>
<string name="a11y_voice_broadcast_buffering">Buffer…</string>
<string name="voice_broadcast_buffering">Buffer…</string>
<string name="a11y_pause_voice_broadcast">Sospendi trasmissione vocale</string>
<string name="a11y_play_voice_broadcast">Avvia o riprendi trasmissione vocale</string>
<string name="a11y_stop_voice_broadcast_record">Ferma registrazione trasmissione vocale</string>
@ -2890,4 +2884,29 @@
<string name="room_polls_active_no_item">In questa stanza non ci sono sondaggi attivi</string>
<string name="room_polls_active">Sondaggi attivi</string>
<string name="room_profile_section_more_polls">Cronologia sondaggi</string>
</resources>
<string name="message_reply_to_ended_poll_preview">Sondaggio terminato</string>
<string name="message_reply_to_poll_preview">Sondaggio</string>
<string name="message_reply_to_sender_ended_poll">terminato un sondaggio.</string>
<string name="ended_poll_indicator">Sondaggio terminato.</string>
<string name="thread_list_not_available">Il tuo homeserver non supporta ancora l\'elenco di conversazioni.</string>
<string name="unable_to_decrypt_some_events_in_poll">A causa di errori di decifrazione, alcuni voti potrebbero non venire contati</string>
<string name="error_voice_broadcast_unable_to_play">Impossibile avviare questa trasmissione vocale.</string>
<string name="started_a_voice_broadcast">Iniziata una trasmissione vocale</string>
<string name="room_polls_loading_error">Errore di recupero dei sondaggi.</string>
<string name="room_polls_load_more">Carica più sondaggi</string>
<string name="room_polls_wait_for_display">Visualizzazione sondaggi</string>
<plurals name="room_polls_ended_no_item_for_loaded_period">
<item quantity="one">Non ci sono sondaggi passati nell\'ultimo giorno.
\nCarica più sondaggi per vedere quelli dei giorni precedenti.</item>
<item quantity="other">Non ci sono sondaggi passati negli ultimi %1$d giorni.
\nCarica più sondaggi per vedere quelli dei giorni precedenti.</item>
</plurals>
<plurals name="room_polls_active_no_item_for_loaded_period">
<item quantity="one">Non ci sono sondaggi attivi nell\'ultimo giorno.
\nCarica più sondaggi per vedere quelli dei giorni precedenti.</item>
<item quantity="other">Non ci sono sondaggi attivi negli ultimi %1$d giorni.
\nCarica più sondaggi per vedere quelli dei giorni precedenti.</item>
</plurals>
<string name="error_voice_message_broadcast_in_progress_message">Non puoi iniziare un messaggio vocale perché stai registrando una trasmissione in diretta. Termina la trasmissione per potere iniziare un messaggio vocale</string>
<string name="error_voice_message_broadcast_in_progress">Impossibile iniziare il messaggio vocale</string>
</resources>

View File

@ -1672,8 +1672,6 @@
</plurals>
<string name="cross_signing_verify_by_text">אמת ידנית באמצעות טקסט</string>
<string name="verify_this_session">אמת את הכניסה החדשה שניגשת לחשבונך: %1$s</string>
<string name="verify_other_sessions">אמת את כל ההפעלות שלך כדי להבטיח שהחשבון וההודעות שלך בטוחים</string>
<string name="review_logins">בדוק היכן נכנסת</string>
<string name="encrypted_unverified">מוצפן על ידי מכשיר לא מאומת</string>
<string name="unencrypted">לא מוצפן</string>
<string name="default_message_emote_snow">שולח שלג ❄️</string>
@ -2136,7 +2134,6 @@
<string name="end_poll_confirmation_approve_button">סוף המשאל</string>
<string name="end_poll_confirmation_description">פעולה זו תעצור את האפשרות להצביע ותציג את תוצאות המשאל.</string>
<string name="end_poll_confirmation_title">סוף המשאל\?</string>
<string name="a11y_poll_winner_option">אפשרות הזוכה</string>
<string name="poll_end_action">סוף המשאל</string>
<string name="create_poll_empty_question_error">שאלה לא יכולה להיות ריקה</string>
<string name="create_poll_button">צור משאל</string>
@ -2506,4 +2503,4 @@
\nזה יהיה מעבר חד פעמי שכן שרשורים הם כעת חלק ממפרט Matrix.</string>
<string name="screen_sharing_notification_title">שיתוף מסך של ${app_name}</string>
<string name="screen_sharing_notification_description">המסך משותף כרגע</string>
</resources>
</resources>

View File

@ -139,8 +139,8 @@
<string name="settings_add_email_address">メールアドレスを追加</string>
<string name="settings_add_phone_number">電話番号を追加</string>
<string name="settings_notification_ringtone">通知音</string>
<string name="settings_enable_all_notif">このアカウントで通知を有効にする</string>
<string name="settings_enable_this_device">このセッションで通知を有効にする</string>
<string name="settings_enable_all_notif">このアカウントで通知を有効にする</string>
<string name="settings_enable_this_device">このセッションで通知を有効にする</string>
<string name="settings_messages_in_one_to_one">1対1のチャットでのメッセージ</string>
<string name="settings_messages_in_group_chat">グループチャットでのメッセージ</string>
<string name="settings_invited_to_room">ルームへ招待されたとき</string>
@ -526,7 +526,7 @@
<string name="create_room_encryption_title">暗号化を有効にする</string>
<string name="create_room_encryption_description">いったん有効にすると、暗号化を無効にすることはできません。</string>
<string name="room_profile_section_security">セキュリティー</string>
<string name="room_profile_section_security_learn_more">しく知る</string>
<string name="room_profile_section_security_learn_more">細を表示</string>
<string name="room_profile_section_more">その他の設定</string>
<string name="room_profile_section_admin">管理者としての操作</string>
<string name="room_profile_section_more_settings">ルームの設定</string>
@ -1252,7 +1252,7 @@
<string name="login_connect_to_modular">Element Matrix Servicesに接続</string>
<string name="login_signin_matrix_id_title">Matrix IDでサインイン</string>
<string name="login_connect_using_matrix_id_submit">Matrix IDでサインイン</string>
<string name="login_server_modular_learn_more">しく知る</string>
<string name="login_server_modular_learn_more">細を表示</string>
<string name="login_server_other_title">その他</string>
<string name="login_server_other_text">カスタムと高度な設定</string>
<string name="login_server_url_form_modular_text">組織向けのプレミアムホスティング</string>
@ -1845,8 +1845,8 @@
<item quantity="other">%1$d個の投票があります。結果を見るには投票してください</item>
</plurals>
<string name="encrypted_unverified">未認証の端末で暗号化</string>
<string name="command_confetti">メッセージを紙吹雪と共に送</string>
<string name="command_snow">メッセージを降雪と共に送</string>
<string name="command_confetti">メッセージを紙吹雪と共に送</string>
<string name="command_snow">メッセージを降雪と共に送</string>
<string name="default_message_emote_confetti">紙吹雪🎉を送る</string>
<string name="default_message_emote_snow">降雪❄️を送る</string>
<string name="ftue_auth_carousel_workplace_title">あなたのチームのメッセージングに。</string>
@ -1930,7 +1930,6 @@
<string name="this_space_has_no_rooms_not_admin">非公開で招待が必要なルームは表示されていません。
\nルームを追加する権限はありません。</string>
<string name="this_space_has_no_rooms_admin">非公開で招待が必要なルームは表示されていません。</string>
<string name="a11y_poll_winner_option">勝者</string>
<string name="login_set_msisdn_notice">知人に見つけてもらえるように電話番号を設定できます。任意です。</string>
<string name="message_key">メッセージキー</string>
<string name="recovery_passphrase">復旧用のパスフレーズ</string>
@ -2223,8 +2222,6 @@
<string name="settings_security_pin_code_use_biometrics_summary_on">指紋や顔画像など、端末に固有の生体認証を有効にする。</string>
<string name="cross_signing_verify_by_emoji">絵文字で認証</string>
<string name="cross_signing_verify_by_text">テキストで認証</string>
<string name="verify_other_sessions">すべてのセッションを認証し、アカウントとメッセージが安全であることを確認してください</string>
<string name="review_logins">ログインしている場所を確認</string>
<string name="bad_passphrase_key_reset_all_action">復旧用の手段を全て無くしてしまいましたか?全てリセットする</string>
<string name="or_other_mx_capable_client">クロス署名に対応した他のMatrixのクライアントでも使用できます。</string>
<string name="create_spaces_room_public_header">どのような議論を%sで行いたいですか</string>
@ -2443,7 +2440,7 @@
<string name="home_layout_preferences">レイアウトの設定</string>
<string name="action_got_it">了解</string>
<string name="action_next">次へ</string>
<string name="action_learn_more">しく知る</string>
<string name="action_learn_more">細を表示</string>
<string name="time_unit_second_short"></string>
<string name="time_unit_minute_short"></string>
<string name="time_unit_hour_short"></string>
@ -2473,4 +2470,21 @@
<string name="login_scan_qr_code">QRコードをスキャン</string>
<string name="qr_code_login_header_scan_qr_code_title">QRコードをスキャン</string>
<string name="qr_code_login_header_failed_invalid_qr_code_description">QRコードが不正です。</string>
</resources>
<string name="space_list_empty_message">スペースは、ルームと連絡先をまとめる新しい方法です。はじめに、スペースを作成しましょう。</string>
<string name="home_layout_preferences_recents">最近の履歴を表示</string>
<string name="key_authenticity_not_guaranteed">この暗号化されたメッセージの信頼性はこの端末では保証できません。</string>
<string name="review_unverified_sessions_description">アカウントが安全かどうか確認してください</string>
<string name="review_unverified_sessions_title">未認証のセッションがあります</string>
<string name="room_list_filter_people">連絡先</string>
<string name="room_list_filter_favourites">お気に入り</string>
<string name="room_list_filter_unreads">未読あり</string>
<string name="room_list_filter_all">全て</string>
<string name="action_stop">はい、停止</string>
<string name="action_deselect_all">全ての選択を解除</string>
<string name="action_select_all">全て選択</string>
<string name="notice_voice_broadcast_ended_by_you">音声配信を終了しました。</string>
<string name="notice_voice_broadcast_ended">%1$sが音声配信を終了しました。</string>
<plurals name="x_selected">
<item quantity="other">%1$dを選択しました</item>
</plurals>
</resources>

View File

@ -463,8 +463,6 @@
<string name="security_prompt_text">Senqed iman-ik•im d wiyaḍ akken ad qqimen yidiwenniyen-ik•im d iɣellsanen</string>
<string name="use_recovery_key">Seqdec tasarut n uɛeddi</string>
<string name="unencrypted">Ur yettwawgelhen ara</string>
<string name="review_logins">Senqed ansi i d-tkecmeḍ</string>
<string name="verify_other_sessions">Senqed akk tiqimiyin-ik·im i wakken ad tḍemneḍ amiḍan-ik·m &amp; yiznan d iɣelsanen</string>
<string name="cross_signing_verify_by_text">Senqed s ufus s ttawil n uḍris</string>
<string name="identity_server_set_alternative_submit">Azen</string>
<string name="bottom_sheet_setup_secure_backup_submit">Sbadu</string>

View File

@ -1634,8 +1634,6 @@
<string name="crosssigning_verify_session">ຢືນຢັນການເຂົ້າສູ່ລະບົບ</string>
<string name="cross_signing_verify_by_text">ຢືນຢັນຂໍ້ຄວາມດ້ວຍຕົນເອງ</string>
<string name="verify_this_session">ຢືນຢັນການເຂົ້າສູ່ລະບົບໃໝ່ທີ່ເຂົ້າເຖິງບັນຊີຂອງທ່ານ: %1$s</string>
<string name="verify_other_sessions">ຢັ້ງຢືນທຸກລະບົບຂອງທ່ານເພື່ອໃຫ້ແນ່ໃຈວ່າບັນຊີ ແລະ ຂໍ້ຄວາມຂອງທ່ານປອດໄພ</string>
<string name="review_logins">ກວດເບິ່ງບ່ອນທີ່ທ່ານເຂົ້າສູ່ລະບົບ</string>
<string name="encrypted_unverified">ເຂົ້າລະຫັດໂດຍອຸປະກອນທີ່ບໍ່ໄດ້ຮັບການຢືນຢັນ</string>
<string name="unencrypted">ບໍ່ໄດ້ເຂົ້າລະຫັດ</string>
<string name="default_message_emote_snow">ສົ່ງຫິມະຕົກ ❄️</string>
@ -2371,7 +2369,6 @@
<string name="end_poll_confirmation_approve_button">ສິ້ນສຸດແບບສຳຫຼວດ</string>
<string name="end_poll_confirmation_description">ອັນນີ້ຈະຢຸດບໍ່ໃຫ້ຜູ້ຄົນສາມາດລົງຄະແນນສຽງໄດ້ ແລະຈະສະແດງຜົນສຸດທ້າຍຂອງການສຳຫຼວດຄວາມຄິດເຫັນ.</string>
<string name="end_poll_confirmation_title">ສິ້ນສຸດແບບສຳຫຼວດນີ້ບໍ\?</string>
<string name="a11y_poll_winner_option">ເລືອກຜູ້ຊະນະ</string>
<string name="poll_end_action">ສິ້ນສຸດແບບສຳຫຼວດ</string>
<plurals name="poll_total_vote_count_after_ended">
<item quantity="other">ຜົນສຸດທ້າຍໂດຍອີງໃສ່ %1$d ຄະແນນສຽງ</item>

View File

@ -1324,7 +1324,6 @@
<string name="poll_end_room_list_preview">Apklausa baigėsi</string>
<string name="poll_response_room_list_preview">Prabalsuota</string>
<string name="end_poll_confirmation_approve_button">Baigti apklausą</string>
<string name="a11y_poll_winner_option">laimėtojo parinktis</string>
<string name="poll_undisclosed_not_ended">Rezultatai bus matomi pasibaigus apklausai</string>
<string name="poll_no_votes_cast">Nėra balsų</string>
<string name="restart_the_application_to_apply_changes">Iš naujo paleiskite programą, kad pakeitimas įsigaliotų.</string>
@ -2183,4 +2182,4 @@
<string name="labs_enable_deferred_dm_title">Įjungti atidėtas AŽ</string>
<string name="labs_enable_new_app_layout_summary">Supaprastintas Element su nebūtinais skirtukais</string>
<string name="labs_enable_new_app_layout_title">Įjungti naują išdėstymą</string>
</resources>
</resources>

View File

@ -559,8 +559,6 @@ Nākotnē šī pārbaudes procedūra plānota sarežģītāka.</string>
<string name="invite_users_to_room_title">Uzaicināt lietotājus</string>
<string name="confirm_your_identity">Apstipriniet savu identitāti, verificējot šo pierakstīšanos no kādas citas savas sesijas, tādējādi ļaujot piekļūt šifrētajām ziņām.</string>
<string name="cross_signing_verify_by_text">Manuāli verificēt ar tekstu</string>
<string name="verify_other_sessions">Verificējiet visas savas sesijas, lai nodrošinātos, ka jūsu konts un ziņas ir drošībā</string>
<string name="review_logins">Pārskatiet savas pierakstīšanās</string>
<string name="unencrypted">Nešifrēts</string>
<string name="or_other_mx_capable_client">vai kādu citu Matrix lietotni ar cross-signing atbalstu</string>
<string name="auth_invalid_login_deactivated_account">Šis konts ir deaktivizēts.</string>

View File

@ -1001,8 +1001,6 @@
<string name="secure_backup_reset_if_you_reset_all">Hvis du tilbakestiller alt</string>
<string name="secure_backup_reset_no_history">Du starter på nytt uten historikk, ingen meldinger, pålitelige enheter eller pålitelige brukere</string>
<string name="encrypted_unverified">Kryptert av en ubekreftet enhet</string>
<string name="review_logins">Gjennomgå hvor du er logget inn</string>
<string name="verify_other_sessions">Bekreft alle øktene dine for å sikre at kontoen og meldingene dine er trygge</string>
<string name="verify_this_session">Bekreft den nye påloggingen som får tilgang til kontoen din: %1$s</string>
<string name="crosssigning_verify_session">Bekreft pålogging</string>
<string name="confirm_your_identity">Bekreft identiteten din ved å bekrefte denne påloggingen fra en av de andre øktene dine, og gi den tilgang til krypterte meldinger.</string>
@ -1253,4 +1251,4 @@
<string name="notice_display_name_set">%1$s endret visningsnavnet sitt til %2$s</string>
<string name="notice_room_ban">%1$s utestengte %2$s</string>
<string name="notice_room_invite_no_invitee">%ss invitasjon</string>
</resources>
</resources>

View File

@ -1858,8 +1858,6 @@
<string name="cross_signing_verify_by_emoji">Interactief verifiëren door Emoji</string>
<string name="cross_signing_verify_by_text">Handmatig verifiëren via tekst</string>
<string name="verify_this_session">Verifieer de nieuwe login voor toegang tot je account: %1$s</string>
<string name="verify_other_sessions">Verifieer al je sessies om ervoor te zorgen dat je account en berichten veilig zijn</string>
<string name="review_logins">Bekijk waar je bent ingelogd</string>
<string name="encrypted_unverified">Versleuteld door een niet-geverifieerd apparaat</string>
<string name="default_message_emote_snow">stuurt sneeuwval ❄️</string>
<string name="default_message_emote_confetti">stuurt confetti 🎉</string>
@ -2186,7 +2184,6 @@
<string name="end_poll_confirmation_approve_button">Einde poll</string>
<string name="end_poll_confirmation_description">Hierdoor kunnen mensen niet meer stemmen en worden de definitieve resultaten van de poll weergegeven.</string>
<string name="end_poll_confirmation_title">Deze poll beëindigen\?</string>
<string name="a11y_poll_winner_option">winnaar optie</string>
<string name="poll_end_action">Einde poll</string>
<plurals name="poll_total_vote_count_after_ended">
<item quantity="one">Eindresultaat gebaseerd op %1$d stem</item>
@ -2746,7 +2743,7 @@
<string name="device_manager_verification_status_detail_other_session_verified">Deze sessie is klaar voor veilige communicatie.</string>
<string name="device_manager_verification_status_detail_current_session_verified">Je huidige sessie is klaar voor veilige communicatie.</string>
<string name="device_manager_verification_status_unknown">Onbekende verificatiestatus</string>
<string name="a11y_voice_broadcast_buffering">Bufferen</string>
<string name="voice_broadcast_buffering">Bufferen</string>
<string name="voice_broadcast_live">Live</string>
<string name="key_authenticity_not_guaranteed">De authenticiteit van dit versleutelde bericht kan niet worden gegarandeerd op dit apparaat.</string>
<string name="settings_security_incognito_keyboard_title">Incognito toetsenbord</string>
@ -2787,9 +2784,6 @@
\n
\nDit geeft ze het vertrouwen dat ze echt met jou praten, maar het betekent ook dat ze de sessienaam kunnen zien die je hier invoert.</string>
<string name="device_manager_learn_more_session_rename_title">Sessies hernoemen</string>
<string name="device_manager_learn_more_sessions_verified">Geverifieerde sessies zijn ingelogd met jouw inloggegevens en vervolgens geverifieerd, hetzij met je veilige wachtwoordzin of door kruisverificatie.
\n
\nDit betekent dat ze coderingssleutels bevatten voor je eerdere berichten en bevestigen aan andere gebruikers waarmee je communiceert dat deze sessies echt van jou zijn.</string>
<string name="device_manager_learn_more_sessions_unverified">Niet-geverifieerde sessies zijn sessies die zijn aangemeld met jouw inloggegevens, maar niet zijn geverifieerd.
\n
\nJe moet er vooral zeker van zijn dat je deze sessies herkent, omdat ze een ongeoorloofd gebruik van je account kunnen vertegenwoordigen.</string>
@ -2842,4 +2836,4 @@
<string name="editing">Bewerking</string>
<string name="settings_enable_direct_share_summary">Recente gesprekken in het deelmenu van het systeem tonen</string>
<string name="settings_enable_direct_share_title">Direct delen inschakelen</string>
</resources>
</resources>

View File

@ -665,7 +665,7 @@
<string name="room_list_quick_actions_notifications_mute">Wycisz</string>
<string name="room_list_quick_actions_settings">Ustawienia</string>
<string name="no_ignored_users">Nie ignorujesz żadnych użytkowników</string>
<string name="seen_by">Widziany przez</string>
<string name="seen_by">Wyświetlono przez</string>
<string name="settings_advanced_settings">Zaawansowane ustawienia</string>
<string name="settings_developer_mode">Tryb programisty</string>
<string name="settings">Ustawienia</string>
@ -1553,8 +1553,6 @@
<string name="cross_signing_verify_by_emoji">Interaktywna weryfikacja z wykorzystaniem emotikon</string>
<string name="crosssigning_verify_session">Zweryfikuj logowanie</string>
<string name="verify_this_session">Zweryfikuj nowe logowanie do swojego konta: %1$s</string>
<string name="verify_other_sessions">Sprawdź wszystkie swoje sesje żeby upewnić się, że Twoje konto oraz wiadomości są bezpieczne</string>
<string name="review_logins">Sprawdź gdzie jesteś zalogowany(-na)</string>
<string name="encrypted_unverified">Zaszyfrowane przez niezweryfikowane urządzenie</string>
<string name="unencrypted">Niezaszyfrowane</string>
<plurals name="secure_backup_reset_devices_you_can_verify">
@ -2514,7 +2512,6 @@
<string name="open_poll_option_title">Otwarta ankieta</string>
<string name="poll_type_title">Rodzaj ankiety</string>
<string name="edit_poll_title">Modyfikacja ankiety</string>
<string name="a11y_poll_winner_option">opcja zwyciężająca</string>
<string name="poll_no_votes_cast">Brak głosów</string>
<string name="this_invite_to_this_space_was_sent">Zaproszenie do tej przestrzeni zostało wysłane do %s, które nie jest powiązane z Twoim kontem</string>
<string name="this_invite_to_this_room_was_sent">Zaproszenie do tego pokoju zostało wysłane do %s, które nie jest powiązane z Twoim kontem</string>
@ -2798,4 +2795,4 @@
<string name="action_got_it">Rozumiem</string>
<string name="a11y_collapse_space_children">Zwiń %s pokojów</string>
<string name="a11y_expand_space_children">Rozwiń %s pokojów</string>
</resources>
</resources>

View File

@ -1526,8 +1526,6 @@
<string name="failed_to_access_secure_storage">Falha para acessar armazenamento seguro</string>
<string name="unencrypted">Não-encripada</string>
<string name="encrypted_unverified">Encriptada por um dispositivo não-verificado</string>
<string name="review_logins">Revisar onde você está com login feito</string>
<string name="verify_other_sessions">Verifique todas as suas sessões para assegurar que sua conta &amp; mensagens estão seguras</string>
<string name="verify_this_session">Verifique o novo login acessando sua conta: %1$s</string>
<string name="cross_signing_verify_by_text">Verificar Manualmente por Texto</string>
<string name="crosssigning_verify_session">Verificar login</string>
@ -2272,7 +2270,6 @@
<string name="end_poll_confirmation_approve_button">Terminar sondagem</string>
<string name="end_poll_confirmation_description">Isto vai parar pessoas de serem capazes de votar e vai exibir os resultados finais da sondagem.</string>
<string name="end_poll_confirmation_title">Terminar esta sondagem\?</string>
<string name="a11y_poll_winner_option">opção vencedora</string>
<string name="poll_end_action">Terminar sondagem</string>
<plurals name="poll_total_vote_count_after_ended">
<item quantity="one">Resultado final baseado em %1$d voto</item>
@ -2713,9 +2710,6 @@
\n
\nIsto as/os provê com confiança que elas(es) são estão realmente falando com você, mas também significa que elas(es) veem o nome da sessão que você entrar aqui.</string>
<string name="device_manager_learn_more_session_rename_title">Renomeando sessões</string>
<string name="device_manager_learn_more_sessions_verified">Sessões verificadas têm feito login com suas credenciais e então têm sido verificadas, ou usando sua frasepasse segura ou por verificação cruzada.
\n
\nIsto significa que elas mantêm chaves de encriptação para suas mensagens anteriores, e confirmam a outras(os) usuárias(os) com quem você está comunicando que estas sessões são realmente você.</string>
<string name="device_manager_learn_more_sessions_verified_title">Sessões verificadas</string>
<string name="device_manager_learn_more_sessions_unverified">Sessões não-verificadas são sessões que você tem feito login com suas credenciais mas não têm sido verificadas cruzado.
\n
@ -2814,7 +2808,7 @@
<string name="qr_code_login_header_failed_other_description">A requisição falhou.</string>
<string name="labs_enable_voice_broadcast_summary">Seja capaz de gravar e enviar broadcast de voz em timeline de sala.</string>
<string name="labs_enable_voice_broadcast_title">Broadcast de voz</string>
<string name="a11y_voice_broadcast_buffering">Buffering…</string>
<string name="voice_broadcast_buffering">Buffering…</string>
<string name="a11y_pause_voice_broadcast">Pausar broadcast de voz</string>
<string name="a11y_play_voice_broadcast">Tocar ou retomar broadcast de voz</string>
<string name="a11y_stop_voice_broadcast_record">Parar gravação de broadcast de voz</string>
@ -2890,4 +2884,4 @@
<string name="stop_voice_broadcast_content">Tem certeza que você quer parar seu broadcast ao vivo\? Isto vai terminar o broadcast e a gravação completa vai estar disponível na sala.</string>
<string name="stop_voice_broadcast_dialog_title">Parar de fazer broadcasting ao vivo\?</string>
<string name="action_stop">Sim, Parar</string>
</resources>
</resources>

View File

@ -1577,8 +1577,6 @@
<string name="failed_to_access_secure_storage">Не удалось получить доступ к защищенному хранилищу данных</string>
<string name="unencrypted">Не зашифровано</string>
<string name="encrypted_unverified">Зашифровано неподтверждённой сессией</string>
<string name="review_logins">Посмотрите, где вы вошли</string>
<string name="verify_other_sessions">Подтвердите все свои сессии, чтобы убедиться в безопасности вашей учетной записи и сообщений</string>
<string name="cross_signing_verify_by_text">Ручная проверка с помощью текста</string>
<string name="external_link_confirmation_title">Перепроверьте эту ссылку</string>
<string name="external_link_confirmation_message">Ссылка %1$s перенаправит вас на другой сайт: %2$s.
@ -2332,7 +2330,6 @@
<string name="end_poll_confirmation_approve_button">Завершить опрос</string>
<string name="end_poll_confirmation_description">Это лишит людей возможности голосовать и отобразит окончательные результаты опроса.</string>
<string name="end_poll_confirmation_title">Завершить этот опрос\?</string>
<string name="a11y_poll_winner_option">вариант-победитель</string>
<string name="poll_end_action">Завершить опрос</string>
<plurals name="poll_total_vote_count_after_ended">
<item quantity="one">Окончательный результат на основании %1$d голоса</item>
@ -2882,9 +2879,6 @@
<string name="device_manager_learn_more_sessions_verified_description">Заверенные сеансы есть везде, где вы используете эту учётную запись после ввода своей мнемонической фразы или подтверждения своей личности с помощью другого заверенного сеанса.
\n
\nЭто означает, что у вас есть все ключи, необходимые для разблокировки ваших зашифрованных сообщений и подтверждения другим пользователям, что вы доверяете этому сеансу.</string>
<string name="device_manager_learn_more_sessions_verified" tools:ignore="UnusedResources">Заверенные сеансы — сеансы, которые вошли в систему с вашими учётными данными, а затем были заверены либо мнемонической фразой (бумажным ключом), либо путём перекрёстной сверки.
\n
\nЭто означает, что они хранят ключи шифрования от ваших предыдущих сообщений и подтверждают другим пользователям, с которыми вы общаетесь, что эти сеансы — действительно ваши.</string>
<string name="device_manager_learn_more_sessions_unverified">Незаверенные сеансы — это сеансы, которые вошли в систему с вашими учётными данными, но не были перекрёстно заверены.
\n
\nВы должны быть особенно уверены, что признаёте эти сеансы, поскольку они могут представлять собой несанкционированное использование вашей учётной записи.</string>
@ -2921,7 +2915,7 @@
<string name="error_voice_broadcast_unauthorized_title">Не получилось начать новую голосовую трансляцию</string>
<string name="a11y_voice_broadcast_fast_forward">Перемотать вперёд на 30 секунд</string>
<string name="a11y_voice_broadcast_fast_backward">Перемотать назад на 30 секунд</string>
<string name="a11y_voice_broadcast_buffering">Буферизация…</string>
<string name="voice_broadcast_buffering">Буферизация…</string>
<string name="a11y_pause_voice_broadcast">Приостановить голосовую трансляцию</string>
<string name="a11y_play_voice_broadcast">Проиграть или продолжить голосовую трансляцию</string>
<string name="a11y_stop_voice_broadcast_record">Остановить запись голосовой трансляции</string>
@ -2976,4 +2970,4 @@
<string name="device_manager_verification_status_detail_session_encryption_not_supported">Этот сеанс не поддерживает шифрование и поэтому не может быть заверен.</string>
<string name="notice_voice_broadcast_ended">%1$s завершил(а) голосовую трансляцию.</string>
<string name="notice_voice_broadcast_ended_by_you">Вы завершили голосовую трансляцию.</string>
</resources>
</resources>

View File

@ -2001,8 +2001,6 @@
<string name="cross_signing_verify_by_emoji">Interaktívne overte pomocou emotikonov</string>
<string name="cross_signing_verify_by_text">Manuálne overte pomocou textu</string>
<string name="verify_this_session">Overte nové prihlásenie s prístupom k vášmu účtu: %1$s</string>
<string name="verify_other_sessions">Overte všetky vaše relácie, aby ste si boli istý, že sú vaše správy a účet bezpečné</string>
<string name="review_logins">Skontrolujte, kde ste prihlásení</string>
<string name="encrypted_unverified">Šifrované neovereným zariadením</string>
<string name="default_message_emote_snow">pošle sneženie ❄️</string>
<string name="default_message_emote_confetti">pošle konfety 🎉</string>
@ -2421,7 +2419,6 @@
<string name="login_signin_sso">Pokračovať pomocou jednotného prihlásenia SSO</string>
<string name="login_social_sso">jednotné prihlásenie SSO</string>
<string name="a11y_close_keys_backup_banner">Zatvoriť výzvu na zálohovanie kľúčov</string>
<string name="a11y_poll_winner_option">Výťazná odpoveď</string>
<string name="a11y_unchecked">Nezaškrtnuté</string>
<string name="a11y_checked">Zaškrtnuté</string>
<string name="a11y_unsent_draft">Rozpísaná správa</string>
@ -2767,9 +2764,6 @@
\n
\nTo im poskytuje istotu, že sa komunikujú naozaj s vami, ale zároveň to znamená, že vidia názov relácie, ktorý sem zadáte.</string>
<string name="device_manager_learn_more_session_rename_title">Premenovanie relácií</string>
<string name="device_manager_learn_more_sessions_verified">Overené relácie, do ktorých ste sa prihlásili pomocou svojich prihlasovacích údajov a ktoré boli následne overené buď pomocou vašej bezpečnostnej prístupovej frázy, alebo krížovým overením.
\n
\nTo znamená, že majú šifrovacie kľúče pre vaše predchádzajúce správy a potvrdzujú ostatným používateľom, s ktorými komunikujete, že tieto relácie ste skutočne vy.</string>
<string name="device_manager_learn_more_sessions_verified_title">Overené relácie</string>
<string name="device_manager_learn_more_sessions_unverified">Neoverené relácie sú relácie, do ktorých ste sa prihlásili pomocou svojich prístupových údajov, ale ktoré neboli krížovo overené.
\n
@ -2868,7 +2862,7 @@
<string name="qr_code_login_header_failed_other_description">Žiadosť zlyhala.</string>
<string name="labs_enable_voice_broadcast_summary">Možnosť nahrávania a odosielania hlasového vysielania v časovej osi miestnosti.</string>
<string name="labs_enable_voice_broadcast_title">Zapnúť hlasové vysielanie</string>
<string name="a11y_voice_broadcast_buffering">Načítavanie do vyrovnávacej pamäte…</string>
<string name="voice_broadcast_buffering">Načítavanie do vyrovnávacej pamäte…</string>
<string name="a11y_pause_voice_broadcast">Pozastaviť hlasové vysielanie</string>
<string name="a11y_play_voice_broadcast">Prehrať alebo pokračovať v nahrávaní hlasového vysielania</string>
<string name="a11y_stop_voice_broadcast_record">Zastaviť nahrávanie hlasového vysielania</string>
@ -2955,4 +2949,33 @@
<string name="room_polls_active_no_item">V tejto miestnosti nie sú žiadne aktívne ankety</string>
<string name="room_polls_active">Aktívne ankety</string>
<string name="room_profile_section_more_polls">História ankety</string>
</resources>
<string name="message_reply_to_ended_poll_preview">Ukončená anketa</string>
<string name="message_reply_to_poll_preview">Anketa</string>
<string name="message_reply_to_sender_ended_poll">ukončil/a anketu.</string>
<string name="ended_poll_indicator">Ukončil/a anketu.</string>
<string name="thread_list_not_available">Váš domovský server zatiaľ nepodporuje zobrazovanie vlákien.</string>
<string name="error_voice_broadcast_unable_to_play">Toto hlasové vysielanie nie je možné prehrať.</string>
<string name="started_a_voice_broadcast">Spustil/a hlasové vysielanie</string>
<string name="unable_to_decrypt_some_events_in_poll">Z dôvodu chýb v dešifrovaní sa niektoré hlasy nemusia započítať</string>
<string name="room_polls_loading_error">Chyba pri načítavaní ankiet.</string>
<string name="room_polls_load_more">Načítať ďalšie ankety</string>
<string name="room_polls_wait_for_display">Zobrazenie ankiet</string>
<plurals name="room_polls_ended_no_item_for_loaded_period">
<item quantity="one">Za uplynulý deň nie sú k dispozícii žiadne ankety.
\nNačítaním ďalších ankiet zobrazíte ankety za predchádzajúce dni.</item>
<item quantity="few">Za posledné %1$d dni nie sú aktívne žiadne ankety.
\nNačítaním ďalších ankiet zobrazíte ankety za predchádzajúce dni.</item>
<item quantity="other">Za posledných %1$d dní nie sú aktívne žiadne ankety.
\nNačítaním ďalších ankiet zobrazíte ankety za predchádzajúce dni.</item>
</plurals>
<plurals name="room_polls_active_no_item_for_loaded_period">
<item quantity="one">Za posledný deň nie sú aktívne žiadne ankety.
\nNačítaním ďalších ankiet zobrazíte ankety za predchádzajúce dni.</item>
<item quantity="few">Za posledných %1$d dni nie sú aktívne žiadne ankety.
\nNačítaním ďalších ankiet zobrazíte ankety za predchádzajúce dni.</item>
<item quantity="other">Za posledných %1$d dní nie sú aktívne žiadne ankety.
\nNačítaním ďalších ankiet zobrazíte ankety za predchádzajúce dni.</item>
</plurals>
<string name="error_voice_message_broadcast_in_progress_message">Nemôžete spustiť hlasovú správu, pretože práve nahrávate živé vysielanie. Ukončite prosím živé vysielanie, aby ste mohli začať nahrávať hlasovú správu</string>
<string name="error_voice_message_broadcast_in_progress">Nemožno spustiť hlasovú správu</string>
</resources>

View File

@ -1413,8 +1413,6 @@
<string name="failed_to_access_secure_storage">Su arrit të hyhet në depozitë të sigurt</string>
<string name="unencrypted">Të pafshehtëzuara</string>
<string name="encrypted_unverified">Fshehtëzuar nga një pajisje e paverifikuar</string>
<string name="review_logins">Shqyrtojini kur të jeni i futur</string>
<string name="verify_other_sessions">Verifikoni krejt sesionet tuaj që të siguroheni se llogaria &amp; mesazhet tuaja janë të sigurt</string>
<string name="verify_this_session">Verifikoni kredencialet e reja për hyrje te llogaria juaj: %1$s</string>
<string name="cross_signing_verify_by_text">Verifikojeni Dorazi përmes Teksti</string>
<string name="crosssigning_verify_session">Verifikoni kredenciale hyrjeje</string>
@ -2512,9 +2510,6 @@
\n
\nKjo u jep atyre besim se po flasin vërtet me ju, por do të thotë gjithashtu që mund shohin emrin e sesionit që jepni këtu.</string>
<string name="device_manager_learn_more_session_rename_title">Riemërtim sesionesh</string>
<string name="device_manager_learn_more_sessions_verified">Sesionet e verifikuar përfaqësojnë sesione ku është bërë hyrja dhe janë verifikuar, ose duke përdorur togfjalëshin tuaj të sigurt, ose me verifikim.
\n
\nKjo do të thotë se zotërojnë kyçe fshehtëzimi për mesazhe tuajt të mëparshëm dhe u ripohojnë përdoruesve të tjerë, me të cilët po komunikoni, se këto sesione ju takojnë juve.</string>
<string name="device_manager_learn_more_sessions_verified_title">Sesione të verifikuar</string>
<string name="device_manager_learn_more_sessions_unverified">Sesionet e paverifikuar janë sesione në të cilët është bërë hyrja me kredencialet tuaja, por pa u bërë verifikim.
\n
@ -2659,7 +2654,7 @@
\nKy shërbyes Home mund të mos jetë formësuar të shfaqë harta.</string>
<string name="poll_undisclosed_not_ended">Përfundimet do të jenë të dukshme pasi të ketë përfunduar pyetësori</string>
<string name="labs_enable_msc3061_share_history_desc">Kur bëhet ftesë në një dhomë të fshehtëzuar që ka historik ndarjesh me të tjerët, historiku i fshehtëzuar do të jetë i dukshëm.</string>
<string name="a11y_voice_broadcast_buffering"/>
<string name="voice_broadcast_buffering"/>
<string name="a11y_pause_voice_broadcast">Ndal transmetim zanor</string>
<string name="a11y_play_voice_broadcast">Luani ose vazhdoni luajtje transmetimi zanor</string>
<string name="a11y_stop_voice_broadcast_record">Ndal incizim transmetimi zanor</string>
@ -2876,10 +2871,20 @@
<string name="set_link_text">Tekst</string>
<string name="settings_access_token_summary">Tokeni juaj i hyrjeve jep hyrje të plotë në llogarinë tuaj. Mos ia jepni kujt.</string>
<string name="settings_access_token">Token Hyrjesh</string>
<string name="room_polls_ended_no_item">Ska pyetësorë të kaluar në këtë dhomë</string>
<string name="room_polls_ended">Pyetësorë të kaluar</string>
<string name="room_polls_ended_no_item">Në këtë dhomë ska pyetësorë të dikurshëm</string>
<string name="room_polls_ended">Pyetësorë të dikurshëm</string>
<string name="room_polls_active_no_item">Ska pyetësorë aktivë në këtë dhomë</string>
<string name="room_polls_active">Pyetësorë aktivë</string>
<string name="a11y_poll_winner_option">mundësia fituese</string>
<string name="room_profile_section_more_polls">Historik pyetësorësh</string>
</resources>
<string name="message_reply_to_ended_poll_preview">Përfundoi pyetësorin</string>
<string name="ended_poll_indicator">Përfundoi pyetësorin.</string>
<string name="message_reply_to_poll_preview">Pyetësor</string>
<string name="message_reply_to_sender_ended_poll">përfundoi një pyetësor.</string>
<string name="rich_text_editor_bullet_list">Shfaq/fshi listë me toptha</string>
<string name="rich_text_editor_numbered_list">Shfaq/fshi listë të numërtuar</string>
<string name="rich_text_editor_link">Ujdisni lidhje</string>
<string name="unable_to_decrypt_some_events_in_poll">Për shkak gabimesh shfshehtëzimi, mund të mos jenë numëruar disa vota</string>
<string name="error_voice_broadcast_unable_to_play">Sarrihet të luhet ky transmetim zanor.</string>
<string name="started_a_voice_broadcast">Nisni një transmetim zanor</string>
<string name="thread_list_not_available">Shërbyesi juaj Home smbulon ende paraqitje rrjedhash.</string>
</resources>

View File

@ -662,8 +662,6 @@
<string name="encryption_not_enabled">Kryptering inte aktiverat</string>
<string name="settings_notification_configuration">Aviseringskonfiguration</string>
<string name="settings_messages_at_room">Meddelanden som innehåller @room</string>
<string name="review_logins">Granska var du är inloggad</string>
<string name="verify_other_sessions">Verifiera alla dina sessioner för att se till att ditt konto och dina meddelanden är säkra</string>
<string name="create_room_dm_failure">Vi kunde inte skapa ditt DM. Vänligen kolla användarna du vill bjuda in och försök igen.</string>
<string name="invite_users_to_room_action_invite">BJUD IN</string>
<string name="invite_users_to_room_title">Bjud in användare</string>
@ -2281,7 +2279,6 @@
<string name="end_poll_confirmation_approve_button">Avsluta omröstningen</string>
<string name="end_poll_confirmation_description">Det här kommer att stoppa personer från att rösta och visa det slutgiltiga resultatet av omröstningen.</string>
<string name="end_poll_confirmation_title">Avsluta den här omröstningen\?</string>
<string name="a11y_poll_winner_option">vinnande alternativ</string>
<string name="poll_end_action">Avsluta omröstning</string>
<plurals name="poll_total_vote_count_after_ended">
<item quantity="one">Slutgiltigt resultat baserat på %1$d röst</item>
@ -2737,9 +2734,6 @@
\n
\nDet försäkrar dem om att de verkligen pratar med dig, men det betyder också att de kan se sessionsnamnet du anger här.</string>
<string name="device_manager_learn_more_session_rename_title">Döper om sessioner</string>
<string name="device_manager_learn_more_sessions_verified">Verifierade sessioner har loggat in med dina uppgifter och har sedan verifierats, antingen med din säkra lösenfras eller genom att kors-verifiera.
\n
\nDet betyder att det har krypteringsnycklar för dina tidigare meddelanden, bekräftar för andra användare du kommunicerar med att dessa sessioner verkligen är du.</string>
<string name="device_manager_learn_more_sessions_verified_title">Verifierade sessioner</string>
<string name="device_manager_learn_more_sessions_unverified">Overifierade sessioner är sessioner som har loggat in med dina uppgifter men som inte har kors-verifierats.
\n
@ -2804,7 +2798,7 @@
<string name="qr_code_login_header_show_qr_code_new_device_description">Använd din inloggade enhet för att skanna QR-koden nedan:</string>
<string name="qr_code_login_header_show_qr_code_title">Logga in med QR-kod</string>
<string name="qr_code_login_header_scan_qr_code_description">Använd den här enhetens kamera för att skanna QR-koden på din andra enhet:</string>
<string name="a11y_voice_broadcast_buffering">Buffrar…</string>
<string name="voice_broadcast_buffering">Buffrar…</string>
<string name="a11y_pause_voice_broadcast">Pausa röstsändning</string>
<string name="a11y_play_voice_broadcast">Spela eller återuppta röstsändning</string>
<string name="a11y_stop_voice_broadcast_record">Avsluta inspelning av röstsändning</string>
@ -2882,4 +2876,26 @@
<string name="voice_broadcast_live_broadcast">Direktsändning</string>
<string name="notice_voice_broadcast_ended_by_you">Du avslutade en röstsändning.</string>
<string name="notice_voice_broadcast_ended">%1$s avslutade en röstsändning.</string>
</resources>
<string name="settings_access_token_summary">Din åtkomsttoken ger full åtkomst till ditt konto. Dela den inte med någon.</string>
<string name="settings_access_token">Åtkomsttoken</string>
<string name="message_reply_to_ended_poll_preview">Avslutade omröstning</string>
<string name="message_reply_to_poll_preview">Omröstning</string>
<string name="message_reply_to_sender_ended_poll">avslutade en omröstning.</string>
<string name="set_link_edit">Redigera länk</string>
<string name="set_link_create">Skapa en länk</string>
<string name="set_link_link">Länk</string>
<string name="set_link_text">Text</string>
<string name="rich_text_editor_bullet_list">Växla punktlista</string>
<string name="rich_text_editor_numbered_list">Växla numrerad lista</string>
<string name="rich_text_editor_link">Sätt länk</string>
<string name="room_polls_ended_no_item">Det finns inga tidigare omröstningar i det här rummet</string>
<string name="room_polls_ended">Tidigare omröstningar</string>
<string name="room_polls_active_no_item">Det finns inga aktiva omröstningar i det här rummet</string>
<string name="room_polls_active">Aktiva omröstningar</string>
<string name="ended_poll_indicator">Avslutade omröstningen.</string>
<string name="stop_voice_broadcast_content">Är du säker på att du vill avsluta din direktsändning\? Detta kommer att avsluta sändningen och den fulla inspelningen kommer att bli tillgänglig i rummet.</string>
<string name="stop_voice_broadcast_dialog_title">Avsluta röstsändning\?</string>
<string name="room_profile_section_more_polls">Omröstningshistorik</string>
<string name="thread_list_not_available">Din hemserver har inte stöd för att lista trådar än.</string>
<string name="action_stop">Ja, sluta</string>
</resources>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="notice_room_remove_by_you">umeondoa %1$s</string>
<string name="notice_room_remove">%1$s kuondolewa %2$s</string>
<string name="notice_room_reject_by_you">Ulikataa mwaliko</string>
<string name="notice_room_reject">%1$s alikataa mwaliko</string>
<string name="notice_direct_room_join_by_you">Ulijiunga</string>
<string name="notice_direct_room_join">%1$s alijiunga</string>
<string name="notice_room_invite_you">%1$s Amekualika</string>
<plurals name="x_selected">
<item quantity="one">%1$d Iliyochaguliwa</item>
<item quantity="other">%1$d Ziliyochaguliwa</item>
</plurals>
</resources>

View File

@ -1156,7 +1156,6 @@
<string name="trusted">Довірений</string>
<string name="verification_conclusion_warning">Не довірений вхід</string>
<string name="confirm_your_identity">Підтвердьте особу, звіривши цей вхід своїм іншим сеансом і надавши йому доступ до зашифрованих повідомлень.</string>
<string name="verify_other_sessions">Звірте усі свої сеанси, щоб переконатись у безпечності вашого облікового запису та повідомлень</string>
<string name="room_member_profile_sessions_section_title">Сеанси</string>
<string name="room_member_profile_failed_to_get_devices">Не вдалось отримати сеанси</string>
<string name="crypto_error_withheld_unverified">Ви не маєте доступу до цього повідомлення, бо відправник не довіряє вашому сеансу</string>
@ -2012,7 +2011,6 @@
<string name="add_people">Додати людей</string>
<string name="add_members_to_room">Додати учасників</string>
<string name="external_link_confirmation_title">Перевірте це посилання</string>
<string name="review_logins">Перевірте, де ви ввійшли</string>
<string name="cross_signing_verify_by_emoji">Інтерактивна перевірка за допомогою емоджі</string>
<string name="error_empty_field_choose_password">Виберіть пароль.</string>
<string name="error_empty_field_choose_user_name">Виберіть ім\'я користувача.</string>
@ -2360,7 +2358,6 @@
<string name="end_poll_confirmation_approve_button">Завершити опитування</string>
<string name="end_poll_confirmation_description">Люди більше не зможуть голосувати, і будуть показані остаточні результати опитування.</string>
<string name="end_poll_confirmation_title">Завершити це опитування\?</string>
<string name="a11y_poll_winner_option">варіант-переможець</string>
<string name="poll_end_action">Завершити опитування</string>
<plurals name="poll_total_vote_count_after_ended">
<item quantity="one">Остаточний результат на підставі %1$d голосу</item>
@ -2821,9 +2818,6 @@
\n
\nЦе дає їм впевненість у тому, що вони дійсно розмовляють з вами, а також означає, що вони можуть бачити назву сеансу, яку ви ввели тут.</string>
<string name="device_manager_learn_more_session_rename_title">Перейменування сеансів</string>
<string name="device_manager_learn_more_sessions_verified">Звірені сеанси — ті, до яких ви ввійшли за допомогою своїх облікових даних, а потім пройшли перевірку, використовуючи вашу захищену парольну фразу або шляхом перехресної перевірки.
\n
\nЦе означає, що вони мають ключі шифрування для ваших попередніх повідомлень і підтверджують іншим користувачам, з якими ви спілкуєтеся, що ці сеанси — це дійсно ви.</string>
<string name="device_manager_learn_more_sessions_verified_title">Звірені сеанси</string>
<string name="device_manager_learn_more_sessions_unverified">Не звірені сеанси — це сеанси, до яких ви ввійшли в за допомогою своїх облікових даних, але не пройшли перехресну перевірку.
\n
@ -2922,7 +2916,7 @@
<string name="qr_code_login_header_failed_other_description">Запит не виконаний.</string>
<string name="labs_enable_voice_broadcast_summary">Можливість записувати та надсилати голосові трансляції до стрічки кімнати.</string>
<string name="labs_enable_voice_broadcast_title">Увімкнути голосові трансляції</string>
<string name="a11y_voice_broadcast_buffering">Буферизація…</string>
<string name="voice_broadcast_buffering">Буферизація…</string>
<string name="a11y_pause_voice_broadcast">Призупинити голосову трансляцію</string>
<string name="a11y_play_voice_broadcast">Відтворити або поновити відтворення голосової трансляції</string>
<string name="a11y_stop_voice_broadcast_record">Припинити запис голосової трансляції</string>
@ -3011,4 +3005,37 @@
<string name="room_polls_active_no_item">У цій кімнаті немає активних опитувань</string>
<string name="room_polls_active">Активні опитування</string>
<string name="room_profile_section_more_polls">Історія опитувань</string>
</resources>
<string name="message_reply_to_ended_poll_preview">Завершене опитування</string>
<string name="message_reply_to_poll_preview">Опитування</string>
<string name="message_reply_to_sender_ended_poll">завершує опитування.</string>
<string name="ended_poll_indicator">Опитування завершено.</string>
<string name="thread_list_not_available">Ваш домашній сервер поки що не підтримує створення списків гілок.</string>
<string name="error_voice_broadcast_unable_to_play">Неможливо відтворити цю голосову трансляцію.</string>
<string name="started_a_voice_broadcast">Розпочато голосову трансляцію</string>
<string name="unable_to_decrypt_some_events_in_poll">Через помилки розшифрування деякі голоси можуть бути не враховані</string>
<plurals name="room_polls_ended_no_item_for_loaded_period">
<item quantity="one">За %1$d минулий день немає минулих опитувань.
\nЗавантажте більше опитувань, щоб переглянути опитування за попередні дні.</item>
<item quantity="few">За минулі %1$d дні немає минулих опитувань.
\nЗавантажте більше опитувань, щоб переглянути опитування за попередні дні.</item>
<item quantity="many">За минулі %1$d днів немає минулих опитувань.
\nЗавантажте більше опитувань, щоб переглянути опитування за попередні дні.</item>
<item quantity="other">За минулі %1$d днів немає минулих опитувань.
\nЗавантажте більше опитувань, щоб переглянути опитування за попередні дні.</item>
</plurals>
<plurals name="room_polls_active_no_item_for_loaded_period">
<item quantity="one">За %1$d останній день немає активних опитувань.
\nЗавантажте більше опитувань, щоб переглянути опитування за попередні дні.</item>
<item quantity="few">За останні %1$d дні немає активних опитувань.
\nЗавантажте більше опитувань, щоб переглянути опитування за попередні дні.</item>
<item quantity="many">За останні %1$d днів немає активних опитувань.
\nЗавантажте більше опитувань, щоб переглянути опитування за попередні дні.</item>
<item quantity="other">За останні %1$d днів немає активних опитувань.
\nЗавантажте більше опитувань, щоб переглянути опитування за попередні дні.</item>
</plurals>
<string name="room_polls_loading_error">Помилка отримання опитувань.</string>
<string name="room_polls_load_more">Завантажити більше опитувань</string>
<string name="room_polls_wait_for_display">Показ опитувань</string>
<string name="error_voice_message_broadcast_in_progress_message">Ви не можете розпочати запис голосового повідомлення, оскільки ви записуєте трансляцію наживо. Будь ласка, заверште її, щоб розпочати запис голосового повідомлення</string>
<string name="error_voice_message_broadcast_in_progress">Не вдалося розпочати запис голосового повідомлення</string>
</resources>

View File

@ -1193,7 +1193,6 @@
<string name="end_poll_confirmation_approve_button">Kết thúc cuộc thăm dò ý kiến</string>
<string name="end_poll_confirmation_description">Điều này sẽ ngăn mọi người có thể bỏ phiếu và sẽ hiển thị kết quả cuối cùng của cuộc thăm dò.</string>
<string name="end_poll_confirmation_title">Kết thúc cuộc thăm dò này\?</string>
<string name="a11y_poll_winner_option">tùy chọn người chiến thắng</string>
<string name="poll_end_action">Kết thúc cuộc thăm dò ý kiến</string>
<string name="create_poll_empty_question_error">Câu hỏi không thể trống</string>
<string name="create_poll_button">TẠO CUỘC THĂM DÒ Ý KIẾN</string>
@ -1472,8 +1471,6 @@
<string name="crosssigning_verify_session">Xác minh đăng nhập</string>
<string name="cross_signing_verify_by_text">Xác minh thủ công bằng Văn bản</string>
<string name="verify_this_session">Xác minh thông tin đăng nhập mới truy cập vào tài khoản của bạn: %1$s</string>
<string name="verify_other_sessions">Xác minh tất cả các phiên của bạn để đảm bảo tài khoản và tin nhắn của bạn được an toàn</string>
<string name="review_logins">Xem lại nơi bạn đăng nhập</string>
<string name="encrypted_unverified">Được mã hóa bởi một thiết bị chưa được xác minh</string>
<string name="unencrypted">Không được mã hóa</string>
<string name="default_message_emote_snow">gửi tuyết rơi ❄️</string>

View File

@ -1459,8 +1459,6 @@
<string name="failed_to_access_secure_storage">访问安全存储失败</string>
<string name="unencrypted">未加密</string>
<string name="encrypted_unverified">由未验证设备加密</string>
<string name="review_logins">查看你的登录位置</string>
<string name="verify_other_sessions">验证你的全部会话确保你的账户和消息安全</string>
<string name="verify_this_session">验证访问你的账户的新登录:%1$s</string>
<string name="cross_signing_verify_by_text">使用文本手动验证</string>
<string name="crosssigning_verify_session">验证登录</string>
@ -1692,8 +1690,8 @@
<string name="create_room_alias_invalid">一些字符不被允许</string>
<string name="create_room_alias_empty">请提供一个房间地址</string>
<string name="create_room_alias_already_in_use">此地址已被使用</string>
<string name="create_room_disable_federation_description">你可以启用此选项如果此房间将仅用于你的主服务器上的内部团队协作。此选项之后无法更改。</string>
<string name="create_room_disable_federation_title">屏蔽不是 %s 一部分的任何人加入此房间</string>
<string name="create_room_disable_federation_description">若房间仅用于与你的主服务器上的内部团队协作,则你可以启用此选项。此选项之后无法更改。</string>
<string name="create_room_disable_federation_title">阻止任何不属于%s的人加入此房间</string>
<string name="hide_advanced">隐藏高级</string>
<string name="show_advanced">显示高级</string>
<string name="login_clear_homeserver_history">清除历史记录</string>
@ -2231,7 +2229,6 @@
<string name="end_poll_confirmation_approve_button">结束投票</string>
<string name="end_poll_confirmation_description">这将使人们无法再投票,并将显示投票的最终结果。</string>
<string name="end_poll_confirmation_title">结束此投票?</string>
<string name="a11y_poll_winner_option">赢家选项</string>
<string name="poll_end_action">结束投票</string>
<plurals name="poll_total_vote_count_after_ended">
<item quantity="other">基于 %1$d 票的最终结果</item>
@ -2648,9 +2645,6 @@
\n
\n这让他们确信他们真的在与你交谈但这也意味着他们可以看到你在此处输入的会话名称。</string>
<string name="device_manager_learn_more_session_rename_title">重命名会话</string>
<string name="device_manager_learn_more_sessions_verified">已验证会话已使用你的凭据登录,然后使用你的安全密码或通过交叉验证进行验证。
\n
\n这意味着他们持有你之前消息的加密密钥并向你正在与之通信的其他用户确认这些会话确实是你。</string>
<string name="device_manager_learn_more_sessions_inactive">闲置会话是你一段时间未使用的会话,但它们会继续接收加密密钥。
\n
\n删除闲置会话可以提高安全性和性能并使你更容易识别新会话是否可疑。</string>
@ -2694,7 +2688,7 @@
<string name="device_manager_verification_status_detail_other_session_unknown">验证你当前的会话以显示此会话的验证状态。</string>
<string name="device_manager_verification_status_unknown">未知的验证状态</string>
<string name="tooltip_attachment_voice_broadcast">开始语音广播</string>
<string name="a11y_voice_broadcast_buffering">正在缓冲……</string>
<string name="voice_broadcast_buffering">正在缓冲……</string>
<string name="a11y_pause_voice_broadcast">暂停语音广播</string>
<string name="voice_broadcast_live">实时</string>
<string name="action_got_it">知道了</string>
@ -2821,4 +2815,8 @@
<string name="settings_nightly_build">Nightly构建</string>
<string name="notice_voice_broadcast_ended_by_you">你结束了一个语音广播。</string>
<string name="notice_voice_broadcast_ended">%1$s结束了一个语音广播。</string>
</resources>
<string name="stop_voice_broadcast_dialog_title">停止实时广播?</string>
<string name="error_voice_broadcast_unable_to_play">无法播放此语音广播。</string>
<string name="error_voice_message_broadcast_in_progress_message">你无法启动语音消息因为你正在录制实时广播。请终止实时广播以开始录制语音消息</string>
<string name="error_voice_message_broadcast_in_progress">无法启动语音消息</string>
</resources>

View File

@ -1412,8 +1412,6 @@
<string name="create_room_dm_failure">我們無法建立您的直接訊息。請檢查您想要邀請的使用者,然後再試一次。</string>
<string name="unencrypted">未加密</string>
<string name="encrypted_unverified">由未驗證的裝置加密</string>
<string name="review_logins">審閱您從何處登入</string>
<string name="verify_other_sessions">驗證您所有的工作階段以確保您的帳號與訊息都安全</string>
<string name="verify_this_session">驗證正在存取您帳號的新登入:%1$s</string>
<string name="notification_ticker_text_dm">%1$s%2$s</string>
<string name="notification_ticker_text_group">%1$s%2$s %3$s</string>
@ -2231,7 +2229,6 @@
<string name="end_poll_confirmation_approve_button">結束投票</string>
<string name="end_poll_confirmation_description">這將阻止人們投票並顯示投票的最終結果。</string>
<string name="end_poll_confirmation_title">結束此投票?</string>
<string name="a11y_poll_winner_option">獲勝選項</string>
<string name="poll_end_action">結束投票</string>
<plurals name="poll_total_vote_count_after_ended">
<item quantity="other">以 %1$d 票為基礎的最終結果</item>
@ -2659,9 +2656,6 @@
\n
\n這讓他們確信他們真的在與您交談但這也意味著他們可以看到您在此處輸入的工作階段名稱。</string>
<string name="device_manager_learn_more_session_rename_title">正在重新命名工作階段</string>
<string name="device_manager_learn_more_sessions_verified">已驗證的工作階段代表使用您的憑證登入,然後使用您的安全通關密語或透過交叉驗證進行驗證。
\n
\n這代表了它們持有您先前訊息的加密金鑰並向您正在與之通訊的其他使用者確認這些工作階段確實是您。</string>
<string name="device_manager_learn_more_sessions_verified_title">已驗證的工作階段</string>
<string name="device_manager_learn_more_sessions_unverified">未驗證的工作階段是使用您的憑證登入但未交叉驗證的工作階段。
\n
@ -2760,7 +2754,7 @@
<string name="qr_code_login_header_failed_other_description">請求失敗。</string>
<string name="labs_enable_voice_broadcast_summary">可以在聊天室時間軸中錄製並傳送語音廣播。</string>
<string name="labs_enable_voice_broadcast_title">啟用語音廣播</string>
<string name="a11y_voice_broadcast_buffering">正在緩衝……</string>
<string name="voice_broadcast_buffering">正在緩衝……</string>
<string name="a11y_pause_voice_broadcast">暫停語音廣播</string>
<string name="a11y_play_voice_broadcast">播放或繼續語音廣播</string>
<string name="a11y_stop_voice_broadcast_record">停止語音廣播錄製</string>
@ -2843,4 +2837,23 @@
<string name="room_polls_active_no_item">此聊天室沒有正在進行的投票</string>
<string name="room_polls_active">進行中的投票</string>
<string name="room_profile_section_more_polls">投票歷史紀錄</string>
</resources>
<string name="message_reply_to_ended_poll_preview">已結束投票</string>
<string name="message_reply_to_poll_preview">投票</string>
<string name="message_reply_to_sender_ended_poll">已結束投票。</string>
<string name="ended_poll_indicator">已結束投票。</string>
<string name="thread_list_not_available">您的家伺服器還不支援列出討論串。</string>
<string name="error_voice_broadcast_unable_to_play">無法播放此語音廣播。</string>
<string name="started_a_voice_broadcast">已開始語音廣播</string>
<string name="unable_to_decrypt_some_events_in_poll">因為解密錯誤,部份投票可能並未計算</string>
<string name="room_polls_loading_error">擷取投票時發生錯誤。</string>
<string name="room_polls_load_more">載入更多投票</string>
<string name="room_polls_wait_for_display">顯示投票</string>
<plurals name="room_polls_ended_no_item_for_loaded_period">
<item quantity="other">過去 %1$d 天沒有投票。
\n載入更多投票以檢視過去幾天的投票。</item>
</plurals>
<plurals name="room_polls_active_no_item_for_loaded_period">
<item quantity="other">過去 %1$d 天沒有活躍的投票。
\n載入更多投票以檢視過去幾天的投票。</item>
</plurals>
</resources>

View File

@ -794,7 +794,7 @@
<string name="thread_list_modal_my_threads_subtitle">Shows all threads youve participated in</string>
<string name="thread_list_empty_title">Keep discussions organized with threads</string>
<string name="thread_list_empty_subtitle">Threads help keep your conversations on-topic and easy to track.</string>
<string name="thread_list_not_available">You\'re homeserver does not support listing threads yet.</string>
<string name="thread_list_not_available">Your homeserver does not support listing threads yet.</string>
<!-- Parameter %s will be replaced by the value of string reply_in_thread -->
<string name="thread_list_empty_notice">Tip: Long tap a message and use “%s”.</string>
<string name="search_thread_from_a_thread">From a Thread</string>
@ -1689,7 +1689,6 @@
<string name="create_new_room">Create New Room</string>
<string name="create_new_space">Create New Space</string>
<string name="error_no_network">No network. Please check your Internet connection.</string>
<!-- TODO delete -->
<string name="error_check_network" tools:ignore="UnusedResources">Something went wrong. Please check your network connection and try again.</string>
<string name="change_room_directory_network">"Change network"</string>
<string name="please_wait">"Please wait…"</string>
@ -2295,6 +2294,7 @@
<string name="sent_verification_conclusion">Verification Conclusion</string>
<string name="sent_location">Shared their location</string>
<string name="sent_live_location">Shared their live location</string>
<string name="started_a_voice_broadcast">Started a voice broadcast</string>
<string name="verification_request_waiting">Waiting…</string>
<string name="verification_request_other_cancelled">%s canceled</string>
@ -2658,10 +2658,6 @@
<string name="unencrypted">Unencrypted</string>
<string name="encrypted_unverified">Encrypted by an unverified device</string>
<string name="key_authenticity_not_guaranteed">The authenticity of this encrypted message can\'t be guaranteed on this device.</string>
<!-- TODO TO BE REMOVED -->
<string name="review_logins" tools:ignore="UnusedResources">Review where youre logged in</string>
<!-- TODO TO BE REMOVED -->
<string name="verify_other_sessions" tools:ignore="UnusedResources">Verify all your sessions to ensure your account &amp; messages are safe</string>
<string name="review_unverified_sessions_title">You have unverified sessions</string>
<string name="review_unverified_sessions_description">Review to ensure your account is safe</string>
<!-- Argument will be replaced by the other session name (e.g, Desktop, mobile) -->
@ -3096,6 +3092,8 @@
<string name="error_voice_message_unable_to_play">Cannot play this voice message</string>
<string name="error_voice_message_unable_to_record">Cannot record a voice message</string>
<string name="error_voice_message_cannot_reply_or_edit">Cannot reply or edit while voice message is active</string>
<string name="error_voice_message_broadcast_in_progress">Cannot start voice message</string>
<string name="error_voice_message_broadcast_in_progress_message">You cant start a voice message as you are currently recording a live broadcast. Please end your live broadcast in order to start recording a voice message</string>
<string name="voice_message_reply_content">Voice Message (%1$s)</string>
<string name="a11y_audio_message_item">%1$s, %2$s, %3$s</string> <!-- filename, duration, file size -->
@ -3108,8 +3106,7 @@
<string name="voice_broadcast_live">Live</string>
<string name="voice_broadcast_live_broadcast">Live broadcast</string>
<!-- TODO Rename id to voice_broadcast_buffering -->
<string name="a11y_voice_broadcast_buffering">Buffering…</string>
<string name="voice_broadcast_buffering">Buffering…</string>
<string name="a11y_resume_voice_broadcast_record">Resume voice broadcast record</string>
<string name="a11y_pause_voice_broadcast_record">Pause voice broadcast record</string>
<string name="a11y_stop_voice_broadcast_record">Stop voice broadcast record</string>
@ -3121,6 +3118,8 @@
<string name="error_voice_broadcast_permission_denied_message">You dont have the required permissions to start a voice broadcast in this room. Contact a room administrator to upgrade your permissions.</string>
<string name="error_voice_broadcast_blocked_by_someone_else_message">Someone else is already recording a voice broadcast. Wait for their voice broadcast to end to start a new one.</string>
<string name="error_voice_broadcast_already_in_progress_message">You are already recording a voice broadcast. Please end your current voice broadcast to start a new one.</string>
<string name="error_voice_broadcast_unable_to_play">Unable to play this voice broadcast.</string>
<string name="error_voice_broadcast_no_connection_recording">Connection error - Recording paused</string>
<!-- Examples of usage: 6h 15min 30sec left / 15min 30sec left / 30sec left -->
<string name="voice_broadcast_recording_time_left">%1$s left</string>
<string name="stop_voice_broadcast_dialog_title">Stop live broadcasting?</string>
@ -3178,7 +3177,6 @@
<item quantity="other">Final result based on %1$d votes</item>
</plurals>
<string name="poll_end_action">End poll</string>
<string name="a11y_poll_winner_option">winner option</string>
<string name="end_poll_confirmation_title">End this poll?</string>
<string name="end_poll_confirmation_description">This will stop people from being able to vote and will display the final results of the poll.</string>
<string name="end_poll_confirmation_approve_button">End poll</string>
@ -3192,10 +3190,23 @@
<string name="open_poll_option_description">Voters see results as soon as they have voted</string>
<string name="closed_poll_option_title">Closed poll</string>
<string name="closed_poll_option_description">Results are only revealed when you end the poll</string>
<string name="ended_poll_indicator">Ended the poll.</string>
<string name="unable_to_decrypt_some_events_in_poll">Due to decryption errors, some votes may not be counted</string>
<string name="room_polls_active">Active polls</string>
<string name="room_polls_active_no_item">There are no active polls in this room</string>
<plurals name="room_polls_active_no_item_for_loaded_period">
<item quantity="one">"There are no active polls for the past day.\nLoad more polls to view polls for previous days."</item>
<item quantity="other">"There are no active polls for the past %1$d days.\nLoad more polls to view polls for previous days."</item>
</plurals>
<string name="room_polls_ended">Past polls</string>
<string name="room_polls_ended_no_item">There are no past polls in this room</string>
<plurals name="room_polls_ended_no_item_for_loaded_period">
<item quantity="one">"There are no past polls for the past day.\nLoad more polls to view polls for previous days."</item>
<item quantity="other">"There are no past polls for the past %1$d days.\nLoad more polls to view polls for previous days."</item>
</plurals>
<string name="room_polls_wait_for_display">Displaying polls</string>
<string name="room_polls_load_more">Load more polls</string>
<string name="room_polls_loading_error">Error fetching polls.</string>
<!-- Location -->
<string name="location_activity_title_static_sharing">Share location</string>
@ -3411,8 +3422,6 @@
<string name="device_manager_learn_more_sessions_unverified_title">Unverified sessions</string>
<string name="device_manager_learn_more_sessions_unverified">Unverified sessions are sessions that have logged in with your credentials but not been cross-verified.\n\nYou should make especially certain that you recognise these sessions as they could represent an unauthorised use of your account.</string>
<string name="device_manager_learn_more_sessions_verified_title">Verified sessions</string>
<!-- TODO TO BE REMOVED -->
<string name="device_manager_learn_more_sessions_verified" tools:ignore="UnusedResources">Verified sessions have logged in with your credentials and then been verified, either using your secure passphrase or by cross-verifying.\n\nThis means they hold encryption keys for your previous messages, and confirm to other users you are communicating with that these sessions are really you.</string>
<string name="device_manager_learn_more_sessions_verified_description">Verified sessions are anywhere you are using this account after entering your passphrase or confirming your identity with another verified session.\n\nThis means that you have all the keys needed to unlock your encrypted messages and confirm to other users that you trust this session.</string>
<string name="device_manager_learn_more_sessions_encryption_not_supported">This session doesn\'t support encryption, so it can\'t be verified.\n\nYou won\'t be able to participate in rooms where encryption is enabled when using this session.\n\nFor best security and privacy, it is recommended to use Matrix clients that support encryption.</string>
<string name="device_manager_learn_more_session_rename_title">Renaming sessions</string>
@ -3509,6 +3518,9 @@
<string name="message_reply_to_sender_sent_video">sent a video.</string>
<string name="message_reply_to_sender_sent_sticker">sent a sticker.</string>
<string name="message_reply_to_sender_created_poll">created a poll.</string>
<string name="message_reply_to_sender_ended_poll">ended a poll.</string>
<string name="message_reply_to_poll_preview">Poll</string>
<string name="message_reply_to_ended_poll_preview">Ended poll</string>
<string name="settings_access_token">Access Token</string>
<string name="settings_access_token_summary">Your access token gives full access to your account. Do not share it with anyone.</string>

View File

@ -22,6 +22,7 @@
<item name="android:clipToPadding">false</item>
<item name="android:textSize">15sp</item>
<item name="android:textColor">?vctr_message_text_color</item>
<item name="lineHeight">20sp</item>
</style>
</resources>

View File

@ -62,7 +62,7 @@ android {
// that the app's state is completely cleared between tests.
testInstrumentationRunnerArguments clearPackageData: 'true'
buildConfigField "String", "SDK_VERSION", "\"1.5.20\""
buildConfigField "String", "SDK_VERSION", "\"1.5.22\""
buildConfigField "String", "GIT_SDK_REVISION", "\"${gitRevision()}\""
buildConfigField "String", "GIT_SDK_REVISION_UNIX_DATE", "\"${gitRevisionUnixDate()}\""
@ -81,7 +81,7 @@ android {
buildTypes {
debug {
if (project.hasProperty("coverage")) {
testCoverageEnabled = coverage.enableTestCoverage
testCoverageEnabled = coverage == "true"
}
// Set to true to log privacy or sensible data, such as token
buildConfigField "boolean", "LOG_PRIVATE_DATA", project.property("vector.debugPrivateData")

View File

@ -1,6 +1,5 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="org.matrix.android.sdk">
xmlns:tools="http://schemas.android.com/tools">
<application>

View File

@ -43,6 +43,27 @@ inline fun List<MetricPlugin>.measureMetric(block: () -> Unit) {
}
}
/**
* Executes the given [block] while measuring the transaction.
*
* @param block Action/Task to be executed within this span.
*/
@OptIn(ExperimentalContracts::class)
inline fun List<SpannableMetricPlugin>.measureSpannableMetric(block: List<SpannableMetricPlugin>.() -> Unit) {
contract {
callsInPlace(block, InvocationKind.EXACTLY_ONCE)
}
try {
this.forEach { plugin -> plugin.startTransaction() } // Start the transaction.
block()
} catch (throwable: Throwable) {
this.forEach { plugin -> plugin.onError(throwable) } // Capture if there is any exception thrown.
throw throwable
} finally {
this.forEach { plugin -> plugin.finishTransaction() } // Finally, finish this transaction.
}
}
/**
* Executes the given [block] while measuring a span.
*

View File

@ -29,4 +29,6 @@ interface SyncDurationMetricPlugin : SpannableMetricPlugin {
override fun logTransaction(message: String?) {
Timber.tag(loggerTag.value).v("## syncResponseHandler() : $message")
}
fun shouldReport(isInitialSync: Boolean, isAfterPause: Boolean): Boolean = true
}

View File

@ -248,7 +248,7 @@ data class Event(
if (isRedacted()) return "Message removed"
val text = getDecryptedValue() ?: run {
if (isPoll()) {
return getPollQuestion() ?: "created a poll."
return getTextSummaryForPoll()
}
return null
}
@ -261,13 +261,23 @@ data class Event(
isImageMessage() -> "sent an image."
isVideoMessage() -> "sent a video."
isSticker() -> "sent a sticker."
isPoll() -> getPollQuestion() ?: "created a poll."
isPoll() -> getTextSummaryForPoll()
isLiveLocation() -> "Live location."
isLocationMessage() -> "has shared their location."
else -> text
}
}
private fun getTextSummaryForPoll(): String? {
val pollQuestion = getPollQuestion()
return when {
pollQuestion != null -> pollQuestion
isPollStart() -> "created a poll."
isPollEnd() -> "ended a poll."
else -> null
}
}
private fun Event.isQuote(): Boolean {
if (isReplyRenderedInThread()) return false
return getDecryptedValue("formatted_body")?.contains("<blockquote>") ?: false

View File

@ -75,6 +75,11 @@ data class HomeServerCapabilities(
* True if the home server supports remote toggle of Pusher for a given device.
*/
val canRemotelyTogglePushNotificationsOfDevices: Boolean = false,
/**
* True if the home server supports event redaction with relations.
*/
var canRedactEventWithRelations: Boolean = false,
) {
enum class RoomCapabilitySupport {

View File

@ -23,5 +23,7 @@ data class PollResponseAggregatedSummary(
val nbOptions: Int = 0,
// The list of the eventIDs used to build the summary (might be out of sync if chunked received from message chunk)
val sourceEvents: List<String>,
val localEchos: List<String>
val localEchos: List<String>,
// list of related event ids which are encrypted due to decryption failure
val encryptedRelatedEventIds: List<String>,
)

View File

@ -18,6 +18,7 @@ package org.matrix.android.sdk.api.session.room.model.message
import com.squareup.moshi.Json
import com.squareup.moshi.JsonClass
import org.matrix.android.sdk.api.session.events.model.Content
import org.matrix.android.sdk.api.session.room.model.relation.RelationDefaultContent
/**
@ -25,5 +26,12 @@ import org.matrix.android.sdk.api.session.room.model.relation.RelationDefaultCon
*/
@JsonClass(generateAdapter = true)
data class MessageEndPollContent(
@Json(name = "m.relates_to") val relatesTo: RelationDefaultContent? = null
)
/**
* Local message type, not from server.
*/
@Transient
override val msgType: String = MessageType.MSGTYPE_POLL_END,
@Json(name = "body") override val body: String = "",
@Json(name = "m.new_content") override val newContent: Content? = null,
@Json(name = "m.relates_to") override val relatesTo: RelationDefaultContent? = null
) : MessageContent

View File

@ -36,6 +36,7 @@ object MessageType {
// Because poll events are not message events and they don't have msgtype field
const val MSGTYPE_POLL_START = "org.matrix.android.sdk.poll.start"
const val MSGTYPE_POLL_RESPONSE = "org.matrix.android.sdk.poll.response"
const val MSGTYPE_POLL_END = "org.matrix.android.sdk.poll.end"
const val MSGTYPE_CONFETTI = "nic.custom.confetti"
const val MSGTYPE_SNOWFALL = "io.element.effect.snowfall"

View File

@ -156,11 +156,12 @@ interface SendService {
/**
* Redact (delete) the given event.
* @param event The event to redact
* @param reason Optional reason string
* @param event the event to redact
* @param reason optional reason string
* @param withRelations the list of relation types to redact with this event
* @param additionalContent additional content to put in the event content
*/
fun redactEvent(event: Event, reason: String?, additionalContent: Content? = null): Cancelable
fun redactEvent(event: Event, reason: String?, withRelations: List<String>? = null, additionalContent: Content? = null): Cancelable
/**
* Schedule this message to be resent.

View File

@ -35,6 +35,7 @@ import org.matrix.android.sdk.api.session.room.model.message.MessageBeaconInfoCo
import org.matrix.android.sdk.api.session.room.model.message.MessageBeaconLocationDataContent
import org.matrix.android.sdk.api.session.room.model.message.MessageContent
import org.matrix.android.sdk.api.session.room.model.message.MessageContentWithFormattedBody
import org.matrix.android.sdk.api.session.room.model.message.MessageEndPollContent
import org.matrix.android.sdk.api.session.room.model.message.MessagePollContent
import org.matrix.android.sdk.api.session.room.model.message.MessageStickerContent
import org.matrix.android.sdk.api.session.room.model.message.MessageTextContent
@ -148,7 +149,8 @@ fun TimelineEvent.getLastMessageContent(): MessageContent? {
// Polls/Beacon are not message contents like others as there is no msgtype subtype to discriminate moshi parsing
// so toModel<MessageContent> won't parse them correctly
// It's discriminated on event type instead. Maybe it shouldn't be MessageContent at all to avoid confusion?
in EventType.POLL_START.values -> (getLastEditNewContent() ?: root.getClearContent()).toModel<MessagePollContent>()
in EventType.POLL_START.values -> (getLastPollEditNewContent() ?: root.getClearContent()).toModel<MessagePollContent>()
in EventType.POLL_END.values -> (getLastPollEditNewContent() ?: root.getClearContent()).toModel<MessageEndPollContent>()
in EventType.STATE_ROOM_BEACON_INFO.values -> (getLastEditNewContent() ?: root.getClearContent()).toModel<MessageBeaconInfoContent>()
in EventType.BEACON_LOCATION_DATA.values -> (getLastEditNewContent() ?: root.getClearContent()).toModel<MessageBeaconLocationDataContent>()
else -> (getLastEditNewContent() ?: root.getClearContent()).toModel()
@ -159,6 +161,10 @@ fun TimelineEvent.getLastEditNewContent(): Content? {
return annotations?.editSummary?.latestEdit?.getClearContent()?.toModel<MessageContent>()?.newContent
}
private fun TimelineEvent.getLastPollEditNewContent(): Content? {
return annotations?.editSummary?.latestEdit?.getClearContent()?.toModel<MessagePollContent>()?.newContent
}
/**
* Returns true if it's a reply.
*/

View File

@ -58,6 +58,8 @@ private const val FEATURE_QR_CODE_LOGIN = "org.matrix.msc3882"
private const val FEATURE_THREADS_MSC3771 = "org.matrix.msc3771"
private const val FEATURE_THREADS_MSC3773 = "org.matrix.msc3773"
private const val FEATURE_REMOTE_TOGGLE_PUSH_NOTIFICATIONS_MSC3881 = "org.matrix.msc3881"
private const val FEATURE_EVENT_REDACTION_WITH_RELATIONS = "org.matrix.msc3912"
private const val FEATURE_EVENT_REDACTION_WITH_RELATIONS_STABLE = "org.matrix.msc3912.stable"
/**
* Return true if the SDK supports this homeserver version.
@ -153,3 +155,13 @@ private fun Versions.getMaxVersion(): HomeServerVersion {
internal fun Versions.doesServerSupportRemoteToggleOfPushNotifications(): Boolean {
return unstableFeatures?.get(FEATURE_REMOTE_TOGGLE_PUSH_NOTIFICATIONS_MSC3881).orFalse()
}
/**
* Indicate if the server supports MSC3912: https://github.com/matrix-org/matrix-spec-proposals/pull/3912.
*
* @return true if event redaction with relations is supported
*/
internal fun Versions.doesServerSupportRedactEventWithRelations(): Boolean {
return unstableFeatures?.get(FEATURE_EVENT_REDACTION_WITH_RELATIONS).orFalse() ||
unstableFeatures?.get(FEATURE_EVENT_REDACTION_WITH_RELATIONS_STABLE).orFalse()
}

View File

@ -59,7 +59,7 @@ internal class EventDecryptor @Inject constructor(
private val sendToDeviceTask: SendToDeviceTask,
private val deviceListManager: DeviceListManager,
private val ensureOlmSessionsForDevicesAction: EnsureOlmSessionsForDevicesAction,
private val cryptoStore: IMXCryptoStore
private val cryptoStore: IMXCryptoStore,
) {
/**

View File

@ -15,9 +15,12 @@
*/
package org.matrix.android.sdk.internal.crypto.tasks
import org.matrix.android.sdk.api.extensions.orFalse
import org.matrix.android.sdk.internal.network.GlobalErrorReceiver
import org.matrix.android.sdk.internal.network.executeRequest
import org.matrix.android.sdk.internal.session.homeserver.HomeServerCapabilitiesDataSource
import org.matrix.android.sdk.internal.session.room.RoomAPI
import org.matrix.android.sdk.internal.session.room.send.model.EventRedactBody
import org.matrix.android.sdk.internal.task.Task
import javax.inject.Inject
@ -26,22 +29,34 @@ internal interface RedactEventTask : Task<RedactEventTask.Params, String> {
val txID: String,
val roomId: String,
val eventId: String,
val reason: String?
val reason: String?,
val withRelations: List<String>?,
)
}
internal class DefaultRedactEventTask @Inject constructor(
private val roomAPI: RoomAPI,
private val globalErrorReceiver: GlobalErrorReceiver
private val globalErrorReceiver: GlobalErrorReceiver,
private val homeServerCapabilitiesDataSource: HomeServerCapabilitiesDataSource,
) : RedactEventTask {
override suspend fun execute(params: RedactEventTask.Params): String {
val withRelations = if (homeServerCapabilitiesDataSource.getHomeServerCapabilities()?.canRedactEventWithRelations.orFalse() &&
!params.withRelations.isNullOrEmpty()) {
params.withRelations
} else {
null
}
val response = executeRequest(globalErrorReceiver) {
roomAPI.redactEvent(
txId = params.txID,
roomId = params.roomId,
eventId = params.eventId,
reason = if (params.reason == null) emptyMap() else mapOf("reason" to params.reason)
body = EventRedactBody(
reason = params.reason,
withRelations = withRelations,
)
)
}
return response.eventId

View File

@ -17,11 +17,16 @@
package org.matrix.android.sdk.internal.database
import com.zhuinden.monarchy.Monarchy
import io.realm.Realm
import io.realm.RealmConfiguration
import io.realm.RealmResults
import kotlinx.coroutines.launch
import kotlinx.coroutines.sync.Mutex
import kotlinx.coroutines.sync.withLock
import org.matrix.android.sdk.api.session.events.model.Event
import org.matrix.android.sdk.api.session.events.model.EventType
import org.matrix.android.sdk.api.session.events.model.content.EncryptedEventContent
import org.matrix.android.sdk.api.session.events.model.toModel
import org.matrix.android.sdk.internal.database.mapper.asDomain
import org.matrix.android.sdk.internal.database.model.EventEntity
import org.matrix.android.sdk.internal.database.model.EventInsertEntity
@ -34,7 +39,7 @@ import javax.inject.Inject
internal class EventInsertLiveObserver @Inject constructor(
@SessionDatabase realmConfiguration: RealmConfiguration,
private val processors: Set<@JvmSuppressWildcards EventInsertLiveProcessor>
private val processors: Set<@JvmSuppressWildcards EventInsertLiveProcessor>,
) :
RealmLiveEntityObserver<EventInsertEntity>(realmConfiguration) {
@ -50,48 +55,90 @@ internal class EventInsertLiveObserver @Inject constructor(
if (!results.isLoaded || results.isEmpty()) {
return@withLock
}
val idsToDeleteAfterProcess = ArrayList<String>()
val filteredEvents = ArrayList<EventInsertEntity>(results.size)
val eventsToProcess = ArrayList<EventInsertEntity>(results.size)
val eventsToIgnore = ArrayList<EventInsertEntity>(results.size)
Timber.v("EventInsertEntity updated with ${results.size} results in db")
results.forEach {
if (shouldProcess(it)) {
// don't use copy from realm over there
val copiedEvent = EventInsertEntity(
eventId = it.eventId,
eventType = it.eventType
).apply {
insertType = it.insertType
}
filteredEvents.add(copiedEvent)
// don't use copy from realm over there
val copiedEvent = EventInsertEntity(
eventId = it.eventId,
eventType = it.eventType
).apply {
insertType = it.insertType
}
if (shouldProcess(it)) {
eventsToProcess.add(copiedEvent)
} else {
eventsToIgnore.add(copiedEvent)
}
idsToDeleteAfterProcess.add(it.eventId)
}
awaitTransaction(realmConfiguration) { realm ->
Timber.v("##Transaction: There are ${filteredEvents.size} events to process ")
filteredEvents.forEach { eventInsert ->
Timber.v("##Transaction: There are ${eventsToProcess.size} events to process")
val idsToDeleteAfterProcess = ArrayList<String>()
val idsOfEncryptedEvents = ArrayList<String>()
val getAndTriageEvent: (EventInsertEntity) -> Event? = { eventInsert ->
val eventId = eventInsert.eventId
val event = EventEntity.where(realm, eventId).findFirst()
if (event == null) {
Timber.v("Event $eventId not found")
val event = getEvent(realm, eventId)
if (event?.getClearType() == EventType.ENCRYPTED) {
idsOfEncryptedEvents.add(eventId)
} else {
idsToDeleteAfterProcess.add(eventId)
}
event
}
eventsToProcess.forEach { eventInsert ->
val eventId = eventInsert.eventId
val event = getAndTriageEvent(eventInsert)
if (event != null && canProcessEvent(event)) {
processors.filter {
it.shouldProcess(eventId, event.getClearType(), eventInsert.insertType)
}.forEach {
it.process(realm, event)
}
} else {
Timber.v("Cannot process event with id $eventId")
return@forEach
}
val domainEvent = event.asDomain()
processors.filter {
it.shouldProcess(eventId, domainEvent.getClearType(), eventInsert.insertType)
}.forEach {
it.process(realm, domainEvent)
}
}
eventsToIgnore.forEach { getAndTriageEvent(it) }
realm.where(EventInsertEntity::class.java)
.`in`(EventInsertEntityFields.EVENT_ID, idsToDeleteAfterProcess.toTypedArray())
.findAll()
.deleteAllFromRealm()
// make the encrypted events not processable: they will be processed again after decryption
realm.where(EventInsertEntity::class.java)
.`in`(EventInsertEntityFields.EVENT_ID, idsOfEncryptedEvents.toTypedArray())
.findAll()
.forEach { it.canBeProcessed = false }
}
processors.forEach { it.onPostProcess() }
}
}
}
private fun getEvent(realm: Realm, eventId: String): Event? {
val event = EventEntity.where(realm, eventId).findFirst()
if (event == null) {
Timber.v("Event $eventId not found")
}
return event?.asDomain()
}
private fun canProcessEvent(event: Event): Boolean {
// event should be either not encrypted or if encrypted it should contain relatesTo content
return event.getClearType() != EventType.ENCRYPTED ||
event.content.toModel<EncryptedEventContent>()?.relatesTo != null
}
private fun shouldProcess(eventInsertEntity: EventInsertEntity): Boolean {
return processors.any {
it.shouldProcess(eventInsertEntity.eventId, eventInsertEntity.eventType, eventInsertEntity.insertType)

View File

@ -71,6 +71,8 @@ import org.matrix.android.sdk.internal.database.migration.MigrateSessionTo044
import org.matrix.android.sdk.internal.database.migration.MigrateSessionTo045
import org.matrix.android.sdk.internal.database.migration.MigrateSessionTo046
import org.matrix.android.sdk.internal.database.migration.MigrateSessionTo047
import org.matrix.android.sdk.internal.database.migration.MigrateSessionTo048
import org.matrix.android.sdk.internal.database.migration.MigrateSessionTo049
import org.matrix.android.sdk.internal.util.Normalizer
import org.matrix.android.sdk.internal.util.database.MatrixRealmMigration
import timber.log.Timber
@ -94,7 +96,7 @@ internal class RealmSessionStoreMigration @Inject constructor(
private val scSchemaVersion = 7L
private val scSchemaVersionOffset = (1L shl 12)
val schemaVersion = 47L +
val schemaVersion = 49L +
scSchemaVersion * scSchemaVersionOffset
}
@ -158,6 +160,8 @@ internal class RealmSessionStoreMigration @Inject constructor(
if (oldVersion < 45) MigrateSessionTo045(realm).perform()
if (oldVersion < 46) MigrateSessionTo046(realm).perform()
if (oldVersion < 47) MigrateSessionTo047(realm).perform()
if (oldVersion < 48) MigrateSessionTo048(realm).perform()
if (oldVersion < 49) MigrateSessionTo049(realm).perform()
if (oldScVersion <= 0) MigrateScSessionTo001(realm).perform()
if (oldScVersion <= 1) MigrateScSessionTo002(realm).perform()

View File

@ -47,6 +47,7 @@ internal object HomeServerCapabilitiesMapper {
canLoginWithQrCode = entity.canLoginWithQrCode,
canUseThreadReadReceiptsAndNotifications = entity.canUseThreadReadReceiptsAndNotifications,
canRemotelyTogglePushNotificationsOfDevices = entity.canRemotelyTogglePushNotificationsOfDevices,
canRedactEventWithRelations = entity.canRedactEventWithRelations,
)
}

View File

@ -30,7 +30,8 @@ internal object PollResponseAggregatedSummaryEntityMapper {
closedTime = entity.closedTime,
localEchos = entity.sourceLocalEchoEvents.toList(),
sourceEvents = entity.sourceEvents.toList(),
nbOptions = entity.nbOptions
nbOptions = entity.nbOptions,
encryptedRelatedEventIds = entity.encryptedRelatedEventIds.toList(),
)
}
@ -40,7 +41,8 @@ internal object PollResponseAggregatedSummaryEntityMapper {
nbOptions = model.nbOptions,
closedTime = model.closedTime,
sourceEvents = RealmList<String>().apply { addAll(model.sourceEvents) },
sourceLocalEchoEvents = RealmList<String>().apply { addAll(model.localEchos) }
sourceLocalEchoEvents = RealmList<String>().apply { addAll(model.localEchos) },
encryptedRelatedEventIds = RealmList<String>().apply { addAll(model.encryptedRelatedEventIds) },
)
}
}

View File

@ -0,0 +1,32 @@
/*
* Copyright (c) 2023 The Matrix.org Foundation C.I.C.
*
* 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 org.matrix.android.sdk.internal.database.migration
import io.realm.DynamicRealm
import org.matrix.android.sdk.internal.database.model.PollResponseAggregatedSummaryEntityFields
import org.matrix.android.sdk.internal.util.database.RealmMigrator
/**
* Adding a new field in poll summary to keep track of non decrypted related events.
*/
internal class MigrateSessionTo048(realm: DynamicRealm) : RealmMigrator(realm, 48) {
override fun doMigrate(realm: DynamicRealm) {
realm.schema.get("PollResponseAggregatedSummaryEntity")
?.addRealmListField(PollResponseAggregatedSummaryEntityFields.ENCRYPTED_RELATED_EVENT_IDS.`$`, String::class.java)
}
}

View File

@ -0,0 +1,34 @@
/*
* Copyright (c) 2023 The Matrix.org Foundation C.I.C.
*
* 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 org.matrix.android.sdk.internal.database.migration
import io.realm.DynamicRealm
import org.matrix.android.sdk.internal.database.model.HomeServerCapabilitiesEntityFields
import org.matrix.android.sdk.internal.extensions.forceRefreshOfHomeServerCapabilities
import org.matrix.android.sdk.internal.util.database.RealmMigrator
internal class MigrateSessionTo049(realm: DynamicRealm) : RealmMigrator(realm, 49) {
override fun doMigrate(realm: DynamicRealm) {
realm.schema.get("HomeServerCapabilitiesEntity")
?.addField(HomeServerCapabilitiesEntityFields.CAN_REDACT_EVENT_WITH_RELATIONS, Boolean::class.java)
?.transform { obj ->
obj.set(HomeServerCapabilitiesEntityFields.CAN_REDACT_EVENT_WITH_RELATIONS, false)
}
?.forceRefreshOfHomeServerCapabilities()
}
}

View File

@ -27,7 +27,7 @@ internal open class EventInsertEntity(
var eventType: String = "",
/**
* This flag will be used to filter EventInsertEntity in EventInsertLiveObserver.
* Currently it's set to false when the event content is encrypted.
* Currently it's set to false after an event with encrypted content has been processed.
*/
var canBeProcessed: Boolean = true
) : RealmObject() {

View File

@ -34,6 +34,7 @@ internal open class HomeServerCapabilitiesEntity(
var canLoginWithQrCode: Boolean = false,
var canUseThreadReadReceiptsAndNotifications: Boolean = false,
var canRemotelyTogglePushNotificationsOfDevices: Boolean = false,
var canRedactEventWithRelations: Boolean = false,
) : RealmObject() {
companion object

View File

@ -33,7 +33,9 @@ internal open class PollResponseAggregatedSummaryEntity(
// The list of the eventIDs used to build the summary (might be out of sync if chunked received from message chunk)
var sourceEvents: RealmList<String> = RealmList(),
var sourceLocalEchoEvents: RealmList<String> = RealmList()
var sourceLocalEchoEvents: RealmList<String> = RealmList(),
// list of related event ids which are encrypted due to decryption failure
var encryptedRelatedEventIds: RealmList<String> = RealmList(),
) : RealmObject() {
companion object

View File

@ -72,7 +72,7 @@ import org.matrix.android.sdk.internal.database.model.threads.ThreadSummaryEntit
SpaceParentSummaryEntity::class,
UserPresenceEntity::class,
ThreadSummaryEntity::class,
ThreadListPageEntity::class
ThreadListPageEntity::class,
]
)
internal class SessionRealmModule

View File

@ -20,7 +20,6 @@ import io.realm.Realm
import io.realm.RealmList
import io.realm.RealmQuery
import io.realm.kotlin.where
import org.matrix.android.sdk.api.session.events.model.EventType
import org.matrix.android.sdk.internal.database.model.EventEntity
import org.matrix.android.sdk.internal.database.model.EventEntityFields
import org.matrix.android.sdk.internal.database.model.EventInsertEntity
@ -32,10 +31,9 @@ internal fun EventEntity.copyToRealmOrIgnore(realm: Realm, insertType: EventInse
.equalTo(EventEntityFields.ROOM_ID, roomId)
.findFirst()
return if (eventEntity == null) {
val canBeProcessed = type != EventType.ENCRYPTED || decryptionResultJson != null
val insertEntity = EventInsertEntity(eventId = eventId, eventType = type, canBeProcessed = canBeProcessed).apply {
this.insertType = insertType
}
val insertEntity = EventInsertEntity(eventId = eventId, eventType = type, canBeProcessed = true)
insertEntity.insertType = insertType
realm.insert(insertEntity)
// copy this event entity and return it
realm.copyToRealm(this)

View File

@ -25,6 +25,7 @@ import org.matrix.android.sdk.api.session.homeserver.HomeServerCapabilities
import org.matrix.android.sdk.internal.auth.version.Versions
import org.matrix.android.sdk.internal.auth.version.doesServerSupportLogoutDevices
import org.matrix.android.sdk.internal.auth.version.doesServerSupportQrCodeLogin
import org.matrix.android.sdk.internal.auth.version.doesServerSupportRedactEventWithRelations
import org.matrix.android.sdk.internal.auth.version.doesServerSupportRemoteToggleOfPushNotifications
import org.matrix.android.sdk.internal.auth.version.doesServerSupportThreadUnreadNotifications
import org.matrix.android.sdk.internal.auth.version.doesServerSupportThreads
@ -154,6 +155,8 @@ internal class DefaultGetHomeServerCapabilitiesTask @Inject constructor(
getVersionResult.doesServerSupportQrCodeLogin()
homeServerCapabilitiesEntity.canRemotelyTogglePushNotificationsOfDevices =
getVersionResult.doesServerSupportRemoteToggleOfPushNotifications()
homeServerCapabilitiesEntity.canRedactEventWithRelations =
getVersionResult.doesServerSupportRedactEventWithRelations()
}
if (getWellknownResult != null && getWellknownResult is WellknownResult.Prompt) {

View File

@ -16,13 +16,16 @@
package org.matrix.android.sdk.internal.session.room
import org.matrix.android.sdk.api.session.events.model.Content
import org.matrix.android.sdk.api.session.events.model.Event
import org.matrix.android.sdk.api.session.events.model.EventType
import org.matrix.android.sdk.api.session.events.model.LocalEcho
import org.matrix.android.sdk.api.session.events.model.RelationType
import org.matrix.android.sdk.api.session.events.model.getRelationContent
import org.matrix.android.sdk.api.session.events.model.toModel
import org.matrix.android.sdk.api.session.events.model.toValidDecryptedEvent
import org.matrix.android.sdk.api.session.room.model.message.MessageContent
import org.matrix.android.sdk.api.session.room.model.message.MessagePollContent
import org.matrix.android.sdk.internal.crypto.store.IMXCryptoStore
import timber.log.Timber
import javax.inject.Inject
@ -101,7 +104,7 @@ internal class EventEditValidator @Inject constructor(val cryptoStore: IMXCrypto
if (originalDecrypted.type != replaceDecrypted.type) {
return EditValidity.Invalid("replacement and original events must have the same type")
}
if (replaceDecrypted.clearContent.toModel<MessageContent>()?.newContent == null) {
if (!hasNewContent(replaceDecrypted.type, replaceDecrypted.clearContent)) {
return EditValidity.Invalid("replacement event must have an m.new_content property")
}
} else {
@ -116,11 +119,18 @@ internal class EventEditValidator @Inject constructor(val cryptoStore: IMXCrypto
if (originalEvent.type != replaceEvent.type) {
return EditValidity.Invalid("replacement and original events must have the same type")
}
if (replaceEvent.content.toModel<MessageContent>()?.newContent == null) {
if (!hasNewContent(replaceEvent.type, replaceEvent.content)) {
return EditValidity.Invalid("replacement event must have an m.new_content property")
}
}
return EditValidity.Valid
}
private fun hasNewContent(eventType: String?, content: Content?): Boolean {
return when (eventType) {
in EventType.POLL_START.values -> content.toModel<MessagePollContent>()?.newContent != null
else -> content.toModel<MessageContent>()?.newContent != null
}
}
}

Some files were not shown because too many files have changed in this diff Show More