Merge tag 'v1.3.1' into sc

Change-Id: I1e5589c78e3398867519b1dbd326581cbe60baea

Conflicts:
	vector/src/main/java/im/vector/app/features/home/room/detail/composer/VoiceMessageRecorderView.kt
	vector/src/main/java/im/vector/app/features/settings/VectorSettingsAdvancedSettingsFragment.kt
	vector/src/main/res/drawable/ic_jump_to_unread.xml
	vector/src/main/res/drawable/ic_radio_on.xml
	vector/src/main/res/drawable/ic_voice_message_locked.xml
	vector/src/main/res/drawable/ic_voice_mic_recording.xml
This commit is contained in:
SpiritCroc 2021-09-30 09:27:15 +02:00
commit 38ae03893f
94 changed files with 1144 additions and 158 deletions

View File

@ -71,14 +71,14 @@ body:
https://github.com/matrix-org/matrix-android-sdk2
- [ ] Create a release with GitFlow
- [ ] Update the value of VERSION_NAME in the file gradle.properties
- [ ] Update the files `./build.gradle` and `./gradle/gradle-wrapper.properties` manually, to use the latest version for the dependency. You can get inspired by the same files on Element Android project.
- [ ] Run the script `./tools/import_from_element.sh`
- [ ] Update the version in `./matrix-sdk-android/build.gradle`
- [ ] Check the diff on this file and restore what may have been erased (in particular the line `apply plugin: "com.vanniktech.maven.publish"`)
- [ ] Check the diff in the file `./matrix-sdk-android/build.gradle` and restore what may have been erased (in particular the line `apply plugin: "com.vanniktech.maven.publish"` and the line about the version)
- [ ] Let the script finish to build the library
- [ ] Update the file `CHANGES.md`
- [ ] Update the value of VERSION_NAME in the file gradle.properties
- [ ] Finish the release using GitFlow
- [ ] Push the branch `main`, the new tag and the branch `develop` to origin
##### Release on MavenCentral

View File

