Merge pull request #1 from pangeachat/pangea-merge

Pangea merge
This commit is contained in:
Brord van Wierst 2023-12-10 18:36:57 +01:00 committed by GitHub
commit 2b75f93881
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
697 changed files with 142458 additions and 30194 deletions

View file

@ -1,6 +1,6 @@
name: 🐛 Bug report
description: Create a report to help us improve
labels: ["Bug"]
labels: bug
body:
- type: textarea
id: bug-description

View file

@ -1,8 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: FluffyChat Community
- name: 👬 FluffyChat Community
url: https://matrix.to/#/#fluffychat:matrix.org
about: Please ask and answer questions here.
- name: Report security vulnerabilities
url: https://matrix.to/#/@krille:janian.de
about: Please report security vulnerabilities here.
about: Please ask and answer questions here.

View file

@ -1,6 +1,6 @@
name: 💡 Feature Request
description: Suggest an idea for this project
labels: ["Enhancement"]
labels: enhancement
body:
- type: textarea
id: feature-description

41
.github/ISSUE_TEMPLATE/test_report.md vendored Normal file
View file

@ -0,0 +1,41 @@
---
name: 📝 Test
about: A detailed protocol for testing all features
title: 'Test Report'
labels: test
---
1. App receives push notifications over Firebase Cloud Messaging when it is in background/terminated:
- [ ] Android
- [ ] iOS
2. App receives push notifications over Unified Push when it is in background/terminated:
- [ ] Android
3. Notifications for rooms, which are not in foreground, are working:
- [ ] Web
- [ ] Linux
4. QR Code scanner can still scan links to start a new chat:
- [ ] Android
- [ ] iOS
5. Recording and playing voice messages works:
- [ ] Android
- [ ] iOS
- [ ] Web (play only)
6. Sending and downloading files/images works:
- [ ] Android
- [ ] iOS
- [ ] Web
- [ ] Linux
7. Sharing texts/files/images from other apps to FluffyChat works:
- [ ] Android
- [ ] iOS
8. Login with single sign on works:
- [ ] Android
- [ ] iOS
- [ ] Web
- [ ] Linux
9. Test if the app lock works as intended and appears on opening/resuming the app:
- [ ] Android
- [ ] iOS
10. Drag&Drop to send a file into a chat still works:
- [ ] Web
- [ ] Linux

View file

@ -1,16 +0,0 @@
name: Auto merge
on: pull_request_target
jobs:
auto-approve:
runs-on: ubuntu-latest
permissions:
pull-requests: write
if: github.actor == 'dependabot[bot]' || github.actor == 'weblate'
steps:
- uses: hmarr/auto-approve-action@v3
- name: automerge
uses: "pascalgn/automerge-action@v0.15.6"
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"

View file

@ -0,0 +1,26 @@
name: Close Inactive Issues And PRs
on:
schedule:
- cron: "30 1 * * *"
jobs:
close-issues:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- uses: actions/stale@v5
with:
days-before-issue-stale: 30
days-before-issue-close: 14
stale-issue-label: "stale"
stale-issue-message: "This issue is stale because it has been open for 30 days with no activity."
close-issue-message: "This issue was closed because it has been inactive for 14 days since being marked as stale."
stale-pr-message: "This pull request is stale because it has been open for 30 days with no activity."
close-pr-message: "This pull request was closed because it has been inactive for 14 days since being marked as stale."
days-before-pr-stale: 30
days-before-pr-close: 14
exempt-milestones: true
exempt-assignees: krille-chan
repo-token: ${{ secrets.GITHUB_TOKEN }}

View file

@ -5,13 +5,14 @@ on:
branches:
- main
concurrency:
group: main_deploy
cancel-in-progress: true
env:
# Setting an environment variable with the value of a configuration variable
WEB_APP_ENV: ${{ vars.WEB_APP_ENV }}
jobs:
deploy_web:
runs-on: ubuntu-latest
environment: staging
steps:
- uses: actions/checkout@v2
- run: cat .github/workflows/versions.env >> $GITHUB_ENV
@ -25,56 +26,33 @@ jobs:
- name: Prepare web
run: ./scripts/prepare-web.sh
- name: Build Release Web
run: flutter build web --release --verbose --source-maps --base-href "/web/"
run: ./scripts/build-web.sh
- name: Build Website
run: |
cd docs && npx tailwindcss -o ./tailwind.css --minify && cd ..
mv docs public
mv repo public || true
mv build/web/ public/web
echo "fluffychat.im" > ./public/CNAME
mv build/web public
touch public/.env
echo "$WEB_APP_ENV" >> public/.env
- name: Deploy to GitHub Pages
uses: peaceiris/actions-gh-pages@v3
with:
personal_token: ${{ secrets.PAGES_DEPLOY_TOKEN }}
publish_dir: ./public
publish_branch: gh-pages
# cname: app.staging.pangea.chat
deploy_playstore_internal:
update_sentry:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: cat .github/workflows/versions.env >> $GITHUB_ENV
- uses: actions/setup-java@v1
- uses: actions/checkout@v3
with:
java-version: ${{ env.JAVA_VERSION }}
- uses: subosito/flutter-action@v2
with:
flutter-version: ${{ env.FLUTTER_VERSION }}
cache: true
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 2.7
- name: Install Fastlane
run: gem install fastlane -NV
- name: Apply Google Services Patch
run: git apply ./scripts/enable-android-google-services.patch
- run: flutter pub get
- name: Prepare Android Release Build
fetch-depth: 0
- name: Create Sentry release
uses: getsentry/action-release@v1
env:
FDROID_KEY: ${{ secrets.FDROID_KEY }}
FDROID_KEY_PASS: ${{ secrets.FDROID_KEY_PASS }}
PLAYSTORE_DEPLOY_KEY: ${{ secrets.PLAYSTORE_DEPLOY_KEY }}
run: ./scripts/prepare-android-release.sh
- name: Build Android Release
run: flutter build appbundle --target-platform android-arm,android-arm64,android-x64
- name: Deploy Android Release
run: |
mkdir -p build/android
cp build/app/outputs/bundle/release/app-release.aab build/android/
cd android
bundle install
bundle update fastlane
bundle exec fastlane deploy_internal_test
cd ..
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
# SENTRY_URL: https://sentry.io/
with:
environment: staging

110
.github/workflows/old.yml vendored Normal file
View file

@ -0,0 +1,110 @@
name: Old Release Workflow
on:
push:
branches:
- master-unused
concurrency:
group: release_workflow
cancel-in-progress: true
jobs:
build_staging:
runs-on: ubuntu-latest
environment: staging
steps:
- uses: actions/checkout@v2
- run: cat .github/workflows/versions.env >> $GITHUB_ENV
- run: echo "$WEB_APP_ENV" > .env
- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: ${{ env.FLUTTER_VERSION }}
- name: Prepare web
run: ./scripts/prepare-web.sh
- name: Build web
run: ./scripts/build-web.sh
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: web-artifact
path: ./build/web
upload_sentry:
runs-on: ubuntu-latest
needs: build_staging
steps:
- uses: actions/checkout@v2
- run: cat .github/workflows/versions.env >> $GITHUB_ENV
- run: echo "$WEB_APP_ENV" > .env
- name: Build web
run: ./scripts/upload-sentry.sh
deploy_staging:
runs-on: ubuntu-latest
needs: build_staging
steps:
- uses: actions/checkout@v2
- run: cat .github/workflows/versions.env >> $GITHUB_ENV
- run: echo "$WEB_APP_ENV" > .env
- name: Set up AWS CLI
uses: aws-actions/configure-aws-credentials@v2
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ secrets.AWS_DEFAULT_REGION }}
- name: Download all workflow run artifacts
uses: actions/download-artifact@v3
build_production:
runs-on: ubuntu-latest
environment: production
steps:
- uses: actions/checkout@v2
- run: cat .github/workflows/versions.env >> $GITHUB_ENV
- run: echo "$WEB_APP_ENV" > .env
- name: Set up Flutter
uses: subosito/flutter-action@v2
with:
flutter-version: ${{ env.FLUTTER_VERSION }}
- name: Prepare web
run: ./scripts/prepare-web.sh
- name: Build web
run: ./scripts/build-web.sh
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: web-artifact
path: ./build/web
deploy_production:
environment: production
runs-on: ubuntu-latest
needs: build_production
steps:
- uses: actions/checkout@v2
- run: cat .github/workflows/versions.env >> $GITHUB_ENV
- run: echo "$WEB_APP_ENV" > .env
- name: Download all workflow run artifacts
uses: actions/download-artifact@v3
- name: Set up AWS CLI
uses: aws-actions/configure-aws-credentials@v2
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ secrets.AWS_DEFAULT_REGION }}

28
.github/workflows/process_tags.yaml vendored Normal file
View file

@ -0,0 +1,28 @@
on:
push:
tags:
- "v*"
- "rc*"
name: Process Tags
jobs:
build:
name: Create Release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Get Changelog Entry
id: changelog_reader
uses: mindsers/changelog-reader-action@v2
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
body: ${{ steps.changelog_reader.outputs.changes }}
draft: false
prerelease: ${{ startsWith(github.ref, 'rc') }}

View file

@ -25,22 +25,22 @@ jobs:
- name: Prepare web
run: ./scripts/prepare-web.sh
- name: Build Release Web
run: flutter build web --release --source-maps
run: flutter build web --dart-define=FLUTTER_WEB_CANVASKIT_URL=canvaskit/ --release --source-maps
- name: Create archive
run: tar -czf fluffychat-web.tar.gz build/web/
run: tar -czf pangeachat-web.tar.gz build/web/
- name: Upload Web Build
uses: actions/upload-artifact@v2
with:
name: Web Build
path: fluffychat-web.tar.gz
path: pangeachat-web.tar.gz
- name: Upload to release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.PAGES_DEPLOY_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: fluffychat-web.tar.gz
asset_name: fluffychat-web.tar.gz
asset_path: pangeachat-web.tar.gz
asset_name: pangeachat-web.tar.gz
asset_content_type: application/gzip
build_apk:
@ -57,6 +57,10 @@ jobs:
cache: true
- name: Apply Google Services Patch
run: git apply ./scripts/enable-android-google-services.patch
- name: Remove Emoji Font
run: |
rm -rf fonts/NotoEmoji
yq -i 'del( .flutter.fonts[] | select(.family == "NotoEmoji") )' pubspec.yaml
- run: flutter pub get
- name: Prepare Android Release Build
env:
@ -120,6 +124,10 @@ jobs:
run: gem install fastlane -NV
- name: Apply Google Services Patch
run: git apply ./scripts/enable-android-google-services.patch
- name: Remove Emoji Font
run: |
rm -rf fonts/NotoEmoji
yq -i 'del( .flutter.fonts[] | select(.family == "NotoEmoji") )' pubspec.yaml
- run: flutter pub get
- name: Prepare Android Release Build
env:

View file

@ -1,2 +1,2 @@
FLUTTER_VERSION=3.13.7
FLUTTER_VERSION=3.16.0
JAVA_VERSION=17

8
.gitignore vendored
View file

@ -11,6 +11,8 @@
.history
.svn/
prime
*.env
!/public/.env
# libolm package
/assets/js/package
@ -36,6 +38,9 @@ prime
.pub/
/build/
# Gitlab runner locally
/builds/
# Web related
docs/tailwind.css
@ -53,6 +58,7 @@ lib/l10n_old
ios/Flutter/.last_build_id
ios/Podfile.lock
ios/Runner.ipa
scripts/.credentials
/windows/out
/winuwp/out
@ -60,3 +66,5 @@ ios/Runner.ipa
/macos/out
.vs
olm
needed-translations.txt

View file

@ -1,7 +1,7 @@
# 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 and should not be manually edited.
# This file should be version controlled.
version:
revision: "efbf63d9c66b9f6ec30e9ad4611189aa80003d31"
@ -15,9 +15,24 @@ migration:
- platform: root
create_revision: efbf63d9c66b9f6ec30e9ad4611189aa80003d31
base_revision: efbf63d9c66b9f6ec30e9ad4611189aa80003d31
- platform: android
create_revision: efbf63d9c66b9f6ec30e9ad4611189aa80003d31
base_revision: efbf63d9c66b9f6ec30e9ad4611189aa80003d31
- platform: ios
create_revision: efbf63d9c66b9f6ec30e9ad4611189aa80003d31
base_revision: efbf63d9c66b9f6ec30e9ad4611189aa80003d31
- platform: linux
create_revision: efbf63d9c66b9f6ec30e9ad4611189aa80003d31
base_revision: efbf63d9c66b9f6ec30e9ad4611189aa80003d31
- platform: macos
create_revision: efbf63d9c66b9f6ec30e9ad4611189aa80003d31
base_revision: efbf63d9c66b9f6ec30e9ad4611189aa80003d31
- platform: web
create_revision: efbf63d9c66b9f6ec30e9ad4611189aa80003d31
base_revision: efbf63d9c66b9f6ec30e9ad4611189aa80003d31
- platform: windows
create_revision: efbf63d9c66b9f6ec30e9ad4611189aa80003d31
base_revision: efbf63d9c66b9f6ec30e9ad4611189aa80003d31
# User provided section

71
.vscode/launch.json vendored Normal file
View file

@ -0,0 +1,71 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "pangea-chat",
"request": "launch",
"type": "dart",
// "args": [
// "-d",
// "chrome",
// "--web-port",
// "49632"
// ],
},
{
"name": "pangea-chat (profile mode)",
"request": "launch",
"type": "dart",
"flutterMode": "profile"
},
{
"name": "pangea-chat (release mode)",
"request": "launch",
"type": "dart",
"flutterMode": "release"
},
{
"name": "pangea_choreographer",
"cwd": "pangea_packages\\pangea_choreographer",
"request": "launch",
"type": "dart"
},
{
"name": "pangea_choreographer (profile mode)",
"cwd": "pangea_packages\\pangea_choreographer",
"request": "launch",
"type": "dart",
"flutterMode": "profile"
},
{
"name": "pangea_choreographer (release mode)",
"cwd": "pangea_packages\\pangea_choreographer",
"request": "launch",
"type": "dart",
"flutterMode": "release"
},
{
"name": "pangea_language",
"cwd": "pangea_packages\\pangea_language",
"request": "launch",
"type": "dart"
},
{
"name": "pangea_language (profile mode)",
"cwd": "pangea_packages\\pangea_language",
"request": "launch",
"type": "dart",
"flutterMode": "profile"
},
{
"name": "pangea_language (release mode)",
"cwd": "pangea_packages\\pangea_language",
"request": "launch",
"type": "dart",
"flutterMode": "release"
}
]
}

9
.vscode/settings.json vendored Normal file
View file

@ -0,0 +1,9 @@
{
"dart.previewLsp": true,
"editor.codeActionsOnSave": {
"source.fixAll": true,
"source.organizeImports": true,
"source.sortMembers": false
},
"editor.formatOnSave": true
}

View file

