Compare commits

..

No commits in common. "main" and "rc1.2.0-2" have entirely different histories.

484 changed files with 77517 additions and 81962 deletions

11
.gitignore vendored
View File

@ -10,10 +10,11 @@
.buildlog/ .buildlog/
.history .history
.svn/ .svn/
lib/generated_plugin_registrant.dart
prime prime
# libolm package # libolm package
/assets/js/package /assets/js/package/*
# IntelliJ related # IntelliJ related
*.iml *.iml
@ -37,6 +38,7 @@ prime
/build/ /build/
# Web related # Web related
lib/generated_plugin_registrant.dart
docs/build/ docs/build/
docs/.jekyll-cache/ docs/.jekyll-cache/
docs/_site/ docs/_site/
@ -54,10 +56,3 @@ android/Gemfile.lock
lib/l10n_old lib/l10n_old
ios/Flutter/.last_build_id ios/Flutter/.last_build_id
ios/Podfile.lock ios/Podfile.lock
/windows/out
/winuwp/out
/linux/out
/macos/out
.vs
olm

View File

@ -1,7 +1,8 @@
variables: image:
FLUTTER_VERSION: 3.10.0 name: cirrusci/flutter
image: ghcr.io/cirruslabs/flutter:${FLUTTER_VERSION} variables:
GIT_SUBMODULE_STRATEGY: recursive
.shared_windows_runners: .shared_windows_runners:
tags: tags:
@ -10,271 +11,142 @@ image: ghcr.io/cirruslabs/flutter:${FLUTTER_VERSION}
- windows-1809 - windows-1809
stages: stages:
- test - coverage
- build - release
- deploy - deploy
code_analyze: code_analyze:
stage: test stage: coverage
script: script: [./scripts/code_analyze.sh]
- 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
widget_test: code_analyze_beta:
stage: test extends: code_analyze
image:
name: cirrusci/flutter:beta
allow_failure: true
test:
stage: coverage
script: [flutter test] script: [flutter test]
# the basic integration test configuration testing FLOSS builds on Synapse
.integration_test:
image: registry.gitlab.com/famedly/company/frontend/flutter-dockerimages/integration/stable:${FLUTTER_VERSION}
stage: test
services:
- name: docker:dind
alias: docker
parallel:
matrix:
- HOMESERVER_IMPLEMENTATION:
- synapse
- dendrite
- conduit
variables:
# activate container-to-container networking
FF_NETWORK_PER_BUILD: "true"
# Tell docker CLI how to talk to Docker daemon.
DOCKER_HOST: tcp://docker:2375/
# Use the btrfs driver for improved performance.
DOCKER_DRIVER: btrfs
# Disable TLS since we're running inside local network.
DOCKER_TLS_CERTDIR: ""
HOMESERVER: docker
before_script:
- scripts/integration-prepare-host.sh
# create test user environment variables
- source scripts/integration-create-environment-variables.sh
# create Synapse instance
- scripts/integration-server-${HOMESERVER_IMPLEMENTATION}.sh
# properly set the homeserver IP and create test users
- scripts/integration-prepare-homeserver.sh
script:
# start AVD and keep running in background
- scripts/integration-start-avd.sh &
- flutter pub get
- scrcpy --no-display --record video.mkv &
- flutter test integration_test --dart-define=HOMESERVER=$HOMESERVER --dart-define=USER1_NAME=$USER1_NAME --dart-define=USER2_NAME=$USER2_NAME --dart-define=USER1_PW=$USER1_PW --dart-define=USER2_PW=$USER2_PW || ( sleep 10 && exit 1 )
after_script:
- ffmpeg -i video.mkv -vf scale=iw/2:-2 -crf 40 -b:v 2000k -preset fast video.mp4 || true
timeout: 30m
retry: 2
only:
- tags
artifacts:
when: always
paths:
- video.mp4
tags:
- docker
- famedly
# integration tests for Linux builds
### disabled because of Linux headless issues
.integration_test_linux:
extends: .integration_test
parallel:
matrix:
- HOMESERVER_IMPLEMENTATION:
- conduit
script:
- apt-get update
- apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev libsecret-1-dev libjsoncpp-dev
- flutter pub get
- flutter test integration_test -d linux --dart-define=HOMESERVER=$HOMESERVER --dart-define=USER1_NAME=$USER1_NAME --dart-define=USER2_NAME=$USER2_NAME --dart-define=USER1_PW=$USER1_PW --dart-define=USER2_PW=$USER2_PW || ( sleep 10 && exit 1 )
after_script: []
artifacts:
# extending the default tests to test the Google-flavored builds
.integration_test_proprietary:
extends: .integration_test
parallel:
matrix:
- HOMESERVER_IMPLEMENTATION:
- conduit
script:
# start AVD and keep running in background
- scripts/integration-start-avd.sh &
- git apply ./scripts/enable-android-google-services.patch
- flutter pub get
- scrcpy --no-display --record video.mkv &
- flutter test integration_test --dart-define=HOMESERVER=$HOMESERVER --dart-define=USER1_NAME=$USER1_NAME --dart-define=USER2_NAME=$USER2_NAME --dart-define=USER1_PW=$USER1_PW --dart-define=USER2_PW=$USER2_PW || ( sleep 10 && exit 1 )
release_mode_launches:
parallel:
matrix:
- FLAVOR:
- floss
- proprietary
image: registry.gitlab.com/famedly/company/frontend/flutter-dockerimages/integration/stable:${FLUTTER_VERSION}
stage: test
before_script:
- |
if [ "$FLAVOR" == "proprietary" ]; then
git apply ./scripts/enable-android-google-services.patch
fi
script:
# start AVD and keep running in background
- scripts/integration-start-avd.sh &
# generate temporary release build configuration and ensure app launches
- scripts/integration-check-release-build.sh
timeout: 20m
only:
- tags
tags:
- docker
- famedly
build_web: build_web:
stage: build stage: coverage
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: script: [./scripts/build-web.sh]
- flutter build web --release --verbose --source-maps
artifacts: artifacts:
paths: paths:
- build/web/ - build/web/
# yes, we *do* build a Windows DLL on Linux. More reliable. build_web_beta:
build_olm_windows: extends: build_web
image: archlinux:latest image:
stage: test name: cirrusci/flutter:beta
before_script:
- pacman-key --init
- pacman --noconfirm -Sy mingw-w64 cmake git base-devel
script:
- ./scripts/build-olm-windows.sh
- mv olm/build/libolm.dll .
artifacts:
paths:
- libolm.dll
allow_failure: true allow_failure: true
only:
- main
- tags
build_windows: build_windows:
extends: extends:
- .shared_windows_runners - .shared_windows_runners
stage: test stage: coverage
before_script: before_script: [./scripts/prepare-windows.ps1]
- ./scripts/prepare-windows.ps1 script: [./scripts/build-windows.ps1]
# workarounding artifacts download being broken
- $response = Invoke-WebRequest -Uri "$CI_API_V4_URL/projects/$CI_PROJECT_ID/pipelines/$CI_PIPELINE_ID/jobs" -UseBasicParsing
- $jobs = $response | ConvertFrom-Json
- $job = $jobs | where { $_.name -eq "build_olm_windows" }
- $jobId = $job.id
- Invoke-WebRequest -Uri "$CI_API_V4_URL/projects/$CI_PROJECT_ID/jobs/$jobId/artifacts/libolm.dll" -UseBasicParsing -OutFile libolm.dll
script:
- ./scripts/build-windows.ps1
- Copy-Item -Path "libolm.dll" -Destination "build/windows/runner/Release"
- ./scripts/package-windows.ps1
artifacts: artifacts:
paths: paths:
- build/windows/runner/Release - build/windows/runner/Release
allow_failure: true allow_failure: true
only:
- main
- tags
build_android_debug: build_android_debug:
stage: build stage: coverage
script: [flutter build apk --debug] script: [./scripts/build-android-debug.sh]
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
tags:
- docker
- famedly
except: except:
- main - main
- tags - tags
build_android_apk: build_android_apk:
stage: build stage: coverage
before_script: before_script: [./scripts/prepare-android-release.sh]
- git apply ./scripts/enable-android-google-services.patch script: [./scripts/build-android-apk.sh]
- ./scripts/prepare-android-release.sh
script: [flutter build apk --release]
artifacts: artifacts:
when: on_success when: on_success
paths: paths:
- build/app/outputs/apk/release/app-release.apk - build/android/app-release.apk
tags:
- docker
- famedly
only: only:
- main - main
- tags - tags
deploy_playstore_internal: build_android_appbundle:
stage: deploy stage: coverage
before_script: before_script: [./scripts/prepare-android-release.sh]
- git apply ./scripts/enable-android-google-services.patch
- ./scripts/prepare-android-release.sh
script: [./scripts/release-playstore-beta.sh] script: [./scripts/release-playstore-beta.sh]
artifacts: artifacts:
when: on_success when: on_success
paths: paths:
- build/android/app-release.aab - build/android/app-release.aab
resource_group: playstore_release resource_group: playstore_release
tags:
- docker
- famedly
only: only:
- main - main
fdroid_repo: upload-fdroid:
image: debian:testing stage: release
stage: deploy
before_script: before_script:
- apt-get update && apt-get -qy install fdroidserver wget curl jq --no-install-recommends || true - "which ssh-agent || (sudo apt-get update -y && sudo apt-get install openssh-client -y )"
- ./scripts/prepare-fdroid.sh || true - "which rsync || (sudo apt-get update -y && sudo apt-get install rsync -y )"
- "which pcregrep || (sudo apt-get update -y && sudo apt-get install pcregrep -y )"
- eval $(ssh-agent -s)
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- ssh-keyscan -t rsa fdroid.nordgedanken.dev >> ~/.ssh/known_hosts
script: script:
- ./scripts/create_fdroid_repos.sh || true - cd build/android/
artifacts: - export UPDATE_VERSION=$(pcregrep -o1 'version:\s([0-9]*\.[0-9]*\.[0-9]*)\+[0-9]*' ../../pubspec.yaml) && mv app-release.apk "${UPDATE_VERSION}.apk"
when: always - rsync -rav -e ssh ./ fluffy@fdroid.nordgedanken.dev:/opt/fdroid/fluffychat/repo
paths: - ssh fluffy@fdroid.nordgedanken.dev -t '/bin/bash -i -l -c "cd /opt/fdroid/fluffychat && source ../fdroidserver-env/bin/activate && fdroid update --verbose && deactivate"'
- repo needs: ["build_android_apk"]
needs: resource_group: playstore_release
- "build_android_apk" allow_failure: true
only:
- tags
upload-fdroid-nightly:
stage: release
before_script:
- "which ssh-agent || (sudo apt-get update -y && sudo apt-get install openssh-client -y )"
- "which rsync || (sudo apt-get update -y && sudo apt-get install rsync -y )"
- "which pcregrep || (sudo apt-get update -y && sudo apt-get install pcregrep -y )"
- eval $(ssh-agent -s)
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- ssh-keyscan -t rsa fdroid.nordgedanken.dev >> ~/.ssh/known_hosts
script:
- cd build/android/
- export UPDATE_VERSION=$(pcregrep -o1 'version:\s([0-9]*\.[0-9]*\.[0-9]*)\+[0-9]*' ../../pubspec.yaml) && mv app-release.apk "${UPDATE_VERSION}_$(date +%s).apk"
- rsync -rav -e ssh ./ fluffy@fdroid.nordgedanken.dev:/opt/fdroid/fluffychat-nightly/repo
- ssh fluffy@fdroid.nordgedanken.dev -t '/bin/bash -i -l -c "cd /opt/fdroid/fluffychat-nightly && source ../fdroidserver-env/bin/activate && fdroid update --verbose && deactivate"'
needs: ["build_android_apk"]
resource_group: playstore_release resource_group: playstore_release
allow_failure: true allow_failure: true
only: only:
- main - main
pages: pages:
needs: needs: ["build_web"]
- "build_web"
- "fdroid_repo"
stage: deploy stage: deploy
image: node:alpine image: node
before_script:
- apk update
- apk add jq unzip curl wget bash
script: script:
- cd docs - cd docs
- npx tailwindcss -o ./tailwind.css --minify - npx tailwindcss -o ./tailwind.css --minify
- cd .. - cd ..
- mv docs public - mv docs public
- mv repo public || true - mv build/web/ public/web/
- mv build/web/ public/web
artifacts: artifacts:
paths: paths:
- public - public
@ -282,25 +154,21 @@ pages:
- main - main
build_linux_x86: build_linux_x86:
stage: build stage: coverage
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 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 update && sudo apt install curl clang cmake ninja-build pkg-config libgtk-3-dev libblkid-dev liblzma-dev libjsoncpp-dev cmake-data libjsoncpp1 libsecret-1-dev libsecret-1-0 librhash0 -y,
script: [flutter build linux --release] ]
tags: script: [./scripts/build-linux.sh]
- docker
- famedly
artifacts: artifacts:
when: on_success when: on_success
paths: paths:
- build/linux/x64/release/bundle/ - build/linux/x64/release/bundle/
build_linux_arm64: build_linux_arm64:
stage: build stage: coverage
before_script: before_script: [flutter upgrade]
- flutter upgrade $FLUTTER_VERSION --force script: [./scripts/build-linux.sh]
script: [flutter build linux --release]
tags: [docker_arm64] tags: [docker_arm64]
only: only:
- main - main
@ -311,9 +179,11 @@ build_linux_arm64:
paths: paths:
- build/linux/arm64/release/bundle/ - build/linux/arm64/release/bundle/
update_dependencies: update-dependencies:
stage: build stage: coverage
needs: [] needs: []
tags:
- docker
only: only:
- schedules - schedules
variables: variables:
@ -336,7 +206,7 @@ update_dependencies:
- 'git diff --exit-code || (git checkout -B ${UPDATE_BRANCH} && git add . && git commit -m "chore: Update dependencies" && git push -f origin ${UPDATE_BRANCH} && ./scripts/open-mr.sh)' - 'git diff --exit-code || (git checkout -B ${UPDATE_BRANCH} && git add . && git commit -m "chore: Update dependencies" && git push -f origin ${UPDATE_BRANCH} && ./scripts/open-mr.sh)'
.release: .release:
stage: deploy stage: release
image: curlimages/curl:latest image: curlimages/curl:latest
rules: rules:
- if: '$CI_COMMIT_TAG =~ /^v\d+\.\d+\.\d+$/' - if: '$CI_COMMIT_TAG =~ /^v\d+\.\d+\.\d+$/'
@ -346,51 +216,45 @@ update_dependencies:
- export RELEASE_VERSION=$(echo $CI_COMMIT_TAG | grep -oE "\d+\.\d+\.\d+") - export RELEASE_VERSION=$(echo $CI_COMMIT_TAG | grep -oE "\d+\.\d+\.\d+")
- export PACKAGE_REGISTRY_URL="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/fluffychat/${RELEASE_VERSION}" - export PACKAGE_REGISTRY_URL="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/fluffychat/${RELEASE_VERSION}"
upload_android: upload-android:
extends: .release extends: .release
script: script:
- | - |
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 curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file build/android/app-release.apk ${PACKAGE_REGISTRY_URL}/fluffychat.apk
upload_web: upload-web:
extends: .release extends: .release
script: script:
- tar czf package.tar.gz -C build/web/ . - tar czf package.tar.gz -C build/web/ .
- | - |
curl --fail-with-body --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file package.tar.gz ${PACKAGE_REGISTRY_URL}/fluffychat-web.tar.gz curl --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 --fail-with-body --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file package.tar.gz ${PACKAGE_REGISTRY_URL}/fluffychat-linux-x86.tar.gz curl --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 --fail-with-body --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file package.tar.gz ${PACKAGE_REGISTRY_URL}/fluffychat-linux-arm64.tar.gz curl --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
image: alpine:latest image: alpine:latest
script: script:
- apk add --no-cache curl zip - apk add --no-cache curl zip
- 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 --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 package.zip ${PACKAGE_REGISTRY_URL}/fluffychat-windows.zip
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: upload-playstore:
stage: deploy stage: release
before_script: before_script: [./scripts/prepare-android-release.sh]
- git apply ./scripts/enable-android-google-services.patch
- ./scripts/prepare-android-release.sh
script: [./scripts/release-playstore.sh] script: [./scripts/release-playstore.sh]
resource_group: playstore_release resource_group: playstore_release
only: only:
@ -407,5 +271,4 @@ release:
--assets-link "{\"name\":\"fluffychat-linux-x86.tar.gz\",\"url\":\"${PACKAGE_REGISTRY_URL}/fluffychat-linux-x86.tar.gz\"}" \ --assets-link "{\"name\":\"fluffychat-linux-x86.tar.gz\",\"url\":\"${PACKAGE_REGISTRY_URL}/fluffychat-linux-x86.tar.gz\"}" \
--assets-link "{\"name\":\"fluffychat-linux-arm64.tar.gz\",\"url\":\"${PACKAGE_REGISTRY_URL}/fluffychat-linux-arm64.tar.gz\"}" \ --assets-link "{\"name\":\"fluffychat-linux-arm64.tar.gz\",\"url\":\"${PACKAGE_REGISTRY_URL}/fluffychat-linux-arm64.tar.gz\"}" \
--assets-link "{\"name\":\"fluffychat-windows.zip\",\"url\":\"${PACKAGE_REGISTRY_URL}/fluffychat-windows.zip\"}" \ --assets-link "{\"name\":\"fluffychat-windows.zip\",\"url\":\"${PACKAGE_REGISTRY_URL}/fluffychat-windows.zip\"}" \
--assets-link "{\"name\":\"fluffychat-windows.msix\",\"url\":\"${PACKAGE_REGISTRY_URL}/fluffychat-windows.msix\"}" \
--assets-link "{\"name\":\"fluffychat-web.tar.gz\",\"url\":\"${PACKAGE_REGISTRY_URL}/fluffychat-web.tar.gz\"}" --assets-link "{\"name\":\"fluffychat-web.tar.gz\",\"url\":\"${PACKAGE_REGISTRY_URL}/fluffychat-web.tar.gz\"}"

View File

@ -1,30 +0,0 @@
# This file tracks properties of this Flutter project.
# Used by Flutter tool to assess capabilities and perform upgrades etc.
#
# This file should be version controlled.
version:
revision: d3d8effc686d73e0114d71abdcccef63fa1f25d2
channel: stable
project_type: app
# Tracks metadata for the flutter migrate command
migration:
platforms:
- platform: root
create_revision: d3d8effc686d73e0114d71abdcccef63fa1f25d2
base_revision: d3d8effc686d73e0114d71abdcccef63fa1f25d2
- platform: macos
create_revision: d3d8effc686d73e0114d71abdcccef63fa1f25d2
base_revision: d3d8effc686d73e0114d71abdcccef63fa1f25d2
# User provided section
# List of Local paths (relative to this file) that should be
# ignored by the migrate tool.
#
# Files that are not part of the templates will be ignored by default.
unmanaged_files:
- 'lib/main.dart'
- 'ios/Runner.xcodeproj/project.pbxproj'

View File

@ -1,564 +1,4 @@
## v1.12.0 ## v1.2.0 - Unreleased
- 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
- Added translation using Weblate (Thai) (Wphaoka)
- Added translation using Weblate (Tibetan) (Nathan Freitas)
- Default hardcoded message when l10n is not available (fabienli)
- Fix: The stable repo fingerprint (TODO the qr-code should be updated) (machiav3lli)
- Translated using Weblate (Basque) (xabirequejo)
- 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 (Galician) (josé m)
- Translated using Weblate (Indonesian) (Linerly)
- Translated using Weblate (Japanese) (Suguru Hirahara)
- Translated using Weblate (Persian) (Farooq Karimi Zadeh)
- Translated using Weblate (Swedish) (Joaquim Homrighausen)
- Translated using Weblate (Turkish) (Oğuz Ersen)
- Translated using Weblate (Ukrainian) (Ihor Hordiichuk)
- chore: Disable stable for web until script is fixed (Krille)
- chore: Display warning when logout without backup (Krille)
- chore: Downgrade flutter CI version (Krille)
- chore: Follow up audioplayer on linux (Krille)
- chore: Follow up chat encryption desgin (Krille)
- chore: Follow up fix audioplayer on android (Christian Pauly)
- chore: Follow up formatting (Christian Pauly)
- chore: Follow up formatting (Krille)
- chore: Follow up remove hero animation (Krille)
- chore: Follow up secrity settings design (Krille)
- chore: Follow up settings page (Krille)
- chore: Follow up settings page design (Christian Pauly)
- chore: Follow up style adjustments (Krille)
- chore: Lookup l10n in pushhelper if null (Krille)
- chore: Update matrix package to 0.17.0 (Krille)
- chore: Update to Flutter 3.7.1 (Krille)
- docs/qr-stable.svg: update the QR code (Aminda Suomalainen)
- feat: Enable audioplayer for web and linux (Christian Pauly)
- fix: Display error when user tries to send too large file (Christian Pauly)
- refactor: Do only instantiate AudioPlayer() object when in use (Christian Pauly)
- refactor: Remove syncstatus verbose logs (Christian Pauly)
- refactor: Store cached files in tmp directory so OS will clear file cache from time to time (Krille)
- style: Adjust key verification dialog (Christian Pauly)
- style: Bootstrap design adjustments (Christian Pauly)
- style: Encryption page adjustments (Christian Pauly)
- style: Enhance user device settings design (Krille)
- style: Enhanced chat details design (Krille)
- style: Give chat list list tiles rounded corners (Krille)
- style: Link underline color (Christian Pauly)
- style: Make adaptive bottom sheets scrollable by default (Krille)
- style: Make invite page more pretty (Krille)
- style: New settings design (Krille)
- style: Nicer chips in encryption settings and icons showing device status (Krille)
- style: Use emojis on web as well (Christian Pauly)
- style: Use robotomono to display device keys (Christian Pauly)
- utils/url_launcher: force opening http(s) links in external browser (Marcus Hoffmann)
## v1.9.0 - 2023-01-29
- Translated using Weblate (Czech) (Michal Bedáň)
- Translated using Weblate (Czech) (grreby)
- Translated using Weblate (Dutch) (Jelv)
- Translated using Weblate (Estonian) (Priit Jõerüüt)
- Translated using Weblate (Galician) (josé m)
- Translated using Weblate (German) (Christian)
- Translated using Weblate (German) (Vri 🌈)
- Translated using Weblate (Indonesian) (Linerly)
- Translated using Weblate (Korean) (Youngbin Han)
- Translated using Weblate (Polish) (Wiktor)
- Translated using Weblate (Turkish) (Oğuz Ersen)
- Translated using Weblate (Ukrainian) (Ihor Hordiichuk)
- chore: Change invite link textfield label (Krille)
- chore: Remove unused dependency (Krille)
- chore: Remove unused translations (Krille)
- chore: Update Matrix SDK and refactor (Krille)
- chore: Update dependencies (Krille)
- chore: Update flutter_map (Krille)
- chore: add integration tests (TheOneWithTheBraid)
- chore: add integration tests for spaces (TheOneWithTheBraid)
- design: More clear chat background and rounded popup menu (Krille)
- design: Nicer navigationrail (Krille)
- design: Upgrade to Flutter 3.7
- feat: Bring back disabling the header bar on Linux desktop (q234rty)
- feat: Nicer design for abandonded DM rooms (Christian Pauly)
- fix: Archive (Krille)
- fix: Shared preferences package for flutter 3.7 (Christian Pauly)
- fix: permission of web builds (TheOneWithTheBraid)
- fix: Notification Settings (Krille)
- refactor: Migrate to Flutter 3.7.0 (Christian Pauly)
- refactor: Same animations everywhere in app (Krille)
- refactor: Stories header with futurebuilder (Krille)
- refactor: disable some redundant tests (TheOneWithTheBraid)
- style: Animate in out search results (Krille)
- style: New modal bottom sheets (Krille)
- style: Redesign public room bottomsheets (Krille)
## v1.8.0 2022-12-30
- Added translation using Weblate (Yue (yue_HK)) (Raatty)
- Translated using Weblate (Chinese (Simplified)) (Mike Evans)
- Translated using Weblate (Estonian) (Priit Jõerüüt)
- Translated using Weblate (French) (Anne Onyme 017)
- Translated using Weblate (Indonesian) (Linerly)
- Translated using Weblate (Turkish) (Oğuz Ersen)
- Translated using Weblate (Ukrainian) (Ihor Hordiichuk)
- design: New encryption page (Krille Fear)
- feat: Add audio message support to linux (Krille Fear)
- feat: Use Android system accent color (Krille Fear)
- feat: include olm to Windows builds (TheOneWithTheBraid)
- feat: Store drafts (Krille)
- fix: Android push notification follow-up (TheOneWithTheBraid)
- fix: Content banner (Krille Fear)
- fix: Correct redacted by username (Krille Fear)
- fix: Do not setup push on every app resume (Krille Fear)
- fix: Encryption button is orange in public rooms (Krille Fear)
- fix: File event design (Krille Fear)
- fix: Hide google services warning after marked (Krille Fear)
- fix: Improve story page appearance (Reinhart Previano Koentjoro)
- fix: Libhandy windows (Krille Fear)
- fix: Monochromatic icon rendering for Android 13+ (Reinhart Previano Koentjoro)
- fix: homeserver error text not visible in app bar (TheOneWithTheBraid)
- fix: minor issues in room list (TheOneWithTheBraid)
## v1.7.2 2022-12-19
Update dependencies and translations.
## v1.7.1 2022-11-23
Minor bugfix release to retrigger build for FlatPak and Android. Fixes some style bugs and updates some translations
## v1.7.0 2022-11-17
FluffyChat 1.7.0 features a new way to work with spaces via a bottom navigation bar. A lot of work has also been done under the hood to make the app faster and more stable. The main color has slightly changed and the design got some finetuning.
- chore: Add keys to roomlist and stories header (Christian Pauly)
- chore: Add unread badge to navigation rail and adjust design (Christian Pauly)
- chore: Adjust colors (Christian Pauly)
- chore: Better design chat list items (Christian Pauly)
- chore: Better load first client (Christian Pauly)
- design: Hide unimportant state events instead of folding (Christian Pauly)
- design: Improve login design (Krille Fear)
- design: Nicer display notification short texts (Christian Pauly)
- feat: background and terminated calls [android] (td)
- feat: New navigation design (Christian Pauly)
- fix: Hide password at login page (Krille Fear)
- fix: Import session on iOS (Christian Pauly)
- fix: incorrect setState inside setState in ChatListController (td)
- fix: Password not obscure for a second when submitting login textfield (Christian Pauly)
- fix: Popup menu without elevation (Christian Pauly)
- fix: Push error message (Christian Pauly)
- fix: Remove emoji picker workaround (Christian Pauly)
- fix: Set theme after start app (Christian Pauly)
- fix: Settings profile picture (Christian Pauly)
- fix: Share files (Christian Pauly)
- fix: UIA request handler (Christian Pauly)
- fix: Update emoji picker for web and desktop (Christian Pauly)
- improved (most) icons/image scaling, including avatar scaling (Mg138)
- Mention Element instead of Riot (Has been renamed about a year ago) (jooooscha)
- refactor: Chat list body code (Christian Pauly)
- refactor: Minor chatlist refactoring (Christian Pauly)
- refactor: No longer need selected of chat list tile (Christian Pauly)
- refactor: Remove unused dependencies (Krille Fear)
- Added translation using Weblate (Hindi) (Hemish)
- Added translation using Weblate (Occidental) (OIS)
- Translated using Weblate (Basque) (xabirequejo)
- Translated using Weblate (Chinese (Simplified)) (Eric)
- Translated using Weblate (Chinese (Simplified)) (Raatty)
- Translated using Weblate (Dutch) (Jelv)
- Translated using Weblate (English) (Raatty)
- Translated using Weblate (Estonian) (Priit Jõerüüt)
- Translated using Weblate (Estonian) (Raatty)
- Translated using Weblate (Finnish) (Aminda Suomalainen)
- Translated using Weblate (Finnish) (Raatty)
- Translated using Weblate (French) (Anne Onyme 017)
- Translated using Weblate (Galician) (Xosé M)
- Translated using Weblate (German) (Jana)
- Translated using Weblate (Indonesian) (Linerly)
- Translated using Weblate (Lithuanian) (Anonimas)
- Translated using Weblate (Occidental) (OIS)
- Translated using Weblate (Persian) (Anastázius Darián)
- Translated using Weblate (Persian) (Anastázius Kaejatídarján)
- Translated using Weblate (Persian) (Seyedmahdi Moosavyan)
- Translated using Weblate (Russian) (Nikita Epifanov)
- Translated using Weblate (Turkish) (Oğuz Ersen)
- Translated using Weblate (Turkish) (Raatty)
- Translated using Weblate (Ukrainian) (Ihor Hordiichuk)
- Translated using Weblate (Ukrainian) (Raatty)
## v1.6.4 - 2022-09-08
- Translated using Weblate (Chinese (Simplified)) (Eric)
- Translated using Weblate (Estonian) (Priit Jõerüüt)
- Translated using Weblate (Galician) (Xosé M)
- Translated using Weblate (Indonesian) (Linerly)
- Translated using Weblate (Slovak) (Marek Ľach)
- Translated using Weblate (Turkish) (Oğuz Ersen)
- Translated using Weblate (Ukrainian) (Ihor Hordiichuk)
- chore: Adjust bubble color in dark mode (Christian Pauly)
- chore: Update matrix sdk (Christian Pauly)
- chore: Update to flutter 3.3.0 (Christian Pauly)
- feat: Automatic key requests and better key error dialog (Christian Pauly)
- fix: Styling and notification settings (Christian Pauly)
- fix: add missing command localizations (Christian Pauly)
## v1.6.3 - 2022-08-25
- Translated using Weblate (Chinese (Simplified)) (Eric)
- Translated using Weblate (Estonian) (Priit Jõerüüt)
- Translated using Weblate (Finnish) (Aminda Suomalainen)
- Translated using Weblate (Russian) (Sergey Shavin)
- Translated using Weblate (Turkish) (Oğuz Ersen)
- Translated using Weblate (Ukrainian) (Ihor Hordiichuk)
- chore: Migrate back to flutter hive collections (Christian Pauly)
- chore: Update provider package and remove dep override (Christian Pauly)
- fix: Do not display push events for unknown event types (Christian Pauly)
- refactor: App widget (Christian Pauly)
## v1.6.0 - 2022-07-31
FluffyChat 1.6.0 features a lot of bug fixes and improvements. The code base has been
simplified and the drawer on the chat list page got a come-back. Some new features like
the space hierarchy and session dump have been implemented.
- feat: Added monochrome entry for themed icon support in Android 13 (James Reilly)
- feat: Display timeline of messages in android notification (Christian Pauly)
- feat: Emoji related fixes (TheOneWithTheBraid)
- feat: Implement deleting pushers in app (Christian Pauly)
- feat: New material 3 design (Christian Pauly)
- feat: Redesign bootsstrap and offer secure storage support (Christian Pauly)
- feat: Send multiple images at once (Christian Pauly)
- feat: implement session dump (TheOneWithTheBraid)
- feat: implement space hierarchy (TheOneWithTheBraid)
- feat: introduce extended integration tests (TheOneWithTheBraid)
- feat: libhandy integration (TheOneWithTheBraid)
- fix: Clearing push triggered when only one room got seen (Christian Pauly)
- fix: Dont display loading dialog when adding reaction (Christian Pauly)
- fix: Follow up for spaces hierarchy (TheOneWithTheBraid)
- fix: Missing null checks in chat details view (Christian Pauly)
- fix: Non FCM Android builds crash on start (Christian Pauly)
- fix: Permission chooser dialog on iOS (Christian Pauly)
- fix: Set avatar on only single action available (Christian Pauly)
- fix: Sharing on iOS and iPad (Christian Pauly)
- fix: Unread bubble is invisible in dark mode (Christian Pauly)
- fix: appimage builds (TheOneWithTheBraid)
- fix: only use custom http client on android (Jayesh Nirve)
- fix: pass isrg cert to http client (Jayesh Nirve)
- refactor: Chat view (Christian Pauly)
- refactor: Encryption button (Christian Pauly)
- refactor: Remove duplicated imports (Christian Pauly)
- refactor: Remove legacy store (Christian Pauly)
- refactor: Remove presence status feature (Christian Pauly)
- refactor: Simplify MxcImage and replace CachedNetworkImage (Christian Pauly)
- refactor: Switch to Hive Collections DB (Christian Pauly)
- refactor: move start chat FAB to implementation file (TheOneWithTheBraid)
- Translated using Weblate (Catalan) (Alfonso Montero López)
- Translated using Weblate (Catalan) (Auri B.P)
- Translated using Weblate (Chinese (Simplified)) (Eric)
- Translated using Weblate (Croatian) (Milo Ivir)
- Translated using Weblate (Dutch) (Jelv)
- Translated using Weblate (English) (Raatty)
- Translated using Weblate (Estonian) (Priit Jõerüüt)
- Translated using Weblate (Finnish) (Aminda Suomalainen)
- Translated using Weblate (Galician) (Xosé M)
- Translated using Weblate (Indonesian) (Linerly)
- Translated using Weblate (Persian) (Amir Hossein Maher)
- Translated using Weblate (Polish) (Przemysław Romanik)
- Translated using Weblate (Russian) (Nikita Epifanov)
- Translated using Weblate (Turkish) (Oğuz Ersen)
- Translated using Weblate (Ukrainian) (Ihor Hordiichuk)
- chore: Add border to avatars (Christian Pauly)
- chore: Add fancy hero animations (Christian Pauly)
- chore: Adjust appbar design (Christian Pauly)
- chore: Adjust design (Christian Pauly)
- chore: Adjust search bar design (Christian Pauly)
- chore: Always display header elevation in chat (Christian Pauly)
- chore: Design follow up fixes (Christian Pauly)
- chore: Design follow up fixes (Christian Pauly)
- chore: Disable integration tests without runners (Krille Fear)
- chore: Enhance invitiation UX (Christian Pauly)
- chore: Make push helper more fail safe (Christian Pauly)
- chore: Make push helper more stable (Christian Pauly)
- chore: Minor design improvements (Christian Pauly)
- chore: Pinned events design (Christian Pauly)
- chore: Remove permission handler dependency and increase compileSdkVersion (Christian Pauly)
- chore: Switch to flutter 3.0.5 (Krille Fear)
- chore: Update SDK (Christian Pauly)
- chore: remove snapping sheet (TheOneWithTheBraid)
## v1.5.0 - 2022-06-03
- Translated using Weblate (Ukrainian) (Ihor Hordiichuk)
- feat: Better sign up UX and allow signup without password (Christian Pauly)
- feat: Initial material you support (Christian Pauly)
- feat: include Synapse into integration test (TheOneWithTheBraid)
- fix: Broken dynamic color palette (Christian Pauly)
- fix: Build on iOS emulator (Christian Pauly)
- fix: Missing bottom padding in text only stories (Christian Pauly)
- fix: Send sticker without blocking the UI (Christian Pauly)
- fix: Sentry switch being broken (Sorunome)
- fix: add new Play patch (TheOneWithTheBraid)
- fix: handle matrix.to prefix when starting chat (TheOneWithTheBraid)
- fix: minor design bugs (TheOneWithTheBraid)
- fix: privacy in sign up (TheOneWithTheBraid)
- fix: properly set app title in embedder (TheOneWithTheBraid)
- fix: proprietory classes included into build (TheOneWithTheBraid)
- fix: remove proprietary classes from build (TheOneWithTheBraid)
- refactor: Sharing intent (Christian Pauly)
- refactor: Stories header (Christian Pauly)
- refactor: Update Matrix SDK (Christian Pauly)
- refactor: Upgrade to Flutter 3.0.0 (Christian Pauly)
- Translated using Weblate (Basque) (—X—)
- Translated using Weblate (Chinese (Simplified)) (Eric)
- Translated using Weblate (Croatian) (Milo Ivir)
- Translated using Weblate (Czech) (Milan Korecky)
- Translated using Weblate (Dutch) (Jelv)
- Translated using Weblate (Estonian) (Priit Jõerüüt)
- Translated using Weblate (Galician) (Xosé M)
- Translated using Weblate (Indonesian) (Linerly)
- Translated using Weblate (Lithuanian) (Mind)
- Translated using Weblate (Portuguese (Brazil)) (Hermógenes Oliveira)
- Translated using Weblate (Portuguese (Brazil)) (mmagian)
- Translated using Weblate (Russian) (Nikita Epifanov)
- Translated using Weblate (Turkish) (Oğuz Ersen)
## v1.4.0 - 2022-04-23
- design: Display icon for failed sent messages (Krille Fear)
- design: Display own stories at first place and combine with new stories button (Krille Fear)
- feat: Add "Show related DMs in spaces" settings (20kdc)
- feat: Better image sending experience (Krille Fear)
- feat: Display event timestamp if selected (Krille Fear)
- feat: Faster image resizing (Krille Fear)
- feat: Groups and Direct Chats virtual spaces option (20kdc)
- feat: New onboarding design (Krille Fear)
- feat: Onboarding with dynamic homeservers from joinmatrix.org (Krille Fear)
- feat: Play audio messages in stories (Krille Fear)
- feat: Use native imaging for much faster thumbnail calc on mobile (Krille Fear)
- feat: add Dockerfile for nginx/web builds (TheOneWithTheBraid)
- feat: allow to create widgets (TheOneWithTheBraid)
- feat: remove diacritics (henri2h)
- feat: irish language support (Graeme Power)
- feat: Enable screensharing on Mobile
- feat: support AppImage builds
- feat: Improve spaces design
- fix: Android theme is not auto updating when system theme changes (Krille Fear)
- fix: Chat view becomes gray for a second on sending reaction (Krille Fear)
- fix: Don't request new thumbnail resolution on every window resize (Samuel Mezger)
- fix: Dont display own failed-to-send events in stories (Krille Fear)
- fix: Hide markdown in chat list preview and local notifications (Krille Fear)
- fix: Hide pinned events if event is not accessable or loading (Krille Fear)
- fix: Image sending (Krille Fear)
- fix: Make audioplayer waveforms thinner and better clickable (Krille Fear)
- fix: Some story layout bugs (Krille Fear)
- fix: Widgets dialog crashes (Krille Fear)
- fix: login form supports switching fields via tab (Philip Molares)
- Added translation using Weblate (Lithuanian) (Mind)
- Translated using Weblate (Chinese (Simplified)) (Eric)
- Translated using Weblate (Croatian) (Milo Ivir)
- Translated using Weblate (Dutch) (Jelv)
- Translated using Weblate (Estonian) (Priit Jõerüüt)
- Translated using Weblate (Finnish) (Aminda Suomalainen)
- Translated using Weblate (French) (Anne Onyme 017)
- Translated using Weblate (Galician) (Xosé M)
- Translated using Weblate (German) (Krille)
- Translated using Weblate (German) (qwerty287)
- Translated using Weblate (Indonesian) (Linerly)
- Translated using Weblate (Japanese) (Krille)
- Translated using Weblate (Lithuanian) (Mind)
- Translated using Weblate (Portuguese (Brazil)) (Hermógenes Oliveira)
- Translated using Weblate (Russian) (Arbo_Leet)
- Translated using Weblate (Russian) (Nikita Epifanov)
- Translated using Weblate (Russian) (alekseishaklov)
- Translated using Weblate (Swedish) (Joaquim Homrighausen)
- Translated using Weblate (Turkish) (Oğuz Ersen)
- Translated using Weblate (Ukrainian) (Ihor Hordiichuk)
- Update TRANSLATORS_GUIDE.md to have improved punctuation, capitalization (Scott Anecito)
- chore: Add initial integration tests (Krille Fear)
- refactor: New push (Krille Fear)
## v1.3.1 - 2022-03-20
- Allow app to be moved to external storage (Marcel)
- Translated using Weblate (Arabic) (Mads Louis)
- Translated using Weblate (Basque) (Sorunome)
- Translated using Weblate (Basque) (—X—)
- Translated using Weblate (Chinese (Simplified)) (Eric)
- Translated using Weblate (Czech) (Sorunome)
- Translated using Weblate (Dutch) (Jelv)
- Translated using Weblate (English) (Raatty)
- Translated using Weblate (French) (Anne Onyme 017)
- Translated using Weblate (Galician) (Xosé M)
- Translated using Weblate (German) (Maciej Krüger)
- Translated using Weblate (Indonesian) (Linerly)
- Translated using Weblate (Irish) (Graeme Power)
- Translated using Weblate (Persian) (Anastázius Darián)
- Translated using Weblate (Russian) (Nikita Epifanov)
- Translated using Weblate (Swedish) (Joaquim Homrighausen)
- Translated using Weblate (Turkish) (Oğuz Ersen)
- Translated using Weblate (Ukrainian) (Ihor Hordiichuk)
- Update proguard rules to a more modern setup (MTRNord)
- chore: Minor story viewer fixes (Krille Fear)
- chore: Remove story line count and make answering to stories online (Krille Fear)
- chore: Update dependencies (Dependency Update Bot)
- design: Make pinned events use less vertical space (Krille Fear)
- feat: Extended stories (Krille Fear)
- feat: Restrict map zoom to tile server capabilities (Marcel)
- feat: implement keyboard shortcuts (TheOneWithTheBraid)
- fix: Build on macOS (Krille Fear)
- fix: Emojipicker issues (Krille Fear)
- fix: Hide redacted stories (Krille Fear)
- fix: Mark story as read (Krille Fear)
- fix: Open room from notification click produces errors (Krille Fear)
- fix: SSO on Android 12 (Krille Fear)
- fix: Send read receipts on all taps (Krille Fear)
- fix: make fluffy usable at 720 px wide (Raatty)
- fix: Add forgotten sendOnEnter (Krille Fear)
- refactor: Switch to just audio for playing sounds (Krille Fear)
## v1.3.0 - 2022-02-12
FluffyChat 1.3.0 makes it possible to report offensive users to server admins (not only messages). It fixes
the video player, improves Linux desktop notifications, and the stories design.
The button to create a new story is now in the app bar of the main page so that users who don't want to use
this feature no longer have a whole list item pinned at the top of the chat list.
FluffyChat 1.3.0 is the first release with full null safe dart code. While this is a huge change under the
hood, it should improve the stability and performance of the app. It also builds now with Flutter 2.10.
Thanks to all contributors and translators!! <3
- Translated using Weblate (Arabic) (abidin toumi)
- Translated using Weblate (Chinese (Simplified)) (Eric)
- Translated using Weblate (Croatian) (Milo Ivir)
- Translated using Weblate (Czech) (Milan Korecky)
- Translated using Weblate (Dutch) (Jelv)
- Translated using Weblate (Estonian) (Priit Jõerüüt)
- Translated using Weblate (French) (Anne Onyme 017)
- Translated using Weblate (Galician) (Xosé M)
- Translated using Weblate (German) (Krille)
- Translated using Weblate (Indonesian) (Linerly)
- Translated using Weblate (Russian) (Nikita Epifanov)
- Translated using Weblate (Swedish) (Joaquim Homrighausen)
- Translated using Weblate (Turkish) (Oğuz Ersen)
- Translated using Weblate (Ukrainian) (Ihor Hordiichuk)
- chore: Add missing link (Krille Fear)
- chore: Hide FAB story buttons on focus (Krille Fear)
- chore: Set compileSdkVersion to 31 (Krille Fear)
- chore: Update SDK (Krille Fear)
- chore: Update dependencies (Dependency Update Bot)
- chore: Update privacy (Krille Fear)
- chore: Upgrade to Flutter 2.10 (Krille Fear)
- ci: Update olm download link (Krille Fear)
- design: Improve create story page design (Krille Fear)
- design: Improve story header design (Krille Fear)
- design: Use IconButton instead of listTile for first story (Krille Fear)
- feat: Add button to report offensive users to server admins (Krille Fear)
- feat: Open chat button from Linux notification (Krille Fear)
- feat: implement retreiving widgets (TheOneWithTheBraid)
- fix: Set image width and height (Krille Fear)
- fix: Videoplayer filenames (Krille Fear)
- fix: cast error in html messages (Jayesh Nirve)
- fix: linux snap notification avatar (Krille Fear)
- fix: suggestions menu and use empty map in html messages null return (Jayesh Nirve)
- refactor: Migrate to null safety (Krille Fear)
## v1.2.0 - 2022-01-27
FluffyChat 1.2.0 brings a new stories feature, a lot of bug fixes and improved FluffyChat 1.2.0 brings a new stories feature, a lot of bug fixes and improved
voice messages. voice messages.
@ -568,16 +8,16 @@ voice messages.
- design: Use more adaptive elements (Krille Fear) - design: Use more adaptive elements (Krille Fear)
- feat: Add button to record a video on Android (S1m) - feat: Add button to record a video on Android (S1m)
- feat: Add static + button to pick reaction (S1m) - feat: Add static + button to pick reaction (S1m)
- feat: Better in app video player (Krille Fear) - feat: Better in app video player (Christian Pauly)
- feat: Enable compression and thumbnails for videos (Krille Fear) - feat: Enable compression and thumbnails for videos (Christian Pauly)
- feat: Nicer file event design (Krille Fear) - feat: Nicer file event design (Krille Fear)
- feat: Recording dialog with displaying amplitude (Krille Fear) - feat: Recording dialog with displaying amplitude (Christian Pauly)
- feat: Remember homeserver on search page (Krille Fear) - feat: Remember homeserver on search page (Christian Pauly)
- feat: Save files images and videos (Krille Fear) - feat: Save files images and videos (Christian Pauly)
- feat: Settings for stories (Krille Fear) - feat: Settings for stories (Christian Pauly)
- feat: Share to story (Krille Fear) - feat: Share to story (Christian Pauly)
- feat: Stories (Krille Fear) - feat: Stories (Krille Fear)
- fix: Add missing routes (Krille Fear) - fix: Add missing routes (Christian Pauly)
- fix: Better thumbnails (Krille Fear) - fix: Better thumbnails (Krille Fear)
- fix: Do not setup UP if init from an UP action (S1m) - fix: Do not setup UP if init from an UP action (S1m)
- fix: linux notifications (Raatty) - fix: linux notifications (Raatty)
@ -585,15 +25,15 @@ voice messages.
- fix: Show message bubble on download only video attachments (Drews Clausen) - fix: Show message bubble on download only video attachments (Drews Clausen)
- fix: Show scrollDownButton only if selectedEvents is empty (S1m) - fix: Show scrollDownButton only if selectedEvents is empty (S1m)
- fix: Snapcraft image (Krille Fear) - fix: Snapcraft image (Krille Fear)
- fix: Snapcraft.yaml (Krille Fear) - fix: Snapcraft.yaml (Christian Pauly)
- fix: Use system fonts except for desktop (Krille Fear) - fix: Use system fonts except for desktop (Christian Pauly)
- fix: Video playback on iOS (John Francis Sukamto) - fix: Video playback on iOS (John Francis Sukamto)
- fix: Videoplayer (Krille Fear) - fix: Videoplayer (Christian Pauly)
- followup: Improve stories (Krille Fear) - followup: Improve stories (Christian Pauly)
- Improve website SEO tagging (Marcel) - Improve website SEO tagging (Marcel)
- Increase font size granularity (S1m) - Increase font size granularity (S1m)
- refactor: /command hints add tooltips, test for missing hints, script to generate glue code, hints for dm, create, clearcache, discardsession (Steef Hegeman) - refactor: /command hints add tooltips, test for missing hints, script to generate glue code, hints for dm, create, clearcache, discardsession (Steef Hegeman)
- refactor: Make more files null safe (Krille Fear) - refactor: Make more files null safe (Christian Pauly)
- refactor: Make style settings null safe (Krille Fear) - refactor: Make style settings null safe (Krille Fear)
- systemNavigationBarColor ← appBar.backgroundColor (Steef Hegeman) - systemNavigationBarColor ← appBar.backgroundColor (Steef Hegeman)
- Translated using Weblate (Chinese (Simplified)) (Eric) - Translated using Weblate (Chinese (Simplified)) (Eric)
@ -606,7 +46,7 @@ voice messages.
- Translated using Weblate (Finnish) (Aminda Suomalainen) - Translated using Weblate (Finnish) (Aminda Suomalainen)
- Translated using Weblate (French) (Anne Onyme 017) - Translated using Weblate (French) (Anne Onyme 017)
- Translated using Weblate (Galician) (Xosé M) - Translated using Weblate (Galician) (Xosé M)
- Translated using Weblate (German) (Krille) - Translated using Weblate (German) (Christian)
- Translated using Weblate (German) (Jana) - Translated using Weblate (German) (Jana)
- Translated using Weblate (German) (TeemoCell) - Translated using Weblate (German) (TeemoCell)
- Translated using Weblate (Hebrew) (MusiCode1) - Translated using Weblate (Hebrew) (MusiCode1)

View File

@ -1,10 +0,0 @@
FROM ghcr.io/cirruslabs/flutter as builder
RUN sudo apt update && sudo apt install curl -y
COPY . /app
WORKDIR /app
RUN ./scripts/prepare-web.sh
RUN ./scripts/build-web.sh
FROM docker.io/nginx:alpine
RUN rm -rf /usr/share/nginx/html
COPY --from=builder /app/build/web /usr/share/nginx/html

View File

@ -2,15 +2,14 @@
FluffyChat is available on Android, iOS and as a web version. Desktop versions for Windows, Linux and macOS may follow. FluffyChat is available on Android, iOS and as a web version. Desktop versions for Windows, Linux and macOS may follow.
* [Matrix](#matrix) * [Matrix](#1)
* Sentry * [Sentry](#2)
* [Database](#database) * [Database](#3)
* [Encryption](#encryption) * [Encryption](#4)
* [App Permissions](#app-permissions) * [App Permissions](#5)
* [Push Notifications](#push-notifications) * [Push Notifications](#6)
* [Stories](#stories)
## Matrix<a id="matrix"/> ## Matrix<a id="1"/>
FluffyChat uses the Matrix protocol. This means that FluffyChat is just a client that can be connected to any compatible matrix server. The respective data protection agreement of the server selected by the user then applies. FluffyChat uses the Matrix protocol. This means that FluffyChat is just a client that can be connected to any compatible matrix server. The respective data protection agreement of the server selected by the user then applies.
For convenience, one or more servers are set as default that the FluffyChat developers consider trustworthy. The developers of FluffyChat do not guarantee their trustworthiness. Before the first communication, users are informed which server they are connecting to. For convenience, one or more servers are set as default that the FluffyChat developers consider trustworthy. The developers of FluffyChat do not guarantee their trustworthiness. Before the first communication, users are informed which server they are connecting to.
@ -19,17 +18,22 @@ FluffyChat only communicates with the selected server, with sentry.io if enabled
More information is available at: [https://matrix.org](https://matrix.org) More information is available at: [https://matrix.org](https://matrix.org)
## Database<a id="database"/> ## Sentry<a id="2"/>
FluffyChat uses Sentry for crash reports if the user allows it.
More information is available at: [https://sentry.io](https://sentry.io)
## Database<a id="3"/>
FluffyChat caches some data received from the server in a local database on the device of the user. FluffyChat caches some data received from the server in a local database on the device of the user.
More information is available at: [https://pub.dev/packages/hive](https://pub.dev/packages/hive) More information is available at: [https://pub.dev/packages/hive](https://pub.dev/packages/hive)
## Encryption<a id="encryption"/> ## Encryption<a id="4"/>
All communication of substantive content between Fluffychat and any server is done in secure way, using transport encryption to protect it. All communication of substantive content between Fluffychat and any server is done in secure way, using transport encryption to protect it.
FluffyChat is able to use End-To-End-Encryption as a tech preview. FluffyChat is able to use End-To-End-Encryption as a tech preview.
## App Permissions<a id="app-permissions"/> ## App Permissions<a id="5"/>
The permissions are the same on Android and iOS but may differ in the name. This are the Android Permissions: The permissions are the same on Android and iOS but may differ in the name. This are the Android Permissions:
@ -52,7 +56,7 @@ The user is able to send files from the device's file system.
#### Location #### Location
FluffyChat makes it possible to share the current location via the chat. When the user shares their location, FluffyChat uses the device location service and sends the geo-data via Matrix. FluffyChat makes it possible to share the current location via the chat. When the user shares their location, FluffyChat uses the device location service and sends the geo-data via Matrix.
## Push Notifications<a id="push-notifications"/> ## Push Notifications<a id="6"/>
FluffyChat uses the Firebase Cloud Messaging service for push notifications on Android and iOS. This takes place in the following steps: FluffyChat uses the Firebase Cloud Messaging service for push notifications on Android and iOS. This takes place in the following steps:
1. The matrix server sends the push notification to the FluffyChat Push Gateway 1. The matrix server sends the push notification to the FluffyChat Push Gateway
2. The FluffyChat Push Gateway forwards the message in a different format to Firebase Cloud Messaging 2. The FluffyChat Push Gateway forwards the message in a different format to Firebase Cloud Messaging
@ -94,23 +98,3 @@ A typical push notification could look like this:
``` ```
FluffyChat sets the `event_id_only` flag at the Matrix Server. This server is then responsible to send the correct data. FluffyChat sets the `event_id_only` flag at the Matrix Server. This server is then responsible to send the correct data.
## Stories<a id="stories"/>
FluffyChat supports stories which is a feature similar to WhatsApp status or Instagram stories. However it is just a different GUI for the same room-related communication. More information about the feature can be found here:
https://github.com/krillefear/matrix-doc/blob/main/proposals/3588-stories-as-rooms.md
Stories are basically:
- End to end encrypted rooms
- Read-only rooms with only one admin who can post stuff (while there is no technical limitation to have multiple admins)
By default:
- The user has to invite all contacts manually to a story room
- The user can only invite contacts (matrix users the user shares a DM room with) to the story room
- The story room is created when the first story is posted
- User can mute and leave story rooms
The user is informed in the app that in theory all contacts can see each other in the story room. The user must give consent here. However the user is at any time able to create a group chat and invite all of their contacts to this chat in any matrix client which has the same result.

View File

@ -21,6 +21,7 @@ FluffyChat is an open source, nonprofit and cute matrix messenger app. The app i
- Custom themes - Custom themes
- Hides complexity of Matrix IDs behind simple QR codes - Hides complexity of Matrix IDs behind simple QR codes
- Custom emotes and stickers - Custom emotes and stickers
- Video calls via sharing links to Jitsi
- Spaces - Spaces
- Compatible with Element, Nheko, NeoChat and all other Matrix apps - Compatible with Element, Nheko, NeoChat and all other Matrix apps
- End to end encryption - End to end encryption
@ -52,6 +53,4 @@ https://gitlab.com/famedly/fluffychat/-/wikis/How-To-Build
* <a href="https://github.com/googlefonts/noto-emoji/">Noto Emoji Font</a> for the awesome emojis. * <a href="https://github.com/googlefonts/noto-emoji/">Noto Emoji Font</a> for the awesome emojis.
* <a href="https://github.com/madsrh/WoodenBeaver">WoodenBeaver</a> sound theme for the notification sound.
* The Matrix Foundation for making and maintaining the [emoji translations](https://github.com/matrix-org/matrix-doc/blob/main/data-definitions/sas-emoji.json) used for emoji verification, licensed Apache 2.0 * The Matrix Foundation for making and maintaining the [emoji translations](https://github.com/matrix-org/matrix-doc/blob/main/data-definitions/sas-emoji.json) used for emoji verification, licensed Apache 2.0

View File

@ -12,13 +12,13 @@ They are just plain text and are to be translated in full.
``` ```
{username} changed their avatar {username} changed their avatar
``` ```
Contains one or more words surrounded by curly brackets "`{}`". Anything outside of the curly brackets is to be translated as normal, but the words in the curly brackets are **NOT** to be translated. In the above example "`{username}`" will be replaced by the users actual username by FluffyChat. Contains one or more words surrounded by curly brackets "`{}`" anything outside of the curly brackets is to be translated as normal but the words in the curly brackets are **NOT** to be translated. In the above example "`{username}`" will be replaced by the users actual username by fluffychat.
## Plural ## Plural
- {count,plural, =1{**1 more event**} other{{count} **more events**}} - {count,plural, =1{**1 more event**} other{{count} **more events**}}
This is the most complicated string type, the parts in bold are the only parts that need translating in this string. You can identify plural strings by seeing the pattern `{word,plural,` at the start. `=1` and `other` are "selectors" so you can have multiple different translations for different quantities. `other` is the only required selector and will be chosen if the count does not match any other selectors. This is the most complicated string type, the parts in bold are the only parts that need translating in this string. You can identify plural strings by seeing the pattern `{word,plural,` at the start. `=1` and `other` are "selectors" so you can have multiple different translations for different quantities `other` is the only required selector and will be chosen if the count does not match any other selectors.
Selector | Matches Selector | Matches
---|--- ---|---
@ -27,9 +27,9 @@ Selector | Matches
=2 | a count of exactly 2 =2 | a count of exactly 2
other | any number unless it matches a more specific rule other | any number unless it matches a more specific rule
There is also "few" and "many", but they seem to have language specific meaning. There is also "few" and "many" but they seem to have language specific meaning.
Also the selectors do not need to match the English version such as your language may not even use different words for when there is more than one of something so: Also the selectors do not need to match the english version such as your language may not even use different words for when there is more than one of something so:
- {count,plural, other{{count} \<insert translation here\>}} - {count,plural, other{{count} \<insert translation here\>}}
could be a perfectly resonable way to translate. could be a perfectly resonable way to translate.

View File

@ -8,12 +8,11 @@ linter:
- prefer_final_locals - prefer_final_locals
- prefer_final_in_for_each - prefer_final_in_for_each
- sort_pub_dependencies - sort_pub_dependencies
- require_trailing_commas
analyzer: analyzer:
errors: errors:
todo: ignore todo: ignore
use_build_context_synchronously: ignore import_of_legacy_library_into_null_safe: ignore
exclude: exclude:
- lib/generated_plugin_registrant.dart - lib/generated_plugin_registrant.dart
- lib/l10n/*.dart - lib/l10n/*.dart

6
android/.gitignore vendored
View File

@ -5,9 +5,3 @@ gradle-wrapper.jar
/gradlew.bat /gradlew.bat
/local.properties /local.properties
GeneratedPluginRegistrant.java GeneratedPluginRegistrant.java
# Remember to never publicly share your keystore.
# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
key.properties
**/*.keystore
**/*.jks

View File

@ -32,7 +32,7 @@ if (keystorePropertiesFile.exists()) {
} }
android { android {
compileSdkVersion 33 compileSdkVersion 30
sourceSets { sourceSets {
main.java.srcDirs += 'src/main/kotlin' main.java.srcDirs += 'src/main/kotlin'
@ -44,12 +44,11 @@ android {
defaultConfig { defaultConfig {
applicationId "chat.fluffy.fluffychat" applicationId "chat.fluffy.fluffychat"
minSdkVersion 19 minSdkVersion 21
targetSdkVersion 31 targetSdkVersion 30
versionCode flutterVersionCode.toInteger() versionCode flutterVersionCode.toInteger()
versionName flutterVersionName versionName flutterVersionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled true
} }
signingConfigs { signingConfigs {
@ -68,6 +67,9 @@ android {
} }
release { release {
signingConfig signingConfigs.release signingConfig signingConfigs.release
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
} }
} }
} }
@ -79,7 +81,10 @@ flutter {
dependencies { dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
//implementation 'com.google.firebase:firebase-messaging:19.0.1' // Workaround for https://github.com/microg/android_packages_apps_GmsCore/issues/313#issuecomment-617651698 //implementation 'com.google.firebase:firebase-messaging:19.0.1' // Workaround for https://github.com/microg/android_packages_apps_GmsCore/issues/313#issuecomment-617651698
implementation 'androidx.multidex:multidex:2.0.1' testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
implementation 'com.github.UnifiedPush:android-connector:1.2.3' // needed for unifiedpush
} }
//apply plugin: 'com.google.gms.google-services' //apply plugin: 'com.google.gms.google-services'

9
android/app/proguard-rules.pro vendored Normal file
View File

@ -0,0 +1,9 @@
-optimizationpasses 5
## Flutter wrapper
-keep class io.flutter.app.** { *; }
-keep class io.flutter.plugin.** { *; }
-keep class io.flutter.util.** { *; }
-keep class io.flutter.view.** { *; }
-keep class io.flutter.** { *; }
-keep class io.flutter.plugins.** { *; }
-dontwarn io.flutter.embedding.**

View File

@ -1,7 +1,6 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="chat.fluffy.fluffychat"> package="chat.fluffy.fluffychat">
<!-- The INTERNET permission is required for development. Specifically, <!-- Flutter needs it to communicate with the running application
the Flutter tool needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc. to allow setting breakpoints, to provide hot reload, etc.
--> -->
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.INTERNET"/>

View File

@ -1,6 +1,5 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" package="chat.fluffy.fluffychat">
package="chat.fluffy.fluffychat" android:installLocation="auto">
<!-- io.flutter.app.FlutterApplication is an android.app.Application that <!-- io.flutter.app.FlutterApplication is an android.app.Application that
calls FlutterMain.startInitialization(this); in its onCreate method. calls FlutterMain.startInitialization(this); in its onCreate method.
In most cases you can leave this as-is, but you if you want to provide In most cases you can leave this as-is, but you if you want to provide
@ -14,35 +13,21 @@
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.BIND_TELECOM_CONNECTION_SERVICE"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<uses-sdk
tools:overrideLibrary="io.wazo.callkeep, net.touchcapture.qr.flutterqr, com.cloudwebrtc.webrtc, org.webrtc, com.it_nomads.fluttersecurestorage, com.pichillilorenzo.flutter_inappwebview, com.example.video_compress, com.otaliastudios.transcoder, com.otaliastudios.opengl, com.kineapps.flutter_file_dialog, com.llfbandit.record, com.pravera.flutter_foreground_task"/>
<application <application
android:name=".Application"
android:label="FluffyChat" android:label="FluffyChat"
android:icon="@mipmap/ic_launcher" android:icon="@mipmap/ic_launcher"
android:requestLegacyExternalStorage="true" android:requestLegacyExternalStorage="true"
android:allowBackup="false" android:allowBackup="false"
android:fullBackupContent="false" android:fullBackupContent="false">
>
<activity <activity
android:name=".MainActivity" android:name=".MainActivity"
android:launchMode="singleTask" android:launchMode="singleTask"
android:theme="@style/LaunchTheme" android:theme="@style/LaunchTheme"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
android:hardwareAccelerated="true" android:hardwareAccelerated="true"
android:showOnLockScreen="false" android:windowSoftInputMode="adjustResize">
android:turnScreenOn="true"
android:windowSoftInputMode="adjustResize"
android:exported="true">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN"/> <action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/> <category android:name="android.intent.category.LAUNCHER"/>
@ -51,6 +36,14 @@
<action android:name="FLUTTER_NOTIFICATION_CLICK" /> <action android:name="FLUTTER_NOTIFICATION_CLICK" />
<category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DEFAULT" />
</intent-filter> </intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="im.fluffychat" />
</intent-filter>
<intent-filter> <intent-filter>
<action android:name="android.intent.action.VIEW" /> <action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DEFAULT" />
@ -69,7 +62,7 @@
<action android:name="android.intent.action.VIEW" /> <action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" /> <category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="im.fluffychat" android:host="chat" /> <data android:scheme="im.fluffychat" />
</intent-filter> </intent-filter>
<intent-filter> <intent-filter>
<action android:name="android.intent.action.SEND" /> <action android:name="android.intent.action.SEND" />
@ -91,51 +84,24 @@
<category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="video/*" /> <data android:mimeType="video/*" />
</intent-filter> </intent-filter>
</activity> </activity>
<activity <!-- <service android:name=".FcmPushService"
android:name="com.linusu.flutter_web_auth_2.CallbackActivity"
android:exported="true">
<intent-filter android:label="flutter_web_auth">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="im.fluffychat" android:host="login"/>
</intent-filter>
</activity>
<service android:name=".FcmPushService"
android:exported="false"> android:exported="false">
<intent-filter> <intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/> <action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter> </intent-filter>
</service> </service> -->
<service android:name="com.pravera.flutter_foreground_task.service.ForegroundService" <receiver android:exported="true" android:enabled="true" android:name=".UnifiedPushReceiver">
android:foregroundServiceType="camera|microphone|mediaProjection">
</service>
<service android:name="io.wazo.callkeep.VoiceConnectionService"
android:label="Wazo"
android:foregroundServiceType="camera|microphone|mediaProjection"
android:permission="android.permission.BIND_TELECOM_CONNECTION_SERVICE"
android:exported="true">
<intent-filter> <intent-filter>
<action android:name="android.telecom.ConnectionService" /> <action android:name="org.unifiedpush.android.connector.MESSAGE"/>
</intent-filter> <action android:name="org.unifiedpush.android.connector.UNREGISTERED"/>
</service> <action android:name="org.unifiedpush.android.connector.NEW_ENDPOINT"/>
<action android:name="org.unifiedpush.android.connector.REGISTRATION_FAILED" />
<receiver android:name="org.unifiedpush.flutter.connector.UnifiedPushReceiver" <action android:name="org.unifiedpush.android.connector.REGISTRATION_REFUSED" />
tools:replace="android:enabled"
android:enabled="false">
</receiver>
<receiver android:exported="false" android:enabled="true" android:name=".UnifiedPushReceiver">
<intent-filter>
<action android:name="org.unifiedpush.flutter.connector.MESSAGE"/>
<action android:name="org.unifiedpush.flutter.connector.UNREGISTERED"/>
<action android:name="org.unifiedpush.flutter.connector.NEW_ENDPOINT"/>
<action android:name="org.unifiedpush.flutter.connector.REGISTRATION_FAILED" />
</intent-filter> </intent-filter>
</receiver> </receiver>

View File

@ -0,0 +1,17 @@
package chat.fluffy.fluffychat
import io.flutter.app.FlutterApplication
import io.flutter.plugin.common.PluginRegistry
import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback
import io.flutter.view.FlutterMain
class Application : FlutterApplication(), PluginRegistrantCallback {
override fun onCreate() {
super.onCreate()
FlutterMain.startInitialization(this)
}
override fun registerWith(registry: PluginRegistry?) {
}
}

View File

@ -4,15 +4,14 @@ import io.flutter.embedding.android.FlutterActivity
import io.flutter.embedding.engine.FlutterEngine import io.flutter.embedding.engine.FlutterEngine
import android.content.Context import android.content.Context
import androidx.multidex.MultiDex import android.os.Bundle
import android.util.Log
import android.view.WindowManager
class MainActivity : FlutterActivity() { class MainActivity : FlutterActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
override fun attachBaseContext(base: Context) { super.onCreate(savedInstanceState)
super.attachBaseContext(base) };
MultiDex.install(this)
}
override fun provideFlutterEngine(context: Context): FlutterEngine? { override fun provideFlutterEngine(context: Context): FlutterEngine? {
return provideEngine(this) return provideEngine(this)
@ -25,7 +24,7 @@ class MainActivity : FlutterActivity() {
companion object { companion object {
var engine: FlutterEngine? = null var engine: FlutterEngine? = null
fun provideEngine(context: Context): FlutterEngine { fun provideEngine(context: Context): FlutterEngine {
val eng = engine ?: FlutterEngine(context, emptyArray(), true, false) var eng = engine ?: FlutterEngine(context, emptyArray(), true, false)
engine = eng engine = eng
return eng return eng
} }

View File

@ -1,23 +1,36 @@
package chat.fluffy.fluffychat package chat.fluffy.fluffychat
import org.unifiedpush.flutter.connector.UnifiedPushHandler
import chat.fluffy.fluffychat.MainActivity
import io.flutter.embedding.android.FlutterActivity
import io.flutter.embedding.engine.FlutterEngine import io.flutter.embedding.engine.FlutterEngine
import io.flutter.embedding.engine.dart.DartExecutor import io.flutter.view.FlutterMain
import org.unifiedpush.flutter.connector.UnifiedPushReceiver import io.flutter.embedding.engine.dart.DartExecutor.DartEntrypoint
import org.unifiedpush.android.connector.MessagingReceiver
import android.content.Context import android.content.Context
import android.os.Bundle
import android.util.Log
import android.view.WindowManager
class UnifiedPushReceiver : UnifiedPushReceiver() { val receiverHandler = object : UnifiedPushHandler() {
override fun getEngine(context: Context): FlutterEngine { override fun getEngine(context: Context): FlutterEngine {
return provideEngine(context)
}
fun provideEngine(context: Context): FlutterEngine {
var engine = MainActivity.engine var engine = MainActivity.engine
if (engine == null) { if (engine == null) {
engine = MainActivity.provideEngine(context) engine = MainActivity.provideEngine(context)
engine.localizationPlugin.sendLocalesToFlutter( engine.getLocalizationPlugin().sendLocalesToFlutter(
context.resources.configuration context.getResources().getConfiguration())
) engine.getDartExecutor().executeDartEntrypoint(
engine.dartExecutor.executeDartEntrypoint( DartEntrypoint.createDefault())
DartExecutor.DartEntrypoint.createDefault()
)
} }
return engine return engine
} }
} }
class UnifiedPushReceiver : MessagingReceiver(receiverHandler)

File diff suppressed because one or more lines are too long

View File

@ -2,5 +2,4 @@
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background"/> <background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@drawable/ic_launcher_foreground"/> <foreground android:drawable="@drawable/ic_launcher_foreground"/>
<monochrome android:drawable="@drawable/ic_launcher_monochrome"/>
</adaptive-icon> </adaptive-icon>

View File

@ -1,7 +1,6 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="chat.fluffy.fluffychat"> package="chat.fluffy.fluffychat">
<!-- The INTERNET permission is required for development. Specifically, <!-- Flutter needs it to communicate with the running application
the Flutter tool needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc. to allow setting breakpoints, to provide hot reload, etc.
--> -->
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.INTERNET"/>

View File

@ -1,12 +1,12 @@
buildscript { buildscript {
ext.kotlin_version = '1.8.0' ext.kotlin_version = '1.4.32'
repositories { repositories {
google() google()
mavenCentral() jcenter()
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:7.1.2' classpath 'com.android.tools.build:gradle:4.2.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
//classpath 'com.google.gms:google-services:4.3.8' //classpath 'com.google.gms:google-services:4.3.8'
} }
@ -15,7 +15,7 @@ buildscript {
allprojects { allprojects {
repositories { repositories {
google() google()
mavenCentral() jcenter()
} }
} }
@ -27,6 +27,6 @@ subprojects {
project.evaluationDependsOn(':app') project.evaluationDependsOn(':app')
} }
tasks.register("clean", Delete) { task clean(type: Delete) {
delete rootProject.buildDir delete rootProject.buildDir
} }

View File

@ -1,56 +1,39 @@
fastlane documentation fastlane documentation
---- ================
# Installation # Installation
Make sure you have the latest version of the Xcode command line tools installed: Make sure you have the latest version of the Xcode command line tools installed:
```sh ```
xcode-select --install xcode-select --install
``` ```
For _fastlane_ installation instructions, see [Installing _fastlane_](https://docs.fastlane.tools/#installing-fastlane) Install _fastlane_ using
```
[sudo] gem install fastlane -NV
```
or alternatively using `brew install fastlane`
# Available Actions # Available Actions
## Android ## Android
### android set_build_code_internal ### android set_build_code_internal
```sh
[bundle exec] fastlane android set_build_code_internal
``` ```
fastlane android set_build_code_internal
```
### android deploy_internal_test ### android deploy_internal_test
```sh
[bundle exec] fastlane android deploy_internal_test
``` ```
fastlane android deploy_internal_test
### android deploy_candidate
```sh
[bundle exec] fastlane android deploy_candidate
``` ```
### android deploy_release ### android deploy_release
```sh
[bundle exec] fastlane android deploy_release
``` ```
fastlane android deploy_release
```
---- ----
This README.md is auto-generated and will be re-generated every time [_fastlane_](https://fastlane.tools) is run. This README.md is auto-generated and will be re-generated every time [_fastlane_](https://fastlane.tools) is run.
More information about fastlane can be found on [fastlane.tools](https://fastlane.tools).
More information about _fastlane_ can be found on [fastlane.tools](https://fastlane.tools). The documentation of fastlane can be found on [docs.fastlane.tools](https://docs.fastlane.tools).
The documentation of _fastlane_ can be found on [docs.fastlane.tools](https://docs.fastlane.tools).

View File

@ -1,68 +0,0 @@
FluffyChat 1.6.0 features a lot of bug fixes and improvements. The code base has been
simplified and the drawer on the chat list page got a come-back. Some new features like
the space hierarchy and session dump have been implemented.
- feat: Added monochrome entry for themed icon support in Android 13 (James Reilly)
- feat: Display timeline of messages in android notification (Christian Pauly)
- feat: Emoji related fixes (TheOneWithTheBraid)
- feat: Implement deleting pushers in app (Christian Pauly)
- feat: New material 3 design (Christian Pauly)
- feat: Redesign bootsstrap and offer secure storage support (Christian Pauly)
- feat: Send multiple images at once (Christian Pauly)
- feat: implement session dump (TheOneWithTheBraid)
- feat: implement space hierarchy (TheOneWithTheBraid)
- feat: introduce extended integration tests (TheOneWithTheBraid)
- feat: libhandy integration (TheOneWithTheBraid)
- fix: Clearing push triggered when only one room got seen (Christian Pauly)
- fix: Dont display loading dialog when adding reaction (Christian Pauly)
- fix: Follow up for spaces hierarchy (TheOneWithTheBraid)
- fix: Missing null checks in chat details view (Christian Pauly)
- fix: Non FCM Android builds crash on start (Christian Pauly)
- fix: Permission chooser dialog on iOS (Christian Pauly)
- fix: Set avatar on only single action available (Christian Pauly)
- fix: Sharing on iOS and iPad (Christian Pauly)
- fix: Unread bubble is invisible in dark mode (Christian Pauly)
- fix: appimage builds (TheOneWithTheBraid)
- fix: only use custom http client on android (Jayesh Nirve)
- fix: pass isrg cert to http client (Jayesh Nirve)
- refactor: Chat view (Christian Pauly)
- refactor: Encryption button (Christian Pauly)
- refactor: Remove duplicated imports (Christian Pauly)
- refactor: Remove legacy store (Christian Pauly)
- refactor: Remove presence status feature (Christian Pauly)
- refactor: Simplify MxcImage and replace CachedNetworkImage (Christian Pauly)
- refactor: Switch to Hive Collections DB (Christian Pauly)
- refactor: move start chat FAB to implementation file (TheOneWithTheBraid)
- Translated using Weblate (Catalan) (Alfonso Montero López)
- Translated using Weblate (Catalan) (Auri B.P)
- Translated using Weblate (Chinese (Simplified)) (Eric)
- Translated using Weblate (Croatian) (Milo Ivir)
- Translated using Weblate (Dutch) (Jelv)
- Translated using Weblate (English) (Raatty)
- Translated using Weblate (Estonian) (Priit Jõerüüt)
- Translated using Weblate (Finnish) (Aminda Suomalainen)
- Translated using Weblate (Galician) (Xosé M)
- Translated using Weblate (Indonesian) (Linerly)
- Translated using Weblate (Persian) (Amir Hossein Maher)
- Translated using Weblate (Polish) (Przemysław Romanik)
- Translated using Weblate (Russian) (Nikita Epifanov)
- Translated using Weblate (Turkish) (Oğuz Ersen)
- Translated using Weblate (Ukrainian) (Ihor Hordiichuk)
- chore: Add border to avatars (Christian Pauly)
- chore: Add fancy hero animations (Christian Pauly)
- chore: Adjust appbar design (Christian Pauly)
- chore: Adjust design (Christian Pauly)
- chore: Adjust search bar design (Christian Pauly)
- chore: Always display header elevation in chat (Christian Pauly)
- chore: Design follow up fixes (Christian Pauly)
- chore: Design follow up fixes (Christian Pauly)
- chore: Disable integration tests without runners (Krille Fear)
- chore: Enhance invitiation UX (Christian Pauly)
- chore: Make push helper more fail safe (Christian Pauly)
- chore: Make push helper more stable (Christian Pauly)
- chore: Minor design improvements (Christian Pauly)
- chore: Pinned events design (Christian Pauly)
- chore: Remove permission handler dependency and increase compileSdkVersion (Christian Pauly)
- chore: Switch to flutter 3.0.5 (Krille Fear)
- chore: Update SDK (Christian Pauly)
- chore: remove snapping sheet (TheOneWithTheBraid)

View File

@ -22,7 +22,7 @@ Decentralized
There is no "FluffyChat server" you are forced to use. Use the server you find trustworthy or host your own. There is no "FluffyChat server" you are forced to use. Use the server you find trustworthy or host your own.
Compatible Compatible
Compatible with Element, Fractal, Nekho and all matrix messengers. Compatible with Riot, Fractal, Nekho and all matrix messengers.
FluffyChat comes with a dream FluffyChat comes with a dream

View File

@ -5,17 +5,17 @@
<testcase classname="fastlane.lanes" name="0: update_fastlane" time="1.455419"> <testcase classname="fastlane.lanes" name="0: update_fastlane" time="0.000489805">
</testcase> </testcase>
<testcase classname="fastlane.lanes" name="1: default_platform" time="0.000127"> <testcase classname="fastlane.lanes" name="1: default_platform" time="0.000295551">
</testcase> </testcase>
<testcase classname="fastlane.lanes" name="2: google_play_track_version_codes" time="2.638619"> <testcase classname="fastlane.lanes" name="2: google_play_track_version_codes" time="1.551277547">
</testcase> </testcase>

View File

@ -1,3 +1,4 @@
org.gradle.jvmargs=-Xmx1536M org.gradle.jvmargs=-Xmx1536M
android.enableR8=true
android.useAndroidX=true android.useAndroidX=true
android.enableJetifier=true android.enableJetifier=true

View File

@ -1,6 +1,5 @@
#Fri Jun 23 08:50:38 CEST 2017
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip distributionUrl=https\://services.gradle.org/distributions/gradle-6.9-all.zip

View File

@ -1,11 +1,15 @@
include ':app' include ':app'
def localPropertiesFile = new File(rootProject.projectDir, "local.properties") def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
def properties = new Properties()
assert localPropertiesFile.exists() def plugins = new Properties()
localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
if (pluginsFile.exists()) {
pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
}
def flutterSdkPath = properties.getProperty("flutter.sdk") plugins.each { name, path ->
assert flutterSdkPath != null, "flutter.sdk not set in local.properties" def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" include ":$name"
project(":$name").projectDir = pluginDirectory
}

View File

@ -0,0 +1 @@
include ':app'

3
appimage/.gitignore vendored
View File

@ -1,3 +0,0 @@
FluffyChat.AppDir
*.AppImage
*.AppImage.zsync

View File

@ -1,4 +0,0 @@
#!/bin/sh
cd "$(dirname "$0")"
exec ./fluffychat

View File

@ -1,9 +0,0 @@
[Desktop Entry]
Type=Application
Version=1.0
Name=FluffyChat
Comment=Matrix Client. Chat with your friends
Exec=AppRun
Icon=fluffychat
Terminal=false
Categories=Network;Chat;InstantMessaging;X-Matrix;

View File

@ -1,24 +0,0 @@
# FluffyChat AppImage
FluffyChat is provided as AppImage too. To Download, visit fluffychat.im.
## Building
- Ensure you install `appimagetool`
```shell
flutter build linux
# copy binaries to appimage dir
cp -r build/linux/{x64,arm64}/release/bundle appimage/FluffyChat.AppDir
cd appimage
# prepare AppImage files
cp FluffyChat.desktop FluffyChat.AppDir/
mkdir -p FluffyChat.AppDir/usr/share/icons
cp ../assets/logo.svg FluffyChat.AppDir/fluffychat.svg
cp AppRun FluffyChat.AppDir
# build the AppImage
appimagetool FluffyChat.AppDir
```

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

@ -1,168 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 22.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
version="1.1"
x="0px"
y="0px"
viewBox="0 0 640 640"
xml:space="preserve"
id="svg24"
sodipodi:docname="info-logo.svg"
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14, custom)"
width="640"
height="640"
inkscape:export-filename="info-logo.png"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs29" /><sodipodi:namedview
id="namedview26"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#505050"
showgrid="false"
inkscape:zoom="1.4142136"
inkscape:cx="235.113"
inkscape:cy="375.4737"
inkscape:window-width="1920"
inkscape:window-height="1012"
inkscape:window-x="1920"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg24" />
<style
type="text/css"
id="style2">
.st0{fill:url(#SVGID_1_);}
.st1{fill:#F094BE;}
.st2{fill:#4D3F92;}
.st3{fill:#FFFFFF;}
</style>
<text
xml:space="preserve"
style="font-size:26.6667px;line-height:1.25;font-family:'Noto Sans Linear B';-inkscape-font-specification:'Noto Sans Linear B';display:none;fill:#ff0000;fill-opacity:0.993491"
x="94.643097"
y="633.18518"
id="text455"
inkscape:label="Note: I do not know the original font used...."
sodipodi:insensitive="true"><tspan
sodipodi:role="line"
id="tspan453"
x="0"
y="0"
style="font-size:26.6667px;fill:#ff0000;fill-opacity:0.993491">Note: I do not know the original font used....</tspan></text><g
id="Capa_2"
transform="matrix(1.6168892,0,0,1.6168895,172.88889,94.00966)"
style="image-rendering:auto">
<g
id="g21"
transform="translate(9.4535881e-5,0.46581846)">
<path
class="st2"
d="m 151.6,95.1 c 1.5,-0.3 2.8,-1 3.8,-2 4,-5.3 0.8,-11.8 -4.5,-12.6 -0.8,0 -1.5,-0.8 -1.5,-1.5 0,-0.3 0,-0.5 0,-0.5 0.8,-0.8 1.5,-1.8 2.5,-3.3 8.1,-10.8 11.8,-50.6 3.8,-53.7 -9.8,-3.3 -29.7,6.3 -38.3,17.4 -0.5,-0.3 -1,-1 -1,-1.8 0.3,-3 -1.3,-5.5 -3.5,-6.8 -4.5,-2.3 -8.8,0 -10.6,3.3 -0.5,0.8 -1.3,1.3 -2,1 -0.8,0 -1.5,-0.8 -1.5,-1.5 -0.5,-2.5 -2,-4.5 -4.3,-5.5 -4.8,-2 -9.8,0.8 -10.6,5.3 -0.3,0.8 -0.8,1.5 -1.5,1.5 -0.8,0.3 -1.5,-0.3 -2,-1 -1.5,-2.3 -4,-3.8 -6.5,-3.8 -4,0 -7.6,3.3 -7.8,7.3 v 0.3 0.3 c 0,0.8 -0.5,1.5 -1,1.8 H 64.8 C 56.5,28.5 36.3,18.6 26.3,21.9 c -8.1,2.8 -4.3,42.6 4,53.4 1.5,2 2.8,3.5 3.8,4.5 -0.3,0.8 -1,1.5 -1.8,1.5 -1.3,0 -2.5,0.5 -3.5,1.3 -5.3,5 -2.3,12.1 3,13.4 0.8,0.3 1.5,1 1.5,1.8 0,0.8 -0.5,1.8 -1.3,2 -1,0.5 -2,1 -2.8,2 -4,5.8 0,12.3 5.5,12.3 0.8,0 1.5,0.5 1.8,1.3 0.3,0.8 0.3,1.5 -0.5,2 -1.5,1.5 -2.3,3.5 -2,5.5 0.3,2.8 2,5.3 4.8,6.5 1.5,0.8 3,0.8 4.5,0.5 0.8,-0.3 1.5,0 2,0.8 0.5,0.5 0.5,1.5 0.3,2 -0.8,1.5 -1,3.3 -0.5,5 0.8,2.8 2.8,4.8 5.5,5.5 2.5,0.5 4.3,-0.3 5.5,-0.8 0.5,-0.3 -3.3,9.1 -6,15.4 -0.8,2 1.3,4.3 3.5,3.3 8.3,-3.8 22.2,-10.3 22.2,-9.8 0.5,5.3 6.5,9.1 12.3,5.3 1.3,-0.8 2,-2.3 2.3,-3.5 0.3,-0.8 1,-1.5 2,-1.5 1,0 1.8,0.5 2,1.5 0.3,1.3 0.8,2.3 1.8,3 5.8,4.5 12.3,0.8 12.8,-4.8 0,-0.8 0.5,-1.5 1.3,-1.8 0.8,-0.3 1.5,0 2,0.5 1.5,1.5 3.3,2.5 5.3,2.5 v 0 c 2.5,0 5,-1.3 6.5,-3.8 1,-1.5 1.3,-3 1,-5 0,-0.8 0.3,-1.5 0.8,-2 0.5,-0.5 1.5,-0.5 2,0 1.5,0.8 3.3,1.3 5,0.8 2.8,-0.5 5,-2.8 5.8,-5.3 0.5,-1.8 0.3,-3.5 -0.5,-5.3 -0.3,-0.8 -0.3,-1.5 0.3,-2 0.6,-0.5 1.3,-0.8 2,-0.8 1.8,0.3 3.3,0.3 4.8,-0.5 2.3,-1 3.8,-3 4.3,-5.5 0.5,-2.5 -0.3,-4.8 -2,-6.5 -0.5,-0.5 -0.8,-1.3 -0.5,-2 0.3,-0.7 1,-1.3 1.8,-1.3 1.8,0 3.8,-0.5 5,-2 4.3,-4.5 2.3,-10.6 -2.5,-12.6 -0.8,-0.3 -1.3,-1 -1.3,-2 0,-0.9 0.7,-1.6 1.5,-1.6 z"
id="path7"
style="stroke:#ffffff;stroke-width:4.32930058;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke markers fill" />
<path
class="st3"
d="m 131.4,42.2 c 0.5,1.5 0.5,3 0,4.5 -0.3,0.8 0,1.5 0.5,2 0.5,0.5 1.3,0.8 2,0.5 1,-0.5 2,-0.5 3,-0.5 2.3,0 4.3,1 5.8,3 1,1.3 1.8,3 1.5,4.8 0,1.5 -0.5,2.8 -1.3,4 -0.5,0.5 -0.5,1.5 0,2 0.3,0.3 0.5,0.8 1,0.8 1,-0.3 2,-1 2.8,-2 4.5,-6.3 5.3,-26.2 0.8,-27.7 -4.5,-1.5 -12.3,1.5 -17.9,6 1.1,0.5 1.6,1.3 1.8,2.6 z"
id="path9" />
<path
class="st3"
d="m 39,63.6 c 0.3,-0.3 0.5,-0.5 0.8,-0.8 0.5,-0.8 0.3,-1.5 0,-2 C 38.5,59 38.2,57 38.5,55 39,52.2 41.3,50 44,49.2 c 1.5,-0.5 3,-0.3 4.5,0.3 0.8,0.3 1.5,0 2,-0.5 0.5,-0.5 0.8,-1.3 0.5,-2 -0.5,-1.5 -0.5,-3 0,-4.5 0.3,-1 0.8,-2 1.5,-2.8 -5.5,-4.5 -13.9,-7.8 -18.4,-6.3 -4.5,1.5 -3.7,21.4 0.9,27.7 1,1.5 2.2,2.2 4,2.5 z"
id="path11" />
<g
id="g19">
<circle
class="st3"
cx="60.900002"
cy="94.599998"
r="9.3000002"
id="circle13" />
<path
class="st3"
d="m 100.7,94.6 c 0,5.3 -4.3,9.3 -9.3,9.3 -5.3,0 -9.3,-4.3 -9.3,-9.3 0,-5 18.6,-5.3 18.6,0 z"
id="path15" />
<circle
class="st3"
cx="121.6"
cy="94.599998"
r="9.3000002"
id="circle17" />
</g>
</g>
</g><g
id="g2720"
inkscape:label="fluffychat"
style="display:inline;stroke:#ffffff;stroke-width:7.6066007;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
transform="matrix(0.92025338,0,0,0.92025338,-6.3220161,-4.7055202)"><g
id="g14535"
inkscape:label="chat"
style="fill:#00a1bc;fill-opacity:1;stroke:#ffffff;stroke-width:7.6066007;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"><path
style="color:#000000;fill:#00a1bc;fill-opacity:1;stroke:#ffffff;stroke-width:7.6066007;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
d="m 562.92197,448.4866 c -2.60917,-0.30486 -5.17384,1.64339 -5.69858,4.21245 -0.55728,2.72842 -0.24323,7.91189 -0.24323,7.91189 -2.74579,-0.0686 -5.55869,-0.59559 -7.95219,1.32171 -2.65609,2.12765 -2.58626,7.00643 0,8.95134 2.34163,1.76095 7.95219,1.25707 7.95219,1.25707 0,10.01284 3.8e-4,19.77116 0,29.784 0.49843,4.92696 4.90461,8.87339 9.77862,9.22679 3.37489,0.31796 6.92487,0.1972 10.13895,-0.94458 2.75868,-1.13315 4.655,-4.36744 3.42462,-7.26639 -0.79803,-2.84864 -4.22476,-3.70476 -6.73165,-2.71773 -2.98388,1.72425 -4.84172,-1.67013 -4.47089,-4.25546 -0.0315,-8.02703 0.014,-16.05409 0.003,-24.08114 2.70412,-0.0577 5.42586,0.12654 8.11662,-0.11491 4.83581,-0.90643 5.26253,-8.45876 0.98226,-10.6606 -1.74161,-0.89591 -5.46982,-0.20326 -9.09888,-0.20326 0,0 0.006,-8.17372 -0.31554,-8.93716 -0.95528,-2.26675 -3.55257,-3.48402 -5.8856,-3.48402 z"
id="path14479"
sodipodi:nodetypes="sscssscccsscccscsss"
inkscape:label="t" /><path
style="color:#000000;fill:#00a1bc;fill-opacity:1;stroke:#ffffff;stroke-width:7.6066007;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
d="m 533.83203,458.7646 c -3.15141,-0.34296 -5.3587,2.78921 -5.64507,5.62849 -4.36454,-3.26144 -9.61516,-5.8459 -15.20756,-5.3963 -6.1831,0.04 -12.19324,2.65617 -16.52963,7.04459 -4.78443,4.13385 -6.10787,10.65878 -6.45154,16.67045 -0.74696,9.79875 2.9723,20.42469 11.3567,26.07195 4.72285,3.21814 10.72707,3.94029 16.29823,3.34602 3.96818,-0.47405 7.23684,-2.99092 10.0626,-5.63903 0.94876,3.35182 4.62364,5.93313 8.09234,4.68427 2.67575,-0.73754 4.24888,-3.52866 3.90033,-6.20541 -0.023,-13.74703 0.0461,-27.49708 -0.0348,-41.24221 -0.22956,-2.88413 -2.96011,-5.18257 -5.84164,-4.96282 z m -5.64507,23.94723 c 1.07828,6.5283 -1.60114,14.12719 -7.86545,17.06103 -4.79574,2.30687 -11.28382,1.71783 -14.76373,-2.60852 -4.1706,-4.99711 -5.43623,-12.34122 -2.74467,-18.33861 1.20342,-3.17686 3.3771,-6.03449 6.51321,-7.48705 5.19868,-2.91069 11.95962,-0.98785 15.64553,3.45474 1.89114,2.17769 3.29829,4.97591 3.21511,7.91841 z"
id="path12957"
sodipodi:nodetypes="ccsssscccscccscc"
inkscape:label="a" /><path
style="color:#000000;fill:#00a1bc;fill-opacity:1;stroke:#ffffff;stroke-width:7.6066007;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
d="m 443.06641,439.94141 c -3.26433,-0.0465 -6.38452,2.89404 -5.90305,6.25001 0.0229,19.9673 -0.0459,39.93753 0.0344,59.903 0.62565,4.36445 6.57701,6.42025 9.82803,3.46417 2.47654,-1.86092 1.63462,-5.09581 1.78481,-7.74763 0.014,-6.16519 -0.16754,-10.96992 0,-17.13031 0.10617,-3.90402 0.32092,-9.9351 3.79481,-12.41759 3.66729,-2.85819 10.09275,-3.39125 13.27607,-0.31533 3.28466,3.17383 3.05437,10.54267 3.05369,11.74336 -0.005,8.0496 -0.0355,16.10183 0.0353,24.14882 0.80701,3.40737 5.32389,3.39114 8.08366,2.86381 3.60962,-0.47168 4.05352,-4.29795 3.6902,-7.21157 -0.059,-9.29553 0.25875,-18.60594 -0.25343,-27.89111 -0.49072,-5.78736 -2.03801,-10.89373 -6.23092,-13.58338 -5.57775,-3.57799 -14.24081,-3.55982 -19.88013,0 l -5.56919,3.51556 c -0.0217,-6.95923 0.0434,-13.9211 -0.0327,-20.87868 -0.34574,-2.71871 -3.05656,-4.71379 -5.71157,-4.71313 z"
id="path12939"
sodipodi:nodetypes="sscssscssssscascccs"
inkscape:label="h" /><path
style="color:#000000;fill:#00a1bc;fill-opacity:1;stroke:#ffffff;stroke-width:7.6066007;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
d="m 391.91477,465.80108 c -7.57016,7.75562 -8.50788,19.94372 -5.30926,29.86701 3.38934,9.70476 13.24407,16.98333 23.65486,16.44674 6.17898,0.0435 12.93496,-1.24727 17.5401,-5.62829 2.78827,-3.46147 -0.34158,-10.49924 -5.13073,-8.5498 -3.84026,1.83312 -7.88892,3.96797 -12.31147,3.2528 -7.29184,-0.63102 -13.62087,-6.9993 -13.71248,-14.4019 -0.47868,-6.96567 3.61497,-14.86735 10.88009,-16.32616 4.0948,-0.89565 8.1361,0.43964 11.84821,2.0877 2.74473,1.20129 6.92733,2.38997 8.54085,-1.1092 2.05726,-3.93759 -1.06922,-8.39249 -4.75218,-9.94292 -7.03297,-3.7132 -15.61905,-3.33367 -23.00158,-0.92478 -3.03694,1.2244 -5.80603,3.05639 -8.24641,5.2288 z"
id="path12912"
sodipodi:nodetypes="ssssscccssssssccccss"
inkscape:label="c" /></g><g
id="g14529"
inkscape:label="fluffy"
style="fill:#444444;fill-opacity:1;stroke:#ffffff;stroke-width:7.6066007;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"><path
style="color:#000000;fill:#444444;fill-opacity:1;stroke:#ffffff;stroke-width:7.6066007;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
d="m 364.1013,507.69269 c -0.28866,4.09909 -1.36926,8.95002 -5.67816,10.59919 -4.72351,1.73746 -10.372,1.86184 -14.85523,-0.654 -3.7123,-2.44424 -9.3586,0.29378 -8.95093,4.93619 0.18108,4.54251 4.91635,6.57172 8.83075,6.98673 8.42045,1.69401 18.29318,1.4336 25.17485,-4.32187 4.05818,-3.36451 7.25406,-8.26315 6.89092,-13.72643 0.55108,-15.0706 0.12618,-30.15744 0.2469,-45.233 0,-5.07272 -4.90962,-8.01177 -8.99688,-5.70693 -3.44378,2.45795 -2.39927,9.5583 -2.66313,14.77473 -0.0893,6.25566 0.19851,12.54437 -0.16132,18.7791 -1.9182,7.73184 -13.50136,9.71442 -18.10525,3.34532 -2.59461,-4.37765 -1.10335,-9.66951 -1.51487,-14.47456 -0.1096,-6.36844 0.2575,-12.78073 -0.2057,-19.12097 -1.55752,-5.57454 -11.54277,-5.31263 -11.57028,0.97725 -0.0947,10.73576 -0.20144,21.49831 0.0772,32.23681 0.40229,5.90824 3.9844,11.55506 9.57033,13.81024 7.19201,3.59272 15.68253,1.22319 21.91078,-3.2078 z"
id="path8185"
sodipodi:nodetypes="sasssccccccszssssss"
inkscape:label="y" /><use
x="0"
y="0"
xlink:href="#path8140"
id="use8146-8"
transform="translate(160.70024)"
inkscape:label="f"
style="fill:#444444;fill-opacity:1;stroke:#ffffff;stroke-width:7.6066007;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" /><use
x="0"
y="0"
xlink:href="#path8140"
id="use8146"
transform="translate(120.79317)"
inkscape:label="f"
style="fill:#444444;fill-opacity:1;stroke:#ffffff;stroke-width:7.6066007;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers" /><path
style="color:#000000;fill:#444444;fill-opacity:1;stroke:#ffffff;stroke-width:7.6066007;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
d="m 203.09961,459.81323 c -3.4821,0.005 -6.38987,3.50283 -5.7894,6.9306 0.0673,9.26978 -0.15327,18.54633 0.13261,27.81164 0.35452,5.09017 2.57678,10.21523 6.82972,13.22644 5.55736,4.38774 13.10608,4.7518 19.86263,3.9702 6.13229,-0.79837 11.54541,-4.96558 14.38597,-10.38016 2.82972,-5.25148 2.04801,-11.37621 2.1897,-17.10493 -0.10216,-6.59361 0.13071,-13.20167 -0.0996,-19.78723 -0.72775,-3.82018 -5.84877,-6.11481 -8.99816,-3.58329 -2.51578,1.5391 -2.9212,4.6479 -2.62583,7.32275 -0.008,7.68886 0.16168,15.38634 -0.0559,23.06981 -0.48698,3.93482 -2.69157,8.39569 -6.95923,9.17239 -3.94192,0.90809 -9.00029,0.30019 -11.2182,-3.51487 -2.44119,-4.33438 -1.38965,-9.47747 -1.63329,-14.21621 -0.005,-5.96309 0.0606,-11.92636 -0.006,-17.88931 -0.48316,-2.81114 -3.21405,-4.945 -6.01521,-5.02783 z"
id="path1096"
inkscape:label="u"
sodipodi:nodetypes="sssssssssssasss" /><path
style="color:#000000;fill:#444444;fill-opacity:1;stroke:#ffffff;stroke-width:7.6066007;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
d="m 178.07031,440.24903 c -2.94273,-0.099 -6.12137,2.26392 -5.66929,5.43981 0.006,20.3714 -0.0127,40.74317 0.01,61.11433 0.23114,3.95816 5.38988,5.36394 8.48062,3.72849 2.17789,-0.83721 3.06822,-3.17125 2.82068,-5.34227 0,-20.07299 0,-40.14599 0,-60.21898 0.0267,-2.89989 -3.02815,-4.71312 -5.64156,-4.72138 z"
id="path1226"
inkscape:label="l"
sodipodi:nodetypes="sssssss" /><path
style="color:#000000;fill:#444444;fill-opacity:1;stroke:#ffffff;stroke-width:7.6066007;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
d="m 139.73461,448.98277 c -1.14826,3.54622 -0.82212,7.38974 -0.94471,11.07629 -3.09968,0.1617 -6.7129,-0.69772 -9.15473,1.75098 -2.7547,2.92023 -1.92459,9.01668 2.44338,9.87866 2.20538,0.45339 4.47409,0.19142 6.71135,0.26152 0.0152,11.5529 -0.0304,23.10713 0.0229,34.65919 -0.10894,3.56452 3.75176,4.97291 6.73777,4.56755 3.00221,0.16258 5.93165,-2.21911 5.51966,-5.39349 0,-11.27775 0,-22.5555 0,-33.83325 3.22434,-0.0869 6.4758,0.20412 9.67787,-0.21167 4.22512,-0.5039 5.63076,-6.354 2.95775,-9.24029 -2.71637,-2.28723 -6.44022,-1.38284 -9.70112,-1.5715 -0.97817,0 -1.95633,0 -2.9345,0 -0.005,-2.94202 -0.4927,-6.38548 1.50629,-8.82582 2.27205,-1.97081 5.68412,-1.89124 8.14223,-0.31788 3.12241,1.35659 5.95844,-2.03832 6.28128,-4.89774 0.55889,-3.56544 -2.59547,-6.6544 -6.01774,-6.93035 -7.34549,-1.08714 -15.56841,1.21331 -20.11043,7.37767 -0.40614,0.53074 -0.78524,1.08209 -1.13728,1.65013 z"
id="path8140"
inkscape:label="f"
sodipodi:nodetypes="scszscszscszscsszcs" /></g></g></svg>

Before

Width:  |  Height:  |  Size: 15 KiB

1
assets/js/package/olm.js Normal file
View File

@ -0,0 +1 @@
// Dummy file :-)

File diff suppressed because it is too large Load Diff

View File

@ -21,5 +21,10 @@
"@account": { "@account": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
},
"accountInformation": "অ্যাকাউন্ট তথ্য",
"@accountInformation": {
"type": "text",
"placeholders": {}
} }
} }

View File

@ -1 +0,0 @@
{}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1 +0,0 @@
{}

File diff suppressed because it is too large Load Diff

View File

@ -22,6 +22,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"accountInformation": "Informoj pri konto",
"@accountInformation": {
"type": "text",
"placeholders": {}
},
"activatedEndToEndEncryption": "{username} aktivigis tutvojan ĉifradon", "activatedEndToEndEncryption": "{username} aktivigis tutvojan ĉifradon",
"@activatedEndToEndEncryption": { "@activatedEndToEndEncryption": {
"type": "text", "type": "text",
@ -39,6 +44,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"addNewFriend": "Aldoni novan amikon",
"@addNewFriend": {
"type": "text",
"placeholders": {}
},
"admin": "Administranto", "admin": "Administranto",
"@admin": { "@admin": {
"type": "text", "type": "text",
@ -59,6 +69,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"alreadyHaveAnAccount": "Ĉu vi jam havas konton?",
"@alreadyHaveAnAccount": {
"type": "text",
"placeholders": {}
},
"answeredTheCall": "{senderName} respondis la vokon", "answeredTheCall": "{senderName} respondis la vokon",
"@answeredTheCall": { "@answeredTheCall": {
"type": "text", "type": "text",
@ -81,6 +96,11 @@
"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",
@ -96,11 +116,21 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"askSSSSCache": "Bonvolu enigi pasfrazon de via sekura deponejo aŭ rehavan ŝlosilon por kaŝmemori la ŝlosilojn.",
"@askSSSSCache": {
"type": "text",
"placeholders": {}
},
"askSSSSSign": "Por ke vi povu kontroli (subskribi) la alian personon, bonvolu enigi pasfrazon de via sekreta deponejo aŭ vian rehavan ŝlosilon.", "askSSSSSign": "Por ke vi povu kontroli (subskribi) la alian personon, bonvolu enigi pasfrazon de via sekreta deponejo aŭ vian rehavan ŝlosilon.",
"@askSSSSSign": { "@askSSSSSign": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"askSSSSVerify": "Bonvolu enigi pasfrazon de via sekura deponejo aŭ vian rehavan ŝlosilon por kontroli vian salutaĵon.",
"@askSSSSVerify": {
"type": "text",
"placeholders": {}
},
"askVerificationRequest": "Ĉu akcepti ĉi tiun kontrolpeton de {username}?", "askVerificationRequest": "Ĉu akcepti ĉi tiun kontrolpeton de {username}?",
"@askVerificationRequest": { "@askVerificationRequest": {
"type": "text", "type": "text",
@ -108,6 +138,26 @@
"username": {} "username": {}
} }
}, },
"audioPlayerPause": "Paŭzigi",
"@audioPlayerPause": {
"type": "text",
"placeholders": {}
},
"audioPlayerPlay": "Ludi",
"@audioPlayerPlay": {
"type": "text",
"placeholders": {}
},
"authentication": "Aŭtentikigo",
"@authentication": {
"type": "text",
"placeholders": {}
},
"avatarHasBeenChanged": "Profilbildo ŝanĝiĝis",
"@avatarHasBeenChanged": {
"type": "text",
"placeholders": {}
},
"badServerLoginTypesException": "La hejmservilo subtenas la jenajn specojn de salutoj:\n{serverVersions}\nSed ĉi tiu aplikaĵo subtenas nur:\n{supportedVersions}", "badServerLoginTypesException": "La hejmservilo subtenas la jenajn specojn de salutoj:\n{serverVersions}\nSed ĉi tiu aplikaĵo subtenas nur:\n{supportedVersions}",
"@badServerLoginTypesException": { "@badServerLoginTypesException": {
"type": "text", "type": "text",
@ -157,6 +207,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"cachedKeys": "Kaŝmemoris ŝlosilojn",
"@cachedKeys": {
"type": "text",
"placeholders": {}
},
"cancel": "Nuligi", "cancel": "Nuligi",
"@cancel": { "@cancel": {
"type": "text", "type": "text",
@ -278,11 +333,21 @@
"username": {} "username": {}
} }
}, },
"changelog": "Protokolo de ŝanĝoj",
"@changelog": {
"type": "text",
"placeholders": {}
},
"changePassword": "Ŝanĝi pasvorton", "changePassword": "Ŝanĝi pasvorton",
"@changePassword": { "@changePassword": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"changesHaveBeenSaved": "Ŝanĝoj konserviĝis",
"@changesHaveBeenSaved": {
"type": "text",
"placeholders": {}
},
"changeTheHomeserver": "Ŝanĝi hejmservilon", "changeTheHomeserver": "Ŝanĝi hejmservilon",
"@changeTheHomeserver": { "@changeTheHomeserver": {
"type": "text", "type": "text",
@ -298,6 +363,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"changeTheServer": "Ŝanĝi la servilon",
"@changeTheServer": {
"type": "text",
"placeholders": {}
},
"changeWallpaper": "Ŝanĝi fonbildon", "changeWallpaper": "Ŝanĝi fonbildon",
"@changeWallpaper": { "@changeWallpaper": {
"type": "text", "type": "text",
@ -350,6 +420,11 @@
}, },
"clearArchive": "Vakigi arĥivon", "clearArchive": "Vakigi arĥivon",
"@clearArchive": {}, "@clearArchive": {},
"clearText": "Forigi tekston",
"@clearText": {
"type": "text",
"placeholders": {}
},
"close": "Fermi", "close": "Fermi",
"@close": { "@close": {
"type": "text", "type": "text",
@ -457,6 +532,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"connectionAttemptFailed": "Malsukcesis provo konektiĝi",
"@connectionAttemptFailed": {
"type": "text",
"placeholders": {}
},
"contactHasBeenInvitedToTheGroup": "Kontakto invitiĝis al la grupo", "contactHasBeenInvitedToTheGroup": "Kontakto invitiĝis al la grupo",
"@contactHasBeenInvitedToTheGroup": { "@contactHasBeenInvitedToTheGroup": {
"type": "text", "type": "text",
@ -477,6 +557,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"contentViewer": "Vidilo de enhavo",
"@contentViewer": {
"type": "text",
"placeholders": {}
},
"copiedToClipboard": "Kopiite al tondujo", "copiedToClipboard": "Kopiite al tondujo",
"@copiedToClipboard": { "@copiedToClipboard": {
"type": "text", "type": "text",
@ -499,6 +584,16 @@
"error": {} "error": {}
} }
}, },
"couldNotSetAvatar": "Ne povis agordi profilbildon",
"@couldNotSetAvatar": {
"type": "text",
"placeholders": {}
},
"couldNotSetDisplayname": "Ne povis agordi prezentan nomon",
"@couldNotSetDisplayname": {
"type": "text",
"placeholders": {}
},
"countParticipants": "{count} partoprenantoj", "countParticipants": "{count} partoprenantoj",
"@countParticipants": { "@countParticipants": {
"type": "text", "type": "text",
@ -511,6 +606,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"createAccountNow": "Krei konton nun",
"@createAccountNow": {
"type": "text",
"placeholders": {}
},
"createdTheChat": "{username} kreis la babilon", "createdTheChat": "{username} kreis la babilon",
"@createdTheChat": { "@createdTheChat": {
"type": "text", "type": "text",
@ -528,6 +628,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"crossSigningDisabled": "Delegaj subskriboj estas malŝaltitaj",
"@crossSigningDisabled": {
"type": "text",
"placeholders": {}
},
"crossSigningEnabled": "Delegaj subskriboj estas ŝaltitaj",
"@crossSigningEnabled": {
"type": "text",
"placeholders": {}
},
"currentlyActive": "Nun aktiva", "currentlyActive": "Nun aktiva",
"@currentlyActive": { "@currentlyActive": {
"type": "text", "type": "text",
@ -608,16 +718,46 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"deviceVerifyDescription": "Ĉifrado nur sekuras kiam ĉiuj aparatoj kontroliĝis.",
"@deviceVerifyDescription": {
"type": "text",
"placeholders": {}
},
"directChats": "Rektaj babiloj", "directChats": "Rektaj babiloj",
"@directChats": { "@directChats": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"discardPicture": "Forĵeti bildon",
"@discardPicture": {
"type": "text",
"placeholders": {}
},
"discover": "Trovi",
"@discover": {
"type": "text",
"placeholders": {}
},
"discoverGroups": "Trovu grupojn",
"@discoverGroups": {
"type": "text",
"placeholders": {}
},
"displaynameHasBeenChanged": "Prezenta nomo ŝanĝiĝis", "displaynameHasBeenChanged": "Prezenta nomo ŝanĝiĝis",
"@displaynameHasBeenChanged": { "@displaynameHasBeenChanged": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"donate": "Donaci",
"@donate": {
"type": "text",
"placeholders": {}
},
"dontAskAgain": "Nuligi kaj ne redemandi",
"@dontAskAgain": {
"type": "text",
"placeholders": {}
},
"downloadFile": "Elŝuti dosieron", "downloadFile": "Elŝuti dosieron",
"@downloadFile": { "@downloadFile": {
"type": "text", "type": "text",
@ -643,6 +783,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"editJitsiInstance": "Redakti provizanton de Jitsi",
"@editJitsiInstance": {
"type": "text",
"placeholders": {}
},
"editRoomAliases": "Ŝanĝi kromnomojn de ĉambro", "editRoomAliases": "Ŝanĝi kromnomojn de ĉambro",
"@editRoomAliases": { "@editRoomAliases": {
"type": "text", "type": "text",
@ -688,6 +833,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"enableChatBackup": "Ŝaltu savkopiadon de babiloj por neniam ree perdi aliron al viaj babiloj.",
"@enableChatBackup": {
"type": "text",
"placeholders": {}
},
"enableEmotesGlobally": "Ŝalti mienetaron ĉie", "enableEmotesGlobally": "Ŝalti mienetaron ĉie",
"@enableEmotesGlobally": { "@enableEmotesGlobally": {
"type": "text", "type": "text",
@ -713,11 +863,21 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"encryptionAlgorithm": "Ĉifra algoritmo",
"@encryptionAlgorithm": {
"type": "text",
"placeholders": {}
},
"encryptionNotEnabled": "Ĉifrado ne estas ŝaltita", "encryptionNotEnabled": "Ĉifrado ne estas ŝaltita",
"@encryptionNotEnabled": { "@encryptionNotEnabled": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"end2endEncryptionSettings": "Agordoj pri tutvoja ĉifrado",
"@end2endEncryptionSettings": {
"type": "text",
"placeholders": {}
},
"endedTheCall": "{senderName} finis la vokon", "endedTheCall": "{senderName} finis la vokon",
"@endedTheCall": { "@endedTheCall": {
"type": "text", "type": "text",
@ -737,6 +897,11 @@
}, },
"enterASpacepName": "Enigi nomon de aro", "enterASpacepName": "Enigi nomon de aro",
"@enterASpacepName": {}, "@enterASpacepName": {},
"enterAUsername": "Enigu uzantonomon",
"@enterAUsername": {
"type": "text",
"placeholders": {}
},
"enterYourHomeserver": "Enigu vian hejmservilon", "enterYourHomeserver": "Enigu vian hejmservilon",
"@enterYourHomeserver": { "@enterYourHomeserver": {
"type": "text", "type": "text",
@ -764,6 +929,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"fileSize": "Grandeco de dosiero",
"@fileSize": {
"type": "text",
"placeholders": {}
},
"fluffychat": "FluffyChat", "fluffychat": "FluffyChat",
"@fluffychat": { "@fluffychat": {
"type": "text", "type": "text",
@ -779,6 +949,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"friday": "Vendredo",
"@friday": {
"type": "text",
"placeholders": {}
},
"friends": "Amikoj",
"@friends": {
"type": "text",
"placeholders": {}
},
"fromJoining": "Ekde aliĝo", "fromJoining": "Ekde aliĝo",
"@fromJoining": { "@fromJoining": {
"type": "text", "type": "text",
@ -859,6 +1039,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"homeserverIsNotCompatible": "Hejmservilo ne estas interkonforma",
"@homeserverIsNotCompatible": {
"type": "text",
"placeholders": {}
},
"howOffensiveIsThisContent": "Kiel ofenda estas ĉi tiu enhavo?", "howOffensiveIsThisContent": "Kiel ofenda estas ĉi tiu enhavo?",
"@howOffensiveIsThisContent": { "@howOffensiveIsThisContent": {
"type": "text", "type": "text",
@ -909,6 +1094,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"invalidEmail": "Nevalida retpoŝtadreso",
"@invalidEmail": {
"type": "text",
"placeholders": {}
},
"inviteContact": "Inviti kontakton", "inviteContact": "Inviti kontakton",
"@inviteContact": { "@inviteContact": {
"type": "text", "type": "text",
@ -952,6 +1142,11 @@
"link": {} "link": {}
} }
}, },
"isDeviceKeyCorrect": "Ĉu la jena identigilo de aparato estas ĝusta?",
"@isDeviceKeyCorrect": {
"type": "text",
"placeholders": {}
},
"isTyping": "tajpas…", "isTyping": "tajpas…",
"@isTyping": { "@isTyping": {
"type": "text", "type": "text",
@ -969,6 +1164,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"keysCached": "Ŝlosiloj estas kaŝmemoritaj",
"@keysCached": {
"type": "text",
"placeholders": {}
},
"keysMissing": "Ŝlosiloj mankas",
"@keysMissing": {
"type": "text",
"placeholders": {}
},
"kicked": "{username} forpelis uzanton {targetName}", "kicked": "{username} forpelis uzanton {targetName}",
"@kicked": { "@kicked": {
"type": "text", "type": "text",
@ -997,6 +1202,11 @@
"localizedTimeShort": {} "localizedTimeShort": {}
} }
}, },
"lastSeenIp": "Lastafoje vidita IP-adreso",
"@lastSeenIp": {
"type": "text",
"placeholders": {}
},
"lastSeenLongTimeAgo": "Vidita antaŭ longe", "lastSeenLongTimeAgo": "Vidita antaŭ longe",
"@lastSeenLongTimeAgo": { "@lastSeenLongTimeAgo": {
"type": "text", "type": "text",
@ -1063,6 +1273,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"makeAModerator": "Igi reguligisto",
"@makeAModerator": {
"type": "text",
"placeholders": {}
},
"makeAnAdmin": "Igi administranto",
"@makeAnAdmin": {
"type": "text",
"placeholders": {}
},
"makeSureTheIdentifierIsValid": "Certigu, ke la identigilo estas valida", "makeSureTheIdentifierIsValid": "Certigu, ke la identigilo estas valida",
"@makeSureTheIdentifierIsValid": { "@makeSureTheIdentifierIsValid": {
"type": "text", "type": "text",
@ -1093,6 +1313,18 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"monday": "Lundo",
"@monday": {
"type": "text",
"placeholders": {}
},
"moreEvents": "{count,plural, =1{1 plia evento} other{{count} pliaj eventoj}}",
"@moreEvents": {
"type": "text",
"placeholders": {
"count": {}
}
},
"muteChat": "Silentigi babilon", "muteChat": "Silentigi babilon",
"@muteChat": { "@muteChat": {
"type": "text", "type": "text",
@ -1133,6 +1365,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"noCrossSignBootstrap": "FluffyChat ankoraŭ ne subtenas ŝaltadon de delegaj subskriboj. Bonvolu ŝalti ilin per Element.",
"@noCrossSignBootstrap": {
"type": "text",
"placeholders": {}
},
"noDescription": "Sen priskribo",
"@noDescription": {
"type": "text",
"placeholders": {}
},
"noEmotesFound": "Neniuj mienetoj troviĝis. 😕", "noEmotesFound": "Neniuj mienetoj troviĝis. 😕",
"@noEmotesFound": { "@noEmotesFound": {
"type": "text", "type": "text",
@ -1148,6 +1390,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"noMegolmBootstrap": "FluffyChat ankoraŭ ne subtenas ŝaltadon de enreta savkopiado de ŝlosiloj. Bonvolu ŝalti ĝin per Element.",
"@noMegolmBootstrap": {
"type": "text",
"placeholders": {}
},
"none": "Neniu", "none": "Neniu",
"@none": { "@none": {
"type": "text", "type": "text",
@ -1163,11 +1410,21 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"noPublicRoomsFound": "Neniuj publikaj ĉambroj troviĝis…",
"@noPublicRoomsFound": {
"type": "text",
"placeholders": {}
},
"noRoomsFound": "Neniuj ĉambroj troviĝis…", "noRoomsFound": "Neniuj ĉambroj troviĝis…",
"@noRoomsFound": { "@noRoomsFound": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"noStatusesFound": "Neniuj statoj troviĝis ankoraŭ.",
"@noStatusesFound": {
"type": "text",
"placeholders": {}
},
"notifications": "Sciigoj", "notifications": "Sciigoj",
"@notifications": { "@notifications": {
"type": "text", "type": "text",
@ -1178,6 +1435,18 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"notSupportedInWeb": "Nesubtenata de la TTT-versio",
"@notSupportedInWeb": {
"type": "text",
"placeholders": {}
},
"numberSelected": "{number} elektitaj",
"@numberSelected": {
"type": "text",
"placeholders": {
"number": {}
}
},
"numUsersTyping": "{count} uzantoj tajpas…", "numUsersTyping": "{count} uzantoj tajpas…",
"@numUsersTyping": { "@numUsersTyping": {
"type": "text", "type": "text",
@ -1210,6 +1479,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"onlineKeyBackupDisabled": "Enreta savkopiado de ŝlosiloj estas malŝaltita",
"@onlineKeyBackupDisabled": {
"type": "text",
"placeholders": {}
},
"onlineKeyBackupEnabled": "Enreta savkopiado de ŝlosiloj estas ŝaltita", "onlineKeyBackupEnabled": "Enreta savkopiado de ŝlosiloj estas ŝaltita",
"@onlineKeyBackupEnabled": { "@onlineKeyBackupEnabled": {
"type": "text", "type": "text",
@ -1235,6 +1509,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"optionalAddEmail": "(Malnepre) Via retpoŝtadreso",
"@optionalAddEmail": {
"type": "text",
"placeholders": {}
},
"optionalGroupName": "(Malnepra) Nomo de grupo", "optionalGroupName": "(Malnepra) Nomo de grupo",
"@optionalGroupName": { "@optionalGroupName": {
"type": "text", "type": "text",
@ -1250,6 +1529,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"participatingUserDevices": "Partoprenantaj aparatoj de uzanto",
"@participatingUserDevices": {
"type": "text",
"placeholders": {}
},
"passphraseOrKey": "pasfrazo aŭ rehava ŝlosilo", "passphraseOrKey": "pasfrazo aŭ rehava ŝlosilo",
"@passphraseOrKey": { "@passphraseOrKey": {
"type": "text", "type": "text",
@ -1327,6 +1611,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"pleaseEnterSecurityKey": "Bonvolu enigi vian sekurecan ŝlosilon:",
"@pleaseEnterSecurityKey": {
"type": "text",
"placeholders": {}
},
"pleaseEnterYourPassword": "Bonvolu enigi vian pasvorton", "pleaseEnterYourPassword": "Bonvolu enigi vian pasvorton",
"@pleaseEnterYourPassword": { "@pleaseEnterYourPassword": {
"type": "text", "type": "text",
@ -1352,11 +1641,26 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"publicGroups": "Publikaj grupoj",
"@publicGroups": {
"type": "text",
"placeholders": {}
},
"publicKey": "Publika ŝlosilo",
"@publicKey": {
"type": "text",
"placeholders": {}
},
"publicRooms": "Publikaj ĉambroj", "publicRooms": "Publikaj ĉambroj",
"@publicRooms": { "@publicRooms": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"publicSpace": "Publika aro",
"@publicSpace": {
"type": "text",
"placeholders": {}
},
"pushRules": "Reguloj de pasivaj sciigoj", "pushRules": "Reguloj de pasivaj sciigoj",
"@pushRules": { "@pushRules": {
"type": "text", "type": "text",
@ -1433,6 +1737,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"removeMessage": "Forigi mesaĝon",
"@removeMessage": {
"type": "text",
"placeholders": {}
},
"removeYourAvatar": "Forigi vian profilbildon", "removeYourAvatar": "Forigi vian profilbildon",
"@removeYourAvatar": { "@removeYourAvatar": {
"type": "text", "type": "text",
@ -1463,6 +1772,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"requestToReadOlderMessages": "Peti legi pli malnovajn mesaĝojn",
"@requestToReadOlderMessages": {
"type": "text",
"placeholders": {}
},
"revokeAllPermissions": "Nuligi ĉiujn permesojn",
"@revokeAllPermissions": {
"type": "text",
"placeholders": {}
},
"roomHasBeenUpgraded": "Ĉambro gradaltiĝis", "roomHasBeenUpgraded": "Ĉambro gradaltiĝis",
"@roomHasBeenUpgraded": { "@roomHasBeenUpgraded": {
"type": "text", "type": "text",
@ -1473,21 +1792,53 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"saturday": "Sabato",
"@saturday": {
"type": "text",
"placeholders": {}
},
"savedFileAs": "Konservi dosieron kun la nomo: {filename}",
"@savedFileAs": {
"type": "text",
"placeholders": {
"filename": {}
}
},
"saveFile": "Konservi dosieron", "saveFile": "Konservi dosieron",
"@saveFile": { "@saveFile": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"saveFileToFolder": "Konservi dosieron al tiu ĉi dosierujo",
"@saveFileToFolder": {
"type": "text",
"placeholders": {}
},
"search": "Serĉi", "search": "Serĉi",
"@search": { "@search": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"searchForAChat": "Serĉi babilon",
"@searchForAChat": {
"type": "text",
"placeholders": {}
},
"security": "Sekureco", "security": "Sekureco",
"@security": { "@security": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"securityKey": "Sekureca ŝlosilo",
"@securityKey": {
"type": "text",
"placeholders": {}
},
"securityKeyLost": "Ĉu vi perdis sekurecan ŝlosilon?",
"@securityKeyLost": {
"type": "text",
"placeholders": {}
},
"seenByUser": "Vidita de {username}", "seenByUser": "Vidita de {username}",
"@seenByUser": { "@seenByUser": {
"type": "text", "type": "text",
@ -1526,6 +1877,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"sendBugReports": "Permesi raportadon de eraroj per sentry.io",
"@sendBugReports": {
"type": "text",
"placeholders": {}
},
"sendFile": "Sendi dosieron", "sendFile": "Sendi dosieron",
"@sendFile": { "@sendFile": {
"type": "text", "type": "text",
@ -1598,6 +1954,21 @@
"senderName": {} "senderName": {}
} }
}, },
"sentryInfo": "Informoj pri via privateco: https://sentry.io/security/",
"@sentryInfo": {
"type": "text",
"placeholders": {}
},
"sessionVerified": "Salutaĵo estas kontrolita",
"@sessionVerified": {
"type": "text",
"placeholders": {}
},
"setAProfilePicture": "Agordi profilbildon",
"@setAProfilePicture": {
"type": "text",
"placeholders": {}
},
"setAsCanonicalAlias": "Agordi kiel ĉefan kromnomon", "setAsCanonicalAlias": "Agordi kiel ĉefan kromnomon",
"@setAsCanonicalAlias": { "@setAsCanonicalAlias": {
"type": "text", "type": "text",
@ -1670,6 +2041,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"soundVibrationLedColor": "Sono, LED-koloro de vibrado",
"@soundVibrationLedColor": {
"type": "text",
"placeholders": {}
},
"sourceCode": "Fontkodo", "sourceCode": "Fontkodo",
"@sourceCode": { "@sourceCode": {
"type": "text", "type": "text",
@ -1692,6 +2068,11 @@
"senderName": {} "senderName": {}
} }
}, },
"startYourFirstChat": "Komencu nun vian unuan babilon! 🙂\n• Tuŝetu al la butono de mesaĝo\n• Enigu la uzantonomon de amiko\n• Ĝuu babiladon",
"@startYourFirstChat": {
"type": "text",
"placeholders": {}
},
"status": "Stato", "status": "Stato",
"@status": { "@status": {
"type": "text", "type": "text",
@ -1707,6 +2088,11 @@
"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",
@ -1717,6 +2103,21 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"tapOnDeviceToVerify": "Tuŝetu aparaton por kontroli",
"@tapOnDeviceToVerify": {
"type": "text",
"placeholders": {}
},
"tapToShowImage": "Tuŝetu por montri bildon",
"@tapToShowImage": {
"type": "text",
"placeholders": {}
},
"tapToShowMenu": "Tuŝetu por montri menuon",
"@tapToShowMenu": {
"type": "text",
"placeholders": {}
},
"theyDontMatch": "Ili ne akordas", "theyDontMatch": "Ili ne akordas",
"@theyDontMatch": { "@theyDontMatch": {
"type": "text", "type": "text",
@ -1727,6 +2128,26 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"thisRoomHasBeenArchived": "Ĉi tiu ĉambro arĥiviĝis.",
"@thisRoomHasBeenArchived": {
"type": "text",
"placeholders": {}
},
"thursday": "Ĵaŭdo",
"@thursday": {
"type": "text",
"placeholders": {}
},
"timeOfDay": "{hours24}:{minutes}",
"@timeOfDay": {
"type": "text",
"placeholders": {
"hours12": {},
"hours24": {},
"minutes": {},
"suffix": {}
}
},
"title": "FluffyChat", "title": "FluffyChat",
"@title": { "@title": {
"description": "Title for the application", "description": "Title for the application",
@ -1763,6 +2184,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"tuesday": "Mardo",
"@tuesday": {
"type": "text",
"placeholders": {}
},
"unavailable": "Nedisponeble", "unavailable": "Nedisponeble",
"@unavailable": { "@unavailable": {
"type": "text", "type": "text",
@ -1798,6 +2224,16 @@
"type": {} "type": {}
} }
}, },
"unknownSessionVerify": "Nekonata salutaĵo; bonvolu kontroli",
"@unknownSessionVerify": {
"type": "text",
"placeholders": {}
},
"unlockChatBackup": "Malŝlosi savkopion de babilo",
"@unlockChatBackup": {
"type": "text",
"placeholders": {}
},
"unmuteChat": "Malsilentigi babilon", "unmuteChat": "Malsilentigi babilon",
"@unmuteChat": { "@unmuteChat": {
"type": "text", "type": "text",
@ -1815,6 +2251,18 @@
"unreadCount": {} "unreadCount": {}
} }
}, },
"unreadMessages": "{unreadEvents, plural, =1{1 nelegita mesaĝo} other{{unreadEvents} nelegitaj mesaĝoj}}",
"@unreadMessages": {
"type": "text",
"placeholders": {
"unreadEvents": {}
}
},
"useAmoledTheme": "Ĉu uzi kolorojn adaptitajn por AMOLED?",
"@useAmoledTheme": {
"type": "text",
"placeholders": {}
},
"userAndOthersAreTyping": "{username} kaj {count} aliaj tajpas…", "userAndOthersAreTyping": "{username} kaj {count} aliaj tajpas…",
"@userAndOthersAreTyping": { "@userAndOthersAreTyping": {
"type": "text", "type": "text",
@ -1850,6 +2298,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"userNotVerified": "Uzanto ne kontroliĝis",
"@userNotVerified": {
"type": "text",
"placeholders": {}
},
"userSentUnknownEvent": "{username} sendis eventon de speco {type}", "userSentUnknownEvent": "{username} sendis eventon de speco {type}",
"@userSentUnknownEvent": { "@userSentUnknownEvent": {
"type": "text", "type": "text",
@ -1858,16 +2311,36 @@
"type": {} "type": {}
} }
}, },
"userUnknownVerification": "Uzanto havas nekonatan staton de kontrolo",
"@userUnknownVerification": {
"type": "text",
"placeholders": {}
},
"userVerified": "Uzanto kontroliĝis",
"@userVerified": {
"type": "text",
"placeholders": {}
},
"verified": "Kontrolita", "verified": "Kontrolita",
"@verified": { "@verified": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"verifiedSession": "Sukcese kontrolis salutaĵon!",
"@verifiedSession": {
"type": "text",
"placeholders": {}
},
"verify": "Kontroli", "verify": "Kontroli",
"@verify": { "@verify": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"verifyManual": "Kontroli permane",
"@verifyManual": {
"type": "text",
"placeholders": {}
},
"verifyStart": "Komenci kontrolon", "verifyStart": "Komenci kontrolon",
"@verifyStart": { "@verifyStart": {
"type": "text", "type": "text",
@ -1883,6 +2356,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"verifyUser": "Kontroli uzanton",
"@verifyUser": {
"type": "text",
"placeholders": {}
},
"videoCall": "Vidvoko", "videoCall": "Vidvoko",
"@videoCall": { "@videoCall": {
"type": "text", "type": "text",
@ -1933,6 +2411,21 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"warningEncryptionInBeta": "Tutvoja ĉifrado estas ankoraŭ beta-versia! Uzu je via propra risko!",
"@warningEncryptionInBeta": {
"type": "text",
"placeholders": {}
},
"wednesday": "Merkredo",
"@wednesday": {
"type": "text",
"placeholders": {}
},
"welcomeText": "Bonvenu al la plej ĉarma tujmesaĝilo en la reto de Matrix.",
"@welcomeText": {
"type": "text",
"placeholders": {}
},
"weSentYouAnEmail": "Ni sendis retleteron al vi", "weSentYouAnEmail": "Ni sendis retleteron al vi",
"@weSentYouAnEmail": { "@weSentYouAnEmail": {
"type": "text", "type": "text",
@ -1998,11 +2491,38 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"yourChatsAreBeingSynced": "Viaj babiloj estas spegulataj…",
"@yourChatsAreBeingSynced": {
"type": "text",
"placeholders": {}
},
"yourOwnUsername": "Via propra uzantonomo",
"@yourOwnUsername": {
"type": "text",
"placeholders": {}
},
"yourPublicKey": "Via publika ŝlosilo", "yourPublicKey": "Via publika ŝlosilo",
"@yourPublicKey": { "@yourPublicKey": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"youWillBeConnectedTo": "Vi konektiĝos al {homeserver}",
"@youWillBeConnectedTo": {
"type": "text",
"placeholders": {
"homeserver": {}
}
},
"zoomIn": "Zomi",
"@zoomIn": {
"type": "text",
"placeholders": {}
},
"zoomOut": "Malzomi",
"@zoomOut": {
"type": "text",
"placeholders": {}
},
"sendAsText": "Sendi kiel tekston", "sendAsText": "Sendi kiel tekston",
"@sendAsText": { "@sendAsText": {
"type": "text" "type": "text"
@ -2020,6 +2540,11 @@
"type": "text", "type": "text",
"description": "Usage hint for the command /send" "description": "Usage hint for the command /send"
}, },
"chatHasBeenRemovedFromThisSpace": "Babilo foriĝis de ĉi tiu aro",
"@chatHasBeenRemovedFromThisSpace": {
"type": "text",
"placeholders": {}
},
"chatHasBeenAddedToThisSpace": "Babilo aldoniĝis al ĉi tiu aro", "chatHasBeenAddedToThisSpace": "Babilo aldoniĝis al ĉi tiu aro",
"@chatHasBeenAddedToThisSpace": {}, "@chatHasBeenAddedToThisSpace": {},
"autoplayImages": "Memage ludi movbildajn glumarkojn kaj mienetojn", "autoplayImages": "Memage ludi movbildajn glumarkojn kaj mienetojn",

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -22,6 +22,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"accountInformation": "פרטי חשבון",
"@accountInformation": {
"type": "text",
"placeholders": {}
},
"activatedEndToEndEncryption": "{username} הפעיל הצפנה מקצה לקצה", "activatedEndToEndEncryption": "{username} הפעיל הצפנה מקצה לקצה",
"@activatedEndToEndEncryption": { "@activatedEndToEndEncryption": {
"type": "text", "type": "text",
@ -44,6 +49,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"alreadyHaveAnAccount": "כבר יש לך חשבון?",
"@alreadyHaveAnAccount": {
"type": "text",
"placeholders": {}
},
"answeredTheCall": "{senderName} ענה לשיחה", "answeredTheCall": "{senderName} ענה לשיחה",
"@answeredTheCall": { "@answeredTheCall": {
"type": "text", "type": "text",
@ -61,6 +71,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"archivedRoom": "חדר בארכיון",
"@archivedRoom": {
"type": "text",
"placeholders": {}
},
"areGuestsAllowedToJoin": "האם משתמשים אורחים מורשים להצטרף", "areGuestsAllowedToJoin": "האם משתמשים אורחים מורשים להצטרף",
"@areGuestsAllowedToJoin": { "@areGuestsAllowedToJoin": {
"type": "text", "type": "text",
@ -71,11 +86,21 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"askSSSSCache": "אנא הזן את ביטוי הסיסמה המאובטח שלך או מפתח שחזור כדי לשמור את המפתחות במטמון.",
"@askSSSSCache": {
"type": "text",
"placeholders": {}
},
"askSSSSSign": "כדי שתוכל לחתום על משתמש אחר , הזן את הסיסמה שלך או את מפתח השחזור.", "askSSSSSign": "כדי שתוכל לחתום על משתמש אחר , הזן את הסיסמה שלך או את מפתח השחזור.",
"@askSSSSSign": { "@askSSSSSign": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"askSSSSVerify": "אנא הזן את משפט הסיסמה המאובטח שלך או מפתח השחזור כדי לאמת את ההפעלה שלך.",
"@askSSSSVerify": {
"type": "text",
"placeholders": {}
},
"askVerificationRequest": "לקבל בקשת אימות זו מ- {username}?", "askVerificationRequest": "לקבל בקשת אימות זו מ- {username}?",
"@askVerificationRequest": { "@askVerificationRequest": {
"type": "text", "type": "text",
@ -83,6 +108,11 @@
"username": {} "username": {}
} }
}, },
"authentication": "אימות",
"@authentication": {
"type": "text",
"placeholders": {}
},
"changePassword": "שנה סיסמא", "changePassword": "שנה סיסמא",
"@changePassword": { "@changePassword": {
"type": "text", "type": "text",
@ -125,7 +155,12 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"sendOnEnter": "שלח בכניסה", "avatarHasBeenChanged": "האווטאר השתנה",
"@avatarHasBeenChanged": {
"type": "text",
"placeholders": {}
},
"sendOnEnter": "שלח וכנס",
"@sendOnEnter": {}, "@sendOnEnter": {},
"badServerLoginTypesException": "שרת הבית תומך בסוגי הכניסה:\n{serverVersions}\nאבל אפליקציה זו תומכת רק ב:\n{supportedVersions}", "badServerLoginTypesException": "שרת הבית תומך בסוגי הכניסה:\n{serverVersions}\nאבל אפליקציה זו תומכת רק ב:\n{supportedVersions}",
"@badServerLoginTypesException": { "@badServerLoginTypesException": {
@ -176,17 +211,37 @@
"@pleaseEnterValidEmail": {}, "@pleaseEnterValidEmail": {},
"repeatPassword": "כתוב שוב את הסיסמה", "repeatPassword": "כתוב שוב את הסיסמה",
"@repeatPassword": {}, "@repeatPassword": {},
"addNewFriend": "הוסף חבר חדש",
"@addNewFriend": {
"type": "text",
"placeholders": {}
},
"areYouSureYouWantToLogout": "האם אתה בטוח שברצונך לצאת?", "areYouSureYouWantToLogout": "האם אתה בטוח שברצונך לצאת?",
"@areYouSureYouWantToLogout": { "@areYouSureYouWantToLogout": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"changelog": "יומן שינויים",
"@changelog": {
"type": "text",
"placeholders": {}
},
"chat": "צ׳אט", "chat": "צ׳אט",
"@chat": { "@chat": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"autoplayImages": "הפעל אוטומטית מדבקות ואנימציות מונפשים", "audioPlayerPause": "השהה",
"@audioPlayerPause": {
"type": "text",
"placeholders": {}
},
"audioPlayerPlay": "הפעל",
"@audioPlayerPlay": {
"type": "text",
"placeholders": {}
},
"autoplayImages": "הפעל אוטומטית מדבקות ואמוטים מונפשים",
"@autoplayImages": { "@autoplayImages": {
"type": "text", "type": "text",
"placeholder": {} "placeholder": {}
@ -199,7 +254,7 @@
"supportedVersions": {} "supportedVersions": {}
} }
}, },
"banFromChat": "צאט חסום", "banFromChat": "חסום מצ'אט",
"@banFromChat": { "@banFromChat": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
@ -227,6 +282,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"cachedKeys": "מפתחות מאוחסנים במטמון",
"@cachedKeys": {
"type": "text",
"placeholders": {}
},
"cantOpenUri": "לא ניתן לפתוח את ה-URI {uri}", "cantOpenUri": "לא ניתן לפתוח את ה-URI {uri}",
"@cantOpenUri": { "@cantOpenUri": {
"type": "text", "type": "text",
@ -313,6 +373,11 @@
"username": {} "username": {}
} }
}, },
"changesHaveBeenSaved": "השינויים נשמרו",
"@changesHaveBeenSaved": {
"type": "text",
"placeholders": {}
},
"changeTheHomeserver": "שנה את שרת הבית", "changeTheHomeserver": "שנה את שרת הבית",
"@changeTheHomeserver": { "@changeTheHomeserver": {
"type": "text", "type": "text",
@ -328,6 +393,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"changeTheServer": "שנה את השרת",
"@changeTheServer": {
"type": "text",
"placeholders": {}
},
"changeYourAvatar": "שינוי האווטאר שלך", "changeYourAvatar": "שינוי האווטאר שלך",
"@changeYourAvatar": { "@changeYourAvatar": {
"type": "text", "type": "text",
@ -338,6 +408,10 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"yourUserId": "מזהה המשתמש שלך:",
"@yourUserId": {},
"iWroteDownTheKey": "רשמתי את המפתח",
"@iWroteDownTheKey": {},
"yourChatBackupHasBeenSetUp": "גיבוי הצ'אט שלך הוגדר.", "yourChatBackupHasBeenSetUp": "גיבוי הצ'אט שלך הוגדר.",
"@yourChatBackupHasBeenSetUp": {}, "@yourChatBackupHasBeenSetUp": {},
"chatBackup": "גיבוי צ'אט", "chatBackup": "גיבוי צ'אט",
@ -345,6 +419,8 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"setupChatBackup": "הגדר גיבוי צ'אט",
"@setupChatBackup": {},
"commandHint_ban": "חסום את המשתמש הנתון מהחדר הזה", "commandHint_ban": "חסום את המשתמש הנתון מהחדר הזה",
"@commandHint_ban": { "@commandHint_ban": {
"type": "text", "type": "text",
@ -400,6 +476,8 @@
"type": "text", "type": "text",
"description": "Usage hint for the command /me" "description": "Usage hint for the command /me"
}, },
"setupChatBackupDescription": "כדי להגן על ההודעות שלך, יצרנו מפתח אבטחה עבורך.\nאנא שמור אותו במקום בטוח, כגון מנהל סיסמאות.",
"@setupChatBackupDescription": {},
"chatDetails": "פרטי צ'אט", "chatDetails": "פרטי צ'אט",
"@chatDetails": { "@chatDetails": {
"type": "text", "type": "text",
@ -412,6 +490,11 @@
}, },
"chatHasBeenAddedToThisSpace": "צ'אט נוסף למרחב הזה", "chatHasBeenAddedToThisSpace": "צ'אט נוסף למרחב הזה",
"@chatHasBeenAddedToThisSpace": {}, "@chatHasBeenAddedToThisSpace": {},
"chatHasBeenRemovedFromThisSpace": "הצ'אט הוסר מהמרחב הזה",
"@chatHasBeenRemovedFromThisSpace": {
"type": "text",
"placeholders": {}
},
"chats": "צ'אטים", "chats": "צ'אטים",
"@chats": { "@chats": {
"type": "text", "type": "text",
@ -429,6 +512,11 @@
}, },
"clearArchive": "נקה ארכיון", "clearArchive": "נקה ארכיון",
"@clearArchive": {}, "@clearArchive": {},
"clearText": "נקה טקסט",
"@clearText": {
"type": "text",
"placeholders": {}
},
"close": "סגור", "close": "סגור",
"@close": { "@close": {
"type": "text", "type": "text",
@ -444,7 +532,7 @@
"type": "text", "type": "text",
"description": "Usage hint for the command /myroomnick" "description": "Usage hint for the command /myroomnick"
}, },
"addToSpace": "הוסף לחלל", "addToSpace": "הוסף לספייס",
"@addToSpace": {}, "@addToSpace": {},
"commandHint_unban": "בטל את החסימה של המשתמש הנתון מהחדר הזה", "commandHint_unban": "בטל את החסימה של המשתמש הנתון מהחדר הזה",
"@commandHint_unban": { "@commandHint_unban": {
@ -463,6 +551,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"createAccountNow": "צור חשבון עכשיו",
"@createAccountNow": {
"type": "text",
"placeholders": {}
},
"createdTheChat": "{username} יצר את הצ'אט", "createdTheChat": "{username} יצר את הצ'אט",
"@createdTheChat": { "@createdTheChat": {
"type": "text", "type": "text",
@ -470,6 +563,11 @@
"username": {} "username": {}
} }
}, },
"crossSigningEnabled": "חתימה צולבת על",
"@crossSigningEnabled": {
"type": "text",
"placeholders": {}
},
"currentlyActive": "פעיל כעת", "currentlyActive": "פעיל כעת",
"@currentlyActive": { "@currentlyActive": {
"type": "text", "type": "text",
@ -526,11 +624,31 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"deviceVerifyDescription": "ההצפנה מאובטחת רק כאשר כל המכשירים אומתו.",
"@deviceVerifyDescription": {
"type": "text",
"placeholders": {}
},
"directChats": "צ'אטים ישירים", "directChats": "צ'אטים ישירים",
"@directChats": { "@directChats": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"discardPicture": "התעלם מתמונה",
"@discardPicture": {
"type": "text",
"placeholders": {}
},
"discover": "לגלות",
"@discover": {
"type": "text",
"placeholders": {}
},
"donate": "תרם",
"@donate": {
"type": "text",
"placeholders": {}
},
"downloadFile": "הורד קובץ", "downloadFile": "הורד קובץ",
"@downloadFile": { "@downloadFile": {
"type": "text", "type": "text",
@ -551,6 +669,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"editJitsiInstance": "ערוך מופע Jitsi",
"@editJitsiInstance": {
"type": "text",
"placeholders": {}
},
"editRoomAliases": "ערוך כינויים לחדר", "editRoomAliases": "ערוך כינויים לחדר",
"@editRoomAliases": { "@editRoomAliases": {
"type": "text", "type": "text",
@ -566,11 +689,26 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"enableChatBackup": "אפשר את גיבוי הצ'אט כדי שלעולם לא תאבד גישה לצ'אטים שלך.",
"@enableChatBackup": {
"type": "text",
"placeholders": {}
},
"encrypted": "מוצפן", "encrypted": "מוצפן",
"@encrypted": { "@encrypted": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"encryptionAlgorithm": "אלגוריתם הצפנה",
"@encryptionAlgorithm": {
"type": "text",
"placeholders": {}
},
"end2endEncryptionSettings": "הגדרות הצפנה מקצה לקצה",
"@end2endEncryptionSettings": {
"type": "text",
"placeholders": {}
},
"enterAGroupName": "הזן שם קבוצה", "enterAGroupName": "הזן שם קבוצה",
"@enterAGroupName": { "@enterAGroupName": {
"type": "text", "type": "text",
@ -598,6 +736,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"fileSize": "גודל הקובץ",
"@fileSize": {
"type": "text",
"placeholders": {}
},
"fluffychat": "FluffyChat", "fluffychat": "FluffyChat",
"@fluffychat": { "@fluffychat": {
"type": "text", "type": "text",
@ -613,6 +756,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"friday": "יום שישי",
"@friday": {
"type": "text",
"placeholders": {}
},
"friends": "חברים",
"@friends": {
"type": "text",
"placeholders": {}
},
"fromJoining": "מהצטרפות", "fromJoining": "מהצטרפות",
"@fromJoining": { "@fromJoining": {
"type": "text", "type": "text",
@ -680,6 +833,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"invalidEmail": "דואר אלקטרוני לא חוקי",
"@invalidEmail": {
"type": "text",
"placeholders": {}
},
"inviteContact": "הזמן איש קשר", "inviteContact": "הזמן איש קשר",
"@inviteContact": { "@inviteContact": {
"type": "text", "type": "text",
@ -716,6 +874,11 @@
"link": {} "link": {}
} }
}, },
"isDeviceKeyCorrect": "האם מפתח המכשיר נכון?",
"@isDeviceKeyCorrect": {
"type": "text",
"placeholders": {}
},
"isTyping": "מקליד/ה…", "isTyping": "מקליד/ה…",
"@isTyping": { "@isTyping": {
"type": "text", "type": "text",
@ -733,6 +896,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"keysCached": "המפתחות נשמרים במטמון",
"@keysCached": {
"type": "text",
"placeholders": {}
},
"keysMissing": "המפתחות חסרים",
"@keysMissing": {
"type": "text",
"placeholders": {}
},
"kicked": "{username} בעט ב {targetName}", "kicked": "{username} בעט ב {targetName}",
"@kicked": { "@kicked": {
"type": "text", "type": "text",
@ -761,6 +934,11 @@
"localizedTimeShort": {} "localizedTimeShort": {}
} }
}, },
"lastSeenIp": "IP שנראה לאחרונה",
"@lastSeenIp": {
"type": "text",
"placeholders": {}
},
"lastSeenLongTimeAgo": "נראה לפני זמן רב", "lastSeenLongTimeAgo": "נראה לפני זמן רב",
"@lastSeenLongTimeAgo": { "@lastSeenLongTimeAgo": {
"type": "text", "type": "text",
@ -826,6 +1004,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"crossSigningDisabled": "חתימה צולבת",
"@crossSigningDisabled": {
"type": "text",
"placeholders": {}
},
"dontAskAgain": "בטל ואל תשאל שוב",
"@dontAskAgain": {
"type": "text",
"placeholders": {}
},
"enableEncryption": "אפשר הצפנה", "enableEncryption": "אפשר הצפנה",
"@enableEncryption": { "@enableEncryption": {
"type": "text", "type": "text",
@ -862,6 +1050,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"enterAUsername": "הזן שם משתמש",
"@enterAUsername": {
"type": "text",
"placeholders": {}
},
"discoverGroups": "גלה קבוצות",
"@discoverGroups": {
"type": "text",
"placeholders": {}
},
"displaynameHasBeenChanged": "שם התצוגה השתנה", "displaynameHasBeenChanged": "שם התצוגה השתנה",
"@displaynameHasBeenChanged": { "@displaynameHasBeenChanged": {
"type": "text", "type": "text",
@ -978,6 +1176,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"contentViewer": "מציג התוכן",
"@contentViewer": {
"type": "text",
"placeholders": {}
},
"delete": "מחיקה", "delete": "מחיקה",
"@delete": { "@delete": {
"type": "text", "type": "text",
@ -1003,6 +1206,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"connectionAttemptFailed": "ניסיון החיבור נכשל",
"@connectionAttemptFailed": {
"type": "text",
"placeholders": {}
},
"contactHasBeenInvitedToTheGroup": "איש הקשר הוזמן לקבוצה", "contactHasBeenInvitedToTheGroup": "איש הקשר הוזמן לקבוצה",
"@contactHasBeenInvitedToTheGroup": { "@contactHasBeenInvitedToTheGroup": {
"type": "text", "type": "text",
@ -1045,6 +1253,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"couldNotSetAvatar": "לא היתה אפשרות להגדיר אווטאר",
"@couldNotSetAvatar": {
"type": "text",
"placeholders": {}
},
"couldNotSetDisplayname": "לא היתה אפשרות להגדיר שם תצוגה",
"@couldNotSetDisplayname": {
"type": "text",
"placeholders": {}
},
"copyToClipboard": "העתק ללוח", "copyToClipboard": "העתק ללוח",
"@copyToClipboard": { "@copyToClipboard": {
"type": "text", "type": "text",
@ -1062,6 +1280,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"homeserverIsNotCompatible": "שרת הבית אינו תואם",
"@homeserverIsNotCompatible": {
"type": "text",
"placeholders": {}
},
"howOffensiveIsThisContent": "עד כמה התוכן הזה פוגעני?", "howOffensiveIsThisContent": "עד כמה התוכן הזה פוגעני?",
"@howOffensiveIsThisContent": { "@howOffensiveIsThisContent": {
"type": "text", "type": "text",
@ -1112,23 +1335,54 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"noCrossSignBootstrap": "Fluffychat אינו תומך כרגע בהפעלת חתימה צולבת. אנא הפעל אותו מתוך Element.",
"@noCrossSignBootstrap": {
"type": "text",
"placeholders": {}
},
"noEncryptionForPublicRooms": "אתה יכול להפעיל הצפנה רק כשהחדר כבר לא נגיש לציבור.", "noEncryptionForPublicRooms": "אתה יכול להפעיל הצפנה רק כשהחדר כבר לא נגיש לציבור.",
"@noEncryptionForPublicRooms": { "@noEncryptionForPublicRooms": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"createNewChatExplaination": "פשוט סרקו את קוד ה-QR או שתפו את קישור ההזמנה שלכם אם אינכם אחד ליד השני.",
"@createNewChatExplaination": {},
"shareYourInviteLink": "שתף את קישור ההזמנה שלך", "shareYourInviteLink": "שתף את קישור ההזמנה שלך",
"@shareYourInviteLink": {}, "@shareYourInviteLink": {},
"typeInInviteLinkManually": "הקלד את קישור ההזמנה באופן ידני...",
"@typeInInviteLinkManually": {},
"noMegolmBootstrap": "הפעל במקום זאת גיבוי מפתח מקוון מתוך Element.",
"@noMegolmBootstrap": {
"type": "text",
"placeholders": {}
},
"noRoomsFound": "לא נמצאו חדרים…", "noRoomsFound": "לא נמצאו חדרים…",
"@noRoomsFound": { "@noRoomsFound": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"noStatusesFound": "לא נמצאו סטטוסים עד כה.",
"@noStatusesFound": {
"type": "text",
"placeholders": {}
},
"notifications": "התראות", "notifications": "התראות",
"@notifications": { "@notifications": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"notSupportedInWeb": "לא נתמך בweb",
"@notSupportedInWeb": {
"type": "text",
"placeholders": {}
},
"numberSelected": "{number} נבחר",
"@numberSelected": {
"type": "text",
"placeholders": {
"number": {}
}
},
"numUsersTyping": "{count} משתמשים מקלידים…", "numUsersTyping": "{count} משתמשים מקלידים…",
"@numUsersTyping": { "@numUsersTyping": {
"type": "text", "type": "text",
@ -1141,6 +1395,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"onlineKeyBackupDisabled": "גיבוי מפתח מקוון מושבת",
"@onlineKeyBackupDisabled": {
"type": "text",
"placeholders": {}
},
"onlineKeyBackupEnabled": "גיבוי מפתח מקוון מופעל", "onlineKeyBackupEnabled": "גיבוי מפתח מקוון מופעל",
"@onlineKeyBackupEnabled": { "@onlineKeyBackupEnabled": {
"type": "text", "type": "text",
@ -1201,6 +1460,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"participatingUserDevices": "מכשירי משתמש משתתפים",
"@participatingUserDevices": {
"type": "text",
"placeholders": {}
},
"passphraseOrKey": "ביטוי סיסמה או מפתח שחזור", "passphraseOrKey": "ביטוי סיסמה או מפתח שחזור",
"@passphraseOrKey": { "@passphraseOrKey": {
"type": "text", "type": "text",
@ -1258,6 +1522,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"pleaseEnterSecurityKey": "נא הזן את מפתח האבטחה שלך:",
"@pleaseEnterSecurityKey": {
"type": "text",
"placeholders": {}
},
"pleaseEnterYourPassword": "נא הזן את הסיסמה שלך", "pleaseEnterYourPassword": "נא הזן את הסיסמה שלך",
"@pleaseEnterYourPassword": { "@pleaseEnterYourPassword": {
"type": "text", "type": "text",
@ -1283,6 +1552,11 @@
"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",
@ -1301,6 +1575,13 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"noPublicRoomsFound": "לא נמצאו חדרים ציבוריים…",
"@noPublicRoomsFound": {
"type": "text",
"placeholders": {}
},
"newPasswordDescription": "על מנת שתוכל לשחזר את הסיסמה שלך, עליך להוסיף מאוחר יותר כתובת אימייל לחשבון שלך.",
"@newPasswordDescription": {},
"noPasswordRecoveryDescription": "עדיין לא הוספת דרך לשחזר את הסיסמה שלך.", "noPasswordRecoveryDescription": "עדיין לא הוספת דרך לשחזר את הסיסמה שלך.",
"@noPasswordRecoveryDescription": { "@noPasswordRecoveryDescription": {
"type": "text", "type": "text",
@ -1311,6 +1592,8 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"newUsernameDescription": "מזהה המשתמש שלך יקבל את הפורמט @username:servername",
"@newUsernameDescription": {},
"notificationsEnabledForThisAccount": "התראות הופעלו עבור חשבון זה", "notificationsEnabledForThisAccount": "התראות הופעלו עבור חשבון זה",
"@notificationsEnabledForThisAccount": { "@notificationsEnabledForThisAccount": {
"type": "text", "type": "text",
@ -1341,6 +1624,11 @@
"@link": {}, "@link": {},
"serverRequiresEmail": "שרת זה צריך לאמת את כתובת הדואר האלקטרוני שלך לרישום.", "serverRequiresEmail": "שרת זה צריך לאמת את כתובת הדואר האלקטרוני שלך לרישום.",
"@serverRequiresEmail": {}, "@serverRequiresEmail": {},
"makeAModerator": "הפוך למנחה",
"@makeAModerator": {
"type": "text",
"placeholders": {}
},
"logout": "יציאה", "logout": "יציאה",
"@logout": { "@logout": {
"type": "text", "type": "text",
@ -1351,6 +1639,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"noDescription": "אין תיאור",
"@noDescription": {
"type": "text",
"placeholders": {}
},
"scanQrCode": "סרוק קוד QR", "scanQrCode": "סרוק קוד QR",
"@scanQrCode": {}, "@scanQrCode": {},
"noPermission": "אין הרשאה", "noPermission": "אין הרשאה",
@ -1370,6 +1663,11 @@
"homeserver": {} "homeserver": {}
} }
}, },
"makeAnAdmin": "הפוך למנהל מערכת",
"@makeAnAdmin": {
"type": "text",
"placeholders": {}
},
"makeSureTheIdentifierIsValid": "ודא שהמזהה חוקי", "makeSureTheIdentifierIsValid": "ודא שהמזהה חוקי",
"@makeSureTheIdentifierIsValid": { "@makeSureTheIdentifierIsValid": {
"type": "text", "type": "text",
@ -1399,14 +1697,5 @@
"@openCamera": { "@openCamera": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
},
"updateAvailable": "עדכון FluffyChat זמין",
"@updateAvailable": {},
"updateNow": "התחל עדכון ברקע",
"@updateNow": {},
"bubbleSize": "גודל בועות",
"@bubbleSize": {
"type": "text",
"placeholders": {}
} }
} }

View File

@ -1 +0,0 @@
{}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1551
assets/l10n/intl_hy.arb Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -22,6 +22,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"accountInformation": "Informazioni account",
"@accountInformation": {
"type": "text",
"placeholders": {}
},
"activatedEndToEndEncryption": "{username} ha abilitato la crittografia end to end", "activatedEndToEndEncryption": "{username} ha abilitato la crittografia end to end",
"@activatedEndToEndEncryption": { "@activatedEndToEndEncryption": {
"type": "text", "type": "text",
@ -39,6 +44,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"addNewFriend": "Aggiungi un nuovo amico",
"@addNewFriend": {
"type": "text",
"placeholders": {}
},
"admin": "Amministratore", "admin": "Amministratore",
"@admin": { "@admin": {
"type": "text", "type": "text",
@ -54,6 +64,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"alreadyHaveAnAccount": "Hai già un account?",
"@alreadyHaveAnAccount": {
"type": "text",
"placeholders": {}
},
"answeredTheCall": "{senderName} ha risposto alla chiamata", "answeredTheCall": "{senderName} ha risposto alla chiamata",
"@answeredTheCall": { "@answeredTheCall": {
"type": "text", "type": "text",
@ -76,6 +91,11 @@
"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",
@ -91,11 +111,21 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"askSSSSCache": "Per favore inserisci la tua frase segrata o chiave di recuparo per mettere in cache le chiavi.",
"@askSSSSCache": {
"type": "text",
"placeholders": {}
},
"askSSSSSign": "Per far accedere l'altra persona, per favore inserisci la tua frase segreta o chiave di recupero.", "askSSSSSign": "Per far accedere l'altra persona, per favore inserisci la tua frase segreta o chiave di recupero.",
"@askSSSSSign": { "@askSSSSSign": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"askSSSSVerify": "Per favore inserisci la tua frase segreta o chiave di recupero per verificare la sessione.",
"@askSSSSVerify": {
"type": "text",
"placeholders": {}
},
"askVerificationRequest": "Accettare questa richiesta di verifica da {username}?", "askVerificationRequest": "Accettare questa richiesta di verifica da {username}?",
"@askVerificationRequest": { "@askVerificationRequest": {
"type": "text", "type": "text",
@ -103,6 +133,26 @@
"username": {} "username": {}
} }
}, },
"audioPlayerPause": "Pausa",
"@audioPlayerPause": {
"type": "text",
"placeholders": {}
},
"audioPlayerPlay": "Riproduci",
"@audioPlayerPlay": {
"type": "text",
"placeholders": {}
},
"authentication": "Autenticazione",
"@authentication": {
"type": "text",
"placeholders": {}
},
"avatarHasBeenChanged": "Avatar cambiato",
"@avatarHasBeenChanged": {
"type": "text",
"placeholders": {}
},
"badServerLoginTypesException": "L'homeserver supporta i tipi di accesso:\n{serverVersions}\nMa questa applicazione supporta solo:\n{supportedVersions}", "badServerLoginTypesException": "L'homeserver supporta i tipi di accesso:\n{serverVersions}\nMa questa applicazione supporta solo:\n{supportedVersions}",
"@badServerLoginTypesException": { "@badServerLoginTypesException": {
"type": "text", "type": "text",
@ -152,6 +202,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"cachedKeys": "Chiavi in cache",
"@cachedKeys": {
"type": "text",
"placeholders": {}
},
"cancel": "Cancella", "cancel": "Cancella",
"@cancel": { "@cancel": {
"type": "text", "type": "text",
@ -266,11 +321,21 @@
"username": {} "username": {}
} }
}, },
"changelog": "Registro cambiamenti",
"@changelog": {
"type": "text",
"placeholders": {}
},
"changePassword": "Cambia la password", "changePassword": "Cambia la password",
"@changePassword": { "@changePassword": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"changesHaveBeenSaved": "I cambiamenti sono stati salvati",
"@changesHaveBeenSaved": {
"type": "text",
"placeholders": {}
},
"changeTheHomeserver": "Cambia il server principale", "changeTheHomeserver": "Cambia il server principale",
"@changeTheHomeserver": { "@changeTheHomeserver": {
"type": "text", "type": "text",
@ -286,6 +351,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"changeTheServer": "Cambia server",
"@changeTheServer": {
"type": "text",
"placeholders": {}
},
"changeWallpaper": "Cambia sfondo", "changeWallpaper": "Cambia sfondo",
"@changeWallpaper": { "@changeWallpaper": {
"type": "text", "type": "text",
@ -331,6 +401,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"clearText": "Cancella il testo",
"@clearText": {
"type": "text",
"placeholders": {}
},
"close": "Chiudi", "close": "Chiudi",
"@close": { "@close": {
"type": "text", "type": "text",
@ -361,6 +436,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"connectionAttemptFailed": "Tentativo di connessione fallito",
"@connectionAttemptFailed": {
"type": "text",
"placeholders": {}
},
"contactHasBeenInvitedToTheGroup": "Il contatto è stato invitato nel gruppo", "contactHasBeenInvitedToTheGroup": "Il contatto è stato invitato nel gruppo",
"@contactHasBeenInvitedToTheGroup": { "@contactHasBeenInvitedToTheGroup": {
"type": "text", "type": "text",
@ -381,6 +461,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"contentViewer": "Visualizzatore contenuti",
"@contentViewer": {
"type": "text",
"placeholders": {}
},
"copiedToClipboard": "Copiato negli Appunti", "copiedToClipboard": "Copiato negli Appunti",
"@copiedToClipboard": { "@copiedToClipboard": {
"type": "text", "type": "text",
@ -403,6 +488,16 @@
"error": {} "error": {}
} }
}, },
"couldNotSetAvatar": "Impossibile impostare avatar",
"@couldNotSetAvatar": {
"type": "text",
"placeholders": {}
},
"couldNotSetDisplayname": "Impossibile impostare nome",
"@couldNotSetDisplayname": {
"type": "text",
"placeholders": {}
},
"countParticipants": "{count} partecipanti", "countParticipants": "{count} partecipanti",
"@countParticipants": { "@countParticipants": {
"type": "text", "type": "text",
@ -415,6 +510,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"createAccountNow": "Crea ora un account",
"@createAccountNow": {
"type": "text",
"placeholders": {}
},
"createdTheChat": "{username} ha creato la chat", "createdTheChat": "{username} ha creato la chat",
"@createdTheChat": { "@createdTheChat": {
"type": "text", "type": "text",
@ -427,6 +527,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"crossSigningDisabled": "Firma incrociata disabilitata",
"@crossSigningDisabled": {
"type": "text",
"placeholders": {}
},
"crossSigningEnabled": "Firma incrociata abilitata",
"@crossSigningEnabled": {
"type": "text",
"placeholders": {}
},
"currentlyActive": "Attualmente attivo", "currentlyActive": "Attualmente attivo",
"@currentlyActive": { "@currentlyActive": {
"type": "text", "type": "text",
@ -507,16 +617,41 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"deviceVerifyDescription": "La crittografia è sicura solo quando tutti i dispositivi sono stati verificati.",
"@deviceVerifyDescription": {
"type": "text",
"placeholders": {}
},
"directChats": "Discussioni dirette", "directChats": "Discussioni dirette",
"@directChats": { "@directChats": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"discardPicture": "Rimuovi l'immagine",
"@discardPicture": {
"type": "text",
"placeholders": {}
},
"discover": "Scopri",
"@discover": {
"type": "text",
"placeholders": {}
},
"discoverGroups": "Scopri gruppi",
"@discoverGroups": {
"type": "text",
"placeholders": {}
},
"displaynameHasBeenChanged": "Il nominativo è stato cambiato", "displaynameHasBeenChanged": "Il nominativo è stato cambiato",
"@displaynameHasBeenChanged": { "@displaynameHasBeenChanged": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"donate": "Dona",
"@donate": {
"type": "text",
"placeholders": {}
},
"downloadFile": "Scarica il file", "downloadFile": "Scarica il file",
"@downloadFile": { "@downloadFile": {
"type": "text", "type": "text",
@ -542,6 +677,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"editJitsiInstance": "Cambia l'istanza Jitsi",
"@editJitsiInstance": {
"type": "text",
"placeholders": {}
},
"editRoomAvatar": "Modifica l'avatar della stanza", "editRoomAvatar": "Modifica l'avatar della stanza",
"@editRoomAvatar": { "@editRoomAvatar": {
"type": "text", "type": "text",
@ -607,11 +747,21 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"encryptionAlgorithm": "Algoritmo crittografia",
"@encryptionAlgorithm": {
"type": "text",
"placeholders": {}
},
"encryptionNotEnabled": "Crittografia non abilitata", "encryptionNotEnabled": "Crittografia non abilitata",
"@encryptionNotEnabled": { "@encryptionNotEnabled": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"end2endEncryptionSettings": "Impostazioni crittografia dall'inizio alla fine",
"@end2endEncryptionSettings": {
"type": "text",
"placeholders": {}
},
"endedTheCall": "{senderName} è entrato in chiamata", "endedTheCall": "{senderName} è entrato in chiamata",
"@endedTheCall": { "@endedTheCall": {
"type": "text", "type": "text",
@ -629,6 +779,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"enterAUsername": "Inserisci un username",
"@enterAUsername": {
"type": "text",
"placeholders": {}
},
"enterYourHomeserver": "Inserisci il tuo server principale", "enterYourHomeserver": "Inserisci il tuo server principale",
"@enterYourHomeserver": { "@enterYourHomeserver": {
"type": "text", "type": "text",
@ -649,6 +804,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"fileSize": "Dimensione del file",
"@fileSize": {
"type": "text",
"placeholders": {}
},
"fluffychat": "FluffyChat", "fluffychat": "FluffyChat",
"@fluffychat": { "@fluffychat": {
"type": "text", "type": "text",
@ -664,6 +824,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"friday": "venerdì",
"@friday": {
"type": "text",
"placeholders": {}
},
"friends": "Amici",
"@friends": {
"type": "text",
"placeholders": {}
},
"fromJoining": "Dall'adesione", "fromJoining": "Dall'adesione",
"@fromJoining": { "@fromJoining": {
"type": "text", "type": "text",
@ -744,6 +914,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"homeserverIsNotCompatible": "Il server principale non è compatibile",
"@homeserverIsNotCompatible": {
"type": "text",
"placeholders": {}
},
"howOffensiveIsThisContent": "Quanto è offensivo questo contenuto?", "howOffensiveIsThisContent": "Quanto è offensivo questo contenuto?",
"@howOffensiveIsThisContent": { "@howOffensiveIsThisContent": {
"type": "text", "type": "text",
@ -837,6 +1012,11 @@
"link": {} "link": {}
} }
}, },
"isDeviceKeyCorrect": "La chiave del dispositivo seguente è corretta?",
"@isDeviceKeyCorrect": {
"type": "text",
"placeholders": {}
},
"isTyping": "sta scrivendo…", "isTyping": "sta scrivendo…",
"@isTyping": { "@isTyping": {
"type": "text", "type": "text",
@ -854,6 +1034,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"keysCached": "Le chiave sono memorizzate nella cache",
"@keysCached": {
"type": "text",
"placeholders": {}
},
"keysMissing": "Mancano le chiavi",
"@keysMissing": {
"type": "text",
"placeholders": {}
},
"kicked": "{username} ha espulso {targetName}", "kicked": "{username} ha espulso {targetName}",
"@kicked": { "@kicked": {
"type": "text", "type": "text",
@ -882,6 +1072,11 @@
"localizedTimeShort": {} "localizedTimeShort": {}
} }
}, },
"lastSeenIp": "IP ultimo visto",
"@lastSeenIp": {
"type": "text",
"placeholders": {}
},
"lastSeenLongTimeAgo": "Visto/a molto tempo fa", "lastSeenLongTimeAgo": "Visto/a molto tempo fa",
"@lastSeenLongTimeAgo": { "@lastSeenLongTimeAgo": {
"type": "text", "type": "text",
@ -941,6 +1136,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"makeAModerator": "Promuovi come moderatore",
"@makeAModerator": {
"type": "text",
"placeholders": {}
},
"makeAnAdmin": "Promuovi come amministratore",
"@makeAnAdmin": {
"type": "text",
"placeholders": {}
},
"makeSureTheIdentifierIsValid": "Assicurati che l'identificatore sia valido", "makeSureTheIdentifierIsValid": "Assicurati che l'identificatore sia valido",
"@makeSureTheIdentifierIsValid": { "@makeSureTheIdentifierIsValid": {
"type": "text", "type": "text",
@ -971,6 +1176,18 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"monday": "lunedì",
"@monday": {
"type": "text",
"placeholders": {}
},
"moreEvents": "{count,plural =1{1 altro evento} other{{count} altri eventi}}",
"@moreEvents": {
"type": "text",
"placeholders": {
"count": {}
}
},
"muteChat": "Silenzia discussione", "muteChat": "Silenzia discussione",
"@muteChat": { "@muteChat": {
"type": "text", "type": "text",
@ -1011,6 +1228,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"noCrossSignBootstrap": "Fluffychat attualmente non supporta l'abilitazione della firma incrociata. Abilitala dall'interno di Element.",
"@noCrossSignBootstrap": {
"type": "text",
"placeholders": {}
},
"noDescription": "Nessuna descrizione",
"@noDescription": {
"type": "text",
"placeholders": {}
},
"noEmotesFound": "Nessun emote trovato. 😕", "noEmotesFound": "Nessun emote trovato. 😕",
"@noEmotesFound": { "@noEmotesFound": {
"type": "text", "type": "text",
@ -1026,6 +1253,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"noMegolmBootstrap": "Fluffychat attualmente non supporta l'attivazione del backup delle chiavi in linea. Abilitalo da Element.",
"@noMegolmBootstrap": {
"type": "text",
"placeholders": {}
},
"none": "Nessuno", "none": "Nessuno",
"@none": { "@none": {
"type": "text", "type": "text",
@ -1041,11 +1273,21 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"noPublicRoomsFound": "Nessuna stanza pubblica trovata……",
"@noPublicRoomsFound": {
"type": "text",
"placeholders": {}
},
"noRoomsFound": "Nessuna stanza trovata…", "noRoomsFound": "Nessuna stanza trovata…",
"@noRoomsFound": { "@noRoomsFound": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"noStatusesFound": "Nessuno stato trovato finora.",
"@noStatusesFound": {
"type": "text",
"placeholders": {}
},
"notifications": "Notifiche", "notifications": "Notifiche",
"@notifications": { "@notifications": {
"type": "text", "type": "text",
@ -1056,6 +1298,18 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"notSupportedInWeb": "Non supportato nel Web",
"@notSupportedInWeb": {
"type": "text",
"placeholders": {}
},
"numberSelected": "{number} selezionato/i",
"@numberSelected": {
"type": "text",
"placeholders": {
"number": {}
}
},
"numUsersTyping": "{count} utenti stanno scrivendo…", "numUsersTyping": "{count} utenti stanno scrivendo…",
"@numUsersTyping": { "@numUsersTyping": {
"type": "text", "type": "text",
@ -1083,6 +1337,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"onlineKeyBackupDisabled": "Il backup delle chiavi in linea è disabilitato",
"@onlineKeyBackupDisabled": {
"type": "text",
"placeholders": {}
},
"onlineKeyBackupEnabled": "Il backup delle chiavi in linea è abilitato", "onlineKeyBackupEnabled": "Il backup delle chiavi in linea è abilitato",
"@onlineKeyBackupEnabled": { "@onlineKeyBackupEnabled": {
"type": "text", "type": "text",
@ -1113,6 +1372,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"participatingUserDevices": "Dispositivi partecipanti",
"@participatingUserDevices": {
"type": "text",
"placeholders": {}
},
"passphraseOrKey": "frase segreta o chiave di recupero", "passphraseOrKey": "frase segreta o chiave di recupero",
"@passphraseOrKey": { "@passphraseOrKey": {
"type": "text", "type": "text",
@ -1185,6 +1449,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"pleaseEnterSecurityKey": "Inserisci la tua chiave di sicurezza:",
"@pleaseEnterSecurityKey": {
"type": "text",
"placeholders": {}
},
"pleaseEnterYourPassword": "Inserisci la tua password", "pleaseEnterYourPassword": "Inserisci la tua password",
"@pleaseEnterYourPassword": { "@pleaseEnterYourPassword": {
"type": "text", "type": "text",
@ -1205,6 +1474,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"publicGroups": "Gruppi pubblici",
"@publicGroups": {
"type": "text",
"placeholders": {}
},
"publicKey": "Chiave pubblica",
"@publicKey": {
"type": "text",
"placeholders": {}
},
"publicRooms": "Stanze pubbliche", "publicRooms": "Stanze pubbliche",
"@publicRooms": { "@publicRooms": {
"type": "text", "type": "text",
@ -1281,6 +1560,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"removeMessage": "Rimuovi il messaggio",
"@removeMessage": {
"type": "text",
"placeholders": {}
},
"renderRichContent": "Mostra i contenuti ricchi dei messaggi", "renderRichContent": "Mostra i contenuti ricchi dei messaggi",
"@renderRichContent": { "@renderRichContent": {
"type": "text", "type": "text",
@ -1306,6 +1590,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"requestToReadOlderMessages": "Richiedi di leggere i messaggi più vecchi",
"@requestToReadOlderMessages": {
"type": "text",
"placeholders": {}
},
"revokeAllPermissions": "Revoca tutte le autorizzazioni",
"@revokeAllPermissions": {
"type": "text",
"placeholders": {}
},
"roomHasBeenUpgraded": "La stanza è stata aggiornata", "roomHasBeenUpgraded": "La stanza è stata aggiornata",
"@roomHasBeenUpgraded": { "@roomHasBeenUpgraded": {
"type": "text", "type": "text",
@ -1316,16 +1610,36 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"saturday": "sabato",
"@saturday": {
"type": "text",
"placeholders": {}
},
"search": "Cerca", "search": "Cerca",
"@search": { "@search": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"searchForAChat": "Cerca una discussione",
"@searchForAChat": {
"type": "text",
"placeholders": {}
},
"security": "Sicurezza", "security": "Sicurezza",
"@security": { "@security": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"securityKey": "Chiave di sicurezza",
"@securityKey": {
"type": "text",
"placeholders": {}
},
"securityKeyLost": "Chiave di sicurezza persa?",
"@securityKeyLost": {
"type": "text",
"placeholders": {}
},
"seenByUser": "Visto da {username}", "seenByUser": "Visto da {username}",
"@seenByUser": { "@seenByUser": {
"type": "text", "type": "text",
@ -1364,6 +1678,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"sendBugReports": "Consenti l'invio di segnalazioni di errore con sentry.io",
"@sendBugReports": {
"type": "text",
"placeholders": {}
},
"sendFile": "Invia un file", "sendFile": "Invia un file",
"@sendFile": { "@sendFile": {
"type": "text", "type": "text",
@ -1431,6 +1750,21 @@
"senderName": {} "senderName": {}
} }
}, },
"sentryInfo": "Informazioni sulla privacy: https://sentry.io/security/",
"@sentryInfo": {
"type": "text",
"placeholders": {}
},
"sessionVerified": "La sessione è verificata",
"@sessionVerified": {
"type": "text",
"placeholders": {}
},
"setAProfilePicture": "Imposta un'immagine di profilo",
"@setAProfilePicture": {
"type": "text",
"placeholders": {}
},
"setCustomEmotes": "Imposta emoticon personalizzate", "setCustomEmotes": "Imposta emoticon personalizzate",
"@setCustomEmotes": { "@setCustomEmotes": {
"type": "text", "type": "text",
@ -1488,6 +1822,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"soundVibrationLedColor": "Suono, vibrazione, colore diodo",
"@soundVibrationLedColor": {
"type": "text",
"placeholders": {}
},
"sourceCode": "Codice sorgente", "sourceCode": "Codice sorgente",
"@sourceCode": { "@sourceCode": {
"type": "text", "type": "text",
@ -1500,6 +1839,11 @@
"senderName": {} "senderName": {}
} }
}, },
"startYourFirstChat": "Inizia subito la tua prima discussione! 🙂\n- Tocca «+»\n- Inserisci il nome utente di un amico\n- Divertiti a chiacchierare",
"@startYourFirstChat": {
"type": "text",
"placeholders": {}
},
"status": "Stato", "status": "Stato",
"@status": { "@status": {
"type": "text", "type": "text",
@ -1515,11 +1859,26 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"sunday": "domenica",
"@sunday": {
"type": "text",
"placeholders": {}
},
"systemTheme": "Sistema", "systemTheme": "Sistema",
"@systemTheme": { "@systemTheme": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"tapOnDeviceToVerify": "Tocca un dispositivo per verificarlo",
"@tapOnDeviceToVerify": {
"type": "text",
"placeholders": {}
},
"tapToShowMenu": "Tocca per mostrare il menù",
"@tapToShowMenu": {
"type": "text",
"placeholders": {}
},
"theyDontMatch": "Non corrispondono", "theyDontMatch": "Non corrispondono",
"@theyDontMatch": { "@theyDontMatch": {
"type": "text", "type": "text",
@ -1530,6 +1889,26 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"thisRoomHasBeenArchived": "Questa stanza è stata archiviata.",
"@thisRoomHasBeenArchived": {
"type": "text",
"placeholders": {}
},
"thursday": "giovedì",
"@thursday": {
"type": "text",
"placeholders": {}
},
"timeOfDay": "{hours24}:{minutes}",
"@timeOfDay": {
"type": "text",
"placeholders": {
"hours12": {},
"hours24": {},
"minutes": {},
"suffix": {}
}
},
"title": "FluffyChat", "title": "FluffyChat",
"@title": { "@title": {
"description": "Title for the application", "description": "Title for the application",
@ -1566,6 +1945,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"tuesday": "martedì",
"@tuesday": {
"type": "text",
"placeholders": {}
},
"unavailable": "Non disponibile", "unavailable": "Non disponibile",
"@unavailable": { "@unavailable": {
"type": "text", "type": "text",
@ -1601,6 +1985,16 @@
"type": {} "type": {}
} }
}, },
"unknownSessionVerify": "Sessione sconosciuta, verifica",
"@unknownSessionVerify": {
"type": "text",
"placeholders": {}
},
"unlockChatBackup": "Sblocca il backup della discussione",
"@unlockChatBackup": {
"type": "text",
"placeholders": {}
},
"unmuteChat": "Riattiva l'audio della discussione", "unmuteChat": "Riattiva l'audio della discussione",
"@unmuteChat": { "@unmuteChat": {
"type": "text", "type": "text",
@ -1618,6 +2012,18 @@
"unreadCount": {} "unreadCount": {}
} }
}, },
"unreadMessages": "{unreadEvents, plural, other{{unreadEvents} messaggi non letti}}",
"@unreadMessages": {
"type": "text",
"placeholders": {
"unreadEvents": {}
}
},
"useAmoledTheme": "Usare i colori compatibili con AMOLED?",
"@useAmoledTheme": {
"type": "text",
"placeholders": {}
},
"userAndOthersAreTyping": "{username} e {count} altri stanno scrivendo…", "userAndOthersAreTyping": "{username} e {count} altri stanno scrivendo…",
"@userAndOthersAreTyping": { "@userAndOthersAreTyping": {
"type": "text", "type": "text",
@ -1653,6 +2059,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"userNotVerified": "L'utente non è verificato",
"@userNotVerified": {
"type": "text",
"placeholders": {}
},
"userSentUnknownEvent": "{username} ha inviato un evento {type}", "userSentUnknownEvent": "{username} ha inviato un evento {type}",
"@userSentUnknownEvent": { "@userSentUnknownEvent": {
"type": "text", "type": "text",
@ -1661,16 +2072,36 @@
"type": {} "type": {}
} }
}, },
"userUnknownVerification": "L'utente ha uno stato di verifica sconosciuto",
"@userUnknownVerification": {
"type": "text",
"placeholders": {}
},
"userVerified": "L'utente è verificato",
"@userVerified": {
"type": "text",
"placeholders": {}
},
"verified": "Verificato", "verified": "Verificato",
"@verified": { "@verified": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"verifiedSession": "Sessione verificata con successo!",
"@verifiedSession": {
"type": "text",
"placeholders": {}
},
"verify": "Verifica", "verify": "Verifica",
"@verify": { "@verify": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"verifyManual": "Verifica manualmente",
"@verifyManual": {
"type": "text",
"placeholders": {}
},
"verifyStart": "Avvia la verifica", "verifyStart": "Avvia la verifica",
"@verifyStart": { "@verifyStart": {
"type": "text", "type": "text",
@ -1686,6 +2117,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"verifyUser": "Verifica l'utente",
"@verifyUser": {
"type": "text",
"placeholders": {}
},
"videoCall": "Videochiamata", "videoCall": "Videochiamata",
"@videoCall": { "@videoCall": {
"type": "text", "type": "text",
@ -1736,6 +2172,21 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"warningEncryptionInBeta": "La crittografia dall'inizio alla fine è attualmente in beta! Utilizzala a proprio rischio!",
"@warningEncryptionInBeta": {
"type": "text",
"placeholders": {}
},
"wednesday": "mercoledì",
"@wednesday": {
"type": "text",
"placeholders": {}
},
"welcomeText": "Benvenuto/a nella messaggistica istantanea più carina della rete Matrix.",
"@welcomeText": {
"type": "text",
"placeholders": {}
},
"weSentYouAnEmail": "Ti abbiamo inviato un'e-mail", "weSentYouAnEmail": "Ti abbiamo inviato un'e-mail",
"@weSentYouAnEmail": { "@weSentYouAnEmail": {
"type": "text", "type": "text",
@ -1801,11 +2252,33 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"yourOwnUsername": "Il tuo nome utente",
"@yourOwnUsername": {
"type": "text",
"placeholders": {}
},
"yourPublicKey": "La tua chiave pubblica", "yourPublicKey": "La tua chiave pubblica",
"@yourPublicKey": { "@yourPublicKey": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"youWillBeConnectedTo": "Verrai connesso/a a {homeserver}",
"@youWillBeConnectedTo": {
"type": "text",
"placeholders": {
"homeserver": {}
}
},
"zoomIn": "Ingrandisci",
"@zoomIn": {
"type": "text",
"placeholders": {}
},
"zoomOut": "Rimpicciolisci",
"@zoomOut": {
"type": "text",
"placeholders": {}
},
"singlesignon": "Accesso singolo", "singlesignon": "Accesso singolo",
"@singlesignon": { "@singlesignon": {
"type": "text", "type": "text",
@ -1841,6 +2314,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"optionalAddEmail": "(Facoltativo) Il tuo indirizzo e-mail",
"@optionalAddEmail": {
"type": "text",
"placeholders": {}
},
"oopsPushError": "Ops! Purtroppo si è verificato un errore durante l'impostazione delle notifiche push.", "oopsPushError": "Ops! Purtroppo si è verificato un errore durante l'impostazione delle notifiche push.",
"@oopsPushError": { "@oopsPushError": {
"type": "text", "type": "text",
@ -1853,6 +2331,11 @@
"brand": {} "brand": {}
} }
}, },
"invalidEmail": "E-mail non valida",
"@invalidEmail": {
"type": "text",
"placeholders": {}
},
"editRoomAliases": "Modifica gli alias della stanza", "editRoomAliases": "Modifica gli alias della stanza",
"@editRoomAliases": { "@editRoomAliases": {
"type": "text", "type": "text",
@ -1876,6 +2359,8 @@
"@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",
@ -1916,8 +2401,18 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"enableChatBackup": "Abilita il backup delle chat per non perdere mai l'accesso alle tue chat.",
"@enableChatBackup": {
"type": "text",
"placeholders": {}
},
"serverRequiresEmail": "Questo server ha bisogno di validare la tua email per la registrazione.", "serverRequiresEmail": "Questo server ha bisogno di validare la tua email per la registrazione.",
"@serverRequiresEmail": {}, "@serverRequiresEmail": {},
"saveFileToFolder": "Salva file in questa cartella",
"@saveFileToFolder": {
"type": "text",
"placeholders": {}
},
"openInMaps": "Apri in maps", "openInMaps": "Apri in maps",
"@openInMaps": { "@openInMaps": {
"type": "text", "type": "text",
@ -1947,7 +2442,7 @@
"type": "text", "type": "text",
"placeholder": {} "placeholder": {}
}, },
"cantOpenUri": "Can't open the URI {uri}", "cantOpenUri": "Impossibile aprire l'URI",
"@cantOpenUri": { "@cantOpenUri": {
"type": "text", "type": "text",
"placeholders": { "placeholders": {
@ -1965,6 +2460,12 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"setupChatBackup": "Imposta backup delle chat",
"@setupChatBackup": {},
"yourChatBackupHasBeenSetUp": "Il tuo backup delle chat è stato configurato.", "yourChatBackupHasBeenSetUp": "Il tuo backup delle chat è stato configurato.",
"@yourChatBackupHasBeenSetUp": {} "@yourChatBackupHasBeenSetUp": {},
"setupChatBackupDescription": "Per proteggere i tuoi messaggi, abbiamo generato una chiave di sicurezza. \nConservala in un luogo sicuro, come ad esempio un software di gestione password.",
"@setupChatBackupDescription": {},
"iWroteDownTheKey": "Ho trascritto la chiave",
"@iWroteDownTheKey": {}
} }

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -22,6 +22,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"accountInformation": "Kontoinfo",
"@accountInformation": {
"type": "text",
"placeholders": {}
},
"activatedEndToEndEncryption": "{username} skrudde på ende-til-ende -kryptering", "activatedEndToEndEncryption": "{username} skrudde på ende-til-ende -kryptering",
"@activatedEndToEndEncryption": { "@activatedEndToEndEncryption": {
"type": "text", "type": "text",
@ -49,6 +54,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"alreadyHaveAnAccount": "Har du allerede en konto?",
"@alreadyHaveAnAccount": {
"type": "text",
"placeholders": {}
},
"answeredTheCall": "{senderName} besvarte anropet", "answeredTheCall": "{senderName} besvarte anropet",
"@answeredTheCall": { "@answeredTheCall": {
"type": "text", "type": "text",
@ -71,6 +81,11 @@
"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",
@ -86,11 +101,21 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"askSSSSCache": "Skriv inn ditt sikre lagerpassord eller gjenopprettingsnøkkel for å hurtiglagre nøklene.",
"@askSSSSCache": {
"type": "text",
"placeholders": {}
},
"askSSSSSign": "For å kunne signere den andre personen, skriv inn ditt sikre lagerpassord eller gjenopprettingsnøkkel.", "askSSSSSign": "For å kunne signere den andre personen, skriv inn ditt sikre lagerpassord eller gjenopprettingsnøkkel.",
"@askSSSSSign": { "@askSSSSSign": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"askSSSSVerify": "Skriv inn ditt sikre lagerpassord eller gjenopprettingsnøkkel for å bekrefte økten din.",
"@askSSSSVerify": {
"type": "text",
"placeholders": {}
},
"askVerificationRequest": "Godta denne bekreftelsesforespørselen fra {username}?", "askVerificationRequest": "Godta denne bekreftelsesforespørselen fra {username}?",
"@askVerificationRequest": { "@askVerificationRequest": {
"type": "text", "type": "text",
@ -98,6 +123,26 @@
"username": {} "username": {}
} }
}, },
"audioPlayerPause": "Pause",
"@audioPlayerPause": {
"type": "text",
"placeholders": {}
},
"audioPlayerPlay": "Spill av",
"@audioPlayerPlay": {
"type": "text",
"placeholders": {}
},
"authentication": "Identitetsbekreftelse",
"@authentication": {
"type": "text",
"placeholders": {}
},
"avatarHasBeenChanged": "Avatar endret",
"@avatarHasBeenChanged": {
"type": "text",
"placeholders": {}
},
"banFromChat": "Bannlys fra sludring", "banFromChat": "Bannlys fra sludring",
"@banFromChat": { "@banFromChat": {
"type": "text", "type": "text",
@ -126,6 +171,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"cachedKeys": "Nøkler hurtiglagret",
"@cachedKeys": {
"type": "text",
"placeholders": {}
},
"cancel": "Avbryt", "cancel": "Avbryt",
"@cancel": { "@cancel": {
"type": "text", "type": "text",
@ -240,11 +290,21 @@
"username": {} "username": {}
} }
}, },
"changelog": "Endringslogg",
"@changelog": {
"type": "text",
"placeholders": {}
},
"changePassword": "Endre passord", "changePassword": "Endre passord",
"@changePassword": { "@changePassword": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"changesHaveBeenSaved": "Endringer lagret",
"@changesHaveBeenSaved": {
"type": "text",
"placeholders": {}
},
"changeTheHomeserver": "Endre hjemmetjener", "changeTheHomeserver": "Endre hjemmetjener",
"@changeTheHomeserver": { "@changeTheHomeserver": {
"type": "text", "type": "text",
@ -260,6 +320,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"changeTheServer": "Endre tjeneren",
"@changeTheServer": {
"type": "text",
"placeholders": {}
},
"changeWallpaper": "Endre bakgrunnsbilde", "changeWallpaper": "Endre bakgrunnsbilde",
"@changeWallpaper": { "@changeWallpaper": {
"type": "text", "type": "text",
@ -300,6 +365,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"clearText": "Tøm tekst",
"@clearText": {
"type": "text",
"placeholders": {}
},
"close": "Lukk", "close": "Lukk",
"@close": { "@close": {
"type": "text", "type": "text",
@ -330,6 +400,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"connectionAttemptFailed": "Kunne ikke koble til",
"@connectionAttemptFailed": {
"type": "text",
"placeholders": {}
},
"contactHasBeenInvitedToTheGroup": "Kontakt invitert til gruppen", "contactHasBeenInvitedToTheGroup": "Kontakt invitert til gruppen",
"@contactHasBeenInvitedToTheGroup": { "@contactHasBeenInvitedToTheGroup": {
"type": "text", "type": "text",
@ -350,6 +425,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"contentViewer": "Innholdsviser",
"@contentViewer": {
"type": "text",
"placeholders": {}
},
"copiedToClipboard": "Kopiert til utklippstavle", "copiedToClipboard": "Kopiert til utklippstavle",
"@copiedToClipboard": { "@copiedToClipboard": {
"type": "text", "type": "text",
@ -372,6 +452,16 @@
"error": {} "error": {}
} }
}, },
"couldNotSetAvatar": "Kunne ikke sette avatar",
"@couldNotSetAvatar": {
"type": "text",
"placeholders": {}
},
"couldNotSetDisplayname": "Kunne ikke sette visningsnavn",
"@couldNotSetDisplayname": {
"type": "text",
"placeholders": {}
},
"countParticipants": "{count} deltagere", "countParticipants": "{count} deltagere",
"@countParticipants": { "@countParticipants": {
"type": "text", "type": "text",
@ -384,6 +474,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"createAccountNow": "Opprett konto nå",
"@createAccountNow": {
"type": "text",
"placeholders": {}
},
"createdTheChat": "{username} opprettet sludringen", "createdTheChat": "{username} opprettet sludringen",
"@createdTheChat": { "@createdTheChat": {
"type": "text", "type": "text",
@ -396,6 +491,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"crossSigningDisabled": "Videreformidling av tillit på",
"@crossSigningDisabled": {
"type": "text",
"placeholders": {}
},
"crossSigningEnabled": "Videreformidling av tillit på",
"@crossSigningEnabled": {
"type": "text",
"placeholders": {}
},
"currentlyActive": "Aktiv nå", "currentlyActive": "Aktiv nå",
"@currentlyActive": { "@currentlyActive": {
"type": "text", "type": "text",
@ -481,11 +586,31 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"discardPicture": "Forkast bilde",
"@discardPicture": {
"type": "text",
"placeholders": {}
},
"discover": "Oppdag",
"@discover": {
"type": "text",
"placeholders": {}
},
"discoverGroups": "Oppdag grupper",
"@discoverGroups": {
"type": "text",
"placeholders": {}
},
"displaynameHasBeenChanged": "Visningsnavn endret", "displaynameHasBeenChanged": "Visningsnavn endret",
"@displaynameHasBeenChanged": { "@displaynameHasBeenChanged": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"donate": "Doner",
"@donate": {
"type": "text",
"placeholders": {}
},
"downloadFile": "Last ned fil", "downloadFile": "Last ned fil",
"@downloadFile": { "@downloadFile": {
"type": "text", "type": "text",
@ -511,6 +636,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"editJitsiInstance": "Skriv inn Jitsi-instans",
"@editJitsiInstance": {
"type": "text",
"placeholders": {}
},
"editRoomAvatar": "Rediger romavatar", "editRoomAvatar": "Rediger romavatar",
"@editRoomAvatar": { "@editRoomAvatar": {
"type": "text", "type": "text",
@ -576,11 +706,21 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"encryptionAlgorithm": "Krypteringsalgoritme",
"@encryptionAlgorithm": {
"type": "text",
"placeholders": {}
},
"encryptionNotEnabled": "Kryptering er ikke påskrudd", "encryptionNotEnabled": "Kryptering er ikke påskrudd",
"@encryptionNotEnabled": { "@encryptionNotEnabled": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"end2endEncryptionSettings": "Ende-til-ende -krypteringsinnstillinger",
"@end2endEncryptionSettings": {
"type": "text",
"placeholders": {}
},
"endedTheCall": "{senderName} avsluttet samtalen", "endedTheCall": "{senderName} avsluttet samtalen",
"@endedTheCall": { "@endedTheCall": {
"type": "text", "type": "text",
@ -598,6 +738,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"enterAUsername": "Skriv inn et brukernavn",
"@enterAUsername": {
"type": "text",
"placeholders": {}
},
"enterYourHomeserver": "Skriv inn din hjemmetjener", "enterYourHomeserver": "Skriv inn din hjemmetjener",
"@enterYourHomeserver": { "@enterYourHomeserver": {
"type": "text", "type": "text",
@ -618,6 +763,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"fileSize": "Filstørrelse",
"@fileSize": {
"type": "text",
"placeholders": {}
},
"fluffychat": "FluffyChat", "fluffychat": "FluffyChat",
"@fluffychat": { "@fluffychat": {
"type": "text", "type": "text",
@ -633,6 +783,11 @@
"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",
@ -708,6 +863,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"homeserverIsNotCompatible": "Hjemmetjener ukompatibel",
"@homeserverIsNotCompatible": {
"type": "text",
"placeholders": {}
},
"howOffensiveIsThisContent": "Hvor støtende er innholdet?", "howOffensiveIsThisContent": "Hvor støtende er innholdet?",
"@howOffensiveIsThisContent": { "@howOffensiveIsThisContent": {
"type": "text", "type": "text",
@ -801,6 +961,11 @@
"link": {} "link": {}
} }
}, },
"isDeviceKeyCorrect": "Er følgende enhetsnøkkel riktig?",
"@isDeviceKeyCorrect": {
"type": "text",
"placeholders": {}
},
"isTyping": "skriver…", "isTyping": "skriver…",
"@isTyping": { "@isTyping": {
"type": "text", "type": "text",
@ -818,6 +983,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"keysCached": "Nøkler hurtiglagret",
"@keysCached": {
"type": "text",
"placeholders": {}
},
"keysMissing": "Nøkler mangler",
"@keysMissing": {
"type": "text",
"placeholders": {}
},
"kicked": "{username} kastet ut {targetName}", "kicked": "{username} kastet ut {targetName}",
"@kicked": { "@kicked": {
"type": "text", "type": "text",
@ -846,6 +1021,11 @@
"localizedTimeShort": {} "localizedTimeShort": {}
} }
}, },
"lastSeenIp": "Sist kjente IP",
"@lastSeenIp": {
"type": "text",
"placeholders": {}
},
"lastSeenLongTimeAgo": "Sett for lenge siden", "lastSeenLongTimeAgo": "Sett for lenge siden",
"@lastSeenLongTimeAgo": { "@lastSeenLongTimeAgo": {
"type": "text", "type": "text",
@ -905,6 +1085,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"makeAModerator": "Gjør til moderator",
"@makeAModerator": {
"type": "text",
"placeholders": {}
},
"makeAnAdmin": "Gjør til admin",
"@makeAnAdmin": {
"type": "text",
"placeholders": {}
},
"makeSureTheIdentifierIsValid": "Forsikre deg om at identifikatoren er gyldig", "makeSureTheIdentifierIsValid": "Forsikre deg om at identifikatoren er gyldig",
"@makeSureTheIdentifierIsValid": { "@makeSureTheIdentifierIsValid": {
"type": "text", "type": "text",
@ -935,6 +1125,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"monday": "Mandag",
"@monday": {
"type": "text",
"placeholders": {}
},
"muteChat": "Forstum sludring", "muteChat": "Forstum sludring",
"@muteChat": { "@muteChat": {
"type": "text", "type": "text",
@ -970,6 +1165,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"noCrossSignBootstrap": "Skru på videreformidling av tillit fra Element istedenfor.",
"@noCrossSignBootstrap": {
"type": "text",
"placeholders": {}
},
"noDescription": "Ingen beskrivelse",
"@noDescription": {
"type": "text",
"placeholders": {}
},
"noEmotesFound": "Fant ingen smilefjes. 😕", "noEmotesFound": "Fant ingen smilefjes. 😕",
"@noEmotesFound": { "@noEmotesFound": {
"type": "text", "type": "text",
@ -980,6 +1185,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"noMegolmBootstrap": "Skru på nettbasert sikkerhetskopiering av nøkler fra Element istedenfor.",
"@noMegolmBootstrap": {
"type": "text",
"placeholders": {}
},
"none": "Ingen", "none": "Ingen",
"@none": { "@none": {
"type": "text", "type": "text",
@ -1000,6 +1210,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"noStatusesFound": "Ingen statuser så langt.",
"@noStatusesFound": {
"type": "text",
"placeholders": {}
},
"notifications": "Merknader", "notifications": "Merknader",
"@notifications": { "@notifications": {
"type": "text", "type": "text",
@ -1010,6 +1225,18 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"notSupportedInWeb": "Ikke støttet på vev-versjonen",
"@notSupportedInWeb": {
"type": "text",
"placeholders": {}
},
"numberSelected": "{number} valgt",
"@numberSelected": {
"type": "text",
"placeholders": {
"number": {}
}
},
"numUsersTyping": "{count} brukere skriver …", "numUsersTyping": "{count} brukere skriver …",
"@numUsersTyping": { "@numUsersTyping": {
"type": "text", "type": "text",
@ -1037,6 +1264,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"onlineKeyBackupDisabled": "Nettbasert sikkerhetskopiering av nøkler avskrudd",
"@onlineKeyBackupDisabled": {
"type": "text",
"placeholders": {}
},
"onlineKeyBackupEnabled": "Nettbasert sikkerhetskopiering av nøkler på", "onlineKeyBackupEnabled": "Nettbasert sikkerhetskopiering av nøkler på",
"@onlineKeyBackupEnabled": { "@onlineKeyBackupEnabled": {
"type": "text", "type": "text",
@ -1067,6 +1299,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"participatingUserDevices": "Deltagende brukerenheter",
"@participatingUserDevices": {
"type": "text",
"placeholders": {}
},
"passphraseOrKey": "Passord eller gjenopprettingsnøkkel", "passphraseOrKey": "Passord eller gjenopprettingsnøkkel",
"@passphraseOrKey": { "@passphraseOrKey": {
"type": "text", "type": "text",
@ -1124,6 +1361,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"pleaseEnterSecurityKey": "Skriv inn din sikkerhetsnøkkel:",
"@pleaseEnterSecurityKey": {
"type": "text",
"placeholders": {}
},
"pleaseEnterYourPassword": "Skriv inn passordet ditt", "pleaseEnterYourPassword": "Skriv inn passordet ditt",
"@pleaseEnterYourPassword": { "@pleaseEnterYourPassword": {
"type": "text", "type": "text",
@ -1144,6 +1386,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"publicKey": "Offentlig nøkkel",
"@publicKey": {
"type": "text",
"placeholders": {}
},
"publicRooms": "Offentlige rom", "publicRooms": "Offentlige rom",
"@publicRooms": { "@publicRooms": {
"type": "text", "type": "text",
@ -1215,6 +1462,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"removeMessage": "Fjern melding",
"@removeMessage": {
"type": "text",
"placeholders": {}
},
"renderRichContent": "Tegn rikt meldingsinnhold", "renderRichContent": "Tegn rikt meldingsinnhold",
"@renderRichContent": { "@renderRichContent": {
"type": "text", "type": "text",
@ -1240,21 +1492,51 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"requestToReadOlderMessages": "Forespørsel om å lese eldre meldinger",
"@requestToReadOlderMessages": {
"type": "text",
"placeholders": {}
},
"revokeAllPermissions": "Trekk tilbake alle tilganger",
"@revokeAllPermissions": {
"type": "text",
"placeholders": {}
},
"roomHasBeenUpgraded": "Rommet har blitt oppgradert", "roomHasBeenUpgraded": "Rommet har blitt oppgradert",
"@roomHasBeenUpgraded": { "@roomHasBeenUpgraded": {
"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",
"placeholders": {} "placeholders": {}
}, },
"searchForAChat": "Søk etter en sludring",
"@searchForAChat": {
"type": "text",
"placeholders": {}
},
"security": "Sikkerhet", "security": "Sikkerhet",
"@security": { "@security": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"securityKey": "Sikkerhetsnøkkel",
"@securityKey": {
"type": "text",
"placeholders": {}
},
"securityKeyLost": "Mistet sikkerhetsnøkkelen?",
"@securityKeyLost": {
"type": "text",
"placeholders": {}
},
"seenByUser": "Sett av {username}", "seenByUser": "Sett av {username}",
"@seenByUser": { "@seenByUser": {
"type": "text", "type": "text",
@ -1293,6 +1575,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"sendBugReports": "Tillat forsendelse av feilrapporter med sentry.io",
"@sendBugReports": {
"type": "text",
"placeholders": {}
},
"sendFile": "Send fil", "sendFile": "Send fil",
"@sendFile": { "@sendFile": {
"type": "text", "type": "text",
@ -1360,6 +1647,21 @@
"senderName": {} "senderName": {}
} }
}, },
"sentryInfo": "Personvernsinfo: https://sentry.io/security/",
"@sentryInfo": {
"type": "text",
"placeholders": {}
},
"sessionVerified": "Økt bekreftet",
"@sessionVerified": {
"type": "text",
"placeholders": {}
},
"setAProfilePicture": "Sett et profilbilde",
"@setAProfilePicture": {
"type": "text",
"placeholders": {}
},
"setCustomEmotes": "Sett tilpassede smilefjes", "setCustomEmotes": "Sett tilpassede smilefjes",
"@setCustomEmotes": { "@setCustomEmotes": {
"type": "text", "type": "text",
@ -1412,6 +1714,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"soundVibrationLedColor": "Lyd, LED-farge for vibrasjon",
"@soundVibrationLedColor": {
"type": "text",
"placeholders": {}
},
"sourceCode": "Kildekode", "sourceCode": "Kildekode",
"@sourceCode": { "@sourceCode": {
"type": "text", "type": "text",
@ -1424,6 +1731,11 @@
"senderName": {} "senderName": {}
} }
}, },
"startYourFirstChat": "Start din første sludring :-)",
"@startYourFirstChat": {
"type": "text",
"placeholders": {}
},
"status": "Status", "status": "Status",
"@status": { "@status": {
"type": "text", "type": "text",
@ -1439,11 +1751,21 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"sunday": "Søndag",
"@sunday": {
"type": "text",
"placeholders": {}
},
"systemTheme": "System", "systemTheme": "System",
"@systemTheme": { "@systemTheme": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"tapToShowMenu": "Trykk for å vise meny",
"@tapToShowMenu": {
"type": "text",
"placeholders": {}
},
"theyDontMatch": "Samsvarer ikke", "theyDontMatch": "Samsvarer ikke",
"@theyDontMatch": { "@theyDontMatch": {
"type": "text", "type": "text",
@ -1454,6 +1776,16 @@
"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",
@ -1475,6 +1807,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"tuesday": "Tirsdag",
"@tuesday": {
"type": "text",
"placeholders": {}
},
"unavailable": "Utilgjengelig", "unavailable": "Utilgjengelig",
"@unavailable": { "@unavailable": {
"type": "text", "type": "text",
@ -1510,6 +1847,11 @@
"type": {} "type": {}
} }
}, },
"unknownSessionVerify": "Ukjent økt. Bekreft den",
"@unknownSessionVerify": {
"type": "text",
"placeholders": {}
},
"unmuteChat": "Opphev forstumming av sludring", "unmuteChat": "Opphev forstumming av sludring",
"@unmuteChat": { "@unmuteChat": {
"type": "text", "type": "text",
@ -1527,6 +1869,18 @@
"unreadCount": {} "unreadCount": {}
} }
}, },
"unreadMessages": "{unreadEvents, plural, other{{unreadEvents} uleste meldinger}}",
"@unreadMessages": {
"type": "text",
"placeholders": {
"unreadEvents": {}
}
},
"useAmoledTheme": "Bruk AMOLED-kompatible farger?",
"@useAmoledTheme": {
"type": "text",
"placeholders": {}
},
"userAndOthersAreTyping": "{username} og {count} andre skriver…", "userAndOthersAreTyping": "{username} og {count} andre skriver…",
"@userAndOthersAreTyping": { "@userAndOthersAreTyping": {
"type": "text", "type": "text",
@ -1562,6 +1916,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"userNotVerified": "Ubekreftet bruker",
"@userNotVerified": {
"type": "text",
"placeholders": {}
},
"userSentUnknownEvent": "{username} sendte en {type}-hendelse", "userSentUnknownEvent": "{username} sendte en {type}-hendelse",
"@userSentUnknownEvent": { "@userSentUnknownEvent": {
"type": "text", "type": "text",
@ -1570,11 +1929,31 @@
"type": {} "type": {}
} }
}, },
"userUnknownVerification": "Bruker har ukjent bekreftelsesstatus",
"@userUnknownVerification": {
"type": "text",
"placeholders": {}
},
"userVerified": "Bekreftet bruker",
"@userVerified": {
"type": "text",
"placeholders": {}
},
"verifiedSession": "Økt bekreftet!",
"@verifiedSession": {
"type": "text",
"placeholders": {}
},
"verify": "Bekreft", "verify": "Bekreft",
"@verify": { "@verify": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"verifyManual": "Bekreft manuelt",
"@verifyManual": {
"type": "text",
"placeholders": {}
},
"verifyStart": "Start bekreftelse", "verifyStart": "Start bekreftelse",
"@verifyStart": { "@verifyStart": {
"type": "text", "type": "text",
@ -1590,6 +1969,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"verifyUser": "Bekreft bruker",
"@verifyUser": {
"type": "text",
"placeholders": {}
},
"videoCall": "Videosamtale", "videoCall": "Videosamtale",
"@videoCall": { "@videoCall": {
"type": "text", "type": "text",
@ -1630,6 +2014,21 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"warningEncryptionInBeta": "Ende-til-ende -kryptering er i beta. Bruk på egen risiko!",
"@warningEncryptionInBeta": {
"type": "text",
"placeholders": {}
},
"wednesday": "Onsdag",
"@wednesday": {
"type": "text",
"placeholders": {}
},
"welcomeText": "Velkommen til det søteste lynmeldingsprogrammet i Matrix-nettverket.",
"@welcomeText": {
"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",
@ -1690,11 +2089,23 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"yourOwnUsername": "Ditt eget brukernavn",
"@yourOwnUsername": {
"type": "text",
"placeholders": {}
},
"yourPublicKey": "Din offentlige nøkkel", "yourPublicKey": "Din offentlige nøkkel",
"@yourPublicKey": { "@yourPublicKey": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"youWillBeConnectedTo": "Du vil bli tilknyttet {homeserver}",
"@youWillBeConnectedTo": {
"type": "text",
"placeholders": {
"homeserver": {}
}
},
"toggleUnread": "Marker som lest/ulest", "toggleUnread": "Marker som lest/ulest",
"@toggleUnread": { "@toggleUnread": {
"type": "text", "type": "text",
@ -1710,6 +2121,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"timeOfDay": "{hours24}:{minutes}",
"@timeOfDay": {
"type": "text",
"placeholders": {
"hours12": {},
"hours24": {},
"minutes": {},
"suffix": {}
}
},
"noConnectionToTheServer": "Ingen tilkobling til tjeneren", "noConnectionToTheServer": "Ingen tilkobling til tjeneren",
"@noConnectionToTheServer": { "@noConnectionToTheServer": {
"type": "text", "type": "text",
@ -1733,6 +2154,11 @@
"@repeatPassword": {}, "@repeatPassword": {},
"passwordsDoNotMatch": "Passordet samsvarer ikke!", "passwordsDoNotMatch": "Passordet samsvarer ikke!",
"@passwordsDoNotMatch": {}, "@passwordsDoNotMatch": {},
"addNewFriend": "Legg til en ny venn",
"@addNewFriend": {
"type": "text",
"placeholders": {}
},
"addToSpace": "Legg til space", "addToSpace": "Legg til space",
"@addToSpace": {}, "@addToSpace": {},
"allChats": "Alle samtaler", "allChats": "Alle samtaler",
@ -1779,5 +2205,7 @@
"@changeYourAvatar": { "@changeYourAvatar": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
} },
"yourUserId": "Din bruker ID:",
"@yourUserId": {}
} }

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,120 +1,3 @@
{ {
"@@last_modified": "2021-08-14 12:41:09.940318", "@@last_modified": "2021-08-14 12:41:09.940318"
"copiedToClipboard": "Copiada para a área de transferência",
"@copiedToClipboard": {
"type": "text",
"placeholders": {}
},
"login": "Iniciar sessão",
"@login": {
"type": "text",
"placeholders": {}
},
"about": "Sobre",
"@about": {
"type": "text",
"placeholders": {}
},
"admin": "Admin",
"@admin": {
"type": "text",
"placeholders": {}
},
"areYouSure": "Tens a certeza?",
"@areYouSure": {
"type": "text",
"placeholders": {}
},
"notifications": "Notificações",
"@notifications": {
"type": "text",
"placeholders": {}
},
"account": "Conta",
"@account": {
"type": "text",
"placeholders": {}
},
"cancel": "Cancelar",
"@cancel": {
"type": "text",
"placeholders": {}
},
"delete": "Eliminar",
"@delete": {
"type": "text",
"placeholders": {}
},
"dateAndTimeOfDay": "{date}, {timeOfDay}",
"@dateAndTimeOfDay": {
"type": "text",
"placeholders": {
"date": {},
"timeOfDay": {}
}
},
"dateWithYear": "{day}-{month}-{year}",
"@dateWithYear": {
"type": "text",
"placeholders": {
"year": {},
"month": {},
"day": {}
}
},
"help": "Ajuda",
"@help": {
"type": "text",
"placeholders": {}
},
"messages": "Mensagens",
"@messages": {
"type": "text",
"placeholders": {}
},
"reason": "Razão",
"@reason": {
"type": "text",
"placeholders": {}
},
"privacy": "Privacidade",
"@privacy": {
"type": "text",
"placeholders": {}
},
"openCamera": "Abrir câmara",
"@openCamera": {
"type": "text",
"placeholders": {}
},
"settings": "Configurações",
"@settings": {
"type": "text",
"placeholders": {}
},
"logout": "Terminar sessão",
"@logout": {
"type": "text",
"placeholders": {}
},
"search": "Pesquisar",
"@search": {
"type": "text",
"placeholders": {}
},
"users": "Utilizadores",
"@users": {},
"close": "Fechar",
"@close": {
"type": "text",
"placeholders": {}
},
"dateWithoutYear": "{day}-{month}",
"@dateWithoutYear": {
"type": "text",
"placeholders": {
"month": {},
"day": {}
}
}
} }

File diff suppressed because it is too large Load Diff

View File

@ -34,6 +34,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"accountInformation": "Informação de conta",
"@accountInformation": {
"type": "text",
"placeholders": {}
},
"activatedEndToEndEncryption": "{username} ativou encriptação ponta-a-ponta", "activatedEndToEndEncryption": "{username} ativou encriptação ponta-a-ponta",
"@activatedEndToEndEncryption": { "@activatedEndToEndEncryption": {
"type": "text", "type": "text",
@ -51,6 +56,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"addNewFriend": "Adicionar novo amigo",
"@addNewFriend": {
"type": "text",
"placeholders": {}
},
"addToSpace": "Adicionar ao espaço", "addToSpace": "Adicionar ao espaço",
"@addToSpace": {}, "@addToSpace": {},
"admin": "Admin", "admin": "Admin",
@ -73,6 +83,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"alreadyHaveAnAccount": "Já tens uma conta?",
"@alreadyHaveAnAccount": {
"type": "text",
"placeholders": {}
},
"answeredTheCall": "{senderName} atendeu a chamada", "answeredTheCall": "{senderName} atendeu a chamada",
"@answeredTheCall": { "@answeredTheCall": {
"type": "text", "type": "text",
@ -90,6 +105,11 @@
"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",
@ -110,6 +130,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"askSSSSVerify": "Por favor, insere a tua senha de armazenamento seguro ou a chave de recuperação para verificares a tua sessão.",
"@askSSSSVerify": {
"type": "text",
"placeholders": {}
},
"askVerificationRequest": "Aceitar este pedido de verificação de {username}?", "askVerificationRequest": "Aceitar este pedido de verificação de {username}?",
"@askVerificationRequest": { "@askVerificationRequest": {
"type": "text", "type": "text",
@ -117,11 +142,31 @@
"username": {} "username": {}
} }
}, },
"audioPlayerPause": "Pausar",
"@audioPlayerPause": {
"type": "text",
"placeholders": {}
},
"audioPlayerPlay": "Reproduzir",
"@audioPlayerPlay": {
"type": "text",
"placeholders": {}
},
"authentication": "Autenticação",
"@authentication": {
"type": "text",
"placeholders": {}
},
"autoplayImages": "Automaticamente reproduzir autocolantes e emotes animados", "autoplayImages": "Automaticamente reproduzir autocolantes e emotes animados",
"@autoplayImages": { "@autoplayImages": {
"type": "text", "type": "text",
"placeholder": {} "placeholder": {}
}, },
"avatarHasBeenChanged": "Avatar alterado",
"@avatarHasBeenChanged": {
"type": "text",
"placeholders": {}
},
"sendOnEnter": "Enviar com Enter", "sendOnEnter": "Enviar com Enter",
"@sendOnEnter": {}, "@sendOnEnter": {},
"badServerVersionsException": "O servidor suporta as versões Spec:\n{serverVersions}\nMas esta aplicação apenas suporta {suportedVersions}", "badServerVersionsException": "O servidor suporta as versões Spec:\n{serverVersions}\nMas esta aplicação apenas suporta {suportedVersions}",
@ -173,6 +218,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"cachedKeys": "Chaves armazenadas em cache",
"@cachedKeys": {
"type": "text",
"placeholders": {}
},
"cancel": "Cancelar", "cancel": "Cancelar",
"@cancel": { "@cancel": {
"type": "text", "type": "text",
@ -249,11 +299,21 @@
"username": {} "username": {}
} }
}, },
"changelog": "Registo de alterações",
"@changelog": {
"type": "text",
"placeholders": {}
},
"changePassword": "Alterar palavra-passe", "changePassword": "Alterar palavra-passe",
"@changePassword": { "@changePassword": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"changesHaveBeenSaved": "As alterações foram guardadas",
"@changesHaveBeenSaved": {
"type": "text",
"placeholders": {}
},
"changeTheHomeserver": "Alterar o servidor", "changeTheHomeserver": "Alterar o servidor",
"@changeTheHomeserver": { "@changeTheHomeserver": {
"type": "text", "type": "text",
@ -269,6 +329,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"changeTheServer": "Alterar o servidor",
"@changeTheServer": {
"type": "text",
"placeholders": {}
},
"changeWallpaper": "Alterar o fundo", "changeWallpaper": "Alterar o fundo",
"@changeWallpaper": { "@changeWallpaper": {
"type": "text", "type": "text",
@ -289,6 +354,12 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"yourUserId": "O teu ID de utilizador:",
"@yourUserId": {},
"setupChatBackup": "Configurar cópia de segurança de conversas",
"@setupChatBackup": {},
"iWroteDownTheKey": "Eu anotei a chave num papel",
"@iWroteDownTheKey": {},
"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",
@ -296,7 +367,9 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"chatBackupDescription": "A tuas mensagens antigas estão protegidas com uma chave de recuperação. Por favor, certifica-te que não a perdes.", "setupChatBackupDescription": "Para proteger as tuas mensagens, gerámos uma chave de segurança para ti.\nPor favo, mantém-na num sítio seguro, como um gestor de palavras-passe.",
"@setupChatBackupDescription": {},
"chatBackupDescription": "A tua cópia de segurança de conversas está protegida com uma chave de segurança. Por favor, certifica-te que não a perdes.",
"@chatBackupDescription": { "@chatBackupDescription": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
@ -308,6 +381,11 @@
}, },
"chatHasBeenAddedToThisSpace": "A conversa foi adicionada a este espaço", "chatHasBeenAddedToThisSpace": "A conversa foi adicionada a este espaço",
"@chatHasBeenAddedToThisSpace": {}, "@chatHasBeenAddedToThisSpace": {},
"chatHasBeenRemovedFromThisSpace": "A conversa foi removida deste espaço",
"@chatHasBeenRemovedFromThisSpace": {
"type": "text",
"placeholders": {}
},
"chats": "Conversas", "chats": "Conversas",
"@chats": { "@chats": {
"type": "text", "type": "text",
@ -325,6 +403,11 @@
}, },
"clearArchive": "Limpar arquivo", "clearArchive": "Limpar arquivo",
"@clearArchive": {}, "@clearArchive": {},
"clearText": "Limpar texto",
"@clearText": {
"type": "text",
"placeholders": {}
},
"close": "Fechar", "close": "Fechar",
"@close": { "@close": {
"type": "text", "type": "text",
@ -437,6 +520,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"connectionAttemptFailed": "Falha ao tentar ligar",
"@connectionAttemptFailed": {
"type": "text",
"placeholders": {}
},
"contactHasBeenInvitedToTheGroup": "O contacto foi convidado para o grupo", "contactHasBeenInvitedToTheGroup": "O contacto foi convidado para o grupo",
"@contactHasBeenInvitedToTheGroup": { "@contactHasBeenInvitedToTheGroup": {
"type": "text", "type": "text",
@ -457,6 +545,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"contentViewer": "Visualizador de conteúdo",
"@contentViewer": {
"type": "text",
"placeholders": {}
},
"copiedToClipboard": "Copiado para a área de transferência", "copiedToClipboard": "Copiado para a área de transferência",
"@copiedToClipboard": { "@copiedToClipboard": {
"type": "text", "type": "text",
@ -479,6 +572,16 @@
"error": {} "error": {}
} }
}, },
"couldNotSetAvatar": "Não foi possível definir o avatar",
"@couldNotSetAvatar": {
"type": "text",
"placeholders": {}
},
"couldNotSetDisplayname": "Não foi possível definir o nome de exibição",
"@couldNotSetDisplayname": {
"type": "text",
"placeholders": {}
},
"countParticipants": "{count} participantes", "countParticipants": "{count} participantes",
"@countParticipants": { "@countParticipants": {
"type": "text", "type": "text",
@ -491,6 +594,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"createAccountNow": "Criar conta agora",
"@createAccountNow": {
"type": "text",
"placeholders": {}
},
"createdTheChat": "{username} criou a conversa", "createdTheChat": "{username} criou a conversa",
"@createdTheChat": { "@createdTheChat": {
"type": "text", "type": "text",
@ -508,6 +616,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"crossSigningEnabled": "Assinatura cruzada ativada",
"@crossSigningEnabled": {
"type": "text",
"placeholders": {}
},
"crossSigningDisabled": "Assinatura cruzada desativada",
"@crossSigningDisabled": {
"type": "text",
"placeholders": {}
},
"currentlyActive": "Ativo(a) agora", "currentlyActive": "Ativo(a) agora",
"@currentlyActive": { "@currentlyActive": {
"type": "text", "type": "text",
@ -588,16 +706,46 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"deviceVerifyDescription": "A encriptação só é segura quando todos os dispositivos forem verificados.",
"@deviceVerifyDescription": {
"type": "text",
"placeholders": {}
},
"directChats": "Conversas diretas", "directChats": "Conversas diretas",
"@directChats": { "@directChats": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"discardPicture": "Descartar imagem",
"@discardPicture": {
"type": "text",
"placeholders": {}
},
"discover": "Descobrir",
"@discover": {
"type": "text",
"placeholders": {}
},
"discoverGroups": "Descobrir grupos",
"@discoverGroups": {
"type": "text",
"placeholders": {}
},
"displaynameHasBeenChanged": "Nome de exibição alterado", "displaynameHasBeenChanged": "Nome de exibição alterado",
"@displaynameHasBeenChanged": { "@displaynameHasBeenChanged": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"donate": "Doar",
"@donate": {
"type": "text",
"placeholders": {}
},
"dontAskAgain": "Cancelar e não voltar a perguntar",
"@dontAskAgain": {
"type": "text",
"placeholders": {}
},
"downloadFile": "Descarregar ficheiro", "downloadFile": "Descarregar ficheiro",
"@downloadFile": { "@downloadFile": {
"type": "text", "type": "text",
@ -623,6 +771,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"editJitsiInstance": "Editar instância de Jitsi",
"@editJitsiInstance": {
"type": "text",
"placeholders": {}
},
"editRoomAliases": "Editar alcunhas da sala", "editRoomAliases": "Editar alcunhas da sala",
"@editRoomAliases": { "@editRoomAliases": {
"type": "text", "type": "text",
@ -668,6 +821,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"enableChatBackup": "Ativar a cópia de segurança para nunca perder acesso às tuas conversas.",
"@enableChatBackup": {
"type": "text",
"placeholders": {}
},
"enableEmotesGlobally": "Ativar pacote de emotes globalmente", "enableEmotesGlobally": "Ativar pacote de emotes globalmente",
"@enableEmotesGlobally": { "@enableEmotesGlobally": {
"type": "text", "type": "text",
@ -693,11 +851,21 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"encryptionAlgorithm": "Algoritmo de encriptação",
"@encryptionAlgorithm": {
"type": "text",
"placeholders": {}
},
"encryptionNotEnabled": "A encriptação não está ativada", "encryptionNotEnabled": "A encriptação não está ativada",
"@encryptionNotEnabled": { "@encryptionNotEnabled": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"end2endEncryptionSettings": "Configurações de encriptação ponta-a-ponta",
"@end2endEncryptionSettings": {
"type": "text",
"placeholders": {}
},
"endedTheCall": "{senderName} terminou a chamada", "endedTheCall": "{senderName} terminou a chamada",
"@endedTheCall": { "@endedTheCall": {
"type": "text", "type": "text",
@ -717,6 +885,11 @@
}, },
"enterASpacepName": "Insere o nome do espaço", "enterASpacepName": "Insere o nome do espaço",
"@enterASpacepName": {}, "@enterASpacepName": {},
"enterAUsername": "Insere um nome de utilizador",
"@enterAUsername": {
"type": "text",
"placeholders": {}
},
"homeserver": "Servidor", "homeserver": "Servidor",
"@homeserver": {}, "@homeserver": {},
"enterYourHomeserver": "Insere o teu servidor", "enterYourHomeserver": "Insere o teu servidor",
@ -746,6 +919,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"fileSize": "Tamanho do ficheiro",
"@fileSize": {
"type": "text",
"placeholders": {}
},
"fluffychat": "FluffyChat", "fluffychat": "FluffyChat",
"@fluffychat": { "@fluffychat": {
"type": "text", "type": "text",
@ -761,6 +939,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"friday": "Sexta-feira",
"@friday": {
"type": "text",
"placeholders": {}
},
"friends": "Amigos",
"@friends": {
"type": "text",
"placeholders": {}
},
"goToTheNewRoom": "Ir para a nova sala", "goToTheNewRoom": "Ir para a nova sala",
"@goToTheNewRoom": { "@goToTheNewRoom": {
"type": "text", "type": "text",
@ -831,6 +1019,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"homeserverIsNotCompatible": "O servidor é incompatível",
"@homeserverIsNotCompatible": {
"type": "text",
"placeholders": {}
},
"howOffensiveIsThisContent": "Quão ofensivo é este conteúdo?", "howOffensiveIsThisContent": "Quão ofensivo é este conteúdo?",
"@howOffensiveIsThisContent": { "@howOffensiveIsThisContent": {
"type": "text", "type": "text",
@ -881,6 +1074,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"invalidEmail": "Correio eletrónico inválido",
"@invalidEmail": {
"type": "text",
"placeholders": {}
},
"inviteContact": "Convidar contacto", "inviteContact": "Convidar contacto",
"@inviteContact": { "@inviteContact": {
"type": "text", "type": "text",
@ -924,6 +1122,11 @@
"link": {} "link": {}
} }
}, },
"isDeviceKeyCorrect": "A seguinte chave de dispositivo está correta?",
"@isDeviceKeyCorrect": {
"type": "text",
"placeholders": {}
},
"isTyping": "está a escrever…", "isTyping": "está a escrever…",
"@isTyping": { "@isTyping": {
"type": "text", "type": "text",
@ -941,6 +1144,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"keysCached": "Chaves estão armazenadas em cache",
"@keysCached": {
"type": "text",
"placeholders": {}
},
"keysMissing": "Chaves em falta",
"@keysMissing": {
"type": "text",
"placeholders": {}
},
"kicked": "{username} expulsou {targetName}", "kicked": "{username} expulsou {targetName}",
"@kicked": { "@kicked": {
"type": "text", "type": "text",
@ -969,6 +1182,11 @@
"localizedTimeShort": {} "localizedTimeShort": {}
} }
}, },
"lastSeenIp": "Último IP visto",
"@lastSeenIp": {
"type": "text",
"placeholders": {}
},
"lastSeenLongTimeAgo": "Visto(a) há muito tempo", "lastSeenLongTimeAgo": "Visto(a) há muito tempo",
"@lastSeenLongTimeAgo": { "@lastSeenLongTimeAgo": {
"type": "text", "type": "text",
@ -1040,6 +1258,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"makeAModerator": "Promover a moderador",
"@makeAModerator": {
"type": "text",
"placeholders": {}
},
"makeAnAdmin": "Promover a admin",
"@makeAnAdmin": {
"type": "text",
"placeholders": {}
},
"makeSureTheIdentifierIsValid": "Certifica-te que o identificador é válido", "makeSureTheIdentifierIsValid": "Certifica-te que o identificador é válido",
"@makeSureTheIdentifierIsValid": { "@makeSureTheIdentifierIsValid": {
"type": "text", "type": "text",
@ -1070,12 +1298,17 @@
"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",
"placeholders": {} "placeholders": {}
}, },
"needPantalaimonWarning": "Por favor,", "needPantalaimonWarning": "",
"@needPantalaimonWarning": { "@needPantalaimonWarning": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
@ -1110,6 +1343,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"noCrossSignBootstrap": "O FluffyChat, de momento, não suporta ativar a assinatura cruzada. Por favor, ativa-a a partir do Element.",
"@noCrossSignBootstrap": {
"type": "text",
"placeholders": {}
},
"noDescription": "Nenhuma descrição",
"@noDescription": {
"type": "text",
"placeholders": {}
},
"noEmotesFound": "Nenhuns emotes encontrados. 😕", "noEmotesFound": "Nenhuns emotes encontrados. 😕",
"@noEmotesFound": { "@noEmotesFound": {
"type": "text", "type": "text",
@ -1135,6 +1378,13 @@
}, },
"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": {},
"noMegolmBootstrap": "Por favor, ativa a cópia de segurança de chaves online a partir do Element.",
"@noMegolmBootstrap": {
"type": "text",
"placeholders": {}
},
"none": "Nenhum", "none": "Nenhum",
"@none": { "@none": {
"type": "text", "type": "text",
@ -1185,6 +1435,11 @@
"username": {} "username": {}
} }
}, },
"sendBugReports": "Permitir enviar relatórios de problemas com o sentry.io",
"@sendBugReports": {
"type": "text",
"placeholders": {}
},
"sendAMessage": "Enviar a mensagem", "sendAMessage": "Enviar a mensagem",
"@sendAMessage": { "@sendAMessage": {
"type": "text", "type": "text",
@ -1195,6 +1450,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"securityKeyLost": "Perdeste a chave de segurança?",
"@securityKeyLost": {
"type": "text",
"placeholders": {}
},
"sendAsText": "Enviar como texto", "sendAsText": "Enviar como texto",
"@sendAsText": { "@sendAsText": {
"type": "text" "type": "text"
@ -1209,6 +1469,10 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"newPasswordDescription": "Para poderes recuperar a tua palavra-passe, deves adicionar um endereço de correio eletrónico à tua conta.",
"@newPasswordDescription": {},
"newUsernameDescription": "O teu ID de utilizador terá o formato @utilizador:servidor",
"@newUsernameDescription": {},
"noPasswordRecoveryDescription": "Ainda não adicionaste uma forma de recuperar a tua palavra-passe.", "noPasswordRecoveryDescription": "Ainda não adicionaste uma forma de recuperar a tua palavra-passe.",
"@noPasswordRecoveryDescription": { "@noPasswordRecoveryDescription": {
"type": "text", "type": "text",
@ -1219,11 +1483,21 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"noPublicRoomsFound": "Não foram encontradas nenhumas salas públicas…",
"@noPublicRoomsFound": {
"type": "text",
"placeholders": {}
},
"noRoomsFound": "Não foram encontradas nenhumas salas…", "noRoomsFound": "Não foram encontradas nenhumas salas…",
"@noRoomsFound": { "@noRoomsFound": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"noStatusesFound": "Nenhuns estados encontrados até agora.",
"@noStatusesFound": {
"type": "text",
"placeholders": {}
},
"notifications": "Notificações", "notifications": "Notificações",
"@notifications": { "@notifications": {
"type": "text", "type": "text",
@ -1234,6 +1508,18 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"notSupportedInWeb": "Não suportadas na web",
"@notSupportedInWeb": {
"type": "text",
"placeholders": {}
},
"numberSelected": "{number} selecionados(as)",
"@numberSelected": {
"type": "text",
"placeholders": {
"number": {}
}
},
"numUsersTyping": "Estão {count} utilizadores(as) a escrever…", "numUsersTyping": "Estão {count} utilizadores(as) a escrever…",
"@numUsersTyping": { "@numUsersTyping": {
"type": "text", "type": "text",
@ -1266,6 +1552,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"onlineKeyBackupDisabled": "A cópia de segurança online de chaves está desativada",
"@onlineKeyBackupDisabled": {
"type": "text",
"placeholders": {}
},
"onlineKeyBackupEnabled": "A cópia de segurança online de chaves está ativada", "onlineKeyBackupEnabled": "A cópia de segurança online de chaves está ativada",
"@onlineKeyBackupEnabled": { "@onlineKeyBackupEnabled": {
"type": "text", "type": "text",
@ -1329,6 +1620,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"participatingUserDevices": "Dispositivos de utilizadores participantes",
"@participatingUserDevices": {
"type": "text",
"placeholders": {}
},
"passphraseOrKey": "senha ou chave de recuperação", "passphraseOrKey": "senha ou chave de recuperação",
"@passphraseOrKey": { "@passphraseOrKey": {
"type": "text", "type": "text",
@ -1406,6 +1702,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"pleaseEnterSecurityKey": "Por favor, insere a tua chave de segurança:",
"@pleaseEnterSecurityKey": {
"type": "text",
"placeholders": {}
},
"pleaseEnterYourPassword": "Por favor, insere a tua palavra-passe", "pleaseEnterYourPassword": "Por favor, insere a tua palavra-passe",
"@pleaseEnterYourPassword": { "@pleaseEnterYourPassword": {
"type": "text", "type": "text",
@ -1431,11 +1732,26 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"publicGroups": "Grupos públicos",
"@publicGroups": {
"type": "text",
"placeholders": {}
},
"publicKey": "Chave pública",
"@publicKey": {
"type": "text",
"placeholders": {}
},
"publicRooms": "Salas públicas", "publicRooms": "Salas públicas",
"@publicRooms": { "@publicRooms": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"publicSpace": "Espaço público",
"@publicSpace": {
"type": "text",
"placeholders": {}
},
"reason": "Razão", "reason": "Razão",
"@reason": { "@reason": {
"type": "text", "type": "text",
@ -1507,6 +1823,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"removeMessage": "Remover mensagem",
"@removeMessage": {
"type": "text",
"placeholders": {}
},
"removeYourAvatar": "Remover o teu avatar", "removeYourAvatar": "Remover o teu avatar",
"@removeYourAvatar": { "@removeYourAvatar": {
"type": "text", "type": "text",
@ -1537,6 +1858,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"requestToReadOlderMessages": "Pedir para ler mensagens antigas",
"@requestToReadOlderMessages": {
"type": "text",
"placeholders": {}
},
"revokeAllPermissions": "Revogar todas as permissões",
"@revokeAllPermissions": {
"type": "text",
"placeholders": {}
},
"roomHasBeenUpgraded": "A sala foi atualizada", "roomHasBeenUpgraded": "A sala foi atualizada",
"@roomHasBeenUpgraded": { "@roomHasBeenUpgraded": {
"type": "text", "type": "text",
@ -1547,21 +1878,48 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"saturday": "Sábado",
"@saturday": {
"type": "text",
"placeholders": {}
},
"savedFileAs": "Ficheiro guardado como {filename}",
"@savedFileAs": {
"type": "text",
"placeholders": {
"filename": {}
}
},
"saveFile": "Guardar ficheiro", "saveFile": "Guardar ficheiro",
"@saveFile": { "@saveFile": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"saveFileToFolder": "Guardar ficheiro nesta pasta",
"@saveFileToFolder": {
"type": "text",
"placeholders": {}
},
"search": "Procurar", "search": "Procurar",
"@search": { "@search": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"searchForAChat": "Procurar por conversa",
"@searchForAChat": {
"type": "text",
"placeholders": {}
},
"security": "Segurança", "security": "Segurança",
"@security": { "@security": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"securityKey": "Chave de segurança",
"@securityKey": {
"type": "text",
"placeholders": {}
},
"seenByUser": "Visto por {username}", "seenByUser": "Visto por {username}",
"@seenByUser": { "@seenByUser": {
"type": "text", "type": "text",
@ -1641,48 +1999,5 @@
"placeholders": { "placeholders": {
"username": {} "username": {}
} }
}, }
"updateAvailable": "Atualização do FluffyChat disponível",
"@updateAvailable": {},
"updateNow": "Iniciar atualização me segundo plano",
"@updateNow": {},
"commandHint_clearcache": "Limpar cache",
"@commandHint_clearcache": {
"type": "text",
"description": "Usage hint for the command /clearcache"
},
"commandHint_create": "Criar uma conversa de grupo vazia\nUsa --no-encryption para desativar a encriptação",
"@commandHint_create": {
"type": "text",
"description": "Usage hint for the command /create"
},
"commandHint_discardsession": "Descartar sessão",
"@commandHint_discardsession": {
"type": "text",
"description": "Usage hint for the command /discardsession"
},
"commandHint_dm": "Iniciar uma conversa direta\nUsa --no-encryption para desativar a encriptação",
"@commandHint_dm": {
"type": "text",
"description": "Usage hint for the command /dm"
},
"dehydrate": "Exportar sessão e limpar dispositivo",
"@dehydrate": {},
"dehydrateWarning": "Esta ação não pode ser revertida. Assegura-te que guardas bem a cópia de segurança.",
"@dehydrateWarning": {},
"hydrateTorLong": "Exportaste a tua sessão na última vez que estiveste no TOR? Importa-a rapidamente e continua a conversar.",
"@hydrateTorLong": {},
"dehydrateTor": "Utilizadores do TOR: Exportar sessão",
"@dehydrateTor": {},
"hydrate": "Restaurar a partir de cópia de segurança",
"@hydrate": {},
"bubbleSize": "Tamanho da bolha",
"@bubbleSize": {
"type": "text",
"placeholders": {}
},
"hydrateTor": "Utilizadores do TOR: Importar sessão",
"@hydrateTor": {},
"dehydrateTorLong": "Para utilizadores do TOR, é recomendado exportar a sessão antes de fechar a janela.",
"@dehydrateTorLong": {}
} }

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

374
assets/l10n/intl_si.arb Normal file
View File

@ -0,0 +1,374 @@
{
"@@last_modified": "2021-08-14 12:41:09.895217",
"about": "පිළිබඳව",
"@about": {
"type": "text",
"placeholders": {}
},
"accept": "පිළිගන්න",
"@accept": {
"type": "text",
"placeholders": {}
},
"account": "ගිණුම",
"@account": {
"type": "text",
"placeholders": {}
},
"accountInformation": "ගිණුමේ තොරතුරු",
"@accountInformation": {
"type": "text",
"placeholders": {}
},
"addEmail": "වි-තැපෑල එකතු කරන්න",
"@addEmail": {
"type": "text",
"placeholders": {}
},
"admin": "පරිපාලක",
"@admin": {
"type": "text",
"placeholders": {}
},
"allChats": "සියලුම සංවාද",
"@allChats": {
"type": "text",
"placeholders": {}
},
"alreadyHaveAnAccount": "දැනටමත් ගිණුමක් තිබේද?",
"@alreadyHaveAnAccount": {
"type": "text",
"placeholders": {}
},
"anyoneCanJoin": "ඕනෑම කෙනෙකුට එක්විය හැකිය",
"@anyoneCanJoin": {
"type": "text",
"placeholders": {}
},
"archive": "සංරක්ෂිතය",
"@archive": {
"type": "text",
"placeholders": {}
},
"archivedRoom": "සංරක්ෂිත කාමරය",
"@archivedRoom": {
"type": "text",
"placeholders": {}
},
"areGuestsAllowedToJoin": "ආගන්තුක පරිශීලකයින්ට එක්වීමට අවසර තිබේද",
"@areGuestsAllowedToJoin": {
"type": "text",
"placeholders": {}
},
"areYouSure": "ඔබට විශ්වාසද?",
"@areYouSure": {
"type": "text",
"placeholders": {}
},
"areYouSureYouWantToLogout": "ඔබට නික්මීමට අවශ්‍ය බව විශ්වාසද?",
"@areYouSureYouWantToLogout": {
"type": "text",
"placeholders": {}
},
"audioPlayerPlay": "ධාවනය",
"@audioPlayerPlay": {
"type": "text",
"placeholders": {}
},
"blockDevice": "උපාංගය අවහිර කරන්න",
"@blockDevice": {
"type": "text",
"placeholders": {}
},
"cachedKeys": "යතුරු නිහිතගතයි",
"@cachedKeys": {
"type": "text",
"placeholders": {}
},
"cancel": "අවලංගු කරන්න",
"@cancel": {
"type": "text",
"placeholders": {}
},
"changeDeviceName": "උපාංගයේ නම වෙනස් කරන්න",
"@changeDeviceName": {
"type": "text",
"placeholders": {}
},
"changePassword": "මුරපදය වෙනස් කරන්න",
"@changePassword": {
"type": "text",
"placeholders": {}
},
"chat": "සංවාදය",
"@chat": {
"type": "text",
"placeholders": {}
},
"chatBackup": "සංවාද උපස්ථය",
"@chatBackup": {
"type": "text",
"placeholders": {}
},
"chatDetails": "සංවාදයේ විස්තර",
"@chatDetails": {
"type": "text",
"placeholders": {}
},
"chats": "සංවාද",
"@chats": {
"type": "text",
"placeholders": {}
},
"chooseAStrongPassword": "ශක්තිමත් මුරපදයක් තෝරන්න",
"@chooseAStrongPassword": {
"type": "text",
"placeholders": {}
},
"chooseAUsername": "පරිශීලක නාමයක් තෝරන්න",
"@chooseAUsername": {
"type": "text",
"placeholders": {}
},
"clearArchive": "සංරක්ෂිතය හිස් කරන්න",
"@clearArchive": {},
"close": "වසන්න",
"@close": {
"type": "text",
"placeholders": {}
},
"commandHint_join": "දී ඇති කාමරයට එක්වන්න",
"@commandHint_join": {
"type": "text",
"description": "Usage hint for the command /join"
},
"commandHint_leave": "මෙම කාමරය හැරයන්න",
"@commandHint_leave": {
"type": "text",
"description": "Usage hint for the command /leave"
},
"commandInvalid": "විධානය වලංගු නොවේ",
"@commandInvalid": {
"type": "text"
},
"commandMissing": "{{command} විධානයක් නොවේ.",
"@commandMissing": {
"type": "text",
"placeholders": {
"command": {}
},
"description": "State that {command} is not a valid /command."
},
"compareEmojiMatch": "සසඳා බලා පහත දැක්වෙන ඉමොජි අනෙක් උපාංගයට නිසැකවම ගැලපෙන බවට වග බලා ගන්න:",
"@compareEmojiMatch": {
"type": "text",
"placeholders": {}
},
"compareNumbersMatch": "සංසන්දනය කර පහත දැක්වෙන අංක අනෙක් උපාංගට නිසැකව ගැලපෙන බවට වග බලා ගන්න:",
"@compareNumbersMatch": {
"type": "text",
"placeholders": {}
},
"confirm": "තහවුරු කරන්න",
"@confirm": {
"type": "text",
"placeholders": {}
},
"connect": "සබඳින්න",
"@connect": {
"type": "text",
"placeholders": {}
},
"connectionAttemptFailed": "සබැඳීමේ උත්සාහය අසාර්ථකයි",
"@connectionAttemptFailed": {
"type": "text",
"placeholders": {}
},
"contactHasBeenInvitedToTheGroup": "සමූහය වෙත සබඳතාවයකට ආරාධනා කර ඇත",
"@contactHasBeenInvitedToTheGroup": {
"type": "text",
"placeholders": {}
},
"copy": "පිටපත්",
"@copy": {
"type": "text",
"placeholders": {}
},
"create": "සාදන්න",
"@create": {
"type": "text",
"placeholders": {}
},
"createAccountNow": "දැන් ගිණුමක් සාදන්න",
"@createAccountNow": {
"type": "text",
"placeholders": {}
},
"createNewGroup": "නව සමූහයක් සාදන්න",
"@createNewGroup": {
"type": "text",
"placeholders": {}
},
"donate": "පරිත්‍යාග",
"@donate": {
"type": "text",
"placeholders": {}
},
"encryption": "සංකේතාංකනය",
"@encryption": {
"type": "text",
"placeholders": {}
},
"everythingReady": "සියල්ල සූදානම්!",
"@everythingReady": {
"type": "text",
"placeholders": {}
},
"fontSize": "මුද්‍රණඅකුරේ ප්‍රමාණය",
"@fontSize": {
"type": "text",
"placeholders": {}
},
"goToTheNewRoom": "නව කාමරයට යන්න",
"@goToTheNewRoom": {
"type": "text",
"placeholders": {}
},
"joinRoom": "කාමරයට එක්වන්න",
"@joinRoom": {
"type": "text",
"placeholders": {}
},
"keysCached": "යතුරු නිහිතගත යි",
"@keysCached": {
"type": "text",
"placeholders": {}
},
"next": "ඊලඟ",
"@next": {
"type": "text",
"placeholders": {}
},
"noPublicRoomsFound": "ප්‍රසිද්ධ කාමර හමු නොවිණි…",
"@noPublicRoomsFound": {
"type": "text",
"placeholders": {}
},
"people": "මිනිසුන්",
"@people": {
"type": "text",
"placeholders": {}
},
"publicGroups": "ප්‍රසිද්ධ සමූහ",
"@publicGroups": {
"type": "text",
"placeholders": {}
},
"removeDevice": "උපාංගය ඉවත්කරන්න",
"@removeDevice": {
"type": "text",
"placeholders": {}
},
"roomVersion": "කාමරයේ අනුවාදය",
"@roomVersion": {
"type": "text",
"placeholders": {}
},
"savedFileAs": "ලෙස ගොනුව සුරකින්න {filename}",
"@savedFileAs": {
"type": "text",
"placeholders": {
"filename": {}
}
},
"saveFile": "ගොනුව සුරකින්න",
"@saveFile": {
"type": "text",
"placeholders": {}
},
"saveFileToFolder": "ගොනුව මෙම බහාලුමට සුරකින්න",
"@saveFileToFolder": {
"type": "text",
"placeholders": {}
},
"securityKey": "ආරක්ෂක යතුර",
"@securityKey": {
"type": "text",
"placeholders": {}
},
"securityKeyLost": "ආරක්ෂක යතුර නැතිවුනාද?",
"@securityKeyLost": {
"type": "text",
"placeholders": {}
},
"send": "යවන්න",
"@send": {
"type": "text",
"placeholders": {}
},
"showPassword": "මුරපදය පෙන්වන්න",
"@showPassword": {
"type": "text",
"placeholders": {}
},
"sunday": "ඉරිදා",
"@sunday": {
"type": "text",
"placeholders": {}
},
"username": "පරිශීලක නාමය",
"@username": {
"type": "text",
"placeholders": {}
},
"videoCall": "දෘශ්‍ය ඇමතුම",
"@videoCall": {
"type": "text",
"placeholders": {}
},
"wallpaper": "බිතුපත",
"@wallpaper": {
"type": "text",
"placeholders": {}
},
"warning": "අවවාදයයි!",
"@warning": {
"type": "text",
"placeholders": {}
},
"wednesday": "බදාදා",
"@wednesday": {
"type": "text",
"placeholders": {}
},
"writeAMessage": "පණිවිඩයක් ලියන්න…",
"@writeAMessage": {
"type": "text",
"placeholders": {}
},
"yes": "ඔව්",
"@yes": {
"type": "text",
"placeholders": {}
},
"you": "ඔබ",
"@you": {
"type": "text",
"placeholders": {}
},
"yourOwnUsername": "ඔබට හිමි පරිශීලකනාමය",
"@yourOwnUsername": {
"type": "text",
"placeholders": {}
},
"zoomIn": "විශාලනය",
"@zoomIn": {
"type": "text",
"placeholders": {}
},
"zoomOut": "කුඩාලනය",
"@zoomOut": {
"type": "text",
"placeholders": {}
}
}

View File

@ -23,6 +23,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"accountInformation": "Informácie o účte",
"@accountInformation": {
"type": "text",
"placeholders": {}
},
"activatedEndToEndEncryption": "{username} aktivovali koncové šifrovanie", "activatedEndToEndEncryption": "{username} aktivovali koncové šifrovanie",
"@activatedEndToEndEncryption": { "@activatedEndToEndEncryption": {
"type": "text", "type": "text",
@ -45,6 +50,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"alreadyHaveAnAccount": "Máte už účet?",
"@alreadyHaveAnAccount": {
"type": "text",
"placeholders": {}
},
"anyoneCanJoin": "Ktokoľvek sa môže pripojiť", "anyoneCanJoin": "Ktokoľvek sa môže pripojiť",
"@anyoneCanJoin": { "@anyoneCanJoin": {
"type": "text", "type": "text",
@ -55,6 +65,11 @@
"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",
@ -65,11 +80,21 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"askSSSSCache": "Prosím zadajte vašu prístupovu frázu k \"bezpečému úložisku\" alebo \"kľúč na obnovu\" pre uloženie kľúčov.",
"@askSSSSCache": {
"type": "text",
"placeholders": {}
},
"askSSSSSign": "Na overenie tejto osoby, prosím zadajte prístupovu frázu k \"bezpečému úložisku\" alebo \"klúč na obnovu\".", "askSSSSSign": "Na overenie tejto osoby, prosím zadajte prístupovu frázu k \"bezpečému úložisku\" alebo \"klúč na obnovu\".",
"@askSSSSSign": { "@askSSSSSign": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"askSSSSVerify": "Prosím zadajte vašu prístupovú frázu k \"bezpečnému úložisku\" alebo \"kľúč na obnovu\" pre overenie vašej relácie.",
"@askSSSSVerify": {
"type": "text",
"placeholders": {}
},
"askVerificationRequest": "Akcepovať žiadosť o verifikáciu od {username}?", "askVerificationRequest": "Akcepovať žiadosť o verifikáciu od {username}?",
"@askVerificationRequest": { "@askVerificationRequest": {
"type": "text", "type": "text",
@ -77,6 +102,16 @@
"username": {} "username": {}
} }
}, },
"authentication": "Autentifikácia",
"@authentication": {
"type": "text",
"placeholders": {}
},
"avatarHasBeenChanged": "Avatar bol zmenený",
"@avatarHasBeenChanged": {
"type": "text",
"placeholders": {}
},
"banFromChat": "Zabanovať z chatu", "banFromChat": "Zabanovať z chatu",
"@banFromChat": { "@banFromChat": {
"type": "text", "type": "text",
@ -100,6 +135,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"cachedKeys": "Klúče sa úspešne uložili",
"@cachedKeys": {
"type": "text",
"placeholders": {}
},
"cancel": "Zrušiť", "cancel": "Zrušiť",
"@cancel": { "@cancel": {
"type": "text", "type": "text",
@ -209,6 +249,11 @@
"username": {} "username": {}
} }
}, },
"changelog": "História zmien",
"@changelog": {
"type": "text",
"placeholders": {}
},
"changeTheHomeserver": "Zmeniť použitý server", "changeTheHomeserver": "Zmeniť použitý server",
"@changeTheHomeserver": { "@changeTheHomeserver": {
"type": "text", "type": "text",
@ -224,6 +269,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"changeTheServer": "Zmeniť server",
"@changeTheServer": {
"type": "text",
"placeholders": {}
},
"changeWallpaper": "Zmeniť pozadie", "changeWallpaper": "Zmeniť pozadie",
"@changeWallpaper": { "@changeWallpaper": {
"type": "text", "type": "text",
@ -279,11 +329,21 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"connectionAttemptFailed": "Pokus o pripojenie zlyhal",
"@connectionAttemptFailed": {
"type": "text",
"placeholders": {}
},
"contactHasBeenInvitedToTheGroup": "Kontakt bol pozvaný do skupiny", "contactHasBeenInvitedToTheGroup": "Kontakt bol pozvaný do skupiny",
"@contactHasBeenInvitedToTheGroup": { "@contactHasBeenInvitedToTheGroup": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"contentViewer": "Prehliadač obsahu",
"@contentViewer": {
"type": "text",
"placeholders": {}
},
"copiedToClipboard": "Skopírované do schránky", "copiedToClipboard": "Skopírované do schránky",
"@copiedToClipboard": { "@copiedToClipboard": {
"type": "text", "type": "text",
@ -301,6 +361,16 @@
"error": {} "error": {}
} }
}, },
"couldNotSetAvatar": "Nepodarilo sa nastaviť avatar",
"@couldNotSetAvatar": {
"type": "text",
"placeholders": {}
},
"couldNotSetDisplayname": "Nepodarilo sa nastaviť prezývku užívateľa",
"@couldNotSetDisplayname": {
"type": "text",
"placeholders": {}
},
"countParticipants": "{count} účastníkov", "countParticipants": "{count} účastníkov",
"@countParticipants": { "@countParticipants": {
"type": "text", "type": "text",
@ -313,6 +383,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"createAccountNow": "Vytvoriť účet teraz",
"@createAccountNow": {
"type": "text",
"placeholders": {}
},
"createdTheChat": "{username} založili chat", "createdTheChat": "{username} založili chat",
"@createdTheChat": { "@createdTheChat": {
"type": "text", "type": "text",
@ -325,6 +400,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"crossSigningDisabled": "Vzájomné overenie je vypnuté",
"@crossSigningDisabled": {
"type": "text",
"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",
@ -385,11 +470,21 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"discardPicture": "Zahodiť obrázok",
"@discardPicture": {
"type": "text",
"placeholders": {}
},
"displaynameHasBeenChanged": "Prezývka bola zmenená", "displaynameHasBeenChanged": "Prezývka bola zmenená",
"@displaynameHasBeenChanged": { "@displaynameHasBeenChanged": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"donate": "Prispejte",
"@donate": {
"type": "text",
"placeholders": {}
},
"downloadFile": "Stiahnuť súbor", "downloadFile": "Stiahnuť súbor",
"@downloadFile": { "@downloadFile": {
"type": "text", "type": "text",
@ -400,6 +495,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"editJitsiInstance": "Nastavenie inštancie Jitsi",
"@editJitsiInstance": {
"type": "text",
"placeholders": {}
},
"emoteExists": "Emotikon už existuje!", "emoteExists": "Emotikon už existuje!",
"@emoteExists": { "@emoteExists": {
"type": "text", "type": "text",
@ -440,16 +540,31 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"encryptionAlgorithm": "Šifrovací algoritmus",
"@encryptionAlgorithm": {
"type": "text",
"placeholders": {}
},
"encryptionNotEnabled": "Šifrovanie nie je aktívne", "encryptionNotEnabled": "Šifrovanie nie je aktívne",
"@encryptionNotEnabled": { "@encryptionNotEnabled": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"end2endEncryptionSettings": "Nastavenie koncového šifrovania",
"@end2endEncryptionSettings": {
"type": "text",
"placeholders": {}
},
"enterAGroupName": "Zadajte názov skupiny", "enterAGroupName": "Zadajte názov skupiny",
"@enterAGroupName": { "@enterAGroupName": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"enterAUsername": "Zadajte uživateľské meno",
"@enterAUsername": {
"type": "text",
"placeholders": {}
},
"enterYourHomeserver": "Zadajte svoj homeserver", "enterYourHomeserver": "Zadajte svoj homeserver",
"@enterYourHomeserver": { "@enterYourHomeserver": {
"type": "text", "type": "text",
@ -460,6 +575,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"fileSize": "Veľkosť súboru",
"@fileSize": {
"type": "text",
"placeholders": {}
},
"fluffychat": "FluffyChat", "fluffychat": "FluffyChat",
"@fluffychat": { "@fluffychat": {
"type": "text", "type": "text",
@ -470,6 +590,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"friday": "Piatok",
"@friday": {
"type": "text",
"placeholders": {}
},
"fromJoining": "Od pripojenia", "fromJoining": "Od pripojenia",
"@fromJoining": { "@fromJoining": {
"type": "text", "type": "text",
@ -530,6 +655,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"homeserverIsNotCompatible": "Homeserver nie je kompatibilný",
"@homeserverIsNotCompatible": {
"type": "text",
"placeholders": {}
},
"id": "ID", "id": "ID",
"@id": { "@id": {
"type": "text", "type": "text",
@ -583,6 +713,11 @@
"link": {} "link": {}
} }
}, },
"isDeviceKeyCorrect": "Je nasledujúci kód zariadenia správny?",
"@isDeviceKeyCorrect": {
"type": "text",
"placeholders": {}
},
"isTyping": "píše…", "isTyping": "píše…",
"@isTyping": { "@isTyping": {
"type": "text", "type": "text",
@ -595,6 +730,16 @@
"username": {} "username": {}
} }
}, },
"keysCached": "Kľúče sú uložené",
"@keysCached": {
"type": "text",
"placeholders": {}
},
"keysMissing": "Kľúče chýbaju",
"@keysMissing": {
"type": "text",
"placeholders": {}
},
"kicked": "{username} vyhodili {targetName}", "kicked": "{username} vyhodili {targetName}",
"@kicked": { "@kicked": {
"type": "text", "type": "text",
@ -623,6 +768,11 @@
"localizedTimeShort": {} "localizedTimeShort": {}
} }
}, },
"lastSeenIp": "Naposledy zaznamenaná IP adresa",
"@lastSeenIp": {
"type": "text",
"placeholders": {}
},
"lastSeenLongTimeAgo": "Videný veľmi dávno", "lastSeenLongTimeAgo": "Videný veľmi dávno",
"@lastSeenLongTimeAgo": { "@lastSeenLongTimeAgo": {
"type": "text", "type": "text",
@ -682,6 +832,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"makeAModerator": "Pridať práva moderátora",
"@makeAModerator": {
"type": "text",
"placeholders": {}
},
"makeAnAdmin": "Pridať práva administrátora",
"@makeAnAdmin": {
"type": "text",
"placeholders": {}
},
"makeSureTheIdentifierIsValid": "Skontrolujte, či je identifikátor platný", "makeSureTheIdentifierIsValid": "Skontrolujte, či je identifikátor platný",
"@makeSureTheIdentifierIsValid": { "@makeSureTheIdentifierIsValid": {
"type": "text", "type": "text",
@ -697,6 +857,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"monday": "Pondelok",
"@monday": {
"type": "text",
"placeholders": {}
},
"muteChat": "Stlmiť chat", "muteChat": "Stlmiť chat",
"@muteChat": { "@muteChat": {
"type": "text", "type": "text",
@ -717,6 +882,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"noCrossSignBootstrap": "Fluffychat v súčasnosti nepodporuje povolenie krížového podpisu. Prosím, povoľte ho z Riot.im.",
"@noCrossSignBootstrap": {
"type": "text",
"placeholders": {}
},
"noEmotesFound": "Nenašli sa žiadne emotikony. 😕", "noEmotesFound": "Nenašli sa žiadne emotikony. 😕",
"@noEmotesFound": { "@noEmotesFound": {
"type": "text", "type": "text",
@ -727,6 +897,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"noMegolmBootstrap": "Fluffychat v súčasnosti nepodporuje povolenie online zálohu klúčov. Prosím, povoľte ho z Riot.im.",
"@noMegolmBootstrap": {
"type": "text",
"placeholders": {}
},
"none": "Žiadne", "none": "Žiadne",
"@none": { "@none": {
"type": "text", "type": "text",
@ -742,11 +917,28 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"notSupportedInWeb": "Nepodporované vo webovej verzii",
"@notSupportedInWeb": {
"type": "text",
"placeholders": {}
},
"numberSelected": "{number} označených správ",
"@numberSelected": {
"type": "text",
"placeholders": {
"number": {}
}
},
"ok": "ok", "ok": "ok",
"@ok": { "@ok": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"onlineKeyBackupDisabled": "Online záloha kľúčov je vypnutá",
"@onlineKeyBackupDisabled": {
"type": "text",
"placeholders": {}
},
"onlineKeyBackupEnabled": "Online záloha kľúčov je zapnutá", "onlineKeyBackupEnabled": "Online záloha kľúčov je zapnutá",
"@onlineKeyBackupEnabled": { "@onlineKeyBackupEnabled": {
"type": "text", "type": "text",
@ -772,6 +964,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"participatingUserDevices": "Zúčastnené užívateľské zariadenia",
"@participatingUserDevices": {
"type": "text",
"placeholders": {}
},
"passphraseOrKey": "prístupová fráza alebo kľúč na obnovenie", "passphraseOrKey": "prístupová fráza alebo kľúč na obnovenie",
"@passphraseOrKey": { "@passphraseOrKey": {
"type": "text", "type": "text",
@ -787,7 +984,7 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"play": "Prehrať {fileName}", "play": "Prehrať (fileName}",
"@play": { "@play": {
"type": "text", "type": "text",
"placeholders": { "placeholders": {
@ -875,6 +1072,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"removeMessage": "Odstrániť správu",
"@removeMessage": {
"type": "text",
"placeholders": {}
},
"renderRichContent": "Zobraziť formátovaný obsah", "renderRichContent": "Zobraziť formátovaný obsah",
"@renderRichContent": { "@renderRichContent": {
"type": "text", "type": "text",
@ -890,11 +1092,31 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"requestToReadOlderMessages": "Žiadosť o prečítanie starších správ",
"@requestToReadOlderMessages": {
"type": "text",
"placeholders": {}
},
"revokeAllPermissions": "Zrušiť všetky povolenia",
"@revokeAllPermissions": {
"type": "text",
"placeholders": {}
},
"roomHasBeenUpgraded": "Miestnosť bola upgradeovaná", "roomHasBeenUpgraded": "Miestnosť bola upgradeovaná",
"@roomHasBeenUpgraded": { "@roomHasBeenUpgraded": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"saturday": "Sobota",
"@saturday": {
"type": "text",
"placeholders": {}
},
"searchForAChat": "Vyhladať v chate",
"@searchForAChat": {
"type": "text",
"placeholders": {}
},
"seenByUser": "Videné užívateľom {username}", "seenByUser": "Videné užívateľom {username}",
"@seenByUser": { "@seenByUser": {
"type": "text", "type": "text",
@ -973,6 +1195,16 @@
"username": {} "username": {}
} }
}, },
"sessionVerified": "Relácia je overená",
"@sessionVerified": {
"type": "text",
"placeholders": {}
},
"setAProfilePicture": "Nastaviť profilový obrázok",
"@setAProfilePicture": {
"type": "text",
"placeholders": {}
},
"setGroupDescription": "Nastaviť popis skupiny", "setGroupDescription": "Nastaviť popis skupiny",
"@setGroupDescription": { "@setGroupDescription": {
"type": "text", "type": "text",
@ -1020,6 +1252,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"startYourFirstChat": "Začnite svoj prvý chat hneď teraz! 🙂\n - Kliknite na tlačítko správy\n- Zabávajte sa chatovaním",
"@startYourFirstChat": {
"type": "text",
"placeholders": {}
},
"statusExampleMessage": "Ako sa dnes máte?", "statusExampleMessage": "Ako sa dnes máte?",
"@statusExampleMessage": { "@statusExampleMessage": {
"type": "text", "type": "text",
@ -1030,11 +1267,21 @@
"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",
"placeholders": {} "placeholders": {}
}, },
"tapToShowMenu": "Ťuknutím zobrazíte menu",
"@tapToShowMenu": {
"type": "text",
"placeholders": {}
},
"theyDontMatch": "Sa nezhodujú", "theyDontMatch": "Sa nezhodujú",
"@theyDontMatch": { "@theyDontMatch": {
"type": "text", "type": "text",
@ -1045,6 +1292,26 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"thisRoomHasBeenArchived": "Táto miestnosť bola archivovaná.",
"@thisRoomHasBeenArchived": {
"type": "text",
"placeholders": {}
},
"thursday": "Štvrtok",
"@thursday": {
"type": "text",
"placeholders": {}
},
"timeOfDay": "{hours24}:{minutes}",
"@timeOfDay": {
"type": "text",
"placeholders": {
"hours12": {},
"hours24": {},
"minutes": {},
"suffix": {}
}
},
"title": "FluffyChat", "title": "FluffyChat",
"@title": { "@title": {
"description": "Title for the application", "description": "Title for the application",
@ -1056,6 +1323,11 @@
"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",
@ -1086,6 +1358,11 @@
"type": {} "type": {}
} }
}, },
"unknownSessionVerify": "Neznáma relácia, prosím verifikujte ju",
"@unknownSessionVerify": {
"type": "text",
"placeholders": {}
},
"unmuteChat": "Zrušiť stlmenie chatu", "unmuteChat": "Zrušiť stlmenie chatu",
"@unmuteChat": { "@unmuteChat": {
"type": "text", "type": "text",
@ -1098,6 +1375,18 @@
"unreadCount": {} "unreadCount": {}
} }
}, },
"unreadMessages": "{unreadEvents, plural, other{{unreadEvents} neprečítaných správ}}",
"@unreadMessages": {
"type": "text",
"placeholders": {
"unreadEvents": {}
}
},
"useAmoledTheme": "Použiť AMOLED kompatibilné farby?",
"@useAmoledTheme": {
"type": "text",
"placeholders": {}
},
"userAndOthersAreTyping": "{username} a {count} dalších píšu…", "userAndOthersAreTyping": "{username} a {count} dalších píšu…",
"@userAndOthersAreTyping": { "@userAndOthersAreTyping": {
"type": "text", "type": "text",
@ -1141,11 +1430,21 @@
"type": {} "type": {}
} }
}, },
"verifiedSession": "Úspešne overenie relácie!",
"@verifiedSession": {
"type": "text",
"placeholders": {}
},
"verify": "Overiť", "verify": "Overiť",
"@verify": { "@verify": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"verifyManual": "Verifikovať manuálne",
"@verifyManual": {
"type": "text",
"placeholders": {}
},
"verifyStart": "Spustiť verifikáciu", "verifyStart": "Spustiť verifikáciu",
"@verifyStart": { "@verifyStart": {
"type": "text", "type": "text",
@ -1161,6 +1460,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"verifyUser": "Verifikovať používateľa",
"@verifyUser": {
"type": "text",
"placeholders": {}
},
"videoCall": "Videohovor", "videoCall": "Videohovor",
"@videoCall": { "@videoCall": {
"type": "text", "type": "text",
@ -1206,6 +1510,21 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"warningEncryptionInBeta": "Konečné šifrovanie je momentálne v Beta verzii! Používajte na vlastné riziko!",
"@warningEncryptionInBeta": {
"type": "text",
"placeholders": {}
},
"wednesday": "Streda",
"@wednesday": {
"type": "text",
"placeholders": {}
},
"welcomeText": "Vítajte v najroztomilejšom instant messengeri v sieti matrix.",
"@welcomeText": {
"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",
@ -1246,6 +1565,23 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"yourOwnUsername": "Vaša vlastná prezývka",
"@yourOwnUsername": {
"type": "text",
"placeholders": {}
},
"youWillBeConnectedTo": "Budete pripojený na {homeserver}",
"@youWillBeConnectedTo": {
"type": "text",
"placeholders": {
"homeserver": {}
}
},
"publicGroups": "Verejné Skupiny",
"@publicGroups": {
"type": "text",
"placeholders": {}
},
"people": "Ľudia", "people": "Ľudia",
"@people": { "@people": {
"type": "text", "type": "text",
@ -1302,6 +1638,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"addNewFriend": "Pridať nového priateľa",
"@addNewFriend": {
"type": "text",
"placeholders": {}
},
"appLock": "Uzamknutie aplikácie", "appLock": "Uzamknutie aplikácie",
"@appLock": { "@appLock": {
"type": "text", "type": "text",
@ -1322,6 +1663,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"audioPlayerPause": "Zastaviť",
"@audioPlayerPause": {
"type": "text",
"placeholders": {}
},
"securityKey": "Bezpečnostný kľúč",
"@securityKey": {
"type": "text",
"placeholders": {}
},
"roomVersion": "Verzia miestnosti", "roomVersion": "Verzia miestnosti",
"@roomVersion": { "@roomVersion": {
"type": "text", "type": "text",
@ -1337,11 +1688,18 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"invalidEmail": "Neplatný email",
"@invalidEmail": {
"type": "text",
"placeholders": {}
},
"setPermissionsLevel": "Nastaviť úroveň oprávnení", "setPermissionsLevel": "Nastaviť úroveň oprávnení",
"@setPermissionsLevel": { "@setPermissionsLevel": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"setupChatBackup": "Nastaviť zálohy chatov",
"@setupChatBackup": {},
"badServerLoginTypesException": "Server podporuje tieto typy prihlásenia:\n{serverVersions}\nAle táto aplikácia podporuje iba:\n{supportedVersions}", "badServerLoginTypesException": "Server podporuje tieto typy prihlásenia:\n{serverVersions}\nAle táto aplikácia podporuje iba:\n{supportedVersions}",
"@badServerLoginTypesException": { "@badServerLoginTypesException": {
"type": "text", "type": "text",
@ -1350,6 +1708,11 @@
"supportedVersions": {} "supportedVersions": {}
} }
}, },
"changesHaveBeenSaved": "Zmeny boli uložené",
"@changesHaveBeenSaved": {
"type": "text",
"placeholders": {}
},
"chatBackup": "Záloha chatov", "chatBackup": "Záloha chatov",
"@chatBackup": { "@chatBackup": {
"type": "text", "type": "text",
@ -1366,6 +1729,11 @@
}, },
"yourChatBackupHasBeenSetUp": "Záloha vašich chatov bola nastavená.", "yourChatBackupHasBeenSetUp": "Záloha vašich chatov bola nastavená.",
"@yourChatBackupHasBeenSetUp": {}, "@yourChatBackupHasBeenSetUp": {},
"clearText": "Vymazať text",
"@clearText": {
"type": "text",
"placeholders": {}
},
"repeatPassword": "Zopakujte heslo", "repeatPassword": "Zopakujte heslo",
"@repeatPassword": {}, "@repeatPassword": {},
"all": "Všetky", "all": "Všetky",
@ -1383,8 +1751,15 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"audioPlayerPlay": "Spustiť",
"@audioPlayerPlay": {
"type": "text",
"placeholders": {}
},
"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",
@ -1413,9 +1788,5 @@
"@sendVideo": { "@sendVideo": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, }
"updateAvailable": "dostupná aktualizácia FluffyChat",
"@updateAvailable": {},
"updateNow": "Začať aktualizáciu na pozadí",
"@updateNow": {}
} }

View File

@ -20,6 +20,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"accountInformation": "Podatki o računu",
"@accountInformation": {
"type": "text",
"placeholders": {}
},
"activatedEndToEndEncryption": "Uporabnik {username} je aktiviral šifriranje od konca do konca", "activatedEndToEndEncryption": "Uporabnik {username} je aktiviral šifriranje od konca do konca",
"@activatedEndToEndEncryption": { "@activatedEndToEndEncryption": {
"type": "text", "type": "text",
@ -37,6 +42,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"addNewFriend": "Dodaj novega prijatelja",
"@addNewFriend": {
"type": "text",
"placeholders": {}
},
"addToSpace": "Dodajte v prostor", "addToSpace": "Dodajte v prostor",
"@addToSpace": {}, "@addToSpace": {},
"alias": "vzdevek", "alias": "vzdevek",
@ -54,6 +64,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"alreadyHaveAnAccount": "Že imate račun?",
"@alreadyHaveAnAccount": {
"type": "text",
"placeholders": {}
},
"answeredTheCall": "Oseba {senderName} je odgovorila na klic", "answeredTheCall": "Oseba {senderName} je odgovorila na klic",
"@answeredTheCall": { "@answeredTheCall": {
"type": "text", "type": "text",
@ -71,11 +86,21 @@
"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",
"placeholders": {} "placeholders": {}
}, },
"askSSSSVerify": "Vnesite geslo za varno hrambo ali ključ za obnovitev, da preverite svojo sejo.",
"@askSSSSVerify": {
"type": "text",
"placeholders": {}
},
"askVerificationRequest": "Ali želite sprejeti to zahtevo za preverjanje od {username}?", "askVerificationRequest": "Ali želite sprejeti to zahtevo za preverjanje od {username}?",
"@askVerificationRequest": { "@askVerificationRequest": {
"type": "text", "type": "text",
@ -83,11 +108,31 @@
"username": {} "username": {}
} }
}, },
"audioPlayerPause": "Pavza",
"@audioPlayerPause": {
"type": "text",
"placeholders": {}
},
"audioPlayerPlay": "Predvajaj",
"@audioPlayerPlay": {
"type": "text",
"placeholders": {}
},
"authentication": "Preverjanje pristnosti",
"@authentication": {
"type": "text",
"placeholders": {}
},
"autoplayImages": "Samodejno predvajajte animirane nalepke in čustva", "autoplayImages": "Samodejno predvajajte animirane nalepke in čustva",
"@autoplayImages": { "@autoplayImages": {
"type": "text", "type": "text",
"placeholder": {} "placeholder": {}
}, },
"avatarHasBeenChanged": "Avatar spremenjen",
"@avatarHasBeenChanged": {
"type": "text",
"placeholders": {}
},
"badServerLoginTypesException": "Domači strežnik podpira vrste prijave:\n{serverVersions}\nToda ta aplikacija podpira samo:\n{supportedVersions}", "badServerLoginTypesException": "Domači strežnik podpira vrste prijave:\n{serverVersions}\nToda ta aplikacija podpira samo:\n{supportedVersions}",
"@badServerLoginTypesException": { "@badServerLoginTypesException": {
"type": "text", "type": "text",
@ -131,6 +176,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"cachedKeys": "Ključi so shranjeni",
"@cachedKeys": {
"type": "text",
"placeholders": {}
},
"cancel": "Prekliči", "cancel": "Prekliči",
"@cancel": { "@cancel": {
"type": "text", "type": "text",
@ -224,11 +274,21 @@
"username": {} "username": {}
} }
}, },
"changelog": "Dnevnik sprememb",
"@changelog": {
"type": "text",
"placeholders": {}
},
"changePassword": "Spremeni geslo", "changePassword": "Spremeni geslo",
"@changePassword": { "@changePassword": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"changesHaveBeenSaved": "Spremembe so shranjene",
"@changesHaveBeenSaved": {
"type": "text",
"placeholders": {}
},
"changeTheHomeserver": "Spremenite domači strežnik", "changeTheHomeserver": "Spremenite domači strežnik",
"@changeTheHomeserver": { "@changeTheHomeserver": {
"type": "text", "type": "text",
@ -244,6 +304,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"changeTheServer": "Spremenite strežnik",
"@changeTheServer": {
"type": "text",
"placeholders": {}
},
"changeYourAvatar": "Spremenite svoj avatar", "changeYourAvatar": "Spremenite svoj avatar",
"@changeYourAvatar": { "@changeYourAvatar": {
"type": "text", "type": "text",
@ -254,6 +319,12 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"yourUserId": "Vaš ID uporabnika:",
"@yourUserId": {},
"setupChatBackup": "Nastavite varnostno kopiranje klepeta",
"@setupChatBackup": {},
"iWroteDownTheKey": "Zapisal sem ključ",
"@iWroteDownTheKey": {},
"yourChatBackupHasBeenSetUp": "Varnostna kopija klepeta je nastavljena.", "yourChatBackupHasBeenSetUp": "Varnostna kopija klepeta je nastavljena.",
"@yourChatBackupHasBeenSetUp": {}, "@yourChatBackupHasBeenSetUp": {},
"chatBackup": "Varnostno kopiranje klepeta", "chatBackup": "Varnostno kopiranje klepeta",
@ -268,6 +339,11 @@
}, },
"chatHasBeenAddedToThisSpace": "Klepet je bil dodan v ta prostor", "chatHasBeenAddedToThisSpace": "Klepet je bil dodan v ta prostor",
"@chatHasBeenAddedToThisSpace": {}, "@chatHasBeenAddedToThisSpace": {},
"chatHasBeenRemovedFromThisSpace": "Klepet je bil odstranjen iz tega prostora",
"@chatHasBeenRemovedFromThisSpace": {
"type": "text",
"placeholders": {}
},
"chats": "Klepeti", "chats": "Klepeti",
"@chats": { "@chats": {
"type": "text", "type": "text",
@ -285,6 +361,11 @@
}, },
"clearArchive": "Počisti arhiv", "clearArchive": "Počisti arhiv",
"@clearArchive": {}, "@clearArchive": {},
"clearText": "Počisti besedilo",
"@clearText": {
"type": "text",
"placeholders": {}
},
"close": "Zapri", "close": "Zapri",
"@close": { "@close": {
"type": "text", "type": "text",
@ -377,6 +458,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"connectionAttemptFailed": "Poskus povezave ni uspel",
"@connectionAttemptFailed": {
"type": "text",
"placeholders": {}
},
"containsDisplayName": "Vsebuje prikazno ime", "containsDisplayName": "Vsebuje prikazno ime",
"@containsDisplayName": { "@containsDisplayName": {
"type": "text", "type": "text",
@ -387,6 +473,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"contentViewer": "Pregledovalnik vsebine",
"@contentViewer": {
"type": "text",
"placeholders": {}
},
"pleaseChooseAtLeastChars": "Izberite najmanj {min} znakov.", "pleaseChooseAtLeastChars": "Izberite najmanj {min} znakov.",
"@pleaseChooseAtLeastChars": { "@pleaseChooseAtLeastChars": {
"type": "text", "type": "text",
@ -472,6 +563,8 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"setupChatBackupDescription": "Za zaščito vaših sporočil smo za vas ustvarili varnostni ključ.\nProsimo, da to shranite na varnem mestu, na primer v upravitelju gesel.",
"@setupChatBackupDescription": {},
"contentHasBeenReported": "Vsebina je bila prijavljena skrbnikom strežnika", "contentHasBeenReported": "Vsebina je bila prijavljena skrbnikom strežnika",
"@contentHasBeenReported": { "@contentHasBeenReported": {
"type": "text", "type": "text",
@ -529,6 +622,16 @@
"error": {} "error": {}
} }
}, },
"couldNotSetAvatar": "Avatarja ni bilo mogoče nastaviti",
"@couldNotSetAvatar": {
"type": "text",
"placeholders": {}
},
"couldNotSetDisplayname": "Prikaznega imena ni bilo mogoče nastaviti",
"@couldNotSetDisplayname": {
"type": "text",
"placeholders": {}
},
"countParticipants": "{count} udeležencev", "countParticipants": "{count} udeležencev",
"@countParticipants": { "@countParticipants": {
"type": "text", "type": "text",
@ -541,6 +644,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"createAccountNow": "Ustvarite račun zdaj",
"@createAccountNow": {
"type": "text",
"placeholders": {}
},
"createNewGroup": "Ustvari novo skupino", "createNewGroup": "Ustvari novo skupino",
"@createNewGroup": { "@createNewGroup": {
"type": "text", "type": "text",
@ -551,6 +659,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"crossSigningEnabled": "Navzkrižno podpisovanje DA",
"@crossSigningEnabled": {
"type": "text",
"placeholders": {}
},
"crossSigningDisabled": "Navzkrižno podpisovanje NE",
"@crossSigningDisabled": {
"type": "text",
"placeholders": {}
},
"currentlyActive": "Trenutno aktiven", "currentlyActive": "Trenutno aktiven",
"@currentlyActive": { "@currentlyActive": {
"type": "text", "type": "text",

View File

@ -22,6 +22,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"accountInformation": "Подаци о налогу",
"@accountInformation": {
"type": "text",
"placeholders": {}
},
"activatedEndToEndEncryption": "{username} укључи шифровање с краја на крај", "activatedEndToEndEncryption": "{username} укључи шифровање с краја на крај",
"@activatedEndToEndEncryption": { "@activatedEndToEndEncryption": {
"type": "text", "type": "text",
@ -39,6 +44,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"addNewFriend": "Додај новог пријатеља",
"@addNewFriend": {
"type": "text",
"placeholders": {}
},
"admin": "Админ", "admin": "Админ",
"@admin": { "@admin": {
"type": "text", "type": "text",
@ -54,6 +64,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"alreadyHaveAnAccount": "Већ имате налог?",
"@alreadyHaveAnAccount": {
"type": "text",
"placeholders": {}
},
"answeredTheCall": "{senderName} одговори на позив", "answeredTheCall": "{senderName} одговори на позив",
"@answeredTheCall": { "@answeredTheCall": {
"type": "text", "type": "text",
@ -76,6 +91,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"archivedRoom": "Архивирана соба",
"@archivedRoom": {
"type": "text",
"placeholders": {}
},
"areGuestsAllowedToJoin": "Да ли је гостима дозвољен приступ", "areGuestsAllowedToJoin": "Да ли је гостима дозвољен приступ",
"@areGuestsAllowedToJoin": { "@areGuestsAllowedToJoin": {
"type": "text", "type": "text",
@ -91,11 +111,21 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"askSSSSCache": "Унесите своју безбедносну фразу или кључ за опоравак да кеширате кључеве.",
"@askSSSSCache": {
"type": "text",
"placeholders": {}
},
"askSSSSSign": "Да бисте могли да пријавите другу особу, унесите своју безбедносну фразу или кључ опоравка.", "askSSSSSign": "Да бисте могли да пријавите другу особу, унесите своју безбедносну фразу или кључ опоравка.",
"@askSSSSSign": { "@askSSSSSign": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"askSSSSVerify": "Унесите своју безбедносну фразу или кључ за опоравак да бисте верификовали сесију.",
"@askSSSSVerify": {
"type": "text",
"placeholders": {}
},
"askVerificationRequest": "Прихватате ли захтев за верификацију од корисника {username}?", "askVerificationRequest": "Прихватате ли захтев за верификацију од корисника {username}?",
"@askVerificationRequest": { "@askVerificationRequest": {
"type": "text", "type": "text",
@ -103,6 +133,26 @@
"username": {} "username": {}
} }
}, },
"audioPlayerPause": "Пауза",
"@audioPlayerPause": {
"type": "text",
"placeholders": {}
},
"audioPlayerPlay": "Пуштање",
"@audioPlayerPlay": {
"type": "text",
"placeholders": {}
},
"authentication": "Аутентификација",
"@authentication": {
"type": "text",
"placeholders": {}
},
"avatarHasBeenChanged": "Аватар измењен",
"@avatarHasBeenChanged": {
"type": "text",
"placeholders": {}
},
"badServerLoginTypesException": "Домаћи сервер подржава начине пријаве:\n{serverVersions}\nали ова апликација подржава само:\n{supportedVersions}", "badServerLoginTypesException": "Домаћи сервер подржава начине пријаве:\n{serverVersions}\nали ова апликација подржава само:\n{supportedVersions}",
"@badServerLoginTypesException": { "@badServerLoginTypesException": {
"type": "text", "type": "text",
@ -152,6 +202,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"cachedKeys": "Кључеви кеширани",
"@cachedKeys": {
"type": "text",
"placeholders": {}
},
"cancel": "Откажи", "cancel": "Откажи",
"@cancel": { "@cancel": {
"type": "text", "type": "text",
@ -266,11 +321,21 @@
"username": {} "username": {}
} }
}, },
"changelog": "Дневник измена",
"@changelog": {
"type": "text",
"placeholders": {}
},
"changePassword": "Измени лозинку", "changePassword": "Измени лозинку",
"@changePassword": { "@changePassword": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"changesHaveBeenSaved": "Измене су сачуване",
"@changesHaveBeenSaved": {
"type": "text",
"placeholders": {}
},
"changeTheHomeserver": "Промени домаћи сервер", "changeTheHomeserver": "Промени домаћи сервер",
"@changeTheHomeserver": { "@changeTheHomeserver": {
"type": "text", "type": "text",
@ -286,6 +351,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"changeTheServer": "Промени сервер",
"@changeTheServer": {
"type": "text",
"placeholders": {}
},
"changeWallpaper": "Измени тапет", "changeWallpaper": "Измени тапет",
"@changeWallpaper": { "@changeWallpaper": {
"type": "text", "type": "text",
@ -338,6 +408,11 @@
}, },
"clearArchive": "Очисти архиву", "clearArchive": "Очисти архиву",
"@clearArchive": {}, "@clearArchive": {},
"clearText": "Обриши текст",
"@clearText": {
"type": "text",
"placeholders": {}
},
"close": "Затвори", "close": "Затвори",
"@close": { "@close": {
"type": "text", "type": "text",
@ -433,6 +508,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"connectionAttemptFailed": "Неуспео покушај повезивања",
"@connectionAttemptFailed": {
"type": "text",
"placeholders": {}
},
"contactHasBeenInvitedToTheGroup": "Особа је позвана у групу", "contactHasBeenInvitedToTheGroup": "Особа је позвана у групу",
"@contactHasBeenInvitedToTheGroup": { "@contactHasBeenInvitedToTheGroup": {
"type": "text", "type": "text",
@ -453,6 +533,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"contentViewer": "Прегледач садржаја",
"@contentViewer": {
"type": "text",
"placeholders": {}
},
"copiedToClipboard": "Копирано у клипборд", "copiedToClipboard": "Копирано у клипборд",
"@copiedToClipboard": { "@copiedToClipboard": {
"type": "text", "type": "text",
@ -475,6 +560,16 @@
"error": {} "error": {}
} }
}, },
"couldNotSetAvatar": "Не могу да поставим аватар",
"@couldNotSetAvatar": {
"type": "text",
"placeholders": {}
},
"couldNotSetDisplayname": "Не могу да поставим име за приказ",
"@couldNotSetDisplayname": {
"type": "text",
"placeholders": {}
},
"countParticipants": "учесника: {count}", "countParticipants": "учесника: {count}",
"@countParticipants": { "@countParticipants": {
"type": "text", "type": "text",
@ -487,6 +582,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"createAccountNow": "Направи налог сада",
"@createAccountNow": {
"type": "text",
"placeholders": {}
},
"createdTheChat": "{username} направи ћаскање", "createdTheChat": "{username} направи ћаскање",
"@createdTheChat": { "@createdTheChat": {
"type": "text", "type": "text",
@ -499,6 +599,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"crossSigningDisabled": "Међу-потписивање искључено",
"@crossSigningDisabled": {
"type": "text",
"placeholders": {}
},
"crossSigningEnabled": "Међу-потписивање укључено",
"@crossSigningEnabled": {
"type": "text",
"placeholders": {}
},
"currentlyActive": "Тренутно активно", "currentlyActive": "Тренутно активно",
"@currentlyActive": { "@currentlyActive": {
"type": "text", "type": "text",
@ -579,16 +689,41 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"deviceVerifyDescription": "Шифровање је безбедно само када су сви уређаји оверени.",
"@deviceVerifyDescription": {
"type": "text",
"placeholders": {}
},
"directChats": "Директна ћаскања", "directChats": "Директна ћаскања",
"@directChats": { "@directChats": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"discardPicture": "Одбаци слику",
"@discardPicture": {
"type": "text",
"placeholders": {}
},
"discover": "Истражи",
"@discover": {
"type": "text",
"placeholders": {}
},
"discoverGroups": "Истражи групе",
"@discoverGroups": {
"type": "text",
"placeholders": {}
},
"displaynameHasBeenChanged": "Име за приказ је измењено", "displaynameHasBeenChanged": "Име за приказ је измењено",
"@displaynameHasBeenChanged": { "@displaynameHasBeenChanged": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"donate": "Донација",
"@donate": {
"type": "text",
"placeholders": {}
},
"downloadFile": "Преузми фајл", "downloadFile": "Преузми фајл",
"@downloadFile": { "@downloadFile": {
"type": "text", "type": "text",
@ -614,6 +749,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"editJitsiInstance": "Уреди Џитси инстанцу",
"@editJitsiInstance": {
"type": "text",
"placeholders": {}
},
"editRoomAliases": "Уреди алијасе собе", "editRoomAliases": "Уреди алијасе собе",
"@editRoomAliases": { "@editRoomAliases": {
"type": "text", "type": "text",
@ -684,11 +824,21 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"encryptionAlgorithm": "Алгоритам шифровања",
"@encryptionAlgorithm": {
"type": "text",
"placeholders": {}
},
"encryptionNotEnabled": "Шифровање није укључено", "encryptionNotEnabled": "Шифровање није укључено",
"@encryptionNotEnabled": { "@encryptionNotEnabled": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"end2endEncryptionSettings": "Поставке шифровања с краја на крај",
"@end2endEncryptionSettings": {
"type": "text",
"placeholders": {}
},
"endedTheCall": "{senderName} заврши позив", "endedTheCall": "{senderName} заврши позив",
"@endedTheCall": { "@endedTheCall": {
"type": "text", "type": "text",
@ -706,6 +856,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"enterAUsername": "Унесите корисничко име",
"@enterAUsername": {
"type": "text",
"placeholders": {}
},
"enterYourHomeserver": "Унесите свој домаћи сервер", "enterYourHomeserver": "Унесите свој домаћи сервер",
"@enterYourHomeserver": { "@enterYourHomeserver": {
"type": "text", "type": "text",
@ -726,6 +881,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"fileSize": "Величина фајла",
"@fileSize": {
"type": "text",
"placeholders": {}
},
"fluffychat": "FluffyChat", "fluffychat": "FluffyChat",
"@fluffychat": { "@fluffychat": {
"type": "text", "type": "text",
@ -741,6 +901,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"friday": "петак",
"@friday": {
"type": "text",
"placeholders": {}
},
"friends": "Пријатељи",
"@friends": {
"type": "text",
"placeholders": {}
},
"fromJoining": "од приступања", "fromJoining": "од приступања",
"@fromJoining": { "@fromJoining": {
"type": "text", "type": "text",
@ -821,6 +991,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"homeserverIsNotCompatible": "Сервер није компатибилан",
"@homeserverIsNotCompatible": {
"type": "text",
"placeholders": {}
},
"howOffensiveIsThisContent": "Колико је увредљив овај садржај?", "howOffensiveIsThisContent": "Колико је увредљив овај садржај?",
"@howOffensiveIsThisContent": { "@howOffensiveIsThisContent": {
"type": "text", "type": "text",
@ -871,6 +1046,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"invalidEmail": "Лоша е-адреса",
"@invalidEmail": {
"type": "text",
"placeholders": {}
},
"inviteContact": "Позивање особа", "inviteContact": "Позивање особа",
"@inviteContact": { "@inviteContact": {
"type": "text", "type": "text",
@ -914,6 +1094,11 @@
"link": {} "link": {}
} }
}, },
"isDeviceKeyCorrect": "Да ли је кључ уређаја исправан?",
"@isDeviceKeyCorrect": {
"type": "text",
"placeholders": {}
},
"isTyping": "куца…", "isTyping": "куца…",
"@isTyping": { "@isTyping": {
"type": "text", "type": "text",
@ -931,6 +1116,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"keysCached": "Кључеви су кеширани",
"@keysCached": {
"type": "text",
"placeholders": {}
},
"keysMissing": "Кључеви недостају",
"@keysMissing": {
"type": "text",
"placeholders": {}
},
"kicked": "{username} избаци корисника {targetName}", "kicked": "{username} избаци корисника {targetName}",
"@kicked": { "@kicked": {
"type": "text", "type": "text",
@ -959,6 +1154,11 @@
"localizedTimeShort": {} "localizedTimeShort": {}
} }
}, },
"lastSeenIp": "Последњи ИП",
"@lastSeenIp": {
"type": "text",
"placeholders": {}
},
"lastSeenLongTimeAgo": "одавно није на мрежи", "lastSeenLongTimeAgo": "одавно није на мрежи",
"@lastSeenLongTimeAgo": { "@lastSeenLongTimeAgo": {
"type": "text", "type": "text",
@ -1025,6 +1225,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"makeAModerator": "Направи модератора",
"@makeAModerator": {
"type": "text",
"placeholders": {}
},
"makeAnAdmin": "Направи админа",
"@makeAnAdmin": {
"type": "text",
"placeholders": {}
},
"makeSureTheIdentifierIsValid": "Проверите да је идентификатор исправан", "makeSureTheIdentifierIsValid": "Проверите да је идентификатор исправан",
"@makeSureTheIdentifierIsValid": { "@makeSureTheIdentifierIsValid": {
"type": "text", "type": "text",
@ -1055,6 +1265,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"monday": "понедељак",
"@monday": {
"type": "text",
"placeholders": {}
},
"muteChat": "Ућуткај ћаскање", "muteChat": "Ућуткај ћаскање",
"@muteChat": { "@muteChat": {
"type": "text", "type": "text",
@ -1095,6 +1310,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"noCrossSignBootstrap": "Fluffychat тренутно не подржава међу-потписивање. Укључите га из апликације „Елемент“.",
"@noCrossSignBootstrap": {
"type": "text",
"placeholders": {}
},
"noDescription": "Нема описа",
"@noDescription": {
"type": "text",
"placeholders": {}
},
"noEmotesFound": "Нема емотија. 😕", "noEmotesFound": "Нема емотија. 😕",
"@noEmotesFound": { "@noEmotesFound": {
"type": "text", "type": "text",
@ -1110,6 +1335,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"noMegolmBootstrap": "Прављење резерве кључева на мрежи укључите из Елемента.",
"@noMegolmBootstrap": {
"type": "text",
"placeholders": {}
},
"none": "Ништа", "none": "Ништа",
"@none": { "@none": {
"type": "text", "type": "text",
@ -1125,11 +1355,21 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"noPublicRoomsFound": "Нисам нашао јавне собе…",
"@noPublicRoomsFound": {
"type": "text",
"placeholders": {}
},
"noRoomsFound": "Нисам нашао собе…", "noRoomsFound": "Нисам нашао собе…",
"@noRoomsFound": { "@noRoomsFound": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"noStatusesFound": "За сад нема стања.",
"@noStatusesFound": {
"type": "text",
"placeholders": {}
},
"notifications": "Обавештења", "notifications": "Обавештења",
"@notifications": { "@notifications": {
"type": "text", "type": "text",
@ -1140,6 +1380,18 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"notSupportedInWeb": "Није подржано на вебу",
"@notSupportedInWeb": {
"type": "text",
"placeholders": {}
},
"numberSelected": "изабрано {number}",
"@numberSelected": {
"type": "text",
"placeholders": {
"number": {}
}
},
"numUsersTyping": "{count} корисника куца…", "numUsersTyping": "{count} корисника куца…",
"@numUsersTyping": { "@numUsersTyping": {
"type": "text", "type": "text",
@ -1167,6 +1419,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"onlineKeyBackupDisabled": "Резерва кључева на мрежи је искључена",
"@onlineKeyBackupDisabled": {
"type": "text",
"placeholders": {}
},
"onlineKeyBackupEnabled": "Резерва кључева на мрежи је укључена", "onlineKeyBackupEnabled": "Резерва кључева на мрежи је укључена",
"@onlineKeyBackupEnabled": { "@onlineKeyBackupEnabled": {
"type": "text", "type": "text",
@ -1192,6 +1449,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"optionalAddEmail": "(необавезно) ваша е-адреса",
"@optionalAddEmail": {
"type": "text",
"placeholders": {}
},
"optionalGroupName": "(опционо) назив групе", "optionalGroupName": "(опционо) назив групе",
"@optionalGroupName": { "@optionalGroupName": {
"type": "text", "type": "text",
@ -1207,6 +1469,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"participatingUserDevices": "Уређаји који учествују",
"@participatingUserDevices": {
"type": "text",
"placeholders": {}
},
"passphraseOrKey": "фраза или кључ опоравка", "passphraseOrKey": "фраза или кључ опоравка",
"@passphraseOrKey": { "@passphraseOrKey": {
"type": "text", "type": "text",
@ -1284,6 +1551,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"pleaseEnterSecurityKey": "Унесите свој сигурносни кључ:",
"@pleaseEnterSecurityKey": {
"type": "text",
"placeholders": {}
},
"pleaseEnterYourPassword": "Унесите своју лозинку", "pleaseEnterYourPassword": "Унесите своју лозинку",
"@pleaseEnterYourPassword": { "@pleaseEnterYourPassword": {
"type": "text", "type": "text",
@ -1309,6 +1581,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"publicGroups": "Јавне групе",
"@publicGroups": {
"type": "text",
"placeholders": {}
},
"publicKey": "Јавни кључ",
"@publicKey": {
"type": "text",
"placeholders": {}
},
"publicRooms": "Јавне собе", "publicRooms": "Јавне собе",
"@publicRooms": { "@publicRooms": {
"type": "text", "type": "text",
@ -1390,6 +1672,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"removeMessage": "Уклони поруку",
"@removeMessage": {
"type": "text",
"placeholders": {}
},
"removeYourAvatar": "Уклоните свој аватар", "removeYourAvatar": "Уклоните свој аватар",
"@removeYourAvatar": { "@removeYourAvatar": {
"type": "text", "type": "text",
@ -1420,6 +1707,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"requestToReadOlderMessages": "Затражи читање старијих порука",
"@requestToReadOlderMessages": {
"type": "text",
"placeholders": {}
},
"revokeAllPermissions": "Повуци све дозволе",
"@revokeAllPermissions": {
"type": "text",
"placeholders": {}
},
"roomHasBeenUpgraded": "Соба је надограђена", "roomHasBeenUpgraded": "Соба је надограђена",
"@roomHasBeenUpgraded": { "@roomHasBeenUpgraded": {
"type": "text", "type": "text",
@ -1430,16 +1727,36 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"saturday": "субота",
"@saturday": {
"type": "text",
"placeholders": {}
},
"search": "Претражи", "search": "Претражи",
"@search": { "@search": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"searchForAChat": "претражи ћаскања",
"@searchForAChat": {
"type": "text",
"placeholders": {}
},
"security": "Безбедност", "security": "Безбедност",
"@security": { "@security": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"securityKey": "Сигурносни кључ",
"@securityKey": {
"type": "text",
"placeholders": {}
},
"securityKeyLost": "Изгубљен сигурносни кључ?",
"@securityKeyLost": {
"type": "text",
"placeholders": {}
},
"seenByUser": "{username} прегледа", "seenByUser": "{username} прегледа",
"@seenByUser": { "@seenByUser": {
"type": "text", "type": "text",
@ -1478,6 +1795,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"sendBugReports": "Дозволи слање извештаја о грешци помоћу sentry.io",
"@sendBugReports": {
"type": "text",
"placeholders": {}
},
"sendFile": "Пошаљи фајл", "sendFile": "Пошаљи фајл",
"@sendFile": { "@sendFile": {
"type": "text", "type": "text",
@ -1545,6 +1867,21 @@
"senderName": {} "senderName": {}
} }
}, },
"sentryInfo": "Информације о вашој приватности: https://sentry.io/security/",
"@sentryInfo": {
"type": "text",
"placeholders": {}
},
"sessionVerified": "Сесија је верификована",
"@sessionVerified": {
"type": "text",
"placeholders": {}
},
"setAProfilePicture": "Постави слику профила",
"@setAProfilePicture": {
"type": "text",
"placeholders": {}
},
"setAsCanonicalAlias": "Постави као главни алијас", "setAsCanonicalAlias": "Постави као главни алијас",
"@setAsCanonicalAlias": { "@setAsCanonicalAlias": {
"type": "text", "type": "text",
@ -1612,6 +1949,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"soundVibrationLedColor": "Звук, вибрација и ЛЕД боје",
"@soundVibrationLedColor": {
"type": "text",
"placeholders": {}
},
"sourceCode": "Изворни код", "sourceCode": "Изворни код",
"@sourceCode": { "@sourceCode": {
"type": "text", "type": "text",
@ -1624,6 +1966,11 @@
"senderName": {} "senderName": {}
} }
}, },
"startYourFirstChat": "Покрените своје прво ћаскање! 🙂\n- Тапните на дугме поруке\n- Унесите корисничко име пријатеља\n- Уживајте у ћаскању",
"@startYourFirstChat": {
"type": "text",
"placeholders": {}
},
"status": "Стање", "status": "Стање",
"@status": { "@status": {
"type": "text", "type": "text",
@ -1639,11 +1986,26 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"sunday": "недеља",
"@sunday": {
"type": "text",
"placeholders": {}
},
"systemTheme": "системски", "systemTheme": "системски",
"@systemTheme": { "@systemTheme": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"tapOnDeviceToVerify": "Тапните уређај да оверите",
"@tapOnDeviceToVerify": {
"type": "text",
"placeholders": {}
},
"tapToShowMenu": "Тапните за мени",
"@tapToShowMenu": {
"type": "text",
"placeholders": {}
},
"theyDontMatch": "Не поклапају се", "theyDontMatch": "Не поклапају се",
"@theyDontMatch": { "@theyDontMatch": {
"type": "text", "type": "text",
@ -1654,6 +2016,26 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"thisRoomHasBeenArchived": "Ова соба је архивирана.",
"@thisRoomHasBeenArchived": {
"type": "text",
"placeholders": {}
},
"thursday": "четвртак",
"@thursday": {
"type": "text",
"placeholders": {}
},
"timeOfDay": "{hours24}:{minutes}",
"@timeOfDay": {
"type": "text",
"placeholders": {
"hours12": {},
"hours24": {},
"minutes": {},
"suffix": {}
}
},
"title": "FluffyChat", "title": "FluffyChat",
"@title": { "@title": {
"description": "Title for the application", "description": "Title for the application",
@ -1690,6 +2072,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"tuesday": "уторак",
"@tuesday": {
"type": "text",
"placeholders": {}
},
"unavailable": "Недоступно", "unavailable": "Недоступно",
"@unavailable": { "@unavailable": {
"type": "text", "type": "text",
@ -1725,6 +2112,16 @@
"type": {} "type": {}
} }
}, },
"unknownSessionVerify": "Непозната сесија. Верификујте је",
"@unknownSessionVerify": {
"type": "text",
"placeholders": {}
},
"unlockChatBackup": "Откључај резерву ћаскања",
"@unlockChatBackup": {
"type": "text",
"placeholders": {}
},
"unmuteChat": "Врати обавештења", "unmuteChat": "Врати обавештења",
"@unmuteChat": { "@unmuteChat": {
"type": "text", "type": "text",
@ -1742,6 +2139,18 @@
"unreadCount": {} "unreadCount": {}
} }
}, },
"unreadMessages": "{unreadEvents, plural, other{непрочитаних порука: {unreadEvents}}}",
"@unreadMessages": {
"type": "text",
"placeholders": {
"unreadEvents": {}
}
},
"useAmoledTheme": "Користити боје за АМОЛЕД?",
"@useAmoledTheme": {
"type": "text",
"placeholders": {}
},
"userAndOthersAreTyping": "{username} и {count} корисника куцају…", "userAndOthersAreTyping": "{username} и {count} корисника куцају…",
"@userAndOthersAreTyping": { "@userAndOthersAreTyping": {
"type": "text", "type": "text",
@ -1777,6 +2186,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"userNotVerified": "Корисник није оверен",
"@userNotVerified": {
"type": "text",
"placeholders": {}
},
"userSentUnknownEvent": "{username} посла {type} догађај", "userSentUnknownEvent": "{username} посла {type} догађај",
"@userSentUnknownEvent": { "@userSentUnknownEvent": {
"type": "text", "type": "text",
@ -1785,16 +2199,36 @@
"type": {} "type": {}
} }
}, },
"userUnknownVerification": "Стање овере није познато",
"@userUnknownVerification": {
"type": "text",
"placeholders": {}
},
"userVerified": "Корисник је оверен",
"@userVerified": {
"type": "text",
"placeholders": {}
},
"verified": "Оверен", "verified": "Оверен",
"@verified": { "@verified": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"verifiedSession": "Успешно верификована сесија!",
"@verifiedSession": {
"type": "text",
"placeholders": {}
},
"verify": "Верификуј", "verify": "Верификуј",
"@verify": { "@verify": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"verifyManual": "Верификуј ручно",
"@verifyManual": {
"type": "text",
"placeholders": {}
},
"verifyStart": "Покрени верификацију", "verifyStart": "Покрени верификацију",
"@verifyStart": { "@verifyStart": {
"type": "text", "type": "text",
@ -1810,6 +2244,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"verifyUser": "Верификуј корисника",
"@verifyUser": {
"type": "text",
"placeholders": {}
},
"videoCall": "Видео позив", "videoCall": "Видео позив",
"@videoCall": { "@videoCall": {
"type": "text", "type": "text",
@ -1860,6 +2299,21 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"warningEncryptionInBeta": "Шифровање с краја на крај је тренутно у бета фази! Користите на сопствени ризик!",
"@warningEncryptionInBeta": {
"type": "text",
"placeholders": {}
},
"wednesday": "среда",
"@wednesday": {
"type": "text",
"placeholders": {}
},
"welcomeText": "Добродошли у најслађи брзи гласник на Матрикс мрежи.",
"@welcomeText": {
"type": "text",
"placeholders": {}
},
"weSentYouAnEmail": "Послали смо вам е-пошту", "weSentYouAnEmail": "Послали смо вам е-пошту",
"@weSentYouAnEmail": { "@weSentYouAnEmail": {
"type": "text", "type": "text",
@ -1925,9 +2379,31 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"yourOwnUsername": "Ваше корисничко име",
"@yourOwnUsername": {
"type": "text",
"placeholders": {}
},
"yourPublicKey": "Ваш јавни кључ", "yourPublicKey": "Ваш јавни кључ",
"@yourPublicKey": { "@yourPublicKey": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
},
"youWillBeConnectedTo": "Бићете повезани на {homeserver}",
"@youWillBeConnectedTo": {
"type": "text",
"placeholders": {
"homeserver": {}
}
},
"zoomIn": "Увећај",
"@zoomIn": {
"type": "text",
"placeholders": {}
},
"zoomOut": "Умањи",
"@zoomOut": {
"type": "text",
"placeholders": {}
} }
} }

File diff suppressed because it is too large Load Diff

View File

@ -1 +0,0 @@
{}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -22,6 +22,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"accountInformation": "Thông tin tài khoản",
"@accountInformation": {
"type": "text",
"placeholders": {}
},
"activatedEndToEndEncryption": "{username} đã kích hoạt mã hóa đầu cuối 2 chiều", "activatedEndToEndEncryption": "{username} đã kích hoạt mã hóa đầu cuối 2 chiều",
"@activatedEndToEndEncryption": { "@activatedEndToEndEncryption": {
"type": "text", "type": "text",
@ -44,6 +49,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"alreadyHaveAnAccount": "Bạn đã có tài khoản?",
"@alreadyHaveAnAccount": {
"type": "text",
"placeholders": {}
},
"answeredTheCall": "{senderName} đã trả lời cuộc gọi", "answeredTheCall": "{senderName} đã trả lời cuộc gọi",
"@answeredTheCall": { "@answeredTheCall": {
"type": "text", "type": "text",
@ -61,6 +71,11 @@
"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",
@ -71,11 +86,33 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"askSSSSCache": "Vui lòng nhập cụm mật khẩu hoặc khóa khôi phục để lưu khóa vào bộ nhớ cache.",
"@askSSSSCache": {
"type": "text",
"placeholders": {}
},
"blockDevice": "Thiết bị bị chặn", "blockDevice": "Thiết bị bị chặn",
"@blockDevice": { "@blockDevice": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"zoomOut": "Thu nhỏ",
"@zoomOut": {
"type": "text",
"placeholders": {}
},
"zoomIn": "Phóng to",
"@zoomIn": {
"type": "text",
"placeholders": {}
},
"youWillBeConnectedTo": "Bạn sẽ được kết nối tới {homeserver}",
"@youWillBeConnectedTo": {
"type": "text",
"placeholders": {
"homeserver": {}
}
},
"verified": "Đã xác thực", "verified": "Đã xác thực",
"@verified": { "@verified": {
"type": "text", "type": "text",
@ -86,16 +123,36 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"tapOnDeviceToVerify": "Chạm vào một thiết bị để chứng thực",
"@tapOnDeviceToVerify": {
"type": "text",
"placeholders": {}
},
"showPassword": "Hiển thị mật khẩu", "showPassword": "Hiển thị mật khẩu",
"@showPassword": { "@showPassword": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"securityKeyLost": "Thất lạc khoá bảo mật?",
"@securityKeyLost": {
"type": "text",
"placeholders": {}
},
"securityKey": "Khóa bảo mật",
"@securityKey": {
"type": "text",
"placeholders": {}
},
"pleaseFollowInstructionsOnWeb": "Vui lòng làm theo hướng dẫn trên trang web và bấm tiếp", "pleaseFollowInstructionsOnWeb": "Vui lòng làm theo hướng dẫn trên trang web và bấm tiếp",
"@pleaseFollowInstructionsOnWeb": { "@pleaseFollowInstructionsOnWeb": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"pleaseEnterSecurityKey": "Vui lòng nhập khoá bảo mật",
"@pleaseEnterSecurityKey": {
"type": "text",
"placeholders": {}
},
"noEncryptionForPublicRooms": "Bạn chỉ có thể kích hoạt mã hoá khi phòng này không mở", "noEncryptionForPublicRooms": "Bạn chỉ có thể kích hoạt mã hoá khi phòng này không mở",
"@noEncryptionForPublicRooms": { "@noEncryptionForPublicRooms": {
"type": "text", "type": "text",
@ -131,6 +188,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"discardPicture": "Xoá hình ảnh",
"@discardPicture": {
"type": "text",
"placeholders": {}
},
"deviceVerifyDescription": "Mã hoá chỉ bảo mật khi tất cả các thiết bị đều được chứng thực",
"@deviceVerifyDescription": {
"type": "text",
"placeholders": {}
},
"devices": "Các thiết bị", "devices": "Các thiết bị",
"@devices": { "@devices": {
"type": "text", "type": "text",
@ -213,6 +280,11 @@
"username": {} "username": {}
} }
}, },
"createAccountNow": "Tạo tài khoản mới ngay",
"@createAccountNow": {
"type": "text",
"placeholders": {}
},
"create": "Tạo", "create": "Tạo",
"@create": { "@create": {
"type": "text", "type": "text",
@ -225,6 +297,16 @@
"count": {} "count": {}
} }
}, },
"couldNotSetDisplayname": "Không thể thay tên hiển thị",
"@couldNotSetDisplayname": {
"type": "text",
"placeholders": {}
},
"couldNotSetAvatar": "Không thể đặt ảnh đại diện",
"@couldNotSetAvatar": {
"type": "text",
"placeholders": {}
},
"couldNotDecryptMessage": "Không thể giải mã tin nhắn: {error}", "couldNotDecryptMessage": "Không thể giải mã tin nhắn: {error}",
"@couldNotDecryptMessage": { "@couldNotDecryptMessage": {
"type": "text", "type": "text",
@ -242,6 +324,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"connectionAttemptFailed": "Kết nối thất bại",
"@connectionAttemptFailed": {
"type": "text",
"placeholders": {}
},
"connect": "Kết nối", "connect": "Kết nối",
"@connect": { "@connect": {
"type": "text", "type": "text",
@ -302,6 +389,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"changeTheServer": "Thay đổi máy chủ",
"@changeTheServer": {
"type": "text",
"placeholders": {}
},
"changeTheNameOfTheGroup": "Thay đổi tên nhóm", "changeTheNameOfTheGroup": "Thay đổi tên nhóm",
"@changeTheNameOfTheGroup": { "@changeTheNameOfTheGroup": {
"type": "text", "type": "text",
@ -317,6 +409,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"changelog": "Lịch sử thay đổi",
"@changelog": {
"type": "text",
"placeholders": {}
},
"changedTheRoomInvitationLink": "{username} đã thay đổi đường dẫn mời", "changedTheRoomInvitationLink": "{username} đã thay đổi đường dẫn mời",
"@changedTheRoomInvitationLink": { "@changedTheRoomInvitationLink": {
"type": "text", "type": "text",
@ -393,6 +490,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"cachedKeys": "Khóa đã được lưu vào bộ nhớ tạm",
"@cachedKeys": {
"type": "text",
"placeholders": {}
},
"blocked": "Đã chặn", "blocked": "Đã chặn",
"@blocked": { "@blocked": {
"type": "text", "type": "text",
@ -432,6 +534,16 @@
"supportedVersions": {} "supportedVersions": {}
} }
}, },
"avatarHasBeenChanged": "Ảnh đại diện đã được thay đổi",
"@avatarHasBeenChanged": {
"type": "text",
"placeholders": {}
},
"authentication": "Xác thực",
"@authentication": {
"type": "text",
"placeholders": {}
},
"askVerificationRequest": "Bạn có đồng ý yêu cầu chứng thực từ {username} không?", "askVerificationRequest": "Bạn có đồng ý yêu cầu chứng thực từ {username} không?",
"@askVerificationRequest": { "@askVerificationRequest": {
"type": "text", "type": "text",
@ -439,6 +551,11 @@
"username": {} "username": {}
} }
}, },
"askSSSSVerify": "Vui lòng nhập mật khẩu bảo mật hoặc khóa khôi phục để chứng thực phiên của bạn.",
"@askSSSSVerify": {
"type": "text",
"placeholders": {}
},
"areYouSureYouWantToLogout": "Bạn có chắc bạn muốn đăng xuất không?", "areYouSureYouWantToLogout": "Bạn có chắc bạn muốn đăng xuất không?",
"@areYouSureYouWantToLogout": { "@areYouSureYouWantToLogout": {
"type": "text", "type": "text",

File diff suppressed because it is too large Load Diff

View File

@ -22,6 +22,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"accountInformation": "帳號資訊",
"@accountInformation": {
"type": "text",
"placeholders": {}
},
"activatedEndToEndEncryption": "{username}已啟用點對點加密", "activatedEndToEndEncryption": "{username}已啟用點對點加密",
"@activatedEndToEndEncryption": { "@activatedEndToEndEncryption": {
"type": "text", "type": "text",
@ -39,6 +44,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"addNewFriend": "新增朋友",
"@addNewFriend": {
"type": "text",
"placeholders": {}
},
"admin": "管理員", "admin": "管理員",
"@admin": { "@admin": {
"type": "text", "type": "text",
@ -54,6 +64,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"alreadyHaveAnAccount": "已經有帳號了?",
"@alreadyHaveAnAccount": {
"type": "text",
"placeholders": {}
},
"answeredTheCall": "已開始與{senderName}通話", "answeredTheCall": "已開始與{senderName}通話",
"@answeredTheCall": { "@answeredTheCall": {
"type": "text", "type": "text",
@ -76,6 +91,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"archivedRoom": "已封存的對話",
"@archivedRoom": {
"type": "text",
"placeholders": {}
},
"areGuestsAllowedToJoin": "是否允許訪客加入", "areGuestsAllowedToJoin": "是否允許訪客加入",
"@areGuestsAllowedToJoin": { "@areGuestsAllowedToJoin": {
"type": "text", "type": "text",
@ -91,11 +111,21 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"askSSSSCache": "請輸入您安全儲存的密碼短語或恢復金鑰以快取金鑰。",
"@askSSSSCache": {
"type": "text",
"placeholders": {}
},
"askSSSSSign": "請輸入您安全儲存的密碼短語或恢復金鑰,以向對方簽名。", "askSSSSSign": "請輸入您安全儲存的密碼短語或恢復金鑰,以向對方簽名。",
"@askSSSSSign": { "@askSSSSSign": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"askSSSSVerify": "請輸入您安全儲存的密碼短語或恢復金鑰以驗證您的工作階段。",
"@askSSSSVerify": {
"type": "text",
"placeholders": {}
},
"askVerificationRequest": "是否接受來自{username}的驗證申請?", "askVerificationRequest": "是否接受來自{username}的驗證申請?",
"@askVerificationRequest": { "@askVerificationRequest": {
"type": "text", "type": "text",
@ -103,6 +133,26 @@
"username": {} "username": {}
} }
}, },
"audioPlayerPause": "暫停",
"@audioPlayerPause": {
"type": "text",
"placeholders": {}
},
"audioPlayerPlay": "播放",
"@audioPlayerPlay": {
"type": "text",
"placeholders": {}
},
"authentication": "身份驗證",
"@authentication": {
"type": "text",
"placeholders": {}
},
"avatarHasBeenChanged": "頭貼已變更",
"@avatarHasBeenChanged": {
"type": "text",
"placeholders": {}
},
"badServerLoginTypesException": "目前伺服器支援的登入類型:\n{serverVersions}\n但本應用程式僅支援\n{supportedVersions}", "badServerLoginTypesException": "目前伺服器支援的登入類型:\n{serverVersions}\n但本應用程式僅支援\n{supportedVersions}",
"@badServerLoginTypesException": { "@badServerLoginTypesException": {
"type": "text", "type": "text",
@ -152,6 +202,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"cachedKeys": "金鑰已快取",
"@cachedKeys": {
"type": "text",
"placeholders": {}
},
"cancel": "取消", "cancel": "取消",
"@cancel": { "@cancel": {
"type": "text", "type": "text",
@ -266,11 +321,21 @@
"username": {} "username": {}
} }
}, },
"changelog": "變更日誌",
"@changelog": {
"type": "text",
"placeholders": {}
},
"changePassword": "變更密碼", "changePassword": "變更密碼",
"@changePassword": { "@changePassword": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"changesHaveBeenSaved": "變更已被儲存",
"@changesHaveBeenSaved": {
"type": "text",
"placeholders": {}
},
"changeTheHomeserver": "變更主機位址", "changeTheHomeserver": "變更主機位址",
"@changeTheHomeserver": { "@changeTheHomeserver": {
"type": "text", "type": "text",
@ -286,6 +351,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"changeTheServer": "變更伺服器",
"@changeTheServer": {
"type": "text",
"placeholders": {}
},
"changeWallpaper": "變更聊天背景", "changeWallpaper": "變更聊天背景",
"@changeWallpaper": { "@changeWallpaper": {
"type": "text", "type": "text",
@ -326,6 +396,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"clearText": "清除文字",
"@clearText": {
"type": "text",
"placeholders": {}
},
"close": "關閉", "close": "關閉",
"@close": { "@close": {
"type": "text", "type": "text",
@ -356,6 +431,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"connectionAttemptFailed": "嘗試連接失敗",
"@connectionAttemptFailed": {
"type": "text",
"placeholders": {}
},
"contactHasBeenInvitedToTheGroup": "聯絡人已被邀請至群組", "contactHasBeenInvitedToTheGroup": "聯絡人已被邀請至群組",
"@contactHasBeenInvitedToTheGroup": { "@contactHasBeenInvitedToTheGroup": {
"type": "text", "type": "text",
@ -376,6 +456,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"contentViewer": "內容檢視器",
"@contentViewer": {
"type": "text",
"placeholders": {}
},
"copiedToClipboard": "已複製到剪貼簿", "copiedToClipboard": "已複製到剪貼簿",
"@copiedToClipboard": { "@copiedToClipboard": {
"type": "text", "type": "text",
@ -398,6 +483,16 @@
"error": {} "error": {}
} }
}, },
"couldNotSetAvatar": "不能設定頭貼",
"@couldNotSetAvatar": {
"type": "text",
"placeholders": {}
},
"couldNotSetDisplayname": "不能設定顯示名稱",
"@couldNotSetDisplayname": {
"type": "text",
"placeholders": {}
},
"countParticipants": "{count}個參與者", "countParticipants": "{count}個參與者",
"@countParticipants": { "@countParticipants": {
"type": "text", "type": "text",
@ -410,6 +505,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"createAccountNow": "現在建立帳號",
"@createAccountNow": {
"type": "text",
"placeholders": {}
},
"createdTheChat": "{username}建立了聊天室", "createdTheChat": "{username}建立了聊天室",
"@createdTheChat": { "@createdTheChat": {
"type": "text", "type": "text",
@ -422,6 +522,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"crossSigningDisabled": "第三方登入未啟用",
"@crossSigningDisabled": {
"type": "text",
"placeholders": {}
},
"crossSigningEnabled": "第三方登入已啟用",
"@crossSigningEnabled": {
"type": "text",
"placeholders": {}
},
"currentlyActive": "目前活躍", "currentlyActive": "目前活躍",
"@currentlyActive": { "@currentlyActive": {
"type": "text", "type": "text",
@ -502,16 +612,41 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"deviceVerifyDescription": "只有在所有的裝置都經過驗證後,加密才會是安全的。",
"@deviceVerifyDescription": {
"type": "text",
"placeholders": {}
},
"directChats": "直接傳訊", "directChats": "直接傳訊",
"@directChats": { "@directChats": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"discardPicture": "放棄圖片",
"@discardPicture": {
"type": "text",
"placeholders": {}
},
"discover": "探索",
"@discover": {
"type": "text",
"placeholders": {}
},
"discoverGroups": "探索群組",
"@discoverGroups": {
"type": "text",
"placeholders": {}
},
"displaynameHasBeenChanged": "顯示名稱已被變更", "displaynameHasBeenChanged": "顯示名稱已被變更",
"@displaynameHasBeenChanged": { "@displaynameHasBeenChanged": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"donate": "捐贈",
"@donate": {
"type": "text",
"placeholders": {}
},
"downloadFile": "下載文件", "downloadFile": "下載文件",
"@downloadFile": { "@downloadFile": {
"type": "text", "type": "text",
@ -537,6 +672,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"editJitsiInstance": "編輯Jitsi實例",
"@editJitsiInstance": {
"type": "text",
"placeholders": {}
},
"editRoomAvatar": "編輯聊天室頭貼", "editRoomAvatar": "編輯聊天室頭貼",
"@editRoomAvatar": { "@editRoomAvatar": {
"type": "text", "type": "text",
@ -602,11 +742,21 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"encryptionAlgorithm": "加密算法",
"@encryptionAlgorithm": {
"type": "text",
"placeholders": {}
},
"encryptionNotEnabled": "加密未啟用", "encryptionNotEnabled": "加密未啟用",
"@encryptionNotEnabled": { "@encryptionNotEnabled": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"end2endEncryptionSettings": "點對點加密設定",
"@end2endEncryptionSettings": {
"type": "text",
"placeholders": {}
},
"endedTheCall": "{senderName}結束了通話", "endedTheCall": "{senderName}結束了通話",
"@endedTheCall": { "@endedTheCall": {
"type": "text", "type": "text",
@ -624,6 +774,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"enterAUsername": "輸入使用者名稱",
"@enterAUsername": {
"type": "text",
"placeholders": {}
},
"enterYourHomeserver": "輸入伺服器位址", "enterYourHomeserver": "輸入伺服器位址",
"@enterYourHomeserver": { "@enterYourHomeserver": {
"type": "text", "type": "text",
@ -644,6 +799,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"fileSize": "檔案大小",
"@fileSize": {
"type": "text",
"placeholders": {}
},
"fluffychat": "FluffyChat", "fluffychat": "FluffyChat",
"@fluffychat": { "@fluffychat": {
"type": "text", "type": "text",
@ -659,6 +819,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"friday": "星期五",
"@friday": {
"type": "text",
"placeholders": {}
},
"friends": "朋友",
"@friends": {
"type": "text",
"placeholders": {}
},
"fromJoining": "自加入起", "fromJoining": "自加入起",
"@fromJoining": { "@fromJoining": {
"type": "text", "type": "text",
@ -734,6 +904,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"homeserverIsNotCompatible": "伺服器不相容",
"@homeserverIsNotCompatible": {
"type": "text",
"placeholders": {}
},
"howOffensiveIsThisContent": "這個內容有多令人反感?", "howOffensiveIsThisContent": "這個內容有多令人反感?",
"@howOffensiveIsThisContent": { "@howOffensiveIsThisContent": {
"type": "text", "type": "text",
@ -827,6 +1002,11 @@
"link": {} "link": {}
} }
}, },
"isDeviceKeyCorrect": "下列裝置金鑰是否正確?",
"@isDeviceKeyCorrect": {
"type": "text",
"placeholders": {}
},
"isTyping": "正在輸入...…", "isTyping": "正在輸入...…",
"@isTyping": { "@isTyping": {
"type": "text", "type": "text",
@ -844,6 +1024,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"keysCached": "金鑰已被快取",
"@keysCached": {
"type": "text",
"placeholders": {}
},
"keysMissing": "金鑰遺失",
"@keysMissing": {
"type": "text",
"placeholders": {}
},
"kicked": "{username}踢了{targetName}", "kicked": "{username}踢了{targetName}",
"@kicked": { "@kicked": {
"type": "text", "type": "text",
@ -872,6 +1062,11 @@
"localizedTimeShort": {} "localizedTimeShort": {}
} }
}, },
"lastSeenIp": "最後使用的IP",
"@lastSeenIp": {
"type": "text",
"placeholders": {}
},
"lastSeenLongTimeAgo": "很長一段時間沒有上線了", "lastSeenLongTimeAgo": "很長一段時間沒有上線了",
"@lastSeenLongTimeAgo": { "@lastSeenLongTimeAgo": {
"type": "text", "type": "text",
@ -931,6 +1126,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"makeAModerator": "建立版主",
"@makeAModerator": {
"type": "text",
"placeholders": {}
},
"makeAnAdmin": "建立管理員",
"@makeAnAdmin": {
"type": "text",
"placeholders": {}
},
"makeSureTheIdentifierIsValid": "確保識別碼正確", "makeSureTheIdentifierIsValid": "確保識別碼正確",
"@makeSureTheIdentifierIsValid": { "@makeSureTheIdentifierIsValid": {
"type": "text", "type": "text",
@ -961,6 +1166,18 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"monday": "星期一",
"@monday": {
"type": "text",
"placeholders": {}
},
"moreEvents": "{count,plural, =1{還有1個事件} other{還有{count}個事件}}",
"@moreEvents": {
"type": "text",
"placeholders": {
"count": {}
}
},
"muteChat": "將該聊天室靜音", "muteChat": "將該聊天室靜音",
"@muteChat": { "@muteChat": {
"type": "text", "type": "text",
@ -1001,6 +1218,16 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"noCrossSignBootstrap": "FluffyChat目前不支援啟用Cross-Signing。請在Riot中啟用。",
"@noCrossSignBootstrap": {
"type": "text",
"placeholders": {}
},
"noDescription": "沒有描述",
"@noDescription": {
"type": "text",
"placeholders": {}
},
"noEmotesFound": "表情符號不存在。😕", "noEmotesFound": "表情符號不存在。😕",
"@noEmotesFound": { "@noEmotesFound": {
"type": "text", "type": "text",
@ -1016,6 +1243,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"noMegolmBootstrap": "FluffyChat目前不支援啟用線上金鑰備份。請在Riot中啟用。",
"@noMegolmBootstrap": {
"type": "text",
"placeholders": {}
},
"none": "無", "none": "無",
"@none": { "@none": {
"type": "text", "type": "text",
@ -1031,11 +1263,21 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"noPublicRoomsFound": "找不到公開的聊天室…",
"@noPublicRoomsFound": {
"type": "text",
"placeholders": {}
},
"noRoomsFound": "找不到聊天室…", "noRoomsFound": "找不到聊天室…",
"@noRoomsFound": { "@noRoomsFound": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"noStatusesFound": "目前還沒有發現任何狀態。",
"@noStatusesFound": {
"type": "text",
"placeholders": {}
},
"notifications": "通知", "notifications": "通知",
"@notifications": { "@notifications": {
"type": "text", "type": "text",
@ -1046,6 +1288,18 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"notSupportedInWeb": "在網頁版不支援",
"@notSupportedInWeb": {
"type": "text",
"placeholders": {}
},
"numberSelected": "{number}已選擇",
"@numberSelected": {
"type": "text",
"placeholders": {
"number": {}
}
},
"numUsersTyping": "{count}個人正在輸入…", "numUsersTyping": "{count}個人正在輸入…",
"@numUsersTyping": { "@numUsersTyping": {
"type": "text", "type": "text",
@ -1073,6 +1327,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"onlineKeyBackupDisabled": "線上金鑰備份被停用",
"@onlineKeyBackupDisabled": {
"type": "text",
"placeholders": {}
},
"onlineKeyBackupEnabled": "線上金鑰備份已啟用", "onlineKeyBackupEnabled": "線上金鑰備份已啟用",
"@onlineKeyBackupEnabled": { "@onlineKeyBackupEnabled": {
"type": "text", "type": "text",
@ -1103,6 +1362,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"participatingUserDevices": "參與者裝置",
"@participatingUserDevices": {
"type": "text",
"placeholders": {}
},
"passphraseOrKey": "密碼短語或恢復金鑰", "passphraseOrKey": "密碼短語或恢復金鑰",
"@passphraseOrKey": { "@passphraseOrKey": {
"type": "text", "type": "text",
@ -1170,6 +1434,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"pleaseEnterSecurityKey": "請輸入您的安全金鑰 ",
"@pleaseEnterSecurityKey": {
"type": "text",
"placeholders": {}
},
"pleaseEnterYourPassword": "請輸入您的密碼", "pleaseEnterYourPassword": "請輸入您的密碼",
"@pleaseEnterYourPassword": { "@pleaseEnterYourPassword": {
"type": "text", "type": "text",
@ -1190,6 +1459,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"publicKey": "公鑰",
"@publicKey": {
"type": "text",
"placeholders": {}
},
"publicRooms": "公開的聊天室", "publicRooms": "公開的聊天室",
"@publicRooms": { "@publicRooms": {
"type": "text", "type": "text",
@ -1266,6 +1540,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"removeMessage": "移除訊息",
"@removeMessage": {
"type": "text",
"placeholders": {}
},
"renderRichContent": "繪製圖文訊息內容", "renderRichContent": "繪製圖文訊息內容",
"@renderRichContent": { "@renderRichContent": {
"type": "text", "type": "text",
@ -1291,21 +1570,51 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"requestToReadOlderMessages": "請求讀取過去的訊息",
"@requestToReadOlderMessages": {
"type": "text",
"placeholders": {}
},
"revokeAllPermissions": "撤銷所有權限",
"@revokeAllPermissions": {
"type": "text",
"placeholders": {}
},
"roomHasBeenUpgraded": "聊天室已更新", "roomHasBeenUpgraded": "聊天室已更新",
"@roomHasBeenUpgraded": { "@roomHasBeenUpgraded": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"saturday": "星期六",
"@saturday": {
"type": "text",
"placeholders": {}
},
"search": "搜尋", "search": "搜尋",
"@search": { "@search": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"searchForAChat": "搜尋聊天室",
"@searchForAChat": {
"type": "text",
"placeholders": {}
},
"security": "安全", "security": "安全",
"@security": { "@security": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"securityKey": "安全金鑰",
"@securityKey": {
"type": "text",
"placeholders": {}
},
"securityKeyLost": "遺失安全金鑰?",
"@securityKeyLost": {
"type": "text",
"placeholders": {}
},
"seenByUser": "{username}已讀", "seenByUser": "{username}已讀",
"@seenByUser": { "@seenByUser": {
"type": "text", "type": "text",
@ -1344,6 +1653,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"sendBugReports": "允許向sentry.io回報錯誤",
"@sendBugReports": {
"type": "text",
"placeholders": {}
},
"sendFile": "傳送文件", "sendFile": "傳送文件",
"@sendFile": { "@sendFile": {
"type": "text", "type": "text",
@ -1411,6 +1725,21 @@
"senderName": {} "senderName": {}
} }
}, },
"sentryInfo": "關於您的隱私https://sentry.io/security/",
"@sentryInfo": {
"type": "text",
"placeholders": {}
},
"sessionVerified": "工作階段已被驗證",
"@sessionVerified": {
"type": "text",
"placeholders": {}
},
"setAProfilePicture": "設定個人檔案頭貼",
"@setAProfilePicture": {
"type": "text",
"placeholders": {}
},
"setCustomEmotes": "自訂表情符號", "setCustomEmotes": "自訂表情符號",
"@setCustomEmotes": { "@setCustomEmotes": {
"type": "text", "type": "text",
@ -1468,6 +1797,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"soundVibrationLedColor": "聲音、振動及LED",
"@soundVibrationLedColor": {
"type": "text",
"placeholders": {}
},
"sourceCode": "原始碼", "sourceCode": "原始碼",
"@sourceCode": { "@sourceCode": {
"type": "text", "type": "text",
@ -1480,6 +1814,11 @@
"senderName": {} "senderName": {}
} }
}, },
"startYourFirstChat": "請開始您的聊天之旅☆(ゝω●)\n- 點擊「新聊天室」\n- 掃描朋友的二維碼\n- 一起開心的聊天吧",
"@startYourFirstChat": {
"type": "text",
"placeholders": {}
},
"status": "狀態", "status": "狀態",
"@status": { "@status": {
"type": "text", "type": "text",
@ -1495,11 +1834,26 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"sunday": "星期日",
"@sunday": {
"type": "text",
"placeholders": {}
},
"systemTheme": "自動", "systemTheme": "自動",
"@systemTheme": { "@systemTheme": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"tapOnDeviceToVerify": "在一個裝置上點擊以進行驗證",
"@tapOnDeviceToVerify": {
"type": "text",
"placeholders": {}
},
"tapToShowMenu": "點擊以顯示功能表",
"@tapToShowMenu": {
"type": "text",
"placeholders": {}
},
"theyDontMatch": "它們不相符", "theyDontMatch": "它們不相符",
"@theyDontMatch": { "@theyDontMatch": {
"type": "text", "type": "text",
@ -1510,6 +1864,26 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"thisRoomHasBeenArchived": "這個聊天室已被封存。",
"@thisRoomHasBeenArchived": {
"type": "text",
"placeholders": {}
},
"thursday": "星期四",
"@thursday": {
"type": "text",
"placeholders": {}
},
"timeOfDay": "{suffix} {hours12}點{minutes}分",
"@timeOfDay": {
"type": "text",
"placeholders": {
"hours12": {},
"hours24": {},
"minutes": {},
"suffix": {}
}
},
"title": "FluffyChat", "title": "FluffyChat",
"@title": { "@title": {
"description": "Title for the application", "description": "Title for the application",
@ -1546,6 +1920,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"tuesday": "星期二",
"@tuesday": {
"type": "text",
"placeholders": {}
},
"unavailable": "無法取得", "unavailable": "無法取得",
"@unavailable": { "@unavailable": {
"type": "text", "type": "text",
@ -1581,6 +1960,16 @@
"type": {} "type": {}
} }
}, },
"unknownSessionVerify": "未知的工作階段,請驗證",
"@unknownSessionVerify": {
"type": "text",
"placeholders": {}
},
"unlockChatBackup": "解鎖聊天記錄備份",
"@unlockChatBackup": {
"type": "text",
"placeholders": {}
},
"unmuteChat": "取消靜音聊天室", "unmuteChat": "取消靜音聊天室",
"@unmuteChat": { "@unmuteChat": {
"type": "text", "type": "text",
@ -1598,6 +1987,18 @@
"unreadCount": {} "unreadCount": {}
} }
}, },
"unreadMessages": "{unreadEvents, plural, =1{1 unread message} other{{unreadEvents} 個未讀訊息}}",
"@unreadMessages": {
"type": "text",
"placeholders": {
"unreadEvents": {}
}
},
"useAmoledTheme": "使用適合AMOLED螢幕的顏色",
"@useAmoledTheme": {
"type": "text",
"placeholders": {}
},
"userAndOthersAreTyping": "{username}和其他{count}個人正在輸入…", "userAndOthersAreTyping": "{username}和其他{count}個人正在輸入…",
"@userAndOthersAreTyping": { "@userAndOthersAreTyping": {
"type": "text", "type": "text",
@ -1633,6 +2034,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"userNotVerified": "使用者尚未驗證",
"@userNotVerified": {
"type": "text",
"placeholders": {}
},
"userSentUnknownEvent": "{username}傳送了一個{type}事件", "userSentUnknownEvent": "{username}傳送了一個{type}事件",
"@userSentUnknownEvent": { "@userSentUnknownEvent": {
"type": "text", "type": "text",
@ -1641,16 +2047,36 @@
"type": {} "type": {}
} }
}, },
"userUnknownVerification": "未知的使用者驗證狀態",
"@userUnknownVerification": {
"type": "text",
"placeholders": {}
},
"userVerified": "使用者已驗證",
"@userVerified": {
"type": "text",
"placeholders": {}
},
"verified": "已驗證", "verified": "已驗證",
"@verified": { "@verified": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"verifiedSession": "工作階段成功驗證!",
"@verifiedSession": {
"type": "text",
"placeholders": {}
},
"verify": "驗證", "verify": "驗證",
"@verify": { "@verify": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"verifyManual": "手動驗證",
"@verifyManual": {
"type": "text",
"placeholders": {}
},
"verifyStart": "開始驗證", "verifyStart": "開始驗證",
"@verifyStart": { "@verifyStart": {
"type": "text", "type": "text",
@ -1666,6 +2092,11 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"verifyUser": "驗證使用者",
"@verifyUser": {
"type": "text",
"placeholders": {}
},
"videoCall": "視訊通話", "videoCall": "視訊通話",
"@videoCall": { "@videoCall": {
"type": "text", "type": "text",
@ -1716,6 +2147,21 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"warningEncryptionInBeta": "點對點加密目前處於Beta測試中使用的話後果自負呦",
"@warningEncryptionInBeta": {
"type": "text",
"placeholders": {}
},
"wednesday": "星期三",
"@wednesday": {
"type": "text",
"placeholders": {}
},
"welcomeText": "歡迎使用Matrix中最可愛的即時通訊軟體(*´▽`*)。",
"@welcomeText": {
"type": "text",
"placeholders": {}
},
"weSentYouAnEmail": "我們向您傳送了一封電子郵件", "weSentYouAnEmail": "我們向您傳送了一封電子郵件",
"@weSentYouAnEmail": { "@weSentYouAnEmail": {
"type": "text", "type": "text",
@ -1781,11 +2227,38 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"yourOwnUsername": "您的使用者名稱",
"@yourOwnUsername": {
"type": "text",
"placeholders": {}
},
"yourPublicKey": "您的公鑰", "yourPublicKey": "您的公鑰",
"@yourPublicKey": { "@yourPublicKey": {
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"youWillBeConnectedTo": "您將會連接到{homeserver}",
"@youWillBeConnectedTo": {
"type": "text",
"placeholders": {
"homeserver": {}
}
},
"zoomIn": "放大",
"@zoomIn": {
"type": "text",
"placeholders": {}
},
"zoomOut": "縮小",
"@zoomOut": {
"type": "text",
"placeholders": {}
},
"publicGroups": "公開的群組",
"@publicGroups": {
"type": "text",
"placeholders": {}
},
"people": "人", "people": "人",
"@people": { "@people": {
"type": "text", "type": "text",
@ -1881,6 +2354,8 @@
"min": {} "min": {}
} }
}, },
"setupChatBackupDescription": "為了保護您的消息,我們為您生成了一個安全金鑰。\n請將其儲存在安全的地方例如密碼管理器中。",
"@setupChatBackupDescription": {},
"goToTheNewRoom": "前往新聊天室", "goToTheNewRoom": "前往新聊天室",
"@goToTheNewRoom": { "@goToTheNewRoom": {
"type": "text", "type": "text",
@ -1912,8 +2387,19 @@
"type": "text", "type": "text",
"placeholders": {} "placeholders": {}
}, },
"yourUserId": "您的ID",
"@yourUserId": {},
"setupChatBackup": "設定聊天記錄備份",
"@setupChatBackup": {},
"iWroteDownTheKey": "我已經記下了金鑰",
"@iWroteDownTheKey": {},
"chatHasBeenAddedToThisSpace": "聊天室已添加到此空間", "chatHasBeenAddedToThisSpace": "聊天室已添加到此空間",
"@chatHasBeenAddedToThisSpace": {}, "@chatHasBeenAddedToThisSpace": {},
"chatHasBeenRemovedFromThisSpace": "聊天室已從此空間移除",
"@chatHasBeenRemovedFromThisSpace": {
"type": "text",
"placeholders": {}
},
"clearArchive": "清除存檔", "clearArchive": "清除存檔",
"@clearArchive": {} "@clearArchive": {}
} }

BIN
assets/login_wallpaper.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 38 KiB

View File

@ -1,80 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="64"
height="30"
viewBox="0 0 64 30"
version="1.1"
id="svg8"
sodipodi:docname="typing.svg"
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14, custom)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs12" />
<sodipodi:namedview
id="namedview10"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:showpageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#505050"
showgrid="false"
inkscape:zoom="9.9296875"
inkscape:cx="24.018883"
inkscape:cy="15.307632"
inkscape:window-width="1920"
inkscape:window-height="1012"
inkscape:window-x="1920"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg8" />
<circle
style="fill-opacity:1;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;paint-order:normal"
cx="10"
cy="15"
r="9"
id="circle2">
<animate
attributeName="fill"
dur="2s"
values="#000000; #efefef; #000000"
calcMode="spline"
keyTimes="0; 0.5; 1"
keySplines="0 .75 .25 1; .5 0 .5 1"
begin="0s" />
</circle>
<circle
style="fill-opacity:1;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;paint-order:normal"
cx="32"
cy="15"
r="9"
id="circle4">
<animate
attributeName="fill"
dur="2s"
values="#000000; #efefef; #000000"
calcMode="spline"
keyTimes="0; 0.5; 1"
keySplines="0 .75 .25 1; .5 0 .5 1"
begin="0.25s" />
</circle>
<circle
style="fill-opacity:1;stroke:#ffffff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;paint-order:normal"
cx="54"
cy="15"
r="9"
id="circle6">
<animate
attributeName="fill"
dur="2s"
values="#000000; #efefef; #000000"
calcMode="spline"
keyTimes="0; 0.5; 1"
keySplines="0 .75 .25 1; .5 0 .5 1"
begin="0.5s" />
</circle>
</svg>

Before

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -2,6 +2,7 @@
"application_name": "FluffyChat", "application_name": "FluffyChat",
"application_welcome_message": null, "application_welcome_message": null,
"default_homeserver": "matrix.org", "default_homeserver": "matrix.org",
"jitsi_instance": "https://meet.jit.si/",
"web_base_url": "https://fluffychat.im/web", "web_base_url": "https://fluffychat.im/web",
"privacy_url": "https://fluffychat.im/en/privacy.html", "privacy_url": "https://fluffychat.im/en/privacy.html",
"render_html": false, "render_html": false,

View File

@ -122,7 +122,7 @@ To run code after the widget was created first we use the WidgetBindings in the
```dart ```dart
@override @override
void initState() { void initState() {
WidgetsBinding.instance!.addPostFrameCallback((_) { WidgetsBinding.instance.addPostFrameCallback((_) {
// Do something when build is finished // Do something when build is finished
}); });
super.initState(); super.initState();

View File

@ -1,15 +1,16 @@
# F-Droid Repository # F-Droid Repository
Our own F-Droid repository contains the Google Services which is not possible in the main F-Droid repository. Release candidates Our own F-Droid repository contains the Google Services which is not possible in the main F-Droid repository.
are also published on it.
## Add Repository to F-Droid ## Add Repository to F-Droid
Easiest way to add the Repository is to either **scan the QR-Code** or if you are on your phone **directly click it**. Easiest way to add the Repository is to either scan the QR-Code or if you are on your phone directly click it.
<a href="fdroidrepos://fluffychat.im/repo/stable/repo/?fingerprint=5EDB5C4395B2F2D9BA682F6A1D275170CCE5365A6FA27D2220EA8D52A6D95F07" > {::nomarkdown}
<img src="qr-stable.svg" width="300" height="300"/> <a href="fdroidrepos://fdroid.fluffychat.im/?fingerprint=8E2637AEF6697CC6DD486AF044A6EE45B1A742AE3EF56566E748CDE8BC65C1FB" >
<img src="qr-code.svg" width="300" height="300"/>
</a> </a>
{:/}
### If the QR-Code doesn't work: ### If the QR-Code doesn't work:
@ -22,21 +23,23 @@ If this still isn't working follow the next steps:
2. Go to the `Settings` Tab in the Bottom bar 2. Go to the `Settings` Tab in the Bottom bar
3. Click the `Repositories` Action 3. Click the `Repositories` Action
4. Click on the plus sign at the top. 4. Click on the plus sign at the top.
5. Fill in `https://fluffychat.im/repo/stable/repo/` into the top field and `5EDB5C4395B2F2D9BA682F6A1D275170CCE5365A6FA27D2220EA8D52A6D95F07` in the bottom field. 5. Fill in `https://fdroid.fluffychat.im` into the top field and `8E2637AEF6697CC6DD486AF044A6EE45B1A742AE3EF56566E748CDE8BC65C1FB` in the bottom field.
## What is the fingerprint? ## What is the fingerprint?
The fingerprint of the Repository is: `5EDB5C4395B2F2D9BA682F6A1D275170CCE5365A6FA27D2220EA8D52A6D95F07` The fingerprint of the Repository is: `8E2637AEF6697CC6DD486AF044A6EE45B1A742AE3EF56566E748CDE8BC65C1FB`
# Nightly Repository # Nightly Repository
## Add Repository to F-Droid ## Add Repository to F-Droid
Easiest way to add the Repository is to either **scan the QR-Code** or if you are on your phone **directly click** it. Easiest way to add the Repository is to either scan the QR-Code or if you are on your phone directly click it.
<a href="fdroidrepos://fluffychat.im/repo/nightly/repo/?fingerprint=21A469657300576478B623DF99D8EB889A80BCD939ACA60A4074741BEAEC397D" > {::nomarkdown}
<img src="qr-nightly.svg" width="300" height="300"/> <a href="fdroidrepos://nightly.fdroid.fluffychat.im/?fingerprint=21A469657300576478B623DF99D8EB889A80BCD939ACA60A4074741BEAEC397D" >
<img src="qr-code-nightly.svg" width="300" height="300"/>
</a> </a>
{:/}
### If the QR-Code doesn't work: ### If the QR-Code doesn't work:
@ -49,7 +52,7 @@ If this still isn't working follow the next steps:
2. Go to the `Settings` Tab in the Bottom bar 2. Go to the `Settings` Tab in the Bottom bar
3. Click the `Repositories` Action 3. Click the `Repositories` Action
4. Click on the plus sign at the top. 4. Click on the plus sign at the top.
5. Fill in `https://fluffychat.im/repo/nightly/repo/` into the top field and `21A469657300576478B623DF99D8EB889A80BCD939ACA60A4074741BEAEC397D` in the bottom field. 5. Fill in `https://nightly.fdroid.fluffychat.im` into the top field and `21A469657300576478B623DF99D8EB889A80BCD939ACA60A4074741BEAEC397D` in the bottom field.
## What is the fingerprint? ## What is the fingerprint?

View File

@ -1,63 +1,481 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<html>
<head> <head>
<meta charset="utf-8"> <meta charset="UTF-8">
<title>FluffyChat Official Website</title> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="identifier-url" content="https://fluffychat.im" /> <meta http-equiv="X-UA-Compatible" content="ie=edge">
<meta name="title" content="FluffyChat Official Website" /> <title>FluffyChat - Official Website</title>
<meta name="description" content="The cutest messenger in the Matrix network" /> <meta name="description" content="A cute and secure chatclient for the matrix protocol">
<meta name="abstract" content="FluffyChat is the cutest messenger in the Matrix network" /> <meta name="keywords"
<meta name="keywords" content="FluffyChat, Matrix, Flutter, App" /> content="Fluffychat, Matrix, Web, Android, iOS, Desktop, Chat, Client, Chatclient, Matrix.org, Secure, E2EE, End to End, Encryption, End to End Encryption, F-Droid, Foss, FOSS, OpenSource, Free, Community, Open">
<meta name="author" content="Krille Fear" /> <script type="application/ld+json">
<meta name="revisit-after" content="15" /> {
<meta name="language" content="EN" /> "@context": "https://schema.org",
<meta name="robots" content="All" /> "@type": "MobileApplication",
<meta name="viewport" content="width=device-width, initial-scale=1"> "name": "Fluffychat",
<link rel="icon" type="image/x-icon" href="favicon.png"> "applicationCategory": "CommunicationApplication",
<link href="tailwind.css" rel="stylesheet"> "countriesNotSupported": "fr",
"operatingSystem": "ANDROID",
"releaseNotes": "https://gitlab.com/famedly/fluffychat/-/blob/main/CHANGELOG.md",
"screenshot": "https://gitlab.com/famedly/fluffychat/-/raw/main/docs/screenshots/mobile.png",
"softwareHelp": "https://gitlab.com/famedly/fluffychat/-/wikis/FAQ",
"author": {
"@type": "Person",
"callSign": "KrilleFear"
},
"license": "https://gitlab.com/famedly/fluffychat/-/blob/main/LICENSE",
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "USD"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.5",
"ratingCount": "133"
},
"installUrl": "https://play.google.com/store/apps/details?id=chat.fluffy.fluffychat"
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "MobileApplication",
"name": "Fluffychat",
"applicationCategory": "CommunicationApplication",
"countriesNotSupported": "fr",
"operatingSystem": "ANDROID",
"releaseNotes": "https://gitlab.com/famedly/fluffychat/-/blob/main/CHANGELOG.md",
"screenshot": "https://gitlab.com/famedly/fluffychat/-/raw/main/docs/screenshots/mobile.png",
"softwareHelp": "https://gitlab.com/famedly/fluffychat/-/wikis/FAQ",
"author": {
"@type": "Person",
"callSign": "KrilleFear"
},
"license": "https://gitlab.com/famedly/fluffychat/-/blob/main/LICENSE",
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "USD"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.5",
"ratingCount": "133"
},
"installUrl": "https://f-droid.org/de/packages/chat.fluffy.fluffychat/"
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "MobileApplication",
"name": "Fluffychat",
"applicationCategory": "CommunicationApplication",
"countriesNotSupported": "fr",
"operatingSystem": "IOS",
"releaseNotes": "https://gitlab.com/famedly/fluffychat/-/blob/main/CHANGELOG.md",
"screenshot": "https://gitlab.com/famedly/fluffychat/-/raw/main/docs/screenshots/mobile.png",
"softwareHelp": "https://gitlab.com/famedly/fluffychat/-/wikis/FAQ",
"author": {
"@type": "Person",
"callSign": "KrilleFear"
},
"license": "https://gitlab.com/famedly/fluffychat/-/blob/main/LICENSE",
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "USD"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.4",
"ratingCount": "28"
},
"installUrl": "https://apps.apple.com/app/fluffychat/id1551469600"
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebApplication",
"name": "Fluffychat",
"applicationCategory": "CommunicationApplication",
"countriesNotSupported": "fr",
"operatingSystem": "WEB",
"releaseNotes": "https://gitlab.com/famedly/fluffychat/-/blob/main/CHANGELOG.md",
"screenshot": "https://gitlab.com/famedly/fluffychat/-/raw/main/docs/screenshots/mobile.png",
"softwareHelp": "https://gitlab.com/famedly/fluffychat/-/wikis/FAQ",
"author": {
"@type": "Person",
"callSign": "KrilleFear"
},
"license": "https://gitlab.com/famedly/fluffychat/-/blob/main/LICENSE",
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "USD"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.5",
"ratingCount": "133"
},
"url": "https://fluffychat.im/web",
"downloadUrl": "https://fluffychat.im/web",
"installUrl": "https://fluffychat.im/web"
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "Fluffychat",
"applicationCategory": "CommunicationApplication",
"countriesNotSupported": "fr",
"operatingSystem": "LINUX",
"releaseNotes": "https://gitlab.com/famedly/fluffychat/-/blob/main/CHANGELOG.md",
"screenshot": "https://gitlab.com/famedly/fluffychat/-/raw/main/docs/screenshots/mobile.png",
"softwareHelp": "https://gitlab.com/famedly/fluffychat/-/wikis/FAQ",
"author": {
"@type": "Person",
"callSign": "KrilleFear"
},
"license": "https://gitlab.com/famedly/fluffychat/-/blob/main/LICENSE",
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "USD"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.5",
"ratingCount": "133"
},
"downloadUrl": "https://snapcraft.io/fluffychat",
"installUrl": "https://snapcraft.io/fluffychat"
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "Fluffychat",
"applicationCategory": "CommunicationApplication",
"countriesNotSupported": "fr",
"operatingSystem": "LINUX",
"releaseNotes": "https://gitlab.com/famedly/fluffychat/-/blob/main/CHANGELOG.md",
"screenshot": "https://gitlab.com/famedly/fluffychat/-/raw/main/docs/screenshots/mobile.png",
"softwareHelp": "https://gitlab.com/famedly/fluffychat/-/wikis/FAQ",
"author": {
"@type": "Person",
"callSign": "KrilleFear"
},
"license": "https://gitlab.com/famedly/fluffychat/-/blob/main/LICENSE",
"offers": {
"@type": "Offer",
"price": "0",
"priceCurrency": "USD"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.5",
"ratingCount": "133"
},
"downloadUrl": "https://flathub.org/apps/details/im.fluffychat.Fluffychat",
"installUrl": "https://flathub.org/apps/details/im.fluffychat.Fluffychat"
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"name": "FluffyChat - Official Website",
"url": "https://fluffychat.im",
"description": "A cute and secure chatclient for the matrix protocol",
"thumbnailUrl": "https://fluffychat.im/favicon.png",
"inLanguage": "de-de"
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"description": "Breadcrumbs list",
"name": "Breadcrumbs",
"itemListElement": [
{
"@type": "ListItem",
"item": {
"@id": "https://fluffychat.im",
"name": "Homepage"
},
"position": 1
}
]
}
</script>
<link rel="icon" type="image/png" href="favicon.png">
<link rel="stylesheet" href="tailwind.css">
<!-- Animation CSS-->
<style> <style>
@font-face { @font-face {
font-family: Zen Kurenaido; font-family: Zen Kurenaido;
src: url(ZenKurenaido-Regular.ttf); src: url(ZenKurenaido-Regular.ttf);
} }
/* ----------------------------------------------
* Generated by Animista
* w: http://animista.net, t: @cssanimista
* ---------------------------------------------- */
.slide-in-bottom {
-webkit-animation: slide-in-bottom .5s cubic-bezier(.25, .46, .45, .94) both;
animation: slide-in-bottom .5s cubic-bezier(.25, .46, .45, .94) both
}
.slide-in-bottom-h1 {
-webkit-animation: slide-in-bottom .5s cubic-bezier(.25, .46, .45, .94) .5s both;
animation: slide-in-bottom .5s cubic-bezier(.25, .46, .45, .94) .5s both
}
.slide-in-bottom-subtitle {
-webkit-animation: slide-in-bottom .5s cubic-bezier(.25, .46, .45, .94) .75s both;
animation: slide-in-bottom .5s cubic-bezier(.25, .46, .45, .94) .75s both
}
.fade-in {
-webkit-animation: fade-in 1.2s cubic-bezier(.39, .575, .565, 1.000) 1s both;
animation: fade-in 1.2s cubic-bezier(.39, .575, .565, 1.000) 1s both
}
.bounce-top-icons {
-webkit-animation: bounce-top .9s 1s both;
animation: bounce-top .9s 1s both
}
@-webkit-keyframes slide-in-bottom {
0% {
-webkit-transform: translateY(1000px);
transform: translateY(1000px);
opacity: 0
}
100% {
-webkit-transform: translateY(0);
transform: translateY(0);
opacity: 1
}
}
@keyframes slide-in-bottom {
0% {
-webkit-transform: translateY(1000px);
transform: translateY(1000px);
opacity: 0
}
100% {
-webkit-transform: translateY(0);
transform: translateY(0);
opacity: 1
}
}
@-webkit-keyframes bounce-top {
0% {
-webkit-transform: translateY(-45px);
transform: translateY(-45px);
-webkit-animation-timing-function: ease-in;
animation-timing-function: ease-in;
opacity: 1
}
24% {
opacity: 1
}
40% {
-webkit-transform: translateY(-24px);
transform: translateY(-24px);
-webkit-animation-timing-function: ease-in;
animation-timing-function: ease-in
}
65% {
-webkit-transform: translateY(-12px);
transform: translateY(-12px);
-webkit-animation-timing-function: ease-in;
animation-timing-function: ease-in
}
82% {
-webkit-transform: translateY(-6px);
transform: translateY(-6px);
-webkit-animation-timing-function: ease-in;
animation-timing-function: ease-in
}
93% {
-webkit-transform: translateY(-4px);
transform: translateY(-4px);
-webkit-animation-timing-function: ease-in;
animation-timing-function: ease-in
}
25%,
55%,
75%,
87% {
-webkit-transform: translateY(0);
transform: translateY(0);
-webkit-animation-timing-function: ease-out;
animation-timing-function: ease-out
}
100% {
-webkit-transform: translateY(0);
transform: translateY(0);
-webkit-animation-timing-function: ease-out;
animation-timing-function: ease-out;
opacity: 1
}
}
@keyframes bounce-top {
0% {
-webkit-transform: translateY(-45px);
transform: translateY(-45px);
-webkit-animation-timing-function: ease-in;
animation-timing-function: ease-in;
opacity: 1
}
24% {
opacity: 1
}
40% {
-webkit-transform: translateY(-24px);
transform: translateY(-24px);
-webkit-animation-timing-function: ease-in;
animation-timing-function: ease-in
}
65% {
-webkit-transform: translateY(-12px);
transform: translateY(-12px);
-webkit-animation-timing-function: ease-in;
animation-timing-function: ease-in
}
82% {
-webkit-transform: translateY(-6px);
transform: translateY(-6px);
-webkit-animation-timing-function: ease-in;
animation-timing-function: ease-in
}
93% {
-webkit-transform: translateY(-4px);
transform: translateY(-4px);
-webkit-animation-timing-function: ease-in;
animation-timing-function: ease-in
}
25%,
55%,
75%,
87% {
-webkit-transform: translateY(0);
transform: translateY(0);
-webkit-animation-timing-function: ease-out;
animation-timing-function: ease-out
}
100% {
-webkit-transform: translateY(0);
transform: translateY(0);
-webkit-animation-timing-function: ease-out;
animation-timing-function: ease-out;
opacity: 1
}
}
@-webkit-keyframes fade-in {
0% {
opacity: 0
}
100% {
opacity: 1
}
}
@keyframes fade-in {
0% {
opacity: 0
}
100% {
opacity: 1
}
}
</style> </style>
</head> </head>
<body
class="flex flex-col items-center justify-center min-h-screen w-screen bg-gradient-to-t from-purple-200 to-blue-50 dark:from-gray-800 dark:to-slate-900 p-4"
style="font-family: 'Zen Kurenaido', sans-serif;">
<img src="favicon.png" class="h-10" />
<h1 class="flex text-4xl items-center mb-4">
<span style="color: #5625BA">Fluffy</span>
<span style="color: #41a2bc">Chat</span>
</h1>
<img src="screenshots/screenshots.png" class="sm:max-w-lg max-w-screen mb-8" />
<div class="max-w-lg mb-8 flex justify-center flex-wrap"> <body class="leading-normal tracking-normal text-gray-900" style="font-family: 'Zen Kurenaido', sans-serif;">
<a href="https://apps.apple.com/app/fluffychat/id1551469600"><img src="appstore-badge.png"
class="w-36 pr-2 mb-2 inline hover:scale-105 transition-transform"></a>
<a href="https://play.google.com/store/apps/details?id=chat.fluffy.fluffychat"><img src="google-play-badge.png"
class="w-36 pr-2 mb-2 hover:scale-105 transition-transform inline"> <div class="h-screen pb-14 bg-right bg-cover" style="background-image:url('bg.svg');">
</a><a href="https://f-droid.org/packages/chat.fluffy.fluffychat/"><img src="fdroid_button.png" <!--Nav-->
class="w-36 pr-2 mb-2 hover:scale-105 transition-transform inline"> <div class="w-full container mx-auto p-6">
<div class="w-full flex items-center justify-between">
<a class="flex items-center no-underline hover:no-underline font-bold text-2xl lg:text-4xl" href="#">
<img src="favicon.png" class="h-8 fill-current text-indigo-600 pr-2" /> <span
style="color: #5625BA">Fluffy</span><span style="color: #41a2bc">Chat</span>
</a> </a>
<a href="https://fluffychat.im/web">
<img src="browser-badge.png" class="w-36 pr-2 mb-2 hover:scale-105 transition-transform inline"></a>
<a href="https://snapcraft.io/fluffychat"><img
src="https://snapcraft.io/static/images/badges/en/snap-store-black.svg"
class="w-36 pr-2 mb-2 hover:scale-105 transition-transform inline"></a>
<a href="https://flathub.org/apps/details/im.fluffychat.Fluffychat"><img src="flathub-badge-en.png"
class="w-36 pr-2 mb-2 hover:scale-105 transition-transform inline"></a>
</div>
<div class="flex mb-8 justify-center content-center"> <div class="flex w-1/2 justify-end content-center">
<a rel="me" <a class="inline-block text-blue-300 no-underline hover:text-indigo-800 hover:text-underline text-center h-10 p-2 md:h-auto md: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" href="https://matrix.to/#/#fluffychat:matrix.org">
rel="me" href="https://mastodon.art/@krille"> <svg class="fill-current h-6" enable-background="new -91 49.217 56.693 56.693" id="Layer_1"
<svg class="fill-current h-6" viewBox="0 0 1000 1000" version="1.1" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="-91 49.217 56.693 56.693" xml:space="preserve"
xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<path
d="M-38.3289,79.8244c-0.7526-2.2362-3.1756-3.4388-5.4117-2.6861l-4.5351,1.5264l-3.0737-9.1321l4.4169-1.4866 c2.2362-0.7526,3.4388-3.1756,2.6861-5.4117c-0.7526-2.2362-3.1756-3.4388-5.4117-2.6861l-4.4168,1.4866l-1.4877-4.4201 c-0.7527-2.2362-3.1756-3.4388-5.4117-2.6861v0c-2.2362,0.7526-3.4388,3.1756-2.6861,5.4117l1.4877,4.4201l-9.3246,3.1385 l-1.4697-4.3666c-0.7527-2.2362-3.1756-3.4388-5.4117-2.6861c-2.2362,0.7527-3.4388,3.1756-2.6861,5.4117l1.4697,4.3666 l-4.445,1.4961c-2.2362,0.7527-3.4388,3.1756-2.6861,5.4117v0c0.7526,2.2362,3.1756,3.4388,5.4117,2.6861l4.445-1.4961 l3.0737,9.1321l-4.3268,1.4563c-2.2362,0.7527-3.4388,3.1756-2.6861,5.4117c0.7526,2.2362,3.1756,3.4388,5.4117,2.6861 l4.3268-1.4563l1.5778,4.6877c0.7527,2.2362,3.1756,3.4388,5.4117,2.6861c2.2362-0.7527,3.4388-3.1756,2.6861-5.4117l-1.5778-4.6877 l9.3246-3.1385l1.5598,4.6342c0.7527,2.2362,3.1756,3.4388,5.4117,2.6861c2.2362-0.7527,3.4388-3.1756,2.6861-5.4117l-1.5598-4.6342 l4.5351-1.5264C-38.7789,84.4835-37.5762,82.0606-38.3289,79.8244z M-65.6982,84.5288l-3.0737-9.1321l9.3246-3.1385l3.0737,9.1321 L-65.6982,84.5288z" />
</svg>
</a>
<a class="inline-block text-blue-300 no-underline hover:text-indigo-800 hover:text-underline text-center h-10 p-2 md:h-auto md:p-4"
href="https://twitter.com/KrilleFear">
<svg class="fill-current h-6" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">
<path
d="M30.063 7.313c-.813 1.125-1.75 2.125-2.875 2.938v.75c0 1.563-.188 3.125-.688 4.625a15.088 15.088 0 0 1-2.063 4.438c-.875 1.438-2 2.688-3.25 3.813a15.015 15.015 0 0 1-4.625 2.563c-1.813.688-3.75 1-5.75 1-3.25 0-6.188-.875-8.875-2.625.438.063.875.125 1.375.125 2.688 0 5.063-.875 7.188-2.5-1.25 0-2.375-.375-3.375-1.125s-1.688-1.688-2.063-2.875c.438.063.813.125 1.125.125.5 0 1-.063 1.5-.25-1.313-.25-2.438-.938-3.313-1.938a5.673 5.673 0 0 1-1.313-3.688v-.063c.813.438 1.688.688 2.625.688a5.228 5.228 0 0 1-1.875-2c-.5-.875-.688-1.813-.688-2.75 0-1.063.25-2.063.75-2.938 1.438 1.75 3.188 3.188 5.25 4.25s4.313 1.688 6.688 1.813a5.579 5.579 0 0 1 1.5-5.438c1.125-1.125 2.5-1.688 4.125-1.688s3.063.625 4.188 1.813a11.48 11.48 0 0 0 3.688-1.375c-.438 1.375-1.313 2.438-2.563 3.188 1.125-.125 2.188-.438 3.313-.875z">
</path>
</svg>
</a>
<a class="inline-block text-blue-300 no-underline hover:text-indigo-800 hover:text-underline text-center h-10 p-2 md:h-auto md:p-4"
href="https://reddit.com/r/fluffychat">
<svg class="fill-current h-6" height="100%"
style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"
version="1.1" viewBox="0 0 512 512" width="100%" xml:space="preserve"
xmlns="http://www.w3.org/2000/svg" xmlns:serif="http://www.serif.com/"
xmlns:xlink="http://www.w3.org/1999/xlink">
<path
d="M256,0c141.29,0 256,114.71 256,256c0,141.29 -114.71,256 -256,256c-141.29,0 -256,-114.71 -256,-256c0,-141.29 114.71,-256 256,-256Zm170.667,256c0,-20.66 -16.768,-37.427 -37.427,-37.427c-10.18,0 -19.163,3.892 -25.75,10.48c-25.45,-18.265 -60.781,-30.241 -99.705,-31.738l17.066,-79.944l55.392,11.677c0.599,14.072 12.276,25.45 26.648,25.45c14.672,0 26.648,-11.976 26.648,-26.648c0,-14.671 -11.976,-26.648 -26.648,-26.648c-10.479,0 -19.462,5.989 -23.654,14.971l-61.979,-13.174c-1.796,-0.3 -3.593,0 -5.09,0.898c-1.497,0.898 -2.395,2.395 -2.994,4.192l-18.863,89.226c-39.822,1.197 -75.453,12.874 -101.202,31.738c-6.587,-6.288 -15.869,-10.48 -25.75,-10.48c-20.66,0 -37.427,16.767 -37.427,37.427c0,15.27 8.983,28.145 22.157,34.133c-0.599,3.593 -0.898,7.486 -0.898,11.378c0,57.488 66.769,103.897 149.408,103.897c82.638,0 149.408,-46.409 149.408,-103.897c0,-3.892 -0.299,-7.485 -0.898,-11.078c12.276,-5.989 21.558,-19.163 21.558,-34.433Zm-107.191,97.011c-18.264,18.264 -52.996,19.462 -63.177,19.462c-10.18,0 -45.211,-1.498 -63.176,-19.462c-2.695,-2.695 -2.695,-7.186 0,-9.881c2.695,-2.695 7.186,-2.695 9.881,0c11.377,11.378 35.929,15.569 53.595,15.569c17.665,0 41.918,-4.191 53.595,-15.569c2.695,-2.695 7.186,-2.695 9.881,0c2.096,2.994 2.096,7.186 -0.599,9.881Zm-148.809,-70.363c0,-14.671 11.976,-26.648 26.648,-26.648c14.671,0 26.648,11.977 26.648,26.648c0,14.671 -11.977,26.648 -26.648,26.648c-14.672,0 -26.648,-11.977 -26.648,-26.648Zm144.018,26.648c-14.671,0 -26.648,-11.977 -26.648,-26.648c0,-14.671 11.977,-26.648 26.648,-26.648c14.672,0 26.648,11.977 26.648,26.648c0,14.671 -11.976,26.648 -26.648,26.648Z"
id="Artwork" />
</svg>
</a>
<a class="inline-block text-blue-300 no-underline hover:text-indigo-800 hover:text-underline text-center h-10 p-2 md:h-auto md:p-4"
href="https://metalhead.club/@krille">
<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"
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;">
<clipPath id="_clip1"> <clipPath id="_clip1">
<rect x="33.6" y="-0.035" width="932.844" height="1000" /> <rect x="33.6" y="-0.035" width="932.844" height="1000" />
@ -72,48 +490,84 @@
</g> </g>
</svg> </svg>
</a> </a>
<a class="inline-block text-indigo-500 no-underline hover:text-indigo-900 hover:scale-105 transition-all text-center h-auto p-4" </div>
href="https://matrix.to/#/#fluffychat:matrix.org">
<svg class="fill-current h-6" enable-background="new -91 49.217 56.693 56.693" id="Layer_1" version="1.1" </div>
viewBox="-91 49.217 56.693 56.693" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"> </div>
<path
d="M-38.3289,79.8244c-0.7526-2.2362-3.1756-3.4388-5.4117-2.6861l-4.5351,1.5264l-3.0737-9.1321l4.4169-1.4866 c2.2362-0.7526,3.4388-3.1756,2.6861-5.4117c-0.7526-2.2362-3.1756-3.4388-5.4117-2.6861l-4.4168,1.4866l-1.4877-4.4201 c-0.7527-2.2362-3.1756-3.4388-5.4117-2.6861v0c-2.2362,0.7526-3.4388,3.1756-2.6861,5.4117l1.4877,4.4201l-9.3246,3.1385 l-1.4697-4.3666c-0.7527-2.2362-3.1756-3.4388-5.4117-2.6861c-2.2362,0.7527-3.4388,3.1756-2.6861,5.4117l1.4697,4.3666 l-4.445,1.4961c-2.2362,0.7527-3.4388,3.1756-2.6861,5.4117v0c0.7526,2.2362,3.1756,3.4388,5.4117,2.6861l4.445-1.4961 l3.0737,9.1321l-4.3268,1.4563c-2.2362,0.7527-3.4388,3.1756-2.6861,5.4117c0.7526,2.2362,3.1756,3.4388,5.4117,2.6861 l4.3268-1.4563l1.5778,4.6877c0.7527,2.2362,3.1756,3.4388,5.4117,2.6861c2.2362-0.7527,3.4388-3.1756,2.6861-5.4117l-1.5778-4.6877 l9.3246-3.1385l1.5598,4.6342c0.7527,2.2362,3.1756,3.4388,5.4117,2.6861c2.2362-0.7527,3.4388-3.1756,2.6861-5.4117l-1.5598-4.6342 l4.5351-1.5264C-38.7789,84.4835-37.5762,82.0606-38.3289,79.8244z M-65.6982,84.5288l-3.0737-9.1321l9.3246-3.1385l3.0737,9.1321 L-65.6982,84.5288z" /> <!--Main-->
</svg> <div class="container pt-24 md:pt-48 px-6 mx-auto flex flex-wrap flex-col md:flex-row items-center">
</a>
<a class="inline-block no-underline hover:scale-105 transition-all text-center h-auto p-4" <!--Left Col-->
href="https://ko-fi.com/krille"> <div class="flex flex-col w-full xl:w-2/5 justify-center lg:items-start overflow-y-hidden">
<img src="kofi_button_dark.png" class="h-6 fill-current" /> <h1
class="my-4 text-3xl md:text-5xl text-purple-800 font-bold leading-tight text-center md:text-left slide-in-bottom-h1">
Open. Nonprofit. Cute.</h1>
<p class="leading-normal text-base md:text-2xl mb-8 text-center md:text-left slide-in-bottom-subtitle">
Easy to use (<a class="underline hover:text-blue-700 transition-all"
href="https://matrix.org">matrix</a>) messenger. Secure and decentralized.</p>
<p class="text-blue-700 font-bold pb-4 text-center md:text-left fade-in">Mobile app:</p>
<div class="w-full flex justify-center md:justify-start pb-24 lg:pb-0 fade-in">
<a href="https://apps.apple.com/app/fluffychat/id1551469600"><img src="appstore-badge.png"
class="max-h-12 pr-2 mb-2 bounce-top-icons inline"></a>
<a href="https://play.google.com/store/apps/details?id=chat.fluffy.fluffychat"><img
src="google-play-badge.png" class="max-h-12 pr-2 mb-2 bounce-top-icons inline">
</a><a href="https://f-droid.org/de/packages/chat.fluffy.fluffychat/"><img src="fdroid_button.png"
class="max-h-12 pr-2 mb-2 bounce-top-icons inline">
</a> </a>
</div> </div>
<p class="text-blue-700 font-bold py-4 text-center md:text-left fade-in">Desktop app:</p>
<div class="w-full flex justify-center md:justify-start pb-24 lg:pb-0 fade-in">
<a href="https://fluffychat.im/web">
<img src="browser-badge.png" class="max-h-12 pr-2 mb-2 bounce-top-icons inline"></a>
<a href="https://snapcraft.io/fluffychat"><img
src="https://snapcraft.io/static/images/badges/en/snap-store-black.svg"
class="max-h-12 pr-2 mb-2 bounce-top-icons inline"></a>
<a href="https://flathub.org/apps/details/im.fluffychat.Fluffychat"><img src="flathub-badge-en.png"
class="max-h-12 pr-2 mb-2 bounce-top-icons inline"></a>
</div>
</div>
<!--Right Col-->
<div class="w-full xl:w-3/5 py-6 relative">
<img class="w-full mx-auto slide-in-bottom" src="screenshots/screenshots.png">
</div>
<!--Footer--> <!--Footer-->
<div class="w-full text-sm text-center max-w-lg"> <div class="w-full pt-16 pb-6 text-sm text-center md:text-left fade-in">
<a class="text-slate-700 dark:text-slate-200 no-underline hover:text-purple-800" <a class="text-gray-500 no-underline hover:text-purple-800"
href="https://gitlab.com/famedly/fluffychat">Source href="https://gitlab.com/famedly/fluffychat">Source code</a>
code</a>
- -
<a class="text-slate-700 dark:text-slate-200 no-underline hover:text-purple-800" <a class="text-gray-500 no-underline hover:text-purple-800"
href="https://gitlab.com/famedly/fluffychat/-/blob/main/PRIVACY.md">Privacy</a> href="https://gitlab.com/famedly/fluffychat/-/blob/main/PRIVACY.md">Privacy</a>
- -
<a class="text-slate-700 dark:text-slate-200 no-underline hover:text-purple-800" <a class="text-gray-500 no-underline hover:text-purple-800"
href="https://gitlab.com/famedly/fluffychat/-/blob/main/CHANGELOG.md">Changelog</a> href="https://gitlab.com/famedly/fluffychat/-/blob/main/CHANGELOG.md">Changelog</a>
- -
<a class="text-slate-700 dark:text-slate-200 no-underline hover:text-purple-800" <a class="text-gray-500 no-underline hover:text-purple-800"
href="https://hosted.weblate.org/projects/fluffychat/">Translations</a> href="https://hosted.weblate.org/projects/fluffychat/">Translations</a>
- -
<a class="text-slate-700 dark:text-slate-200 no-underline hover:text-purple-800" <a class="text-gray-500 no-underline hover:text-purple-800"
href="https://gitlab.com/famedly/fluffychat/-/blob/main/docs/fdroid_repo.md">FluffyChat F-Droid href="https://gitlab.com/famedly/fluffychat/-/blob/main/docs/fdroid_repo.md">FluffyChat Nightly</a>
repository</a>
- -
<a class="text-slate-700 dark:text-slate-200 no-underline hover:text-purple-800" <a class="text-gray-500 no-underline hover:text-purple-800"
href="https://liberapay.com/KrilleChritzelius/donate">Donate</a>
-
<a class="text-gray-500 no-underline hover:text-purple-800"
href="https://keys.mailvelope.com/pks/lookup?op=get&search=christian-pauly%40posteo.de">Contact</a> href="https://keys.mailvelope.com/pks/lookup?op=get&search=christian-pauly%40posteo.de">Contact</a>
- -
<a class="text-slate-700 dark:text-slate-200 no-underline hover:text-purple-800" <a class="text-gray-500 no-underline hover:text-purple-800" href="https://krillefear.gitlab.io">Created
href="https://krillefear.gitlab.io">Created
by Krille Fear</a> by Krille Fear</a>
</div> </div>
</div>
</div>
</body> </body>
</html> </html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

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