@ -1,10 +1,16 @@
### Pull Request Checklist
<!-- Please read [CONTRIBUTING.md](https://github.com/vector-im/element-android/blob/develop/CONTRIBUTING.md) before submitting your pull request -->
<!--
Please read [CONTRIBUTING.md](https://github.com/vector-im/element-android/blob/develop/CONTRIBUTING.md) before submitting your pull request
Depending on the Pull Request content, it can be acceptable if some of the following checkboxes stay unchecked.
-->
- [ ] Changes has been tested on an Android device or Android emulator with API 21
- [ ] UI change has been tested on both light and dark themes
- [ ] Accessibility has been taken into account. See https://github.com/vector-im/element-android/blob/develop/CONTRIBUTING.md#accessibility
- [ ] Pull request is based on the develop branch
- [ ] Pull request includes a new file under ./changelog.d. See https://github.com/vector-im/element-android/blob/develop/CONTRIBUTING.md#changelog
- [ ] Pull request includes screenshots or videos if containing UI changes
- [ ] Pull request includes a [sign off](https://github.com/matrix-org/synapse/blob/master/CONTRIBUTING.md#sign-off)
- [ ] You've made a self review of your PR
- [ ] If you have modified the screen flow, or added new screens to the application, you have updated the test [UiAllScreensSanityTest.allScreensTest()](https://github.com/vector-im/element-android/blob/main/vector/src/androidTest/java/im/vector/app/ui/UiAllScreensSanityTest.kt#L73)

View File

@ -1,3 +1,13 @@
Changes in Element v1.3.1 (2021-09-29)
======================================
Bugfixes 🐛
----------
- Verifying exported E2E keys to provide user feedback when the output is malformed ([#4082](https://github.com/vector-im/element-android/issues/4082))
- Fix settings crash when accelerometer not available ([#4103](https://github.com/vector-im/element-android/issues/4103))
- Crash while rendering failed message warning ([#4110](https://github.com/vector-im/element-android/issues/4110))
Changes in Element v1.3.0 (2021-09-27)
======================================

View File

@ -148,6 +148,8 @@ The string will be removed during the next sync with Weblate.
Please consider accessibility as an important point. As a minimum requirement, in layout XML files please use attributes such as `android:contentDescription` and `android:importantForAccessibility`, and test with a screen reader if it's working well. You can add new string resources, dedicated to accessibility, in this case, please prefix theirs id with `a11y_`.
For instance, when updating the image `src` of an ImageView, please also consider updating its `contentDescription`. A good example is a play pause button.
### Layout
When adding or editing layouts, make sure the layout will render correctly if device uses a RTL (Right To Left) language.

View File

@ -22,6 +22,7 @@ def epoxy = "4.6.2"
def glide = "4.12.0"
def bigImageViewer = "1.8.1"
def jjwt = "0.11.2"
def vanniktechEmoji = "0.8.0"
// Testing
def mockk = "1.12.0"
@ -48,7 +49,7 @@ ext.libs = [
'recyclerview' : "androidx.recyclerview:recyclerview:1.2.1",
'exifinterface' : "androidx.exifinterface:exifinterface:1.3.3",
'fragmentKtx' : "androidx.fragment:fragment-ktx:1.3.6",
'constraintLayout' : "androidx.constraintlayout:constraintlayout:2.1.0",
'constraintLayout' : "androidx.constraintlayout:constraintlayout:2.1.1",
'work' : "androidx.work:work-runtime-ktx:2.5.0",
'autoFill' : "androidx.autofill:autofill:1.1.0",
'preferenceKtx' : "androidx.preference:preference-ktx:1.1.1",
@ -124,6 +125,10 @@ ext.libs = [
'jjwtImpl' : "io.jsonwebtoken:jjwt-impl:$jjwt",
'jjwtOrgjson' : "io.jsonwebtoken:jjwt-orgjson:$jjwt"
],
vanniktech: [
'emojiMaterial' : "com.vanniktech:emoji-material:$vanniktechEmoji",
'emojiGoogle' : "com.vanniktech:emoji-google:$vanniktechEmoji"
],
tests : [
'kluent' : "org.amshove.kluent:kluent-android:1.68",
'timberJunitRule' : "net.lachlanmckee:timber-junit-rule:1.0.1",

View File

@ -0,0 +1,2 @@
Hlavní změny v této verzi: Mnohá vylepšení VoIP a prostorů (stále v beta verzi).
Úplný seznam změn: https://github.com/vector-im/element-android/releases/tag/v1.2.1

View File

@ -1,2 +1,2 @@
Hauptänderungen: Sprachnachrichten standardmäßig aktiviert.
Ganze Änderungsliste: https://github.com/vector-im/element-android/releases/tag/v1.1.16
Ganze Änderungsliste: https://github.com/vector-im/element-android/releases/tag/v1.2.0

View File

@ -0,0 +1,2 @@
VoIP und Spaces verbessert
Vollständige Änderungsliste: https://github.com/vector-im/element-android/releases/tag/v1.2.1

View File

@ -0,0 +1,2 @@
Main changes in this version: Organize your rooms using Spaces! v1.3.1 is fixing a crash which can occurs in v1.3.0.
Full changelog: https://github.com/vector-im/element-android/releases/tag/v1.3.1

View File

@ -1,2 +1,2 @@
Põhilised muutused selles versioonis: häälsõnumid on nüüd vaikimisi kasutusel.
Kogu ingliskeelne muudatuste logi: https://github.com/vector-im/element-android/releases/tag/v1.1.16
Kogu ingliskeelne muudatuste logi: https://github.com/vector-im/element-android/releases/tag/v1.2.0

View File

@ -0,0 +1,2 @@
Põhilised muutused selles versioonis: palju täiendusi kõnede ja veel testjärgus olevas kogukonnakeskuste loogikas.
Kogu ingliskeelne muudatuste logi: https://github.com/vector-im/element-android/releases/tag/v1.2.1

View File

@ -1,2 +1,2 @@
تغییرهای اصلی در این نگارش: پیام صوتی به صورت پیش‌گزیده به کار افتاده.
گزارش دگرگونی کامل: https://github.com/vector-im/element-android/releases/tag/v1.1.16
گزارش دگرگونی کامل: https://github.com/vector-im/element-android/releases/tag/v1.2.0

View File

@ -0,0 +1,2 @@
تغییرات اصلی در این نگارش: چندین بهبود در ویپ و فضاها (همچنان در حالت آزمایشی).
گزارش دگرگونی کامل: https://github.com/vector-im/element-android/releases/tag/v1.2.1

View File

@ -1,2 +1,2 @@
Fő változás ebben a verzióban: Hangüzenetek alapértelmezetten engedélyezettek.
Teljes változásnapló: https://github.com/vector-im/element-android/releases/tag/v1.1.16
Teljes változásnapló: https://github.com/vector-im/element-android/releases/tag/v1.2.0

View File

@ -0,0 +1,2 @@
Fő változás ebben a verzióban: Sok fejlesztés a VoIP és Terek kapcsán (még béta)
Teljes változásnapló: https://github.com/vector-im/element-android/releases/tag/v1.2.1

View File

@ -1,2 +1,2 @@
Modifiche principali in questa versione: i messaggi vocali sono attivi in modo predefinito.
Cronologia completa: https://github.com/vector-im/element-android/releases/tag/v1.1.16
Cronologia completa: https://github.com/vector-im/element-android/releases/tag/v1.2.0

View File

@ -0,0 +1,2 @@
Modifiche principali in questa versione: molti miglioramenti nel VoIP e negli Spazi (ancora in beta).
Cronologia completa: https://github.com/vector-im/element-android/releases/tag/v1.2.1

View File

@ -1,2 +1,2 @@
Principais mudanças nesta versão: Mensagem de Voz está habilitada por default.
Changelog completo: https://github.com/vector-im/element-android/releases/tag/v1.1.16
Changelog completo: https://github.com/vector-im/element-android/releases/tag/v1.2.0

View File

@ -0,0 +1,2 @@
Principais mudanças nesta versão: Muitas melhorias em VoIP e Espaços (ainda em beta).
Changelog completo: https://github.com/vector-im/element-android/releases/tag/v1.2.1

View File

@ -1,2 +1,2 @@
Основные изменения в этой версии: Голосовое сообщение включено по умолчанию.
Полный список изменений: https://github.com/vector-im/element-android/releases/tag/v1.1.16
Полный список изменений: https://github.com/vector-im/element-android/releases/tag/v1.2.0

View File

@ -0,0 +1,2 @@
Основные изменения в этой версии: Множество улучшений в VoIP и пространствах (все еще в бета-версии).
Полный список изменений: https://github.com/vector-im/element-android/releases/tag/v1.2.1

View File

@ -0,0 +1,2 @@
Ky version i ri përmban kryesisht ndreqje të metash dhe përmirësime. Dërgimi i një mesazhi tani është shumë i shpejtë.
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases/tag/v1.0.10

View File

@ -0,0 +1,2 @@
Ky version i ri përmban kryesisht përmirësime të ndërfaqes dhe punimit të përdoruesit. Tani mund të ftoni shokë, dhe të krijoni MD shumë shpejt, përmes skanimit të kodesh QR.
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases/tag/v1.0.11

View File

@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: Paraparje URL-sh, tastierë e re për emoji, aftësi të reja për rregullime dhome, dhe dëborë për Krishtlindje!
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases/tag/v1.0.12

View File

@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: Paraparje URL-sh, tastierë e re për emoji, aftësi të reja për rregullime dhome, dhe dëborë për Krishtlindje!
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases/tag/v1.0.13

View File

@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: Përpunim lejesh dhome, temë e çelët/e errët e automatizuar, dhe një dorë ndreqjesh të metash.
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases/tag/v1.0.14

View File

@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: Mbulim Hyrjesh nga rrjete shoqërorë.
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases/tag/v1.0.15

View File

@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: Mbulim Hyrjesh nga rrjete shoqërorë.
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases/tag/v1.0.15 dhe https://github.com/vector-im/element-android/releases/tag/v1.0.16

View File

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

View File

@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: Përmirësime për VoIP (thirrje audio dhe video në DM) dhe ndreqje të metash!
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases/tag/v1.1.0

View File

@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: përmirësime funksionimi dhe ndreqje të metash!
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases/tag/v1.1.1

View File

@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: përmirësime funksionimi dhe ndreqje të metash!
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases/tag/v1.1.2

View File

@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: përmirësime funksionimi dhe ndreqje të metash!
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases/tag/v1.1.3

View File

@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: përmirësime funksionimi dhe ndreqje të metash!
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases/tag/v1.1.4

View File

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

View File

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

View File

@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: mbulim për Hapësira, në fazë beta. Ngjeshje videosh, përpara dërgimi.
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases/tag/v1.1.7

View File

@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: përmirësime për Hapësira.
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases/tag/v1.1.8

View File

@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: shtim mbulimi për rrjetin gitter.im.
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases/tag/v1.1.9

View File

@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: përditësime teme dhe stili dhe veçori të reja për hapësira.
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases/tag/v1.1.10

View File

@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: përditësime teme dhe stili dhe veçori të reja për hapësira (ndreqje të mete për 1.1.10)
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases/tag/v1.1.11

View File

@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: përditësime teme dhe stili dhe ndreqje e një vithisjeje pas një thirrjeje video
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases/tag/v1.1.12

View File

@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: përditësim kryesisht për qëndrueshmërinë dhe ndreqje të metash.
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases/tag/v1.1.13

View File

@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: ndreqje e një problemi rreth mesazhesh të fshehtëzuar.
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases/tag/v1.1.14

View File

@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: sendërtim mesazhesh zanore, nën mjedis laboratori.
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases/tag/v1.1.15

View File

@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: Ndreqje gabimi, kur dërgohet mesazh i fshehtëzuar, nëse dikush nga dhoma bën dalje prej saj.
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases/tag/v1.1.16

View File

@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: Mesazh Zanor është i aktivizuar, si parazgjedhje.
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases/tag/v1.2.0

View File

@ -0,0 +1,2 @@
Ndryshimet kryesore në këtë version: Mjaft përmirësime në VoIP dhe Hapësira (ende në beta).
Regjistër i plotë ndryshimesh: https://github.com/vector-im/element-android/releases/tag/v1.2.1

View File

@ -0,0 +1,39 @@
Element-i është si aplikacion shkëmbyes i sigurt mesazhesh, ashtu edhe bashkëpunimi prodhimtar ekipi, i cili është ideal për fjalosje në grup, teksa punohet së largët. Ky aplikacion fjalosjeje përdor fshehtëzim skaj-më-skaj për të furnizuar konferencë video, shkëmbim kartelash dhe thirrje me zë të fuqishme.
<b>Në veçoritë e Element-it përfshihen:</b>
- Mjete të thelluara komunikimi internetor
- Mesazhe plotësisht të fshehtëzuar, për të lejuar komunikim në nivel korporate, madje edhe për punonjës së largëti
- Fjalosje e decentralizuar, bazuar në platformën me burim të hapët Matrix
- Shkëmbim i sigurt kartelash, me të dhëna të fshehtëzuara, teksa administrohen projekte
- Fjalosje video të llojit VoIP dhe tregim ekrani
- Integrim i kollajtë me mjetet tuaja të parapëlqyera të bashkëpunimit internetor, mjete administrimi projektesh, shërbime VoIP dhe aplikacione të tjera shkëmbimi mesazhesh në ekip
Element-i është plotësisht i ndryshëm nga aplikacione të tjera shkëmbimi mesazhesh dhe bashkëpunimi. Funksionimi i tij bazohet në Matrix, një rrjet i hapët për mesazhe të siguruar dhe komunikim të decentralizuar. Lejon vetëstrehim, për tu lejuar përdoruesve pronësi dhe kontroll maksimal të të dhënave dhe mesazheve të tyre.
<b>Privatësi dhe shkëmbim mesazhesh të fshehtëzuar</b>
Element-i ju mbron nga reklama të padëshiruara, shfrytëzim të dhënash dhe vatha dixhitale. Ai siguron gjithashtu krejt të dhënat tuaja, komunikime tek-për-tek me video dhe me zë, përmes fshehtëzimi skaj-më-skaj dhe verifikim “cross-signed” pajisjesh.
Element-i ju jep kontrollin e privatësisë tuaj, teksa ju lejon të komunikoni në mënyrë të siguruar me këdo në rrjetin Matrix, ose me mjete të tjera bashkëpunimi në shkallë biznesi, duke u integruar me aplikacione të tillë si Slack.
<b>Element-i mund të vetëstrehohet</b>
Për të lejuar më tepër kontroll mbi të dhënat dhe bisedat tuaja rezervat, Element-i mund të vetëstrehohet, ose mund të zgjidhni cilëndo strehë të bazuar në Matrix - standardi për komunikim me burim të hapët, të decentralizuar. Element-i ju jep privatësi, pajtueshmëri sigurie dhe zhdërvjelltësi integrimesh.
<b>Jini zot i të dhënave tuaja</b>
Ju vendosni ku të mbahen të dhënat dhe mesazhet tuaja. Pa rrezikun e shfrytëzimit të të dhënave apo hyrjes në to nga palë të treta.
Element-i ju vë ju në kontroll përmes rrugësh të ndryshme:
1. Merrni një llogari falas te shërbyesi publik matrix.org strehuar nga zhvillues të Matrix-it, ose zgjidhni prej mijëra shërbyesish publikë të strehuar nga vullnetarë
2. Vetëstrehoni llogarinë tuaj duke xhiruar një shërbyes në infrastrukturën tuaj TI
3. Regjistrohuni për një llogari në një shërbyes vetjak, thjesht duke u pajtuar te platforma Element Matrix Services e strehimeve
<b>Shkëmbim mesazhesh dhe bashkëpunim me burim të hapët</b>
Mund të fjaloseni me këdo në rrjetin Matrix, qoftë kur përdorin Element, një tjetër aplikacion Matrix, apo edhe kur përdorin një tjetër aplikacion shkëmbimi mesazhesh.
<b>Super i sigurt</b>
Fshehtëzim i njëmendtë skaj-më-skaj (vetëm ata te biseda mund të shfshehtëzojnë mesazhe), dhe verifikim “cross-signed” pajisjesh.
<b>Komunikim dhe integrim i plotë</b>
Shkëmbim mesazhesh, thirrje me zë dhe me video, shkëmbim kartelash, tregim ekrani dhe një grup i tërë integrimesh, robotësh dhe widget-esh. Krijoni dhoma, bashkësi, mbani lidhjet dhe mbaroni punë.
<b>Rifillojani atje ku e latë</b>
Jini në dijeni, kudo ku gjendeni, me historik plotësisht të njëkohësuar mesazhesh nëpër krejt pajisjet tuaja dhe në internet te https://app.element.io

View File

@ -0,0 +1 @@
Mesazhe grupi - mesazhe, fjalosje në grup dhe thirrje me video, të fshehtëzuara

View File

@ -1 +1 @@
Element - Shkëmbyes I Sigurt Mesazhesh
Element - Shkëmbyes i Sigurt Mesazhesh

View File

@ -1,2 +1,2 @@
Основні зміни в цій версії: голосові повідомлення типово увімкнено.
Повний журнал змін: https://github.com/vector-im/element-android/releases/tag/v1.1.16
Повний журнал змін: https://github.com/vector-im/element-android/releases/tag/v1.2.0

View File

@ -0,0 +1,2 @@
Основні зміни в цій версії: багато вдосконалень VoIP і просторів (досі бета)
Повний журнал змін: https://github.com/vector-im/element-android/releases/tag/v1.2.1

View File

@ -1,2 +1,2 @@
此版本中的主要更改:默认启用语音消息。
完整更新日志https://github.com/vector-im/element-android/releases/tag/v1.1.16
完整更新日志https://github.com/vector-im/element-android/releases/tag/v1.2.0

View File

@ -0,0 +1,2 @@
这个版本的主要变化VoIP和空间的许多改进(仍在测试中)。
完整更新日志https://github.com/vector-im/element-android/releases/tag/v1.2.1

View File

@ -0,0 +1,2 @@
此版本中的主要變動:對 VoIP 與空間功能的諸多改善(仍在測試中)。
完整的變更紀錄https://github.com/vector-im/element-android/releases/tag/v1.2.1

View File

@ -31,7 +31,7 @@ android {
// that the app's state is completely cleared between tests.
testInstrumentationRunnerArguments clearPackageData: 'true'
buildConfigField "String", "SDK_VERSION", "\"1.2.2\""
buildConfigField "String", "SDK_VERSION", "\"1.3.1\""
buildConfigField "String", "GIT_SDK_REVISION", "\"${gitRevision()}\""
resValue "string", "git_sdk_revision", "\"${gitRevision()}\""

View File

@ -59,24 +59,6 @@ else
removeShortDes_si=1
fi
if [[ -f "./fastlane/metadata/android/sq/short_description.txt" ]]; then
echo "It appears that file ./fastlane/metadata/android/sq/short_description.txt now exists. This can be removed."
removeShortDes_sq=0
else
echo "Copy default short description to ./fastlane/metadata/android/sq"
cp ./fastlane/metadata/android/en-US/short_description.txt ./fastlane/metadata/android/sq
removeShortDes_sq=1
fi
if [[ -f "./fastlane/metadata/android/sq/full_description.txt" ]]; then
echo "It appears that file ./fastlane/metadata/android/sq/full_description.txt now exists. This can be removed."
removeFullDes_sq=0
else
echo "Copy default full description to ./fastlane/metadata/android/sq"
cp ./fastlane/metadata/android/en-US/full_description.txt ./fastlane/metadata/android/sq
removeFullDes_sq=1
fi
if [[ -f "./fastlane/metadata/android/th/full_description.txt" ]]; then
echo "It appears that file ./fastlane/metadata/android/th/full_description.txt now exists. This can be removed."
removeFullDes_th=0
@ -117,18 +99,10 @@ if [[ ${removeShortDes_si} -eq 1 ]]; then
rm ./fastlane/metadata/android/si-LK/short_description.txt
fi
if [[ ${removeShortDes_sq} -eq 1 ]]; then
rm ./fastlane/metadata/android/sq/short_description.txt
fi
if [[ ${removeFullDes_th} -eq 1 ]]; then
rm ./fastlane/metadata/android/th/full_description.txt
fi
if [[ ${removeFullDes_sq} -eq 1 ]]; then
rm ./fastlane/metadata/android/sq/full_description.txt
fi
if [[ ${removeFullDes_vi} -eq 1 ]]; then
rm ./fastlane/metadata/android/vi/full_description.txt
fi

View File

@ -14,7 +14,7 @@ kapt {
// Note: 2 digits max for each value
ext.versionMajor = 1
ext.versionMinor = 3
ext.versionPatch = 0
ext.versionPatch = 1
ext.scVersion = 44
@ -323,6 +323,11 @@ android {
}
}
configurations {
// videocache includes a sl4j logger which causes mockk to attempt to call the static android Log
testImplementation.exclude group: 'org.slf4j', module: 'slf4j-android'
}
dependencies {
implementation project(":matrix-sdk-android")
@ -426,7 +431,7 @@ dependencies {
implementation 'com.otaliastudios:autocomplete:1.1.0'
// Shake detection
implementation 'com.squareup:seismic:1.0.2'
implementation 'com.squareup:seismic:1.0.3'
// Image Loading
implementation libs.github.bigImageViewer
@ -486,8 +491,8 @@ dependencies {
implementation 'me.dm7.barcodescanner:zxing:1.9.13'
// Emoji Keyboard
implementation 'com.vanniktech:emoji-material:0.7.0'
implementation 'com.vanniktech:emoji-google:0.7.0'
implementation libs.vanniktech.emojiMaterial
implementation libs.vanniktech.emojiGoogle
implementation 'im.dlg:android-dialer:1.2.5'
@ -503,6 +508,7 @@ dependencies {
// TESTS
testImplementation libs.tests.junit
testImplementation libs.tests.kluent
testImplementation libs.mockk.mockk
// Plant Timber tree for test
testImplementation libs.tests.timberJunitRule

View File

@ -21,12 +21,12 @@
<!-- Accessibility -->
<issue id="LabelFor" severity="error" />
<issue id="ContentDescription" severity="error" />
<issue id="SpUsage" severity="error" />
<!-- Layout -->
<issue id="UnknownIdInLayout" severity="error" />
<issue id="StringFormatCount" severity="error" />
<issue id="HardcodedText" severity="error" />
<issue id="SpUsage" severity="error" />
<issue id="ObsoleteLayoutParam" severity="error" />
<issue id="InefficientWeight" severity="error" />
<issue id="DisableBaselineAlignment" severity="error" />

View File

@ -26,6 +26,7 @@ import im.vector.app.EmojiCompatFontProvider
import im.vector.app.EmojiCompatWrapper
import im.vector.app.VectorApplication
import im.vector.app.core.dialogs.UnrecognizedCertificateDialog
import im.vector.app.core.dispatchers.CoroutineDispatchers
import im.vector.app.core.error.ErrorFormatter
import im.vector.app.core.network.WifiDetector
import im.vector.app.core.pushers.PushersManager
@ -171,6 +172,8 @@ interface VectorComponent {
fun appCoroutineScope(): CoroutineScope
fun coroutineDispatchers(): CoroutineDispatchers
fun jitsiActiveConferenceHolder(): JitsiActiveConferenceHolder
@Component.Factory

View File

@ -23,6 +23,7 @@ import android.content.res.Resources
import dagger.Binds
import dagger.Module
import dagger.Provides
import im.vector.app.core.dispatchers.CoroutineDispatchers
import im.vector.app.core.error.DefaultErrorFormatter
import im.vector.app.core.error.ErrorFormatter
import im.vector.app.features.invite.AutoAcceptInvites
@ -105,6 +106,12 @@ abstract class VectorModule {
fun providesApplicationCoroutineScope(): CoroutineScope {
return CoroutineScope(SupervisorJob() + Dispatchers.Main)
}
@Provides
@JvmStatic
fun providesCoroutineDispatchers(): CoroutineDispatchers {
return CoroutineDispatchers(io = Dispatchers.IO)
}
}
@Binds

View File

@ -0,0 +1,22 @@
/*
* Copyright (c) 2021 New Vector Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package im.vector.app.core.dispatchers
import kotlinx.coroutines.CoroutineDispatcher
import javax.inject.Inject
data class CoroutineDispatchers @Inject constructor(val io: CoroutineDispatcher)

View File

@ -27,6 +27,7 @@ import im.vector.app.core.epoxy.ClickListener
import im.vector.app.core.epoxy.VectorEpoxyHolder
import im.vector.app.core.epoxy.VectorEpoxyModel
import im.vector.app.core.epoxy.onClick
import im.vector.app.core.extensions.setAttributeTintedImageResource
import im.vector.app.core.extensions.setTextOrHide
/**
@ -62,7 +63,7 @@ abstract class BottomSheetRadioActionItem : VectorEpoxyModel<BottomSheetRadioAct
holder.descriptionText.setTextOrHide(description)
if (selected) {
holder.radioImage.setImageDrawable(ContextCompat.getDrawable(holder.view.context, R.drawable.ic_radio_on))
holder.radioImage.setAttributeTintedImageResource(R.drawable.ic_radio_on, R.attr.colorPrimary)
holder.radioImage.contentDescription = holder.view.context.getString(R.string.a11y_checked)
} else {
holder.radioImage.setImageDrawable(ContextCompat.getDrawable(holder.view.context, R.drawable.ic_radio_off))

View File

@ -27,6 +27,7 @@ import im.vector.app.core.epoxy.ClickListener
import im.vector.app.core.epoxy.VectorEpoxyHolder
import im.vector.app.core.epoxy.VectorEpoxyModel
import im.vector.app.core.epoxy.onClick
import im.vector.app.core.extensions.setAttributeTintedImageResource
@EpoxyModelClass(layout = R.layout.item_radio)
abstract class RadioButtonItem : VectorEpoxyModel<RadioButtonItem.Holder>() {
@ -54,7 +55,7 @@ abstract class RadioButtonItem : VectorEpoxyModel<RadioButtonItem.Holder>() {
}
if (selected) {
holder.radioImage.setImageDrawable(ContextCompat.getDrawable(holder.view.context, R.drawable.ic_radio_on))
holder.radioImage.setAttributeTintedImageResource(R.drawable.ic_radio_on, R.attr.colorPrimary)
holder.radioImage.contentDescription = holder.view.context.getString(R.string.a11y_checked)
} else {
holder.radioImage.setImageDrawable(ContextCompat.getDrawable(holder.view.context, R.drawable.ic_radio_off))

View File

@ -22,9 +22,14 @@ import android.view.View
import android.view.ViewGroup
import android.widget.EditText
import android.widget.ImageView
import androidx.annotation.AttrRes
import androidx.annotation.DrawableRes
import androidx.appcompat.widget.SearchView
import androidx.core.content.ContextCompat
import androidx.core.graphics.drawable.DrawableCompat
import androidx.core.view.isVisible
import im.vector.app.R
import im.vector.app.features.themes.ThemeUtils
/**
* Remove left margin of a SearchView
@ -58,3 +63,20 @@ fun ImageView.setDrawableOrHide(drawableRes: Drawable?) {
setImageDrawable(drawableRes)
isVisible = drawableRes != null
}
fun View.setAttributeTintedBackground(@DrawableRes drawableRes: Int, @AttrRes tint: Int) {
val drawable = ContextCompat.getDrawable(context, drawableRes)!!
DrawableCompat.setTint(drawable, ThemeUtils.getColor(context, tint))
background = drawable
}
fun ImageView.setAttributeTintedImageResource(@DrawableRes drawableRes: Int, @AttrRes tint: Int) {
val drawable = ContextCompat.getDrawable(context, drawableRes)!!
DrawableCompat.setTint(drawable, ThemeUtils.getColor(context, tint))
setImageDrawable(drawable)
}
fun View.setAttributeBackground(@AttrRes attributeId: Int) {
val attribute = ThemeUtils.getAttribute(context, attributeId)!!
setBackgroundResource(attribute.resourceId)
}

View File

@ -18,24 +18,43 @@ package im.vector.app.features.crypto.keys
import android.content.Context
import android.net.Uri
import kotlinx.coroutines.Dispatchers
import im.vector.app.core.dispatchers.CoroutineDispatchers
import kotlinx.coroutines.withContext
import org.matrix.android.sdk.api.session.Session
import javax.inject.Inject
class KeysExporter @Inject constructor(
private val session: Session,
private val context: Context
private val context: Context,
private val dispatchers: CoroutineDispatchers
) {
/**
* Export keys and write them to the provided uri
*/
suspend fun export(password: String, uri: Uri) {
return withContext(Dispatchers.IO) {
withContext(dispatchers.io) {
val data = session.cryptoService().exportRoomKeys(password)
context.contentResolver.openOutputStream(uri)
?.use { it.write(data) }
?: throw IllegalStateException("Unable to open file for writting")
?: throw IllegalStateException("Unable to open file for writing")
verifyExportedKeysOutputFileSize(uri, expectedSize = data.size.toLong())
}
}
private fun verifyExportedKeysOutputFileSize(uri: Uri, expectedSize: Long) {
val output = context.contentResolver.openFileDescriptor(uri, "r", null)
when {
output == null -> throw IllegalStateException("Exported file not found")
output.statSize != expectedSize -> {
throw UnexpectedExportKeysFileSizeException(
expectedFileSize = expectedSize,
actualFileSize = output.statSize
)
}
}
}
}
class UnexpectedExportKeysFileSizeException(expectedFileSize: Long, actualFileSize: Long) : IllegalStateException(
"Exported Keys file has unexpected file size, got: $actualFileSize but expected: $expectedFileSize"
)

View File

@ -27,6 +27,9 @@ import androidx.core.view.isVisible
import androidx.core.view.updateLayoutParams
import im.vector.app.BuildConfig
import im.vector.app.R
import im.vector.app.core.extensions.setAttributeBackground
import im.vector.app.core.extensions.setAttributeTintedBackground
import im.vector.app.core.extensions.setAttributeTintedImageResource
import im.vector.app.core.hardware.vibrate
import im.vector.app.core.utils.CountUpTimer
import im.vector.app.core.utils.DimensionConverter
@ -219,7 +222,7 @@ class VoiceMessageRecorderView: ConstraintLayout, VoiceMessagePlaybackTracker.Li
views.voiceMessageLockArrow.translationY = 0F
}
RecordingState.LOCKING -> {
views.voiceMessageLockImage.setImageResource(R.drawable.ic_voice_message_locked)
views.voiceMessageLockImage.setAttributeTintedImageResource(R.drawable.ic_voice_message_locked, R.attr.colorPrimary)
val translationAmount = -distanceY.coerceIn(0F, distanceToLock)
views.voiceMessageMicButton.translationY = translationAmount
views.voiceMessageLockArrow.translationY = translationAmount
@ -368,6 +371,7 @@ class VoiceMessageRecorderView: ConstraintLayout, VoiceMessagePlaybackTracker.Li
private fun showRecordingViews() {
views.voiceMessageMicButton.setImageResource(R.drawable.ic_voice_mic_recording)
views.voiceMessageMicButton.setAttributeTintedBackground(R.drawable.circle_with_halo, R.attr.colorPrimary)
views.voiceMessageMicButton.isVisible = true
/* This is a no-op for SchildiChat
views.voiceMessageMicButton.updateLayoutParams<MarginLayoutParams> {
@ -450,6 +454,7 @@ class VoiceMessageRecorderView: ConstraintLayout, VoiceMessagePlaybackTracker.Li
views.voiceMessageMicButton.isVisible = true
}
views.voiceMessageMicButton.setImageResource(R.drawable.ic_voice_mic)
views.voiceMessageMicButton.setAttributeBackground(android.R.attr.selectableItemBackgroundBorderless)
/* This is from Element, and I have no idea why they just didn't make it symmetric from the layout... well I did!
// Also, SchildiChat layout doesn't need any margin there, and doesn't enlarge the icon during recording, so no code needed here
views.voiceMessageMicButton.updateLayoutParams<MarginLayoutParams> {

View File

@ -28,6 +28,7 @@ import im.vector.app.core.epoxy.ClickListener
import im.vector.app.core.epoxy.VectorEpoxyHolder
import im.vector.app.core.epoxy.VectorEpoxyModel
import im.vector.app.core.epoxy.onClick
import im.vector.app.core.extensions.setAttributeTintedImageResource
import im.vector.app.core.utils.DebouncedClickListener
import im.vector.app.features.home.AvatarRenderer
import org.matrix.android.sdk.api.util.MatrixItem
@ -57,7 +58,7 @@ abstract class SpaceJoinRuleItem : VectorEpoxyModel<SpaceJoinRuleItem.Holder>()
holder.upgradeRequiredButton.setOnClickListener(DebouncedClickListener(listener))
if (selected) {
holder.radioImage.setImageDrawable(ContextCompat.getDrawable(holder.view.context, R.drawable.ic_radio_on))
holder.radioImage.setAttributeTintedImageResource(R.drawable.ic_radio_on, R.attr.colorPrimary)
holder.radioImage.contentDescription = holder.view.context.getString(R.string.a11y_checked)
} else {
holder.radioImage.setImageDrawable(ContextCompat.getDrawable(holder.view.context, R.drawable.ic_radio_off))

View File

@ -22,6 +22,7 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder
import im.vector.app.R
import im.vector.app.core.platform.VectorBaseActivity
import im.vector.app.core.preference.VectorPreference
import im.vector.app.core.preference.VectorPreferenceCategory
import im.vector.app.core.preference.VectorSwitchPreference
import im.vector.app.features.rageshake.RageShake
import javax.inject.Inject
@ -77,7 +78,7 @@ class VectorSettingsAdvancedSettingsFragment @Inject constructor(
true
}
} else {
findPreference<VectorSwitchPreference>("SETTINGS_RAGE_SHAKE_CATEGORY_KEY")!!.isVisible = false
findPreference<VectorPreferenceCategory>("SETTINGS_RAGE_SHAKE_CATEGORY_KEY")!!.isVisible = false
}
findPreference<VectorPreference>("SETTINGS_APPLY_SC_DEFAULT_SETTINGS")?.onPreferenceClickListener = Preference.OnPreferenceClickListener {

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="oval">
<solid android:color="#33FF0000" />
</shape>
</item>
<item
android:bottom="4dp"
android:left="4dp"
android:right="4dp"
android:top="4dp">
<shape android:shape="oval">
<solid android:color="#FF0000" />
</shape>
</item>
</layer-list>

View File

@ -5,6 +5,6 @@
android:viewportHeight="24">
<path
android:pathData="M12,2C6.4771,2 2,6.4771 2,12C2,17.5228 6.4771,22 12,22C17.5228,22 22,17.5228 22,12C22,6.4771 17.5228,2 12,2ZM11.2929,6.2929C11.3888,6.197 11.4993,6.1247 11.6172,6.0759L12.7071,6.2929L12.7075,6.2933L16.7071,10.2929C17.0976,10.6834 17.0976,11.3166 16.7071,11.7071C16.3166,12.0976 15.6834,12.0976 15.2929,11.7071L13,9.4142L13,17C13,17.5523 12.5523,18 12,18C11.4477,18 11,17.5523 11,17L11,9.4142L8.7071,11.7071C8.3166,12.0976 7.6834,12.0976 7.2929,11.7071C6.9024,11.3166 6.9024,10.6834 7.2929,10.2929L11.2929,6.2929ZM11.6172,6.0759L12.705,6.2908C12.5242,6.1111 12.2751,6 12,6C11.8644,6 11.7351,6.027 11.6172,6.0759Z"
android:fillColor="#808080"
android:fillColor="#FF0000"
android:fillType="evenOdd"/>
</vector>

View File

@ -10,6 +10,6 @@
android:fillType="evenOdd"/>
<path
android:pathData="M2,2h20v20h-20z"
android:fillColor="#808080" />
android:fillColor="#FF0000"/>
</group>
</vector>

View File

@ -1,9 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="4dp"
android:height="32dp"
android:viewportWidth="4"
android:viewportHeight="32">
<path
android:pathData="M0,0C2.2091,0 4,1.7909 4,4V28C4,30.2091 2.2091,32 0,32V0Z"
android:fillColor="#0DBD8B"/>
</vector>

View File

@ -1,5 +1,5 @@
<vector android:autoMirrored="true" android:height="24dp"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#808080" android:fillType="evenOdd" android:pathData="M11.3333,2C8.3878,2 6,4.3878 6,7.3333V10C4.8954,10 4,10.8954 4,12V20C4,21.1046 4.8954,22 6,22H18C19.1046,22 20,21.1046 20,20V12C20,10.8954 19.1046,10 18,10V7.3333C18,4.3878 15.6122,2 12.6667,2H11.3333ZM15.3333,10V7.3333C15.3333,5.8606 14.1394,4.6667 12.6667,4.6667H11.3333C9.8606,4.6667 8.6667,5.8606 8.6667,7.3333V10H15.3333Z"/>
<path android:fillColor="#FF0000" android:fillType="evenOdd" android:pathData="M11.3333,2C8.3878,2 6,4.3878 6,7.3333V10C4.8954,10 4,10.8954 4,12V20C4,21.1046 4.8954,22 6,22H18C19.1046,22 20,21.1046 20,20V12C20,10.8954 19.1046,10 18,10V7.3333C18,4.3878 15.6122,2 12.6667,2H11.3333ZM15.3333,10V7.3333C15.3333,5.8606 14.1394,4.6667 12.6667,4.6667H11.3333C9.8606,4.6667 8.6667,5.8606 8.6667,7.3333V10H15.3333Z"/>
</vector>

View File

@ -3,14 +3,6 @@
android:height="48dp"
android:viewportWidth="52"
android:viewportHeight="52">
<path
android:pathData="M26.173,26.1729m-22.7631,0a22.7631,22.7631 0,1 1,45.5262 0a22.7631,22.7631 0,1 1,-45.5262 0"
android:fillColor="#ff0000"/>
<path
android:pathData="M26,26m-26,0a26,26 0,1 1,52 0a26,26 0,1 1,-52 0"
android:strokeAlpha="0.2"
android:fillColor="#ff0000"
android:fillAlpha="0.2"/>
<path
android:pathData="M21.2414,18.7749C21.2414,16.051 23.4496,13.8429 26.1734,13.8429C28.8973,13.8429 31.1054,16.051 31.1054,18.7749V26.1509C31.1054,28.8747 28.8973,31.0829 26.1734,31.0829C23.4496,31.0829 21.2414,28.8747 21.2414,26.1509V18.7749ZM17.542,24.2475C18.5968,24.2475 19.4518,25.1025 19.4518,26.1572C19.4518,29.8561 22.4509,32.8596 26.1586,32.8675C26.1637,32.8674 26.1689,32.8674 26.174,32.8674C26.179,32.8674 26.184,32.8674 26.189,32.8675C29.896,32.8589 32.8944,29.8556 32.8944,26.1572C32.8944,25.1025 33.7494,24.2475 34.8041,24.2475C35.8588,24.2475 36.7138,25.1025 36.7138,26.1572C36.7138,31.3227 32.9916,35.6165 28.0837,36.5143V37.24C28.0837,38.2947 27.2287,39.1497 26.174,39.1497C25.1193,39.1497 24.2643,38.2947 24.2643,37.24V36.5147C19.3555,35.6176 15.6323,31.3233 15.6323,26.1572C15.6323,25.1025 16.4873,24.2475 17.542,24.2475Z"
android:fillColor="#ffffff"

View File

@ -98,7 +98,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:barrierDirection="top"
app:constraint_referenced_ids="composerLayout,notificationAreaView,failedMessagesWarningView" />
app:constraint_referenced_ids="composerLayout,notificationAreaView,failedMessagesWarningStub" />
<im.vector.app.features.sync.widget.SyncStateView
android:id="@+id/syncStateView"
@ -160,7 +160,8 @@
android:id="@+id/failedMessagesWarningStub"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inflatedId="@layout/view_stub_failed_message_warning_layout"
android:inflatedId="@+id/failedMessagesWarningStub"
android:layout="@layout/view_stub_failed_message_warning_layout"
app:layout_constraintBottom_toTopOf="@id/composerLayout"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />

View File

@ -53,11 +53,11 @@
<string name="room_displayname_two_members">%1$s وَ %2$s</string>
<string name="room_displayname_room_invite">دَعوة غُرفة</string>
<plurals name="room_displayname_three_and_more_members">
<item quantity="zero"/>
<item quantity="zero">لا أحد</item>
<item quantity="one">%1$s وواحد آخر</item>
<item quantity="two">%1$s و%2$d آخران</item>
<item quantity="few">%1$s و%2$d آخرين</item>
<item quantity="many">%1$s و%2$d آخرون</item>
<item quantity="few">%1$s و%2$d آخرون</item>
<item quantity="many">%1$s و%2$d آخرًا</item>
<item quantity="other">%1$s و%2$d آخرون</item>
</plurals>
<string name="summary_you_sent_image">أرسلتَ صورةً.</string>
@ -122,17 +122,17 @@
<string name="notice_room_server_acl_allow_is_empty">🎉 جميع الخوادِم محظورة مِنَ المُشاركة! لم يعُد من المُمكِن استخدام هذه الغُرفة.</string>
<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_was_banned">• الخادِم المُطابق لـ %s قد أُزيل مِن قائمة الحظر.</string>
<string name="notice_room_server_acl_updated_banned">• الخادِم المُطابق لـ %s محظور الآن.</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_was_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">أنتَ قد غيَّرتَ خادِم الـACLs لهذه الغُرفة.</string>
<string name="notice_room_server_acl_updated_title">إنَّ %s قد غيَّرَ خادِم الـACLs لهذه الغُرفة.</string>
<string name="notice_room_server_acl_set_ip_literals_not_allowed">• الخادِم يحظُر مُطابقة القيم الحرفية للـIP.</string>
<string name="notice_room_server_acl_set_allowed">• الخادِم المُطابق لـ %s مسموح.</string>
<string name="notice_room_server_acl_set_banned">• الخادِم المُطابق لـ %s محظور.</string>
<string name="notice_room_server_acl_set_ip_literals_allowed">• الخادِم يسمح بمُطابقة القيم الحرفية للـIP.</string>
<string name="notice_room_server_acl_set_ip_literals_not_allowed">• الخوادِم تحظُر مُطابقة القيم الحرفية للـIP.</string>
<string name="notice_room_server_acl_set_allowed">• الخوادِم المُطابقة لـ %s مسموحة.</string>
<string name="notice_room_server_acl_set_banned">• الخوادِم المُطابقة لـ %s محظورة.</string>
<string name="notice_room_server_acl_set_ip_literals_allowed">• الخوادِم تسمح بمُطابقة القيم الحرفية للـIP.</string>
<string name="notice_room_server_acl_set_title_by_you">أنتَ قد عيَّنتَ خادِم الـACLs لهذه الغُرفة.</string>
<string name="notice_room_server_acl_set_title">إنَّ %s قد عيَّنَ خادِم الـACLs لهذه الغُرفة.</string>
<string name="notice_direct_room_update_by_you">أنتَ قد قمتَ بالترقية هُنا.</string>
@ -216,7 +216,7 @@
<string name="light_theme">السمة الفاتحة</string>
<string name="dark_theme">السمة الداكنة</string>
<string name="black_theme">السمة السوداء</string>
<string name="notification_sync_in_progress">يُزامن</string>
<string name="notification_sync_in_progress">يُزامن</string>
<string name="notification_listening_for_events">يستمع للأحداث</string>
<string name="title_activity_home">الرسائل</string>
<string name="title_activity_settings">الإعدادات</string>
@ -588,7 +588,7 @@
<string name="command_error">خطأ في الأمر</string>
<string name="unrecognized_command">لم يُفهم الأمر: %s</string>
<!-- notification statuses -->
<string name="redact">هذّب</string>
<string name="redact">أزل</string>
<string name="missing_permissions_to_start_conf_call">تحتاج تصريح الدعوة لبدء اجتماع في هذه الغرفة</string>
<string name="or">أو</string>
<string name="action_quick_reply">ردّ سريع</string>
@ -1104,11 +1104,11 @@
<string name="room_sliding_menu_version_x">الإصدار %s</string>
<string name="settings_notification_advanced">الإعدادات المتقدمة للإشعارات</string>
<string name="title_activity_verify_device">توثق من الجهاز</string>
<string name="keys_backup_is_not_finished_please_wait">تأمين المفاتيح لم ينته، يرجى الانتظار</string>
<string name="keys_backup_is_not_finished_please_wait">النسخ الاحتياطي المفاتيح لم ينته، يرجى الانتظار</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_backing_up_keys">يتم تأمين المفاتيح</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_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>
<string name="start_chatting">إبدأ بالمحادثة</string>
@ -1123,7 +1123,7 @@
<string name="sign_out_bottom_sheet_will_lose_secure_messages">ستفقد الوصول إلى رسائلك المشفرة إلا إذا أخذت نسخة إحتياطية من مفاتيحك قبل تسجيلك للخروج.</string>
<string name="backup">نسخة إحتياطية</string>
<string name="are_you_sure">هل أنت متأكد؟</string>
<string name="keys_backup_activate">إستخدم المفتاح الإحتياطي</string>
<string name="keys_backup_activate">إستخدم النسخة الإحتياطية للمفتاح</string>
<string name="sign_out_bottom_sheet_dont_want_secure_messages">لا أريد رسائلي المشفرة</string>
<string name="title_activity_keys_backup_setup">نسخ إحتياطي للمفتاح</string>
<string name="notification_sync_init">جاري إعداد الخدمة</string>
@ -1230,4 +1230,26 @@
<item quantity="many">أنت أضفت %1$s كعناوين لهذه الغرفة.</item>
<item quantity="other">أنت أضفت %1$s كعناوين لهذه الغرفة.</item>
</plurals>
<string name="denied_permission_generic">لإكمال الاجراء امنح الصلاحيات الناقصة عبر إعدادات النظام.</string>
<string name="spaces">الفضاءات</string>
<string name="notice_direct_room_guest_access_forbidden_by_you">منعتَ الزوار من دخول الغرفة.</string>
<string name="notice_room_guest_access_forbidden">منع %1$s الزوار من دخول الغرفة.</string>
<string name="notice_direct_room_guest_access_can_join_by_you">سمحت للزوار بدخول هنا.</string>
<string name="notice_direct_room_guest_access_can_join">سمح %1$s للزوار بدخول الغرفة.</string>
<string name="notice_room_guest_access_can_join_by_you">سمحتَ للزوار بدخول الغرفة.</string>
<string name="notice_room_guest_access_can_join">سمح %1$s للزوار بدخول الغرفة.</string>
<string name="notice_room_canonical_alias_no_change_by_you">غيرتَ عناوين الغرفة.</string>
<string name="notice_room_canonical_alias_no_change">غّير %1$s عناوين الغرفة.</string>
<string name="notice_room_canonical_alias_main_and_alternative_changed_by_you">غيرتَ العناوين الرئيسية والبديلة للغرفة.</string>
<string name="notice_room_canonical_alias_alternative_changed_by_you">غيّرت العناوين البديلة للغرفة.</string>
<string name="notice_direct_room_guest_access_forbidden">منع %1$s الزوار من دخول الغرفة.</string>
<string name="notice_room_guest_access_forbidden_by_you">منعتَ الزوار من دخول الغرفة.</string>
<plurals name="notice_room_canonical_alias_alternative_added_by_you">
<item quantity="zero">لم تضف أي رابط بديل.</item>
<item quantity="one">أضفت الرابط البديل %1$s للغرفة.</item>
<item quantity="two">أضفت الرابطين البديلين %1$s للغرفة.</item>
<item quantity="few">أضفت الروابط البديلة %1$s للغرفة.</item>
<item quantity="many">أضفت الروابط البديلة %1$s للغرفة.</item>
<item quantity="other">أضفت الروابط البديلة %1$s للغرفة.</item>
</plurals>
</resources>

View File

@ -2834,8 +2834,8 @@
<string name="spaces_feeling_experimental_subspace">Chcete experimentovat\?
\nDo Spaceu můžete přidat existující Spaces.</string>
<string name="space_add_rooms">Přidat místnosti</string>
<string name="space_leave_prompt_msg_as_admin">Jste administrátorem tohoto prostoru, ujistěte se, že jste před odchodem převedli administrátorská práva na jiného člena.</string>
<string name="space_leave_prompt_msg_private">Tento prostor není veřejný. Bez pozvánky se do něj nebudete moci znovu připojit.</string>
<string name="space_leave_prompt_msg_as_admin">Jste jediným správcem tohoto prostoru. Jeho opuštění bude znamenat, že nad ním nebude mít nikdo kontrolu.</string>
<string name="space_leave_prompt_msg_private">Pokud nebudete znovu pozváni, nebudete se moci připojit.</string>
<string name="space_leave_prompt_msg_only_you">Jste tu jediný člověk. Pokud odejdete, nikdo se k vám v budoucnu nebude moci připojit, včetně vás.</string>
<string name="invite_to_space">Pozvat do %s</string>
<string name="a11y_beta">Tato funkce je ve fázi beta</string>
@ -3003,4 +3003,49 @@
<string name="call_ringing">Vyzvánění…</string>
<string name="spaces">Spaces</string>
<string name="learn_more">Dozvědět se více</string>
<string name="space_add_space_to_any_space_you_manage">Přidejte prostor do jakéhokoli prostoru, který spravujete.</string>
<string name="space_add_existing_spaces">Přidat stávající prostory</string>
<string name="space_add_existing_rooms_only">Přidat stávající místnosti</string>
<string name="pick_tings_to_leave">Vyberte místa, která chcete opustit</string>
<string name="leave_specific_ones">Opustit konkrétní místnosti a prostory…</string>
<string name="dont_leave_any">Neopouštět žádné místnosti a prostory</string>
<string name="you_will_leave_all_in">Opustíte všechny místnosti a prostory v %s.</string>
<string name="leave_all_rooms_and_spaces">Opustit všechny místnosti a prostory</string>
<string name="space_leave_prompt_msg_with_name">Opravdu chcete opustit %s\?</string>
<string name="discovery_section">Objevování (%s)</string>
<string name="finish_setup">Dokončit nastavení</string>
<string name="discovery_invite">Pozvání e-mailem, vyhledávání kontaktů a další…</string>
<string name="finish_setting_up_discovery">Dokončit nastavení objevování.</string>
<string name="create_space_identity_server_info_none">V současné době nepoužíváte server identit. Chcete-li pozvat kolegy a být pro ně zjistitelní, nakonfigurujte jej níže.</string>
<string name="invite_by_mxid_or_mail">Pozvat pomocí uživatelského jména nebo e-mailu</string>
<string name="create_spaces_invite_public_header_desc">Zajistěte, aby měli do společnosti %s přístup ti správní lidé. Další můžete pozvat později.</string>
<string name="create_spaces_invite_public_header">Kdo jsou vaši kolegové\?</string>
<string name="command_description_add_to_space">Přidat do daného prostoru</string>
<string name="create_space_in_progress">Vytváření prostoru…</string>
<string name="settings_developer_mode_show_info_on_screen_summary">Zobrazit užitečné informace, které pomohou při ladění aplikace</string>
<string name="settings_developer_mode_show_info_on_screen_title">Zobrazení ladících informací na obrazovce</string>
<string name="does_not_look_like_valid_email">Nevypadá to jako platná e-mailová adresa</string>
<string name="open_discovery_settings">Otevřít nastavení objevování</string>
<string name="user_directory_search_hint_2">Vyhledávání podle jména, ID nebo emailu</string>
<string name="create_new_space">Vytvořit nový prostor</string>
<string name="room_settings_space_access_public_description">Každý může prostor najít a připojit se k němu</string>
<string name="room_settings_space_access_title">Adresa prostoru</string>
<string name="room_settings_access_rules_pref_dialog_title">Kdo má přístup\?</string>
<string name="settings_notification_emails_enable_for_email">Povolit e-mailová oznámení pro %s</string>
<string name="settings_notification_emails_no_emails">Pro obdržení e-mailu s upozorněním, přiřaďte e-mail ke svému Matrix účtu</string>
<string name="settings_notification_emails_category">Oznámení e-mailem</string>
<string name="room_permissions_upgrade_the_space">Povýšit prostor</string>
<string name="room_permissions_change_space_name">Změnit název prostoru</string>
<string name="room_permissions_enable_space_encryption">Povolit šifrování prostoru</string>
<string name="room_permissions_change_space_avatar">Změnit avatar prostoru</string>
<string name="room_permissions_change_main_address_for_the_space">Změnit hlavní adresu prostoru</string>
<string name="space_permissions_notice_read_only">Nemáte oprávnění k aktualizaci rolí potřebných ke změně různých částí tohoto prostoru</string>
<string name="space_permissions_notice">Vyberte role potřebné ke změně různých částí tohoto prostoru</string>
<string name="space_settings_permissions_subtitle">Zobrazit a aktualizovat role potřebné ke změně různých částí prostoru.</string>
<string name="space_settings_permissions_title">Oprávnění prostoru</string>
<string name="space_participants_unban_prompt_msg">Zrušením vykázání uživateli umožní znovu se připojit do prostoru.</string>
<string name="space_participants_ban_prompt_msg">Vykázáním uživatele z tohoto prostoru vykopnete a zabráníte mu v dalším připojení.</string>
<string name="space_participants_kick_prompt_msg">vykopnutí uživatele je z tohoto prostoru odstraní.
\n
\nAbyste jim zabránili v dalším vstupu, měli byste je raději vykázat.</string>
</resources>

View File

@ -2998,4 +2998,36 @@
<string name="this_invite_to_this_room_was_sent">Die Einladung zu diesem Raum wurde an %s gesendet, welche nicht mit deinem Konto verknüpft ist</string>
<string name="help_space_members">Hilf Space-Mitgliedern private Räume zu finden</string>
<string name="settings_mentions_and_keywords_encryption_notice">Auf deinem Mobilgerät wirst du keine Benachrichtigungen für Erwähnungen und Schlüsselwörter in verschlüsselten Räumen erhalten.</string>
<string name="space_add_existing_spaces">Existierende Spaces hinzufügen</string>
<string name="space_add_existing_rooms_only">Existierende Räume hinzufügen</string>
<string name="leave_specific_ones">Ausgewählte Räume oder Spaces verlassen…</string>
<string name="dont_leave_any">Keine Räume und Spaces verlassen</string>
<string name="you_will_leave_all_in">Du wirst alle Räume und Spaces in %s verlassen.</string>
<string name="leave_all_rooms_and_spaces">Alle Räume und Spaces verlassen</string>
<string name="space_leave_prompt_msg_with_name">Willst du %s wirklich verlassen\?</string>
<string name="invite_by_mxid_or_mail">Mit Benutzername oder E-Mail einladen</string>
<string name="command_description_add_to_space">Zum ausgewählten Space hinzufügen</string>
<string name="create_space_in_progress">Erstelle Space…</string>
<string name="settings_developer_mode_show_info_on_screen_summary">Hilfreiche Informationen zur Fehlersuche anzeigen</string>
<string name="settings_developer_mode_show_info_on_screen_title">Debug-Info anzeigen</string>
<string name="does_not_look_like_valid_email">Das schaut nicht nach einer gültigen E-Mail-Adresse aus</string>
<string name="user_directory_search_hint_2">Nach Name, ID oder E-Mail suchen</string>
<string name="create_new_space">Neuen Space erstellen</string>
<string name="room_settings_space_access_title">Zugriff</string>
<string name="room_settings_access_rules_pref_dialog_title">Wer hat Zugriff\?</string>
<string name="settings_notification_emails_enable_for_email">Benachrichtigungen per Email für %s aktivieren</string>
<string name="settings_notification_emails_no_emails">Um Benachrichtigungen per E-Mail zu empfangen, musst du einen E-Mail-Adresse hinzufügen</string>
<string name="settings_notification_emails_category">Emailbenachrichtigungen</string>
<string name="room_permissions_upgrade_the_space">Space upgraden</string>
<string name="room_permissions_change_space_name">Namen vom Space ändern</string>
<string name="room_permissions_enable_space_encryption">Space verschlüsseln</string>
<string name="room_permissions_change_main_address_for_the_space">Hauptadresse vom Space ändern</string>
<string name="room_permissions_change_space_avatar">Space-Icon ändern</string>
<string name="space_permissions_notice_read_only">Du hast nicht die Berechtigung, Rollenrechte zu bearbeiten</string>
<string name="space_settings_permissions_title">Space-Berechtigungen</string>
<string name="space_participants_unban_prompt_msg">Wenn du die Person entbannst, kann sie wieder beitreten.</string>
<string name="space_participants_ban_prompt_msg">Wenn du eine Person bannst, kann sie nicht erneut beitreten.</string>
<string name="space_participants_kick_prompt_msg">Kicken entfernt die Person aus dem Space
\n
\nUm sie für immer zu entfernen, solltest du sie bannen.</string>
</resources>

View File

@ -290,7 +290,7 @@
<string name="group_details_rooms">Ĉambroj</string>
<string name="no_users_placeholder">Neniuj uzantoj</string>
<string name="rooms">Ĉambroj</string>
<string name="room_jump_to_first_unread">Salti al unua nelegita mesaĝo.</string>
<string name="room_jump_to_first_unread">Salti al nelegita</string>
<string name="title_activity_keys_backup_setup">Savkopiado de ŝlosiloj</string>
<string name="title_activity_keys_backup_restore">Uzi savkopiadon de ŝlosiloj</string>
<string name="title_activity_verify_device">Kontroli salutaĵon</string>
@ -711,7 +711,7 @@
<string name="room_resend_unsent_messages">Resendi nesenditajn mesaĝojn</string>
<string name="room_delete_unsent_messages">Forigi nesenditajn mesaĝojn</string>
<string name="room_message_file_not_found">Dosiero ne troviĝis</string>
<string name="room_do_not_have_permission_to_post">Vi ne havas permeson mesaĝi en ĉi tiu ĉambro</string>
<string name="room_do_not_have_permission_to_post">Vi ne havas permeson mesaĝi en ĉi tiu ĉambro.</string>
<plurals name="room_new_messages_notification">
<item quantity="one">%d nova mesaĝo</item>
<item quantity="other">%d novaj mesaĝoj</item>
@ -2499,7 +2499,7 @@
<string name="call_tile_call_back">Revoki</string>
<string name="call_tile_ended">Ĉi tiu voko finiĝis</string>
<string name="call_tile_other_declined">%1$s rifuzis ĉi tiun vokon</string>
<string name="call_tile_you_declined">Vi rifuzis ĉi tiun vokon %1$s</string>
<string name="call_tile_you_declined">Vi rifuzis ĉi tiun vokon %s</string>
<string name="call_tile_in_call">Vi nun enas ĉi tiun vokon</string>
<string name="call_tile_other_started_call">%1$s komencis vokon</string>
<string name="call_tile_you_started_call">Vi komencis vokon</string>
@ -2671,8 +2671,8 @@
<string name="spaces_beta_welcome_to_spaces">Bonvenu al aroj!</string>
<string name="space_add_rooms">Aldoni ĉambrojn</string>
<string name="space_add_existing_rooms">Aldoni jamajn ĉambrojn kaj arojn</string>
<string name="space_leave_prompt_msg_as_admin">Vi estas administranto de ĉi tiu aro. Certigu, ke vi transdonis administrajn rajtojn al alia ano, antaŭ ol vi vere foriros.</string>
<string name="space_leave_prompt_msg_private">Ĉi tiu aro ne estas publika. Vi ne povos ree aliĝi sen invito.</string>
<string name="space_leave_prompt_msg_as_admin">Vi estas la sola administranto de ĉi tiu aro. Se vi foriros, neniu povos ĝin regi.</string>
<string name="space_leave_prompt_msg_private">Vi ne povos ree aliĝi sen invito.</string>
<string name="space_leave_prompt_msg_only_you">Vi estas la sola persono ĉi tie. Se vi foriros, neniu plu povos aliĝi, inkluzive vin mem.</string>
<!-- TO BE REMOVED -->
<string name="space_leave_prompt_msg">Ĉu vi certe volas foriri de la aro\?</string>
@ -2759,7 +2759,7 @@
<string name="dev_tools_send_custom_event">Sendi propran okazon</string>
<string name="dev_tools_explore_room_state">Esplori staton de ĉambro</string>
<string name="dev_tools_menu_name">Programistaj iloj</string>
<string name="a11y_public_room">Ĉi tiu ĉambro estas publika</string>
<string name="a11y_public_room">Publika ĉambro</string>
<string name="a11y_view_read_receipts">Vidi legokonfirmojn</string>
<string name="a11y_rule_notify_off">Ne sciigi</string>
<string name="a11y_rule_notify_silent">Sciigi sen sono</string>
@ -2774,7 +2774,7 @@
<string name="a11y_trust_level_default">Implicita fidnivelo</string>
<string name="a11y_selected">Elektitaj</string>
<string name="a11y_video">Filmo</string>
<string name="a11y_unsent_draft">Ĉi tiu ĉambro havas nesenditan malneton</string>
<string name="a11y_unsent_draft">havas nesenditan malneton</string>
<string name="a11y_error_some_message_not_sent">Iuj mesaĝoj ne sendiĝis</string>
<string name="a11y_delete_avatar">Forigi profilbildon</string>
<string name="a11y_change_avatar">Ŝanĝi profilbildon</string>
@ -2813,7 +2813,7 @@
<string name="private_space">Privata aro</string>
<string name="public_space">Publika aro</string>
<string name="command_description_upgrade_room">Gradaltigas ĉambron al nova versio</string>
<string name="a11y_public_space">Ĉi tiu aro estas publika</string>
<string name="a11y_public_space">Publika aro</string>
<string name="re_authentication_activity_title">Necesas aŭtentikiĝo rea</string>
<string name="call_transfer_unknown_person">Nekonata persono</string>
<string name="call_transfer_transfer_to_title">Transdonante al %1$s</string>
@ -2851,8 +2851,8 @@
<string name="settings_group_messages">Grupaj babiloj</string>
<string name="settings_encrypted_direct_messages">Individuaj babiloj ĉifritaj</string>
<string name="settings_messages_direct_messages">Individuaj babiloj</string>
<string name="settings_messages_containing_username">Mesaĝoj enhavantaj mian uzantonomon</string>
<string name="settings_messages_containing_display_name">Mesaĝoj enhavantaj mian prezentan nomon</string>
<string name="settings_messages_containing_username">Mia uzantonomo</string>
<string name="settings_messages_containing_display_name">Mia prezenta nomo</string>
<string name="settings_notification_notify_me_for">Sciigu min pri</string>
<string name="settings_notification_other">Aliaj</string>
<string name="settings_notification_mentions_and_keywords">Mencioj kaj ĉefvortoj</string>
@ -2871,4 +2871,81 @@
<string name="denied_permission_voice_message">Por sendi voĉmesaĝojn, bonvolu doni permeson uzi mikrofonon.</string>
<string name="denied_permission_camera">Por ĉi tiu ago, vi bezonas permeson uzi filmilon de la sistemaj agordoj.</string>
<string name="denied_permission_generic">Iuj permesoj necesaj por ĉi tiu ago mankas. Bonvolu doni la permesojn per la sistemaj agordoj.</string>
<string name="space_add_existing_spaces">Aldoni jamajn arojn</string>
<string name="space_add_existing_rooms_only">Aldoni jamajn ĉambrojn</string>
<string name="pick_tings_to_leave">Elektu, de kie vi foriru</string>
<string name="leave_specific_ones">Foriri de iuj ĉambroj kaj aroj…</string>
<string name="dont_leave_any">Foriri de neniuj ĉambroj kaj aroj</string>
<string name="you_will_leave_all_in">Vi foriros de ĉiuj ĉambroj kaj aroj en %s.</string>
<string name="leave_all_rooms_and_spaces">Foriri de ĉiuj ĉambroj kaj aroj</string>
<string name="space_leave_prompt_msg_with_name">Ĉu vi certe volas foriri de %s\?</string>
<string name="discovery_section">Trovado (%s)</string>
<string name="invite_by_mxid_or_mail">Inviti laŭ uzantonomo aŭ retpoŝtadreso</string>
<string name="command_description_add_to_space">Aldoni al la aro</string>
<string name="call_one_active">Aktiva voko (%1$s) ·</string>
<plurals name="call_active_status">
<item quantity="one">Aktiva voko ·</item>
<item quantity="other">%1$d aktivaj vokoj ·</item>
</plurals>
<string name="call_tile_connection_failed">Malsukcesis konekto</string>
<string name="call_tile_no_answer">Sen respondo</string>
<string name="call_tile_video_missed">Nerespondita vidvoko</string>
<string name="call_tile_voice_missed">Nerespondita voĉvoko</string>
<string name="call_tile_video_declined">Vidvoko rifuziĝis</string>
<string name="call_tile_voice_declined">Voĉvoko rifuziĝis</string>
<string name="call_tile_video_call_has_ended">Vidvoko finiĝis • %1$s</string>
<string name="call_tile_voice_call_has_ended">Voĉvoko finiĝis • %1$s</string>
<string name="call_tile_video_active">Aktiva vidvoko</string>
<string name="call_tile_voice_active">Aktiva voĉvoko</string>
<string name="call_tile_video_incoming">Envena vidvoko</string>
<string name="call_tile_voice_incoming">Envena voĉvoko</string>
<string name="call_tile_you_declined_this_call">Vi rifuzis ĉi tiun vokon</string>
<string name="create_space_in_progress">Kreante aron…</string>
<string name="does_not_look_like_valid_email">Tio ne ŝajnas valida retpoŝtadreso</string>
<string name="open_discovery_settings">Malfermi agordojn de trovado</string>
<string name="user_directory_search_hint_2">Serĉi laŭ nomo, identigilo, aŭ retpoŝtadreso</string>
<string name="create_new_space">Krei novan aron</string>
<string name="space_you_know_that_contains_this_room">Konata aro enhavanta ĉi tiun ĉambron</string>
<string name="room_settings_space_access_public_description">Ĉiu, kiu povas trovi la aron kaj aliĝi al ĝi</string>
<string name="room_settings_space_access_title">Aliro al aro</string>
<string name="room_settings_access_rules_pref_dialog_title">Kiu povas aliri\?</string>
<string name="room_settings_room_notifications_account_settings">Agordoj de konto</string>
<string name="room_settings_room_notifications_manage_notifications">Vi povas administri sciigojn en %1$s.</string>
<string name="room_settings_room_notifications_encryption_notice">Sciu, ke sciigoj pri mencioj kaj ĉefvortoj ne estas disponeblaj en ĉifritaj ĉambroj per poŝtelefono.</string>
<string name="room_settings_room_notifications_notify_me">Sciigu min pri</string>
<string name="settings_mentions_and_keywords_encryption_notice">VI ne ricevos sciigojn al poŝtelefono pri mencioj kaj ĉefvortoj en ĉifritaj ĉambroj.</string>
<string name="settings_messages_containing_keywords">Ĉefvortoj</string>
<string name="settings_mentions_at_room"></string>
<string name="settings_notification_keyword_contains_invalid_character">Ĉefvortoj ne povas enhavi «%s»</string>
<string name="settings_notification_keyword_contains_dot">Ĉefvortoj ne povas eki per «.»</string>
<string name="settings_notification_new_keyword">Aldoni novan ĉefvorton</string>
<string name="settings_notification_your_keywords">Viaj ĉefvortoj</string>
<string name="settings_notification_emails_category">Retpoŝta sciigo</string>
<string name="settings_notification_emails_enable_for_email">Ŝalti retpoŝtajn sciigojn por %s</string>
<string name="settings_notification_emails_no_emails">Por ricevi sciigon per retpoŝto, bonvolu ligi vian retpoŝtadreson al via matriksa konto</string>
<string name="room_settings_none">Neniuj</string>
<string name="room_settings_mention_and_keyword_only">Nur mencioj kaj ĉefvortoj</string>
<string name="room_permissions_upgrade_the_space">Gradaltigi la aron</string>
<string name="room_permissions_change_space_name">Ŝanĝi nomon de aro</string>
<string name="room_permissions_enable_space_encryption">Ŝalti ĉifradon de aro</string>
<string name="room_permissions_change_main_address_for_the_space">Ŝanĝi ĉefadreson de aro</string>
<string name="room_permissions_change_space_avatar">Ŝanĝi bildon de aro</string>
<string name="space_permissions_notice_read_only">Vi ne havas permeson ĝisdatigi la rolojn bezonatajn por ŝanĝi diversajn partojn de tiu ĉi aro</string>
<string name="space_permissions_notice">Elektu la rolojn bezonatajn por ŝanĝi diversajn partojn de tiu ĉi aro</string>
<string name="space_settings_permissions_subtitle">Vidu kaj ĝisdatigu la rolojn bezonatajn por ŝanĝi diversajn partojn de la aro.</string>
<string name="space_settings_permissions_title">Permesoj de aro</string>
<string name="space_participants_unban_prompt_msg">Malforbaro de uzanto permesos al ĝi re-aliĝi al la aro.</string>
<string name="space_participants_ban_prompt_msg">Forbaro forpelos uzanton de tiu ĉi aro kaj malhelpos ĝian re-aliĝon.</string>
<string name="space_participants_kick_prompt_msg">forpelo de uzanto forigos ĝin de tiu ĉi aro.
\n
\nPor malhelpi ĝian re-aliĝon, vi forbaru ĝin.</string>
<string name="call_remove_jitsi_widget_progress">Finante vokon…</string>
<string name="call_ended_invite_timeout_title">Sen respondo</string>
<string name="call_ended_user_busy_description">La uzanto, kiun vi vokis, estas okupata.</string>
<string name="call_ended_user_busy_title">Uzanto estas okupata</string>
<string name="audio_call_with_participant">Voĉvoko kun %s</string>
<string name="video_call_with_participant">Vidvoko kun %s</string>
<string name="call_ringing">Sonorante…</string>
<string name="spaces">Aroj</string>
<string name="learn_more">Ekscii plion</string>
</resources>

View File

@ -2781,8 +2781,8 @@
<string name="spaces_feeling_experimental_subspace">Kas sa tahad katsetada\?
\nSa võid kogukonnakeskusele lisada ka teisi kogukonnakeskuseid.</string>
<string name="space_add_rooms">Lisa jututube</string>
<string name="space_leave_prompt_msg_as_admin">Sa oled selle kogukonnakeskuse haldaja. Enne oma lahkumist palun lisa siia veel vähemalt üks uus haldaja.</string>
<string name="space_leave_prompt_msg_private">See ei ole avalik kogukonnakeskus. Ilma kutseta sa ei saa uuesti liituda.</string>
<string name="space_leave_prompt_msg_as_admin">Sa oled selle kogukonna ainus haldaja. Kui lahkud, siis ei leidu enam kedagi, kellel oleks seal haldusõigusi.</string>
<string name="space_leave_prompt_msg_private">Ilma uue kutseta sa ei saa uuesti liituda.</string>
<string name="space_leave_prompt_msg_only_you">Sa oled siin viimane osaleja. Kui sa nüüd lahkud, siis mitte keegi, kaasa arvatud sa ise, ei saa hiljem enam liituda.</string>
<string name="invite_to_space">Kutse kogukonnakeskusesse %s</string>
<string name="a11y_beta">Tegemist on beeta-taseme funktsionaalsusega</string>
@ -2947,4 +2947,49 @@
<string name="call_ended_user_busy_title">Kasutaja on hõivatud</string>
<string name="spaces">Kogukonnakeskused</string>
<string name="learn_more">Lisateave</string>
<string name="space_add_space_to_any_space_you_manage">Lisa kogukond ükspuha millisesse kogukonda, mida sa juba haldad.</string>
<string name="space_add_existing_spaces">Lisa olemasolevaid kogukondi</string>
<string name="space_add_existing_rooms_only">Lisa olemasolevaid jututubasid</string>
<string name="pick_tings_to_leave">Vali, kust soovid lahkuda</string>
<string name="leave_specific_ones">Lahku neist jututubadest ja kogukondadest…</string>
<string name="dont_leave_any">Ära lahku ainsamastki jututoast ega kogukonnast</string>
<string name="you_will_leave_all_in">Sa lahkud kõikidest %s jututubadest ja kogukondadest.</string>
<string name="leave_all_rooms_and_spaces">Lahku kõikidest jututubadest ja kogukondadest</string>
<string name="space_leave_prompt_msg_with_name">Kas oled kindel, et soovid lahkuda %s kogukonnast\?</string>
<string name="discovery_section">Isikutuvastuse server (%s)</string>
<string name="finish_setup">Lõpeta seadistamine</string>
<string name="discovery_invite">Kutsu e-posti aadressi alusel, leia tuttavaid, jne…</string>
<string name="finish_setting_up_discovery">Lõpeta leitavuse seadistamine.</string>
<string name="create_space_identity_server_info_none">Hetkel sa ei kasuta isikutuvastusserverit. Kaaslastele kutse saatmiseks ning end teistele leitavaks tegemiseks palun seadista ta alljärgnevalt.</string>
<string name="invite_by_mxid_or_mail">Kutsu kasutajanime või e-posti aadressi alusel</string>
<string name="create_spaces_invite_public_header_desc">Kontrolli, et vajalikel inimestel oleks ligipääs %s kogukonda. Teistele võid kutse saata ka hiljem.</string>
<string name="create_spaces_invite_public_header">Kes on su kaasteelised\?</string>
<string name="command_description_add_to_space">Lisa näidatud kogukonnakeskusesse</string>
<string name="create_space_in_progress">Loon kogukonnakeskust…</string>
<string name="settings_developer_mode_show_info_on_screen_summary">Näita sellist teavet, millest võib kasu olla rakenduse silumisel ja veaotsingul</string>
<string name="settings_developer_mode_show_info_on_screen_title">Näita ekraanil silumisteateid</string>
<string name="does_not_look_like_valid_email">See ei tundu olema e-posti aadressi moodi</string>
<string name="open_discovery_settings">Ava leitavuse seadistused</string>
<string name="user_directory_search_hint_2">Otsi nime, Matrixi kasutajatunnuse või e-posti aadressi alusel</string>
<string name="create_new_space">Loo kogukonnakeskus</string>
<string name="room_settings_space_access_public_description">Kõik võivad kogukonda leida ja sellega liituda</string>
<string name="room_settings_space_access_title">Ligipääs siia kogukonda</string>
<string name="room_settings_access_rules_pref_dialog_title">Kes pääsevad ligi siia jututuppa\?</string>
<string name="settings_notification_emails_enable_for_email">Saada teavitusi %s e-posti aadressile</string>
<string name="settings_notification_emails_no_emails">Kui soovi e-posti teel saada teavitusi, siis palun seosta oma e-posti aadress oma Matrix\'i kasutajakontoga</string>
<string name="settings_notification_emails_category">E-posti teel saadetavad teavitused</string>
<string name="room_permissions_upgrade_the_space">Uuenda kogukonda</string>
<string name="room_permissions_change_space_name">Muuda kogukonna nime</string>
<string name="room_permissions_enable_space_encryption">Võta kogukonnas kasutusele krüptimine</string>
<string name="room_permissions_change_main_address_for_the_space">Muuda kogukonna põhiaadressi</string>
<string name="room_permissions_change_space_avatar">Muuda kogukonna tunnuspilti</string>
<string name="space_permissions_notice_read_only">Sul pole õigust uuenda rolle, mis on vajalikud kogukonna eri osade muutmiseks</string>
<string name="space_permissions_notice">Vali rollid, mis on vajalikud kogukonna eri osade muutmiseks</string>
<string name="space_settings_permissions_subtitle">Vaata ja uuenda rolle, mis on vajalikud kogukonnakeskuse eri osade muutmiseks.</string>
<string name="space_settings_permissions_title">Õigused kogukonnakeskuses</string>
<string name="space_participants_unban_prompt_msg">Suhtluskeelu eemaldamine võimaldab kogukonnaga uuesti liituda.</string>
<string name="space_participants_ban_prompt_msg">Sellele kasutajale suhtluskeelu seadmine tõstab ta kogukonnast välja ning ei võimalda uuesti liitumist.</string>
<string name="space_participants_kick_prompt_msg">kogukonnast välja müksamine eemaldab ta praeguseks sellest kogukonnast.
\n
\nKui soovid, et ta ei saaks uuesti liituda, siis peaksid seadma suhtluskeelu.</string>
</resources>

View File

@ -2795,8 +2795,8 @@
<string name="spaces_no_server_support_description">لطفاً برای اطّلاعات بیش‌تر، با مدیر کارسازتان تماس بگیرید</string>
<string name="spaces_no_server_support_title">به نظر کارساز خانگیتان هنوز از فضاها پشتیبانی نمی‌کند</string>
<string name="space_add_rooms">افزودن اتاق‌ها</string>
<string name="space_leave_prompt_msg_as_admin">شما مدیر این فضایید. پیش از ترک، مطمئن شوید حق مدیریت را به عضو دیگری منتقل کرده‌اید.</string>
<string name="space_leave_prompt_msg_private">این فضا عمومی نیست. بدون دعوت نخواهید توانست دوباره بپیوندید.</string>
<string name="space_leave_prompt_msg_as_admin">شما تنها مدیر این فضایید. ترک این فضا، به معنی واپایش نداشتن هیچ‌کسی رویش است.</string>
<string name="space_leave_prompt_msg_private">بدون دعوت نخواهید توانست دوباره بپیوندید.</string>
<string name="space_leave_prompt_msg_only_you">شما تنها فرد حاضرید. اگر خارج شوید، هیچ‌کس از جمله خوتان قادر به پیوستن در آینده نخواهد بود.</string>
<string name="continue_anyway">به هر حال ادامه بده</string>
<string name="you_may_contact_me">اگر پرسش دیگری دارید، می‌توانید با من در تماس باشید</string>
@ -2947,4 +2947,49 @@
<string name="call_ringing">زنگ خوردن تماس…</string>
<string name="spaces">فضاها</string>
<string name="learn_more">بیش‌تر بدانید</string>
<string name="space_add_space_to_any_space_you_manage">افزودن فضایی به هر فضایی که مدیریت می‌کنید.</string>
<string name="space_add_existing_spaces">افزودن فضاهای موجود</string>
<string name="space_add_existing_rooms_only">افزودن اتاق‌های موجود</string>
<string name="pick_tings_to_leave">گزینش خارج شدن‌ها</string>
<string name="leave_specific_ones">خارج شدن از اتاق‌ها و فضاهایی خاص…</string>
<string name="dont_leave_any">از هیچ اتاق و فضایی خارج نشو</string>
<string name="you_will_leave_all_in">از تمامی اتاق‌ها و فضاهای %s خارج خواهید شد.</string>
<string name="leave_all_rooms_and_spaces">ترک تمامی اتاق‌ها و فضاها</string>
<string name="space_leave_prompt_msg_with_name">مطمئنید می‌خواهید %s را ترک کنید؟</string>
<string name="discovery_section">کشف (%s)</string>
<string name="finish_setup">پایان برپایی</string>
<string name="discovery_invite">دعوت با رایانامه، یافتن آشنایان و بیش‌تر…</string>
<string name="finish_setting_up_discovery">پایان برپا سازی کشف.</string>
<string name="create_spaces_invite_public_header">همگروهی‌هایتان کیند؟</string>
<string name="create_space_identity_server_info_none">در حال حاضر از کارساز هویتی استفاده نمی‌کنید. برای دعوت همگروهی‌ها و قابل کشف بودن به دستشان، در پایین یکی پیکربندی کنید.</string>
<string name="invite_by_mxid_or_mail">دعوت با نام کاربری یا نامه</string>
<string name="create_spaces_invite_public_header_desc">مطمئن شوید افراد درستی به %s دسترسی دارند. بعداً می‌توانید تفراد بیش‌تری را دعوت‌کنید.</string>
<string name="command_description_add_to_space">افزودن به فضای داده شده</string>
<string name="create_space_in_progress">ایجاد کردن فضا…</string>
<string name="settings_developer_mode_show_info_on_screen_summary">نمایش اطلاعاتی مغید برای کمک به رفع اشکال برنامه</string>
<string name="settings_developer_mode_show_info_on_screen_title">نمایش اطلاعات رفع اشکال روی صفحه</string>
<string name="does_not_look_like_valid_email">نشانی رایانامه‌ای معتبر به نظر نمی‌رسد</string>
<string name="open_discovery_settings">گشودن تنظیمات کشف</string>
<string name="user_directory_search_hint_2">جست‌وجو با نام، شناسه یا رایانامه</string>
<string name="create_new_space">ایجاد فضای جدید</string>
<string name="room_settings_space_access_public_description">هرکسی می تواند فضا را یافته و بپیوندد</string>
<string name="room_settings_space_access_title">دسترسی فضا</string>
<string name="room_settings_access_rules_pref_dialog_title">چه کسی می‌تواند دسترسی داشته باشد؟</string>
<string name="settings_notification_emails_enable_for_email">به کار انداختن آگاهی‌های رایانامه‌ای برای %s</string>
<string name="settings_notification_emails_no_emails">برای دریافت رایانامه با آگاهی، لطفاً رایانامه‌ای را به حساب ماتریکستان وصل کنید</string>
<string name="settings_notification_emails_category">آگاهی رایانامه‌ای</string>
<string name="room_permissions_upgrade_the_space">ارتقای فضا</string>
<string name="room_permissions_change_space_name">تغییر نام فضا</string>
<string name="room_permissions_enable_space_encryption">به کار انداختن رمزنگاری فضا</string>
<string name="room_permissions_change_main_address_for_the_space">تغییر نشانی اصلی فضا</string>
<string name="room_permissions_change_space_avatar">تغییر چهرک فضا</string>
<string name="space_permissions_notice_read_only">اجازهٔ به‌روز رسانی نقش‌های لازم برای تغییر بخش‌های مختلف این فضا را ندارید</string>
<string name="space_permissions_notice">گزینش اجازه‌های لازم برای تغییر بخش‌های مختلف این فضا</string>
<string name="space_settings_permissions_subtitle">دیدن و به‌روز رسانی نقش‌های لازم برای تغییر بخش‌های مختلف فضا.</string>
<string name="space_settings_permissions_title">اجازه‌های فضا</string>
<string name="space_participants_unban_prompt_msg">لغو تحریم کاربر، اجازهٔ پیوستن دوباره‌اش به فضا را می‌دهد.</string>
<string name="space_participants_ban_prompt_msg">تحریم کاربر، او را از این فضا اخراج کرده و از پیوستن دوباره‌اش جلوگیری می‌کند.</string>
<string name="space_participants_kick_prompt_msg">اخراج کاربر، از این فضا برش می‌دارد.
\n
\nبرای پیش‌گیری از پیوستن دوباره، باید تحریمش کنید.</string>
</resources>

View File

@ -2487,8 +2487,8 @@ Ha nem te állítottad be a visszaállítási metódust, akkor egy támadó pró
<string name="spaces_beta_welcome_to_spaces">Üdv a Terekben!</string>
<string name="space_add_rooms">Szobák hozzáadása</string>
<string name="space_add_existing_rooms">Létező szobák és tér hozzáadása</string>
<string name="space_leave_prompt_msg_as_admin">Most te vagy a tér adminisztrátora, bizonyosodj meg arról, hogy kineveztél mást adminisztrátornak mielőtt elhagyod.</string>
<string name="space_leave_prompt_msg_private">Ez a tér nem nyilvános. Kilépés után csak újabb meghívóval lehet újra belépni.</string>
<string name="space_leave_prompt_msg_as_admin">Ön az egyetlen adminisztrátora a térnek. Ha kilép, senki nem tudja irányítani.</string>
<string name="space_leave_prompt_msg_private">Amíg nem hívnak meg újra nem tudsz újracsatlakozni.</string>
<string name="space_leave_prompt_msg_only_you">Csak te van itt. Ha kilépsz, akkor a jövőben senki nem tud majd ide belépni, beleértve téged is.</string>
<!-- TO BE REMOVED -->
<string name="space_leave_prompt_msg">Biztos el akarod hagyni a teret\?</string>
@ -2952,4 +2952,49 @@ Ha nem te állítottad be a visszaállítási metódust, akkor egy támadó pró
<string name="call_ringing">Hívás kicseng…</string>
<string name="spaces">Terek</string>
<string name="learn_more">Tudj meg többet</string>
<string name="space_add_space_to_any_space_you_manage">Add hozzá a teret bármelyik általad kezelt térhez.</string>
<string name="space_add_existing_spaces">Meglévő terek hozzáadása</string>
<string name="space_add_existing_rooms_only">Létező szobák hozzáadása</string>
<string name="pick_tings_to_leave">Válaszd ki ahonnan kilépsz</string>
<string name="leave_specific_ones">Kilépés a megadott szobákból és terekből…</string>
<string name="dont_leave_any">Nem lépek ki egyetlen szobából vagy térből sem</string>
<string name="you_will_leave_all_in">Az összes szobát és teret elhagyod itt: %s.</string>
<string name="leave_all_rooms_and_spaces">Minden szoba és tér elhagyása</string>
<string name="space_leave_prompt_msg_with_name">Biztos, hogy ki akarsz lépni innen: %s\?</string>
<string name="discovery_section">Felderítés (%s)</string>
<string name="finish_setup">Beállítás befejezése</string>
<string name="discovery_invite">E-mail alapú meghívás, kapcsolatok megtalálása és sok más…</string>
<string name="finish_setting_up_discovery">Felderíthetőségi beállítás befejezése.</string>
<string name="create_space_identity_server_info_none">Jelenleg nem használsz azonosítási szolgáltatást. Ahhoz, hogy a csoporttársaidat meghívd vagy megtaláljanak állíts be egyet alább.</string>
<string name="invite_by_mxid_or_mail">Meghívás felhasználói névvel vagy e-mail címmel</string>
<string name="create_spaces_invite_public_header_desc">Ellenőrizd, hogy a megfelelő személyeknek van hozzáférése ehhez a céghez: %s. Később meghívhatsz másokat is.</string>
<string name="create_spaces_invite_public_header">Kik a csoporttársaid\?</string>
<string name="command_description_add_to_space">A megadott térhez adás</string>
<string name="create_space_in_progress">Tér készítése…</string>
<string name="settings_developer_mode_show_info_on_screen_summary">Néhány hasznos információ megjelenítése az alkalmazás hibakeresés segítéséért</string>
<string name="settings_developer_mode_show_info_on_screen_title">Hibakeresési információk megjelenítése a képernyőn</string>
<string name="does_not_look_like_valid_email">Az e-mail cím nem tűnik érvényesnek</string>
<string name="open_discovery_settings">Felderíthetőségi Beállítások megnyitása</string>
<string name="user_directory_search_hint_2">Keresés név, azonosító vagy e-mail alapján</string>
<string name="create_new_space">Új tér készítése</string>
<string name="room_settings_space_access_public_description">Bárki rátalálhat és beléphet a térre</string>
<string name="room_settings_space_access_title">Tér hozzáférés</string>
<string name="room_settings_access_rules_pref_dialog_title">Kinek van hozzáférése\?</string>
<string name="settings_notification_emails_enable_for_email">E-mail értesítés engedélyezése ehhez az e-mail címhez: %s</string>
<string name="settings_notification_emails_no_emails">E-mail alapú értesítések fogadásához, kérlek társíts egy e-mail címet a Matrix fiókodhoz</string>
<string name="settings_notification_emails_category">E-mail értesítés</string>
<string name="room_permissions_upgrade_the_space">Tér frissítése</string>
<string name="room_permissions_change_space_name">Tér nevének megváltoztatása</string>
<string name="room_permissions_enable_space_encryption">Tér titkosításának bekapcsolása</string>
<string name="room_permissions_change_main_address_for_the_space">Tér elsődleges címének megváltoztatása</string>
<string name="room_permissions_change_space_avatar">Tér profilkép megváltoztatása</string>
<string name="space_permissions_notice_read_only">Nincs jogosultságod a szerepek megváltoztatásához, amik szükségesek a tér bizonyos részeinek megváltoztatásához</string>
<string name="space_permissions_notice">A tér bizonyos beállításainak megváltoztatásához szükséges szerep kiválasztása</string>
<string name="space_settings_permissions_subtitle">Szerepek megjelenítése és megváltoztatása, amik szükségesek a tér bizonyos részeinek megváltoztatásához.</string>
<string name="space_settings_permissions_title">Tér jogosultságok</string>
<string name="space_participants_unban_prompt_msg">A felhasználó tiltásának visszavonása lehetővé teszi, hogy újra belépjen a térbe.</string>
<string name="space_participants_ban_prompt_msg">A felhasználó kitiltása eltávolítja őt a térből és megakadályozza, hogy visszajöjjön.</string>
<string name="space_participants_kick_prompt_msg">a felhasználó kirúgása eltávolítja a térből.
\n
\nHa meg akarja akadályozni, hogy újra csatlakozzon, akkor inkább tiltsa ki.</string>
</resources>

View File

@ -493,7 +493,7 @@
<string name="template_permissions_rationale_msg_camera_and_audio">${app_name} deve essere autorizzato ad accedere a fotocamera e microfono per poter fare chiamate video.
\n
\nNel prossimo pop-up concedi le autorizzazioni per poter fare la chiamata.</string>
<string name="template_permissions_rationale_msg_contacts">${app_name} può usare tua Rubrica locale per trovare altri utenti Matrix grazie alle loro email e numeri di telefono. Se ti sta bene comunicare i dati di tutti i tuoi contatti all\'Identity Server, puoi concedere l\'autorizzazione nel prossimo pop-up.</string>
<string name="template_permissions_rationale_msg_contacts">${app_name} può usare tua rubrica per trovare altri utenti Matrix grazie alle loro email e numeri di telefono. Se accetti di condividere la tua rubrica per questo scopo, puoi concedere l\'autorizzazione nella prossima finestra.</string>
<string name="template_permissions_msg_contacts_warning_other_androids">${app_name} può usare tua Rubrica locale per trovare altri utenti Matrix grazie alle loro email e numeri di telefono.
\n
\nTi sta bene comunicare i dati di tutti i tuoi contatti per questo scopo\?</string>
@ -1394,7 +1394,7 @@
<string name="keys_backup_info_title_version">Versione</string>
<string name="keys_backup_info_title_algorithm">Algoritmo</string>
<string name="keys_backup_info_title_signature">Firma</string>
<string name="autodiscover_invalid_response">Risposta Home Server non valida</string>
<string name="autodiscover_invalid_response">Risposta home server non valida</string>
<string name="autodiscover_well_known_autofill_dialog_title">Opzioni autocompletamento server</string>
<string name="template_autodiscover_well_known_autofill_dialog_message">${app_name} ha rilevato una configurazione server personalizzata per il tuo dominio userID \"%1$s\":
\n%2$s</string>
@ -1586,7 +1586,7 @@
<string name="none">Nessuno</string>
<string name="revoke">Revoca</string>
<string name="disconnect">Disconnetti</string>
<string name="people_no_identity_server">Non è stato configurato alcun Identity Server.</string>
<string name="people_no_identity_server">Non è stato configurato alcun server d\'identità.</string>
<string name="call_failed_no_ice_title">Chiamata fallita a causa di un\'errata configurazione del server</string>
<string name="call_failed_no_ice_description">Chiedi all\'amministratore del tuo Home Server (%1$s) di configurare un server TURN affinché le chiamate funzionino in modo affidabile.
\n
@ -1600,7 +1600,7 @@
<string name="login_error_homeserver_not_found">Non è stato trovato alcun Home Server seguendo questo URL. Per favore, controllalo</string>
<string name="settings_call_ringtone_use_default_stun">Permetti chiamate dal Server di appoggio</string>
<string name="settings_call_ringtone_use_default_stun_sum">Verrà usato %s come server d\'appoggio quando il tuo homeserver non ha uno proprio (il tuo indirizzo IP verrà esposto durante una chiamata)</string>
<string name="invite_no_identity_server_error">Per poterlo fare, aggiungi un Identity Server nelle Impostazioni.</string>
<string name="invite_no_identity_server_error">Per poterlo fare, aggiungi un server d\'identità nelle Impostazioni.</string>
<string name="settings_background_fdroid_sync_mode">Modalità sync in background</string>
<string name="settings_background_fdroid_sync_mode_battery">Ottimizzato per la batteria</string>
<string name="template_settings_background_fdroid_sync_mode_battery_description">${app_name} si sincronizzerà in background in modo da non consumare la poca batteria disponibile.
@ -1615,33 +1615,33 @@
<string name="settings_set_workmanager_delay_summary">%s
\nLa sincronizzazione può essere ritardata a seconda delle risorse (batteria) o dello stato del dispositivo (sospensione).</string>
<string name="settings_discovery_category">Farsi trovare</string>
<string name="settings_discovery_manage">Configura l\'Identity Server per trovare e farsi trovare dagli altri utenti.</string>
<string name="settings_discovery_manage">Gestisci le impostazioni per farsi trovare.</string>
<string name="encryption_information_device_name_with_warning">Nome pubblico (visibile alle persone con cui comunichi)</string>
<string name="device_name_warning">Il nome pubblico di una sessione è visibile alle persone con cui comunichi</string>
<string name="identity_server_not_defined">Non stai usando alcun server di identità</string>
<string name="identity_server_not_defined_for_password_reset">Nessun Identity Server configurato. E\' necessario per poter ripristinare la tua password.</string>
<string name="identity_server_not_defined_for_password_reset">Nessun server d\'identità configurato, è necessario per poter ripristinare la password.</string>
<string name="error_user_already_logged_in">Pare che tu stia provando a connetterti ad un altro homeserver. Vuoi disconnetterti da qui\?</string>
<string name="identity_server">Identity Server</string>
<string name="disconnect_identity_server">Disconnetti Identity Server</string>
<string name="add_identity_server">Configura Identity Server</string>
<string name="change_identity_server">Cambia Identity Server</string>
<string name="settings_discovery_identity_server_info">Stai usando l\'Identity Server %1$s per trovare altri utenti e essere a tua volta rintracciabile da loro.</string>
<string name="settings_discovery_identity_server_info_none">In questo momento non stai usando alcun Identity Server. Per trovare e farti rintracciare dagli altri utenti, configurane uno qua sotto.</string>
<string name="identity_server">Server d\'identità</string>
<string name="disconnect_identity_server">Disconnetti server d\'identità</string>
<string name="add_identity_server">Configura server d\'identità</string>
<string name="change_identity_server">Cambia server d\'identità</string>
<string name="settings_discovery_identity_server_info">Attualmente stai usando %1$s per trovare altri utenti ed essere a tua volta rintracciabile da loro.</string>
<string name="settings_discovery_identity_server_info_none">Attualmente non stai usando alcun server d\'identità. Per trovare e farti rintracciare dagli altri utenti, configurane uno qua sotto.</string>
<string name="settings_discovery_emails_title">Indirizzi email visibili pubblicamente</string>
<string name="settings_discovery_no_mails">Le opzioni su come farsi trovare da altri utenti appariranno dopo che avrai aggiunto un\'email.</string>
<string name="settings_discovery_no_msisdn">Le opzioni su come farsi trovare da altri utenti appariranno dopo che avrai aggiunto un numero di telefono.</string>
<string name="settings_discovery_disconnect_identity_server_info">Se ti disconnetti dall\'Identity Server gli altri utenti non potranno trovarti e tu non potrai invitarli tramite le loro email e numeri di telefono.</string>
<string name="settings_discovery_no_mails">Le opzioni su come farsi trovare appariranno dopo che avrai aggiunto un\'email.</string>
<string name="settings_discovery_no_msisdn">Le opzioni su come farsi trovare appariranno dopo che avrai aggiunto un numero di telefono.</string>
<string name="settings_discovery_disconnect_identity_server_info">Se ti disconnetti dal server d\'identità gli altri utenti non potranno trovarti e tu non potrai invitarli tramite le loro email o numeri di telefono.</string>
<string name="settings_discovery_msisdn_title">Numeri di telefono visibili pubblicamente</string>
<string name="settings_discovery_confirm_mail">Abbiamo inviato un\'email di conferma a %s. Controlla l\'email e clicca sul link di conferma</string>
<string name="settings_discovery_confirm_mail">Abbiamo inviato un\'email di conferma a %s, controlla la tua posta e clicca sul link di conferma</string>
<string name="settings_discovery_mail_pending">In attesa</string>
<string name="settings_discovery_enter_identity_server">Inserisci l\'URL di un Identity Server</string>
<string name="settings_discovery_bad_identity_server">Impossibile connettersi all\'Identity Server</string>
<string name="settings_discovery_please_enter_server">Inserisci l\'URL dell\'Identity Server</string>
<string name="settings_discovery_no_terms_title">L\'Identity Server non ha reso noti i propri termini di servizio</string>
<string name="settings_discovery_no_terms">L\'Identity Server che hai scelto non ha reso noti i propri termini di servizio. Continua solo se ti fidi</string>
<string name="settings_discovery_enter_identity_server">Inserisci un URL di un server d\'identità</string>
<string name="settings_discovery_bad_identity_server">Impossibile connettersi al server d\'identità</string>
<string name="settings_discovery_please_enter_server">Inserisci l\'URL del server d\'identità</string>
<string name="settings_discovery_no_terms_title">Il server d\'identità non ha reso noti i propri termini di servizio</string>
<string name="settings_discovery_no_terms">Il server d\'identità che hai scelto non ha reso noti i propri termini di servizio. Continua solo se ti fidi del proprietario del servizio</string>
<string name="settings_text_message_sent">È stato inviato un messaggio a %s. Inserisci il codice di verifica che contiene.</string>
<string name="settings_discovery_disconnect_with_bound_pid">In questo momento stai condividendo i tuoi indirizzi email o numeri di telefono sull\'Identity Server %1$s. Dovrai riconnetterti a %2$s per interromperne la condivisione.</string>
<string name="settings_agree_to_terms">Accetta i termini di servizio dell\'Identity Server (%s) per permettere ad altri utenti di trovarti tramite la tua email o numero di telefono.</string>
<string name="settings_discovery_disconnect_with_bound_pid">Attualmente stai condividendo i tuoi indirizzi email o numeri di telefono sul server d\'identità %1$s. Dovrai riconnetterti a %2$s per interromperne la condivisione.</string>
<string name="settings_agree_to_terms">Accetta i termini di servizio del server d\'identità (%s) per permettere ad altri utenti di trovarti tramite la tua email o numero di telefono.</string>
<string name="labs_allow_extended_logging">Attiva i log dettagliati.</string>
<string name="labs_allow_extended_logging_summary">I log dettagliati aiuteranno gli sviluppatori fornendo loro molte più informazioni nelle segnalazioni che invii scuotendo il dispositivo. Anche se attivi i log dettagliati, Element non registra mai i contenuti dei messaggi o altri dati personali.</string>
<string name="error_terms_not_accepted">Riprova dopo avere accettato i termini di servizio del tuo Home Server.</string>
@ -2192,7 +2192,7 @@
<string name="event_redacted">Messaggio eliminato</string>
<string name="settings_show_redacted">Mostra messaggi rimossi</string>
<string name="settings_show_redacted_summary">Mostra un segnaposto per i messaggi rimossi</string>
<string name="settings_discovery_confirm_mail_not_clicked">Ti abbiamo inviato un\'email di conferma a %s. Per proseguire controlla la tua posta e clicca sul link di conferma</string>
<string name="settings_discovery_confirm_mail_not_clicked">Ti abbiamo inviato un\'email di conferma a %s, controlla la tua posta e clicca il link di conferma</string>
<string name="settings_text_message_sent_wrong_code">Il codice di verifica non è corretto.</string>
<string name="uploads_media_title">MEDIA</string>
<string name="uploads_media_no_result">In questa stanza non ci sono file multimediali</string>
@ -2211,18 +2211,18 @@
<string name="choose_locale_other_locales_title">Altre lingue disponibili</string>
<string name="choose_locale_loading_locales">Caricamento lingue disponibili…</string>
<string name="open_terms_of">Apri condizioni di %s</string>
<string name="disconnect_identity_server_dialog_content">Disconnettere dall\'Identity Server %s\?</string>
<string name="template_identity_server_error_outdated_identity_server">Questo Identity Server è obsoleto. ${app_name} supporta solo API V2.</string>
<string name="disconnect_identity_server_dialog_content">Disconnettere dal server d\'identità %s\?</string>
<string name="template_identity_server_error_outdated_identity_server">Questo server d\'identità è obsoleto. ${app_name} supporta solo API V2.</string>
<string name="identity_server_error_outdated_home_server">Questa operazione non è possibile. L\'Home Server è obsoleto.</string>
<string name="identity_server_error_no_identity_server_configured">Prima configura un Identity Server.</string>
<string name="identity_server_error_terms_not_signed">Prima accetta le condizioni dell\'Identity Server nelle impostazioni.</string>
<string name="identity_server_error_no_identity_server_configured">Prima configura un server d\'identità.</string>
<string name="identity_server_error_terms_not_signed">Prima accetta le condizioni del server d\'identità nelle impostazioni.</string>
<string name="template_identity_server_error_bulk_sha256_not_supported">Per la tua privacy, ${app_name} supporta solo l\'invio di email e numeri di telefono degli utenti in modalità oscurata (hash).</string>
<string name="identity_server_error_binding_error">L\'associazione è fallita.</string>
<string name="identity_server_error_no_current_binding_error">Non c\'è alcuna associazione con questo identificativo.</string>
<string name="identity_server_set_default_notice">Il tuo Home Server (%1$s) propone di usare %2$s come tuo Identity Server</string>
<string name="identity_server_set_default_notice">Il tuo home server (%1$s) propone di usare %2$s come tuo server d\'identità</string>
<string name="identity_server_set_default_submit">Usa %1$s</string>
<string name="identity_server_set_alternative_notice">In alternativa, puoi inserire l\'URL di un qualsiasi altro Identity Server</string>
<string name="identity_server_set_alternative_notice_no_default">Inserisci l\'URL di un Identity Server</string>
<string name="identity_server_set_alternative_notice">In alternativa, puoi inserire l\'URL di un qualsiasi altro server d\'identità</string>
<string name="identity_server_set_alternative_notice_no_default">Inserisci l\'URL di un server d\'identità</string>
<string name="identity_server_set_alternative_submit">Invia</string>
<string name="play_video">Avvia</string>
<string name="pause_video">Pausa</string>
@ -2539,10 +2539,10 @@
\n
\nPer garantire la privacy, i dati verranno inviati in forma oscurata (hashing).</string>
<string name="identity_server_consent_dialog_title">Invio di email e numeri di telefono</string>
<string name="settings_discovery_consent_action_give_consent">Accetta</string>
<string name="settings_discovery_consent_action_give_consent">Dai il consenso</string>
<string name="settings_discovery_consent_action_revoke">Revoca il mio consenso</string>
<string name="settings_discovery_consent_notice_off">Non hai acconsentito ad inviare email e numeri di telefono a questo Identity Server per poter rintracciare altri utenti tra i tuoi contatti.</string>
<string name="settings_discovery_consent_notice_on">Hai acconsentito ad inviare email e numeri di telefono a questo Identity Server per poter rintracciare altri utenti tra i tuoi contatti.</string>
<string name="settings_discovery_consent_notice_off">Non hai acconsentito ad inviare email e numeri di telefono a questo server d\'identità per poter rintracciare altri utenti tra i tuoi contatti.</string>
<string name="settings_discovery_consent_notice_on">Hai acconsentito ad inviare email e numeri di telefono a questo server d\'identità per poter rintracciare altri utenti tra i tuoi contatti.</string>
<string name="settings_discovery_consent_title">Invia email e numeri di telefono</string>
<string name="direct_room_user_list_suggestions_title">Suggerimenti</string>
<string name="direct_room_user_list_contacts_title">Contatti</string>
@ -2836,7 +2836,7 @@
<string name="feedback">Feedback</string>
<string name="send_feedback_space_title">Feedback sugli Spazi</string>
<string name="error_jitsi_join_conf">Ops! Qualcosa è andato storto nel cercar di entrare nella conferenza</string>
<string name="space_leave_prompt_msg_as_admin">Sei l\'Amministratore di questo Spazio. Assicurati di aver nominato un altro amministratore prima di uscire.</string>
<string name="space_leave_prompt_msg_as_admin">Sei l\'unico amministratore di questo spazio. Abbandonarlo significa che nessuno ne avrà il controllo.</string>
<string name="space_leave_prompt_msg_only_you">Sei l\'unico utente di questo Spazio. Se esci nessuno potrà più entrarci. Nemmeno tu.</string>
<string name="space_add_rooms">Aggiungi stanze</string>
<string name="this_space_has_no_rooms_admin">Alcune stanze potrebbero essere nascoste perché sono private e ti serve il loro invito.</string>
@ -2846,7 +2846,7 @@
<string name="spaces_no_server_support_title">Pare che il tuo Home Server non supporti ancora gli Spazi</string>
<string name="spaces_feeling_experimental_subspace">Ti piace sperimentare\?
\nProva ad inserire uno Spazio all\'interno di un altro Spazio.</string>
<string name="space_leave_prompt_msg_private">Questo non è uno Spazio pubblico. Senza un invito non potrai più rientrare.</string>
<string name="space_leave_prompt_msg_private">Non potrai più rientrare a meno che non ti invitino di nuovo.</string>
<string name="unnamed_room">Stanza senza nome</string>
<string name="private_space">Spazio privato</string>
<string name="public_space">Spazio pubblico</string>
@ -3000,4 +3000,49 @@
<string name="call_ringing">Sta squillando…</string>
<string name="spaces">Spazi</string>
<string name="learn_more">Maggiori informazioni</string>
<string name="open_discovery_settings">Apri impostazioni di rintracciabilità</string>
<string name="discovery_section">Farsi trovare (%s)</string>
<string name="finish_setting_up_discovery">Termina la configurazione della rintracciabilità.</string>
<string name="space_add_space_to_any_space_you_manage">Aggiungi uno spazio ad un altro che gestisci.</string>
<string name="space_add_existing_spaces">Aggiungi spazi esistenti</string>
<string name="space_add_existing_rooms_only">Aggiungi stanze esistenti</string>
<string name="pick_tings_to_leave">Scegli da cosa uscire</string>
<string name="leave_specific_ones">Esci da stanze e spazi specifici…</string>
<string name="dont_leave_any">Non uscire da alcuna stanza e spazio</string>
<string name="you_will_leave_all_in">Uscirai da tutte le stanze e gli spazi in %s.</string>
<string name="leave_all_rooms_and_spaces">Esci da tutte le stanze e gli spazi</string>
<string name="space_leave_prompt_msg_with_name">Vuoi davvero uscire da %s\?</string>
<string name="finish_setup">Termina configurazione</string>
<string name="discovery_invite">Invita per email, trova contatti e altro…</string>
<string name="create_space_identity_server_info_none">Attualmente non stai usando un server d\'identità. Per poter invitare compagni ed essere individuabile da loro, configurane uno sotto.</string>
<string name="invite_by_mxid_or_mail">Invita per nome utente o email</string>
<string name="create_spaces_invite_public_header_desc">Assicurati che le persone giuste abbiano accesso a %s. Puoi invitarne altre dopo.</string>
<string name="create_spaces_invite_public_header">Chi sono i tuoi compagni di squadra\?</string>
<string name="command_description_add_to_space">Aggiungi allo spazio scelto</string>
<string name="create_space_in_progress">Creazione spazio…</string>
<string name="settings_developer_mode_show_info_on_screen_summary">Mostra alcune informazioni utili per aiutare il debug dell\'applicazione</string>
<string name="settings_developer_mode_show_info_on_screen_title">Mostra info di debug su schermo</string>
<string name="does_not_look_like_valid_email">Non sembra essere un indirizzo email valido</string>
<string name="user_directory_search_hint_2">Cerca per nome, ID o email</string>
<string name="create_new_space">Crea nuovo spazio</string>
<string name="room_settings_space_access_public_description">Chiunque può trovare lo spazio ed entrarvi</string>
<string name="room_settings_space_access_title">Accesso allo spazio</string>
<string name="room_settings_access_rules_pref_dialog_title">Chi può accedervi\?</string>
<string name="settings_notification_emails_enable_for_email">Attiva notifiche email per %s</string>
<string name="settings_notification_emails_no_emails">Per ricevere email con le notifiche, associa un indirizzo di posta al tuo profilo Matrix</string>
<string name="settings_notification_emails_category">Notifica email</string>
<string name="room_permissions_upgrade_the_space">Aggiorna lo spazio</string>
<string name="room_permissions_change_space_name">Cambia il nome dello spazio</string>
<string name="room_permissions_enable_space_encryption">Attiva la crittografia dello spazio</string>
<string name="room_permissions_change_main_address_for_the_space">Cambia l\'indirizzo principale dello spazio</string>
<string name="room_permissions_change_space_avatar">Cambia avatar dello spazio</string>
<string name="space_permissions_notice_read_only">Non hai l\'autorizzazione di aggiornare i ruoli necessari per cambiare diverse parti dello spazio</string>
<string name="space_settings_permissions_title">Autorizzazioni dello spazio</string>
<string name="space_permissions_notice">Seleziona i ruoli necessari per cambiare varie parti dello spazio</string>
<string name="space_settings_permissions_subtitle">Vedi e aggiorna i ruoli necessari per cambiare varie parti dello spazio.</string>
<string name="space_participants_unban_prompt_msg">Riammettere l\'utente gli permetterà di rientrare nello spazio.</string>
<string name="space_participants_ban_prompt_msg">Bandire l\'utente lo espellerà da questo spazio e gli impedirà di rientrare.</string>
<string name="space_participants_kick_prompt_msg">buttando fuori l\'utente verrà rimosso da questo spazio.
\n
\nPer impedire che possa rientrare, dovresti invece bandirlo.</string>
</resources>

View File

@ -2812,8 +2812,8 @@
<string name="spaces_beta_welcome_to_spaces">Boas-vindas a Espaços!</string>
<string name="space_add_rooms">Adicionar salas</string>
<string name="space_add_existing_rooms">Adicionar salas e espaços existentes</string>
<string name="space_leave_prompt_msg_as_admin">Você é admin deste espaço, assegure-se que você tem transferido direito de admin a um outro membro antes de sair.</string>
<string name="space_leave_prompt_msg_private">Este espaço não é público. Você não vai ser capaz de se rejuntar sem um convite.</string>
<string name="space_leave_prompt_msg_as_admin">Você é a/o única(o) admin deste espaço. Sair dele vai significar que ninguém tem controle sobre ele.</string>
<string name="space_leave_prompt_msg_private">Você não vai ser capaz de se rejuntar a menos que você seja re-convidada(o).</string>
<string name="space_leave_prompt_msg_only_you">Você é a única pessoa aqui. Se você sair, ninguém vai ser capaz de se juntar no futuro, incluindo você.</string>
<!-- TO BE REMOVED -->
<string name="space_leave_prompt_msg">Você tem certeza que você quer sair do espaço\?</string>
@ -3017,4 +3017,49 @@
<string name="call_ringing">Chamada tocando…</string>
<string name="spaces">Espaços</string>
<string name="learn_more">Saber Mais</string>
<string name="space_add_space_to_any_space_you_manage">Adicione um espaço a qualquer espaço que você gerencia.</string>
<string name="space_add_existing_spaces">Adicionar espaços existentes</string>
<string name="space_add_existing_rooms_only">Adicionar salas existentes</string>
<string name="pick_tings_to_leave">Escolha coisas para sair</string>
<string name="leave_specific_ones">Sair de salas e espaços específicos…</string>
<string name="dont_leave_any">Não sair de nenhuma sala ou espaço</string>
<string name="you_will_leave_all_in">Você vai sair de todas as salas e espaços em %s.</string>
<string name="leave_all_rooms_and_spaces">Sair de todas as salas e espaços</string>
<string name="space_leave_prompt_msg_with_name">Você tem certeza que você quer sair de %s\?</string>
<string name="discovery_section">Descoberta (%s)</string>
<string name="finish_setup">Terminar configuração</string>
<string name="discovery_invite">Convidar por email, encontrar contatos e mais…</string>
<string name="finish_setting_up_discovery">Termine de configurar descoberta.</string>
<string name="create_space_identity_server_info_none">Você não está atualmente usando um servidor de identidade. A fim de convidar colegas e ser descobertável por elas(es), configure um abaixo.</string>
<string name="invite_by_mxid_or_mail">Convidar por nome de usuária(o) ou mail</string>
<string name="create_spaces_invite_public_header_desc">Assegure que as pessoas certas têm acesso a companhia %s. Você pode convidar outras mais tarde.</string>
<string name="create_spaces_invite_public_header">Quem são suas/seus colegas\?</string>
<string name="command_description_add_to_space">Adicionar ao dado Espaço</string>
<string name="create_space_in_progress">Criando espaço…</string>
<string name="settings_developer_mode_show_info_on_screen_summary">Mostrar certa info útil para ajudar a fazer debugging do aplicativo</string>
<string name="settings_developer_mode_show_info_on_screen_title">Mostrar info de debug em tela</string>
<string name="does_not_look_like_valid_email">Não parece com um endereço de email válido</string>
<string name="open_discovery_settings">Abrir Configurações de Descoberta</string>
<string name="user_directory_search_hint_2">Pesquisar por nome, ID ou mail</string>
<string name="create_new_space">Criar Novo Espaço</string>
<string name="room_settings_space_access_public_description">Qualquer pessoa pode encontrar o espaço e se juntar</string>
<string name="room_settings_space_access_title">Acesso a espaço</string>
<string name="room_settings_access_rules_pref_dialog_title">Quem pode acessar\?</string>
<string name="settings_notification_emails_enable_for_email">Habilitar notificações de email para %s</string>
<string name="settings_notification_emails_no_emails">Para receber email com notificação, por favor associe um email a sua conta Matrix</string>
<string name="settings_notification_emails_category">Notificação de email</string>
<string name="room_permissions_upgrade_the_space">Fazer upgrade do espaço</string>
<string name="room_permissions_change_space_name">Mudar nome de espaço</string>
<string name="room_permissions_enable_space_encryption">Habilitar encriptação de espaço</string>
<string name="room_permissions_change_main_address_for_the_space">Mudar endereço principal para o espaço</string>
<string name="room_permissions_change_space_avatar">Mudar avatar de espaço</string>
<string name="space_permissions_notice_read_only">Você não tem permissão para atualizar os papéis requeridos para mudar várias partes deste espaço</string>
<string name="space_permissions_notice">Selecione os papéis requeridos para mudar várias partes deste espaço</string>
<string name="space_settings_permissions_subtitle">Veja e atualize os papéis requeridos para mudar várias partes do espaço.</string>
<string name="space_settings_permissions_title">Permissões de espaço</string>
<string name="space_participants_unban_prompt_msg">Desbanir usuária(o) vai permiti-la(o) se juntar ao espaço de novo.</string>
<string name="space_participants_ban_prompt_msg">Banir usuária(o) vai expulsá-la(o) deste espaço e preveni-la de se juntar de novo.</string>
<string name="space_participants_kick_prompt_msg">expulsar usuária(o) vai removê-la(o) deste espaço.
\n
\nPara preveni-la(o) de se juntar de novo, você devia bani-la(o) em vez disso.</string>
</resources>

View File

@ -3105,4 +3105,49 @@
<string name="call_ringing">Вызов…</string>
<string name="spaces">Пространства</string>
<string name="learn_more">Подробнее</string>
<string name="space_add_space_to_any_space_you_manage">Добавьте пространство в любое пространство, которым вы управляете.</string>
<string name="space_add_existing_spaces">Добавить существующие пространства</string>
<string name="space_add_existing_rooms_only">Добавить существующие комнаты</string>
<string name="pick_tings_to_leave">Выберите, что нужно покинуть</string>
<string name="leave_specific_ones">Покинуть определенные комнаты и пространства…</string>
<string name="dont_leave_any">Не покидать ни одну комнату и пространство</string>
<string name="you_will_leave_all_in">Вы покинете все комнаты и пространства в %s.</string>
<string name="leave_all_rooms_and_spaces">Покинуть все комнаты и пространства</string>
<string name="space_leave_prompt_msg_with_name">Вы уверены, что хотите покинуть %s\?</string>
<string name="discovery_section">Обнаружение (%s)</string>
<string name="finish_setup">Завершение настройки</string>
<string name="discovery_invite">Приглашение по электронной почте, поиск контактов и многое другое…</string>
<string name="finish_setting_up_discovery">Завершите настройку обнаружения.</string>
<string name="create_space_identity_server_info_none">В настоящее время вы не используете сервер идентификации. Чтобы приглашать членов команды и быть доступным для них, настройте один из них ниже.</string>
<string name="invite_by_mxid_or_mail">Приглашение по имени пользователя или по почте</string>
<string name="create_spaces_invite_public_header_desc">Убедитесь, что нужные люди имеют доступ к %s. Вы можете пригласить больше людей позже.</string>
<string name="create_spaces_invite_public_header">Кто ваши члены команды\?</string>
<string name="command_description_add_to_space">Добавить в данное пространство</string>
<string name="create_space_in_progress">Создание пространства…</string>
<string name="settings_developer_mode_show_info_on_screen_summary">Показать некоторую полезную информацию для помощи в отладке приложения</string>
<string name="settings_developer_mode_show_info_on_screen_title">Показать отладочную информацию на экране</string>
<string name="does_not_look_like_valid_email">Не похоже на действительный адрес электронной почты</string>
<string name="open_discovery_settings">Открыть настройки обнаружения</string>
<string name="user_directory_search_hint_2">Поиск по имени, ID или почте</string>
<string name="create_new_space">Создать новое пространство</string>
<string name="room_settings_space_access_public_description">Любой желающий может найти это пространство и присоединиться</string>
<string name="room_settings_space_access_title">Доступ к пространству</string>
<string name="room_settings_access_rules_pref_dialog_title">Кто имеет к этому доступ\?</string>
<string name="settings_notification_emails_enable_for_email">Включить уведомления по электронной почте для %s</string>
<string name="settings_notification_emails_no_emails">Чтобы получать уведомления по электронной почте, пожалуйста, привяжите электронную почту к вашей учетной записи Matrix</string>
<string name="settings_notification_emails_category">Уведомление по эл. почте</string>
<string name="room_permissions_upgrade_the_space">Обновление пространства</string>
<string name="room_permissions_change_space_name">Изменить название пространства</string>
<string name="room_permissions_enable_space_encryption">Включить шифрование пространства</string>
<string name="room_permissions_change_main_address_for_the_space">Изменить основной адрес для пространства</string>
<string name="room_permissions_change_space_avatar">Изменить аватар пространства</string>
<string name="space_permissions_notice_read_only">У вас нет разрешения на обновление ролей, необходимых для изменения различных частей этого пространства</string>
<string name="space_permissions_notice">Выберите роли, необходимые для изменения различных частей этого пространства</string>
<string name="space_settings_permissions_subtitle">Просмотр и обновление ролей, необходимых для изменения различных частей пространства.</string>
<string name="space_settings_permissions_title">Разрешения пространства</string>
<string name="space_participants_unban_prompt_msg">Разблокирование пользователя позволит ему снова присоединиться к пространству.</string>
<string name="space_participants_ban_prompt_msg">Блокировка пользователя исключит его из этого пространства и не позволит ему присоединиться снова.</string>
<string name="space_participants_kick_prompt_msg">Выгнанный пользователь будет удалён из этого пространства.
\n
\nЧтобы предотвратить его повторное присоединение, вы должны заблокировать его.</string>
</resources>

View File

@ -2771,8 +2771,8 @@
<string name="spaces_feeling_experimental_subspace">Ndiheni eksperimentues\?
\nMund të shtoni te një hapësirë hapësira ekzistuese.</string>
<string name="space_add_rooms">Shtoni dhoma</string>
<string name="space_leave_prompt_msg_as_admin">Jeni përgjegjës i kësaj hapësirë, sigurohuni se keni shpërngulur të drejt përgjegjësi te një anëtar tjetër, përpara braktisjes.</string>
<string name="space_leave_prompt_msg_private">Kjo hapësirë sështë publike. Sdo të jeni në gjendje të rihyni pa një ftesë.</string>
<string name="space_leave_prompt_msg_as_admin">Jeni përgjegjësi i vetëm i kësaj hapësire. Braktisja e saj do të thotë se askush sdo të ketë kontroll mbi të.</string>
<string name="space_leave_prompt_msg_private">Sdo të jeni në gjendje të rihyni pa një ftesë.</string>
<string name="space_leave_prompt_msg_only_you">Jeni personi i vetëm këtu. Nëse ikni, askush sdo të jetë në gjendje të marrë pjesë në të ardhmen, përfshi ju.</string>
<string name="invite_to_space">Ftojeni te %s</string>
<string name="a11y_beta">Kjo veçori është në fazë beta</string>
@ -2936,4 +2936,49 @@
<string name="call_ringing">Po i bihet ziles…</string>
<string name="spaces">Hapësira</string>
<string name="learn_more">Mësoni Më Tepër</string>
<string name="space_add_space_to_any_space_you_manage">Shtoni një hapësirë te cilado hapësirë që administroni.</string>
<string name="space_add_existing_spaces">Shtoni hapësira ekzistuese</string>
<string name="space_add_existing_rooms_only">Shtoni dhoma ekzistuese</string>
<string name="pick_tings_to_leave">Zgjidhni gjëra që duhen braktisur</string>
<string name="leave_specific_ones">Braktisni dhoma dhe hapësira të përcaktuara…</string>
<string name="dont_leave_any">Mos braktis ndonjë dhomë dhe hapësirë</string>
<string name="you_will_leave_all_in">Do të braktisni krejt dhomat dhe hapësirat te %s.</string>
<string name="leave_all_rooms_and_spaces">Braktis krejt dhomat dhe hapësirat</string>
<string name="space_leave_prompt_msg_with_name">Jeni i sigurt se doni të dilni nga \'%s\?</string>
<string name="discovery_section">Zbulim (%S)</string>
<string name="finish_setup">Përfundoje ujdisjen</string>
<string name="discovery_invite">Ftoni me email, gjeni kontakte, etj…</string>
<string name="finish_setting_up_discovery">Përfundo ujdisjen e zbulimit.</string>
<string name="create_space_identity_server_info_none">Aktualisht nuk përdorni ndonjë shërbyes identitetesh. Që të ftoni shokë të ekipit dhe të jeni i zbulueshëm prej tyre, formësoni një të tillë më poshtë.</string>
<string name="invite_by_mxid_or_mail">Ftoni me emër përdoruesi ose email</string>
<string name="create_spaces_invite_public_header_desc">Sigurohuni se te %s e shoqërisë kanë hyrje personat e duhur. Më vonë mund të ftoni të tjerë.</string>
<string name="create_spaces_invite_public_header">Cilët janë shokët tuaj të ekipit\?</string>
<string name="command_description_add_to_space">Shtoni te Hapësira e dhënë</string>
<string name="create_space_in_progress">Po krijohet hapësirë…</string>
<string name="settings_developer_mode_show_info_on_screen_summary">Shfaqni ca hollësira të dobishme, për të ndihmuar në diagnostikimin e aplikacionit</string>
<string name="settings_developer_mode_show_info_on_screen_title">Shfaq në ekran të dhëna diagnostikimi</string>
<string name="does_not_look_like_valid_email">Sduket si adresë email e vlefshme</string>
<string name="open_discovery_settings">Hapni Rregullime Zbulimi</string>
<string name="user_directory_search_hint_2">Kërkoni sipas emri , ID-je ose email-i</string>
<string name="create_new_space">Krijoni Hapësirë të Re</string>
<string name="room_settings_space_access_public_description">Hapësirën mund ta gjejë kushdo dhe hyjë në të</string>
<string name="room_settings_space_access_title">Hyrje në hapësirë</string>
<string name="room_settings_access_rules_pref_dialog_title">Kush mund të hyjë\?</string>
<string name="settings_notification_emails_enable_for_email">Aktivizo njoftime me email për %s</string>
<string name="settings_notification_emails_no_emails">Që të merrni email me njoftim, ju lutemi, përshoqërojini llogarisë tuaj Matrix një email</string>
<string name="settings_notification_emails_category">Njoftim me email</string>
<string name="room_permissions_upgrade_the_space">Të përmirësojë hapësirën</string>
<string name="room_permissions_change_space_name">Të ndryshojë emrin e hapësirës</string>
<string name="room_permissions_enable_space_encryption">Të aktivizojë fshehtëzimin e hapësirës</string>
<string name="room_permissions_change_main_address_for_the_space">Të ndryshojë adresë kryesore për hapësirën</string>
<string name="room_permissions_change_space_avatar">Të ndryshojë avatarin e hapësirës</string>
<string name="space_permissions_notice_read_only">Skeni leje të përditësoni rolet e domosdoshëm për të ndryshuar anë të ndryshme të kësaj hapësire</string>
<string name="space_permissions_notice">Të përzgjedhë rolet e domosdoshme për të ndryshuar anë të ndryshme të kësaj hapësire</string>
<string name="space_settings_permissions_subtitle">Të shohë dhe përditësojë role të domosdoshëm për të ndryshuar anë të ndryshme të hapësirës.</string>
<string name="space_settings_permissions_title">Leje hapësire</string>
<string name="space_participants_unban_prompt_msg">Heqja e dëbimit përdoruesit do ti lejojë të marrë pjesë sërish në hapësirë.</string>
<string name="space_participants_ban_prompt_msg">Dëbimi i përdoruesit do ta përzërë atë nga kjo hapësirë dhe do ti pengojë atij rihyrjen.</string>
<string name="space_participants_kick_prompt_msg">Përzënia e përdoruesit do ta heqë prej kësaj hapësire.
\n
\nQë të pengohet pjesëmarrja sërish e tij, duhet ta dëboni.</string>
</resources>

View File

@ -2599,8 +2599,8 @@
<string name="spaces_beta_welcome_to_spaces">欢迎来到空间!</string>
<string name="space_add_rooms">添加聊天室</string>
<string name="space_add_existing_rooms">添加现有聊天室和空间</string>
<string name="space_leave_prompt_msg_as_admin">你是此空间的管理员,请确保你在离开前已将管理权限转让给另一位成员</string>
<string name="space_leave_prompt_msg_private">此空间并非公开空间。你将无法在没有邀请的情况下重新加入。</string>
<string name="space_leave_prompt_msg_as_admin">你是此空间唯一的管理员。离开就意味着没人能控制它</string>
<string name="space_leave_prompt_msg_private">除非你被重新邀请,否则你将无法重新加入。</string>
<string name="space_leave_prompt_msg_only_you">你是这唯一的人。如果你离开,包括你在内的所有人都将无法加入此空间。</string>
<!-- TO BE REMOVED -->
<string name="space_leave_prompt_msg">你确定你想要离开此空间吗?</string>
@ -2901,4 +2901,49 @@
<string name="call_ringing">来电响铃中…</string>
<string name="spaces">空间</string>
<string name="learn_more">了解更多</string>
<string name="space_add_space_to_any_space_you_manage">将一个空间添加到您管理的任何空间。</string>
<string name="space_add_existing_spaces">添加现有空间</string>
<string name="space_add_existing_rooms_only">添加现有聊天室</string>
<string name="pick_tings_to_leave">选择要离开的项目</string>
<string name="leave_specific_ones">离开特定聊天室和空间…</string>
<string name="dont_leave_any">不要离开任何聊天室和空间</string>
<string name="you_will_leave_all_in">你将离开 %s 中的所有聊天室和空间。</string>
<string name="leave_all_rooms_and_spaces">离开所有聊天室和空间</string>
<string name="space_leave_prompt_msg_with_name">你确定要离开 %s 吗?</string>
<string name="discovery_section">发现 (%s)</string>
<string name="finish_setup">完成设置</string>
<string name="discovery_invite">通过电子邮件邀请、寻找联系人和更多…</string>
<string name="finish_setting_up_discovery">设置“发现”已毕。</string>
<string name="create_space_identity_server_info_none">您目前没有使用身份服务器。为了邀请队友并被他们发现,请在下方配置一个这样的服务器。</string>
<string name="invite_by_mxid_or_mail">通过用户名或邮件邀请</string>
<string name="create_spaces_invite_public_header_desc">确保只有合适的人能访问 %s 空间。稍后你可以邀请更多的人加入。</string>
<string name="create_spaces_invite_public_header">谁是你的队友?</string>
<string name="command_description_add_to_space">添加至规定的空间</string>
<string name="create_space_in_progress">创建空间中…</string>
<string name="settings_developer_mode_show_info_on_screen_summary">显示一些有用的信息以帮助调试应用程序</string>
<string name="settings_developer_mode_show_info_on_screen_title">在屏幕商显示调试信息</string>
<string name="does_not_look_like_valid_email">看起来不像是有效的邮箱地址</string>
<string name="open_discovery_settings">打开“发现”设置</string>
<string name="user_directory_search_hint_2">按名称、ID或邮箱搜索</string>
<string name="create_new_space">创建新空间</string>
<string name="room_settings_space_access_public_description">任何人均可找到此空间并加入</string>
<string name="room_settings_space_access_title">空间访问</string>
<string name="room_settings_access_rules_pref_dialog_title">谁可以访问?</string>
<string name="settings_notification_emails_enable_for_email">启用 %s 的电邮通知</string>
<string name="settings_notification_emails_no_emails">要接收通知邮件,请将一个电子邮箱关联到你的 Matrix 账户</string>
<string name="settings_notification_emails_category">电子邮件通知</string>
<string name="room_permissions_upgrade_the_space">升级空间</string>
<string name="room_permissions_change_space_name">更改空间名称</string>
<string name="room_permissions_enable_space_encryption">启用空间加密</string>
<string name="room_permissions_change_main_address_for_the_space">更改空间主地址</string>
<string name="room_permissions_change_space_avatar">更改空间头像</string>
<string name="space_permissions_notice_read_only">您没有权限更新更改该空间的各个部分所需的角色</string>
<string name="space_permissions_notice">选择更改该空间的各个部分所需的角色</string>
<string name="space_settings_permissions_subtitle">查看和更新更改空间的各个部分所需的角色。</string>
<string name="space_settings_permissions_title">空间权限</string>
<string name="space_participants_unban_prompt_msg">解除禁令将允许被封禁的用户再次加入空间。</string>
<string name="space_participants_ban_prompt_msg">封禁用户将把他们踢出这个空间,并阻止他们再次加入。</string>
<string name="space_participants_kick_prompt_msg">把用户踢出也会从这个空间删除他们。
\n
\n为了防止他们再次加入你应该封禁他们。</string>
</resources>

View File

@ -2728,8 +2728,8 @@
<string name="spaces_feeling_experimental_subspace">想要做點實驗嗎?
\n您可以將既有的空間新增至其他空間中。</string>
<string name="space_add_rooms">新增聊天室</string>
<string name="space_leave_prompt_msg_as_admin">您是此空間的管理員,請確保在您離開前已將管理權轉交給另一個成員</string>
<string name="space_leave_prompt_msg_private">此空間並非公開。您將無法在無邀請的狀況下重新加入。</string>
<string name="space_leave_prompt_msg_as_admin">您是此空間唯一的管理員。若離開將意味著沒有人可以控制它</string>
<string name="space_leave_prompt_msg_private">除非被重新邀請,否則您將無法重新加入。</string>
<string name="space_leave_prompt_msg_only_you">您是這裡唯一的人。如果您離開,包含您在內的所有人都將無法加入。</string>
<string name="invite_to_space">邀請至 %s</string>
<string name="a11y_beta">此功能仍在測試版</string>
@ -2891,4 +2891,49 @@
<string name="call_ringing">通話響鈴中……</string>
<string name="spaces">空間</string>
<string name="learn_more">取得更多資訊</string>
<string name="space_add_space_to_any_space_you_manage">新增空間至您管理的任何空間。</string>
<string name="space_add_existing_spaces">新增既有的空間</string>
<string name="space_add_existing_rooms_only">新增既有的聊天室</string>
<string name="pick_tings_to_leave">挑選要離開的對象</string>
<string name="leave_specific_ones">離開特定的聊天室與空間……</string>
<string name="dont_leave_any">不要離開任何聊天室與空間</string>
<string name="you_will_leave_all_in">您將離開所有 %s 中的聊天室與空間。</string>
<string name="leave_all_rooms_and_spaces">離開所有聊天室與空間</string>
<string name="space_leave_prompt_msg_with_name">您確定您想要離開 %s</string>
<string name="discovery_section">探索 (%s)</string>
<string name="finish_setup">結束設定</string>
<string name="discovery_invite">透過電子郵件邀請、尋找聯絡人以及更多……</string>
<string name="finish_setting_up_discovery">完成探索設定。</string>
<string name="create_space_identity_server_info_none">您目前並未使用身份認證伺服器。為了邀請隊友並被他們探索,請在下方設定一個。</string>
<string name="invite_by_mxid_or_mail">透過使用者名稱或電子郵件邀請</string>
<string name="create_spaces_invite_public_header_desc">確保合適的人可以存取 %s 公司。您可以稍後再邀請。</string>
<string name="create_spaces_invite_public_header">誰是您的隊友?</string>
<string name="command_description_add_to_space">新增至指定的空間</string>
<string name="create_space_in_progress">正在建立空間……</string>
<string name="settings_developer_mode_show_info_on_screen_summary">顯示一些有用的資訊以協助應用程式除錯</string>
<string name="settings_developer_mode_show_info_on_screen_title">在畫面上顯示除錯資訊</string>
<string name="does_not_look_like_valid_email">看起來不是有效的電子郵件地址</string>
<string name="open_discovery_settings">開啟探索設定</string>
<string name="user_directory_search_hint_2">以名稱、ID 或電子郵件搜尋</string>
<string name="create_new_space">建立新空間</string>
<string name="room_settings_space_access_public_description">任何人都可以找到空間並加入</string>
<string name="room_settings_space_access_title">空間存取</string>
<string name="room_settings_access_rules_pref_dialog_title">誰可以存取?</string>
<string name="settings_notification_emails_enable_for_email">啟用 %s 的電子郵件通知</string>
<string name="settings_notification_emails_no_emails">要收到通知用的電子郵件,請將電子郵件關聯至您的 Matrix 帳號</string>
<string name="settings_notification_emails_category">電子郵件通知</string>
<string name="room_permissions_upgrade_the_space">升級空間</string>
<string name="room_permissions_change_space_name">變更空間名稱</string>
<string name="room_permissions_enable_space_encryption">啟用空間加密</string>
<string name="room_permissions_change_main_address_for_the_space">變更空間的主要位置</string>
<string name="room_permissions_change_space_avatar">變更空間大頭照</string>
<string name="space_permissions_notice_read_only">您無權更新變更此空間各部份所需角色的權限</string>
<string name="space_permissions_notice">選取變更此空間各部份所需的角色</string>
<string name="space_settings_permissions_subtitle">檢視並更新變更空間各部份所需的角色。</string>
<string name="space_settings_permissions_title">空間權限</string>
<string name="space_participants_unban_prompt_msg">取消封鎖使用者將讓他們可以再次加入空間。</string>
<string name="space_participants_ban_prompt_msg">封鎖使用者會將他們踢出此空間並防止他們再次加入。</string>
<string name="space_participants_kick_prompt_msg">踢除使用者將會將他們從此空間中移除。
\n
\n為了防止他們再加入您應該封鎖他們。</string>
</resources>

View File

@ -0,0 +1,97 @@
/*
* Copyright (c) 2021 New Vector Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package im.vector.app.features.crypto.keys
import android.net.Uri
import android.os.ParcelFileDescriptor
import im.vector.app.core.dispatchers.CoroutineDispatchers
import im.vector.app.test.fakes.FakeContext
import im.vector.app.test.fakes.FakeCryptoService
import im.vector.app.test.fakes.FakeSession
import io.mockk.every
import io.mockk.mockk
import io.mockk.verify
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.runBlocking
import org.amshove.kluent.internal.assertFailsWith
import org.junit.Before
import org.junit.Test
private val A_URI = mockk<Uri>()
private val A_ROOM_KEYS_EXPORT = ByteArray(size = 111)
private const val A_PASSWORD = "a password"
class KeysExporterTest {
private val cryptoService = FakeCryptoService()
private val context = FakeContext()
private val keysExporter = KeysExporter(
session = FakeSession(cryptoService = cryptoService),
context = context.instance,
dispatchers = CoroutineDispatchers(Dispatchers.Unconfined)
)
@Before
fun setUp() {
cryptoService.roomKeysExport = A_ROOM_KEYS_EXPORT
}
@Test
fun `when exporting then writes exported keys to context output stream`() {
givenFileDescriptorWithSize(size = A_ROOM_KEYS_EXPORT.size.toLong())
val outputStream = context.givenOutputStreamFor(A_URI)
runBlocking { keysExporter.export(A_PASSWORD, A_URI) }
verify { outputStream.write(A_ROOM_KEYS_EXPORT) }
}
@Test
fun `given different file size returned for export when exporting then throws UnexpectedExportKeysFileSizeException`() {
givenFileDescriptorWithSize(size = 110)
context.givenOutputStreamFor(A_URI)
assertFailsWith<UnexpectedExportKeysFileSizeException> {
runBlocking { keysExporter.export(A_PASSWORD, A_URI) }
}
}
@Test
fun `given output stream is unavailable for exporting to when exporting then throws IllegalStateException`() {
context.givenMissingOutputStreamFor(A_URI)
assertFailsWith<IllegalStateException>(message = "Unable to open file for writing") {
runBlocking { keysExporter.export(A_PASSWORD, A_URI) }
}
}
@Test
fun `given exported file is missing after export when exporting then throws IllegalStateException`() {
context.givenFileDescriptor(A_URI, mode = "r") { null }
context.givenOutputStreamFor(A_URI)
assertFailsWith<IllegalStateException>(message = "Exported file not found") {
runBlocking { keysExporter.export(A_PASSWORD, A_URI) }
}
}
private fun givenFileDescriptorWithSize(size: Long) {
context.givenFileDescriptor(A_URI, mode = "r") {
mockk<ParcelFileDescriptor>().also { every { it.statSize } returns size }
}
}
}

View File

@ -0,0 +1,50 @@
/*
* Copyright (c) 2021 New Vector Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package im.vector.app.test.fakes
import android.content.ContentResolver
import android.content.Context
import android.net.Uri
import android.os.ParcelFileDescriptor
import io.mockk.every
import io.mockk.mockk
import java.io.OutputStream
class FakeContext {
private val contentResolver = mockk<ContentResolver>()
val instance = mockk<Context>()
init {
every { instance.contentResolver } returns contentResolver
}
fun givenFileDescriptor(uri: Uri, mode: String, factory: () -> ParcelFileDescriptor?) {
val fileDescriptor = factory()
every { contentResolver.openFileDescriptor(uri, mode, null) } returns fileDescriptor
}
fun givenOutputStreamFor(uri: Uri): OutputStream {
val outputStream = mockk<OutputStream>(relaxed = true)
every { contentResolver.openOutputStream(uri) } returns outputStream
return outputStream
}
fun givenMissingOutputStreamFor(uri: Uri) {
every { contentResolver.openOutputStream(uri) } returns null
}
}

View File

@ -0,0 +1,27 @@
/*
* Copyright (c) 2021 New Vector Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package im.vector.app.test.fakes
import io.mockk.mockk
import org.matrix.android.sdk.api.session.crypto.CryptoService
class FakeCryptoService : CryptoService by mockk() {
var roomKeysExport = ByteArray(size = 1)
override suspend fun exportRoomKeys(password: String) = roomKeysExport
}

View File

@ -0,0 +1,27 @@
/*
* Copyright (c) 2021 New Vector Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package im.vector.app.test.fakes
import io.mockk.mockk
import org.matrix.android.sdk.api.session.Session
import org.matrix.android.sdk.api.session.crypto.CryptoService
class FakeSession(
private val cryptoService: CryptoService = FakeCryptoService()
) : Session by mockk(relaxed = true) {
override fun cryptoService() = cryptoService
}