@ -1,3 +1,67 @@
## v1.15.1
- feat: Make all text in chat selectable on desktop (krille-chan)
- chore: Add border to images in timeline (krille-chan)
- chore: added android audio sharing intent (Aryan Arora)
- fix: Dockerfile: install jq in the builder image (David Douard)
- fix: Cannot pin messages of other users (Krille)
- fix: Emojipicker flickering because noRecent (krille-chan)
- fix: LoadProfileBottomSheet accessing disposed outerContext (Aryan Arora)
- fix: More stable scroll up to event (krille-chan)
- fix: Properly capitalize Linux window title (kramo)
- fix: Remove failed to sent events (krille-chan)
- fix: Routing glitch when using SSO on desktop (krille-chan)
- fix: SSO with no identity providers (krille-chan)
- refactor: Do not init client in background mode on Android (krille-chan)
- refactor: Store and fix missing persistence of some values (krille-chan)
- Translated using Weblate (Arabic) (Rex_sa)
- Translated using Weblate (Basque) (xabirequejo)
- Translated using Weblate (Chinese (Simplified)) (Eric)
- Translated using Weblate (Czech) (Vojtěch Fošnár)
- Translated using Weblate (Dutch) (Jelv)
- Translated using Weblate (Estonian) (Priit Jõerüüt)
- Translated using Weblate (Finnish) (Aminda Suomalainen)
- Translated using Weblate (German) (Haui)
- Translated using Weblate (Ukrainian) (Ihor Hordiichuk)
## v1.15.0
- feat: Add experimental todo list for rooms (krille-chan)
- feat: better scroll to last read message handling (krille-chan)
- build: Add appid suffix to android debug builds (krille-chan)
- build: Download canvaskit on build for flutter web (krille-chan)
- build: Update to Flutter 3.13.9 (krille-chan)
- chore: Add descriptions in the areYouSure dialogs for better UX (krille-chan)
- chore: Adjust bitrate for smaller voice messages (krille-chan)
- chore: Change way how to seek in audioplayer (Krille)
- chore: Limit image file and video picker until we have a background service (krille-chan)
- chore: Minor design fixes (Krille)
- design: Make incoming messages color more light (krille-chan)
- design: Make key verification an adaptive dialog (krille-chan)
- design: Make own chat bubble primary color for better contrast (krille-chan)
- fix: Create chat dialog crashes sometimes and power level textfield does not validate input (krille-chan)
- fix: Remove uncompatible dependencies connectivity_plus and wakelock (Krille)
- fix: Use correct localization for redactedBy (krille-chan)
- fix: noFCM warning dialog (krille-chan)
- fix: render tg-forward as blockquote style (krille-chan)
- fix: Archive does not update its state
- refactor: Change audio codec to opus where supported to have better compatibility with Element (Krille)
- refactor: Make file dialog adaptive and adjust design (krille-chan)
- refactor: Preload notification sound on web (Krille)
- refactor: Remove unused config (krille-chan)
- refactor: Remove unused config params (krille-chan)
- refactor: Update FutureLoadingDialog (krille-chan)
- refactor: use locally hosted canvaskit instead of calling google (root)
- Translated using Weblate (Arabic) (Rex_sa)
- Translated using Weblate (Basque) (xabirequejo)
- Translated using Weblate (Chinese (Simplified)) (Eric)
- Translated using Weblate (Croatian) (Milo Ivir)
- Translated using Weblate (German) (Christian)
- Translated using Weblate (German) (Ettore Atalan)
- Translated using Weblate (Hungarian) (H Tamás)
- Translated using Weblate (Polish) (Tomasz W)
- Translated using Weblate (Russian) (v1s7)
- Translated using Weblate (Slovak) (Jozef Gaal)
- Translated using Weblate (Thai) (Amy/Atius)
## v1.14.5
- Hotfix iOS crashes on start
- Hotfix cannot reset applock

View file

@ -1,11 +1,11 @@
FROM ghcr.io/cirruslabs/flutter as builder
RUN sudo apt update && sudo apt install curl -y
RUN sudo apt update && sudo apt install curl jq -y
COPY . /app
WORKDIR /app
RUN ./scripts/prepare-web.sh
RUN flutter pub get
RUN flutter build web --release --source-maps
RUN flutter build web --dart-define=FLUTTER_WEB_CANVASKIT_URL=canvaskit/ --release --source-maps
FROM docker.io/nginx:alpine
RUN rm -rf /usr/share/nginx/html
COPY --from=builder /app/build/web /usr/share/nginx/html
COPY --from=builder /app/build/web /usr/share/nginx/html

View file

@ -66,4 +66,4 @@ Please visit the [Wiki](https://github.com/krille-chan/fluffychat/wiki) for buil
* <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-spec/blob/main/data-definitions/sas-emoji.json) used for emoji verification, licensed Apache 2.0

35
TRANSLATORS_GUIDE.md Normal file
View file

