mirror of
https://gitlab.com/famedly/fluffychat.git
synced 2026-02-15 17:57:59 +01:00
Compare commits
229 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b4fcb5b0d9 | ||
|
|
1911004d05 | ||
|
|
5d67564445 | ||
|
|
be04c5a46e | ||
|
|
bd7a4c9dfb | ||
|
|
10ee57722e | ||
|
|
ff5f7ab50e | ||
|
|
277885a61e | ||
|
|
6633ebc376 | ||
|
|
b2d9986cd3 | ||
|
|
a0b9bb277f | ||
|
|
d381705cdd | ||
| 3820d4264a | |||
|
|
cf4e2d3fad | ||
|
|
002dc87577 | ||
|
|
922e7ad0ff | ||
|
|
5d7be8a672 | ||
|
|
431b357cfa | ||
|
|
2938acf152 | ||
|
|
4127f70e4d | ||
|
|
c07221cc12 | ||
|
|
33b2f95e3f | ||
|
|
2a5cd9b218 | ||
|
|
a15fed034d | ||
|
|
b9641ac021 | ||
|
|
2145bd8846 | ||
|
|
672b97b310 | ||
|
|
974da6ec90 | ||
|
|
f19bbcd010 | ||
|
|
a1468c92c8 | ||
|
|
6dd125a087 | ||
|
|
842ecc4235 | ||
|
|
db66793d28 | ||
|
|
324da027e9 | ||
|
|
f2f45e53a8 | ||
|
|
cacab45fe3 | ||
|
|
908d428220 | ||
|
|
8a6d726b8c | ||
|
|
40275d3d14 | ||
|
|
5039f1ba3b | ||
|
|
299aac134d | ||
|
|
044171c002 | ||
|
|
ec9155d8f0 | ||
|
|
221fe3edcc | ||
|
|
e166f17cae | ||
|
|
640fe0d476 | ||
|
|
3942de3222 | ||
|
|
b00111381a | ||
|
|
715dca561f | ||
|
|
44d7f61788 | ||
|
|
518739e29f | ||
|
|
06e6e9c5b1 | ||
|
|
17cfff153b | ||
|
|
9f224b9839 | ||
|
|
56e1bb6bfd | ||
|
|
6529ce0d0f | ||
|
|
81c7f7decd | ||
|
|
85868cc0bd | ||
|
|
1d0c842bad | ||
|
|
02bcc98037 | ||
|
|
1a1c166ab0 | ||
|
|
692d6042c5 | ||
|
|
fa2ed930eb | ||
|
|
9785b0023c | ||
|
|
313c94a4f1 | ||
|
|
2bb0dce7a1 | ||
|
|
b1785d4b8a | ||
|
|
3f15fa365f | ||
|
|
a56ebb245e | ||
|
|
d300cdb58f | ||
|
|
d88a1cd2d6 | ||
|
|
3070b38d2e | ||
|
|
38db3b35aa | ||
|
|
c4447adf8c | ||
|
|
0b91d3cecc | ||
|
|
3b3d20f250 | ||
|
|
0376e7f4b8 | ||
|
|
77f43fbde0 | ||
|
|
e203508c42 | ||
|
|
8b6745763a | ||
|
|
8c4b2ade88 | ||
|
|
4e5f2ff05f | ||
|
|
fd1b62fc8d | ||
|
|
f53d17eab7 | ||
|
|
c3b3f762eb | ||
|
|
d288603c07 | ||
|
|
e61682ef46 | ||
|
|
3b228bb58b | ||
|
|
b62c41ce57 | ||
|
|
a4397e9cec | ||
|
|
981d69706c | ||
|
|
0a4683d8a6 | ||
|
|
43f6284ada | ||
|
|
8cf6297560 | ||
|
|
1f42d7dff0 | ||
|
|
abbf18e1dc | ||
|
|
102f3bba8e | ||
|
|
8faba7bdf2 | ||
|
|
d41d21f8e1 | ||
|
|
298cd6245c | ||
|
|
8bd88c4845 | ||
|
|
e3bf76d8e2 | ||
|
|
3445d5be21 | ||
|
|
a838ba3000 | ||
|
|
15b655413d | ||
|
|
2418c61498 | ||
|
|
dfacbf9e32 | ||
|
|
85f5b69d6e | ||
|
|
08797da53d | ||
|
|
d3bd2c3a08 | ||
|
|
1086c0e5cd | ||
|
|
60df0761a5 | ||
|
|
650d878649 | ||
|
|
06f399c76d | ||
|
|
7c5b60474f | ||
|
|
d81f92f2e2 | ||
|
|
1a8038e51d | ||
|
|
54a6ce8391 | ||
|
|
b1c38d766f | ||
|
|
f44e24aec1 | ||
|
|
325dcf901a | ||
|
|
77e1da8318 | ||
|
|
b0a58d8524 | ||
|
|
623c3bfc2e | ||
|
|
5cd6cf79a2 | ||
|
|
e1d54fa992 | ||
|
|
b1c481c4d1 | ||
|
|
64821e4ec5 | ||
|
|
88585fb192 | ||
|
|
25f5d5f4fd | ||
|
|
d0d33ce2c8 | ||
|
|
32d8791fe9 | ||
|
|
e76f42a706 | ||
|
|
32f4e471cf | ||
|
|
dd86a0fb00 | ||
|
|
a603597b20 | ||
|
|
23b14e8730 | ||
|
|
c4a7650e39 | ||
|
|
c4bb5fa523 | ||
|
|
fa684d265d | ||
|
|
3eeaad17f0 | ||
|
|
8d2697ffc6 | ||
|
|
150ba308e9 | ||
|
|
ce18cfdf2a | ||
|
|
17bccc0dea | ||
|
|
f8b7a6fef5 | ||
|
|
a68f7e8936 | ||
|
|
74ef50af49 | ||
|
|
70698cf4ec | ||
|
|
9bed679568 | ||
|
|
99595caee5 | ||
|
|
b39018e454 | ||
|
|
08bed5d668 | ||
|
|
b78868397c | ||
|
|
cbb4553fc0 | ||
|
|
3ddd661fb5 | ||
|
|
4e8f2c3040 | ||
|
|
52ee4b923a | ||
|
|
166fcce8ba | ||
|
|
92072904e6 | ||
|
|
9ace2fe07b | ||
|
|
8913b42803 | ||
|
|
253a3afbdd | ||
|
|
af2907b946 | ||
|
|
02a0c4760a | ||
|
|
e9899fce8e | ||
|
|
63a9f9ca90 | ||
|
|
b5364e1619 | ||
|
|
742dcb8f41 | ||
|
|
dda90c85a4 | ||
|
|
16455da39f | ||
|
|
b69e3969cb | ||
|
|
14c904b214 | ||
|
|
0d12c31393 | ||
|
|
d6b3482ce2 | ||
|
|
f4eb6318cc | ||
|
|
c8b421d43e | ||
|
|
87280a0e21 | ||
|
|
96d3f83933 | ||
|
|
bb3eddb021 | ||
|
|
59c403603b | ||
|
|
fd7d732762 | ||
|
|
fc8fe60613 | ||
|
|
2acf49a12b | ||
|
|
2f6799470c | ||
|
|
507cd1f17e | ||
|
|
f1a8716832 | ||
|
|
f99aad5a18 | ||
|
|
caa816beec | ||
|
|
605ba186d6 | ||
|
|
8fa14659be | ||
|
|
e1fe8c2ed5 | ||
|
|
2e73051b81 | ||
|
|
1a61ed5d85 | ||
|
|
9ad8550449 | ||
|
|
8422c2bf3c | ||
|
|
bf2e6b2787 | ||
|
|
9e01d51520 | ||
|
|
07b92bf876 | ||
|
|
4863c4a8f3 | ||
|
|
9def8de5a8 | ||
|
|
f08968800e | ||
|
|
d8dee5905d | ||
|
|
c2768ae40a | ||
|
|
a4a852ede8 | ||
|
|
ede1e289ce | ||
|
|
d211dd4aeb | ||
|
|
20c1dbd00a | ||
|
|
fa02384808 | ||
|
|
dd4f2fcc35 | ||
|
|
1b2708f4b0 | ||
|
|
7c9e2bfe3c | ||
|
|
13365488b4 | ||
|
|
02f564f7ed | ||
|
|
0222e6ecd5 | ||
|
|
df91290a18 | ||
|
|
57618417a1 | ||
|
|
5e3c47a433 | ||
|
|
b30622c1b9 | ||
|
|
eb651212e6 | ||
|
|
78aa686699 | ||
|
|
156217c3ae | ||
|
|
644ef388de | ||
|
|
71eac7078e | ||
|
|
511dd41d30 | ||
|
|
f24b3ee09b | ||
|
|
3b6321383e | ||
|
|
8888fd5884 | ||
|
|
0accfe4a26 |
@ -1,9 +1,7 @@
|
|||||||
variables:
|
variables:
|
||||||
FLUTTER_VERSION: 3.7.7
|
FLUTTER_VERSION: 3.10.0
|
||||||
|
|
||||||
image:
|
image: ghcr.io/cirruslabs/flutter:${FLUTTER_VERSION}
|
||||||
name: cirrusci/flutter:${FLUTTER_VERSION}
|
|
||||||
pull_policy: if-not-present
|
|
||||||
|
|
||||||
.shared_windows_runners:
|
.shared_windows_runners:
|
||||||
tags:
|
tags:
|
||||||
@ -18,23 +16,25 @@ stages:
|
|||||||
|
|
||||||
code_analyze:
|
code_analyze:
|
||||||
stage: test
|
stage: test
|
||||||
script: [ ./scripts/code_analyze.sh ]
|
script:
|
||||||
|
- flutter pub get
|
||||||
|
- dart run import_sorter:main --no-comments --exit-if-changed
|
||||||
|
- dart format lib/ test/ --set-exit-if-changed
|
||||||
|
- flutter analyze
|
||||||
|
- git apply ./scripts/enable-android-google-services.patch
|
||||||
|
- flutter pub get
|
||||||
|
- flutter analyze
|
||||||
|
- flutter pub run dart_code_metrics:metrics lib -r gitlab > code-quality-report.json || true
|
||||||
artifacts:
|
artifacts:
|
||||||
reports:
|
reports:
|
||||||
codequality: code-quality-report.json
|
codequality: code-quality-report.json
|
||||||
tags:
|
|
||||||
- docker
|
|
||||||
- famedly
|
|
||||||
|
|
||||||
widget_test:
|
widget_test:
|
||||||
stage: test
|
stage: test
|
||||||
script: [flutter test]
|
script: [flutter test]
|
||||||
tags:
|
|
||||||
- docker
|
|
||||||
- famedly
|
|
||||||
|
|
||||||
# the basic integration test configuration testing FLOSS builds on Synapse
|
# the basic integration test configuration testing FLOSS builds on Synapse
|
||||||
integration_test:
|
.integration_test:
|
||||||
image: registry.gitlab.com/famedly/company/frontend/flutter-dockerimages/integration/stable:${FLUTTER_VERSION}
|
image: registry.gitlab.com/famedly/company/frontend/flutter-dockerimages/integration/stable:${FLUTTER_VERSION}
|
||||||
stage: test
|
stage: test
|
||||||
services:
|
services:
|
||||||
@ -74,9 +74,8 @@ integration_test:
|
|||||||
- ffmpeg -i video.mkv -vf scale=iw/2:-2 -crf 40 -b:v 2000k -preset fast video.mp4 || true
|
- ffmpeg -i video.mkv -vf scale=iw/2:-2 -crf 40 -b:v 2000k -preset fast video.mp4 || true
|
||||||
timeout: 30m
|
timeout: 30m
|
||||||
retry: 2
|
retry: 2
|
||||||
rules:
|
only:
|
||||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
- tags
|
||||||
when: always
|
|
||||||
artifacts:
|
artifacts:
|
||||||
when: always
|
when: always
|
||||||
paths:
|
paths:
|
||||||
@ -85,12 +84,10 @@ integration_test:
|
|||||||
- docker
|
- docker
|
||||||
- famedly
|
- famedly
|
||||||
|
|
||||||
|
|
||||||
# integration tests for Linux builds
|
# integration tests for Linux builds
|
||||||
### disabled because of Linux headless issues
|
### disabled because of Linux headless issues
|
||||||
.integration_test_linux:
|
.integration_test_linux:
|
||||||
image: cirrusci/flutter:${FLUTTER_VERSION}
|
extends: .integration_test
|
||||||
extends: integration_test
|
|
||||||
parallel:
|
parallel:
|
||||||
matrix:
|
matrix:
|
||||||
- HOMESERVER_IMPLEMENTATION:
|
- HOMESERVER_IMPLEMENTATION:
|
||||||
@ -104,8 +101,8 @@ integration_test:
|
|||||||
artifacts:
|
artifacts:
|
||||||
|
|
||||||
# extending the default tests to test the Google-flavored builds
|
# extending the default tests to test the Google-flavored builds
|
||||||
integration_test_proprietary:
|
.integration_test_proprietary:
|
||||||
extends: integration_test
|
extends: .integration_test
|
||||||
parallel:
|
parallel:
|
||||||
matrix:
|
matrix:
|
||||||
- HOMESERVER_IMPLEMENTATION:
|
- HOMESERVER_IMPLEMENTATION:
|
||||||
@ -137,6 +134,8 @@ release_mode_launches:
|
|||||||
# generate temporary release build configuration and ensure app launches
|
# generate temporary release build configuration and ensure app launches
|
||||||
- scripts/integration-check-release-build.sh
|
- scripts/integration-check-release-build.sh
|
||||||
timeout: 20m
|
timeout: 20m
|
||||||
|
only:
|
||||||
|
- tags
|
||||||
tags:
|
tags:
|
||||||
- docker
|
- docker
|
||||||
- famedly
|
- famedly
|
||||||
@ -145,13 +144,11 @@ build_web:
|
|||||||
stage: build
|
stage: build
|
||||||
before_script:
|
before_script:
|
||||||
[sudo apt update && sudo apt install curl -y, ./scripts/prepare-web.sh]
|
[sudo apt update && sudo apt install curl -y, ./scripts/prepare-web.sh]
|
||||||
script: [ ./scripts/build-web.sh ]
|
script:
|
||||||
|
- flutter build web --release --verbose --source-maps
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- build/web/
|
- build/web/
|
||||||
tags:
|
|
||||||
- docker
|
|
||||||
- famedly
|
|
||||||
|
|
||||||
# yes, we *do* build a Windows DLL on Linux. More reliable.
|
# yes, we *do* build a Windows DLL on Linux. More reliable.
|
||||||
build_olm_windows:
|
build_olm_windows:
|
||||||
@ -197,28 +194,28 @@ build_windows:
|
|||||||
|
|
||||||
build_android_debug:
|
build_android_debug:
|
||||||
stage: build
|
stage: build
|
||||||
script: [ ./scripts/build-android-debug.sh ]
|
script: [flutter build apk --debug]
|
||||||
artifacts:
|
artifacts:
|
||||||
when: on_success
|
when: on_success
|
||||||
paths:
|
paths:
|
||||||
- build/app/outputs/apk/debug/app-debug.apk
|
- build/app/outputs/apk/debug/app-debug.apk
|
||||||
except:
|
|
||||||
- main
|
|
||||||
- tags
|
|
||||||
tags:
|
tags:
|
||||||
- docker
|
- docker
|
||||||
- famedly
|
- famedly
|
||||||
|
except:
|
||||||
|
- main
|
||||||
|
- tags
|
||||||
|
|
||||||
build_android_apk:
|
build_android_apk:
|
||||||
stage: build
|
stage: build
|
||||||
before_script:
|
before_script:
|
||||||
- git apply ./scripts/enable-android-google-services.patch
|
- git apply ./scripts/enable-android-google-services.patch
|
||||||
- ./scripts/prepare-android-release.sh
|
- ./scripts/prepare-android-release.sh
|
||||||
script: [ ./scripts/build-android-apk.sh ]
|
script: [flutter build apk --release]
|
||||||
artifacts:
|
artifacts:
|
||||||
when: on_success
|
when: on_success
|
||||||
paths:
|
paths:
|
||||||
- build/android/app-release.apk
|
- build/app/outputs/apk/release/app-release.apk
|
||||||
tags:
|
tags:
|
||||||
- docker
|
- docker
|
||||||
- famedly
|
- famedly
|
||||||
@ -258,9 +255,6 @@ fdroid_repo:
|
|||||||
needs:
|
needs:
|
||||||
- "build_android_apk"
|
- "build_android_apk"
|
||||||
resource_group: playstore_release
|
resource_group: playstore_release
|
||||||
tags:
|
|
||||||
- docker
|
|
||||||
- famedly
|
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
only:
|
only:
|
||||||
- main
|
- main
|
||||||
@ -289,12 +283,11 @@ pages:
|
|||||||
|
|
||||||
build_linux_x86:
|
build_linux_x86:
|
||||||
stage: build
|
stage: build
|
||||||
image: registry.gitlab.com/famedly/company/frontend/flutter-dockerimages/flutter-linux/stable
|
image: registry.gitlab.com/famedly/company/frontend/flutter-dockerimages/flutter-linux/stable:${FLUTTER_VERSION}
|
||||||
before_script:
|
before_script:
|
||||||
[
|
- sudo apt-get update
|
||||||
sudo apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install keyboard-configuration -y && sudo apt-get install curl clang cmake ninja-build pkg-config libgtk-3-dev libblkid-dev liblzma-dev libjsoncpp-dev cmake-data libsecret-1-dev libsecret-1-0 librhash0 -y,
|
- sudo apt-get install curl clang cmake ninja-build pkg-config libgtk-3-dev libblkid-dev liblzma-dev libjsoncpp-dev cmake-data libsecret-1-dev libsecret-1-0 librhash0 -y
|
||||||
]
|
script: [flutter build linux --release]
|
||||||
script: [ ./scripts/build-linux.sh ]
|
|
||||||
tags:
|
tags:
|
||||||
- docker
|
- docker
|
||||||
- famedly
|
- famedly
|
||||||
@ -305,8 +298,9 @@ build_linux_x86:
|
|||||||
|
|
||||||
build_linux_arm64:
|
build_linux_arm64:
|
||||||
stage: build
|
stage: build
|
||||||
before_script: [ flutter upgrade ]
|
before_script:
|
||||||
script: [ ./scripts/build-linux.sh ]
|
- flutter upgrade $FLUTTER_VERSION --force
|
||||||
|
script: [flutter build linux --release]
|
||||||
tags: [docker_arm64]
|
tags: [docker_arm64]
|
||||||
only:
|
only:
|
||||||
- main
|
- main
|
||||||
@ -320,8 +314,6 @@ build_linux_arm64:
|
|||||||
update_dependencies:
|
update_dependencies:
|
||||||
stage: build
|
stage: build
|
||||||
needs: []
|
needs: []
|
||||||
tags:
|
|
||||||
- docker
|
|
||||||
only:
|
only:
|
||||||
- schedules
|
- schedules
|
||||||
variables:
|
variables:
|
||||||
@ -346,9 +338,6 @@ update_dependencies:
|
|||||||
.release:
|
.release:
|
||||||
stage: deploy
|
stage: deploy
|
||||||
image: curlimages/curl:latest
|
image: curlimages/curl:latest
|
||||||
tags:
|
|
||||||
- docker
|
|
||||||
- famedly
|
|
||||||
rules:
|
rules:
|
||||||
- if: '$CI_COMMIT_TAG =~ /^v\d+\.\d+\.\d+$/'
|
- if: '$CI_COMMIT_TAG =~ /^v\d+\.\d+\.\d+$/'
|
||||||
- if: '$CI_COMMIT_TAG =~ /^rc\d+\.\d+\.\d+-\d+$/'
|
- if: '$CI_COMMIT_TAG =~ /^rc\d+\.\d+\.\d+-\d+$/'
|
||||||
@ -361,29 +350,29 @@ upload_android:
|
|||||||
extends: .release
|
extends: .release
|
||||||
script:
|
script:
|
||||||
- |
|
- |
|
||||||
curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file build/android/app-release.apk ${PACKAGE_REGISTRY_URL}/fluffychat.apk
|
curl --fail-with-body --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file build/app/outputs/apk/release/app-release.apk ${PACKAGE_REGISTRY_URL}/fluffychat.apk
|
||||||
|
|
||||||
upload_web:
|
upload_web:
|
||||||
extends: .release
|
extends: .release
|
||||||
script:
|
script:
|
||||||
# workaround bug of Flutter engine
|
- tar czf package.tar.gz -C build/web/ .
|
||||||
- tar czf package.tar.gz --ignore-failed-read -C build/web/ .
|
|
||||||
- |
|
- |
|
||||||
curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file package.tar.gz ${PACKAGE_REGISTRY_URL}/fluffychat-web.tar.gz
|
curl --fail-with-body --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file package.tar.gz ${PACKAGE_REGISTRY_URL}/fluffychat-web.tar.gz
|
||||||
|
|
||||||
upload_linux_x86:
|
upload_linux_x86:
|
||||||
extends: .release
|
extends: .release
|
||||||
script:
|
script:
|
||||||
- tar czf package.tar.gz -C build/linux/x64/release/bundle/ .
|
- tar czf package.tar.gz -C build/linux/x64/release/bundle/ .
|
||||||
- |
|
- |
|
||||||
curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file package.tar.gz ${PACKAGE_REGISTRY_URL}/fluffychat-linux-x86.tar.gz
|
curl --fail-with-body --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file package.tar.gz ${PACKAGE_REGISTRY_URL}/fluffychat-linux-x86.tar.gz
|
||||||
|
|
||||||
upload_linux_arm64:
|
upload_linux_arm64:
|
||||||
extends: .release
|
extends: .release
|
||||||
script:
|
script:
|
||||||
- tar czf package.tar.gz -C build/linux/arm64/release/bundle/ .
|
- tar czf package.tar.gz -C build/linux/arm64/release/bundle/ .
|
||||||
- |
|
- |
|
||||||
curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file package.tar.gz ${PACKAGE_REGISTRY_URL}/fluffychat-linux-arm64.tar.gz
|
curl --fail-with-body --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file package.tar.gz ${PACKAGE_REGISTRY_URL}/fluffychat-linux-arm64.tar.gz
|
||||||
|
allow_failure: true
|
||||||
|
|
||||||
upload_windows:
|
upload_windows:
|
||||||
extends: .release
|
extends: .release
|
||||||
@ -393,8 +382,9 @@ upload_windows:
|
|||||||
- mv build/windows/runner/Release/fluffychat.msix fluffychat.msix
|
- mv build/windows/runner/Release/fluffychat.msix fluffychat.msix
|
||||||
- cd build/windows/runner/Release; zip -r ../../../../package.zip . ; cd -
|
- cd build/windows/runner/Release; zip -r ../../../../package.zip . ; cd -
|
||||||
- |
|
- |
|
||||||
curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file package.zip ${PACKAGE_REGISTRY_URL}/fluffychat-windows.zip
|
curl --fail-with-body --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file package.zip ${PACKAGE_REGISTRY_URL}/fluffychat-windows.zip
|
||||||
curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file fluffychat.msix ${PACKAGE_REGISTRY_URL}/fluffychat-windows.msix
|
curl --fail-with-body --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file fluffychat.msix ${PACKAGE_REGISTRY_URL}/fluffychat-windows.msix
|
||||||
|
allow_failure: true
|
||||||
|
|
||||||
deploy_playstore:
|
deploy_playstore:
|
||||||
stage: deploy
|
stage: deploy
|
||||||
|
|||||||
25
.metadata
25
.metadata
@ -4,7 +4,7 @@
|
|||||||
# This file should be version controlled.
|
# This file should be version controlled.
|
||||||
|
|
||||||
version:
|
version:
|
||||||
revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849
|
revision: d3d8effc686d73e0114d71abdcccef63fa1f25d2
|
||||||
channel: stable
|
channel: stable
|
||||||
|
|
||||||
project_type: app
|
project_type: app
|
||||||
@ -13,26 +13,11 @@ project_type: app
|
|||||||
migration:
|
migration:
|
||||||
platforms:
|
platforms:
|
||||||
- platform: root
|
- platform: root
|
||||||
create_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849
|
create_revision: d3d8effc686d73e0114d71abdcccef63fa1f25d2
|
||||||
base_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849
|
base_revision: d3d8effc686d73e0114d71abdcccef63fa1f25d2
|
||||||
- platform: android
|
|
||||||
create_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849
|
|
||||||
base_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849
|
|
||||||
- platform: ios
|
|
||||||
create_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849
|
|
||||||
base_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849
|
|
||||||
- platform: linux
|
|
||||||
create_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849
|
|
||||||
base_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849
|
|
||||||
- platform: macos
|
- platform: macos
|
||||||
create_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849
|
create_revision: d3d8effc686d73e0114d71abdcccef63fa1f25d2
|
||||||
base_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849
|
base_revision: d3d8effc686d73e0114d71abdcccef63fa1f25d2
|
||||||
- platform: web
|
|
||||||
create_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849
|
|
||||||
base_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849
|
|
||||||
- platform: windows
|
|
||||||
create_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849
|
|
||||||
base_revision: b8f7f1f9869bb2d116aa6a70dbeac61000b52849
|
|
||||||
|
|
||||||
# User provided section
|
# User provided section
|
||||||
|
|
||||||
|
|||||||
108
CHANGELOG.md
108
CHANGELOG.md
@ -1,3 +1,111 @@
|
|||||||
|
## v1.12.0
|
||||||
|
- Added translation using Weblate (Toki Pona) (Mæve Rey)
|
||||||
|
- Translated using Weblate (Arabic) (Rex_sa)
|
||||||
|
- Translated using Weblate (Chinese (Simplified)) (Eric)
|
||||||
|
- Translated using Weblate (Croatian) (Milo Ivir)
|
||||||
|
- Translated using Weblate (Estonian) (Priit Jõerüüt)
|
||||||
|
- Translated using Weblate (Galician) (josé m)
|
||||||
|
- Translated using Weblate (Indonesian) (Linerly)
|
||||||
|
- Translated using Weblate (Polish) (lauren n. liberda)
|
||||||
|
- Translated using Weblate (Romanian) (Riley)
|
||||||
|
- Translated using Weblate (Russian) (DarkCoder15)
|
||||||
|
- Translated using Weblate (Spanish) (José Muñoz)
|
||||||
|
- Translated using Weblate (Ukrainian) (Ihor Hordiichuk)
|
||||||
|
- build: Remove dependency overwrite for ffi (Krille)
|
||||||
|
- build: Update dependencies (Krille)
|
||||||
|
- builds: Change minsdkversion of Android from 16 to 19 (Krille)
|
||||||
|
- builds: Do not allow failure for linux x86 (Krille)
|
||||||
|
- builds: Do not use verbose mode on building linux (Krille)
|
||||||
|
- builds: Linux with flutter 3.10 (Krille)
|
||||||
|
- builds: Remove workaround for building linux arm64 (Krille)
|
||||||
|
- builds: Update file_picker to 5.3.0 (Krille)
|
||||||
|
- builds: Update flutter table html (Krille)
|
||||||
|
- builds: Update flutter_html (Krille)
|
||||||
|
- builds: migrate to dart 3.0/flutter 3.10 (lauren n. liberda)
|
||||||
|
- chore: Add missing blockquote style (Krille)
|
||||||
|
- chore: Allow failure in build linux for now (Krille)
|
||||||
|
- chore: Ask for storage persistence (Krille)
|
||||||
|
- chore: Clean unused translations (Malin Errenst)
|
||||||
|
- chore: Enhance room pills (Krille)
|
||||||
|
- chore: Minor code clean up (Krille)
|
||||||
|
- chore: Update flutter webrtc (Krille)
|
||||||
|
- chore: Upgrade to Flutter 3.10.1 (Malin Errenst)
|
||||||
|
- chore: change release curl calls to use --fail-with-body (Tim Flink)
|
||||||
|
- chore: update macOS icons and add build script (TheOneWithTheBraid)
|
||||||
|
- design: Replace anime images with neutral cupertino icons (Krille)
|
||||||
|
- feat: Add toggle to mute notifications from chat groups (fbievan)
|
||||||
|
- feat: Allow ruby tags in html (Krille)
|
||||||
|
- feat: Display progress value for initial sync (Krille)
|
||||||
|
- feat: Implement new error reporting tool when critical features break like playing audio or video messages or opening a chat (Krille)
|
||||||
|
- feat: clean up macOS build metadata (TheOneWithTheBraid)
|
||||||
|
- feat: set display information correctly (TheOneWithTheBraid)
|
||||||
|
- feat: update macOS build files (TheOneWithTheBraid)
|
||||||
|
- feat: update macOS build information for macOS Ventura (TheOneWithTheBraid)
|
||||||
|
- fix "Unhandled Exception: VRouter.of(context) was called with a context which does not contain a VRouter." (Lauren N. Liberda)
|
||||||
|
- fix: Broken arb file (Krille)
|
||||||
|
- fix: Do not unnecessary request all members in public rooms (Krille)
|
||||||
|
- fix: Remove wrong rendered linebreak in html (Krille)
|
||||||
|
- fix: Scroll down button (Krille)
|
||||||
|
- fix: Scroll up and scroll down buttons in chat list (Krille)
|
||||||
|
- fix: Scrolldown button (Krille)
|
||||||
|
- fix: Too long file name cause a render overflow (Skying)
|
||||||
|
- fix: Try to reload timeline on IOException (Krille)
|
||||||
|
- fix: User pills (Krille)
|
||||||
|
- fix: broken CI artifact uploads (TheOneWithTheBraid)
|
||||||
|
- fix: custom emote placeholder (TheOneWithTheBraid)
|
||||||
|
- fix: path of libolm (TheOneWithTheBraid)
|
||||||
|
- fix: Quick account switching (JHansen)
|
||||||
|
- fix: read reciepts (JHansen)
|
||||||
|
- perf: Use valuenotifier to not rebuild chatlist (Krille)
|
||||||
|
- refactor: Reimplement flutter matrix html locally (Krille)
|
||||||
|
- refactor: Update Roboto and Noto Emoji (The one with the Braid)
|
||||||
|
- refactor: Use AnimatedSize for FAB (Krille)
|
||||||
|
- refactor: Use DateTime for weekday localization (Malin Errenst)
|
||||||
|
|
||||||
|
## v1.11.2
|
||||||
|
- Translated using Weblate (Croatian) (Milo Ivir)
|
||||||
|
- Translated using Weblate (Dutch) (Jelv)
|
||||||
|
- Translated using Weblate (Estonian) (Priit Jõerüüt)
|
||||||
|
- Translated using Weblate (Galician) (josé m)
|
||||||
|
- Translated using Weblate (Polish) (Eryk Michalak)
|
||||||
|
- Translated using Weblate (Turkish) (Oğuz Ersen)
|
||||||
|
- Translated using Weblate (Ukrainian) (Ihor Hordiichuk)
|
||||||
|
- feat: Permission dialog before open link in browser (Krille)
|
||||||
|
- fix: Chats do not load (Krille)
|
||||||
|
|
||||||
|
## v1.11.1 - 2023-04-20
|
||||||
|
- fix: Download files on web and iOS with correct mimetype
|
||||||
|
|
||||||
|
## v1.11.0 - 2023-04-14
|
||||||
|
- feat: Add visual read marker (Krille)
|
||||||
|
- feat: Jump to last read event (Krille)
|
||||||
|
- feat: Use fragmented timeline to jump to event (Krille)
|
||||||
|
- feat: change to flutterwebauth2 (ShootingStarDragons)
|
||||||
|
- fix: Join public room (Krille)
|
||||||
|
- fix: Set fcm priority to max on android (Krille)
|
||||||
|
- refactor: CI scripts and old workarounds for build scripts (Krille)
|
||||||
|
- refactor: Client in ChatPage (Krille)
|
||||||
|
- refactor: Not nullable room in ChatPage (Krille)
|
||||||
|
- refactor: Switch to file_picker package and get rid of some dependency overrides (Krille)
|
||||||
|
- refactor: Use correct Matrix instance (Krille)
|
||||||
|
- style: Make emptypage logo bigger (Krille)
|
||||||
|
- style: Minor adjustments for modal bottom sheets (Krille)
|
||||||
|
- style: Move chats to top (Krille)
|
||||||
|
- style: Use SliverList for chatlist (Krille)
|
||||||
|
- refactor: Container -> SizedBox.shrink() (noob_tea)
|
||||||
|
- Translated using Weblate (Chinese (Simplified)) (Eric)
|
||||||
|
- Translated using Weblate (Dutch) (Jelv)
|
||||||
|
- Translated using Weblate (Estonian) (Priit Jõerüüt)
|
||||||
|
- Translated using Weblate (French) (Anne Onyme 017)
|
||||||
|
- Translated using Weblate (Galician) (josé m)
|
||||||
|
- Translated using Weblate (Indonesian) (Linerly)
|
||||||
|
- Translated using Weblate (Persian) (Parsa)
|
||||||
|
- Translated using Weblate (Persian) (Siavash)
|
||||||
|
- Translated using Weblate (Polish) (Luna)
|
||||||
|
- Translated using Weblate (Swedish) (Kristoffer Grundström)
|
||||||
|
- Translated using Weblate (Turkish) (Oğuz Ersen)
|
||||||
|
- Translated using Weblate (Ukrainian) (Ihor Hordiichuk)
|
||||||
|
|
||||||
## v1.10.0 - 2023-02-25
|
## v1.10.0 - 2023-02-25
|
||||||
- Added translation using Weblate (Thai) (Wphaoka)
|
- Added translation using Weblate (Thai) (Wphaoka)
|
||||||
- Added translation using Weblate (Tibetan) (Nathan Freitas)
|
- Added translation using Weblate (Tibetan) (Nathan Freitas)
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
FROM cirrusci/flutter as builder
|
FROM ghcr.io/cirruslabs/flutter as builder
|
||||||
RUN sudo apt update && sudo apt install curl -y
|
RUN sudo apt update && sudo apt install curl -y
|
||||||
COPY . /app
|
COPY . /app
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|||||||
@ -44,7 +44,7 @@ android {
|
|||||||
|
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId "chat.fluffy.fluffychat"
|
applicationId "chat.fluffy.fluffychat"
|
||||||
minSdkVersion 16
|
minSdkVersion 19
|
||||||
targetSdkVersion 31
|
targetSdkVersion 31
|
||||||
versionCode flutterVersionCode.toInteger()
|
versionCode flutterVersionCode.toInteger()
|
||||||
versionName flutterVersionName
|
versionName flutterVersionName
|
||||||
|
|||||||
@ -93,7 +93,8 @@
|
|||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
<activity android:name="com.linusu.flutter_web_auth.CallbackActivity"
|
<activity
|
||||||
|
android:name="com.linusu.flutter_web_auth_2.CallbackActivity"
|
||||||
android:exported="true">
|
android:exported="true">
|
||||||
<intent-filter android:label="flutter_web_auth">
|
<intent-filter android:label="flutter_web_auth">
|
||||||
<action android:name="android.intent.action.VIEW" />
|
<action android:name="android.intent.action.VIEW" />
|
||||||
|
|||||||
@ -27,6 +27,6 @@ subprojects {
|
|||||||
project.evaluationDependsOn(':app')
|
project.evaluationDependsOn(':app')
|
||||||
}
|
}
|
||||||
|
|
||||||
task clean(type: Delete) {
|
tasks.register("clean", Delete) {
|
||||||
delete rootProject.buildDir
|
delete rootProject.buildDir
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 51 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 44 KiB |
@ -11,7 +11,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"acceptedTheInvitation": "{username} قبل الدعوة",
|
"acceptedTheInvitation": "👍 {username} قبل الدعوة",
|
||||||
"@acceptedTheInvitation": {
|
"@acceptedTheInvitation": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -23,7 +23,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"activatedEndToEndEncryption": "{username} فعَّل تشفير طرف لطرف",
|
"activatedEndToEndEncryption": "🔐 تم تنشيط {username} التشفير من طرف إلى طرف",
|
||||||
"@activatedEndToEndEncryption": {
|
"@activatedEndToEndEncryption": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -62,11 +62,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"archivedRoom": "غرفة مؤرشفة",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"areGuestsAllowedToJoin": "هل يُسمح للزوار الدخول",
|
"areGuestsAllowedToJoin": "هل يُسمح للزوار الدخول",
|
||||||
"@areGuestsAllowedToJoin": {
|
"@areGuestsAllowedToJoin": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -271,12 +266,12 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"compareEmojiMatch": "تأكد من أن هذه الإيموجي تطابق الموجودة على الأجهزة الأخرى:",
|
"compareEmojiMatch": "يرجى مقارنة الرموز التعبيرية",
|
||||||
"@compareEmojiMatch": {
|
"@compareEmojiMatch": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"compareNumbersMatch": "تأكد من أن هذه الأرقام تطابق الموجودة على الأجهزة الأخرى:",
|
"compareNumbersMatch": "الرجاء مقارنة الأرقام",
|
||||||
"@compareNumbersMatch": {
|
"@compareNumbersMatch": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -325,7 +320,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"createdTheChat": "أنشأ {username} المحادثة",
|
"createdTheChat": "💬 أنشأ {username} الدردشة",
|
||||||
"@createdTheChat": {
|
"@createdTheChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -337,11 +332,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"crossSigningEnabled": "التأكد المتبادل مفعل",
|
|
||||||
"@crossSigningEnabled": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"currentlyActive": "نشطٌ حاليا",
|
"currentlyActive": "نشطٌ حاليا",
|
||||||
"@currentlyActive": {
|
"@currentlyActive": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -504,11 +494,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"friday": "الجمعة",
|
|
||||||
"@friday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"fromJoining": "من بعد الانضمام",
|
"fromJoining": "من بعد الانضمام",
|
||||||
"@fromJoining": {
|
"@fromJoining": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -616,7 +601,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"invitedUser": "{username} دعى {targetName}",
|
"invitedUser": "📩 {username} دعا {targetName}",
|
||||||
"@invitedUser": {
|
"@invitedUser": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -642,7 +627,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"joinedTheChat": "انضم {username} للمحادثة",
|
"joinedTheChat": "👋 انضم {username} إلى المحادثة",
|
||||||
"@joinedTheChat": {
|
"@joinedTheChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -654,12 +639,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"keysCached": "المفاتيح محفوظة على ذاكرة التخزين المؤقتة",
|
"kicked": "👞 {username} ركل {targetName}",
|
||||||
"@keysCached": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"kicked": "{username} طرد {targetName}",
|
|
||||||
"@kicked": {
|
"@kicked": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -667,7 +647,7 @@
|
|||||||
"targetName": {}
|
"targetName": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"kickedAndBanned": "{username} طرد وحظر {targetName}",
|
"kickedAndBanned": "🙅 {username} ركل وحظر {targetName}",
|
||||||
"@kickedAndBanned": {
|
"@kickedAndBanned": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -761,11 +741,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"monday": "الثلاثاء",
|
|
||||||
"@monday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"muteChat": "أكتم الماحدثة",
|
"muteChat": "أكتم الماحدثة",
|
||||||
"@muteChat": {
|
"@muteChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -776,7 +751,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"newMessageInFluffyChat": "رسالة جديدة في فلافي-شات",
|
"newMessageInFluffyChat": "💬 رسالة جديدة في FluffyChat",
|
||||||
"@newMessageInFluffyChat": {
|
"@newMessageInFluffyChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -826,7 +801,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"oopsSomethingWentWrong": "عذراً، هناك خطأ ما…",
|
"oopsSomethingWentWrong": "عفوا ، حدث خطأ ما …",
|
||||||
"@oopsSomethingWentWrong": {
|
"@oopsSomethingWentWrong": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -984,11 +959,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"saturday": "السبت",
|
|
||||||
"@saturday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"seenByUser": "رآه {username}",
|
"seenByUser": "رآه {username}",
|
||||||
"@seenByUser": {
|
"@seenByUser": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1047,35 +1017,35 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"sentAFile": "أرسلَ {username} ملفًا",
|
"sentAFile": "📁 أرسل {username} ملفا",
|
||||||
"@sentAFile": {
|
"@sentAFile": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"username": {}
|
"username": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"sentAnAudio": "أرسلَ {username} ملفًا صوتيًا",
|
"sentAnAudio": "🎤 أرسل {username} ملفا صوتيا",
|
||||||
"@sentAnAudio": {
|
"@sentAnAudio": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"username": {}
|
"username": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"sentAPicture": "أرسلَ {username} صورة",
|
"sentAPicture": "🖼️ {username} أرسل صورة",
|
||||||
"@sentAPicture": {
|
"@sentAPicture": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"username": {}
|
"username": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"sentASticker": "أرسلَ {username} ملصقا",
|
"sentASticker": "😊 أرسل {username} ملصقا",
|
||||||
"@sentASticker": {
|
"@sentASticker": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"username": {}
|
"username": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"sentAVideo": "أرسلَ {username} فيديو",
|
"sentAVideo": "🎥 أرسل {username} مقطع فيديو",
|
||||||
"@sentAVideo": {
|
"@sentAVideo": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -1153,11 +1123,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"sunday": "الأحد",
|
|
||||||
"@sunday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"systemTheme": "النظام",
|
"systemTheme": "النظام",
|
||||||
"@systemTheme": {
|
"@systemTheme": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1173,16 +1138,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"thisRoomHasBeenArchived": "أُرشِفت هته الغرفة.",
|
|
||||||
"@thisRoomHasBeenArchived": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"thursday": "الخميس",
|
|
||||||
"@thursday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"title": "فلافي-شات",
|
"title": "فلافي-شات",
|
||||||
"@title": {
|
"@title": {
|
||||||
"description": "Title for the application",
|
"description": "Title for the application",
|
||||||
@ -1194,11 +1149,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"tuesday": "الثلاثاء",
|
|
||||||
"@tuesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"unbannedUser": "ألغى {username} حظر {targetName}",
|
"unbannedUser": "ألغى {username} حظر {targetName}",
|
||||||
"@unbannedUser": {
|
"@unbannedUser": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1269,7 +1219,7 @@
|
|||||||
"username": {}
|
"username": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"userLeftTheChat": "غادر {username} المحادثة",
|
"userLeftTheChat": "🚪 {username} غادر الدردشة",
|
||||||
"@userLeftTheChat": {
|
"@userLeftTheChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -1359,11 +1309,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"wednesday": "الأربعاء",
|
|
||||||
"@wednesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"whoIsAllowedToJoinThisGroup": "من يسمح له الانضمام للمجموعة",
|
"whoIsAllowedToJoinThisGroup": "من يسمح له الانضمام للمجموعة",
|
||||||
"@whoIsAllowedToJoinThisGroup": {
|
"@whoIsAllowedToJoinThisGroup": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1411,8 +1356,6 @@
|
|||||||
},
|
},
|
||||||
"scanQrCode": "امسح رمز الاستجابة السريعة",
|
"scanQrCode": "امسح رمز الاستجابة السريعة",
|
||||||
"@scanQrCode": {},
|
"@scanQrCode": {},
|
||||||
"typeInInviteLinkManually": "اكتب رابط الدعوة...",
|
|
||||||
"@typeInInviteLinkManually": {},
|
|
||||||
"shareYourInviteLink": "شارك رابط الدعوة",
|
"shareYourInviteLink": "شارك رابط الدعوة",
|
||||||
"@shareYourInviteLink": {},
|
"@shareYourInviteLink": {},
|
||||||
"noMatrixServer": "{server1} ليس خادم ماتريكس، بدلًا منه أتريد استخدام {server2}؟",
|
"noMatrixServer": "{server1} ليس خادم ماتريكس، بدلًا منه أتريد استخدام {server2}؟",
|
||||||
@ -1549,11 +1492,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"discover": "اكتشف",
|
|
||||||
"@discover": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"directChats": "محادثات مباشرة",
|
"directChats": "محادثات مباشرة",
|
||||||
"@directChats": {
|
"@directChats": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1673,9 +1611,9 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"chatHasBeenAddedToThisSpace": "أُضيفت المحادثة الى هذا الفضاء",
|
"chatHasBeenAddedToThisSpace": "أُضيفت المحادثة الى هذا المساحة",
|
||||||
"@chatHasBeenAddedToThisSpace": {},
|
"@chatHasBeenAddedToThisSpace": {},
|
||||||
"chatBackup": "انسخ احتياطيًا المحادثة",
|
"chatBackup": "النسخ الاحتياطي للمحادثات",
|
||||||
"@chatBackup": {
|
"@chatBackup": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -1734,7 +1672,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"addToSpace": "أضفه لفضاء",
|
"addToSpace": "أضف إلى المساحة",
|
||||||
"@addToSpace": {},
|
"@addToSpace": {},
|
||||||
"addEmail": "أضف بريدًا إلكترونيًا",
|
"addEmail": "أضف بريدًا إلكترونيًا",
|
||||||
"@addEmail": {
|
"@addEmail": {
|
||||||
@ -1788,7 +1726,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"chatBackupDescription": "النسخ الاحتياطي لمحادثاتك مأمن بمفتاح، تأكد ألّا تفقده.",
|
"chatBackupDescription": "يتم تأمين رسائلك القديمة باستخدام مفتاح الاسترداد. يرجى التأكد من أنك لا تضيعه.",
|
||||||
"@chatBackupDescription": {
|
"@chatBackupDescription": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -1871,7 +1809,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"spaceIsPublic": "الفضاء عمومي",
|
"spaceIsPublic": "عام في المساحة",
|
||||||
"@spaceIsPublic": {
|
"@spaceIsPublic": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -1921,7 +1859,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"spaceName": "اسم الفضاء",
|
"spaceName": "اسم المساحة",
|
||||||
"@spaceName": {
|
"@spaceName": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -1956,7 +1894,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"wipeChatBackup": "أتريد حذف النسخ الاحتياطي للمحادثة لإنشاء مفتاح أمان جديد؟",
|
"wipeChatBackup": "مسح نسخة الدردشة الاحتياطية لإنشاء مفتاح استرداد جديد؟",
|
||||||
"@wipeChatBackup": {
|
"@wipeChatBackup": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -2052,8 +1990,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"yourUserId": "معرّف المستخدم:",
|
|
||||||
"@yourUserId": {},
|
|
||||||
"passwordsDoNotMatch": "كلمتا السر لا تتطبقان!",
|
"passwordsDoNotMatch": "كلمتا السر لا تتطبقان!",
|
||||||
"@passwordsDoNotMatch": {},
|
"@passwordsDoNotMatch": {},
|
||||||
"pleaseEnterValidEmail": "رجاءً أدخل بيردًا إلكترونيًا صالحًا.",
|
"pleaseEnterValidEmail": "رجاءً أدخل بيردًا إلكترونيًا صالحًا.",
|
||||||
@ -2067,7 +2003,7 @@
|
|||||||
"min": {}
|
"min": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"removeFromSpace": "أزل من الفضاء",
|
"removeFromSpace": "أزل من المساحة",
|
||||||
"@removeFromSpace": {},
|
"@removeFromSpace": {},
|
||||||
"unverified": "غير مؤكد",
|
"unverified": "غير مؤكد",
|
||||||
"@unverified": {},
|
"@unverified": {},
|
||||||
@ -2276,5 +2212,303 @@
|
|||||||
"pinMessage": "تثبيت في الغرفة",
|
"pinMessage": "تثبيت في الغرفة",
|
||||||
"@pinMessage": {},
|
"@pinMessage": {},
|
||||||
"confirmEventUnpin": "هل أنت متأكد من إلغاء تثبيت الحدث بشكل دائم؟",
|
"confirmEventUnpin": "هل أنت متأكد من إلغاء تثبيت الحدث بشكل دائم؟",
|
||||||
"@confirmEventUnpin": {}
|
"@confirmEventUnpin": {},
|
||||||
|
"fileHasBeenSavedAt": "تم حفظ الملف في {path}",
|
||||||
|
"@fileHasBeenSavedAt": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {
|
||||||
|
"path": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"user": "مستخدم",
|
||||||
|
"@user": {},
|
||||||
|
"custom": "مُخصّص",
|
||||||
|
"@custom": {},
|
||||||
|
"googlyEyesContent": "{senderName} يرسل لك عيون googly",
|
||||||
|
"@googlyEyesContent": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {
|
||||||
|
"senderName": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"widgetVideo": "فيديو",
|
||||||
|
"@widgetVideo": {},
|
||||||
|
"recoveryKeyLost": "هل فقدت مفتاح الاسترداد؟",
|
||||||
|
"@recoveryKeyLost": {},
|
||||||
|
"pleaseEnterRecoveryKeyDescription": "لإلغاء قفل رسائلك القديمة ، يرجى إدخال مفتاح الاسترداد الذي تم إنشاؤه في جلسة سابقة. مفتاح الاسترداد ليس كلمة المرور الخاصة بك.",
|
||||||
|
"@pleaseEnterRecoveryKeyDescription": {},
|
||||||
|
"confirmMatrixId": "يرجى تأكيد معرف Matrix الخاص بك من أجل حذف حسابك.",
|
||||||
|
"@confirmMatrixId": {},
|
||||||
|
"updateNow": "ابدأ التحديث في الخلفية",
|
||||||
|
"@updateNow": {},
|
||||||
|
"supposedMxid": "يجب أن يكون هذا {mxid}",
|
||||||
|
"@supposedMxid": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {
|
||||||
|
"mxid": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hydrateTor": "مستخدمو تور: استيراد تصدير الجلسة",
|
||||||
|
"@hydrateTor": {},
|
||||||
|
"commandHint_googly": "أرسل بعض عيون googly",
|
||||||
|
"@commandHint_googly": {},
|
||||||
|
"commandHint_cuddle": "أرسل عناق",
|
||||||
|
"@commandHint_cuddle": {},
|
||||||
|
"commandHint_hug": "إرسال حضن",
|
||||||
|
"@commandHint_hug": {},
|
||||||
|
"cuddleContent": "{senderName} يحتضنك",
|
||||||
|
"@cuddleContent": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {
|
||||||
|
"senderName": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"unlockOldMessages": "إلغاء قفل الرسائل القديمة",
|
||||||
|
"@unlockOldMessages": {},
|
||||||
|
"commandHint_markasdm": "وضع علامة كغرفة رسائل مباشرة",
|
||||||
|
"@commandHint_markasdm": {},
|
||||||
|
"allRooms": "جميع الدردشات الجماعية",
|
||||||
|
"@allRooms": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {}
|
||||||
|
},
|
||||||
|
"discover": "اكتشف",
|
||||||
|
"@discover": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {}
|
||||||
|
},
|
||||||
|
"dehydrate": "تصدير الجلسة ومسح الجهاز",
|
||||||
|
"@dehydrate": {},
|
||||||
|
"dehydrateWarning": "لا يمكن التراجع عن هذا الإجراء. تأكد من تخزين ملف النسخ الاحتياطي بأمان.",
|
||||||
|
"@dehydrateWarning": {},
|
||||||
|
"dehydrateTorLong": "بالنسبة لمستخدمي تور ، يوصى بتصدير الجلسة قبل إغلاق النافذة.",
|
||||||
|
"@dehydrateTorLong": {},
|
||||||
|
"dehydrateTor": "مستخدمو تور: تصدير الجلسة",
|
||||||
|
"@dehydrateTor": {},
|
||||||
|
"hydrate": "استعادة من ملف النسخ الاحتياطي",
|
||||||
|
"@hydrate": {},
|
||||||
|
"pleaseEnterRecoveryKey": "الرجاء إدخال مفتاح الاسترداد:",
|
||||||
|
"@pleaseEnterRecoveryKey": {},
|
||||||
|
"recoveryKey": "مفتاح الاسترداد",
|
||||||
|
"@recoveryKey": {},
|
||||||
|
"showDirectChatsInSpaces": "عرض الدردشات المباشرة ذات الصلة في المساحات",
|
||||||
|
"@showDirectChatsInSpaces": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {}
|
||||||
|
},
|
||||||
|
"startFirstChat": "ابدأ محادثتك الأولى",
|
||||||
|
"@startFirstChat": {},
|
||||||
|
"widgetCustom": "مُخصّص",
|
||||||
|
"@widgetCustom": {},
|
||||||
|
"widgetNameError": "يرجى تقديم اسم العرض.",
|
||||||
|
"@widgetNameError": {},
|
||||||
|
"errorAddingWidget": "خطأ في إضافة الأداة.",
|
||||||
|
"@errorAddingWidget": {},
|
||||||
|
"youRejectedTheInvitation": "لقد رفضت الدعوة",
|
||||||
|
"@youRejectedTheInvitation": {},
|
||||||
|
"youJoinedTheChat": "لقد انضممت إلى الدردشة",
|
||||||
|
"@youJoinedTheChat": {},
|
||||||
|
"youAcceptedTheInvitation": "👍 لقد قبلت الدعوة",
|
||||||
|
"@youAcceptedTheInvitation": {},
|
||||||
|
"youBannedUser": "لقد حظرت {user}",
|
||||||
|
"@youBannedUser": {
|
||||||
|
"placeholders": {
|
||||||
|
"user": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"youHaveWithdrawnTheInvitationFor": "لقد سحبت الدعوة لـ {user}",
|
||||||
|
"@youHaveWithdrawnTheInvitationFor": {
|
||||||
|
"placeholders": {
|
||||||
|
"user": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"youInvitedBy": "📩 لقد تمت دعوتك من قبل {user}",
|
||||||
|
"@youInvitedBy": {
|
||||||
|
"placeholders": {
|
||||||
|
"user": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"storeInAndroidKeystore": "تخزين في سجل مفاتيح اندرويد",
|
||||||
|
"@storeInAndroidKeystore": {},
|
||||||
|
"storeInAppleKeyChain": "تخزين في سلسلة مفاتيح ابل",
|
||||||
|
"@storeInAppleKeyChain": {},
|
||||||
|
"storeSecurlyOnThisDevice": "احفظه بأمان على هذا الجهاز",
|
||||||
|
"@storeSecurlyOnThisDevice": {},
|
||||||
|
"countFiles": "ملفات {count}",
|
||||||
|
"@countFiles": {
|
||||||
|
"placeholders": {
|
||||||
|
"count": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"foregroundServiceRunning": "يظهر هذا الإشعار عند تشغيل الخدمة الأمامية.",
|
||||||
|
"@foregroundServiceRunning": {},
|
||||||
|
"screenSharingTitle": "مشاركة الشاشة",
|
||||||
|
"@screenSharingTitle": {},
|
||||||
|
"appearOnTop": "يظهر في الأعلى",
|
||||||
|
"@appearOnTop": {},
|
||||||
|
"otherCallingPermissions": "الميكروفون والكاميرا وأذونات FluffyChat الأخرى",
|
||||||
|
"@otherCallingPermissions": {},
|
||||||
|
"enterSpace": "أدخل المساحة",
|
||||||
|
"@enterSpace": {},
|
||||||
|
"enterRoom": "أدخل الغرفة",
|
||||||
|
"@enterRoom": {},
|
||||||
|
"deviceKeys": "مفاتيح الجهاز:",
|
||||||
|
"@deviceKeys": {},
|
||||||
|
"letsStart": "لنبدأ",
|
||||||
|
"@letsStart": {},
|
||||||
|
"updateAvailable": "يتوفر تحديث FluffyChat",
|
||||||
|
"@updateAvailable": {},
|
||||||
|
"whyIsThisMessageEncrypted": "لماذا هذه الرسالة غير قابلة للقراءة؟",
|
||||||
|
"@whyIsThisMessageEncrypted": {},
|
||||||
|
"nextAccount": "الحساب التالي",
|
||||||
|
"@nextAccount": {},
|
||||||
|
"previousAccount": "الحساب السابق",
|
||||||
|
"@previousAccount": {},
|
||||||
|
"encryptThisChat": "تشفير هذه الدردشة",
|
||||||
|
"@encryptThisChat": {},
|
||||||
|
"screenSharingDetail": "أنت تشارك شاشتك في FuffyChat",
|
||||||
|
"@screenSharingDetail": {},
|
||||||
|
"hideUnimportantStateEvents": "إخفاء أحداث الحالة غير المهمة",
|
||||||
|
"@hideUnimportantStateEvents": {},
|
||||||
|
"newGroup": "مجموعة جديدة",
|
||||||
|
"@newGroup": {},
|
||||||
|
"youKicked": "👞 لقد ركلت {user}",
|
||||||
|
"@youKicked": {
|
||||||
|
"placeholders": {
|
||||||
|
"user": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"newSpace": "مساحة جديدة",
|
||||||
|
"@newSpace": {},
|
||||||
|
"commandHint_markasgroup": "وضع علامة كمجموعة",
|
||||||
|
"@commandHint_markasgroup": {},
|
||||||
|
"separateChatTypes": "الدردشات المباشرة والمجموعات المنفصلة",
|
||||||
|
"@separateChatTypes": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {}
|
||||||
|
},
|
||||||
|
"hugContent": "{senderName} يعانقك",
|
||||||
|
"@hugContent": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {
|
||||||
|
"senderName": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hydrateTorLong": "هل قمت بتصدير جلستك الأخيرة على تور؟ قم باستيراده بسرعة واستمر في الدردشة.",
|
||||||
|
"@hydrateTorLong": {},
|
||||||
|
"widgetUrlError": "هذا ليس عنوان URL صالحًا.",
|
||||||
|
"@widgetUrlError": {},
|
||||||
|
"stories": "القصص",
|
||||||
|
"@stories": {},
|
||||||
|
"indexedDbErrorTitle": "مشاكل الوضع الخاص",
|
||||||
|
"@indexedDbErrorTitle": {},
|
||||||
|
"indexedDbErrorLong": "للأسف ، لم يتم تمكين تخزين الرسائل في الوضع الخاص افتراضيا.\nيرجى زيارة\n - حول:التكوين\n - تعيين dom.indexedDB.privateBrowsing.enabled إلى true\nخلاف ذلك ، لا يمكن تشغيل FluffyChat.",
|
||||||
|
"@indexedDbErrorLong": {},
|
||||||
|
"switchToAccount": "التبديل إلى الحساب {number}",
|
||||||
|
"@switchToAccount": {
|
||||||
|
"type": "number",
|
||||||
|
"placeholders": {
|
||||||
|
"number": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"editWidgets": "تحرير الأدوات",
|
||||||
|
"@editWidgets": {},
|
||||||
|
"addWidget": "إضافة اداة",
|
||||||
|
"@addWidget": {},
|
||||||
|
"widgetEtherpad": "ملاحظة نصية",
|
||||||
|
"@widgetEtherpad": {},
|
||||||
|
"youKickedAndBanned": "🙅 لقد ركلت وحظرت {user}",
|
||||||
|
"@youKickedAndBanned": {
|
||||||
|
"placeholders": {
|
||||||
|
"user": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"youUnbannedUser": "قمت بإلغاء الحظر {user}",
|
||||||
|
"@youUnbannedUser": {
|
||||||
|
"placeholders": {
|
||||||
|
"user": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"saveKeyManuallyDescription": "احفظ هذا المفتاح يدويا عن طريق تشغيل مربع حوار مشاركة النظام أو الحافظة.",
|
||||||
|
"@saveKeyManuallyDescription": {},
|
||||||
|
"widgetJitsi": "اجتماعات جيتسي",
|
||||||
|
"@widgetJitsi": {},
|
||||||
|
"youInvitedUser": "📩 قمت بدعوة {user}",
|
||||||
|
"@youInvitedUser": {
|
||||||
|
"placeholders": {
|
||||||
|
"user": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"noEmailWarning": "الرجاء إدخال عنوان بريد إلكتروني صالح. وإلا فلن تتمكن من إعادة تعيين كلمة المرور الخاصة بك. إذا كنت لا ترغب في ذلك ، فانقر مرة أخرى على الزر للمتابعة.",
|
||||||
|
"@noEmailWarning": {},
|
||||||
|
"storeInSecureStorageDescription": "قم بتخزين مفتاح الاسترداد في التخزين الآمن لهذا الجهاز.",
|
||||||
|
"@storeInSecureStorageDescription": {},
|
||||||
|
"widgetName": "الاسم",
|
||||||
|
"@widgetName": {},
|
||||||
|
"users": "المستخدمون",
|
||||||
|
"@users": {},
|
||||||
|
"callingPermissions": "أذونات الاتصال",
|
||||||
|
"@callingPermissions": {},
|
||||||
|
"callingAccount": "الاتصال بالحساب",
|
||||||
|
"@callingAccount": {},
|
||||||
|
"callingAccountDetails": "يسمح لـ FluffyChat باستخدام تطبيق android Dialer الأصلي.",
|
||||||
|
"@callingAccountDetails": {},
|
||||||
|
"appearOnTopDetails": "يسمح للتطبيق بالظهور في الأعلى (ليست هناك حاجة إذا قمت بالفعل بإعداد Fluffychat كحساب اتصال)",
|
||||||
|
"@appearOnTopDetails": {},
|
||||||
|
"numChats": "{number} الدردشات",
|
||||||
|
"@numChats": {
|
||||||
|
"type": "number",
|
||||||
|
"placeholders": {
|
||||||
|
"number": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"jump": "قفز",
|
||||||
|
"@jump": {},
|
||||||
|
"report": "تقرير",
|
||||||
|
"@report": {},
|
||||||
|
"noKeyForThisMessage": "يمكن أن يحدث هذا إذا تم إرسال الرسالة قبل تسجيل الدخول إلى حسابك على هذا الجهاز.\n\nمن الممكن أيضا أن يكون المرسل قد حظر جهازك أو حدث خطأ ما في الاتصال بالإنترنت.\n\nهل يمكنك قراءة الرسالة في جلسة أخرى؟ ثم يمكنك نقل الرسالة منه! انتقل إلى الإعدادات > الأجهزة وتأكد من أن أجهزتك قد تحققت من بعضها البعض. عندما تفتح الغرفة في المرة التالية وتكون كلتا الجلستين في المقدمة ، سيتم إرسال المفاتيح تلقائيا.\n\nألا تريد أن تفقد المفاتيح عند تسجيل الخروج أو تبديل الأجهزة؟ تأكد من تمكين النسخ الاحتياطي للدردشة في الإعدادات.",
|
||||||
|
"@noKeyForThisMessage": {},
|
||||||
|
"endToEndEncryption": "التشفير من طرف إلى طرف",
|
||||||
|
"@endToEndEncryption": {},
|
||||||
|
"allSpaces": "كل المساحات",
|
||||||
|
"@allSpaces": {},
|
||||||
|
"doNotShowAgain": "لا تظهر مرة أخرى",
|
||||||
|
"@doNotShowAgain": {},
|
||||||
|
"wasDirectChatDisplayName": "محادثة فارغة (كانت {oldDisplayName})",
|
||||||
|
"@wasDirectChatDisplayName": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {
|
||||||
|
"oldDisplayName": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"disableEncryptionWarning": "لأسباب أمنية ، لا يمكنك تعطيل التشفير في الدردشة ، حيث تم تمكينه من قبل.",
|
||||||
|
"@disableEncryptionWarning": {},
|
||||||
|
"reportErrorDescription": "اوه لا. حدث خطأ ما. يرجى إعادة المحاولة لاحقا. إذا كنت ترغب في ذلك ، يمكنك الإبلاغ عن الخطأ للمطورين.",
|
||||||
|
"@reportErrorDescription": {},
|
||||||
|
"newSpaceDescription": "يسمح لك تطبيق المساحات بتوحيد دردشاتك وبناء مجتمعات خاصة أو عامة.",
|
||||||
|
"@newSpaceDescription": {},
|
||||||
|
"sorryThatsNotPossible": "معذرة... هذا غير ممكن",
|
||||||
|
"@sorryThatsNotPossible": {},
|
||||||
|
"openLinkInBrowser": "فتح الرابط في المتصفح",
|
||||||
|
"@openLinkInBrowser": {},
|
||||||
|
"enterInviteLinkOrMatrixId": "أدخل رابط الدعوة أو معرف المصفوفة...",
|
||||||
|
"@enterInviteLinkOrMatrixId": {},
|
||||||
|
"reopenChat": "إعادة فتح الدردشة",
|
||||||
|
"@reopenChat": {},
|
||||||
|
"noBackupWarning": "تحذير! بدون تمكين النسخ الاحتياطي للدردشة ، ستفقد الوصول إلى رسائلك المشفرة. يوصى بشدة بتمكين النسخ الاحتياطي للدردشة أولاً قبل تسجيل الخروج.",
|
||||||
|
"@noBackupWarning": {},
|
||||||
|
"noOtherDevicesFound": "لم يتم العثور على أجهزة أخرى",
|
||||||
|
"@noOtherDevicesFound": {},
|
||||||
|
"fileIsTooBigForServer": "أبلغ الخادم أن الملف كبير جدًا بحيث لا يمكن إرساله.",
|
||||||
|
"@fileIsTooBigForServer": {},
|
||||||
|
"jumpToLastReadMessage": "الانتقال إلى آخر رسالة مقروءة",
|
||||||
|
"@jumpToLastReadMessage": {},
|
||||||
|
"readUpToHere": "اقرأ حتى هنا",
|
||||||
|
"@readUpToHere": {},
|
||||||
|
"signInWithPassword": "سجل الدخول بكلمة السر",
|
||||||
|
"@signInWithPassword": {},
|
||||||
|
"continueWith": "أكمل ب:",
|
||||||
|
"@continueWith": {},
|
||||||
|
"pleaseTryAgainLaterOrChooseDifferentServer": "رجاء حاول مجددا أو اختر خادما مختلفا.",
|
||||||
|
"@pleaseTryAgainLaterOrChooseDifferentServer": {}
|
||||||
}
|
}
|
||||||
@ -71,11 +71,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"archivedRoom": "Sala arxivada",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"areGuestsAllowedToJoin": "Accés dels usuaris convidats",
|
"areGuestsAllowedToJoin": "Accés dels usuaris convidats",
|
||||||
"@areGuestsAllowedToJoin": {
|
"@areGuestsAllowedToJoin": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -400,11 +395,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"crossSigningEnabled": "Signatura creuada activada",
|
|
||||||
"@crossSigningEnabled": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"currentlyActive": "Actiu actualment",
|
"currentlyActive": "Actiu actualment",
|
||||||
"@currentlyActive": {
|
"@currentlyActive": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -602,11 +592,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"friday": "divendres",
|
|
||||||
"@friday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"fromJoining": "Des de la unió",
|
"fromJoining": "Des de la unió",
|
||||||
"@fromJoining": {
|
"@fromJoining": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -772,11 +757,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"keysCached": "Les claus estan desades a la memòria cau",
|
|
||||||
"@keysCached": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"kicked": "{username} ha expulsat a {targetName}",
|
"kicked": "{username} ha expulsat a {targetName}",
|
||||||
"@kicked": {
|
"@kicked": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -906,11 +886,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"monday": "dilluns",
|
|
||||||
"@monday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"muteChat": "Silencia el xat",
|
"muteChat": "Silencia el xat",
|
||||||
"@muteChat": {
|
"@muteChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1201,11 +1176,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"saturday": "dissabte",
|
|
||||||
"@saturday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"security": "Seguretat",
|
"security": "Seguretat",
|
||||||
"@security": {
|
"@security": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1394,11 +1364,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"sunday": "diumenge",
|
|
||||||
"@sunday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"systemTheme": "Sistema",
|
"systemTheme": "Sistema",
|
||||||
"@systemTheme": {
|
"@systemTheme": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1414,16 +1379,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"thisRoomHasBeenArchived": "Aquesta sala ha estat arxivada.",
|
|
||||||
"@thisRoomHasBeenArchived": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"thursday": "dijous",
|
|
||||||
"@thursday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"title": "FluffyChat",
|
"title": "FluffyChat",
|
||||||
"@title": {
|
"@title": {
|
||||||
"description": "Title for the application",
|
"description": "Title for the application",
|
||||||
@ -1445,11 +1400,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"tuesday": "dimarts",
|
|
||||||
"@tuesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"unavailable": "No disponible",
|
"unavailable": "No disponible",
|
||||||
"@unavailable": {
|
"@unavailable": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1610,11 +1560,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"wednesday": "dimecres",
|
|
||||||
"@wednesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"weSentYouAnEmail": "Us hem enviat un missatge de correu electrònic",
|
"weSentYouAnEmail": "Us hem enviat un missatge de correu electrònic",
|
||||||
"@weSentYouAnEmail": {
|
"@weSentYouAnEmail": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1801,8 +1746,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"yourUserId": "El vostre id. d’usuari:",
|
|
||||||
"@yourUserId": {},
|
|
||||||
"enableEncryption": "Activa el xifratge",
|
"enableEncryption": "Activa el xifratge",
|
||||||
"@enableEncryption": {
|
"@enableEncryption": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2065,11 +2008,6 @@
|
|||||||
"supportedVersions": {}
|
"supportedVersions": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"discover": "Descobreix",
|
|
||||||
"@discover": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"editChatPermissions": "Edita els permisos del xat",
|
"editChatPermissions": "Edita els permisos del xat",
|
||||||
"@editChatPermissions": {
|
"@editChatPermissions": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
|
|||||||
@ -82,11 +82,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"archivedRoom": "Archivovaná místnost",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"areGuestsAllowedToJoin": "Mohou se připojit hosté",
|
"areGuestsAllowedToJoin": "Mohou se připojit hosté",
|
||||||
"@areGuestsAllowedToJoin": {
|
"@areGuestsAllowedToJoin": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -544,11 +539,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"crossSigningEnabled": "Křížové ověření je zapnuté",
|
|
||||||
"@crossSigningEnabled": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"currentlyActive": "Aktuálně aktivní",
|
"currentlyActive": "Aktuálně aktivní",
|
||||||
"@currentlyActive": {
|
"@currentlyActive": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -634,11 +624,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"discover": "Objevit",
|
|
||||||
"@discover": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"displaynameHasBeenChanged": "Přezdívka byla změněna",
|
"displaynameHasBeenChanged": "Přezdívka byla změněna",
|
||||||
"@displaynameHasBeenChanged": {
|
"@displaynameHasBeenChanged": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -805,11 +790,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"friday": "Pátek",
|
|
||||||
"@friday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"fromJoining": "Od vstupu",
|
"fromJoining": "Od vstupu",
|
||||||
"@fromJoining": {
|
"@fromJoining": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1000,11 +980,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"keysCached": "Klíče jsou uloženy v mezipaměti",
|
|
||||||
"@keysCached": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"kicked": "👞 {username} vyhodil/a {targetName}",
|
"kicked": "👞 {username} vyhodil/a {targetName}",
|
||||||
"@kicked": {
|
"@kicked": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1139,11 +1114,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"monday": "Pondělí",
|
|
||||||
"@monday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"muteChat": "Ztlumit chat",
|
"muteChat": "Ztlumit chat",
|
||||||
"@muteChat": {
|
"@muteChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1537,11 +1507,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"saturday": "Sobota",
|
|
||||||
"@saturday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"saveFile": "Uložit soubor",
|
"saveFile": "Uložit soubor",
|
||||||
"@saveFile": {
|
"@saveFile": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1780,11 +1745,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"sunday": "Neděle",
|
|
||||||
"@sunday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"synchronizingPleaseWait": "Synchronizace ... Čekejte prosím.",
|
"synchronizingPleaseWait": "Synchronizace ... Čekejte prosím.",
|
||||||
"@synchronizingPleaseWait": {
|
"@synchronizingPleaseWait": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1805,16 +1765,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"thisRoomHasBeenArchived": "Tato místnost byla archivována.",
|
|
||||||
"@thisRoomHasBeenArchived": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"thursday": "Čtvrtek",
|
|
||||||
"@thursday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"title": "FluffyChat",
|
"title": "FluffyChat",
|
||||||
"@title": {
|
"@title": {
|
||||||
"description": "Title for the application",
|
"description": "Title for the application",
|
||||||
@ -1851,11 +1801,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"tuesday": "Úterý",
|
|
||||||
"@tuesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"unavailable": "Nedostupní",
|
"unavailable": "Nedostupní",
|
||||||
"@unavailable": {
|
"@unavailable": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2026,11 +1971,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"wednesday": "Středa",
|
|
||||||
"@wednesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"weSentYouAnEmail": "Zaslali jsme vám e-mail",
|
"weSentYouAnEmail": "Zaslali jsme vám e-mail",
|
||||||
"@weSentYouAnEmail": {
|
"@weSentYouAnEmail": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2107,8 +2047,6 @@
|
|||||||
"@addToSpace": {},
|
"@addToSpace": {},
|
||||||
"scanQrCode": "Naskenujte QR kód",
|
"scanQrCode": "Naskenujte QR kód",
|
||||||
"@scanQrCode": {},
|
"@scanQrCode": {},
|
||||||
"typeInInviteLinkManually": "Ručně zadejte odkaz na pozvánku ...",
|
|
||||||
"@typeInInviteLinkManually": {},
|
|
||||||
"shareYourInviteLink": "Sdílejte váš odkaz na pozvání",
|
"shareYourInviteLink": "Sdílejte váš odkaz na pozvání",
|
||||||
"@shareYourInviteLink": {},
|
"@shareYourInviteLink": {},
|
||||||
"sendOnEnter": "Odeslat při vstupu",
|
"sendOnEnter": "Odeslat při vstupu",
|
||||||
@ -2127,8 +2065,6 @@
|
|||||||
"@link": {},
|
"@link": {},
|
||||||
"yourChatBackupHasBeenSetUp": "Vaše záloha chatu byla nastavena.",
|
"yourChatBackupHasBeenSetUp": "Vaše záloha chatu byla nastavena.",
|
||||||
"@yourChatBackupHasBeenSetUp": {},
|
"@yourChatBackupHasBeenSetUp": {},
|
||||||
"yourUserId": "Vaše uživatelské ID:",
|
|
||||||
"@yourUserId": {},
|
|
||||||
"editBundlesForAccount": "Upravit balíčky pro tento účet",
|
"editBundlesForAccount": "Upravit balíčky pro tento účet",
|
||||||
"@editBundlesForAccount": {},
|
"@editBundlesForAccount": {},
|
||||||
"enableMultiAccounts": "(BETA) Na tomto zařízení povolte více účtů",
|
"enableMultiAccounts": "(BETA) Na tomto zařízení povolte více účtů",
|
||||||
|
|||||||
@ -82,11 +82,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"archivedRoom": "Archivierter Raum",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"areGuestsAllowedToJoin": "Dürfen Gäste beitreten",
|
"areGuestsAllowedToJoin": "Dürfen Gäste beitreten",
|
||||||
"@areGuestsAllowedToJoin": {
|
"@areGuestsAllowedToJoin": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -539,11 +534,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"crossSigningEnabled": "Cross-Signing ist aktiviert",
|
|
||||||
"@crossSigningEnabled": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"currentlyActive": "Jetzt gerade online",
|
"currentlyActive": "Jetzt gerade online",
|
||||||
"@currentlyActive": {
|
"@currentlyActive": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -629,11 +619,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"discover": "Entdecken",
|
|
||||||
"@discover": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"displaynameHasBeenChanged": "Anzeigename wurde geändert",
|
"displaynameHasBeenChanged": "Anzeigename wurde geändert",
|
||||||
"@displaynameHasBeenChanged": {
|
"@displaynameHasBeenChanged": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -800,11 +785,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"friday": "Freitag",
|
|
||||||
"@friday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"fromJoining": "Ab dem Beitritt",
|
"fromJoining": "Ab dem Beitritt",
|
||||||
"@fromJoining": {
|
"@fromJoining": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -995,11 +975,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"keysCached": "Keys sind gecached",
|
|
||||||
"@keysCached": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"kicked": "👞 {username} hat {targetName} hinausgeworfen",
|
"kicked": "👞 {username} hat {targetName} hinausgeworfen",
|
||||||
"@kicked": {
|
"@kicked": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1134,11 +1109,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"monday": "Montag",
|
|
||||||
"@monday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"muteChat": "Stummschalten",
|
"muteChat": "Stummschalten",
|
||||||
"@muteChat": {
|
"@muteChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1524,11 +1494,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"saturday": "Samstag",
|
|
||||||
"@saturday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"saveFile": "Datei speichern",
|
"saveFile": "Datei speichern",
|
||||||
"@saveFile": {
|
"@saveFile": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1767,11 +1732,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"sunday": "Sonntag",
|
|
||||||
"@sunday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"synchronizingPleaseWait": "Synchronisiere... Bitte warten.",
|
"synchronizingPleaseWait": "Synchronisiere... Bitte warten.",
|
||||||
"@synchronizingPleaseWait": {
|
"@synchronizingPleaseWait": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1792,16 +1752,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"thisRoomHasBeenArchived": "Dieser Raum wurde archiviert.",
|
|
||||||
"@thisRoomHasBeenArchived": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"thursday": "Donnerstag",
|
|
||||||
"@thursday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"title": "FluffyChat",
|
"title": "FluffyChat",
|
||||||
"@title": {
|
"@title": {
|
||||||
"description": "Title for the application",
|
"description": "Title for the application",
|
||||||
@ -1838,11 +1788,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"tuesday": "Dienstag",
|
|
||||||
"@tuesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"unavailable": "Nicht verfügbar",
|
"unavailable": "Nicht verfügbar",
|
||||||
"@unavailable": {
|
"@unavailable": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2013,11 +1958,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"wednesday": "Mittwoch",
|
|
||||||
"@wednesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"weSentYouAnEmail": "Wir haben dir eine E-Mail gesendet",
|
"weSentYouAnEmail": "Wir haben dir eine E-Mail gesendet",
|
||||||
"@weSentYouAnEmail": {
|
"@weSentYouAnEmail": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2098,8 +2038,6 @@
|
|||||||
},
|
},
|
||||||
"scanQrCode": "QR-Code scannen",
|
"scanQrCode": "QR-Code scannen",
|
||||||
"@scanQrCode": {},
|
"@scanQrCode": {},
|
||||||
"typeInInviteLinkManually": "Einladungslink manuell eingeben ...",
|
|
||||||
"@typeInInviteLinkManually": {},
|
|
||||||
"shareYourInviteLink": "Teile deinen Einladungslink",
|
"shareYourInviteLink": "Teile deinen Einladungslink",
|
||||||
"@shareYourInviteLink": {},
|
"@shareYourInviteLink": {},
|
||||||
"chatHasBeenAddedToThisSpace": "Chat wurde zum Space hinzugefügt",
|
"chatHasBeenAddedToThisSpace": "Chat wurde zum Space hinzugefügt",
|
||||||
@ -2137,8 +2075,6 @@
|
|||||||
"@yourChatBackupHasBeenSetUp": {},
|
"@yourChatBackupHasBeenSetUp": {},
|
||||||
"unverified": "Unverifiziert",
|
"unverified": "Unverifiziert",
|
||||||
"@unverified": {},
|
"@unverified": {},
|
||||||
"yourUserId": "Deine Benutzer-ID:",
|
|
||||||
"@yourUserId": {},
|
|
||||||
"messageInfo": "Nachrichten-Info",
|
"messageInfo": "Nachrichten-Info",
|
||||||
"@messageInfo": {},
|
"@messageInfo": {},
|
||||||
"time": "Zeit",
|
"time": "Zeit",
|
||||||
@ -2376,8 +2312,6 @@
|
|||||||
"@recoveryKey": {},
|
"@recoveryKey": {},
|
||||||
"recoveryKeyLost": "Wiederherstellungsschlüssel verloren?",
|
"recoveryKeyLost": "Wiederherstellungsschlüssel verloren?",
|
||||||
"@recoveryKeyLost": {},
|
"@recoveryKeyLost": {},
|
||||||
"enableAutoBackups": "Aktiviere automatische Sicherungen",
|
|
||||||
"@enableAutoBackups": {},
|
|
||||||
"user": "Benutzer",
|
"user": "Benutzer",
|
||||||
"@user": {},
|
"@user": {},
|
||||||
"custom": "Benutzerdefiniert",
|
"custom": "Benutzerdefiniert",
|
||||||
@ -2390,8 +2324,6 @@
|
|||||||
"@dehydrate": {},
|
"@dehydrate": {},
|
||||||
"dehydrateWarning": "Diese Aktion kann nicht rückgängig gemacht werden. Stelle sicher, dass du die Sicherungsdatei sicher aufbewahrst.",
|
"dehydrateWarning": "Diese Aktion kann nicht rückgängig gemacht werden. Stelle sicher, dass du die Sicherungsdatei sicher aufbewahrst.",
|
||||||
"@dehydrateWarning": {},
|
"@dehydrateWarning": {},
|
||||||
"dehydrateShare": "Dies ist dein privater FluffyChat-Export. Stelle sicher, dass du ihn nicht verlierst und bewahre ihn privat auf.",
|
|
||||||
"@dehydrateShare": {},
|
|
||||||
"dehydrateTor": "TOR-Benutzer: Sitzung exportieren",
|
"dehydrateTor": "TOR-Benutzer: Sitzung exportieren",
|
||||||
"@dehydrateTor": {},
|
"@dehydrateTor": {},
|
||||||
"dehydrateTorLong": "Für TOR-Benutzer wird empfohlen, die Sitzung zu exportieren, bevor das Fenster geschlossen wird.",
|
"dehydrateTorLong": "Für TOR-Benutzer wird empfohlen, die Sitzung zu exportieren, bevor das Fenster geschlossen wird.",
|
||||||
@ -2502,8 +2434,6 @@
|
|||||||
"senderName": {}
|
"senderName": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"noSearchResult": "Keine Suchergebnisse.",
|
|
||||||
"@noSearchResult": {},
|
|
||||||
"startFirstChat": "Starte deinen ersten Chat",
|
"startFirstChat": "Starte deinen ersten Chat",
|
||||||
"@startFirstChat": {},
|
"@startFirstChat": {},
|
||||||
"deviceKeys": "Geräteschlüssel:",
|
"deviceKeys": "Geräteschlüssel:",
|
||||||
|
|||||||
1
assets/l10n/intl_el.arb
Normal file
1
assets/l10n/intl_el.arb
Normal file
@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
@ -134,11 +134,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"archivedRoom": "Archived Room",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"areGuestsAllowedToJoin": "Are guest users allowed to join",
|
"areGuestsAllowedToJoin": "Are guest users allowed to join",
|
||||||
"@areGuestsAllowedToJoin": {
|
"@areGuestsAllowedToJoin": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -388,8 +383,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"yourUserId": "Your user ID:",
|
|
||||||
"@yourUserId": {},
|
|
||||||
"yourChatBackupHasBeenSetUp": "Your chat backup has been set up.",
|
"yourChatBackupHasBeenSetUp": "Your chat backup has been set up.",
|
||||||
"@yourChatBackupHasBeenSetUp": {},
|
"@yourChatBackupHasBeenSetUp": {},
|
||||||
"chatBackup": "Chat backup",
|
"chatBackup": "Chat backup",
|
||||||
@ -633,11 +626,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"crossSigningEnabled": "Cross-signing on",
|
|
||||||
"@crossSigningEnabled": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"currentlyActive": "Currently active",
|
"currentlyActive": "Currently active",
|
||||||
"@currentlyActive": {
|
"@currentlyActive": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -723,6 +711,11 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
|
"allRooms": "All Group Chats",
|
||||||
|
"@allRooms": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {}
|
||||||
|
},
|
||||||
"discover": "Discover",
|
"discover": "Discover",
|
||||||
"@discover": {
|
"@discover": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -896,11 +889,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"friday": "Friday",
|
|
||||||
"@friday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"fromJoining": "From joining",
|
"fromJoining": "From joining",
|
||||||
"@fromJoining": {
|
"@fromJoining": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1091,11 +1079,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"keysCached": "Keys are cached",
|
|
||||||
"@keysCached": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"kicked": "👞 {username} kicked {targetName}",
|
"kicked": "👞 {username} kicked {targetName}",
|
||||||
"@kicked": {
|
"@kicked": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1160,8 +1143,6 @@
|
|||||||
"@dehydrate": {},
|
"@dehydrate": {},
|
||||||
"dehydrateWarning": "This action cannot be undone. Ensure you safely store the backup file.",
|
"dehydrateWarning": "This action cannot be undone. Ensure you safely store the backup file.",
|
||||||
"@dehydrateWarning": {},
|
"@dehydrateWarning": {},
|
||||||
"dehydrateShare": "This is your private FluffyChat export. Ensure you don't lose it and keep it private.",
|
|
||||||
"@dehydrateShare": {},
|
|
||||||
"dehydrateTor": "TOR Users: Export session",
|
"dehydrateTor": "TOR Users: Export session",
|
||||||
"@dehydrateTor": {},
|
"@dehydrateTor": {},
|
||||||
"dehydrateTorLong": "For TOR users, it is recommended to export the session before closing the window.",
|
"dehydrateTorLong": "For TOR users, it is recommended to export the session before closing the window.",
|
||||||
@ -1236,17 +1217,11 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"noSearchResult": "No matching search results.",
|
|
||||||
"moderator": "Moderator",
|
"moderator": "Moderator",
|
||||||
"@moderator": {
|
"@moderator": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"monday": "Monday",
|
|
||||||
"@monday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"muteChat": "Mute chat",
|
"muteChat": "Mute chat",
|
||||||
"@muteChat": {
|
"@muteChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1312,8 +1287,6 @@
|
|||||||
},
|
},
|
||||||
"shareYourInviteLink": "Share your invite link",
|
"shareYourInviteLink": "Share your invite link",
|
||||||
"@shareYourInviteLink": {},
|
"@shareYourInviteLink": {},
|
||||||
"typeInInviteLinkManually": "Type in invite link manually...",
|
|
||||||
"@typeInInviteLinkManually": {},
|
|
||||||
"scanQrCode": "Scan QR code",
|
"scanQrCode": "Scan QR code",
|
||||||
"@scanQrCode": {},
|
"@scanQrCode": {},
|
||||||
"none": "None",
|
"none": "None",
|
||||||
@ -1671,11 +1644,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"saturday": "Saturday",
|
|
||||||
"@saturday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"saveFile": "Save file",
|
"saveFile": "Save file",
|
||||||
"@saveFile": {
|
"@saveFile": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1929,11 +1897,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"sunday": "Sunday",
|
|
||||||
"@sunday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"synchronizingPleaseWait": "Synchronizing… Please wait.",
|
"synchronizingPleaseWait": "Synchronizing… Please wait.",
|
||||||
"@synchronizingPleaseWait": {
|
"@synchronizingPleaseWait": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1954,16 +1917,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"thisRoomHasBeenArchived": "This room has been archived.",
|
|
||||||
"@thisRoomHasBeenArchived": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"thursday": "Thursday",
|
|
||||||
"@thursday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"title": "FluffyChat",
|
"title": "FluffyChat",
|
||||||
"@title": {
|
"@title": {
|
||||||
"description": "Title for the application",
|
"description": "Title for the application",
|
||||||
@ -2000,11 +1953,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"tuesday": "Tuesday",
|
|
||||||
"@tuesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"unavailable": "Unavailable",
|
"unavailable": "Unavailable",
|
||||||
"@unavailable": {
|
"@unavailable": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2177,11 +2125,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"wednesday": "Wednesday",
|
|
||||||
"@wednesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"weSentYouAnEmail": "We sent you an email",
|
"weSentYouAnEmail": "We sent you an email",
|
||||||
"@weSentYouAnEmail": {
|
"@weSentYouAnEmail": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2436,8 +2379,6 @@
|
|||||||
"@stories": {},
|
"@stories": {},
|
||||||
"users": "Users",
|
"users": "Users",
|
||||||
"@users": {},
|
"@users": {},
|
||||||
"enableAutoBackups": "Enable auto backups",
|
|
||||||
"@enableAutoBackups": {},
|
|
||||||
"unlockOldMessages": "Unlock old messages",
|
"unlockOldMessages": "Unlock old messages",
|
||||||
"@unlockOldMessages": {},
|
"@unlockOldMessages": {},
|
||||||
"storeInSecureStorageDescription": "Store the recovery key in the secure storage of this device.",
|
"storeInSecureStorageDescription": "Store the recovery key in the secure storage of this device.",
|
||||||
@ -2519,5 +2460,21 @@
|
|||||||
"reopenChat": "Reopen chat",
|
"reopenChat": "Reopen chat",
|
||||||
"noBackupWarning": "Warning! Without enabling chat backup, you will lose access to your encrypted messages. It is highly recommended to enable the chat backup first before logging out.",
|
"noBackupWarning": "Warning! Without enabling chat backup, you will lose access to your encrypted messages. It is highly recommended to enable the chat backup first before logging out.",
|
||||||
"noOtherDevicesFound": "No other devices found",
|
"noOtherDevicesFound": "No other devices found",
|
||||||
"fileIsTooBigForServer": "The server reports that the file is too large to be sent."
|
"fileIsTooBigForServer": "The server reports that the file is too large to be sent.",
|
||||||
|
"fileHasBeenSavedAt": "File has been saved at {path}",
|
||||||
|
"@fileHasBeenSavedAt": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {
|
||||||
|
"path": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"jumpToLastReadMessage": "Jump to last read message",
|
||||||
|
"readUpToHere": "Read up to here",
|
||||||
|
"jump": "Jump",
|
||||||
|
"openLinkInBrowser": "Open link in browser",
|
||||||
|
"reportErrorDescription": "Oh no. Something went wrong. Please try again later. If you want, you can report the bug to the developers.",
|
||||||
|
"report": "report",
|
||||||
|
"signInWithPassword": "Sign in with password",
|
||||||
|
"continueWith": "Continue with:",
|
||||||
|
"pleaseTryAgainLaterOrChooseDifferentServer": "Please try again later or choose a different server."
|
||||||
}
|
}
|
||||||
|
|||||||
@ -81,11 +81,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"archivedRoom": "Arĥivita ĉambro",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"areGuestsAllowedToJoin": "Ĉu gastoj rajtas aliĝi",
|
"areGuestsAllowedToJoin": "Ĉu gastoj rajtas aliĝi",
|
||||||
"@areGuestsAllowedToJoin": {
|
"@areGuestsAllowedToJoin": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -533,11 +528,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"crossSigningEnabled": "Delegaj subskriboj estas ŝaltitaj",
|
|
||||||
"@crossSigningEnabled": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"currentlyActive": "Nun aktiva",
|
"currentlyActive": "Nun aktiva",
|
||||||
"@currentlyActive": {
|
"@currentlyActive": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -623,11 +613,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"discover": "Trovi",
|
|
||||||
"@discover": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"displaynameHasBeenChanged": "Prezenta nomo ŝanĝiĝis",
|
"displaynameHasBeenChanged": "Prezenta nomo ŝanĝiĝis",
|
||||||
"@displaynameHasBeenChanged": {
|
"@displaynameHasBeenChanged": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -794,11 +779,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"friday": "Vendredo",
|
|
||||||
"@friday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"fromJoining": "Ekde aliĝo",
|
"fromJoining": "Ekde aliĝo",
|
||||||
"@fromJoining": {
|
"@fromJoining": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -989,11 +969,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"keysCached": "Ŝlosiloj estas kaŝmemoritaj",
|
|
||||||
"@keysCached": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"kicked": "{username} forpelis uzanton {targetName}",
|
"kicked": "{username} forpelis uzanton {targetName}",
|
||||||
"@kicked": {
|
"@kicked": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1118,11 +1093,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"monday": "Lundo",
|
|
||||||
"@monday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"muteChat": "Silentigi babilon",
|
"muteChat": "Silentigi babilon",
|
||||||
"@muteChat": {
|
"@muteChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1503,11 +1473,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"saturday": "Sabato",
|
|
||||||
"@saturday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"saveFile": "Konservi dosieron",
|
"saveFile": "Konservi dosieron",
|
||||||
"@saveFile": {
|
"@saveFile": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1742,11 +1707,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"sunday": "Dimanĉo",
|
|
||||||
"@sunday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"synchronizingPleaseWait": "Spegulante… Bonvolu atendi.",
|
"synchronizingPleaseWait": "Spegulante… Bonvolu atendi.",
|
||||||
"@synchronizingPleaseWait": {
|
"@synchronizingPleaseWait": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1767,16 +1727,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"thisRoomHasBeenArchived": "Ĉi tiu ĉambro arĥiviĝis.",
|
|
||||||
"@thisRoomHasBeenArchived": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"thursday": "Ĵaŭdo",
|
|
||||||
"@thursday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"title": "FluffyChat",
|
"title": "FluffyChat",
|
||||||
"@title": {
|
"@title": {
|
||||||
"description": "Title for the application",
|
"description": "Title for the application",
|
||||||
@ -1813,11 +1763,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"tuesday": "Mardo",
|
|
||||||
"@tuesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"unavailable": "Nedisponeble",
|
"unavailable": "Nedisponeble",
|
||||||
"@unavailable": {
|
"@unavailable": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1988,11 +1933,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"wednesday": "Merkredo",
|
|
||||||
"@wednesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"weSentYouAnEmail": "Ni sendis retleteron al vi",
|
"weSentYouAnEmail": "Ni sendis retleteron al vi",
|
||||||
"@weSentYouAnEmail": {
|
"@weSentYouAnEmail": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
|
|||||||
@ -67,11 +67,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"archivedRoom": "Sala archivada",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"areGuestsAllowedToJoin": "¿Pueden unirse los usuarios visitantes?",
|
"areGuestsAllowedToJoin": "¿Pueden unirse los usuarios visitantes?",
|
||||||
"@areGuestsAllowedToJoin": {
|
"@areGuestsAllowedToJoin": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -329,12 +324,12 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"compareEmojiMatch": "Compare y asegúrese de que los siguientes emoji coincidan con los del otro dispositivo:",
|
"compareEmojiMatch": "Por favor compare los emojis",
|
||||||
"@compareEmojiMatch": {
|
"@compareEmojiMatch": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"compareNumbersMatch": "Compare y asegúrese de que los siguientes números coincidan con los del otro dispositivo:",
|
"compareNumbersMatch": "Por favor compare los números",
|
||||||
"@compareNumbersMatch": {
|
"@compareNumbersMatch": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -388,7 +383,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"createdTheChat": "{username} creó el chat",
|
"createdTheChat": "💬{username} creó el chat",
|
||||||
"@createdTheChat": {
|
"@createdTheChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -400,11 +395,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"crossSigningEnabled": "La confirmación cruzada está habilitada",
|
|
||||||
"@crossSigningEnabled": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"currentlyActive": "Actualmente activo",
|
"currentlyActive": "Actualmente activo",
|
||||||
"@currentlyActive": {
|
"@currentlyActive": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -592,11 +582,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"friday": "Viernes",
|
|
||||||
"@friday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"fromJoining": "Desde que se unió",
|
"fromJoining": "Desde que se unió",
|
||||||
"@fromJoining": {
|
"@fromJoining": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -714,7 +699,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"invitedUser": "{username} invitó a {targetName}",
|
"invitedUser": "📩{username} invitó a {targetName}",
|
||||||
"@invitedUser": {
|
"@invitedUser": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -740,7 +725,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"joinedTheChat": "{username} se unió al chat",
|
"joinedTheChat": "👋{username} se unió al chat",
|
||||||
"@joinedTheChat": {
|
"@joinedTheChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -752,11 +737,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"keysCached": "Las claves están en caché",
|
|
||||||
"@keysCached": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"kicked": "{username} echó a {targetName}",
|
"kicked": "{username} echó a {targetName}",
|
||||||
"@kicked": {
|
"@kicked": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -864,11 +844,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"monday": "Lunes",
|
|
||||||
"@monday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"muteChat": "Silenciar chat",
|
"muteChat": "Silenciar chat",
|
||||||
"@muteChat": {
|
"@muteChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1127,11 +1102,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"saturday": "Sábado",
|
|
||||||
"@saturday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"seenByUser": "Visto por {username}",
|
"seenByUser": "Visto por {username}",
|
||||||
"@seenByUser": {
|
"@seenByUser": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1306,11 +1276,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"sunday": "Domingo",
|
|
||||||
"@sunday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"systemTheme": "Sistema",
|
"systemTheme": "Sistema",
|
||||||
"@systemTheme": {
|
"@systemTheme": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1326,16 +1291,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"thisRoomHasBeenArchived": "Esta sala ha sido archivada.",
|
|
||||||
"@thisRoomHasBeenArchived": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"thursday": "Jueves",
|
|
||||||
"@thursday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"title": "FluffyChat",
|
"title": "FluffyChat",
|
||||||
"@title": {
|
"@title": {
|
||||||
"description": "Title for the application",
|
"description": "Title for the application",
|
||||||
@ -1352,11 +1307,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"tuesday": "Martes",
|
|
||||||
"@tuesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"unavailable": "Indisponible",
|
"unavailable": "Indisponible",
|
||||||
"@unavailable": {
|
"@unavailable": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1527,11 +1477,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"wednesday": "Miércoles",
|
|
||||||
"@wednesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"weSentYouAnEmail": "Te enviamos un correo electrónico",
|
"weSentYouAnEmail": "Te enviamos un correo electrónico",
|
||||||
"@weSentYouAnEmail": {
|
"@weSentYouAnEmail": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1949,11 +1894,6 @@
|
|||||||
},
|
},
|
||||||
"description": "State that {command} is not a valid /command."
|
"description": "State that {command} is not a valid /command."
|
||||||
},
|
},
|
||||||
"discover": "Descubrir",
|
|
||||||
"@discover": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"editChatPermissions": "Editar permisos de chat",
|
"editChatPermissions": "Editar permisos de chat",
|
||||||
"@editChatPermissions": {
|
"@editChatPermissions": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1961,8 +1901,6 @@
|
|||||||
},
|
},
|
||||||
"shareYourInviteLink": "Compartir tu enlace de invitación",
|
"shareYourInviteLink": "Compartir tu enlace de invitación",
|
||||||
"@shareYourInviteLink": {},
|
"@shareYourInviteLink": {},
|
||||||
"typeInInviteLinkManually": "Escriba el enlace de invitación manualmente...",
|
|
||||||
"@typeInInviteLinkManually": {},
|
|
||||||
"scanQrCode": "Escanear código QR",
|
"scanQrCode": "Escanear código QR",
|
||||||
"@scanQrCode": {},
|
"@scanQrCode": {},
|
||||||
"homeserver": "Homeserver",
|
"homeserver": "Homeserver",
|
||||||
@ -2137,8 +2075,6 @@
|
|||||||
"@yourChatBackupHasBeenSetUp": {},
|
"@yourChatBackupHasBeenSetUp": {},
|
||||||
"unverified": "No verificado",
|
"unverified": "No verificado",
|
||||||
"@unverified": {},
|
"@unverified": {},
|
||||||
"yourUserId": "Su id. de usuario:",
|
|
||||||
"@yourUserId": {},
|
|
||||||
"commandHint_clearcache": "Limpiar cache",
|
"commandHint_clearcache": "Limpiar cache",
|
||||||
"@commandHint_clearcache": {
|
"@commandHint_clearcache": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2161,7 +2097,7 @@
|
|||||||
"@pleaseEnterValidEmail": {},
|
"@pleaseEnterValidEmail": {},
|
||||||
"repeatPassword": "Repetir la contraseña",
|
"repeatPassword": "Repetir la contraseña",
|
||||||
"@repeatPassword": {},
|
"@repeatPassword": {},
|
||||||
"pleaseChooseAtLeastChars": "Por favor elegir al menos {min} carácteres",
|
"pleaseChooseAtLeastChars": "Por favor elige al menos {min} carácteres.",
|
||||||
"@pleaseChooseAtLeastChars": {
|
"@pleaseChooseAtLeastChars": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -2197,5 +2133,41 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"publish": "Publicar",
|
"publish": "Publicar",
|
||||||
"@publish": {}
|
"@publish": {},
|
||||||
|
"newSpace": "Nuevo espacio",
|
||||||
|
"@newSpace": {},
|
||||||
|
"allSpaces": "Todos los espacios",
|
||||||
|
"@allSpaces": {},
|
||||||
|
"yourStory": "Tu historia",
|
||||||
|
"@yourStory": {},
|
||||||
|
"widgetUrlError": "Esta no es una URL válida.",
|
||||||
|
"@widgetUrlError": {},
|
||||||
|
"commandHint_markasgroup": "Marcar como grupo",
|
||||||
|
"@commandHint_markasgroup": {},
|
||||||
|
"nextAccount": "Siguiente cuenta",
|
||||||
|
"@nextAccount": {},
|
||||||
|
"youRejectedTheInvitation": "Rechazaste la invitación",
|
||||||
|
"@youRejectedTheInvitation": {},
|
||||||
|
"whoCanSeeMyStories": "¿Quién puede ver mis historias?",
|
||||||
|
"@whoCanSeeMyStories": {},
|
||||||
|
"newGroup": "Nuevo grupo",
|
||||||
|
"@newGroup": {},
|
||||||
|
"widgetJitsi": "Jitsi Meet",
|
||||||
|
"@widgetJitsi": {},
|
||||||
|
"previousAccount": "Cuenta anterior",
|
||||||
|
"@previousAccount": {},
|
||||||
|
"users": "Usuarios",
|
||||||
|
"@users": {},
|
||||||
|
"stories": "Historias",
|
||||||
|
"@stories": {},
|
||||||
|
"youInvitedBy": "📩 Has sido invitado por {user}",
|
||||||
|
"@youInvitedBy": {
|
||||||
|
"placeholders": {
|
||||||
|
"user": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"youAcceptedTheInvitation": "👍 Aceptaste la invitación",
|
||||||
|
"@youAcceptedTheInvitation": {},
|
||||||
|
"widgetEtherpad": "Nota de texto",
|
||||||
|
"@widgetEtherpad": {}
|
||||||
}
|
}
|
||||||
@ -82,11 +82,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"archivedRoom": "Arhiveeritud jututuba",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"areGuestsAllowedToJoin": "Kas külalised võivad liituda",
|
"areGuestsAllowedToJoin": "Kas külalised võivad liituda",
|
||||||
"@areGuestsAllowedToJoin": {
|
"@areGuestsAllowedToJoin": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -544,11 +539,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"crossSigningEnabled": "Risttunnustamine on kasutusel",
|
|
||||||
"@crossSigningEnabled": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"currentlyActive": "Hetkel aktiivne",
|
"currentlyActive": "Hetkel aktiivne",
|
||||||
"@currentlyActive": {
|
"@currentlyActive": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -634,11 +624,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"discover": "Avasta",
|
|
||||||
"@discover": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"displaynameHasBeenChanged": "Kuvatav nimi on muudetud",
|
"displaynameHasBeenChanged": "Kuvatav nimi on muudetud",
|
||||||
"@displaynameHasBeenChanged": {
|
"@displaynameHasBeenChanged": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -805,11 +790,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"friday": "Reede",
|
|
||||||
"@friday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"fromJoining": "Alates liitumise hetkest",
|
"fromJoining": "Alates liitumise hetkest",
|
||||||
"@fromJoining": {
|
"@fromJoining": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1000,11 +980,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"keysCached": "Krüptovõtmed on puhverdatud",
|
|
||||||
"@keysCached": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"kicked": "👞 {username} müksas kasutaja {targetName} välja",
|
"kicked": "👞 {username} müksas kasutaja {targetName} välja",
|
||||||
"@kicked": {
|
"@kicked": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1139,11 +1114,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"monday": "Esmaspäev",
|
|
||||||
"@monday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"muteChat": "Summuta vestlus",
|
"muteChat": "Summuta vestlus",
|
||||||
"@muteChat": {
|
"@muteChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1537,11 +1507,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"saturday": "Laupäev",
|
|
||||||
"@saturday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"saveFile": "Salvesta fail",
|
"saveFile": "Salvesta fail",
|
||||||
"@saveFile": {
|
"@saveFile": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1780,11 +1745,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"sunday": "Pühapäev",
|
|
||||||
"@sunday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"synchronizingPleaseWait": "Sünkroniseerin andmeid… Palun oota.",
|
"synchronizingPleaseWait": "Sünkroniseerin andmeid… Palun oota.",
|
||||||
"@synchronizingPleaseWait": {
|
"@synchronizingPleaseWait": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1805,16 +1765,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"thisRoomHasBeenArchived": "See jututuba on arhiveeritud.",
|
|
||||||
"@thisRoomHasBeenArchived": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"thursday": "Neljapäev",
|
|
||||||
"@thursday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"title": "FluffyChat",
|
"title": "FluffyChat",
|
||||||
"@title": {
|
"@title": {
|
||||||
"description": "Title for the application",
|
"description": "Title for the application",
|
||||||
@ -1851,11 +1801,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"tuesday": "Teisipäev",
|
|
||||||
"@tuesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"unavailable": "Eemal",
|
"unavailable": "Eemal",
|
||||||
"@unavailable": {
|
"@unavailable": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2026,11 +1971,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"wednesday": "Kolmapäev",
|
|
||||||
"@wednesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"weSentYouAnEmail": "Me saatsime sulle e-kirja",
|
"weSentYouAnEmail": "Me saatsime sulle e-kirja",
|
||||||
"@weSentYouAnEmail": {
|
"@weSentYouAnEmail": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2107,8 +2047,6 @@
|
|||||||
"@addToSpace": {},
|
"@addToSpace": {},
|
||||||
"scanQrCode": "Skaneeri QR-koodi",
|
"scanQrCode": "Skaneeri QR-koodi",
|
||||||
"@scanQrCode": {},
|
"@scanQrCode": {},
|
||||||
"typeInInviteLinkManually": "Sisesta kutse link käsitsi...",
|
|
||||||
"@typeInInviteLinkManually": {},
|
|
||||||
"shareYourInviteLink": "Jaga oma kutselinki",
|
"shareYourInviteLink": "Jaga oma kutselinki",
|
||||||
"@shareYourInviteLink": {},
|
"@shareYourInviteLink": {},
|
||||||
"sendOnEnter": "Saada sõnum sisestusklahvi vajutusel",
|
"sendOnEnter": "Saada sõnum sisestusklahvi vajutusel",
|
||||||
@ -2135,8 +2073,6 @@
|
|||||||
"@link": {},
|
"@link": {},
|
||||||
"yourChatBackupHasBeenSetUp": "Sinu vestluste varundus on seadistatud.",
|
"yourChatBackupHasBeenSetUp": "Sinu vestluste varundus on seadistatud.",
|
||||||
"@yourChatBackupHasBeenSetUp": {},
|
"@yourChatBackupHasBeenSetUp": {},
|
||||||
"yourUserId": "Sinu kasutajatunnus:",
|
|
||||||
"@yourUserId": {},
|
|
||||||
"unverified": "Verifitseerimata",
|
"unverified": "Verifitseerimata",
|
||||||
"@unverified": {},
|
"@unverified": {},
|
||||||
"repeatPassword": "Korda salasõna",
|
"repeatPassword": "Korda salasõna",
|
||||||
@ -2374,8 +2310,6 @@
|
|||||||
"@recoveryKey": {},
|
"@recoveryKey": {},
|
||||||
"users": "Kasutajad",
|
"users": "Kasutajad",
|
||||||
"@users": {},
|
"@users": {},
|
||||||
"enableAutoBackups": "Võta kasutusele automaatne varundus",
|
|
||||||
"@enableAutoBackups": {},
|
|
||||||
"stories": "Jutustused",
|
"stories": "Jutustused",
|
||||||
"@stories": {},
|
"@stories": {},
|
||||||
"storeInSecureStorageDescription": "Salvesta taastevõti selle seadme turvahoidlas.",
|
"storeInSecureStorageDescription": "Salvesta taastevõti selle seadme turvahoidlas.",
|
||||||
@ -2402,8 +2336,6 @@
|
|||||||
},
|
},
|
||||||
"dehydrate": "Ekspordi sessiooni teave ja kustuta nutiseadmest rakenduse andmed",
|
"dehydrate": "Ekspordi sessiooni teave ja kustuta nutiseadmest rakenduse andmed",
|
||||||
"@dehydrate": {},
|
"@dehydrate": {},
|
||||||
"dehydrateShare": "See on sinu FluffyChat'i privaatsete andmete eksport. Palun hoia teda turvaliselt ja vaata, et sa seda ei kaotaks.",
|
|
||||||
"@dehydrateShare": {},
|
|
||||||
"dehydrateTor": "TOR'i kasutajad: Ekspordi sessioon",
|
"dehydrateTor": "TOR'i kasutajad: Ekspordi sessioon",
|
||||||
"@dehydrateTor": {},
|
"@dehydrateTor": {},
|
||||||
"hydrateTor": "TOR'i kasutajatele: impordi viimati eksporditud sessiooni andmed",
|
"hydrateTor": "TOR'i kasutajatele: impordi viimati eksporditud sessiooni andmed",
|
||||||
@ -2532,8 +2464,6 @@
|
|||||||
"@deviceKeys": {},
|
"@deviceKeys": {},
|
||||||
"newSpaceDescription": "Kogukonnad võimaldavad sul koondada erinevaid vestlusi ning korraldada avalikku või privaatset ühistegevust.",
|
"newSpaceDescription": "Kogukonnad võimaldavad sul koondada erinevaid vestlusi ning korraldada avalikku või privaatset ühistegevust.",
|
||||||
"@newSpaceDescription": {},
|
"@newSpaceDescription": {},
|
||||||
"noSearchResult": "Sobivaid otsingutulemusi ei leidu.",
|
|
||||||
"@noSearchResult": {},
|
|
||||||
"enterInviteLinkOrMatrixId": "Sisesta kutse link või Matrix ID...",
|
"enterInviteLinkOrMatrixId": "Sisesta kutse link või Matrix ID...",
|
||||||
"@enterInviteLinkOrMatrixId": {},
|
"@enterInviteLinkOrMatrixId": {},
|
||||||
"letsStart": "Sõidame!",
|
"letsStart": "Sõidame!",
|
||||||
@ -2545,5 +2475,40 @@
|
|||||||
"noBackupWarning": "Hoiatus! Kui sa ei lülita sisse vestluse varundust, siis sul puudub hiljem ligipääs krüptitud sõnumitele. Me tungivalt soovitame, et palun lülita vestluse varundamine sisse enne väljalogimist.",
|
"noBackupWarning": "Hoiatus! Kui sa ei lülita sisse vestluse varundust, siis sul puudub hiljem ligipääs krüptitud sõnumitele. Me tungivalt soovitame, et palun lülita vestluse varundamine sisse enne väljalogimist.",
|
||||||
"@noBackupWarning": {},
|
"@noBackupWarning": {},
|
||||||
"fileIsTooBigForServer": "Serveri seadistuste alusel on see fail saatmiseks liiga suur.",
|
"fileIsTooBigForServer": "Serveri seadistuste alusel on see fail saatmiseks liiga suur.",
|
||||||
"@fileIsTooBigForServer": {}
|
"@fileIsTooBigForServer": {},
|
||||||
|
"fileHasBeenSavedAt": "Fail on salvestatud kausta: {path}",
|
||||||
|
"@fileHasBeenSavedAt": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {
|
||||||
|
"path": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"jumpToLastReadMessage": "Liigu viimase loetud sõnumini",
|
||||||
|
"@jumpToLastReadMessage": {},
|
||||||
|
"readUpToHere": "Siiamaani on loetud",
|
||||||
|
"@readUpToHere": {},
|
||||||
|
"jump": "Hüppa",
|
||||||
|
"@jump": {},
|
||||||
|
"openLinkInBrowser": "Ava link veebibrauseris",
|
||||||
|
"@openLinkInBrowser": {},
|
||||||
|
"discover": "Otsi ja leia",
|
||||||
|
"@discover": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {}
|
||||||
|
},
|
||||||
|
"report": "teata",
|
||||||
|
"@report": {},
|
||||||
|
"allRooms": "Kõik vestlusrühmad",
|
||||||
|
"@allRooms": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {}
|
||||||
|
},
|
||||||
|
"reportErrorDescription": "Oh appike! Midagi läks valesti. Palun proovi hiljem uuesti. Kui soovid, võid sellest veast arendajatele teatada.",
|
||||||
|
"@reportErrorDescription": {},
|
||||||
|
"continueWith": "Jätkamiseks kasuta:",
|
||||||
|
"@continueWith": {},
|
||||||
|
"signInWithPassword": "Logi sisse salasõnaga",
|
||||||
|
"@signInWithPassword": {},
|
||||||
|
"pleaseTryAgainLaterOrChooseDifferentServer": "Palun proovi hiljem uuesti või muuda serveri nime.",
|
||||||
|
"@pleaseTryAgainLaterOrChooseDifferentServer": {}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -62,11 +62,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"archivedRoom": "Artxibatutako gela",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"areGuestsAllowedToJoin": "Ba al dute gonbidatutako erabiltzaileek bat egiteko baimenik?",
|
"areGuestsAllowedToJoin": "Ba al dute gonbidatutako erabiltzaileek bat egiteko baimenik?",
|
||||||
"@areGuestsAllowedToJoin": {
|
"@areGuestsAllowedToJoin": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -271,12 +266,12 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"compareEmojiMatch": "Konparatu eta egiaztatu ondorengo emojiak beste gailukoarekin bat datozela:",
|
"compareEmojiMatch": "Konparatu ondorengo emojiak:",
|
||||||
"@compareEmojiMatch": {
|
"@compareEmojiMatch": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"compareNumbersMatch": "Konparatu eta egiaztatu ondorengo zenbakiak beste gailukoarekin bat datozela:",
|
"compareNumbersMatch": "Konparatu ondorengo zenbakiak:",
|
||||||
"@compareNumbersMatch": {
|
"@compareNumbersMatch": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -337,11 +332,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"crossSigningEnabled": "Zeharkako sinadura gaituta dago",
|
|
||||||
"@crossSigningEnabled": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"currentlyActive": "Unean aktibo",
|
"currentlyActive": "Unean aktibo",
|
||||||
"@currentlyActive": {
|
"@currentlyActive": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -494,17 +484,12 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"friday": "Ostirala",
|
"fromJoining": "Bat egiteaz geroztik",
|
||||||
"@friday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"fromJoining": "sartzeaz",
|
|
||||||
"@fromJoining": {
|
"@fromJoining": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"fromTheInvitation": "gonbidapenaz",
|
"fromTheInvitation": "Gonbidapenaz geroztik",
|
||||||
"@fromTheInvitation": {
|
"@fromTheInvitation": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -629,11 +614,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"keysCached": "Gakoak katxean daude",
|
|
||||||
"@keysCached": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"kicked": "👞 {username}(e)k {targetName} kaleratu du",
|
"kicked": "👞 {username}(e)k {targetName} kaleratu du",
|
||||||
"@kicked": {
|
"@kicked": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -736,11 +716,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"monday": "Astelehena",
|
|
||||||
"@monday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"muteChat": "Mututu berriketa",
|
"muteChat": "Mututu berriketa",
|
||||||
"@muteChat": {
|
"@muteChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -949,11 +924,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"saturday": "Larunbata",
|
|
||||||
"@saturday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"seenByUser": "{username}(e)k ikusi du",
|
"seenByUser": "{username}(e)k ikusi du",
|
||||||
"@seenByUser": {
|
"@seenByUser": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1110,11 +1080,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"sunday": "Igandea",
|
|
||||||
"@sunday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"systemTheme": "Sistemak darabilena",
|
"systemTheme": "Sistemak darabilena",
|
||||||
"@systemTheme": {
|
"@systemTheme": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1130,16 +1095,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"thisRoomHasBeenArchived": "Gela hau artxibatu da.",
|
|
||||||
"@thisRoomHasBeenArchived": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"thursday": "Osteguna",
|
|
||||||
"@thursday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"title": "FluffyChat",
|
"title": "FluffyChat",
|
||||||
"@title": {
|
"@title": {
|
||||||
"description": "Title for the application",
|
"description": "Title for the application",
|
||||||
@ -1151,11 +1106,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"tuesday": "Asteartea",
|
|
||||||
"@tuesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"unbannedUser": "{username}(e)k {targetName} baimendu du",
|
"unbannedUser": "{username}(e)k {targetName} baimendu du",
|
||||||
"@unbannedUser": {
|
"@unbannedUser": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1304,11 +1254,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"wednesday": "Asteazkena",
|
|
||||||
"@wednesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"whoIsAllowedToJoinThisGroup": "Nork duen baimena talde honetara batzeko",
|
"whoIsAllowedToJoinThisGroup": "Nork duen baimena talde honetara batzeko",
|
||||||
"@whoIsAllowedToJoinThisGroup": {
|
"@whoIsAllowedToJoinThisGroup": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1525,7 +1470,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"unreadChats": "{unreadCount, plural, =1{irakurri gabeko txat 1} other {{unreadCount} txat irakurri gabe}}",
|
"unreadChats": "{unreadCount, plural, =1{irakurri gabeko txat 1} other {irakurri gabeko {unreadCount} txat}}",
|
||||||
"@unreadChats": {
|
"@unreadChats": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -1740,8 +1685,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"yourUserId": "Zure erabiltzaile IDa:",
|
|
||||||
"@yourUserId": {},
|
|
||||||
"chatBackup": "Txataren babeskopia",
|
"chatBackup": "Txataren babeskopia",
|
||||||
"@chatBackup": {
|
"@chatBackup": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1873,8 +1816,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"typeInInviteLinkManually": "Idatzi eskuz gonbidapen esteka…",
|
|
||||||
"@typeInInviteLinkManually": {},
|
|
||||||
"online": "Linean",
|
"online": "Linean",
|
||||||
"@online": {
|
"@online": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2009,11 +1950,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"discover": "Deskubritu",
|
|
||||||
"@discover": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"emotePacks": "Emote sortak gelarako",
|
"emotePacks": "Emote sortak gelarako",
|
||||||
"@emotePacks": {
|
"@emotePacks": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2064,7 +2000,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"noEncryptionForPublicRooms": "Zifraketa aktiba dezakezu soilik gela publikoa ez bada.",
|
"noEncryptionForPublicRooms": "Zifraketa aktiba dezakezu soilik gelak publikoa izateari utzi badio.",
|
||||||
"@noEncryptionForPublicRooms": {
|
"@noEncryptionForPublicRooms": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -2296,7 +2232,7 @@
|
|||||||
"@widgetEtherpad": {},
|
"@widgetEtherpad": {},
|
||||||
"widgetJitsi": "Jitsi Meet",
|
"widgetJitsi": "Jitsi Meet",
|
||||||
"@widgetJitsi": {},
|
"@widgetJitsi": {},
|
||||||
"widgetCustom": "Neurrira egindakoa",
|
"widgetCustom": "Norberak ezarritakoa",
|
||||||
"@widgetCustom": {},
|
"@widgetCustom": {},
|
||||||
"widgetName": "Izena",
|
"widgetName": "Izena",
|
||||||
"@widgetName": {},
|
"@widgetName": {},
|
||||||
@ -2407,10 +2343,6 @@
|
|||||||
"@hydrateTorLong": {},
|
"@hydrateTorLong": {},
|
||||||
"noEmailWarning": "Sartu baliozko posta helbide bat. Bestela ezingo duzu pasahitza berrezarri. Hala ere nahi ez baduzu, sakatu berriro botoia aurrera egiteko.",
|
"noEmailWarning": "Sartu baliozko posta helbide bat. Bestela ezingo duzu pasahitza berrezarri. Hala ere nahi ez baduzu, sakatu berriro botoia aurrera egiteko.",
|
||||||
"@noEmailWarning": {},
|
"@noEmailWarning": {},
|
||||||
"enableAutoBackups": "Gaitu babeskopia automatikoak",
|
|
||||||
"@enableAutoBackups": {},
|
|
||||||
"dehydrateShare": "Hau zure FluffyChaten esportazio pribatua da. Ez galdu eta ez partekatu inorekin.",
|
|
||||||
"@dehydrateShare": {},
|
|
||||||
"dehydrateTor": "TOR Erabiltzaileak: Esportatu saioa",
|
"dehydrateTor": "TOR Erabiltzaileak: Esportatu saioa",
|
||||||
"@dehydrateTor": {},
|
"@dehydrateTor": {},
|
||||||
"hydrateTor": "TOR Erabiltzaileak: Inportatu esportatutako saioa",
|
"hydrateTor": "TOR Erabiltzaileak: Inportatu esportatutako saioa",
|
||||||
@ -2498,7 +2430,7 @@
|
|||||||
"@startFirstChat": {},
|
"@startFirstChat": {},
|
||||||
"newSpaceDescription": "Guneek txatak taldekatzea ahalbidetzen dute eta komunitate pribatu edo publikoak osatzea.",
|
"newSpaceDescription": "Guneek txatak taldekatzea ahalbidetzen dute eta komunitate pribatu edo publikoak osatzea.",
|
||||||
"@newSpaceDescription": {},
|
"@newSpaceDescription": {},
|
||||||
"endToEndEncryption": "Puntuz puntuko zifraketa",
|
"endToEndEncryption": "Ertzetik ertzerako zifratzea",
|
||||||
"@endToEndEncryption": {},
|
"@endToEndEncryption": {},
|
||||||
"disableEncryptionWarning": "Segurtasun arrazoiak direla-eta, ezin duzu lehendik zifratuta zegoen txat bateko zifraketa ezgaitu.",
|
"disableEncryptionWarning": "Segurtasun arrazoiak direla-eta, ezin duzu lehendik zifratuta zegoen txat bateko zifraketa ezgaitu.",
|
||||||
"@disableEncryptionWarning": {},
|
"@disableEncryptionWarning": {},
|
||||||
@ -2519,6 +2451,57 @@
|
|||||||
"@sorryThatsNotPossible": {},
|
"@sorryThatsNotPossible": {},
|
||||||
"reopenChat": "Ireki txata berriro",
|
"reopenChat": "Ireki txata berriro",
|
||||||
"@reopenChat": {},
|
"@reopenChat": {},
|
||||||
"noSearchResult": "Ez da emaitzarik aurkitu.",
|
"commandHint_googly": "Bidali begi dibertigarri batzuk",
|
||||||
"@noSearchResult": {}
|
"@commandHint_googly": {},
|
||||||
|
"commandHint_cuddle": "Bidali besarkada goxoa",
|
||||||
|
"@commandHint_cuddle": {},
|
||||||
|
"googlyEyesContent": "{senderName}(e)k begi dibertigarri batzuk bidali dizkizu",
|
||||||
|
"@googlyEyesContent": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {
|
||||||
|
"senderName": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"allRooms": "Talde-txat guztiak",
|
||||||
|
"@allRooms": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {}
|
||||||
|
},
|
||||||
|
"jumpToLastReadMessage": "Joan irakurritako azken mezura",
|
||||||
|
"@jumpToLastReadMessage": {},
|
||||||
|
"reportErrorDescription": "Ez! Zerbaitek huts egin du. Saiatu berriro geroago. Nahi izanez gero, eman garatzaileei errorearen berri.",
|
||||||
|
"@reportErrorDescription": {},
|
||||||
|
"cuddleContent": "{senderName}(e)k samurki besarkatu zaitu",
|
||||||
|
"@cuddleContent": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {
|
||||||
|
"senderName": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"readUpToHere": "Honaino irakurrita",
|
||||||
|
"@readUpToHere": {},
|
||||||
|
"discover": "Deskubritu",
|
||||||
|
"@discover": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {}
|
||||||
|
},
|
||||||
|
"fileHasBeenSavedAt": "Fitxategia {path}(e)n gorde da",
|
||||||
|
"@fileHasBeenSavedAt": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {
|
||||||
|
"path": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"jump": "Joan",
|
||||||
|
"@jump": {},
|
||||||
|
"openLinkInBrowser": "Ireki esteka nabigatzailean",
|
||||||
|
"@openLinkInBrowser": {},
|
||||||
|
"report": "eman berri",
|
||||||
|
"@report": {},
|
||||||
|
"signInWithPassword": "Hasi saioa pasahitzarekin",
|
||||||
|
"@signInWithPassword": {},
|
||||||
|
"continueWith": "Jarraitu honekin:",
|
||||||
|
"@continueWith": {},
|
||||||
|
"pleaseTryAgainLaterOrChooseDifferentServer": "Saiatu geroago edo hautatu beste zerbitzari bat.",
|
||||||
|
"@pleaseTryAgainLaterOrChooseDifferentServer": {}
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -100,11 +100,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"archivedRoom": "Arkistoitu huone",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"areGuestsAllowedToJoin": "Sallitaanko vieraiden liittyminen",
|
"areGuestsAllowedToJoin": "Sallitaanko vieraiden liittyminen",
|
||||||
"@areGuestsAllowedToJoin": {
|
"@areGuestsAllowedToJoin": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -314,8 +309,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"yourUserId": "Käyttäjätunnuksesi:",
|
|
||||||
"@yourUserId": {},
|
|
||||||
"yourChatBackupHasBeenSetUp": "Keskustelujesi varmuuskopiointi on asetettu.",
|
"yourChatBackupHasBeenSetUp": "Keskustelujesi varmuuskopiointi on asetettu.",
|
||||||
"@yourChatBackupHasBeenSetUp": {},
|
"@yourChatBackupHasBeenSetUp": {},
|
||||||
"chatBackup": "Keskustelun varmuuskopiointi",
|
"chatBackup": "Keskustelun varmuuskopiointi",
|
||||||
@ -497,11 +490,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"discover": "Löydä",
|
|
||||||
"@discover": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"displaynameHasBeenChanged": "Näyttönimi on vaihdettu",
|
"displaynameHasBeenChanged": "Näyttönimi on vaihdettu",
|
||||||
"@displaynameHasBeenChanged": {
|
"@displaynameHasBeenChanged": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -908,11 +896,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"monday": "maanantaina",
|
|
||||||
"@monday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"muteChat": "Vaienna keskustelu",
|
"muteChat": "Vaienna keskustelu",
|
||||||
"@muteChat": {
|
"@muteChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -963,8 +946,6 @@
|
|||||||
},
|
},
|
||||||
"shareYourInviteLink": "Jaa kutsulinkkisi",
|
"shareYourInviteLink": "Jaa kutsulinkkisi",
|
||||||
"@shareYourInviteLink": {},
|
"@shareYourInviteLink": {},
|
||||||
"typeInInviteLinkManually": "Kirjoita kutsulinkki käsin...",
|
|
||||||
"@typeInInviteLinkManually": {},
|
|
||||||
"scanQrCode": "Skannaa QR-koodi",
|
"scanQrCode": "Skannaa QR-koodi",
|
||||||
"@scanQrCode": {},
|
"@scanQrCode": {},
|
||||||
"none": "Ei yhtään",
|
"none": "Ei yhtään",
|
||||||
@ -1039,11 +1020,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"crossSigningEnabled": "Ristiinvarmennus on käytössä",
|
|
||||||
"@crossSigningEnabled": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"chat": "Keskustelu",
|
"chat": "Keskustelu",
|
||||||
"@chat": {
|
"@chat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1071,7 +1047,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"description": "Usage hint for the command /me"
|
"description": "Usage hint for the command /me"
|
||||||
},
|
},
|
||||||
"compareEmojiMatch": "Vertaile ja varmista emojien olevan samat molemmilla laitteilla:",
|
"compareEmojiMatch": "Vertaa hymiöitä",
|
||||||
"@compareEmojiMatch": {
|
"@compareEmojiMatch": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -1135,7 +1111,7 @@
|
|||||||
"@commandInvalid": {
|
"@commandInvalid": {
|
||||||
"type": "text"
|
"type": "text"
|
||||||
},
|
},
|
||||||
"compareNumbersMatch": "Vertaile ja varmista numeroiden olevan samat molemmilla laitteilla:",
|
"compareNumbersMatch": "Vertaa numeroita",
|
||||||
"@compareNumbersMatch": {
|
"@compareNumbersMatch": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -1231,11 +1207,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"friday": "perjantaina",
|
|
||||||
"@friday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"iHaveClickedOnLink": "Olen klikannut linkkiä",
|
"iHaveClickedOnLink": "Olen klikannut linkkiä",
|
||||||
"@iHaveClickedOnLink": {
|
"@iHaveClickedOnLink": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1253,11 +1224,6 @@
|
|||||||
"username": {}
|
"username": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"keysCached": "Avaimet ovat välimuistissa",
|
|
||||||
"@keysCached": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"notificationsEnabledForThisAccount": "Tämän tunnuksen ilmoitukset ovat käytössä",
|
"notificationsEnabledForThisAccount": "Tämän tunnuksen ilmoitukset ovat käytössä",
|
||||||
"@notificationsEnabledForThisAccount": {
|
"@notificationsEnabledForThisAccount": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1654,16 +1620,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"thisRoomHasBeenArchived": "Tämä huone on arkistoitu.",
|
|
||||||
"@thisRoomHasBeenArchived": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"thursday": "torstaina",
|
|
||||||
"@thursday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"title": "FluffyChat",
|
"title": "FluffyChat",
|
||||||
"@title": {
|
"@title": {
|
||||||
"description": "Title for the application",
|
"description": "Title for the application",
|
||||||
@ -1830,11 +1786,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"wednesday": "keskiviikkona",
|
|
||||||
"@wednesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"weSentYouAnEmail": "Lähetimme sinulle sähköpostia",
|
"weSentYouAnEmail": "Lähetimme sinulle sähköpostia",
|
||||||
"@weSentYouAnEmail": {
|
"@weSentYouAnEmail": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1935,11 +1886,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"saturday": "lauantaina",
|
|
||||||
"@saturday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"search": "Hae",
|
"search": "Hae",
|
||||||
"@search": {
|
"@search": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2077,11 +2023,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"sunday": "sunnuntaina",
|
|
||||||
"@sunday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"unreadChats": "{unreadCount, plural, =1{1 lukematon keskustelu} other{{unreadCount} lukematonta keskustelua}}",
|
"unreadChats": "{unreadCount, plural, =1{1 lukematon keskustelu} other{{unreadCount} lukematonta keskustelua}}",
|
||||||
"@unreadChats": {
|
"@unreadChats": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2113,11 +2054,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"tuesday": "tiistaina",
|
|
||||||
"@tuesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"unmuteChat": "Poista keskustelun mykistys",
|
"unmuteChat": "Poista keskustelun mykistys",
|
||||||
"@unmuteChat": {
|
"@unmuteChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2359,8 +2295,6 @@
|
|||||||
},
|
},
|
||||||
"noEmailWarning": "Syötä oikea sähköposti-osoite. Muutoin et voi palauttaa salasanaasi. Jollet halua, paina näppäintä uudelleen jatkaaksesi.",
|
"noEmailWarning": "Syötä oikea sähköposti-osoite. Muutoin et voi palauttaa salasanaasi. Jollet halua, paina näppäintä uudelleen jatkaaksesi.",
|
||||||
"@noEmailWarning": {},
|
"@noEmailWarning": {},
|
||||||
"dehydrateShare": "Tämä on yksityinen FluffyChat-vientisi. Varmista ettet hukkaa sitä ja pidät sen yksityisenä.",
|
|
||||||
"@dehydrateShare": {},
|
|
||||||
"dehydrateTor": "TOR-käyttäjät: vie istunto",
|
"dehydrateTor": "TOR-käyttäjät: vie istunto",
|
||||||
"@dehydrateTor": {},
|
"@dehydrateTor": {},
|
||||||
"hydrateTor": "TOR-käyttäjät: tuo viety istunto",
|
"hydrateTor": "TOR-käyttäjät: tuo viety istunto",
|
||||||
@ -2385,8 +2319,6 @@
|
|||||||
"@stories": {},
|
"@stories": {},
|
||||||
"users": "Käyttäjät",
|
"users": "Käyttäjät",
|
||||||
"@users": {},
|
"@users": {},
|
||||||
"enableAutoBackups": "Ota automaattiset varmuuskopiot käyttöön",
|
|
||||||
"@enableAutoBackups": {},
|
|
||||||
"storeSecurlyOnThisDevice": "Tallenna turvallisesti tälle laitteelle",
|
"storeSecurlyOnThisDevice": "Tallenna turvallisesti tälle laitteelle",
|
||||||
"@storeSecurlyOnThisDevice": {},
|
"@storeSecurlyOnThisDevice": {},
|
||||||
"pleaseEnterRecoveryKeyDescription": "Avataksesi vanhojen viestiesi salauksen, syötä palautusavaimesi, joka luotiin edellisessä istunnossa. Palautusavaimesi EI OLE salasanasi.",
|
"pleaseEnterRecoveryKeyDescription": "Avataksesi vanhojen viestiesi salauksen, syötä palautusavaimesi, joka luotiin edellisessä istunnossa. Palautusavaimesi EI OLE salasanasi.",
|
||||||
@ -2432,7 +2364,7 @@
|
|||||||
"@commandHint_markasgroup": {},
|
"@commandHint_markasgroup": {},
|
||||||
"whyIsThisMessageEncrypted": "Miksei tätä viestiä voida lukea?",
|
"whyIsThisMessageEncrypted": "Miksei tätä viestiä voida lukea?",
|
||||||
"@whyIsThisMessageEncrypted": {},
|
"@whyIsThisMessageEncrypted": {},
|
||||||
"noKeyForThisMessage": "Tämä voi tapahtua mikäli viesti lähetettiin ennen sisäänkirjautumistasi tälle laitteelle.\n\nOn myös mahdollista, että lähettäjä on estänyt tämän laitteen tai jokin meni pieleen verkkoyhteyden kanssa.\n\nPystytkö lukemaan viestin toisella istunnolla? Siinä tapauksessa voit siirtää viestin siltä! Mene Asetukset > Laitteet ja varmista, että laitteesi ovat varmistaneet toisensa. Seuraavankerran avatessasi laitteen ja molempien istuntojen ollessa etualalla, avaimet siirretään automaattisesti.\n\nHaluatko varmistaa ettet menetä avaimia uloskirjautuessa tai laitteita vaihtaessa? Varmista avainvarmuuskopion käytössäolo asetuksista.",
|
"noKeyForThisMessage": "Tämä voi tapahtua mikäli viesti lähetettiin ennen sisäänkirjautumistasi tälle laitteelle.\n\nOn myös mahdollista, että lähettäjä on estänyt tämän laitteen tai jokin meni pieleen verkkoyhteyden kanssa.\n\nPystytkö lukemaan viestin toisella istunnolla? Siinä tapauksessa voit siirtää viestin siltä! Mene Asetukset > Laitteet ja varmista, että laitteesi ovat varmistaneet toisensa. Seuraavankerran avatessasi huoneen ja molempien istuntojen ollessa etualalla, avaimet siirretään automaattisesti.\n\nHaluatko varmistaa ettet menetä avaimia uloskirjautuessa tai laitteita vaihtaessa? Varmista avainvarmuuskopion käytössäolo asetuksista.",
|
||||||
"@noKeyForThisMessage": {},
|
"@noKeyForThisMessage": {},
|
||||||
"commandHint_markasdm": "Merkitse yksityiskeskusteluksi",
|
"commandHint_markasdm": "Merkitse yksityiskeskusteluksi",
|
||||||
"@commandHint_markasdm": {},
|
"@commandHint_markasdm": {},
|
||||||
@ -2501,5 +2433,73 @@
|
|||||||
"hideUnimportantStateEvents": "Piilota ei-niin-tärkeät tilatapahtumat",
|
"hideUnimportantStateEvents": "Piilota ei-niin-tärkeät tilatapahtumat",
|
||||||
"@hideUnimportantStateEvents": {},
|
"@hideUnimportantStateEvents": {},
|
||||||
"doNotShowAgain": "Älä näytä uudelleen",
|
"doNotShowAgain": "Älä näytä uudelleen",
|
||||||
"@doNotShowAgain": {}
|
"@doNotShowAgain": {},
|
||||||
|
"fileHasBeenSavedAt": "Tiedosto on tallennettu sijaintiin {path}",
|
||||||
|
"@fileHasBeenSavedAt": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {
|
||||||
|
"path": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"disableEncryptionWarning": "Turvallisuuden vuoksi et voi poistaa salausta käytöstä huoneista, joissa se on aiemmin otettu käyttöön.",
|
||||||
|
"@disableEncryptionWarning": {},
|
||||||
|
"allRooms": "Kaikki ryhmäkeskustelut",
|
||||||
|
"@allRooms": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {}
|
||||||
|
},
|
||||||
|
"startFirstChat": "Aloita ensimmäinen keskustelusi",
|
||||||
|
"@startFirstChat": {},
|
||||||
|
"newSpaceDescription": "Tilat mahdollistavat keskusteluidesi keräämisen ja yksityisten tai julkisten yhteisöjen rakentamisen.",
|
||||||
|
"@newSpaceDescription": {},
|
||||||
|
"deviceKeys": "Laite-avaimet:",
|
||||||
|
"@deviceKeys": {},
|
||||||
|
"letsStart": "Aloitetaan",
|
||||||
|
"@letsStart": {},
|
||||||
|
"enterInviteLinkOrMatrixId": "Syötä kutsulinkki tai Matrix ID...",
|
||||||
|
"@enterInviteLinkOrMatrixId": {},
|
||||||
|
"reopenChat": "Avaa keskustelu uudelleen",
|
||||||
|
"@reopenChat": {},
|
||||||
|
"noOtherDevicesFound": "Muita laitteita ei löytynyt",
|
||||||
|
"@noOtherDevicesFound": {},
|
||||||
|
"jumpToLastReadMessage": "Hyppää viimeiseen luettuun viestiin",
|
||||||
|
"@jumpToLastReadMessage": {},
|
||||||
|
"readUpToHere": "Luettu tähän asti",
|
||||||
|
"@readUpToHere": {},
|
||||||
|
"jump": "Hyppää",
|
||||||
|
"@jump": {},
|
||||||
|
"openLinkInBrowser": "Avaa linkki selaimessa",
|
||||||
|
"@openLinkInBrowser": {},
|
||||||
|
"report": "ilmoita",
|
||||||
|
"@report": {},
|
||||||
|
"encryptThisChat": "Salaa tämä keskustelu",
|
||||||
|
"@encryptThisChat": {},
|
||||||
|
"endToEndEncryption": "Päästä-päähän salaus",
|
||||||
|
"@endToEndEncryption": {},
|
||||||
|
"discover": "Löydä",
|
||||||
|
"@discover": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {}
|
||||||
|
},
|
||||||
|
"noBackupWarning": "Varoitus! Ilman avainvarmuuskopion käyttöönottoa menetät pääsyn salattuihin viesteihisi. Suosittelemme ehdottomasti avainvarmuuskopion käyttöönottoa ennen uloskirjautumista.",
|
||||||
|
"@noBackupWarning": {},
|
||||||
|
"fileIsTooBigForServer": "Palvelimen mukaan tiedosto on liian suuri lähetettäväksi.",
|
||||||
|
"@fileIsTooBigForServer": {},
|
||||||
|
"reportErrorDescription": "Voi ei. Jokin meni pieleen. Yritäthän myöhemmin uudelleen. Halutessasi voit ilmoittaa ongelman kehittäjille.",
|
||||||
|
"@reportErrorDescription": {},
|
||||||
|
"wasDirectChatDisplayName": "Tyhjä keskustelu (oli {oldDisplayName})",
|
||||||
|
"@wasDirectChatDisplayName": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {
|
||||||
|
"oldDisplayName": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sorryThatsNotPossible": "Anteeksi... se ei ole mahdollista",
|
||||||
|
"@sorryThatsNotPossible": {},
|
||||||
|
"signInWithPassword": "Kirjaudu sisään salasanalla",
|
||||||
|
"@signInWithPassword": {},
|
||||||
|
"continueWith": "Jatka käyttäen:",
|
||||||
|
"@continueWith": {},
|
||||||
|
"pleaseTryAgainLaterOrChooseDifferentServer": "Yritä myöhemmin uudelleen tai valitse toinen palvelin.",
|
||||||
|
"@pleaseTryAgainLaterOrChooseDifferentServer": {}
|
||||||
}
|
}
|
||||||
@ -84,11 +84,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"archivedRoom": "Salon archivé",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"areGuestsAllowedToJoin": "Les invités peuvent-i·e·ls rejoindre",
|
"areGuestsAllowedToJoin": "Les invités peuvent-i·e·ls rejoindre",
|
||||||
"@areGuestsAllowedToJoin": {
|
"@areGuestsAllowedToJoin": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -452,12 +447,12 @@
|
|||||||
},
|
},
|
||||||
"description": "State that {command} is not a valid /command."
|
"description": "State that {command} is not a valid /command."
|
||||||
},
|
},
|
||||||
"compareEmojiMatch": "Comparez les emojis suivants avec ceux de l'autre appareil et assurez-vous qu'ils correspondent :",
|
"compareEmojiMatch": "Veuillez comparer les émojis",
|
||||||
"@compareEmojiMatch": {
|
"@compareEmojiMatch": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"compareNumbersMatch": "Comparez les chiffres suivants avec ceux de l'autre appareil et assurez-vous qu'ils correspondent :",
|
"compareNumbersMatch": "Veuillez comparer les chiffres",
|
||||||
"@compareNumbersMatch": {
|
"@compareNumbersMatch": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -548,11 +543,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"crossSigningEnabled": "La signature croisée est activée",
|
|
||||||
"@crossSigningEnabled": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"currentlyActive": "Actif en ce moment",
|
"currentlyActive": "Actif en ce moment",
|
||||||
"@currentlyActive": {
|
"@currentlyActive": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -638,11 +628,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"discover": "Découvrir",
|
|
||||||
"@discover": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"displaynameHasBeenChanged": "Renommage effectué",
|
"displaynameHasBeenChanged": "Renommage effectué",
|
||||||
"@displaynameHasBeenChanged": {
|
"@displaynameHasBeenChanged": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -809,11 +794,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"friday": "Vendredi",
|
|
||||||
"@friday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"fromJoining": "À partir de l'entrée dans le salon",
|
"fromJoining": "À partir de l'entrée dans le salon",
|
||||||
"@fromJoining": {
|
"@fromJoining": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1004,11 +984,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"keysCached": "Les clés sont mises en cache",
|
|
||||||
"@keysCached": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"kicked": "👞 {username} a expulsé {targetName}",
|
"kicked": "👞 {username} a expulsé {targetName}",
|
||||||
"@kicked": {
|
"@kicked": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1143,11 +1118,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"monday": "Lundi",
|
|
||||||
"@monday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"muteChat": "Mettre la discussion en sourdine",
|
"muteChat": "Mettre la discussion en sourdine",
|
||||||
"@muteChat": {
|
"@muteChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1541,11 +1511,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"saturday": "Samedi",
|
|
||||||
"@saturday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"saveFile": "Enregistrer le fichier",
|
"saveFile": "Enregistrer le fichier",
|
||||||
"@saveFile": {
|
"@saveFile": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1784,11 +1749,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"sunday": "Dimanche",
|
|
||||||
"@sunday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"synchronizingPleaseWait": "Synchronisation... Veuillez patienter.",
|
"synchronizingPleaseWait": "Synchronisation... Veuillez patienter.",
|
||||||
"@synchronizingPleaseWait": {
|
"@synchronizingPleaseWait": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1809,16 +1769,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"thisRoomHasBeenArchived": "Ce salon a été archivé.",
|
|
||||||
"@thisRoomHasBeenArchived": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"thursday": "Jeudi",
|
|
||||||
"@thursday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"title": "FluffyChat",
|
"title": "FluffyChat",
|
||||||
"@title": {
|
"@title": {
|
||||||
"description": "Title for the application",
|
"description": "Title for the application",
|
||||||
@ -1855,11 +1805,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"tuesday": "Mardi",
|
|
||||||
"@tuesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"unavailable": "Indisponible",
|
"unavailable": "Indisponible",
|
||||||
"@unavailable": {
|
"@unavailable": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2030,11 +1975,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"wednesday": "Mercredi",
|
|
||||||
"@wednesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"weSentYouAnEmail": "Nous vous avons envoyé un courriel",
|
"weSentYouAnEmail": "Nous vous avons envoyé un courriel",
|
||||||
"@weSentYouAnEmail": {
|
"@weSentYouAnEmail": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2107,8 +2047,6 @@
|
|||||||
},
|
},
|
||||||
"scanQrCode": "Scanner un code QR",
|
"scanQrCode": "Scanner un code QR",
|
||||||
"@scanQrCode": {},
|
"@scanQrCode": {},
|
||||||
"typeInInviteLinkManually": "Entrer le lien d'invitation manuellement...",
|
|
||||||
"@typeInInviteLinkManually": {},
|
|
||||||
"shareYourInviteLink": "Partager votre lien d'invitation",
|
"shareYourInviteLink": "Partager votre lien d'invitation",
|
||||||
"@shareYourInviteLink": {},
|
"@shareYourInviteLink": {},
|
||||||
"sendOnEnter": "Envoyer avec Entrée",
|
"sendOnEnter": "Envoyer avec Entrée",
|
||||||
@ -2135,8 +2073,6 @@
|
|||||||
"@link": {},
|
"@link": {},
|
||||||
"yourChatBackupHasBeenSetUp": "Votre sauvegarde de la discussion a été mise en place.",
|
"yourChatBackupHasBeenSetUp": "Votre sauvegarde de la discussion a été mise en place.",
|
||||||
"@yourChatBackupHasBeenSetUp": {},
|
"@yourChatBackupHasBeenSetUp": {},
|
||||||
"yourUserId": "Votre identifiant utilisateur :",
|
|
||||||
"@yourUserId": {},
|
|
||||||
"unverified": "Non vérifié",
|
"unverified": "Non vérifié",
|
||||||
"@unverified": {},
|
"@unverified": {},
|
||||||
"passwordsDoNotMatch": "Les mots de passe ne correspondent pas !",
|
"passwordsDoNotMatch": "Les mots de passe ne correspondent pas !",
|
||||||
@ -2368,8 +2304,6 @@
|
|||||||
},
|
},
|
||||||
"users": "Utilisateurs/trices",
|
"users": "Utilisateurs/trices",
|
||||||
"@users": {},
|
"@users": {},
|
||||||
"enableAutoBackups": "Activer les sauvegardes automatiques",
|
|
||||||
"@enableAutoBackups": {},
|
|
||||||
"storeInAndroidKeystore": "Stocker dans Android KeyStore",
|
"storeInAndroidKeystore": "Stocker dans Android KeyStore",
|
||||||
"@storeInAndroidKeystore": {},
|
"@storeInAndroidKeystore": {},
|
||||||
"storeInAppleKeyChain": "Stocker dans Apple KeyChain",
|
"storeInAppleKeyChain": "Stocker dans Apple KeyChain",
|
||||||
@ -2402,8 +2336,6 @@
|
|||||||
"@noEmailWarning": {},
|
"@noEmailWarning": {},
|
||||||
"dehydrate": "Exporter la session et effacer l'appareil",
|
"dehydrate": "Exporter la session et effacer l'appareil",
|
||||||
"@dehydrate": {},
|
"@dehydrate": {},
|
||||||
"dehydrateShare": "Ceci est votre export privé de FluffyChat. Assurez-vous de ne pas le perdre et de le garder privé.",
|
|
||||||
"@dehydrateShare": {},
|
|
||||||
"dehydrateTor": "Utilisateurs/trices de TOR : Exporter la session",
|
"dehydrateTor": "Utilisateurs/trices de TOR : Exporter la session",
|
||||||
"@dehydrateTor": {},
|
"@dehydrateTor": {},
|
||||||
"hydrateTor": "Utilisateurs/trices de TOR : Importer une session exportée",
|
"hydrateTor": "Utilisateurs/trices de TOR : Importer une session exportée",
|
||||||
@ -2538,10 +2470,21 @@
|
|||||||
"@reopenChat": {},
|
"@reopenChat": {},
|
||||||
"enterInviteLinkOrMatrixId": "Entrez le lien d'invitation ou l'ID Matrix...",
|
"enterInviteLinkOrMatrixId": "Entrez le lien d'invitation ou l'ID Matrix...",
|
||||||
"@enterInviteLinkOrMatrixId": {},
|
"@enterInviteLinkOrMatrixId": {},
|
||||||
"noSearchResult": "Aucun résultat de recherche correspondant.",
|
|
||||||
"@noSearchResult": {},
|
|
||||||
"noOtherDevicesFound": "Aucun autre appareil trouvé",
|
"noOtherDevicesFound": "Aucun autre appareil trouvé",
|
||||||
"@noOtherDevicesFound": {},
|
"@noOtherDevicesFound": {},
|
||||||
"noBackupWarning": "Attention ! Sans l'activation de la sauvegarde de la discussion, vous perdrez l'accès à vos messages chiffrés. Il est fortement recommandé d'activer la sauvegarde de la discussion avant de se déconnecter.",
|
"noBackupWarning": "Attention ! Sans l'activation de la sauvegarde de la discussion, vous perdrez l'accès à vos messages chiffrés. Il est fortement recommandé d'activer la sauvegarde de la discussion avant de se déconnecter.",
|
||||||
"@noBackupWarning": {}
|
"@noBackupWarning": {},
|
||||||
|
"fileHasBeenSavedAt": "Le fichier a été enregistré dans {path}",
|
||||||
|
"@fileHasBeenSavedAt": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {
|
||||||
|
"path": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"fileIsTooBigForServer": "Le serveur signale que le fichier est trop volumineux pour être envoyé.",
|
||||||
|
"@fileIsTooBigForServer": {},
|
||||||
|
"jumpToLastReadMessage": "Aller au dernier message lu",
|
||||||
|
"@jumpToLastReadMessage": {},
|
||||||
|
"readUpToHere": "Lisez jusqu’ici",
|
||||||
|
"@readUpToHere": {}
|
||||||
}
|
}
|
||||||
@ -9,11 +9,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"wednesday": "Dé Céadaoin",
|
|
||||||
"@wednesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"warning": "Rabhadh!",
|
"warning": "Rabhadh!",
|
||||||
"@warning": {
|
"@warning": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -49,32 +44,17 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"tuesday": "Dé Máirt",
|
|
||||||
"@tuesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"title": "FluffyChat",
|
"title": "FluffyChat",
|
||||||
"@title": {
|
"@title": {
|
||||||
"description": "Title for the application",
|
"description": "Title for the application",
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"thursday": "Déardaoin",
|
|
||||||
"@thursday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"systemTheme": "Córas",
|
"systemTheme": "Córas",
|
||||||
"@systemTheme": {
|
"@systemTheme": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"sunday": "Dé Domhnaigh",
|
|
||||||
"@sunday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"submit": "Cuir isteach",
|
"submit": "Cuir isteach",
|
||||||
"@submit": {
|
"@submit": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -120,11 +100,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"saturday": "Dé Sathairn",
|
|
||||||
"@saturday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"reply": "Freagair",
|
"reply": "Freagair",
|
||||||
"@reply": {
|
"@reply": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -205,11 +180,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"crossSigningEnabled": "Tá cros-shíniú tosaithe",
|
|
||||||
"@crossSigningEnabled": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"createNewSpace": "Spás nua",
|
"createNewSpace": "Spás nua",
|
||||||
"@createNewSpace": {
|
"@createNewSpace": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -267,11 +237,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"monday": "Dé Luain",
|
|
||||||
"@monday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"moderator": "Modhnóir",
|
"moderator": "Modhnóir",
|
||||||
"@moderator": {
|
"@moderator": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -352,11 +317,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"friday": "Dé hAoine",
|
|
||||||
"@friday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"forward": "Seol ar aghaidh",
|
"forward": "Seol ar aghaidh",
|
||||||
"@forward": {
|
"@forward": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -384,11 +344,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"discover": "Tar ar",
|
|
||||||
"@discover": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"devices": "Gléasanna",
|
"devices": "Gléasanna",
|
||||||
"@devices": {
|
"@devices": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -534,11 +489,6 @@
|
|||||||
},
|
},
|
||||||
"sendOnEnter": "Seol ar iontráil",
|
"sendOnEnter": "Seol ar iontráil",
|
||||||
"@sendOnEnter": {},
|
"@sendOnEnter": {},
|
||||||
"archivedRoom": "Seomra cartlainne",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"archive": "Cartlann",
|
"archive": "Cartlann",
|
||||||
"@archive": {
|
"@archive": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1312,8 +1262,6 @@
|
|||||||
},
|
},
|
||||||
"scanQrCode": "Scan cód QR",
|
"scanQrCode": "Scan cód QR",
|
||||||
"@scanQrCode": {},
|
"@scanQrCode": {},
|
||||||
"typeInInviteLinkManually": "Clóscríobh an nasc cuiridh de láimh...",
|
|
||||||
"@typeInInviteLinkManually": {},
|
|
||||||
"inviteText": "Thug {username} cuireadh duit chuig FluffyChat.\n1. Suiteáil FluffyChat: https://fluffychat.im\n2. Cláraigh nó sínigh isteach\n3. Oscail an nasc cuiridh: {link}",
|
"inviteText": "Thug {username} cuireadh duit chuig FluffyChat.\n1. Suiteáil FluffyChat: https://fluffychat.im\n2. Cláraigh nó sínigh isteach\n3. Oscail an nasc cuiridh: {link}",
|
||||||
"@inviteText": {
|
"@inviteText": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1451,11 +1399,6 @@
|
|||||||
"targetName": {}
|
"targetName": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"keysCached": "Cuirtear eochracha i dtaisce",
|
|
||||||
"@keysCached": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"joinedTheChat": "Tháinig {username} isteach sa chomhrá",
|
"joinedTheChat": "Tháinig {username} isteach sa chomhrá",
|
||||||
"@joinedTheChat": {
|
"@joinedTheChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1740,11 +1683,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"thisRoomHasBeenArchived": "Tá an seomra seo curtha i gcartlann.",
|
|
||||||
"@thisRoomHasBeenArchived": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"theyDontMatch": "Níl siad céanna",
|
"theyDontMatch": "Níl siad céanna",
|
||||||
"@theyDontMatch": {
|
"@theyDontMatch": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2153,8 +2091,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"yourUserId": "D'aitheantas úsáideora:",
|
|
||||||
"@yourUserId": {},
|
|
||||||
"yourChatBackupHasBeenSetUp": "Bunaíodh do chúltaca comhrá.",
|
"yourChatBackupHasBeenSetUp": "Bunaíodh do chúltaca comhrá.",
|
||||||
"@yourChatBackupHasBeenSetUp": {},
|
"@yourChatBackupHasBeenSetUp": {},
|
||||||
"openVideoCamera": "Oscail físcheamara",
|
"openVideoCamera": "Oscail físcheamara",
|
||||||
|
|||||||
@ -23,7 +23,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"activatedEndToEndEncryption": "🔐 {username} activou o cifrado extremo-a-extremo",
|
"activatedEndToEndEncryption": "🔐 {username} activou a cifraxe extremo-a-extremo",
|
||||||
"@activatedEndToEndEncryption": {
|
"@activatedEndToEndEncryption": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -82,11 +82,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"archivedRoom": "Sala arquivada",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"areGuestsAllowedToJoin": "Permitir o acceso de convidadas",
|
"areGuestsAllowedToJoin": "Permitir o acceso de convidadas",
|
||||||
"@areGuestsAllowedToJoin": {
|
"@areGuestsAllowedToJoin": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -319,7 +314,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"channelCorruptedDecryptError": "O cifrado está corrompido",
|
"channelCorruptedDecryptError": "A cifraxe está estragada",
|
||||||
"@channelCorruptedDecryptError": {
|
"@channelCorruptedDecryptError": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -544,11 +539,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"crossSigningEnabled": "Sinatura-Cruzada activada",
|
|
||||||
"@crossSigningEnabled": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"currentlyActive": "Actualmente activo",
|
"currentlyActive": "Actualmente activo",
|
||||||
"@currentlyActive": {
|
"@currentlyActive": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -634,11 +624,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"discover": "Descubrir",
|
|
||||||
"@discover": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"displaynameHasBeenChanged": "O nome público mudou",
|
"displaynameHasBeenChanged": "O nome público mudou",
|
||||||
"@displaynameHasBeenChanged": {
|
"@displaynameHasBeenChanged": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -719,12 +704,12 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"enableEncryption": "Activar cifrado",
|
"enableEncryption": "Activar cifraxe",
|
||||||
"@enableEncryption": {
|
"@enableEncryption": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"enableEncryptionWarning": "Non poderás desactivar o cifrado posteriormente, tes certeza?",
|
"enableEncryptionWarning": "Non poderás desactivar a cifraxe posteriormente, tes certeza?",
|
||||||
"@enableEncryptionWarning": {
|
"@enableEncryptionWarning": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -734,12 +719,12 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"encryption": "Cifrado",
|
"encryption": "Cifraxe",
|
||||||
"@encryption": {
|
"@encryption": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"encryptionNotEnabled": "O cifrado non está activado",
|
"encryptionNotEnabled": "A cifraxe non está activada",
|
||||||
"@encryptionNotEnabled": {
|
"@encryptionNotEnabled": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -805,11 +790,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"friday": "Venres",
|
|
||||||
"@friday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"fromJoining": "Desde que se una",
|
"fromJoining": "Desde que se una",
|
||||||
"@fromJoining": {
|
"@fromJoining": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1000,11 +980,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"keysCached": "Chaves almacenadas",
|
|
||||||
"@keysCached": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"kicked": "👞 {username} expulsou a {targetName}",
|
"kicked": "👞 {username} expulsou a {targetName}",
|
||||||
"@kicked": {
|
"@kicked": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1139,17 +1114,12 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"monday": "Luns",
|
|
||||||
"@monday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"muteChat": "Acalar chat",
|
"muteChat": "Acalar chat",
|
||||||
"@muteChat": {
|
"@muteChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"needPantalaimonWarning": "Ten en conta que polo de agora precisas Pantalaimon para o cifrado extremo-a-extremo.",
|
"needPantalaimonWarning": "Ten en conta que polo de agora precisas Pantalaimon para a cifraxe extremo-a-extremo.",
|
||||||
"@needPantalaimonWarning": {
|
"@needPantalaimonWarning": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -1189,7 +1159,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"noEncryptionForPublicRooms": "Só podes activar o cifrado tan pronto como a sala non sexa públicamente accesible.",
|
"noEncryptionForPublicRooms": "Só podes activar a cifraxe tan pronto como a sala non sexa públicamente accesible.",
|
||||||
"@noEncryptionForPublicRooms": {
|
"@noEncryptionForPublicRooms": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -1537,11 +1507,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"saturday": "Sábado",
|
|
||||||
"@saturday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"saveFile": "Gardar ficheiro",
|
"saveFile": "Gardar ficheiro",
|
||||||
"@saveFile": {
|
"@saveFile": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1780,11 +1745,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"sunday": "Domingo",
|
|
||||||
"@sunday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"synchronizingPleaseWait": "Sincronizando... Agarda.",
|
"synchronizingPleaseWait": "Sincronizando... Agarda.",
|
||||||
"@synchronizingPleaseWait": {
|
"@synchronizingPleaseWait": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1805,16 +1765,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"thisRoomHasBeenArchived": "A sala foi arquivada.",
|
|
||||||
"@thisRoomHasBeenArchived": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"thursday": "Xoves",
|
|
||||||
"@thursday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"title": "FluffyChat",
|
"title": "FluffyChat",
|
||||||
"@title": {
|
"@title": {
|
||||||
"description": "Title for the application",
|
"description": "Title for the application",
|
||||||
@ -1851,11 +1801,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"tuesday": "Martes",
|
|
||||||
"@tuesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"unavailable": "Non dispoñible",
|
"unavailable": "Non dispoñible",
|
||||||
"@unavailable": {
|
"@unavailable": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1879,7 +1824,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"unknownEncryptionAlgorithm": "Algoritmo de cifrado descoñecido",
|
"unknownEncryptionAlgorithm": "Algoritmo de cifraxe descoñecido",
|
||||||
"@unknownEncryptionAlgorithm": {
|
"@unknownEncryptionAlgorithm": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -2026,11 +1971,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"wednesday": "Mércores",
|
|
||||||
"@wednesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"weSentYouAnEmail": "Enviamosche un email",
|
"weSentYouAnEmail": "Enviamosche un email",
|
||||||
"@weSentYouAnEmail": {
|
"@weSentYouAnEmail": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2107,8 +2047,6 @@
|
|||||||
"@addToSpace": {},
|
"@addToSpace": {},
|
||||||
"scanQrCode": "Escanear código QR",
|
"scanQrCode": "Escanear código QR",
|
||||||
"@scanQrCode": {},
|
"@scanQrCode": {},
|
||||||
"typeInInviteLinkManually": "Escribe manualmente a ligazón do convite...",
|
|
||||||
"@typeInInviteLinkManually": {},
|
|
||||||
"shareYourInviteLink": "Comparte a túa ligazón de convite",
|
"shareYourInviteLink": "Comparte a túa ligazón de convite",
|
||||||
"@shareYourInviteLink": {},
|
"@shareYourInviteLink": {},
|
||||||
"sendOnEnter": "Enter para enviar",
|
"sendOnEnter": "Enter para enviar",
|
||||||
@ -2129,8 +2067,6 @@
|
|||||||
"@yourChatBackupHasBeenSetUp": {},
|
"@yourChatBackupHasBeenSetUp": {},
|
||||||
"unverified": "Sen verificar",
|
"unverified": "Sen verificar",
|
||||||
"@unverified": {},
|
"@unverified": {},
|
||||||
"yourUserId": "O teu ID:",
|
|
||||||
"@yourUserId": {},
|
|
||||||
"pleaseEnterValidEmail": "Escribe un enderezo de email válido.",
|
"pleaseEnterValidEmail": "Escribe un enderezo de email válido.",
|
||||||
"@pleaseEnterValidEmail": {},
|
"@pleaseEnterValidEmail": {},
|
||||||
"passwordsDoNotMatch": "Os contrasinais non concordan!",
|
"passwordsDoNotMatch": "Os contrasinais non concordan!",
|
||||||
@ -2167,7 +2103,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"description": "Usage hint for the command /discardsession"
|
"description": "Usage hint for the command /discardsession"
|
||||||
},
|
},
|
||||||
"commandHint_create": "Crear un grupo de conversa baleiro\nUsa --no-encryption para desactivar o cifrado",
|
"commandHint_create": "Crear un grupo de conversa baleiro\nUsa --no-encryption para desactivar a cifraxe",
|
||||||
"@commandHint_create": {
|
"@commandHint_create": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"description": "Usage hint for the command /create"
|
"description": "Usage hint for the command /create"
|
||||||
@ -2177,7 +2113,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"description": "Usage hint for the command /clearcache"
|
"description": "Usage hint for the command /clearcache"
|
||||||
},
|
},
|
||||||
"commandHint_dm": "Iniciar un chat directo\nUsa --no-encryption para desactivar o cifrado",
|
"commandHint_dm": "Iniciar un chat directo\nUsa --no-encryption para desactivar a cifraxe",
|
||||||
"@commandHint_dm": {
|
"@commandHint_dm": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"description": "Usage hint for the command /dm"
|
"description": "Usage hint for the command /dm"
|
||||||
@ -2388,8 +2324,6 @@
|
|||||||
"@pleaseEnterRecoveryKeyDescription": {},
|
"@pleaseEnterRecoveryKeyDescription": {},
|
||||||
"users": "Usuarias",
|
"users": "Usuarias",
|
||||||
"@users": {},
|
"@users": {},
|
||||||
"enableAutoBackups": "Activar copia automática",
|
|
||||||
"@enableAutoBackups": {},
|
|
||||||
"storeInSecureStorageDescription": "Gardar a chave de recuperación na almacenaxe segura deste dispositivo.",
|
"storeInSecureStorageDescription": "Gardar a chave de recuperación na almacenaxe segura deste dispositivo.",
|
||||||
"@storeInSecureStorageDescription": {},
|
"@storeInSecureStorageDescription": {},
|
||||||
"countFiles": "{count} ficheiros",
|
"countFiles": "{count} ficheiros",
|
||||||
@ -2400,8 +2334,6 @@
|
|||||||
},
|
},
|
||||||
"unlockOldMessages": "Desbloquear mensaxes antigas",
|
"unlockOldMessages": "Desbloquear mensaxes antigas",
|
||||||
"@unlockOldMessages": {},
|
"@unlockOldMessages": {},
|
||||||
"dehydrateShare": "Esta é a copia de apoio privada de FluffyChat. Pon coidado en non perdela e mantela segura.",
|
|
||||||
"@dehydrateShare": {},
|
|
||||||
"dehydrateTorLong": "Para usuarias de TOR, é recomendable exportar a sesión antes de pechar a ventál.",
|
"dehydrateTorLong": "Para usuarias de TOR, é recomendable exportar a sesión antes de pechar a ventál.",
|
||||||
"@dehydrateTorLong": {},
|
"@dehydrateTorLong": {},
|
||||||
"hydrateTor": "Usuarias TOR: Importar a sesión exportada",
|
"hydrateTor": "Usuarias TOR: Importar a sesión exportada",
|
||||||
@ -2511,15 +2443,13 @@
|
|||||||
"senderName": {}
|
"senderName": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"noSearchResult": "Non hai resultados para a busca.",
|
|
||||||
"@noSearchResult": {},
|
|
||||||
"enterInviteLinkOrMatrixId": "Escribe a ligazón de convite ou ID Matrix...",
|
"enterInviteLinkOrMatrixId": "Escribe a ligazón de convite ou ID Matrix...",
|
||||||
"@enterInviteLinkOrMatrixId": {},
|
"@enterInviteLinkOrMatrixId": {},
|
||||||
"encryptThisChat": "Cifrar esta conversa",
|
"encryptThisChat": "Cifrar esta conversa",
|
||||||
"@encryptThisChat": {},
|
"@encryptThisChat": {},
|
||||||
"endToEndEncryption": "Cifrado de extremo a extremo",
|
"endToEndEncryption": "Cifraxe de extremo a extremo",
|
||||||
"@endToEndEncryption": {},
|
"@endToEndEncryption": {},
|
||||||
"disableEncryptionWarning": "Por razóns de seguridade non podes desactivar o cifrado dunha conversa onde foi activado previamente.",
|
"disableEncryptionWarning": "Por razóns de seguridade non podes desactivar a cifraxe dunha conversa onde foi activada previamente.",
|
||||||
"@disableEncryptionWarning": {},
|
"@disableEncryptionWarning": {},
|
||||||
"sorryThatsNotPossible": "Lamentámolo... iso non é posible",
|
"sorryThatsNotPossible": "Lamentámolo... iso non é posible",
|
||||||
"@sorryThatsNotPossible": {},
|
"@sorryThatsNotPossible": {},
|
||||||
@ -2545,5 +2475,40 @@
|
|||||||
"noBackupWarning": "Aviso! Se non activas a copia de apoio do chat, perderás o acceso ás túas mensaxes cifradas. É totalmente recomendable activar a copia de apoio do chat antes de pechar a sesión.",
|
"noBackupWarning": "Aviso! Se non activas a copia de apoio do chat, perderás o acceso ás túas mensaxes cifradas. É totalmente recomendable activar a copia de apoio do chat antes de pechar a sesión.",
|
||||||
"@noBackupWarning": {},
|
"@noBackupWarning": {},
|
||||||
"fileIsTooBigForServer": "O servidor informa de que o ficheiro é demasiado grande para envialo.",
|
"fileIsTooBigForServer": "O servidor informa de que o ficheiro é demasiado grande para envialo.",
|
||||||
"@fileIsTooBigForServer": {}
|
"@fileIsTooBigForServer": {},
|
||||||
|
"fileHasBeenSavedAt": "Gardouse o ficheiro en {path}",
|
||||||
|
"@fileHasBeenSavedAt": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {
|
||||||
|
"path": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"jumpToLastReadMessage": "Ir á última mensaxe lida",
|
||||||
|
"@jumpToLastReadMessage": {},
|
||||||
|
"readUpToHere": "Lin ate aquí",
|
||||||
|
"@readUpToHere": {},
|
||||||
|
"openLinkInBrowser": "Abrir ligazón no navegador",
|
||||||
|
"@openLinkInBrowser": {},
|
||||||
|
"jump": "Ir alá",
|
||||||
|
"@jump": {},
|
||||||
|
"report": "informar",
|
||||||
|
"@report": {},
|
||||||
|
"allRooms": "Todas as Conversas en grupo",
|
||||||
|
"@allRooms": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {}
|
||||||
|
},
|
||||||
|
"reportErrorDescription": "Vaia! Algo fallou. Inténtao máis tarde. Se queres, podes informar do problema aos desenvolvedores.",
|
||||||
|
"@reportErrorDescription": {},
|
||||||
|
"discover": "Descubrir",
|
||||||
|
"@discover": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {}
|
||||||
|
},
|
||||||
|
"signInWithPassword": "Accede con contrasinal",
|
||||||
|
"@signInWithPassword": {},
|
||||||
|
"continueWith": "Continuar con:",
|
||||||
|
"@continueWith": {},
|
||||||
|
"pleaseTryAgainLaterOrChooseDifferentServer": "Inténtao máis tarde ou elixe un servidor diferente.",
|
||||||
|
"@pleaseTryAgainLaterOrChooseDifferentServer": {}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -61,11 +61,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"archivedRoom": "חדר בארכיון",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"areGuestsAllowedToJoin": "האם משתמשים אורחים מורשים להצטרף",
|
"areGuestsAllowedToJoin": "האם משתמשים אורחים מורשים להצטרף",
|
||||||
"@areGuestsAllowedToJoin": {
|
"@areGuestsAllowedToJoin": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -343,8 +338,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"yourUserId": "מזהה המשתמש שלך:",
|
|
||||||
"@yourUserId": {},
|
|
||||||
"yourChatBackupHasBeenSetUp": "גיבוי הצ'אט שלך הוגדר.",
|
"yourChatBackupHasBeenSetUp": "גיבוי הצ'אט שלך הוגדר.",
|
||||||
"@yourChatBackupHasBeenSetUp": {},
|
"@yourChatBackupHasBeenSetUp": {},
|
||||||
"chatBackup": "גיבוי צ'אט",
|
"chatBackup": "גיבוי צ'אט",
|
||||||
@ -477,11 +470,6 @@
|
|||||||
"username": {}
|
"username": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"crossSigningEnabled": "חתימה צולבת על",
|
|
||||||
"@crossSigningEnabled": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"currentlyActive": "פעיל כעת",
|
"currentlyActive": "פעיל כעת",
|
||||||
"@currentlyActive": {
|
"@currentlyActive": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -543,11 +531,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"discover": "לגלות",
|
|
||||||
"@discover": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"downloadFile": "הורד קובץ",
|
"downloadFile": "הורד קובץ",
|
||||||
"@downloadFile": {
|
"@downloadFile": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -630,11 +613,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"friday": "יום שישי",
|
|
||||||
"@friday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"fromJoining": "מהצטרפות",
|
"fromJoining": "מהצטרפות",
|
||||||
"@fromJoining": {
|
"@fromJoining": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -755,11 +733,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"keysCached": "המפתחות נשמרים במטמון",
|
|
||||||
"@keysCached": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"kicked": "{username} בעט ב {targetName}",
|
"kicked": "{username} בעט ב {targetName}",
|
||||||
"@kicked": {
|
"@kicked": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1146,8 +1119,6 @@
|
|||||||
},
|
},
|
||||||
"shareYourInviteLink": "שתף את קישור ההזמנה שלך",
|
"shareYourInviteLink": "שתף את קישור ההזמנה שלך",
|
||||||
"@shareYourInviteLink": {},
|
"@shareYourInviteLink": {},
|
||||||
"typeInInviteLinkManually": "הקלד את קישור ההזמנה באופן ידני...",
|
|
||||||
"@typeInInviteLinkManually": {},
|
|
||||||
"noRoomsFound": "לא נמצאו חדרים…",
|
"noRoomsFound": "לא נמצאו חדרים…",
|
||||||
"@noRoomsFound": {
|
"@noRoomsFound": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1312,11 +1283,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"monday": "יום שני",
|
|
||||||
"@monday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"noGoogleServicesWarning": "נראה שאין לך שירותי גוגל בטלפון שלך. זו החלטה טובה לפרטיות שלך! כדי לקבל התרעות ב- FluffyChat אנו ממליצים להשתמש https://microg.org/ או https://unifiedpush.org/.",
|
"noGoogleServicesWarning": "נראה שאין לך שירותי גוגל בטלפון שלך. זו החלטה טובה לפרטיות שלך! כדי לקבל התרעות ב- FluffyChat אנו ממליצים להשתמש https://microg.org/ או https://unifiedpush.org/.",
|
||||||
"@noGoogleServicesWarning": {
|
"@noGoogleServicesWarning": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
|
|||||||
@ -11,7 +11,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"acceptedTheInvitation": "{username} je prihvatio/la poziv",
|
"acceptedTheInvitation": "👍 {username} je prihvatio/la poziv",
|
||||||
"@acceptedTheInvitation": {
|
"@acceptedTheInvitation": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -23,7 +23,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"activatedEndToEndEncryption": "{username} je aktivirao/la obostrano šifriranje",
|
"activatedEndToEndEncryption": "🔐 {username} je aktivirao/la obostrano šifriranje",
|
||||||
"@activatedEndToEndEncryption": {
|
"@activatedEndToEndEncryption": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -77,11 +77,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"archivedRoom": "Arhivirana soba",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"areGuestsAllowedToJoin": "Smiju li se gosti pridružiti",
|
"areGuestsAllowedToJoin": "Smiju li se gosti pridružiti",
|
||||||
"@areGuestsAllowedToJoin": {
|
"@areGuestsAllowedToJoin": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -125,7 +120,7 @@
|
|||||||
"supportedVersions": {}
|
"supportedVersions": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"banFromChat": "Isključi iz chata",
|
"banFromChat": "Isključi iz razgovora",
|
||||||
"@banFromChat": {
|
"@banFromChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -175,7 +170,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"changedTheChatAvatar": "{username} je promijenio/la avatar chata",
|
"changedTheChatAvatar": "{username} je promijenio/la avatar razgovora",
|
||||||
"@changedTheChatAvatar": {
|
"@changedTheChatAvatar": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -198,7 +193,7 @@
|
|||||||
"chatname": {}
|
"chatname": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"changedTheChatPermissions": "{username} je promijenio/la dozvole chata",
|
"changedTheChatPermissions": "{username} je promijenio/la dozvole razgovora",
|
||||||
"@changedTheChatPermissions": {
|
"@changedTheChatPermissions": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -314,27 +309,27 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"chat": "Chat",
|
"chat": "Razgovor",
|
||||||
"@chat": {
|
"@chat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"chatBackup": "Sigurnosna kopija chata",
|
"chatBackup": "Sigurnosna kopija razgovora",
|
||||||
"@chatBackup": {
|
"@chatBackup": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"chatBackupDescription": "Sigurnosna kopija chata osigurana je ključem za obnavljanje. Pazi da ga ne izgubiš.",
|
"chatBackupDescription": "Tvoji su stari razgovori osigurani s ključem za obnavljanje. Pazi da ga ne izgubiš.",
|
||||||
"@chatBackupDescription": {
|
"@chatBackupDescription": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"chatDetails": "Detalji chata",
|
"chatDetails": "Detalji razgovora",
|
||||||
"@chatDetails": {
|
"@chatDetails": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"chats": "Chatovi",
|
"chats": "Razgovori",
|
||||||
"@chats": {
|
"@chats": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -356,7 +351,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"commandHint_ban": "Isključi korisnika iz ove sobe",
|
"commandHint_ban": "Isključi navedenog korisnika iz ove sobe",
|
||||||
"@commandHint_ban": {
|
"@commandHint_ban": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"description": "Usage hint for the command /ban"
|
"description": "Usage hint for the command /ban"
|
||||||
@ -366,17 +361,17 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"description": "Usage hint for the command /html"
|
"description": "Usage hint for the command /html"
|
||||||
},
|
},
|
||||||
"commandHint_invite": "Pozovi korisnika u ovu sobu",
|
"commandHint_invite": "Pozovi navedenog korisnika u ovu sobu",
|
||||||
"@commandHint_invite": {
|
"@commandHint_invite": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"description": "Usage hint for the command /invite"
|
"description": "Usage hint for the command /invite"
|
||||||
},
|
},
|
||||||
"commandHint_join": "Pridruži se zadanoj sobi",
|
"commandHint_join": "Pridruži se navedenoj sobi",
|
||||||
"@commandHint_join": {
|
"@commandHint_join": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"description": "Usage hint for the command /join"
|
"description": "Usage hint for the command /join"
|
||||||
},
|
},
|
||||||
"commandHint_kick": "Ukloni korisnika iz ove sobe",
|
"commandHint_kick": "Ukloni navedenog korisnika iz ove sobe",
|
||||||
"@commandHint_kick": {
|
"@commandHint_kick": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"description": "Usage hint for the command /kick"
|
"description": "Usage hint for the command /kick"
|
||||||
@ -391,7 +386,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"description": "Usage hint for the command /me"
|
"description": "Usage hint for the command /me"
|
||||||
},
|
},
|
||||||
"commandHint_myroomavatar": "Postavi svoju sliku za ovu sobu",
|
"commandHint_myroomavatar": "Postavi svoju sliku za ovu sobu (mxc-uri)",
|
||||||
"@commandHint_myroomavatar": {
|
"@commandHint_myroomavatar": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"description": "Usage hint for the command /myroomavatar"
|
"description": "Usage hint for the command /myroomavatar"
|
||||||
@ -401,7 +396,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"description": "Usage hint for the command /myroomnick"
|
"description": "Usage hint for the command /myroomnick"
|
||||||
},
|
},
|
||||||
"commandHint_op": "Postavi razinu prava zadanog korisnika (standardno: 50)",
|
"commandHint_op": "Postavi razinu prava navedenog korisnika (standardno: 50)",
|
||||||
"@commandHint_op": {
|
"@commandHint_op": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"description": "Usage hint for the command /op"
|
"description": "Usage hint for the command /op"
|
||||||
@ -421,7 +416,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"description": "Usage hint for the command /send"
|
"description": "Usage hint for the command /send"
|
||||||
},
|
},
|
||||||
"commandHint_unban": "Ponovo uključi korisnika u ovu sobu",
|
"commandHint_unban": "Ponovo uključi navedenog korisnika u ovu sobu",
|
||||||
"@commandHint_unban": {
|
"@commandHint_unban": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"description": "Usage hint for the command /unban"
|
"description": "Usage hint for the command /unban"
|
||||||
@ -438,17 +433,17 @@
|
|||||||
},
|
},
|
||||||
"description": "State that {command} is not a valid /command."
|
"description": "State that {command} is not a valid /command."
|
||||||
},
|
},
|
||||||
"compareEmojiMatch": "Usporedi i provjeri, poklapaju li se sljedeći emojiji s onima drugog uređaja:",
|
"compareEmojiMatch": "Usporedi emoji sličice",
|
||||||
"@compareEmojiMatch": {
|
"@compareEmojiMatch": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"compareNumbersMatch": "Usporedi i provjeri, poklapaju li se sljedeći brojevi s onima drugog uređaja:",
|
"compareNumbersMatch": "Usporedi brojeve",
|
||||||
"@compareNumbersMatch": {
|
"@compareNumbersMatch": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"configureChat": "Konfiguriraj chat",
|
"configureChat": "Konfiguriraj razgovor",
|
||||||
"@configureChat": {
|
"@configureChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -517,7 +512,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"createdTheChat": "{username} je stvorio/la chat",
|
"createdTheChat": "💬 {username} je započeo/la razgovor",
|
||||||
"@createdTheChat": {
|
"@createdTheChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -534,11 +529,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"crossSigningEnabled": "Unakrsno potpisivanje uključeno",
|
|
||||||
"@crossSigningEnabled": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"currentlyActive": "Trenutačno aktivni",
|
"currentlyActive": "Trenutačno aktivni",
|
||||||
"@currentlyActive": {
|
"@currentlyActive": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -619,16 +609,11 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"directChats": "Izravni chatovi",
|
"directChats": "Izravni razgovori",
|
||||||
"@directChats": {
|
"@directChats": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"discover": "Otkrij",
|
|
||||||
"@discover": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"displaynameHasBeenChanged": "Prikazno ime je promijenjeno",
|
"displaynameHasBeenChanged": "Prikazno ime je promijenjeno",
|
||||||
"@displaynameHasBeenChanged": {
|
"@displaynameHasBeenChanged": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -649,7 +634,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"editChatPermissions": "Uredi dozvole za chat",
|
"editChatPermissions": "Uredi dozvole za razgovor",
|
||||||
"@editChatPermissions": {
|
"@editChatPermissions": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -699,7 +684,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"emptyChat": "Prazan chat",
|
"emptyChat": "Prazan razgovor",
|
||||||
"@emptyChat": {
|
"@emptyChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -788,11 +773,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"friday": "Petak",
|
|
||||||
"@friday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"fromJoining": "Od pridruživanja",
|
"fromJoining": "Od pridruživanja",
|
||||||
"@fromJoining": {
|
"@fromJoining": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -940,7 +920,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"invitedUser": "{username} je pozvao/la {targetName}",
|
"invitedUser": "📩 {username} je pozvao/la {targetName}",
|
||||||
"@invitedUser": {
|
"@invitedUser": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -971,7 +951,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"joinedTheChat": "{username} se pridružio/la chatu",
|
"joinedTheChat": "👋 {username} se pridružio/la razgovoru",
|
||||||
"@joinedTheChat": {
|
"@joinedTheChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -983,12 +963,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"keysCached": "Ključevi su spremljeni u predmemoriji",
|
"kicked": "👞 {username} je izbacio/la {targetName}",
|
||||||
"@keysCached": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"kicked": "{username} je izbacio/la {targetName}",
|
|
||||||
"@kicked": {
|
"@kicked": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -996,7 +971,7 @@
|
|||||||
"targetName": {}
|
"targetName": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"kickedAndBanned": "{username} je izbacio/la i isključio/la {targetName}",
|
"kickedAndBanned": "🙅 {username} je izbacio/la i isključio/la {targetName}",
|
||||||
"@kickedAndBanned": {
|
"@kickedAndBanned": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -1004,7 +979,7 @@
|
|||||||
"targetName": {}
|
"targetName": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"kickFromChat": "Izbaci iz chata",
|
"kickFromChat": "Izbaci iz razgovora",
|
||||||
"@kickFromChat": {
|
"@kickFromChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -1026,7 +1001,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"leftTheChat": "Napustio/la je chat",
|
"leftTheChat": "Napustio/la je razgovor",
|
||||||
"@leftTheChat": {
|
"@leftTheChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -1112,12 +1087,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"monday": "Ponedjeljak",
|
"muteChat": "Isključi zvuk razgovora",
|
||||||
"@monday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"muteChat": "Isključi zvuk chata",
|
|
||||||
"@muteChat": {
|
"@muteChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -1127,12 +1097,12 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"newChat": "Novi chat",
|
"newChat": "Novi razgovor",
|
||||||
"@newChat": {
|
"@newChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"newMessageInFluffyChat": "Nova poruka u FluffyChatu",
|
"newMessageInFluffyChat": "💬 Nova poruka u FluffyChatu",
|
||||||
"@newMessageInFluffyChat": {
|
"@newMessageInFluffyChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -1447,7 +1417,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"unbanFromChat": "Ponovo uključi u chat",
|
"unbanFromChat": "Ponovo uključi u razgovor",
|
||||||
"@unbanFromChat": {
|
"@unbanFromChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -1492,11 +1462,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"saturday": "Subota",
|
|
||||||
"@saturday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"saveFile": "Spremi datoteku",
|
"saveFile": "Spremi datoteku",
|
||||||
"@saveFile": {
|
"@saveFile": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1584,35 +1549,35 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"sentAFile": "{username} ja poslao/la datoteku",
|
"sentAFile": "📁 {username} ja poslao/la datoteku",
|
||||||
"@sentAFile": {
|
"@sentAFile": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"username": {}
|
"username": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"sentAnAudio": "{username} ja poslao/la audio datoteku",
|
"sentAnAudio": "🎤 {username} ja poslao/la audio snimku",
|
||||||
"@sentAnAudio": {
|
"@sentAnAudio": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"username": {}
|
"username": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"sentAPicture": "{username} ja poslao/la sliku",
|
"sentAPicture": "🖼️ {username} ja poslao/la sliku",
|
||||||
"@sentAPicture": {
|
"@sentAPicture": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"username": {}
|
"username": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"sentASticker": "{username} je poslao/la naljepnicu",
|
"sentASticker": "😊 {username} je poslao/la naljepnicu",
|
||||||
"@sentASticker": {
|
"@sentASticker": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"username": {}
|
"username": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"sentAVideo": "{username} ja poslao/la video",
|
"sentAVideo": "🎥 {username} je poslao/la video",
|
||||||
"@sentAVideo": {
|
"@sentAVideo": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -1641,7 +1606,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"setInvitationLink": "Pošalji poveznicu za pozivnicu",
|
"setInvitationLink": "Pošalji poveznicu poziva",
|
||||||
"@setInvitationLink": {
|
"@setInvitationLink": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -1730,11 +1695,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"sunday": "Nedjelja",
|
|
||||||
"@sunday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"synchronizingPleaseWait": "Sinkronizira se … Pričekaj.",
|
"synchronizingPleaseWait": "Sinkronizira se … Pričekaj.",
|
||||||
"@synchronizingPleaseWait": {
|
"@synchronizingPleaseWait": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1755,16 +1715,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"thisRoomHasBeenArchived": "Ova soba je arhivirana.",
|
|
||||||
"@thisRoomHasBeenArchived": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"thursday": "Četvrtak",
|
|
||||||
"@thursday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"title": "FluffyChat",
|
"title": "FluffyChat",
|
||||||
"@title": {
|
"@title": {
|
||||||
"description": "Title for the application",
|
"description": "Title for the application",
|
||||||
@ -1801,11 +1751,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"tuesday": "Utorak",
|
|
||||||
"@tuesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"unavailable": "Nedostupno",
|
"unavailable": "Nedostupno",
|
||||||
"@unavailable": {
|
"@unavailable": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1841,7 +1786,7 @@
|
|||||||
"type": {}
|
"type": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"unmuteChat": "Uključi zvuk chata",
|
"unmuteChat": "Uključi zvuk razgovora",
|
||||||
"@unmuteChat": {
|
"@unmuteChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -1851,7 +1796,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"unreadChats": "{unreadCount, plural, =1{1 nepročitan chat} other{{unreadCount} nepročitana chata}}",
|
"unreadChats": "{unreadCount, plural, =1{1 nepročitan razgovor} few{{unreadCount} nepročitana razgovora} other{{unreadCount} nepročitanih razgovora}}",
|
||||||
"@unreadChats": {
|
"@unreadChats": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -1881,7 +1826,7 @@
|
|||||||
"username": {}
|
"username": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"userLeftTheChat": "{username} je napustio/la chat",
|
"userLeftTheChat": "🚪 {username} je napustio/la razgovor",
|
||||||
"@userLeftTheChat": {
|
"@userLeftTheChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -1931,7 +1876,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"visibilityOfTheChatHistory": "Vidljivost kronologije chata",
|
"visibilityOfTheChatHistory": "Vidljivost povijesti razgovora",
|
||||||
"@visibilityOfTheChatHistory": {
|
"@visibilityOfTheChatHistory": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -1976,11 +1921,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"wednesday": "Srijeda",
|
|
||||||
"@wednesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"weSentYouAnEmail": "Poslali smo ti e-poruku",
|
"weSentYouAnEmail": "Poslali smo ti e-poruku",
|
||||||
"@weSentYouAnEmail": {
|
"@weSentYouAnEmail": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2001,7 +1941,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"wipeChatBackup": "Izbrisati sigurnosnu kopiju chata za stvaranje novog sigurnosnog ključa za obnavljanje?",
|
"wipeChatBackup": "Izbrisati sigurnosnu kopiju razgovora za stvaranje novog sigurnosnog ključa za obnavljanje?",
|
||||||
"@wipeChatBackup": {
|
"@wipeChatBackup": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -2026,12 +1966,12 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"youAreInvitedToThisChat": "Pozvan/a si u ovaj chat",
|
"youAreInvitedToThisChat": "Pozvan/a si u ovaj razgovor",
|
||||||
"@youAreInvitedToThisChat": {
|
"@youAreInvitedToThisChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"youAreNoLongerParticipatingInThisChat": "Više ne sudjeluješ u ovom chatu",
|
"youAreNoLongerParticipatingInThisChat": "Više ne sudjeluješ u ovom razgovoru",
|
||||||
"@youAreNoLongerParticipatingInThisChat": {
|
"@youAreNoLongerParticipatingInThisChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -2041,7 +1981,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"youHaveBeenBannedFromThisChat": "Isključen/a si iz ovog chata",
|
"youHaveBeenBannedFromThisChat": "Isključen/a si iz ovog razgovora",
|
||||||
"@youHaveBeenBannedFromThisChat": {
|
"@youHaveBeenBannedFromThisChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -2096,12 +2036,12 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholder": {}
|
"placeholder": {}
|
||||||
},
|
},
|
||||||
"allChats": "Svi chatovi",
|
"allChats": "Svi razgovori",
|
||||||
"@allChats": {
|
"@allChats": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"chatHasBeenAddedToThisSpace": "Chat je dodan u ovaj prostor",
|
"chatHasBeenAddedToThisSpace": "Razgovor je dodan u ovaj prostor",
|
||||||
"@chatHasBeenAddedToThisSpace": {},
|
"@chatHasBeenAddedToThisSpace": {},
|
||||||
"addToSpace": "Dodaj u prostor",
|
"addToSpace": "Dodaj u prostor",
|
||||||
"@addToSpace": {},
|
"@addToSpace": {},
|
||||||
@ -2109,8 +2049,6 @@
|
|||||||
"@serverRequiresEmail": {},
|
"@serverRequiresEmail": {},
|
||||||
"scanQrCode": "Snimi QR kod",
|
"scanQrCode": "Snimi QR kod",
|
||||||
"@scanQrCode": {},
|
"@scanQrCode": {},
|
||||||
"typeInInviteLinkManually": "Upiši poveznicu za pozivnicu …",
|
|
||||||
"@typeInInviteLinkManually": {},
|
|
||||||
"shareYourInviteLink": "Dijeli svoju poveznicu za pozivnicu",
|
"shareYourInviteLink": "Dijeli svoju poveznicu za pozivnicu",
|
||||||
"@shareYourInviteLink": {},
|
"@shareYourInviteLink": {},
|
||||||
"homeserver": "Domaći poslužitelj",
|
"homeserver": "Domaći poslužitelj",
|
||||||
@ -2133,11 +2071,9 @@
|
|||||||
"@addAccount": {},
|
"@addAccount": {},
|
||||||
"oneClientLoggedOut": "Jedan od tvojih klijenata je odjavljen",
|
"oneClientLoggedOut": "Jedan od tvojih klijenata je odjavljen",
|
||||||
"@oneClientLoggedOut": {},
|
"@oneClientLoggedOut": {},
|
||||||
"yourUserId": "Tvoj korisnički ID:",
|
|
||||||
"@yourUserId": {},
|
|
||||||
"unverified": "Nepotvrđeno",
|
"unverified": "Nepotvrđeno",
|
||||||
"@unverified": {},
|
"@unverified": {},
|
||||||
"yourChatBackupHasBeenSetUp": "Sigurnosna kopija tvog chata je postavljena.",
|
"yourChatBackupHasBeenSetUp": "Sigurnosna kopija tvog razgovora je postavljena.",
|
||||||
"@yourChatBackupHasBeenSetUp": {},
|
"@yourChatBackupHasBeenSetUp": {},
|
||||||
"repeatPassword": "Ponovi lozinku",
|
"repeatPassword": "Ponovi lozinku",
|
||||||
"@repeatPassword": {},
|
"@repeatPassword": {},
|
||||||
@ -2166,7 +2102,7 @@
|
|||||||
"@time": {},
|
"@time": {},
|
||||||
"removeFromSpace": "Ukloni iz prostora",
|
"removeFromSpace": "Ukloni iz prostora",
|
||||||
"@removeFromSpace": {},
|
"@removeFromSpace": {},
|
||||||
"addToSpaceDescription": "Odaberi prostor za dodavanje ovog chata.",
|
"addToSpaceDescription": "Odaberi prostor kojem će se ovaj razgovor dodati.",
|
||||||
"@addToSpaceDescription": {},
|
"@addToSpaceDescription": {},
|
||||||
"start": "Početak",
|
"start": "Početak",
|
||||||
"@start": {},
|
"@start": {},
|
||||||
@ -2175,7 +2111,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"description": "Usage hint for the command /clearcache"
|
"description": "Usage hint for the command /clearcache"
|
||||||
},
|
},
|
||||||
"commandHint_create": "Stvori prazan grupni chat\nKoristi --no-encryption za deaktiviranje šifriranja",
|
"commandHint_create": "Stvori prazan grupni razgovor\nKoristi --no-encryption za deaktiviranje šifriranja",
|
||||||
"@commandHint_create": {
|
"@commandHint_create": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"description": "Usage hint for the command /create"
|
"description": "Usage hint for the command /create"
|
||||||
@ -2185,7 +2121,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"description": "Usage hint for the command /discardsession"
|
"description": "Usage hint for the command /discardsession"
|
||||||
},
|
},
|
||||||
"commandHint_dm": "Započni izravni chat\nKoristi --no-encryption za deaktiviranje šifriranja",
|
"commandHint_dm": "Započni izravni razgovor\nKoristi --no-encryption za deaktiviranje šifriranja",
|
||||||
"@commandHint_dm": {
|
"@commandHint_dm": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"description": "Usage hint for the command /dm"
|
"description": "Usage hint for the command /dm"
|
||||||
@ -2243,7 +2179,7 @@
|
|||||||
"@markAsRead": {},
|
"@markAsRead": {},
|
||||||
"reportUser": "Prijavi korisnika",
|
"reportUser": "Prijavi korisnika",
|
||||||
"@reportUser": {},
|
"@reportUser": {},
|
||||||
"openChat": "Otvori chat",
|
"openChat": "Otvori razgovor",
|
||||||
"@openChat": {},
|
"@openChat": {},
|
||||||
"dismiss": "Odbaci",
|
"dismiss": "Odbaci",
|
||||||
"@dismiss": {},
|
"@dismiss": {},
|
||||||
@ -2278,7 +2214,7 @@
|
|||||||
"@recoveryKey": {},
|
"@recoveryKey": {},
|
||||||
"recoveryKeyLost": "Izgubio/la si ključ za obnavljanje?",
|
"recoveryKeyLost": "Izgubio/la si ključ za obnavljanje?",
|
||||||
"@recoveryKeyLost": {},
|
"@recoveryKeyLost": {},
|
||||||
"youKickedAndBanned": "Izbacio/la si i isključio/la korisnika {user}",
|
"youKickedAndBanned": "🙅 Izbacio/la si i isključio/la korisnika {user}",
|
||||||
"@youKickedAndBanned": {
|
"@youKickedAndBanned": {
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"user": {}
|
"user": {}
|
||||||
@ -2306,7 +2242,7 @@
|
|||||||
"count": {}
|
"count": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"showDirectChatsInSpaces": "Pokaži povezane izravne chatove u prostorima",
|
"showDirectChatsInSpaces": "Pokaži povezane izravne razgovore u prostorima",
|
||||||
"@showDirectChatsInSpaces": {
|
"@showDirectChatsInSpaces": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -2341,33 +2277,33 @@
|
|||||||
"@addWidget": {},
|
"@addWidget": {},
|
||||||
"widgetNameError": "Zadaj prikazno ime.",
|
"widgetNameError": "Zadaj prikazno ime.",
|
||||||
"@widgetNameError": {},
|
"@widgetNameError": {},
|
||||||
"youRejectedTheInvitation": "Odbio/la si pozivnicu",
|
"youRejectedTheInvitation": "Odbio/la si poziv",
|
||||||
"@youRejectedTheInvitation": {},
|
"@youRejectedTheInvitation": {},
|
||||||
"errorAddingWidget": "Greška prilikom dodavanja widgeta.",
|
"errorAddingWidget": "Greška prilikom dodavanja widgeta.",
|
||||||
"@errorAddingWidget": {},
|
"@errorAddingWidget": {},
|
||||||
"youJoinedTheChat": "Pridružio/la si se chatu",
|
"youJoinedTheChat": "Pridružio/la si se razgovoru",
|
||||||
"@youJoinedTheChat": {},
|
"@youJoinedTheChat": {},
|
||||||
"youAcceptedTheInvitation": "Prihvatio/la si pozivnicu",
|
"youAcceptedTheInvitation": "👍 Prihvatio/la si poziv",
|
||||||
"@youAcceptedTheInvitation": {},
|
"@youAcceptedTheInvitation": {},
|
||||||
"youHaveWithdrawnTheInvitationFor": "Povukao/la si pozivniu za korisnika {user}",
|
"youHaveWithdrawnTheInvitationFor": "Povukao/la si poziv za korisnika {user}",
|
||||||
"@youHaveWithdrawnTheInvitationFor": {
|
"@youHaveWithdrawnTheInvitationFor": {
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"user": {}
|
"user": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"youInvitedBy": "{user} te je pozvao/la",
|
"youInvitedBy": "📩 {user} te je pozvao/la",
|
||||||
"@youInvitedBy": {
|
"@youInvitedBy": {
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"user": {}
|
"user": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"youInvitedUser": "Pozvao/la si korisnika {user}",
|
"youInvitedUser": "📩 Pozvao/la si korisnika {user}",
|
||||||
"@youInvitedUser": {
|
"@youInvitedUser": {
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"user": {}
|
"user": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"youKicked": "Izbacio/la si korisnika {user}",
|
"youKicked": "👞 Izbacio/la si korisnika {user}",
|
||||||
"@youKicked": {
|
"@youKicked": {
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"user": {}
|
"user": {}
|
||||||
@ -2381,10 +2317,6 @@
|
|||||||
},
|
},
|
||||||
"dehydrate": "Izvezi sesiju i izbriši uređaj",
|
"dehydrate": "Izvezi sesiju i izbriši uređaj",
|
||||||
"@dehydrate": {},
|
"@dehydrate": {},
|
||||||
"dehydrateShare": "Ovo je tvoj privatni FluffyChat izvoz. Osiguraj da ga ne izgubiš i zadrži ga privatnim.",
|
|
||||||
"@dehydrateShare": {},
|
|
||||||
"enableAutoBackups": "Uključi automatsko spremanje sigurnosnih kopija",
|
|
||||||
"@enableAutoBackups": {},
|
|
||||||
"unlockOldMessages": "Otključaj stare poruke",
|
"unlockOldMessages": "Otključaj stare poruke",
|
||||||
"@unlockOldMessages": {},
|
"@unlockOldMessages": {},
|
||||||
"storeInSecureStorageDescription": "Ključ za obnavljanje spremi u sigurno spremište na ovom uređaju.",
|
"storeInSecureStorageDescription": "Ključ za obnavljanje spremi u sigurno spremište na ovom uređaju.",
|
||||||
@ -2393,14 +2325,14 @@
|
|||||||
"@saveKeyManuallyDescription": {},
|
"@saveKeyManuallyDescription": {},
|
||||||
"storeInAndroidKeystore": "Spremi u Android KeyStore",
|
"storeInAndroidKeystore": "Spremi u Android KeyStore",
|
||||||
"@storeInAndroidKeystore": {},
|
"@storeInAndroidKeystore": {},
|
||||||
"separateChatTypes": "Odvojeni izravni chatovi, grupe i prostori",
|
"separateChatTypes": "Odvojeni izravni razgovori, grupe i prostori",
|
||||||
"@separateChatTypes": {
|
"@separateChatTypes": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"dehydrateTorLong": "Korisnicima TOR-a preporučuje se izvoz sesije prije zatvaranja prozora.",
|
"dehydrateTorLong": "Korisnicima TOR-a preporučuje se izvoz sesije prije zatvaranja prozora.",
|
||||||
"@dehydrateTorLong": {},
|
"@dehydrateTorLong": {},
|
||||||
"hydrateTorLong": "Je li zadnji izvoz sesije bio na TOR-u? Brzo ga uvezi i nastavi čavrljati.",
|
"hydrateTorLong": "Je li zadnji izvoz sesije bio na TOR-u? Brzo ga uvezi i nastavi razgovarati.",
|
||||||
"@hydrateTorLong": {},
|
"@hydrateTorLong": {},
|
||||||
"hydrate": "Obnovi pomoću sigurnosne kopije",
|
"hydrate": "Obnovi pomoću sigurnosne kopije",
|
||||||
"@hydrate": {},
|
"@hydrate": {},
|
||||||
@ -2427,5 +2359,156 @@
|
|||||||
"updateAvailable": "Dostupna je nova FluffyChat verzija",
|
"updateAvailable": "Dostupna je nova FluffyChat verzija",
|
||||||
"@updateAvailable": {},
|
"@updateAvailable": {},
|
||||||
"updateNow": "Pokreni aktuliziranje u pozadini",
|
"updateNow": "Pokreni aktuliziranje u pozadini",
|
||||||
"@updateNow": {}
|
"@updateNow": {},
|
||||||
|
"fileHasBeenSavedAt": "Datoteka je spremljena u {path}",
|
||||||
|
"@fileHasBeenSavedAt": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {
|
||||||
|
"path": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"numChats": "{number} razgovora",
|
||||||
|
"@numChats": {
|
||||||
|
"type": "number",
|
||||||
|
"placeholders": {
|
||||||
|
"number": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"enterInviteLinkOrMatrixId": "Upiši poveznicu poziva ili Matrix ID …",
|
||||||
|
"@enterInviteLinkOrMatrixId": {},
|
||||||
|
"fileIsTooBigForServer": "Poslužitelj javlja da je datoteka prevelika za slanje.",
|
||||||
|
"@fileIsTooBigForServer": {},
|
||||||
|
"jumpToLastReadMessage": "Skoči na zadnju pročitanu poruku",
|
||||||
|
"@jumpToLastReadMessage": {},
|
||||||
|
"commandHint_markasdm": "Označi kao sobu za izravnu razmjenu poruka",
|
||||||
|
"@commandHint_markasdm": {},
|
||||||
|
"commandHint_markasgroup": "Označi kao grupu",
|
||||||
|
"@commandHint_markasgroup": {},
|
||||||
|
"hideUnimportantStateEvents": "Sakrij nevažna stanja događaja",
|
||||||
|
"@hideUnimportantStateEvents": {},
|
||||||
|
"doNotShowAgain": "Nemoj više prikazivati",
|
||||||
|
"@doNotShowAgain": {},
|
||||||
|
"readUpToHere": "Pročitaj do ovdje",
|
||||||
|
"@readUpToHere": {},
|
||||||
|
"wasDirectChatDisplayName": "Prazan razgovor (zvao se {oldDisplayName})",
|
||||||
|
"@wasDirectChatDisplayName": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {
|
||||||
|
"oldDisplayName": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"noBackupWarning": "Upozorenje! Bez aktiviranja spremanja sigurnosne kopije razgovora, izgubit ćeš pristup tvojim šifriranim porukama. Preporučujemo spremanje sigurnosne kopije razgovora prije odjave.",
|
||||||
|
"@noBackupWarning": {},
|
||||||
|
"noOtherDevicesFound": "Nijedan drugi uređaj nije pronađen",
|
||||||
|
"@noOtherDevicesFound": {},
|
||||||
|
"whyIsThisMessageEncrypted": "Zašto nije moguće čitati ovu poruku?",
|
||||||
|
"@whyIsThisMessageEncrypted": {},
|
||||||
|
"jump": "Skoči",
|
||||||
|
"@jump": {},
|
||||||
|
"startFirstChat": "Započni svoj prvi razgovor",
|
||||||
|
"@startFirstChat": {},
|
||||||
|
"newSpaceDescription": "Prostori omogućuju konsolidiranje tvojih razgovora i izgradnju privatne ili javne zajednice.",
|
||||||
|
"@newSpaceDescription": {},
|
||||||
|
"encryptThisChat": "Šifiraj ovaj razgovor",
|
||||||
|
"@encryptThisChat": {},
|
||||||
|
"endToEndEncryption": "Obostrano šifriranje",
|
||||||
|
"@endToEndEncryption": {},
|
||||||
|
"deviceKeys": "Ključevi uređaja:",
|
||||||
|
"@deviceKeys": {},
|
||||||
|
"foregroundServiceRunning": "Ova se obavijest pojavljuje kada se pokreće usluga u prvom planu.",
|
||||||
|
"@foregroundServiceRunning": {},
|
||||||
|
"callingPermissions": "Dozvole za pozivanje",
|
||||||
|
"@callingPermissions": {},
|
||||||
|
"callingAccountDetails": "Omogućuje FluffyChatu korištenje izvorne Android aplikacije za pozivanje.",
|
||||||
|
"@callingAccountDetails": {},
|
||||||
|
"callingAccount": "Račun za pozivanje",
|
||||||
|
"@callingAccount": {},
|
||||||
|
"commandHint_hug": "Pošalji grljenje",
|
||||||
|
"@commandHint_hug": {},
|
||||||
|
"commandHint_googly": "Pošalji kotrljajuće oči",
|
||||||
|
"@commandHint_googly": {},
|
||||||
|
"commandHint_cuddle": "Pošalji maženje",
|
||||||
|
"@commandHint_cuddle": {},
|
||||||
|
"confirmMatrixId": "Za brisanje tvog računa potvrdi svoj Matrix ID.",
|
||||||
|
"@confirmMatrixId": {},
|
||||||
|
"supposedMxid": "Trebao bi biti {mxid}",
|
||||||
|
"@supposedMxid": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {
|
||||||
|
"mxid": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"letsStart": "Započnimo",
|
||||||
|
"@letsStart": {},
|
||||||
|
"enterRoom": "Uđi u sobu",
|
||||||
|
"@enterRoom": {},
|
||||||
|
"screenSharingDetail": "Dijeliš svoj ekran u FuffyChatu",
|
||||||
|
"@screenSharingDetail": {},
|
||||||
|
"appearOnTopDetails": "Omogućuje prikaz aplikacije ispred drugih (nije potrebno ako je FluffyChat već postavljen kao račun za pozivanje)",
|
||||||
|
"@appearOnTopDetails": {},
|
||||||
|
"appearOnTop": "Prikaz ispred drugih",
|
||||||
|
"@appearOnTop": {},
|
||||||
|
"newGroup": "Nova grupa",
|
||||||
|
"@newGroup": {},
|
||||||
|
"allSpaces": "Svi prostori",
|
||||||
|
"@allSpaces": {},
|
||||||
|
"screenSharingTitle": "dijeljenje ekrana",
|
||||||
|
"@screenSharingTitle": {},
|
||||||
|
"otherCallingPermissions": "Mikrofon, kamera i druge FluffyChat dozvole",
|
||||||
|
"@otherCallingPermissions": {},
|
||||||
|
"enterSpace": "Uđi u prostor",
|
||||||
|
"@enterSpace": {},
|
||||||
|
"newSpace": "Novi prostor",
|
||||||
|
"@newSpace": {},
|
||||||
|
"sorryThatsNotPossible": "Žao nam je … to nije moguće",
|
||||||
|
"@sorryThatsNotPossible": {},
|
||||||
|
"disableEncryptionWarning": "Iz sigurnosnih razloga ne možeš deaktivirati šifriranje u razgovoru u kojem je prije bilo aktivirano.",
|
||||||
|
"@disableEncryptionWarning": {},
|
||||||
|
"googlyEyesContent": "{senderName} ti šalje kotrljajuće oči",
|
||||||
|
"@googlyEyesContent": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {
|
||||||
|
"senderName": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cuddleContent": "{senderName} te mazi",
|
||||||
|
"@cuddleContent": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {
|
||||||
|
"senderName": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hugContent": "{senderName} te grli",
|
||||||
|
"@hugContent": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {
|
||||||
|
"senderName": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"noKeyForThisMessage": "To se može dogoditi ako je poruka poslana prije prijave na tvoj račun na ovom uređaju.\n\nTakođer je moguće da je pošiljatelj blokirao tvoj uređaj ili je došlo do greške s internetskom vezom.\n\nMožeš li pročitati poruku na jednoj drugoj sesiji? U tom slučaju možeš prenijeti poruku iz nje! Idi na Postavke > Uređaji i uvjeri se da su se tvoji uređaji međusobno provjerili. Kada sljedeći put otvoriš sobu i obje sesije su u prednjem planu, ključevi će se automatski prenijeti.\n\nNe želiš izgubiti ključeve kada se odjaviš ili zamijeniš uređaje? Aktiviraj spremanje sigurnosne kopije razgovora u postavkama.",
|
||||||
|
"@noKeyForThisMessage": {},
|
||||||
|
"reopenChat": "Ponovo otvori razgovor",
|
||||||
|
"@reopenChat": {},
|
||||||
|
"openLinkInBrowser": "Otvori poveznicu u pregledniku",
|
||||||
|
"@openLinkInBrowser": {},
|
||||||
|
"discover": "Otkrij",
|
||||||
|
"@discover": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {}
|
||||||
|
},
|
||||||
|
"report": "prijavi",
|
||||||
|
"@report": {},
|
||||||
|
"allRooms": "Svi grupni razgovori",
|
||||||
|
"@allRooms": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {}
|
||||||
|
},
|
||||||
|
"reportErrorDescription": "Dogodila se greška. Pokušaj ponovo kasnije. Ako želiš, grešku možeš prijaviti programerima.",
|
||||||
|
"@reportErrorDescription": {},
|
||||||
|
"signInWithPassword": "Prijavi se s lozinkom",
|
||||||
|
"@signInWithPassword": {},
|
||||||
|
"continueWith": "Nastavi sa:",
|
||||||
|
"@continueWith": {},
|
||||||
|
"pleaseTryAgainLaterOrChooseDifferentServer": "Pokušaj ponovo kasnije ili odaberi jedan drugi poslužitelj.",
|
||||||
|
"@pleaseTryAgainLaterOrChooseDifferentServer": {}
|
||||||
}
|
}
|
||||||
@ -62,11 +62,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"archivedRoom": "Archivált szoba",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"areGuestsAllowedToJoin": "Csatlakozhatnak-e vendégek",
|
"areGuestsAllowedToJoin": "Csatlakozhatnak-e vendégek",
|
||||||
"@areGuestsAllowedToJoin": {
|
"@areGuestsAllowedToJoin": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -347,11 +342,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"crossSigningEnabled": "Eszközök közti aláírás bekapcsolva",
|
|
||||||
"@crossSigningEnabled": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"currentlyActive": "Jelenleg aktív",
|
"currentlyActive": "Jelenleg aktív",
|
||||||
"@currentlyActive": {
|
"@currentlyActive": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -524,11 +514,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"friday": "Péntek",
|
|
||||||
"@friday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"fromJoining": "Csatlakozás óta",
|
"fromJoining": "Csatlakozás óta",
|
||||||
"@fromJoining": {
|
"@fromJoining": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -684,11 +669,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"keysCached": "Kulcsok gyorsítótárazva",
|
|
||||||
"@keysCached": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"kicked": "👞 {username} kirúgta {targetName}-t",
|
"kicked": "👞 {username} kirúgta {targetName}-t",
|
||||||
"@kicked": {
|
"@kicked": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -796,11 +776,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"monday": "Hétfő",
|
|
||||||
"@monday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"muteChat": "Csevegés némítása",
|
"muteChat": "Csevegés némítása",
|
||||||
"@muteChat": {
|
"@muteChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1029,11 +1004,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"saturday": "Szombat",
|
|
||||||
"@saturday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"seenByUser": "{username} látta",
|
"seenByUser": "{username} látta",
|
||||||
"@seenByUser": {
|
"@seenByUser": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1198,11 +1168,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"sunday": "Vasárnap",
|
|
||||||
"@sunday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"systemTheme": "Rendszer",
|
"systemTheme": "Rendszer",
|
||||||
"@systemTheme": {
|
"@systemTheme": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1218,16 +1183,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"thisRoomHasBeenArchived": "Ez a szoba archiválva lett.",
|
|
||||||
"@thisRoomHasBeenArchived": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"thursday": "Csütörtök",
|
|
||||||
"@thursday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"title": "FluffyChat",
|
"title": "FluffyChat",
|
||||||
"@title": {
|
"@title": {
|
||||||
"description": "Title for the application",
|
"description": "Title for the application",
|
||||||
@ -1239,11 +1194,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"tuesday": "Kedd",
|
|
||||||
"@tuesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"unavailable": "Nem érhető el",
|
"unavailable": "Nem érhető el",
|
||||||
"@unavailable": {
|
"@unavailable": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1409,11 +1359,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"wednesday": "Szerda",
|
|
||||||
"@wednesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"whoIsAllowedToJoinThisGroup": "Ki csatlakozhat a csoporthoz",
|
"whoIsAllowedToJoinThisGroup": "Ki csatlakozhat a csoporthoz",
|
||||||
"@whoIsAllowedToJoinThisGroup": {
|
"@whoIsAllowedToJoinThisGroup": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1550,8 +1495,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"yourUserId": "Saját Matrix címed:",
|
|
||||||
"@yourUserId": {},
|
|
||||||
"addToSpace": "Hozzáadás térhez",
|
"addToSpace": "Hozzáadás térhez",
|
||||||
"@addToSpace": {},
|
"@addToSpace": {},
|
||||||
"areYouSureYouWantToLogout": "Biztos, hogy kijelentkezel?",
|
"areYouSureYouWantToLogout": "Biztos, hogy kijelentkezel?",
|
||||||
@ -1682,8 +1625,6 @@
|
|||||||
},
|
},
|
||||||
"scanQrCode": "QR kód beolvasása",
|
"scanQrCode": "QR kód beolvasása",
|
||||||
"@scanQrCode": {},
|
"@scanQrCode": {},
|
||||||
"typeInInviteLinkManually": "Meghívási link beírása...",
|
|
||||||
"@typeInInviteLinkManually": {},
|
|
||||||
"notificationsEnabledForThisAccount": "Értesítések bekapcsolása ebben a fiókban",
|
"notificationsEnabledForThisAccount": "Értesítések bekapcsolása ebben a fiókban",
|
||||||
"@notificationsEnabledForThisAccount": {
|
"@notificationsEnabledForThisAccount": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1846,11 +1787,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"discover": "Felfedezés",
|
|
||||||
"@discover": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"errorObtainingLocation": "Hiba a tartózkodási hely lekérése közben: {error}",
|
"errorObtainingLocation": "Hiba a tartózkodási hely lekérése közben: {error}",
|
||||||
"@errorObtainingLocation": {
|
"@errorObtainingLocation": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2030,8 +1966,6 @@
|
|||||||
},
|
},
|
||||||
"commandHint_hug": "Ölelés küldése",
|
"commandHint_hug": "Ölelés küldése",
|
||||||
"@commandHint_hug": {},
|
"@commandHint_hug": {},
|
||||||
"dehydrateShare": "Ez egy privát FluffyChat-export. Tartsa biztonságban, és ne vessze el.",
|
|
||||||
"@dehydrateShare": {},
|
|
||||||
"reason": "Ok",
|
"reason": "Ok",
|
||||||
"@reason": {
|
"@reason": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2047,8 +1981,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"noSearchResult": "Nincs megfelelő találat.",
|
|
||||||
"@noSearchResult": {},
|
|
||||||
"googlyEyesContent": "{senderName} gülüszemeket küld",
|
"googlyEyesContent": "{senderName} gülüszemeket küld",
|
||||||
"@googlyEyesContent": {
|
"@googlyEyesContent": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
|
|||||||
@ -247,11 +247,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"friday": "Jumat",
|
|
||||||
"@friday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"forward": "Teruskan",
|
"forward": "Teruskan",
|
||||||
"@forward": {
|
"@forward": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -449,11 +444,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"crossSigningEnabled": "Tanda tangan silang dinyalakan",
|
|
||||||
"@crossSigningEnabled": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"createNewGroup": "Buat grup baru",
|
"createNewGroup": "Buat grup baru",
|
||||||
"@createNewGroup": {
|
"@createNewGroup": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -729,11 +719,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"archivedRoom": "Ruangan yang Diarsipkan",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"appLock": "Kunci aplikasi",
|
"appLock": "Kunci aplikasi",
|
||||||
"@appLock": {
|
"@appLock": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -885,11 +870,6 @@
|
|||||||
"targetName": {}
|
"targetName": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"keysCached": "Kunci telah ditembolok",
|
|
||||||
"@keysCached": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"joinRoom": "Bergabung dengan ruangan",
|
"joinRoom": "Bergabung dengan ruangan",
|
||||||
"@joinRoom": {
|
"@joinRoom": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -967,11 +947,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"monday": "Senin",
|
|
||||||
"@monday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"moderator": "Moderator",
|
"moderator": "Moderator",
|
||||||
"@moderator": {
|
"@moderator": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1176,11 +1151,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"wednesday": "Rabu",
|
|
||||||
"@wednesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"warning": "Peringatan!",
|
"warning": "Peringatan!",
|
||||||
"@warning": {
|
"@warning": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1334,11 +1304,6 @@
|
|||||||
"targetName": {}
|
"targetName": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"tuesday": "Selasa",
|
|
||||||
"@tuesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"tryToSendAgain": "Coba kirim lagi",
|
"tryToSendAgain": "Coba kirim lagi",
|
||||||
"@tryToSendAgain": {
|
"@tryToSendAgain": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1370,16 +1335,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"thursday": "Kamis",
|
|
||||||
"@thursday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"thisRoomHasBeenArchived": "Ruangan ini telah diarsipkan.",
|
|
||||||
"@thisRoomHasBeenArchived": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"theyMatch": "Cocok",
|
"theyMatch": "Cocok",
|
||||||
"@theyMatch": {
|
"@theyMatch": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1400,11 +1355,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"sunday": "Minggu",
|
|
||||||
"@sunday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"submit": "Kirim",
|
"submit": "Kirim",
|
||||||
"@submit": {
|
"@submit": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1775,8 +1725,6 @@
|
|||||||
},
|
},
|
||||||
"scanQrCode": "Pindai kode QR",
|
"scanQrCode": "Pindai kode QR",
|
||||||
"@scanQrCode": {},
|
"@scanQrCode": {},
|
||||||
"typeInInviteLinkManually": "Masukkan tautan undangan secara manual...",
|
|
||||||
"@typeInInviteLinkManually": {},
|
|
||||||
"shareYourInviteLink": "Bagikan tautan undanganmu",
|
"shareYourInviteLink": "Bagikan tautan undanganmu",
|
||||||
"@shareYourInviteLink": {},
|
"@shareYourInviteLink": {},
|
||||||
"noMatrixServer": "{server1} itu bukan server Matrix, gunakan {server2} saja?",
|
"noMatrixServer": "{server1} itu bukan server Matrix, gunakan {server2} saja?",
|
||||||
@ -1885,11 +1833,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"discover": "Temukan",
|
|
||||||
"@discover": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"defaultPermissionLevel": "Level izin default",
|
"defaultPermissionLevel": "Level izin default",
|
||||||
"@defaultPermissionLevel": {
|
"@defaultPermissionLevel": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2068,11 +2011,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"saturday": "Sabtu",
|
|
||||||
"@saturday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"removeDevice": "Hapus perangkat",
|
"removeDevice": "Hapus perangkat",
|
||||||
"@removeDevice": {
|
"@removeDevice": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2134,8 +2072,6 @@
|
|||||||
"@link": {},
|
"@link": {},
|
||||||
"yourChatBackupHasBeenSetUp": "Cadangan obrolanmu telah disiapkan.",
|
"yourChatBackupHasBeenSetUp": "Cadangan obrolanmu telah disiapkan.",
|
||||||
"@yourChatBackupHasBeenSetUp": {},
|
"@yourChatBackupHasBeenSetUp": {},
|
||||||
"yourUserId": "ID penggunamu:",
|
|
||||||
"@yourUserId": {},
|
|
||||||
"unverified": "Tidak terverifikasi",
|
"unverified": "Tidak terverifikasi",
|
||||||
"@unverified": {},
|
"@unverified": {},
|
||||||
"pleaseEnterValidEmail": "Mohon masukkan alamat email yang valid.",
|
"pleaseEnterValidEmail": "Mohon masukkan alamat email yang valid.",
|
||||||
@ -2389,8 +2325,6 @@
|
|||||||
"@recoveryKeyLost": {},
|
"@recoveryKeyLost": {},
|
||||||
"storeInAndroidKeystore": "Simpan di Android KeyStore",
|
"storeInAndroidKeystore": "Simpan di Android KeyStore",
|
||||||
"@storeInAndroidKeystore": {},
|
"@storeInAndroidKeystore": {},
|
||||||
"enableAutoBackups": "Aktifkan cadangan otomatis",
|
|
||||||
"@enableAutoBackups": {},
|
|
||||||
"storeSecurlyOnThisDevice": "Simpan secara aman di perangkat ini",
|
"storeSecurlyOnThisDevice": "Simpan secara aman di perangkat ini",
|
||||||
"@storeSecurlyOnThisDevice": {},
|
"@storeSecurlyOnThisDevice": {},
|
||||||
"countFiles": "{count} file",
|
"countFiles": "{count} file",
|
||||||
@ -2399,8 +2333,6 @@
|
|||||||
"count": {}
|
"count": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dehydrateShare": "Ini adalah ekspor FluffyChat privat kamu. Pastikan kamu tidak menghilangkannya dan tetap rahasia.",
|
|
||||||
"@dehydrateShare": {},
|
|
||||||
"hydrate": "Pulihkan dari file cadangan",
|
"hydrate": "Pulihkan dari file cadangan",
|
||||||
"@hydrate": {},
|
"@hydrate": {},
|
||||||
"indexedDbErrorTitle": "Masalah dengan mode privat",
|
"indexedDbErrorTitle": "Masalah dengan mode privat",
|
||||||
@ -2531,8 +2463,6 @@
|
|||||||
"@endToEndEncryption": {},
|
"@endToEndEncryption": {},
|
||||||
"disableEncryptionWarning": "Demi keamanan kamu tidak bisa menonaktifkan enkripsi dalam sebuah obrolan di mana sebelumbya sudah diaktifkan.",
|
"disableEncryptionWarning": "Demi keamanan kamu tidak bisa menonaktifkan enkripsi dalam sebuah obrolan di mana sebelumbya sudah diaktifkan.",
|
||||||
"@disableEncryptionWarning": {},
|
"@disableEncryptionWarning": {},
|
||||||
"noSearchResult": "Tidak ada hasil pencarian yang cocok.",
|
|
||||||
"@noSearchResult": {},
|
|
||||||
"letsStart": "Mari kita mulai",
|
"letsStart": "Mari kita mulai",
|
||||||
"@letsStart": {},
|
"@letsStart": {},
|
||||||
"enterInviteLinkOrMatrixId": "Masukkan tautan undangan atau ID Matrix...",
|
"enterInviteLinkOrMatrixId": "Masukkan tautan undangan atau ID Matrix...",
|
||||||
@ -2544,5 +2474,40 @@
|
|||||||
"noOtherDevicesFound": "Tidak ada perangkat lain yang ditemukan",
|
"noOtherDevicesFound": "Tidak ada perangkat lain yang ditemukan",
|
||||||
"@noOtherDevicesFound": {},
|
"@noOtherDevicesFound": {},
|
||||||
"fileIsTooBigForServer": "Server melaporkan bahwa file terlalu besar untuk dikirim.",
|
"fileIsTooBigForServer": "Server melaporkan bahwa file terlalu besar untuk dikirim.",
|
||||||
"@fileIsTooBigForServer": {}
|
"@fileIsTooBigForServer": {},
|
||||||
|
"fileHasBeenSavedAt": "Berkas telah disimpan di {path}",
|
||||||
|
"@fileHasBeenSavedAt": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {
|
||||||
|
"path": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"jumpToLastReadMessage": "Pergi ke pesan terakhir dibaca",
|
||||||
|
"@jumpToLastReadMessage": {},
|
||||||
|
"readUpToHere": "Baca sampai sini",
|
||||||
|
"@readUpToHere": {},
|
||||||
|
"jump": "Lompat",
|
||||||
|
"@jump": {},
|
||||||
|
"openLinkInBrowser": "Buka tautan dalam peramban",
|
||||||
|
"@openLinkInBrowser": {},
|
||||||
|
"discover": "Jelajahi",
|
||||||
|
"@discover": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {}
|
||||||
|
},
|
||||||
|
"allRooms": "Semua Percakapan Grup",
|
||||||
|
"@allRooms": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {}
|
||||||
|
},
|
||||||
|
"report": "laporkan",
|
||||||
|
"@report": {},
|
||||||
|
"reportErrorDescription": "Aduh. Ada yang salah. Silakan coba lahi nanti. Jika kamu mau, kamu bisa melaporkan kutu ini kepada para pengembang.",
|
||||||
|
"@reportErrorDescription": {},
|
||||||
|
"signInWithPassword": "Masuk dengan kata sandi",
|
||||||
|
"@signInWithPassword": {},
|
||||||
|
"continueWith": "Lanjutkan dengan:",
|
||||||
|
"@continueWith": {},
|
||||||
|
"pleaseTryAgainLaterOrChooseDifferentServer": "Silakan coba lagi nanti atau pilih server yang lain.",
|
||||||
|
"@pleaseTryAgainLaterOrChooseDifferentServer": {}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -34,11 +34,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"discover": "Decovrir",
|
|
||||||
"@discover": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"containsUserName": "Contene li nómine",
|
"containsUserName": "Contene li nómine",
|
||||||
"@containsUserName": {
|
"@containsUserName": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -189,11 +184,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"keysCached": "Claves es in cache",
|
|
||||||
"@keysCached": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"lastActiveAgo": "Ultim activité: {localizedTimeShort}",
|
"lastActiveAgo": "Ultim activité: {localizedTimeShort}",
|
||||||
"@lastActiveAgo": {
|
"@lastActiveAgo": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -340,11 +330,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"tuesday": "Mardí",
|
|
||||||
"@tuesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"unavailable": "Índisponibil",
|
"unavailable": "Índisponibil",
|
||||||
"@unavailable": {
|
"@unavailable": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -465,11 +450,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"saturday": "Saturdí",
|
|
||||||
"@saturday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"dateWithYear": "{day}.{month}.{year}",
|
"dateWithYear": "{day}.{month}.{year}",
|
||||||
"@dateWithYear": {
|
"@dateWithYear": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -494,11 +474,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"friday": "Venerdí",
|
|
||||||
"@friday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"lightTheme": "Lucid",
|
"lightTheme": "Lucid",
|
||||||
"@lightTheme": {
|
"@lightTheme": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -529,11 +504,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"thursday": "Jovedí",
|
|
||||||
"@thursday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"username": "Nómine de usator",
|
"username": "Nómine de usator",
|
||||||
"@username": {
|
"@username": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -544,11 +514,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"wednesday": "Mercurdí",
|
|
||||||
"@wednesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"submit": "Inviar",
|
"submit": "Inviar",
|
||||||
"@submit": {
|
"@submit": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -683,11 +648,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"archivedRoom": "Archivat chambre",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"changePassword": "Cambiar li contrasigne",
|
"changePassword": "Cambiar li contrasigne",
|
||||||
"@changePassword": {
|
"@changePassword": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -970,8 +930,6 @@
|
|||||||
},
|
},
|
||||||
"updateAvailable": "Un actualisament de FluffyChat es disponibil",
|
"updateAvailable": "Un actualisament de FluffyChat es disponibil",
|
||||||
"@updateAvailable": {},
|
"@updateAvailable": {},
|
||||||
"yourUserId": "Vor ID de usator:",
|
|
||||||
"@yourUserId": {},
|
|
||||||
"editWidgets": "Modificar li widgets",
|
"editWidgets": "Modificar li widgets",
|
||||||
"@editWidgets": {},
|
"@editWidgets": {},
|
||||||
"widgetEtherpad": "Textual nota",
|
"widgetEtherpad": "Textual nota",
|
||||||
@ -1165,11 +1123,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"monday": "Lunedí",
|
|
||||||
"@monday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"newGroup": "Crear un gruppe",
|
"newGroup": "Crear un gruppe",
|
||||||
"@newGroup": {},
|
"@newGroup": {},
|
||||||
"newSpace": "Crear un spacie",
|
"newSpace": "Crear un spacie",
|
||||||
@ -1218,11 +1171,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"sunday": "Soledí",
|
|
||||||
"@sunday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"unverified": "Ínverificat",
|
"unverified": "Ínverificat",
|
||||||
"@unverified": {},
|
"@unverified": {},
|
||||||
"deviceId": "ID de aparate",
|
"deviceId": "ID de aparate",
|
||||||
|
|||||||
@ -76,11 +76,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"archivedRoom": "Stanza archiviata",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"areGuestsAllowedToJoin": "Gli utenti ospiti possono partecipare",
|
"areGuestsAllowedToJoin": "Gli utenti ospiti possono partecipare",
|
||||||
"@areGuestsAllowedToJoin": {
|
"@areGuestsAllowedToJoin": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -432,11 +427,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"crossSigningEnabled": "Firma incrociata abilitata",
|
|
||||||
"@crossSigningEnabled": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"currentlyActive": "Attualmente attivo",
|
"currentlyActive": "Attualmente attivo",
|
||||||
"@currentlyActive": {
|
"@currentlyActive": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -522,11 +512,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"discover": "Scopri",
|
|
||||||
"@discover": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"displaynameHasBeenChanged": "Il nominativo è stato cambiato",
|
"displaynameHasBeenChanged": "Il nominativo è stato cambiato",
|
||||||
"@displaynameHasBeenChanged": {
|
"@displaynameHasBeenChanged": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -679,11 +664,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"friday": "venerdì",
|
|
||||||
"@friday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"fromJoining": "Dall'adesione",
|
"fromJoining": "Dall'adesione",
|
||||||
"@fromJoining": {
|
"@fromJoining": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -874,11 +854,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"keysCached": "Le chiave sono memorizzate nella cache",
|
|
||||||
"@keysCached": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"kicked": "{username} ha espulso {targetName}",
|
"kicked": "{username} ha espulso {targetName}",
|
||||||
"@kicked": {
|
"@kicked": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -996,11 +971,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"monday": "lunedì",
|
|
||||||
"@monday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"muteChat": "Silenzia discussione",
|
"muteChat": "Silenzia discussione",
|
||||||
"@muteChat": {
|
"@muteChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1346,11 +1316,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"saturday": "sabato",
|
|
||||||
"@saturday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"search": "Cerca",
|
"search": "Cerca",
|
||||||
"@search": {
|
"@search": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1550,11 +1515,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"sunday": "domenica",
|
|
||||||
"@sunday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"systemTheme": "Sistema",
|
"systemTheme": "Sistema",
|
||||||
"@systemTheme": {
|
"@systemTheme": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1570,16 +1530,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"thisRoomHasBeenArchived": "Questa stanza è stata archiviata.",
|
|
||||||
"@thisRoomHasBeenArchived": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"thursday": "giovedì",
|
|
||||||
"@thursday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"title": "FluffyChat",
|
"title": "FluffyChat",
|
||||||
"@title": {
|
"@title": {
|
||||||
"description": "Title for the application",
|
"description": "Title for the application",
|
||||||
@ -1616,11 +1566,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"tuesday": "martedì",
|
|
||||||
"@tuesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"unavailable": "Non disponibile",
|
"unavailable": "Non disponibile",
|
||||||
"@unavailable": {
|
"@unavailable": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1791,11 +1736,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"wednesday": "mercoledì",
|
|
||||||
"@wednesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"weSentYouAnEmail": "Ti abbiamo inviato un'e-mail",
|
"weSentYouAnEmail": "Ti abbiamo inviato un'e-mail",
|
||||||
"@weSentYouAnEmail": {
|
"@weSentYouAnEmail": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1936,8 +1876,6 @@
|
|||||||
"@passwordsDoNotMatch": {},
|
"@passwordsDoNotMatch": {},
|
||||||
"pleaseEnterValidEmail": "Inserire un indirizzo email valido.",
|
"pleaseEnterValidEmail": "Inserire un indirizzo email valido.",
|
||||||
"@pleaseEnterValidEmail": {},
|
"@pleaseEnterValidEmail": {},
|
||||||
"yourUserId": "Il tuo ID utente:",
|
|
||||||
"@yourUserId": {},
|
|
||||||
"commandHint_leave": "Lascia questa stanza",
|
"commandHint_leave": "Lascia questa stanza",
|
||||||
"@commandHint_leave": {
|
"@commandHint_leave": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
|
|||||||
@ -77,11 +77,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"archivedRoom": "アーカイブされた部屋",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"areGuestsAllowedToJoin": "ゲストユーザーの参加を許可する",
|
"areGuestsAllowedToJoin": "ゲストユーザーの参加を許可する",
|
||||||
"@areGuestsAllowedToJoin": {
|
"@areGuestsAllowedToJoin": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -435,11 +430,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"crossSigningEnabled": "相互署名ON",
|
|
||||||
"@crossSigningEnabled": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"currentlyActive": "現在アクティブです",
|
"currentlyActive": "現在アクティブです",
|
||||||
"@currentlyActive": {
|
"@currentlyActive": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -525,11 +515,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"discover": "発見する",
|
|
||||||
"@discover": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"displaynameHasBeenChanged": "表示名が変更されました",
|
"displaynameHasBeenChanged": "表示名が変更されました",
|
||||||
"@displaynameHasBeenChanged": {
|
"@displaynameHasBeenChanged": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -687,11 +672,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"friday": "金曜日",
|
|
||||||
"@friday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"fromJoining": "参加時点から閲覧可能",
|
"fromJoining": "参加時点から閲覧可能",
|
||||||
"@fromJoining": {
|
"@fromJoining": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -882,11 +862,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"keysCached": "鍵はキャッシュされたいます",
|
|
||||||
"@keysCached": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"kicked": "👞 {username} は {targetName} をキックしました",
|
"kicked": "👞 {username} は {targetName} をキックしました",
|
||||||
"@kicked": {
|
"@kicked": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1004,11 +979,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"monday": "月曜日",
|
|
||||||
"@monday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"muteChat": "チャットのミュート",
|
"muteChat": "チャットのミュート",
|
||||||
"@muteChat": {
|
"@muteChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1359,11 +1329,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"saturday": "土曜日",
|
|
||||||
"@saturday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"search": "検索",
|
"search": "検索",
|
||||||
"@search": {
|
"@search": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1568,11 +1533,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"sunday": "日曜日",
|
|
||||||
"@sunday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"systemTheme": "システム",
|
"systemTheme": "システム",
|
||||||
"@systemTheme": {
|
"@systemTheme": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1588,16 +1548,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"thisRoomHasBeenArchived": "この部屋はアーカイブされています。",
|
|
||||||
"@thisRoomHasBeenArchived": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"thursday": "木曜日",
|
|
||||||
"@thursday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"title": "FluffyChat",
|
"title": "FluffyChat",
|
||||||
"@title": {
|
"@title": {
|
||||||
"description": "Title for the application",
|
"description": "Title for the application",
|
||||||
@ -1634,11 +1584,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"tuesday": "火曜日",
|
|
||||||
"@tuesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"unavailable": "不在",
|
"unavailable": "不在",
|
||||||
"@unavailable": {
|
"@unavailable": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1809,11 +1754,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"wednesday": "水曜日",
|
|
||||||
"@wednesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"weSentYouAnEmail": "あなたにメールを送信しました",
|
"weSentYouAnEmail": "あなたにメールを送信しました",
|
||||||
"@weSentYouAnEmail": {
|
"@weSentYouAnEmail": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1921,8 +1861,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholder": {}
|
"placeholder": {}
|
||||||
},
|
},
|
||||||
"yourUserId": "あなたのユーザーID:",
|
|
||||||
"@yourUserId": {},
|
|
||||||
"yourChatBackupHasBeenSetUp": "チャットバックアップを設定ました。",
|
"yourChatBackupHasBeenSetUp": "チャットバックアップを設定ました。",
|
||||||
"@yourChatBackupHasBeenSetUp": {},
|
"@yourChatBackupHasBeenSetUp": {},
|
||||||
"sendOnEnter": "Enterで送信",
|
"sendOnEnter": "Enterで送信",
|
||||||
@ -2228,8 +2166,6 @@
|
|||||||
"@storeInSecureStorageDescription": {},
|
"@storeInSecureStorageDescription": {},
|
||||||
"unlockOldMessages": "古いメッセージのロックを解除する",
|
"unlockOldMessages": "古いメッセージのロックを解除する",
|
||||||
"@unlockOldMessages": {},
|
"@unlockOldMessages": {},
|
||||||
"enableAutoBackups": "自動バックアップを有効にする",
|
|
||||||
"@enableAutoBackups": {},
|
|
||||||
"callingAccount": "通話アカウント",
|
"callingAccount": "通話アカウント",
|
||||||
"@callingAccount": {},
|
"@callingAccount": {},
|
||||||
"callingPermissions": "通話の権限",
|
"callingPermissions": "通話の権限",
|
||||||
@ -2348,8 +2284,6 @@
|
|||||||
},
|
},
|
||||||
"noOtherDevicesFound": "他のデバイスが見つかりません",
|
"noOtherDevicesFound": "他のデバイスが見つかりません",
|
||||||
"@noOtherDevicesFound": {},
|
"@noOtherDevicesFound": {},
|
||||||
"typeInInviteLinkManually": "招待リンクを手動で入力...",
|
|
||||||
"@typeInInviteLinkManually": {},
|
|
||||||
"recoveryKeyLost": "リカバリーキーを紛失した場合",
|
"recoveryKeyLost": "リカバリーキーを紛失した場合",
|
||||||
"@recoveryKeyLost": {},
|
"@recoveryKeyLost": {},
|
||||||
"shareLocation": "位置情報の共有",
|
"shareLocation": "位置情報の共有",
|
||||||
@ -2412,10 +2346,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"noSearchResult": "一致する検索結果がありません。",
|
|
||||||
"@noSearchResult": {},
|
|
||||||
"dehydrateShare": "これはあなたの非公開の FluffyChat エクスポートです。なくさないようにして、公開せず保管してください。",
|
|
||||||
"@dehydrateShare": {},
|
|
||||||
"locationPermissionDeniedNotice": "位置情報の権限が拒否されました。位置情報を共有できるように許可してください。",
|
"locationPermissionDeniedNotice": "位置情報の権限が拒否されました。位置情報を共有できるように許可してください。",
|
||||||
"@locationPermissionDeniedNotice": {
|
"@locationPermissionDeniedNotice": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
|
|||||||
@ -139,11 +139,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"friday": "금요일",
|
|
||||||
"@friday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"forward": "전달",
|
"forward": "전달",
|
||||||
"@forward": {
|
"@forward": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -300,11 +295,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"discover": "발견",
|
|
||||||
"@discover": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"devices": "기기",
|
"devices": "기기",
|
||||||
"@devices": {
|
"@devices": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -764,11 +754,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"archivedRoom": "저장된 방",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"archive": "저장",
|
"archive": "저장",
|
||||||
"@archive": {
|
"@archive": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -974,11 +959,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"wednesday": "수요일",
|
|
||||||
"@wednesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"warning": "경고!",
|
"warning": "경고!",
|
||||||
"@warning": {
|
"@warning": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1099,11 +1079,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"tuesday": "화요일",
|
|
||||||
"@tuesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"pin": "고정",
|
"pin": "고정",
|
||||||
"@pin": {
|
"@pin": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1215,8 +1190,6 @@
|
|||||||
},
|
},
|
||||||
"scanQrCode": "QR 코드 스캔",
|
"scanQrCode": "QR 코드 스캔",
|
||||||
"@scanQrCode": {},
|
"@scanQrCode": {},
|
||||||
"typeInInviteLinkManually": "초대 링크 직접 입력...",
|
|
||||||
"@typeInInviteLinkManually": {},
|
|
||||||
"shareYourInviteLink": "당신의 초대 링크 공유",
|
"shareYourInviteLink": "당신의 초대 링크 공유",
|
||||||
"@shareYourInviteLink": {},
|
"@shareYourInviteLink": {},
|
||||||
"noMatrixServer": "{server1}은 matrix 서버가 아닙니다, {server2}를 대신 사용할까요?",
|
"noMatrixServer": "{server1}은 matrix 서버가 아닙니다, {server2}를 대신 사용할까요?",
|
||||||
@ -1286,11 +1259,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"monday": "월요일",
|
|
||||||
"@monday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"messageWillBeRemovedWarning": "모든 참여자에게서 메시지가 지워집니다",
|
"messageWillBeRemovedWarning": "모든 참여자에게서 메시지가 지워집니다",
|
||||||
"@messageWillBeRemovedWarning": {
|
"@messageWillBeRemovedWarning": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1333,11 +1301,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"crossSigningEnabled": "교차 서명 켜짐",
|
|
||||||
"@crossSigningEnabled": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"all": "모두",
|
"all": "모두",
|
||||||
"@all": {
|
"@all": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1442,16 +1405,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"thursday": "목요일",
|
|
||||||
"@thursday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"thisRoomHasBeenArchived": "이 방은 보관되었습니다.",
|
|
||||||
"@thisRoomHasBeenArchived": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"theyMatch": "일치합니다",
|
"theyMatch": "일치합니다",
|
||||||
"@theyMatch": {
|
"@theyMatch": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1472,11 +1425,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"sunday": "일요일",
|
|
||||||
"@sunday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"submit": "제출",
|
"submit": "제출",
|
||||||
"@submit": {
|
"@submit": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1830,11 +1778,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"saturday": "토요일",
|
|
||||||
"@saturday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"roomVersion": "방 버전",
|
"roomVersion": "방 버전",
|
||||||
"@roomVersion": {
|
"@roomVersion": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1885,11 +1828,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"keysCached": "키가 캐시됨",
|
|
||||||
"@keysCached": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"joinRoom": "방 들어가기",
|
"joinRoom": "방 들어가기",
|
||||||
"@joinRoom": {
|
"@joinRoom": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2132,8 +2070,6 @@
|
|||||||
},
|
},
|
||||||
"link": "링크",
|
"link": "링크",
|
||||||
"@link": {},
|
"@link": {},
|
||||||
"yourUserId": "당신의 유저 ID:",
|
|
||||||
"@yourUserId": {},
|
|
||||||
"unverified": "확인되지 않음",
|
"unverified": "확인되지 않음",
|
||||||
"@unverified": {},
|
"@unverified": {},
|
||||||
"yourChatBackupHasBeenSetUp": "당신의 채팅 백업이 설정되었습니다.",
|
"yourChatBackupHasBeenSetUp": "당신의 채팅 백업이 설정되었습니다.",
|
||||||
@ -2296,7 +2232,5 @@
|
|||||||
"dehydrate": "세션을 내보내고 기기 초기화 하기",
|
"dehydrate": "세션을 내보내고 기기 초기화 하기",
|
||||||
"@dehydrate": {},
|
"@dehydrate": {},
|
||||||
"dehydrateWarning": "이 동작은 되돌릴 수 없습니다. 백업 파일을 꼭 안전하게 보관하세요.",
|
"dehydrateWarning": "이 동작은 되돌릴 수 없습니다. 백업 파일을 꼭 안전하게 보관하세요.",
|
||||||
"@dehydrateWarning": {},
|
"@dehydrateWarning": {}
|
||||||
"dehydrateShare": "FluffyChat 개인 내보내기 파일입니다. 분실하지 않도록 하시고 비공개로 보관하세요.",
|
|
||||||
"@dehydrateShare": {}
|
|
||||||
}
|
}
|
||||||
@ -14,8 +14,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"yourUserId": "Tavo vartotojo ID:",
|
|
||||||
"@yourUserId": {},
|
|
||||||
"edit": "Redaguoti",
|
"edit": "Redaguoti",
|
||||||
"@edit": {
|
"@edit": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -26,11 +24,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"friday": "Penktadienis",
|
|
||||||
"@friday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"about": "Apie",
|
"about": "Apie",
|
||||||
"@about": {
|
"@about": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -66,26 +59,11 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"monday": "Pirmadienis",
|
|
||||||
"@monday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"skip": "Praleisti",
|
"skip": "Praleisti",
|
||||||
"@skip": {
|
"@skip": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"sunday": "Sekmadienis",
|
|
||||||
"@sunday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"tuesday": "Antradienis",
|
|
||||||
"@tuesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"share": "Bendrinti",
|
"share": "Bendrinti",
|
||||||
"@share": {
|
"@share": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -103,11 +81,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"thursday": "Ketvirtadienis",
|
|
||||||
"@thursday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"sender": "Siuntėjas",
|
"sender": "Siuntėjas",
|
||||||
"@sender": {},
|
"@sender": {},
|
||||||
"yes": "Taip",
|
"yes": "Taip",
|
||||||
@ -270,8 +243,6 @@
|
|||||||
},
|
},
|
||||||
"shareYourInviteLink": "Bendrinti savo pakvietimo nuorodą",
|
"shareYourInviteLink": "Bendrinti savo pakvietimo nuorodą",
|
||||||
"@shareYourInviteLink": {},
|
"@shareYourInviteLink": {},
|
||||||
"typeInInviteLinkManually": "Įvesti pakvietimo nuorodą rankiniu būdu...",
|
|
||||||
"@typeInInviteLinkManually": {},
|
|
||||||
"none": "Nė vienas",
|
"none": "Nė vienas",
|
||||||
"@none": {
|
"@none": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -484,11 +455,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"saturday": "Šeštadienis",
|
|
||||||
"@saturday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"search": "Ieškoti",
|
"search": "Ieškoti",
|
||||||
"@search": {
|
"@search": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -875,11 +841,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"description": "Usage hint for the command /me"
|
"description": "Usage hint for the command /me"
|
||||||
},
|
},
|
||||||
"discover": "Rasti",
|
|
||||||
"@discover": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"displaynameHasBeenChanged": "Rodomas vardas buvo pakeistas",
|
"displaynameHasBeenChanged": "Rodomas vardas buvo pakeistas",
|
||||||
"@displaynameHasBeenChanged": {
|
"@displaynameHasBeenChanged": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1276,11 +1237,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"archivedRoom": "Archyvuotas kambarys",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"areGuestsAllowedToJoin": "Ar svečiams leidžiama prisijungti",
|
"areGuestsAllowedToJoin": "Ar svečiams leidžiama prisijungti",
|
||||||
"@areGuestsAllowedToJoin": {
|
"@areGuestsAllowedToJoin": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1385,11 +1341,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"wednesday": "Trečiadienis",
|
|
||||||
"@wednesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"weSentYouAnEmail": "Išsiuntėme jums el. laišką",
|
"weSentYouAnEmail": "Išsiuntėme jums el. laišką",
|
||||||
"@weSentYouAnEmail": {
|
"@weSentYouAnEmail": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1949,11 +1900,6 @@
|
|||||||
"username": {}
|
"username": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"keysCached": "Raktai talpinami į atmintinę",
|
|
||||||
"@keysCached": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"kicked": "👞 {username} išmetė {targetName}",
|
"kicked": "👞 {username} išmetė {targetName}",
|
||||||
"@kicked": {
|
"@kicked": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1999,11 +1945,6 @@
|
|||||||
"username2": {}
|
"username2": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"thisRoomHasBeenArchived": "Šis kambarys buvo suarchyvuotas.",
|
|
||||||
"@thisRoomHasBeenArchived": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"toggleFavorite": "Perjungti parankinius",
|
"toggleFavorite": "Perjungti parankinius",
|
||||||
"@toggleFavorite": {
|
"@toggleFavorite": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2220,11 +2161,6 @@
|
|||||||
"user": {}
|
"user": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"crossSigningEnabled": "Kryžminis pasirašymas įjungtas",
|
|
||||||
"@crossSigningEnabled": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"dateAndTimeOfDay": "{date}, {timeOfDay}",
|
"dateAndTimeOfDay": "{date}, {timeOfDay}",
|
||||||
"@dateAndTimeOfDay": {
|
"@dateAndTimeOfDay": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2363,8 +2299,6 @@
|
|||||||
"@dehydrateTorLong": {},
|
"@dehydrateTorLong": {},
|
||||||
"dehydrateWarning": "Šio veiksmo negalima atšaukti. Įsitikinkite, kad saugiai saugote atsarginę kopiją.",
|
"dehydrateWarning": "Šio veiksmo negalima atšaukti. Įsitikinkite, kad saugiai saugote atsarginę kopiją.",
|
||||||
"@dehydrateWarning": {},
|
"@dehydrateWarning": {},
|
||||||
"dehydrateShare": "Tai jūsų privatus FluffyChat eksportas. Pasirūpinkite, kad jo neprarastumėte ir išsaugotumėte privatumą.",
|
|
||||||
"@dehydrateShare": {},
|
|
||||||
"hydrateTorLong": "Ar paskutinį kartą eksportavote savo sesiją naudodami TOR? Greitai ją importuokite ir tęskite pokalbį.",
|
"hydrateTorLong": "Ar paskutinį kartą eksportavote savo sesiją naudodami TOR? Greitai ją importuokite ir tęskite pokalbį.",
|
||||||
"@hydrateTorLong": {},
|
"@hydrateTorLong": {},
|
||||||
"commandHint_markasgroup": "Pažymėti kaip grupę",
|
"commandHint_markasgroup": "Pažymėti kaip grupę",
|
||||||
@ -2420,8 +2354,6 @@
|
|||||||
"@indexedDbErrorLong": {},
|
"@indexedDbErrorLong": {},
|
||||||
"noEmailWarning": "Įveskite galiojantį el. pašto adresą. Priešingu atveju negalėsite iš naujo nustatyti slaptažodžio. Jei nenorite, dar kartą bakstelėkite mygtuką, kad galėtumėte tęsti.",
|
"noEmailWarning": "Įveskite galiojantį el. pašto adresą. Priešingu atveju negalėsite iš naujo nustatyti slaptažodžio. Jei nenorite, dar kartą bakstelėkite mygtuką, kad galėtumėte tęsti.",
|
||||||
"@noEmailWarning": {},
|
"@noEmailWarning": {},
|
||||||
"enableAutoBackups": "Įjungti automatines atsargines kopijas",
|
|
||||||
"@enableAutoBackups": {},
|
|
||||||
"countFiles": "{count} failai",
|
"countFiles": "{count} failai",
|
||||||
"@countFiles": {
|
"@countFiles": {
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
|
|||||||
@ -71,11 +71,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"archivedRoom": "Arkivert rom",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"areGuestsAllowedToJoin": "Skal gjester tillates å ta del",
|
"areGuestsAllowedToJoin": "Skal gjester tillates å ta del",
|
||||||
"@areGuestsAllowedToJoin": {
|
"@areGuestsAllowedToJoin": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -401,11 +396,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"crossSigningEnabled": "Videreformidling av tillit på",
|
|
||||||
"@crossSigningEnabled": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"currentlyActive": "Aktiv nå",
|
"currentlyActive": "Aktiv nå",
|
||||||
"@currentlyActive": {
|
"@currentlyActive": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -491,11 +481,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"discover": "Oppdag",
|
|
||||||
"@discover": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"displaynameHasBeenChanged": "Visningsnavn endret",
|
"displaynameHasBeenChanged": "Visningsnavn endret",
|
||||||
"@displaynameHasBeenChanged": {
|
"@displaynameHasBeenChanged": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -648,11 +633,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"friday": "Fredag",
|
|
||||||
"@friday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"fromJoining": "Fra å ta del",
|
"fromJoining": "Fra å ta del",
|
||||||
"@fromJoining": {
|
"@fromJoining": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -838,11 +818,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"keysCached": "Nøkler hurtiglagret",
|
|
||||||
"@keysCached": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"kicked": "{username} kastet ut {targetName}",
|
"kicked": "{username} kastet ut {targetName}",
|
||||||
"@kicked": {
|
"@kicked": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -960,11 +935,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"monday": "Mandag",
|
|
||||||
"@monday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"muteChat": "Forstum sludring",
|
"muteChat": "Forstum sludring",
|
||||||
"@muteChat": {
|
"@muteChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1275,11 +1245,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"saturday": "Lørdag",
|
|
||||||
"@saturday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"search": "Søk",
|
"search": "Søk",
|
||||||
"@search": {
|
"@search": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1474,11 +1439,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"sunday": "Søndag",
|
|
||||||
"@sunday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"systemTheme": "System",
|
"systemTheme": "System",
|
||||||
"@systemTheme": {
|
"@systemTheme": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1494,16 +1454,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"thisRoomHasBeenArchived": "Dette rommet har blitt arkivert.",
|
|
||||||
"@thisRoomHasBeenArchived": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"thursday": "Torsdag",
|
|
||||||
"@thursday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"title": "FluffyChat",
|
"title": "FluffyChat",
|
||||||
"@title": {
|
"@title": {
|
||||||
"description": "Title for the application",
|
"description": "Title for the application",
|
||||||
@ -1525,11 +1475,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"tuesday": "Tirsdag",
|
|
||||||
"@tuesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"unavailable": "Utilgjengelig",
|
"unavailable": "Utilgjengelig",
|
||||||
"@unavailable": {
|
"@unavailable": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1685,11 +1630,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"wednesday": "Onsdag",
|
|
||||||
"@wednesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"weSentYouAnEmail": "Du har fått en e-post",
|
"weSentYouAnEmail": "Du har fått en e-post",
|
||||||
"@weSentYouAnEmail": {
|
"@weSentYouAnEmail": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1839,7 +1779,5 @@
|
|||||||
"@changeYourAvatar": {
|
"@changeYourAvatar": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
}
|
||||||
"yourUserId": "Din bruker ID:",
|
|
||||||
"@yourUserId": {}
|
|
||||||
}
|
}
|
||||||
@ -83,11 +83,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"archivedRoom": "Gearchiveerde Kamer",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"areGuestsAllowedToJoin": "Mogen gasten deelnemen",
|
"areGuestsAllowedToJoin": "Mogen gasten deelnemen",
|
||||||
"@areGuestsAllowedToJoin": {
|
"@areGuestsAllowedToJoin": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -451,12 +446,12 @@
|
|||||||
},
|
},
|
||||||
"description": "State that {command} is not a valid /command."
|
"description": "State that {command} is not a valid /command."
|
||||||
},
|
},
|
||||||
"compareEmojiMatch": "Vergelijk of de volgende emoji overeenkomen met die van het andere apparaat:",
|
"compareEmojiMatch": "Vergelijk de emoji's",
|
||||||
"@compareEmojiMatch": {
|
"@compareEmojiMatch": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"compareNumbersMatch": "Vergelijk of de volgende nummers overeenkomen met die van het andere apparaat:",
|
"compareNumbersMatch": "Vergelijk de cijfers",
|
||||||
"@compareNumbersMatch": {
|
"@compareNumbersMatch": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -547,11 +542,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"crossSigningEnabled": "Kruislings ondertekenen ingeschakeld",
|
|
||||||
"@crossSigningEnabled": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"currentlyActive": "Momenteel actief",
|
"currentlyActive": "Momenteel actief",
|
||||||
"@currentlyActive": {
|
"@currentlyActive": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -637,11 +627,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"discover": "Ontdekken",
|
|
||||||
"@discover": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"displaynameHasBeenChanged": "De naam is gewijzigd",
|
"displaynameHasBeenChanged": "De naam is gewijzigd",
|
||||||
"@displaynameHasBeenChanged": {
|
"@displaynameHasBeenChanged": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -808,11 +793,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"friday": "Vrijdag",
|
|
||||||
"@friday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"fromJoining": "Vanaf deelname",
|
"fromJoining": "Vanaf deelname",
|
||||||
"@fromJoining": {
|
"@fromJoining": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1003,11 +983,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"keysCached": "Er zitten sleutels in de cache",
|
|
||||||
"@keysCached": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"kicked": "👞 {username} heeft {targetName} verwijderd",
|
"kicked": "👞 {username} heeft {targetName} verwijderd",
|
||||||
"@kicked": {
|
"@kicked": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1142,11 +1117,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"monday": "Maandag",
|
|
||||||
"@monday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"muteChat": "Meldingen uitschakelen",
|
"muteChat": "Meldingen uitschakelen",
|
||||||
"@muteChat": {
|
"@muteChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1540,11 +1510,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"saturday": "Zaterdag",
|
|
||||||
"@saturday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"saveFile": "Bestand opslaan",
|
"saveFile": "Bestand opslaan",
|
||||||
"@saveFile": {
|
"@saveFile": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1783,11 +1748,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"sunday": "Zondag",
|
|
||||||
"@sunday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"synchronizingPleaseWait": "Synchroniseren... Even geduld.",
|
"synchronizingPleaseWait": "Synchroniseren... Even geduld.",
|
||||||
"@synchronizingPleaseWait": {
|
"@synchronizingPleaseWait": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1808,16 +1768,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"thisRoomHasBeenArchived": "Deze kamer is gearchiveerd.",
|
|
||||||
"@thisRoomHasBeenArchived": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"thursday": "Donderdag",
|
|
||||||
"@thursday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"title": "FluffyChat",
|
"title": "FluffyChat",
|
||||||
"@title": {
|
"@title": {
|
||||||
"description": "Title for the application",
|
"description": "Title for the application",
|
||||||
@ -1854,11 +1804,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"tuesday": "Dinsdag",
|
|
||||||
"@tuesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"unavailable": "Niet beschikbaar",
|
"unavailable": "Niet beschikbaar",
|
||||||
"@unavailable": {
|
"@unavailable": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2029,11 +1974,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"wednesday": "Woensdag",
|
|
||||||
"@wednesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"weSentYouAnEmail": "We hebben je een email gestuurd",
|
"weSentYouAnEmail": "We hebben je een email gestuurd",
|
||||||
"@weSentYouAnEmail": {
|
"@weSentYouAnEmail": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2106,8 +2046,6 @@
|
|||||||
},
|
},
|
||||||
"scanQrCode": "QR-code scannen",
|
"scanQrCode": "QR-code scannen",
|
||||||
"@scanQrCode": {},
|
"@scanQrCode": {},
|
||||||
"typeInInviteLinkManually": "Type de uitnodigingslink in...",
|
|
||||||
"@typeInInviteLinkManually": {},
|
|
||||||
"shareYourInviteLink": "Deel je uitnodigingslink",
|
"shareYourInviteLink": "Deel je uitnodigingslink",
|
||||||
"@shareYourInviteLink": {},
|
"@shareYourInviteLink": {},
|
||||||
"sendOnEnter": "Verstuur met enter",
|
"sendOnEnter": "Verstuur met enter",
|
||||||
@ -2134,8 +2072,6 @@
|
|||||||
"@link": {},
|
"@link": {},
|
||||||
"yourChatBackupHasBeenSetUp": "Jouw chatback-up is ingesteld.",
|
"yourChatBackupHasBeenSetUp": "Jouw chatback-up is ingesteld.",
|
||||||
"@yourChatBackupHasBeenSetUp": {},
|
"@yourChatBackupHasBeenSetUp": {},
|
||||||
"yourUserId": "Jouw persoon-ID:",
|
|
||||||
"@yourUserId": {},
|
|
||||||
"unverified": "Niet geverifieerd",
|
"unverified": "Niet geverifieerd",
|
||||||
"@unverified": {},
|
"@unverified": {},
|
||||||
"passwordsDoNotMatch": "Wachtwoorden komen niet overeen!",
|
"passwordsDoNotMatch": "Wachtwoorden komen niet overeen!",
|
||||||
@ -2377,8 +2313,6 @@
|
|||||||
"@stories": {},
|
"@stories": {},
|
||||||
"users": "Personen",
|
"users": "Personen",
|
||||||
"@users": {},
|
"@users": {},
|
||||||
"enableAutoBackups": "Automatische backups inschakelen",
|
|
||||||
"@enableAutoBackups": {},
|
|
||||||
"unlockOldMessages": "Oude berichten ontgrendelen",
|
"unlockOldMessages": "Oude berichten ontgrendelen",
|
||||||
"@unlockOldMessages": {},
|
"@unlockOldMessages": {},
|
||||||
"storeInAndroidKeystore": "In Android KeyStore opslaan",
|
"storeInAndroidKeystore": "In Android KeyStore opslaan",
|
||||||
@ -2393,8 +2327,6 @@
|
|||||||
"@storeInSecureStorageDescription": {},
|
"@storeInSecureStorageDescription": {},
|
||||||
"storeSecurlyOnThisDevice": "Veilig opslaan op dit apparaat",
|
"storeSecurlyOnThisDevice": "Veilig opslaan op dit apparaat",
|
||||||
"@storeSecurlyOnThisDevice": {},
|
"@storeSecurlyOnThisDevice": {},
|
||||||
"dehydrateShare": "Dit is jouw persoonlijke FluffyChat export. Zorg ervoor dat je het niet verliest en houd het privé.",
|
|
||||||
"@dehydrateShare": {},
|
|
||||||
"dehydrate": "Sessie exporteren en apparaat wissen",
|
"dehydrate": "Sessie exporteren en apparaat wissen",
|
||||||
"@dehydrate": {},
|
"@dehydrate": {},
|
||||||
"dehydrateWarning": "Deze actie kan niet ongedaan worden gemaakt. Zorg ervoor dat je het back-upbestand veilig opslaat.",
|
"dehydrateWarning": "Deze actie kan niet ongedaan worden gemaakt. Zorg ervoor dat je het back-upbestand veilig opslaat.",
|
||||||
@ -2533,8 +2465,6 @@
|
|||||||
"@encryptThisChat": {},
|
"@encryptThisChat": {},
|
||||||
"deviceKeys": "Apparaatsleutels:",
|
"deviceKeys": "Apparaatsleutels:",
|
||||||
"@deviceKeys": {},
|
"@deviceKeys": {},
|
||||||
"noSearchResult": "Geen passende zoekresultaten.",
|
|
||||||
"@noSearchResult": {},
|
|
||||||
"startFirstChat": "Begin je eerste chat",
|
"startFirstChat": "Begin je eerste chat",
|
||||||
"@startFirstChat": {},
|
"@startFirstChat": {},
|
||||||
"newSpaceDescription": "Met spaces kun je je chats samenvoegen en privé- of openbare community's bouwen.",
|
"newSpaceDescription": "Met spaces kun je je chats samenvoegen en privé- of openbare community's bouwen.",
|
||||||
@ -2544,5 +2474,20 @@
|
|||||||
"noBackupWarning": "Waarschuwing! Zonder de chatback-up in te schakelen, verlies je de toegang tot je versleutelde berichten. Het is sterk aanbevolen om eerst de chatback-up in te schakelen voordat je uitlogt.",
|
"noBackupWarning": "Waarschuwing! Zonder de chatback-up in te schakelen, verlies je de toegang tot je versleutelde berichten. Het is sterk aanbevolen om eerst de chatback-up in te schakelen voordat je uitlogt.",
|
||||||
"@noBackupWarning": {},
|
"@noBackupWarning": {},
|
||||||
"fileIsTooBigForServer": "De server meldt dat het bestand te groot is om te verzenden.",
|
"fileIsTooBigForServer": "De server meldt dat het bestand te groot is om te verzenden.",
|
||||||
"@fileIsTooBigForServer": {}
|
"@fileIsTooBigForServer": {},
|
||||||
|
"fileHasBeenSavedAt": "Het bestand is opgeslagen op {path}",
|
||||||
|
"@fileHasBeenSavedAt": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {
|
||||||
|
"path": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"jumpToLastReadMessage": "Spring naar het laatst gelezen bericht",
|
||||||
|
"@jumpToLastReadMessage": {},
|
||||||
|
"readUpToHere": "Lees tot hier",
|
||||||
|
"@readUpToHere": {},
|
||||||
|
"jump": "Spring",
|
||||||
|
"@jump": {},
|
||||||
|
"openLinkInBrowser": "Link in browser openen",
|
||||||
|
"@openLinkInBrowser": {}
|
||||||
}
|
}
|
||||||
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"@@locale": "pl",
|
"@@locale": "pl",
|
||||||
"@@last_modified": "2021-08-14 12:41:09.943634",
|
"@@last_modified": "2021-08-14 12:41:09.943634",
|
||||||
"about": "O nas",
|
"about": "O aplikacji",
|
||||||
"@about": {
|
"@about": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -67,11 +67,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"archivedRoom": "Zarchiwizowane pokoje",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"areGuestsAllowedToJoin": "Czy użytkownicy-goście mogą dołączyć",
|
"areGuestsAllowedToJoin": "Czy użytkownicy-goście mogą dołączyć",
|
||||||
"@areGuestsAllowedToJoin": {
|
"@areGuestsAllowedToJoin": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -188,7 +183,7 @@
|
|||||||
"username": {}
|
"username": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"changedTheDisplaynameTo": "{username} zmienił/-a swój nick na: {displayname}",
|
"changedTheDisplaynameTo": "{username} zmienił/-a swój nick na: '{displayname}'",
|
||||||
"@changedTheDisplaynameTo": {
|
"@changedTheDisplaynameTo": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -523,7 +518,7 @@
|
|||||||
"day": {}
|
"day": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dateWithYear": "{day}-{month}-{year}",
|
"dateWithYear": "{day}.{month}.{year}",
|
||||||
"@dateWithYear": {
|
"@dateWithYear": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -532,7 +527,7 @@
|
|||||||
"day": {}
|
"day": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"deactivateAccountWarning": "To dezaktywuje twoje konto. To jest nieodwracalne ! Czy jesteś pewien?",
|
"deactivateAccountWarning": "To zdezaktywuje twoje konto. To jest nieodwracalne! Na pewno chcesz to zrobić?",
|
||||||
"@deactivateAccountWarning": {
|
"@deactivateAccountWarning": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -704,11 +699,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"friday": "Piątek",
|
|
||||||
"@friday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"fromJoining": "Od dołączenia",
|
"fromJoining": "Od dołączenia",
|
||||||
"@fromJoining": {
|
"@fromJoining": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -879,11 +869,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"keysCached": "Klucze są załadowane",
|
|
||||||
"@keysCached": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"kicked": "👞 {username} wyrzucił/-a {targetName}",
|
"kicked": "👞 {username} wyrzucił/-a {targetName}",
|
||||||
"@kicked": {
|
"@kicked": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -996,11 +981,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"monday": "Poniedziałek",
|
|
||||||
"@monday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"muteChat": "Wycisz czat",
|
"muteChat": "Wycisz czat",
|
||||||
"@muteChat": {
|
"@muteChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1229,11 +1209,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"saturday": "Sobota",
|
|
||||||
"@saturday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"seenByUser": "Zobaczone przez {username}",
|
"seenByUser": "Zobaczone przez {username}",
|
||||||
"@seenByUser": {
|
"@seenByUser": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1369,11 +1344,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"sunday": "Niedziela",
|
|
||||||
"@sunday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"synchronizingPleaseWait": "Synchronizacja… Proszę czekać.",
|
"synchronizingPleaseWait": "Synchronizacja… Proszę czekać.",
|
||||||
"@synchronizingPleaseWait": {
|
"@synchronizingPleaseWait": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1384,16 +1354,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"thisRoomHasBeenArchived": "Ten pokój został przeniesiony do archiwum.",
|
|
||||||
"@thisRoomHasBeenArchived": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"thursday": "Czwartek",
|
|
||||||
"@thursday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"title": "FluffyChat",
|
"title": "FluffyChat",
|
||||||
"@title": {
|
"@title": {
|
||||||
"description": "Title for the application",
|
"description": "Title for the application",
|
||||||
@ -1410,11 +1370,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"tuesday": "Wtorek",
|
|
||||||
"@tuesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"unbannedUser": "{username} odbanował/-a {targetName}",
|
"unbannedUser": "{username} odbanował/-a {targetName}",
|
||||||
"@unbannedUser": {
|
"@unbannedUser": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1540,11 +1495,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"wednesday": "Środa",
|
|
||||||
"@wednesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"whoIsAllowedToJoinThisGroup": "Kto może dołączyć do tej grupy",
|
"whoIsAllowedToJoinThisGroup": "Kto może dołączyć do tej grupy",
|
||||||
"@whoIsAllowedToJoinThisGroup": {
|
"@whoIsAllowedToJoinThisGroup": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1748,7 +1698,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"whatIsGoingOn": "Co u Ciebie słychać?",
|
"whatIsGoingOn": "Co u ciebie słychać?",
|
||||||
"@whatIsGoingOn": {},
|
"@whatIsGoingOn": {},
|
||||||
"pleaseEnterValidEmail": "Proszę podaj poprawny adres email.",
|
"pleaseEnterValidEmail": "Proszę podaj poprawny adres email.",
|
||||||
"@pleaseEnterValidEmail": {},
|
"@pleaseEnterValidEmail": {},
|
||||||
@ -1821,8 +1771,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"yourUserId": "Twoja nazwa użytkownika:",
|
|
||||||
"@yourUserId": {},
|
|
||||||
"yourChatBackupHasBeenSetUp": "Twoja kopia zapasowa chatu została ustawiona.",
|
"yourChatBackupHasBeenSetUp": "Twoja kopia zapasowa chatu została ustawiona.",
|
||||||
"@yourChatBackupHasBeenSetUp": {},
|
"@yourChatBackupHasBeenSetUp": {},
|
||||||
"chatHasBeenAddedToThisSpace": "Chat został dodany do tej przestrzeni",
|
"chatHasBeenAddedToThisSpace": "Chat został dodany do tej przestrzeni",
|
||||||
@ -1832,11 +1780,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"discover": "Odkrywaj",
|
|
||||||
"@discover": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"editRoomAvatar": "Edytuj zdjęcie pokoju",
|
"editRoomAvatar": "Edytuj zdjęcie pokoju",
|
||||||
"@editRoomAvatar": {
|
"@editRoomAvatar": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1947,8 +1890,6 @@
|
|||||||
"@scanQrCode": {},
|
"@scanQrCode": {},
|
||||||
"addToStory": "Dodaj do relacji",
|
"addToStory": "Dodaj do relacji",
|
||||||
"@addToStory": {},
|
"@addToStory": {},
|
||||||
"typeInInviteLinkManually": "Wpisz link ręcznie...",
|
|
||||||
"@typeInInviteLinkManually": {},
|
|
||||||
"createNewSpace": "Nowa przestrzeń",
|
"createNewSpace": "Nowa przestrzeń",
|
||||||
"@createNewSpace": {
|
"@createNewSpace": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2183,12 +2124,8 @@
|
|||||||
"@unsubscribeStories": {},
|
"@unsubscribeStories": {},
|
||||||
"updateNow": "Rozpocznij aktualizację w tle",
|
"updateNow": "Rozpocznij aktualizację w tle",
|
||||||
"@updateNow": {},
|
"@updateNow": {},
|
||||||
"dehydrateShare": "To jest twój prywatny eksport FluffyChat. Upewnij się, że nie zgubisz go i zachowaj go dla siebie.",
|
|
||||||
"@dehydrateShare": {},
|
|
||||||
"hydrateTorLong": "Czy ostatnio eksportowałeś/-aś swoją sesję na TOR? Szybko ją zaimportuj i kontynuuj rozmowy.",
|
"hydrateTorLong": "Czy ostatnio eksportowałeś/-aś swoją sesję na TOR? Szybko ją zaimportuj i kontynuuj rozmowy.",
|
||||||
"@hydrateTorLong": {},
|
"@hydrateTorLong": {},
|
||||||
"noSearchResult": "Brak pasujących wyników wyszukiwania.",
|
|
||||||
"@noSearchResult": {},
|
|
||||||
"dehydrateTorLong": "W przypadku użytkowników sieci TOR zaleca się eksportowanie sesji przed zamknięciem okna.",
|
"dehydrateTorLong": "W przypadku użytkowników sieci TOR zaleca się eksportowanie sesji przed zamknięciem okna.",
|
||||||
"@dehydrateTorLong": {},
|
"@dehydrateTorLong": {},
|
||||||
"hydrate": "Przywracanie z pliku kopii zapasowej",
|
"hydrate": "Przywracanie z pliku kopii zapasowej",
|
||||||
@ -2267,11 +2204,6 @@
|
|||||||
},
|
},
|
||||||
"commandHint_markasdm": "Oznacz jako pokój wiadomości bezpośrednich",
|
"commandHint_markasdm": "Oznacz jako pokój wiadomości bezpośrednich",
|
||||||
"@commandHint_markasdm": {},
|
"@commandHint_markasdm": {},
|
||||||
"crossSigningEnabled": "Weryfikacja krzyżowa jest włączona",
|
|
||||||
"@crossSigningEnabled": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"confirmMatrixId": "Potwierdź swój identyfikator Matrix w celu usunięcia konta.",
|
"confirmMatrixId": "Potwierdź swój identyfikator Matrix w celu usunięcia konta.",
|
||||||
"@confirmMatrixId": {},
|
"@confirmMatrixId": {},
|
||||||
"commandHint_markasgroup": "Oznacz jako grupę",
|
"commandHint_markasgroup": "Oznacz jako grupę",
|
||||||
@ -2288,5 +2220,268 @@
|
|||||||
"dehydrateTor": "Użytkownicy TOR-a: Eksportuj sesję",
|
"dehydrateTor": "Użytkownicy TOR-a: Eksportuj sesję",
|
||||||
"@dehydrateTor": {},
|
"@dehydrateTor": {},
|
||||||
"matrixWidgets": "Widżety Matrix",
|
"matrixWidgets": "Widżety Matrix",
|
||||||
"@matrixWidgets": {}
|
"@matrixWidgets": {},
|
||||||
|
"unsupportedAndroidVersion": "Nieobsługiwana wersja systemu Android",
|
||||||
|
"@unsupportedAndroidVersion": {},
|
||||||
|
"widgetCustom": "Własny",
|
||||||
|
"@widgetCustom": {},
|
||||||
|
"widgetEtherpad": "Notatka",
|
||||||
|
"@widgetEtherpad": {},
|
||||||
|
"widgetJitsi": "Jitsi Meet",
|
||||||
|
"@widgetJitsi": {},
|
||||||
|
"pinMessage": "Przypnij do pokoju",
|
||||||
|
"@pinMessage": {},
|
||||||
|
"confirmEventUnpin": "Czy na pewno chcesz trwale odpiąć wydarzenie?",
|
||||||
|
"@confirmEventUnpin": {},
|
||||||
|
"youJoinedTheChat": "Dołączono do czatu",
|
||||||
|
"@youJoinedTheChat": {},
|
||||||
|
"noEmailWarning": "Wprowadź prawidłowy adres e-mail. W przeciwnym razie resetowanie hasła nie będzie możliwe. Jeśli nie chcesz, dotknij ponownie przycisku, aby kontynuować.",
|
||||||
|
"@noEmailWarning": {},
|
||||||
|
"user": "Użytkownik",
|
||||||
|
"@user": {},
|
||||||
|
"custom": "Własne",
|
||||||
|
"@custom": {},
|
||||||
|
"newGroup": "Nowa grupa",
|
||||||
|
"@newGroup": {},
|
||||||
|
"newSpace": "Nowa przestrzeń",
|
||||||
|
"@newSpace": {},
|
||||||
|
"enterInviteLinkOrMatrixId": "Wprowadź link zaproszenia lub identyfikator Matrix...",
|
||||||
|
"@enterInviteLinkOrMatrixId": {},
|
||||||
|
"fileIsTooBigForServer": "Serwer zgłasza, że plik jest zbyt duży, aby go wysłać.",
|
||||||
|
"@fileIsTooBigForServer": {},
|
||||||
|
"youBannedUser": "Zbanowałeś/-aś {user}",
|
||||||
|
"@youBannedUser": {
|
||||||
|
"placeholders": {
|
||||||
|
"user": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"users": "Użytkownicy",
|
||||||
|
"@users": {},
|
||||||
|
"countFiles": "{count} plików",
|
||||||
|
"@countFiles": {
|
||||||
|
"placeholders": {
|
||||||
|
"count": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"noOtherDevicesFound": "Nie znaleziono innych urządzeń",
|
||||||
|
"@noOtherDevicesFound": {},
|
||||||
|
"widgetUrlError": "Niepoprawny URL.",
|
||||||
|
"@widgetUrlError": {},
|
||||||
|
"widgetNameError": "Podaj nazwę wyświetlaną.",
|
||||||
|
"@widgetNameError": {},
|
||||||
|
"encryptThisChat": "Zaszyfruj ten czat",
|
||||||
|
"@encryptThisChat": {},
|
||||||
|
"endToEndEncryption": "Szyfrowanie od końca do końca",
|
||||||
|
"@endToEndEncryption": {},
|
||||||
|
"disableEncryptionWarning": "Ze względów bezpieczeństwa nie można wyłączyć szyfrowania w czacie, w którym zostało ono wcześniej włączone.",
|
||||||
|
"@disableEncryptionWarning": {},
|
||||||
|
"deviceKeys": "Klucze urządzenia:",
|
||||||
|
"@deviceKeys": {},
|
||||||
|
"emailOrUsername": "Adres e-mail lub nazwa użytkownika",
|
||||||
|
"@emailOrUsername": {},
|
||||||
|
"indexedDbErrorLong": "Przechowywanie wiadomości niestety nie jest domyślnie włączone w trybie prywatnym.\nOdwiedź\n - about:config\n - ustaw dom.indexedDB.privateBrowsing.enabled na true\nW przeciwnym razie nie jest możliwe uruchomienie FluffyChat.",
|
||||||
|
"@indexedDbErrorLong": {},
|
||||||
|
"saveKeyManuallyDescription": "Zapisz ten klucz ręcznie, uruchamiając systemowe okno dialogowe udostępniania lub schowek.",
|
||||||
|
"@saveKeyManuallyDescription": {},
|
||||||
|
"screenSharingTitle": "udostępnianie ekranu",
|
||||||
|
"@screenSharingTitle": {},
|
||||||
|
"appearOnTopDetails": "Umożliwia wyświetlanie aplikacji nad innymi (nie jest to konieczne, jeśli FluffyChat jest już ustawiony jako konto do dzwonienia)",
|
||||||
|
"@appearOnTopDetails": {},
|
||||||
|
"noKeyForThisMessage": "Może się to zdarzyć, jeśli wiadomość została wysłana przed zalogowaniem się na to konto na tym urządzeniu.\n\nMożliwe jest również, że nadawca zablokował Twoje urządzenie lub coś poszło nie tak z połączeniem internetowym.\n\nJesteś w stanie odczytać wiadomość na innej sesji? W takim razie możesz przenieść z niej wiadomość! Wejdź w Ustawienia > Urządzenia i upewnij się, że Twoje urządzenia zweryfikowały się wzajemnie. Gdy następnym razem otworzysz pokój i obie sesje będą włączone, klucze zostaną przekazane automatycznie.\n\nNie chcesz stracić kluczy podczas wylogowania lub przełączania urządzeń? Upewnij się, że w ustawieniach masz włączoną kopię zapasową czatu.",
|
||||||
|
"@noKeyForThisMessage": {},
|
||||||
|
"sorryThatsNotPossible": "Przepraszamy... to nie jest możliwe",
|
||||||
|
"@sorryThatsNotPossible": {},
|
||||||
|
"noBackupWarning": "Uwaga! Bez włączenia kopii zapasowej czatu, stracisz dostęp do swoich zaszyfrowanych wiadomości. Zaleca się włączenie kopii zapasowej czatu przed wylogowaniem.",
|
||||||
|
"@noBackupWarning": {},
|
||||||
|
"commandHint_googly": "Wyślij kręcące się oczka",
|
||||||
|
"@commandHint_googly": {},
|
||||||
|
"callingPermissions": "Uprawnienia połączeń",
|
||||||
|
"@callingPermissions": {},
|
||||||
|
"storeInAndroidKeystore": "Przechowaj w Android KeyStore",
|
||||||
|
"@storeInAndroidKeystore": {},
|
||||||
|
"commandHint_cuddle": "Wyślij przytulenie",
|
||||||
|
"@commandHint_cuddle": {},
|
||||||
|
"googlyEyesContent": "{senderName} wysyła ci kręcące się oczka",
|
||||||
|
"@googlyEyesContent": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {
|
||||||
|
"senderName": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"cuddleContent": "{senderName} przytula cię",
|
||||||
|
"@cuddleContent": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {
|
||||||
|
"senderName": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hugContent": "{senderName} uściska cię",
|
||||||
|
"@hugContent": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {
|
||||||
|
"senderName": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"commandHint_hug": "Wyślij uścisk",
|
||||||
|
"@commandHint_hug": {},
|
||||||
|
"letsStart": "Zacznijmy",
|
||||||
|
"@letsStart": {},
|
||||||
|
"reactedWith": "{sender} zareagował/-a z {reaction}",
|
||||||
|
"@reactedWith": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {
|
||||||
|
"sender": {},
|
||||||
|
"reaction": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"emojis": "Emoji",
|
||||||
|
"@emojis": {},
|
||||||
|
"placeCall": "Zadzwoń",
|
||||||
|
"@placeCall": {},
|
||||||
|
"voiceCall": "Połączenie głosowe",
|
||||||
|
"@voiceCall": {},
|
||||||
|
"unsupportedAndroidVersionLong": "Ta funkcja wymaga nowszej wersji systemu Android. Sprawdź aktualizacje lub wsparcie Lineage OS.",
|
||||||
|
"@unsupportedAndroidVersionLong": {},
|
||||||
|
"videoCallsBetaWarning": "Należy pamiętać, że połączenia wideo są obecnie w fazie beta. Mogą nie działać zgodnie z oczekiwaniami lub nie działać w ogóle na wszystkich platformach.",
|
||||||
|
"@videoCallsBetaWarning": {},
|
||||||
|
"experimentalVideoCalls": "Eksperymentalne połączenia wideo",
|
||||||
|
"@experimentalVideoCalls": {},
|
||||||
|
"indexedDbErrorTitle": "Problemy związane z trybem prywatnym",
|
||||||
|
"@indexedDbErrorTitle": {},
|
||||||
|
"switchToAccount": "Przełącz na konto {number}",
|
||||||
|
"@switchToAccount": {
|
||||||
|
"type": "number",
|
||||||
|
"placeholders": {
|
||||||
|
"number": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nextAccount": "Następne konto",
|
||||||
|
"@nextAccount": {},
|
||||||
|
"previousAccount": "Poprzednie konto",
|
||||||
|
"@previousAccount": {},
|
||||||
|
"editWidgets": "Edytuj widżety",
|
||||||
|
"@editWidgets": {},
|
||||||
|
"addWidget": "Dodaj widżet",
|
||||||
|
"@addWidget": {},
|
||||||
|
"widgetVideo": "Film",
|
||||||
|
"@widgetVideo": {},
|
||||||
|
"widgetName": "Nazwa",
|
||||||
|
"@widgetName": {},
|
||||||
|
"errorAddingWidget": "Błąd podczas dodawania widżetu.",
|
||||||
|
"@errorAddingWidget": {},
|
||||||
|
"youRejectedTheInvitation": "Odrzucono zaproszenie",
|
||||||
|
"@youRejectedTheInvitation": {},
|
||||||
|
"youAcceptedTheInvitation": "👍 Zaakceptowałeś/-aś zaproszenie",
|
||||||
|
"@youAcceptedTheInvitation": {},
|
||||||
|
"youHaveWithdrawnTheInvitationFor": "Wycofano zaproszenie dla {user}",
|
||||||
|
"@youHaveWithdrawnTheInvitationFor": {
|
||||||
|
"placeholders": {
|
||||||
|
"user": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"youInvitedBy": "📩 Zostałeś/-aś zaproszony/-a przez {user}",
|
||||||
|
"@youInvitedBy": {
|
||||||
|
"placeholders": {
|
||||||
|
"user": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"youInvitedUser": "📩 Zaprosiłeś/-aś {user}",
|
||||||
|
"@youInvitedUser": {
|
||||||
|
"placeholders": {
|
||||||
|
"user": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"youKicked": "👞 Wyrzuciłeś/-aś {user}",
|
||||||
|
"@youKicked": {
|
||||||
|
"placeholders": {
|
||||||
|
"user": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"youKickedAndBanned": "🙅 Wyrzuciłeś/-aś i zbanowałeś/-aś {user}",
|
||||||
|
"@youKickedAndBanned": {
|
||||||
|
"placeholders": {
|
||||||
|
"user": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"youUnbannedUser": "Odbanowałeś/-aś {user}",
|
||||||
|
"@youUnbannedUser": {
|
||||||
|
"placeholders": {
|
||||||
|
"user": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"stories": "Relacje",
|
||||||
|
"@stories": {},
|
||||||
|
"unlockOldMessages": "Odblokuj stare wiadomości",
|
||||||
|
"@unlockOldMessages": {},
|
||||||
|
"storeInSecureStorageDescription": "Przechowaj klucz odzyskiwania w bezpiecznym magazynie tego urządzenia.",
|
||||||
|
"@storeInSecureStorageDescription": {},
|
||||||
|
"storeInAppleKeyChain": "Przechowaj w pęku kluczy Apple",
|
||||||
|
"@storeInAppleKeyChain": {},
|
||||||
|
"storeSecurlyOnThisDevice": "Przechowaj bezpiecznie na tym urządzeniu",
|
||||||
|
"@storeSecurlyOnThisDevice": {},
|
||||||
|
"foregroundServiceRunning": "To powiadomienie pojawia się, gdy usługa w tle jest uruchomiona.",
|
||||||
|
"@foregroundServiceRunning": {},
|
||||||
|
"screenSharingDetail": "Udostępniasz swój ekran w FluffyChat",
|
||||||
|
"@screenSharingDetail": {},
|
||||||
|
"callingAccount": "Konto połączeń",
|
||||||
|
"@callingAccount": {},
|
||||||
|
"callingAccountDetails": "Pozwala FluffyChat używać natywnej aplikacji do wykonywania połączeń w Androidzie.",
|
||||||
|
"@callingAccountDetails": {},
|
||||||
|
"appearOnTop": "Wyświetlaj nad innymi",
|
||||||
|
"@appearOnTop": {},
|
||||||
|
"otherCallingPermissions": "Mikrofon, kamera i inne uprawnienia FluffyChat",
|
||||||
|
"@otherCallingPermissions": {},
|
||||||
|
"whyIsThisMessageEncrypted": "Dlaczego nie można odczytać tej wiadomości?",
|
||||||
|
"@whyIsThisMessageEncrypted": {},
|
||||||
|
"enterSpace": "Wejdź do przestrzeni",
|
||||||
|
"@enterSpace": {},
|
||||||
|
"enterRoom": "Wejdź do pokoju",
|
||||||
|
"@enterRoom": {},
|
||||||
|
"allSpaces": "Wszystkie przestrzenie",
|
||||||
|
"@allSpaces": {},
|
||||||
|
"numChats": "{number} czatów",
|
||||||
|
"@numChats": {
|
||||||
|
"type": "number",
|
||||||
|
"placeholders": {
|
||||||
|
"number": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hideUnimportantStateEvents": "Ukryj nieistotne wydarzenia stanu",
|
||||||
|
"@hideUnimportantStateEvents": {},
|
||||||
|
"doNotShowAgain": "Nie pokazuj ponownie",
|
||||||
|
"@doNotShowAgain": {},
|
||||||
|
"wasDirectChatDisplayName": "Pusty czat (wcześniej {oldDisplayName})",
|
||||||
|
"@wasDirectChatDisplayName": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {
|
||||||
|
"oldDisplayName": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"newSpaceDescription": "Przestrzenie pozwalają na konsolidację czatów i budowanie prywatnych lub publicznych społeczności.",
|
||||||
|
"@newSpaceDescription": {},
|
||||||
|
"reopenChat": "Otwórz ponownie czat",
|
||||||
|
"@reopenChat": {},
|
||||||
|
"fileHasBeenSavedAt": "Plik został zapisany w ścieżce {path}",
|
||||||
|
"@fileHasBeenSavedAt": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {
|
||||||
|
"path": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"addToBundle": "Dodaj do pakietu",
|
||||||
|
"@addToBundle": {},
|
||||||
|
"bundleName": "Nazwa pakietu",
|
||||||
|
"@bundleName": {},
|
||||||
|
"editBundlesForAccount": "Edytuj paczki dla tego konta",
|
||||||
|
"@editBundlesForAccount": {},
|
||||||
|
"jumpToLastReadMessage": "Przejdź do ostatnio przeczytanej wiadomości",
|
||||||
|
"@jumpToLastReadMessage": {},
|
||||||
|
"readUpToHere": "Czytaj do tego miejsca",
|
||||||
|
"@readUpToHere": {},
|
||||||
|
"jump": "Przejdź",
|
||||||
|
"@jump": {},
|
||||||
|
"removeFromBundle": "Usuń z tej paczki",
|
||||||
|
"@removeFromBundle": {},
|
||||||
|
"openLinkInBrowser": "Otwórz link w przeglądarce",
|
||||||
|
"@openLinkInBrowser": {}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,21 +10,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"monday": "segunda-feira",
|
|
||||||
"@monday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"saturday": "sábado",
|
|
||||||
"@saturday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"wednesday": "quarta-feira",
|
|
||||||
"@wednesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"about": "Sobre",
|
"about": "Sobre",
|
||||||
"@about": {
|
"@about": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -107,11 +92,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"tuesday": "terça-feira",
|
|
||||||
"@tuesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"logout": "Terminar sessão",
|
"logout": "Terminar sessão",
|
||||||
"@logout": {
|
"@logout": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -122,11 +102,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"sunday": "domingo",
|
|
||||||
"@sunday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"users": "Utilizadores",
|
"users": "Utilizadores",
|
||||||
"@users": {},
|
"@users": {},
|
||||||
"close": "Fechar",
|
"close": "Fechar",
|
||||||
@ -141,15 +116,5 @@
|
|||||||
"month": {},
|
"month": {},
|
||||||
"day": {}
|
"day": {}
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"friday": "sexta-feira",
|
|
||||||
"@friday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"thursday": "quinta-feira",
|
|
||||||
"@thursday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -81,11 +81,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"archivedRoom": "Sala arquivada",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"areGuestsAllowedToJoin": "Usuários convidados podem participar",
|
"areGuestsAllowedToJoin": "Usuários convidados podem participar",
|
||||||
"@areGuestsAllowedToJoin": {
|
"@areGuestsAllowedToJoin": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -543,11 +538,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"crossSigningEnabled": "Assinatura cruzada ativada",
|
|
||||||
"@crossSigningEnabled": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"currentlyActive": "Ativo",
|
"currentlyActive": "Ativo",
|
||||||
"@currentlyActive": {
|
"@currentlyActive": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -633,11 +623,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"discover": "Desvendar",
|
|
||||||
"@discover": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"displaynameHasBeenChanged": "O nome de exibição foi alterado",
|
"displaynameHasBeenChanged": "O nome de exibição foi alterado",
|
||||||
"@displaynameHasBeenChanged": {
|
"@displaynameHasBeenChanged": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -804,11 +789,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"friday": "Sexta-feira",
|
|
||||||
"@friday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"fromJoining": "Desde que entrou",
|
"fromJoining": "Desde que entrou",
|
||||||
"@fromJoining": {
|
"@fromJoining": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -999,11 +979,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"keysCached": "Chaves guardadas",
|
|
||||||
"@keysCached": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"kicked": "👞 {username} enxotou {targetName}",
|
"kicked": "👞 {username} enxotou {targetName}",
|
||||||
"@kicked": {
|
"@kicked": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1138,11 +1113,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"monday": "Segunda-feira",
|
|
||||||
"@monday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"muteChat": "Silenciar",
|
"muteChat": "Silenciar",
|
||||||
"@muteChat": {
|
"@muteChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1536,11 +1506,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"saturday": "Sábado",
|
|
||||||
"@saturday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"saveFile": "Salvar arquivo",
|
"saveFile": "Salvar arquivo",
|
||||||
"@saveFile": {
|
"@saveFile": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1779,11 +1744,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"sunday": "Domingo",
|
|
||||||
"@sunday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"synchronizingPleaseWait": "Sincronizando… Por favor, aguarde.",
|
"synchronizingPleaseWait": "Sincronizando… Por favor, aguarde.",
|
||||||
"@synchronizingPleaseWait": {
|
"@synchronizingPleaseWait": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1804,16 +1764,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"thisRoomHasBeenArchived": "Esta sala foi arquivada.",
|
|
||||||
"@thisRoomHasBeenArchived": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"thursday": "Quinta-feira",
|
|
||||||
"@thursday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"title": "FluffyChat",
|
"title": "FluffyChat",
|
||||||
"@title": {
|
"@title": {
|
||||||
"description": "Title for the application",
|
"description": "Title for the application",
|
||||||
@ -1850,11 +1800,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"tuesday": "Terça-feira",
|
|
||||||
"@tuesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"unavailable": "Indisponível",
|
"unavailable": "Indisponível",
|
||||||
"@unavailable": {
|
"@unavailable": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2025,11 +1970,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"wednesday": "Quarta-feira",
|
|
||||||
"@wednesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"weSentYouAnEmail": "Enviamos um e-mail para você",
|
"weSentYouAnEmail": "Enviamos um e-mail para você",
|
||||||
"@weSentYouAnEmail": {
|
"@weSentYouAnEmail": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2102,8 +2042,6 @@
|
|||||||
},
|
},
|
||||||
"shareYourInviteLink": "Compartilhar o link do convite",
|
"shareYourInviteLink": "Compartilhar o link do convite",
|
||||||
"@shareYourInviteLink": {},
|
"@shareYourInviteLink": {},
|
||||||
"typeInInviteLinkManually": "Digitar o link do convite manualmente...",
|
|
||||||
"@typeInInviteLinkManually": {},
|
|
||||||
"oneClientLoggedOut": "Um dos seus clientes foi desvinculado",
|
"oneClientLoggedOut": "Um dos seus clientes foi desvinculado",
|
||||||
"@oneClientLoggedOut": {},
|
"@oneClientLoggedOut": {},
|
||||||
"addAccount": "Adicionar conta",
|
"addAccount": "Adicionar conta",
|
||||||
@ -2176,8 +2114,6 @@
|
|||||||
"@sendOnEnter": {},
|
"@sendOnEnter": {},
|
||||||
"homeserver": "Servidor matriz",
|
"homeserver": "Servidor matriz",
|
||||||
"@homeserver": {},
|
"@homeserver": {},
|
||||||
"yourUserId": "Seu ID de usuário:",
|
|
||||||
"@yourUserId": {},
|
|
||||||
"chatHasBeenAddedToThisSpace": "A conversa foi adicionada a este espaço",
|
"chatHasBeenAddedToThisSpace": "A conversa foi adicionada a este espaço",
|
||||||
"@chatHasBeenAddedToThisSpace": {},
|
"@chatHasBeenAddedToThisSpace": {},
|
||||||
"commandHint_clearcache": "Limpar dados temporários",
|
"commandHint_clearcache": "Limpar dados temporários",
|
||||||
@ -2419,8 +2355,6 @@
|
|||||||
"@commandHint_markasdm": {},
|
"@commandHint_markasdm": {},
|
||||||
"commandHint_markasgroup": "Marcar como grupo",
|
"commandHint_markasgroup": "Marcar como grupo",
|
||||||
"@commandHint_markasgroup": {},
|
"@commandHint_markasgroup": {},
|
||||||
"dehydrateShare": "Este é seu extrato FluffyChat. Cuidado para não perdê-lo e o mantenha privado.",
|
|
||||||
"@dehydrateShare": {},
|
|
||||||
"hydrateTor": "Usuários TOR: Importar sessão",
|
"hydrateTor": "Usuários TOR: Importar sessão",
|
||||||
"@hydrateTor": {},
|
"@hydrateTor": {},
|
||||||
"hydrateTorLong": "Você exportou sua última sessão no TOR? Importe ela rapidamente e continue conversando.",
|
"hydrateTorLong": "Você exportou sua última sessão no TOR? Importe ela rapidamente e continue conversando.",
|
||||||
@ -2491,8 +2425,6 @@
|
|||||||
"@dehydrateWarning": {},
|
"@dehydrateWarning": {},
|
||||||
"dehydrateTorLong": "Para usuários TOR, é recomendado exportar a sessão antes de fechar a janela.",
|
"dehydrateTorLong": "Para usuários TOR, é recomendado exportar a sessão antes de fechar a janela.",
|
||||||
"@dehydrateTorLong": {},
|
"@dehydrateTorLong": {},
|
||||||
"enableAutoBackups": "Habilitar backups automáticos",
|
|
||||||
"@enableAutoBackups": {},
|
|
||||||
"whyIsThisMessageEncrypted": "Por que esta mensagem está ilegível?",
|
"whyIsThisMessageEncrypted": "Por que esta mensagem está ilegível?",
|
||||||
"@whyIsThisMessageEncrypted": {},
|
"@whyIsThisMessageEncrypted": {},
|
||||||
"screenSharingTitle": "Compartilhar tela",
|
"screenSharingTitle": "Compartilhar tela",
|
||||||
|
|||||||
@ -90,11 +90,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"archivedRoom": "Sala arquivada",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"areGuestsAllowedToJoin": "Todos os visitantes podem entrar",
|
"areGuestsAllowedToJoin": "Todos os visitantes podem entrar",
|
||||||
"@areGuestsAllowedToJoin": {
|
"@areGuestsAllowedToJoin": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -294,8 +289,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"yourUserId": "O teu ID de utilizador:",
|
|
||||||
"@yourUserId": {},
|
|
||||||
"yourChatBackupHasBeenSetUp": "A cópia de segurança foi configurada.",
|
"yourChatBackupHasBeenSetUp": "A cópia de segurança foi configurada.",
|
||||||
"@yourChatBackupHasBeenSetUp": {},
|
"@yourChatBackupHasBeenSetUp": {},
|
||||||
"chatBackup": "Cópia de segurança de conversas",
|
"chatBackup": "Cópia de segurança de conversas",
|
||||||
@ -515,11 +508,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"crossSigningEnabled": "Assinatura cruzada ativada",
|
|
||||||
"@crossSigningEnabled": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"currentlyActive": "Ativo(a) agora",
|
"currentlyActive": "Ativo(a) agora",
|
||||||
"@currentlyActive": {
|
"@currentlyActive": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -605,11 +593,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"discover": "Descobrir",
|
|
||||||
"@discover": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"displaynameHasBeenChanged": "Nome de exibição alterado",
|
"displaynameHasBeenChanged": "Nome de exibição alterado",
|
||||||
"@displaynameHasBeenChanged": {
|
"@displaynameHasBeenChanged": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -778,11 +761,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"friday": "Sexta-feira",
|
|
||||||
"@friday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"goToTheNewRoom": "Ir para a nova sala",
|
"goToTheNewRoom": "Ir para a nova sala",
|
||||||
"@goToTheNewRoom": {
|
"@goToTheNewRoom": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -963,11 +941,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"keysCached": "Chaves estão armazenadas em cache",
|
|
||||||
"@keysCached": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"kicked": "{username} expulsou {targetName}",
|
"kicked": "{username} expulsou {targetName}",
|
||||||
"@kicked": {
|
"@kicked": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1097,11 +1070,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"monday": "Segunda-feira",
|
|
||||||
"@monday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"muteChat": "Silenciar conversa",
|
"muteChat": "Silenciar conversa",
|
||||||
"@muteChat": {
|
"@muteChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1167,8 +1135,6 @@
|
|||||||
},
|
},
|
||||||
"shareYourInviteLink": "Partilhar a ligação de convite",
|
"shareYourInviteLink": "Partilhar a ligação de convite",
|
||||||
"@shareYourInviteLink": {},
|
"@shareYourInviteLink": {},
|
||||||
"typeInInviteLinkManually": "Escrever a ligação de convite manualmente...",
|
|
||||||
"@typeInInviteLinkManually": {},
|
|
||||||
"none": "Nenhum",
|
"none": "Nenhum",
|
||||||
"@none": {
|
"@none": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1581,11 +1547,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"saturday": "Sábado",
|
|
||||||
"@saturday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"saveFile": "Guardar ficheiro",
|
"saveFile": "Guardar ficheiro",
|
||||||
"@saveFile": {
|
"@saveFile": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1709,8 +1670,6 @@
|
|||||||
"@dehydrate": {},
|
"@dehydrate": {},
|
||||||
"dehydrateWarning": "Esta ação não pode ser revertida. Assegura-te que guardas bem a cópia de segurança.",
|
"dehydrateWarning": "Esta ação não pode ser revertida. Assegura-te que guardas bem a cópia de segurança.",
|
||||||
"@dehydrateWarning": {},
|
"@dehydrateWarning": {},
|
||||||
"dehydrateShare": "Esta é a tua exportação privada do FluffyChat. Assegura-te que não a perdes e que a manténs privada.",
|
|
||||||
"@dehydrateShare": {},
|
|
||||||
"hydrateTorLong": "Exportaste a tua sessão na última vez que estiveste no TOR? Importa-a rapidamente e continua a conversar.",
|
"hydrateTorLong": "Exportaste a tua sessão na última vez que estiveste no TOR? Importa-a rapidamente e continua a conversar.",
|
||||||
"@hydrateTorLong": {},
|
"@hydrateTorLong": {},
|
||||||
"dehydrateTor": "Utilizadores do TOR: Exportar sessão",
|
"dehydrateTor": "Utilizadores do TOR: Exportar sessão",
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -11,7 +11,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"acceptedTheInvitation": "{username} принял(а) приглашение войти в чат",
|
"acceptedTheInvitation": "👍 {username} принял(а) приглашение войти в чат",
|
||||||
"@acceptedTheInvitation": {
|
"@acceptedTheInvitation": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -23,7 +23,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"activatedEndToEndEncryption": "{username} активировал(а) сквозное шифрование",
|
"activatedEndToEndEncryption": "🔐 {username} активировал(а) сквозное шифрование",
|
||||||
"@activatedEndToEndEncryption": {
|
"@activatedEndToEndEncryption": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -82,11 +82,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"archivedRoom": "Архивированная комната",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"areGuestsAllowedToJoin": "Разрешено ли гостям присоединяться",
|
"areGuestsAllowedToJoin": "Разрешено ли гостям присоединяться",
|
||||||
"@areGuestsAllowedToJoin": {
|
"@areGuestsAllowedToJoin": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -448,12 +443,12 @@
|
|||||||
},
|
},
|
||||||
"description": "State that {command} is not a valid /command."
|
"description": "State that {command} is not a valid /command."
|
||||||
},
|
},
|
||||||
"compareEmojiMatch": "Сравните и убедитесь, что следующие эмодзи соответствуют эмодзи на другом устройстве:",
|
"compareEmojiMatch": "Сравните эмодзи",
|
||||||
"@compareEmojiMatch": {
|
"@compareEmojiMatch": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"compareNumbersMatch": "Сравните и убедитесь, что следующие числа соответствуют числам на другом устройстве:",
|
"compareNumbersMatch": "Сравните числа",
|
||||||
"@compareNumbersMatch": {
|
"@compareNumbersMatch": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -527,7 +522,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"createdTheChat": "{username} создал(а) чат",
|
"createdTheChat": "💬 {username} создал(а) чат",
|
||||||
"@createdTheChat": {
|
"@createdTheChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -544,11 +539,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"crossSigningEnabled": "Кросс-подпись включена",
|
|
||||||
"@crossSigningEnabled": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"currentlyActive": "В настоящее время активен(а)",
|
"currentlyActive": "В настоящее время активен(а)",
|
||||||
"@currentlyActive": {
|
"@currentlyActive": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -634,11 +624,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"discover": "Обзор",
|
|
||||||
"@discover": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"displaynameHasBeenChanged": "Отображаемое имя было изменено",
|
"displaynameHasBeenChanged": "Отображаемое имя было изменено",
|
||||||
"@displaynameHasBeenChanged": {
|
"@displaynameHasBeenChanged": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -805,11 +790,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"friday": "Пятница",
|
|
||||||
"@friday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"fromJoining": "С момента присоединения",
|
"fromJoining": "С момента присоединения",
|
||||||
"@fromJoining": {
|
"@fromJoining": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -957,7 +937,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"invitedUser": "{username} пригласил(а) {targetName}",
|
"invitedUser": "📩 {username} пригласил(а) {targetName}",
|
||||||
"@invitedUser": {
|
"@invitedUser": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -988,7 +968,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"joinedTheChat": "{username} присоединился(ась) к чату",
|
"joinedTheChat": "👋 {username} присоединился(ась) к чату",
|
||||||
"@joinedTheChat": {
|
"@joinedTheChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -1000,12 +980,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"keysCached": "Ключи сохранены в кэше",
|
"kicked": "👞 {username} исключил(а) {targetName}",
|
||||||
"@keysCached": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"kicked": "{username} исключил(а) {targetName}",
|
|
||||||
"@kicked": {
|
"@kicked": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -1013,7 +988,7 @@
|
|||||||
"targetName": {}
|
"targetName": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"kickedAndBanned": "{username} исключил(а) и заблокировал(а) {targetName}",
|
"kickedAndBanned": "🙅 {username} заблокировал(а) {targetName}",
|
||||||
"@kickedAndBanned": {
|
"@kickedAndBanned": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -1139,11 +1114,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"monday": "Понедельник",
|
|
||||||
"@monday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"muteChat": "Отключить уведомления",
|
"muteChat": "Отключить уведомления",
|
||||||
"@muteChat": {
|
"@muteChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1537,11 +1507,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"saturday": "Суббота",
|
|
||||||
"@saturday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"saveFile": "Сохранить файл",
|
"saveFile": "Сохранить файл",
|
||||||
"@saveFile": {
|
"@saveFile": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1780,11 +1745,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"sunday": "Воскресенье",
|
|
||||||
"@sunday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"synchronizingPleaseWait": "Синхронизация… Пожалуйста, подождите.",
|
"synchronizingPleaseWait": "Синхронизация… Пожалуйста, подождите.",
|
||||||
"@synchronizingPleaseWait": {
|
"@synchronizingPleaseWait": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1805,16 +1765,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"thisRoomHasBeenArchived": "Эта комната была заархивирована.",
|
|
||||||
"@thisRoomHasBeenArchived": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"thursday": "Четверг",
|
|
||||||
"@thursday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"title": "FluffyChat",
|
"title": "FluffyChat",
|
||||||
"@title": {
|
"@title": {
|
||||||
"description": "Title for the application",
|
"description": "Title for the application",
|
||||||
@ -1851,11 +1801,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"tuesday": "Вторник",
|
|
||||||
"@tuesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"unavailable": "Недоступен",
|
"unavailable": "Недоступен",
|
||||||
"@unavailable": {
|
"@unavailable": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1931,7 +1876,7 @@
|
|||||||
"username": {}
|
"username": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"userLeftTheChat": "{username} покинул(а) чат",
|
"userLeftTheChat": "🚪 {username} покинул(а) чат",
|
||||||
"@userLeftTheChat": {
|
"@userLeftTheChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
@ -2026,11 +1971,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"wednesday": "Среда",
|
|
||||||
"@wednesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"weSentYouAnEmail": "Мы отправили вам электронное письмо",
|
"weSentYouAnEmail": "Мы отправили вам электронное письмо",
|
||||||
"@weSentYouAnEmail": {
|
"@weSentYouAnEmail": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2107,8 +2047,6 @@
|
|||||||
"@addToSpace": {},
|
"@addToSpace": {},
|
||||||
"scanQrCode": "Сканировать QR-код",
|
"scanQrCode": "Сканировать QR-код",
|
||||||
"@scanQrCode": {},
|
"@scanQrCode": {},
|
||||||
"typeInInviteLinkManually": "Введите ссылку приглашения...",
|
|
||||||
"@typeInInviteLinkManually": {},
|
|
||||||
"shareYourInviteLink": "Поделиться ссылкой приглашения",
|
"shareYourInviteLink": "Поделиться ссылкой приглашения",
|
||||||
"@shareYourInviteLink": {},
|
"@shareYourInviteLink": {},
|
||||||
"sendOnEnter": "Отправлять по Enter",
|
"sendOnEnter": "Отправлять по Enter",
|
||||||
@ -2135,8 +2073,6 @@
|
|||||||
"@oneClientLoggedOut": {},
|
"@oneClientLoggedOut": {},
|
||||||
"yourChatBackupHasBeenSetUp": "Резервное копирование чата настроено.",
|
"yourChatBackupHasBeenSetUp": "Резервное копирование чата настроено.",
|
||||||
"@yourChatBackupHasBeenSetUp": {},
|
"@yourChatBackupHasBeenSetUp": {},
|
||||||
"yourUserId": "Ваш ID пользователя:",
|
|
||||||
"@yourUserId": {},
|
|
||||||
"unverified": "Не проверено",
|
"unverified": "Не проверено",
|
||||||
"@unverified": {},
|
"@unverified": {},
|
||||||
"passwordsDoNotMatch": "Пароли не совпадают!",
|
"passwordsDoNotMatch": "Пароли не совпадают!",
|
||||||
@ -2320,7 +2256,7 @@
|
|||||||
},
|
},
|
||||||
"youRejectedTheInvitation": "Вы отклонили приглашение",
|
"youRejectedTheInvitation": "Вы отклонили приглашение",
|
||||||
"@youRejectedTheInvitation": {},
|
"@youRejectedTheInvitation": {},
|
||||||
"youAcceptedTheInvitation": "Вы приняли приглашение",
|
"youAcceptedTheInvitation": "👍 Вы приняли приглашение",
|
||||||
"@youAcceptedTheInvitation": {},
|
"@youAcceptedTheInvitation": {},
|
||||||
"youUnbannedUser": "Вы разблокировали {user}",
|
"youUnbannedUser": "Вы разблокировали {user}",
|
||||||
"@youUnbannedUser": {
|
"@youUnbannedUser": {
|
||||||
@ -2330,19 +2266,19 @@
|
|||||||
},
|
},
|
||||||
"youJoinedTheChat": "Вы присоединились к чату",
|
"youJoinedTheChat": "Вы присоединились к чату",
|
||||||
"@youJoinedTheChat": {},
|
"@youJoinedTheChat": {},
|
||||||
"youKickedAndBanned": "Вы исключили и заблокировали {user}",
|
"youKickedAndBanned": "🙅 Вы заблокировали {user}",
|
||||||
"@youKickedAndBanned": {
|
"@youKickedAndBanned": {
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"user": {}
|
"user": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"youInvitedUser": "Вы пригласили {user}",
|
"youInvitedUser": "📩 Вы пригласили {user}",
|
||||||
"@youInvitedUser": {
|
"@youInvitedUser": {
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"user": {}
|
"user": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"youKicked": "Вы исключили {user}",
|
"youKicked": "👞 Вы выгнали {user}",
|
||||||
"@youKicked": {
|
"@youKicked": {
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"user": {}
|
"user": {}
|
||||||
@ -2360,7 +2296,7 @@
|
|||||||
"user": {}
|
"user": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"youInvitedBy": "Вы были приглашены {user}",
|
"youInvitedBy": "📩 Вы были приглашены {user}",
|
||||||
"@youInvitedBy": {
|
"@youInvitedBy": {
|
||||||
"placeholders": {
|
"placeholders": {
|
||||||
"user": {}
|
"user": {}
|
||||||
@ -2374,8 +2310,6 @@
|
|||||||
"@stories": {},
|
"@stories": {},
|
||||||
"users": "Пользователи",
|
"users": "Пользователи",
|
||||||
"@users": {},
|
"@users": {},
|
||||||
"enableAutoBackups": "Включить автоматическое резервное копирование",
|
|
||||||
"@enableAutoBackups": {},
|
|
||||||
"unlockOldMessages": "Разблокировать старые сообщения",
|
"unlockOldMessages": "Разблокировать старые сообщения",
|
||||||
"@unlockOldMessages": {},
|
"@unlockOldMessages": {},
|
||||||
"storeInSecureStorageDescription": "Сохраните ключ восстановления в безопасном хранилище этого устройства.",
|
"storeInSecureStorageDescription": "Сохраните ключ восстановления в безопасном хранилище этого устройства.",
|
||||||
@ -2417,8 +2351,6 @@
|
|||||||
"@indexedDbErrorLong": {},
|
"@indexedDbErrorLong": {},
|
||||||
"custom": "Пользовательское",
|
"custom": "Пользовательское",
|
||||||
"@custom": {},
|
"@custom": {},
|
||||||
"dehydrateShare": "Это ваш личный экспорт FluffyChat. Убедитесь, что вы не потеряете его и держите его в тайне.",
|
|
||||||
"@dehydrateShare": {},
|
|
||||||
"updateAvailable": "Доступно обновление для FluffyChat",
|
"updateAvailable": "Доступно обновление для FluffyChat",
|
||||||
"@updateAvailable": {},
|
"@updateAvailable": {},
|
||||||
"updateNow": "Обновить в фоновом режиме",
|
"updateNow": "Обновить в фоновом режиме",
|
||||||
@ -2479,5 +2411,89 @@
|
|||||||
"placeholders": {
|
"placeholders": {
|
||||||
"number": {}
|
"number": {}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"discover": "Обзор",
|
||||||
|
"@discover": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {}
|
||||||
|
},
|
||||||
|
"fileIsTooBigForServer": "Файл слишком большой.",
|
||||||
|
"@fileIsTooBigForServer": {},
|
||||||
|
"hideUnimportantStateEvents": "Скрыть необязательные события статуса",
|
||||||
|
"@hideUnimportantStateEvents": {},
|
||||||
|
"endToEndEncryption": "Сквозное шифрование",
|
||||||
|
"@endToEndEncryption": {},
|
||||||
|
"sorryThatsNotPossible": "Извините... это невозможно",
|
||||||
|
"@sorryThatsNotPossible": {},
|
||||||
|
"openLinkInBrowser": "Открыть ссылку в браузере",
|
||||||
|
"@openLinkInBrowser": {},
|
||||||
|
"fileHasBeenSavedAt": "Файл сохранён в {path}",
|
||||||
|
"@fileHasBeenSavedAt": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {
|
||||||
|
"path": {}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"commandHint_cuddle": "Отправить объятия",
|
||||||
|
"@commandHint_cuddle": {},
|
||||||
|
"readUpToHere": "Дочитать до сюда",
|
||||||
|
"@readUpToHere": {},
|
||||||
|
"commandHint_hug": "Отправить обнимашки",
|
||||||
|
"@commandHint_hug": {},
|
||||||
|
"cuddleContent": "{senderName} обнял Вас",
|
||||||
|
"@cuddleContent": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {
|
||||||
|
"senderName": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hugContent": "{senderName} обнял Вас",
|
||||||
|
"@hugContent": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {
|
||||||
|
"senderName": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"jump": "Перейти",
|
||||||
|
"@jump": {},
|
||||||
|
"doNotShowAgain": "Не показывать снова",
|
||||||
|
"@doNotShowAgain": {},
|
||||||
|
"newSpaceDescription": "Пространства позволяют объединять Ваши чаты и создавать частные или общедоступные сообщества.",
|
||||||
|
"@newSpaceDescription": {},
|
||||||
|
"disableEncryptionWarning": "В целях безопасности Вы не можете отключить шифрование в чате, где оно было включено.",
|
||||||
|
"@disableEncryptionWarning": {},
|
||||||
|
"deviceKeys": "Ключи устройств:",
|
||||||
|
"@deviceKeys": {},
|
||||||
|
"letsStart": "Давайте начнём",
|
||||||
|
"@letsStart": {},
|
||||||
|
"enterInviteLinkOrMatrixId": "Введите ссылку приглашения или Matrix ID...",
|
||||||
|
"@enterInviteLinkOrMatrixId": {},
|
||||||
|
"noBackupWarning": "Внимание! Без резервных копий, Вы потеряете доступ к своим зашифрованным сообщениям. Крайне рекомендуется включить резервные копии перед выходом.",
|
||||||
|
"@noBackupWarning": {},
|
||||||
|
"noOtherDevicesFound": "Другие устройства не найдены",
|
||||||
|
"@noOtherDevicesFound": {},
|
||||||
|
"reportErrorDescription": "О, нет. Что-то пошло не так. Пожалуйста, повторите попытку позже. При желании вы можете сообщить об ошибке разработчикам.",
|
||||||
|
"@reportErrorDescription": {},
|
||||||
|
"report": "сообщить",
|
||||||
|
"@report": {},
|
||||||
|
"allRooms": "Все группы",
|
||||||
|
"@allRooms": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {}
|
||||||
|
},
|
||||||
|
"startFirstChat": "Начните Ваш первый чат",
|
||||||
|
"@startFirstChat": {},
|
||||||
|
"jumpToLastReadMessage": "Перейти к последнему прочитанному сообщению",
|
||||||
|
"@jumpToLastReadMessage": {},
|
||||||
|
"wasDirectChatDisplayName": "Пустой чат (был {oldDisplayName})",
|
||||||
|
"@wasDirectChatDisplayName": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {
|
||||||
|
"oldDisplayName": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"encryptThisChat": "Зашифровать этот чат",
|
||||||
|
"@encryptThisChat": {},
|
||||||
|
"reopenChat": "Открыть чат заново",
|
||||||
|
"@reopenChat": {}
|
||||||
}
|
}
|
||||||
@ -55,11 +55,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"archivedRoom": "Archivovaná miestnosť",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"areGuestsAllowedToJoin": "Môžu sa pripojiť hostia",
|
"areGuestsAllowedToJoin": "Môžu sa pripojiť hostia",
|
||||||
"@areGuestsAllowedToJoin": {
|
"@areGuestsAllowedToJoin": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -330,11 +325,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"crossSigningEnabled": "Vzájomné overenie je zapnuté",
|
|
||||||
"@crossSigningEnabled": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"currentlyActive": "Momentálne prítomní",
|
"currentlyActive": "Momentálne prítomní",
|
||||||
"@currentlyActive": {
|
"@currentlyActive": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -480,11 +470,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"friday": "Piatok",
|
|
||||||
"@friday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"fromJoining": "Od pripojenia",
|
"fromJoining": "Od pripojenia",
|
||||||
"@fromJoining": {
|
"@fromJoining": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -610,11 +595,6 @@
|
|||||||
"username": {}
|
"username": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"keysCached": "Kľúče sú uložené",
|
|
||||||
"@keysCached": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"kicked": "{username} vyhodili {targetName}",
|
"kicked": "{username} vyhodili {targetName}",
|
||||||
"@kicked": {
|
"@kicked": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -717,11 +697,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"monday": "Pondelok",
|
|
||||||
"@monday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"muteChat": "Stlmiť chat",
|
"muteChat": "Stlmiť chat",
|
||||||
"@muteChat": {
|
"@muteChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -920,11 +895,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"saturday": "Sobota",
|
|
||||||
"@saturday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"seenByUser": "Videné užívateľom {username}",
|
"seenByUser": "Videné užívateľom {username}",
|
||||||
"@seenByUser": {
|
"@seenByUser": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1060,11 +1030,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"sunday": "Nedeľa",
|
|
||||||
"@sunday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"systemTheme": "Systémová farba",
|
"systemTheme": "Systémová farba",
|
||||||
"@systemTheme": {
|
"@systemTheme": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1080,16 +1045,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"thisRoomHasBeenArchived": "Táto miestnosť bola archivovaná.",
|
|
||||||
"@thisRoomHasBeenArchived": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"thursday": "Štvrtok",
|
|
||||||
"@thursday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"title": "FluffyChat",
|
"title": "FluffyChat",
|
||||||
"@title": {
|
"@title": {
|
||||||
"description": "Title for the application",
|
"description": "Title for the application",
|
||||||
@ -1101,11 +1056,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"tuesday": "Utorok",
|
|
||||||
"@tuesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"unbannedUser": "{username} odbanovali {targetName}",
|
"unbannedUser": "{username} odbanovali {targetName}",
|
||||||
"@unbannedUser": {
|
"@unbannedUser": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1256,11 +1206,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"wednesday": "Streda",
|
|
||||||
"@wednesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"whoIsAllowedToJoinThisGroup": "Kto môže vstúpiť do tejto skupiny",
|
"whoIsAllowedToJoinThisGroup": "Kto môže vstúpiť do tejto skupiny",
|
||||||
"@whoIsAllowedToJoinThisGroup": {
|
"@whoIsAllowedToJoinThisGroup": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1440,8 +1385,6 @@
|
|||||||
},
|
},
|
||||||
"sendOnEnter": "Odoslať pri vstupe",
|
"sendOnEnter": "Odoslať pri vstupe",
|
||||||
"@sendOnEnter": {},
|
"@sendOnEnter": {},
|
||||||
"yourUserId": "Vaše užívateľské ID:",
|
|
||||||
"@yourUserId": {},
|
|
||||||
"ignoredUsers": "Ignorovaní užívatelia",
|
"ignoredUsers": "Ignorovaní užívatelia",
|
||||||
"@ignoredUsers": {
|
"@ignoredUsers": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
|
|||||||
@ -71,11 +71,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"archivedRoom": "Arhivirana soba",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"askSSSSSign": "Če želite podpisati drugo osebo, vnesite geslo za varno trgovino ali obnovitveni ključ.",
|
"askSSSSSign": "Če želite podpisati drugo osebo, vnesite geslo za varno trgovino ali obnovitveni ključ.",
|
||||||
"@askSSSSSign": {
|
"@askSSSSSign": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -259,8 +254,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"yourUserId": "Vaš ID uporabnika:",
|
|
||||||
"@yourUserId": {},
|
|
||||||
"yourChatBackupHasBeenSetUp": "Varnostna kopija klepeta je nastavljena.",
|
"yourChatBackupHasBeenSetUp": "Varnostna kopija klepeta je nastavljena.",
|
||||||
"@yourChatBackupHasBeenSetUp": {},
|
"@yourChatBackupHasBeenSetUp": {},
|
||||||
"chatBackup": "Varnostno kopiranje klepeta",
|
"chatBackup": "Varnostno kopiranje klepeta",
|
||||||
@ -558,11 +551,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"crossSigningEnabled": "Navzkrižno podpisovanje DA",
|
|
||||||
"@crossSigningEnabled": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"currentlyActive": "Trenutno aktiven",
|
"currentlyActive": "Trenutno aktiven",
|
||||||
"@currentlyActive": {
|
"@currentlyActive": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
|
|||||||
@ -76,11 +76,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"archivedRoom": "Архивирана соба",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"areGuestsAllowedToJoin": "Да ли је гостима дозвољен приступ",
|
"areGuestsAllowedToJoin": "Да ли је гостима дозвољен приступ",
|
||||||
"@areGuestsAllowedToJoin": {
|
"@areGuestsAllowedToJoin": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -504,11 +499,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"crossSigningEnabled": "Међу-потписивање укључено",
|
|
||||||
"@crossSigningEnabled": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"currentlyActive": "Тренутно активно",
|
"currentlyActive": "Тренутно активно",
|
||||||
"@currentlyActive": {
|
"@currentlyActive": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -594,11 +584,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"discover": "Истражи",
|
|
||||||
"@discover": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"displaynameHasBeenChanged": "Име за приказ је измењено",
|
"displaynameHasBeenChanged": "Име за приказ је измењено",
|
||||||
"@displaynameHasBeenChanged": {
|
"@displaynameHasBeenChanged": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -756,11 +741,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"friday": "петак",
|
|
||||||
"@friday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"fromJoining": "од приступања",
|
"fromJoining": "од приступања",
|
||||||
"@fromJoining": {
|
"@fromJoining": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -951,11 +931,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"keysCached": "Кључеви су кеширани",
|
|
||||||
"@keysCached": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"kicked": "{username} избаци корисника {targetName}",
|
"kicked": "{username} избаци корисника {targetName}",
|
||||||
"@kicked": {
|
"@kicked": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1080,11 +1055,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"monday": "понедељак",
|
|
||||||
"@monday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"muteChat": "Ућуткај ћаскање",
|
"muteChat": "Ућуткај ћаскање",
|
||||||
"@muteChat": {
|
"@muteChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1460,11 +1430,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"saturday": "субота",
|
|
||||||
"@saturday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"search": "Претражи",
|
"search": "Претражи",
|
||||||
"@search": {
|
"@search": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1674,11 +1639,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"sunday": "недеља",
|
|
||||||
"@sunday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"systemTheme": "системски",
|
"systemTheme": "системски",
|
||||||
"@systemTheme": {
|
"@systemTheme": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1694,16 +1654,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"thisRoomHasBeenArchived": "Ова соба је архивирана.",
|
|
||||||
"@thisRoomHasBeenArchived": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"thursday": "четвртак",
|
|
||||||
"@thursday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"title": "FluffyChat",
|
"title": "FluffyChat",
|
||||||
"@title": {
|
"@title": {
|
||||||
"description": "Title for the application",
|
"description": "Title for the application",
|
||||||
@ -1740,11 +1690,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"tuesday": "уторак",
|
|
||||||
"@tuesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"unavailable": "Недоступно",
|
"unavailable": "Недоступно",
|
||||||
"@unavailable": {
|
"@unavailable": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1915,11 +1860,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"wednesday": "среда",
|
|
||||||
"@wednesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"weSentYouAnEmail": "Послали смо вам е-пошту",
|
"weSentYouAnEmail": "Послали смо вам е-пошту",
|
||||||
"@weSentYouAnEmail": {
|
"@weSentYouAnEmail": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
|
|||||||
@ -71,11 +71,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"archivedRoom": "Arkiverat Rum",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"areGuestsAllowedToJoin": "Får gästanvändare gå med",
|
"areGuestsAllowedToJoin": "Får gästanvändare gå med",
|
||||||
"@areGuestsAllowedToJoin": {
|
"@areGuestsAllowedToJoin": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -308,12 +303,12 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"compareEmojiMatch": "Jämför och se till att följande emoji matchar den andra enheten:",
|
"compareEmojiMatch": "Vänligen jämför uttryckssymbolerna",
|
||||||
"@compareEmojiMatch": {
|
"@compareEmojiMatch": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"compareNumbersMatch": "Jämför och se till att följande nummer matchar den andra enheten:",
|
"compareNumbersMatch": "Vänligen jämför siffrorna",
|
||||||
"@compareNumbersMatch": {
|
"@compareNumbersMatch": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -394,11 +389,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"crossSigningEnabled": "Korssignering på",
|
|
||||||
"@crossSigningEnabled": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"currentlyActive": "För närvarande aktiv",
|
"currentlyActive": "För närvarande aktiv",
|
||||||
"@currentlyActive": {
|
"@currentlyActive": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -484,11 +474,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"discover": "Utforska",
|
|
||||||
"@discover": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"displaynameHasBeenChanged": "Visningsnamn har ändrats",
|
"displaynameHasBeenChanged": "Visningsnamn har ändrats",
|
||||||
"@displaynameHasBeenChanged": {
|
"@displaynameHasBeenChanged": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -631,11 +616,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"friday": "Fredag",
|
|
||||||
"@friday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"fromJoining": "Från att gå med",
|
"fromJoining": "Från att gå med",
|
||||||
"@fromJoining": {
|
"@fromJoining": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -821,11 +801,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"keysCached": "Nycklarna är cachade",
|
|
||||||
"@keysCached": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"kicked": "👞 {username} sparkade ut {targetName}",
|
"kicked": "👞 {username} sparkade ut {targetName}",
|
||||||
"@kicked": {
|
"@kicked": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -943,11 +918,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"monday": "Måndag",
|
|
||||||
"@monday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"muteChat": "Tysta chatt",
|
"muteChat": "Tysta chatt",
|
||||||
"@muteChat": {
|
"@muteChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1060,7 +1030,7 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"oopsSomethingWentWrong": "Oops, någonting gick fel…",
|
"oopsSomethingWentWrong": "Hoppsan, något gick fel…",
|
||||||
"@oopsSomethingWentWrong": {
|
"@oopsSomethingWentWrong": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -1278,11 +1248,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"saturday": "Lördag",
|
|
||||||
"@saturday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"search": "Sök",
|
"search": "Sök",
|
||||||
"@search": {
|
"@search": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1477,11 +1442,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"sunday": "Söndag",
|
|
||||||
"@sunday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"systemTheme": "System",
|
"systemTheme": "System",
|
||||||
"@systemTheme": {
|
"@systemTheme": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1497,16 +1457,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"thisRoomHasBeenArchived": "Detta rummet har blivit arkiverat.",
|
|
||||||
"@thisRoomHasBeenArchived": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"thursday": "Torsdag",
|
|
||||||
"@thursday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"title": "FluffyChat",
|
"title": "FluffyChat",
|
||||||
"@title": {
|
"@title": {
|
||||||
"description": "Title for the application",
|
"description": "Title for the application",
|
||||||
@ -1538,11 +1488,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"tuesday": "Tisdag",
|
|
||||||
"@tuesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"unavailable": "Upptagen",
|
"unavailable": "Upptagen",
|
||||||
"@unavailable": {
|
"@unavailable": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1708,11 +1653,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"wednesday": "Onsdag",
|
|
||||||
"@wednesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"weSentYouAnEmail": "Vi skickade dig ett e-postmeddelande",
|
"weSentYouAnEmail": "Vi skickade dig ett e-postmeddelande",
|
||||||
"@weSentYouAnEmail": {
|
"@weSentYouAnEmail": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2211,8 +2151,6 @@
|
|||||||
"@reportUser": {},
|
"@reportUser": {},
|
||||||
"openChat": "Öppna Chatt",
|
"openChat": "Öppna Chatt",
|
||||||
"@openChat": {},
|
"@openChat": {},
|
||||||
"yourUserId": "Ditt användar-ID:",
|
|
||||||
"@yourUserId": {},
|
|
||||||
"sendOnEnter": "Skicka med Enter",
|
"sendOnEnter": "Skicka med Enter",
|
||||||
"@sendOnEnter": {},
|
"@sendOnEnter": {},
|
||||||
"addToStory": "Addera till berättelse",
|
"addToStory": "Addera till berättelse",
|
||||||
@ -2230,8 +2168,6 @@
|
|||||||
"@yourChatBackupHasBeenSetUp": {},
|
"@yourChatBackupHasBeenSetUp": {},
|
||||||
"loginWithOneClick": "Logga in med ett klick",
|
"loginWithOneClick": "Logga in med ett klick",
|
||||||
"@loginWithOneClick": {},
|
"@loginWithOneClick": {},
|
||||||
"typeInInviteLinkManually": "Skriv in länk med inbjudan manuellt...",
|
|
||||||
"@typeInInviteLinkManually": {},
|
|
||||||
"removeFromBundle": "Ta bort från paket",
|
"removeFromBundle": "Ta bort från paket",
|
||||||
"@removeFromBundle": {},
|
"@removeFromBundle": {},
|
||||||
"enableMultiAccounts": "(BETA) Aktivera multi-konton på denna enhet",
|
"enableMultiAccounts": "(BETA) Aktivera multi-konton på denna enhet",
|
||||||
@ -2244,7 +2180,7 @@
|
|||||||
"@thisUserHasNotPostedAnythingYet": {},
|
"@thisUserHasNotPostedAnythingYet": {},
|
||||||
"storyPrivacyWarning": "Notera att användare kan se och kontakta varandra i din berättelse. Din berättelse är synlig i 24 timmar, men det finns ingen garanti för att berättelser raderas från alla enheter och servrar.",
|
"storyPrivacyWarning": "Notera att användare kan se och kontakta varandra i din berättelse. Din berättelse är synlig i 24 timmar, men det finns ingen garanti för att berättelser raderas från alla enheter och servrar.",
|
||||||
"@storyPrivacyWarning": {},
|
"@storyPrivacyWarning": {},
|
||||||
"emojis": "Emojis",
|
"emojis": "Uttryckssymboler",
|
||||||
"@emojis": {},
|
"@emojis": {},
|
||||||
"placeCall": "Ring",
|
"placeCall": "Ring",
|
||||||
"@placeCall": {},
|
"@placeCall": {},
|
||||||
@ -2303,7 +2239,7 @@
|
|||||||
"@errorAddingWidget": {},
|
"@errorAddingWidget": {},
|
||||||
"editWidgets": "Redigera widgetar",
|
"editWidgets": "Redigera widgetar",
|
||||||
"@editWidgets": {},
|
"@editWidgets": {},
|
||||||
"widgetJitsi": "Jitsi Meet",
|
"widgetJitsi": "Jitsi-möte",
|
||||||
"@widgetJitsi": {},
|
"@widgetJitsi": {},
|
||||||
"widgetNameError": "Vänligen ange ett visningsnamn.",
|
"widgetNameError": "Vänligen ange ett visningsnamn.",
|
||||||
"@widgetNameError": {},
|
"@widgetNameError": {},
|
||||||
@ -2365,8 +2301,6 @@
|
|||||||
"@hydrateTor": {},
|
"@hydrateTor": {},
|
||||||
"hydrateTorLong": "Exporterade du sessionen när du senast använde TOR? Importera den enkelt och fortsätt chatta.",
|
"hydrateTorLong": "Exporterade du sessionen när du senast använde TOR? Importera den enkelt och fortsätt chatta.",
|
||||||
"@hydrateTorLong": {},
|
"@hydrateTorLong": {},
|
||||||
"noSearchResult": "Inga träffar.",
|
|
||||||
"@noSearchResult": {},
|
|
||||||
"recoveryKey": "Återställningsnyckel",
|
"recoveryKey": "Återställningsnyckel",
|
||||||
"@recoveryKey": {},
|
"@recoveryKey": {},
|
||||||
"separateChatTypes": "Separata direktchattar och grupper",
|
"separateChatTypes": "Separata direktchattar och grupper",
|
||||||
@ -2412,8 +2346,6 @@
|
|||||||
"mxid": {}
|
"mxid": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dehydrateShare": "Detta är din privata FluffyChat-export. Tappa inte bort den och håll den för dig själv.",
|
|
||||||
"@dehydrateShare": {},
|
|
||||||
"pleaseEnterRecoveryKey": "Ange din återställningsnyckel:",
|
"pleaseEnterRecoveryKey": "Ange din återställningsnyckel:",
|
||||||
"@pleaseEnterRecoveryKey": {},
|
"@pleaseEnterRecoveryKey": {},
|
||||||
"commandHint_markasdm": "Märk som rum för direktmeddelanden",
|
"commandHint_markasdm": "Märk som rum för direktmeddelanden",
|
||||||
@ -2440,7 +2372,7 @@
|
|||||||
},
|
},
|
||||||
"screenSharingTitle": "skärmdelning",
|
"screenSharingTitle": "skärmdelning",
|
||||||
"@screenSharingTitle": {},
|
"@screenSharingTitle": {},
|
||||||
"noKeyForThisMessage": "Detta kan hända om meddelandet skickas innan du har loggat in på ditt konto på denna enhet.\n\nDet kan också vara så att avsändaren har blockerat din enhet eller att något gick fel med Internetanslutningen.\n\nKan du läsa meddelandet i en annan session? Isåfall kan du överföra meddelandet från den sessionen! Gå till Inställningar > Enhet och säkerställ att dina enheter har verifierat varandra. När du öppnar rummet nästa gång och båda sessionerna är i förgrunden, så kommer nycklarna att överföras automatiskt.\n\nOm du vill behålla nycklarna när du loggar ut eller byter enhet, kontrollera att du har aktiverat säkerhetskopiering av chattar i inställningarna.",
|
"noKeyForThisMessage": "Detta kan hända om meddelandet skickades innan du loggade in på ditt konto i den här enheten.\n\nDet kan också vara så att avsändaren har blockerat din enhet eller att något gick fel med internetanslutningen.\n\nKan du läsa meddelandet i en annan session? I sådana fall kan du överföra meddelandet från den sessionen! Gå till Inställningar > Enhet och säkerställ att dina enheter har verifierat varandra. När du öppnar rummet nästa gång och båda sessionerna är i förgrunden, så kommer nycklarna att överföras automatiskt.\n\nVill du inte förlora nycklarna vid utloggning eller när du byter enhet? Säkerställ att du har aktiverat säkerhetskopiering för chatten i inställningarna.",
|
||||||
"@noKeyForThisMessage": {},
|
"@noKeyForThisMessage": {},
|
||||||
"fileIsTooBigForServer": "Servern informerar om att filen är för stor för att skickas.",
|
"fileIsTooBigForServer": "Servern informerar om att filen är för stor för att skickas.",
|
||||||
"@fileIsTooBigForServer": {},
|
"@fileIsTooBigForServer": {},
|
||||||
@ -2497,8 +2429,6 @@
|
|||||||
},
|
},
|
||||||
"stories": "Berättelser",
|
"stories": "Berättelser",
|
||||||
"@stories": {},
|
"@stories": {},
|
||||||
"enableAutoBackups": "Aktivera automatisk säkerhetskopiering",
|
|
||||||
"@enableAutoBackups": {},
|
|
||||||
"saveKeyManuallyDescription": "Spara nyckeln manuellt genom att aktivera dela-funktionen eller urklippshanteraren på enheten.",
|
"saveKeyManuallyDescription": "Spara nyckeln manuellt genom att aktivera dela-funktionen eller urklippshanteraren på enheten.",
|
||||||
"@saveKeyManuallyDescription": {},
|
"@saveKeyManuallyDescription": {},
|
||||||
"storeInAndroidKeystore": "Lagra i Androids nyckellagring (KeyStore)",
|
"storeInAndroidKeystore": "Lagra i Androids nyckellagring (KeyStore)",
|
||||||
@ -2544,5 +2474,16 @@
|
|||||||
"newSpaceDescription": "Utrymmen möjliggör konsolidering av chattar och att bygga privata eller offentliga gemenskaper.",
|
"newSpaceDescription": "Utrymmen möjliggör konsolidering av chattar och att bygga privata eller offentliga gemenskaper.",
|
||||||
"@newSpaceDescription": {},
|
"@newSpaceDescription": {},
|
||||||
"reopenChat": "Återöppna chatt",
|
"reopenChat": "Återöppna chatt",
|
||||||
"@reopenChat": {}
|
"@reopenChat": {},
|
||||||
|
"jumpToLastReadMessage": "Hoppa till det senast lästa meddelandet",
|
||||||
|
"@jumpToLastReadMessage": {},
|
||||||
|
"readUpToHere": "Läs upp till hit",
|
||||||
|
"@readUpToHere": {},
|
||||||
|
"fileHasBeenSavedAt": "Filen har sparats i {path}",
|
||||||
|
"@fileHasBeenSavedAt": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {
|
||||||
|
"path": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -84,11 +84,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"archivedRoom": "Arşivlenmiş Oda",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"areGuestsAllowedToJoin": "Misafir kullanıcıların katılmasına izin veriliyor mu",
|
"areGuestsAllowedToJoin": "Misafir kullanıcıların katılmasına izin veriliyor mu",
|
||||||
"@areGuestsAllowedToJoin": {
|
"@areGuestsAllowedToJoin": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -548,11 +543,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"crossSigningEnabled": "Çapraz imzalama açık",
|
|
||||||
"@crossSigningEnabled": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"currentlyActive": "Şu anda etkin",
|
"currentlyActive": "Şu anda etkin",
|
||||||
"@currentlyActive": {
|
"@currentlyActive": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -638,11 +628,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"discover": "Keşfet",
|
|
||||||
"@discover": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"displaynameHasBeenChanged": "Görünen ad değiştirildi",
|
"displaynameHasBeenChanged": "Görünen ad değiştirildi",
|
||||||
"@displaynameHasBeenChanged": {
|
"@displaynameHasBeenChanged": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -809,11 +794,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"friday": "Cuma",
|
|
||||||
"@friday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"fromJoining": "Katılmadan",
|
"fromJoining": "Katılmadan",
|
||||||
"@fromJoining": {
|
"@fromJoining": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1004,11 +984,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"keysCached": "Anahtarlar önbelleğe alındı",
|
|
||||||
"@keysCached": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"kicked": "👞 {username}, {targetName} kişisini attı",
|
"kicked": "👞 {username}, {targetName} kişisini attı",
|
||||||
"@kicked": {
|
"@kicked": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1143,11 +1118,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"monday": "Pazartesi",
|
|
||||||
"@monday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"muteChat": "Sohbeti sessize al",
|
"muteChat": "Sohbeti sessize al",
|
||||||
"@muteChat": {
|
"@muteChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1541,11 +1511,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"saturday": "Cumartesi",
|
|
||||||
"@saturday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"saveFile": "Dosyayı kaydet",
|
"saveFile": "Dosyayı kaydet",
|
||||||
"@saveFile": {
|
"@saveFile": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1784,11 +1749,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"sunday": "Pazar",
|
|
||||||
"@sunday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"synchronizingPleaseWait": "Eşzamanlanıyor… Lütfen bekleyin.",
|
"synchronizingPleaseWait": "Eşzamanlanıyor… Lütfen bekleyin.",
|
||||||
"@synchronizingPleaseWait": {
|
"@synchronizingPleaseWait": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1809,16 +1769,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"thisRoomHasBeenArchived": "Bu oda arşivlendi.",
|
|
||||||
"@thisRoomHasBeenArchived": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"thursday": "Perşembe",
|
|
||||||
"@thursday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"title": "FluffyChat",
|
"title": "FluffyChat",
|
||||||
"@title": {
|
"@title": {
|
||||||
"description": "Title for the application",
|
"description": "Title for the application",
|
||||||
@ -1855,11 +1805,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"tuesday": "Salı",
|
|
||||||
"@tuesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"unavailable": "Yok",
|
"unavailable": "Yok",
|
||||||
"@unavailable": {
|
"@unavailable": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2030,11 +1975,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"wednesday": "Çarşamba",
|
|
||||||
"@wednesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"weSentYouAnEmail": "Size bir e-posta gönderdik",
|
"weSentYouAnEmail": "Size bir e-posta gönderdik",
|
||||||
"@weSentYouAnEmail": {
|
"@weSentYouAnEmail": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2107,8 +2047,6 @@
|
|||||||
},
|
},
|
||||||
"scanQrCode": "QR kodunu tarayın",
|
"scanQrCode": "QR kodunu tarayın",
|
||||||
"@scanQrCode": {},
|
"@scanQrCode": {},
|
||||||
"typeInInviteLinkManually": "Davet bağlantısını el ile yazın...",
|
|
||||||
"@typeInInviteLinkManually": {},
|
|
||||||
"shareYourInviteLink": "Davet bağlantınızı paylaşın",
|
"shareYourInviteLink": "Davet bağlantınızı paylaşın",
|
||||||
"@shareYourInviteLink": {},
|
"@shareYourInviteLink": {},
|
||||||
"sendOnEnter": "Enter tuşu ile gönder",
|
"sendOnEnter": "Enter tuşu ile gönder",
|
||||||
@ -2137,8 +2075,6 @@
|
|||||||
"@yourChatBackupHasBeenSetUp": {},
|
"@yourChatBackupHasBeenSetUp": {},
|
||||||
"unverified": "Doğrulanmadı",
|
"unverified": "Doğrulanmadı",
|
||||||
"@unverified": {},
|
"@unverified": {},
|
||||||
"yourUserId": "Kullanıcı kimliğiniz:",
|
|
||||||
"@yourUserId": {},
|
|
||||||
"repeatPassword": "Parolayı tekrarlayın",
|
"repeatPassword": "Parolayı tekrarlayın",
|
||||||
"@repeatPassword": {},
|
"@repeatPassword": {},
|
||||||
"passwordsDoNotMatch": "Parolalar eşleşmiyor!",
|
"passwordsDoNotMatch": "Parolalar eşleşmiyor!",
|
||||||
@ -2380,8 +2316,6 @@
|
|||||||
"@users": {},
|
"@users": {},
|
||||||
"storeInSecureStorageDescription": "Kurtarma anahtarını bu aygıtın güvenli deposunda saklayın.",
|
"storeInSecureStorageDescription": "Kurtarma anahtarını bu aygıtın güvenli deposunda saklayın.",
|
||||||
"@storeInSecureStorageDescription": {},
|
"@storeInSecureStorageDescription": {},
|
||||||
"enableAutoBackups": "Otomatik yedeklemeleri etkinleştir",
|
|
||||||
"@enableAutoBackups": {},
|
|
||||||
"recoveryKey": "Kurtarma anahtarı",
|
"recoveryKey": "Kurtarma anahtarı",
|
||||||
"@recoveryKey": {},
|
"@recoveryKey": {},
|
||||||
"stories": "Hikayeler",
|
"stories": "Hikayeler",
|
||||||
@ -2414,8 +2348,6 @@
|
|||||||
"@indexedDbErrorTitle": {},
|
"@indexedDbErrorTitle": {},
|
||||||
"dehydrateWarning": "Bu eylem geri alınamaz. Yedekleme dosyasını güvenli bir şekilde sakladığınızdan emin olun.",
|
"dehydrateWarning": "Bu eylem geri alınamaz. Yedekleme dosyasını güvenli bir şekilde sakladığınızdan emin olun.",
|
||||||
"@dehydrateWarning": {},
|
"@dehydrateWarning": {},
|
||||||
"dehydrateShare": "Bu sizin özel FluffyChat dışa aktarımınızdır. Kaybetmediğinizden ve gizli tuttuğunuzdan emin olun.",
|
|
||||||
"@dehydrateShare": {},
|
|
||||||
"hydrateTorLong": "TOR'da en son oturumunuzu dışa aktardınız mı? Hızlıca içe aktarın ve sohbete devam edin.",
|
"hydrateTorLong": "TOR'da en son oturumunuzu dışa aktardınız mı? Hızlıca içe aktarın ve sohbete devam edin.",
|
||||||
"@hydrateTorLong": {},
|
"@hydrateTorLong": {},
|
||||||
"indexedDbErrorLong": "Mesaj saklama özelliği ne yazık ki öntanımlı olarak gizli modda etkin değildir.\nLütfen\n - about:config sayfasına gidin ve\n - dom.indexedDB.privateBrowsing.enabled seçeneğini true olarak ayarlayın\nAksi takdirde FluffyChat çalıştırılamaz.",
|
"indexedDbErrorLong": "Mesaj saklama özelliği ne yazık ki öntanımlı olarak gizli modda etkin değildir.\nLütfen\n - about:config sayfasına gidin ve\n - dom.indexedDB.privateBrowsing.enabled seçeneğini true olarak ayarlayın\nAksi takdirde FluffyChat çalıştırılamaz.",
|
||||||
@ -2532,8 +2464,6 @@
|
|||||||
"@sorryThatsNotPossible": {},
|
"@sorryThatsNotPossible": {},
|
||||||
"deviceKeys": "Aygıt anahtarları:",
|
"deviceKeys": "Aygıt anahtarları:",
|
||||||
"@deviceKeys": {},
|
"@deviceKeys": {},
|
||||||
"noSearchResult": "Eşleşen arama sonucu yok.",
|
|
||||||
"@noSearchResult": {},
|
|
||||||
"letsStart": "Başlayalım",
|
"letsStart": "Başlayalım",
|
||||||
"@letsStart": {},
|
"@letsStart": {},
|
||||||
"enterInviteLinkOrMatrixId": "Davet bağlantısını veya Matris kimliğini girin...",
|
"enterInviteLinkOrMatrixId": "Davet bağlantısını veya Matris kimliğini girin...",
|
||||||
@ -2545,5 +2475,40 @@
|
|||||||
"noOtherDevicesFound": "Başka aygıt bulunamadı",
|
"noOtherDevicesFound": "Başka aygıt bulunamadı",
|
||||||
"@noOtherDevicesFound": {},
|
"@noOtherDevicesFound": {},
|
||||||
"fileIsTooBigForServer": "Sunucu, dosyanın gönderilemeyecek kadar büyük olduğunu bildiriyor.",
|
"fileIsTooBigForServer": "Sunucu, dosyanın gönderilemeyecek kadar büyük olduğunu bildiriyor.",
|
||||||
"@fileIsTooBigForServer": {}
|
"@fileIsTooBigForServer": {},
|
||||||
|
"fileHasBeenSavedAt": "Dosya {path} konumuna kaydedildi",
|
||||||
|
"@fileHasBeenSavedAt": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {
|
||||||
|
"path": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"jumpToLastReadMessage": "Son okunan mesaja atla",
|
||||||
|
"@jumpToLastReadMessage": {},
|
||||||
|
"readUpToHere": "Buraya kadar oku",
|
||||||
|
"@readUpToHere": {},
|
||||||
|
"jump": "Atla",
|
||||||
|
"@jump": {},
|
||||||
|
"openLinkInBrowser": "Bağlantıyı tarayıcıda aç",
|
||||||
|
"@openLinkInBrowser": {},
|
||||||
|
"allRooms": "Tüm Grup Sohbetleri",
|
||||||
|
"@allRooms": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {}
|
||||||
|
},
|
||||||
|
"discover": "Keşfet",
|
||||||
|
"@discover": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {}
|
||||||
|
},
|
||||||
|
"reportErrorDescription": "Olamaz. Bir şeyler yanlış gitti. Lütfen daha sonra tekrar deneyin. İsterseniz hatayı geliştiricilere bildirebilirsiniz.",
|
||||||
|
"@reportErrorDescription": {},
|
||||||
|
"report": "bildir",
|
||||||
|
"@report": {},
|
||||||
|
"signInWithPassword": "Parola ile oturum aç",
|
||||||
|
"@signInWithPassword": {},
|
||||||
|
"continueWith": "Devam et:",
|
||||||
|
"@continueWith": {},
|
||||||
|
"pleaseTryAgainLaterOrChooseDifferentServer": "Lütfen daha sonra tekrar deneyin veya farklı bir sunucu seçin.",
|
||||||
|
"@pleaseTryAgainLaterOrChooseDifferentServer": {}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -62,11 +62,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"archivedRoom": "Заархівована кімната",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"areGuestsAllowedToJoin": "Чи дозволено гостям приєднуватись",
|
"areGuestsAllowedToJoin": "Чи дозволено гостям приєднуватись",
|
||||||
"@areGuestsAllowedToJoin": {
|
"@areGuestsAllowedToJoin": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -337,11 +332,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"crossSigningEnabled": "Перехресне підписування увімкнено",
|
|
||||||
"@crossSigningEnabled": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"currentlyActive": "Зараз у мережі",
|
"currentlyActive": "Зараз у мережі",
|
||||||
"@currentlyActive": {
|
"@currentlyActive": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -494,11 +484,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"friday": "П'ятниця",
|
|
||||||
"@friday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"fromJoining": "З моменту приєднання",
|
"fromJoining": "З моменту приєднання",
|
||||||
"@fromJoining": {
|
"@fromJoining": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -624,11 +609,6 @@
|
|||||||
"username": {}
|
"username": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"keysCached": "Ключі кешовано",
|
|
||||||
"@keysCached": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"kicked": "👞 {username} вилучає {targetName}",
|
"kicked": "👞 {username} вилучає {targetName}",
|
||||||
"@kicked": {
|
"@kicked": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -731,11 +711,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"monday": "Понеділок",
|
|
||||||
"@monday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"muteChat": "Вимкнути сповіщення",
|
"muteChat": "Вимкнути сповіщення",
|
||||||
"@muteChat": {
|
"@muteChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -934,11 +909,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"saturday": "Субота",
|
|
||||||
"@saturday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"seenByUser": "Переглянуто {username}",
|
"seenByUser": "Переглянуто {username}",
|
||||||
"@seenByUser": {
|
"@seenByUser": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1066,11 +1036,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"sunday": "Неділя",
|
|
||||||
"@sunday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"systemTheme": "Системна",
|
"systemTheme": "Системна",
|
||||||
"@systemTheme": {
|
"@systemTheme": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1086,16 +1051,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"thisRoomHasBeenArchived": "Цю кімнату було заархівовано.",
|
|
||||||
"@thisRoomHasBeenArchived": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"thursday": "Четвер",
|
|
||||||
"@thursday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"title": "FluffyChat",
|
"title": "FluffyChat",
|
||||||
"@title": {
|
"@title": {
|
||||||
"description": "Title for the application",
|
"description": "Title for the application",
|
||||||
@ -1107,11 +1062,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"tuesday": "Вівторок",
|
|
||||||
"@tuesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"unbannedUser": "{username} розблоковує {targetName}",
|
"unbannedUser": "{username} розблоковує {targetName}",
|
||||||
"@unbannedUser": {
|
"@unbannedUser": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1255,11 +1205,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"wednesday": "Середа",
|
|
||||||
"@wednesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"whoIsAllowedToJoinThisGroup": "Кому дозволено приєднуватися до цієї групи",
|
"whoIsAllowedToJoinThisGroup": "Кому дозволено приєднуватися до цієї групи",
|
||||||
"@whoIsAllowedToJoinThisGroup": {
|
"@whoIsAllowedToJoinThisGroup": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1494,8 +1439,6 @@
|
|||||||
},
|
},
|
||||||
"shareYourInviteLink": "Поділіться своїм посиланням запрошення",
|
"shareYourInviteLink": "Поділіться своїм посиланням запрошення",
|
||||||
"@shareYourInviteLink": {},
|
"@shareYourInviteLink": {},
|
||||||
"typeInInviteLinkManually": "Введіть посилання запрошення власноруч...",
|
|
||||||
"@typeInInviteLinkManually": {},
|
|
||||||
"scanQrCode": "Сканувати QR-код",
|
"scanQrCode": "Сканувати QR-код",
|
||||||
"@scanQrCode": {},
|
"@scanQrCode": {},
|
||||||
"noPasswordRecoveryDescription": "Ви ще не додали спосіб відновлення пароля.",
|
"noPasswordRecoveryDescription": "Ви ще не додали спосіб відновлення пароля.",
|
||||||
@ -1851,8 +1794,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"description": "Usage hint for the command /html"
|
"description": "Usage hint for the command /html"
|
||||||
},
|
},
|
||||||
"yourUserId": "Ваш ID користувача:",
|
|
||||||
"@yourUserId": {},
|
|
||||||
"commandHint_invite": "Запросіть цього користувача до цієї кімнати",
|
"commandHint_invite": "Запросіть цього користувача до цієї кімнати",
|
||||||
"@commandHint_invite": {
|
"@commandHint_invite": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1990,11 +1931,6 @@
|
|||||||
"senderName": {}
|
"senderName": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"discover": "Огляд",
|
|
||||||
"@discover": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"cantOpenUri": "Не вдалося відкрити URI {uri}",
|
"cantOpenUri": "Не вдалося відкрити URI {uri}",
|
||||||
"@cantOpenUri": {
|
"@cantOpenUri": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2384,8 +2320,6 @@
|
|||||||
"@recoveryKey": {},
|
"@recoveryKey": {},
|
||||||
"recoveryKeyLost": "Ключ відновлення втрачено?",
|
"recoveryKeyLost": "Ключ відновлення втрачено?",
|
||||||
"@recoveryKeyLost": {},
|
"@recoveryKeyLost": {},
|
||||||
"enableAutoBackups": "Увімкнути автоматичне резервне копіювання",
|
|
||||||
"@enableAutoBackups": {},
|
|
||||||
"users": "Користувачі",
|
"users": "Користувачі",
|
||||||
"@users": {},
|
"@users": {},
|
||||||
"stories": "Історії",
|
"stories": "Історії",
|
||||||
@ -2412,8 +2346,6 @@
|
|||||||
"@dehydrate": {},
|
"@dehydrate": {},
|
||||||
"dehydrateWarning": "Цю дію не можна скасувати. Переконайтеся, що ви безпечно зберігаєте файл резервної копії.",
|
"dehydrateWarning": "Цю дію не можна скасувати. Переконайтеся, що ви безпечно зберігаєте файл резервної копії.",
|
||||||
"@dehydrateWarning": {},
|
"@dehydrateWarning": {},
|
||||||
"dehydrateShare": "Це ваш приватний експорт FluffyChat. Переконайтеся, що ви не втратите його та зберігайте його приватно.",
|
|
||||||
"@dehydrateShare": {},
|
|
||||||
"dehydrateTor": "Користувачі TOR: експорт сеансу",
|
"dehydrateTor": "Користувачі TOR: експорт сеансу",
|
||||||
"@dehydrateTor": {},
|
"@dehydrateTor": {},
|
||||||
"dehydrateTorLong": "Для користувачів TOR рекомендується експортувати сеанс перед закриттям вікна.",
|
"dehydrateTorLong": "Для користувачів TOR рекомендується експортувати сеанс перед закриттям вікна.",
|
||||||
@ -2532,8 +2464,6 @@
|
|||||||
"@sorryThatsNotPossible": {},
|
"@sorryThatsNotPossible": {},
|
||||||
"deviceKeys": "Ключі пристрою:",
|
"deviceKeys": "Ключі пристрою:",
|
||||||
"@deviceKeys": {},
|
"@deviceKeys": {},
|
||||||
"noSearchResult": "Немає відповідних результатів пошуку.",
|
|
||||||
"@noSearchResult": {},
|
|
||||||
"letsStart": "Розпочнімо",
|
"letsStart": "Розпочнімо",
|
||||||
"@letsStart": {},
|
"@letsStart": {},
|
||||||
"enterInviteLinkOrMatrixId": "Введіть запрошувальне посилання або Matrix ID...",
|
"enterInviteLinkOrMatrixId": "Введіть запрошувальне посилання або Matrix ID...",
|
||||||
@ -2545,5 +2475,40 @@
|
|||||||
"noBackupWarning": "Увага! Якщо ви не ввімкнете резервне копіювання бесіди, ви втратите доступ до своїх зашифрованих повідомлень. Наполегливо радимо ввімкнути резервне копіювання бесіди перед виходом.",
|
"noBackupWarning": "Увага! Якщо ви не ввімкнете резервне копіювання бесіди, ви втратите доступ до своїх зашифрованих повідомлень. Наполегливо радимо ввімкнути резервне копіювання бесіди перед виходом.",
|
||||||
"@noBackupWarning": {},
|
"@noBackupWarning": {},
|
||||||
"fileIsTooBigForServer": "Сервер повідомляє, що файл завеликий для надсилання.",
|
"fileIsTooBigForServer": "Сервер повідомляє, що файл завеликий для надсилання.",
|
||||||
"@fileIsTooBigForServer": {}
|
"@fileIsTooBigForServer": {},
|
||||||
|
"fileHasBeenSavedAt": "Файл збережено в {path}",
|
||||||
|
"@fileHasBeenSavedAt": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {
|
||||||
|
"path": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"jumpToLastReadMessage": "Перейти до останнього прочитаного повідомлення",
|
||||||
|
"@jumpToLastReadMessage": {},
|
||||||
|
"readUpToHere": "Читати тут",
|
||||||
|
"@readUpToHere": {},
|
||||||
|
"jump": "Перейти",
|
||||||
|
"@jump": {},
|
||||||
|
"openLinkInBrowser": "Відкрити посилання у браузері",
|
||||||
|
"@openLinkInBrowser": {},
|
||||||
|
"allRooms": "Усі групові бесіди",
|
||||||
|
"@allRooms": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {}
|
||||||
|
},
|
||||||
|
"reportErrorDescription": "О, ні. Щось пішло не так. Повторіть спробу пізніше. Якщо хочете, можете повідомити про помилку розробникам.",
|
||||||
|
"@reportErrorDescription": {},
|
||||||
|
"report": "повідомити",
|
||||||
|
"@report": {},
|
||||||
|
"discover": "Огляд",
|
||||||
|
"@discover": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {}
|
||||||
|
},
|
||||||
|
"pleaseTryAgainLaterOrChooseDifferentServer": "Спробуйте пізніше або виберіть інший сервер.",
|
||||||
|
"@pleaseTryAgainLaterOrChooseDifferentServer": {},
|
||||||
|
"signInWithPassword": "Увійти за допомогою пароля",
|
||||||
|
"@signInWithPassword": {},
|
||||||
|
"continueWith": "Продовжити за допомогою:",
|
||||||
|
"@continueWith": {}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -61,11 +61,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"archivedRoom": "Phòng hội thảo đã lưu trữ",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"areGuestsAllowedToJoin": "Khách vãng lai có được tham gia không",
|
"areGuestsAllowedToJoin": "Khách vãng lai có được tham gia không",
|
||||||
"@areGuestsAllowedToJoin": {
|
"@areGuestsAllowedToJoin": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
|
|||||||
@ -77,11 +77,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"archivedRoom": "已存档的聊天室",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"areGuestsAllowedToJoin": "是否允许游客加入",
|
"areGuestsAllowedToJoin": "是否允许游客加入",
|
||||||
"@areGuestsAllowedToJoin": {
|
"@areGuestsAllowedToJoin": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -431,12 +426,12 @@
|
|||||||
},
|
},
|
||||||
"description": "State that {command} is not a valid /command."
|
"description": "State that {command} is not a valid /command."
|
||||||
},
|
},
|
||||||
"compareEmojiMatch": "对比并确认这些表情匹配其他那些设备:",
|
"compareEmojiMatch": "请比较表情符号",
|
||||||
"@compareEmojiMatch": {
|
"@compareEmojiMatch": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"compareNumbersMatch": "比较以下数字,确保它们和另一设备上的相同:",
|
"compareNumbersMatch": "请比较以下数字",
|
||||||
"@compareNumbersMatch": {
|
"@compareNumbersMatch": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
@ -522,11 +517,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"crossSigningEnabled": "交叉签名已启用",
|
|
||||||
"@crossSigningEnabled": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"currentlyActive": "目前活跃",
|
"currentlyActive": "目前活跃",
|
||||||
"@currentlyActive": {
|
"@currentlyActive": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -612,11 +602,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"discover": "探索",
|
|
||||||
"@discover": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"displaynameHasBeenChanged": "显示名称已被改变",
|
"displaynameHasBeenChanged": "显示名称已被改变",
|
||||||
"@displaynameHasBeenChanged": {
|
"@displaynameHasBeenChanged": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -774,11 +759,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"friday": "星期五",
|
|
||||||
"@friday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"fromJoining": "自加入起",
|
"fromJoining": "自加入起",
|
||||||
"@fromJoining": {
|
"@fromJoining": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -969,11 +949,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"keysCached": "密钥已被缓存",
|
|
||||||
"@keysCached": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"kicked": "👞 {username} 踢了 {targetName}",
|
"kicked": "👞 {username} 踢了 {targetName}",
|
||||||
"@kicked": {
|
"@kicked": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1098,11 +1073,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"monday": "星期一",
|
|
||||||
"@monday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"muteChat": "将该聊天静音",
|
"muteChat": "将该聊天静音",
|
||||||
"@muteChat": {
|
"@muteChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1478,11 +1448,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"saturday": "星期六",
|
|
||||||
"@saturday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"saveFile": "保存文件",
|
"saveFile": "保存文件",
|
||||||
"@saveFile": {
|
"@saveFile": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1706,11 +1671,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"sunday": "星期日",
|
|
||||||
"@sunday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"synchronizingPleaseWait": "同步中…请等待。",
|
"synchronizingPleaseWait": "同步中…请等待。",
|
||||||
"@synchronizingPleaseWait": {
|
"@synchronizingPleaseWait": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1731,16 +1691,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"thisRoomHasBeenArchived": "该聊天室已被归档。",
|
|
||||||
"@thisRoomHasBeenArchived": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"thursday": "星期四",
|
|
||||||
"@thursday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"title": "FluffyChat",
|
"title": "FluffyChat",
|
||||||
"@title": {
|
"@title": {
|
||||||
"description": "Title for the application",
|
"description": "Title for the application",
|
||||||
@ -1777,11 +1727,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"tuesday": "星期二",
|
|
||||||
"@tuesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"unavailable": "不可用",
|
"unavailable": "不可用",
|
||||||
"@unavailable": {
|
"@unavailable": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1952,11 +1897,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"wednesday": "星期三",
|
|
||||||
"@wednesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"weSentYouAnEmail": "我们向您发送了一封电子邮件",
|
"weSentYouAnEmail": "我们向您发送了一封电子邮件",
|
||||||
"@weSentYouAnEmail": {
|
"@weSentYouAnEmail": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -2132,12 +2072,8 @@
|
|||||||
"@pleaseEnterValidEmail": {},
|
"@pleaseEnterValidEmail": {},
|
||||||
"repeatPassword": "再次输入密码",
|
"repeatPassword": "再次输入密码",
|
||||||
"@repeatPassword": {},
|
"@repeatPassword": {},
|
||||||
"yourUserId": "您的 ID:",
|
|
||||||
"@yourUserId": {},
|
|
||||||
"shareYourInviteLink": "分享您的邀请链接",
|
"shareYourInviteLink": "分享您的邀请链接",
|
||||||
"@shareYourInviteLink": {},
|
"@shareYourInviteLink": {},
|
||||||
"typeInInviteLinkManually": "手动输入邀请链接…",
|
|
||||||
"@typeInInviteLinkManually": {},
|
|
||||||
"addAccount": "添加账户",
|
"addAccount": "添加账户",
|
||||||
"@addAccount": {},
|
"@addAccount": {},
|
||||||
"editBundlesForAccount": "编辑该账户的集合",
|
"editBundlesForAccount": "编辑该账户的集合",
|
||||||
@ -2388,8 +2324,6 @@
|
|||||||
"@storeInAndroidKeystore": {},
|
"@storeInAndroidKeystore": {},
|
||||||
"storeSecurlyOnThisDevice": "安全地存储在此设备上",
|
"storeSecurlyOnThisDevice": "安全地存储在此设备上",
|
||||||
"@storeSecurlyOnThisDevice": {},
|
"@storeSecurlyOnThisDevice": {},
|
||||||
"enableAutoBackups": "启用自动备份",
|
|
||||||
"@enableAutoBackups": {},
|
|
||||||
"users": "用户",
|
"users": "用户",
|
||||||
"@users": {},
|
"@users": {},
|
||||||
"stories": "故事",
|
"stories": "故事",
|
||||||
@ -2400,8 +2334,6 @@
|
|||||||
"count": {}
|
"count": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dehydrateShare": "这是私人的 FluffyChat 导出。 确保你不会丢失它并将其保密。",
|
|
||||||
"@dehydrateShare": {},
|
|
||||||
"dehydrateTor": "TOR 用户:导出会话",
|
"dehydrateTor": "TOR 用户:导出会话",
|
||||||
"@dehydrateTor": {},
|
"@dehydrateTor": {},
|
||||||
"dehydrateTorLong": "建议 TOR 用户在关闭窗口之前导出会话。",
|
"dehydrateTorLong": "建议 TOR 用户在关闭窗口之前导出会话。",
|
||||||
@ -2531,5 +2463,12 @@
|
|||||||
"sorryThatsNotPossible": "非常抱歉……这是做不到的",
|
"sorryThatsNotPossible": "非常抱歉……这是做不到的",
|
||||||
"@sorryThatsNotPossible": {},
|
"@sorryThatsNotPossible": {},
|
||||||
"deviceKeys": "设备密钥:",
|
"deviceKeys": "设备密钥:",
|
||||||
"@deviceKeys": {}
|
"@deviceKeys": {},
|
||||||
|
"report": "举报",
|
||||||
|
"@report": {},
|
||||||
|
"discover": "探索",
|
||||||
|
"@discover": {
|
||||||
|
"type": "text",
|
||||||
|
"placeholders": {}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -76,11 +76,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"archivedRoom": "已封存的對話",
|
|
||||||
"@archivedRoom": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"areGuestsAllowedToJoin": "是否允許訪客加入",
|
"areGuestsAllowedToJoin": "是否允許訪客加入",
|
||||||
"@areGuestsAllowedToJoin": {
|
"@areGuestsAllowedToJoin": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -427,11 +422,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"crossSigningEnabled": "第三方登入已啟用",
|
|
||||||
"@crossSigningEnabled": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"currentlyActive": "目前活躍",
|
"currentlyActive": "目前活躍",
|
||||||
"@currentlyActive": {
|
"@currentlyActive": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -517,11 +507,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"discover": "探索",
|
|
||||||
"@discover": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"displaynameHasBeenChanged": "顯示名稱已被變更",
|
"displaynameHasBeenChanged": "顯示名稱已被變更",
|
||||||
"@displaynameHasBeenChanged": {
|
"@displaynameHasBeenChanged": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -674,11 +659,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"friday": "星期五",
|
|
||||||
"@friday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"fromJoining": "自加入起",
|
"fromJoining": "自加入起",
|
||||||
"@fromJoining": {
|
"@fromJoining": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -864,11 +844,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"keysCached": "金鑰已被快取",
|
|
||||||
"@keysCached": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"kicked": "{username}踢了{targetName}",
|
"kicked": "{username}踢了{targetName}",
|
||||||
"@kicked": {
|
"@kicked": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -986,11 +961,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"monday": "星期一",
|
|
||||||
"@monday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"muteChat": "將該聊天室靜音",
|
"muteChat": "將該聊天室靜音",
|
||||||
"@muteChat": {
|
"@muteChat": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1326,11 +1296,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"saturday": "星期六",
|
|
||||||
"@saturday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"search": "搜尋",
|
"search": "搜尋",
|
||||||
"@search": {
|
"@search": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1530,11 +1495,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"sunday": "星期日",
|
|
||||||
"@sunday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"systemTheme": "自動",
|
"systemTheme": "自動",
|
||||||
"@systemTheme": {
|
"@systemTheme": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1550,16 +1510,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"thisRoomHasBeenArchived": "這個聊天室已被封存。",
|
|
||||||
"@thisRoomHasBeenArchived": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"thursday": "星期四",
|
|
||||||
"@thursday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"title": "FluffyChat",
|
"title": "FluffyChat",
|
||||||
"@title": {
|
"@title": {
|
||||||
"description": "Title for the application",
|
"description": "Title for the application",
|
||||||
@ -1596,11 +1546,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"tuesday": "星期二",
|
|
||||||
"@tuesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"unavailable": "無法取得",
|
"unavailable": "無法取得",
|
||||||
"@unavailable": {
|
"@unavailable": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1771,11 +1716,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"wednesday": "星期三",
|
|
||||||
"@wednesday": {
|
|
||||||
"type": "text",
|
|
||||||
"placeholders": {}
|
|
||||||
},
|
|
||||||
"weSentYouAnEmail": "我們向您傳送了一封電子郵件",
|
"weSentYouAnEmail": "我們向您傳送了一封電子郵件",
|
||||||
"@weSentYouAnEmail": {
|
"@weSentYouAnEmail": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
@ -1972,8 +1912,6 @@
|
|||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"yourUserId": "您的ID:",
|
|
||||||
"@yourUserId": {},
|
|
||||||
"chatHasBeenAddedToThisSpace": "聊天室已添加到此空間",
|
"chatHasBeenAddedToThisSpace": "聊天室已添加到此空間",
|
||||||
"@chatHasBeenAddedToThisSpace": {},
|
"@chatHasBeenAddedToThisSpace": {},
|
||||||
"clearArchive": "清除存檔",
|
"clearArchive": "清除存檔",
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 212 KiB After Width: | Height: | Size: 146 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 52 KiB |
@ -55,7 +55,7 @@
|
|||||||
<div class="flex mb-8 justify-center content-center">
|
<div class="flex mb-8 justify-center content-center">
|
||||||
<a rel="me"
|
<a rel="me"
|
||||||
class="inline-block text-indigo-500 no-underline hover:text-indigo-900 hover:scale-105 transition-all text-center h-auto p-4"
|
class="inline-block text-indigo-500 no-underline hover:text-indigo-900 hover:scale-105 transition-all text-center h-auto p-4"
|
||||||
rel="me" href="https://metalhead.club/@krille">
|
rel="me" href="https://mastodon.art/@krille">
|
||||||
<svg class="fill-current h-6" viewBox="0 0 1000 1000" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
<svg class="fill-current h-6" viewBox="0 0 1000 1000" version="1.1" xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve"
|
xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve"
|
||||||
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;">
|
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;">
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -291,6 +291,7 @@
|
|||||||
files = (
|
files = (
|
||||||
);
|
);
|
||||||
inputPaths = (
|
inputPaths = (
|
||||||
|
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
|
||||||
);
|
);
|
||||||
name = "Thin Binary";
|
name = "Thin Binary";
|
||||||
outputPaths = (
|
outputPaths = (
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
app_identifier("im.fluffychat.app") # The bundle identifier of your app
|
app_identifier("im.fluffychat.app") # The bundle identifier of your app
|
||||||
apple_id("christian.pauly@wtal.de") # Your Apple email address
|
apple_id("christian-kussowski@posteo.de") # Your Apple email address
|
||||||
|
|
||||||
itc_team_id("122628977") # App Store Connect Team ID
|
itc_team_id("122628977") # App Store Connect Team ID
|
||||||
team_id("4NXF6Z997G") # Developer Portal Team ID
|
team_id("4NXF6Z997G") # Developer Portal Team ID
|
||||||
|
|||||||
@ -16,7 +16,7 @@ abstract class AppConfig {
|
|||||||
static const double messageFontSize = 15.75;
|
static const double messageFontSize = 15.75;
|
||||||
static const bool allowOtherHomeservers = true;
|
static const bool allowOtherHomeservers = true;
|
||||||
static const bool enableRegistration = true;
|
static const bool enableRegistration = true;
|
||||||
static const Color primaryColor = Color.fromARGB(255, 135, 103, 172);
|
static const Color primaryColor = Color(0xFF5625BA);
|
||||||
static const Color primaryColorLight = Color(0xFFCCBDEA);
|
static const Color primaryColorLight = Color(0xFFCCBDEA);
|
||||||
static const Color secondaryColor = Color(0xFF41a2bc);
|
static const Color secondaryColor = Color(0xFF41a2bc);
|
||||||
static String _privacyUrl =
|
static String _privacyUrl =
|
||||||
@ -33,6 +33,11 @@ abstract class AppConfig {
|
|||||||
static const String sourceCodeUrl = 'https://gitlab.com/famedly/fluffychat';
|
static const String sourceCodeUrl = 'https://gitlab.com/famedly/fluffychat';
|
||||||
static const String supportUrl =
|
static const String supportUrl =
|
||||||
'https://gitlab.com/famedly/fluffychat/issues';
|
'https://gitlab.com/famedly/fluffychat/issues';
|
||||||
|
static final Uri newIssueUrl = Uri(
|
||||||
|
scheme: 'https',
|
||||||
|
host: 'gitlab.com',
|
||||||
|
path: '/famedly/fluffychat/-/issues/new',
|
||||||
|
);
|
||||||
static const bool enableSentry = true;
|
static const bool enableSentry = true;
|
||||||
static const String sentryDns =
|
static const String sentryDns =
|
||||||
'https://8591d0d863b646feb4f3dda7e5dcab38@o256755.ingest.sentry.io/5243143';
|
'https://8591d0d863b646feb4f3dda7e5dcab38@o256755.ingest.sentry.io/5243143';
|
||||||
|
|||||||
@ -9,7 +9,6 @@ import 'package:fluffychat/pages/chat_details/chat_details.dart';
|
|||||||
import 'package:fluffychat/pages/chat_encryption_settings/chat_encryption_settings.dart';
|
import 'package:fluffychat/pages/chat_encryption_settings/chat_encryption_settings.dart';
|
||||||
import 'package:fluffychat/pages/chat_list/chat_list.dart';
|
import 'package:fluffychat/pages/chat_list/chat_list.dart';
|
||||||
import 'package:fluffychat/pages/chat_permissions_settings/chat_permissions_settings.dart';
|
import 'package:fluffychat/pages/chat_permissions_settings/chat_permissions_settings.dart';
|
||||||
import 'package:fluffychat/pages/connect/connect_page.dart';
|
|
||||||
import 'package:fluffychat/pages/device_settings/device_settings.dart';
|
import 'package:fluffychat/pages/device_settings/device_settings.dart';
|
||||||
import 'package:fluffychat/pages/homeserver_picker/homeserver_picker.dart';
|
import 'package:fluffychat/pages/homeserver_picker/homeserver_picker.dart';
|
||||||
import 'package:fluffychat/pages/invitation_selection/invitation_selection.dart';
|
import 'package:fluffychat/pages/invitation_selection/invitation_selection.dart';
|
||||||
@ -27,7 +26,6 @@ import 'package:fluffychat/pages/settings_notifications/settings_notifications.d
|
|||||||
import 'package:fluffychat/pages/settings_security/settings_security.dart';
|
import 'package:fluffychat/pages/settings_security/settings_security.dart';
|
||||||
import 'package:fluffychat/pages/settings_stories/settings_stories.dart';
|
import 'package:fluffychat/pages/settings_stories/settings_stories.dart';
|
||||||
import 'package:fluffychat/pages/settings_style/settings_style.dart';
|
import 'package:fluffychat/pages/settings_style/settings_style.dart';
|
||||||
import 'package:fluffychat/pages/sign_up/signup.dart';
|
|
||||||
import 'package:fluffychat/pages/story/story_page.dart';
|
import 'package:fluffychat/pages/story/story_page.dart';
|
||||||
import 'package:fluffychat/widgets/layouts/empty_page.dart';
|
import 'package:fluffychat/widgets/layouts/empty_page.dart';
|
||||||
import 'package:fluffychat/widgets/layouts/loading_view.dart';
|
import 'package:fluffychat/widgets/layouts/loading_view.dart';
|
||||||
@ -72,7 +70,7 @@ class AppRoutes {
|
|||||||
),
|
),
|
||||||
VWidget(
|
VWidget(
|
||||||
path: ':roomid',
|
path: ':roomid',
|
||||||
widget: const Chat(),
|
widget: const ChatPage(),
|
||||||
stackedRoutes: [
|
stackedRoutes: [
|
||||||
VWidget(
|
VWidget(
|
||||||
path: 'encryption',
|
path: 'encryption',
|
||||||
@ -100,7 +98,7 @@ class AppRoutes {
|
|||||||
stackedRoutes: [
|
stackedRoutes: [
|
||||||
VWidget(
|
VWidget(
|
||||||
path: ':roomid',
|
path: ':roomid',
|
||||||
widget: const Chat(),
|
widget: const ChatPage(),
|
||||||
buildTransition: _dynamicTransition,
|
buildTransition: _dynamicTransition,
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
@ -174,14 +172,14 @@ class AppRoutes {
|
|||||||
VNester(
|
VNester(
|
||||||
path: ':roomid',
|
path: ':roomid',
|
||||||
widgetBuilder: (child) => SideViewLayout(
|
widgetBuilder: (child) => SideViewLayout(
|
||||||
mainView: const Chat(),
|
mainView: const ChatPage(),
|
||||||
sideView: child,
|
sideView: child,
|
||||||
),
|
),
|
||||||
buildTransition: _fadeTransition,
|
buildTransition: _fadeTransition,
|
||||||
nestedRoutes: [
|
nestedRoutes: [
|
||||||
VWidget(
|
VWidget(
|
||||||
path: '',
|
path: '',
|
||||||
widget: const Chat(),
|
widget: const ChatPage(),
|
||||||
buildTransition: _fadeTransition,
|
buildTransition: _fadeTransition,
|
||||||
),
|
),
|
||||||
VWidget(
|
VWidget(
|
||||||
@ -245,7 +243,7 @@ class AppRoutes {
|
|||||||
),
|
),
|
||||||
VWidget(
|
VWidget(
|
||||||
path: ':roomid',
|
path: ':roomid',
|
||||||
widget: const Chat(),
|
widget: const ChatPage(),
|
||||||
buildTransition: _dynamicTransition,
|
buildTransition: _dynamicTransition,
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
@ -266,23 +264,6 @@ class AppRoutes {
|
|||||||
widget: const Login(),
|
widget: const Login(),
|
||||||
buildTransition: _fadeTransition,
|
buildTransition: _fadeTransition,
|
||||||
),
|
),
|
||||||
VWidget(
|
|
||||||
path: 'connect',
|
|
||||||
widget: const ConnectPage(),
|
|
||||||
buildTransition: _fadeTransition,
|
|
||||||
stackedRoutes: [
|
|
||||||
VWidget(
|
|
||||||
path: 'login',
|
|
||||||
widget: const Login(),
|
|
||||||
buildTransition: _fadeTransition,
|
|
||||||
),
|
|
||||||
VWidget(
|
|
||||||
path: 'signup',
|
|
||||||
widget: const SignupPage(),
|
|
||||||
buildTransition: _fadeTransition,
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
VWidget(
|
VWidget(
|
||||||
path: 'logs',
|
path: 'logs',
|
||||||
widget: const LogViewer(),
|
widget: const LogViewer(),
|
||||||
@ -358,23 +339,6 @@ class AppRoutes {
|
|||||||
widget: const Login(),
|
widget: const Login(),
|
||||||
buildTransition: _fadeTransition,
|
buildTransition: _fadeTransition,
|
||||||
),
|
),
|
||||||
VWidget(
|
|
||||||
path: 'connect',
|
|
||||||
widget: const ConnectPage(),
|
|
||||||
buildTransition: _fadeTransition,
|
|
||||||
stackedRoutes: [
|
|
||||||
VWidget(
|
|
||||||
path: 'login',
|
|
||||||
widget: const Login(),
|
|
||||||
buildTransition: _fadeTransition,
|
|
||||||
),
|
|
||||||
VWidget(
|
|
||||||
path: 'signup',
|
|
||||||
widget: const SignupPage(),
|
|
||||||
buildTransition: _fadeTransition,
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
VWidget(
|
VWidget(
|
||||||
|
|||||||
@ -9,7 +9,10 @@ import 'app_config.dart';
|
|||||||
abstract class FluffyThemes {
|
abstract class FluffyThemes {
|
||||||
static const double columnWidth = 360.0;
|
static const double columnWidth = 360.0;
|
||||||
|
|
||||||
static bool isColumnModeByWidth(double width) => width > columnWidth * 2 + 64;
|
static const double navRailWidth = 64.0;
|
||||||
|
|
||||||
|
static bool isColumnModeByWidth(double width) =>
|
||||||
|
width > columnWidth * 2 + navRailWidth;
|
||||||
|
|
||||||
static bool isColumnMode(BuildContext context) =>
|
static bool isColumnMode(BuildContext context) =>
|
||||||
isColumnModeByWidth(MediaQuery.of(context).size.width);
|
isColumnModeByWidth(MediaQuery.of(context).size.width);
|
||||||
@ -38,6 +41,22 @@ abstract class FluffyThemes {
|
|||||||
titleSmall: fallbackTextStyle,
|
titleSmall: fallbackTextStyle,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
static LinearGradient backgroundGradient(
|
||||||
|
BuildContext context,
|
||||||
|
int alpha,
|
||||||
|
) {
|
||||||
|
final colorScheme = Theme.of(context).colorScheme;
|
||||||
|
return LinearGradient(
|
||||||
|
begin: Alignment.topCenter,
|
||||||
|
colors: [
|
||||||
|
colorScheme.primaryContainer.withAlpha(alpha),
|
||||||
|
colorScheme.secondaryContainer.withAlpha(alpha),
|
||||||
|
colorScheme.tertiaryContainer.withAlpha(alpha),
|
||||||
|
colorScheme.primaryContainer.withAlpha(alpha),
|
||||||
|
],
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
static const Duration animationDuration = Duration(milliseconds: 250);
|
static const Duration animationDuration = Duration(milliseconds: 250);
|
||||||
static const Curve animationCurve = Curves.easeInOut;
|
static const Curve animationCurve = Curves.easeInOut;
|
||||||
|
|
||||||
|
|||||||
@ -3,7 +3,8 @@ import 'dart:math';
|
|||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
import 'package:file_picker_cross/file_picker_cross.dart';
|
import 'package:collection/collection.dart';
|
||||||
|
import 'package:file_picker/file_picker.dart';
|
||||||
import 'package:future_loading_dialog/future_loading_dialog.dart';
|
import 'package:future_loading_dialog/future_loading_dialog.dart';
|
||||||
import 'package:image_picker/image_picker.dart';
|
import 'package:image_picker/image_picker.dart';
|
||||||
import 'package:matrix/matrix.dart';
|
import 'package:matrix/matrix.dart';
|
||||||
@ -68,14 +69,15 @@ class AddStoryController extends State<AddStoryPage> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void importMedia() async {
|
void importMedia() async {
|
||||||
final picked = await FilePickerCross.importFromStorage(
|
final picked = await FilePicker.platform.pickFiles(
|
||||||
type: FileTypeCross.image,
|
type: FileType.image,
|
||||||
|
withData: true,
|
||||||
);
|
);
|
||||||
final fileName = picked.fileName;
|
final file = picked?.files.firstOrNull;
|
||||||
if (fileName == null) return;
|
if (file == null) return;
|
||||||
final matrixFile = MatrixImageFile(
|
final matrixFile = MatrixImageFile(
|
||||||
bytes: picked.toUint8List(),
|
bytes: file.bytes!,
|
||||||
name: fileName,
|
name: file.name,
|
||||||
);
|
);
|
||||||
setState(() {
|
setState(() {
|
||||||
image = matrixFile;
|
image = matrixFile;
|
||||||
|
|||||||
@ -9,7 +9,7 @@ import 'package:adaptive_dialog/adaptive_dialog.dart';
|
|||||||
import 'package:desktop_drop/desktop_drop.dart';
|
import 'package:desktop_drop/desktop_drop.dart';
|
||||||
import 'package:device_info_plus/device_info_plus.dart';
|
import 'package:device_info_plus/device_info_plus.dart';
|
||||||
import 'package:emoji_picker_flutter/emoji_picker_flutter.dart';
|
import 'package:emoji_picker_flutter/emoji_picker_flutter.dart';
|
||||||
import 'package:file_picker_cross/file_picker_cross.dart';
|
import 'package:file_picker/file_picker.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
import 'package:future_loading_dialog/future_loading_dialog.dart';
|
import 'package:future_loading_dialog/future_loading_dialog.dart';
|
||||||
import 'package:image_picker/image_picker.dart';
|
import 'package:image_picker/image_picker.dart';
|
||||||
@ -23,6 +23,7 @@ import 'package:fluffychat/pages/chat/chat_view.dart';
|
|||||||
import 'package:fluffychat/pages/chat/event_info_dialog.dart';
|
import 'package:fluffychat/pages/chat/event_info_dialog.dart';
|
||||||
import 'package:fluffychat/pages/chat/recording_dialog.dart';
|
import 'package:fluffychat/pages/chat/recording_dialog.dart';
|
||||||
import 'package:fluffychat/utils/adaptive_bottom_sheet.dart';
|
import 'package:fluffychat/utils/adaptive_bottom_sheet.dart';
|
||||||
|
import 'package:fluffychat/utils/error_reporter.dart';
|
||||||
import 'package:fluffychat/utils/matrix_sdk_extensions/event_extension.dart';
|
import 'package:fluffychat/utils/matrix_sdk_extensions/event_extension.dart';
|
||||||
import 'package:fluffychat/utils/matrix_sdk_extensions/ios_badge_client_extension.dart';
|
import 'package:fluffychat/utils/matrix_sdk_extensions/ios_badge_client_extension.dart';
|
||||||
import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_locals.dart';
|
import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_locals.dart';
|
||||||
@ -35,25 +36,56 @@ import 'send_file_dialog.dart';
|
|||||||
import 'send_location_dialog.dart';
|
import 'send_location_dialog.dart';
|
||||||
import 'sticker_picker_dialog.dart';
|
import 'sticker_picker_dialog.dart';
|
||||||
|
|
||||||
class Chat extends StatefulWidget {
|
class ChatPage extends StatelessWidget {
|
||||||
final Widget? sideView;
|
final Widget? sideView;
|
||||||
|
|
||||||
const Chat({Key? key, this.sideView}) : super(key: key);
|
const ChatPage({Key? key, this.sideView}) : super(key: key);
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
final roomId = context.vRouter.pathParameters['roomid'];
|
||||||
|
final room =
|
||||||
|
roomId == null ? null : Matrix.of(context).client.getRoomById(roomId);
|
||||||
|
if (room == null) {
|
||||||
|
return Scaffold(
|
||||||
|
appBar: AppBar(title: Text(L10n.of(context)!.oopsSomethingWentWrong)),
|
||||||
|
body: Center(
|
||||||
|
child: Padding(
|
||||||
|
padding: const EdgeInsets.all(16),
|
||||||
|
child:
|
||||||
|
Text(L10n.of(context)!.youAreNoLongerParticipatingInThisChat),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return ChatPageWithRoom(sideView: sideView, room: room);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class ChatPageWithRoom extends StatefulWidget {
|
||||||
|
final Widget? sideView;
|
||||||
|
final Room room;
|
||||||
|
|
||||||
|
const ChatPageWithRoom({
|
||||||
|
Key? key,
|
||||||
|
required this.sideView,
|
||||||
|
required this.room,
|
||||||
|
}) : super(key: key);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
ChatController createState() => ChatController();
|
ChatController createState() => ChatController();
|
||||||
}
|
}
|
||||||
|
|
||||||
class ChatController extends State<Chat> {
|
class ChatController extends State<ChatPageWithRoom> {
|
||||||
Room? room;
|
Room get room => sendingClient.getRoomById(roomId) ?? widget.room;
|
||||||
|
|
||||||
Client? sendingClient;
|
late Client sendingClient;
|
||||||
|
|
||||||
Timeline? timeline;
|
Timeline? timeline;
|
||||||
|
|
||||||
MatrixState? matrix;
|
String? readMarkerEventId;
|
||||||
|
|
||||||
String? get roomId => context.vRouter.pathParameters['roomid'];
|
String get roomId => widget.room.id;
|
||||||
|
|
||||||
final AutoScrollController scrollController = AutoScrollController();
|
final AutoScrollController scrollController = AutoScrollController();
|
||||||
|
|
||||||
@ -95,7 +127,7 @@ class ChatController extends State<Chat> {
|
|||||||
useRootNavigator: false,
|
useRootNavigator: false,
|
||||||
builder: (c) => SendFileDialog(
|
builder: (c) => SendFileDialog(
|
||||||
files: matrixFiles,
|
files: matrixFiles,
|
||||||
room: room!,
|
room: room,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -120,7 +152,10 @@ class ChatController extends State<Chat> {
|
|||||||
|
|
||||||
Event? editEvent;
|
Event? editEvent;
|
||||||
|
|
||||||
bool showScrollDownButton = false;
|
bool _scrolledUp = false;
|
||||||
|
|
||||||
|
bool get showScrollDownButton =>
|
||||||
|
_scrolledUp || timeline?.allowNewEvent == false;
|
||||||
|
|
||||||
bool get selectMode => selectedEvents.isNotEmpty;
|
bool get selectMode => selectedEvents.isNotEmpty;
|
||||||
|
|
||||||
@ -130,16 +165,12 @@ class ChatController extends State<Chat> {
|
|||||||
|
|
||||||
String pendingText = '';
|
String pendingText = '';
|
||||||
|
|
||||||
bool get canLoadMore =>
|
|
||||||
timeline!.events.isEmpty ||
|
|
||||||
timeline!.events.last.type != EventTypes.RoomCreate;
|
|
||||||
|
|
||||||
bool showEmojiPicker = false;
|
bool showEmojiPicker = false;
|
||||||
|
|
||||||
void recreateChat() async {
|
void recreateChat() async {
|
||||||
final room = this.room;
|
final room = this.room;
|
||||||
final userId = room?.directChatMatrixID;
|
final userId = room.directChatMatrixID;
|
||||||
if (room == null || userId == null) {
|
if (userId == null) {
|
||||||
throw Exception(
|
throw Exception(
|
||||||
'Try to recreate a room with is not a DM room. This should not be possible from the UI!',
|
'Try to recreate a room with is not a DM room. This should not be possible from the UI!',
|
||||||
);
|
);
|
||||||
@ -161,12 +192,6 @@ class ChatController extends State<Chat> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void leaveChat() async {
|
void leaveChat() async {
|
||||||
final room = this.room;
|
|
||||||
if (room == null) {
|
|
||||||
throw Exception(
|
|
||||||
'Leave room button clicked while room is null. This should not be possible from the UI!',
|
|
||||||
);
|
|
||||||
}
|
|
||||||
final success = await showFutureLoadingDialog(
|
final success = await showFutureLoadingDialog(
|
||||||
context: context,
|
context: context,
|
||||||
future: room.leave,
|
future: room.leave,
|
||||||
@ -178,7 +203,8 @@ class ChatController extends State<Chat> {
|
|||||||
EmojiPickerType emojiPickerType = EmojiPickerType.keyboard;
|
EmojiPickerType emojiPickerType = EmojiPickerType.keyboard;
|
||||||
|
|
||||||
void requestHistory() async {
|
void requestHistory() async {
|
||||||
if (canLoadMore) {
|
if (!timeline!.canRequestHistory) return;
|
||||||
|
Logs().v('Requesting history...');
|
||||||
try {
|
try {
|
||||||
await timeline!.requestHistory(historyCount: _loadHistoryCount);
|
await timeline!.requestHistory(historyCount: _loadHistoryCount);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
@ -192,6 +218,26 @@ class ChatController extends State<Chat> {
|
|||||||
rethrow;
|
rethrow;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void requestFuture() async {
|
||||||
|
final timeline = this.timeline;
|
||||||
|
if (timeline == null) return;
|
||||||
|
if (!timeline.canRequestFuture) return;
|
||||||
|
Logs().v('Requesting future...');
|
||||||
|
try {
|
||||||
|
final mostRecentEventId = timeline.events.first.eventId;
|
||||||
|
await timeline.requestFuture(historyCount: _loadHistoryCount);
|
||||||
|
setReadMarker(eventId: mostRecentEventId);
|
||||||
|
} catch (err) {
|
||||||
|
ScaffoldMessenger.of(context).showSnackBar(
|
||||||
|
SnackBar(
|
||||||
|
content: Text(
|
||||||
|
(err).toLocalizedString(context),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
rethrow;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void _updateScrollController() {
|
void _updateScrollController() {
|
||||||
@ -200,18 +246,11 @@ class ChatController extends State<Chat> {
|
|||||||
}
|
}
|
||||||
setReadMarker();
|
setReadMarker();
|
||||||
if (!scrollController.hasClients) return;
|
if (!scrollController.hasClients) return;
|
||||||
if (scrollController.position.pixels ==
|
if (timeline?.allowNewEvent == false ||
|
||||||
scrollController.position.maxScrollExtent &&
|
scrollController.position.pixels > 0 && _scrolledUp == false) {
|
||||||
timeline!.events.isNotEmpty &&
|
setState(() => _scrolledUp = true);
|
||||||
timeline!.events[timeline!.events.length - 1].type !=
|
} else if (scrollController.position.pixels == 0 && _scrolledUp == true) {
|
||||||
EventTypes.RoomCreate) {
|
setState(() => _scrolledUp = false);
|
||||||
requestHistory();
|
|
||||||
}
|
|
||||||
if (scrollController.position.pixels > 0 && showScrollDownButton == false) {
|
|
||||||
setState(() => showScrollDownButton = true);
|
|
||||||
} else if (scrollController.position.pixels == 0 &&
|
|
||||||
showScrollDownButton == true) {
|
|
||||||
setState(() => showScrollDownButton = false);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -230,6 +269,12 @@ class ChatController extends State<Chat> {
|
|||||||
inputFocus.addListener(_inputFocusListener);
|
inputFocus.addListener(_inputFocusListener);
|
||||||
_loadDraft();
|
_loadDraft();
|
||||||
super.initState();
|
super.initState();
|
||||||
|
sendingClient = Matrix.of(context).client;
|
||||||
|
readMarkerEventId = room.fullyRead;
|
||||||
|
loadTimelineFuture =
|
||||||
|
_getTimeline(eventContextId: readMarkerEventId).onError(
|
||||||
|
ErrorReporter(context, 'Unable to load timeline').onErrorCallback,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
void updateView() {
|
void updateView() {
|
||||||
@ -237,13 +282,45 @@ class ChatController extends State<Chat> {
|
|||||||
setState(() {});
|
setState(() {});
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<bool> getTimeline() async {
|
Future<void>? loadTimelineFuture;
|
||||||
if (timeline == null) {
|
|
||||||
|
Future<void> _getTimeline({
|
||||||
|
String? eventContextId,
|
||||||
|
Duration timeout = const Duration(seconds: 7),
|
||||||
|
}) async {
|
||||||
await Matrix.of(context).client.roomsLoading;
|
await Matrix.of(context).client.roomsLoading;
|
||||||
await Matrix.of(context).client.accountDataLoading;
|
await Matrix.of(context).client.accountDataLoading;
|
||||||
timeline = await room!.getTimeline(onUpdate: updateView);
|
if (eventContextId != null &&
|
||||||
|
(!eventContextId.isValidMatrixId || eventContextId.sigil != '\$')) {
|
||||||
|
eventContextId = null;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
timeline = await room
|
||||||
|
.getTimeline(
|
||||||
|
onUpdate: updateView,
|
||||||
|
eventContextId: eventContextId,
|
||||||
|
)
|
||||||
|
.timeout(timeout);
|
||||||
|
} catch (e, s) {
|
||||||
|
Logs().w('Unable to load timeline on event ID $eventContextId', e, s);
|
||||||
|
if (!mounted) return;
|
||||||
|
timeline = await room.getTimeline(onUpdate: updateView);
|
||||||
|
if (!mounted) return;
|
||||||
|
if (e is TimeoutException || e is IOException) {
|
||||||
|
ScaffoldMessenger.of(context).showSnackBar(
|
||||||
|
SnackBar(
|
||||||
|
content: Text(L10n.of(context)!.jumpToLastReadMessage),
|
||||||
|
action: SnackBarAction(
|
||||||
|
label: L10n.of(context)!.jump,
|
||||||
|
onPressed: () => scrollToEventId(eventContextId!),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
timeline!.requestKeys(onlineKeyBackupOnly: false);
|
||||||
if (timeline!.events.isNotEmpty) {
|
if (timeline!.events.isNotEmpty) {
|
||||||
if (room!.markedUnread) room!.markUnread(false);
|
if (room.markedUnread) room.markUnread(false);
|
||||||
setReadMarker();
|
setReadMarker();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -256,29 +333,33 @@ class ChatController extends State<Chat> {
|
|||||||
if (event != null) {
|
if (event != null) {
|
||||||
scrollToEventId(event);
|
scrollToEventId(event);
|
||||||
}
|
}
|
||||||
_updateScrollController();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
|
||||||
timeline!.requestKeys(onlineKeyBackupOnly: false);
|
return;
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void>? _setReadMarkerFuture;
|
Future<void>? _setReadMarkerFuture;
|
||||||
|
|
||||||
void setReadMarker([_]) {
|
void setReadMarker({String? eventId}) {
|
||||||
if (_setReadMarkerFuture == null &&
|
if (_setReadMarkerFuture != null) return;
|
||||||
(room!.hasNewMessages || room!.notificationCount > 0) &&
|
if (eventId == null &&
|
||||||
timeline != null &&
|
!room.hasNewMessages &&
|
||||||
timeline!.events.isNotEmpty &&
|
room.notificationCount == 0) {
|
||||||
Matrix.of(context).webHasFocus) {
|
return;
|
||||||
Logs().v('Set read marker...');
|
}
|
||||||
|
if (!Matrix.of(context).webHasFocus) return;
|
||||||
|
|
||||||
|
final timeline = this.timeline;
|
||||||
|
if (timeline == null || timeline.events.isEmpty) return;
|
||||||
|
|
||||||
|
eventId ??= timeline.events.first.eventId;
|
||||||
|
Logs().v('Set read marker...', eventId);
|
||||||
// ignore: unawaited_futures
|
// ignore: unawaited_futures
|
||||||
_setReadMarkerFuture = timeline!.setReadMarker().then((_) {
|
_setReadMarkerFuture = timeline.setReadMarker(eventId: eventId).then((_) {
|
||||||
_setReadMarkerFuture = null;
|
_setReadMarkerFuture = null;
|
||||||
});
|
});
|
||||||
room!.client.updateIosBadge();
|
room.client.updateIosBadge();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@ -291,15 +372,24 @@ class ChatController extends State<Chat> {
|
|||||||
|
|
||||||
TextEditingController sendController = TextEditingController();
|
TextEditingController sendController = TextEditingController();
|
||||||
|
|
||||||
void setSendingClient(Client? c) {
|
void setSendingClient(Client c) {
|
||||||
// first cancle typing with the old sending client
|
// first cancel typing with the old sending client
|
||||||
if (currentlyTyping) {
|
if (currentlyTyping) {
|
||||||
// no need to have the setting typing to false be blocking
|
// no need to have the setting typing to false be blocking
|
||||||
typingCoolDown?.cancel();
|
typingCoolDown?.cancel();
|
||||||
typingCoolDown = null;
|
typingCoolDown = null;
|
||||||
room!.setTyping(false);
|
room.setTyping(false);
|
||||||
currentlyTyping = false;
|
currentlyTyping = false;
|
||||||
}
|
}
|
||||||
|
// then cancel the old timeline
|
||||||
|
// fixes bug with read reciepts and quick switching
|
||||||
|
loadTimelineFuture = _getTimeline(eventContextId: room.fullyRead).onError(
|
||||||
|
ErrorReporter(
|
||||||
|
context,
|
||||||
|
'Unable to load timeline after changing sending Client',
|
||||||
|
).onErrorCallback,
|
||||||
|
);
|
||||||
|
|
||||||
// then set the new sending client
|
// then set the new sending client
|
||||||
setState(() => sendingClient = c);
|
setState(() => sendingClient = c);
|
||||||
}
|
}
|
||||||
@ -317,7 +407,7 @@ class ChatController extends State<Chat> {
|
|||||||
|
|
||||||
final commandMatch = RegExp(r'^\/(\w+)').firstMatch(sendController.text);
|
final commandMatch = RegExp(r'^\/(\w+)').firstMatch(sendController.text);
|
||||||
if (commandMatch != null &&
|
if (commandMatch != null &&
|
||||||
!room!.client.commands.keys.contains(commandMatch[1]!.toLowerCase())) {
|
!sendingClient.commands.keys.contains(commandMatch[1]!.toLowerCase())) {
|
||||||
final l10n = L10n.of(context)!;
|
final l10n = L10n.of(context)!;
|
||||||
final dialogResult = await showOkCancelAlertDialog(
|
final dialogResult = await showOkCancelAlertDialog(
|
||||||
context: context,
|
context: context,
|
||||||
@ -332,7 +422,7 @@ class ChatController extends State<Chat> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ignore: unawaited_futures
|
// ignore: unawaited_futures
|
||||||
room!.sendTextEvent(
|
room.sendTextEvent(
|
||||||
sendController.text,
|
sendController.text,
|
||||||
inReplyTo: replyEvent,
|
inReplyTo: replyEvent,
|
||||||
editEventId: editEvent?.eventId,
|
editEventId: editEvent?.eventId,
|
||||||
@ -352,46 +442,49 @@ class ChatController extends State<Chat> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void sendFileAction() async {
|
void sendFileAction() async {
|
||||||
final result = await FilePickerCross.importMultipleFromStorage(
|
final result = await FilePicker.platform.pickFiles(
|
||||||
type: FileTypeCross.any,
|
allowMultiple: true,
|
||||||
|
withData: true,
|
||||||
);
|
);
|
||||||
if (result.isEmpty) return;
|
if (result == null || result.files.isEmpty) return;
|
||||||
await showDialog(
|
await showDialog(
|
||||||
context: context,
|
context: context,
|
||||||
useRootNavigator: false,
|
useRootNavigator: false,
|
||||||
builder: (c) => SendFileDialog(
|
builder: (c) => SendFileDialog(
|
||||||
files: result
|
files: result.files
|
||||||
.map(
|
.map(
|
||||||
(xfile) => MatrixFile(
|
(xfile) => MatrixFile(
|
||||||
bytes: xfile.toUint8List(),
|
bytes: xfile.bytes!,
|
||||||
name: xfile.fileName!,
|
name: xfile.name,
|
||||||
).detectFileType,
|
).detectFileType,
|
||||||
)
|
)
|
||||||
.toList(),
|
.toList(),
|
||||||
room: room!,
|
room: room,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
void sendImageAction() async {
|
void sendImageAction() async {
|
||||||
final result = await FilePickerCross.importMultipleFromStorage(
|
final result = await FilePicker.platform.pickFiles(
|
||||||
type: FileTypeCross.image,
|
type: FileType.image,
|
||||||
|
withData: true,
|
||||||
|
allowMultiple: true,
|
||||||
);
|
);
|
||||||
if (result.isEmpty) return;
|
if (result == null || result.files.isEmpty) return;
|
||||||
|
|
||||||
await showDialog(
|
await showDialog(
|
||||||
context: context,
|
context: context,
|
||||||
useRootNavigator: false,
|
useRootNavigator: false,
|
||||||
builder: (c) => SendFileDialog(
|
builder: (c) => SendFileDialog(
|
||||||
files: result
|
files: result.files
|
||||||
.map(
|
.map(
|
||||||
(xfile) => MatrixFile(
|
(xfile) => MatrixFile(
|
||||||
bytes: xfile.toUint8List(),
|
bytes: xfile.bytes!,
|
||||||
name: xfile.fileName!,
|
name: xfile.name,
|
||||||
).detectFileType,
|
).detectFileType,
|
||||||
)
|
)
|
||||||
.toList(),
|
.toList(),
|
||||||
room: room!,
|
room: room,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -412,7 +505,7 @@ class ChatController extends State<Chat> {
|
|||||||
name: file.path,
|
name: file.path,
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
room: room!,
|
room: room,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -433,7 +526,7 @@ class ChatController extends State<Chat> {
|
|||||||
name: file.path,
|
name: file.path,
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
room: room!,
|
room: room,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -441,7 +534,7 @@ class ChatController extends State<Chat> {
|
|||||||
void sendStickerAction() async {
|
void sendStickerAction() async {
|
||||||
final sticker = await showAdaptiveBottomSheet<ImagePackImageContent>(
|
final sticker = await showAdaptiveBottomSheet<ImagePackImageContent>(
|
||||||
context: context,
|
context: context,
|
||||||
builder: (c) => StickerPickerDialog(room: room!),
|
builder: (c) => StickerPickerDialog(room: room),
|
||||||
);
|
);
|
||||||
if (sticker == null) return;
|
if (sticker == null) return;
|
||||||
final eventContent = <String, dynamic>{
|
final eventContent = <String, dynamic>{
|
||||||
@ -450,7 +543,7 @@ class ChatController extends State<Chat> {
|
|||||||
'url': sticker.url.toString(),
|
'url': sticker.url.toString(),
|
||||||
};
|
};
|
||||||
// send the sticker
|
// send the sticker
|
||||||
await room!.sendEvent(
|
await room.sendEvent(
|
||||||
eventContent,
|
eventContent,
|
||||||
type: EventTypes.Sticker,
|
type: EventTypes.Sticker,
|
||||||
);
|
);
|
||||||
@ -484,7 +577,7 @@ class ChatController extends State<Chat> {
|
|||||||
bytes: audioFile.readAsBytesSync(),
|
bytes: audioFile.readAsBytesSync(),
|
||||||
name: audioFile.path,
|
name: audioFile.path,
|
||||||
);
|
);
|
||||||
await room!.sendFileEvent(
|
await room.sendFileEvent(
|
||||||
file,
|
file,
|
||||||
inReplyTo: replyEvent,
|
inReplyTo: replyEvent,
|
||||||
extraContent: {
|
extraContent: {
|
||||||
@ -534,7 +627,7 @@ class ChatController extends State<Chat> {
|
|||||||
await showDialog(
|
await showDialog(
|
||||||
context: context,
|
context: context,
|
||||||
useRootNavigator: false,
|
useRootNavigator: false,
|
||||||
builder: (c) => SendLocationDialog(room: room!),
|
builder: (c) => SendLocationDialog(room: room),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -640,7 +733,7 @@ class ChatController extends State<Chat> {
|
|||||||
if (client == null) {
|
if (client == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
final room = client.getRoomById(roomId!)!;
|
final room = client.getRoomById(roomId)!;
|
||||||
await Event.fromJson(event.toJson(), room).redactEvent();
|
await Event.fromJson(event.toJson(), room).redactEvent();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -656,14 +749,14 @@ class ChatController extends State<Chat> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
List<Client?> get currentRoomBundle {
|
List<Client?> get currentRoomBundle {
|
||||||
final clients = matrix!.currentBundle!;
|
final clients = Matrix.of(context).currentBundle!;
|
||||||
clients.removeWhere((c) => c!.getRoomById(roomId!) == null);
|
clients.removeWhere((c) => c!.getRoomById(roomId) == null);
|
||||||
return clients;
|
return clients;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool get canRedactSelectedEvents {
|
bool get canRedactSelectedEvents {
|
||||||
if (isArchived) return false;
|
if (isArchived) return false;
|
||||||
final clients = matrix!.currentBundle;
|
final clients = Matrix.of(context).currentBundle;
|
||||||
for (final event in selectedEvents) {
|
for (final event in selectedEvents) {
|
||||||
if (event.canRedact == false &&
|
if (event.canRedact == false &&
|
||||||
!(clients!.any((cl) => event.senderId == cl!.userID))) return false;
|
!(clients!.any((cl) => event.senderId == cl!.userID))) return false;
|
||||||
@ -718,49 +811,23 @@ class ChatController extends State<Chat> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void scrollToEventId(String eventId) async {
|
void scrollToEventId(String eventId) async {
|
||||||
var eventIndex = timeline!.events.indexWhere((e) => e.eventId == eventId);
|
final eventIndex = timeline!.events.indexWhere((e) => e.eventId == eventId);
|
||||||
if (eventIndex == -1) {
|
if (eventIndex == -1) {
|
||||||
// event id not found...maybe we can fetch it?
|
setState(() {
|
||||||
// the try...finally is here to start and close the loading dialog reliably
|
timeline = null;
|
||||||
await showFutureLoadingDialog(
|
_scrolledUp = false;
|
||||||
context: context,
|
loadTimelineFuture = _getTimeline(
|
||||||
future: () async {
|
eventContextId: eventId,
|
||||||
// okay, we first have to fetch if the event is in the room
|
timeout: const Duration(seconds: 30),
|
||||||
try {
|
).onError(
|
||||||
final event = await timeline!.getEventById(eventId);
|
ErrorReporter(context, 'Unable to load timeline after scroll to ID')
|
||||||
if (event == null) {
|
.onErrorCallback,
|
||||||
// event is null...meaning something is off
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
} catch (err) {
|
|
||||||
if (err is MatrixException && err.errcode == 'M_NOT_FOUND') {
|
|
||||||
// event wasn't found, as the server gave a 404 or something
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
rethrow;
|
|
||||||
}
|
|
||||||
// okay, we know that the event *is* in the room
|
|
||||||
while (eventIndex == -1) {
|
|
||||||
if (!canLoadMore) {
|
|
||||||
// we can't load any more events but still haven't found ours yet...better stop here
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
try {
|
|
||||||
await timeline!.requestHistory(historyCount: _loadHistoryCount);
|
|
||||||
} catch (err) {
|
|
||||||
if (err is TimeoutException) {
|
|
||||||
// loading the history timed out...so let's do nothing
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
rethrow;
|
|
||||||
}
|
|
||||||
eventIndex =
|
|
||||||
timeline!.events.indexWhere((e) => e.eventId == eventId);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
);
|
);
|
||||||
}
|
});
|
||||||
if (!mounted) {
|
await loadTimelineFuture;
|
||||||
|
WidgetsBinding.instance.addPostFrameCallback((timeStamp) {
|
||||||
|
scrollToEventId(eventId);
|
||||||
|
});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
await scrollController.scrollToIndex(
|
await scrollController.scrollToIndex(
|
||||||
@ -770,7 +837,21 @@ class ChatController extends State<Chat> {
|
|||||||
_updateScrollController();
|
_updateScrollController();
|
||||||
}
|
}
|
||||||
|
|
||||||
void scrollDown() => scrollController.jumpTo(0);
|
void scrollDown() async {
|
||||||
|
if (!timeline!.allowNewEvent) {
|
||||||
|
setState(() {
|
||||||
|
timeline = null;
|
||||||
|
_scrolledUp = false;
|
||||||
|
loadTimelineFuture = _getTimeline().onError(
|
||||||
|
ErrorReporter(context, 'Unable to load timeline after scroll down')
|
||||||
|
.onErrorCallback,
|
||||||
|
);
|
||||||
|
});
|
||||||
|
await loadTimelineFuture;
|
||||||
|
setReadMarker(eventId: timeline!.events.first.eventId);
|
||||||
|
}
|
||||||
|
scrollController.jumpTo(0);
|
||||||
|
}
|
||||||
|
|
||||||
void onEmojiSelected(_, Emoji? emoji) {
|
void onEmojiSelected(_, Emoji? emoji) {
|
||||||
switch (emojiPickerType) {
|
switch (emojiPickerType) {
|
||||||
@ -788,15 +869,18 @@ class ChatController extends State<Chat> {
|
|||||||
setState(() => showEmojiPicker = false);
|
setState(() => showEmojiPicker = false);
|
||||||
if (emoji == null) return;
|
if (emoji == null) return;
|
||||||
// make sure we don't send the same emoji twice
|
// make sure we don't send the same emoji twice
|
||||||
if (_allReactionEvents
|
if (_allReactionEvents.any(
|
||||||
.any((e) => e.content['m.relates_to']['key'] == emoji.emoji)) return;
|
(e) => e.content.tryGetMap('m.relates_to')?['key'] == emoji.emoji,
|
||||||
|
)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
return sendEmojiAction(emoji.emoji);
|
return sendEmojiAction(emoji.emoji);
|
||||||
}
|
}
|
||||||
|
|
||||||
void forgetRoom() async {
|
void forgetRoom() async {
|
||||||
final result = await showFutureLoadingDialog(
|
final result = await showFutureLoadingDialog(
|
||||||
context: context,
|
context: context,
|
||||||
future: room!.forget,
|
future: room.forget,
|
||||||
);
|
);
|
||||||
if (result.error != null) return;
|
if (result.error != null) return;
|
||||||
VRouter.of(context).to('/archive');
|
VRouter.of(context).to('/archive');
|
||||||
@ -845,7 +929,7 @@ class ChatController extends State<Chat> {
|
|||||||
final events = List<Event>.from(selectedEvents);
|
final events = List<Event>.from(selectedEvents);
|
||||||
setState(() => selectedEvents.clear());
|
setState(() => selectedEvents.clear());
|
||||||
for (final event in events) {
|
for (final event in events) {
|
||||||
await room!.sendReaction(
|
await room.sendReaction(
|
||||||
event.eventId,
|
event.eventId,
|
||||||
emoji!,
|
emoji!,
|
||||||
);
|
);
|
||||||
@ -892,7 +976,7 @@ class ChatController extends State<Chat> {
|
|||||||
useRootNavigator: false,
|
useRootNavigator: false,
|
||||||
context: context,
|
context: context,
|
||||||
title: L10n.of(context)!.goToTheNewRoom,
|
title: L10n.of(context)!.goToTheNewRoom,
|
||||||
message: room!
|
message: room
|
||||||
.getState(EventTypes.RoomTombstone)!
|
.getState(EventTypes.RoomTombstone)!
|
||||||
.parsedTombstoneContent
|
.parsedTombstoneContent
|
||||||
.body,
|
.body,
|
||||||
@ -903,8 +987,8 @@ class ChatController extends State<Chat> {
|
|||||||
}
|
}
|
||||||
final result = await showFutureLoadingDialog(
|
final result = await showFutureLoadingDialog(
|
||||||
context: context,
|
context: context,
|
||||||
future: () => room!.client.joinRoom(
|
future: () => room.client.joinRoom(
|
||||||
room!
|
room
|
||||||
.getState(EventTypes.RoomTombstone)!
|
.getState(EventTypes.RoomTombstone)!
|
||||||
.parsedTombstoneContent
|
.parsedTombstoneContent
|
||||||
.replacementRoom,
|
.replacementRoom,
|
||||||
@ -912,7 +996,7 @@ class ChatController extends State<Chat> {
|
|||||||
);
|
);
|
||||||
await showFutureLoadingDialog(
|
await showFutureLoadingDialog(
|
||||||
context: context,
|
context: context,
|
||||||
future: room!.leave,
|
future: room.leave,
|
||||||
);
|
);
|
||||||
if (result.error == null) {
|
if (result.error == null) {
|
||||||
VRouter.of(context).toSegments(['rooms', result.result!]);
|
VRouter.of(context).toSegments(['rooms', result.result!]);
|
||||||
@ -989,18 +1073,16 @@ class ChatController extends State<Chat> {
|
|||||||
cancelLabel: L10n.of(context)!.cancel,
|
cancelLabel: L10n.of(context)!.cancel,
|
||||||
);
|
);
|
||||||
if (response == OkCancelResult.ok) {
|
if (response == OkCancelResult.ok) {
|
||||||
final events = room!.pinnedEventIds
|
final events = room.pinnedEventIds
|
||||||
..removeWhere((oldEvent) => oldEvent == eventId);
|
..removeWhere((oldEvent) => oldEvent == eventId);
|
||||||
showFutureLoadingDialog(
|
showFutureLoadingDialog(
|
||||||
context: context,
|
context: context,
|
||||||
future: () => room!.setPinnedEvents(events),
|
future: () => room.setPinnedEvents(events),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void pinEvent() {
|
void pinEvent() {
|
||||||
final room = this.room;
|
|
||||||
if (room == null) return;
|
|
||||||
final pinnedEventIds = room.pinnedEventIds;
|
final pinnedEventIds = room.pinnedEventIds;
|
||||||
final selectedEventIds = selectedEvents.map((e) => e.eventId).toSet();
|
final selectedEventIds = selectedEvents.map((e) => e.eventId).toSet();
|
||||||
final unpin = selectedEventIds.length == 1 &&
|
final unpin = selectedEventIds.length == 1 &&
|
||||||
@ -1026,7 +1108,7 @@ class ChatController extends State<Chat> {
|
|||||||
await prefs.setString('draft_$roomId', text);
|
await prefs.setString('draft_$roomId', text);
|
||||||
});
|
});
|
||||||
setReadMarker();
|
setReadMarker();
|
||||||
if (text.endsWith(' ') && matrix!.hasComplexBundles) {
|
if (text.endsWith(' ') && Matrix.of(context).hasComplexBundles) {
|
||||||
final clients = currentRoomBundle;
|
final clients = currentRoomBundle;
|
||||||
for (final client in clients) {
|
for (final client in clients) {
|
||||||
final prefix = client!.sendPrefix;
|
final prefix = client!.sendPrefix;
|
||||||
@ -1045,7 +1127,7 @@ class ChatController extends State<Chat> {
|
|||||||
typingCoolDown = Timer(const Duration(seconds: 2), () {
|
typingCoolDown = Timer(const Duration(seconds: 2), () {
|
||||||
typingCoolDown = null;
|
typingCoolDown = null;
|
||||||
currentlyTyping = false;
|
currentlyTyping = false;
|
||||||
room!.setTyping(false);
|
room.setTyping(false);
|
||||||
});
|
});
|
||||||
typingTimeout ??= Timer(const Duration(seconds: 30), () {
|
typingTimeout ??= Timer(const Duration(seconds: 30), () {
|
||||||
typingTimeout = null;
|
typingTimeout = null;
|
||||||
@ -1053,14 +1135,13 @@ class ChatController extends State<Chat> {
|
|||||||
});
|
});
|
||||||
if (!currentlyTyping) {
|
if (!currentlyTyping) {
|
||||||
currentlyTyping = true;
|
currentlyTyping = true;
|
||||||
room!
|
room.setTyping(true, timeout: const Duration(seconds: 30).inMilliseconds);
|
||||||
.setTyping(true, timeout: const Duration(seconds: 30).inMilliseconds);
|
|
||||||
}
|
}
|
||||||
setState(() => inputText = text);
|
setState(() => inputText = text);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool get isArchived =>
|
bool get isArchived =>
|
||||||
{Membership.leave, Membership.ban}.contains(room?.membership);
|
{Membership.leave, Membership.ban}.contains(room.membership);
|
||||||
|
|
||||||
void showEventInfo([Event? event]) =>
|
void showEventInfo([Event? event]) =>
|
||||||
(event ?? selectedEvents.single).showInfoDialog(context);
|
(event ?? selectedEvents.single).showInfoDialog(context);
|
||||||
@ -1108,7 +1189,7 @@ class ChatController extends State<Chat> {
|
|||||||
if (success.result != null) {
|
if (success.result != null) {
|
||||||
final voipPlugin = Matrix.of(context).voipPlugin;
|
final voipPlugin = Matrix.of(context).voipPlugin;
|
||||||
try {
|
try {
|
||||||
await voipPlugin!.voip.inviteToCall(room!.id, callType);
|
await voipPlugin!.voip.inviteToCall(room.id, callType);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
ScaffoldMessenger.of(context).showSnackBar(
|
ScaffoldMessenger.of(context).showSnackBar(
|
||||||
SnackBar(content: Text(e.toLocalizedString(context))),
|
SnackBar(content: Text(e.toLocalizedString(context))),
|
||||||
|
|||||||
@ -16,9 +16,6 @@ class ChatAppBarTitle extends StatelessWidget {
|
|||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final room = controller.room;
|
final room = controller.room;
|
||||||
if (room == null) {
|
|
||||||
return Container();
|
|
||||||
}
|
|
||||||
if (controller.selectedEvents.isNotEmpty) {
|
if (controller.selectedEvents.isNotEmpty) {
|
||||||
return Text(controller.selectedEvents.length.toString());
|
return Text(controller.selectedEvents.length.toString());
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
|
||||||
import 'package:matrix/matrix.dart';
|
import 'package:matrix/matrix.dart';
|
||||||
import 'package:scroll_to_index/scroll_to_index.dart';
|
import 'package:scroll_to_index/scroll_to_index.dart';
|
||||||
|
|
||||||
@ -48,6 +47,26 @@ class ChatEventList extends StatelessWidget {
|
|||||||
(BuildContext context, int i) {
|
(BuildContext context, int i) {
|
||||||
// Footer to display typing indicator and read receipts:
|
// Footer to display typing indicator and read receipts:
|
||||||
if (i == 0) {
|
if (i == 0) {
|
||||||
|
if (controller.timeline!.isRequestingFuture) {
|
||||||
|
return const Center(
|
||||||
|
child: CircularProgressIndicator.adaptive(strokeWidth: 2),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (controller.timeline!.canRequestFuture) {
|
||||||
|
return Builder(
|
||||||
|
builder: (context) {
|
||||||
|
WidgetsBinding.instance.addPostFrameCallback(
|
||||||
|
(_) => controller.requestFuture(),
|
||||||
|
);
|
||||||
|
return Center(
|
||||||
|
child: IconButton(
|
||||||
|
onPressed: controller.requestFuture,
|
||||||
|
icon: const Icon(Icons.refresh_outlined),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
return Column(
|
return Column(
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
children: [
|
children: [
|
||||||
@ -64,18 +83,22 @@ class ChatEventList extends StatelessWidget {
|
|||||||
child: CircularProgressIndicator.adaptive(strokeWidth: 2),
|
child: CircularProgressIndicator.adaptive(strokeWidth: 2),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
if (controller.canLoadMore) {
|
if (controller.timeline!.canRequestHistory) {
|
||||||
Center(
|
return Builder(
|
||||||
child: OutlinedButton(
|
builder: (context) {
|
||||||
style: OutlinedButton.styleFrom(
|
WidgetsBinding.instance.addPostFrameCallback(
|
||||||
backgroundColor: Theme.of(context).scaffoldBackgroundColor,
|
(_) => controller.requestHistory(),
|
||||||
),
|
);
|
||||||
|
return Center(
|
||||||
|
child: IconButton(
|
||||||
onPressed: controller.requestHistory,
|
onPressed: controller.requestHistory,
|
||||||
child: Text(L10n.of(context)!.loadMore),
|
icon: const Icon(Icons.refresh_outlined),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
},
|
||||||
|
);
|
||||||
}
|
}
|
||||||
return Container();
|
return const SizedBox.shrink();
|
||||||
}
|
}
|
||||||
|
|
||||||
// The message at this index:
|
// The message at this index:
|
||||||
@ -107,11 +130,14 @@ class ChatEventList extends StatelessWidget {
|
|||||||
selected: controller.selectedEvents
|
selected: controller.selectedEvents
|
||||||
.any((e) => e.eventId == event.eventId),
|
.any((e) => e.eventId == event.eventId),
|
||||||
timeline: controller.timeline!,
|
timeline: controller.timeline!,
|
||||||
|
displayReadMarker:
|
||||||
|
controller.readMarkerEventId == event.eventId &&
|
||||||
|
controller.timeline?.allowNewEvent == false,
|
||||||
nextEvent: i < controller.timeline!.events.length
|
nextEvent: i < controller.timeline!.events.length
|
||||||
? controller.timeline!.events[i]
|
? controller.timeline!.events[i]
|
||||||
: null,
|
: null,
|
||||||
)
|
)
|
||||||
: Container(),
|
: const SizedBox.shrink(),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
childCount: controller.timeline!.events.length + 2,
|
childCount: controller.timeline!.events.length + 2,
|
||||||
|
|||||||
@ -23,7 +23,7 @@ class ChatInputRow extends StatelessWidget {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
if (controller.showEmojiPicker &&
|
if (controller.showEmojiPicker &&
|
||||||
controller.emojiPickerType == EmojiPickerType.reaction) {
|
controller.emojiPickerType == EmojiPickerType.reaction) {
|
||||||
return Container();
|
return const SizedBox.shrink();
|
||||||
}
|
}
|
||||||
return Row(
|
return Row(
|
||||||
crossAxisAlignment: CrossAxisAlignment.end,
|
crossAxisAlignment: CrossAxisAlignment.end,
|
||||||
@ -72,7 +72,7 @@ class ChatInputRow extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
: Container(),
|
: const SizedBox.shrink(),
|
||||||
]
|
]
|
||||||
: <Widget>[
|
: <Widget>[
|
||||||
KeyBoardShortcuts(
|
KeyBoardShortcuts(
|
||||||
@ -146,7 +146,7 @@ class ChatInputRow extends StatelessWidget {
|
|||||||
contentPadding: const EdgeInsets.all(0),
|
contentPadding: const EdgeInsets.all(0),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
if (controller.room!
|
if (controller.room
|
||||||
.getImagePacks(ImagePackUsage.sticker)
|
.getImagePacks(ImagePackUsage.sticker)
|
||||||
.isNotEmpty)
|
.isNotEmpty)
|
||||||
PopupMenuItem<String>(
|
PopupMenuItem<String>(
|
||||||
@ -215,9 +215,9 @@ class ChatInputRow extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
if (controller.matrix!.isMultiAccount &&
|
if (Matrix.of(context).isMultiAccount &&
|
||||||
controller.matrix!.hasComplexBundles &&
|
Matrix.of(context).hasComplexBundles &&
|
||||||
controller.matrix!.currentBundle!.length > 1)
|
Matrix.of(context).currentBundle!.length > 1)
|
||||||
Container(
|
Container(
|
||||||
height: 56,
|
height: 56,
|
||||||
alignment: Alignment.center,
|
alignment: Alignment.center,
|
||||||
@ -227,7 +227,7 @@ class ChatInputRow extends StatelessWidget {
|
|||||||
child: Padding(
|
child: Padding(
|
||||||
padding: const EdgeInsets.symmetric(vertical: 4.0),
|
padding: const EdgeInsets.symmetric(vertical: 4.0),
|
||||||
child: InputBar(
|
child: InputBar(
|
||||||
room: controller.room!,
|
room: controller.room,
|
||||||
minLines: 1,
|
minLines: 1,
|
||||||
maxLines: 8,
|
maxLines: 8,
|
||||||
autofocus: !PlatformInfos.isMobile,
|
autofocus: !PlatformInfos.isMobile,
|
||||||
@ -279,8 +279,9 @@ class _ChatAccountPicker extends StatelessWidget {
|
|||||||
|
|
||||||
const _ChatAccountPicker(this.controller, {Key? key}) : super(key: key);
|
const _ChatAccountPicker(this.controller, {Key? key}) : super(key: key);
|
||||||
|
|
||||||
void _popupMenuButtonSelected(String mxid) {
|
void _popupMenuButtonSelected(String mxid, BuildContext context) {
|
||||||
final client = controller.matrix!.currentBundle!
|
final client = Matrix.of(context)
|
||||||
|
.currentBundle!
|
||||||
.firstWhere((cl) => cl!.userID == mxid, orElse: () => null);
|
.firstWhere((cl) => cl!.userID == mxid, orElse: () => null);
|
||||||
if (client == null) {
|
if (client == null) {
|
||||||
Logs().w('Attempted to switch to a non-existing client $mxid');
|
Logs().w('Attempted to switch to a non-existing client $mxid');
|
||||||
@ -291,14 +292,13 @@ class _ChatAccountPicker extends StatelessWidget {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
controller.matrix ??= Matrix.of(context);
|
|
||||||
final clients = controller.currentRoomBundle;
|
final clients = controller.currentRoomBundle;
|
||||||
return Padding(
|
return Padding(
|
||||||
padding: const EdgeInsets.all(8.0),
|
padding: const EdgeInsets.all(8.0),
|
||||||
child: FutureBuilder<Profile>(
|
child: FutureBuilder<Profile>(
|
||||||
future: controller.sendingClient!.fetchOwnProfile(),
|
future: controller.sendingClient.fetchOwnProfile(),
|
||||||
builder: (context, snapshot) => PopupMenuButton<String>(
|
builder: (context, snapshot) => PopupMenuButton<String>(
|
||||||
onSelected: _popupMenuButtonSelected,
|
onSelected: (mxid) => _popupMenuButtonSelected(mxid, context),
|
||||||
itemBuilder: (BuildContext context) => clients
|
itemBuilder: (BuildContext context) => clients
|
||||||
.map(
|
.map(
|
||||||
(client) => PopupMenuItem<String>(
|
(client) => PopupMenuItem<String>(
|
||||||
@ -322,7 +322,7 @@ class _ChatAccountPicker extends StatelessWidget {
|
|||||||
child: Avatar(
|
child: Avatar(
|
||||||
mxContent: snapshot.data?.avatarUrl,
|
mxContent: snapshot.data?.avatarUrl,
|
||||||
name: snapshot.data?.displayName ??
|
name: snapshot.data?.displayName ??
|
||||||
controller.matrix!.client.userID!.localpart,
|
Matrix.of(context).client.userID!.localpart,
|
||||||
size: 20,
|
size: 20,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@ -125,43 +125,27 @@ class ChatView extends StatelessWidget {
|
|||||||
} else {
|
} else {
|
||||||
return [
|
return [
|
||||||
if (Matrix.of(context).voipPlugin != null &&
|
if (Matrix.of(context).voipPlugin != null &&
|
||||||
controller.room!.isDirectChat)
|
controller.room.isDirectChat)
|
||||||
IconButton(
|
IconButton(
|
||||||
onPressed: controller.onPhoneButtonTap,
|
onPressed: controller.onPhoneButtonTap,
|
||||||
icon: const Icon(Icons.call_outlined),
|
icon: const Icon(Icons.call_outlined),
|
||||||
tooltip: L10n.of(context)!.placeCall,
|
tooltip: L10n.of(context)!.placeCall,
|
||||||
),
|
),
|
||||||
EncryptionButton(controller.room!),
|
EncryptionButton(controller.room),
|
||||||
ChatSettingsPopupMenu(controller.room!, !controller.room!.isDirectChat),
|
ChatSettingsPopupMenu(controller.room, !controller.room.isDirectChat),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
controller.matrix ??= Matrix.of(context);
|
if (controller.room.membership == Membership.invite) {
|
||||||
final client = controller.matrix!.client;
|
|
||||||
controller.sendingClient ??= client;
|
|
||||||
controller.room = controller.sendingClient!.getRoomById(controller.roomId!);
|
|
||||||
if (controller.room == null) {
|
|
||||||
return Scaffold(
|
|
||||||
appBar: AppBar(
|
|
||||||
title: Text(L10n.of(context)!.oopsSomethingWentWrong),
|
|
||||||
),
|
|
||||||
body: Center(
|
|
||||||
child: Text(L10n.of(context)!.youAreNoLongerParticipatingInThisChat),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (controller.room!.membership == Membership.invite) {
|
|
||||||
showFutureLoadingDialog(
|
showFutureLoadingDialog(
|
||||||
context: context,
|
context: context,
|
||||||
future: () => controller.room!.join(),
|
future: () => controller.room.join(),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
final bottomSheetPadding = FluffyThemes.isColumnMode(context) ? 16.0 : 8.0;
|
final bottomSheetPadding = FluffyThemes.isColumnMode(context) ? 16.0 : 8.0;
|
||||||
final colorScheme = Theme.of(context).colorScheme;
|
|
||||||
|
|
||||||
return VWidgetGuard(
|
return VWidgetGuard(
|
||||||
onSystemPop: (redirector) async {
|
onSystemPop: (redirector) async {
|
||||||
@ -174,13 +158,13 @@ class ChatView extends StatelessWidget {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
child: GestureDetector(
|
child: GestureDetector(
|
||||||
onTapDown: controller.setReadMarker,
|
onTapDown: (_) => controller.setReadMarker(),
|
||||||
behavior: HitTestBehavior.opaque,
|
behavior: HitTestBehavior.opaque,
|
||||||
child: StreamBuilder(
|
child: StreamBuilder(
|
||||||
stream: controller.room!.onUpdate.stream
|
stream: controller.room.onUpdate.stream
|
||||||
.rateLimit(const Duration(seconds: 1)),
|
.rateLimit(const Duration(seconds: 1)),
|
||||||
builder: (context, snapshot) => FutureBuilder<bool>(
|
builder: (context, snapshot) => FutureBuilder(
|
||||||
future: controller.getTimeline(),
|
future: controller.loadTimelineFuture,
|
||||||
builder: (BuildContext context, snapshot) {
|
builder: (BuildContext context, snapshot) {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
@ -198,7 +182,7 @@ class ChatView extends StatelessWidget {
|
|||||||
color: Theme.of(context).colorScheme.primary,
|
color: Theme.of(context).colorScheme.primary,
|
||||||
)
|
)
|
||||||
: UnreadRoomsBadge(
|
: UnreadRoomsBadge(
|
||||||
filter: (r) => r.id != controller.roomId!,
|
filter: (r) => r.id != controller.roomId,
|
||||||
badgePosition: BadgePosition.topEnd(end: 8, top: 4),
|
badgePosition: BadgePosition.topEnd(end: 8, top: 4),
|
||||||
child: const Center(child: BackButton()),
|
child: const Center(child: BackButton()),
|
||||||
),
|
),
|
||||||
@ -212,6 +196,7 @@ class ChatView extends StatelessWidget {
|
|||||||
padding: const EdgeInsets.only(bottom: 56.0),
|
padding: const EdgeInsets.only(bottom: 56.0),
|
||||||
child: FloatingActionButton(
|
child: FloatingActionButton(
|
||||||
onPressed: controller.scrollDown,
|
onPressed: controller.scrollDown,
|
||||||
|
heroTag: null,
|
||||||
mini: true,
|
mini: true,
|
||||||
child: const Icon(Icons.arrow_downward_outlined),
|
child: const Icon(Icons.arrow_downward_outlined),
|
||||||
),
|
),
|
||||||
@ -234,14 +219,9 @@ class ChatView extends StatelessWidget {
|
|||||||
else
|
else
|
||||||
Container(
|
Container(
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
gradient: LinearGradient(
|
gradient: FluffyThemes.backgroundGradient(
|
||||||
begin: Alignment.topCenter,
|
context,
|
||||||
colors: [
|
64,
|
||||||
colorScheme.primaryContainer.withAlpha(64),
|
|
||||||
colorScheme.secondaryContainer.withAlpha(64),
|
|
||||||
colorScheme.tertiaryContainer.withAlpha(64),
|
|
||||||
colorScheme.primaryContainer.withAlpha(64),
|
|
||||||
],
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@ -271,8 +251,8 @@ class ChatView extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
if (controller.room!.canSendDefaultMessages &&
|
if (controller.room.canSendDefaultMessages &&
|
||||||
controller.room!.membership == Membership.join)
|
controller.room.membership == Membership.join)
|
||||||
Container(
|
Container(
|
||||||
margin: EdgeInsets.only(
|
margin: EdgeInsets.only(
|
||||||
bottom: bottomSheetPadding,
|
bottom: bottomSheetPadding,
|
||||||
@ -297,7 +277,7 @@ class ChatView extends StatelessWidget {
|
|||||||
Brightness.light
|
Brightness.light
|
||||||
? Colors.white
|
? Colors.white
|
||||||
: Colors.black,
|
: Colors.black,
|
||||||
child: controller.room?.isAbandonedDMRoom ==
|
child: controller.room.isAbandonedDMRoom ==
|
||||||
true
|
true
|
||||||
? Row(
|
? Row(
|
||||||
mainAxisAlignment:
|
mainAxisAlignment:
|
||||||
@ -326,7 +306,7 @@ class ChatView extends StatelessWidget {
|
|||||||
const EdgeInsets.all(16),
|
const EdgeInsets.all(16),
|
||||||
),
|
),
|
||||||
icon: const Icon(
|
icon: const Icon(
|
||||||
Icons.chat_outlined,
|
Icons.forum_outlined,
|
||||||
),
|
),
|
||||||
onPressed:
|
onPressed:
|
||||||
controller.recreateChat,
|
controller.recreateChat,
|
||||||
|
|||||||
@ -20,7 +20,9 @@ class EncryptionButton extends StatelessWidget {
|
|||||||
.where((s) => s.deviceLists != null),
|
.where((s) => s.deviceLists != null),
|
||||||
builder: (context, snapshot) {
|
builder: (context, snapshot) {
|
||||||
return FutureBuilder<EncryptionHealthState>(
|
return FutureBuilder<EncryptionHealthState>(
|
||||||
future: room.calcEncryptionHealthState(),
|
future: room.encrypted
|
||||||
|
? room.calcEncryptionHealthState()
|
||||||
|
: Future.value(EncryptionHealthState.allVerified),
|
||||||
builder: (BuildContext context, snapshot) => IconButton(
|
builder: (BuildContext context, snapshot) => IconButton(
|
||||||
tooltip: room.encrypted
|
tooltip: room.encrypted
|
||||||
? L10n.of(context)!.encrypted
|
? L10n.of(context)!.encrypted
|
||||||
|
|||||||
@ -4,12 +4,12 @@ import 'dart:io';
|
|||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
|
||||||
import 'package:just_audio/just_audio.dart';
|
import 'package:just_audio/just_audio.dart';
|
||||||
import 'package:matrix/matrix.dart';
|
import 'package:matrix/matrix.dart';
|
||||||
import 'package:path_provider/path_provider.dart';
|
import 'package:path_provider/path_provider.dart';
|
||||||
|
|
||||||
import 'package:fluffychat/config/app_config.dart';
|
import 'package:fluffychat/config/app_config.dart';
|
||||||
|
import 'package:fluffychat/utils/error_reporter.dart';
|
||||||
import 'package:fluffychat/utils/localized_exception_extension.dart';
|
import 'package:fluffychat/utils/localized_exception_extension.dart';
|
||||||
import '../../../utils/matrix_sdk_extensions/event_extension.dart';
|
import '../../../utils/matrix_sdk_extensions/event_extension.dart';
|
||||||
|
|
||||||
@ -132,14 +132,10 @@ class AudioPlayerState extends State<AudioPlayerWidget> {
|
|||||||
} else {
|
} else {
|
||||||
await audioPlayer.setAudioSource(MatrixFileAudioSource(matrixFile!));
|
await audioPlayer.setAudioSource(MatrixFileAudioSource(matrixFile!));
|
||||||
}
|
}
|
||||||
audioPlayer.play().catchError((e, s) {
|
audioPlayer.play().onError(
|
||||||
ScaffoldMessenger.of(context).showSnackBar(
|
ErrorReporter(context, 'Unable to play audio message')
|
||||||
SnackBar(
|
.onErrorCallback,
|
||||||
content: Text(L10n.of(context)!.oopsSomethingWentWrong),
|
|
||||||
),
|
|
||||||
);
|
);
|
||||||
Logs().w('Error while playing audio', e, s);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static const double buttonSize = 36;
|
static const double buttonSize = 36;
|
||||||
|
|||||||
@ -36,8 +36,6 @@ class _CuteContentState extends State<CuteContent> {
|
|||||||
|
|
||||||
return GestureDetector(
|
return GestureDetector(
|
||||||
onTap: addOverlay,
|
onTap: addOverlay,
|
||||||
child: SizedBox.square(
|
|
||||||
dimension: 300,
|
|
||||||
child: Column(
|
child: Column(
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
@ -49,7 +47,6 @@ class _CuteContentState extends State<CuteContent> {
|
|||||||
if (label != null) Text(label)
|
if (label != null) Text(label)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
@ -144,6 +141,7 @@ class _CuteEventOverlayState extends State<CuteEventOverlay>
|
|||||||
return SizedBox(
|
return SizedBox(
|
||||||
height: constraints.maxHeight,
|
height: constraints.maxHeight,
|
||||||
width: constraints.maxWidth,
|
width: constraints.maxWidth,
|
||||||
|
child: OverflowBox(
|
||||||
child: Stack(
|
child: Stack(
|
||||||
alignment: Alignment.bottomLeft,
|
alignment: Alignment.bottomLeft,
|
||||||
fit: StackFit.expand,
|
fit: StackFit.expand,
|
||||||
@ -163,6 +161,7 @@ class _CuteEventOverlayState extends State<CuteEventOverlay>
|
|||||||
)
|
)
|
||||||
.toList(),
|
.toList(),
|
||||||
),
|
),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
|||||||
@ -1,32 +1,29 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:collection/collection.dart';
|
||||||
import 'package:flutter_matrix_html/flutter_html.dart';
|
import 'package:flutter_highlighter/flutter_highlighter.dart';
|
||||||
|
import 'package:flutter_highlighter/themes/shades-of-purple.dart';
|
||||||
|
import 'package:flutter_html/flutter_html.dart';
|
||||||
|
import 'package:flutter_html_table/flutter_html_table.dart';
|
||||||
|
import 'package:flutter_math_fork/flutter_math.dart';
|
||||||
|
import 'package:linkify/linkify.dart';
|
||||||
import 'package:matrix/matrix.dart';
|
import 'package:matrix/matrix.dart';
|
||||||
|
|
||||||
import 'package:fluffychat/widgets/matrix.dart';
|
import 'package:fluffychat/config/app_config.dart';
|
||||||
import '../../../config/app_config.dart';
|
import 'package:fluffychat/widgets/avatar.dart';
|
||||||
import '../../../config/setting_keys.dart';
|
import 'package:fluffychat/widgets/mxc_image.dart';
|
||||||
import '../../../pages/image_viewer/image_viewer.dart';
|
|
||||||
import '../../../utils/matrix_sdk_extensions/matrix_locals.dart';
|
|
||||||
import '../../../utils/url_launcher.dart';
|
import '../../../utils/url_launcher.dart';
|
||||||
|
|
||||||
class HtmlMessage extends StatelessWidget {
|
class HtmlMessage extends StatelessWidget {
|
||||||
final String html;
|
final String html;
|
||||||
final int? maxLines;
|
|
||||||
final Room room;
|
final Room room;
|
||||||
final TextStyle? defaultTextStyle;
|
final Color textColor;
|
||||||
final TextStyle? linkStyle;
|
|
||||||
final double? emoteSize;
|
|
||||||
|
|
||||||
const HtmlMessage({
|
const HtmlMessage({
|
||||||
Key? key,
|
Key? key,
|
||||||
required this.html,
|
required this.html,
|
||||||
this.maxLines,
|
|
||||||
required this.room,
|
required this.room,
|
||||||
this.defaultTextStyle,
|
this.textColor = Colors.black,
|
||||||
this.linkStyle,
|
|
||||||
this.emoteSize,
|
|
||||||
}) : super(key: key);
|
}) : super(key: key);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@ -47,118 +44,461 @@ class HtmlMessage extends StatelessWidget {
|
|||||||
'',
|
'',
|
||||||
);
|
);
|
||||||
|
|
||||||
// there is no need to pre-validate the html, as we validate it while rendering
|
final fontSize = AppConfig.messageFontSize * AppConfig.fontSizeFactor;
|
||||||
|
|
||||||
final matrix = Matrix.of(context);
|
final linkifiedRenderHtml = linkify(
|
||||||
|
renderHtml,
|
||||||
final themeData = Theme.of(context);
|
options: const LinkifyOptions(humanize: false),
|
||||||
return Html(
|
|
||||||
data: renderHtml,
|
|
||||||
defaultTextStyle: defaultTextStyle,
|
|
||||||
emoteSize: emoteSize,
|
|
||||||
linkStyle: linkStyle ??
|
|
||||||
themeData.textTheme.bodyMedium!.copyWith(
|
|
||||||
color: themeData.colorScheme.secondary,
|
|
||||||
decoration: TextDecoration.underline,
|
|
||||||
decorationColor: themeData.colorScheme.secondary,
|
|
||||||
),
|
|
||||||
shrinkToFit: true,
|
|
||||||
maxLines: maxLines,
|
|
||||||
onLinkTap: (url) => UrlLauncher(context, url).launchUrl(),
|
|
||||||
onPillTap: (url) => UrlLauncher(context, url).launchUrl(),
|
|
||||||
getMxcUrl: (
|
|
||||||
String mxc,
|
|
||||||
double? width,
|
|
||||||
double? height, {
|
|
||||||
bool? animated = false,
|
|
||||||
}) {
|
|
||||||
final ratio = MediaQuery.of(context).devicePixelRatio;
|
|
||||||
return Uri.parse(mxc)
|
|
||||||
.getThumbnail(
|
|
||||||
matrix.client,
|
|
||||||
width: (width ?? 800) * ratio,
|
|
||||||
height: (height ?? 800) * ratio,
|
|
||||||
method: ThumbnailMethod.scale,
|
|
||||||
animated: AppConfig.autoplayImages ? animated : false,
|
|
||||||
)
|
)
|
||||||
.toString();
|
.map(
|
||||||
|
(element) {
|
||||||
|
if (element is! UrlElement ||
|
||||||
|
element.text.contains('<') ||
|
||||||
|
element.text.contains('>') ||
|
||||||
|
element.text.contains('"')) {
|
||||||
|
return element.text;
|
||||||
|
}
|
||||||
|
return '<a href="${element.url}">${element.text}</a>';
|
||||||
},
|
},
|
||||||
onImageTap: (String mxc) => showDialog(
|
)
|
||||||
context: Matrix.of(context).navigatorContext,
|
.join('')
|
||||||
useRootNavigator: false,
|
.replaceAll('\n', '');
|
||||||
builder: (_) => ImageViewer(
|
|
||||||
Event(
|
final linkColor = textColor.withAlpha(150);
|
||||||
type: EventTypes.Message,
|
|
||||||
content: <String, dynamic>{
|
// there is no need to pre-validate the html, as we validate it while rendering
|
||||||
'body': mxc,
|
return Html(
|
||||||
'url': mxc,
|
data: linkifiedRenderHtml,
|
||||||
'msgtype': MessageTypes.Image,
|
style: {
|
||||||
},
|
'*': Style(
|
||||||
senderId: room.client.userID!,
|
color: textColor,
|
||||||
originServerTs: DateTime.now(),
|
margin: Margins.all(0),
|
||||||
eventId: 'fake_event',
|
fontSize: FontSize(fontSize),
|
||||||
room: room,
|
),
|
||||||
|
'a': Style(color: linkColor, textDecorationColor: linkColor),
|
||||||
|
'h1': Style(
|
||||||
|
fontSize: FontSize(fontSize * 2),
|
||||||
|
lineHeight: LineHeight.number(1.5),
|
||||||
|
fontWeight: FontWeight.w600,
|
||||||
|
),
|
||||||
|
'h2': Style(
|
||||||
|
fontSize: FontSize(fontSize * 1.75),
|
||||||
|
lineHeight: LineHeight.number(1.5),
|
||||||
|
fontWeight: FontWeight.w500,
|
||||||
|
),
|
||||||
|
'h3': Style(
|
||||||
|
fontSize: FontSize(fontSize * 1.5),
|
||||||
|
lineHeight: LineHeight.number(1.5),
|
||||||
|
),
|
||||||
|
'h4': Style(
|
||||||
|
fontSize: FontSize(fontSize * 1.25),
|
||||||
|
lineHeight: LineHeight.number(1.5),
|
||||||
|
),
|
||||||
|
'h5': Style(
|
||||||
|
fontSize: FontSize(fontSize * 1.25),
|
||||||
|
lineHeight: LineHeight.number(1.5),
|
||||||
|
),
|
||||||
|
'h6': Style(
|
||||||
|
fontSize: FontSize(fontSize),
|
||||||
|
lineHeight: LineHeight.number(1.5),
|
||||||
|
),
|
||||||
|
'blockquote': Style(
|
||||||
|
border: Border(
|
||||||
|
left: BorderSide(
|
||||||
|
width: 3,
|
||||||
|
color: textColor,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
padding: HtmlPaddings.only(left: 6, bottom: 0),
|
||||||
|
),
|
||||||
|
'hr': Style(
|
||||||
|
border: Border.all(color: textColor, width: 0.5),
|
||||||
|
),
|
||||||
|
'table': Style(
|
||||||
|
border: Border.all(color: textColor, width: 0.5),
|
||||||
|
),
|
||||||
|
'tr': Style(
|
||||||
|
border: Border.all(color: textColor, width: 0.5),
|
||||||
|
),
|
||||||
|
'td': Style(
|
||||||
|
border: Border.all(color: textColor, width: 0.5),
|
||||||
|
padding: HtmlPaddings.all(2),
|
||||||
|
),
|
||||||
|
'th': Style(
|
||||||
|
border: Border.all(color: textColor, width: 0.5),
|
||||||
),
|
),
|
||||||
setCodeLanguage: (String key, String value) async {
|
|
||||||
await matrix.store.setItem('${SettingKeys.codeLanguage}.$key', value);
|
|
||||||
},
|
},
|
||||||
getCodeLanguage: (String key) async {
|
extensions: [
|
||||||
return await matrix.store.getItem('${SettingKeys.codeLanguage}.$key');
|
RoomPillExtension(context, room),
|
||||||
|
CodeExtension(fontSize: fontSize),
|
||||||
|
MatrixMathExtension(
|
||||||
|
style: TextStyle(fontSize: fontSize, color: textColor),
|
||||||
|
),
|
||||||
|
const TableHtmlExtension(),
|
||||||
|
SpoilerExtension(textColor: textColor),
|
||||||
|
const ImageExtension(),
|
||||||
|
FontColorExtension(),
|
||||||
|
],
|
||||||
|
onLinkTap: (url, _, __) => UrlLauncher(context, url).launchUrl(),
|
||||||
|
onlyRenderTheseTags: const {
|
||||||
|
...allowedHtmlTags,
|
||||||
|
// Needed to make it work properly
|
||||||
|
'body',
|
||||||
|
'html',
|
||||||
},
|
},
|
||||||
getPillInfo: (String url) async {
|
shrinkWrap: true,
|
||||||
final identityParts = url.parseIdentifierIntoParts();
|
);
|
||||||
final identifier = identityParts?.primaryIdentifier;
|
|
||||||
if (identifier == null) {
|
|
||||||
return {};
|
|
||||||
}
|
}
|
||||||
if (identifier.sigil == '@') {
|
|
||||||
// we have a user pill
|
/// Keep in sync with: https://spec.matrix.org/v1.6/client-server-api/#mroommessage-msgtypes
|
||||||
final user = room.getState('m.room.member', identifier);
|
static const Set<String> allowedHtmlTags = {
|
||||||
if (user != null) {
|
'font',
|
||||||
return user.content;
|
'del',
|
||||||
}
|
'h1',
|
||||||
// there might still be a profile...
|
'h2',
|
||||||
final profile = await room.client.getProfileFromUserId(identifier);
|
'h3',
|
||||||
return {
|
'h4',
|
||||||
'displayname': profile.displayName,
|
'h5',
|
||||||
'avatar_url': profile.avatarUrl.toString(),
|
'h6',
|
||||||
|
'blockquote',
|
||||||
|
'p',
|
||||||
|
'a',
|
||||||
|
'ul',
|
||||||
|
'ol',
|
||||||
|
'sup',
|
||||||
|
'sub',
|
||||||
|
'li',
|
||||||
|
'b',
|
||||||
|
'i',
|
||||||
|
'u',
|
||||||
|
'strong',
|
||||||
|
'em',
|
||||||
|
'strike',
|
||||||
|
'code',
|
||||||
|
'hr',
|
||||||
|
'br',
|
||||||
|
'div',
|
||||||
|
'table',
|
||||||
|
'thead',
|
||||||
|
'tbody',
|
||||||
|
'tr',
|
||||||
|
'th',
|
||||||
|
'td',
|
||||||
|
'caption',
|
||||||
|
'pre',
|
||||||
|
'span',
|
||||||
|
'img',
|
||||||
|
'details',
|
||||||
|
'summary',
|
||||||
|
// Not in the allowlist of the matrix spec yet but should be harmless:
|
||||||
|
'ruby',
|
||||||
|
'rp',
|
||||||
|
'rt',
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
if (identifier.sigil == '#') {
|
|
||||||
// we have an alias pill
|
class FontColorExtension extends HtmlExtension {
|
||||||
for (final r in room.client.rooms) {
|
static const String colorAttribute = 'color';
|
||||||
final state = r.getState('m.room.canonical_alias');
|
static const String mxColorAttribute = 'data-mx-color';
|
||||||
if (state != null &&
|
static const String bgColorAttribute = 'data-mx-bg-color';
|
||||||
((state.content['alias'] is String &&
|
|
||||||
state.content['alias'] == identifier) ||
|
@override
|
||||||
(state.content['alt_aliases'] is List &&
|
Set<String> get supportedTags => {'font', 'span'};
|
||||||
state.content['alt_aliases'].contains(identifier)))) {
|
|
||||||
// we have a room!
|
@override
|
||||||
return {
|
bool matches(ExtensionContext context) {
|
||||||
'displayname':
|
if (!supportedTags.contains(context.elementName)) return false;
|
||||||
r.getLocalizedDisplayname(MatrixLocals(L10n.of(context)!)),
|
return context.element?.attributes.keys.any(
|
||||||
'avatar_url': r.getState('m.room.avatar')?.content['url'],
|
{
|
||||||
};
|
colorAttribute,
|
||||||
|
mxColorAttribute,
|
||||||
|
bgColorAttribute,
|
||||||
|
}.contains,
|
||||||
|
) ??
|
||||||
|
false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Color? hexToColor(String? hexCode) {
|
||||||
|
if (hexCode == null) return null;
|
||||||
|
if (hexCode.startsWith('#')) hexCode = hexCode.substring(1);
|
||||||
|
if (hexCode.length == 6) hexCode = 'FF$hexCode';
|
||||||
|
final colorValue = int.tryParse(hexCode, radix: 16);
|
||||||
|
return colorValue == null ? null : Color(colorValue);
|
||||||
}
|
}
|
||||||
return {};
|
|
||||||
}
|
@override
|
||||||
if (identifier.sigil == '!') {
|
InlineSpan build(
|
||||||
// we have a room ID pill
|
ExtensionContext context,
|
||||||
final r = room.client.getRoomById(identifier);
|
) {
|
||||||
if (r == null) {
|
final colorText = context.element?.attributes[colorAttribute] ??
|
||||||
return {};
|
context.element?.attributes[mxColorAttribute];
|
||||||
}
|
final bgColor = context.element?.attributes[bgColorAttribute];
|
||||||
return {
|
return TextSpan(
|
||||||
'displayname':
|
style: TextStyle(
|
||||||
r.getLocalizedDisplayname(MatrixLocals(L10n.of(context)!)),
|
color: hexToColor(colorText),
|
||||||
'avatar_url': r.getState('m.room.avatar')?.content['url'],
|
backgroundColor: hexToColor(bgColor),
|
||||||
};
|
),
|
||||||
}
|
text: context.innerHtml,
|
||||||
return {};
|
);
|
||||||
},
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class ImageExtension extends HtmlExtension {
|
||||||
|
final double defaultDimension;
|
||||||
|
|
||||||
|
const ImageExtension({this.defaultDimension = 64});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Set<String> get supportedTags => {'img'};
|
||||||
|
|
||||||
|
@override
|
||||||
|
InlineSpan build(ExtensionContext context) {
|
||||||
|
final mxcUrl = Uri.tryParse(context.attributes['src'] ?? '');
|
||||||
|
if (mxcUrl == null || mxcUrl.scheme != 'mxc') {
|
||||||
|
return TextSpan(text: context.attributes['alt']);
|
||||||
|
}
|
||||||
|
|
||||||
|
final width = double.tryParse(context.attributes['width'] ?? '');
|
||||||
|
final height = double.tryParse(context.attributes['height'] ?? '');
|
||||||
|
|
||||||
|
return WidgetSpan(
|
||||||
|
child: SizedBox(
|
||||||
|
width: width ?? height ?? defaultDimension,
|
||||||
|
height: height ?? width ?? defaultDimension,
|
||||||
|
child: MxcImage(
|
||||||
|
uri: mxcUrl,
|
||||||
|
width: width ?? height ?? defaultDimension,
|
||||||
|
height: height ?? width ?? defaultDimension,
|
||||||
|
cacheKey: mxcUrl.toString(),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class SpoilerExtension extends HtmlExtension {
|
||||||
|
final Color textColor;
|
||||||
|
|
||||||
|
const SpoilerExtension({required this.textColor});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Set<String> get supportedTags => {'span'};
|
||||||
|
|
||||||
|
static const String customDataAttribute = 'data-mx-spoiler';
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool matches(ExtensionContext context) {
|
||||||
|
if (context.elementName != 'span') return false;
|
||||||
|
return context.element?.attributes.containsKey(customDataAttribute) ??
|
||||||
|
false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
InlineSpan build(ExtensionContext context) {
|
||||||
|
var obscure = true;
|
||||||
|
final children = context.inlineSpanChildren;
|
||||||
|
return WidgetSpan(
|
||||||
|
child: StatefulBuilder(
|
||||||
|
builder: (context, setState) {
|
||||||
|
return InkWell(
|
||||||
|
onTap: () => setState(() {
|
||||||
|
obscure = !obscure;
|
||||||
|
}),
|
||||||
|
child: RichText(
|
||||||
|
text: TextSpan(
|
||||||
|
style: obscure ? TextStyle(backgroundColor: textColor) : null,
|
||||||
|
children: children,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class MatrixMathExtension extends HtmlExtension {
|
||||||
|
final TextStyle? style;
|
||||||
|
|
||||||
|
MatrixMathExtension({this.style});
|
||||||
|
@override
|
||||||
|
Set<String> get supportedTags => {'div'};
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool matches(ExtensionContext context) {
|
||||||
|
if (context.elementName != 'div') return false;
|
||||||
|
final mathData = context.element?.attributes['data-mx-maths'];
|
||||||
|
return mathData != null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
InlineSpan build(ExtensionContext context) {
|
||||||
|
final data = context.element?.attributes['data-mx-maths'] ?? '';
|
||||||
|
return WidgetSpan(
|
||||||
|
child: Math.tex(
|
||||||
|
data,
|
||||||
|
textStyle: style,
|
||||||
|
onErrorFallback: (e) {
|
||||||
|
Logs().d('Flutter math parse error', e);
|
||||||
|
return Text(
|
||||||
|
data,
|
||||||
|
style: style,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class CodeExtension extends HtmlExtension {
|
||||||
|
final double fontSize;
|
||||||
|
|
||||||
|
CodeExtension({required this.fontSize});
|
||||||
|
@override
|
||||||
|
Set<String> get supportedTags => {'code'};
|
||||||
|
|
||||||
|
@override
|
||||||
|
InlineSpan build(ExtensionContext context) => WidgetSpan(
|
||||||
|
child: Material(
|
||||||
|
clipBehavior: Clip.hardEdge,
|
||||||
|
borderRadius: BorderRadius.circular(4),
|
||||||
|
child: SingleChildScrollView(
|
||||||
|
scrollDirection: Axis.horizontal,
|
||||||
|
child: HighlightView(
|
||||||
|
context.element?.text ?? '',
|
||||||
|
language: context.element?.className
|
||||||
|
.split(' ')
|
||||||
|
.singleWhereOrNull(
|
||||||
|
(className) => className.startsWith('language-'),
|
||||||
|
)
|
||||||
|
?.split('language-')
|
||||||
|
.last ??
|
||||||
|
'md',
|
||||||
|
theme: shadesOfPurpleTheme,
|
||||||
|
padding: EdgeInsets.symmetric(
|
||||||
|
horizontal: 6,
|
||||||
|
vertical: context.element?.parent?.localName == 'pre' ? 6 : 0,
|
||||||
|
),
|
||||||
|
textStyle: TextStyle(fontSize: fontSize),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
class RoomPillExtension extends HtmlExtension {
|
||||||
|
final Room room;
|
||||||
|
final BuildContext context;
|
||||||
|
|
||||||
|
RoomPillExtension(this.context, this.room);
|
||||||
|
@override
|
||||||
|
Set<String> get supportedTags => {'a'};
|
||||||
|
|
||||||
|
@override
|
||||||
|
bool matches(ExtensionContext context) {
|
||||||
|
if (context.elementName != 'a') return false;
|
||||||
|
final userId = context.element?.attributes['href']
|
||||||
|
?.parseIdentifierIntoParts()
|
||||||
|
?.primaryIdentifier;
|
||||||
|
return userId != null;
|
||||||
|
}
|
||||||
|
|
||||||
|
static final _cachedUsers = <String, User?>{};
|
||||||
|
|
||||||
|
Future<User?> _fetchUser(String matrixId) async =>
|
||||||
|
_cachedUsers[room.id + matrixId] ??= await room.requestUser(matrixId);
|
||||||
|
|
||||||
|
@override
|
||||||
|
InlineSpan build(ExtensionContext context) {
|
||||||
|
final href = context.element?.attributes['href'];
|
||||||
|
final matrixId = href?.parseIdentifierIntoParts()?.primaryIdentifier;
|
||||||
|
if (href == null || matrixId == null) {
|
||||||
|
return TextSpan(text: context.innerHtml);
|
||||||
|
}
|
||||||
|
if (matrixId.sigil == '@') {
|
||||||
|
return WidgetSpan(
|
||||||
|
child: FutureBuilder<User?>(
|
||||||
|
future: _fetchUser(matrixId),
|
||||||
|
builder: (context, snapshot) => MatrixPill(
|
||||||
|
key: Key('user_pill_$matrixId'),
|
||||||
|
name: _cachedUsers[room.id + matrixId]?.calcDisplayname() ??
|
||||||
|
matrixId.localpart ??
|
||||||
|
matrixId,
|
||||||
|
avatar: _cachedUsers[room.id + matrixId]?.avatarUrl,
|
||||||
|
uri: href,
|
||||||
|
outerContext: this.context,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (matrixId.sigil == '#' || matrixId.sigil == '!') {
|
||||||
|
final room = matrixId.sigil == '!'
|
||||||
|
? this.room.client.getRoomById(matrixId)
|
||||||
|
: this.room.client.getRoomByAlias(matrixId);
|
||||||
|
if (room != null) {
|
||||||
|
return WidgetSpan(
|
||||||
|
child: MatrixPill(
|
||||||
|
name: room.getLocalizedDisplayname(),
|
||||||
|
avatar: room.avatar,
|
||||||
|
uri: href,
|
||||||
|
outerContext: this.context,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return TextSpan(text: context.innerHtml);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class MatrixPill extends StatelessWidget {
|
||||||
|
final String name;
|
||||||
|
final BuildContext outerContext;
|
||||||
|
final Uri? avatar;
|
||||||
|
final String uri;
|
||||||
|
|
||||||
|
const MatrixPill({
|
||||||
|
super.key,
|
||||||
|
required this.name,
|
||||||
|
required this.outerContext,
|
||||||
|
this.avatar,
|
||||||
|
required this.uri,
|
||||||
|
});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return InkWell(
|
||||||
|
onTap: UrlLauncher(outerContext, uri).launchUrl,
|
||||||
|
child: Material(
|
||||||
|
shape: RoundedRectangleBorder(
|
||||||
|
borderRadius: BorderRadius.circular(AppConfig.borderRadius),
|
||||||
|
side: BorderSide(
|
||||||
|
color: Theme.of(outerContext).colorScheme.onPrimaryContainer,
|
||||||
|
width: 0.5,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
color: Theme.of(outerContext).colorScheme.primaryContainer,
|
||||||
|
child: Padding(
|
||||||
|
padding: const EdgeInsets.symmetric(horizontal: 6.0),
|
||||||
|
child: Row(
|
||||||
|
mainAxisSize: MainAxisSize.min,
|
||||||
|
children: [
|
||||||
|
Avatar(
|
||||||
|
mxContent: avatar,
|
||||||
|
name: name,
|
||||||
|
size: 16,
|
||||||
|
),
|
||||||
|
const SizedBox(width: 6),
|
||||||
|
Text(
|
||||||
|
name,
|
||||||
|
style: TextStyle(
|
||||||
|
color: Theme.of(outerContext).colorScheme.onPrimaryContainer,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
import 'package:matrix/matrix.dart';
|
import 'package:matrix/matrix.dart';
|
||||||
import 'package:swipe_to_action/swipe_to_action.dart';
|
import 'package:swipe_to_action/swipe_to_action.dart';
|
||||||
|
|
||||||
@ -18,6 +19,7 @@ import 'verification_request_content.dart';
|
|||||||
class Message extends StatelessWidget {
|
class Message extends StatelessWidget {
|
||||||
final Event event;
|
final Event event;
|
||||||
final Event? nextEvent;
|
final Event? nextEvent;
|
||||||
|
final bool displayReadMarker;
|
||||||
final void Function(Event)? onSelect;
|
final void Function(Event)? onSelect;
|
||||||
final void Function(Event)? onAvatarTab;
|
final void Function(Event)? onAvatarTab;
|
||||||
final void Function(Event)? onInfoTab;
|
final void Function(Event)? onInfoTab;
|
||||||
@ -30,6 +32,7 @@ class Message extends StatelessWidget {
|
|||||||
const Message(
|
const Message(
|
||||||
this.event, {
|
this.event, {
|
||||||
this.nextEvent,
|
this.nextEvent,
|
||||||
|
this.displayReadMarker = false,
|
||||||
this.longPressSelect = false,
|
this.longPressSelect = false,
|
||||||
this.onSelect,
|
this.onSelect,
|
||||||
this.onInfoTab,
|
this.onInfoTab,
|
||||||
@ -54,7 +57,7 @@ class Message extends StatelessWidget {
|
|||||||
EventTypes.CallInvite
|
EventTypes.CallInvite
|
||||||
}.contains(event.type)) {
|
}.contains(event.type)) {
|
||||||
if (event.type.startsWith('m.call.')) {
|
if (event.type.startsWith('m.call.')) {
|
||||||
return Container();
|
return const SizedBox.shrink();
|
||||||
}
|
}
|
||||||
return StateMessage(event);
|
return StateMessage(event);
|
||||||
}
|
}
|
||||||
@ -303,7 +306,8 @@ class Message extends StatelessWidget {
|
|||||||
Widget container;
|
Widget container;
|
||||||
if (event.hasAggregatedEvents(timeline, RelationshipTypes.reaction) ||
|
if (event.hasAggregatedEvents(timeline, RelationshipTypes.reaction) ||
|
||||||
displayTime ||
|
displayTime ||
|
||||||
selected) {
|
selected ||
|
||||||
|
displayReadMarker) {
|
||||||
container = Column(
|
container = Column(
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
crossAxisAlignment:
|
crossAxisAlignment:
|
||||||
@ -347,6 +351,35 @@ class Message extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
child: MessageReactions(event, timeline),
|
child: MessageReactions(event, timeline),
|
||||||
),
|
),
|
||||||
|
if (displayReadMarker)
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
Expanded(
|
||||||
|
child: Divider(color: Theme.of(context).colorScheme.primary),
|
||||||
|
),
|
||||||
|
Container(
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
border: Border.all(
|
||||||
|
color: Theme.of(context).colorScheme.primary,
|
||||||
|
),
|
||||||
|
color: Theme.of(context).colorScheme.primaryContainer,
|
||||||
|
borderRadius: BorderRadius.circular(4),
|
||||||
|
),
|
||||||
|
margin: const EdgeInsets.all(8.0),
|
||||||
|
padding: const EdgeInsets.symmetric(
|
||||||
|
horizontal: 8,
|
||||||
|
),
|
||||||
|
child: Text(
|
||||||
|
L10n.of(context)!.readUpToHere,
|
||||||
|
style:
|
||||||
|
TextStyle(color: Theme.of(context).colorScheme.primary),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Expanded(
|
||||||
|
child: Divider(color: Theme.of(context).colorScheme.primary),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
|
import 'package:flutter_linkify/flutter_linkify.dart';
|
||||||
import 'package:matrix/matrix.dart';
|
import 'package:matrix/matrix.dart';
|
||||||
import 'package:matrix_link_text/link_text.dart';
|
|
||||||
|
|
||||||
import 'package:fluffychat/pages/chat/events/video_player.dart';
|
import 'package:fluffychat/pages/chat/events/video_player.dart';
|
||||||
import 'package:fluffychat/utils/adaptive_bottom_sheet.dart';
|
import 'package:fluffychat/utils/adaptive_bottom_sheet.dart';
|
||||||
@ -150,23 +150,10 @@ class MessageContent extends StatelessWidget {
|
|||||||
if (event.messageType == MessageTypes.Emote) {
|
if (event.messageType == MessageTypes.Emote) {
|
||||||
html = '* $html';
|
html = '* $html';
|
||||||
}
|
}
|
||||||
final bigEmotes = event.onlyEmotes &&
|
|
||||||
event.numberEmotes > 0 &&
|
|
||||||
event.numberEmotes <= 10;
|
|
||||||
return HtmlMessage(
|
return HtmlMessage(
|
||||||
html: html,
|
html: html,
|
||||||
defaultTextStyle: TextStyle(
|
textColor: textColor,
|
||||||
color: textColor,
|
|
||||||
fontSize: bigEmotes ? fontSize * 3 : fontSize,
|
|
||||||
),
|
|
||||||
linkStyle: TextStyle(
|
|
||||||
color: textColor.withAlpha(150),
|
|
||||||
fontSize: bigEmotes ? fontSize * 3 : fontSize,
|
|
||||||
decoration: TextDecoration.underline,
|
|
||||||
decorationColor: textColor.withAlpha(150),
|
|
||||||
),
|
|
||||||
room: event.room,
|
room: event.room,
|
||||||
emoteSize: bigEmotes ? fontSize * 3 : fontSize * 1.5,
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
// else we fall through to the normal message rendering
|
// else we fall through to the normal message rendering
|
||||||
@ -242,25 +229,26 @@ class MessageContent extends StatelessWidget {
|
|||||||
hideReply: true,
|
hideReply: true,
|
||||||
),
|
),
|
||||||
builder: (context, snapshot) {
|
builder: (context, snapshot) {
|
||||||
return LinkText(
|
return Linkify(
|
||||||
text: snapshot.data ??
|
text: snapshot.data ??
|
||||||
event.calcLocalizedBodyFallback(
|
event.calcLocalizedBodyFallback(
|
||||||
MatrixLocals(L10n.of(context)!),
|
MatrixLocals(L10n.of(context)!),
|
||||||
hideReply: true,
|
hideReply: true,
|
||||||
),
|
),
|
||||||
textStyle: TextStyle(
|
style: TextStyle(
|
||||||
color: textColor,
|
color: textColor,
|
||||||
fontSize: bigEmotes ? fontSize * 3 : fontSize,
|
fontSize: bigEmotes ? fontSize * 3 : fontSize,
|
||||||
decoration:
|
decoration:
|
||||||
event.redacted ? TextDecoration.lineThrough : null,
|
event.redacted ? TextDecoration.lineThrough : null,
|
||||||
),
|
),
|
||||||
|
options: const LinkifyOptions(humanize: false),
|
||||||
linkStyle: TextStyle(
|
linkStyle: TextStyle(
|
||||||
color: textColor.withAlpha(150),
|
color: textColor.withAlpha(150),
|
||||||
fontSize: bigEmotes ? fontSize * 3 : fontSize,
|
fontSize: bigEmotes ? fontSize * 3 : fontSize,
|
||||||
decoration: TextDecoration.underline,
|
decoration: TextDecoration.underline,
|
||||||
decorationColor: textColor.withAlpha(150),
|
decorationColor: textColor.withAlpha(150),
|
||||||
),
|
),
|
||||||
onLinkTap: (url) => UrlLauncher(context, url).launchUrl(),
|
onOpen: (url) => UrlLauncher(context, url.url).launchUrl(),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|||||||
@ -37,14 +37,17 @@ class MessageDownloadContent extends StatelessWidget {
|
|||||||
color: textColor,
|
color: textColor,
|
||||||
),
|
),
|
||||||
const SizedBox(width: 16),
|
const SizedBox(width: 16),
|
||||||
Text(
|
Flexible(
|
||||||
|
child: Text(
|
||||||
filename,
|
filename,
|
||||||
maxLines: 1,
|
maxLines: 1,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: textColor,
|
color: textColor,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
),
|
),
|
||||||
|
overflow: TextOverflow.ellipsis,
|
||||||
),
|
),
|
||||||
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@ -61,7 +61,7 @@ class MessageReactions extends StatelessWidget {
|
|||||||
final evt = allReactionEvents.firstWhereOrNull(
|
final evt = allReactionEvents.firstWhereOrNull(
|
||||||
(e) =>
|
(e) =>
|
||||||
e.senderId == e.room.client.userID &&
|
e.senderId == e.room.client.userID &&
|
||||||
e.content['m.relates_to']['key'] == r.key,
|
e.content.tryGetMap('m.relates_to')?['key'] == r.key,
|
||||||
);
|
);
|
||||||
if (evt != null) {
|
if (evt != null) {
|
||||||
showFutureLoadingDialog(
|
showFutureLoadingDialog(
|
||||||
|
|||||||
@ -5,7 +5,6 @@ import 'package:matrix/matrix.dart';
|
|||||||
|
|
||||||
import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_locals.dart';
|
import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_locals.dart';
|
||||||
import '../../../config/app_config.dart';
|
import '../../../config/app_config.dart';
|
||||||
import 'html_message.dart';
|
|
||||||
|
|
||||||
class ReplyContent extends StatelessWidget {
|
class ReplyContent extends StatelessWidget {
|
||||||
final Event replyEvent;
|
final Event replyEvent;
|
||||||
@ -26,31 +25,7 @@ class ReplyContent extends StatelessWidget {
|
|||||||
final displayEvent =
|
final displayEvent =
|
||||||
timeline != null ? replyEvent.getDisplayEvent(timeline) : replyEvent;
|
timeline != null ? replyEvent.getDisplayEvent(timeline) : replyEvent;
|
||||||
final fontSize = AppConfig.messageFontSize * AppConfig.fontSizeFactor;
|
final fontSize = AppConfig.messageFontSize * AppConfig.fontSizeFactor;
|
||||||
if (AppConfig.renderHtml &&
|
|
||||||
[EventTypes.Message, EventTypes.Encrypted]
|
|
||||||
.contains(displayEvent.type) &&
|
|
||||||
[MessageTypes.Text, MessageTypes.Notice, MessageTypes.Emote]
|
|
||||||
.contains(displayEvent.messageType) &&
|
|
||||||
!displayEvent.redacted &&
|
|
||||||
displayEvent.content['format'] == 'org.matrix.custom.html' &&
|
|
||||||
displayEvent.content['formatted_body'] is String) {
|
|
||||||
String? html = displayEvent.content['formatted_body'];
|
|
||||||
if (displayEvent.messageType == MessageTypes.Emote) {
|
|
||||||
html = '* $html';
|
|
||||||
}
|
|
||||||
replyBody = HtmlMessage(
|
|
||||||
html: html!,
|
|
||||||
defaultTextStyle: TextStyle(
|
|
||||||
color: ownMessage
|
|
||||||
? Theme.of(context).colorScheme.onPrimary
|
|
||||||
: Theme.of(context).colorScheme.onBackground,
|
|
||||||
fontSize: fontSize,
|
|
||||||
),
|
|
||||||
maxLines: 1,
|
|
||||||
room: displayEvent.room,
|
|
||||||
emoteSize: fontSize * 1.5,
|
|
||||||
);
|
|
||||||
} else {
|
|
||||||
replyBody = Text(
|
replyBody = Text(
|
||||||
displayEvent.calcLocalizedBodyFallback(
|
displayEvent.calcLocalizedBodyFallback(
|
||||||
MatrixLocals(L10n.of(context)!),
|
MatrixLocals(L10n.of(context)!),
|
||||||
@ -66,7 +41,7 @@ class ReplyContent extends StatelessWidget {
|
|||||||
fontSize: fontSize,
|
fontSize: fontSize,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
|
||||||
return Row(
|
return Row(
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
|
|||||||
@ -14,6 +14,7 @@ import 'package:video_player/video_player.dart';
|
|||||||
import 'package:fluffychat/pages/chat/events/image_bubble.dart';
|
import 'package:fluffychat/pages/chat/events/image_bubble.dart';
|
||||||
import 'package:fluffychat/utils/localized_exception_extension.dart';
|
import 'package:fluffychat/utils/localized_exception_extension.dart';
|
||||||
import 'package:fluffychat/utils/matrix_sdk_extensions/event_extension.dart';
|
import 'package:fluffychat/utils/matrix_sdk_extensions/event_extension.dart';
|
||||||
|
import '../../../utils/error_reporter.dart';
|
||||||
|
|
||||||
class EventVideoPlayer extends StatefulWidget {
|
class EventVideoPlayer extends StatefulWidget {
|
||||||
final Event event;
|
final Event event;
|
||||||
@ -51,7 +52,8 @@ class EventVideoPlayerState extends State<EventVideoPlayer> {
|
|||||||
final networkUri = _networkUri;
|
final networkUri = _networkUri;
|
||||||
if (kIsWeb && networkUri != null && _chewieManager == null) {
|
if (kIsWeb && networkUri != null && _chewieManager == null) {
|
||||||
_chewieManager ??= ChewieController(
|
_chewieManager ??= ChewieController(
|
||||||
videoPlayerController: VideoPlayerController.network(networkUri),
|
videoPlayerController:
|
||||||
|
VideoPlayerController.networkUrl(Uri.parse(networkUri)),
|
||||||
autoPlay: true,
|
autoPlay: true,
|
||||||
autoInitialize: true,
|
autoInitialize: true,
|
||||||
);
|
);
|
||||||
@ -69,12 +71,7 @@ class EventVideoPlayerState extends State<EventVideoPlayer> {
|
|||||||
),
|
),
|
||||||
);
|
);
|
||||||
} catch (e, s) {
|
} catch (e, s) {
|
||||||
ScaffoldMessenger.of(context).showSnackBar(
|
ErrorReporter(context, 'Unable to play video').onErrorCallback(e, s);
|
||||||
SnackBar(
|
|
||||||
content: Text(e.toLocalizedString(context)),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
Logs().w('Error while playing video', e, s);
|
|
||||||
} finally {
|
} finally {
|
||||||
// Workaround for Chewie needs time to get the aspectRatio
|
// Workaround for Chewie needs time to get the aspectRatio
|
||||||
await Future.delayed(const Duration(milliseconds: 100));
|
await Future.delayed(const Duration(milliseconds: 100));
|
||||||
|
|||||||
@ -183,12 +183,13 @@ class InputBar extends StatelessWidget {
|
|||||||
final state = r.getState(EventTypes.RoomCanonicalAlias);
|
final state = r.getState(EventTypes.RoomCanonicalAlias);
|
||||||
if ((state != null &&
|
if ((state != null &&
|
||||||
((state.content['alias'] is String &&
|
((state.content['alias'] is String &&
|
||||||
state.content['alias']
|
state.content
|
||||||
|
.tryGet<String>('alias')!
|
||||||
.split(':')[0]
|
.split(':')[0]
|
||||||
.toLowerCase()
|
.toLowerCase()
|
||||||
.contains(roomSearch)) ||
|
.contains(roomSearch)) ||
|
||||||
(state.content['alt_aliases'] is List &&
|
(state.content['alt_aliases'] is List &&
|
||||||
state.content['alt_aliases'].any(
|
(state.content['alt_aliases'] as List).any(
|
||||||
(l) =>
|
(l) =>
|
||||||
l is String &&
|
l is String &&
|
||||||
l
|
l
|
||||||
@ -263,6 +264,8 @@ class InputBar extends StatelessWidget {
|
|||||||
crossAxisAlignment: CrossAxisAlignment.center,
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
MxcImage(
|
MxcImage(
|
||||||
|
// ensure proper ordering ...
|
||||||
|
key: ValueKey(suggestion['name']),
|
||||||
uri: suggestion['mxc'] is String
|
uri: suggestion['mxc'] is String
|
||||||
? Uri.parse(suggestion['mxc'] ?? '')
|
? Uri.parse(suggestion['mxc'] ?? '')
|
||||||
: null,
|
: null,
|
||||||
@ -313,7 +316,7 @@ class InputBar extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
return Container();
|
return const SizedBox.shrink();
|
||||||
}
|
}
|
||||||
|
|
||||||
void insertSuggestion(_, Map<String, String?> suggestion) {
|
void insertSuggestion(_, Map<String, String?> suggestion) {
|
||||||
@ -458,11 +461,12 @@ class InputBar extends StatelessWidget {
|
|||||||
buildSuggestion(c, s, Matrix.of(context).client),
|
buildSuggestion(c, s, Matrix.of(context).client),
|
||||||
onSuggestionSelected: (Map<String, String?> suggestion) =>
|
onSuggestionSelected: (Map<String, String?> suggestion) =>
|
||||||
insertSuggestion(context, suggestion),
|
insertSuggestion(context, suggestion),
|
||||||
errorBuilder: (BuildContext context, Object? error) => Container(),
|
errorBuilder: (BuildContext context, Object? error) =>
|
||||||
loadingBuilder: (BuildContext context) => Container(),
|
const SizedBox.shrink(),
|
||||||
|
loadingBuilder: (BuildContext context) => const SizedBox.shrink(),
|
||||||
// fix loading briefly flickering a dark box
|
// fix loading briefly flickering a dark box
|
||||||
noItemsFoundBuilder: (BuildContext context) =>
|
noItemsFoundBuilder: (BuildContext context) => const SizedBox
|
||||||
Container(), // fix loading briefly showing no suggestions
|
.shrink(), // fix loading briefly showing no suggestions
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|||||||
@ -4,8 +4,8 @@ import 'package:flutter/material.dart';
|
|||||||
|
|
||||||
import 'package:adaptive_dialog/adaptive_dialog.dart';
|
import 'package:adaptive_dialog/adaptive_dialog.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
|
import 'package:flutter_linkify/flutter_linkify.dart';
|
||||||
import 'package:matrix/matrix.dart';
|
import 'package:matrix/matrix.dart';
|
||||||
import 'package:matrix_link_text/link_text.dart';
|
|
||||||
|
|
||||||
import 'package:fluffychat/config/app_config.dart';
|
import 'package:fluffychat/config/app_config.dart';
|
||||||
import 'package:fluffychat/pages/chat/chat.dart';
|
import 'package:fluffychat/pages/chat/chat.dart';
|
||||||
@ -46,14 +46,14 @@ class PinnedEvents extends StatelessWidget {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final pinnedEventIds = controller.room!.pinnedEventIds;
|
final pinnedEventIds = controller.room.pinnedEventIds;
|
||||||
|
|
||||||
if (pinnedEventIds.isEmpty) {
|
if (pinnedEventIds.isEmpty) {
|
||||||
return Container();
|
return const SizedBox.shrink();
|
||||||
}
|
}
|
||||||
final completers = pinnedEventIds.map<Completer<Event?>>((e) {
|
final completers = pinnedEventIds.map<Completer<Event?>>((e) {
|
||||||
final completer = Completer<Event?>();
|
final completer = Completer<Event?>();
|
||||||
controller.room!
|
controller.room
|
||||||
.getEventById(e)
|
.getEventById(e)
|
||||||
.then((value) => completer.complete(value));
|
.then((value) => completer.complete(value));
|
||||||
return completer;
|
return completer;
|
||||||
@ -86,9 +86,8 @@ class PinnedEvents extends StatelessWidget {
|
|||||||
color: Theme.of(context).colorScheme.onSurfaceVariant,
|
color: Theme.of(context).colorScheme.onSurfaceVariant,
|
||||||
icon: const Icon(Icons.push_pin),
|
icon: const Icon(Icons.push_pin),
|
||||||
tooltip: L10n.of(context)!.unpin,
|
tooltip: L10n.of(context)!.unpin,
|
||||||
onPressed: controller.room
|
onPressed:
|
||||||
?.canSendEvent(EventTypes.RoomPinnedEvents) ??
|
controller.room.canSendEvent(EventTypes.RoomPinnedEvents)
|
||||||
false
|
|
||||||
? () => controller.unpinEvent(event.eventId)
|
? () => controller.unpinEvent(event.eventId)
|
||||||
: null,
|
: null,
|
||||||
),
|
),
|
||||||
@ -102,15 +101,16 @@ class PinnedEvents extends StatelessWidget {
|
|||||||
hideReply: true,
|
hideReply: true,
|
||||||
),
|
),
|
||||||
builder: (context, snapshot) {
|
builder: (context, snapshot) {
|
||||||
return LinkText(
|
return Linkify(
|
||||||
text: snapshot.data ??
|
text: snapshot.data ??
|
||||||
event.calcLocalizedBodyFallback(
|
event.calcLocalizedBodyFallback(
|
||||||
MatrixLocals(L10n.of(context)!),
|
MatrixLocals(L10n.of(context)!),
|
||||||
withSenderNamePrefix: true,
|
withSenderNamePrefix: true,
|
||||||
hideReply: true,
|
hideReply: true,
|
||||||
),
|
),
|
||||||
|
options: const LinkifyOptions(humanize: false),
|
||||||
maxLines: 2,
|
maxLines: 2,
|
||||||
textStyle: TextStyle(
|
style: TextStyle(
|
||||||
color:
|
color:
|
||||||
Theme.of(context).colorScheme.onSurfaceVariant,
|
Theme.of(context).colorScheme.onSurfaceVariant,
|
||||||
overflow: TextOverflow.ellipsis,
|
overflow: TextOverflow.ellipsis,
|
||||||
@ -127,8 +127,8 @@ class PinnedEvents extends StatelessWidget {
|
|||||||
decorationColor:
|
decorationColor:
|
||||||
Theme.of(context).colorScheme.onSurfaceVariant,
|
Theme.of(context).colorScheme.onSurfaceVariant,
|
||||||
),
|
),
|
||||||
onLinkTap: (url) =>
|
onOpen: (url) =>
|
||||||
UrlLauncher(context, url).launchUrl(),
|
UrlLauncher(context, url.url).launchUrl(),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
|||||||
@ -15,10 +15,10 @@ class ReactionsPicker extends StatelessWidget {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
if (controller.showEmojiPicker) return Container();
|
if (controller.showEmojiPicker) return const SizedBox.shrink();
|
||||||
final display = controller.editEvent == null &&
|
final display = controller.editEvent == null &&
|
||||||
controller.replyEvent == null &&
|
controller.replyEvent == null &&
|
||||||
controller.room!.canSendDefaultMessages &&
|
controller.room.canSendDefaultMessages &&
|
||||||
controller.selectedEvents.isNotEmpty;
|
controller.selectedEvents.isNotEmpty;
|
||||||
return AnimatedContainer(
|
return AnimatedContainer(
|
||||||
duration: FluffyThemes.animationDuration,
|
duration: FluffyThemes.animationDuration,
|
||||||
@ -29,7 +29,7 @@ class ReactionsPicker extends StatelessWidget {
|
|||||||
child: Builder(
|
child: Builder(
|
||||||
builder: (context) {
|
builder: (context) {
|
||||||
if (!display) {
|
if (!display) {
|
||||||
return Container();
|
return const SizedBox.shrink();
|
||||||
}
|
}
|
||||||
final proposals = proposeEmojis(
|
final proposals = proposeEmojis(
|
||||||
controller.selectedEvents.first.plaintextBody,
|
controller.selectedEvents.first.plaintextBody,
|
||||||
@ -52,7 +52,7 @@ class ReactionsPicker extends StatelessWidget {
|
|||||||
|
|
||||||
for (final event in allReactionEvents) {
|
for (final event in allReactionEvents) {
|
||||||
try {
|
try {
|
||||||
emojis.remove(event.content['m.relates_to']['key']);
|
emojis.remove(event.content.tryGetMap('m.relates_to')!['key']);
|
||||||
} catch (_) {}
|
} catch (_) {}
|
||||||
}
|
}
|
||||||
return Row(
|
return Row(
|
||||||
|
|||||||
@ -58,7 +58,7 @@ class _EditContent extends StatelessWidget {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final event = this.event;
|
final event = this.event;
|
||||||
if (event == null) {
|
if (event == null) {
|
||||||
return Container();
|
return const SizedBox.shrink();
|
||||||
}
|
}
|
||||||
return Row(
|
return Row(
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
|
|||||||
@ -12,7 +12,7 @@ class SeenByRow extends StatelessWidget {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final seenByUsers = controller.room!.getSeenByUsers(controller.timeline!);
|
final seenByUsers = controller.room.getSeenByUsers(controller.timeline!);
|
||||||
const maxAvatars = 7;
|
const maxAvatars = 7;
|
||||||
return Container(
|
return Container(
|
||||||
width: double.infinity,
|
width: double.infinity,
|
||||||
|
|||||||
@ -39,7 +39,7 @@ class StickerPickerDialogState extends State<StickerPickerDialog> {
|
|||||||
final imageKeys =
|
final imageKeys =
|
||||||
filteredImagePackImageEntried.map((e) => e.key).toList();
|
filteredImagePackImageEntried.map((e) => e.key).toList();
|
||||||
if (imageKeys.isEmpty) {
|
if (imageKeys.isEmpty) {
|
||||||
return Container();
|
return const SizedBox.shrink();
|
||||||
}
|
}
|
||||||
final packName = pack.pack.displayName ?? packSlugs[packIndex];
|
final packName = pack.pack.displayName ?? packSlugs[packIndex];
|
||||||
return Column(
|
return Column(
|
||||||
|
|||||||
@ -11,8 +11,8 @@ class TombstoneDisplay extends StatelessWidget {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
if (controller.room!.getState(EventTypes.RoomTombstone) == null) {
|
if (controller.room.getState(EventTypes.RoomTombstone) == null) {
|
||||||
return Container();
|
return const SizedBox.shrink();
|
||||||
}
|
}
|
||||||
return SizedBox(
|
return SizedBox(
|
||||||
height: 72,
|
height: 72,
|
||||||
@ -26,7 +26,7 @@ class TombstoneDisplay extends StatelessWidget {
|
|||||||
child: const Icon(Icons.upgrade_outlined),
|
child: const Icon(Icons.upgrade_outlined),
|
||||||
),
|
),
|
||||||
title: Text(
|
title: Text(
|
||||||
controller.room!
|
controller.room
|
||||||
.getState(EventTypes.RoomTombstone)!
|
.getState(EventTypes.RoomTombstone)!
|
||||||
.parsedTombstoneContent
|
.parsedTombstoneContent
|
||||||
.body,
|
.body,
|
||||||
|
|||||||
@ -12,7 +12,7 @@ class TypingIndicators extends StatelessWidget {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final typingUsers = controller.room!.typingUsers
|
final typingUsers = controller.room.typingUsers
|
||||||
..removeWhere((u) => u.stateKey == Matrix.of(context).client.userID);
|
..removeWhere((u) => u.stateKey == Matrix.of(context).client.userID);
|
||||||
const topPadding = 20.0;
|
const topPadding = 20.0;
|
||||||
const bottomPadding = 4.0;
|
const bottomPadding = 4.0;
|
||||||
|
|||||||
@ -2,7 +2,8 @@ import 'package:flutter/material.dart';
|
|||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
|
|
||||||
import 'package:adaptive_dialog/adaptive_dialog.dart';
|
import 'package:adaptive_dialog/adaptive_dialog.dart';
|
||||||
import 'package:file_picker_cross/file_picker_cross.dart';
|
import 'package:collection/collection.dart';
|
||||||
|
import 'package:file_picker/file_picker.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
import 'package:future_loading_dialog/future_loading_dialog.dart';
|
import 'package:future_loading_dialog/future_loading_dialog.dart';
|
||||||
import 'package:image_picker/image_picker.dart';
|
import 'package:image_picker/image_picker.dart';
|
||||||
@ -82,7 +83,9 @@ class ChatDetailsController extends State<ChatDetails> {
|
|||||||
RequestType.GET,
|
RequestType.GET,
|
||||||
'/client/unstable/org.matrix.msc2432/rooms/${Uri.encodeComponent(room.id)}/aliases',
|
'/client/unstable/org.matrix.msc2432/rooms/${Uri.encodeComponent(room.id)}/aliases',
|
||||||
)
|
)
|
||||||
.then((response) => List<String>.from(response['aliases'])),
|
.then(
|
||||||
|
(response) => List<String>.from(response['aliases'] as Iterable),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
// Switch to the stable api once it is implemented.
|
// Switch to the stable api once it is implemented.
|
||||||
|
|
||||||
@ -312,12 +315,15 @@ class ChatDetailsController extends State<ChatDetails> {
|
|||||||
name: result.path,
|
name: result.path,
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
final result =
|
final picked = await FilePicker.platform.pickFiles(
|
||||||
await FilePickerCross.importFromStorage(type: FileTypeCross.image);
|
type: FileType.image,
|
||||||
if (result.fileName == null) return;
|
withData: true,
|
||||||
|
);
|
||||||
|
final pickedFile = picked?.files.firstOrNull;
|
||||||
|
if (pickedFile == null) return;
|
||||||
file = MatrixFile(
|
file = MatrixFile(
|
||||||
bytes: result.toUint8List(),
|
bytes: pickedFile.bytes!,
|
||||||
name: result.fileName!,
|
name: pickedFile.name,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
await showFutureLoadingDialog(
|
await showFutureLoadingDialog(
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
|
import 'package:flutter_linkify/flutter_linkify.dart';
|
||||||
import 'package:matrix/matrix.dart';
|
import 'package:matrix/matrix.dart';
|
||||||
import 'package:matrix_link_text/link_text.dart';
|
|
||||||
import 'package:vrouter/vrouter.dart';
|
import 'package:vrouter/vrouter.dart';
|
||||||
|
|
||||||
import 'package:fluffychat/config/app_config.dart';
|
import 'package:fluffychat/config/app_config.dart';
|
||||||
@ -125,13 +125,14 @@ class ChatDetailsView extends StatelessWidget {
|
|||||||
padding: const EdgeInsets.symmetric(
|
padding: const EdgeInsets.symmetric(
|
||||||
horizontal: 16.0,
|
horizontal: 16.0,
|
||||||
),
|
),
|
||||||
child: LinkText(
|
child: Linkify(
|
||||||
text: room.topic.isEmpty
|
text: room.topic.isEmpty
|
||||||
? L10n.of(context)!.addGroupDescription
|
? L10n.of(context)!.addGroupDescription
|
||||||
: room.topic,
|
: room.topic,
|
||||||
|
options: const LinkifyOptions(humanize: false),
|
||||||
linkStyle:
|
linkStyle:
|
||||||
const TextStyle(color: Colors.blueAccent),
|
const TextStyle(color: Colors.blueAccent),
|
||||||
textStyle: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: 14,
|
fontSize: 14,
|
||||||
color: Theme.of(context)
|
color: Theme.of(context)
|
||||||
.textTheme
|
.textTheme
|
||||||
@ -142,8 +143,8 @@ class ChatDetailsView extends StatelessWidget {
|
|||||||
.bodyMedium!
|
.bodyMedium!
|
||||||
.color,
|
.color,
|
||||||
),
|
),
|
||||||
onLinkTap: (url) =>
|
onOpen: (url) =>
|
||||||
UrlLauncher(context, url).launchUrl(),
|
UrlLauncher(context, url.url).launchUrl(),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
const SizedBox(height: 8),
|
const SizedBox(height: 8),
|
||||||
@ -409,7 +410,7 @@ class ChatDetailsView extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
onTap: () => VRouter.of(context).to('invite'),
|
onTap: () => VRouter.of(context).to('invite'),
|
||||||
)
|
)
|
||||||
: Container(),
|
: const SizedBox.shrink(),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
: i < controller.members!.length + 1
|
: i < controller.members!.length + 1
|
||||||
|
|||||||
@ -62,7 +62,7 @@ class ParticipantListItem extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
membershipBatch[user.membership]!.isEmpty
|
membershipBatch[user.membership]!.isEmpty
|
||||||
? Container()
|
? const SizedBox.shrink()
|
||||||
: Container(
|
: Container(
|
||||||
padding: const EdgeInsets.all(4),
|
padding: const EdgeInsets.all(4),
|
||||||
margin: const EdgeInsets.symmetric(horizontal: 8),
|
margin: const EdgeInsets.symmetric(horizontal: 8),
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
import 'package:flutter_gen/gen_l10n/l10n.dart';
|
||||||
@ -29,7 +30,7 @@ class ChatEncryptionSettingsView extends StatelessWidget {
|
|||||||
onPressed: () =>
|
onPressed: () =>
|
||||||
VRouter.of(context).toSegments(['rooms', controller.roomId!]),
|
VRouter.of(context).toSegments(['rooms', controller.roomId!]),
|
||||||
),
|
),
|
||||||
title: Text(L10n.of(context)!.endToEndEncryption),
|
title: Text(L10n.of(context)!.encryption),
|
||||||
actions: [
|
actions: [
|
||||||
TextButton(
|
TextButton(
|
||||||
onPressed: () => launchUrlString(AppConfig.encryptionTutorial),
|
onPressed: () => launchUrlString(AppConfig.encryptionTutorial),
|
||||||
@ -50,13 +51,12 @@ class ChatEncryptionSettingsView extends StatelessWidget {
|
|||||||
value: room.encrypted,
|
value: room.encrypted,
|
||||||
onChanged: controller.enableEncryption,
|
onChanged: controller.enableEncryption,
|
||||||
),
|
),
|
||||||
Center(
|
Icon(
|
||||||
child: Image.asset(
|
CupertinoIcons.lock_shield,
|
||||||
'assets/encryption.png',
|
size: 128,
|
||||||
width: 212,
|
color: Theme.of(context).colorScheme.onInverseSurface,
|
||||||
),
|
),
|
||||||
),
|
const Divider(),
|
||||||
const Divider(height: 1),
|
|
||||||
if (room.isDirectChat)
|
if (room.isDirectChat)
|
||||||
Padding(
|
Padding(
|
||||||
padding: const EdgeInsets.all(16.0),
|
padding: const EdgeInsets.all(16.0),
|
||||||
|
|||||||
@ -93,10 +93,9 @@ class ChatListController extends State<ChatList>
|
|||||||
int get selectedIndex {
|
int get selectedIndex {
|
||||||
switch (activeFilter) {
|
switch (activeFilter) {
|
||||||
case ActiveFilter.allChats:
|
case ActiveFilter.allChats:
|
||||||
|
case ActiveFilter.messages:
|
||||||
return 0;
|
return 0;
|
||||||
case ActiveFilter.groups:
|
case ActiveFilter.groups:
|
||||||
return 0;
|
|
||||||
case ActiveFilter.messages:
|
|
||||||
return 1;
|
return 1;
|
||||||
case ActiveFilter.spaces:
|
case ActiveFilter.spaces:
|
||||||
return AppConfig.separateChatTypes ? 2 : 1;
|
return AppConfig.separateChatTypes ? 2 : 1;
|
||||||
@ -107,7 +106,7 @@ class ChatListController extends State<ChatList>
|
|||||||
switch (i) {
|
switch (i) {
|
||||||
case 1:
|
case 1:
|
||||||
if (AppConfig.separateChatTypes) {
|
if (AppConfig.separateChatTypes) {
|
||||||
return ActiveFilter.messages;
|
return ActiveFilter.groups;
|
||||||
}
|
}
|
||||||
return ActiveFilter.spaces;
|
return ActiveFilter.spaces;
|
||||||
case 2:
|
case 2:
|
||||||
@ -115,7 +114,7 @@ class ChatListController extends State<ChatList>
|
|||||||
case 0:
|
case 0:
|
||||||
default:
|
default:
|
||||||
if (AppConfig.separateChatTypes) {
|
if (AppConfig.separateChatTypes) {
|
||||||
return ActiveFilter.groups;
|
return ActiveFilter.messages;
|
||||||
}
|
}
|
||||||
return ActiveFilter.allChats;
|
return ActiveFilter.allChats;
|
||||||
}
|
}
|
||||||
@ -254,7 +253,7 @@ class ChatListController extends State<ChatList>
|
|||||||
BoxConstraints? snappingSheetContainerSize;
|
BoxConstraints? snappingSheetContainerSize;
|
||||||
|
|
||||||
final ScrollController scrollController = ScrollController();
|
final ScrollController scrollController = ScrollController();
|
||||||
bool scrolledToTop = true;
|
final ValueNotifier<bool> scrolledToTop = ValueNotifier(true);
|
||||||
|
|
||||||
final StreamController<Client> _clientStream = StreamController.broadcast();
|
final StreamController<Client> _clientStream = StreamController.broadcast();
|
||||||
|
|
||||||
@ -264,10 +263,8 @@ class ChatListController extends State<ChatList>
|
|||||||
|
|
||||||
void _onScroll() {
|
void _onScroll() {
|
||||||
final newScrolledToTop = scrollController.position.pixels <= 0;
|
final newScrolledToTop = scrollController.position.pixels <= 0;
|
||||||
if (newScrolledToTop != scrolledToTop) {
|
if (newScrolledToTop != scrolledToTop.value) {
|
||||||
setState(() {
|
scrolledToTop.value = newScrolledToTop;
|
||||||
scrolledToTop = newScrolledToTop;
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user