Merge pull request #3303 from pangeachat/merge-main-into-prod
Merge main into prod
This commit is contained in:
commit
1c7166ca52
568 changed files with 131191 additions and 122557 deletions
1
.env
1
.env
|
|
@ -1,3 +1,4 @@
|
|||
ENVIRONMENT = 'staging'
|
||||
CHOREO_API = 'https://api.staging.pangea.chat'
|
||||
FRONTEND_URL='https://app.staging.pangea.chat'
|
||||
SYNAPSE_URL = 'matrix.staging.pangea.chat'
|
||||
|
|
|
|||
2
.github/CODEOWNERS
vendored
2
.github/CODEOWNERS
vendored
|
|
@ -1,2 +1,2 @@
|
|||
* @krille-chan
|
||||
assets/l10n/*.arb @weblate
|
||||
lib/l10n/*.arb @weblate
|
||||
27
.github/ISSUE_TEMPLATE/issue_pr_management.yml
vendored
Normal file
27
.github/ISSUE_TEMPLATE/issue_pr_management.yml
vendored
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
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@v9
|
||||
with:
|
||||
days-before-issue-stale: 365
|
||||
days-before-issue-close: 14
|
||||
stale-issue-label: "stale"
|
||||
stale-issue-message: "This issue is stale because it has been open for 365 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 365 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: 365
|
||||
days-before-pr-close: 14
|
||||
exempt-milestones: true
|
||||
exempt-assignees: krille-chan
|
||||
operations-per-run: 500
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
42
.github/dependabot.yml
vendored
42
.github/dependabot.yml
vendored
|
|
@ -1,20 +1,22 @@
|
|||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: "pub"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
allow:
|
||||
- dependency-name: "*"
|
||||
commit-message:
|
||||
prefix: "build: "
|
||||
include: "scope"
|
||||
- package-ecosystem: "github-actions"
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: "daily"
|
||||
allow:
|
||||
- dependency-name: "*"
|
||||
commit-message:
|
||||
prefix: "build: "
|
||||
include: "scope"
|
||||
# #Pangea
|
||||
# version: 2
|
||||
# updates:
|
||||
# - package-ecosystem: "pub"
|
||||
# directory: "/"
|
||||
# schedule:
|
||||
# interval: "daily"
|
||||
# allow:
|
||||
# - dependency-name: "*"
|
||||
# commit-message:
|
||||
# prefix: "build: "
|
||||
# include: "scope"
|
||||
# - package-ecosystem: "github-actions"
|
||||
# directory: "/"
|
||||
# schedule:
|
||||
# interval: "daily"
|
||||
# allow:
|
||||
# - dependency-name: "*"
|
||||
# commit-message:
|
||||
# prefix: "build: "
|
||||
# include: "scope"
|
||||
# Pangea#
|
||||
|
|
|
|||
41
.github/workflows/auto_pull_request.yaml
vendored
41
.github/workflows/auto_pull_request.yaml
vendored
|
|
@ -1,41 +0,0 @@
|
|||
name: Auto Pull Request
|
||||
|
||||
#on:
|
||||
# schedule:
|
||||
# - cron: '0 0 * * 0' # Run at midnight (00:00) every Sunday
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- auto-pr # Change this to match your main branch name
|
||||
|
||||
jobs:
|
||||
auto_pull_request:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
- name: Test
|
||||
run: echo ${{ github.head_ref }}.${{ github.sha }}
|
||||
|
||||
- name: Pull changes from FluffyChat
|
||||
run: |
|
||||
git config --global user.email "${{ vars.CI_EMAIL }}"
|
||||
git config --global user.name "${{ vars.CI_USERNAME }}"
|
||||
git remote add fluffychat https://github.com/krille-chan/fluffychat
|
||||
git fetch fluffychat main
|
||||
git merge --no-edit fluffychat/main --allow-unrelated-histories
|
||||
|
||||
- name: Push changes
|
||||
run: |
|
||||
git push origin HEAD:main-update-fluffy-automatic
|
||||
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v3
|
||||
with:
|
||||
token: ${{ secrets.GH_TOKEN }}
|
||||
title: Updated fork with new fluffy changes
|
||||
body: |
|
||||
This is an automatic PR created by GitHub Actions.
|
||||
branch: main
|
||||
79
.github/workflows/build-ios.yml
vendored
79
.github/workflows/build-ios.yml
vendored
|
|
@ -1,79 +0,0 @@
|
|||
name: build-ios
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
screenshot:
|
||||
type: string
|
||||
required: true
|
||||
ipa:
|
||||
description: 'Run IPA build'
|
||||
type: string
|
||||
required: true
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
screenshot:
|
||||
description: 'Run screenshot build'
|
||||
type: choice
|
||||
options: ['true', 'false']
|
||||
required: true
|
||||
ipa:
|
||||
description: 'Run IPA build'
|
||||
type: choice
|
||||
options: ['true', 'false']
|
||||
required: true
|
||||
|
||||
|
||||
jobs:
|
||||
build-ios:
|
||||
runs-on: macos-latest
|
||||
timeout-minutes: 20
|
||||
defaults:
|
||||
run:
|
||||
working-directory: ios
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- run: 'echo "$API_KEY" | base64 --decode > AuthKey.p8'
|
||||
shell: bash
|
||||
env:
|
||||
API_KEY: ${{ secrets.APP_STORE_CONNECT_API_KEY }}
|
||||
|
||||
- run: bundle install
|
||||
|
||||
- run: bundle exec fastlane versioning
|
||||
|
||||
- name: Flutter
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
cache: true
|
||||
cache-key: 'flutter-:os:-:channel:-:version:-:arch:-:hash:'
|
||||
cache-path: "${{ runner.tool_cache }}/flutter/:channel:-:version:-:arch:"
|
||||
- run: flutter build ios --simulator --target=integration_test/screenshot_test.dart
|
||||
if: ${{ inputs.screenshot == 'true' }}
|
||||
|
||||
- name: Archive integration ipa
|
||||
if: ${{ inputs.screenshot == 'true' }}
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: app-simulator-build
|
||||
path: build/ios/iphonesimulator/Runner.app
|
||||
if-no-files-found: error
|
||||
retention-days: 3
|
||||
|
||||
# Build ios Release
|
||||
- run: flutter build ios --release --config-only --no-codesign --target=lib/main.dart
|
||||
if: ${{ inputs.ipa == 'true' }}
|
||||
|
||||
- run: bundle exec fastlane build
|
||||
if: ${{ inputs.ipa == 'true' }}
|
||||
|
||||
- name: Archive ipa
|
||||
if: ${{ inputs.ipa == 'true' }}
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: Runner.ipa
|
||||
path: ios/Runner.ipa
|
||||
if-no-files-found: error
|
||||
retention-days: 3
|
||||
30
.github/workflows/check_duplicates.yaml
vendored
Normal file
30
.github/workflows/check_duplicates.yaml
vendored
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
# #Pangea
|
||||
# name: Check duplicates
|
||||
|
||||
# on:
|
||||
# issues:
|
||||
# types: [opened]
|
||||
|
||||
# jobs:
|
||||
# check_duplicates:
|
||||
# runs-on: ubuntu-latest
|
||||
# env:
|
||||
# title: ${{ github.event.issue.title }}
|
||||
# author: ${{ github.event.issue.user.login }}
|
||||
# number: ${{ github.event.issue.number }}
|
||||
# GH_TOKEN: ${{ github.token }}
|
||||
# steps:
|
||||
# - uses: actions/checkout@v4
|
||||
# - name: Check duplicates
|
||||
# run: |
|
||||
# issues=$(gh issue list --search '${{ env.title }}' --json number,title,url)
|
||||
# number=${{ env.number }}
|
||||
# issues_filtered=$(echo "$issues" | jq --arg num "$number" 'map(select(.number != ($num | tonumber)))')
|
||||
# if [ "$(echo "$issues_filtered" | jq length)" -eq 0 ]; then
|
||||
# echo "No duplicates found."
|
||||
# else
|
||||
# issues_markdown=$(echo "$issues_filtered" | jq -r '.[] | "- [" + .title + "](" + .url + ")"')
|
||||
# formatted_body=$(echo -e "@${{ env.author }}\nPossible duplication of:\n$issues_markdown")
|
||||
# gh issue comment ${{ github.event.issue.number }} --body "$formatted_body"
|
||||
# fi
|
||||
# Pangea#
|
||||
39
.github/workflows/dart_format.yaml
vendored
39
.github/workflows/dart_format.yaml
vendored
|
|
@ -1,39 +0,0 @@
|
|||
name: Dart Code Formatter
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
push:
|
||||
branches: main
|
||||
|
||||
jobs:
|
||||
format:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
ref: ${{ github.head_ref }}
|
||||
|
||||
- run: cat .github/workflows/versions.env >> $GITHUB_ENV
|
||||
- uses: subosito/flutter-action@v2
|
||||
with:
|
||||
flutter-version: ${{ env.FLUTTER_VERSION }}
|
||||
cache: true
|
||||
|
||||
- name: Auto-format Dart code
|
||||
run: |
|
||||
dart format lib/ test/
|
||||
dart run import_sorter:main --no-comments
|
||||
if ! git diff --exit-code; then
|
||||
git config user.name "github-actions[bot]"
|
||||
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
||||
git add .
|
||||
git commit -m "generated"
|
||||
git push
|
||||
fi
|
||||
|
||||
- name: Check for unformatted files
|
||||
if: ${{ failure() }}
|
||||
run: |
|
||||
echo "Code was formatted. Please verify the changes in the PR."
|
||||
200
.github/workflows/integrate.yaml
vendored
200
.github/workflows/integrate.yaml
vendored
|
|
@ -1,107 +1,105 @@
|
|||
name: Pull Request Workflow
|
||||
# #Pangea
|
||||
# name: Pull Request Workflow
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
merge_group:
|
||||
# on:
|
||||
# pull_request:
|
||||
# merge_group:
|
||||
|
||||
jobs:
|
||||
code_tests:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- run: ./scripts/generate-locale-config.sh
|
||||
- run: git diff --exit-code
|
||||
- run: cat .github/workflows/versions.env >> $GITHUB_ENV
|
||||
- uses: subosito/flutter-action@v2
|
||||
with:
|
||||
flutter-version: ${{ env.FLUTTER_VERSION }}
|
||||
cache: true
|
||||
- run: flutter pub get
|
||||
- run: flutter gen-l10n
|
||||
- name: Check formatting
|
||||
run: dart format lib/ test/ --set-exit-if-changed
|
||||
- name: Check import formatting
|
||||
run: dart run import_sorter:main --no-comments --exit-if-changed
|
||||
- name: Check license compliance
|
||||
run: dart run license_checker check-licenses -c licenses.yaml --problematic
|
||||
- run: flutter analyze
|
||||
# #Pangea - Commented out the following lines, we already have fcm enabled by default
|
||||
# - name: Apply google services patch
|
||||
# run: git apply ./scripts/enable-android-google-services.patch
|
||||
# Pangea#
|
||||
- run: flutter analyze
|
||||
- run: flutter test
|
||||
# jobs:
|
||||
# code_tests:
|
||||
# runs-on: ubuntu-latest
|
||||
# steps:
|
||||
# - uses: actions/checkout@v4
|
||||
# - run: ./scripts/generate-locale-config.sh
|
||||
# - run: git diff --exit-code
|
||||
# - run: cat .github/workflows/versions.env >> $GITHUB_ENV
|
||||
# - uses: subosito/flutter-action@v2
|
||||
# with:
|
||||
# flutter-version: ${{ env.FLUTTER_VERSION }}
|
||||
# cache: true
|
||||
# - run: flutter pub get
|
||||
# - run: flutter gen-l10n
|
||||
# - name: Check formatting
|
||||
# run: dart format lib/ test/ --set-exit-if-changed
|
||||
# - name: Check import formatting
|
||||
# run: dart run import_sorter:main --no-comments --exit-if-changed
|
||||
# - name: Check license compliance
|
||||
# run: dart run license_checker check-licenses -c licenses.yaml --problematic
|
||||
# - run: flutter analyze
|
||||
# - name: Apply google services patch
|
||||
# run: git apply ./scripts/enable-android-google-services.patch
|
||||
# - run: flutter analyze
|
||||
# - run: flutter test
|
||||
|
||||
build_apk:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- run: cat .github/workflows/versions.env >> $GITHUB_ENV
|
||||
- uses: actions/setup-java@v4
|
||||
with:
|
||||
java-version: ${{ env.JAVA_VERSION }}
|
||||
distribution: "zulu"
|
||||
- uses: subosito/flutter-action@v2
|
||||
with:
|
||||
flutter-version: ${{ env.FLUTTER_VERSION }}
|
||||
cache: false
|
||||
- run: flutter pub get
|
||||
- name: Free Disk Space (Ubuntu)
|
||||
uses: jlumbroso/free-disk-space@main
|
||||
with:
|
||||
# this might remove tools that are actually needed,
|
||||
# if set to "true" but frees about 6 GB
|
||||
tool-cache: false
|
||||
android: false
|
||||
- run: flutter build apk --debug
|
||||
# build_apk:
|
||||
# runs-on: ubuntu-latest
|
||||
# steps:
|
||||
# - uses: actions/checkout@v4
|
||||
# - run: cat .github/workflows/versions.env >> $GITHUB_ENV
|
||||
# - uses: actions/setup-java@v4
|
||||
# with:
|
||||
# java-version: ${{ env.JAVA_VERSION }}
|
||||
# distribution: "zulu"
|
||||
# - uses: subosito/flutter-action@v2
|
||||
# with:
|
||||
# flutter-version: ${{ env.FLUTTER_VERSION }}
|
||||
# cache: false
|
||||
# - run: flutter pub get
|
||||
# - name: Free Disk Space (Ubuntu)
|
||||
# uses: jlumbroso/free-disk-space@main
|
||||
# with:
|
||||
# # this might remove tools that are actually needed,
|
||||
# # if set to "true" but frees about 6 GB
|
||||
# tool-cache: false
|
||||
# android: false
|
||||
# - run: flutter build apk --debug
|
||||
|
||||
build_web:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- run: cat .github/workflows/versions.env >> $GITHUB_ENV
|
||||
- uses: subosito/flutter-action@v2
|
||||
with:
|
||||
flutter-version: ${{ env.FLUTTER_VERSION }}
|
||||
cache: false
|
||||
- run: flutter pub get
|
||||
- name: Prepare web
|
||||
run: ./scripts/prepare-web.sh
|
||||
- run: flutter build web
|
||||
# build_web:
|
||||
# runs-on: ubuntu-latest
|
||||
# steps:
|
||||
# - uses: actions/checkout@v4
|
||||
# - run: cat .github/workflows/versions.env >> $GITHUB_ENV
|
||||
# - uses: subosito/flutter-action@v2
|
||||
# with:
|
||||
# flutter-version: ${{ env.FLUTTER_VERSION }}
|
||||
# cache: false
|
||||
# - run: flutter pub get
|
||||
# - name: Prepare web
|
||||
# run: ./scripts/prepare-web.sh
|
||||
# - run: flutter build web
|
||||
|
||||
# #Pangea
|
||||
# commented out because we do not build Pangea Chat to linux
|
||||
# build_debug_linux:
|
||||
# strategy:
|
||||
# matrix:
|
||||
# arch: [ x64, arm64 ]
|
||||
# runs-on: ${{ matrix.arch == 'arm64' && 'self-hosted' || 'ubuntu-latest'}}
|
||||
# steps:
|
||||
# - uses: actions/checkout@v4
|
||||
# - run: cat .github/workflows/versions.env >> $GITHUB_ENV
|
||||
# - name: Install dependencies
|
||||
# run: sudo apt-get update && sudo apt-get install git wget curl clang cmake ninja-build pkg-config libgtk-3-dev libblkid-dev liblzma-dev libjsoncpp-dev cmake-data libsecret-1-dev libsecret-1-0 librhash0 libssl-dev libwebkit2gtk-4.1-dev -y
|
||||
# - name: Install Flutter
|
||||
# run: |
|
||||
# git clone --branch ${{ env.FLUTTER_VERSION }} https://github.com/flutter/flutter.git
|
||||
# ./flutter/bin/flutter doctor
|
||||
# - run: ./flutter/bin/flutter pub get
|
||||
# - run: ./flutter/bin/flutter build linux --target-platform linux-${{ matrix.arch }}
|
||||
# Pangea#
|
||||
# commented out because we do not build Pangea Chat to linux
|
||||
# build_debug_linux:
|
||||
# strategy:
|
||||
# matrix:
|
||||
# arch: [ x64, arm64 ]
|
||||
# runs-on: ${{ matrix.arch == 'arm64' && 'self-hosted' || 'ubuntu-latest'}}
|
||||
# steps:
|
||||
# - uses: actions/checkout@v4
|
||||
# - run: cat .github/workflows/versions.env >> $GITHUB_ENV
|
||||
# - name: Install dependencies
|
||||
# run: sudo apt-get update && sudo apt-get install git wget curl clang cmake ninja-build pkg-config libgtk-3-dev libblkid-dev liblzma-dev libjsoncpp-dev cmake-data libsecret-1-dev libsecret-1-0 librhash0 libssl-dev libwebkit2gtk-4.1-dev -y
|
||||
# - name: Install Flutter
|
||||
# run: |
|
||||
# git clone --branch ${{ env.FLUTTER_VERSION }} https://github.com/flutter/flutter.git
|
||||
# ./flutter/bin/flutter doctor
|
||||
# - run: ./flutter/bin/flutter pub get
|
||||
# - run: ./flutter/bin/flutter build linux --target-platform linux-${{ matrix.arch }}
|
||||
|
||||
build_debug_ios:
|
||||
runs-on: macos-15
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- run: cat .github/workflows/versions.env >> $GITHUB_ENV
|
||||
- uses: subosito/flutter-action@v2
|
||||
with:
|
||||
flutter-version: ${{ env.FLUTTER_VERSION }}
|
||||
cache: true
|
||||
- name: Setup Xcode version
|
||||
uses: maxim-lobanov/setup-xcode@v1.6.0
|
||||
with:
|
||||
xcode-version: latest
|
||||
- run: brew install sqlcipher
|
||||
- run: flutter pub get
|
||||
- run: flutter build ipa --no-codesign
|
||||
# build_debug_ios:
|
||||
# runs-on: macos-15
|
||||
# steps:
|
||||
# - uses: actions/checkout@v4
|
||||
# - run: cat .github/workflows/versions.env >> $GITHUB_ENV
|
||||
# - uses: subosito/flutter-action@v2
|
||||
# with:
|
||||
# flutter-version: ${{ env.FLUTTER_VERSION }}
|
||||
# cache: true
|
||||
# - name: Setup Xcode version
|
||||
# uses: maxim-lobanov/setup-xcode@v1.6.0
|
||||
# with:
|
||||
# xcode-version: latest
|
||||
# - run: brew install sqlcipher
|
||||
# - run: flutter pub get
|
||||
# - run: flutter build ipa --no-codesign
|
||||
# Pangea#
|
||||
|
|
|
|||
30
.github/workflows/issue_closed.yaml
vendored
30
.github/workflows/issue_closed.yaml
vendored
|
|
@ -17,3 +17,33 @@ jobs:
|
|||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
GH_REPO: ${{ github.repository }}
|
||||
NUMBER: ${{ github.event.issue.number }}
|
||||
- name: Set project ID
|
||||
run: |
|
||||
echo "PROJECT_ID=PVT_kwDOBndSo84A7FWL" >> $GITHUB_ENV
|
||||
- name: Get item ID for issue in project
|
||||
id: get_item_id
|
||||
run: |
|
||||
ITEM_ID=$(gh api graphql -f query='query { repository(owner: "${{ github.repository_owner }}", name: "${{ github.event.repository.name }}") { issue(number: ${{ github.event.issue.number }}) { projectItems(first: 10) { nodes { id project { id } } } } }' --jq '.data.repository.issue.projectItems.nodes[] | select(.project.id==env.PROJECT_ID) | .id')
|
||||
echo "ITEM_ID=$ITEM_ID" >> $GITHUB_ENV
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Get status field and Done option IDs
|
||||
id: get_status_ids
|
||||
run: |
|
||||
STATUS_FIELD_ID=$(gh api graphql -f query='query { node(id: "'$PROJECT_ID'") { ... on ProjectV2 { fields(first: 20) { nodes { id name } } } } }' --jq '.data.node.fields.nodes[] | select(.name=="Status") | .id')
|
||||
DONE_OPTION_ID=$(gh api graphql -f query='query { node(id: "'$STATUS_FIELD_ID'") { ... on ProjectV2Field { options { id name } } } }' --jq '.data.node.options[] | select(.name=="Done") | .id')
|
||||
echo "STATUS_FIELD_ID=$STATUS_FIELD_ID" >> $GITHUB_ENV
|
||||
echo "DONE_OPTION_ID=$DONE_OPTION_ID" >> $GITHUB_ENV
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Set status to Done in project
|
||||
run: |
|
||||
gh api graphql -f query='mutation($project:ID!, $item:ID!, $field:ID!, $option:ID!) { updateProjectV2ItemFieldValue(input: {projectId: $project, itemId: $item, fieldId: $field, value: { singleSelectOptionId: $option } }) { projectV2Item { id } } }' -f project=$PROJECT_ID -f item=$ITEM_ID -f field=$STATUS_FIELD_ID -f option=$DONE_OPTION_ID
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
PROJECT_ID: ${{ env.PROJECT_ID }}
|
||||
ITEM_ID: ${{ env.ITEM_ID }}
|
||||
STATUS_FIELD_ID: ${{ env.STATUS_FIELD_ID }}
|
||||
DONE_OPTION_ID: ${{ env.DONE_OPTION_ID }}
|
||||
# To get your project, field, and option IDs, see the instructions in the new issue_opened_project.yaml file.
|
||||
# You must replace the placeholders with your actual project and field IDs.
|
||||
|
|
|
|||
20
.github/workflows/issue_opened_project.yaml
vendored
Normal file
20
.github/workflows/issue_opened_project.yaml
vendored
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
# Auto-add new issues to a GitHub project (replace PROJECT_ID and COLUMN_ID with your values)
|
||||
name: Add new issues to project
|
||||
on:
|
||||
issues:
|
||||
types:
|
||||
- opened
|
||||
jobs:
|
||||
add_to_project:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Set project ID
|
||||
run: |
|
||||
echo "PROJECT_ID=PVT_kwDOBndSo84A7FWL" >> $GITHUB_ENV
|
||||
- name: Add issue to project
|
||||
run: |
|
||||
gh api graphql -f query='mutation($project:ID!, $contentId:ID!) { addProjectV2ItemById(input: {projectId: $project, contentId: $contentId}) { item { id } } }' -f project=$PROJECT_ID -f contentId=$ISSUE_ID
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
ISSUE_ID: ${{ github.event.issue.node_id }}
|
||||
# To get your project ID, use: gh api graphql -f query='query { organization(login: "<ORG>") { projectV2(number: <PROJECT_NUMBER>) { id } } }'
|
||||
16
.github/workflows/main_deploy.yaml
vendored
16
.github/workflows/main_deploy.yaml
vendored
|
|
@ -8,7 +8,8 @@ on:
|
|||
|
||||
env:
|
||||
WEB_APP_ENV: ${{ vars.WEB_APP_ENV }}
|
||||
|
||||
ENV_OVERRIDES: ${{ vars.ENV_OVERRIDES }}
|
||||
|
||||
jobs:
|
||||
build_web:
|
||||
runs-on: ubuntu-latest
|
||||
|
|
@ -19,10 +20,6 @@ jobs:
|
|||
- uses: subosito/flutter-action@v2
|
||||
with:
|
||||
flutter-version: ${{ env.FLUTTER_VERSION }}
|
||||
- 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 web
|
||||
run: ./scripts/prepare-web.sh
|
||||
|
|
@ -51,6 +48,13 @@ jobs:
|
|||
touch public/.env
|
||||
echo "$WEB_APP_ENV" >> public/.env
|
||||
cp public/.env public/assets/.env
|
||||
touch public/assets/envs.json
|
||||
echo "$ENV_OVERRIDES" >> public/assets/envs.json
|
||||
mkdir -p public/.well-known
|
||||
curl https://app.pangea.chat/.well-known/apple-app-site-association \
|
||||
-o public/.well-known/apple-app-site-association
|
||||
curl https://app.pangea.chat/.well-known/assetlinks.json \
|
||||
-o public/.well-known/assetlinks.json
|
||||
- name: Deploy to GitHub Pages
|
||||
uses: peaceiris/actions-gh-pages@v4
|
||||
with:
|
||||
|
|
@ -82,4 +86,4 @@ jobs:
|
|||
- name: Update packages
|
||||
run: flutter pub get
|
||||
- name: Update sentry
|
||||
run: flutter packages pub run sentry_dart_plugin
|
||||
run: flutter packages pub run sentry_dart_plugin
|
||||
|
|
|
|||
14
.github/workflows/manual.yml
vendored
14
.github/workflows/manual.yml
vendored
|
|
@ -20,6 +20,7 @@ jobs:
|
|||
name: ${{ inputs.environment }}
|
||||
env:
|
||||
WEB_APP_ENV: ${{ vars.WEB_APP_ENV }}
|
||||
ENV_OVERRIDES: ${{ vars.ENV_OVERRIDES }}
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
|
@ -45,6 +46,8 @@ jobs:
|
|||
rm assets/.env
|
||||
echo "$WEB_APP_ENV" >> .env
|
||||
cp .env assets/.env
|
||||
touch assets/envs.json
|
||||
echo "$ENV_OVERRIDES" >> assets/envs.json
|
||||
- name: Apply .env patch
|
||||
run: git apply ./scripts/enable_mobile_env.patch
|
||||
- name: Install Fastlane
|
||||
|
|
@ -74,13 +77,4 @@ jobs:
|
|||
bundle install
|
||||
bundle update fastlane
|
||||
bundle exec fastlane deploy_internal_test
|
||||
cd ..
|
||||
|
||||
deploy_ios_testflight: # stashed on old.yml
|
||||
environment:
|
||||
name: ${{ inputs.environment }}
|
||||
env:
|
||||
WEB_APP_ENV: ${{ vars.WEB_APP_ENV }}
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
cd ..
|
||||
44
.github/workflows/old.yml
vendored
44
.github/workflows/old.yml
vendored
|
|
@ -1,44 +0,0 @@
|
|||
name: Old Release Workflow
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master-unused
|
||||
|
||||
concurrency:
|
||||
group: release_workflow
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
deploy_ios_internal:
|
||||
runs-on: macos-latest
|
||||
environment: staging
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- run: cat ../.github/workflows/versions.env >> $GITHUB_ENV
|
||||
|
||||
- name: Flutter
|
||||
uses: subosito/flutter-action@v2
|
||||
with:
|
||||
cache: true
|
||||
cache-key: 'flutter-:os:-:channel:-:version:-:arch:-:hash:'
|
||||
cache-path: "${{ runner.tool_cache }}/flutter/:channel:-:version:-:arch:"
|
||||
|
||||
# Build ios Release
|
||||
- run: flutter build ios --release --config-only --no-codesign --target=lib/main.dart
|
||||
|
||||
- name: Deploy ios
|
||||
run: |
|
||||
mkdir -p build/ios
|
||||
cp build/app/outputs/bundle/release/app-release.aab build/ios/
|
||||
cd ios
|
||||
bundle install
|
||||
bundle update fastlane
|
||||
cd ..
|
||||
- name: Execute fastlane signing
|
||||
env:
|
||||
APP_STORE_CONNECT_API_KEY_ISSUER_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_ISSUER_ID }}
|
||||
APP_STORE_CONNECT_API_KEY_KEY_ID: ${{ secrets.APP_STORE_CONNECT_API_KEY_KEY_ID }}
|
||||
APP_STORE_CONNECT_API_KEY_IS_KEY_CONTENT_BASE64: ${{ secrets.APP_STORE_CONNECT_API_KEY_IS_KEY_CONTENT_BASE64 }}
|
||||
APP_STORE_CONNECT_API_KEY_KEY: ${{ secrets.APP_STORE_CONNECT_API_KEY_KEY }}
|
||||
run: bundle exec fastlane ios beta
|
||||
67
.github/workflows/release.yaml
vendored
67
.github/workflows/release.yaml
vendored
|
|
@ -48,10 +48,6 @@ jobs:
|
|||
cache: true
|
||||
- name: Install dependencies
|
||||
run: sudo apt-get update && sudo apt-get install nodejs -y
|
||||
- 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 web
|
||||
run: ./scripts/prepare-web.sh
|
||||
|
|
@ -146,36 +142,39 @@ jobs:
|
|||
asset_path: build/app/outputs/flutter-apk/app-release.apk
|
||||
asset_name: pangeachat.apk
|
||||
asset_content_type: application/vnd.android.package-archive
|
||||
build_linux:
|
||||
strategy:
|
||||
matrix:
|
||||
arch: [ x64 ]
|
||||
runs-on: ubuntu-latest
|
||||
needs: create_release
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- run: cat .github/workflows/versions.env >> $GITHUB_ENV
|
||||
- name: Install dependencies
|
||||
run: sudo apt-get update && sudo apt-get install curl clang cmake ninja-build pkg-config libgtk-3-dev libblkid-dev liblzma-dev libjsoncpp-dev cmake-data libsecret-1-dev libsecret-1-0 librhash0 libssl-dev libwebkit2gtk-4.1-dev -y
|
||||
- name: Install dependencies for audio-player
|
||||
run: sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
|
||||
- name: Install Flutter
|
||||
run: |
|
||||
git clone --branch ${{ env.FLUTTER_VERSION }} https://github.com/flutter/flutter.git
|
||||
./flutter/bin/flutter doctor
|
||||
- run: ./flutter/bin/flutter pub get
|
||||
- run: ./flutter/bin/flutter build linux --target-platform linux-${{ matrix.arch }}
|
||||
- name: Create archive
|
||||
run: tar -czf pangeachat-linux-${{ matrix.arch }}.tar.gz -C build/linux/${{ matrix.arch }}/release/bundle/ .
|
||||
- name: Upload to release
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.PAGES_DEPLOY_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ needs.create_release.outputs.upload_url }}
|
||||
asset_path: pangeachat-linux-${{ matrix.arch }}.tar.gz
|
||||
asset_name: pangeachat-linux-${{ matrix.arch }}.tar.gz
|
||||
asset_content_type: application/gzip
|
||||
|
||||
# #Pangea
|
||||
# build_linux:
|
||||
# strategy:
|
||||
# matrix:
|
||||
# arch: [ x64 ]
|
||||
# runs-on: ubuntu-latest
|
||||
# needs: create_release
|
||||
# steps:
|
||||
# - uses: actions/checkout@v4
|
||||
# - run: cat .github/workflows/versions.env >> $GITHUB_ENV
|
||||
# - name: Install dependencies
|
||||
# run: sudo apt-get update && sudo apt-get install curl clang cmake ninja-build pkg-config libgtk-3-dev libblkid-dev liblzma-dev libjsoncpp-dev cmake-data libsecret-1-dev libsecret-1-0 librhash0 libssl-dev libwebkit2gtk-4.1-dev -y
|
||||
# - name: Install dependencies for audio-player
|
||||
# run: sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
|
||||
# - name: Install Flutter
|
||||
# run: |
|
||||
# git clone --branch ${{ env.FLUTTER_VERSION }} https://github.com/flutter/flutter.git
|
||||
# ./flutter/bin/flutter doctor
|
||||
# - run: ./flutter/bin/flutter pub get
|
||||
# - run: ./flutter/bin/flutter build linux --target-platform linux-${{ matrix.arch }}
|
||||
# - name: Create archive
|
||||
# run: tar -czf pangeachat-linux-${{ matrix.arch }}.tar.gz -C build/linux/${{ matrix.arch }}/release/bundle/ .
|
||||
# - name: Upload to release
|
||||
# uses: actions/upload-release-asset@v1
|
||||
# env:
|
||||
# GITHUB_TOKEN: ${{ secrets.PAGES_DEPLOY_TOKEN }}
|
||||
# with:
|
||||
# upload_url: ${{ needs.create_release.outputs.upload_url }}
|
||||
# asset_path: pangeachat-linux-${{ matrix.arch }}.tar.gz
|
||||
# asset_name: pangeachat-linux-${{ matrix.arch }}.tar.gz
|
||||
# asset_content_type: application/gzip
|
||||
# Pangea#
|
||||
|
||||
deploy_web:
|
||||
runs-on: ubuntu-latest
|
||||
|
|
|
|||
39
.github/workflows/upload-release-ios.yml
vendored
39
.github/workflows/upload-release-ios.yml
vendored
|
|
@ -1,39 +0,0 @@
|
|||
name: upload-release-ios
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
new_release:
|
||||
required: true
|
||||
type: string
|
||||
description: "The new release version number"
|
||||
new_release_notes:
|
||||
required: true
|
||||
type: string
|
||||
description: "The release notes for the new release"
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: macos-latest
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Download app
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: Runner.ipa
|
||||
path: ios/
|
||||
|
||||
- run: 'echo "$API_KEY" | base64 --decode > AuthKey.p8'
|
||||
shell: bash
|
||||
env:
|
||||
API_KEY: ${{ secrets.APP_STORE_CONNECT_API_KEY }}
|
||||
|
||||
- run: bundle install
|
||||
|
||||
- run: bundle exec fastlane upload_testflight
|
||||
env:
|
||||
RELEASE_NOTES: ${{ inputs.new_release_notes }}
|
||||
- run: bundle exec fastlane upload_metadata_app_store
|
||||
2
.github/workflows/versions.env
vendored
2
.github/workflows/versions.env
vendored
|
|
@ -1,2 +1,2 @@
|
|||
FLUTTER_VERSION=3.27.4
|
||||
FLUTTER_VERSION=3.32.1
|
||||
JAVA_VERSION=17
|
||||
|
|
|
|||
3
.gitignore
vendored
3
.gitignore
vendored
|
|
@ -18,6 +18,7 @@ keys.json
|
|||
!/public/.env
|
||||
*.env.local_choreo
|
||||
*.env.prod
|
||||
envs.json
|
||||
# libolm package
|
||||
/assets/js/package
|
||||
|
||||
|
|
@ -61,7 +62,7 @@ docs/tailwind.css
|
|||
android/key.jks
|
||||
android/keys.json
|
||||
android/Gemfile.lock
|
||||
lib/l10n_old
|
||||
lib/l10n/*.dart
|
||||
ios/Flutter/.last_build_id
|
||||
ios/Podfile.lock
|
||||
ios/Runner.ipa
|
||||
|
|
|
|||
464
CHANGELOG.md
464
CHANGELOG.md
File diff suppressed because it is too large
Load diff
|
|
@ -1,6 +1,6 @@
|
|||
# Privacy
|
||||
|
||||
FluffyChat is available on Android, iOS and as a web version. Desktop versions for Windows, Linux and macOS may follow.
|
||||
FluffyChat is available on Android, iOS, Linux and as a web version. Desktop versions for Windows and macOS may follow.
|
||||
|
||||
* [Matrix](#matrix)
|
||||
* [Database](#database)
|
||||
|
|
@ -109,4 +109,4 @@ To enhance user safety and help protect against the sexual abuse and exploitatio
|
|||
|
||||
In addition to reporting messages, users can also report other users following a similar process.
|
||||
|
||||
We encourage server administrators to adhere to strict safety standards and provide mechanisms for addressing and moderating inappropriate content. For more information on the Matrix protocol and its safety standards, please refer to the following link: https://matrix.org/docs/older/moderation/
|
||||
We encourage server administrators to adhere to strict safety standards and provide mechanisms for addressing and moderating inappropriate content. For more information on the Matrix protocol and its safety standards, please refer to the following link: https://matrix.org/docs/older/moderation/
|
||||
|
|
|
|||
|
|
@ -41,8 +41,6 @@
|
|||
|
||||
* Also thanks to all translators and testers! With your help, fluffychat is now available in more than 12 languages.
|
||||
|
||||
* <a href="https://github.com/googlefonts/noto-emoji/">Noto Emoji Font</a> for the awesome emojis.
|
||||
|
||||
* <a href="https://github.com/madsrh/WoodenBeaver">WoodenBeaver</a> sound theme for the notification sound.
|
||||
|
||||
* The Matrix Foundation for making and maintaining the [emoji translations](https://github.com/matrix-org/matrix-spec/blob/main/data-definitions/sas-emoji.json) used for emoji verification, licensed Apache 2.0
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="com.talktolearn.chat" android:installLocation="auto">
|
||||
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
|
||||
|
|
@ -42,7 +42,7 @@
|
|||
>
|
||||
<activity
|
||||
android:name=".MainActivity"
|
||||
android:launchMode="singleTask"
|
||||
android:launchMode="singleInstance"
|
||||
android:theme="@style/LaunchTheme"
|
||||
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
|
||||
android:hardwareAccelerated="true"
|
||||
|
|
|
|||
|
|
@ -2,17 +2,9 @@
|
|||
|
||||
import com.famedly.fcm_shared_isolate.FcmSharedIsolateService
|
||||
|
||||
import chat.fluffy.fluffychat.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 {
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
<locale android:name="bo"/>
|
||||
<locale android:name="ca"/>
|
||||
<locale android:name="cs"/>
|
||||
<locale android:name="da"/>
|
||||
<locale android:name="de"/>
|
||||
<locale android:name="el"/>
|
||||
<locale android:name="en"/>
|
||||
|
|
@ -45,10 +46,12 @@
|
|||
<locale android:name="sr"/>
|
||||
<locale android:name="sv"/>
|
||||
<locale android:name="ta"/>
|
||||
<locale android:name="te"/>
|
||||
<locale android:name="th"/>
|
||||
<locale android:name="tr"/>
|
||||
<locale android:name="uk"/>
|
||||
<locale android:name="vi"/>
|
||||
<locale android:name="yue"/>
|
||||
<locale android:name="zh"/>
|
||||
<locale android:name="zh"/>
|
||||
</locale-config>
|
||||
|
|
|
|||
|
|
@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
|
|||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
zipStorePath=wrapper/dists
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
ENVIRONMENT = 'staging'
|
||||
CHOREO_API = 'https://api.staging.pangea.chat'
|
||||
FRONTEND_URL = 'https://app.staging.pangea.chat'
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -1 +0,0 @@
|
|||
{}
|
||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,966 +0,0 @@
|
|||
{
|
||||
"remove": "Tanggalin",
|
||||
"@remove": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"importNow": "I-import ngayon",
|
||||
"@importNow": {},
|
||||
"importEmojis": "I-import ang mga Emoji",
|
||||
"@importEmojis": {},
|
||||
"importFromZipFile": "Mag-import mula sa .zip file",
|
||||
"@importFromZipFile": {},
|
||||
"exportEmotePack": "I-export ang Emote pack bilang .zip",
|
||||
"@exportEmotePack": {},
|
||||
"accept": "Tanggapin",
|
||||
"@accept": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"account": "Account",
|
||||
"@account": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"addEmail": "Magdagdag ng email",
|
||||
"@addEmail": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"confirmMatrixId": "Paki-kumpirma ang iyong Matrix ID para burahin ang iyong account.",
|
||||
"@confirmMatrixId": {},
|
||||
"addChatDescription": "Magdagdag ng deskripsyon ng chat...",
|
||||
"@addChatDescription": {},
|
||||
"admin": "Admin",
|
||||
"@admin": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"alias": "alyas",
|
||||
"@alias": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"all": "Lahat",
|
||||
"@all": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"allChats": "Lahat ng mga chat",
|
||||
"@allChats": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"commandHint_googly": "Magpadala ng mga googly eye",
|
||||
"@commandHint_googly": {},
|
||||
"commandHint_cuddle": "Magpadala ng yakap",
|
||||
"@commandHint_cuddle": {},
|
||||
"cuddleContent": "Niyakap ka ni {senderName}",
|
||||
"@cuddleContent": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"senderName": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"hugContent": "Niyakap ka ni {senderName}",
|
||||
"@hugContent": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"senderName": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"anyoneCanJoin": "Pwede sumali ang anumang tao",
|
||||
"@anyoneCanJoin": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"appLock": "Lock ng app",
|
||||
"@appLock": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"archive": "Archive",
|
||||
"@archive": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"areGuestsAllowedToJoin": "Pwede ba sumali ang mga bisita",
|
||||
"@areGuestsAllowedToJoin": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"areYouSure": "Sigurado ka?",
|
||||
"@areYouSure": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"askVerificationRequest": "Tanggapin ang hiling ng verification mula sa {username}?",
|
||||
"@askVerificationRequest": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"autoplayImages": "Awtomatikong i-play ang mga gumagalaw na sticker at emote",
|
||||
"@autoplayImages": {
|
||||
"type": "String",
|
||||
"placeholder": {}
|
||||
},
|
||||
"sendTypingNotifications": "Ipadala ang mga typing notification",
|
||||
"@sendTypingNotifications": {},
|
||||
"blockDevice": "I-block ang Device",
|
||||
"@blockDevice": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"blocked": "Na-block",
|
||||
"@blocked": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"changeDeviceName": "Palitan ang pangalan ng device",
|
||||
"@changeDeviceName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"changedTheChatAvatar": "Pinalitan ni {username} ang avatar ng chat",
|
||||
"@changedTheChatAvatar": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changedTheGuestAccessRules": "Pinalitan ni {username} ang mga tuntunin sa pag-access ng bisita",
|
||||
"@changedTheGuestAccessRules": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changedTheHistoryVisibility": "Pinalitan ni {username} ang kakayahan ng pagkikita ng history",
|
||||
"@changedTheHistoryVisibility": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changedTheHistoryVisibilityTo": "Pinalitan ni {username} ang kakayahan ng pagkikita ng history sa: {rules}",
|
||||
"@changedTheHistoryVisibilityTo": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
},
|
||||
"rules": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changedTheRoomAliases": "Pinalitan ni {username} ang mga alias ng room",
|
||||
"@changedTheRoomAliases": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changePassword": "Palitan ang password",
|
||||
"@changePassword": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"changeYourAvatar": "Palitan ang iyong avatar",
|
||||
"@changeYourAvatar": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"channelCorruptedDecryptError": "Nasira ang encryption",
|
||||
"@channelCorruptedDecryptError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"chat": "Chat",
|
||||
"@chat": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"chatBackup": "Pag-backup ng chat",
|
||||
"@chatBackup": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"chatDetails": "Mga detalye ng chat",
|
||||
"@chatDetails": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"chatHasBeenAddedToThisSpace": "Nadagdag ang chat sa space na ito",
|
||||
"@chatHasBeenAddedToThisSpace": {},
|
||||
"chats": "Mga Chat",
|
||||
"@chats": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"chooseAStrongPassword": "Pumili ng malakas na password",
|
||||
"@chooseAStrongPassword": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"clearArchive": "I-clear ang archive",
|
||||
"@clearArchive": {},
|
||||
"close": "Isara",
|
||||
"@close": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"commandHint_markasgroup": "Markahan bilang grupo",
|
||||
"@commandHint_markasgroup": {},
|
||||
"commandHint_ban": "Pagbawalan ang ibinigay na user sa room na ito",
|
||||
"@commandHint_ban": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /ban"
|
||||
},
|
||||
"repeatPassword": "Ulitin ang password",
|
||||
"@repeatPassword": {},
|
||||
"notAnImage": "Hindi isang file na larawan.",
|
||||
"@notAnImage": {},
|
||||
"replace": "Palitan",
|
||||
"@replace": {},
|
||||
"about": "Tungkol sa",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"acceptedTheInvitation": "👍 Tinanggap ni {username} ang imbitasyon",
|
||||
"@acceptedTheInvitation": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"activatedEndToEndEncryption": "🔐 Na-activate ni {username} ang end to end encryption",
|
||||
"@activatedEndToEndEncryption": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"supposedMxid": "Dapat ito ay {mxid}",
|
||||
"@supposedMxid": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"mxid": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"addToSpace": "Idagdag sa space",
|
||||
"@addToSpace": {},
|
||||
"commandHint_hug": "Magpadala ng yakap",
|
||||
"@commandHint_hug": {},
|
||||
"googlyEyesContent": "Nagpadala si {senderName} ng googly eyes",
|
||||
"@googlyEyesContent": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"senderName": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"answeredTheCall": "Sinagot ni {senderName} ang tawag",
|
||||
"@answeredTheCall": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"senderName": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"areYouSureYouWantToLogout": "Sigurado kang gusto mong mag-log out?",
|
||||
"@areYouSureYouWantToLogout": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"askSSSSSign": "Para i-sign ang isa pang tao, pakilagay ang iyong secure store passphrase o recovery key.",
|
||||
"@askSSSSSign": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"badServerLoginTypesException": "Ang homeserver ay sinusuportahan ang sumusunod na uri ng login:\n{serverVersions}\nNgunit sinusuportahan lang ng app ang:\n{supportedVersions}",
|
||||
"@badServerLoginTypesException": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"serverVersions": {
|
||||
"type": "String"
|
||||
},
|
||||
"supportedVersions": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"sendOnEnter": "Ipadala sa pagpindot ng enter",
|
||||
"@sendOnEnter": {},
|
||||
"badServerVersionsException": "Ang homeserver ay sinusuportahan ang mga Spec bersyon:\n{serverVersions}\nNgunit sinusuportahan lang ng app ang {supportedVersions}",
|
||||
"@badServerVersionsException": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"serverVersions": {
|
||||
"type": "String"
|
||||
},
|
||||
"supportedVersions": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"banFromChat": "Pagbawalan sa chat",
|
||||
"@banFromChat": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"banned": "Pinagbawalan",
|
||||
"@banned": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"botMessages": "Mga mensahe ng bot",
|
||||
"@botMessages": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"cancel": "Kanselahin",
|
||||
"@cancel": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"bannedUser": "Pinagbawalan ni {username} si {targetName}",
|
||||
"@bannedUser": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
},
|
||||
"targetName": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"cantOpenUri": "Hindi mabuksan ang URI na {uri}",
|
||||
"@cantOpenUri": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"uri": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changedTheJoinRules": "Pinalitan ni {username} ang mga tuntunin sa pagsali",
|
||||
"@changedTheJoinRules": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changedTheJoinRulesTo": "Pinalitan ni {username} ang mga tuntunin sa pagsali sa: {joinRules}",
|
||||
"@changedTheJoinRulesTo": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
},
|
||||
"joinRules": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changedTheChatDescriptionTo": "Pinalitan ni {username} ang deskripsyon ng chat sa: '{description}'",
|
||||
"@changedTheChatDescriptionTo": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
},
|
||||
"description": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changedTheProfileAvatar": "Pinalitan ni {username} ang kanilang avatar",
|
||||
"@changedTheProfileAvatar": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changedTheChatNameTo": "Pinalitan ni {username} ang pangalan ng chat sa: '{chatname}'",
|
||||
"@changedTheChatNameTo": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
},
|
||||
"chatname": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changedTheRoomInvitationLink": "Pinalitan ni {username} ang link ng imbitasyon",
|
||||
"@changedTheRoomInvitationLink": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changeTheHomeserver": "Palitan ang homeserver",
|
||||
"@changeTheHomeserver": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"changeTheme": "Palitan ang iyong istilio",
|
||||
"@changeTheme": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"changedTheChatPermissions": "Pinalitan ni {username} ang mga pahintulot ng chat",
|
||||
"@changedTheChatPermissions": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changeTheNameOfTheGroup": "Palitan ng pangalan ng grupo",
|
||||
"@changeTheNameOfTheGroup": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"changedTheDisplaynameTo": "Pinalitan ni {username} ang kanilang displayname sa: '{displayname}'",
|
||||
"@changedTheDisplaynameTo": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
},
|
||||
"displayname": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"yourChatBackupHasBeenSetUp": "Na-set up na ang iyong chat backup.",
|
||||
"@yourChatBackupHasBeenSetUp": {},
|
||||
"chatBackupDescription": "Naka-secure ang iyong mga lumang mensahe gamit ng recovery key. Siguraduhing hindi mo ito mawalan.",
|
||||
"@chatBackupDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"commandHint_markasdm": "Markahan bilang direktang mensahe na room para sa ibinigay na Matrix ID",
|
||||
"@commandHint_markasdm": {},
|
||||
"changedTheGuestAccessRulesTo": "Pinalitan ni {username} ang mga tuntunin sa pag-access ng bisita sa: {rules}",
|
||||
"@changedTheGuestAccessRulesTo": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
},
|
||||
"rules": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"commandHint_clearcache": "I-clear ang cache",
|
||||
"@commandHint_clearcache": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /clearcache"
|
||||
},
|
||||
"commandHint_discardsession": "Iwaksi ang sesyon",
|
||||
"@commandHint_discardsession": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /discardsession"
|
||||
},
|
||||
"commandHint_create": "Gumawa ng walang lamang group chat\nGumamit ng --no-encryption para i-disable ang encryption",
|
||||
"@commandHint_create": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /create"
|
||||
},
|
||||
"configureChat": "I-configure ang chat",
|
||||
"@configureChat": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"confirm": "Kumpirmahin",
|
||||
"@confirm": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"compareNumbersMatch": "Paki-kumpara ang mga numero",
|
||||
"@compareNumbersMatch": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"copiedToClipboard": "Kinopya sa clipboard",
|
||||
"@copiedToClipboard": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"copy": "Kopyahin",
|
||||
"@copy": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"copyToClipboard": "Kopyahin sa clipboard",
|
||||
"@copyToClipboard": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"countParticipants": "{count} mga kasali",
|
||||
"@countParticipants": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"count": {
|
||||
"type": "int"
|
||||
}
|
||||
}
|
||||
},
|
||||
"createdTheChat": "💬 Ginawa ni {username} ang chat",
|
||||
"@createdTheChat": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"createGroup": "Gumawa ng grupo",
|
||||
"@createGroup": {},
|
||||
"createNewSpace": "Bagong space",
|
||||
"@createNewSpace": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"currentlyActive": "Kasalukuyang aktibo",
|
||||
"@currentlyActive": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"darkTheme": "Madilim",
|
||||
"@darkTheme": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"displaynameHasBeenChanged": "Pinalitan na ang display name",
|
||||
"@displaynameHasBeenChanged": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"directChats": "Mga Direktang Chat",
|
||||
"@directChats": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"allRooms": "Lahat ng Mga Group Chat",
|
||||
"@allRooms": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"downloadFile": "I-download ang file",
|
||||
"@downloadFile": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"editBlockedServers": "I-edit ang mga naka-block na server",
|
||||
"@editBlockedServers": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"chatPermissions": "Mga pahintulot ng chat",
|
||||
"@chatPermissions": {},
|
||||
"editDisplayname": "I-edit ang display name",
|
||||
"@editDisplayname": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"editRoomAliases": "I-edit ang mga alyas ng room",
|
||||
"@editRoomAliases": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"edit": "I-edit",
|
||||
"@edit": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"editRoomAvatar": "I-edit ang avatar ng room",
|
||||
"@editRoomAvatar": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emoteExists": "Umiiral na ang emote!",
|
||||
"@emoteExists": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emptyChat": "Walang lamang chat",
|
||||
"@emptyChat": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"enableEncryption": "I-enable ang encryption",
|
||||
"@enableEncryption": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"encryption": "Pag-encrypt",
|
||||
"@encryption": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"encrypted": "Naka-encrypt",
|
||||
"@encrypted": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"encryptionNotEnabled": "Hindi naka-enable ang encryption",
|
||||
"@encryptionNotEnabled": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"everythingReady": "Handa na ang lahat!",
|
||||
"@everythingReady": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"appLockDescription": "I-lock ang app kapag hindi ginagamit sa pamamagitan ng pin code",
|
||||
"@appLockDescription": {},
|
||||
"commandHint_dm": "Magsimula ng direktong chat\nGumamit ng --no-encryptiom para i-disable ang encryption",
|
||||
"@commandHint_dm": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /dm"
|
||||
},
|
||||
"commandHint_html": "Magpadala ng HTML-formatted na text",
|
||||
"@commandHint_html": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /html"
|
||||
},
|
||||
"commandHint_invite": "Imbitahan ang ibinigay na user sa room na ito",
|
||||
"@commandHint_invite": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /invite"
|
||||
},
|
||||
"commandHint_join": "Sumali sa ibinigay na room",
|
||||
"@commandHint_join": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /join"
|
||||
},
|
||||
"commandHint_kick": "Tanggalin ang ibinigay na user sa room na ito",
|
||||
"@commandHint_kick": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /kick"
|
||||
},
|
||||
"commandHint_leave": "Umalis sa room na ito",
|
||||
"@commandHint_leave": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /leave"
|
||||
},
|
||||
"commandHint_me": "Ilarawan ang iyong sarili",
|
||||
"@commandHint_me": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /me"
|
||||
},
|
||||
"commandHint_myroomavatar": "Ilapat ang iyong larawan para sa room na ito (bilang mxc-uri)",
|
||||
"@commandHint_myroomavatar": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /myroomavatar"
|
||||
},
|
||||
"commandHint_myroomnick": "Ilapat ang iyong display name para sa room na ito",
|
||||
"@commandHint_myroomnick": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /myroomnick"
|
||||
},
|
||||
"commandHint_op": "Ilapat ang level ng lakas sa ibinigay na user (default: 50)",
|
||||
"@commandHint_op": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /op"
|
||||
},
|
||||
"commandHint_react": "Magpadala ng reply bilang reaksyon",
|
||||
"@commandHint_react": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /react"
|
||||
},
|
||||
"commandHint_send": "Magpadala ng text",
|
||||
"@commandHint_send": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /send"
|
||||
},
|
||||
"commandHint_unban": "I-unban ang ibinigay na user sa room na ito",
|
||||
"@commandHint_unban": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /unban"
|
||||
},
|
||||
"commandInvalid": "Hindi wastong command",
|
||||
"@commandInvalid": {
|
||||
"type": "String"
|
||||
},
|
||||
"compareEmojiMatch": "Paki-kumpara ang mga emoji",
|
||||
"@compareEmojiMatch": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"connect": "Kumonekta",
|
||||
"@connect": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"containsDisplayName": "Naglalaman ng display name",
|
||||
"@containsDisplayName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"create": "Gumawa",
|
||||
"@create": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"dateAndTimeOfDay": "{date}, {timeOfDay}",
|
||||
"@dateAndTimeOfDay": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"date": {
|
||||
"type": "String"
|
||||
},
|
||||
"timeOfDay": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"dateWithoutYear": "{month}/{day}",
|
||||
"@dateWithoutYear": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"month": {
|
||||
"type": "String"
|
||||
},
|
||||
"day": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"dateWithYear": "{month}/{day}/{year}",
|
||||
"@dateWithYear": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"year": {
|
||||
"type": "String"
|
||||
},
|
||||
"month": {
|
||||
"type": "String"
|
||||
},
|
||||
"day": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"deactivateAccountWarning": "Ide-deactivate nito ang iyong user account. Hindi na ito maaaring bawiin! Sigurado ka?",
|
||||
"@deactivateAccountWarning": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"delete": "Burahin",
|
||||
"@delete": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"deleteMessage": "Burahin ang mensahe",
|
||||
"@deleteMessage": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"device": "Device",
|
||||
"@device": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"deviceId": "ID ng Device",
|
||||
"@deviceId": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"devices": "Mga Device",
|
||||
"@devices": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emoteInvalid": "Hindi wastong shortcode ng emote!",
|
||||
"@emoteInvalid": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emoteKeyboardNoRecents": "Ang mga kamakailang ginamit na emote ay lalabas dito...",
|
||||
"@emoteKeyboardNoRecents": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"calls": "Mga Tawag",
|
||||
"@calls": {},
|
||||
"customEmojisAndStickers": "Mga custom emoji at sticker",
|
||||
"@customEmojisAndStickers": {},
|
||||
"customEmojisAndStickersBody": "Magdagdag o magbahagi ng mga custom emoji o sticker na maaring gamitin sa anumang chat.",
|
||||
"@customEmojisAndStickersBody": {},
|
||||
"emoteShortcode": "Shortcode ng emoji",
|
||||
"@emoteShortcode": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emoteWarnNeedToPick": "Kailangan mong pumili ng emote shortcode at isang larawan!",
|
||||
"@emoteWarnNeedToPick": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"enableEmotesGlobally": "I-enable ang emote pack globally",
|
||||
"@enableEmotesGlobally": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"endedTheCall": "Tinapos ni {senderName} ang tawag",
|
||||
"@endedTheCall": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"senderName": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"enterAnEmailAddress": "Maglagay ng email address",
|
||||
"@enterAnEmailAddress": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"homeserver": "Homeserver",
|
||||
"@homeserver": {},
|
||||
"enterYourHomeserver": "Ilagay ang iyong homeserver",
|
||||
"@enterYourHomeserver": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"extremeOffensive": "Lubhang nakakasakit",
|
||||
"@extremeOffensive": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"commandHint_plain": "Magpadala ng hindi na-format na text",
|
||||
"@commandHint_plain": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /plain"
|
||||
},
|
||||
"commandMissing": "Hindi isang command ang {command}.",
|
||||
"@commandMissing": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"command": {
|
||||
"type": "String"
|
||||
}
|
||||
},
|
||||
"description": "State that {command} is not a valid /command."
|
||||
},
|
||||
"contactHasBeenInvitedToTheGroup": "Inimbita ang contact sa group",
|
||||
"@contactHasBeenInvitedToTheGroup": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"containsUserName": "Naglalaman ng username",
|
||||
"@containsUserName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"contentHasBeenReported": "Inulat ang nilalaman sa mga pangangasiwa ng server",
|
||||
"@contentHasBeenReported": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"couldNotDecryptMessage": "Hindi ma-decrypt ang mensahe: {error}",
|
||||
"@couldNotDecryptMessage": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"error": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"defaultPermissionLevel": "Default na antas ng pahintulot",
|
||||
"@defaultPermissionLevel": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"deleteAccount": "Burahin ang account",
|
||||
"@deleteAccount": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emotePacks": "Mga emote pack para sa room",
|
||||
"@emotePacks": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emoteSettings": "Mga Setting ng Emote",
|
||||
"@emoteSettings": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"globalChatId": "Global chat ID",
|
||||
"@globalChatId": {},
|
||||
"accessAndVisibility": "Pag-access at visibility",
|
||||
"@accessAndVisibility": {},
|
||||
"accessAndVisibilityDescription": "Sino ang pinapayagang sumali sa chat at paano matutuklas ang chat.",
|
||||
"@accessAndVisibilityDescription": {},
|
||||
"enableEncryptionWarning": "Hindi mo madi-disable ang encryption. Sigurado ka ba?",
|
||||
"@enableEncryptionWarning": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"errorObtainingLocation": "Hindi makuha ang lokasyon: {error}",
|
||||
"@errorObtainingLocation": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"error": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"fileName": "Pangalan ng file",
|
||||
"@fileName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"fluffychat": "FluffyChat",
|
||||
"@fluffychat": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"fontSize": "Laki ng font",
|
||||
"@fontSize": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
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
|
|
@ -1,60 +0,0 @@
|
|||
{
|
||||
"repeatPassword": "Repeter le contrasigno",
|
||||
"@repeatPassword": {},
|
||||
"notAnImage": "Non es un file de imagine.",
|
||||
"@notAnImage": {},
|
||||
"remove": "Remover",
|
||||
"@remove": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"importEmojis": "Importar emojis",
|
||||
"@importEmojis": {},
|
||||
"importFromZipFile": "Importar ab un file .zip",
|
||||
"@importFromZipFile": {},
|
||||
"importNow": "Importar ora",
|
||||
"@importNow": {},
|
||||
"exportEmotePack": "Exportar pacchetto de emotes como un .zip",
|
||||
"@exportEmotePack": {},
|
||||
"replace": "Reimplaciar",
|
||||
"@replace": {},
|
||||
"about": "A proposito de",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"accept": "Acceptar",
|
||||
"@accept": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"acceptedTheInvitation": "👍 {username} acceptava tu invitation",
|
||||
"@acceptedTheInvitation": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"account": "Conto",
|
||||
"@account": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"addEmail": "Adder email",
|
||||
"@addEmail": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"supposedMxid": "Isto deberea esser {mxid}",
|
||||
"@supposedMxid": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"mxid": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"@custom": {}
|
||||
}
|
||||
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
|
|
@ -1,832 +0,0 @@
|
|||
{
|
||||
"alias": "მეტსახელი",
|
||||
"@alias": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"appLockDescription": "პინკოდის გამოყენების გარეშე აპლიკაციის ბლოკირება",
|
||||
"@appLockDescription": {},
|
||||
"commandHint_hug": "მეგობრული ჩახუტვის გაგზავნა",
|
||||
"@commandHint_hug": {},
|
||||
"areYouSure": "დარწმუნებული ხართ?",
|
||||
"@areYouSure": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"areYouSureYouWantToLogout": "დარწმუნებული ხართ, რომ გამოსვლა გსურთ?",
|
||||
"@areYouSureYouWantToLogout": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"hugContent": "{senderName} მეგობრულად გეხუტება",
|
||||
"@hugContent": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"senderName": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"askSSSSSign": "სხვა მომხმარებლის დადასტურებლად, გთხოვთ, ჩაწეროთ თქვენი ან საიდუმლო ფრაზა, ან აღდგენის გასაღები.",
|
||||
"@askSSSSSign": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"autoplayImages": "ანიმირებული სტიკერებისა და ემოჯების ავტომატური ჩართვა",
|
||||
"@autoplayImages": {
|
||||
"type": "String",
|
||||
"placeholder": {}
|
||||
},
|
||||
"banFromChat": "ჩატიდან გაგდება და ბლოკირება",
|
||||
"@banFromChat": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"banned": "დაბლოკილია",
|
||||
"@banned": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"badServerLoginTypesException": "ამ სერვერს აქვს შესვლის მეთოდების მხარდაჭერა:\n{serverVersions}\nმაგრამ ამ აპლიკაციას აქვს მხარდაჭერა მხოლოდ:\n{supportedVersions}",
|
||||
"@badServerLoginTypesException": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"serverVersions": {
|
||||
"type": "String"
|
||||
},
|
||||
"supportedVersions": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"sendOnEnter": "გაგზავნა enter-ის დაჭერისას",
|
||||
"@sendOnEnter": {},
|
||||
"bannedUser": "{username} დაბლოკა {targetName}",
|
||||
"@bannedUser": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
},
|
||||
"targetName": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blockDevice": "მოწყობილების ბლოკირება",
|
||||
"@blockDevice": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"blocked": "დაბლოკილია",
|
||||
"@blocked": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"botMessages": "ბოტის შეტყობინებები",
|
||||
"@botMessages": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"cancel": "გაუქმება",
|
||||
"@cancel": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"changedTheHistoryVisibilityTo": "{username} შეცვალა ისტორიის ხილვადობა: {rules}",
|
||||
"@changedTheHistoryVisibilityTo": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
},
|
||||
"rules": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changedTheJoinRules": "{username} გაწევრიანების წესები შეცვალა",
|
||||
"@changedTheJoinRules": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changedTheProfileAvatar": "{username} შეცვალა პროფილის ფოტო",
|
||||
"@changedTheProfileAvatar": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"chat": "ჩატი",
|
||||
"@chat": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"changeYourAvatar": "პროფილის ფოტოს შეცვლა",
|
||||
"@changeYourAvatar": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"yourChatBackupHasBeenSetUp": "თქვენი ჩატის სარეზერვო საშუალება კონფიგურირებული იქნა.",
|
||||
"@yourChatBackupHasBeenSetUp": {},
|
||||
"channelCorruptedDecryptError": "დაშიფვრა დაზიანდა",
|
||||
"@channelCorruptedDecryptError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"chatBackupDescription": "თქვენი ძველი შეტყობინებები დაცულია აღდგების გასაღებით. არ დაკარგოთ ის.",
|
||||
"@chatBackupDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"commandHint_discardsession": "სესიის გაუქმება",
|
||||
"@commandHint_discardsession": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /discardsession"
|
||||
},
|
||||
"commandHint_invite": "მოცემული მომხმარებლის მოწვევა ამ ოთახში",
|
||||
"@commandHint_invite": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /invite"
|
||||
},
|
||||
"commandHint_plain": "არაფორმატირებული ტექსტის გაგზავნა",
|
||||
"@commandHint_plain": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /plain"
|
||||
},
|
||||
"commandHint_send": "ტექსტის გაგზავნა",
|
||||
"@commandHint_send": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /send"
|
||||
},
|
||||
"commandMissing": "{command} არაა ბრძანება.",
|
||||
"@commandMissing": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"command": {
|
||||
"type": "String"
|
||||
}
|
||||
},
|
||||
"description": "State that {command} is not a valid /command."
|
||||
},
|
||||
"confirm": "დადასტურება",
|
||||
"@confirm": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"connect": "დაკავშირება",
|
||||
"@connect": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"countParticipants": "{count} მონაწილე",
|
||||
"@countParticipants": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"count": {
|
||||
"type": "int"
|
||||
}
|
||||
}
|
||||
},
|
||||
"createGroup": "ჯგუფის შექმნა",
|
||||
"@createGroup": {},
|
||||
"deactivateAccountWarning": "ეს გააუქმებს თქვენს ანგარიშს. ამის გაუქმება შეუძლებელია. დარწმუნებული ხართ?",
|
||||
"@deactivateAccountWarning": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"devices": "მოწყობილებები",
|
||||
"@devices": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"darkTheme": "ბნელი",
|
||||
"@darkTheme": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"chatPermissions": "ჩატის უფლებები",
|
||||
"@chatPermissions": {},
|
||||
"dateAndTimeOfDay": "{date}, {timeOfDay}",
|
||||
"@dateAndTimeOfDay": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"date": {
|
||||
"type": "String"
|
||||
},
|
||||
"timeOfDay": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"editRoomAliases": "ოთახის მეტსახელების შეცვლა",
|
||||
"@editRoomAliases": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emoteExists": "ეს ემოცია უკვე არსებობს!",
|
||||
"@emoteExists": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emoteInvalid": "ემოციის არასწორი მოკლე კოდი!",
|
||||
"@emoteInvalid": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"importNow": "იმპორტი",
|
||||
"@importNow": {},
|
||||
"importEmojis": "ემოჯის იმპორტი",
|
||||
"@importEmojis": {},
|
||||
"importFromZipFile": "იმპორტი .zip ფაილიდან",
|
||||
"@importFromZipFile": {},
|
||||
"exportEmotePack": "ემოციების .zip ფაილში ექსპორტი",
|
||||
"@exportEmotePack": {},
|
||||
"replace": "ჩანაცვლება",
|
||||
"@replace": {},
|
||||
"accept": "თანხმობა",
|
||||
"@accept": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"acceptedTheInvitation": "👍 {username} მიიღო მოწვევა",
|
||||
"@acceptedTheInvitation": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"account": "ანგარიში",
|
||||
"@account": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"addEmail": "ელ.ფოსტის დამატება",
|
||||
"@addEmail": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"confirmMatrixId": "გთხოვთ, დაადასტუროთ თქვენი Matrix ID ანგარიშის წაშლისათვის.",
|
||||
"@confirmMatrixId": {},
|
||||
"addChatDescription": "ჩატის აღწერილობის დამატება...",
|
||||
"@addChatDescription": {},
|
||||
"addToSpace": "სივრცეში დამატება",
|
||||
"@addToSpace": {},
|
||||
"admin": "ადმინი",
|
||||
"@admin": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"all": "ყველა",
|
||||
"@all": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"allChats": "ყველა ჩატი",
|
||||
"@allChats": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"commandHint_cuddle": "ჩახუტების გაგზავნა",
|
||||
"@commandHint_cuddle": {},
|
||||
"answeredTheCall": "{senderName} უპასუხა ზარს",
|
||||
"@answeredTheCall": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"senderName": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"anyoneCanJoin": "ყველას შეუძლია გაწევრიანება",
|
||||
"@anyoneCanJoin": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"appLock": "აპლიკაციის ბლოკირება",
|
||||
"@appLock": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"archive": "არქივი",
|
||||
"@archive": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"commandHint_googly": "გამოშტერილი თვალების გაგზავნა",
|
||||
"@commandHint_googly": {},
|
||||
"googlyEyesContent": "{senderName} გამოშტერილ თვალებს გიგზავნის",
|
||||
"@googlyEyesContent": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"senderName": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"cuddleContent": "{senderName} გეხუტება",
|
||||
"@cuddleContent": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"senderName": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"areGuestsAllowedToJoin": "შეუძლიათ თუ არა სტუმარ მომხმარებლებს გაწევრიანება",
|
||||
"@areGuestsAllowedToJoin": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"askVerificationRequest": "მიიღებთ {username} დადასტურების მოთხოვნას?",
|
||||
"@askVerificationRequest": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"sendTypingNotifications": "წერის შეტყობინების გაგზავნა",
|
||||
"@sendTypingNotifications": {},
|
||||
"cantOpenUri": "ვერ იხსნება ბმული {uri}",
|
||||
"@cantOpenUri": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"uri": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changeDeviceName": "მოწყობილების გადარქმევა",
|
||||
"@changeDeviceName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"changedTheChatAvatar": "{username} ჩატის ფოტო შეცვალა",
|
||||
"@changedTheChatAvatar": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changedTheChatDescriptionTo": "{username} ჩატის ახალი აღწერილობა დააყენა: '{description}'",
|
||||
"@changedTheChatDescriptionTo": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
},
|
||||
"description": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changedTheChatNameTo": "{username} ჩატი გადაარქვა: '{chatname}'",
|
||||
"@changedTheChatNameTo": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
},
|
||||
"chatname": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changedTheChatPermissions": "{username} ჩატის უფლებები შეცვალა",
|
||||
"@changedTheChatPermissions": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changedTheGuestAccessRules": "{username} შეცვალა სტუმრების წვდომის წესები",
|
||||
"@changedTheGuestAccessRules": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changedTheGuestAccessRulesTo": "{username} შეცვალა სტუმრების წვდომის წესები: {rules}",
|
||||
"@changedTheGuestAccessRulesTo": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
},
|
||||
"rules": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changedTheHistoryVisibility": "{username} შეცვალა ისტორიის ხილვადობა",
|
||||
"@changedTheHistoryVisibility": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changedTheJoinRulesTo": "{username} გაწევრიანების წესები შეცვალა: {joinRules}",
|
||||
"@changedTheJoinRulesTo": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
},
|
||||
"joinRules": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changedTheRoomAliases": "{username} ოთახის მეტსახელები შეცვალა",
|
||||
"@changedTheRoomAliases": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changedTheRoomInvitationLink": "{username} მოწვევის ბმული შეცვალა",
|
||||
"@changedTheRoomInvitationLink": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changePassword": "პაროლის შეცვლა",
|
||||
"@changePassword": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"changeTheHomeserver": "სახლის სერვერის შეცვლა",
|
||||
"@changeTheHomeserver": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"changeTheme": "სტილის შეცვლა",
|
||||
"@changeTheme": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"changeTheNameOfTheGroup": "ჯგუფის გადარქმევა",
|
||||
"@changeTheNameOfTheGroup": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"chatBackup": "ჩატის სარეზერვო საშუალება",
|
||||
"@chatBackup": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"chatDetails": "ჩატის დეტალები",
|
||||
"@chatDetails": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"chatHasBeenAddedToThisSpace": "ჩატი დაემატა ამ სივრცეს",
|
||||
"@chatHasBeenAddedToThisSpace": {},
|
||||
"chats": "ჩატები",
|
||||
"@chats": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"chooseAStrongPassword": "ძლიერი პაროლი აარჩიეთ",
|
||||
"@chooseAStrongPassword": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"clearArchive": "არქივის გაწმენდა",
|
||||
"@clearArchive": {},
|
||||
"close": "დახურვა",
|
||||
"@close": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"commandHint_markasgroup": "აღნიშვნა, როგორც ჯგუფის",
|
||||
"@commandHint_markasgroup": {},
|
||||
"commandHint_ban": "მოცემული მომხმარებლის ბლოკირება ამ ოთახში",
|
||||
"@commandHint_ban": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /ban"
|
||||
},
|
||||
"commandHint_clearcache": "ქეშის გაწმენდა",
|
||||
"@commandHint_clearcache": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /clearcache"
|
||||
},
|
||||
"commandHint_join": "მოცემულ ოთახში გაწევრიანება",
|
||||
"@commandHint_join": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /join"
|
||||
},
|
||||
"commandHint_kick": "მოცემული მომხმარებლის წაშლა ამ ოთახიდან",
|
||||
"@commandHint_kick": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /kick"
|
||||
},
|
||||
"commandHint_leave": "ამ ოთახიდან გასვლა",
|
||||
"@commandHint_leave": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /leave"
|
||||
},
|
||||
"commandHint_me": "აღწერეთ თქვენი თავი",
|
||||
"@commandHint_me": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /me"
|
||||
},
|
||||
"commandHint_unban": "ამ ოთახში მომხმარებლისგან ბლოკის მოხსნა",
|
||||
"@commandHint_unban": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /unban"
|
||||
},
|
||||
"commandInvalid": "არასწორი ბრძანება",
|
||||
"@commandInvalid": {
|
||||
"type": "String"
|
||||
},
|
||||
"compareEmojiMatch": "გთხოვთ, შეადაროთ ეს ემოჯი",
|
||||
"@compareEmojiMatch": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"compareNumbersMatch": "გთხოვთ, შეადაროთ ეს რიცხვები",
|
||||
"@compareNumbersMatch": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"configureChat": "ჩატის კონფიგურაცია",
|
||||
"@configureChat": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"contactHasBeenInvitedToTheGroup": "კონტაქტი მოწვეული იქნა ჯგუფში",
|
||||
"@contactHasBeenInvitedToTheGroup": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"containsUserName": "შეიცავს სახელს",
|
||||
"@containsUserName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"copiedToClipboard": "კოპირებულია ბუფერში",
|
||||
"@copiedToClipboard": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"copy": "კოპირება",
|
||||
"@copy": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"copyToClipboard": "კოპირება ბუფერში",
|
||||
"@copyToClipboard": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"couldNotDecryptMessage": "შეტყობინების გაშიფვრის შეცდომა: {error}",
|
||||
"@couldNotDecryptMessage": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"error": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"create": "შექმნა",
|
||||
"@create": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"createdTheChat": "💬 {username} შექმნა ჩატი",
|
||||
"@createdTheChat": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"createNewSpace": "ახალი სივრცე",
|
||||
"@createNewSpace": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"currentlyActive": "ახლა აქტიურია",
|
||||
"@currentlyActive": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"dateWithoutYear": "{day}-{month}",
|
||||
"@dateWithoutYear": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"month": {
|
||||
"type": "String"
|
||||
},
|
||||
"day": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"dateWithYear": "{day}-{month}-{year}",
|
||||
"@dateWithYear": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"year": {
|
||||
"type": "String"
|
||||
},
|
||||
"month": {
|
||||
"type": "String"
|
||||
},
|
||||
"day": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"delete": "წაშლა",
|
||||
"@delete": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"deleteAccount": "ანგარიშის წაშლა",
|
||||
"@deleteAccount": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"deleteMessage": "შეტყობინების წაშლა",
|
||||
"@deleteMessage": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"device": "მოწყობილება",
|
||||
"@device": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"deviceId": "მოწყობილების ID",
|
||||
"@deviceId": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"directChats": "პირდაპირი ჩატები",
|
||||
"@directChats": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"allRooms": "ყველა ჯგუფური ჩატები",
|
||||
"@allRooms": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"downloadFile": "ფაილის ჩატვირთვა",
|
||||
"@downloadFile": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"edit": "რედაქტირება",
|
||||
"@edit": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"editBlockedServers": "ბლოკირებული სერვერების რედაქტირება",
|
||||
"@editBlockedServers": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"editRoomAvatar": "ოთახის ფოტოს შეცვლა",
|
||||
"@editRoomAvatar": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"emoteSettings": "ემოციების პარამეტრები",
|
||||
"@emoteSettings": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"globalChatId": "გლობალური ჩატის ID",
|
||||
"@globalChatId": {},
|
||||
"repeatPassword": "გაიმეორეთ პაროლი",
|
||||
"@repeatPassword": {},
|
||||
"notAnImage": "ფაილი არაა სურათი.",
|
||||
"@notAnImage": {},
|
||||
"remove": "წაშლა",
|
||||
"@remove": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"activatedEndToEndEncryption": "🔐 {username} გააქტიურა end to end დაშიფვრა",
|
||||
"@activatedEndToEndEncryption": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"supposedMxid": "ეს უნდა იყოს {mxid}",
|
||||
"@supposedMxid": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"mxid": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"about": "შესახებ",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"changedTheDisplaynameTo": "{username} შეცვალა ნაჩვენები სახელი: '{displayname}'",
|
||||
"@changedTheDisplaynameTo": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
},
|
||||
"displayname": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"commandHint_create": "ცარიელი ჯგუფური ჩატის შექმნა\nგამოიყენეთ --no-encryption გაშიფვრის გასათიშად",
|
||||
"@commandHint_create": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /create"
|
||||
},
|
||||
"commandHint_dm": "პირდაპირი ჩატის დაწყება\nგამოიყენეთ --no-encryption გაშიფვრის გასათიშად",
|
||||
"@commandHint_dm": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /dm"
|
||||
},
|
||||
"commandHint_html": "HTML ფორმატირებული ტექსტის გაგზავნა",
|
||||
"@commandHint_html": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /html"
|
||||
},
|
||||
"commandHint_myroomavatar": "თქვენი ფოტოს დაყენება ამ ოთახისათვის(mxc-uri-ს დახმარებით)",
|
||||
"@commandHint_myroomavatar": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /myroomavatar"
|
||||
},
|
||||
"commandHint_myroomnick": "ამ ოთახისათვის ნაჩვენები სახელის დაყენება",
|
||||
"@commandHint_myroomnick": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /myroomnick"
|
||||
},
|
||||
"commandHint_op": "მოცემული მომხმარებლისათვის უფლებების დონის დაყენება (ჩვეულებრივ: 50)",
|
||||
"@commandHint_op": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /op"
|
||||
},
|
||||
"commandHint_react": "რეაქციის სახით პასუხის გაგზავნა",
|
||||
"@commandHint_react": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /react"
|
||||
},
|
||||
"containsDisplayName": "ნაჩვენებ სახელს შეიცავს",
|
||||
"@containsDisplayName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"contentHasBeenReported": "ეს კონტენტი გაგზავნილ იქნა სერვერის ადმინისტრატორებთან",
|
||||
"@contentHasBeenReported": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"defaultPermissionLevel": "ნაგულისხმევი უფლების დონე",
|
||||
"@defaultPermissionLevel": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"displaynameHasBeenChanged": "ნაჩვენები სახელი შეიცვალა",
|
||||
"@displaynameHasBeenChanged": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"editDisplayname": "ნაჩვენები სახელის შეცვლა",
|
||||
"@editDisplayname": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
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
|
|
@ -1,659 +0,0 @@
|
|||
{
|
||||
"repeatPassword": "Ponovite geslo",
|
||||
"@repeatPassword": {},
|
||||
"about": "O aplikaciji",
|
||||
"@about": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"accept": "Sprejmi",
|
||||
"@accept": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"account": "Račun",
|
||||
"@account": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"activatedEndToEndEncryption": "Uporabnik {username} je aktiviral šifriranje od konca do konca",
|
||||
"@activatedEndToEndEncryption": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"addEmail": "Dodajte e-pošto",
|
||||
"@addEmail": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"addToSpace": "Dodajte v prostor",
|
||||
"@addToSpace": {},
|
||||
"alias": "vzdevek",
|
||||
"@alias": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"all": "Vse",
|
||||
"@all": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"allChats": "Vsi klepeti",
|
||||
"@allChats": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"answeredTheCall": "Oseba {senderName} je odgovorila na klic",
|
||||
"@answeredTheCall": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"senderName": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"anyoneCanJoin": "Pridruži se lahko vsak",
|
||||
"@anyoneCanJoin": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"appLock": "Zaklepanje aplikacije",
|
||||
"@appLock": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"askSSSSSign": "Če želite podpisati drugo osebo, vnesite geslo za varno trgovino ali obnovitveni ključ.",
|
||||
"@askSSSSSign": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"askVerificationRequest": "Ali želite sprejeti to zahtevo za preverjanje od {username}?",
|
||||
"@askVerificationRequest": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"autoplayImages": "Samodejno predvajajte animirane nalepke in čustva",
|
||||
"@autoplayImages": {
|
||||
"type": "String",
|
||||
"placeholder": {}
|
||||
},
|
||||
"badServerLoginTypesException": "Domači strežnik podpira vrste prijave:\n{serverVersions}\nToda ta aplikacija podpira samo:\n{supportedVersions}",
|
||||
"@badServerLoginTypesException": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"serverVersions": {
|
||||
"type": "String"
|
||||
},
|
||||
"supportedVersions": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"sendOnEnter": "Pošlji ob vstopu",
|
||||
"@sendOnEnter": {},
|
||||
"banFromChat": "Prepoved klepeta",
|
||||
"@banFromChat": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"banned": "Prepovedano",
|
||||
"@banned": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"bannedUser": "{username} je prepovedan v {targetName}",
|
||||
"@bannedUser": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
},
|
||||
"targetName": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blockDevice": "Blokirana naprava",
|
||||
"@blockDevice": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"blocked": "Blokirano",
|
||||
"@blocked": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"botMessages": "Botova sporočila",
|
||||
"@botMessages": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"cancel": "Prekliči",
|
||||
"@cancel": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"cantOpenUri": "URI-ja {uri} ni mogoče odpreti",
|
||||
"@cantOpenUri": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"uri": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changedTheChatAvatar": "{username} je spremenil avatar za klepet",
|
||||
"@changedTheChatAvatar": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changedTheChatPermissions": "{username} je spremenila dovoljenja za klepet",
|
||||
"@changedTheChatPermissions": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changedTheDisplaynameTo": "{username} je spremenil svoje prikazno ime v: '{displayname}'",
|
||||
"@changedTheDisplaynameTo": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
},
|
||||
"displayname": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changedTheGuestAccessRules": "{username} je spremenila pravila dostopa za goste",
|
||||
"@changedTheGuestAccessRules": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changedTheGuestAccessRulesTo": "{username} je spremenila pravila dostopa za goste v: {rules}",
|
||||
"@changedTheGuestAccessRulesTo": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
},
|
||||
"rules": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changedTheHistoryVisibilityTo": "{username} je spremenil vidnost zgodovine v: {rules}",
|
||||
"@changedTheHistoryVisibilityTo": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
},
|
||||
"rules": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changedTheJoinRules": "{username} je spremenil pravila za pridružitev",
|
||||
"@changedTheJoinRules": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changedTheJoinRulesTo": "{username} je spremenila pravila pridružitve v: {joinRules}",
|
||||
"@changedTheJoinRulesTo": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
},
|
||||
"joinRules": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changedTheProfileAvatar": "{username} je spremenil avatar",
|
||||
"@changedTheProfileAvatar": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changedTheRoomAliases": "{username} je spremenil vzdevke sobe",
|
||||
"@changedTheRoomAliases": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changedTheRoomInvitationLink": "{username} je spremenil povezavo za povabilo",
|
||||
"@changedTheRoomInvitationLink": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changePassword": "Spremeni geslo",
|
||||
"@changePassword": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"changeTheHomeserver": "Spremenite domači strežnik",
|
||||
"@changeTheHomeserver": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"changeTheme": "Spremenite svoj slog",
|
||||
"@changeTheme": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"changeTheNameOfTheGroup": "Spremenite ime skupine",
|
||||
"@changeTheNameOfTheGroup": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"changeYourAvatar": "Spremenite svoj avatar",
|
||||
"@changeYourAvatar": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"chat": "Klepet",
|
||||
"@chat": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"yourChatBackupHasBeenSetUp": "Varnostna kopija klepeta je nastavljena.",
|
||||
"@yourChatBackupHasBeenSetUp": {},
|
||||
"chatBackup": "Varnostno kopiranje klepeta",
|
||||
"@chatBackup": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"chatDetails": "Podrobnosti klepeta",
|
||||
"@chatDetails": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"chatHasBeenAddedToThisSpace": "Klepet je bil dodan v ta prostor",
|
||||
"@chatHasBeenAddedToThisSpace": {},
|
||||
"chats": "Klepeti",
|
||||
"@chats": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"chooseAStrongPassword": "Izberite močno geslo",
|
||||
"@chooseAStrongPassword": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"clearArchive": "Počisti arhiv",
|
||||
"@clearArchive": {},
|
||||
"close": "Zapri",
|
||||
"@close": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"commandHint_ban": "Izključi določenega uporabnika iz te sobe",
|
||||
"@commandHint_ban": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /ban"
|
||||
},
|
||||
"commandHint_html": "Pošljite besedilo v obliki HTML",
|
||||
"@commandHint_html": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /html"
|
||||
},
|
||||
"commandHint_invite": "Povabi danega uporabnika v to sobo",
|
||||
"@commandHint_invite": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /invite"
|
||||
},
|
||||
"commandHint_join": "Pridružite se dani sobi",
|
||||
"@commandHint_join": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /join"
|
||||
},
|
||||
"commandHint_kick": "Odstranite danega uporabnika iz te sobe",
|
||||
"@commandHint_kick": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /kick"
|
||||
},
|
||||
"commandHint_me": "Opisi sebe",
|
||||
"@commandHint_me": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /me"
|
||||
},
|
||||
"commandHint_myroomavatar": "Nastavite svojo sliko za to sobo",
|
||||
"@commandHint_myroomavatar": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /myroomavatar"
|
||||
},
|
||||
"commandHint_op": "Nastavite raven moči danega uporabnika (privzeto: 50)",
|
||||
"@commandHint_op": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /op"
|
||||
},
|
||||
"commandHint_react": "Pošljite odgovor kot reakcijo",
|
||||
"@commandHint_react": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /react"
|
||||
},
|
||||
"commandHint_send": "Pošlji besedilo",
|
||||
"@commandHint_send": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /send"
|
||||
},
|
||||
"commandHint_unban": "Prekliči izključitev določenega uporabnika iz te sobe",
|
||||
"@commandHint_unban": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /unban"
|
||||
},
|
||||
"commandInvalid": "Ukaz ni veljaven",
|
||||
"@commandInvalid": {
|
||||
"type": "String"
|
||||
},
|
||||
"commandMissing": "{command} is not a command.",
|
||||
"@commandMissing": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"command": {
|
||||
"type": "String"
|
||||
}
|
||||
},
|
||||
"description": "State that {command} is not a valid /command."
|
||||
},
|
||||
"compareEmojiMatch": "Primerjajte in se prepričajte, da se naslednji emoji ujemajo s tistimi iz druge naprave:",
|
||||
"@compareEmojiMatch": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"compareNumbersMatch": "Primerjajte in se prepričajte, da se naslednje številke ujemajo s številkami druge naprave:",
|
||||
"@compareNumbersMatch": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"configureChat": "Konfigurirajte klepet",
|
||||
"@configureChat": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"confirm": "Potrdi",
|
||||
"@confirm": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"containsDisplayName": "Vsebuje prikazno ime",
|
||||
"@containsDisplayName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"containsUserName": "Vsebuje uporabniško ime",
|
||||
"@containsUserName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"archive": "Arhiv",
|
||||
"@archive": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"areYouSure": "Ali si prepričan?",
|
||||
"@areYouSure": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"acceptedTheInvitation": "{username} je sprejel povabilo",
|
||||
"@acceptedTheInvitation": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"areYouSureYouWantToLogout": "Ali ste prepričani, da se želite odjaviti?",
|
||||
"@areYouSureYouWantToLogout": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"changedTheChatDescriptionTo": "{username} je spremenil opis klepeta v: '{description}'",
|
||||
"@changedTheChatDescriptionTo": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
},
|
||||
"description": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"areGuestsAllowedToJoin": "Ali se lahko gostujoči uporabniki pridružijo",
|
||||
"@areGuestsAllowedToJoin": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"admin": "Admin",
|
||||
"@admin": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"badServerVersionsException": "Domači strežnik podpira različice Spec:\n{serverVersions}\nToda ta aplikacija podpira samo {supportedVersions}",
|
||||
"@badServerVersionsException": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"serverVersions": {
|
||||
"type": "String"
|
||||
},
|
||||
"supportedVersions": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changedTheChatNameTo": "{username} je spremenil ime klepeta v: '{chatname}'",
|
||||
"@changedTheChatNameTo": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
},
|
||||
"chatname": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"changeDeviceName": "Spremenite ime naprave",
|
||||
"@changeDeviceName": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"changedTheHistoryVisibility": "{username} je spremenila vidnost zgodovine",
|
||||
"@changedTheHistoryVisibility": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"channelCorruptedDecryptError": "Šifriranje je poškodovano",
|
||||
"@channelCorruptedDecryptError": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"contentHasBeenReported": "Vsebina je bila prijavljena skrbnikom strežnika",
|
||||
"@contentHasBeenReported": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"chatBackupDescription": "Varnostna kopija klepeta je zavarovana z varnostnim ključem. Prosimo, pazite, da ga ne izgubite.",
|
||||
"@chatBackupDescription": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"commandHint_myroomnick": "Nastavite prikazno ime za to sobo",
|
||||
"@commandHint_myroomnick": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /myroomnick"
|
||||
},
|
||||
"connect": "Povežite se",
|
||||
"@connect": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"contactHasBeenInvitedToTheGroup": "Kontakt je bil povabljen v skupino",
|
||||
"@contactHasBeenInvitedToTheGroup": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"commandHint_leave": "Zapusti to sobo",
|
||||
"@commandHint_leave": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /leave"
|
||||
},
|
||||
"commandHint_plain": "Pošlji neformatirano besedilo",
|
||||
"@commandHint_plain": {
|
||||
"type": "String",
|
||||
"description": "Usage hint for the command /plain"
|
||||
},
|
||||
"copiedToClipboard": "Kopirano v odložišče",
|
||||
"@copiedToClipboard": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"copy": "Kopiraj",
|
||||
"@copy": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"copyToClipboard": "Kopiraj v odložišče",
|
||||
"@copyToClipboard": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"couldNotDecryptMessage": "Sporočila ni bilo mogoče dešifrirati: {error}",
|
||||
"@couldNotDecryptMessage": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"error": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"countParticipants": "{count} udeležencev",
|
||||
"@countParticipants": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"count": {
|
||||
"type": "int"
|
||||
}
|
||||
}
|
||||
},
|
||||
"create": "Ustvari",
|
||||
"@create": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"createNewSpace": "Nov prostor",
|
||||
"@createNewSpace": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"currentlyActive": "Trenutno aktiven",
|
||||
"@currentlyActive": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"darkTheme": "Temno",
|
||||
"@darkTheme": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"defaultPermissionLevel": "Privzeta raven dovoljenja",
|
||||
"@defaultPermissionLevel": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"dateWithYear": "{day}-{month}-{year}",
|
||||
"@dateWithYear": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"year": {
|
||||
"type": "String"
|
||||
},
|
||||
"month": {
|
||||
"type": "String"
|
||||
},
|
||||
"day": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"dateWithoutYear": "{month}-{day}",
|
||||
"@dateWithoutYear": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"month": {
|
||||
"type": "String"
|
||||
},
|
||||
"day": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"createdTheChat": "{username} je ustvaril klepet",
|
||||
"@createdTheChat": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"username": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"dateAndTimeOfDay": "{date}, {timeOfDay}",
|
||||
"@dateAndTimeOfDay": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"date": {
|
||||
"type": "String"
|
||||
},
|
||||
"timeOfDay": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"deactivateAccountWarning": "S tem boste deaktivirali vaš uporabniški račun. Tega ni mogoče razveljaviti! Ali si prepričan?",
|
||||
"@deactivateAccountWarning": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -22,8 +22,7 @@
|
|||
<body
|
||||
class="flex flex-col items-center min-h-screen w-full bg-gradient-to-t from-purple-200 to-blue-50 dark:from-purple-900 dark:to-slate-900"
|
||||
style="font-family: 'Zen Kurenaido', sans-serif;">
|
||||
<div
|
||||
class="w-full md:h-12 min-h-12 bg-white dark:bg-gray-800 bg-opacity-50 border-b dark:border-gray-600 px-4 py-4 md:py-0 mb-8">
|
||||
<div class="w-full md:h-12 min-h-12 px-4 py-4 md:py-0 mb-8">
|
||||
<nav class="flex flex-wrap h-full justify-center items-center space-x-6 w-full max-w-4xl m-auto">
|
||||
<a href="https://ko-fi.com/krille/posts"
|
||||
class="text-lg dark:text-white hover:text-purple-800 dark:hover:text-purple-400">News</a>
|
||||
|
|
@ -137,7 +136,7 @@
|
|||
</div>
|
||||
|
||||
<!--Footer-->
|
||||
<div class="w-full bg-white dark:bg-gray-800 bg-opacity-50 border-t dark:border-gray-600 flex justify-center">
|
||||
<div class="w-full flex justify-center">
|
||||
<footer class="w-full text-center max-w-4xl p-4 text-slate-700 dark:text-slate-200">
|
||||
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -1,96 +0,0 @@
|
|||
-------------------------------
|
||||
UBUNTU FONT LICENCE Version 1.0
|
||||
-------------------------------
|
||||
|
||||
PREAMBLE
|
||||
This licence allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely. The fonts, including any derivative works, can be
|
||||
bundled, embedded, and redistributed provided the terms of this licence
|
||||
are met. The fonts and derivatives, however, cannot be released under
|
||||
any other licence. The requirement for fonts to remain under this
|
||||
licence does not require any document created using the fonts or their
|
||||
derivatives to be published under this licence, as long as the primary
|
||||
purpose of the document is not to be a vehicle for the distribution of
|
||||
the fonts.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this licence and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Original Version" refers to the collection of Font Software components
|
||||
as received under this licence.
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to
|
||||
a new environment.
|
||||
|
||||
"Copyright Holder(s)" refers to all individuals and companies who have a
|
||||
copyright ownership of the Font Software.
|
||||
|
||||
"Substantially Changed" refers to Modified Versions which can be easily
|
||||
identified as dissimilar to the Font Software by users of the Font
|
||||
Software comparing the Original Version with the Modified Version.
|
||||
|
||||
To "Propagate" a work means to do anything with it that, without
|
||||
permission, would make you directly or secondarily liable for
|
||||
infringement under applicable copyright law, except executing it on a
|
||||
computer or modifying a private copy. Propagation includes copying,
|
||||
distribution (with or without modification and with or without charging
|
||||
a redistribution fee), making available to the public, and in some
|
||||
countries other activities as well.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
This licence does not grant any rights under trademark law and all such
|
||||
rights are reserved.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of the Font Software, to propagate the Font Software, subject to
|
||||
the below conditions:
|
||||
|
||||
1) Each copy of the Font Software must contain the above copyright
|
||||
notice and this licence. These can be included either as stand-alone
|
||||
text files, human-readable headers or in the appropriate machine-
|
||||
readable metadata fields within text or binary files as long as those
|
||||
fields can be easily viewed by the user.
|
||||
|
||||
2) The font name complies with the following:
|
||||
(a) The Original Version must retain its name, unmodified.
|
||||
(b) Modified Versions which are Substantially Changed must be renamed to
|
||||
avoid use of the name of the Original Version or similar names entirely.
|
||||
(c) Modified Versions which are not Substantially Changed must be
|
||||
renamed to both (i) retain the name of the Original Version and (ii) add
|
||||
additional naming elements to distinguish the Modified Version from the
|
||||
Original Version. The name of such Modified Versions must be the name of
|
||||
the Original Version, with "derivative X" where X represents the name of
|
||||
the new work, appended to that name.
|
||||
|
||||
3) The name(s) of the Copyright Holder(s) and any contributor to the
|
||||
Font Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except (i) as required by this licence, (ii) to
|
||||
acknowledge the contribution(s) of the Copyright Holder(s) or (iii) with
|
||||
their explicit written permission.
|
||||
|
||||
4) The Font Software, modified or unmodified, in part or in whole, must
|
||||
be distributed entirely under this licence, and must not be distributed
|
||||
under any other licence. The requirement for fonts to remain under this
|
||||
licence does not affect any document created using the Font Software,
|
||||
except any version of the Font Software extracted from a document
|
||||
created using the Font Software may only be distributed under this
|
||||
licence.
|
||||
|
||||
TERMINATION
|
||||
This licence becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||
COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER
|
||||
DEALINGS IN THE FONT SOFTWARE.
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -30,7 +30,7 @@ class User {
|
|||
const User(this.name, this.password);
|
||||
}
|
||||
|
||||
const homeserver = 'http://${const String.fromEnvironment(
|
||||
const homeserver = 'http://${String.fromEnvironment(
|
||||
'HOMESERVER',
|
||||
defaultValue: 'localhost',
|
||||
)}';
|
||||
|
|
|
|||
32
ios/Flutter/ephemeral/flutter_lldb_helper.py
Normal file
32
ios/Flutter/ephemeral/flutter_lldb_helper.py
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
#
|
||||
# Generated file, do not edit.
|
||||
#
|
||||
|
||||
import lldb
|
||||
|
||||
def handle_new_rx_page(frame: lldb.SBFrame, bp_loc, extra_args, intern_dict):
|
||||
"""Intercept NOTIFY_DEBUGGER_ABOUT_RX_PAGES and touch the pages."""
|
||||
base = frame.register["x0"].GetValueAsAddress()
|
||||
page_len = frame.register["x1"].GetValueAsUnsigned()
|
||||
|
||||
# Note: NOTIFY_DEBUGGER_ABOUT_RX_PAGES will check contents of the
|
||||
# first page to see if handled it correctly. This makes diagnosing
|
||||
# misconfiguration (e.g. missing breakpoint) easier.
|
||||
data = bytearray(page_len)
|
||||
data[0:8] = b'IHELPED!'
|
||||
|
||||
error = lldb.SBError()
|
||||
frame.GetThread().GetProcess().WriteMemory(base, data, error)
|
||||
if not error.Success():
|
||||
print(f'Failed to write into {base}[+{page_len}]', error)
|
||||
return
|
||||
|
||||
def __lldb_init_module(debugger: lldb.SBDebugger, _):
|
||||
target = debugger.GetDummyTarget()
|
||||
# Caveat: must use BreakpointCreateByRegEx here and not
|
||||
# BreakpointCreateByName. For some reasons callback function does not
|
||||
# get carried over from dummy target for the later.
|
||||
bp = target.BreakpointCreateByRegex("^NOTIFY_DEBUGGER_ABOUT_RX_PAGES$")
|
||||
bp.SetScriptCallbackFunction('{}.handle_new_rx_page'.format(__name__))
|
||||
bp.SetAutoContinue(True)
|
||||
print("-- LLDB integration loaded --")
|
||||
5
ios/Flutter/ephemeral/flutter_lldbinit
Normal file
5
ios/Flutter/ephemeral/flutter_lldbinit
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
#
|
||||
# Generated file, do not edit.
|
||||
#
|
||||
|
||||
command script import --relative-to-command-file flutter_lldb_helper.py
|
||||
|
|
@ -17,8 +17,6 @@
|
|||
97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
|
||||
97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
|
||||
97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
|
||||
A10584DF00E2CBE024A7FEB1 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9F30C00BA233E7CA67AFBED5 /* Pods_Runner.framework */; };
|
||||
BCFA6E528F0B53B71B652C77 /* Pods_FluffyChat_Share.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9B1F89C23F73F2B8E7922A37 /* Pods_FluffyChat_Share.framework */; };
|
||||
C1005C45261071B5002F4F32 /* ShareViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C1005C44261071B5002F4F32 /* ShareViewController.swift */; };
|
||||
C1005C48261071B5002F4F32 /* MainInterface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C1005C46261071B5002F4F32 /* MainInterface.storyboard */; };
|
||||
C1005C4C261071B5002F4F32 /* FluffyChat Share.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = C1005C42261071B5002F4F32 /* FluffyChat Share.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
|
||||
|
|
@ -62,7 +60,6 @@
|
|||
|
||||
/* Begin PBXFileReference section */
|
||||
09545B0C8C397F94966EA956 /* Pods-FluffyChat Share.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-FluffyChat Share.debug.xcconfig"; path = "Target Support Files/Pods-FluffyChat Share/Pods-FluffyChat Share.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
0BDDCB1746F84339AF1A5F40 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = "<group>"; };
|
||||
1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = "<group>"; };
|
||||
23120B990D2B5081843FB313 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
|
||||
|
|
@ -81,8 +78,6 @@
|
|||
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
||||
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
9B1F89C23F73F2B8E7922A37 /* Pods_FluffyChat_Share.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_FluffyChat_Share.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
9F30C00BA233E7CA67AFBED5 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
C1005C42261071B5002F4F32 /* FluffyChat Share.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = "FluffyChat Share.appex"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
C1005C44261071B5002F4F32 /* ShareViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShareViewController.swift; sourceTree = "<group>"; };
|
||||
C1005C47261071B5002F4F32 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/MainInterface.storyboard; sourceTree = "<group>"; };
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@
|
|||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
customLLDBInitFile = "$(SRCROOT)/Flutter/ephemeral/flutter_lldbinit"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES">
|
||||
<MacroExpansion>
|
||||
<BuildableReference
|
||||
|
|
@ -43,6 +44,7 @@
|
|||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
customLLDBInitFile = "$(SRCROOT)/Flutter/ephemeral/flutter_lldbinit"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
arb-dir: assets/l10n
|
||||
arb-dir: lib/l10n
|
||||
template-arb-file: intl_en.arb
|
||||
output-localization-file: l10n.dart
|
||||
output-class: L10n
|
||||
|
|
|
|||
|
|
@ -9,13 +9,16 @@ abstract class AppConfig {
|
|||
// static String _applicationName = 'FluffyChat';
|
||||
static String _applicationName = 'Pangea Chat';
|
||||
// #Pangea
|
||||
|
||||
static String get applicationName => _applicationName;
|
||||
static String? _applicationWelcomeMessage;
|
||||
|
||||
static String? get applicationWelcomeMessage => _applicationWelcomeMessage;
|
||||
// #Pangea
|
||||
// static String _defaultHomeserver = 'matrix.org';
|
||||
static String _defaultHomeserver = Environment.synapseURL;
|
||||
// #Pangea
|
||||
static String get _defaultHomeserver => Environment.synapseURL;
|
||||
// Pangea#
|
||||
|
||||
static String get defaultHomeserver => _defaultHomeserver;
|
||||
static double fontSizeFactor = 1;
|
||||
static const Color chatColor = primaryColor;
|
||||
|
|
@ -23,8 +26,9 @@ abstract class AppConfig {
|
|||
static const double messageFontSize = 16.0;
|
||||
static const bool allowOtherHomeservers = true;
|
||||
static const bool enableRegistration = true;
|
||||
// #Pangea
|
||||
static const double toolbarMaxHeight = 250.0;
|
||||
static const double toolbarMinHeight = 200.0;
|
||||
static const double toolbarMinHeight = 150.0;
|
||||
static const double toolbarMinWidth = 350.0;
|
||||
static const double defaultHeaderHeight = 56.0;
|
||||
static const double toolbarButtonsHeight = 50.0;
|
||||
|
|
@ -33,14 +37,13 @@ abstract class AppConfig {
|
|||
static const double readingAssistanceInputBarHeight = 140.0;
|
||||
static const double reactionsPickerHeight = 48.0;
|
||||
static const double chatInputRowOverlayPadding = 8.0;
|
||||
static const double selectModeInputBarHeight =
|
||||
reactionsPickerHeight + (chatInputRowOverlayPadding * 2) + toolbarSpacing;
|
||||
static const double selectModeInputBarHeight = 0;
|
||||
// reactionsPickerHeight + (chatInputRowOverlayPadding * 2) + toolbarSpacing;
|
||||
static const double practiceModeInputBarHeight =
|
||||
readingAssistanceInputBarHeight +
|
||||
toolbarButtonsHeight +
|
||||
(chatInputRowOverlayPadding * 2) +
|
||||
toolbarSpacing;
|
||||
static const double audioTranscriptionMaxHeight = 150.0;
|
||||
|
||||
static TextStyle messageTextStyle(
|
||||
Event? event,
|
||||
|
|
@ -50,7 +53,7 @@ abstract class AppConfig {
|
|||
final bigEmotes = event != null &&
|
||||
event.onlyEmotes &&
|
||||
event.numberEmotes > 0 &&
|
||||
event.numberEmotes <= 10;
|
||||
event.numberEmotes <= 3;
|
||||
|
||||
return TextStyle(
|
||||
color: textColor,
|
||||
|
|
@ -74,6 +77,10 @@ abstract class AppConfig {
|
|||
static const Color silver = Color.fromARGB(255, 192, 192, 192);
|
||||
static const Color bronze = Color.fromARGB(255, 205, 127, 50);
|
||||
static const Color goldLight = Color.fromARGB(255, 254, 223, 73);
|
||||
|
||||
static const Color yellowLight = Color.fromARGB(255, 247, 218, 120);
|
||||
static const Color yellowDark = Color.fromARGB(255, 253, 191, 1);
|
||||
|
||||
static const Color error = Colors.red;
|
||||
static const int overlayAnimationDuration = 250;
|
||||
static const int roomCreationTimeoutSeconds = 15;
|
||||
|
|
@ -81,6 +88,7 @@ abstract class AppConfig {
|
|||
// 'https://gitlab.com/famedly/fluffychat/-/blob/main/PRIVACY.md';
|
||||
static String _privacyUrl = "https://www.pangeachat.com/privacy";
|
||||
//Pangea#
|
||||
|
||||
static String get privacyUrl => _privacyUrl;
|
||||
// #Pangea
|
||||
// static const String website = 'https://fluffychat.im';
|
||||
|
|
@ -96,19 +104,21 @@ abstract class AppConfig {
|
|||
// #Pangea
|
||||
// static const String appOpenUrlScheme = 'im.fluffychat';
|
||||
static const String appOpenUrlScheme = 'matrix.pangea.chat';
|
||||
static String _webBaseUrl = 'https://fluffychat.im/web';
|
||||
// Pangea#
|
||||
static String _webBaseUrl = 'https://fluffychat.im/web';
|
||||
|
||||
static String get webBaseUrl => _webBaseUrl;
|
||||
//#Pangea
|
||||
static const String sourceCodeUrl = 'https://gitlab.com/famedly/fluffychat';
|
||||
static const String sourceCodeUrl =
|
||||
'https://github.com/krille-chan/fluffychat';
|
||||
// #Pangea
|
||||
// static const String supportUrl =
|
||||
// 'https://gitlab.com/famedly/fluffychat/issues';
|
||||
// 'https://github.com/krille-chan/fluffychat/issues';
|
||||
// static const String changelogUrl =
|
||||
// 'https://github.com/krille-chan/fluffychat/blob/main/CHANGELOG.md';
|
||||
static const String supportUrl = 'https://www.pangeachat.com/faqs';
|
||||
static const String termsOfServiceUrl =
|
||||
'https://www.pangeachat.com/terms-of-service';
|
||||
// static const String changelogUrl =
|
||||
// 'https://github.com/krille-chan/fluffychat/blob/main/CHANGELOG.md';
|
||||
//Pangea#
|
||||
// Pangea#
|
||||
static final Uri newIssueUrl = Uri(
|
||||
scheme: 'https',
|
||||
host: 'github.com',
|
||||
|
|
@ -120,7 +130,10 @@ abstract class AppConfig {
|
|||
'https://8591d0d863b646feb4f3dda7e5dcab38@o256755.ingest.sentry.io/5243143';
|
||||
// Pangea#
|
||||
static bool renderHtml = true;
|
||||
static bool hideRedactedEvents = false;
|
||||
// #Pangea
|
||||
// static bool hideRedactedEvents = false;
|
||||
static bool hideRedactedEvents = true;
|
||||
// Pangea#
|
||||
static bool hideUnknownEvents = true;
|
||||
static bool hideUnimportantStateEvents = true;
|
||||
static bool separateChatTypes = false;
|
||||
|
|
@ -130,6 +143,10 @@ abstract class AppConfig {
|
|||
static bool swipeRightToLeftToReply = true;
|
||||
static bool? sendOnEnter;
|
||||
static bool showPresences = true;
|
||||
// #Pangea
|
||||
// static bool displayNavigationRail = false;
|
||||
static bool displayNavigationRail = true;
|
||||
// Pangea#
|
||||
static bool experimentalVoip = false;
|
||||
static const bool hideTypingUsernames = false;
|
||||
static const bool hideAllStateEvents = false;
|
||||
|
|
@ -138,25 +155,10 @@ abstract class AppConfig {
|
|||
static const String schemePrefix = 'matrix:';
|
||||
// #Pangea
|
||||
// static const String pushNotificationsChannelId = 'fluffychat_push';
|
||||
// static const String pushNotificationsChannelName = 'FluffyChat push channel';
|
||||
// static const String pushNotificationsChannelDescription =
|
||||
// 'Push notifications for FluffyChat';
|
||||
// static const String pushNotificationsAppId = 'chat.fluffy.fluffychat';
|
||||
// static const String pushNotificationsGatewayUrl =
|
||||
// 'https://push.fluffychat.im/_matrix/push/v1/notify';
|
||||
// static const String pushNotificationsPusherFormat = 'event_id_only';
|
||||
static const String pushNotificationsChannelId = 'pangeachat_push';
|
||||
static const String pushNotificationsChannelName = 'Pangea Chat push channel';
|
||||
static const String pushNotificationsChannelDescription =
|
||||
'Push notifications for Pangea Chat';
|
||||
static const String pushNotificationsAppId = 'com.talktolearn.chat';
|
||||
static const String pushNotificationsGatewayUrl =
|
||||
'https://sygnal.pangea.chat/_matrix/push/v1/notify';
|
||||
static const String? pushNotificationsPusherFormat = null;
|
||||
// Pangea#
|
||||
static const String emojiFontName = 'Noto Emoji';
|
||||
static const String emojiFontUrl =
|
||||
'https://github.com/googlefonts/noto-emoji/';
|
||||
static const double borderRadius = 18.0;
|
||||
static const double columnWidth = 360.0;
|
||||
static final Uri homeserverList = Uri(
|
||||
|
|
@ -208,9 +210,11 @@ abstract class AppConfig {
|
|||
if (json['application_welcome_message'] is String) {
|
||||
_applicationWelcomeMessage = json['application_welcome_message'];
|
||||
}
|
||||
if (json['default_homeserver'] is String) {
|
||||
_defaultHomeserver = json['default_homeserver'];
|
||||
}
|
||||
// #Pangea
|
||||
// if (json['default_homeserver'] is String) {
|
||||
// _defaultHomeserver = json['default_homeserver'];
|
||||
// }
|
||||
// Pangea#
|
||||
if (json['privacy_url'] is String) {
|
||||
_privacyUrl = json['privacy_url'];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,16 +32,20 @@ import 'package:fluffychat/pages/settings_style/settings_style.dart';
|
|||
import 'package:fluffychat/pangea/activity_generator/activity_generator.dart';
|
||||
import 'package:fluffychat/pangea/activity_planner/activity_planner_page.dart';
|
||||
import 'package:fluffychat/pangea/activity_suggestions/suggestions_page.dart';
|
||||
import 'package:fluffychat/pangea/find_your_people/find_your_people.dart';
|
||||
import 'package:fluffychat/pangea/find_your_people/find_your_people_side_view.dart';
|
||||
import 'package:fluffychat/pangea/guard/p_vguard.dart';
|
||||
import 'package:fluffychat/pangea/layouts/bottom_nav_layout.dart';
|
||||
import 'package:fluffychat/pangea/learning_settings/pages/settings_learning.dart';
|
||||
import 'package:fluffychat/pangea/login/pages/login_or_signup_view.dart';
|
||||
import 'package:fluffychat/pangea/login/pages/signup.dart';
|
||||
import 'package:fluffychat/pangea/login/pages/space_code_onboarding.dart';
|
||||
import 'package:fluffychat/pangea/login/pages/user_settings.dart';
|
||||
import 'package:fluffychat/pangea/onboarding/onboarding.dart';
|
||||
import 'package:fluffychat/pangea/spaces/constants/space_constants.dart';
|
||||
import 'package:fluffychat/pangea/spaces/utils/join_with_alias.dart';
|
||||
import 'package:fluffychat/pangea/spaces/utils/join_with_link.dart';
|
||||
import 'package:fluffychat/pangea/subscription/pages/settings_subscription.dart';
|
||||
import 'package:fluffychat/pangea/user/pages/find_partner.dart';
|
||||
import 'package:fluffychat/widgets/config_viewer.dart';
|
||||
import 'package:fluffychat/widgets/layouts/empty_page.dart';
|
||||
import 'package:fluffychat/widgets/layouts/two_column_layout.dart';
|
||||
import 'package:fluffychat/widgets/log_view.dart';
|
||||
|
|
@ -130,24 +134,32 @@ abstract class AppRoutes {
|
|||
const LogViewer(),
|
||||
),
|
||||
),
|
||||
GoRoute(
|
||||
path: '/configs',
|
||||
pageBuilder: (context, state) => defaultPageBuilder(
|
||||
context,
|
||||
state,
|
||||
const ConfigViewer(),
|
||||
),
|
||||
),
|
||||
// #Pangea
|
||||
GoRoute(
|
||||
path: '/join_with_link',
|
||||
pageBuilder: (context, state) => defaultPageBuilder(
|
||||
context,
|
||||
state,
|
||||
const JoinClassWithLink(),
|
||||
JoinClassWithLink(
|
||||
classCode: state.uri.queryParameters[SpaceConstants.classCode],
|
||||
),
|
||||
),
|
||||
),
|
||||
GoRoute(
|
||||
path: '/join_with_alias',
|
||||
pageBuilder: (context, state) => Matrix.of(context).client.isLogged()
|
||||
? chatListShellRouteBuilder(context, state, const JoinWithAlias())
|
||||
: defaultPageBuilder(
|
||||
context,
|
||||
state,
|
||||
const JoinWithAlias(),
|
||||
),
|
||||
pageBuilder: (context, state) => defaultPageBuilder(
|
||||
context,
|
||||
state,
|
||||
JoinWithAlias(alias: state.uri.queryParameters['alias']),
|
||||
),
|
||||
),
|
||||
GoRoute(
|
||||
path: '/user_age',
|
||||
|
|
@ -157,30 +169,17 @@ abstract class AppRoutes {
|
|||
const UserSettingsPage(),
|
||||
),
|
||||
redirect: loggedOutRedirect,
|
||||
),
|
||||
ShellRoute(
|
||||
pageBuilder: chatListShellRouteBuilder,
|
||||
routes: [
|
||||
GoRoute(
|
||||
path: '/homepage',
|
||||
path: 'join_space',
|
||||
pageBuilder: (context, state) {
|
||||
return defaultPageBuilder(
|
||||
context,
|
||||
state,
|
||||
const SpaceCodeOnboarding(),
|
||||
);
|
||||
},
|
||||
redirect: loggedOutRedirect,
|
||||
pageBuilder: (context, state) => defaultPageBuilder(
|
||||
context,
|
||||
state,
|
||||
const SuggestionsPage(),
|
||||
),
|
||||
routes: [
|
||||
...newRoomRoutes,
|
||||
GoRoute(
|
||||
path: '/planner',
|
||||
redirect: loggedOutRedirect,
|
||||
pageBuilder: (context, state) => defaultPageBuilder(
|
||||
context,
|
||||
state,
|
||||
const ActivityGenerator(),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
|
|
@ -192,40 +191,61 @@ abstract class AppRoutes {
|
|||
pageBuilder: (context, state, child) => noTransitionPageBuilder(
|
||||
context,
|
||||
state,
|
||||
// #Pangea
|
||||
// FluffyThemes.isColumnMode(context) &&
|
||||
// state.fullPath?.startsWith('/rooms/settings') == false
|
||||
FluffyThemes.isColumnMode(context) &&
|
||||
state.fullPath?.startsWith('/rooms/settings') == false
|
||||
state.fullPath?.startsWith('/rooms/settings') == false &&
|
||||
state.fullPath?.startsWith('/rooms/communities') == false
|
||||
// Pangea#
|
||||
? TwoColumnLayout(
|
||||
mainView: ChatList(
|
||||
activeChat: state.pathParameters['roomid'],
|
||||
// #Pangea
|
||||
activeSpaceId: state.uri.queryParameters['spaceId'],
|
||||
// Pangea#
|
||||
displayNavigationRail:
|
||||
state.path?.startsWith('/rooms/settings') != true,
|
||||
),
|
||||
sideView: child,
|
||||
)
|
||||
// #Pangea
|
||||
// : child,
|
||||
: FluffyThemes.isColumnMode(context) ||
|
||||
(state.fullPath?.split("/").reversed.elementAt(1) ==
|
||||
'rooms' &&
|
||||
state.pathParameters['roomid'] != null)
|
||||
? child
|
||||
: BottomNavLayout(mainView: child),
|
||||
// Pangea#
|
||||
: child,
|
||||
),
|
||||
routes: [
|
||||
GoRoute(
|
||||
path: '/rooms',
|
||||
redirect: loggedOutRedirect,
|
||||
// #Pangea
|
||||
// redirect: loggedOutRedirect,
|
||||
redirect: (context, state) async {
|
||||
final resp = await loggedOutRedirect(context, state);
|
||||
if (resp != null) return resp;
|
||||
final isColumnMode = FluffyThemes.isColumnMode(context);
|
||||
|
||||
final spaceId = state.uri.queryParameters['spaceId'];
|
||||
if (spaceId != null &&
|
||||
spaceId != 'clear' &&
|
||||
isColumnMode &&
|
||||
state.fullPath != null &&
|
||||
!state.fullPath!.contains('details')) {
|
||||
return '/rooms/$spaceId/details?spaceId=$spaceId';
|
||||
}
|
||||
|
||||
return null;
|
||||
},
|
||||
// Pangea#
|
||||
pageBuilder: (context, state) => defaultPageBuilder(
|
||||
context,
|
||||
state,
|
||||
FluffyThemes.isColumnMode(context)
|
||||
// #Pangea
|
||||
// ? const EmptyPage()
|
||||
? const SuggestionsPage()
|
||||
? const Onboarding()
|
||||
// Pangea#
|
||||
: ChatList(
|
||||
activeChat: state.pathParameters['roomid'],
|
||||
// #Pangea
|
||||
activeSpaceId: state.uri.queryParameters['spaceId'],
|
||||
// Pangea#
|
||||
),
|
||||
),
|
||||
routes: [
|
||||
|
|
@ -266,22 +286,12 @@ abstract class AppRoutes {
|
|||
pageBuilder: (context, state) => defaultPageBuilder(
|
||||
context,
|
||||
state,
|
||||
const NewGroup(),
|
||||
// #Pangea
|
||||
// const NewGroup(),
|
||||
NewGroup(spaceId: state.uri.queryParameters['space']),
|
||||
// Pangea#
|
||||
),
|
||||
redirect: loggedOutRedirect,
|
||||
// #Pangea
|
||||
routes: [
|
||||
GoRoute(
|
||||
path: ':spaceid',
|
||||
pageBuilder: (context, state) => defaultPageBuilder(
|
||||
context,
|
||||
state,
|
||||
NewGroup(spaceId: state.pathParameters['spaceid']!),
|
||||
),
|
||||
redirect: loggedOutRedirect,
|
||||
),
|
||||
],
|
||||
// Pangea#
|
||||
),
|
||||
GoRoute(
|
||||
path: 'newspace',
|
||||
|
|
@ -293,14 +303,61 @@ abstract class AppRoutes {
|
|||
redirect: loggedOutRedirect,
|
||||
),
|
||||
// #Pangea
|
||||
ShellRoute(
|
||||
pageBuilder: (context, state, child) => defaultPageBuilder(
|
||||
context,
|
||||
state,
|
||||
FluffyThemes.isColumnMode(context)
|
||||
? TwoColumnLayout(
|
||||
mainView: const FindYourPeopleSideView(),
|
||||
sideView: child,
|
||||
dividerColor: Colors.transparent,
|
||||
)
|
||||
: child,
|
||||
),
|
||||
routes: [
|
||||
GoRoute(
|
||||
path: 'communities',
|
||||
redirect: loggedOutRedirect,
|
||||
pageBuilder: (context, state) => defaultPageBuilder(
|
||||
context,
|
||||
state,
|
||||
const FindYourPeople(),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
GoRoute(
|
||||
path: 'partner',
|
||||
path: 'homepage',
|
||||
redirect: loggedOutRedirect,
|
||||
pageBuilder: (context, state) => defaultPageBuilder(
|
||||
context,
|
||||
state,
|
||||
const FindPartner(),
|
||||
const SuggestionsPage(),
|
||||
),
|
||||
redirect: loggedOutRedirect,
|
||||
routes: [
|
||||
...newRoomRoutes,
|
||||
GoRoute(
|
||||
path: '/planner',
|
||||
pageBuilder: (context, state) => defaultPageBuilder(
|
||||
context,
|
||||
state,
|
||||
const ActivityPlannerPage(),
|
||||
),
|
||||
redirect: loggedOutRedirect,
|
||||
routes: [
|
||||
GoRoute(
|
||||
path: '/generator',
|
||||
redirect: loggedOutRedirect,
|
||||
pageBuilder: (context, state) => defaultPageBuilder(
|
||||
context,
|
||||
state,
|
||||
const ActivityGenerator(),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
// Pangea#
|
||||
ShellRoute(
|
||||
|
|
@ -521,30 +578,6 @@ abstract class AppRoutes {
|
|||
redirect: loggedOutRedirect,
|
||||
),
|
||||
// #Pangea
|
||||
GoRoute(
|
||||
path: 'planner',
|
||||
pageBuilder: (context, state) => defaultPageBuilder(
|
||||
context,
|
||||
state,
|
||||
ActivityPlannerPage(
|
||||
roomID: state.pathParameters['roomid']!,
|
||||
),
|
||||
),
|
||||
redirect: loggedOutRedirect,
|
||||
routes: [
|
||||
GoRoute(
|
||||
path: '/generator',
|
||||
redirect: loggedOutRedirect,
|
||||
pageBuilder: (context, state) => defaultPageBuilder(
|
||||
context,
|
||||
state,
|
||||
ActivityGenerator(
|
||||
roomID: state.pathParameters['roomid']!,
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
// GoRoute(
|
||||
// path: 'encryption',
|
||||
// pageBuilder: (context, state) => defaultPageBuilder(
|
||||
|
|
@ -576,6 +609,32 @@ abstract class AppRoutes {
|
|||
),
|
||||
),
|
||||
routes: [
|
||||
// #Pangea
|
||||
GoRoute(
|
||||
path: 'planner',
|
||||
pageBuilder: (context, state) => defaultPageBuilder(
|
||||
context,
|
||||
state,
|
||||
ActivityPlannerPage(
|
||||
roomID: state.pathParameters['roomid']!,
|
||||
),
|
||||
),
|
||||
redirect: loggedOutRedirect,
|
||||
routes: [
|
||||
GoRoute(
|
||||
path: '/generator',
|
||||
redirect: loggedOutRedirect,
|
||||
pageBuilder: (context, state) => defaultPageBuilder(
|
||||
context,
|
||||
state,
|
||||
ActivityGenerator(
|
||||
roomID: state.pathParameters['roomid']!,
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
// Pangea#
|
||||
GoRoute(
|
||||
path: 'access',
|
||||
pageBuilder: (context, state) => defaultPageBuilder(
|
||||
|
|
@ -594,6 +653,9 @@ abstract class AppRoutes {
|
|||
state,
|
||||
ChatMembersPage(
|
||||
roomId: state.pathParameters['roomid']!,
|
||||
// #Pangea
|
||||
filter: state.uri.queryParameters['filter'],
|
||||
// Pangea#
|
||||
),
|
||||
),
|
||||
redirect: loggedOutRedirect,
|
||||
|
|
@ -704,31 +766,5 @@ abstract class AppRoutes {
|
|||
redirect: loggedOutRedirect,
|
||||
),
|
||||
];
|
||||
|
||||
static Page chatListShellRouteBuilder(
|
||||
context,
|
||||
state,
|
||||
child,
|
||||
) =>
|
||||
noTransitionPageBuilder(
|
||||
context,
|
||||
state,
|
||||
FluffyThemes.isColumnMode(context) &&
|
||||
state.fullPath?.startsWith('/rooms/settings') == false
|
||||
? TwoColumnLayout(
|
||||
mainView: ChatList(
|
||||
activeChat: state.pathParameters['roomid'],
|
||||
displayNavigationRail:
|
||||
state.path?.startsWith('/rooms/settings') != true,
|
||||
),
|
||||
sideView: child,
|
||||
)
|
||||
: FluffyThemes.isColumnMode(context) ||
|
||||
(state.fullPath?.split("/").reversed.elementAt(1) ==
|
||||
'rooms' &&
|
||||
state.pathParameters['roomid'] != null)
|
||||
? child
|
||||
: BottomNavLayout(mainView: child),
|
||||
);
|
||||
// Pangea#
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
||||
abstract class SettingKeys {
|
||||
static const String renderHtml = 'chat.fluffy.renderHtml';
|
||||
static const String hideRedactedEvents = 'chat.fluffy.hideRedactedEvents';
|
||||
|
|
@ -30,9 +32,74 @@ abstract class SettingKeys {
|
|||
'chat.fluffy.swipeRightToLeftToReply';
|
||||
static const String experimentalVoip = 'chat.fluffy.experimental_voip';
|
||||
static const String showPresences = 'chat.fluffy.show_presences';
|
||||
static const String displayChatDetailsColumn =
|
||||
'chat.fluffy.display_chat_details_column';
|
||||
static const String noEncryptionWarningShown =
|
||||
'chat.fluffy.no_encryption_warning_shown';
|
||||
static const String shareKeysWith = 'chat.fluffy.share_keys_with';
|
||||
static const String displayNavigationRail =
|
||||
'chat.fluffy.display_navigation_rail';
|
||||
}
|
||||
|
||||
enum AppSettings<T> {
|
||||
audioRecordingNumChannels<int>('audioRecordingNumChannels', 1),
|
||||
audioRecordingAutoGain<bool>('audioRecordingAutoGain', true),
|
||||
audioRecordingEchoCancel<bool>('audioRecordingEchoCancel', false),
|
||||
audioRecordingNoiseSuppress<bool>('audioRecordingNoiseSuppress', true),
|
||||
audioRecordingBitRate<int>('audioRecordingBitRate', 64000),
|
||||
// #Pangea
|
||||
// audioRecordingSamplingRate<int>('audioRecordingSamplingRate', 44100),
|
||||
audioRecordingSamplingRate<int>('audioRecordingSamplingRate', 22050),
|
||||
// Pangea#
|
||||
pushNotificationsGatewayUrl<String>(
|
||||
'pushNotificationsGatewayUrl',
|
||||
// #Pangea
|
||||
// 'https://push.fluffychat.im/_matrix/push/v1/notify',
|
||||
'https://sygnal.pangea.chat/_matrix/push/v1/notify',
|
||||
// Pangea#
|
||||
),
|
||||
pushNotificationsPusherFormat<String>(
|
||||
'pushNotificationsPusherFormat',
|
||||
'event_id_only',
|
||||
),
|
||||
shareKeysWith<String>('chat.fluffy.share_keys_with_2', 'all'),
|
||||
noEncryptionWarningShown<bool>(
|
||||
'chat.fluffy.no_encryption_warning_shown',
|
||||
false,
|
||||
),
|
||||
displayChatDetailsColumn(
|
||||
'chat.fluffy.display_chat_details_column',
|
||||
false,
|
||||
),
|
||||
enableSoftLogout<bool>('chat.fluffy.enable_soft_logout', false);
|
||||
|
||||
final String key;
|
||||
final T defaultValue;
|
||||
|
||||
const AppSettings(this.key, this.defaultValue);
|
||||
}
|
||||
|
||||
extension AppSettingsBoolExtension on AppSettings<bool> {
|
||||
bool getItem(SharedPreferences store) => store.getBool(key) ?? defaultValue;
|
||||
|
||||
Future<void> setItem(SharedPreferences store, bool value) =>
|
||||
store.setBool(key, value);
|
||||
}
|
||||
|
||||
extension AppSettingsStringExtension on AppSettings<String> {
|
||||
String getItem(SharedPreferences store) =>
|
||||
store.getString(key) ?? defaultValue;
|
||||
|
||||
Future<void> setItem(SharedPreferences store, String value) =>
|
||||
store.setString(key, value);
|
||||
}
|
||||
|
||||
extension AppSettingsIntExtension on AppSettings<int> {
|
||||
int getItem(SharedPreferences store) => store.getInt(key) ?? defaultValue;
|
||||
|
||||
Future<void> setItem(SharedPreferences store, int value) =>
|
||||
store.setInt(key, value);
|
||||
}
|
||||
|
||||
extension AppSettingsDoubleExtension on AppSettings<double> {
|
||||
double getItem(SharedPreferences store) =>
|
||||
store.getDouble(key) ?? defaultValue;
|
||||
|
||||
Future<void> setItem(SharedPreferences store, double value) =>
|
||||
store.setDouble(key, value);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,10 @@ import 'app_config.dart';
|
|||
abstract class FluffyThemes {
|
||||
static const double columnWidth = 380.0;
|
||||
|
||||
static const double navRailWidth = 80.0;
|
||||
// #Pangea
|
||||
// static const double navRailWidth = 80.0;
|
||||
static const double navRailWidth = 72.0;
|
||||
// Pangea#
|
||||
|
||||
static bool isColumnModeByWidth(double width) =>
|
||||
width > columnWidth * 2 + navRailWidth;
|
||||
|
|
@ -18,27 +21,6 @@ abstract class FluffyThemes {
|
|||
static bool isThreeColumnMode(BuildContext context) =>
|
||||
MediaQuery.of(context).size.width > FluffyThemes.columnWidth * 3.5;
|
||||
|
||||
static const fallbackTextStyle = TextStyle(
|
||||
fontFamily: 'Ubuntu',
|
||||
fontFamilyFallback: ['NotoEmoji'],
|
||||
);
|
||||
|
||||
static var fallbackTextTheme = const TextTheme(
|
||||
bodyLarge: fallbackTextStyle,
|
||||
bodyMedium: fallbackTextStyle,
|
||||
labelLarge: fallbackTextStyle,
|
||||
bodySmall: fallbackTextStyle,
|
||||
labelSmall: fallbackTextStyle,
|
||||
displayLarge: fallbackTextStyle,
|
||||
displayMedium: fallbackTextStyle,
|
||||
displaySmall: fallbackTextStyle,
|
||||
headlineMedium: fallbackTextStyle,
|
||||
headlineSmall: fallbackTextStyle,
|
||||
titleLarge: fallbackTextStyle,
|
||||
titleMedium: fallbackTextStyle,
|
||||
titleSmall: fallbackTextStyle,
|
||||
);
|
||||
|
||||
static LinearGradient backgroundGradient(
|
||||
BuildContext context,
|
||||
int alpha,
|
||||
|
|
@ -77,11 +59,6 @@ abstract class FluffyThemes {
|
|||
useMaterial3: true,
|
||||
brightness: brightness,
|
||||
colorScheme: colorScheme,
|
||||
// #Pangea
|
||||
// causes memory leak on iOS
|
||||
// textTheme: fallbackTextTheme,
|
||||
// textTheme: scaleTextTheme(Theme.of(context).textTheme, MediaQuery.of(context).size),
|
||||
// Pangea#
|
||||
dividerColor: brightness == Brightness.dark
|
||||
? colorScheme.surfaceContainerHighest
|
||||
: colorScheme.surfaceContainer,
|
||||
|
|
@ -105,7 +82,14 @@ abstract class FluffyThemes {
|
|||
borderRadius: BorderRadius.circular(AppConfig.borderRadius),
|
||||
),
|
||||
contentPadding: const EdgeInsets.all(12),
|
||||
filled: false,
|
||||
),
|
||||
chipTheme: ChipThemeData(
|
||||
showCheckmark: false,
|
||||
backgroundColor: colorScheme.surfaceContainer,
|
||||
side: BorderSide.none,
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(AppConfig.borderRadius),
|
||||
),
|
||||
),
|
||||
appBarTheme: AppBarTheme(
|
||||
toolbarHeight: isColumnMode ? 72 : 56,
|
||||
|
|
@ -197,6 +181,7 @@ extension BubbleColorTheme on ThemeData {
|
|||
Color get bubbleColor => brightness == Brightness.light
|
||||
? colorScheme.primary
|
||||
: colorScheme.primaryContainer;
|
||||
|
||||
Color get onBubbleColor => brightness == Brightness.light
|
||||
? colorScheme.onPrimary
|
||||
: colorScheme.onPrimaryContainer;
|
||||
|
|
|
|||
3185
lib/l10n/intl_ar.arb
Normal file
3185
lib/l10n/intl_ar.arb
Normal file
File diff suppressed because it is too large
Load diff
1
lib/l10n/intl_be.arb
Normal file
1
lib/l10n/intl_be.arb
Normal file
|
|
@ -0,0 +1 @@
|
|||
{}
|
||||
2107
lib/l10n/intl_bn.arb
Normal file
2107
lib/l10n/intl_bn.arb
Normal file
File diff suppressed because it is too large
Load diff
2102
lib/l10n/intl_bo.arb
Normal file
2102
lib/l10n/intl_bo.arb
Normal file
File diff suppressed because it is too large
Load diff
3339
lib/l10n/intl_ca.arb
Normal file
3339
lib/l10n/intl_ca.arb
Normal file
File diff suppressed because it is too large
Load diff
2673
lib/l10n/intl_cs.arb
Normal file
2673
lib/l10n/intl_cs.arb
Normal file
File diff suppressed because it is too large
Load diff
29
lib/l10n/intl_da.arb
Normal file
29
lib/l10n/intl_da.arb
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
"repeatPassword": "Gentag password",
|
||||
"@repeatPassword": {},
|
||||
"notAnImage": "Ikke en billedfil.",
|
||||
"@notAnImage": {},
|
||||
"setCustomPermissionLevel": "Indstil særligt tilladelsesniveau",
|
||||
"@setCustomPermissionLevel": {},
|
||||
"setPermissionsLevelDescription": "Vælg en prædefineret rolle herunder eller indtaste et særligt tilladelsesniveau mellem 0 og 100.",
|
||||
"@setPermissionsLevelDescription": {},
|
||||
"ignoreUser": "Ignorér bruger",
|
||||
"@ignoreUser": {},
|
||||
"remove": "Fjern",
|
||||
"@remove": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"importNow": "Importer nu",
|
||||
"@importNow": {},
|
||||
"importEmojis": "Importer emojis",
|
||||
"@importEmojis": {},
|
||||
"normalUser": "Normal bruger",
|
||||
"@normalUser": {},
|
||||
"importFromZipFile": "Importer fra .zip fil",
|
||||
"@importFromZipFile": {},
|
||||
"alwaysUse24HourFormat": "true",
|
||||
"@alwaysUse24HourFormat": {
|
||||
"description": "Set to true to always display time of day in 24 hour format."
|
||||
}
|
||||
}
|
||||
|
|
@ -205,7 +205,7 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"changedTheChatDescriptionTo": "{username} hat die Chat-Beschreibung geändert zu: \"{description}\"",
|
||||
"changedTheChatDescriptionTo": "{username} hat die Chatbeschreibung geändert in: '{description}'",
|
||||
"@changedTheChatDescriptionTo": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
|
|
@ -217,7 +217,7 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"changedTheChatNameTo": "{username} hat den Chat-Namen geändert zu: \"{chatname}\"",
|
||||
"changedTheChatNameTo": "{username} hat den Chatnamen geändert in: '{chatname}'",
|
||||
"@changedTheChatNameTo": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
|
|
@ -238,7 +238,7 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"changedTheDisplaynameTo": "{username} hat den Nicknamen geändert zu: \"{displayname}\"",
|
||||
"changedTheDisplaynameTo": "{username} hat den Spitznamen geändert in: '{displayname}'",
|
||||
"@changedTheDisplaynameTo": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
|
|
@ -1499,11 +1499,6 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"renderRichContent": "Zeige Nachrichtenformatierungen an",
|
||||
"@renderRichContent": {
|
||||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"replaceRoomWithNewerVersion": "Raum mit neuer Version ersetzen",
|
||||
"@replaceRoomWithNewerVersion": {
|
||||
"type": "String",
|
||||
|
|
@ -3159,8 +3154,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"sendUncompressed": "Unkomprimiert senden",
|
||||
"@sendUncompressed": {},
|
||||
"boldText": "Fetter Text",
|
||||
"@boldText": {},
|
||||
"invalidUrl": "Ungültige URL",
|
||||
|
|
@ -3247,5 +3240,145 @@
|
|||
"notificationRuleSuppressNoticesDescription": "Unterdrückt Benachrichtigungen von automatisierten Clients wie Bots.",
|
||||
"@notificationRuleSuppressNoticesDescription": {},
|
||||
"notificationRuleInviteForMe": "Einladung für mich",
|
||||
"@notificationRuleInviteForMe": {}
|
||||
"@notificationRuleInviteForMe": {},
|
||||
"notificationRuleReaction": "Reaktion",
|
||||
"@notificationRuleReaction": {},
|
||||
"notificationRuleReactionDescription": "Unterdrückt Benachrichtigungen für Reaktionen.",
|
||||
"@notificationRuleReactionDescription": {},
|
||||
"notificationRuleSuppressEditsDescription": "Unterdrückt Benachrichtigungen für bearbeitete Nachrichten.",
|
||||
"@notificationRuleSuppressEditsDescription": {},
|
||||
"notificationRuleCall": "Anruf",
|
||||
"@notificationRuleCall": {},
|
||||
"notificationRuleCallDescription": "Benachrichtigt den Benutzer über Anrufe.",
|
||||
"@notificationRuleCallDescription": {},
|
||||
"notificationRuleEncrypted": "Verschlüsselt",
|
||||
"@notificationRuleEncrypted": {},
|
||||
"more": "Mehr",
|
||||
"@more": {},
|
||||
"notificationRuleSuppressEdits": "Unterdrückt Bearbeitungen",
|
||||
"@notificationRuleSuppressEdits": {},
|
||||
"notificationRuleRoomServerAclDescription": "Unterdrückt Benachrichtigungen für Raumserver-Zugriffskontrolllisten (ACL).",
|
||||
"@notificationRuleRoomServerAclDescription": {},
|
||||
"notificationRuleMessage": "Nachricht",
|
||||
"@notificationRuleMessage": {},
|
||||
"notificationRuleMessageDescription": "Informiert den Benutzer über allgemeine Nachrichten.",
|
||||
"@notificationRuleMessageDescription": {},
|
||||
"notificationRuleJitsi": "Jitsi",
|
||||
"@notificationRuleJitsi": {},
|
||||
"allDevices": "Alle Geräte",
|
||||
"@allDevices": {},
|
||||
"enterNewChat": "Neuen Chat betreten",
|
||||
"@enterNewChat": {},
|
||||
"shareKeysWith": "Schlüssel teilen mit...",
|
||||
"@shareKeysWith": {},
|
||||
"shareKeysWithDescription": "Welchen Geräten sollte vertraut werden, damit sie deine Nachrichten in verschlüsselten Chats mitlesen können?",
|
||||
"@shareKeysWithDescription": {},
|
||||
"verifiedDevicesOnly": "Nur verifizierte Geräte",
|
||||
"@verifiedDevicesOnly": {},
|
||||
"takeAPhoto": "Foto aufnehmen",
|
||||
"@takeAPhoto": {},
|
||||
"recordAVideo": "Video aufnehmen",
|
||||
"@recordAVideo": {},
|
||||
"optionalMessage": "(Optionale) Nachricht...",
|
||||
"@optionalMessage": {},
|
||||
"notSupportedOnThisDevice": "Nicht unterstützt auf diesem Gerät",
|
||||
"@notSupportedOnThisDevice": {},
|
||||
"ignoreUser": "Nutzer ignorieren",
|
||||
"@ignoreUser": {},
|
||||
"notificationRuleEncryptedRoomOneToOneDescription": "Benachrichtigt den Benutzer über Nachrichten in verschlüsselten Eins-zu-Eins-Chats.",
|
||||
"@notificationRuleEncryptedRoomOneToOneDescription": {},
|
||||
"commandHint_roomupgrade": "Aktualisieren Sie diesen Raum auf die angegebene Raumversion",
|
||||
"@commandHint_roomupgrade": {},
|
||||
"notificationRuleMemberEvent": "Mitgliederveranstaltung",
|
||||
"@notificationRuleMemberEvent": {},
|
||||
"notificationRuleInviteForMeDescription": "Benachrichtigt den Benutzer, wenn er in einen Raum eingeladen wird.",
|
||||
"@notificationRuleInviteForMeDescription": {},
|
||||
"notificationRuleIsUserMentionDescription": "Benachrichtigt den Benutzer, wenn er in einer Nachricht direkt erwähnt wird.",
|
||||
"@notificationRuleIsUserMentionDescription": {},
|
||||
"notificationRuleRoomnotifDescription": "Benachrichtigt den Benutzer, wenn eine Nachricht „@room“ enthält.",
|
||||
"@notificationRuleRoomnotifDescription": {},
|
||||
"notificationRuleRoomOneToOneDescription": "Benachrichtigt den Benutzer über Nachrichten in Einzelchats.",
|
||||
"@notificationRuleRoomOneToOneDescription": {},
|
||||
"notificationRuleEncryptedDescription": "Benachrichtigt den Benutzer über Nachrichten in verschlüsselten Räumen.",
|
||||
"@notificationRuleEncryptedDescription": {},
|
||||
"notificationRuleJitsiDescription": "Benachrichtigt den Benutzer über Jitsi-Widget-Ereignisse.",
|
||||
"@notificationRuleJitsiDescription": {},
|
||||
"checkList": "Checkliste",
|
||||
"@checkList": {},
|
||||
"countInvited": "{count} invited",
|
||||
"@countInvited": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"count": {
|
||||
"type": "int"
|
||||
}
|
||||
}
|
||||
},
|
||||
"notificationRuleIsUserMention": "Benutzererwähnung",
|
||||
"@notificationRuleIsUserMention": {},
|
||||
"notificationRuleContainsDisplayName": "Enthält den Anzeigenamen",
|
||||
"@notificationRuleContainsDisplayName": {},
|
||||
"notificationRuleContainsDisplayNameDescription": "Benachrichtigt den Benutzer, wenn eine Nachricht seinen Anzeigenamen enthält.",
|
||||
"@notificationRuleContainsDisplayNameDescription": {},
|
||||
"notificationRuleIsRoomMention": "Chat-Erwähnung",
|
||||
"@notificationRuleIsRoomMention": {},
|
||||
"notificationRuleRoomnotif": "Chat-Benachritigung",
|
||||
"@notificationRuleRoomnotif": {},
|
||||
"notificationRuleTombstoneDescription": "Benachrichtigt den Benutzer über Nachrichten zur Raumdeaktivierung.",
|
||||
"@notificationRuleTombstoneDescription": {},
|
||||
"notificationRuleEncryptedRoomOneToOne": "Verschlüsselter Einzelchat",
|
||||
"@notificationRuleEncryptedRoomOneToOne": {},
|
||||
"notificationRuleRoomOneToOne": "Einzelchat",
|
||||
"@notificationRuleRoomOneToOne": {},
|
||||
"notificationRuleServerAclDescription": "Unterdrückt Benachrichtigungen für Server-ACL-Ereignisse.",
|
||||
"@notificationRuleServerAclDescription": {},
|
||||
"unknownPushRule": "Unbekannte Push-Regel '{rule}'",
|
||||
"@unknownPushRule": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"rule": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"deletePushRuleCanNotBeUndone": "Wenn Sie diese Benachrichtigungseinstellung löschen, kann dies nicht rückgängig gemacht werden.",
|
||||
"@deletePushRuleCanNotBeUndone": {},
|
||||
"crossVerifiedDevices": "Cross-verifizierte Geräte",
|
||||
"@crossVerifiedDevices": {},
|
||||
"notificationRuleIsRoomMentionDescription": "Benachrichtigt den Benutzer, wenn ein Raum erwähnt wird.",
|
||||
"@notificationRuleIsRoomMentionDescription": {},
|
||||
"notificationRuleRoomServerAcl": "Raumserver-ACL",
|
||||
"@notificationRuleRoomServerAcl": {},
|
||||
"crossVerifiedDevicesIfEnabled": "Cross-verifizierte Geräte, falls aktiviert",
|
||||
"@crossVerifiedDevicesIfEnabled": {},
|
||||
"notificationRuleServerAcl": "Unterdrücken von Server-ACL-Ereignissen",
|
||||
"@notificationRuleServerAcl": {},
|
||||
"notificationRuleMemberEventDescription": "Unterdrückt Benachrichtigungen zu Mitgliedschaftsereignissen.",
|
||||
"@notificationRuleMemberEventDescription": {},
|
||||
"sentVoiceMessage": "🎙️ {duration} - {sender}",
|
||||
"@sentVoiceMessage": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"sender": {
|
||||
"type": "String"
|
||||
},
|
||||
"duration": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"normalUser": "Normaler Benutzer",
|
||||
"@normalUser": {},
|
||||
"setCustomPermissionLevel": "Benutzerdefinierte Berechtigungsstufe festlegen",
|
||||
"@setCustomPermissionLevel": {},
|
||||
"setPermissionsLevelDescription": "Bitte wählen Sie unten eine vordefinierte Rolle aus oder geben Sie eine benutzerdefinierte Berechtigungsstufe zwischen 0 und 100 ein.",
|
||||
"@setPermissionsLevelDescription": {},
|
||||
"approve": "Genehmigen",
|
||||
"@approve": {},
|
||||
"youHaveKnocked": "Du hast geklopft",
|
||||
"@youHaveKnocked": {},
|
||||
"pleaseWaitUntilInvited": "Bitte warte nun, bis dich jemand aus dem Raum auffordert.",
|
||||
"@pleaseWaitUntilInvited": {},
|
||||
"notificationRuleTombstone": "Tombstone",
|
||||
"@notificationRuleTombstone": {}
|
||||
}
|
||||
2152
lib/l10n/intl_el.arb
Normal file
2152
lib/l10n/intl_el.arb
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -9,6 +9,10 @@
|
|||
"@repeatPassword": {},
|
||||
"notAnImage": "Not an image file.",
|
||||
"@notAnImage": {},
|
||||
"setCustomPermissionLevel": "Set custom permission level",
|
||||
"setPermissionsLevelDescription": "Please choose a predefined role below or enter a custom permission level between 0 and 100.",
|
||||
"ignoreUser": "Ignore user",
|
||||
"normalUser": "Normal user",
|
||||
"remove": "Remove",
|
||||
"@remove": {
|
||||
"type": "String",
|
||||
|
|
@ -102,6 +106,7 @@
|
|||
"type": "String",
|
||||
"placeholders": {}
|
||||
},
|
||||
"commandHint_roomupgrade": "Upgrade this room to the given room version",
|
||||
"commandHint_googly": "Send some googly eyes",
|
||||
"@commandHint_googly": {},
|
||||
"commandHint_cuddle": "Send a cuddle",
|
||||
|
|
@ -691,6 +696,7 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"checkList": "Check list",
|
||||
"countParticipants": "{count} participants",
|
||||
"@countParticipants": {
|
||||
"type": "String",
|
||||
|
|
@ -700,6 +706,15 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"countInvited": "{count} invited",
|
||||
"@countInvited": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"count": {
|
||||
"type": "int"
|
||||
}
|
||||
}
|
||||
},
|
||||
"create": "Create",
|
||||
"@create": {
|
||||
"type": "String",
|
||||
|
|
@ -3194,6 +3209,18 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"sentVoiceMessage": "🎙️ {duration} - Voice message from {sender}",
|
||||
"@sentVoiceMessage": {
|
||||
"type": "String",
|
||||
"placeholders": {
|
||||
"sender": {
|
||||
"type": "String"
|
||||
},
|
||||
"duration": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"deletePushRuleCanNotBeUndone": "If you delete this notification setting, this can not be undone.",
|
||||
"more": "More",
|
||||
"shareKeysWith": "Share keys with...",
|
||||
|
|
@ -3206,6 +3233,13 @@
|
|||
"recordAVideo": "Record a video",
|
||||
"optionalMessage": "(Optional) message...",
|
||||
"notSupportedOnThisDevice": "Not supported on this device",
|
||||
"enterNewChat": "Enter new chat",
|
||||
"approve": "Approve",
|
||||
"youHaveKnocked": "You have knocked",
|
||||
"pleaseWaitUntilInvited": "Please wait now, until someone from the room invites you.",
|
||||
"commandHint_logout": "Logout your current device",
|
||||
"commandHint_logoutall": "Logout all active devices",
|
||||
"displayNavigationRail": "Show navigation rail on mobile",
|
||||
"accountInformation": "Account information",
|
||||
"addGroupDescription": "Add a chat description",
|
||||
"addNewFriend": "Add new friend",
|
||||
|
|
@ -4863,8 +4897,8 @@
|
|||
"emptyChatWarningDesc": "You haven't invited anyone to your chat. Go to Chat settings to invite your contacts or the Bot. You can also do this later.",
|
||||
"areYouLikeMe": "Are you like me?",
|
||||
"tryAgainLater": "Too many attempts made. Please try again in 5 minutes.",
|
||||
"enterSpaceCode": "Enter the Space Code",
|
||||
"shareSpaceLink": "Share link to space",
|
||||
"enterSpaceCode": "Enter space code",
|
||||
"shareSpaceLink": "Share link",
|
||||
"byUsingPangeaChat": "By using Pangea Chat, I agree to the ",
|
||||
"details": "Details",
|
||||
"languageLevelPreA1Desc": "I have never learned or used the language.",
|
||||
|
|
@ -4896,5 +4930,105 @@
|
|||
},
|
||||
"ban": "Ban",
|
||||
"unban": "Unban",
|
||||
"kick": "Kick"
|
||||
"kick": "Kick",
|
||||
"lemma": "Lemma",
|
||||
"grammarFeature": "Grammar feature",
|
||||
"grammarTag": "Grammar tag",
|
||||
"forms": "Forms",
|
||||
"exampleMessages": "Example messages",
|
||||
"timesUsedIndependently": "Times used independently",
|
||||
"timesUsedWithAssistance": "Times used with assistance",
|
||||
"goToSpaceButton": "Go to space",
|
||||
"shareInviteCode": "Share invite code: {code}",
|
||||
"@shareInviteCode": {
|
||||
"placeholders": {
|
||||
"code": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"leaderboard": "Leaderboard",
|
||||
"welcomeUser": "Welcome {user}",
|
||||
"@welcomeUser": {
|
||||
"placeholders": {
|
||||
"user": {
|
||||
"type": "String"
|
||||
}
|
||||
}
|
||||
},
|
||||
"joinSpaceOnboardingDesc": "Do you have an invite code or link to a learning community?",
|
||||
"skipForNow": "Skip for now",
|
||||
"permissions": "Permissions",
|
||||
"spaceChildPermission": "Who can add new chats and subspaces to this space",
|
||||
"addEnvironmentOverride": "Add environment override",
|
||||
"defaultOption": "Default",
|
||||
"deleteChatDesc": "Are you sure you want to delete this chat? It will be deleted for all participants and all messages within the chat will no longer be available for practice or learning analytics.",
|
||||
"deleteSpaceDesc": "The space and any selected chats and/or subspaces will be deleted for all participants and all messages within the chat will no longer be available for practice or learning analytics. This action cannot be undone.",
|
||||
"chatWithActivities": "Chat with activities",
|
||||
"findYourPeople": "Find your people",
|
||||
"launch": "Launch",
|
||||
"launchActivityToChats": "Launch activity to chats",
|
||||
"searchChats": "Search chats",
|
||||
"selectChats": "Select chats",
|
||||
"selectChatToStart": "Complete! Select a chat to start",
|
||||
"maxFifty": "Max 50",
|
||||
"configureSpace": "Configure space",
|
||||
"pinMessages": "Pin messages",
|
||||
"setJoinRules": "Set join rules",
|
||||
"changeGeneralSettings": "Change general settings",
|
||||
"inviteOtherUsersToRoom": "Invite other users",
|
||||
"changeTheNameOfTheSpace": "Change the name of the space",
|
||||
"changeTheDescription": "Change the description",
|
||||
"changeThePermissions": "Change the permissions",
|
||||
"introductions": "Introductions",
|
||||
"announcements": "Announcements",
|
||||
"activities": "Activities",
|
||||
"access": "Access",
|
||||
"addSubspace": "Add subspace",
|
||||
"botSettings": "Bot settings",
|
||||
"activitySuggestionTimeoutMessage": "We are working hard to generate activities for you, please check back in a minute",
|
||||
"accessSettingsWarning": "Oops! It looks like you don't have permission to set the Access rules of this room. You should check these to make sure they're what you need and talk to a room admin if you need to change them",
|
||||
"howSpaceCanBeFound": "How this space can be found",
|
||||
"private": "Private",
|
||||
"cannotBeFoundInSearch": "Cannot be found in search",
|
||||
"public": "Public",
|
||||
"visibleToCommunity": "Visible to the broader Pangea Chat community via \"Find your people\"",
|
||||
"howSpaceCanBeJoined": "How this space can be joined",
|
||||
"restricted": "Restricted",
|
||||
"canBeFoundVia": "Can be found via:",
|
||||
"canBeFoundViaInvitation": "\u2022 invitation",
|
||||
"canBeFoundViaCodeOrLink": "\u2022 code or link",
|
||||
"canBeFoundViaKnock": "\u2022 request to join and admin approval",
|
||||
"anyoneCanJoin": "Anyone can join! However, admin can kick and ban whoever misbehaves. Those who are banned may not return!",
|
||||
"createYourSpace": "Create your space",
|
||||
"sendActivities": "Send activities",
|
||||
"getStarted": "Get Started",
|
||||
"getStartedBotChatDesc": "Chatting with AI is a great place to start and Pangea reading, writing, listening and speaking tools make it easy!",
|
||||
"getStartedCommunitiesDesc": "Learning with a community is where Pangea Chat shines!\nYou can join your class, find a school, or even make your own!",
|
||||
"getStartedFriendsDesc": "Do you have a friend that wants to learn with you?",
|
||||
"getStartedBotChatComplete": "Well-done! You're chatting with the bot!",
|
||||
"getStartedCommunitiesComplete": "Great, you have joined a space!",
|
||||
"getStartedComplete": "You've completed this section!\nKeep exploring our amazing features by chatting with friends!",
|
||||
"getStartedFriendsComplete": "Woohoo! You've got friends! 😉",
|
||||
"getStartedBotChatButton": "Start chatting!",
|
||||
"getStartedFriendsButton": "Chat with a friend",
|
||||
"groupChat": "Group Chat",
|
||||
"directMessage": "Direct Message",
|
||||
"newDirectMessage": "New direct message",
|
||||
"speakingExercisesTooltip": "Speaking practice",
|
||||
"noChatsFoundHereYet": "No chats found here yet",
|
||||
"duration": "Duration",
|
||||
"transcriptionFailed": "Failed to transcribe audio",
|
||||
"aUserIsKnocking": "1 user is requesting to join your space",
|
||||
"usersAreKnocking": "{users} users are requesting to join your space",
|
||||
"@usersAreKnocking": {
|
||||
"type": "int",
|
||||
"placeholders": {
|
||||
"users": {
|
||||
"type": "int"
|
||||
}
|
||||
}
|
||||
},
|
||||
"failedToFetchTranscription": "Failed to fetch transcription",
|
||||
"deleteEmptySpaceDesc": "The space will be deleted for all participants. This action cannot be undone."
|
||||
}
|
||||
2077
lib/l10n/intl_eo.arb
Normal file
2077
lib/l10n/intl_eo.arb
Normal file
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
Loading…
Add table
Reference in a new issue