@ -0,0 +1,35 @@
# Translators Guide
There are 3 main types of strings to be translated.
## Simple
```
Add new friend
```
They are just plain text and are to be translated in full.
## Placeholder
```
{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.
## Plural
- {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.
Selector | Matches
---|---
=0 | a count of exactly 0
=1 | a count of exactly 1
=2 | a count of exactly 2
other | any number unless it matches a more specific rule
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:
- {count,plural, other{{count} \<insert translation here\>}}
could be a perfectly resonable way to translate.

View file

@ -22,6 +22,7 @@ if (flutterVersionName == null) {
}
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
@ -32,7 +33,7 @@ if (keystorePropertiesFile.exists()) {
}
android {
compileSdkVersion 33
compileSdkVersion 34
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
@ -43,7 +44,7 @@ android {
}
defaultConfig {
applicationId "chat.fluffy.fluffychat"
applicationId "com.talktolearn.chat"
minSdkVersion 19
targetSdkVersion 33
versionCode flutterVersionCode.toInteger()
@ -65,11 +66,20 @@ android {
buildTypes {
debug {
signingConfig signingConfigs.debug
applicationIdSuffix ""
versionNameSuffix ""
}
release {
signingConfig signingConfigs.release
}
}
// https://stackoverflow.com/a/77494454/8222484
packagingOptions {
pickFirst 'lib/x86/libc++_shared.so'
pickFirst 'lib/x86_64/libc++_shared.so'
pickFirst 'lib/armeabi-v7a/libc++_shared.so'
pickFirst 'lib/arm64-v8a/libc++_shared.so'
}
}
flutter {

View file

@ -1,40 +1,40 @@
{
"project_info": {
"project_number": "865731724731",
"project_id": "fluffychat-ef3e8",
"storage_bucket": "fluffychat-ef3e8.appspot.com"
"project_number": "545984292675",
"project_id": "pangea-chat-936ee",
"storage_bucket": "pangea-chat-936ee.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:865731724731:android:ec427b3b1dcd4a1e64309e",
"mobilesdk_app_id": "1:545984292675:android:d808acce7a80c20bb931f6",
"android_client_info": {
"package_name": "chat.fluffy.fluffychat"
"package_name": "com.talktolearn.chat"
}
},
"oauth_client": [
{
"client_id": "865731724731-od6969v178ul9970elgacpt936v5t7qg.apps.googleusercontent.com",
"client_id": "545984292675-2amsnoan1mt6lec1fld1a7eagu6gej7o.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyBLdZpGSPjcinikB4lAU6awW_h88NG17Sg"
"current_key": "AIzaSyAyWBbl83WXzbVr6txyCmlUsZhpWomQfdg"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "865731724731-od6969v178ul9970elgacpt936v5t7qg.apps.googleusercontent.com",
"client_id": "545984292675-2amsnoan1mt6lec1fld1a7eagu6gej7o.apps.googleusercontent.com",
"client_type": 3
},
{
"client_id": "865731724731-ofdr7e6m04murgb1bvchlj9oaos0q5i3.apps.googleusercontent.com",
"client_id": "545984292675-f5p76l3h9sibsonrct7a8l9ca3c69at0.apps.googleusercontent.com",
"client_type": 2,
"ios_info": {
"bundle_id": "im.fluffychat.app"
"bundle_id": "com.talktolearn.chat"
}
}
]

View file

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

View file

@ -1,6 +1,6 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="chat.fluffy.fluffychat" android:installLocation="auto">
package="com.talktolearn.chat" android:installLocation="auto">
<!-- io.flutter.app.FlutterApplication is an android.app.Application that
calls FlutterMain.startInitialization(this); in its onCreate method.
In most cases you can leave this as-is, but you if you want to provide
@ -27,11 +27,15 @@
<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" />
<!-- #Pangea -->
<uses-permission android:name="com.android.vending.BILLING" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- Pangea# -->
<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
android:label="FluffyChat"
android:label="Pangea Chat"
android:icon="@mipmap/ic_launcher"
android:requestLegacyExternalStorage="true"
android:allowBackup="false"
@ -73,7 +77,7 @@
<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="chat" />
<data android:scheme="com.talktolearn.chat" android:host="chat" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND" />
@ -95,6 +99,11 @@
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="video/*" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="audio/*" />
</intent-filter>
</activity>
<activity
@ -104,16 +113,18 @@
<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"/>
<data android:scheme="matrix.pangea.chat" android:host="login"/>
</intent-filter>
</activity>
<service android:name=".FcmPushService"
<!-- #Pangea This prevents Android notifications from coming through -->
<!-- <service android:name=".FcmPushService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
</service> -->
<!-- Pangea# -->
<service android:name="com.pravera.flutter_foreground_task.service.ForegroundService"
android:foregroundServiceType="camera|microphone|mediaProjection">

View file

@ -0,0 +1,36 @@
/*package com.talktolearn.chat
import com.famedly.fcm_shared_isolate.FcmSharedIsolateService
import com.talktolearn.chat.MainActivity
import io.flutter.embedding.android.FlutterActivity
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.view.FlutterMain
import io.flutter.embedding.engine.dart.DartExecutor.DartEntrypoint
import android.content.Context
import android.os.Bundle
import android.util.Log
import android.view.WindowManager
class FcmPushService : FcmSharedIsolateService() {
override fun getEngine(): FlutterEngine {
return provideEngine(getApplicationContext())
}
companion object {
fun provideEngine(context: Context): FlutterEngine {
var engine = MainActivity.engine
if (engine == null) {
engine = MainActivity.provideEngine(context)
engine.getLocalizationPlugin().sendLocalesToFlutter(
context.getResources().getConfiguration())
engine.getDartExecutor().executeDartEntrypoint(
DartEntrypoint.createDefault())
}
return engine
}
}
}
*/

View file

@ -0,0 +1,33 @@
package com.talktolearn.chat
import io.flutter.embedding.android.FlutterActivity
import io.flutter.embedding.engine.FlutterEngine
import android.content.Context
import androidx.multidex.MultiDex
class MainActivity : FlutterActivity() {
override fun attachBaseContext(base: Context) {
super.attachBaseContext(base)
MultiDex.install(this)
}
override fun provideFlutterEngine(context: Context): FlutterEngine? {
return provideEngine(this)
}
override fun configureFlutterEngine(flutterEngine: FlutterEngine) {
// do nothing, because the engine was been configured in provideEngine
}
companion object {
var engine: FlutterEngine? = null
fun provideEngine(context: Context): FlutterEngine {
val eng = engine ?: FlutterEngine(context, emptyArray(), true, false)
engine = eng
return eng
}
}
}

View file

@ -0,0 +1,23 @@
package com.talktolearn.chat
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.embedding.engine.dart.DartExecutor
import org.unifiedpush.flutter.connector.UnifiedPushReceiver
import android.content.Context
class UnifiedPushReceiver : UnifiedPushReceiver() {
override fun getEngine(context: Context): FlutterEngine {
var engine = MainActivity.engine
if (engine == null) {
engine = MainActivity.provideEngine(context)
engine.localizationPlugin.sendLocalesToFlutter(
context.resources.configuration
)
engine.dartExecutor.executeDartEntrypoint(
DartExecutor.DartEntrypoint.createDefault()
)
}
return engine
}
}

View file

@ -1,15 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="#FFFFFF">
<group android:scaleX="0.15715303"
android:scaleY="0.15715303"
android:translateX="0.96"
android:translateY="0.96">
<path
android:pathData="M130.9,0a50.8,50.8 0,0 0,-34.2 18c-0.5,-0.2 -1,-1 -1,-1.7a7,7 0,0 0,-3.5 -6.8,7.8 7.8,0 0,0 -10.6,3.3c-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,-1a8,8 0,0 0,-6.5 -3.8,8 8,0 0,0 -7.8,7.3v0.6c0,0.8 -0.5,1.5 -1,1.8L44,18.5C35.8,7.7 15.6,-2.2 5.6,1c-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.3a7.7,7.7 0,0 0,3 13.4c0.8,0.3 1.5,1 1.5,1.8s-0.5,1.8 -1.3,2c-1,0.5 -2,1 -2.8,2 -4,5.8 0,12.3 5.5,12.3a2,2 0,0 1,1.8 1.3c0.3,0.8 0.3,1.5 -0.5,2a6.5,6.5 0,0 0,-2 5.5c0.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,5a7.7,7.7 0,0 0,5.5 5.5c2.5,0.5 4.3,-0.3 5.5,-0.8 0.5,-0.3 -3.3,9 -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 12.3,5.3 1.3,-0.8 2,-2.3 2.3,-3.5 0.3,-0.8 1,-1.5 2,-1.5s1.8,0.5 2,1.5c0.3,1.3 0.8,2.3 1.8,3 5.8,4.5 12.3,0.8 12.8,-4.8a2,2 0,0 1,1.3 -1.8c0.8,-0.3 1.5,0 2,0.5a7.6,7.6 0,0 0,5.3 2.5c2.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,-2s1.5,-0.5 2,0c1.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,-2s1.3,-0.8 2,-0.8c1.8,0.3 3.3,0.3 4.8,-0.5 2.3,-1 3.8,-3 4.3,-5.5a7,7 0,0 0,-2 -6.5c-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,-2a7.6,7.6 0,0 0,-2.5 -12.6c-0.8,-0.3 -1.3,-1 -1.3,-2s0.7,-1.6 1.5,-1.6c1.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.5v-0.5c0.8,-0.8 1.5,-1.8 2.5,-3.3 8,-10.8 11.8,-50.6 3.8,-53.7 -1.3,-0.5 -2.6,-0.7 -4.1,-0.7zM16.3,12.2c4.6,0.1 11,3 15.5,6.7 -0.7,0.8 -1.2,1.8 -1.5,2.8a7,7 0,0 0,0 4.5c0.3,0.7 0,1.5 -0.5,2s-1.2,0.8 -2,0.5c-1.5,-0.6 -3,-0.8 -4.5,-0.3 -2.7,0.8 -5,3 -5.5,5.8 -0.3,2 0,4 1.3,5.8 0.3,0.5 0.5,1.2 0,2l-0.8,0.8c-1.8,-0.3 -3,-1 -4,-2.5 -4.6,-6.3 -5.4,-26.2 -1,-27.7 1,-0.3 1.9,-0.4 3,-0.4zM123.9,12.4c1,0 2,0 2.9,0.4 4.5,1.5 3.7,21.4 -0.8,27.7 -0.8,1 -1.8,1.7 -2.8,2 -0.5,0 -0.7,-0.5 -1,-0.8 -0.5,-0.5 -0.5,-1.5 0,-2a7,7 0,0 0,1.3 -4c0.3,-1.8 -0.5,-3.5 -1.5,-4.8a7,7 0,0 0,-5.8 -3c-1,0 -2,0 -3,0.5 -0.7,0.3 -1.5,0 -2,-0.5s-0.8,-1.2 -0.5,-2a7,7 0,0 0,0 -4.5c-0.2,-1.3 -0.7,-2.1 -1.8,-2.6a27.6,27.6 0,0 1,15 -6.4zM40.2,64.4a9.3,9.3 0,0 1,9.3 9.4,9.3 9.3,0 0,1 -9.3,9.3 9.3,9.3 0,0 1,-9.3 -9.3,9.3 9.3,0 0,1 9.3,-9.3zM100.9,64.4a9.3,9.3 0,0 1,9.3 9.4,9.3 9.3,0 0,1 -9.3,9.3 9.3,9.3 0,0 1,-9.3 -9.3,9.3 9.3,0 0,1 9.3,-9.3zM70.7,70c4.6,0 9.3,1.2 9.3,3.9a9.3,9.3 0,1 1,-18.6 0c0,-2.5 4.6,-3.9 9.3,-3.9z"
android:fillColor="#4d3f92"/>
</group>
</vector>

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 53 KiB

File diff suppressed because one or more lines are too long

View file

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
<monochrome android:drawable="@drawable/ic_launcher_monochrome"/>
</adaptive-icon>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

After

Width:  |  Height:  |  Size: 8.9 KiB

View file

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is off -->
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
<item name="android:forceDarkAllowed">false</item>
<item name="android:windowFullscreen">false</item>
<item name="android:windowSplashScreenBackground">#000000</item>
<item name="android:windowSplashScreenAnimatedIcon">@drawable/android12splash</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Flutter UI initializes, as well as behind your Flutter UI while its
running.
This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item>
</style>
</resources>

View file

@ -5,6 +5,7 @@
<!-- Show a splash screen on the activity. Automatically removed when
Flutter draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
<item name="android:forceDarkAllowed">false</item>
<item name="android:windowFullscreen">false</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.

View file

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is off -->
<style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar">
<item name="android:windowSplashScreenIconBackgroundColor">#ffffff</item>
<item name="android:forceDarkAllowed">false</item>
<item name="android:windowFullscreen">false</item>
<item name="android:windowSplashScreenBackground">#ffffff</item>
<item name="android:windowSplashScreenAnimatedIcon">@drawable/android12splash</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Flutter UI initializes, as well as behind your Flutter UI while its
running.
This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Light.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item>
</style>
</resources>

View file

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

View file

@ -8,7 +8,7 @@ buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:7.1.2'
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.13'
}
}

View file

@ -1,2 +1,2 @@
json_key_file("keys.json") # Path to the json secret file - Follow https://docs.fastlane.tools/actions/supply/#setup to get one
package_name("chat.fluffy.fluffychat") # e.g. com.krausefx.app
package_name("com.talktolearn.chat") # e.g. com.krausefx.app

View file

@ -0,0 +1 @@
Check out https://gitlab.com/ChristianPauly/fluffychat-flutter/-/blob/main/CHANGELOG.md for the changelog.

0
appimage/AppRun Executable file → Normal file
View file

BIN
assets/colors.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

BIN
assets/encryption.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

View file

@ -771,7 +771,7 @@
"type": "text",
"placeholders": {}
},
"noGoogleServicesWarning": "يبدو أنك لا تستخدم خدمات غوغل على هاتفك. هذا قرار جيد للحفاظ على خصوصيتك! من أجل استلام الإشعارات في FluffyChat نقترح استخدام https://microg.org أو https://unifiedpush.org.",
"noGoogleServicesWarning": "يبدو أن خدمة Firebase Cloud Messaging غير متاحة على جهازك. لمواصلة تلقي الإشعارات، نوصي بتثبيت ntfy. باستخدام ntfy أو أي مزود خدمة Unified Push آخر، يمكنك تلقي إشعارات الدفع بطريقة آمنة للبيانات. يمكنك تنزيل ntfy من PlayStore أو من F-Droid.",
"@noGoogleServicesWarning": {
"type": "text",
"placeholders": {}
@ -2619,5 +2619,45 @@
"placeholders": {
"seconds": {}
}
}
},
"hasKnocked": "لقد طرق {user}",
"@hasKnocked": {
"placeholders": {
"user": {}
}
},
"pleaseEnterANumber": "الرجاء إدخال رقم أكبر من 0",
"@pleaseEnterANumber": {},
"banUserDescription": "سيتم حظر المستخدم من الدردشة ولن يتمكن من الدخول إلى الدردشة مرة أخرى حتى يتم رفع الحظر عنه.",
"@banUserDescription": {},
"removeDevicesDescription": "سيتم تسجيل خروجك من هذا الجهاز ولن تتمكن بعد ذلك من تلقي الرسائل.",
"@removeDevicesDescription": {},
"unbanUserDescription": "سيتمكن المستخدم من الدخول إلى الدردشة مرة أخرى إذا حاول.",
"@unbanUserDescription": {},
"todoLists": "(اختباري) لقوائم المهام",
"@todoLists": {},
"editTodo": "تعديل المهام",
"@editTodo": {},
"pushNotificationsNotAvailable": "دفع الإخطارات غير متوفرة",
"@pushNotificationsNotAvailable": {},
"pleaseAddATitle": "يرجى إضافة عنوان",
"@pleaseAddATitle": {},
"makeAdminDescription": "بمجرد تعيين هذا المستخدم كمسؤول، قد لا تتمكن من التراجع عن هذا لأنه سيكون لديه نفس الأذونات التي تتمتع بها.",
"@makeAdminDescription": {},
"noTodosYet": "لم تتم إضافة أي مهام إلى هذه الدردشة حتى الآن. أنشئ أول ما يجب عليك فعله وابدأ في التعاون مع الآخرين. 📝",
"@noTodosYet": {},
"archiveRoomDescription": "سيتم نقل الدردشة إلى الأرشيف. سيتمكن المستخدمون الآخرون من رؤية أنك غادرت الدردشة.",
"@archiveRoomDescription": {},
"todosUnencrypted": "يرجى ملاحظة أن جميع المهام مرئية للجميع في الدردشة وليست مشفرة تمامًا.",
"@todosUnencrypted": {},
"newTodo": "ما يجب القيام به جديد",
"@newTodo": {},
"learnMore": "تعلم المزيد",
"@learnMore": {},
"todoListChangedError": "عفوًا... لقد تم تغيير قائمة المهام أثناء قيامك بتحريرها.",
"@todoListChangedError": {},
"roomUpgradeDescription": "سيتم بعد ذلك إعادة إنشاء الدردشة باستخدام إصدار الغرفة الجديد. سيتم إخطار جميع المشاركين بأنهم بحاجة إلى التبديل إلى الدردشة الجديدة. يمكنك معرفة المزيد حول إصدارات الغرف على https://spec.matrix.org/latest/rooms/",
"@roomUpgradeDescription": {},
"kickUserDescription": "يتم طرد المستخدم من الدردشة ولكن لا يتم حظره. في الدردشات العامة، يمكن للمستخدم الانضمام مرة أخرى في أي وقت.",
"@kickUserDescription": {}
}

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

@ -2343,7 +2343,7 @@
"@notAnImage": {},
"importNow": "Importovat nyní",
"@importNow": {},
"redactedByBecause": "Redigováno uživatelem {username} s důvodem: \"{reason}\"",
"redactedByBecause": "Smazáno uživatelem {username} s důvodem: \"{reason}\"",
"@redactedByBecause": {
"type": "text",
"placeholders": {
@ -2415,7 +2415,7 @@
"@jumpToLastReadMessage": {},
"signInWithPassword": "Přihlásit se pomocí hesla",
"@signInWithPassword": {},
"redactedBy": "Redigováno uživatelem {username}",
"redactedBy": "Smazáno uživatelem {username}",
"@redactedBy": {
"type": "text",
"placeholders": {
@ -2432,9 +2432,9 @@
"@noOneCanJoin": {},
"tryAgain": "Zkuste to znovu",
"@tryAgain": {},
"redactMessageDescription": "Tato zpráva bude skryta pro všechny účastníky konverzace. Tuto akci nelze vzít zpět.",
"redactMessageDescription": "Tato zpráva bude smazána pro všechny účastníky konverzace. Tuto akci nelze vzít zpět.",
"@redactMessageDescription": {},
"optionalRedactReason": "(Nepovinné) Důvod redakce této zprávy…",
"optionalRedactReason": "(Nepovinné) Důvod smazání této zprávy…",
"@optionalRedactReason": {},
"messagesStyle": "Zprávy:",
"@messagesStyle": {},
@ -2566,5 +2566,96 @@
}
},
"requests": "Žádosti",
"@requests": {}
"@requests": {},
"reportErrorDescription": "",
"@reportErrorDescription": {},
"banUserDescription": "",
"@banUserDescription": {},
"removeDevicesDescription": "",
"@removeDevicesDescription": {},
"unbanUserDescription": "",
"@unbanUserDescription": {},
"todoLists": "",
"@todoLists": {},
"editTodo": "",
"@editTodo": {},
"pushNotificationsNotAvailable": "",
"@pushNotificationsNotAvailable": {},
"pleaseAddATitle": "",
"@pleaseAddATitle": {},
"makeAdminDescription": "",
"@makeAdminDescription": {},
"noTodosYet": "",
"@noTodosYet": {},
"archiveRoomDescription": "",
"@archiveRoomDescription": {},
"savedEmotePack": "",
"@savedEmotePack": {
"type": "text",
"placeholders": {
"path": {}
}
},
"invalidInput": "",
"@invalidInput": {},
"todosUnencrypted": "",
"@todosUnencrypted": {},
"report": "",
"@report": {},
"hasKnocked": "",
"@hasKnocked": {
"placeholders": {
"user": {}
}
},
"wrongPinEntered": "",
"@wrongPinEntered": {
"type": "text",
"placeholders": {
"seconds": {}
}
},
"inviteGroupChat": "",
"@inviteGroupChat": {},
"invitePrivateChat": "",
"@invitePrivateChat": {},
"newTodo": "",
"@newTodo": {},
"learnMore": "",
"@learnMore": {},
"todoListChangedError": "",
"@todoListChangedError": {},
"roomUpgradeDescription": "",
"@roomUpgradeDescription": {},
"pleaseEnterANumber": "",
"@pleaseEnterANumber": {},
"emoteKeyboardNoRecents": "",
"@emoteKeyboardNoRecents": {
"type": "text",
"placeholders": {}
},
"kickUserDescription": "",
"@kickUserDescription": {},
"invite": "",
"@invite": {},
"indexedDbErrorLong": "",
"@indexedDbErrorLong": {},
"callingAccount": "",
"@callingAccount": {},
"enterSpace": "",
"@enterSpace": {},
"noKeyForThisMessage": "",
"@noKeyForThisMessage": {},
"readUpToHere": "",
"@readUpToHere": {},
"appearOnTopDetails": "",
"@appearOnTopDetails": {},
"enterRoom": "",
"@enterRoom": {},
"hideUnimportantStateEvents": "",
"@hideUnimportantStateEvents": {},
"noBackupWarning": "",
"@noBackupWarning": {},
"indexedDbErrorTitle": "",
"@indexedDbErrorTitle": {}
}

View file

@ -1159,7 +1159,7 @@
"type": "text",
"placeholders": {}
},
"noGoogleServicesWarning": "Es sieht so aus, als hättest du keine Google-Dienste auf deinem Gerät. Das ist eine gute Entscheidung für deine Privatsphäre! Um Push-Benachrichtigungen in FluffyChat zu erhalten, empfehlen wir die Verwendung von microG https://microg.org/ oder Unified Push https://unifiedpush.org/.",
"noGoogleServicesWarning": "Firebase Cloud Messaging scheint auf deinem Gerät nicht verfügbar zu sein. Um trotzdem Push-Benachrichtigungen zu erhalten, empfehlen wir die Installation von ntfy. Mit ntfy oder einem anderen Unified Push Anbieter kannst du Push-Benachrichtigungen datensicher empfangen. Du kannst ntfy im PlayStore oder bei F-Droid herunterladen.",
"@noGoogleServicesWarning": {
"type": "text",
"placeholders": {}
@ -1888,7 +1888,7 @@
"type": "text",
"placeholders": {}
},
"verify": "Bestätigen",
"verify": "Verifizieren",
"@verify": {
"type": "text",
"placeholders": {}
@ -2211,7 +2211,7 @@
"@openChat": {},
"confirmEventUnpin": "Möchtest du das Ereignis wirklich dauerhaft lösen?",
"@confirmEventUnpin": {},
"dismiss": "Ablehnen",
"dismiss": "Verwerfen",
"@dismiss": {},
"switchToAccount": "Zu Konto {number} wechseln",
"@switchToAccount": {
@ -2607,5 +2607,57 @@
"invitePrivateChat": "📨 Einladungen zum privaten Chat",
"@invitePrivateChat": {},
"invalidInput": "Ungültige Eingabe!",
"@invalidInput": {}
"@invalidInput": {},
"hasKnocked": "{user} hat angeklopft",
"@hasKnocked": {
"placeholders": {
"user": {}
}
},
"wrongPinEntered": "Falsche PIN eingegeben! Bitte in {seconds} Sekunden erneut versuchen ...",
"@wrongPinEntered": {
"type": "text",
"placeholders": {
"seconds": {}
}
},
"pleaseEnterANumber": "Bitte eine Zahl größer 0 eingeben",
"@pleaseEnterANumber": {},
"emoteKeyboardNoRecents": "Kürzlich verwendete Emotes werden hier angezeigt ...",
"@emoteKeyboardNoRecents": {
"type": "text",
"placeholders": {}
},
"banUserDescription": "Der Benutzer wird aus dem Chat gebannt und kann den Chat erst wieder betreten, wenn die Verbannung aufgehoben wird.",
"@banUserDescription": {},
"removeDevicesDescription": "Du wirst von diesem Gerät abgemeldet und kannst dann dort keine Nachrichten mehr empfangen.",
"@removeDevicesDescription": {},
"unbanUserDescription": "Der Benutzer kann den Chat dann wieder betreten, wenn er es versucht.",
"@unbanUserDescription": {},
"todoLists": "(Beta) Aufgabenlisten",
"@todoLists": {},
"editTodo": "Aufgabe bearbeiten",
"@editTodo": {},
"pushNotificationsNotAvailable": "Push-Benachrichtigungen nicht verfügbar",
"@pushNotificationsNotAvailable": {},
"pleaseAddATitle": "Bitte einen Titel hinzufügen",
"@pleaseAddATitle": {},
"makeAdminDescription": "Sobald du diesen Benutzer zum Administrator gemacht hast, kannst du das möglicherweise nicht mehr rückgängig machen, da er dann über dieselben Berechtigungen wie du verfügt.",
"@makeAdminDescription": {},
"noTodosYet": "Zu diesem Chat wurden noch keine Aufgaben hinzugefügt. Erstellen die erste Aufgabe und fange an, mit anderen zusammenzuarbeiten. 📝",
"@noTodosYet": {},
"archiveRoomDescription": "Der Chat wird in das Archiv verschoben. Andere Benutzer können sehen, dass du den Chat verlassen hast.",
"@archiveRoomDescription": {},
"newTodo": "Neue Aufgabe",
"@newTodo": {},
"learnMore": "Erfahre mehr",
"@learnMore": {},
"todoListChangedError": "Hoppla ... Die Aufgabenliste wurde geändert, während Sie sie bearbeitet haben.",
"@todoListChangedError": {},
"roomUpgradeDescription": "Der Chat wird dann mit der neuen Raumversion neu erstellt. Alle Teilnehmer werden benachrichtigt, dass sie zum neuen Chat wechseln müssen. Mehr über Raumversionen erfährst du unter https://spec.matrix.org/latest/rooms/",
"@roomUpgradeDescription": {},
"kickUserDescription": "Der Benutzer wird aus dem Chat geworfen, aber nicht gebannt. In öffentlichen Chats kann der Benutzer jederzeit wieder beitreten.",
"@kickUserDescription": {},
"todosUnencrypted": "Bitte beachte, dass Todos für jeden im Chat sichtbar und nicht Ende zu Ende verschlüsselt sind.",
"@todosUnencrypted": {}
}

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

@ -1164,7 +1164,7 @@
"type": "text",
"placeholders": {}
},
"noGoogleServicesWarning": "Tundub, et sinu nutiseadmes pole Google teenuseid. Sinu privaatsuse mõttes on see kindlasti hea otsus! Kui sa soovid FluffyChat'is näha tõuketeavitusi, siis soovitame, et selle jaoks kasutad https://microg.org või https://unifiedpush.org liidestust.",
"noGoogleServicesWarning": "Tundub, et sinu nutiseadmes pole Firebase Cloud Messaging teenuseid. Sinu privaatsuse mõttes on see kindlasti hea otsus! Kui sa soovid FluffyChat'is näha tõuketeavitusi, siis soovitame, et selle jaoks kasutad ntfy liidestust. Kasutades ntfy'd või mõnda muud Unified Push standardil põhinevat liidestust saad tõuketeavitusi turvalisel moel. Ntfy rakendus on saadaval nii PlayStore kui F-Droid'i rakendusepoodides.",
"@noGoogleServicesWarning": {
"type": "text",
"placeholders": {}
@ -2617,5 +2617,45 @@
"placeholders": {
"seconds": {}
}
}
},
"banUserDescription": "Sellele kasutajale on nüüd selles jututoas seatud suhtluskeeld ning ta ei saa vestluses osaleda seni, kuni suhtluskeeld pole eemaldatud.",
"@banUserDescription": {},
"removeDevicesDescription": "Sind logitakse sellest seadmest välja ja sa enam ei saa sõnumeid.",
"@removeDevicesDescription": {},
"unbanUserDescription": "Uuesti proovimisel saab see kasutaja nüüd vestlusega liituda.",
"@unbanUserDescription": {},
"todoLists": "Tegemiste loendid (beetaversioon)",
"@todoLists": {},
"editTodo": "Muuda tegevust",
"@editTodo": {},
"pushNotificationsNotAvailable": "Tõuketeavitused pole saadaval",
"@pushNotificationsNotAvailable": {},
"pleaseAddATitle": "Palun lisa pealkiri",
"@pleaseAddATitle": {},
"makeAdminDescription": "Kui annad sellele kasutajale peakasutaja õigused, siis kuna tal on sinuga samad õigused, sa ei saa seda toimingut enam tagasi pöörata.",
"@makeAdminDescription": {},
"noTodosYet": "Siia vestlusesse pole veel lisatud ühtegi tegemiste loendit. Tee esimene ja jätka selle täitmist üheskoos teistega. 📝",
"@noTodosYet": {},
"archiveRoomDescription": "Selle vestluse tõstame nüüd arhiivi. Muud osalejad näevad, et sa oled vestlusest lahkunud.",
"@archiveRoomDescription": {},
"hasKnocked": "{user} on jututoa uksele koputanud",
"@hasKnocked": {
"placeholders": {
"user": {}
}
},
"newTodo": "Uus tegevus",
"@newTodo": {},
"learnMore": "Loe lisaks",
"@learnMore": {},
"todoListChangedError": "Hopsti... Seda tegevuste loendit on keegi muutnud just samal ajal, kui sina olid seda muutmas.",
"@todoListChangedError": {},
"roomUpgradeDescription": "See vestlus luuakse nüüd uuesti jututoa uue versioonina. Kõik senised osalejad saavad teate, et nad peavad liituma uue vestlusega. Jututubade versioonide kohta leiad teavet https://spec.matrix.org/latest/rooms/ lehelt",
"@roomUpgradeDescription": {},
"pleaseEnterANumber": "Palun sisesta 0'st suurem number",
"@pleaseEnterANumber": {},
"kickUserDescription": "See kasutaja on nüüd jutuoast välja müksatud, kuid talle pole seatud suhtluskeeldu. Avaliku jututoa puhul saab ta alati uuesti liituda.",
"@kickUserDescription": {},
"todosUnencrypted": "Palun arvesta, et tegemiste loend on nähtav kõikidele vestluses osalejatele ja pole läbivalt krüptitud.",
"@todosUnencrypted": {}
}

View file

@ -84,7 +84,7 @@
"username": {}
}
},
"banFromChat": "Kanporatu txatetik",
"banFromChat": "Txatera batzeko debekua ezarri",
"@banFromChat": {
"type": "text",
"placeholders": {}
@ -226,7 +226,7 @@
"type": "text",
"placeholders": {}
},
"changeTheNameOfTheGroup": "Aldatu taldearen izena",
"changeTheNameOfTheGroup": "Taldearen izena aldatu",
"@changeTheNameOfTheGroup": {
"type": "text",
"placeholders": {}
@ -372,7 +372,7 @@
"type": "text",
"placeholders": {}
},
"deleteMessage": "Ezabatu mezua",
"deleteMessage": "Mezuak ezabatu",
"@deleteMessage": {
"type": "text",
"placeholders": {}
@ -521,12 +521,12 @@
"displayname": {}
}
},
"guestsAreForbidden": "Bisitariak debekatuta daude",
"guestsAreForbidden": "Ez, bisitariak ez daude baimenduta",
"@guestsAreForbidden": {
"type": "text",
"placeholders": {}
},
"guestsCanJoin": "Bisitariak batu daitezke",
"guestsCanJoin": "Bai, bisitariak batu daitezke",
"@guestsCanJoin": {
"type": "text",
"placeholders": {}
@ -559,7 +559,7 @@
"type": "text",
"placeholders": {}
},
"inviteContact": "Gonbidatu kontaktua",
"inviteContact": "Kontaktuak gonbidatu",
"@inviteContact": {
"type": "text",
"placeholders": {}
@ -630,7 +630,7 @@
"targetName": {}
}
},
"kickFromChat": "Kanporatu txatetik",
"kickFromChat": "Txatetik kanporatu",
"@kickFromChat": {
"type": "text",
"placeholders": {}
@ -746,7 +746,7 @@
"type": "text",
"placeholders": {}
},
"noGoogleServicesWarning": "Dirudienez ez daukazu Googleren zerbitzurik zure mugikorrean. Primerako erabakia zure pribatutasunerako! FluffyChaten jakinarazpenak jasotzeko https://microg.org/ edo https://unifiedpush.org/ erabiltzea gomendatzen dugu.",
"noGoogleServicesWarning": "Ez dirudi Firebase Cloud Messaging zure mugikorrean erabilgarri dagoenik. Jakinarazpenak jasotzeko ntfy instalatzea gomendatzen dugu. ntfy edo beste Unified Push hornitzaileren batekin, push jakinarazpenak jaso ditzazkezu datuentzako segurua den modu batean. ntfy PlayStore edo F-Droid dendetatik deskarga dezakezu.",
"@noGoogleServicesWarning": {
"type": "text",
"placeholders": {}
@ -1021,7 +1021,7 @@
"type": "text",
"placeholders": {}
},
"setInvitationLink": "Ezarri gonbidapen-esteka",
"setInvitationLink": "Gonbidapen-esteka ezarri",
"@setInvitationLink": {
"type": "text",
"placeholders": {}
@ -1364,7 +1364,7 @@
"type": "text",
"placeholders": {}
},
"editRoomAvatar": "Editatu gelaren abatarra",
"editRoomAvatar": "Gelaren abatarra editatu",
"@editRoomAvatar": {
"type": "text",
"placeholders": {}
@ -1697,7 +1697,7 @@
},
"chatHasBeenAddedToThisSpace": "Txata gune honetara gehitu da",
"@chatHasBeenAddedToThisSpace": {},
"configureChat": "Konfiguratu txata",
"configureChat": "Txata konfiguratu",
"@configureChat": {
"type": "text",
"placeholders": {}
@ -2101,7 +2101,7 @@
"@sendAsText": {
"type": "text"
},
"sendMessages": "Bidali mezuak",
"sendMessages": "Mezuak bidali",
"@sendMessages": {
"type": "text",
"placeholders": {}
@ -2166,7 +2166,7 @@
"type": "text",
"placeholders": {}
},
"unverified": "Egiaztatu gabe",
"unverified": "Egiaztatu gabe(a)",
"@unverified": {},
"verified": "Egiaztatuta",
"@verified": {
@ -2504,7 +2504,7 @@
"@continueWith": {},
"pleaseTryAgainLaterOrChooseDifferentServer": "Saiatu geroago edo aukeratu beste zerbitzari bat.",
"@pleaseTryAgainLaterOrChooseDifferentServer": {},
"signInWith": "Hasi saioa {provider}(e)kin",
"signInWith": "Hasi saioa {provider}(r)ekin",
"@signInWith": {
"type": "text",
"placeholders": {
@ -2569,7 +2569,7 @@
"reason": {}
}
},
"anyoneCanKnock": "Edonork egin dezake batzeko eskaera",
"anyoneCanKnock": "Edonork eska dezake batzeko baimena",
"@anyoneCanKnock": {},
"redactMessageDescription": "Mezua elkarrizketa honetako partaide guztientzat botako da atzera. Ezin da desegin.",
"@redactMessageDescription": {},
@ -2605,10 +2605,50 @@
"@createGroup": {},
"invite": "Gonbidatu",
"@invite": {},
"invalidInput": "Sarrerak ez du balio!",
"invalidInput": "Sartu duzunak ez du balio!",
"@invalidInput": {},
"inviteGroupChat": "📨 Gonbidatu taldeko txatera",
"@inviteGroupChat": {},
"invitePrivateChat": "📨 Gonbidatu txat pribatura",
"@invitePrivateChat": {}
"@invitePrivateChat": {},
"banUserDescription": "Erabiltzailea txatetik kanporatu eta berriro sartzeko debekua ezarriko zaio; ezingo da berriro sartu debekua kendu arte.",
"@banUserDescription": {},
"removeDevicesDescription": "Gailu honetako saioa amaituko da eta ezingo duzu mezurik jaso aurrerantzean.",
"@removeDevicesDescription": {},
"unbanUserDescription": "Erabiltzailea txatera berriro sartu ahal izango da berak nahi izanez gero.",
"@unbanUserDescription": {},
"todoLists": "(Beta) Zeregin-zerrendak",
"@todoLists": {},
"editTodo": "Editatu zeregina",
"@editTodo": {},
"pushNotificationsNotAvailable": "Push jakinarazpenak ez daude erabilgarri",
"@pushNotificationsNotAvailable": {},
"pleaseAddATitle": "Gehitu izenburua",
"@pleaseAddATitle": {},
"makeAdminDescription": "Behin erabiltzaile hau administratzaile eginda, litekeena da desegin ezin izatea zuk dituzun baimenak izango dituelako.",
"@makeAdminDescription": {},
"noTodosYet": "Oraindik ez da zereginik gehitu txat honetara. Sortu lehen zeregina eta hasi elkarlanean besteekin. 📝",
"@noTodosYet": {},
"archiveRoomDescription": "Txata artxibategira mugituko da. Beste erabiltzaileek txatetik alde egin duzula ikusi ahal izango dute.",
"@archiveRoomDescription": {},
"hasKnocked": "{user}(e)k baimena eskatu du",
"@hasKnocked": {
"placeholders": {
"user": {}
}
},
"newTodo": "Zeregin berria",
"@newTodo": {},
"learnMore": "Gehiago irakurri",
"@learnMore": {},
"todoListChangedError": "Hara… zeregin-zerrenda aldatu da editatzen ari zinen bitartean.",
"@todoListChangedError": {},
"roomUpgradeDescription": "Gela bertsio berri gisa birsortuko da txata. Partaide guztiei jakinaraziko zaie txat berrira aldatu behar direla. Gehiago irakur dezakezu gela bertsioei buruz ondorengo estekan: https://spec.matrix.org/latest/rooms/",
"@roomUpgradeDescription": {},
"pleaseEnterANumber": "Sartu 0 baino zenbaki handiago bat",
"@pleaseEnterANumber": {},
"kickUserDescription": "Erabiltzailea txatetik kanporatu da baina ez zaio debekua ezarri. Txat publikoen kasuan, edozein momentutan batu daiteke berriro.",
"@kickUserDescription": {},
"todosUnencrypted": "Kontuan izan zereginak txateko guztientzat daudela ikusgai, eta ez daudela ertzetik ertzera zifratuta.",
"@todosUnencrypted": {}
}

View file

@ -2502,5 +2502,152 @@
"continueWith": "ادامه دادن با:",
"@continueWith": {},
"pleaseTryAgainLaterOrChooseDifferentServer": "لطفا بعدا تلاش کنید یا سرور دیگری انتخاب کنید.",
"@pleaseTryAgainLaterOrChooseDifferentServer": {}
"@pleaseTryAgainLaterOrChooseDifferentServer": {},
"setColorTheme": "",
"@setColorTheme": {},
"banUserDescription": "",
"@banUserDescription": {},
"requests": "",
"@requests": {},
"removeDevicesDescription": "",
"@removeDevicesDescription": {},
"tryAgain": "",
"@tryAgain": {},
"unbanUserDescription": "",
"@unbanUserDescription": {},
"todoLists": "",
"@todoLists": {},
"messagesStyle": "",
"@messagesStyle": {},
"chatDescription": "",
"@chatDescription": {},
"editTodo": "",
"@editTodo": {},
"pushNotificationsNotAvailable": "",
"@pushNotificationsNotAvailable": {},
"invalidServerName": "",
"@invalidServerName": {},
"chatPermissions": "",
"@chatPermissions": {},
"pleaseAddATitle": "",
"@pleaseAddATitle": {},
"makeAdminDescription": "",
"@makeAdminDescription": {},
"setChatDescription": "",
"@setChatDescription": {},
"importFromZipFile": "",
"@importFromZipFile": {},
"redactedBy": "",
"@redactedBy": {
"type": "text",
"placeholders": {
"username": {}
}
},
"signInWith": "",
"@signInWith": {
"type": "text",
"placeholders": {
"provider": {}
}
},
"noTodosYet": "",
"@noTodosYet": {},
"optionalRedactReason": "",
"@optionalRedactReason": {},
"archiveRoomDescription": "",
"@archiveRoomDescription": {},
"exportEmotePack": "",
"@exportEmotePack": {},
"savedEmotePack": "",
"@savedEmotePack": {
"type": "text",
"placeholders": {
"path": {}
}
},
"inviteContactToGroupQuestion": "",
"@inviteContactToGroupQuestion": {},
"redactedByBecause": "",
"@redactedByBecause": {
"type": "text",
"placeholders": {
"username": {},
"reason": {}
}
},
"importZipFile": "",
"@importZipFile": {},
"anyoneCanKnock": "",
"@anyoneCanKnock": {},
"redactMessageDescription": "",
"@redactMessageDescription": {},
"invalidInput": "",
"@invalidInput": {},
"todosUnencrypted": "",
"@todosUnencrypted": {},
"addChatDescription": "",
"@addChatDescription": {},
"hasKnocked": "",
"@hasKnocked": {
"placeholders": {
"user": {}
}
},
"directChat": "",
"@directChat": {},
"noOneCanJoin": "",
"@noOneCanJoin": {},
"wrongPinEntered": "",
"@wrongPinEntered": {
"type": "text",
"placeholders": {
"seconds": {}
}
},
"sendTypingNotifications": "",
"@sendTypingNotifications": {},
"inviteGroupChat": "",
"@inviteGroupChat": {},
"invitePrivateChat": "",
"@invitePrivateChat": {},
"importEmojis": "",
"@importEmojis": {},
"noChatDescriptionYet": "",
"@noChatDescriptionYet": {},
"newTodo": "",
"@newTodo": {},
"learnMore": "",
"@learnMore": {},
"notAnImage": "",
"@notAnImage": {},
"chatDescriptionHasBeenChanged": "",
"@chatDescriptionHasBeenChanged": {},
"todoListChangedError": "",
"@todoListChangedError": {},
"roomUpgradeDescription": "",
"@roomUpgradeDescription": {},
"pleaseEnterANumber": "",
"@pleaseEnterANumber": {},
"profileNotFound": "",
"@profileNotFound": {},
"shareInviteLink": "",
"@shareInviteLink": {},
"emoteKeyboardNoRecents": "",
"@emoteKeyboardNoRecents": {
"type": "text",
"placeholders": {}
},
"setTheme": "",
"@setTheme": {},
"replace": "",
"@replace": {},
"createGroup": "",
"@createGroup": {},
"kickUserDescription": "",
"@kickUserDescription": {},
"importNow": "",
"@importNow": {},
"invite": "",
"@invite": {}
}

View file

@ -764,7 +764,7 @@
"type": "text",
"placeholders": {}
},
"inviteText": "{username} kutsui sinutFluffyChattiin. \n1. Asenna FluffyChat osoitteesta: https://fluffychat.im \n2. Rekisteröidy tai kirjaudu sisään\n3. Avaa kutsulinkki: {link}",
"inviteText": "{username} kutsui sinut FluffyChattiin.\n1. Viereaile sivulla: https://fluffychat.im ja asenna sovellus\n2. Rekisteröidy tai kirjaudu sisään\n3. Avaa kutsulinkki:\n{link}",
"@inviteText": {
"type": "text",
"placeholders": {
@ -1249,7 +1249,7 @@
"type": "text",
"placeholders": {}
},
"noGoogleServicesWarning": "Vaikuttaa siltä, ettei puhelimessasi ole Google-palveluita. Se on hyvä päätös yksityisyytesi kannalta! Vastaanottaaksesi push-notifikaatioita FluffyChätissä suosittelemme https://microg.org/ tai https://unifiedpush.org/ käyttämistä.",
"noGoogleServicesWarning": "Firebase Cloud Messaging -palvelu ei vaikuta olevan saatavilla laitteellasi. Saadaksesi push-ilmoituksia silti, suosittelemme Ntfy-sovelluksen asentamista. Käyttämällä Ntfy-sovellusta tai muuta Unified Push -tarjoajaa, saat push-ilmoitukset tietoturvallisella tavalla. Voit ladata Ntfy-sovelluksen Play Kaupasta tai F-Droidista.",
"@noGoogleServicesWarning": {
"type": "text",
"placeholders": {}
@ -1776,7 +1776,7 @@
"type": "text",
"placeholders": {}
},
"wallpaper": "Taustakuva",
"wallpaper": "Taustakuva:",
"@wallpaper": {
"type": "text",
"placeholders": {}
@ -2366,7 +2366,7 @@
"@whyIsThisMessageEncrypted": {},
"noKeyForThisMessage": "Tämä voi tapahtua mikäli viesti lähetettiin ennen sisäänkirjautumistasi tälle laitteelle.\n\nOn myös mahdollista, että lähettäjä on estänyt tämän laitteen tai jokin meni pieleen verkkoyhteyden kanssa.\n\nPystytkö lukemaan viestin toisella istunnolla? Siinä tapauksessa voit siirtää viestin siltä! Mene Asetukset > Laitteet ja varmista, että laitteesi ovat varmistaneet toisensa. Seuraavankerran avatessasi huoneen ja molempien istuntojen ollessa etualalla, avaimet siirretään automaattisesti.\n\nHaluatko varmistaa ettet menetä avaimia uloskirjautuessa tai laitteita vaihtaessa? Varmista avainvarmuuskopion käytössäolo asetuksista.",
"@noKeyForThisMessage": {},
"commandHint_markasdm": "Merkitse yksityiskeskusteluksi",
"commandHint_markasdm": "Merkitse yksityiskeskusteluksi syötetyn Matrix IDn kanssa",
"@commandHint_markasdm": {},
"foregroundServiceRunning": "Tämä ilmoitus näkyy etualapalvelun ollessa käynnissä.",
"@foregroundServiceRunning": {},
@ -2501,5 +2501,152 @@
"continueWith": "Jatka käyttäen:",
"@continueWith": {},
"pleaseTryAgainLaterOrChooseDifferentServer": "Yritä myöhemmin uudelleen tai valitse toinen palvelin.",
"@pleaseTryAgainLaterOrChooseDifferentServer": {}
"@pleaseTryAgainLaterOrChooseDifferentServer": {},
"setColorTheme": "Aseta väriteema:",
"@setColorTheme": {},
"requests": "Pyynnöt",
"@requests": {},
"tryAgain": "Yritä uudelleen",
"@tryAgain": {},
"messagesStyle": "Viestit:",
"@messagesStyle": {},
"chatDescription": "Keskustelun kuvaus",
"@chatDescription": {},
"invalidServerName": "Virheellinen palvelimen nimi",
"@invalidServerName": {},
"chatPermissions": "Keskustelun oikeudet",
"@chatPermissions": {},
"setChatDescription": "Asetti keskustelun kuvauksen",
"@setChatDescription": {},
"importFromZipFile": "Tuo .zip -tiedostosta",
"@importFromZipFile": {},
"redactedBy": "Poistanut {username}",
"@redactedBy": {
"type": "text",
"placeholders": {
"username": {}
}
},
"signInWith": "Kirjaudu sisään palvelulla {provider}",
"@signInWith": {
"type": "text",
"placeholders": {
"provider": {}
}
},
"optionalRedactReason": "(Vapaaehtoinen) Syy tämän viestin poistamiselle...",
"@optionalRedactReason": {},
"archiveRoomDescription": "Keskustelu siirretään arkistoon. Muut käyttäjät näkevät sinun poistuneen keskustelusta.",
"@archiveRoomDescription": {},
"exportEmotePack": "Vie emotepaketti .zip-tiedostona",
"@exportEmotePack": {},
"savedEmotePack": "Tallennettiin emotepaketti sijaintiin {path}!",
"@savedEmotePack": {
"type": "text",
"placeholders": {
"path": {}
}
},
"inviteContactToGroupQuestion": "Tahdotko kutsua yhteystiedon {contact} keskusteluun \"{groupName}\"?",
"@inviteContactToGroupQuestion": {},
"redactedByBecause": "Poistanut {username} syystä: \"{reason}\"",
"@redactedByBecause": {
"type": "text",
"placeholders": {
"username": {},
"reason": {}
}
},
"importZipFile": "Tuo zip-tiedosto",
"@importZipFile": {},
"anyoneCanKnock": "Kaikki voivat koputtaa",
"@anyoneCanKnock": {},
"redactMessageDescription": "Viesti poistetaan kaikilta keskustelun osallistujilta. Tätä ei voida kumota.",
"@redactMessageDescription": {},
"invalidInput": "Virheellinen syöte!",
"@invalidInput": {},
"addChatDescription": "Lisää keskustelulle kuvaus",
"@addChatDescription": {},
"hasKnocked": "{user} on koputtanut",
"@hasKnocked": {
"placeholders": {
"user": {}
}
},
"directChat": "Yksityiskeskustelu",
"@directChat": {},
"noOneCanJoin": "Kukaan ei voi liittyä",
"@noOneCanJoin": {},
"wrongPinEntered": "Väärä pin-koodi! Yritä uudelleen {seconds} sekuntin kuluttua...",
"@wrongPinEntered": {
"type": "text",
"placeholders": {
"seconds": {}
}
},
"sendTypingNotifications": "Lähetä kirjoitusilmoituksia",
"@sendTypingNotifications": {},
"inviteGroupChat": "Kutsu ryhmäkeskusteluun",
"@inviteGroupChat": {},
"invitePrivateChat": "Kutsu yksityiskeskusteluun",
"@invitePrivateChat": {},
"importEmojis": "Tuo emojit",
"@importEmojis": {},
"noChatDescriptionYet": "Keskustelun kuvausta ei ole vielä luotu.",
"@noChatDescriptionYet": {},
"notAnImage": "Tämä ei ole kuvatiedosto.",
"@notAnImage": {},
"chatDescriptionHasBeenChanged": "Keskustelun kuvaus muutettu",
"@chatDescriptionHasBeenChanged": {},
"roomUpgradeDescription": "Keskustelu luodaan uudelleen uudella huoneversiolla. Kaikille osallistujille ilmoitetaan, että heidän tulee siirtyä uuteen keskusteluun. Voit lukea lisää huoneversioista osoitteesta https://spec.matrix.org/latest/rooms/",
"@roomUpgradeDescription": {},
"pleaseEnterANumber": "Syötä suurempi luku kuin 0",
"@pleaseEnterANumber": {},
"profileNotFound": "Käyttäjää ei löydy palvelimelta. Tämä voi olla yhteysongelma tai käyttäjä ei ole olemassa.",
"@profileNotFound": {},
"shareInviteLink": "Jaa kutsulinkki",
"@shareInviteLink": {},
"emoteKeyboardNoRecents": "Viimeaikoina käytetyt emotet tulevat näkymään täällä...",
"@emoteKeyboardNoRecents": {
"type": "text",
"placeholders": {}
},
"setTheme": "Aseta teema:",
"@setTheme": {},
"replace": "Korvaa",
"@replace": {},
"createGroup": "Luo ryhmä",
"@createGroup": {},
"importNow": "Tuo nyt",
"@importNow": {},
"invite": "Kutsu",
"@invite": {},
"banUserDescription": "",
"@banUserDescription": {},
"removeDevicesDescription": "",
"@removeDevicesDescription": {},
"unbanUserDescription": "",
"@unbanUserDescription": {},
"todoLists": "",
"@todoLists": {},
"editTodo": "",
"@editTodo": {},
"pushNotificationsNotAvailable": "",
"@pushNotificationsNotAvailable": {},
"pleaseAddATitle": "",
"@pleaseAddATitle": {},
"makeAdminDescription": "",
"@makeAdminDescription": {},
"noTodosYet": "",
"@noTodosYet": {},
"todosUnencrypted": "",
"@todosUnencrypted": {},
"newTodo": "",
"@newTodo": {},
"learnMore": "",
"@learnMore": {},
"todoListChangedError": "",
"@todoListChangedError": {},
"kickUserDescription": "",
"@kickUserDescription": {}
}

View file

@ -2514,5 +2514,148 @@
"createGroup": "Créer un groupe",
"@createGroup": {},
"importNow": "Importer maintenant",
"@importNow": {}
"@importNow": {},
"reportErrorDescription": "",
"@reportErrorDescription": {},
"setColorTheme": "",
"@setColorTheme": {},
"banUserDescription": "",
"@banUserDescription": {},
"requests": "",
"@requests": {},
"removeDevicesDescription": "",
"@removeDevicesDescription": {},
"tryAgain": "",
"@tryAgain": {},
"unbanUserDescription": "",
"@unbanUserDescription": {},
"todoLists": "",
"@todoLists": {},
"messagesStyle": "",
"@messagesStyle": {},
"chatDescription": "",
"@chatDescription": {},
"editTodo": "",
"@editTodo": {},
"pushNotificationsNotAvailable": "",
"@pushNotificationsNotAvailable": {},
"invalidServerName": "",
"@invalidServerName": {},
"signInWithPassword": "",
"@signInWithPassword": {},
"pleaseAddATitle": "",
"@pleaseAddATitle": {},
"makeAdminDescription": "",
"@makeAdminDescription": {},
"setChatDescription": "",
"@setChatDescription": {},
"redactedBy": "",
"@redactedBy": {
"type": "text",
"placeholders": {
"username": {}
}
},
"signInWith": "",
"@signInWith": {
"type": "text",
"placeholders": {
"provider": {}
}
},
"noTodosYet": "",
"@noTodosYet": {},
"optionalRedactReason": "",
"@optionalRedactReason": {},
"archiveRoomDescription": "",
"@archiveRoomDescription": {},
"exportEmotePack": "",
"@exportEmotePack": {},
"savedEmotePack": "",
"@savedEmotePack": {
"type": "text",
"placeholders": {
"path": {}
}
},
"redactedByBecause": "",
"@redactedByBecause": {
"type": "text",
"placeholders": {
"username": {},
"reason": {}
}
},
"anyoneCanKnock": "",
"@anyoneCanKnock": {},
"redactMessageDescription": "",
"@redactMessageDescription": {},
"invalidInput": "",
"@invalidInput": {},
"todosUnencrypted": "",
"@todosUnencrypted": {},
"report": "",
"@report": {},
"addChatDescription": "",
"@addChatDescription": {},
"hasKnocked": "",
"@hasKnocked": {
"placeholders": {
"user": {}
}
},
"directChat": "",
"@directChat": {},
"noOneCanJoin": "",
"@noOneCanJoin": {},
"wrongPinEntered": "",
"@wrongPinEntered": {
"type": "text",
"placeholders": {
"seconds": {}
}
},
"sendTypingNotifications": "",
"@sendTypingNotifications": {},
"inviteGroupChat": "",
"@inviteGroupChat": {},
"invitePrivateChat": "",
"@invitePrivateChat": {},
"noChatDescriptionYet": "",
"@noChatDescriptionYet": {},
"newTodo": "",
"@newTodo": {},
"learnMore": "",
"@learnMore": {},
"todoListChangedError": "",
"@todoListChangedError": {},
"roomUpgradeDescription": "",
"@roomUpgradeDescription": {},
"pleaseEnterANumber": "",
"@pleaseEnterANumber": {},
"profileNotFound": "",
"@profileNotFound": {},
"jump": "",
"@jump": {},
"shareInviteLink": "",
"@shareInviteLink": {},
"emoteKeyboardNoRecents": "",
"@emoteKeyboardNoRecents": {
"type": "text",
"placeholders": {}
},
"setTheme": "",
"@setTheme": {},
"replace": "",
"@replace": {},
"pleaseTryAgainLaterOrChooseDifferentServer": "",
"@pleaseTryAgainLaterOrChooseDifferentServer": {},
"kickUserDescription": "",
"@kickUserDescription": {},
"invite": "",
"@invite": {},
"continueWith": "",
"@continueWith": {},
"openLinkInBrowser": "",
"@openLinkInBrowser": {}
}

File diff suppressed because it is too large Load diff

View file

@ -1164,7 +1164,7 @@
"type": "text",
"placeholders": {}
},
"noGoogleServicesWarning": "Semella que non tes os servizos de google no teu dispositivo. Ben feito! a túa privacidade agradécecho! Para recibir notificacións push en FluffyChat recomendamos usar https://microg.org/ ou https://unifiedpush.org/.",
"noGoogleServicesWarning": "Semella que non tes Firebase Cloud Messaging dispoñible no teu dispositivo. Para recibir notificacións push recomendamos que instales MicroG ou Unified Push.",
"@noGoogleServicesWarning": {
"type": "text",
"placeholders": {}
@ -2610,5 +2610,54 @@
"@emoteKeyboardNoRecents": {
"type": "text",
"placeholders": {}
}
},
"banUserDescription": "Vaise vetar a usuaria na conversa e non poderá entrar outra vez ata que se retire o veto.",
"@banUserDescription": {},
"removeDevicesDescription": "Vas pechar a sesión neste dispositivo e xa non poderás recibir mensaxes nel.",
"@removeDevicesDescription": {},
"unbanUserDescription": "A usuaria vai poder entrar outra vez na conversa se quere.",
"@unbanUserDescription": {},
"todoLists": "(Beta) Lista de tarefas",
"@todoLists": {},
"editTodo": "Editar tarefa",
"@editTodo": {},
"pushNotificationsNotAvailable": "Non están dispoñibles as notificacións push",
"@pushNotificationsNotAvailable": {},
"pleaseAddATitle": "Engade un título",
"@pleaseAddATitle": {},
"makeAdminDescription": "Cando convirtas a esta usuaria en admin non poderás desfacer a acción xa que terá os mesmos permisos ca ti.",
"@makeAdminDescription": {},
"noTodosYet": "Non se engadiron tarefas aínda a este chat. Crea primeiro a túa lista de tarefas e comeza a colaborar con outras. 📝",
"@noTodosYet": {},
"archiveRoomDescription": "Vaise mover o chat ao arquivo. Outras usuarias poderán ver que saíches da conversa.",
"@archiveRoomDescription": {},
"invalidInput": "Contido non válido!",
"@invalidInput": {},
"hasKnocked": "déronlle unha labazada a {user}",
"@hasKnocked": {
"placeholders": {
"user": {}
}
},
"wrongPinEntered": "PIN incorrecto! Inténtao outra vez en {seconds} segundos...",
"@wrongPinEntered": {
"type": "text",
"placeholders": {
"seconds": {}
}
},
"newTodo": "Nova tarefa",
"@newTodo": {},
"learnMore": "Saber máis",
"@learnMore": {},
"todoListChangedError": "Ooi... A lista cambiou mentras ti a editabas.",
"@todoListChangedError": {},
"roomUpgradeDescription": "Vaise recrear o chat coa nova versión da sala. Todas as participantes recibirán unha notificación para que cambien ao novo chat. Podes ler máis información acerca das versións das salas en https://spec.matrix.org/latest/rooms/",
"@roomUpgradeDescription": {},
"pleaseEnterANumber": "Escribe un número maior de cero",
"@pleaseEnterANumber": {},
"kickUserDescription": "A usuaria foi expulsada pero non vetada. En conversas públicas a usuaria pode volver cando queira.",
"@kickUserDescription": {},
"todosUnencrypted": "",
"@todosUnencrypted": {}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -2309,7 +2309,7 @@
"user": {}
}
},
"youUnbannedUser": "Ponovo si uključio/la si korisnika {user}",
"youUnbannedUser": "Ponovo si uključio/la korisnika {user}",
"@youUnbannedUser": {
"placeholders": {
"user": {}
@ -2617,5 +2617,45 @@
"placeholders": {
"seconds": {}
}
}
},
"hasKnocked": "{user} je pokucao/la",
"@hasKnocked": {
"placeholders": {
"user": {}
}
},
"pleaseEnterANumber": "Upiši broj veći od 0",
"@pleaseEnterANumber": {},
"banUserDescription": "",
"@banUserDescription": {},
"removeDevicesDescription": "",
"@removeDevicesDescription": {},
"unbanUserDescription": "",
"@unbanUserDescription": {},
"todoLists": "",
"@todoLists": {},
"editTodo": "",
"@editTodo": {},
"pushNotificationsNotAvailable": "",
"@pushNotificationsNotAvailable": {},
"pleaseAddATitle": "",
"@pleaseAddATitle": {},
"makeAdminDescription": "",
"@makeAdminDescription": {},
"noTodosYet": "",
"@noTodosYet": {},
"archiveRoomDescription": "",
"@archiveRoomDescription": {},
"todosUnencrypted": "",
"@todosUnencrypted": {},
"newTodo": "",
"@newTodo": {},
"learnMore": "",
"@learnMore": {},
"todoListChangedError": "",
"@todoListChangedError": {},
"roomUpgradeDescription": "",
"@roomUpgradeDescription": {},
"kickUserDescription": "",
"@kickUserDescription": {}
}

View file

@ -2004,5 +2004,651 @@
"placeholders": {}
},
"notAnImage": "Nem kép fájl.",
"@notAnImage": {}
"@notAnImage": {},
"showPassword": "",
"@showPassword": {
"type": "text",
"placeholders": {}
},
"hugContent": "",
"@hugContent": {
"type": "text",
"placeholders": {
"senderName": {}
}
},
"jumpToLastReadMessage": "",
"@jumpToLastReadMessage": {},
"allRooms": "",
"@allRooms": {
"type": "text",
"placeholders": {}
},
"whoCanSeeMyStories": "",
"@whoCanSeeMyStories": {},
"widgetVideo": "",
"@widgetVideo": {},
"dismiss": "",
"@dismiss": {},
"reportErrorDescription": "",
"@reportErrorDescription": {},
"setPermissionsLevel": "",
"@setPermissionsLevel": {
"type": "text",
"placeholders": {}
},
"removeYourAvatar": "",
"@removeYourAvatar": {
"type": "text",
"placeholders": {}
},
"unsupportedAndroidVersion": "",
"@unsupportedAndroidVersion": {},
"widgetJitsi": "",
"@widgetJitsi": {},
"messageType": "",
"@messageType": {},
"noEmailWarning": "",
"@noEmailWarning": {},
"indexedDbErrorLong": "",
"@indexedDbErrorLong": {},
"oneClientLoggedOut": "",
"@oneClientLoggedOut": {},
"toggleMuted": "",
"@toggleMuted": {
"type": "text",
"placeholders": {}
},
"startFirstChat": "",
"@startFirstChat": {},
"callingAccount": "",
"@callingAccount": {},
"setColorTheme": "",
"@setColorTheme": {},
"nextAccount": "",
"@nextAccount": {},
"singlesignon": "",
"@singlesignon": {
"type": "text",
"placeholders": {}
},
"allSpaces": "",
"@allSpaces": {},
"supposedMxid": "",
"@supposedMxid": {
"type": "text",
"placeholders": {
"mxid": {}
}
},
"user": "",
"@user": {},
"youAcceptedTheInvitation": "",
"@youAcceptedTheInvitation": {},
"youInvitedBy": "",
"@youInvitedBy": {
"placeholders": {
"user": {}
}
},
"banUserDescription": "",
"@banUserDescription": {},
"requests": "",
"@requests": {},
"widgetEtherpad": "",
"@widgetEtherpad": {},
"stories": "",
"@stories": {},
"addToStory": "",
"@addToStory": {},
"removeDevicesDescription": "",
"@removeDevicesDescription": {},
"separateChatTypes": "",
"@separateChatTypes": {
"type": "text",
"placeholders": {}
},
"tryAgain": "",
"@tryAgain": {},
"youKickedAndBanned": "",
"@youKickedAndBanned": {
"placeholders": {
"user": {}
}
},
"showDirectChatsInSpaces": "",
"@showDirectChatsInSpaces": {
"type": "text",
"placeholders": {}
},
"unbanUserDescription": "",
"@unbanUserDescription": {},
"todoLists": "",
"@todoLists": {},
"pleaseClickOnLink": "",
"@pleaseClickOnLink": {
"type": "text",
"placeholders": {}
},
"youRejectedTheInvitation": "",
"@youRejectedTheInvitation": {},
"otherCallingPermissions": "",
"@otherCallingPermissions": {},
"messagesStyle": "",
"@messagesStyle": {},
"widgetUrlError": "",
"@widgetUrlError": {},
"emailOrUsername": "",
"@emailOrUsername": {},
"newSpaceDescription": "",
"@newSpaceDescription": {},
"chatDescription": "",
"@chatDescription": {},
"callingAccountDetails": "",
"@callingAccountDetails": {},
"pleaseFollowInstructionsOnWeb": "",
"@pleaseFollowInstructionsOnWeb": {
"type": "text",
"placeholders": {}
},
"enterSpace": "",
"@enterSpace": {},
"encryptThisChat": "",
"@encryptThisChat": {},
"previousAccount": "",
"@previousAccount": {},
"reopenChat": "",
"@reopenChat": {},
"pleaseEnterRecoveryKey": "",
"@pleaseEnterRecoveryKey": {},
"toggleFavorite": "",
"@toggleFavorite": {
"type": "text",
"placeholders": {}
},
"widgetNameError": "",
"@widgetNameError": {},
"addToBundle": "",
"@addToBundle": {},
"spaceIsPublic": "",
"@spaceIsPublic": {
"type": "text",
"placeholders": {}
},
"addWidget": "",
"@addWidget": {},
"countFiles": "",
"@countFiles": {
"placeholders": {
"count": {}
}
},
"noKeyForThisMessage": "",
"@noKeyForThisMessage": {},
"shareLocation": "",
"@shareLocation": {
"type": "text",
"placeholders": {}
},
"editTodo": "",
"@editTodo": {},
"pushNotificationsNotAvailable": "",
"@pushNotificationsNotAvailable": {},
"storeInAppleKeyChain": "",
"@storeInAppleKeyChain": {},
"replaceRoomWithNewerVersion": "",
"@replaceRoomWithNewerVersion": {
"type": "text",
"placeholders": {}
},
"invalidServerName": "",
"@invalidServerName": {},
"chatPermissions": "",
"@chatPermissions": {},
"wipeChatBackup": "",
"@wipeChatBackup": {
"type": "text",
"placeholders": {}
},
"sender": "",
"@sender": {},
"storeInAndroidKeystore": "",
"@storeInAndroidKeystore": {},
"signInWithPassword": "",
"@signInWithPassword": {},
"pleaseAddATitle": "",
"@pleaseAddATitle": {},
"makeAdminDescription": "",
"@makeAdminDescription": {},
"synchronizingPleaseWait": "",
"@synchronizingPleaseWait": {
"type": "text",
"placeholders": {}
},
"transferFromAnotherDevice": "",
"@transferFromAnotherDevice": {
"type": "text",
"placeholders": {}
},
"pushRules": "",
"@pushRules": {
"type": "text",
"placeholders": {}
},
"saveKeyManuallyDescription": "",
"@saveKeyManuallyDescription": {},
"editBundlesForAccount": "",
"@editBundlesForAccount": {},
"whyIsThisMessageEncrypted": "",
"@whyIsThisMessageEncrypted": {},
"setChatDescription": "",
"@setChatDescription": {},
"spaceName": "",
"@spaceName": {
"type": "text",
"placeholders": {}
},
"importFromZipFile": "",
"@importFromZipFile": {},
"toggleUnread": "",
"@toggleUnread": {
"type": "text",
"placeholders": {}
},
"noOtherDevicesFound": "",
"@noOtherDevicesFound": {},
"addDescription": "",
"@addDescription": {},
"redactedBy": "",
"@redactedBy": {
"type": "text",
"placeholders": {
"username": {}
}
},
"videoCallsBetaWarning": "",
"@videoCallsBetaWarning": {},
"storyPrivacyWarning": "",
"@storyPrivacyWarning": {},
"matrixWidgets": "",
"@matrixWidgets": {},
"signInWith": "",
"@signInWith": {
"type": "text",
"placeholders": {
"provider": {}
}
},
"fileIsTooBigForServer": "",
"@fileIsTooBigForServer": {},
"noTodosYet": "",
"@noTodosYet": {},
"verified": "",
"@verified": {
"type": "text",
"placeholders": {}
},
"callingPermissions": "",
"@callingPermissions": {},
"readUpToHere": "",
"@readUpToHere": {},
"start": "",
"@start": {},
"unlockOldMessages": "",
"@unlockOldMessages": {},
"numChats": "",
"@numChats": {
"type": "number",
"placeholders": {
"number": {}
}
},
"whatIsGoingOn": "",
"@whatIsGoingOn": {},
"optionalRedactReason": "",
"@optionalRedactReason": {},
"sendAsText": "",
"@sendAsText": {
"type": "text"
},
"archiveRoomDescription": "",
"@archiveRoomDescription": {},
"exportEmotePack": "",
"@exportEmotePack": {},
"switchToAccount": "",
"@switchToAccount": {
"type": "number",
"placeholders": {
"number": {}
}
},
"setAsCanonicalAlias": "",
"@setAsCanonicalAlias": {
"type": "text",
"placeholders": {}
},
"whyDoYouWantToReportThis": "",
"@whyDoYouWantToReportThis": {
"type": "text",
"placeholders": {}
},
"letsStart": "",
"@letsStart": {},
"experimentalVideoCalls": "",
"@experimentalVideoCalls": {},
"savedEmotePack": "",
"@savedEmotePack": {
"type": "text",
"placeholders": {
"path": {}
}
},
"pleaseEnterRecoveryKeyDescription": "",
"@pleaseEnterRecoveryKeyDescription": {},
"inviteContactToGroupQuestion": "",
"@inviteContactToGroupQuestion": {},
"redactedByBecause": "",
"@redactedByBecause": {
"type": "text",
"placeholders": {
"username": {},
"reason": {}
}
},
"youHaveWithdrawnTheInvitationFor": "",
"@youHaveWithdrawnTheInvitationFor": {
"placeholders": {
"user": {}
}
},
"appearOnTopDetails": "",
"@appearOnTopDetails": {},
"enterRoom": "",
"@enterRoom": {},
"pleaseChooseAPasscode": "",
"@pleaseChooseAPasscode": {
"type": "text",
"placeholders": {}
},
"reportUser": "",
"@reportUser": {},
"confirmEventUnpin": "",
"@confirmEventUnpin": {},
"youInvitedUser": "",
"@youInvitedUser": {
"placeholders": {
"user": {}
}
},
"fileHasBeenSavedAt": "",
"@fileHasBeenSavedAt": {
"type": "text",
"placeholders": {
"path": {}
}
},
"importZipFile": "",
"@importZipFile": {},
"anyoneCanKnock": "",
"@anyoneCanKnock": {},
"redactMessageDescription": "",
"@redactMessageDescription": {},
"recoveryKey": "",
"@recoveryKey": {},
"invalidInput": "",
"@invalidInput": {},
"todosUnencrypted": "",
"@todosUnencrypted": {},
"yourPublicKey": "",
"@yourPublicKey": {
"type": "text",
"placeholders": {}
},
"tooManyRequestsWarning": "",
"@tooManyRequestsWarning": {
"type": "text",
"placeholders": {}
},
"replyHasBeenSent": "",
"@replyHasBeenSent": {},
"doNotShowAgain": "",
"@doNotShowAgain": {},
"report": "",
"@report": {},
"status": "",
"@status": {
"type": "text",
"placeholders": {}
},
"yourStory": "",
"@yourStory": {},
"unverified": "",
"@unverified": {},
"serverRequiresEmail": "",
"@serverRequiresEmail": {},
"hideUnimportantStateEvents": "",
"@hideUnimportantStateEvents": {},
"screenSharingTitle": "",
"@screenSharingTitle": {},
"widgetCustom": "",
"@widgetCustom": {},
"addToSpaceDescription": "",
"@addToSpaceDescription": {},
"whoCanSeeMyStoriesDesc": "",
"@whoCanSeeMyStoriesDesc": {},
"youBannedUser": "",
"@youBannedUser": {
"placeholders": {
"user": {}
}
},
"unsubscribeStories": "",
"@unsubscribeStories": {},
"addChatDescription": "",
"@addChatDescription": {},
"hasKnocked": "",
"@hasKnocked": {
"placeholders": {
"user": {}
}
},
"publish": "",
"@publish": {},
"openLinkInBrowser": "",
"@openLinkInBrowser": {},
"messageInfo": "",
"@messageInfo": {},
"disableEncryptionWarning": "",
"@disableEncryptionWarning": {},
"directChat": "",
"@directChat": {},
"noOneCanJoin": "",
"@noOneCanJoin": {},
"wrongPinEntered": "",
"@wrongPinEntered": {
"type": "text",
"placeholders": {
"seconds": {}
}
},
"sendTypingNotifications": "",
"@sendTypingNotifications": {},
"inviteGroupChat": "",
"@inviteGroupChat": {},
"appearOnTop": "",
"@appearOnTop": {},
"invitePrivateChat": "",
"@invitePrivateChat": {},
"foregroundServiceRunning": "",
"@foregroundServiceRunning": {},
"voiceCall": "",
"@voiceCall": {},
"importEmojis": "",
"@importEmojis": {},
"wasDirectChatDisplayName": "",
"@wasDirectChatDisplayName": {
"type": "text",
"placeholders": {
"oldDisplayName": {}
}
},
"noChatDescriptionYet": "",
"@noChatDescriptionYet": {},
"newTodo": "",
"@newTodo": {},
"removeFromBundle": "",
"@removeFromBundle": {},
"whoCanPerformWhichAction": "",
"@whoCanPerformWhichAction": {
"type": "text",
"placeholders": {}
},
"learnMore": "",
"@learnMore": {},
"users": "",
"@users": {},
"openGallery": "",
"@openGallery": {},
"chatDescriptionHasBeenChanged": "",
"@chatDescriptionHasBeenChanged": {},
"newGroup": "",
"@newGroup": {},
"bundleName": "",
"@bundleName": {},
"todoListChangedError": "",
"@todoListChangedError": {},
"removeFromSpace": "",
"@removeFromSpace": {},
"enterInviteLinkOrMatrixId": "",
"@enterInviteLinkOrMatrixId": {},
"roomUpgradeDescription": "",
"@roomUpgradeDescription": {},
"pleaseEnterANumber": "",
"@pleaseEnterANumber": {},
"youKicked": "",
"@youKicked": {
"placeholders": {
"user": {}
}
},
"profileNotFound": "",
"@profileNotFound": {},
"jump": "",
"@jump": {},
"reactedWith": "",
"@reactedWith": {
"type": "text",
"placeholders": {
"sender": {},
"reaction": {}
}
},
"sorryThatsNotPossible": "",
"@sorryThatsNotPossible": {},
"storyFrom": "",
"@storyFrom": {
"type": "text",
"placeholders": {
"date": {},
"body": {}
}
},
"videoWithSize": "",
"@videoWithSize": {
"type": "text",
"placeholders": {
"size": {}
}
},
"shareInviteLink": "",
"@shareInviteLink": {},
"commandHint_markasdm": "",
"@commandHint_markasdm": {},
"recoveryKeyLost": "",
"@recoveryKeyLost": {},
"deviceKeys": "",
"@deviceKeys": {},
"emoteKeyboardNoRecents": "",
"@emoteKeyboardNoRecents": {
"type": "text",
"placeholders": {}
},
"setCustomEmotes": "",
"@setCustomEmotes": {
"type": "text",
"placeholders": {}
},
"endToEndEncryption": "",
"@endToEndEncryption": {},
"setTheme": "",
"@setTheme": {},
"youJoinedTheChat": "",
"@youJoinedTheChat": {},
"thisUserHasNotPostedAnythingYet": "",
"@thisUserHasNotPostedAnythingYet": {},
"markAsRead": "",
"@markAsRead": {},
"widgetName": "",
"@widgetName": {},
"errorAddingWidget": "",
"@errorAddingWidget": {},
"replace": "",
"@replace": {},
"youUnbannedUser": "",
"@youUnbannedUser": {
"placeholders": {
"user": {}
}
},
"newSpace": "",
"@newSpace": {},
"emojis": "",
"@emojis": {},
"pleaseTryAgainLaterOrChooseDifferentServer": "",
"@pleaseTryAgainLaterOrChooseDifferentServer": {},
"createGroup": "",
"@createGroup": {},
"hydrateTorLong": "",
"@hydrateTorLong": {},
"time": "",
"@time": {},
"custom": "",
"@custom": {},
"noBackupWarning": "",
"@noBackupWarning": {},
"editWidgets": "",
"@editWidgets": {},
"storeInSecureStorageDescription": "",
"@storeInSecureStorageDescription": {},
"openChat": "",
"@openChat": {},
"kickUserDescription": "",
"@kickUserDescription": {},
"importNow": "",
"@importNow": {},
"pinMessage": "",
"@pinMessage": {},
"invite": "",
"@invite": {},
"enableMultiAccounts": "",
"@enableMultiAccounts": {},
"continueWith": "",
"@continueWith": {},
"indexedDbErrorTitle": "",
"@indexedDbErrorTitle": {},
"discover": "",
"@discover": {
"type": "text",
"placeholders": {}
},
"unsupportedAndroidVersionLong": "",
"@unsupportedAndroidVersionLong": {},
"storeSecurlyOnThisDevice": "",
"@storeSecurlyOnThisDevice": {},
"iUnderstand": "",
"@iUnderstand": {},
"screenSharingDetail": "",
"@screenSharingDetail": {},
"placeCall": "",
"@placeCall": {}
}

View file

@ -2616,5 +2616,45 @@
"placeholders": {
"seconds": {}
}
}
},
"banUserDescription": "",
"@banUserDescription": {},
"removeDevicesDescription": "",
"@removeDevicesDescription": {},
"unbanUserDescription": "",
"@unbanUserDescription": {},
"todoLists": "",
"@todoLists": {},
"editTodo": "",
"@editTodo": {},
"pushNotificationsNotAvailable": "",
"@pushNotificationsNotAvailable": {},
"pleaseAddATitle": "",
"@pleaseAddATitle": {},
"makeAdminDescription": "",
"@makeAdminDescription": {},
"noTodosYet": "",
"@noTodosYet": {},
"archiveRoomDescription": "",
"@archiveRoomDescription": {},
"todosUnencrypted": "",
"@todosUnencrypted": {},
"hasKnocked": "",
"@hasKnocked": {
"placeholders": {
"user": {}
}
},
"newTodo": "",
"@newTodo": {},
"learnMore": "",
"@learnMore": {},
"todoListChangedError": "",
"@todoListChangedError": {},
"roomUpgradeDescription": "",
"@roomUpgradeDescription": {},
"pleaseEnterANumber": "",
"@pleaseEnterANumber": {},
"kickUserDescription": "",
"@kickUserDescription": {}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -2395,5 +2395,260 @@
}
},
"signInWithPassword": "パスワードでログイン",
"@signInWithPassword": {}
"@signInWithPassword": {},
"discover": "",
"@discover": {
"type": "text",
"placeholders": {}
},
"hugContent": "",
"@hugContent": {
"type": "text",
"placeholders": {
"senderName": {}
}
},
"jumpToLastReadMessage": "",
"@jumpToLastReadMessage": {},
"allRooms": "",
"@allRooms": {
"type": "text",
"placeholders": {}
},
"whoCanSeeMyStories": "",
"@whoCanSeeMyStories": {},
"commandHint_cuddle": "",
"@commandHint_cuddle": {},
"dismiss": "",
"@dismiss": {},
"reportErrorDescription": "",
"@reportErrorDescription": {},
"indexedDbErrorLong": "",
"@indexedDbErrorLong": {},
"setColorTheme": "",
"@setColorTheme": {},
"supposedMxid": "",
"@supposedMxid": {
"type": "text",
"placeholders": {
"mxid": {}
}
},
"banUserDescription": "",
"@banUserDescription": {},
"requests": "",
"@requests": {},
"widgetEtherpad": "",
"@widgetEtherpad": {},
"removeDevicesDescription": "",
"@removeDevicesDescription": {},
"separateChatTypes": "",
"@separateChatTypes": {
"type": "text",
"placeholders": {}
},
"tryAgain": "",
"@tryAgain": {},
"unbanUserDescription": "",
"@unbanUserDescription": {},
"todoLists": "",
"@todoLists": {},
"messagesStyle": "",
"@messagesStyle": {},
"newSpaceDescription": "",
"@newSpaceDescription": {},
"chatDescription": "",
"@chatDescription": {},
"callingAccountDetails": "",
"@callingAccountDetails": {},
"noKeyForThisMessage": "",
"@noKeyForThisMessage": {},
"editTodo": "",
"@editTodo": {},
"pushNotificationsNotAvailable": "",
"@pushNotificationsNotAvailable": {},
"invalidServerName": "",
"@invalidServerName": {},
"chatPermissions": "",
"@chatPermissions": {},
"pleaseAddATitle": "",
"@pleaseAddATitle": {},
"makeAdminDescription": "",
"@makeAdminDescription": {},
"saveKeyManuallyDescription": "",
"@saveKeyManuallyDescription": {},
"setChatDescription": "",
"@setChatDescription": {},
"importFromZipFile": "",
"@importFromZipFile": {},
"redactedBy": "",
"@redactedBy": {
"type": "text",
"placeholders": {
"username": {}
}
},
"fileIsTooBigForServer": "",
"@fileIsTooBigForServer": {},
"noTodosYet": "",
"@noTodosYet": {},
"readUpToHere": "",
"@readUpToHere": {},
"whatIsGoingOn": "",
"@whatIsGoingOn": {},
"optionalRedactReason": "",
"@optionalRedactReason": {},
"archiveRoomDescription": "",
"@archiveRoomDescription": {},
"exportEmotePack": "",
"@exportEmotePack": {},
"savedEmotePack": "",
"@savedEmotePack": {
"type": "text",
"placeholders": {
"path": {}
}
},
"openInMaps": "",
"@openInMaps": {
"type": "text",
"placeholders": {}
},
"inviteContactToGroupQuestion": "",
"@inviteContactToGroupQuestion": {},
"redactedByBecause": "",
"@redactedByBecause": {
"type": "text",
"placeholders": {
"username": {},
"reason": {}
}
},
"fileHasBeenSavedAt": "",
"@fileHasBeenSavedAt": {
"type": "text",
"placeholders": {
"path": {}
}
},
"importZipFile": "",
"@importZipFile": {},
"anyoneCanKnock": "",
"@anyoneCanKnock": {},
"redactMessageDescription": "",
"@redactMessageDescription": {},
"invalidInput": "",
"@invalidInput": {},
"todosUnencrypted": "",
"@todosUnencrypted": {},
"report": "",
"@report": {},
"googlyEyesContent": "",
"@googlyEyesContent": {
"type": "text",
"placeholders": {
"senderName": {}
}
},
"addChatDescription": "",
"@addChatDescription": {},
"hasKnocked": "",
"@hasKnocked": {
"placeholders": {
"user": {}
}
},
"openLinkInBrowser": "",
"@openLinkInBrowser": {},
"commandHint_me": "",
"@commandHint_me": {
"type": "text",
"description": "Usage hint for the command /me"
},
"directChat": "",
"@directChat": {},
"noOneCanJoin": "",
"@noOneCanJoin": {},
"wrongPinEntered": "",
"@wrongPinEntered": {
"type": "text",
"placeholders": {
"seconds": {}
}
},
"sendTypingNotifications": "",
"@sendTypingNotifications": {},
"inviteGroupChat": "",
"@inviteGroupChat": {},
"appearOnTop": "",
"@appearOnTop": {},
"invitePrivateChat": "",
"@invitePrivateChat": {},
"commandHint_kick": "",
"@commandHint_kick": {
"type": "text",
"description": "Usage hint for the command /kick"
},
"commandHint_unban": "",
"@commandHint_unban": {
"type": "text",
"description": "Usage hint for the command /unban"
},
"importEmojis": "",
"@importEmojis": {},
"noChatDescriptionYet": "",
"@noChatDescriptionYet": {},
"newTodo": "",
"@newTodo": {},
"learnMore": "",
"@learnMore": {},
"notAnImage": "",
"@notAnImage": {},
"chatDescriptionHasBeenChanged": "",
"@chatDescriptionHasBeenChanged": {},
"todoListChangedError": "",
"@todoListChangedError": {},
"commandHint_op": "",
"@commandHint_op": {
"type": "text",
"description": "Usage hint for the command /op"
},
"roomUpgradeDescription": "",
"@roomUpgradeDescription": {},
"pleaseEnterANumber": "",
"@pleaseEnterANumber": {},
"profileNotFound": "",
"@profileNotFound": {},
"jump": "",
"@jump": {},
"shareInviteLink": "",
"@shareInviteLink": {},
"cuddleContent": "",
"@cuddleContent": {
"type": "text",
"placeholders": {
"senderName": {}
}
},
"emoteKeyboardNoRecents": "",
"@emoteKeyboardNoRecents": {
"type": "text",
"placeholders": {}
},
"setTheme": "",
"@setTheme": {},
"replace": "",
"@replace": {},
"pleaseTryAgainLaterOrChooseDifferentServer": "",
"@pleaseTryAgainLaterOrChooseDifferentServer": {},
"createGroup": "",
"@createGroup": {},
"kickUserDescription": "",
"@kickUserDescription": {},
"importNow": "",
"@importNow": {},
"invite": "",
"@invite": {},
"continueWith": "",
"@continueWith": {}
}

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

@ -1167,7 +1167,7 @@
"type": "text",
"placeholders": {}
},
"noGoogleServicesWarning": "Het lijkt erop dat je geen Google-services op je telefoon hebt. Dat is een goede beslissing voor je privacy! Om pushmeldingen in FluffyChat te ontvangen raden we je https://microg.org/ of https://unifiedpush.org aan.",
"noGoogleServicesWarning": "Firebase Cloud Messaging lijkt niet beschikbaar op je apparaat. Om nog steeds meldingen te krijgen, adviseren we om ntfy te installeren. Met ntfy of een andere Unified Push provider kun je meldingen ontvangen op een veilige manier. Je kunt ntfy downloaden van de PlayStore of van F-Droid.",
"@noGoogleServicesWarning": {
"type": "text",
"placeholders": {}
@ -2616,5 +2616,45 @@
"placeholders": {
"seconds": {}
}
}
},
"banUserDescription": "De persoon zal worden verbannen van de chat en kan niet meer toetreden totdat de verbanning is opgeheven.",
"@banUserDescription": {},
"removeDevicesDescription": "Je wordt op dit apparaat uitgelogd en zal niet langer in staat zijn om berichten te ontvangen.",
"@removeDevicesDescription": {},
"unbanUserDescription": "De persoon zal weer in staat zijn om de chat te betreden als ze het proberen.",
"@unbanUserDescription": {},
"todoLists": "(Beta) Todo's",
"@todoLists": {},
"editTodo": "Wijzig todo",
"@editTodo": {},
"pushNotificationsNotAvailable": "Meldingen zijn niet beschikbaar",
"@pushNotificationsNotAvailable": {},
"pleaseAddATitle": "Voeg een titel toe",
"@pleaseAddATitle": {},
"makeAdminDescription": "Wanneer je deze persoon beheerder maakt kun je dit niet ongedaan maken als jullie dezelfde rechten hebben.",
"@makeAdminDescription": {},
"noTodosYet": "Er zijn nog geen todo's toegevoegd aan deze chat. Maak je eerste todo en start met samenwerken met anderen. 📝",
"@noTodosYet": {},
"archiveRoomDescription": "De chat zal naar het archief worden verplaatst. Andere personen zullen in staat zijn te zien dat je de chat hebt verlaten.",
"@archiveRoomDescription": {},
"todosUnencrypted": "Let op dat todo's zichtbaar zijn voor iedereen in de chat en niet zijn versleuteld.",
"@todosUnencrypted": {},
"hasKnocked": "{user} heeft geklopt",
"@hasKnocked": {
"placeholders": {
"user": {}
}
},
"newTodo": "Nieuwe todo",
"@newTodo": {},
"learnMore": "Lees meer",
"@learnMore": {},
"todoListChangedError": "Oeps... De todo's zijn aangepast terwijl je aan het bewerken was.",
"@todoListChangedError": {},
"roomUpgradeDescription": "De chat zal dan opnieuw gemaakt worden met de nieuwe kamerversie. Alle deelnemers worden geïnformeerd dat ze moeten overstappen naar de nieuwe chat. Je kan meer lezen over kamerversies op https://spec.matrix.org/latest/rooms/",
"@roomUpgradeDescription": {},
"pleaseEnterANumber": "Vul een getal in groter dan 0",
"@pleaseEnterANumber": {},
"kickUserDescription": "De persoon is verwijderd uit de chat, maar is niet verbannen. In publieke chats kan de persoon op elk moment opnieuw deelnemen.",
"@kickUserDescription": {}
}

View file

@ -844,7 +844,7 @@
"type": "text",
"placeholders": {}
},
"inviteText": "{username} zaprosił/-a cię do FluffyChat. \n1. Zainstaluj FluffyChat: https://fluffychat.im \n2. Zarejestuj się lub zaloguj \n3. Otwórz link zaproszenia: {link}",
"inviteText": "{username} zaprosił/-a cię do FluffyChat. \n1. Odwiedź fluffychat.im i zainstaluj aplikację\n2. Zarejestuj się lub zaloguj \n3. Otwórz link zaproszenia:\n{link}",
"@inviteText": {
"type": "text",
"placeholders": {
@ -1490,7 +1490,7 @@
"type": "text",
"placeholders": {}
},
"wallpaper": "Tapeta",
"wallpaper": "Tapeta:",
"@wallpaper": {
"type": "text",
"placeholders": {}
@ -1827,7 +1827,7 @@
"type": "text",
"placeholders": {}
},
"redactMessage": "Przekaż wiadomość",
"redactMessage": "Utajnij wiadomość",
"@redactMessage": {
"type": "text",
"placeholders": {}
@ -1992,7 +1992,7 @@
"@whoCanSeeMyStoriesDesc": {},
"shareYourInviteLink": "Udostępnij swój link zaproszenia",
"@shareYourInviteLink": {},
"separateChatTypes": "Oddzielenie czatów bezpośrednich i grup",
"separateChatTypes": "Oddzielenie czatów bezpośrednich i grupowych",
"@separateChatTypes": {
"type": "text",
"placeholders": {}
@ -2202,7 +2202,7 @@
"mxid": {}
}
},
"commandHint_markasdm": "Oznacz jako pokój wiadomości bezpośrednich",
"commandHint_markasdm": "Oznacz jako pokój wiadomości bezpośrednich dla podanego Matrix ID",
"@commandHint_markasdm": {},
"confirmMatrixId": "Potwierdź swój identyfikator Matrix w celu usunięcia konta.",
"@confirmMatrixId": {},
@ -2483,5 +2483,172 @@
"removeFromBundle": "Usuń z tej paczki",
"@removeFromBundle": {},
"openLinkInBrowser": "Otwórz link w przeglądarce",
"@openLinkInBrowser": {}
"@openLinkInBrowser": {},
"allRooms": "Wszystkie czaty grupowe",
"@allRooms": {
"type": "text",
"placeholders": {}
},
"reportErrorDescription": "O nie. Coś poszło nie tak. Spróbuj ponownie później. Jeśli chcesz, możesz zgłosić błąd programistom.",
"@reportErrorDescription": {},
"setColorTheme": "Ustal styl kolorów:",
"@setColorTheme": {},
"requests": "Żądania",
"@requests": {},
"tryAgain": "Spróbuj ponownie",
"@tryAgain": {},
"messagesStyle": "Wiadomości:",
"@messagesStyle": {},
"chatDescription": "Opis czatu",
"@chatDescription": {},
"invalidServerName": "Nieprawidłowa nazwa serwera",
"@invalidServerName": {},
"chatPermissions": "Uprawnienia czatu",
"@chatPermissions": {},
"signInWithPassword": "Zaloguj się z hasłem",
"@signInWithPassword": {},
"setChatDescription": "Ustaw opis czatu",
"@setChatDescription": {},
"importFromZipFile": "Zaimportuj z pliku .zip",
"@importFromZipFile": {},
"discover": "Odkrywanie",
"@discover": {
"type": "text",
"placeholders": {}
},
"redactedBy": "Utajnione przez {username}",
"@redactedBy": {
"type": "text",
"placeholders": {
"username": {}
}
},
"signInWith": "Zaloguj się z {provider}",
"@signInWith": {
"type": "text",
"placeholders": {
"provider": {}
}
},
"optionalRedactReason": "(Opcjonalnie) Powód utajnienia tej wiadomości...",
"@optionalRedactReason": {},
"exportEmotePack": "Eksportuj pakiet Emotikon jako .zip",
"@exportEmotePack": {},
"savedEmotePack": "Zapisano pakiet emotikon do {path}!",
"@savedEmotePack": {
"type": "text",
"placeholders": {
"path": {}
}
},
"inviteContactToGroupQuestion": "Czy chcesz zaprosić {contact} do czatu „{groupName}”?",
"@inviteContactToGroupQuestion": {},
"redactedByBecause": "Utajnione przez {username} z powodu: \"{reason}\"",
"@redactedByBecause": {
"type": "text",
"placeholders": {
"username": {},
"reason": {}
}
},
"importZipFile": "Zaimportuj plik .zip",
"@importZipFile": {},
"anyoneCanKnock": "Każdy może zapukać",
"@anyoneCanKnock": {},
"redactMessageDescription": "Wiadomość zostanie utajniona u wszystkich uczestników tej rozmowy. Nie można tego cofnąć.",
"@redactMessageDescription": {},
"invalidInput": "Nieprawidłowe dane!",
"@invalidInput": {},
"report": "raport",
"@report": {},
"addChatDescription": "Dodaj opis tego czatu",
"@addChatDescription": {},
"directChat": "Rozmowa bezpośrednia",
"@directChat": {},
"noOneCanJoin": "Nikt nie może dołączyć",
"@noOneCanJoin": {},
"wrongPinEntered": "Wprowadzono nieprawidłowy kod PIN! Spróbuj ponownie za {seconds} sekund...",
"@wrongPinEntered": {
"type": "text",
"placeholders": {
"seconds": {}
}
},
"sendTypingNotifications": "Wysyłaj powiadomienie o pisaniu",
"@sendTypingNotifications": {},
"inviteGroupChat": "📨 Zaproszenie do rozmowy grupowej",
"@inviteGroupChat": {},
"invitePrivateChat": "📨 Zaproszenie do rozmowy prywatnej",
"@invitePrivateChat": {},
"importEmojis": "Zaimportuj Emoji",
"@importEmojis": {},
"noChatDescriptionYet": "Nie utworzono jeszcze opisu czatu.",
"@noChatDescriptionYet": {},
"notAnImage": "To nie jest plik obrazu.",
"@notAnImage": {},
"chatDescriptionHasBeenChanged": "Zmieniono opis czatu",
"@chatDescriptionHasBeenChanged": {},
"profileNotFound": "Nie można odnaleźć użytkownika na serwerze. Być może wystąpił problem z połączeniem lub użytkownik nie istnieje.",
"@profileNotFound": {},
"shareInviteLink": "Udostępnij link zaproszenia",
"@shareInviteLink": {},
"emoteKeyboardNoRecents": "Tutaj pojawiają się ostatnio używane emotikony...",
"@emoteKeyboardNoRecents": {
"type": "text",
"placeholders": {}
},
"setTheme": "Ustaw wygląd:",
"@setTheme": {},
"replace": "Zastąp",
"@replace": {},
"pleaseTryAgainLaterOrChooseDifferentServer": "Spróbuj ponownie później lub wybierz inny serwer.",
"@pleaseTryAgainLaterOrChooseDifferentServer": {},
"createGroup": "Utwórz grupę",
"@createGroup": {},
"importNow": "Zaimportuj",
"@importNow": {},
"invite": "Zaproszenie",
"@invite": {},
"continueWith": "Kontynuuj z:",
"@continueWith": {},
"banUserDescription": "",
"@banUserDescription": {},
"removeDevicesDescription": "",
"@removeDevicesDescription": {},
"unbanUserDescription": "",
"@unbanUserDescription": {},
"todoLists": "",
"@todoLists": {},
"editTodo": "",
"@editTodo": {},
"pushNotificationsNotAvailable": "",
"@pushNotificationsNotAvailable": {},
"pleaseAddATitle": "",
"@pleaseAddATitle": {},
"makeAdminDescription": "",
"@makeAdminDescription": {},
"noTodosYet": "",
"@noTodosYet": {},
"archiveRoomDescription": "",
"@archiveRoomDescription": {},
"todosUnencrypted": "",
"@todosUnencrypted": {},
"hasKnocked": "",
"@hasKnocked": {
"placeholders": {
"user": {}
}
},
"newTodo": "",
"@newTodo": {},
"learnMore": "",
"@learnMore": {},
"todoListChangedError": "",
"@todoListChangedError": {},
"roomUpgradeDescription": "",
"@roomUpgradeDescription": {},
"pleaseEnterANumber": "",
"@pleaseEnterANumber": {},
"kickUserDescription": "",
"@kickUserDescription": {}
}

File diff suppressed because it is too large Load diff

View file

@ -2476,5 +2476,185 @@
"exportEmotePack": "Exportar pacote de Emotes como .zip",
"@exportEmotePack": {},
"replace": "Substituir",
"@replace": {}
"@replace": {},
"jumpToLastReadMessage": "",
"@jumpToLastReadMessage": {},
"reportErrorDescription": "",
"@reportErrorDescription": {},
"setColorTheme": "",
"@setColorTheme": {},
"banUserDescription": "",
"@banUserDescription": {},
"requests": "",
"@requests": {},
"removeDevicesDescription": "",
"@removeDevicesDescription": {},
"tryAgain": "",
"@tryAgain": {},
"unbanUserDescription": "",
"@unbanUserDescription": {},
"todoLists": "",
"@todoLists": {},
"messagesStyle": "",
"@messagesStyle": {},
"newSpaceDescription": "",
"@newSpaceDescription": {},
"chatDescription": "",
"@chatDescription": {},
"encryptThisChat": "",
"@encryptThisChat": {},
"reopenChat": "",
"@reopenChat": {},
"editTodo": "",
"@editTodo": {},
"pushNotificationsNotAvailable": "",
"@pushNotificationsNotAvailable": {},
"invalidServerName": "",
"@invalidServerName": {},
"chatPermissions": "",
"@chatPermissions": {},
"signInWithPassword": "",
"@signInWithPassword": {},
"pleaseAddATitle": "",
"@pleaseAddATitle": {},
"makeAdminDescription": "",
"@makeAdminDescription": {},
"setChatDescription": "",
"@setChatDescription": {},
"noOtherDevicesFound": "",
"@noOtherDevicesFound": {},
"redactedBy": "",
"@redactedBy": {
"type": "text",
"placeholders": {
"username": {}
}
},
"signInWith": "",
"@signInWith": {
"type": "text",
"placeholders": {
"provider": {}
}
},
"fileIsTooBigForServer": "",
"@fileIsTooBigForServer": {},
"noTodosYet": "",
"@noTodosYet": {},
"readUpToHere": "",
"@readUpToHere": {},
"optionalRedactReason": "",
"@optionalRedactReason": {},
"archiveRoomDescription": "",
"@archiveRoomDescription": {},
"letsStart": "",
"@letsStart": {},
"inviteContactToGroupQuestion": "",
"@inviteContactToGroupQuestion": {},
"redactedByBecause": "",
"@redactedByBecause": {
"type": "text",
"placeholders": {
"username": {},
"reason": {}
}
},
"fileHasBeenSavedAt": "",
"@fileHasBeenSavedAt": {
"type": "text",
"placeholders": {
"path": {}
}
},
"anyoneCanKnock": "",
"@anyoneCanKnock": {},
"redactMessageDescription": "",
"@redactMessageDescription": {},
"invalidInput": "",
"@invalidInput": {},
"todosUnencrypted": "",
"@todosUnencrypted": {},
"report": "",
"@report": {},
"addChatDescription": "",
"@addChatDescription": {},
"hasKnocked": "",
"@hasKnocked": {
"placeholders": {
"user": {}
}
},
"openLinkInBrowser": "",
"@openLinkInBrowser": {},
"disableEncryptionWarning": "",
"@disableEncryptionWarning": {},
"directChat": "",
"@directChat": {},
"noOneCanJoin": "",
"@noOneCanJoin": {},
"wrongPinEntered": "",
"@wrongPinEntered": {
"type": "text",
"placeholders": {
"seconds": {}
}
},
"inviteGroupChat": "",
"@inviteGroupChat": {},
"invitePrivateChat": "",
"@invitePrivateChat": {},
"wasDirectChatDisplayName": "",
"@wasDirectChatDisplayName": {
"type": "text",
"placeholders": {
"oldDisplayName": {}
}
},
"noChatDescriptionYet": "",
"@noChatDescriptionYet": {},
"newTodo": "",
"@newTodo": {},
"learnMore": "",
"@learnMore": {},
"chatDescriptionHasBeenChanged": "",
"@chatDescriptionHasBeenChanged": {},
"todoListChangedError": "",
"@todoListChangedError": {},
"enterInviteLinkOrMatrixId": "",
"@enterInviteLinkOrMatrixId": {},
"roomUpgradeDescription": "",
"@roomUpgradeDescription": {},
"pleaseEnterANumber": "",
"@pleaseEnterANumber": {},
"profileNotFound": "",
"@profileNotFound": {},
"jump": "",
"@jump": {},
"sorryThatsNotPossible": "",
"@sorryThatsNotPossible": {},
"shareInviteLink": "",
"@shareInviteLink": {},
"deviceKeys": "",
"@deviceKeys": {},
"emoteKeyboardNoRecents": "",
"@emoteKeyboardNoRecents": {
"type": "text",
"placeholders": {}
},
"endToEndEncryption": "",
"@endToEndEncryption": {},
"setTheme": "",
"@setTheme": {},
"pleaseTryAgainLaterOrChooseDifferentServer": "",
"@pleaseTryAgainLaterOrChooseDifferentServer": {},
"createGroup": "",
"@createGroup": {},
"noBackupWarning": "",
"@noBackupWarning": {},
"kickUserDescription": "",
"@kickUserDescription": {},
"invite": "",
"@invite": {},
"continueWith": "",
"@continueWith": {}
}

File diff suppressed because it is too large Load diff

View file

@ -2502,5 +2502,152 @@
"pleaseTryAgainLaterOrChooseDifferentServer": "Vă rugăm să încercați din nou mai târziu sau să alegeți un server diferit.",
"@pleaseTryAgainLaterOrChooseDifferentServer": {},
"signInWithPassword": "Conectați-vă cu parolă",
"@signInWithPassword": {}
"@signInWithPassword": {},
"setColorTheme": "",
"@setColorTheme": {},
"banUserDescription": "",
"@banUserDescription": {},
"requests": "",
"@requests": {},
"removeDevicesDescription": "",
"@removeDevicesDescription": {},
"tryAgain": "",
"@tryAgain": {},
"unbanUserDescription": "",
"@unbanUserDescription": {},
"todoLists": "",
"@todoLists": {},
"messagesStyle": "",
"@messagesStyle": {},
"chatDescription": "",
"@chatDescription": {},
"editTodo": "",
"@editTodo": {},
"pushNotificationsNotAvailable": "",
"@pushNotificationsNotAvailable": {},
"invalidServerName": "",
"@invalidServerName": {},
"chatPermissions": "",
"@chatPermissions": {},
"pleaseAddATitle": "",
"@pleaseAddATitle": {},
"makeAdminDescription": "",
"@makeAdminDescription": {},
"setChatDescription": "",
"@setChatDescription": {},
"importFromZipFile": "",
"@importFromZipFile": {},
"redactedBy": "",
"@redactedBy": {
"type": "text",
"placeholders": {
"username": {}
}
},
"signInWith": "",
"@signInWith": {
"type": "text",
"placeholders": {
"provider": {}
}
},
"noTodosYet": "",
"@noTodosYet": {},
"optionalRedactReason": "",
"@optionalRedactReason": {},
"archiveRoomDescription": "",
"@archiveRoomDescription": {},
"exportEmotePack": "",
"@exportEmotePack": {},
"savedEmotePack": "",
"@savedEmotePack": {
"type": "text",
"placeholders": {
"path": {}
}
},
"inviteContactToGroupQuestion": "",
"@inviteContactToGroupQuestion": {},
"redactedByBecause": "",
"@redactedByBecause": {
"type": "text",
"placeholders": {
"username": {},
"reason": {}
}
},
"importZipFile": "",
"@importZipFile": {},
"anyoneCanKnock": "",
"@anyoneCanKnock": {},
"redactMessageDescription": "",
"@redactMessageDescription": {},
"invalidInput": "",
"@invalidInput": {},
"todosUnencrypted": "",
"@todosUnencrypted": {},
"addChatDescription": "",
"@addChatDescription": {},
"hasKnocked": "",
"@hasKnocked": {
"placeholders": {
"user": {}
}
},
"directChat": "",
"@directChat": {},
"noOneCanJoin": "",
"@noOneCanJoin": {},
"wrongPinEntered": "",
"@wrongPinEntered": {
"type": "text",
"placeholders": {
"seconds": {}
}
},
"sendTypingNotifications": "",
"@sendTypingNotifications": {},
"inviteGroupChat": "",
"@inviteGroupChat": {},
"invitePrivateChat": "",
"@invitePrivateChat": {},
"importEmojis": "",
"@importEmojis": {},
"noChatDescriptionYet": "",
"@noChatDescriptionYet": {},
"newTodo": "",
"@newTodo": {},
"learnMore": "",
"@learnMore": {},
"notAnImage": "",
"@notAnImage": {},
"chatDescriptionHasBeenChanged": "",
"@chatDescriptionHasBeenChanged": {},
"todoListChangedError": "",
"@todoListChangedError": {},
"roomUpgradeDescription": "",
"@roomUpgradeDescription": {},
"pleaseEnterANumber": "",
"@pleaseEnterANumber": {},
"profileNotFound": "",
"@profileNotFound": {},
"shareInviteLink": "",
"@shareInviteLink": {},
"emoteKeyboardNoRecents": "",
"@emoteKeyboardNoRecents": {
"type": "text",
"placeholders": {}
},
"setTheme": "",
"@setTheme": {},
"replace": "",
"@replace": {},
"createGroup": "",
"@createGroup": {},
"kickUserDescription": "",
"@kickUserDescription": {},
"importNow": "",
"@importNow": {},
"invite": "",
"@invite": {}
}

View file

@ -2617,5 +2617,45 @@
"@emoteKeyboardNoRecents": {
"type": "text",
"placeholders": {}
}
},
"banUserDescription": "",
"@banUserDescription": {},
"removeDevicesDescription": "",
"@removeDevicesDescription": {},
"unbanUserDescription": "",
"@unbanUserDescription": {},
"todoLists": "",
"@todoLists": {},
"editTodo": "",
"@editTodo": {},
"pushNotificationsNotAvailable": "",
"@pushNotificationsNotAvailable": {},
"pleaseAddATitle": "",
"@pleaseAddATitle": {},
"makeAdminDescription": "",
"@makeAdminDescription": {},
"noTodosYet": "",
"@noTodosYet": {},
"archiveRoomDescription": "",
"@archiveRoomDescription": {},
"todosUnencrypted": "",
"@todosUnencrypted": {},
"hasKnocked": "",
"@hasKnocked": {
"placeholders": {
"user": {}
}
},
"newTodo": "",
"@newTodo": {},
"learnMore": "",
"@learnMore": {},
"todoListChangedError": "",
"@todoListChangedError": {},
"roomUpgradeDescription": "",
"@roomUpgradeDescription": {},
"pleaseEnterANumber": "",
"@pleaseEnterANumber": {},
"kickUserDescription": "",
"@kickUserDescription": {}
}

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

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