diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
deleted file mode 100644
index 7808c795..00000000
--- a/.github/ISSUE_TEMPLATE/bug_report.yml
+++ /dev/null
@@ -1,126 +0,0 @@
-name: 🐞 Bug report
-description: Report a bug or an issue.
-title: "bug: "
-labels: ["Bug report"]
-body:
- - type: markdown
- attributes:
- value: |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Continuing the legacy of Vanced
-
-
- # ReVanced Manager bug report
-
- Before creating a new bug report, please keep the following in mind:
-
- - **Do not submit a duplicate bug report**: Search for existing bug reports [here](https://github.com/ReVanced/revanced-manager/issues?q=label%3A%22Bug+report%22).
- - **Review the contribution guidelines**: Make sure your bug report adheres to it. You can find the guidelines [here](https://github.com/ReVanced/revanced-manager/blob/main/CONTRIBUTING.md).
- - **Do not use the issue page for support**: If you need help or have questions, check out other platforms on [revanced.app](https://revanced.app).
- - type: textarea
- attributes:
- label: Bug description
- description: |
- - Describe your bug in detail
- - Add steps to reproduce the bug if possible (Step 1. ... Step 2. ...)
- - Add images and videos if possible
- - List used patches if applicable
- validations:
- required: true
- - type: textarea
- attributes:
- label: Version of ReVanced Manager and version & name of app you are patching
- validations:
- required: true
- - type: dropdown
- attributes:
- label: Installation method
- options:
- - Regular
- - Mount
- validations:
- required: false
- - type: textarea
- attributes:
- label: ReVanced Manager logs
- description: Export logs from the ReVanced Manager settings.
- render: shell
- validations:
- required: true
- - type: textarea
- attributes:
- label: Patch logs
- description: Export logs from the "Patcher" screen.
- render: shell
- validations:
- required: false
- - type: checkboxes
- id: acknowledgements
- attributes:
- label: Acknowledgements
- description: Your bug report will be closed if you don't follow the checklist below.
- options:
- - label: I have checked all open and closed bug reports and this is not a duplicate.
- required: true
- - label: I have chosen an appropriate title.
- required: true
- - label: All requested information has been provided properly.
- required: true
- - label: The bug is only related to ReVanced Manager.
- required: true
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
deleted file mode 100644
index 3ee6d407..00000000
--- a/.github/ISSUE_TEMPLATE/config.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-blank_issues_enabled: false
-contact_links:
- - name: 🗨 Discussions
- url: https://github.com/revanced/revanced-suggestions/discussions
- about: Have something unspecific to ReVanced Manager in mind? Search for or start a new discussion!
diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml
deleted file mode 100644
index f52fe568..00000000
--- a/.github/ISSUE_TEMPLATE/feature_request.yml
+++ /dev/null
@@ -1,105 +0,0 @@
-name: ⭐ Feature request
-description: Create a detailed request for a new feature.
-title: "feat: "
-labels: ["Feature request"]
-body:
- - type: markdown
- attributes:
- value: |
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Continuing the legacy of Vanced
-
-
- # ReVanced Manager feature request
-
- Before creating a new feature request, please keep the following in mind:
-
- - **Do not submit a duplicate feature request**: Search for existing feature requests [here](https://github.com/ReVanced/revanced-manager/issues?q=label%3A%22Feature+request%22).
- - **Review the contribution guidelines**: Make sure your feature request adheres to it. You can find the guidelines [here](https://github.com/ReVanced/revanced-manager/blob/main/CONTRIBUTING.md).
- - **Do not use the issue page for support**: If you need help or have questions, check out other platforms on [revanced.app](https://revanced.app).
- - type: textarea
- attributes:
- label: Feature description
- description: |
- - Describe your feature in detail
- - Add images, videos, links, examples, references, etc. if possible
- - type: textarea
- attributes:
- label: Motivation
- description: |
- A strong motivation is necessary for a feature request to be considered.
-
- - Why should this feature be implemented?
- - What is the explicit use case?
- - What are the benefits?
- - What makes this feature important?
- validations:
- required: true
- - type: checkboxes
- id: acknowledgements
- attributes:
- label: Acknowledgements
- description: Your feature request will be closed if you don't follow the checklist below.
- options:
- - label: I have checked all open and closed feature requests and this is not a duplicate.
- required: true
- - label: I have chosen an appropriate title.
- required: true
- - label: The feature request is only related to ReVanced Manager.
- required: true
diff --git a/.github/config.yaml b/.github/config.yaml
deleted file mode 100644
index 075f56b5..00000000
--- a/.github/config.yaml
+++ /dev/null
@@ -1,2 +0,0 @@
-firstPRMergeComment: >
- Thank you for contributing to ReVanced. Join us on [Discord](https://revanced.app/discord) to receive a role for your contribution.
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
deleted file mode 100644
index 44909feb..00000000
--- a/.github/dependabot.yml
+++ /dev/null
@@ -1,78 +0,0 @@
-version: 2
-updates:
- - package-ecosystem: github-actions
- labels: []
- directory: /
- target-branch: dev
- schedule:
- interval: monthly
- groups:
- gh-actions:
- applies-to: version-updates
- patterns:
- - "*"
- update-types:
- - "minor"
- - "patch"
-
- - package-ecosystem: npm
- labels: []
- directory: /
- target-branch: dev
- schedule:
- interval: monthly
- groups:
- npm:
- applies-to: version-updates
- patterns:
- - "*"
- update-types:
- - "minor"
- - "patch"
-
- # ReVanced Manager Flutter
- - package-ecosystem: pub
- labels: []
- directory: /
- target-branch: dev
- schedule:
- interval: monthly
- groups:
- pubspec:
- applies-to: version-updates
- patterns:
- - "*"
- update-types:
- - "minor"
- - "patch"
-
- - package-ecosystem: gradle
- labels: []
- directory: /android
- target-branch: dev
- schedule:
- interval: monthly
- groups:
- gradle:
- applies-to: version-updates
- patterns:
- - "*"
- update-types:
- - "minor"
- - "patch"
-
- # ReVanced Manager Compose
- - package-ecosystem: gradle
- labels: [ "ReVanced Manager Compose" ]
- directory: /
- target-branch: compose-dev
- schedule:
- interval: monthly
- groups:
- gradle-compose:
- applies-to: version-updates
- patterns:
- - "*"
- update-types:
- - "minor"
- - "patch"
diff --git a/.github/workflows/build_pull_request.yml b/.github/workflows/build_pull_request.yml
deleted file mode 100644
index 1b4400b3..00000000
--- a/.github/workflows/build_pull_request.yml
+++ /dev/null
@@ -1,70 +0,0 @@
-name: Build pull request
-
-on:
- workflow_dispatch:
- inputs:
- pr-number:
- description: PR number
- required: true
- app-flavor:
- description: App flavor
- default: release
- type: choice
- options:
- - release
- - debug
- - profile
-
-jobs:
- build:
- name: Build
- runs-on: ubuntu-latest
- permissions:
- contents: read
- pull-requests: write
- steps:
- - name: Checkout PR
- uses: actions/checkout@v4
- with:
- ref: refs/pull/${{ inputs.pr-number }}/merge
- fetch-depth: 0
-
- - name: Setup Java
- uses: actions/setup-java@v4
- with:
- distribution: 'temurin'
- java-version: '17'
-
- - name: Set up Flutter
- uses: subosito/flutter-action@v2
- with:
- channel: stable
- cache: true
-
- - name: Cache Gradle
- uses: burrunan/gradle-cache-action@v1
- with:
- build-root-directory: ${{ github.workspace }}/android
-
- - name: Get dependencies
- run: flutter pub get
-
- - name: Generate translations
- run: dart run slang
-
- - name: Generate code files
- run: dart run build_runner build --delete-conflicting-outputs
-
- - name: Build
- id: flutter-build
- run: flutter build apk --${{ inputs.app-flavor }}
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-
- - name: Upload artifacts
- if: steps.flutter-build.outcome == 'success'
- uses: actions/upload-artifact@v4
- with:
- name: revanced-manager-(${{ env.COMMIT_HASH }}
- path: |
- build/app/outputs/flutter-apk/app-*.apk
diff --git a/.github/workflows/open_pull_request.yml b/.github/workflows/open_pull_request.yml
deleted file mode 100644
index 03d40f7f..00000000
--- a/.github/workflows/open_pull_request.yml
+++ /dev/null
@@ -1,29 +0,0 @@
-name: Open a PR to main
-
-on:
- push:
- branches:
- - dev
- workflow_dispatch:
-
-env:
- MESSAGE: Merge branch `${{ github.head_ref || github.ref_name }}` to `main`
-
-jobs:
- pull-request:
- name: Open pull request
- permissions:
- pull-requests: write
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v4
-
- - name: Open pull request
- uses: repo-sync/pull-request@v2
- with:
- destination_branch: 'main'
- pr_title: 'chore: ${{ env.MESSAGE }}'
- pr_body: |
- This pull request will ${{ env.MESSAGE }}.
- pr_draft: true
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
deleted file mode 100644
index 0050159a..00000000
--- a/.github/workflows/release.yml
+++ /dev/null
@@ -1,76 +0,0 @@
-name: Release
-
-on:
- workflow_dispatch:
- push:
- branches:
- - main
- - dev
-
-jobs:
- release:
- name: Release
- permissions:
- contents: write
- id-token: write
- attestations: write
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v4
- with:
- fetch-depth: 0
-
- - name: Setup Java
- uses: actions/setup-java@v4
- with:
- distribution: 'temurin'
- java-version: '17'
-
- - name: Setup Node.js
- uses: actions/setup-node@v4
- with:
- node-version: "lts/*"
- cache: 'npm'
-
- - name: Set up Flutter
- uses: subosito/flutter-action@v2
- with:
- channel: stable
- cache: true
-
- - name: Cache Gradle
- uses: burrunan/gradle-cache-action@v1
- with:
- build-root-directory: ${{ github.workspace }}/android
-
- - name: Install dependencies
- run: npm ci
-
- - name: Get dependencies
- run: flutter pub get
-
- - name: Generate translations
- run: dart run slang
-
- - name: Generate code files
- run: dart run build_runner build --delete-conflicting-outputs
-
- - name: Setup keystore
- run: |
- echo "${{ secrets.KEYSTORE }}" | base64 --decode > "android/app/keystore.jks"
-
- - name: Semantic Release
- uses: cycjimmy/semantic-release-action@v4
- id: semantic
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
- KEYSTORE_ENTRY_ALIAS: ${{ secrets.KEYSTORE_ENTRY_ALIAS }}
- KEYSTORE_ENTRY_PASSWORD: ${{ secrets.KEYSTORE_ENTRY_PASSWORD }}
-
- - name: Attest
- if: steps.semantic.outputs.new_release_published == 'true'
- uses: actions/attest-build-provenance@v2
- with:
- subject-path: build/app/outputs/apk/release/revanced-manager-*.apk
diff --git a/.github/workflows/sync_crowdin.yml b/.github/workflows/sync_crowdin.yml
deleted file mode 100644
index d74f03a1..00000000
--- a/.github/workflows/sync_crowdin.yml
+++ /dev/null
@@ -1,78 +0,0 @@
-name: Sync Crowdin
-
-on:
- workflow_dispatch:
- schedule:
- - cron: 00 12 * * 1
- push:
- branches: dev
- paths:
- - assets/i18n/*.json
- - assets/i18n/*.dart
- - .github/workflows/sync_crowdin.yml
-
-jobs:
- sync:
- name: Sync
- runs-on: ubuntu-latest
- permissions:
- contents: write
- pull-requests: write
- steps:
- - name: Checkout
- uses: actions/checkout@v4
- with:
- ref: dev
- fetch-depth: 0
- clean: true
-
- - name: Setup Flutter
- uses: subosito/flutter-action@v2
- with:
- cache: true
-
- - name: Sync translations from Crowdin
- uses: crowdin/github-action@v2
- with:
- config: crowdin.yml
- upload_sources: true
- upload_translations: false
- download_translations: true
- localization_branch_name: feat/translations
- skip_ref_checkout: true
- create_pull_request: true
- pull_request_title: "chore: Sync translations"
- pull_request_body: "Sync translations from [crowdin.com/project/revanced](https://crowdin.com/project/revanced)"
- pull_request_base_branch_name: "dev"
- commit_message: "chore: Sync translations"
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
- CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
-
- - name: Validation of synced translations
- run: |
- dart pub get
- dart run slang validate
-
- - name: Normalization of Translation Strings
- run: |
- sudo chmod 766 assets/i18n/*.i18n.json
-
- dart run slang analyze
- dart run slang clean
- dart run slang normalize
-
- dart run slang
-
- cd assets/i18n
- dart nuke.dart >> $GITHUB_STEP_SUMMARY
- cd ../..
-
- flutter analyze lib/gen/strings.g.dart --no-fatal-infos --no-fatal-warnings
-
- - name: Commit translations
- run: |
- sudo chown -R $USER:$USER .git
- git commit -m "chore: Remove empty values from JSON" assets/i18n/*.i18n.json
- git push origin HEAD:feat/translations
diff --git a/.github/workflows/update_documentation.yml b/.github/workflows/update_documentation.yml
deleted file mode 100644
index 541a7aa5..00000000
--- a/.github/workflows/update_documentation.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-name: Update documentation
-
-on:
- push:
- paths:
- - docs/**
-
-jobs:
- trigger:
- runs-on: ubuntu-latest
- name: Dispatch event to documentation repository
- if: github.ref == 'refs/heads/main'
- steps:
- - uses: peter-evans/repository-dispatch@v3
- with:
- token: ${{ secrets.DOCUMENTATION_REPO_ACCESS_TOKEN }}
- repository: revanced/revanced-documentation
- event-type: update-documentation
- client-payload: '{"repo": "${{ github.event.repository.name }}", "ref": "${{ github.ref }}"}'
diff --git a/.gitignore b/.gitignore
index 64ed78de..aa724b77 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,55 +1,15 @@
-# Miscellaneous
-*.class
-*.log
-*.pyc
-*.swp
-.DS_Store
-.atom/
-.buildlog/
-.history
-.svn/
-migrate_working_dir/
-
-# IntelliJ related
*.iml
-*.ipr
-*.iws
-.idea/
-
-# The .vscode folder contains launch configuration and tasks you configure in
-# VS Code which you may wish to be included in version control, so this line
-# is commented out by default.
-#.vscode/
-
-# Flutter/Dart/Pub related
-**/doc/api/
-**/ios/Flutter/.last_build_id
-.dart_tool/
-.flutter-plugins
-.flutter-plugins-dependencies
-.pub-cache/
-.pub/
-/build/
-
-# Symbolication related
-app.*.symbols
-
-# Obfuscation related
-app.*.map.json
-
-# Android Studio will place build artifacts here
-/android/app/debug
-/android/app/profile
-/android/app/release
-
-# Generated files
-android/app/.cxx
-**/*.g.dart
-**/*.locator.dart
-**/*.router.dart
-
-# Project specific
-node_modules/
-.vscode/
-
-
+.gradle
+/local.properties
+/.idea/caches
+/.idea/libraries
+/.idea/modules.xml
+/.idea/workspace.xml
+/.idea/navEditor.xml
+/.idea/assetWizardSettings.xml
+.DS_Store
+/build
+/captures
+.externalNativeBuild
+.cxx
+local.properties
diff --git a/.metadata b/.metadata
deleted file mode 100644
index c689480b..00000000
--- a/.metadata
+++ /dev/null
@@ -1,30 +0,0 @@
-# This file tracks properties of this Flutter project.
-# Used by Flutter tool to assess capabilities and perform upgrades etc.
-#
-# This file should be version controlled and should not be manually edited.
-
-version:
- revision: "2663184aa79047d0a33a14a3b607954f8fdd8730"
- channel: "stable"
-
-project_type: app
-
-# Tracks metadata for the flutter migrate command
-migration:
- platforms:
- - platform: root
- create_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730
- base_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730
- - platform: android
- create_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730
- base_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730
-
- # User provided section
-
- # List of Local paths (relative to this file) that should be
- # ignored by the migrate tool.
- #
- # Files that are not part of the templates will be ignored by default.
- unmanaged_files:
- - 'lib/main.dart'
- - 'ios/Runner.xcodeproj/project.pbxproj'
diff --git a/.releaserc b/.releaserc
deleted file mode 100644
index 5ceed3a8..00000000
--- a/.releaserc
+++ /dev/null
@@ -1,62 +0,0 @@
-{
- "branches": [
- "main",
- {
- "name": "dev",
- "prerelease": true
- }
- ],
- "plugins": [
- [
- "@semantic-release/commit-analyzer", {
- "releaseRules": [
- { "type": "build", "scope": "Needs bump", "release": "patch" }
- ]
- }
- ],
- "@semantic-release/changelog",
- "@semantic-release/release-notes-generator",
- [
- "semantic-release-pub",
- {
- "publishPub": false,
- "updateBuildNumber": true
- }
- ],
- [
- "@semantic-release/exec",
- {
- "prepareCmd": "flutter build apk"
- }
- ],
- [
- "@semantic-release/git",
- {
- "assets": [
- "pubspec.yaml"
- ]
- }
- ],
- [
- "@semantic-release/github",
- {
- "assets": [
- {
- "path": "build/app/outputs/apk/release/revanced-manager*.apk"
- },
- ],
- "commits": [
- "message": "chore: Release v${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
- ],
- "successComment": false
- }
- ],
- [
- "@saithodev/semantic-release-backmerge",
- {
- "backmergeBranches": [{"from": "main", "to": "dev"}],
- "clearWorkspace": true
- }
- ]
- ]
-}
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
deleted file mode 100644
index 58410499..00000000
--- a/CONTRIBUTING.md
+++ /dev/null
@@ -1,103 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Continuing the legacy of Vanced
-
-
-# 👋 Contribution guidelines
-
-This document describes how to contribute to ReVanced Manager.
-
-## 📖 Resources to help you get started
-
-* The [documentation](/docs/README.md) provides steps to build ReVanced Manager from source
-* Our [backlog](https://github.com/orgs/ReVanced/projects/12) is where we keep track of what we're working on
-* [Issues](https://github.com/ReVanced/revanced-manager/issues) are where we keep track of bugs and feature requests
-
-## 🙏 Submitting a feature request
-
-Features can be requested by opening an issue using the
-[Feature request issue template](https://github.com/ReVanced/revanced-manager/issues/new?assignees=&labels=Feature+request&projects=&template=feature_request.yml&title=feat%3A+).
-
-> **Note**
-> Requests can be accepted or rejected at the discretion of maintainers of ReVanced Manager.
-> Good motivation has to be provided for a request to be accepted.
-
-## 🐞 Submitting a bug report
-
-If you encounter a bug while using ReVanced Manager, open an issue using the
-[Bug report issue template](https://github.com/ReVanced/revanced-manager/issues/new?assignees=&labels=Bug+report&projects=&template=bug_report.yml&title=bug%3A+).
-
-## 📝 How to contribute
-
-1. Before contributing, it is recommended to open an issue to discuss your change
- with the maintainers of ReVanced Manager. This will help you determine whether your change is acceptable
- and whether it is worth your time to implement it
-2. Development happens on the `dev` branch. Fork the repository and create your branch from `dev`
-3. Commit your changes
-4. Submit a pull request to the `dev` branch of the repository and reference issues
- that your pull request closes in the description of your pull request
-5. Our team will review your pull request and provide feedback. Once your pull request is approved,
- it will be merged into the `dev` branch and will be included in the next release of ReVanced Manager
-
-## 🤚 I want to contribute but don't know how to code
-
-Even if you don't know how to code, you can still contribute by
-translating ReVanced Manager on [Crowdin](https://translate.revanced.app/).
-
-❤️ Thank you for considering contributing to ReVanced Manager,
-ReVanced
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index f288702d..00000000
--- a/LICENSE
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- 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), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-Also add information on how to contact you by electronic and paper mail.
-
- If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- Copyright (C)
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
- .
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
diff --git a/README.md b/README.md
deleted file mode 100644
index 3b1b604f..00000000
--- a/README.md
+++ /dev/null
@@ -1,105 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Continuing the legacy of Vanced
-
-
-# 💊 ReVanced Manager
-
-
-
-
-Application to use ReVanced on Android
-
-## ❓ About
-
-ReVanced Manager is an application that uses [ReVanced Patcher](https://github.com/revanced/revanced-patcher) to patch Android apps.
-
-## 💪 Features
-
-Some of the features ReVanced Manager provides are:
-
-- 💉 **Patch apps**: Apply any patch of your choice to Android apps
-- 📱 **Portable**: ReVanced Patcher that fits in your pocket
-- 🤗 **Simple UI**: Quickly understand the ins and outs of ReVanced Manager
-- 🛠️ **Customization**: Configurable API, custom sources, language, signing keystore, theme and more
-
-## 🔽 Download
-
-You can download the most recent version of ReVanced Manager at [revanced.app/download](https://revanced.app/download) or from [GitHub releases](https://github.com/ReVanced/revanced-manager/releases/latest).
-Learn how to use ReVanced Manager by following the [documentation](/docs).
-
-## 📚 Everything else
-
-### 📙 Contributing
-
-Thank you for considering contributing to ReVanced Manager.
-You can find the contribution guidelines [here](CONTRIBUTING.md).
-
-### 🛠️ Building
-
-To build a ReVanced Manager, you can follow the [documentation](/docs).
-
-### 📄 Documentation
-
-You can find the documentation for ReVanced Manager [here](/docs).
-
-## ⚖️ License
-
-ReVanced Manager is licensed under the GPLv3 license. Please see the [license file](LICENSE) for more information.
-[tl;dr](https://www.tldrlegal.com/license/gnu-general-public-license-v3-gpl-3) you may copy, distribute and modify ReVanced Manager as long as you track changes/dates in source files.
-Any modifications to ReVanced Manager must also be made available under the GPL, along with build & install instructions.
diff --git a/SECURITY.md b/SECURITY.md
deleted file mode 100644
index 15e3660d..00000000
--- a/SECURITY.md
+++ /dev/null
@@ -1,77 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Continuing the legacy of Vanced
-
-
-# 🔒 Security Policy
-
-This document describes how to report security vulnerabilities for ReVanced Manager.
-
-## 🚨 Reporting a Vulnerability
-
-Please open an issue in our [advisory tracker](https://github.com/ReVanced/revanced-manager/security/advisories/new) or reach out privately to us on [Discord](https://discord.gg/revanced).
-
-If a vulnerability is confirmed and accepted, you can join our [Discord](https://discord.gg/revanced) server to receive a special contributor role.
-
-### ⏳ Supported Versions
-
-| Version | Branch | Supported |
-| --------------------------------------------------------------------------------------------------------------------------------------- | ----------- | ------------------ |
-|  | main | :white_check_mark: |
-|  | dev | :white_check_mark: |
-|  | compose-dev | :white_check_mark: |
diff --git a/analysis_options.yaml b/analysis_options.yaml
deleted file mode 100644
index 03e6e659..00000000
--- a/analysis_options.yaml
+++ /dev/null
@@ -1,156 +0,0 @@
-# This file configures the analyzer, which statically analyzes Dart code to
-# check for errors, warnings, and lints.
-#
-# The issues identified by the analyzer are surfaced in the UI of Dart-enabled
-# IDEs (https://dart.dev/tools#ides-and-editors). The analyzer can also be
-# invoked from the command line by running `flutter analyze`.
-
-# The following line activates a set of recommended lints for Flutter apps,
-# packages, and plugins designed to encourage good coding practices.
-include: package:flutter_lints/flutter.yaml
-
-analyzer:
- exclude:
- - lib/app/app.locator.dart
- - lib/app/app.router.dart
- - lib/models/patch.g.dart
- - lib/models/patched_application.g.dart
- - lib/gen/
-
-linter:
- rules:
- - always_declare_return_types
- - require_trailing_commas
- - always_put_control_body_on_new_line
- - always_use_package_imports # we do this commonly
- - annotate_overrides
- - avoid_bool_literals_in_conditional_expressions
- - avoid_double_and_int_checks
- - avoid_empty_else
- - avoid_equals_and_hash_code_on_mutable_classes
- - avoid_escaping_inner_quotes
- - avoid_field_initializers_in_const_classes
- - avoid_function_literals_in_foreach_calls
- - avoid_implementing_value_types
- - avoid_init_to_null
- - avoid_js_rounded_ints
- - avoid_null_checks_in_equality_operators
- - avoid_print
- - avoid_redundant_argument_values
- - avoid_relative_lib_imports
- - avoid_renaming_method_parameters
- - avoid_return_types_on_setters
- - avoid_returning_null_for_void
- - avoid_setters_without_getters
- - avoid_shadowing_type_parameters
- - avoid_single_cascade_in_expression_statements
- - avoid_type_to_string
- - avoid_types_as_parameter_names
- - avoid_unnecessary_containers
- - avoid_void_async
- - avoid_web_libraries_in_flutter # we use web libraries in web-specific code, and our tests prevent us from using them elsewhere
- - await_only_futures
- - camel_case_extensions
- - camel_case_types
- - cancel_subscriptions
- - cast_nullable_to_non_nullable
- - close_sinks # not reliable enough
- - control_flow_in_finally
- - curly_braces_in_flow_control_structures
- - depend_on_referenced_packages
- - deprecated_consistency
- - directives_ordering
- - empty_catches
- - empty_constructor_bodies
- - empty_statements
- - eol_at_end_of_file
- - exhaustive_cases
- - file_names
- - flutter_style_todos
- - hash_and_equals
- - implementation_imports
- - collection_methods_unrelated_type
- - leading_newlines_in_multiline_strings
- - library_prefixes
- - library_private_types_in_public_api
- - missing_whitespace_between_adjacent_strings
- - no_adjacent_strings_in_list
- - no_duplicate_case_values
- - no_logic_in_create_state
- - non_constant_identifier_names
- - noop_primitive_operations
- - null_check_on_nullable_type_parameter
- - null_closures
- - overridden_fields
- - package_names
- - prefer_adjacent_string_concatenation
- - prefer_asserts_in_initializer_lists
- - prefer_collection_literals
- - prefer_conditional_assignment
- - prefer_const_constructors
- - prefer_const_constructors_in_immutables
- - prefer_const_declarations
- - prefer_const_literals_to_create_immutables
- - prefer_contains
- - prefer_final_fields
- - prefer_final_in_for_each
- - prefer_final_locals
- - prefer_for_elements_to_map_fromIterable
- - prefer_foreach
- - prefer_function_declarations_over_variables
- - prefer_generic_function_type_aliases
- - prefer_if_elements_to_conditional_expressions
- - prefer_if_null_operators
- - prefer_initializing_formals
- - prefer_inlined_adds
- - prefer_interpolation_to_compose_strings
- - prefer_is_empty
- - prefer_is_not_empty
- - prefer_is_not_operator
- - prefer_iterable_whereType
- - prefer_null_aware_method_calls # "call()" is confusing to people new to the language since it's not documented anywhere
- - prefer_null_aware_operators
- - prefer_single_quotes
- - prefer_spread_collections
- - prefer_typing_uninitialized_variables
- - provide_deprecation_message
- - recursive_getters
- - sized_box_for_whitespace
- - slash_for_doc_comments
- - sort_child_properties_last
- - sort_constructors_first
- - sort_pub_dependencies
- - sort_unnamed_constructors_first
- - test_types_in_equals
- - throw_in_finally
- - tighten_type_of_initializing_formals
- - type_init_formals
- - unnecessary_brace_in_string_interps
- - unnecessary_const
- - unnecessary_getters_setters
- - unnecessary_new
- - unnecessary_null_aware_assignments
- - unnecessary_null_checks
- - unnecessary_null_in_if_null_operators
- - unnecessary_nullable_for_final_variable_declarations
- - unnecessary_overrides
- - unnecessary_parenthesis
- - unnecessary_statements
- - unnecessary_string_escapes
- - unnecessary_string_interpolations
- - unnecessary_this
- - unrelated_type_equality_checks
- - use_build_context_synchronously
- - use_full_hex_values_for_flutter_colors
- - use_function_type_syntax_for_parameters
- - use_if_null_to_convert_nulls_to_bools
- - use_is_even_rather_than_modulo
- - use_key_in_widget_constructors
- - use_late_for_private_fields_and_variables
- - use_named_constants
- - use_raw_strings
- - use_rethrow_when_possible
- - use_setters_to_change_properties
- - use_test_throws_matchers
- - valid_regexps
- - void_checks
diff --git a/android/.gitignore b/android/.gitignore
deleted file mode 100644
index 55afd919..00000000
--- a/android/.gitignore
+++ /dev/null
@@ -1,13 +0,0 @@
-gradle-wrapper.jar
-/.gradle
-/captures/
-/gradlew
-/gradlew.bat
-/local.properties
-GeneratedPluginRegistrant.java
-
-# Remember to never publicly share your keystore.
-# See https://flutter.dev/to/reference-keystore
-key.properties
-**/*.keystore
-**/*.jks
diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts
deleted file mode 100644
index 289feb1c..00000000
--- a/android/app/build.gradle.kts
+++ /dev/null
@@ -1,104 +0,0 @@
-plugins {
- id("com.android.application")
- id("kotlin-android")
- // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
- id("dev.flutter.flutter-gradle-plugin")
-}
-
-android {
- namespace = "app.revanced.manager.flutter"
- compileSdk = 35
-
- compileOptions {
- isCoreLibraryDesugaringEnabled = true
-
- sourceCompatibility = JavaVersion.VERSION_17
- targetCompatibility = JavaVersion.VERSION_17
- }
-
- kotlinOptions {
- jvmTarget = JavaVersion.VERSION_17.toString()
- }
-
- defaultConfig {
- applicationId = "app.revanced.manager.flutter"
- minSdk = 26
- targetSdk = 35
- versionCode = flutter.versionCode
- versionName = flutter.versionName
-
- resValue("string", "app_name", "ReVanced Manager")
- }
-
- applicationVariants.all {
- outputs.all {
- this as com.android.build.gradle.internal.api.ApkVariantOutputImpl
-
- outputFileName = "revanced-manager-$versionName.apk"
- }
- }
-
- buildTypes {
- configureEach {
- isShrinkResources = false
- isMinifyEnabled = false
-
- signingConfig = signingConfigs["debug"]
-
- ndk.abiFilters += listOf("armeabi-v7a", "arm64-v8a", "x86_64")
- }
-
- release {
- isShrinkResources = true
- isMinifyEnabled = true
-
- val keystoreFile = file("keystore.jks")
- if (keystoreFile.exists()) {
- signingConfig = signingConfigs.create("release") {
- storeFile = keystoreFile
- storePassword = System.getenv("KEYSTORE_PASSWORD")
- keyAlias = System.getenv("KEYSTORE_ENTRY_ALIAS")
- keyPassword = System.getenv("KEYSTORE_ENTRY_PASSWORD")
- }
-
- resValue("string", "app_name", "ReVanced Manager")
- } else {
- applicationIdSuffix = ".development"
- resValue("string", "app_name", "ReVanced Manager (Development)")
- signingConfig = signingConfigs["debug"]
- }
- }
-
- debug {
- applicationIdSuffix = ".debug"
- resValue("string", "app_name", "ReVanced Manager (Debug)")
- }
-
- named("profile") {
- initWith(getByName("debug"))
- applicationIdSuffix = ".profile"
- resValue("string", "app_name", "ReVanced Manager (Profile)")
- }
- }
-
- packaging {
- jniLibs {
- useLegacyPackaging = true
- excludes.add("/prebuilt/**")
- }
-
- resources {
- excludes.add("/prebuilt/**")
- }
- }
-}
-
-flutter {
- source = "../.."
-}
-
-dependencies {
- coreLibraryDesugaring(libs.desugar.jdk.libs) // https://pub.dev/packages/flutter_local_notifications#gradle-setup
- implementation(libs.revanced.patcher)
- implementation(libs.revanced.library)
-}
diff --git a/android/app/proguard-rules.pro b/android/app/proguard-rules.pro
deleted file mode 100644
index fb7c0bf9..00000000
--- a/android/app/proguard-rules.pro
+++ /dev/null
@@ -1,17 +0,0 @@
--dontobfuscate
-
--keep class app.revanced.** { *; }
--keep class com.android.tools.smali.** { *; }
--keep class kotlin.** { *; }
--keep class com.google.auto.value.** { *; }
--keep class com.android.apksig.internal.** { *; }
--keepnames class com.google.common.collect.**
--keepnames class org.xmlpull.** { *; }
-
--dontwarn com.google.auto.value.**
--dontwarn com.google.j2objc.annotations.*
--dontwarn java.awt.**
--dontwarn javax.**
-
-# Required for Share Plus, ref: ReVanced/revanced-manager#2474
--keep interface android.content.res.XmlResourceParser { *; }
diff --git a/android/app/src/debug/AndroidManifest.xml b/android/app/src/debug/AndroidManifest.xml
deleted file mode 100644
index 399f6981..00000000
--- a/android/app/src/debug/AndroidManifest.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
deleted file mode 100644
index 52ffb5ee..00000000
--- a/android/app/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,85 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/android/app/src/main/jniLibs/arm64-v8a/libaapt2.so b/android/app/src/main/jniLibs/arm64-v8a/libaapt2.so
deleted file mode 100644
index a8d0f848..00000000
Binary files a/android/app/src/main/jniLibs/arm64-v8a/libaapt2.so and /dev/null differ
diff --git a/android/app/src/main/jniLibs/armeabi-v7a/libaapt2.so b/android/app/src/main/jniLibs/armeabi-v7a/libaapt2.so
deleted file mode 100644
index 46bdce5c..00000000
Binary files a/android/app/src/main/jniLibs/armeabi-v7a/libaapt2.so and /dev/null differ
diff --git a/android/app/src/main/jniLibs/x86_64/libaapt2.so b/android/app/src/main/jniLibs/x86_64/libaapt2.so
deleted file mode 100644
index e0b76b32..00000000
Binary files a/android/app/src/main/jniLibs/x86_64/libaapt2.so and /dev/null differ
diff --git a/android/app/src/main/kotlin/app/revanced/manager/flutter/ExportSettingsActivity.kt b/android/app/src/main/kotlin/app/revanced/manager/flutter/ExportSettingsActivity.kt
deleted file mode 100644
index 4290cbcc..00000000
--- a/android/app/src/main/kotlin/app/revanced/manager/flutter/ExportSettingsActivity.kt
+++ /dev/null
@@ -1,81 +0,0 @@
-package app.revanced.manager.flutter
-
-import android.app.Activity
-import android.content.Context
-import android.content.Intent
-import android.content.pm.PackageManager
-import android.os.Bundle
-import android.util.Base64
-import org.json.JSONObject
-import java.io.ByteArrayInputStream
-import java.io.File
-import java.security.cert.CertificateFactory
-import java.security.cert.X509Certificate
-import java.security.MessageDigest
-
-class ExportSettingsActivity : Activity() {
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
-
- if (getFingerprint(callingPackage!!) == getFingerprint(packageName)) {
- // Create JSON Object
- val json = JSONObject()
-
- // Default Data
- json.put("keystorePassword", "s3cur3p@ssw0rd")
-
- // Load Shared Preferences
- val sharedPreferences = getSharedPreferences("FlutterSharedPreferences", Context.MODE_PRIVATE)
- val allEntries: Map = sharedPreferences.getAll()
- for ((key, value) in allEntries.entries) {
- json.put(key.replace("flutter.", ""), value)
- }
-
- // Load keystore
- val keystoreFile = File(getExternalFilesDir(null), "/revanced-manager.keystore")
- if (keystoreFile.exists()) {
- val keystoreBytes = keystoreFile.readBytes()
- val keystoreBase64 = Base64.encodeToString(keystoreBytes, Base64.DEFAULT)
- json.put("keystore", keystoreBase64)
- }
-
- // Load saved patches
- val storedPatchesFile = File(filesDir.parentFile.absolutePath, "/app_flutter/selected-patches.json")
- if (storedPatchesFile.exists()) {
- val patchesBytes = storedPatchesFile.readBytes()
- val patches = String(patchesBytes, Charsets.UTF_8)
- json.put("patches", JSONObject(patches))
- }
-
- // Send data back
- val resultIntent = Intent()
- resultIntent.putExtra("data", json.toString())
- setResult(Activity.RESULT_OK, resultIntent)
- finish()
- } else {
- val resultIntent = Intent()
- setResult(Activity.RESULT_CANCELED)
- finish()
- }
- }
-
- fun getFingerprint(packageName: String): String {
- // Get the signature of the app that matches the package name
- val packageInfo = packageManager.getPackageInfo(packageName, PackageManager.GET_SIGNATURES)
- val signature = packageInfo.signatures!![0]
-
- // Get the raw certificate data
- val rawCert = signature.toByteArray()
-
- // Generate an X509Certificate from the data
- val certFactory = CertificateFactory.getInstance("X509")
- val x509Cert = certFactory.generateCertificate(ByteArrayInputStream(rawCert)) as X509Certificate
-
- // Get the SHA256 fingerprint
- val fingerprint = MessageDigest.getInstance("SHA256").digest(x509Cert.encoded).joinToString("") {
- "%02x".format(it)
- }
-
- return fingerprint
- }
-}
diff --git a/android/app/src/main/kotlin/app/revanced/manager/flutter/MainActivity.kt b/android/app/src/main/kotlin/app/revanced/manager/flutter/MainActivity.kt
deleted file mode 100644
index 757eeb0c..00000000
--- a/android/app/src/main/kotlin/app/revanced/manager/flutter/MainActivity.kt
+++ /dev/null
@@ -1,427 +0,0 @@
-package app.revanced.manager.flutter
-
-import android.app.PendingIntent
-import android.app.SearchManager
-import android.content.Intent
-import android.content.pm.PackageInstaller
-import android.os.Build
-import android.os.Handler
-import android.os.Looper
-import app.revanced.library.ApkUtils
-import app.revanced.library.ApkUtils.applyTo
-import app.revanced.manager.flutter.utils.Aapt
-import app.revanced.manager.flutter.utils.packageInstaller.InstallerReceiver
-import app.revanced.manager.flutter.utils.packageInstaller.UninstallerReceiver
-import app.revanced.patcher.Patcher
-import app.revanced.patcher.PatcherConfig
-import app.revanced.patcher.patch.Patch
-import app.revanced.patcher.patch.PatchResult
-import app.revanced.patcher.patch.loadPatchesFromDex
-import io.flutter.embedding.android.FlutterActivity
-import io.flutter.embedding.engine.FlutterEngine
-import io.flutter.plugin.common.MethodChannel
-import kotlinx.coroutines.flow.FlowCollector
-import kotlinx.coroutines.runBlocking
-import org.json.JSONArray
-import org.json.JSONObject
-import java.io.File
-import java.io.PrintWriter
-import java.io.StringWriter
-import java.util.logging.LogRecord
-import java.util.logging.Logger
-
-
-class MainActivity : FlutterActivity() {
- private val handler = Handler(Looper.getMainLooper())
- private lateinit var installerChannel: MethodChannel
- private var cancel: Boolean = false
- private var stopResult: MethodChannel.Result? = null
-
- private lateinit var patches: Set>
-
- override fun configureFlutterEngine(flutterEngine: FlutterEngine) {
- super.configureFlutterEngine(flutterEngine)
-
- val patcherChannel = "app.revanced.manager.flutter/patcher"
- val installerChannel = "app.revanced.manager.flutter/installer"
- val openBrowserChannel = "app.revanced.manager.flutter/browser"
-
- MethodChannel(
- flutterEngine.dartExecutor.binaryMessenger,
- openBrowserChannel
- ).setMethodCallHandler { call, result ->
- if (call.method == "openBrowser") {
- val searchQuery = call.argument("query")
- openBrowser(searchQuery)
- result.success(null)
- } else {
- result.notImplemented()
- }
- }
-
- val mainChannel =
- MethodChannel(flutterEngine.dartExecutor.binaryMessenger, patcherChannel)
-
- this.installerChannel =
- MethodChannel(flutterEngine.dartExecutor.binaryMessenger, installerChannel)
-
- mainChannel.setMethodCallHandler { call, result ->
- when (call.method) {
- "runPatcher" -> {
- val inFilePath = call.argument("inFilePath")
- val outFilePath = call.argument("outFilePath")
- val selectedPatches = call.argument>("selectedPatches")
- val options = call.argument>>("options")
- val tmpDirPath = call.argument("tmpDirPath")
- val keyStoreFilePath = call.argument("keyStoreFilePath")
- val keystorePassword = call.argument("keystorePassword")
-
- if (
- inFilePath != null &&
- outFilePath != null &&
- selectedPatches != null &&
- options != null &&
- tmpDirPath != null &&
- keyStoreFilePath != null &&
- keystorePassword != null
- ) {
- cancel = false
- runPatcher(
- result,
- inFilePath,
- outFilePath,
- selectedPatches,
- options,
- tmpDirPath,
- keyStoreFilePath,
- keystorePassword
- )
- } else result.error(
- "INVALID_ARGUMENTS",
- "Invalid arguments",
- "One or more arguments are missing"
- )
- }
-
- "stopPatcher" -> {
- cancel = true
- stopResult = result
- }
-
- "getPatches" -> {
- val patchBundleFilePath = call.argument("patchBundleFilePath")!!
-
- try {
- val patchBundleFile = File(patchBundleFilePath)
- patchBundleFile.setWritable(false)
- patches = loadPatchesFromDex(
- setOf(patchBundleFile),
- optimizedDexDirectory = codeCacheDir
- )
- } catch (t: Throwable) {
- return@setMethodCallHandler result.error(
- "PATCH_BUNDLE_ERROR",
- "Failed to load patch bundle",
- t.stackTraceToString()
- )
- }
-
- JSONArray().apply {
- patches.forEach {
- JSONObject().apply {
- put("name", it.name)
- put("description", it.description)
- put("excluded", !it.use)
- put("compatiblePackages", JSONArray().apply {
- it.compatiblePackages?.forEach { (name, versions) ->
- val compatiblePackageJson = JSONObject().apply {
- put("name", name)
- put(
- "versions",
- JSONArray().apply {
- versions?.forEach { version ->
- put(version)
- }
- })
- }
- put(compatiblePackageJson)
- }
- })
- put("options", JSONArray().apply {
- it.options.values.forEach { option ->
- JSONObject().apply {
- put("key", option.key)
- put("title", option.title)
- put("description", option.description)
- put("required", option.required)
-
- fun JSONObject.putValue(
- value: Any?,
- key: String = "value"
- ) = if (value is Array<*>) put(
- key,
- JSONArray().apply {
- value.forEach { put(it) }
- })
- else put(key, value)
-
- putValue(option.default)
-
- option.values?.let { values ->
- put(
- "values",
- JSONObject().apply {
- values.forEach { (key, value) ->
- putValue(value, key)
- }
- })
- } ?: put("values", null)
- put("type", option.type)
- }.let(::put)
- }
- })
- }.let(::put)
- }
- }.toString().let(result::success)
- }
-
- "installApk" -> {
- val apkPath = call.argument("apkPath")!!
- PackageInstallerManager.result = result
- installApk(apkPath)
- }
-
- "uninstallApp" -> {
- val packageName = call.argument("packageName")!!
- uninstallApp(packageName)
- PackageInstallerManager.result = result
- }
-
- else -> result.notImplemented()
- }
- }
- }
-
- private fun openBrowser(query: String?) {
- val intent = Intent(Intent.ACTION_WEB_SEARCH).apply {
- putExtra(SearchManager.QUERY, query)
- }
- if (intent.resolveActivity(packageManager) != null) {
- startActivity(intent)
- }
- }
-
- private fun runPatcher(
- result: MethodChannel.Result,
- inFilePath: String,
- outFilePath: String,
- selectedPatches: List,
- options: Map>,
- tmpDirPath: String,
- keyStoreFilePath: String,
- keystorePassword: String
- ) {
- val inFile = File(inFilePath)
- // Necessary because the file is copied from a nonwriteable location.
- inFile.setWritable(true)
- inFile.setReadable(true)
- val outFile = File(outFilePath)
- val keyStoreFile = File(keyStoreFilePath)
- val tmpDir = File(tmpDirPath)
-
- Thread {
- fun updateProgress(progress: Double, header: String, log: String) {
- handler.post {
- installerChannel.invokeMethod(
- "update",
- mapOf(
- "progress" to progress,
- "header" to header,
- "log" to log
- )
- )
- }
- }
-
- fun postStop() = handler.post { stopResult!!.success(null) }
-
- fun cancel(block: () -> Unit = {}): Boolean {
- if (cancel) {
- block()
- postStop()
- }
-
- return cancel
- }
-
-
- // Setup logger
- Logger.getLogger("").apply {
- handlers.forEach { handler ->
- handler.close()
- removeHandler(handler)
- }
-
- object : java.util.logging.Handler() {
- override fun publish(record: LogRecord) {
- if (cancel) return
- if (
- record.loggerName?.startsWith("app.revanced") == true ||
- // Logger in class brut.util.OS.
- record.loggerName == ""
- ) updateProgress(-1.0, "", record.message)
- }
-
- override fun flush() = Unit
- override fun close() = flush()
- }.let(::addHandler)
- }
-
- try {
- updateProgress(0.0, "Reading APK...", "Reading APK")
-
- val patcher = Patcher(
- PatcherConfig(
- inFile,
- tmpDir,
- Aapt.binary(applicationContext).absolutePath,
- tmpDir.path,
- )
- )
-
- if (cancel(patcher::close)) return@Thread
- updateProgress(0.02, "Loading patches...", "Loading patches")
-
- val patches = patches.filter { patch ->
- val isCompatible = patch.compatiblePackages?.any { (name, _) ->
- name == patcher.context.packageMetadata.packageName
- } ?: false
-
- val compatibleOrUniversal =
- isCompatible || patch.compatiblePackages.isNullOrEmpty()
-
- compatibleOrUniversal && selectedPatches.any { it == patch.name }
- }.onEach { patch ->
- options[patch.name]?.forEach { (key, value) ->
- patch.options[key] = value
- }
- }.toSet()
-
- if (cancel(patcher::close)) return@Thread
- updateProgress(0.05, "Executing...", "")
-
- val patcherResult = patcher.use {
- it += patches
-
- runBlocking {
- // Update the progress bar every time a patch is executed from 0.15 to 0.7
- val totalPatchesCount = patches.size
- val progressStep = 0.55 / totalPatchesCount
- var progress = 0.05
-
- patcher().collect(FlowCollector { patchResult: PatchResult ->
- if (cancel(patcher::close)) return@FlowCollector
-
- val msg = patchResult.exception?.let {
- val writer = StringWriter()
- it.printStackTrace(PrintWriter(writer))
- "${patchResult.patch.name} failed: $writer"
- } ?: run {
- "${patchResult.patch.name} succeeded"
- }
-
- updateProgress(progress, "", msg)
- progress += progressStep
- })
- }
-
- if (cancel(patcher::close)) return@Thread
- updateProgress(0.75, "Building...", "")
-
- patcher.get()
- }
-
- if (cancel(patcher::close)) return@Thread
-
- patcherResult.applyTo(inFile)
-
- if (cancel(patcher::close)) return@Thread
-
- ApkUtils.signApk(
- inFile,
- outFile,
- "ReVanced",
- ApkUtils.KeyStoreDetails(
- keyStoreFile,
- keystorePassword,
- "alias",
- keystorePassword
- )
- )
-
- updateProgress(.85, "Patched", "Patched APK")
- } catch (ex: Throwable) {
- if (!cancel) {
- val stack = ex.stackTraceToString()
- updateProgress(
- -100.0,
- "Failed",
- "An error occurred:\n$stack"
- )
- }
- } finally {
- inFile.delete()
- tmpDir.deleteRecursively()
- }
-
- handler.post { result.success(null) }
- }.start()
- }
-
- private fun installApk(apkPath: String) {
- val packageInstaller: PackageInstaller = applicationContext.packageManager.packageInstaller
- val sessionParams =
- PackageInstaller.SessionParams(PackageInstaller.SessionParams.MODE_FULL_INSTALL)
- val sessionId: Int = packageInstaller.createSession(sessionParams)
- val session: PackageInstaller.Session = packageInstaller.openSession(sessionId)
- session.use { activeSession ->
- val sessionOutputStream = activeSession.openWrite(applicationContext.packageName, 0, -1)
- sessionOutputStream.use { outputStream ->
- val apkFile = File(apkPath)
- apkFile.inputStream().use { inputStream ->
- inputStream.copyTo(outputStream)
- }
- }
- }
- val receiverIntent = Intent(applicationContext, InstallerReceiver::class.java).apply {
- action = "APP_INSTALL_ACTION"
- }
- val receiverPendingIntent = PendingIntent.getBroadcast(
- context,
- sessionId,
- receiverIntent,
- PackageInstallerManager.flags
- )
- session.commit(receiverPendingIntent.intentSender)
- session.close()
- }
-
- private fun uninstallApp(packageName: String) {
- val packageInstaller: PackageInstaller = applicationContext.packageManager.packageInstaller
- val receiverIntent = Intent(applicationContext, UninstallerReceiver::class.java).apply {
- action = "APP_UNINSTALL_ACTION"
- }
- val receiverPendingIntent =
- PendingIntent.getBroadcast(context, 0, receiverIntent, PackageInstallerManager.flags)
- packageInstaller.uninstall(packageName, receiverPendingIntent.intentSender)
- }
-
- object PackageInstallerManager {
- var result: MethodChannel.Result? = null
- val flags = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
- PendingIntent.FLAG_MUTABLE or PendingIntent.FLAG_UPDATE_CURRENT
- } else {
- PendingIntent.FLAG_UPDATE_CURRENT
- }
- }
-}
diff --git a/android/app/src/main/kotlin/app/revanced/manager/flutter/utils/Aapt.kt b/android/app/src/main/kotlin/app/revanced/manager/flutter/utils/Aapt.kt
deleted file mode 100644
index 72198e58..00000000
--- a/android/app/src/main/kotlin/app/revanced/manager/flutter/utils/Aapt.kt
+++ /dev/null
@@ -1,12 +0,0 @@
-package app.revanced.manager.flutter.utils
-
-import android.content.Context
-import java.io.File
-
-object Aapt {
- fun binary(context: Context): File {
- return File(context.applicationInfo.nativeLibraryDir).resolveAapt()
- }
-}
-
-private fun File.resolveAapt() = resolve(list { _, f -> !File(f).isDirectory && f.contains("aapt") }!!.first())
\ No newline at end of file
diff --git a/android/app/src/main/kotlin/app/revanced/manager/flutter/utils/packageInstaller/InstallerReceiver.kt b/android/app/src/main/kotlin/app/revanced/manager/flutter/utils/packageInstaller/InstallerReceiver.kt
deleted file mode 100644
index d14a9daa..00000000
--- a/android/app/src/main/kotlin/app/revanced/manager/flutter/utils/packageInstaller/InstallerReceiver.kt
+++ /dev/null
@@ -1,32 +0,0 @@
-package app.revanced.manager.flutter.utils.packageInstaller
-
-import android.content.BroadcastReceiver
-import android.content.Context
-import android.content.Intent
-import android.content.pm.PackageInstaller
-import app.revanced.manager.flutter.MainActivity
-
-class InstallerReceiver : BroadcastReceiver() {
- override fun onReceive(context: Context, intent: Intent) {
- when (val status = intent.getIntExtra(PackageInstaller.EXTRA_STATUS, -1)) {
- PackageInstaller.STATUS_PENDING_USER_ACTION -> {
- val confirmationIntent = intent.getParcelableExtra(Intent.EXTRA_INTENT)
- if (confirmationIntent != null) {
- context.startActivity(confirmationIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK))
- }
- }
-
- else -> {
- val packageName = intent.getStringExtra(PackageInstaller.EXTRA_PACKAGE_NAME)
- val message = intent.getStringExtra(PackageInstaller.EXTRA_STATUS_MESSAGE)
- val otherPackageName = intent.getStringExtra(PackageInstaller.EXTRA_OTHER_PACKAGE_NAME)
- MainActivity.PackageInstallerManager.result!!.success(mapOf(
- "status" to status,
- "packageName" to packageName,
- "message" to message,
- "otherPackageName" to otherPackageName
- ))
- }
- }
- }
-}
\ No newline at end of file
diff --git a/android/app/src/main/kotlin/app/revanced/manager/flutter/utils/packageInstaller/UninstallerReceiver.kt b/android/app/src/main/kotlin/app/revanced/manager/flutter/utils/packageInstaller/UninstallerReceiver.kt
deleted file mode 100644
index 84dec3cc..00000000
--- a/android/app/src/main/kotlin/app/revanced/manager/flutter/utils/packageInstaller/UninstallerReceiver.kt
+++ /dev/null
@@ -1,24 +0,0 @@
-package app.revanced.manager.flutter.utils.packageInstaller
-
-import android.content.BroadcastReceiver
-import android.content.Context
-import android.content.Intent
-import android.content.pm.PackageInstaller
-import app.revanced.manager.flutter.MainActivity
-
-class UninstallerReceiver : BroadcastReceiver() {
- override fun onReceive(context: Context, intent: Intent) {
- when (val status = intent.getIntExtra(PackageInstaller.EXTRA_STATUS, -1)) {
- PackageInstaller.STATUS_PENDING_USER_ACTION -> {
- val confirmationIntent = intent.getParcelableExtra(Intent.EXTRA_INTENT)
- if (confirmationIntent != null) {
- context.startActivity(confirmationIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK))
- }
- }
-
- else -> {
- MainActivity.PackageInstallerManager.result!!.success(status)
- }
- }
- }
-}
\ No newline at end of file
diff --git a/android/app/src/main/res/drawable-v21/launch_background.xml b/android/app/src/main/res/drawable-v21/launch_background.xml
deleted file mode 100644
index f74085f3..00000000
--- a/android/app/src/main/res/drawable-v21/launch_background.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/android/app/src/main/res/drawable/ic_launcher_foreground.xml b/android/app/src/main/res/drawable/ic_launcher_foreground.xml
deleted file mode 100644
index d7092b33..00000000
--- a/android/app/src/main/res/drawable/ic_launcher_foreground.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/android/app/src/main/res/drawable/ic_launcher_round.png b/android/app/src/main/res/drawable/ic_launcher_round.png
deleted file mode 100644
index bef6f587..00000000
Binary files a/android/app/src/main/res/drawable/ic_launcher_round.png and /dev/null differ
diff --git a/android/app/src/main/res/drawable/ic_notification.png b/android/app/src/main/res/drawable/ic_notification.png
deleted file mode 100644
index 30564097..00000000
Binary files a/android/app/src/main/res/drawable/ic_notification.png and /dev/null differ
diff --git a/android/app/src/main/res/drawable/launch_background.xml b/android/app/src/main/res/drawable/launch_background.xml
deleted file mode 100644
index 304732f8..00000000
--- a/android/app/src/main/res/drawable/launch_background.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
deleted file mode 100644
index 33b841f9..00000000
Binary files a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png and /dev/null differ
diff --git a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
deleted file mode 100644
index b8787842..00000000
Binary files a/android/app/src/main/res/mipmap-mdpi/ic_launcher.png and /dev/null differ
diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
deleted file mode 100644
index 3d1462ab..00000000
Binary files a/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ
diff --git a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
deleted file mode 100644
index a604654d..00000000
Binary files a/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ
diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
deleted file mode 100644
index 1f59fa1d..00000000
Binary files a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ
diff --git a/android/app/src/main/res/raw/revanced_manager_keep.xml b/android/app/src/main/res/raw/revanced_manager_keep.xml
deleted file mode 100644
index 078ab009..00000000
--- a/android/app/src/main/res/raw/revanced_manager_keep.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
\ No newline at end of file
diff --git a/android/app/src/main/res/values-night-v31/styles.xml b/android/app/src/main/res/values-night-v31/styles.xml
deleted file mode 100644
index 581c5fca..00000000
--- a/android/app/src/main/res/values-night-v31/styles.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
diff --git a/android/app/src/main/res/values-night/styles.xml b/android/app/src/main/res/values-night/styles.xml
deleted file mode 100644
index 06952be7..00000000
--- a/android/app/src/main/res/values-night/styles.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
diff --git a/android/app/src/main/res/values-v31/styles.xml b/android/app/src/main/res/values-v31/styles.xml
deleted file mode 100644
index 41f95cf1..00000000
--- a/android/app/src/main/res/values-v31/styles.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/android/app/src/main/res/values/ic_launcher_background.xml b/android/app/src/main/res/values/ic_launcher_background.xml
deleted file mode 100644
index 74008be8..00000000
--- a/android/app/src/main/res/values/ic_launcher_background.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
- #1B1B1B
-
\ No newline at end of file
diff --git a/android/app/src/main/res/values/styles.xml b/android/app/src/main/res/values/styles.xml
deleted file mode 100644
index cb1ef880..00000000
--- a/android/app/src/main/res/values/styles.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
diff --git a/android/app/src/main/res/xml/file_paths.xml b/android/app/src/main/res/xml/file_paths.xml
deleted file mode 100644
index d2e2c8de..00000000
--- a/android/app/src/main/res/xml/file_paths.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/android/app/src/profile/AndroidManifest.xml b/android/app/src/profile/AndroidManifest.xml
deleted file mode 100644
index 399f6981..00000000
--- a/android/app/src/profile/AndroidManifest.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
diff --git a/android/build.gradle.kts b/android/build.gradle.kts
deleted file mode 100644
index d0a3415f..00000000
--- a/android/build.gradle.kts
+++ /dev/null
@@ -1,40 +0,0 @@
-import com.android.build.api.dsl.CommonExtension
-import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
-
-allprojects {
- repositories {
- google()
- mavenCentral()
- maven {
- name = "GitHubPackages"
- url = uri("https://maven.pkg.github.com/revanced/registry")
- credentials {
- username = providers.gradleProperty("gpr.user").orNull ?: System.getenv("GITHUB_ACTOR")
- password = providers.gradleProperty("gpr.key").orNull ?: System.getenv("GITHUB_TOKEN")
- }
- }
- }
-}
-
-layout.buildDirectory = File("../build")
-
-project(":screenshot_callback") {
- tasks.withType().configureEach {
- kotlinOptions {
- jvmTarget = "17"
- }
- }
-}
-
-subprojects {
- afterEvaluate {
- extensions.findByName("android")?.let {
- it as CommonExtension<*, *, *, *, *, *>
- if (it.compileSdk != null && it.compileSdk!! < 31)
- it.compileSdk = 34
- }
- }
-
- layout.buildDirectory = rootProject.layout.buildDirectory.file(name).get().asFile
- evaluationDependsOn(":app")
-}
diff --git a/android/gradle.properties b/android/gradle.properties
deleted file mode 100644
index 7676bdfc..00000000
--- a/android/gradle.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError
-android.useAndroidX=true
-org.gradle.parallel=true
-org.gradle.daemon=true
-org.gradle.caching=true
-android.nonTransitiveRClass=false
-android.nonFinalResIds=false
diff --git a/android/gradle/libs.versions.toml b/android/gradle/libs.versions.toml
deleted file mode 100644
index acac669c..00000000
--- a/android/gradle/libs.versions.toml
+++ /dev/null
@@ -1,9 +0,0 @@
-[versions]
-revanced-patcher = "21.0.0"
-revanced-library = "3.1.0"
-desugar_jdk_libs = "2.1.4"
-
-[libraries]
-revanced-patcher = { module = "app.revanced:revanced-patcher", version.ref = "revanced-patcher" }
-revanced-library = { module = "app.revanced:revanced-library", version.ref = "revanced-library" }
-desugar_jdk_libs = { module = "com.android.tools:desugar_jdk_libs", version.ref = "desugar_jdk_libs" }
diff --git a/android/settings.gradle.kts b/android/settings.gradle.kts
deleted file mode 100644
index 261ac826..00000000
--- a/android/settings.gradle.kts
+++ /dev/null
@@ -1,24 +0,0 @@
-pluginManagement {
- val properties = java.util.Properties().apply {
- load(file("local.properties").inputStream())
- }
-
- val flutterSdkPath = properties.getProperty("flutter.sdk")
- assert(flutterSdkPath != null) { "flutter.sdk not set in local.properties" }
-
- includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")
-
- repositories {
- google()
- mavenCentral()
- gradlePluginPortal()
- }
-}
-
-plugins {
- id("dev.flutter.flutter-plugin-loader") version "1.0.0"
- id("com.android.application") version "8.9.0" apply false
- id("org.jetbrains.kotlin.android") version "2.1.10" apply false
-}
-
-include(":app")
diff --git a/app/.gitignore b/app/.gitignore
new file mode 100644
index 00000000..42afabfd
--- /dev/null
+++ b/app/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/app/build.gradle.kts b/app/build.gradle.kts
new file mode 100644
index 00000000..b8d4b4f0
--- /dev/null
+++ b/app/build.gradle.kts
@@ -0,0 +1,58 @@
+plugins {
+ id("com.android.application")
+ id("org.jetbrains.kotlin.android")
+}
+
+repositories {
+ mavenCentral()
+ maven("https://jitpack.io")
+ google()
+}
+android {
+ namespace = "app.revanced.manager.compose"
+ compileSdk = 33
+ buildToolsVersion = "33.0.0"
+
+ defaultConfig {
+ applicationId = "app.revanced.manager.compose"
+ minSdk = 26
+ targetSdk = 33
+ versionCode = 1
+ versionName = "0.0.1"
+
+ vectorDrawables.useSupportLibrary = true
+ }
+
+ buildTypes {
+ release {
+ isMinifyEnabled = false
+ proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
+ }
+ }
+ compileOptions {
+ sourceCompatibility = JavaVersion.VERSION_11
+ targetCompatibility = JavaVersion.VERSION_11
+ }
+ kotlinOptions {
+ jvmTarget = "11"
+ }
+
+ buildFeatures.compose = true
+
+ composeOptions.kotlinCompilerExtensionVersion = "1.3.2"
+}
+
+dependencies {
+
+ // AndroidX Core
+ implementation("androidx.core:core-ktx:1.9.0")
+ implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.5.1")
+ implementation("androidx.activity:activity-compose:1.6.1")
+
+ // Compose
+ val composeVersion = "1.3.3"
+ implementation("androidx.compose.ui:ui:$composeVersion")
+ implementation("androidx.compose.ui:ui-tooling-preview:$composeVersion")
+ // Material 3
+ implementation("androidx.compose.material3:material3:1.0.1")
+}
\ No newline at end of file
diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro
new file mode 100644
index 00000000..d99b33c9
--- /dev/null
+++ b/app/proguard-rules.pro
@@ -0,0 +1,21 @@
+# Add project specific ProGuard rules here.
+# You can control the set of applied configuration files using the
+# proguardFiles setting in build.gradle.kts.kts.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
+
+# Uncomment this to preserve the line number information for
+# debugging stack traces.
+#-keepattributes SourceFile,LineNumberTable
+
+# If you keep the line number information, uncomment this to
+# hide the original source file name.
+#-renamesourcefileattribute SourceFile
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
new file mode 100644
index 00000000..f9205422
--- /dev/null
+++ b/app/src/main/AndroidManifest.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/app/revanced/manager/compose/MainActivity.kt b/app/src/main/java/app/revanced/manager/compose/MainActivity.kt
new file mode 100644
index 00000000..2e8e74d9
--- /dev/null
+++ b/app/src/main/java/app/revanced/manager/compose/MainActivity.kt
@@ -0,0 +1,17 @@
+package app.revanced.manager.compose
+
+import android.os.Bundle
+import androidx.activity.ComponentActivity
+import androidx.activity.compose.setContent
+import app.revanced.manager.compose.ui.theme.ReVancedManagerTheme
+
+class MainActivity : ComponentActivity() {
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContent {
+ ReVancedManagerTheme {
+ // TBA
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/app/revanced/manager/compose/ui/theme/Color.kt b/app/src/main/java/app/revanced/manager/compose/ui/theme/Color.kt
new file mode 100644
index 00000000..d8621e25
--- /dev/null
+++ b/app/src/main/java/app/revanced/manager/compose/ui/theme/Color.kt
@@ -0,0 +1,11 @@
+package app.revanced.manager.compose.ui.theme
+
+import androidx.compose.ui.graphics.Color
+
+val Purple80 = Color(0xFFD0BCFF)
+val PurpleGrey80 = Color(0xFFCCC2DC)
+val Pink80 = Color(0xFFEFB8C8)
+
+val Purple40 = Color(0xFF6650a4)
+val PurpleGrey40 = Color(0xFF625b71)
+val Pink40 = Color(0xFF7D5260)
\ No newline at end of file
diff --git a/app/src/main/java/app/revanced/manager/compose/ui/theme/Theme.kt b/app/src/main/java/app/revanced/manager/compose/ui/theme/Theme.kt
new file mode 100644
index 00000000..dfa0ba6c
--- /dev/null
+++ b/app/src/main/java/app/revanced/manager/compose/ui/theme/Theme.kt
@@ -0,0 +1,57 @@
+package app.revanced.manager.compose.ui.theme
+
+import android.app.Activity
+import android.os.Build
+import androidx.compose.foundation.isSystemInDarkTheme
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.darkColorScheme
+import androidx.compose.material3.dynamicDarkColorScheme
+import androidx.compose.material3.dynamicLightColorScheme
+import androidx.compose.material3.lightColorScheme
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.SideEffect
+import androidx.compose.ui.graphics.toArgb
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.platform.LocalView
+import androidx.core.view.ViewCompat
+
+private val DarkColorScheme = darkColorScheme(
+ primary = Purple80,
+ secondary = PurpleGrey80,
+ tertiary = Pink80
+)
+
+private val LightColorScheme = lightColorScheme(
+ primary = Purple40,
+ secondary = PurpleGrey40,
+ tertiary = Pink40
+)
+
+@Composable
+fun ReVancedManagerTheme(
+ darkTheme: Boolean = isSystemInDarkTheme(),
+ dynamicColor: Boolean = true,
+ content: @Composable () -> Unit
+) {
+ val colorScheme = when {
+ dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> {
+ val context = LocalContext.current
+ if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context)
+ }
+ darkTheme -> DarkColorScheme
+ else -> LightColorScheme
+ }
+ val view = LocalView.current
+ if (!view.isInEditMode) {
+ SideEffect {
+ (view.context as Activity).window.statusBarColor = colorScheme.primary.toArgb()
+ ViewCompat.getWindowInsetsController(view)?.isAppearanceLightStatusBars = darkTheme
+ }
+ }
+
+ MaterialTheme(
+ colorScheme = colorScheme,
+ typography = Typography,
+ content = content
+ )
+}
\ No newline at end of file
diff --git a/app/src/main/java/app/revanced/manager/compose/ui/theme/Type.kt b/app/src/main/java/app/revanced/manager/compose/ui/theme/Type.kt
new file mode 100644
index 00000000..03e428d8
--- /dev/null
+++ b/app/src/main/java/app/revanced/manager/compose/ui/theme/Type.kt
@@ -0,0 +1,17 @@
+package app.revanced.manager.compose.ui.theme
+
+import androidx.compose.material3.Typography
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.unit.sp
+
+val Typography = Typography(
+ bodyLarge = TextStyle(
+ fontFamily = FontFamily.Default,
+ fontWeight = FontWeight.Normal,
+ fontSize = 16.sp,
+ lineHeight = 24.sp,
+ letterSpacing = 0.5.sp
+ )
+)
\ No newline at end of file
diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
new file mode 100644
index 00000000..2b068d11
--- /dev/null
+++ b/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/app/src/main/res/drawable/ic_launcher_background.xml
new file mode 100644
index 00000000..07d5da9c
--- /dev/null
+++ b/app/src/main/res/drawable/ic_launcher_background.xml
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
similarity index 57%
rename from android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
rename to app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
index ef49c991..eca70cfe 100644
--- a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
+++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
@@ -1,6 +1,5 @@
-
-
-
+
+
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
new file mode 100644
index 00000000..eca70cfe
--- /dev/null
+++ b/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/app/src/main/res/mipmap-hdpi/ic_launcher.webp
new file mode 100644
index 00000000..c209e78e
Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
new file mode 100644
index 00000000..b2dfe3d1
Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/app/src/main/res/mipmap-mdpi/ic_launcher.webp
new file mode 100644
index 00000000..4f0f1d64
Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
new file mode 100644
index 00000000..62b611da
Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
new file mode 100644
index 00000000..948a3070
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
new file mode 100644
index 00000000..1b9a6956
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
new file mode 100644
index 00000000..28d4b77f
Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
new file mode 100644
index 00000000..9287f508
Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
new file mode 100644
index 00000000..aa7d6427
Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
new file mode 100644
index 00000000..9126ae37
Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp differ
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
new file mode 100644
index 00000000..f8c6127d
--- /dev/null
+++ b/app/src/main/res/values/colors.xml
@@ -0,0 +1,10 @@
+
+
+ #FFBB86FC
+ #FF6200EE
+ #FF3700B3
+ #FF03DAC5
+ #FF018786
+ #FF000000
+ #FFFFFFFF
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
new file mode 100644
index 00000000..dcd4980d
--- /dev/null
+++ b/app/src/main/res/values/strings.xml
@@ -0,0 +1,3 @@
+
+ ReVanced Manager
+
\ No newline at end of file
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
new file mode 100644
index 00000000..66a08e15
--- /dev/null
+++ b/app/src/main/res/values/themes.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/xml/backup_rules.xml b/app/src/main/res/xml/backup_rules.xml
new file mode 100644
index 00000000..fa0f996d
--- /dev/null
+++ b/app/src/main/res/xml/backup_rules.xml
@@ -0,0 +1,13 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/xml/data_extraction_rules.xml b/app/src/main/res/xml/data_extraction_rules.xml
new file mode 100644
index 00000000..9ee9997b
--- /dev/null
+++ b/app/src/main/res/xml/data_extraction_rules.xml
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/assets/i18n/ar_SA.i18n.json b/assets/i18n/ar_SA.i18n.json
deleted file mode 100755
index 15a444a8..00000000
--- a/assets/i18n/ar_SA.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "موافق",
- "cancelButton": "إلغاء",
- "dismissButton": "تجاهل",
- "quitButton": "إنهاء",
- "updateButton": "تحديث",
- "suggested": "المقترح: ${version}",
- "yesButton": "نعم",
- "noButton": "لا",
- "warning": "تحذير",
- "notice": "تنويه",
- "noShowAgain": "لا تعرض هذا مرة أخرى",
- "add": "إضافة",
- "remove": "إزالة",
- "showChangelogButton": "عرض سجل التغييرات",
- "showUpdateButton": "عرض التحديث",
- "navigationView": {
- "dashboardTab": "لوحة التحكم",
- "patcherTab": "المعدّل",
- "settingsTab": "الإعدادات"
- },
- "homeView": {
- "refreshSuccess": "تم التحديث بنجاح",
- "widgetTitle": "لوحة التحكم",
- "updatesSubtitle": "تحديثات",
- "lastPatchedAppSubtitle": "آخر تطبيق تم تعديله",
- "patchedSubtitle": "التطبيقات المثبتة",
- "changeLaterSubtitle": "يمكنك تغيير هذا في الإعدادات في وقت لاحق.",
- "noSavedAppFound": "لم يتم العثور على تطبيق",
- "noInstallations": "لا توجد تطبيقات معدلة مثبتة",
- "installUpdate": "هل تريد الاستمرار في تثبيت التحديث؟",
- "updateSheetTitle": "تحديث ReVanced Manager",
- "updateDialogTitle": "تحديث جديد متوفر",
- "updatePatchesSheetTitle": "تحديث تعديلات ReVanced",
- "updateChangelogTitle": "سجل التغييرات",
- "updateDialogText": "يتوفر تحديث جديد لـ ${file}.\n\nالإصدار المثبت حاليًا هو ${version}.",
- "downloadConsentDialogTitle": "تنزيل الملفات اللازمة؟",
- "downloadConsentDialogText": "يحتاج مدير ReVanced إلى تنزيل الملفات اللازمة ليعمل بشكل صحيح.",
- "downloadConsentDialogText2": "سيؤدي هذا إلى توصيلك بـ ${url}.",
- "downloadingMessage": "جارٍ تنزيل التحديث...",
- "downloadedMessage": "تم تنزيل التحديث",
- "installingMessage": "جارٍ تثبيت التحديث...",
- "errorDownloadMessage": "تعذر تنزيل التحديث",
- "errorInstallMessage": "تعذّر تثبيت التحديث",
- "noConnection": "لا يوجد اتصال بالإنترنت"
- },
- "applicationItem": {
- "infoButton": "معلومات"
- },
- "latestCommitCard": {
- "loadingLabel": "جارٍ التحميل...",
- "timeagoLabel": "منذ ${time}"
- },
- "patcherView": {
- "widgetTitle": "المُعَّدِّل",
- "patchButton": "تعديل",
- "incompatibleArchWarningDialogText": "لم يتم دعم التعديلات الخاصة بهذه البنية حتى الآن وقد تفشل. هل تريد المتابعة على أي حال؟",
- "removedPatchesWarningDialogText": "تمت إزالة التعديلات منذ آخر مرة قمت فيها بتعديل هذا التطبيق:\n\n${patches}\n\n${newPatches}هل تريد المتابعة على أي حال؟",
- "addedPatchesDialogText": "تمت إضافة التعديلات منذ آخر مرة قمت فيها بتعديل هذا التطبيق:\n\n${addedPatches}\n\n",
- "requiredOptionDialogText": "يجب ضبط بعض خيارات التعديل."
- },
- "appSelectorCard": {
- "widgetTitle": "حدد تطبيق",
- "widgetTitleSelected": "التطبيق المحدد",
- "widgetSubtitle": "لم يتم تحديد أي تطبيق",
- "noAppsLabel": "لم يتم العثور على تطبيقات",
- "anyVersion": "أي إصدار"
- },
- "patchSelectorCard": {
- "widgetTitle": "حدد التعديلات",
- "widgetTitleSelected": "التعديلات التي تم تحديدها",
- "widgetSubtitle": "حدد تطبيق أولاً",
- "widgetEmptySubtitle": "لم يتم تحديد أي تعديلات"
- },
- "socialMediaCard": {
- "widgetTitle": "وسائل التواصل",
- "widgetSubtitle": "تابعونا!"
- },
- "appSelectorView": {
- "viewTitle": "حدد تطبيق",
- "searchBarHint": "البحث عن تطبيق",
- "storageButton": "التخزين",
- "selectFromStorageButton": "تحديد من التخزين",
- "errorMessage": "لا يمكن استخدام التطبيق المحدد",
- "downloadToast": "خاصية التنزيل غير متوفرة بعد",
- "requireSuggestedAppVersionDialogText": "الإصدار من التطبيق الذي حددته لا يتطابق مع الإصدار المقترح الذي يمكن أن يؤدي إلى مشاكل غير متوقعة. الرجاء استخدام الإصدار المقترح.\n\nالإصدار المحدد: ${selected}\nالإصدار المقترح: ${suggested}\n\nللاستمرار على أي حال، قم بتعطيل \"طلب إصدار التطبيق المقترح\" في الإعدادات.",
- "featureNotAvailable": "الميزة غير مُدمَجة بعد",
- "featureNotAvailableText": "هذا التطبيق عبارة عن ملف Spilt APK ولا يمكن تعديله وتثبيته بشكل موثوق إلا عن طريق التثبيت باستخدام أذونات Root. ومع ذلك، يمكنك تعديل وتثبيت ملف APK كاملًا عن طريق تحديده من وحدة التخزين."
- },
- "patchesSelectorView": {
- "viewTitle": "حدد التعديلات",
- "searchBarHint": "البحث عن التعديلات",
- "universalPatches": "التعديلات العامة",
- "newPatches": "تعديلات جديدة",
- "patches": "تعديلات",
- "doneButton": "تم",
- "defaultChip": "إفتراضي",
- "defaultTooltip": "تحديد كل التعديلات الافتراضية",
- "noneChip": "لا شيء",
- "noneTooltip": "إلغاء تحديد كل التعديلات",
- "loadPatchesSelection": "تحميل التعديل المحدد",
- "noSavedPatches": "لا يوجد تحديد تعديل محفوظ للتطبيق المحدد.\nاضغط على تم لحفظ التحديد الحالي.",
- "noPatchesFound": "لم يتم العثور على تعديلات للتطبيق المحدد",
- "setRequiredOption": "تتطلب بعض التعديلات تعيين خيارات:\n\n${patches}\n\nالرجاء تعيينها قبل المتابعة."
- },
- "patchOptionsView": {
- "customValue": "تخصيص القيمة",
- "setToNull": "تعيين إلى ملغي",
- "nullValue": "قيمة هذا الخيار فارغة حاليًا",
- "viewTitle": "خيارات التعديل",
- "saveOptions": "حفظ",
- "unselectPatch": "إلغاء تحديد التعديل",
- "tooltip": "المزيد من خيارات الإدخال",
- "selectFilePath": "تحديد مسار الملف",
- "selectFolder": "تحديد مجلد",
- "requiredOption": "إعداد هذا الخيار مطلوب",
- "unsupportedOption": "هذا الخيار غير مدعوم",
- "requiredOptionNull": "يجب تعيين الخيارات التالية:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "قد يؤدي تحديد هذا التعديل إلى حدوث أخطاء في عملية التعديل.\n\nإصدار التطبيق: ${packageVersion}\nالإصدارات المدعومة حاليًا:\n${supportedVersions}",
- "unsupportedPatchVersion": "التعديل غير مدعوم لإصدار التطبيق هذا.",
- "unsupportedRequiredOption": "يحتوي هذا التعديل على خيار مطلوب لا يدعمه هذا التطبيق",
- "patchesChangeWarningDialogText": "يوصى باستخدام تحديد التعديل وخياراته الافتراضية. قد يؤدي تغييرها إلى حدوث مشكلات غير متوقعة.\n\nستحتاج إلى تشغيل \"السماح بتغيير تحديد التعديل\" في الإعدادات قبل تغيير أي تحديد تعديل.",
- "patchesChangeWarningDialogButton": "استخدام التحديد الافتراضي"
- },
- "installerView": {
- "installType": "تحديد نوع التثبيت",
- "installTypeDescription": "تحديد نوع التثبيت للمتابعة.",
- "installButton": "تثبيت",
- "installRootType": "Mount",
- "installNonRootType": "عادي",
- "warning": "قم بتعطيل التحديثات التلقائية للتطبيق المعدل لتجنب المشكلات غير المتوقعة.",
- "pressBackAgain": "اضغط رجوع مرة اخرى للإلغاء",
- "openButton": "فتح",
- "notificationTitle": "ReVanced Manager يقوم بعملية التعديل",
- "notificationText": "انقر للعودة إلى المثبت",
- "exportApkButtonTooltip": "تصدير APK المعدل",
- "exportLogButtonTooltip": "تصدير السجل",
- "screenshotDetected": "تم اكتشاف لقطة شاشة. إذا كنت تحاول مشاركة السجل، فيرجى مشاركة نسخة نصية بدلاً من ذلك.\n\nهل تريد نسخ السجل إلى الحافظة؟",
- "copiedToClipboard": "تم نسخ السجل إلى الحافظة",
- "noExit": "المثبت لا يزال قيد التشغيل، لا يمكن الخروج..."
- },
- "settingsView": {
- "widgetTitle": "الإعدادات",
- "appearanceSectionTitle": "المظهر",
- "teamSectionTitle": "الفريق",
- "debugSectionTitle": "تصحيح الأخطاء",
- "advancedSectionTitle": "إعدادات متقدمة",
- "exportSectionTitle": "استيراد و تصدير",
- "dataSectionTitle": "مصدر البيانات",
- "themeModeLabel": "مظهر التطبيق",
- "systemThemeLabel": "النظام",
- "lightThemeLabel": "فاتح (ابيض)",
- "darkThemeLabel": "الوضع الداكن",
- "dynamicThemeLabel": "تصميم Material You",
- "dynamicThemeHint": "استمتع بتجربة أقرب إلى جهازك",
- "languageLabel": "اللغة",
- "languageUpdated": "تم تحديث اللغة",
- "sourcesLabel": "مصادر بديلة",
- "sourcesLabelHint": "تكوين المصادر البديلة لتعديلات ReVanced",
- "useAlternativeSources": "استخدام مصادر بديلة",
- "useAlternativeSourcesHint": "استخدام مصادر بديلة لتعديلات ReVanced بدلاً من واجهة برمجة التطبيقات",
- "sourcesResetDialogTitle": "إعادة التعيين",
- "sourcesResetDialogText": "هل أنت متأكد من أنك تريد إعادة تعيين المصادر الخاصة بك إلى قيمها الافتراضية؟",
- "apiURLResetDialogText": "هل أنت متأكد من أنك تريد إعادة تعيين رابط API الخاص بك إلى قيمته الافتراضية؟",
- "sourcesUpdateNote": "ملاحظة: سيؤدي هذا إلى تنزيل تعديلات ReVanced تلقائيًا من المصادر البديلة.\n\nسيؤدي هذا إلى توصيلك بالمصدر البديل.",
- "apiURLLabel": "رابط API",
- "apiURLHint": "تكوين عنوان URL لواجهة برمجة التطبيقات الخاصة بـ ReVanced Manager",
- "selectApiURL": "رابط API",
- "orgPatchesLabel": "تنظيم التعديلات",
- "sourcesPatchesLabel": "مصدر التعديلات",
- "contributorsLabel": "المساهمون",
- "contributorsHint": "قائمة المساهمين في ReVanced",
- "logsLabel": "مشاركة السجلات",
- "logsHint": "مشاركة سجلات ReVanced Manager",
- "enablePatchesSelectionLabel": "السماح بتغيير تحديد التعديل",
- "enablePatchesSelectionHint": "لا تمنع تحديد أو إلغاء تحديد التعديلات",
- "enablePatchesSelectionWarningText": "قد يؤدي تغيير تحديد التعديلات إلى حدوث مشكلات غير متوقعة.\n\nهل تريد التمكين على أي حال؟",
- "disablePatchesSelectionWarningText": "أنت على وشك تعطيل تغيير تحديد التعديلات.\nستتم استعادة التحديد الافتراضي للتعديلات.\n\nهل تريد التعطيل على أي حال؟",
- "autoUpdatePatchesLabel": "تحديث التعديلات تلقائيًا",
- "autoUpdatePatchesHint": "تحديث التعديلات تلقائيًا إلى الإصدار الأحدث",
- "showUpdateDialogLabel": "عرض مربع حوار التحديث",
- "showUpdateDialogHint": "عرض مربع حوار عندما يتوفر تحديث جديد",
- "universalPatchesLabel": "عرض التعديلات العامة",
- "universalPatchesHint": "عرض جميع التطبيقات والتعديلات العامة (قد تؤدي إلى إبطاء قائمة التطبيقات)",
- "lastPatchedAppLabel": "حفظ التطبيق المعدل",
- "lastPatchedAppHint": "حفظ آخر تعديل لتثبيته أو تصديره لاحقًا",
- "versionCompatibilityCheckLabel": "التحقق من توافق الإصدار",
- "versionCompatibilityCheckHint": "منع تحديد التعديلات غير المتوافقة مع إصدار التطبيق المحدد",
- "requireSuggestedAppVersionLabel": "يتطلب إصدار التطبيق المقترح",
- "requireSuggestedAppVersionHint": "منع تحديد تطبيق بإصدار غير المقترح",
- "requireSuggestedAppVersionDialogText": "قد يؤدي تحديد تطبيق ليس هو الإصدار المقترح إلى حدوث مشكلات غير متوقعة.\n\nهل تريد المتابعة على أية حال؟",
- "aboutLabel": "لمحة",
- "snackbarMessage": "نُسِخ إلى الحافظة",
- "restartAppForChanges": "أعد تشغيل التطبيق لتطبيق التغييرات",
- "deleteTempDirLabel": "حذف الملفات المؤقتة",
- "deleteTempDirHint": "حذف الملفات المؤقتة غير المستخدمة",
- "deletedTempDir": "تم حذف الملفات المؤقتة",
- "exportSettingsLabel": "تصدير الإعدادات",
- "exportSettingsHint": "تصدير الإعدادات إلى ملف JSON",
- "exportedSettings": "تم تصدير الإعدادات",
- "importSettingsLabel": "استيراد الإعدادات",
- "importSettingsHint": "استيراد الإعدادات من ملف JSON",
- "importedSettings": "تم استيراد الإعدادات",
- "exportPatchesLabel": "تصدير التعديل المحدد",
- "exportPatchesHint": "تصدير التعديل المحدد إلى مِلَفّ JSON",
- "exportedPatches": "تم تصدير التعديل المحدد",
- "noExportFileFound": "لا يوجد تعديل محدد للتصدير",
- "importPatchesLabel": "استيراد التعديل المحدد",
- "importPatchesHint": "استيراد التعديل المحدد من مِلَفّ JSON",
- "importedPatches": "تم استيراد التعديل المحدد",
- "resetStoredPatchesLabel": "إعادة تعيين التعديل المحدد",
- "resetStoredPatchesHint": "إعادة تعيين التعديل المحدد المخزن",
- "resetStoredPatchesDialogTitle": "إعادة تعيين التعديل المحدد؟",
- "resetStoredPatchesDialogText": "ستتم استعادة التحديد الافتراضي للتعديلات.",
- "resetStoredPatches": "تم إعادة تعيين التعديل المحدد",
- "resetStoredOptionsLabel": "إعادة تعيين خيارات التعديل",
- "resetStoredOptionsHint": "إعادة تعيين جميع خيارات التعديل",
- "resetStoredOptionsDialogTitle": "إعادة تعيين خيارات التعديل؟",
- "resetStoredOptionsDialogText": "سيؤدي إعادة تعيين خيارات التعديل إلى إزالة جميع الخيارات المحفوظة.",
- "resetStoredOptions": "تم إعادة تعيين الخيارات",
- "deleteLogsLabel": "مسح السجلات",
- "deleteLogsHint": "حذف سجلات ReVanced Manager التي تم جمعها",
- "deletedLogs": "تم حذف السجلات",
- "regenerateKeystoreLabel": "إعادة إنشاء مخزن المفاتيح",
- "regenerateKeystoreHint": "إعادة إنشاء مخزن المفاتيح المستخدم لتوقيع التطبيقات",
- "regenerateKeystoreDialogTitle": "إعادة إنشاء مخزن المفاتيح؟",
- "regenerateKeystoreDialogText": "لن تتمكن التطبيقات المعدلة الموقعة باستخدام مخزن المفاتيح القديم من التحديث بعد الآن.",
- "regeneratedKeystore": "تم تجديد مخزن المفاتيح",
- "exportKeystoreLabel": "تصدير مخزن المفاتيح",
- "exportKeystoreHint": "تصدير مخزن المفاتيح المستخدم لتوقيع التطبيقات",
- "exportedKeystore": "تم تصدير مخزن المفاتيح",
- "noKeystoreExportFileFound": "لا يوجد مخزن مفاتيح للتصدير",
- "importKeystoreLabel": "استيراد مخزن المفاتيح",
- "importKeystoreHint": "استيراد مخزن المفاتيح المستخدم لتوقيع التطبيقات",
- "importedKeystore": "تم استيراد مخزن المفاتيح",
- "selectKeystorePassword": "كلمة مرور مخزن المفاتيح",
- "selectKeystorePasswordHint": "حدد كلمة مرور تخزين المفاتيح المستخدمة للتوقيع على التطبيقات",
- "jsonSelectorErrorMessage": "تعذر استخدام مِلَفّ JSON المحدد",
- "keystoreSelectorErrorMessage": "غير قادر على استخدام ملف تخزين المفاتيح المحدد"
- },
- "appInfoView": {
- "widgetTitle": "معلومات التطبيق",
- "openButton": "فتح",
- "installButton": "تثبيت",
- "uninstallButton": "إلغاء التثبيت",
- "unmountButton": "Unmount",
- "exportButton": "تصدير",
- "deleteButton": "حذف",
- "rootDialogTitle": "خطأ",
- "lastPatchedAppDescription": "هذه نسخة احتياطية من التطبيق الذي تم تعديله آخر مرة.",
- "unmountDialogText": "هل أنت متأكد من أنك تريد Unmount لهذا التطبيق؟",
- "uninstallDialogText": "هل أنت متأكد من أنك تريد إلغاء تثبيت هذا التطبيق؟",
- "rootDialogText": "تم تثبيت التطبيق بأذونات المستخدم المتميز، لكن ReVanced Manager ليس لديه أذونات حاليًا.\nالرجاء منح أذونات المستخدم المتميز أولاً.",
- "removeAppDialogTitle": "حذف التطبيق؟",
- "removeAppDialogText": "هل أنت متأكد من أنك تريد حذف هذه النسخة الاحتياطية؟",
- "packageNameLabel": "اسم الحُزْمَة",
- "installTypeLabel": "نوع التثبيت",
- "mountTypeLabel": "Mount",
- "regularTypeLabel": "عادي",
- "patchedDateLabel": "تاريخ التعديل",
- "appliedPatchesLabel": "التعديلات المطبقة",
- "sizeLabel": "حجم الملف",
- "patchedDateHint": "${date} في ${time}",
- "appliedPatchesHint": "${quantity} تعديلات مطبقة",
- "updateNotImplemented": "لم يتم تنفيذ هذه الميزة بعد"
- },
- "contributorsView": {
- "widgetTitle": "المساهمون"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "الإصدار غير متطابق",
- "mount_no_root": "لا توجد صلاحيات Root",
- "mount_missing_installation": "التثبيت غير متوفر",
- "status_failure_blocked": "التثبيت محظور",
- "install_failed_verification_failure": "فشل التحقق",
- "status_failure_invalid": "التثبيت غير صالح",
- "install_failed_version_downgrade": "لا يمكن الرجوع إلى إصدار سابق",
- "status_failure_conflict": "تعارض التثبيت",
- "status_failure_storage": "مشكلة تخزين التثبيت",
- "status_failure_incompatible": "التثبيت غير متوافق",
- "status_failure_timeout": "مهلة التثبيت",
- "status_unknown": "فشل التثبيت",
- "mount_version_mismatch_description": "فشل التثبيت نظرًا لكون التطبيق المثبت إصدارًا مختلفًا عن التطبيق الذي تم تعديله.\n\nقم بتثبيت إصدار التطبيق الذي تقوم بتثبيته وحاول مرة أخرى.",
- "mount_no_root_description": "فشل التثبيت بسبب عدم منح الوصول إلى Root.\n\nامنح حق الوصول Root إلى ReVanced Manager وحاول مرة أخرى.",
- "mount_missing_installation_description": "فشل التثبيت بسبب عدم تثبيت التطبيق غير المعدل على هذا الجهاز من أجل تثبيته عليه.\n\nقم بتثبيت التطبيق غير المعدل قبل التثبيت وحاول مرة أخرى.",
- "status_failure_timeout_description": "استغرق التثبيت وقتا طويلا للانتهاء.\n\nهل تود أن تجرب مجددا؟",
- "status_failure_storage_description": "فشل التثبيت بسبب عدم كفاية مساحة التخزين.\n\nقم بتحرير بعض المساحة وحاول مرة أخرى.",
- "status_failure_invalid_description": "فشل التثبيت نظرًا لأن التطبيق المعدل غير صالح.\n\nهل تريد إلغاء تثبيت التطبيق والمحاولة مرة أخرى؟",
- "status_failure_incompatible_description": "التطبيق غير متوافق مع هذا الجهاز.\n\nاستخدم ملف APK متوافق مع هذا الجهاز وحاول مجددًا.",
- "status_failure_conflict_description": "تم منع التثبيت من خلال تثبيت موجود للتطبيق.\n\nهل ترغب في إلغاء تثبيت التطبيق المثبت والمحاولة مرة أخرى؟",
- "status_failure_blocked_description": "تم حظر التثبيت بواسطة ${packageName}.\n\nاضبط إعدادات الأمان الخاصة بك وحاول مرة أخرى.",
- "install_failed_verification_failure_description": "فشل التثبيت بسبب مشكلة التحقق.\n\nاضبط إعدادات الأمان وحاول مرة أخرى.",
- "install_failed_version_downgrade_description": "فشل التثبيت نظرًا لكون التطبيق المعدل إصدارًا أقل من التطبيق المثبت.\n\nهل تريد إلغاء تثبيت التطبيق والمحاولة مرة أخرى؟",
- "status_unknown_description": "فشل التثبيت لسبب غير معروف. الرجاء المحاولة مرة أخرى."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/as_IN.i18n.json b/assets/i18n/as_IN.i18n.json
deleted file mode 100755
index 03aee6bb..00000000
--- a/assets/i18n/as_IN.i18n.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
- "okButton": "বাৰু",
- "cancelButton": "বাতিল কৰক",
- "dismissButton": "খাৰিজ কৰক",
- "quitButton": "বন্ধ কৰক",
- "updateButton": "আপডে’ট কৰক",
- "suggested": "পৰামৰ্শমূলক: ${version}",
- "yesButton": "হয়",
- "noButton": "নহয়",
- "warning": "সকীয়নি",
- "notice": "জাননী",
- "noShowAgain": "এইটো আকৌ নেদেখুৱাব",
- "add": "যোগ কৰক",
- "remove": "আঁতৰাওক",
- "showChangelogButton": "সলনি-পঞ্জী দেখুৱাওক",
- "showUpdateButton": "আপডে’ট দেখুৱাওক",
- "navigationView": {
- "dashboardTab": "ডেশ্বব’ৰ্ড",
- "patcherTab": "পেট্চাৰ",
- "settingsTab": "ছেটিংছ"
- },
- "homeView": {
- "refreshSuccess": "সফলতাৰে সতেজ কৰা হ’ল",
- "widgetTitle": "ডেশ্বব’ৰ্ড",
- "updatesSubtitle": "আপডে’টবোৰ",
- "lastPatchedAppSubtitle": "অন্তিমবাৰ পেট্চ কৰা এপ",
- "patchedSubtitle": "ইনষ্টল কৰা এপবোৰ",
- "changeLaterSubtitle": "আপুনি এইটো পাছত ছেটিংছত সলনি কৰিব পাৰিব।",
- "noSavedAppFound": "কোনো এপ পোৱা নগ’ল",
- "noInstallations": "পেট্চ কৰা কোনো এপ ইনষ্টল কৰা নাই",
- "installUpdate": "আপডে’ট ইনষ্টল কৰা অব্যাহত ৰাখিবনে?",
- "updateSheetTitle": "ReVanced Manager আপডে’ট কৰক",
- "updateDialogTitle": "নতুন আপডে’ট উপলব্ধ",
- "updatePatchesSheetTitle": "ReVanced পেট্চবোৰ আপডে’ট কৰক",
- "updateChangelogTitle": "সলনি-পঞ্জী",
- "updateDialogText": "${file}-ৰ এটা নতুন আপডে’ট উপলব্ধ।\n\nবৰ্তমানে ইনষ্টল কৰা সংস্কৰণটো হৈছে ${version}।",
- "downloadConsentDialogTitle": "প্ৰয়োজনীয় ফাইলবোৰ ডাউনল’ড কৰিবনে?"
- },
- "patchOptionsView": {
- "saveOptions": "ছে’ভ কৰক",
- "unselectPatch": "পেট্চ বাছনি-মুক্ত কৰক",
- "tooltip": "অধিক ইনপুটৰ বিকল্প",
- "selectFilePath": "ফাইলৰ পথ বাছনি কৰক",
- "selectFolder": "ফ’ল্ডাৰ বাছনি কৰক"
- },
- "settingsView": {
- "themeModeLabel": "এপৰ থীম",
- "systemThemeLabel": "ছিষ্টেমৰ",
- "lightThemeLabel": "পাতল",
- "darkThemeLabel": "গাঢ়",
- "dynamicThemeLabel": "মেটেৰিয়েল ইউ",
- "languageLabel": "ভাষা",
- "languageUpdated": "ভাষা আপডে’ট কৰা হ’ল"
- },
- "appInfoView": {
- "removeAppDialogTitle": "এপ মচিবনে?",
- "removeAppDialogText": "আপুনি এই বেকআপ মচি পেলাব বিচৰাটো নিশ্চিতনে?",
- "packageNameLabel": "পেকেজৰ নাম",
- "installTypeLabel": "ইনষ্টলেশ্যনৰ প্ৰকাৰ",
- "mountTypeLabel": "মাউণ্ট",
- "regularTypeLabel": "সাধাৰণ",
- "patchedDateLabel": "পেট্চ কৰা তাৰিখ",
- "appliedPatchesLabel": "প্ৰয়োগ কৰা পেট্চবোৰ",
- "sizeLabel": "ফাইলৰ আকাৰ",
- "patchedDateHint": "${date}ৰ ${time} বজাত",
- "appliedPatchesHint": "${quantity}টা প্ৰয়োগ কৰা পেট্চ",
- "updateNotImplemented": "এই সুবিধা এতিয়ালৈকে প্ৰণয়ন কৰা হোৱা নাই"
- },
- "contributorsView": {
- "widgetTitle": "অৱদানকাৰীসকল"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "সংস্কৰণৰ অমিল",
- "mount_no_root": "ৰুট এক্সেছ নাই",
- "mount_missing_installation": "ইনষ্টলেশ্যন পোৱা নগ’ল",
- "status_failure_blocked": "ইনষ্টলেশ্যন অৱৰুদ্ধ",
- "install_failed_verification_failure": "ভেৰিফিকেশ্যন বিফল",
- "install_failed_version_downgrade": "ডাউনগ্ৰে’ড কৰিব নোৱাৰি",
- "status_failure_conflict": "ইনষ্টলেশ্যনৰ সংঘাত",
- "status_failure_storage": "ইনষ্টলেশ্যন ষ্ট’ৰেজৰ সমস্যা",
- "status_failure_incompatible": "ইনষ্টলেশ্যন নিমিলে",
- "status_failure_timeout": "ইনষ্টলেশ্যনৰ সময় উকলিল",
- "status_unknown": "ইনষ্টলেশ্যন বিফল",
- "status_failure_conflict_description": "এপটোৰ এটা মজুত থকা ইনষ্টলেশ্যনৰ ফলত ইনষ্টলেশ্যনত বাধা আহিছিল।\n\n ইনষ্টল কৰা এপটো আনইনষ্টল কৰি পুনৰ চেষ্টা কৰিবনে?",
- "status_failure_blocked_description": "ইনষ্টলেশ্যনটো ${packageName}-ৰ দ্বাৰা অৱৰোধ কৰা হৈছে।\n\nআপোনাৰ সুৰক্ষা-সম্বন্ধীয় ছেটিংছ মিলাই লৈ পুনৰ চেষ্টা কৰক।",
- "install_failed_verification_failure_description": "ভেৰিফিকেশ্যন-সম্বন্ধীয় সমস্যা এটাৰ কাৰণে ইনষ্টলেশ্যন বিফল হ’ল।\n\nআপোনাৰ সুৰক্ষা-সম্বন্ধীয় ছেটিংছ মিলাই লৈ পুনৰ চেষ্টা কৰক।"
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/az_AZ.i18n.json b/assets/i18n/az_AZ.i18n.json
deleted file mode 100755
index 67b7a222..00000000
--- a/assets/i18n/az_AZ.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "Oldu",
- "cancelButton": "Ləğv et",
- "dismissButton": "İmtina et",
- "quitButton": "Çıxış",
- "updateButton": "Yenilə",
- "suggested": "Təklif edilən: ${version}",
- "yesButton": "Bəli",
- "noButton": "Xeyr",
- "warning": "Xәbәrdarlıq",
- "notice": "Bildiriş",
- "noShowAgain": "Bunu təkrar göstərmə",
- "add": "Əlavə et",
- "remove": "Təmizlə",
- "showChangelogButton": "Dəyişiklik jurnalını göstər",
- "showUpdateButton": "Yeniləməni göstər",
- "navigationView": {
- "dashboardTab": "İdarəetmə lövhəsi",
- "patcherTab": "Yamaqlayıcı",
- "settingsTab": "Tənzimləmələr"
- },
- "homeView": {
- "refreshSuccess": "Uğurla yeniləndi",
- "widgetTitle": "İdarəetmə lövhəsi",
- "updatesSubtitle": "Yeniləmələr",
- "lastPatchedAppSubtitle": "Son yamaqlanan tətbiq",
- "patchedSubtitle": "Quraşdırılan tətbiqlər",
- "changeLaterSubtitle": "Bunu sonra tənzimləmələrdə dəyişə bilərsiniz.",
- "noSavedAppFound": "Tətbiq tapılmadı",
- "noInstallations": "Yamaqlanan tətbiq quraşdırılmayıb",
- "installUpdate": "Yeniləməni quraşdırmağa davam edilsin?",
- "updateSheetTitle": "ReVanced Manager-ni Yenilə",
- "updateDialogTitle": "Təzə yeniləmə mövcuddur",
- "updatePatchesSheetTitle": "ReVanced Patches-i Yenilə",
- "updateChangelogTitle": "Dəyişiklik jurnalı",
- "updateDialogText": "${file} üçün təzə yenilənmə var.\n\nCari quraşdırılan versiya: ${version}.",
- "downloadConsentDialogTitle": "Zəruri fayllar yüklənilsin?",
- "downloadConsentDialogText": "\"ReVanced Manager\" düzgün işləməsi üçün zəruri faylları yükləməlidir.",
- "downloadConsentDialogText2": "Bu, sizlə ${url} arası əlaqə yaradacaq.",
- "downloadingMessage": "Yenilənmə yüklənilir...",
- "downloadedMessage": "Yenilənmə yüklənildi",
- "installingMessage": "Yenilənmə quraşdırılır...",
- "errorDownloadMessage": "Yeniləmə yüklənilə bilmir",
- "errorInstallMessage": "Yenilənmə qurulmur",
- "noConnection": "İnternet bağlantısı yoxdur"
- },
- "applicationItem": {
- "infoButton": "Məlumat"
- },
- "latestCommitCard": {
- "loadingLabel": "Yüklənilir...",
- "timeagoLabel": "${time} əvvəl"
- },
- "patcherView": {
- "widgetTitle": "Yamaqlayıcı",
- "patchButton": "Yamaqla",
- "incompatibleArchWarningDialogText": "Bu quruluşda yamaqlama hələ dəstəklənmir və uğursuz ola bilər. Yenə də davam edilsin?",
- "removedPatchesWarningDialogText": "Bu tətbiqi yamaqladığınız son müddətdən bəri silinən yamaqlar:\n\n${patches}\n\n${newPatches}Yenə də davam edilsin?",
- "addedPatchesDialogText": "Bu tətbiqi yamaqladığınız son müddətdən bəri əlavə edilən yamaqlar:\n\n${addedPatches}",
- "requiredOptionDialogText": "Bəzi yamaq seçimləri tənzimlənməlidir."
- },
- "appSelectorCard": {
- "widgetTitle": "Tətbiq seçin",
- "widgetTitleSelected": "Seçilən tətbiq",
- "widgetSubtitle": "Tətbiq seçilməyib",
- "noAppsLabel": "Tətbiq tapılmadı",
- "anyVersion": "İstənilən versiya"
- },
- "patchSelectorCard": {
- "widgetTitle": "Yamaqları seçin",
- "widgetTitleSelected": "Seçilən yamaqlar",
- "widgetSubtitle": "Əvvəlcə bir tətbiq seçin",
- "widgetEmptySubtitle": "Yamaq seçilməyib"
- },
- "socialMediaCard": {
- "widgetTitle": "Sosial şəbəkə",
- "widgetSubtitle": "Əlaqədəyik!"
- },
- "appSelectorView": {
- "viewTitle": "Tətbiq seçin",
- "searchBarHint": "Tətbiq axtar",
- "storageButton": "Yaddaş",
- "selectFromStorageButton": "Yaddaşdan seçin",
- "errorMessage": "Seçilmiş tətbiq istifadəyə yararsızdır",
- "downloadToast": "Yükləmə funksiyası hələ əlçatan deyil",
- "requireSuggestedAppVersionDialogText": "Seçdiyiniz tətbiq versiyası təklif edilən versiyaya uyuşmur, gözlənilməz problemlərə yol aça bilər. Lütfən, təklif edilən versiyanı istifadə edin.\n\nSeçilən versiya: v${selected}\nTəklif edilən versiya: v${suggested}\n\nYenə də davam etmək üçün, seçimlərdə \"Təklif edilən versiyanı tələb et\"i qapada bilərsiniz.",
- "featureNotAvailable": "Xüsusiyyət quraşdırılmadı",
- "featureNotAvailableText": "Bu tətbiq bölünmüş APK-dır və yalnız root icazələri ilə montajlanıb yamaqlana və quraşdırıla bilər. Ancaq, yaddaşdan tam APK-nı seçərək yamaqlaya və quraşdıra bilərsiniz."
- },
- "patchesSelectorView": {
- "viewTitle": "Yamaqları seçin",
- "searchBarHint": "Yamaqları axtarın",
- "universalPatches": "Ümumi yamaqlar",
- "newPatches": "Yeni yamaqlar",
- "patches": "Yamaqlar",
- "doneButton": "Bitdi",
- "defaultChip": "İlkin",
- "defaultTooltip": "Bütün ilkin yamaqları seç",
- "noneChip": "Heç nə",
- "noneTooltip": "Bütün yamaqlar seçimini sil",
- "loadPatchesSelection": "Yamaq seçimini yüklə",
- "noSavedPatches": "Seçilən tətbiq üçün saxlanılan yamaq seçimi yoxdur.\nCari seçimi saxlamaq üçün \"Bitdi\"ə toxunun.",
- "noPatchesFound": "Seçilmiş tətbiq üçün yamaqlar tapılmadı",
- "setRequiredOption": "Bəzi yamaqlar seçimlərin tənzimlənməsin tələb edir:\n\n${patches}\n\nLütfən davam etməzdən əvvəl onları tənzimləyin."
- },
- "patchOptionsView": {
- "customValue": "Xüsusi dəyər",
- "setToNull": "Boş olaraq təsdiqlə",
- "nullValue": "Bu seçim dəyəri hazırda boşdur",
- "viewTitle": "Yamaq seçimləri",
- "saveOptions": "Saxla",
- "unselectPatch": "Yamağı seçmə",
- "tooltip": "Daha çox giriş seçimləri",
- "selectFilePath": "Fayl yolunu seç",
- "selectFolder": "Qovluq seç",
- "requiredOption": "Bu seçimi tənzimləmək tələb olunur",
- "unsupportedOption": "Bu seçim dəstəklənmir",
- "requiredOptionNull": "Aşağıdakı seçimlər tənzimlənməlidir:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "Bu yamağı seçmək, yamaqlanma xətalarına səbəb ola bilər.\n\nTətbiq versiyası: ${packageVersion} \nDəstəklənən versiyalar:\n${supportedVersions}",
- "unsupportedPatchVersion": "Yamaq, bu tətbiq versiyası üçün dəstəklənmir.",
- "unsupportedRequiredOption": "Bu yamaq, bu tətbiq vasitəsilə dəstəklənməyən, tələb edilən seçim saxlayır",
- "patchesChangeWarningDialogText": "İlkin yamaq seçimi və seçimlərin istifadəsi tövsiyə olunur. Onları dəyişdirmə gözlənilməz problemlərlə nəticələnə bilər.\n\nİstənilən yamaq seçimini dəyişdirməzdən əvvəl seçimlərdə \"Yamaq seçimini dəyişdirməyə icazə ver\"i aktiv etməlisiniz.",
- "patchesChangeWarningDialogButton": "İlkin seçimi istifadə et"
- },
- "installerView": {
- "installType": "Quraşdırma növünü seçin",
- "installTypeDescription": "Davam etmək üçün quraşdırma növünü seç.",
- "installButton": "Quraşdır",
- "installRootType": "Montajla",
- "installNonRootType": "Müntəzəm",
- "warning": "Gözlənilməz problemlərin qarşısını almaq üçün yamaqlanmış tətbiq üçün avto-yeniləmələri qapat.",
- "pressBackAgain": "Ləğv etmək üçün təkrar geri bas",
- "openButton": "Aç",
- "notificationTitle": "ReVanced Manager yamaqlayır",
- "notificationText": "Quraşdırıcıya dönmək üçün toxun",
- "exportApkButtonTooltip": "Yamaqlı APK-nı ixrac et",
- "exportLogButtonTooltip": "Jurnalı ixrac et",
- "screenshotDetected": "Ekran görüntüsü aşkarlandı. Jurnalı paylaşmağa çalışırsınızsa, əvəzində mətn nüsxəsini paylaşın. \n\nJurnal buferə köçürülsün?",
- "copiedToClipboard": "Jurnal buferə köçürüldü",
- "noExit": "Quraşdırıcı hələ də işləyir, çıxmaq olmaz..."
- },
- "settingsView": {
- "widgetTitle": "Tənzimləmələr",
- "appearanceSectionTitle": "Görünüş",
- "teamSectionTitle": "Komanda",
- "debugSectionTitle": "Sazlama",
- "advancedSectionTitle": "Qabaqcıl",
- "exportSectionTitle": "İdxal & ixrac et",
- "dataSectionTitle": "Məlumat mənbələri",
- "themeModeLabel": "Tətbiq tonu",
- "systemThemeLabel": "Sistem",
- "lightThemeLabel": "İşıqlı",
- "darkThemeLabel": "Qaranlıq",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "Cihazınıza yaxın təcrübədən zövq alın",
- "languageLabel": "Dil",
- "languageUpdated": "Dil yeniləndi",
- "sourcesLabel": "Seçmə mənbələr",
- "sourcesLabelHint": "ReVanced Patches üçün seçmə mənbələri quraşdır",
- "useAlternativeSources": "Seçmə mənbələri istifadə et",
- "useAlternativeSourcesHint": "API əvəzinə ReVanced Patches üçün seçmə mənbələr istifadə et",
- "sourcesResetDialogTitle": "Sıfırla",
- "sourcesResetDialogText": "Mənbələrinizi ilkin dəyərlərinə sıfırlamaq istədiyinizə əminsiniz?",
- "apiURLResetDialogText": "API URL-nizi ilkin dəyərinə sıfırlamaq istədiyinizə əminsiz?",
- "sourcesUpdateNote": "Qeyd: Bu, ReVanced Yamaqlarını birbaşa seçmə mənbələrdən yükləyəcək.\n\nBu sizi alternativ mənbəyə bağlayacaq.",
- "apiURLLabel": "API URL",
- "apiURLHint": "ReVanced Manager-in API URL-sini Qurun",
- "selectApiURL": "API URL",
- "orgPatchesLabel": "Yamaq qurucu",
- "sourcesPatchesLabel": "Yamaqların mənbəyi",
- "contributorsLabel": "Töhfə verənlər",
- "contributorsHint": "ReVanced-ə töhfə verənlərin siyahısı",
- "logsLabel": "Jurnalları paylaş",
- "logsHint": "ReVanced Manager jurnallarını paylaş",
- "enablePatchesSelectionLabel": "Yamaq seçimini dəyişdirməyə icazə ver",
- "enablePatchesSelectionHint": "Yamaqların seçilməsi və ya seçimin ləğv edilməsinə mane olunmasın",
- "enablePatchesSelectionWarningText": "Yamaq seçimini dəyişdirmək gözlənilməz problemlərə səbəb ola bilər.\n\nYenə də aktivləşdirilsin?",
- "disablePatchesSelectionWarningText": "Yamaq seçimi dəyişdirilməsini qapatmaq üzrəsiniz.\nİlkin yamaq seçimi bərpa ediləcək.\n\nYenə də qapadılsın?",
- "autoUpdatePatchesLabel": "Yamaqları avtomatik yenilə",
- "autoUpdatePatchesHint": "Yamaqları son versiyaya avtomatik yenilə",
- "showUpdateDialogLabel": "Yenilənmə dialoqunu göstər",
- "showUpdateDialogHint": "Təzə yenilənmə mövcud olduqda dialoq pəncərəsi göstər",
- "universalPatchesLabel": "Ümumi yamaqları göstər",
- "universalPatchesHint": "Bütün tətbiqləri və ümumi yamaqları göstər (tətbiq siyahıyaalma yavaşlaya bilər)",
- "lastPatchedAppLabel": "Yamaqlanmış tətbiqi saxla",
- "lastPatchedAppHint": "Daha sonra quraşdırmaq və ya ixrac etmək üçün son yamağı saxla",
- "versionCompatibilityCheckLabel": "Versiya uyğunluq yoxlanışı",
- "versionCompatibilityCheckHint": "Seçilən tətbiq versiyası ilə uyuşmayan yamaqları seçməyə mane ol",
- "requireSuggestedAppVersionLabel": "Təklif edilən tətbiq versiyasın tələb et",
- "requireSuggestedAppVersionHint": "Təklif edilməyən versiya ilə tətbiq seçilməsini əngəllə",
- "requireSuggestedAppVersionDialogText": "Təklif edilən versiya deyilsə, tətbiq seçilməsi gözlənilməz problemlərə səbəb olur.\n\nYenə də davam etmək istəyirsiniz?",
- "aboutLabel": "Haqqında",
- "snackbarMessage": "Buferə köçürüldü",
- "restartAppForChanges": "Dəyişiklikləri işlətmək üçün tətbiqi yenidən başlat",
- "deleteTempDirLabel": "Müvəqqəti faylları sil",
- "deleteTempDirHint": "Yararsız, müvəqqəti faylları sil",
- "deletedTempDir": "Müvəqqəti fayllar silindi",
- "exportSettingsLabel": "Tənzimləmələri köçür",
- "exportSettingsHint": "Tənzimləmələri JSON faylına köçür",
- "exportedSettings": "Tənzimləmələr ixrac edildi",
- "importSettingsLabel": "Tənzimləmələri idxal et",
- "importSettingsHint": "Tənzimləmələri JSON faylından idxal et",
- "importedSettings": "Tənzimləmələr idxal edildi",
- "exportPatchesLabel": "Yamaq seçimini ixrac et",
- "exportPatchesHint": "Yamaq seçimini JSON faylına köçür",
- "exportedPatches": "Yamaq seçimi ixrac edildi",
- "noExportFileFound": "İxrac ediləcək yamaq seçimi yoxdur",
- "importPatchesLabel": "Yamaq seçimini idxal et",
- "importPatchesHint": "Yamaq seçimini JSON faylından əldə et",
- "importedPatches": "Yamaq seçimi idxal edildi",
- "resetStoredPatchesLabel": "Yamaq seçimini sıfırla",
- "resetStoredPatchesHint": "Saxlanılmış yamaq seçimini sıfırla",
- "resetStoredPatchesDialogTitle": "Yamaq seçimi sıfırlansın?",
- "resetStoredPatchesDialogText": "İlkin yamaq seçimi bərpa olunacaq.",
- "resetStoredPatches": "Yamaq seçimi sıfırlandı",
- "resetStoredOptionsLabel": "Yamaq seçimlərini sıfırla",
- "resetStoredOptionsHint": "Bütün yamaq seçimlərini sıfırla",
- "resetStoredOptionsDialogTitle": "Yamaq seçimləri sıfırlansın?",
- "resetStoredOptionsDialogText": "Yamaq seçimlərin sıfırlama, bütün saxlanılmış seçimləri siləcək.",
- "resetStoredOptions": "Seçimlər sıfırlandı",
- "deleteLogsLabel": "Jurnalları təmizlə",
- "deleteLogsHint": "Toplanmış ReVanced Manager jurnallarını sil",
- "deletedLogs": "Jurnallar silindi",
- "regenerateKeystoreLabel": "Keystore-u yenidən yarat",
- "regenerateKeystoreHint": "Tətbiqləri imzalamaq üçün istifadə edilən keystoru-u yenidən yarat",
- "regenerateKeystoreDialogTitle": "Keystore yenidən yaradılsın?",
- "regenerateKeystoreDialogText": "Köhnə keystore ilə imzalı yamaqlanan tətbiqlər artıq yenilənə bilməyəcək.",
- "regeneratedKeystore": "Keystore yenidən yaradıldı",
- "exportKeystoreLabel": "Keystore-u ixrac et",
- "exportKeystoreHint": "Tətbiqləri imzalamaq üçün istifadə olunan keystore-u ixrac et",
- "exportedKeystore": "Keystore ixrac edildi",
- "noKeystoreExportFileFound": "İxrac edilməli keystore yoxdur",
- "importKeystoreLabel": "Keystore-u idxal et",
- "importKeystoreHint": "Tətbiqləri imzalamaq üçün istifadə olunan keystore-u idxal et",
- "importedKeystore": "Keystore idxal edildi",
- "selectKeystorePassword": "Keystore parolu",
- "selectKeystorePasswordHint": "Tətbiqləri imzalamaq üçün istifadə olunan keystore parolu seç",
- "jsonSelectorErrorMessage": "Seçilmiş JSON faylı istifadə edilə bilmir",
- "keystoreSelectorErrorMessage": "Seçilmiş keystore faylı istifadə edilə bilmir"
- },
- "appInfoView": {
- "widgetTitle": "Tətbiq məlumatı",
- "openButton": "Aç",
- "installButton": "Quraşdır",
- "uninstallButton": "Sil",
- "unmountButton": "Ayırın",
- "exportButton": "İxrac et",
- "deleteButton": "Sil",
- "rootDialogTitle": "Xəta",
- "lastPatchedAppDescription": "Bu, son yamaqlanmış tətbiqin nüsxəsidir.",
- "unmountDialogText": "Bu tətbiqi ayırmaq istədiyinizə əminsiniz?",
- "uninstallDialogText": "Bu tətbiqi silmək istədiyinizə əminsiniz?",
- "rootDialogText": "Tətbiq, superuser icazələri ilə quraşdırıldı, ancaq hazırda ReVanced Manager-in heç bir icazəsi yoxdur.\nLütfən əvvəlcə superuser icazələrini qəbul edin.",
- "removeAppDialogTitle": "Tətbiq silinsin?",
- "removeAppDialogText": "Bu nüsxəni silmək istədiyinizə əminsiniz?",
- "packageNameLabel": "Paket adı",
- "installTypeLabel": "Quraşdırma növü",
- "mountTypeLabel": "Montajla",
- "regularTypeLabel": "Müntəzəm",
- "patchedDateLabel": "Yamaqlanma vaxtı",
- "appliedPatchesLabel": "Tətbiq edilmiş yamaqlar",
- "sizeLabel": "Fayl həcmi",
- "patchedDateHint": "${time} ${date}",
- "appliedPatchesHint": "${quantity} tətbiq edilmiş yamaq",
- "updateNotImplemented": "Bu funksiya hələ hazır deyil"
- },
- "contributorsView": {
- "widgetTitle": "Töhfəçilər"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "Versiya uyğunsuzluğu",
- "mount_no_root": "Root girişi yoxdur",
- "mount_missing_installation": "Quraşdırma tapılmadı",
- "status_failure_blocked": "Quraşdırma əngəlləndi",
- "install_failed_verification_failure": "Təsdiqləmə uğursuz oldu",
- "status_failure_invalid": "Quraşdırma etibarsızdır",
- "install_failed_version_downgrade": "Versiya endirmə alınmır",
- "status_failure_conflict": "Quraşdırma ziddiyyəti",
- "status_failure_storage": "Quraşdırma yaddaş sahəsi problemi",
- "status_failure_incompatible": "Quraşdırma uyğun deyil",
- "status_failure_timeout": "Quraşdırma vaxtı bitdi",
- "status_unknown": "Quraşdırma uğursuz oldu",
- "mount_version_mismatch_description": "Quraşdırılmış tətbiq, yamaqlanmış tətbiqdən fərqli versiyada olduğu üçün quraşdırma uğursuz oldu.\n\nMontajlı tətbiq versiyasını quraşdırıb təkrar sınayın.",
- "mount_no_root_description": "Root girişinə icazə verilmədiyi üçün quraşdırma uğursuz oldu.\n\n\"ReVanced Manager\"ə root girişi icazəsini verin və yenidən sınayın.",
- "mount_missing_installation_description": "Montajlanmalı yamaqlanmayan tətbiq bu cihazda quraşdırılmadığı üçün quraşdırma uğursuz oldu.\n\nMontajlamadan əvvəl yamaqlanmamış tətbiqi quraşdırın və təkrar sınayın.",
- "status_failure_timeout_description": "Quraşdırmanın bitməsi çox uzun çəkdi.\n\nYenidən cəhd etmək istəyirsiniz?",
- "status_failure_storage_description": "Yetərsiz yaddaş sahəsinə görə quraşdırma uğursuz oldu.\n\nBir az yer boşaldıb yenidən sınayın.",
- "status_failure_invalid_description": "Yamaqlanmış tətbiq etibarsız olduğu üçün quraşdırma uğursuz oldu.\n\nTətbiqi silib yenidən sınayırsınız?",
- "status_failure_incompatible_description": "Tətbiq bu cihazla uyğun deyil.\n\nBu cihaz tərəfindən dəstəklənən APK istifadə et və təkrar cəhd et.",
- "status_failure_conflict_description": "Quraşdırma tətbiqin mövcud quraşdırması sonrası əngəllənib. \n\nQuraşdırılan tətbiqi silib, təkrar cəhd edilsin?",
- "status_failure_blocked_description": "${packageName} quraşdırmanı əngəllədi.\n\nTəhlükəsizlik seçimlərinizi tənzimləyib yenidən sınayın.",
- "install_failed_verification_failure_description": "Təsdiqləmə probleminə görə quraşdırma uğursuz oldu.\n\nTəhlükəsizlik seçimlərinizi tənzimləyib təkrar sınayın.",
- "install_failed_version_downgrade_description": "Yamaqlanan tətbiq quraşdırılan tətbiqdən daha aşağı versiyada olduğu üçün quraşdırma uğursuz oldu.\n\nTətbiqi silib təkrar cəhd edilsin?",
- "status_unknown_description": "Naməlum səbəbə görə quraşdırma uğursuz oldu. Lütfən yenidən sınayın."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/be_BY.i18n.json b/assets/i18n/be_BY.i18n.json
deleted file mode 100755
index 3e957f7e..00000000
--- a/assets/i18n/be_BY.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "ОК",
- "cancelButton": "Скасаваць",
- "dismissButton": "Адхіліць",
- "quitButton": "Выйсці",
- "updateButton": "Абнавіць",
- "suggested": "Прапанавана: ${version}",
- "yesButton": "Так",
- "noButton": "Не",
- "warning": "Увага",
- "notice": "Заўвага",
- "noShowAgain": "Больш не паказваць",
- "add": "Дадаць",
- "remove": "Выдаліць",
- "showChangelogButton": "Паказаць журнал змяненняў",
- "showUpdateButton": "Паказаць абнаўленне",
- "navigationView": {
- "dashboardTab": "Галоўная",
- "patcherTab": "Праграма выпраўлення",
- "settingsTab": "Налады"
- },
- "homeView": {
- "refreshSuccess": "Паспяхова абноўлена",
- "widgetTitle": "Галоўная",
- "updatesSubtitle": "Абнаўленні",
- "lastPatchedAppSubtitle": "Апошняя абноўленая праграма",
- "patchedSubtitle": "Устаноўленыя праграмы",
- "changeLaterSubtitle": "Вы можаце змяніць гэта ў наладах пазней.",
- "noSavedAppFound": "Праграма не знойдзена",
- "noInstallations": "Няма ўсталяваных праграм з выпраўленнямі",
- "installUpdate": "Працягнуць усталяванне абнаўлення?",
- "updateSheetTitle": "Абнавіць ReVanced Manager",
- "updateDialogTitle": "Даступна новае абнаўленне",
- "updatePatchesSheetTitle": "Абнавіць выпраўленні ReVanced",
- "updateChangelogTitle": "Спіс змяненняў",
- "updateDialogText": "Даступна новае абнаўленне для ${file}\n\nЦяпер усталявана версія ${version}.",
- "downloadConsentDialogTitle": "Спампаваць неабходныя файлы?",
- "downloadConsentDialogText": "ReVanced Manager неабходна спампаваць неабходныя файлы для правільнай працы.",
- "downloadConsentDialogText2": "Гэта падключыць вас да ${url}.",
- "downloadingMessage": "Спампоўваецца абнаўленне...",
- "downloadedMessage": "Абнаўленне спампавана",
- "installingMessage": "Усталяванне абнаўлення...",
- "errorDownloadMessage": "Немагчыма спампаваць абнаўленне",
- "errorInstallMessage": "Немагчыма ўсталяваць абнаўленне",
- "noConnection": "Няма злучэння з інтэрнэтам"
- },
- "applicationItem": {
- "infoButton": "Звесткі"
- },
- "latestCommitCard": {
- "loadingLabel": "Загрузка...",
- "timeagoLabel": "${time} таму"
- },
- "patcherView": {
- "widgetTitle": "Праграма выпраўлення",
- "patchButton": "Выправіць",
- "incompatibleArchWarningDialogText": "Выпраўленні на гэтай архітэктуры пакуль не падтрымліваюцца і могуць не працаваць. Працягнуць?",
- "removedPatchesWarningDialogText": "Выдалены патчы з моманту апошняга абнаўлення гэтага праграмы:\n\n${patches}\n\n${newPatches}Працягнуць усё роўна?",
- "addedPatchesDialogText": "Дададзеныя патчы з моманту апошняга абнаўлення гэтага праграмы:\n\n${addedPatches}\n\n",
- "requiredOptionDialogText": "Неабходна задаць некаторыя параметры выпраўленняў."
- },
- "appSelectorCard": {
- "widgetTitle": "Выбраць праграму",
- "widgetTitleSelected": "Выбраная праграма",
- "widgetSubtitle": "Праграма не выбрана",
- "noAppsLabel": "Праграмы не знойдзены",
- "anyVersion": "Любая версія"
- },
- "patchSelectorCard": {
- "widgetTitle": "Выберыце выпраўленні",
- "widgetTitleSelected": "Выбраныя выпраўленні",
- "widgetSubtitle": "Спачатку выберыце праграму",
- "widgetEmptySubtitle": "Выпраўленні не выбраны"
- },
- "socialMediaCard": {
- "widgetTitle": "Сацсеткі",
- "widgetSubtitle": "Мы ў інтэрнэце!"
- },
- "appSelectorView": {
- "viewTitle": "Выбраць праграму",
- "searchBarHint": "Пошук праграмы",
- "storageButton": "Сховішча",
- "selectFromStorageButton": "Выбраць са сховішча",
- "errorMessage": "Немагчыма выкарыстоўваць выбраную праграму",
- "downloadToast": "Функцыя спампоўвання пакуль недаступна",
- "requireSuggestedAppVersionDialogText": "Версія праграмы, якую вы выбралі не супадае з прапанаванай версіяй і гэта можа прывесці да нечаканых праблем. Скарыстайцеся прапанаванай версіяй.\n\nВыбраная версія: ${selected}\nПрапанаваная версія: ${suggested}\n\nАдключыце \"Патрабаваць прапанаваную версію праграмы\" ў наладах, каб праігнараваць гэта паведамленне.",
- "featureNotAvailable": "Функцыя не рэалізавана",
- "featureNotAvailableText": "Гэта праграма з'яўляецца раздзеленым файлам APK і яе можна надзейна выправіць і ўсталяваць толькі падключэннем з правамі суперкарыстальніка. Аднак вы можаце выправіць і ўсталяваць поўны файл APK выбраўшы яго са сховішча."
- },
- "patchesSelectorView": {
- "viewTitle": "Выберыце выпраўленні",
- "searchBarHint": "Пошук выпраўленняў",
- "universalPatches": "Універсальныя выпраўленні",
- "newPatches": "Новыя выпраўленні",
- "patches": "Выпраўленні",
- "doneButton": "Гатова",
- "defaultChip": "Прадвызначана",
- "defaultTooltip": "Выбраць усе прадвызначаныя выпраўленні",
- "noneChip": "Няма",
- "noneTooltip": "Зняць выбар з усіх выпраўленняў",
- "loadPatchesSelection": "Загрузіць выбраныя выпраўленні",
- "noSavedPatches": "Адсутнічае захаваны выбар выпраўленняў для выбранай праграмы.\nНацісніце \"Гатова\", каб захаваць бягучы выбар.",
- "noPatchesFound": "Для выбранай праграмы выпраўленні не знойдзены",
- "setRequiredOption": "Некаторыя выпраўленні патрабуюць зададзеных параметраў:\n\n${patches}\n\nЗадайце іх перад працягам."
- },
- "patchOptionsView": {
- "customValue": "Уласнае значэнне",
- "setToNull": "Усталюйце значэнне нуль",
- "nullValue": "Зараз значэнне гэтага параметра роўна нулю",
- "viewTitle": "Параметры выпраўлення",
- "saveOptions": "Захаваць",
- "unselectPatch": "Скасаваць выбар патча",
- "tooltip": "Больш уваходных параметраў",
- "selectFilePath": "Выбраць шлях да файла",
- "selectFolder": "Выбраць папку",
- "requiredOption": "Неабходна наладзіць гэты параметр",
- "unsupportedOption": "Гэты параметр не падтрымліваецца",
- "requiredOptionNull": "Наступныя параметры павінны быць зададзены:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "Выбар гэтага выпраўлення можа прывесці да памылак падчас яго ўжывання.\n\nВерсія праграмы: ${packageVersion}\nВерсіі, якія падтрымліваюцца:\n${supportedVersions}",
- "unsupportedPatchVersion": "Выпраўленне не падтрымліваецца гэтай версіяй праграмы.",
- "unsupportedRequiredOption": "Гэта выпраўленне змяшчае неабходныя параметры, якія не падтрымліваюцца гэтай праграмай",
- "patchesChangeWarningDialogText": "Рэкамендуецца выкарыстоўваць прадвызначаны выбар выпраўлення і параметры. Іх змяненне можа прывесці да нечаканых праблем.\n\nПерад змяненнем выбару выпраўлення, вам неабходна ўключыць параметр \"Дазволіць змяненне выбару выпраўлення\" ў наладах.",
- "patchesChangeWarningDialogButton": "Выкарыстоўваць прадвызначаны выбар"
- },
- "installerView": {
- "installType": "Выберыце тып устаноўкі",
- "installTypeDescription": "Выберыце тып устаноўкі для працягу.",
- "installButton": "Усталяваць",
- "installRootType": "Падключыць",
- "installNonRootType": "Звычайны",
- "warning": "Адключыць аўтаматычныя абнаўленні для выпраўленых праграм, каб пазбегнуць нечаканых праблем.",
- "pressBackAgain": "Націсніце назад яшчэ раз, каб скасаваць",
- "openButton": "Адкрыць",
- "notificationTitle": "ReVanced Manager працуе над выпраўленнем",
- "notificationText": "Націсніце для вяртання ва ўсталёўшчык праграм",
- "exportApkButtonTooltip": "Экспартаваць выпраўленыя APK",
- "exportLogButtonTooltip": "Экспартаваць журнал",
- "screenshotDetected": "Выяўлены здымак экрана. Калі вы хочаце абагуліць журнал, то замест гэтага адпраўце тэкставую копію\n\nСкапіраваць журнал у буфер абмену?",
- "copiedToClipboard": "Журнал скапіяваны ў буфер абмену",
- "noExit": "Усталёўшчык усё яшчэ працуе, нельга выйсці..."
- },
- "settingsView": {
- "widgetTitle": "Налады",
- "appearanceSectionTitle": "Знешні выгляд",
- "teamSectionTitle": "Каманда",
- "debugSectionTitle": "Адладка",
- "advancedSectionTitle": "Дадаткова",
- "exportSectionTitle": "Імпарт і экспарт",
- "dataSectionTitle": "Крыніцы даных",
- "themeModeLabel": "Тэма праграмы",
- "systemThemeLabel": "Сістэма",
- "lightThemeLabel": "Светлая",
- "darkThemeLabel": "Цёмная",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "Атрымлівайце асалоду ад тэмы сваёй прылады",
- "languageLabel": "Мова",
- "languageUpdated": "Мова абноўлена",
- "sourcesLabel": "Альтэрнатыўныя крыніцы",
- "sourcesLabelHint": "Наладзьце альтэрнатыўныя крыніцы для ReVanced Patches",
- "useAlternativeSources": "Выкарыстоўваць альтэрнатыўныя крыніцы",
- "useAlternativeSourcesHint": "Выкарыстоўвайце альтэрнатыўныя крыніцы для ReVanced Patches замест API",
- "sourcesResetDialogTitle": "Скінуць",
- "sourcesResetDialogText": "Вы сапраўды хочаце скінуць свае крыніцы да іх прадвызначаных значэнняў?",
- "apiURLResetDialogText": "Вы сапраўды хочаце скінуць свае API URL да іх прадвызначаных значэнняў?",
- "sourcesUpdateNote": "Заўвага: гэта аўтаматычна загрузіць ReVanced Patches з альтэрнатыўных крыніц.\n\nГэта падключыць вас да альтэрнатыўнай крыніцы.",
- "apiURLLabel": "API URL",
- "apiURLHint": "Сканфігурыруйце URL API для ReVanced Manager",
- "selectApiURL": "URL-адрас API",
- "orgPatchesLabel": "Арганізацыя выпраўленняў",
- "sourcesPatchesLabel": "Крыніца выпраўленняў",
- "contributorsLabel": "Удзельнікі",
- "contributorsHint": "Спіс усіх удзельнікаў праекта ReVanced",
- "logsLabel": "Абагуліць журнал",
- "logsHint": "Абагуліць журнал ReVanced Manager",
- "enablePatchesSelectionLabel": "Дазволіць змяненне выбару выпраўлення",
- "enablePatchesSelectionHint": "Не прадухіляць выбар або скасаванне выбару выпраўленняў",
- "enablePatchesSelectionWarningText": "Змяненне выбару выпраўленняў можа стаць прычынай нечаканых праблем.\n\nУключыць усё роўна?",
- "disablePatchesSelectionWarningText": "Вы збіраецеся адключыць змяненне выбару выпраўленняў.\nБудзе адноўлены прадвызначаны выбар выпраўленняў.\n\nАдключыць усё роўна?",
- "autoUpdatePatchesLabel": "Аўтаматычнае абнаўленне выпраўленняў",
- "autoUpdatePatchesHint": "Аўтаматычна абнаўляць выпраўленні да апошняй версіі",
- "showUpdateDialogLabel": "Паказваць акно абнаўлення",
- "showUpdateDialogHint": "Паказваць акно, калі даступна новае абнаўленне",
- "universalPatchesLabel": "Паказваць універсальныя выпраўленні",
- "universalPatchesHint": "Адлюстраваць усе праграмы і ўніверсальныя выпраўленні (можа запаволіць спіс праграм)",
- "lastPatchedAppLabel": "Захаваць прапатчаную праграму",
- "lastPatchedAppHint": "Захавайце апошні патч, каб усталяваць або экспартаваць пазней",
- "versionCompatibilityCheckLabel": "Праверка сумяшчальнасці версіі",
- "versionCompatibilityCheckHint": "Прадухіляць выбар выпраўленняў, якія несумяшчальныя з выбранай версіяй праграмы",
- "requireSuggestedAppVersionLabel": "Запыт прапанаванай версіі праграмы",
- "requireSuggestedAppVersionHint": "Прадухіляць выбар праграмы з не прапанаванай версіяй",
- "requireSuggestedAppVersionDialogText": "Выбар праграмы не прапанаванай версіі можа стаць прычынай нечаканых праблем.\n\nВы ўсё роўна хочаце працягнуць?",
- "aboutLabel": "Пра праграму",
- "snackbarMessage": "Скапіявана ў буфер абмену",
- "restartAppForChanges": "Перазапусціце праграму, каб ужыць змены",
- "deleteTempDirLabel": "Выдаліць часовыя файлы",
- "deleteTempDirHint": "Выдаліць нявыкарыстаныя часовыя файлы",
- "deletedTempDir": "Часовыя файлы выдалены",
- "exportSettingsLabel": "Экспартаваць налады",
- "exportSettingsHint": "Экспартаваць налады ў JSON-файл",
- "exportedSettings": "Налады экспартаваныя",
- "importSettingsLabel": "Імпартаваць налады",
- "importSettingsHint": "Імпартаваць налады з JSON-файла",
- "importedSettings": "Налады імпартаваныя",
- "exportPatchesLabel": "Экспартаваць выбар выпраўленняў",
- "exportPatchesHint": "Экспартаваць выбар выпраўленняў у файл JSON",
- "exportedPatches": "Выбар выпраўленняў экспартаваны",
- "noExportFileFound": "Адсутнічае выбар выпраўленняў для экспартавання",
- "importPatchesLabel": "Імпартаваць выбар выпраўленняў",
- "importPatchesHint": "Імпартаваць выбар выпраўленняў у файл JSON",
- "importedPatches": "Выбар выпраўленняў імпартаваны",
- "resetStoredPatchesLabel": "Скінуць выбар выпраўлення",
- "resetStoredPatchesHint": "Скінуць захаванне выбару выпраўлення",
- "resetStoredPatchesDialogTitle": "Скінуць выбар выпраўленняў?",
- "resetStoredPatchesDialogText": "Прадвызначаны выбар выпраўленняў будзе адноўлены.",
- "resetStoredPatches": "Выбар выпраўленняў будзе скінуты",
- "resetStoredOptionsLabel": "Скінуць параметры выпраўлення",
- "resetStoredOptionsHint": "Скінуць усе параметры выпраўлення",
- "resetStoredOptionsDialogTitle": "Скінуць параметры выпраўлення?",
- "resetStoredOptionsDialogText": "Скіданне параметраў выпраўлення выдаліць усе захаваныя параметры.",
- "resetStoredOptions": "Параметры былі скінуты",
- "deleteLogsLabel": "Ачысціць журнал",
- "deleteLogsHint": "Выдаліць сабраны журнал ReVanced Manager",
- "deletedLogs": "Журнал выдалены",
- "regenerateKeystoreLabel": "Перагенерыраваць сховішча ключоў",
- "regenerateKeystoreHint": "Паўторна генерыраваць сховішча ключоў, якое выкарыстоўваецца для падпісання праграм",
- "regenerateKeystoreDialogTitle": "Паўторна генерыраваць сховішча ключоў?",
- "regenerateKeystoreDialogText": "Выпраўленыя праграмы, якія падпісаны старым сховішчам ключоў, больш немагчыма будзе абнавіць.",
- "regeneratedKeystore": "Сховішча ключоў генерыравана паўторна",
- "exportKeystoreLabel": "Экспартаваць сховішча ключоў",
- "exportKeystoreHint": "Экспартаваць сховішча ключоў, якое выкарыстоўваецца для падпісання праграм",
- "exportedKeystore": "Сховішча ключоў экспартавана",
- "noKeystoreExportFileFound": "Адсутнічае сховішча ключоў для экспартавання",
- "importKeystoreLabel": "Імпартаваць сховішча ключоў",
- "importKeystoreHint": "Імпартаваць сховішча ключоў, якое выкарыстоўваецца для падпісання праграм",
- "importedKeystore": "Сховішча ключоў імпартавана",
- "selectKeystorePassword": "Пароль сховішча ключоў",
- "selectKeystorePasswordHint": "Выбраць пароль сховішча ключоў, які выкарыстоўваецца для падпісання праграм",
- "jsonSelectorErrorMessage": "Немагчыма выкарыстоўваць выбраны файл JSON",
- "keystoreSelectorErrorMessage": "Немагчыма выкарыстоўваць выбраны файл сховішча ключоў"
- },
- "appInfoView": {
- "widgetTitle": "Пра праграму",
- "openButton": "Адкрыць",
- "installButton": "Усталяваць",
- "uninstallButton": "Выдаліць",
- "unmountButton": "Адключыць",
- "exportButton": "Экспарт",
- "deleteButton": "Выдаліць",
- "rootDialogTitle": "Памылка",
- "lastPatchedAppDescription": "Гэта рэзервовая копія праграмы, якая была выпраўлена ў апошні раз.",
- "unmountDialogText": "Вы сапраўды хочаце адключыць гэту праграму?",
- "uninstallDialogText": "Вы сапраўды хочаце выдаліць гэту праграму?",
- "rootDialogText": "Праграма ўсталявана з правамі суперкарыстальніка, але ў цяперашні час у ReVanced Manager адсутнічаюць такія правы.\nСпачатку дайце праграме правы суперкарыстальніка.",
- "removeAppDialogTitle": "Выдаліць праграму?",
- "removeAppDialogText": "Вы ўпэўнены, што хочаце выдаліць гэту рэзервовую копію?",
- "packageNameLabel": "Назва пакета",
- "installTypeLabel": "Тып усталявання",
- "mountTypeLabel": "Падключыць",
- "regularTypeLabel": "Звычайны",
- "patchedDateLabel": "Дата выпраўлення",
- "appliedPatchesLabel": "Ужытыя выпраўленні",
- "sizeLabel": "Памер файла",
- "patchedDateHint": "${date} у ${time}",
- "appliedPatchesHint": "Ужыта выпраўленняў: ${quantity}",
- "updateNotImplemented": "Пакуль яшчэ гэта функцыя не рэалізавана"
- },
- "contributorsView": {
- "widgetTitle": "Удзельнікі"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "Неадпаведнасць версій",
- "mount_no_root": "Няма праў суперкарыстальніка",
- "mount_missing_installation": "Усталяванне не знойдзена",
- "status_failure_blocked": "Усталяванне заблакіравана",
- "install_failed_verification_failure": "Збой праверкі",
- "status_failure_invalid": "Памылковае ўсталяванне",
- "install_failed_version_downgrade": "Немагчыма панізіць",
- "status_failure_conflict": "Канфлікт усталявання",
- "status_failure_storage": "Праблема са сховішчам усталявання",
- "status_failure_incompatible": "Несумяшчальнае ўсталяванне",
- "status_failure_timeout": "Час чакання ўсталявання",
- "status_unknown": "Збой усталявання",
- "mount_version_mismatch_description": "Збой усталявання, бо версія ўсталяванай праграмы адрозніваецца ад версіі выпраўленай праграмы.",
- "mount_no_root_description": "Збой усталявання, бо не атрыманы правы суперкарыстальніка.\n\nДайце правы суперкарыстальніка ReVanced Manager і паспрабуйце яшчэ раз.",
- "mount_missing_installation_description": "Збой усталявання, бо спачатку неабходна ўсталяваць не выпраўленую праграму на гэту прыладу для падключэння паверх яе.\n\nУсталюйце не выпраўленую праграму перад падключэннем і паспрабуйце яшчэ раз.",
- "status_failure_timeout_description": "Працэс усталявання адбываўся занадта доўга.\n\nВы сапраўды хочаце паспрабаваць яшчэ раз?",
- "status_failure_storage_description": "Збой усталявання, бо на прыладзе недастаткова памяці.\n\nВызваліце крыху месца і паўтарыце спробу яшчэ раз.",
- "status_failure_invalid_description": "Збой усталявання, бо выпраўленая праграма пашкоджана.\n\nВыдаліць праграму і паспрабаваць яшчэ раз?",
- "status_failure_incompatible_description": "Праграма не сумяшчальная з гэтым прыладай.\n\nВыкарыстайце APK, які падтрымліваецца гэтым прыладай, і паспрабуйце яшчэ раз.",
- "status_failure_conflict_description": "Усталяванне прадухілена іншай праграмай, якая цяпер усталёўваецца.\n\nВыдаліць усталяваную праграму і паспрабаваць яшчэ раз?",
- "status_failure_blocked_description": "Усталяванне было заблакіравана ${packageName}.\n\nНаладзьце свае параметры бяспекі і паспрабуйце яшчэ раз.",
- "install_failed_verification_failure_description": "Збой усталявання, бо адбылася праблема праверкі.\n\nНаладзьце свае параметры бяспекі і паспрабуйце яшчэ раз.",
- "install_failed_version_downgrade_description": "Збой усталявання, бо выпраўленая праграма мае больш новую версію, чым усталяваная праграма.\n\nВыдаліць праграму і паспрабаваць яшчэ раз?",
- "status_unknown_description": "Збой усталявання, бо адбылася невядомая памылка. Паўтарыце спробу яшчэ раз."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/bg_BG.i18n.json b/assets/i18n/bg_BG.i18n.json
deleted file mode 100755
index e69970f6..00000000
--- a/assets/i18n/bg_BG.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "Ок",
- "cancelButton": "Отказ",
- "dismissButton": "Отхвърли",
- "quitButton": "Изход",
- "updateButton": "Актуализация",
- "suggested": "Предложена версия: ${version}",
- "yesButton": "Да",
- "noButton": "Не",
- "warning": "Внимание",
- "notice": "Известие",
- "noShowAgain": "Не показвай повече",
- "add": "Добави",
- "remove": "Премахни",
- "showChangelogButton": "Покажи промените",
- "showUpdateButton": "Покажи обновяванията",
- "navigationView": {
- "dashboardTab": "Табло за управление",
- "patcherTab": "Пачър",
- "settingsTab": "Настройки"
- },
- "homeView": {
- "refreshSuccess": "Успешно обновяване",
- "widgetTitle": "Табло за управление",
- "updatesSubtitle": "Актуализации",
- "lastPatchedAppSubtitle": "Последно модифицирано приложение",
- "patchedSubtitle": "Инсталирани приложения",
- "changeLaterSubtitle": "Можете да промените това в настройките на по-късен етап.",
- "noSavedAppFound": "Не са открити приложения",
- "noInstallations": "Няма инсталирани модифицирани приложения",
- "installUpdate": "Продължете към инсталирането на актуализациите?",
- "updateSheetTitle": "Актуализирай ReVanced Manager",
- "updateDialogTitle": "Налична е нова актуализация",
- "updatePatchesSheetTitle": "Актуализирай ReVanced модификациите",
- "updateChangelogTitle": "Списък с промени",
- "updateDialogText": "Налична е актуализация за ${file}.\n\nНастоящата инсталирана версия е ${version}.",
- "downloadConsentDialogTitle": "Да се изтеглят ли необходимите файлове?",
- "downloadConsentDialogText": "ReVanced Manager трябва да изтегли необходими файлове, за да работи правилно.",
- "downloadConsentDialogText2": "Това ще ви свърже към ${url}.",
- "downloadingMessage": "Изтегляне на актуализация...",
- "downloadedMessage": "Актуализацията е изтеглена",
- "installingMessage": "Инсталиране на актуализация...",
- "errorDownloadMessage": "Свалянето на актуализацията не беше успешно",
- "errorInstallMessage": "Инсталирането на актуализацията не беше успешно",
- "noConnection": "Няма връзка с интернет"
- },
- "applicationItem": {
- "infoButton": "Информация"
- },
- "latestCommitCard": {
- "loadingLabel": "Зареждане...",
- "timeagoLabel": "Преди ${time}"
- },
- "patcherView": {
- "widgetTitle": "Модификатор",
- "patchButton": "Модифицирайте",
- "incompatibleArchWarningDialogText": "Процесът на модифициране в момента не се поддържа на устройства с тази архитектура и може да се провали. Ще продължите ли?",
- "removedPatchesWarningDialogText": "Премахнати пачове след последната корекция на приложението:\n\n${patches}\n\n${newPatches}Да продължа ли все пак?",
- "addedPatchesDialogText": "След последната промяна на това приложение бяха добавени следните модификации:\n\n${addedPatches}",
- "requiredOptionDialogText": "Опциите на някои модификации трябва да бъдат зададени."
- },
- "appSelectorCard": {
- "widgetTitle": "Изберете приложение",
- "widgetTitleSelected": "Избрани приложения",
- "widgetSubtitle": "Няма избрано приложение",
- "noAppsLabel": "Няма намерени приложения",
- "anyVersion": "Всички версии"
- },
- "patchSelectorCard": {
- "widgetTitle": "Изберете модификации",
- "widgetTitleSelected": "Избрани модификации",
- "widgetSubtitle": "Първо изберете приложение",
- "widgetEmptySubtitle": "Няма избрани модификации"
- },
- "socialMediaCard": {
- "widgetTitle": "Социални мрежи",
- "widgetSubtitle": "Открийте ни онлайн!"
- },
- "appSelectorView": {
- "viewTitle": "Изберете приложение",
- "searchBarHint": "Търсене на приложение",
- "storageButton": "Хранилище",
- "selectFromStorageButton": "Избери от хранилище",
- "errorMessage": "Избраното приложение не може да се използва",
- "downloadToast": "Функцията за изтегляне все още не е налична",
- "requireSuggestedAppVersionDialogText": "Избраната от вас версия на приложението не съответства на препоръчаната версия, което може да доведе до непредвидени проблеми. Моля, използвайте препоръчаната версия.\n\nИзбрана версия: ${selected}\nПрепоръчана версия: ${suggested}\n\nАко желаете да продължите въпреки това, деактивирайте \"Изискване на препоръчана версия на приложението\" в настройките.",
- "featureNotAvailable": "Функцията не е внедрена",
- "featureNotAvailableText": "Това приложение е разделено APK и не може да бъде актуализирано и инсталирано надеждно, освен ако не бъде монтирано с административни права. Въпреки това, можете да актуализирате и инсталирате цяло APK, като го изберете от хранилището."
- },
- "patchesSelectorView": {
- "viewTitle": "Изберете модификации",
- "searchBarHint": "Търсене на модификации",
- "universalPatches": "Универсални модификации",
- "newPatches": "Нови модификации",
- "patches": "Модификации",
- "doneButton": "Готово",
- "defaultChip": "По подразбиране",
- "defaultTooltip": "Изберете всички модификации по подразбиране",
- "noneChip": "Нито една",
- "noneTooltip": "Отмяна на всички модификации",
- "loadPatchesSelection": "Заредете избраните модификации",
- "noSavedPatches": "Няма запазени избрани модификации за настоящото приложение.\nНатиснете Готово за да запазите текущия избор.",
- "noPatchesFound": "Няма налични модификации за избраното приложение",
- "setRequiredOption": "Някои модификации изискват опциите им да бъдат зададени:\n\n${patches}\n\nМоля задайте тези опции преди да продължите."
- },
- "patchOptionsView": {
- "customValue": "Стойност по избор",
- "setToNull": "Задайте нулева стойност",
- "nullValue": "Стойността на този параметър в момента е нула",
- "viewTitle": "Опции за модификациите",
- "saveOptions": "Запази",
- "unselectPatch": "Отмяна на всички модификации",
- "tooltip": "Повече опции за въвеждане",
- "selectFilePath": "Изберете път към файла",
- "selectFolder": "Изберете папка",
- "requiredOption": "Настройката на тази опция е задължителна",
- "unsupportedOption": "Тази опция не се поддържа",
- "requiredOptionNull": "Следните опции трябва да бъдат зададени:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "Изборът на тази модификация може да доведе до грешки.\n\nВерсия: ${packageVersion}\nПоддържани версии: ${supportedVersions}",
- "unsupportedPatchVersion": "Модифицирането на избраната версия на приложението не се поддържа.",
- "unsupportedRequiredOption": "Настоящата модификация съдържа задължителна опция, която не се поддържа от избраното приложение",
- "patchesChangeWarningDialogText": "Препоръчително е да използвате избраните модификации и опции по подразбиране. Всяка промяна може да доведе до неочаквани проблеми.\n\nАко все пак желаете да да промените избраните модификации, първо трябва да изключите \"Позволи промяна в избраните модификации\" от настройките.",
- "patchesChangeWarningDialogButton": "Използвайте избора по подразбиране"
- },
- "installerView": {
- "installType": "Изберете вида на инсталацията",
- "installTypeDescription": "Изберете с кой вид инсталация да продължите.",
- "installButton": "Инсталиране",
- "installRootType": "Монтирай",
- "installNonRootType": "Нормален",
- "warning": "Деактивирайте автоматичните актуализации на модифираното приложение, за да избегнете неочаквани проблеми.",
- "pressBackAgain": "Натиснете \"назад\" отново, за да откажете",
- "openButton": "Отвори",
- "notificationTitle": "ReVanced Мениджър модифицира",
- "notificationText": "Натиснете за да се върнете при инсталатора",
- "exportApkButtonTooltip": "Експортиране на модифицираното APK",
- "exportLogButtonTooltip": "Експорт на дневника",
- "screenshotDetected": "Беше направена снимка на екрана. Ако се опитвате да споделите дневника, моля направете го в текстов формат.\n\nДа се копира ли дневника в клипборда?",
- "copiedToClipboard": "Дневникът беше копиран в клипборда",
- "noExit": "Инсталаторът все още работи, не може да излезе..."
- },
- "settingsView": {
- "widgetTitle": "Настройки",
- "appearanceSectionTitle": "Облик",
- "teamSectionTitle": "Екип",
- "debugSectionTitle": "Отстраняване на грешки",
- "advancedSectionTitle": "Разширени",
- "exportSectionTitle": "Импортиране и експортиране",
- "dataSectionTitle": "Източници на данни",
- "themeModeLabel": "Тема на приложението",
- "systemThemeLabel": "Система",
- "lightThemeLabel": "Светъл",
- "darkThemeLabel": "Тъмен режим",
- "dynamicThemeLabel": "Материална Тема",
- "dynamicThemeHint": "Насладете се на преживяване по-близо до устройството си",
- "languageLabel": "Език",
- "languageUpdated": "Езикът е обновен",
- "sourcesLabel": "Алтернативни източници",
- "sourcesLabelHint": "Конфигурирайте алтернативните източници за ReVanced Patches",
- "useAlternativeSources": "Използвайте алтернативни източници",
- "useAlternativeSourcesHint": "Използвайте алтернативни източници за ReVanced Patches вместо API",
- "sourcesResetDialogTitle": "Нулиране",
- "sourcesResetDialogText": "Искате ли да възстановите източниците до стойностите им по подразбиране?",
- "apiURLResetDialogText": "Сигурни ли сте, че искате да възстановите адреса на ППИ (API) до стойността му по подразбиране?",
- "sourcesUpdateNote": "Забележка: Това автоматично ще изтегли ReVanced Patches от алтернативните източници.\n\nТова ще ви свърже с алтернативния източник.",
- "apiURLLabel": "API линк",
- "apiURLHint": "Конфигуриране на URL адреса на ППИ (API) на ReVanced Manager",
- "selectApiURL": "API линк",
- "orgPatchesLabel": "Организация на модификациите",
- "sourcesPatchesLabel": "Източник на модификациите",
- "contributorsLabel": "Хора, които допринесоха",
- "contributorsHint": "Списък с хората, допринесли за ReVanced",
- "logsLabel": "Сподели дневника",
- "logsHint": "Споделете дневника на ReVanced Manager",
- "enablePatchesSelectionLabel": "Позволи промяна в избраните модификации",
- "enablePatchesSelectionHint": "Не предотвратявай избирането или премахването на модификации",
- "enablePatchesSelectionWarningText": "Промяната на избора на модификациите може да доведе до неочаквани проблеми.\n\nРазрешавате ли въпреки това?",
- "disablePatchesSelectionWarningText": "Предстои да забраните промени в избора на модификации.\nИзбраните модификации по подразбиране ще бъдат възстановени.\n\nЗабранявате ли въпреки това?",
- "autoUpdatePatchesLabel": "Автоматична актуализация на модификациите",
- "autoUpdatePatchesHint": "Автоматично актуализира модификациите до последната им версия",
- "showUpdateDialogLabel": "Показване на диалоговия прозорец за актуализиране",
- "showUpdateDialogHint": "Показва диалогов прозорец, когато е налична нова актуализация",
- "universalPatchesLabel": "Покажи универсални модификации",
- "universalPatchesHint": "Показване на всички приложения и универсални пачове (може да забави списъка с приложения)",
- "lastPatchedAppLabel": "Запазете модифицираното приложение",
- "lastPatchedAppHint": "Запазете последната модификация, за да инсталирате или експортирате по-късно",
- "versionCompatibilityCheckLabel": "Проверка на съвместимост на версиите",
- "versionCompatibilityCheckHint": "Предотвратява избирането на модификации, които не са съвместими с избраната версия на приложението",
- "requireSuggestedAppVersionLabel": "Изискване на препоръчана версия на приложението",
- "requireSuggestedAppVersionHint": "Предотвратяване на избора на приложение с версия, която не е препоръчана",
- "requireSuggestedAppVersionDialogText": "Избирането на приложение, чиято версия не е препоръчана, може да доведе до неочаквани проблеми.\n\nИскате ли да продължите все пак?",
- "aboutLabel": "Относно",
- "snackbarMessage": "Копирано",
- "restartAppForChanges": "Рестартирайте приложението, за да се приложат промените",
- "deleteTempDirLabel": "Изтриване на временни файлове",
- "deleteTempDirHint": "Изтриване на неизползвани временни файлове",
- "deletedTempDir": "Временните файлове са изтрити",
- "exportSettingsLabel": "Експорт на настройките",
- "exportSettingsHint": "Експорт на настройки в JSON файл",
- "exportedSettings": "Настройките са съхранени",
- "importSettingsLabel": "Внасяне на настройки",
- "importSettingsHint": "Внасяне на настройки в JSON файл",
- "importedSettings": "Настройките са импортирани",
- "exportPatchesLabel": "Експортиране на избраните актуализации",
- "exportPatchesHint": "Експортиране на избраните модификации в JSON файл",
- "exportedPatches": "Избраните модификации са експортирани",
- "noExportFileFound": "Няма избрани модификации за експортиране",
- "importPatchesLabel": "Импортиране на избраните модификации",
- "importPatchesHint": "Импортиране на избраните модификации от JSON файл",
- "importedPatches": "Избраните модификации са импортирани",
- "resetStoredPatchesLabel": "Възстановяване на избраните модификации по подразбиране",
- "resetStoredPatchesHint": "Нулиране на избраните запазени модификации",
- "resetStoredPatchesDialogTitle": "Да се нулират ли избраните модификации?",
- "resetStoredPatchesDialogText": "Избраните модификации ще бъдат нулирани.",
- "resetStoredPatches": "Избраните модификации бяха нулирани",
- "resetStoredOptionsLabel": "Нулиране на избраните модификации",
- "resetStoredOptionsHint": "Нулиране на всички избрани опции за модификациите",
- "resetStoredOptionsDialogTitle": "Да се нулират ли избраните опции за модификациите?",
- "resetStoredOptionsDialogText": "Нулиране на опциите за модификациите ще премахне всички запазени опции.",
- "resetStoredOptions": "Опциите бяха нулирани",
- "deleteLogsLabel": "Изчистване на дневника",
- "deleteLogsHint": "Изтриване на всички дневници, събрани от ReVanced Manager",
- "deletedLogs": "Дневникът е изтрит",
- "regenerateKeystoreLabel": "Регенериране на keystore-а",
- "regenerateKeystoreHint": "Регенериране на keystore-а, който се използва за подписване на приложението",
- "regenerateKeystoreDialogTitle": "Да се регенерира ли keystore-а?",
- "regenerateKeystoreDialogText": "Модифицираните приложения, подписани със стария keystore, вече няма да могат да бъдат актуализирани.",
- "regeneratedKeystore": "Keystore-ът беше регенериран",
- "exportKeystoreLabel": "Експортирай Keystore-а",
- "exportKeystoreHint": "Експортиране на keystore-а, който се използва за подписване на приложенията",
- "exportedKeystore": "Keystore беше експортиран",
- "noKeystoreExportFileFound": "Няма Keystore за експортиране",
- "importKeystoreLabel": "Импортирай Keystore",
- "importKeystoreHint": "Импортиране на keystore, който да бъде използван за подписване на приложенията",
- "importedKeystore": "Keystorе е импортиран",
- "selectKeystorePassword": "Парола за keystore-а",
- "selectKeystorePasswordHint": "Изберете парола за keystore-а, който се използва за подписване на приложенията",
- "jsonSelectorErrorMessage": "Избраният JSON файл не може да се изплозва",
- "keystoreSelectorErrorMessage": "Избранията keystore файл не може да бъде използва"
- },
- "appInfoView": {
- "widgetTitle": "Информация за приложението",
- "openButton": "Отвори",
- "installButton": "Инсталиране",
- "uninstallButton": "Деинсталирай",
- "unmountButton": "Демонтиране",
- "exportButton": "Експортиране",
- "deleteButton": "Изтрий",
- "rootDialogTitle": "Грешка",
- "lastPatchedAppDescription": "Това е резервно копие на последното модифицирано приложение.",
- "unmountDialogText": "Сигурни ли сте, че искате да демонтирате това приложение?",
- "uninstallDialogText": "Сигурни ли сте, че искате да деиснталирате това приложение?",
- "rootDialogText": "Приложението е инсталирано с superuser разрешения, но в момента ReVanced Manager няма разрешения. Моля, първо дайте superuser разрешения.",
- "removeAppDialogTitle": "Изтриване на приложението?",
- "removeAppDialogText": "Сигурни ли сте, че искате да изтриете това резервно копие?",
- "packageNameLabel": "Име на пакета",
- "installTypeLabel": "Тип инсталация",
- "mountTypeLabel": "Монтиране",
- "regularTypeLabel": "Нормален",
- "patchedDateLabel": "Дата на модификацията",
- "appliedPatchesLabel": "Приложени модификации",
- "sizeLabel": "Размер на файла",
- "patchedDateHint": "на ${date} в ${time}",
- "appliedPatchesHint": "${quantity} приложени модификации",
- "updateNotImplemented": "Тази функция все още не е внедрена"
- },
- "contributorsView": {
- "widgetTitle": "Хора, които допринесоха"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "Несъответствие на версиите",
- "mount_no_root": "Няма Root достъп",
- "mount_missing_installation": "Инсталацията не беше намерене",
- "status_failure_blocked": "Инсталацията беше блокирана",
- "install_failed_verification_failure": "Проверката беше неуспешна",
- "status_failure_invalid": "Инсталацията е невалидна",
- "install_failed_version_downgrade": "Версията не може да бъде понижена",
- "status_failure_conflict": "Имаше конфликт по време на инсталацията",
- "status_failure_storage": "Имаше проблем с хранилището по време на инсталацията",
- "status_failure_incompatible": "Инсталацията е несъвместима",
- "status_failure_timeout": "Настъпи таймаут по време на инсталацията",
- "status_unknown": "Инсталацията беше неуспешна",
- "mount_version_mismatch_description": "Инсталацията се провали поради това, че инсталираното приложение е с различна версия от тази на модифицираното приложение.\n\nИнсталирайте версията на приложението, което монтирате, и опитайте отново.",
- "mount_no_root_description": "Инсталацията се провали поради липса на Root достъп.\n\nМоля позволете Root достъп на ReVanced Manager и опитайте отново.",
- "mount_missing_installation_description": "Инсталацията се провали поради това, че немодифицираното приложение не е инсталирано на това устройство, за да може да се монтира върху него.\n\nИнсталирайте неподправеното приложение, преди да го монтирате, и опитайте отново.",
- "status_failure_timeout_description": "Инсталацията отне твърде много време.\n\nИскате ли да опитате отново?",
- "status_failure_storage_description": "Инсталацията се провали поради недостатъчно място в хранилището.\n\nОсвободете малко място и опитайте отново.",
- "status_failure_invalid_description": "Инсталацията се провали поради невалидност на модифицираното приложение.\n\nДеинсталирайте приложението и опитайте отново?",
- "status_failure_incompatible_description": "Приложението е несъвместимо с това устройство. \n\nИзползвайте APK, който се поддържа от това устройство, и опитайте отново.",
- "status_failure_conflict_description": "Инсталацията беше възпрепятствана от съществуваща инсталация на това приложение.\n\nДеинсталирайте инсталираното приложение и опитайте отново?",
- "status_failure_blocked_description": "Инсталацията беше блокирана от ${packageName}.\n\nПроменете настройките си за сигурност и опитайте отново.",
- "install_failed_verification_failure_description": "Инсталацията се провали поради проблем с проверката.\n\nПроменете настройките си за сигурност и опитайте отново.",
- "install_failed_version_downgrade_description": "Инсталацията се провали поради това, че модифицираното приложение е с по-ниска версия от инсталираното приложение.\n\nДеинсталирайте приложението и опитайте отново?",
- "status_unknown_description": "Инсталацията не е успешна поради неизвестна причина. Моля, опитайте отново."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/bn_BD.i18n.json b/assets/i18n/bn_BD.i18n.json
deleted file mode 100755
index 6c3fd43e..00000000
--- a/assets/i18n/bn_BD.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "ঠিক আছে",
- "cancelButton": "বাতিল করুন",
- "dismissButton": "বাতিল করুন",
- "quitButton": "কাটুন",
- "updateButton": "হালনাগাদ করুন",
- "suggested": "প্রস্তাবিত: ${version}",
- "yesButton": "হ্যাঁ",
- "noButton": "না",
- "warning": "সতর্কতা",
- "notice": "বিজ্ঞপ্তি",
- "noShowAgain": "পুনরায় দেখাবেন না",
- "add": "যুক্ত করুন",
- "remove": "অপসারণ করুন",
- "showChangelogButton": "পরিবর্তনসূচী দেখান",
- "showUpdateButton": "আপডেট দেখান",
- "navigationView": {
- "dashboardTab": "ড্যাশবোর্ড",
- "patcherTab": "প্যাচার",
- "settingsTab": "সেটিংস"
- },
- "homeView": {
- "refreshSuccess": "সফলভাবে রিফ্রেশ করা হয়েছে",
- "widgetTitle": "ড্যাশবোর্ড",
- "updatesSubtitle": "আপডেটসমূহ",
- "lastPatchedAppSubtitle": "সর্বশেষ প্যাচকৃত অ্যাপ",
- "patchedSubtitle": "ইনস্টল করা অ্যাপ",
- "changeLaterSubtitle": "পরবর্তীতে আপনি এটি সেটিং থেকে পরিবর্তন করতে পারবেন।",
- "noSavedAppFound": "কোনো অ্যাপ পাওয়া যায় নি",
- "noInstallations": "কোন প্যাচড অ্যাপ্লিকেশন ইনস্টল করা হয়নি",
- "installUpdate": "আপডেট ইনস্টল করতে এগিয়ে যেতে চান?",
- "updateSheetTitle": "ReVanced Manager আপডেট করুন",
- "updateDialogTitle": "নতুন আপডেট পাওয়া যাচ্ছে",
- "updatePatchesSheetTitle": "ReVanced প্যাচসমূহ আপডেট করুন",
- "updateChangelogTitle": "পরিবর্তনসমূহ",
- "updateDialogText": "${file} এর জন্য নতুন আপডেট পাওয়া যাচ্ছে।\n\nবর্তমানে ইনস্টল করা সংস্করণ ${version}।",
- "downloadConsentDialogTitle": "প্রয়োজনীয় ফাইল ডাউনলোড করবেন?",
- "downloadConsentDialogText": "ReVanced Manager সঠিকভাবে কাজ করার জন্য কিছু প্রয়োজনীয় ফাইল ডাউনলোড করতে হবে।",
- "downloadConsentDialogText2": "এটি আপনাকে যুক্ত করবে ${url}.",
- "downloadingMessage": "আপডেট ডাউনলোড হচ্ছে...",
- "downloadedMessage": "আপডেট ডাউনলোড করা হয়েছে",
- "installingMessage": "আপডেট ইনস্টল করা হচ্ছে...",
- "errorDownloadMessage": "আপডেট ডাউনলোড করতে সফল হয় নি",
- "errorInstallMessage": "আপডেট ইনস্টল করতে সফল হয় নি",
- "noConnection": "কোন ইন্টারনেট সংযোগ নেই"
- },
- "applicationItem": {
- "infoButton": "তথ্য"
- },
- "latestCommitCard": {
- "loadingLabel": "লোড হচ্ছে...",
- "timeagoLabel": "${time} আগে"
- },
- "patcherView": {
- "widgetTitle": "প্যাচার",
- "patchButton": "প্যাচ",
- "incompatibleArchWarningDialogText": "এই আর্কিটেকচারে প্যাচিং এখনো সমর্থিত নয় এবং সফল নাও হতে পারে। যেকোন ভাবে এগিয়ে যেতে চান?",
- "removedPatchesWarningDialogText": "শেষবার আপনি যখন এই অ্যাপটি প্যাচ করেছিলেন তখন থেকে অপসারিত প্যাচগুলি:\n\n${patches}\n\n${newPatches}তবুও চালিয়ে যাবেন?",
- "addedPatchesDialogText": "শেষবার আপনি যখন এই অ্যাপটি প্যাচ করেছিলেন তখন থেকে যোগ করা প্যাচগুলি:\n\n${addedPatches}\n\n",
- "requiredOptionDialogText": "কিছু প্যাচ অপশন সেট করতে হবে।"
- },
- "appSelectorCard": {
- "widgetTitle": "একটি অ্যাপ নির্বাচন করুন",
- "widgetTitleSelected": "নির্বাচিত অ্যাপ",
- "widgetSubtitle": "কোন অ্যাপ নির্বাচন করা হয়নি",
- "noAppsLabel": "কোন অ্যাপ্লিকেশন পাওয়া যায়নি",
- "anyVersion": "যেকোন সংস্করণ"
- },
- "patchSelectorCard": {
- "widgetTitle": "প্যাচসমূহ নির্বাচন করুন",
- "widgetTitleSelected": "নির্বাচিত প্যাচসমূহ",
- "widgetSubtitle": "প্রথমে একটি অ্যাপ্লিকেশন নির্বাচন করুন",
- "widgetEmptySubtitle": "কোন প্যাচ নির্বাচন করা হয়নি"
- },
- "socialMediaCard": {
- "widgetTitle": "সামাজিক যোগাযোগ মাধ্যম",
- "widgetSubtitle": "আমরা অনলাইনে!"
- },
- "appSelectorView": {
- "viewTitle": "একটি অ্যাপ নির্বাচন করুন",
- "searchBarHint": "অ্যাপ খুঁজুন",
- "storageButton": "স্টোরেজ",
- "selectFromStorageButton": "স্টোরেজ থেকে নির্বাচন করুন",
- "errorMessage": "নির্বাচিত অ্যাপ্লিকেশনটি ব্যবহার করা সম্ভব নয়",
- "downloadToast": "ডাউনলোড ফাংশন এখনো উপলব্ধ হয়নি",
- "requireSuggestedAppVersionDialogText": "আপনার নির্বাচিত অ্যাপ সংস্করণটি প্রস্তাবিত অ্যাপ সংস্করণের সাথে মিলছে না এতে অনাকাঙ্খিত ত্রুটি ঘটতে পারে। অনুগ্রহপূর্বক প্রস্তাবিত অ্যাপ সংস্করণ ব্যবহার করুন।\n\nনির্বাচিত সংস্করণ: ${selected}\nপ্রস্তাবিত সংসকরণ: ${suggested}\n\nযেকোন ভাবে এগিয়ে যেতে চাইলে, সেটিং থেকে \"প্রস্তাবিত অ্যঅপ সংস্করণ প্রয়োজন\" সেটিংটি নিষ্ক্রিয় করুন।",
- "featureNotAvailable": "ফিচার সম্পাদন করা হয়নি",
- "featureNotAvailableText": "এই অ্যাপটি একটি খন্ডিত APK এবং শুধুমাত্র রুট পারমিশন এর উপর ভিত্তি করে এটি প্যাচ ও ইনস্টল করা যেতে পারে। যাইহোক, আপনি স্টোরেজ থেকে সম্পূর্ণ APK নির্বাচন করে অ্যাপ প্যাচ ও ইনস্টল করতে পারেন।"
- },
- "patchesSelectorView": {
- "viewTitle": "প্যাচ নির্বাচন করুন",
- "searchBarHint": "প্যাচ খুঁজুন",
- "universalPatches": "বৈশ্বিক প্যাচসমূহ",
- "newPatches": "নতুন প্যাচসমূহ",
- "patches": "প্যাচসমূহ",
- "doneButton": "সম্পন্ন হয়েছে",
- "defaultChip": "পূর্ব-নির্ধারিত",
- "defaultTooltip": "সকল পূর্ব-নির্ধারিত প্যাচ নির্বাচন করুন",
- "noneChip": "কোনটি নয়",
- "noneTooltip": "সকল প্যাচ অনির্বাচন করুন",
- "loadPatchesSelection": "নির্বাচিত প্যাচ লোড করুন",
- "noSavedPatches": "নির্বাচিত অ্যাপের জন্য কোন সংরক্ষিত প্যাচ নেই।\nবর্তমানে নির্বাচিত প্যাচ সংরক্ষণ করতে সম্পন্ন হয়েছে চাপুন।",
- "noPatchesFound": "নির্বাচিত অ্যাপের জন্য কোনো প্যাচ পাওয়া যায়নি",
- "setRequiredOption": "কিচু প্যাচের জন্য অপশন সেট করতে হবে:\n\n${patches}\n\nএগিয়ে যাওয়ার পূর্বে অনুগ্রহপূর্বক সেগুলো সেট করুন।"
- },
- "patchOptionsView": {
- "customValue": "কাস্টম ভ্যালু",
- "setToNull": "null সেট করুন",
- "nullValue": "এই অপশন ভ্যালু বর্তমানে null",
- "viewTitle": "প্যাচ অপশন",
- "saveOptions": "সংরক্ষণ করুন",
- "unselectPatch": "প্যাচ অনির্বাচন করুন",
- "tooltip": "আরও ইনপুট অপশন",
- "selectFilePath": "ফাইলের স্থান নির্বাচন করুন",
- "selectFolder": "ফোল্ডার নির্বাচন করুন",
- "requiredOption": "এই অপশনটি সেট করা আবশ্যক",
- "unsupportedOption": "এই অপশনসটি অসমর্থিত",
- "requiredOptionNull": "এই অপশনগুলো সেট করতে হবে:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "এই প্যাচটি নির্বাচন করলে প্যাচিং ত্রুটিপূর্ণ হতে পারে।\n\nঅ্যাপ সংস্করণ: ${packageVersion}\nসমর্থিত সংস্করণ:\n${supportedVersions}",
- "unsupportedPatchVersion": "এই অ্যাপ সংস্করণের জন্য প্যাচ সমর্থিত নয়।",
- "unsupportedRequiredOption": "এই প্যাচটিতে একটি প্রয়োজনীয় অপশন রয়েছে যা এই অ্যাপটি সমর্থন করে না",
- "patchesChangeWarningDialogText": "পূর্ব নির্ধারিত নির্বাচিত প্যাচ এবং অপশন ব্যবহার করার প্রস্তাব রাখে। এগুলো পরিবর্তন করার মাধ্যমে অনাকাঙ্খিত ইস্যু হতে পারে।\n\nপ্যাচ নির্বাচন পরিবর্তন করার পূর্বে আপনাকে অবশ্যই সেটিং থেকে \"প্যাচ নির্বাচন পরিবর্তন করার অনুমতি\" সচল করতে হবে।",
- "patchesChangeWarningDialogButton": "পূর্বনির্ধারিত নির্বাচন ব্যবহার করুন"
- },
- "installerView": {
- "installType": "ইনস্টল করার ধরণ নির্বাচন করুন",
- "installTypeDescription": "যে প্রক্রিয়ায় ইনস্টল করা এগিয়ে নিতে চান তা নির্বাচন করুন।",
- "installButton": "ইনস্টল করুন",
- "installRootType": "মাউন্ট",
- "installNonRootType": "সাধারণ",
- "warning": "অনাকাঙ্ক্ষিত ইস্যু এড়াতে প্যাচকৃত অ্যাপের স্বয়ংক্রিয় আপডেট নিষ্ক্রিয় করুন।",
- "pressBackAgain": "বাতিল করতে ব্যাক প্রেস করুন",
- "openButton": "অ্যাপ খুলুন",
- "notificationTitle": "ReVanced Manager প্যাচ করছে",
- "notificationText": "ইনস্টলারে ফিরে যেতে আলতো চাপুন",
- "exportApkButtonTooltip": "প্যাচ হওয়া APK রপ্তানি করুন",
- "exportLogButtonTooltip": "লগ রপ্তানি করুন",
- "screenshotDetected": "একটি স্ক্রিনশট শনাক্ত করা হয়েছে। আপনি যদি লগ শেয়ার করার চেষ্টা করে থাকেন, অনুগ্রপূর্বক এর পরিবর্তে টেক্সট শেয়ার করুন।\n\nক্লিপবোর্ডে লগ কপি করতে চান?",
- "copiedToClipboard": "ক্লিপবোর্ডে লগ কপি করা হয়েছে",
- "noExit": "ইনস্টলার এখনো চলমান, বের হওয়া সম্ভব নয়..."
- },
- "settingsView": {
- "widgetTitle": "সেটিংস",
- "appearanceSectionTitle": "রূপ",
- "teamSectionTitle": "দল",
- "debugSectionTitle": "ডিবাগিং",
- "advancedSectionTitle": "উন্নত",
- "exportSectionTitle": "আমদানি ও রপ্তানি",
- "dataSectionTitle": "তথ্যের উৎস",
- "themeModeLabel": "অ্যাপের থীম",
- "systemThemeLabel": "সিস্টেম",
- "lightThemeLabel": "উজ্জ্বল",
- "darkThemeLabel": "অন্ধকার মোড",
- "dynamicThemeLabel": "ম্যাটেরিয়াল ইউ",
- "dynamicThemeHint": "আপনার ডিভাইসের লুকের কাছাকাছি অভিজ্ঞতা নিন",
- "languageLabel": "ভাষা",
- "languageUpdated": "ভাষা হালনাগাদ করা হয়েছে",
- "sourcesLabel": "বিকল্প উৎস",
- "sourcesLabelHint": "ReVanced প্যাচগুলির বিকল্প উৎস কনফিগার করুন",
- "useAlternativeSources": "বিকল্প উৎস ব্যবহার করুন",
- "useAlternativeSourcesHint": "API-র পরিবর্তে ReVanced প্যাচগুলির জন্য বিকল্প উৎস ব্যবহার করুন",
- "sourcesResetDialogTitle": "পুনরায় সেট করুন",
- "sourcesResetDialogText": "আপনি কি নিশ্চিতভাবে আপনার উৎসগুলোকে পূর্বনির্ধারিত উৎসে ফিরিয়ে নিতে চান?",
- "apiURLResetDialogText": "আপনি কি নিশ্চিতভাবে আপনার API URL কে তার মূল ভ্যালুতে পুনরায় সেট করতে চান?",
- "sourcesUpdateNote": "দ্রষ্টব্য: এটি স্বয়ংক্রিয়ভাবে বিকল্প উৎস থেকে ReVanced প্যাচগুলি ডাউনলোড করবে।\n\nএটি আপনাকে বিকল্প উৎসের সাথে সংযোগ করবে।",
- "apiURLLabel": "API URL",
- "apiURLHint": "ReVanced Manager এর API URL কনফিগার করুন",
- "selectApiURL": "API URL",
- "orgPatchesLabel": "প্যাচ এর উদ্ভাবক",
- "sourcesPatchesLabel": "প্যাচ এর উৎস",
- "contributorsLabel": "অবদানকারীগণ",
- "contributorsHint": "ReVanced-এ অবদানকারীদের তালিকা",
- "logsLabel": "লগ শেয়ার করুন",
- "logsHint": "ReVanced Manager লগ শেয়ার করুন",
- "enablePatchesSelectionLabel": "প্যাচ নির্বাচন পরিবর্তন করার অনুমতি",
- "enablePatchesSelectionHint": "প্যাচ নির্বাচন করা বা নির্বাচন বাতিল করা আটকাবে না",
- "enablePatchesSelectionWarningText": "নির্বাচিত প্যাচগুলো পরিবর্তন করলে অনাকাঙ্খিত ত্রুটি ঘটতে পারে।\n\nযেকোন ভাবে এগিয়ে যেতে চান?",
- "disablePatchesSelectionWarningText": "আপনি নির্বাচিত প্যাচ পরিবর্তনকে নিষ্ক্রিয় করতে যাচ্ছেন।\nপূর্বনির্ধারিত নির্বাচিত প্যাচসমূহ ফিরিয়ে আনা হবে।\n\nযেকোন ভাবে নিষ্ক্রিয় করতে চান?",
- "autoUpdatePatchesLabel": "প্যাচসমূহ স্বয়ংক্রিয়ভাবে আপডেট করুন",
- "autoUpdatePatchesHint": "প্যাচসমূহ স্বয়ংক্রিয়ভাবে সর্বশেষ সংস্করণে আপডেট হবে",
- "showUpdateDialogLabel": "হালনাগাদ ডায়ালগ দেখান",
- "showUpdateDialogHint": "যখন হালনাগাদ উপলব্ধ থাকবে তখন একটি ডায়ালগ দেখান",
- "universalPatchesLabel": "বৈশ্বিক প্যাচসমূহ দেখান",
- "universalPatchesHint": "সকল অ্যাপ এবং বৈশ্বিক প্যাচসমূহ দেখায় (অ্যাপ লিস্ট দেখানো একটু ধীর হতে পারে)",
- "lastPatchedAppLabel": "প্যাচকৃত অ্যাপ সংরক্ষণ করুন",
- "lastPatchedAppHint": "শেষ প্যাচটি ইনস্টল করার জন্য সংরক্ষণ করুন অথবা পরে এক্সপোর্ট করুন",
- "versionCompatibilityCheckLabel": "সংস্করণ সামঞ্জস্যতা পরীক্ষা করা",
- "versionCompatibilityCheckHint": "নির্বাচিত অ্যাপ সংস্করণের সাথে সামঞ্জস্যপূর্ণ নয় এমন প্যাচ নির্বাচন করা আটকায়",
- "requireSuggestedAppVersionLabel": "প্রস্তাবিত অ্যাপ সংস্করণ প্রয়োজন",
- "requireSuggestedAppVersionHint": "প্রস্তাবিত নয় এমন অ্যাপ সংস্করণ নির্বাচন করা আটকায়",
- "requireSuggestedAppVersionDialogText": "অপ্রস্তাবিত সংস্করণের অ্যাপ নির্বাচন করার ফলে অজানা ইস্যু হতে পারে।\n\nআপনি কি যেকোন ভাবে এগিয়ে যেতে চান?",
- "aboutLabel": "সম্পর্কিত",
- "snackbarMessage": "ক্লিপবোর্ডে কপি করা হয়েছে",
- "restartAppForChanges": "পরিবর্তনগুলি প্রয়োগ করতে অ্যাপটি পুনরায় চালু করুন",
- "deleteTempDirLabel": "অস্থায়ী ফাইল মুছুন",
- "deleteTempDirHint": "অব্যবহৃত অস্থায়ী ফাইল মুছুন",
- "deletedTempDir": "অস্থায়ী ফাইল মুছে ফেলা হয়েছে",
- "exportSettingsLabel": "সেটিংস এক্সপোর্ট করুন",
- "exportSettingsHint": "একটি JSON ফাইলে সেটিংস এক্সপোর্ট করুন",
- "exportedSettings": "সেটিংস এক্সপোর্ট করা হয়েছে",
- "importSettingsLabel": "সেটিংস ইম্পোর্ট করুন",
- "importSettingsHint": "একটি JSON ফাইল থেকে সেটিংস ইম্পোর্ট করুন",
- "importedSettings": "সেটিংস ইম্পোর্ট করা হয়েছে",
- "exportPatchesLabel": "নির্বাচিত প্যাচ রপ্তানি করুন",
- "exportPatchesHint": "নির্বাচিত প্যাচ একটি JSON ফাইলে রপ্তানি করুন",
- "exportedPatches": "নির্বাচিত প্যাচ রপ্তানি করা হয়েছে",
- "noExportFileFound": "রপ্তানি করার জন্য কোন প্যাচ নির্বাচন করা হয়নি",
- "importPatchesLabel": "নির্বাচিত প্যাচ আমদানি করুন",
- "importPatchesHint": "একটি JOSN ফাইল থেকে প্যাচ আমদানি করুন",
- "importedPatches": "নির্বাচিত প্যাচ আমদানি করা হয়েছে",
- "resetStoredPatchesLabel": "নির্বাচিত প্যাচ আবার সেট করুন",
- "resetStoredPatchesHint": "সংরক্ষিত নির্বাচিত প্যাচ আবার সেট করুন",
- "resetStoredPatchesDialogTitle": "নির্বাচিত প্যাচ আবার সেট করবেন?",
- "resetStoredPatchesDialogText": "পূর্বনির্ধারিত নির্বাচিত প্যাচ ফিরিয়ে আনা হবে।",
- "resetStoredPatches": "নির্বাচিত প্যাচ আবার সেট করা হয়েছে",
- "resetStoredOptionsLabel": "প্যাচ অপশন আবার সেট করুন",
- "resetStoredOptionsHint": "সকল প্যাচ অপশন আবার সেট করুন",
- "resetStoredOptionsDialogTitle": "প্যাচ অপশন আবার সেট করবেন?",
- "resetStoredOptionsDialogText": "প্যাচ অপশন আবার সেট করলে সকল সংরক্ষিত প্যাচ অপশন অপসারণ করা হবে।",
- "resetStoredOptions": "অপশন আবার সেট করা হয়েছে",
- "deleteLogsLabel": "লগ পরিস্কার করুন",
- "deleteLogsHint": "ReVanced Manager এর সংগৃহীত লগ মুছুন",
- "deletedLogs": "লগ মুছে ফেলা হয়েছে",
- "regenerateKeystoreLabel": "কীস্টোর পুনরায় তৈরি করুন",
- "regenerateKeystoreHint": "অ্যাপ সাইন করতে ব্যবহৃত কীস্টোর পুনরায় তৈরি করুন",
- "regenerateKeystoreDialogTitle": "কীস্টোর পুনরায় তৈরি করবেন?",
- "regenerateKeystoreDialogText": "পুরোনো কীস্টোর দিয়ে সাইন করা প্যাচড অ্যাপগুলো আপডেট করতে পারবেন না।",
- "regeneratedKeystore": "কীস্টোর আবার তৈরি করা হয়েছে",
- "exportKeystoreLabel": "কীস্টোর রপ্তানি করুন",
- "exportKeystoreHint": "অ্যাপ সাইন করতে ব্যবহৃত কীস্টোর রপ্তানি করুন",
- "exportedKeystore": "কীস্টোর এক্সপোর্ট করা হয়েছে",
- "noKeystoreExportFileFound": "এক্সপোর্ট করার জন্য কোন কীস্টোর নেই",
- "importKeystoreLabel": "কীস্টোর ইমপোর্ট করুন",
- "importKeystoreHint": "অ্যাপ সাইন করতে ব্যবহৃত কীস্টোর আমদানি করুন",
- "importedKeystore": "কীস্টোর আমদানি করা হয়েছে",
- "selectKeystorePassword": "কীস্টোরটির পাসওয়ার্ড",
- "selectKeystorePasswordHint": "অ্যাপ সাইন করতে ব্যবহৃত কীস্টোরের পাসওয়ার্ড নির্বাচন করুন",
- "jsonSelectorErrorMessage": "নির্বাচিত JSON ফাইল ব্যবহার করা সম্ভব নয়",
- "keystoreSelectorErrorMessage": "নির্বাচিত কীস্টোর ফাইল ব্যবহার করা সম্ভব নয়"
- },
- "appInfoView": {
- "widgetTitle": "অ্যাপের তথ্য",
- "openButton": "খুলুন",
- "installButton": "ইনস্টল করুন",
- "uninstallButton": "আনইন্সটল করুন",
- "unmountButton": "আনমাউন্ট",
- "exportButton": "এক্সপোর্ট",
- "deleteButton": "মুছে ফেলুন",
- "rootDialogTitle": "ত্রুটি দেখা দিয়েছে",
- "lastPatchedAppDescription": "এটি হলো সেই অ্যাপের ব্যাকআপ যা শেষবার প্যাচ করা হয়েছিল।",
- "unmountDialogText": "আপনি কি অ্যাপটি আনমাউন্ট করার ব্যপারে নিশ্চিত?",
- "uninstallDialogText": "আপনি কি অ্যাপটি আনইনস্টল করার ব্যপারে নিশ্চিত?",
- "rootDialogText": "অ্যাপটি Superuser অনুমতি নিয়ে ইনস্টল করা হয়েছে, কিন্তু বর্তমানে ReVanced Manager এর Superuser অনুমতি নেই। অনুগ্রহপূর্বক প্রথমে Superuser অনুমতি দিন।",
- "removeAppDialogTitle": "অ্যাপটি মুছে ফেলবেন?",
- "removeAppDialogText": "আপনি কি নিশ্চিত যে আপনি এই ব্যাকআপটি মুছে ফেলতে চান?",
- "packageNameLabel": "প্যাকেজের নাম",
- "installTypeLabel": "ইনস্টলের ধরন",
- "mountTypeLabel": "মাউন্ট",
- "regularTypeLabel": "সাধারণ",
- "patchedDateLabel": "প্যাচ করার তারিখ",
- "appliedPatchesLabel": "ব্যবহৃত প্যাচ",
- "sizeLabel": "ফাইলের আকার",
- "patchedDateHint": "${date} তারিখে ${time} টায়",
- "appliedPatchesHint": "${quantity} টি প্যাচ ব্যবহৃত",
- "updateNotImplemented": "এই ফিচারটি এখনো কার্যকর করা হয়নি"
- },
- "contributorsView": {
- "widgetTitle": "অবদানকারীগণ"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "সংস্করণ মেলেনি",
- "mount_no_root": "রুট অ্যাক্সেস নেই",
- "mount_missing_installation": "ইনস্টল পাওয়া যায়নি",
- "status_failure_blocked": "ইনস্টল আটকানো হয়েছে",
- "install_failed_verification_failure": "যাচাইকরণ ব্যর্থ হয়েছে",
- "status_failure_invalid": "ইনস্টল সঠিক নয়",
- "install_failed_version_downgrade": "ডাউনগ্রেড সম্ভব নয়",
- "status_failure_conflict": "ইনস্টল কনফ্লিক্ট হচ্ছে",
- "status_failure_storage": "ইনস্টলেশন স্টোরেজ সমস্যা",
- "status_failure_incompatible": "ইনস্টলেশন অনুপযুক্ত",
- "status_failure_timeout": "ইনস্টলেশন সময় পার হয়েছে",
- "status_unknown": "ইনস্টলেশন ব্যর্থ হয়েছে",
- "mount_version_mismatch_description": "প্যাচ অ্যাপ ও ইনস্টলকৃত অ্যাপের সংস্করণ ভিন্ন হওয়ার কারণে ইনস্টলেশন ব্যর্থ হয়েছে।\n\nআপনি যে সংস্করণটি মাউন্ট করতে চাচ্ছেন তা আগে ইনস্টল করুন অতঃপর আবার চেষ্টা করুন।",
- "mount_no_root_description": "রুট প্রবেশাধিকারের অনুমতি না দেয়ার কারণে ইনস্টলেশন ব্যর্থ হয়েছে।\n\nReVanced Manager এর রুট প্রবেশাধিকার অনুমতি দিন এবং আবার চেষ্টা করুন।",
- "mount_missing_installation_description": "এটির উপর মাউন্ট করার জন্য এই ডিভাইসে আনপ্যাচড অ্যাপ ইনস্টল না হওয়ার কারণে ইনস্টলেশন ব্যর্থ হয়েছে।\n\nমাউন্ট করার আগে আনপ্যাচড অ্যাপ ইনস্টল করুন এবং আবার চেষ্টা করুন।",
- "status_failure_timeout_description": "ইন্সটলেশন শেষ হতে অনেক সময় লেগেছে.\n\nআপনি আবার চেষ্টা করতে চান?",
- "status_failure_storage_description": "অপর্যাপ্ত সঞ্চয়স্থানের কারণে ইনস্টলেশন ব্যর্থ হয়েছে.\n\nকিছু জায়গা খালি করুন এবং আবার চেষ্টা করুন.",
- "status_failure_invalid_description": "প্যাচ করা অ্যাপটি অবৈধ হওয়ার কারণে ইনস্টলেশন ব্যর্থ হয়েছে.\n\nঅ্যাপটি আনইনস্টল করে আবার চেষ্টা করবেন?",
- "status_failure_incompatible_description": "এই ডিভাইসের সাথে অ্যাপটি সামঞ্জস্যপূর্ণ নয়।\n\nএই ডিভাইস দ্বারা সমর্থিত একটি APK ব্যবহার করুন এবং আবার চেষ্টা করুন।",
- "status_failure_conflict_description": "ইনস্টলেশনটি অ্যাপটির বিদ্যমান ইনস্টলেশন দ্বারা প্রতিরোধ করা হয়েছে.\n\nইনস্টল করা অ্যাপটি আনইনস্টল করে আবার চেষ্টা করবেন?",
- "status_failure_blocked_description": "ইনস্টলেশনটি ${packageName} দ্বারা ব্লক করা হয়েছে.\n\nআপনার নিরাপত্তা সেটিংস সামঞ্জস্য করুন এবং আবার চেষ্টা করুন.",
- "install_failed_verification_failure_description": "একটি যাচাইকরণ সমস্যার কারণে ইনস্টলেশন ব্যর্থ হয়েছে.\n\nআপনার নিরাপত্তা সেটিংস সামঞ্জস্য করুন এবং আবার চেষ্টা করুন.",
- "install_failed_version_downgrade_description": "প্যাচ করা অ্যাপ ইনস্টল করা অ্যাপের চেয়ে কম সংস্করণ হওয়ায় ইনস্টলেশন ব্যর্থ হয়েছে.\n\nঅ্যাপটি আনইনস্টল করে আবার চেষ্টা করবেন?",
- "status_unknown_description": "একটি অজানা কারণে ইনস্টলেশন ব্যর্থ হয়েছে. অনুগ্রহপূর্বক আবার চেষ্টা করুন."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/ca_ES.i18n.json b/assets/i18n/ca_ES.i18n.json
deleted file mode 100755
index 3ee800ee..00000000
--- a/assets/i18n/ca_ES.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "D'acord",
- "cancelButton": "Cancel·lar",
- "dismissButton": "Descarta",
- "quitButton": "Sortir",
- "updateButton": "Actualitzar",
- "suggested": "Suggerit: ${version}",
- "yesButton": "Sí",
- "noButton": "No",
- "warning": "Advertència",
- "notice": "Avís",
- "noShowAgain": "No ho tornis a mostrar",
- "add": "Afegir",
- "remove": "Suprimeix",
- "showChangelogButton": "Mostra el registre de canvis",
- "showUpdateButton": "Mostrà actualització",
- "navigationView": {
- "dashboardTab": "Tauler de control",
- "patcherTab": "Pedaçor",
- "settingsTab": "Configuració"
- },
- "homeView": {
- "refreshSuccess": "S'ha actualitzat correctament",
- "widgetTitle": "Tauler de control",
- "updatesSubtitle": "Actualitzacions",
- "lastPatchedAppSubtitle": "Última aplicació pedaçada",
- "patchedSubtitle": "Aplicacions instal·lades",
- "changeLaterSubtitle": "Pots caviar això després en la configuració.",
- "noSavedAppFound": "No s'ha trobat cap aplicació",
- "noInstallations": "Cap aplicació pedaçada instal·lada",
- "installUpdate": "Continuar instal·lant l'actualització?",
- "updateSheetTitle": "Actualitzar ReVanced Mànager",
- "updateDialogTitle": "Nova actualització disponible",
- "updatePatchesSheetTitle": "Actualitzar pedaços de ReVanced",
- "updateChangelogTitle": "Historial de canvis",
- "updateDialogText": "Una nova actualització està disponible per ${file}.\n\nLa versió actualment instal·lada és ${version}.",
- "downloadConsentDialogTitle": "Descarregar arxius necessaris?",
- "downloadConsentDialogText": "ReVanced Mànager necessita descarregar arxius necessaris per treballar correctament.",
- "downloadConsentDialogText2": "Això et connectarà a ${url}",
- "downloadingMessage": "Descarregant l'actualització...",
- "downloadedMessage": "S'ha baixat l'actualització",
- "installingMessage": "Instal·lant l'actualització...",
- "errorDownloadMessage": "No s'ha pogut baixar l'actualització",
- "errorInstallMessage": "No s'ha pogut instal·lar l'actualització",
- "noConnection": "No hi ha connexió a Internet"
- },
- "applicationItem": {
- "infoButton": "Informació"
- },
- "latestCommitCard": {
- "loadingLabel": "S'està carregant...",
- "timeagoLabel": "Fa ${time} "
- },
- "patcherView": {
- "widgetTitle": "Pedaçor",
- "patchButton": "Pedaçar",
- "incompatibleArchWarningDialogText": "Aquesta arquitectura encara no està suportat i pot fallar. Voleu continuar de totes maneres?",
- "removedPatchesWarningDialogText": "Pedaços eliminats des d'última vegada que has modificat aquesta aplicació:\n\n${patches}\n\n${newPatches}Continuar igualment?",
- "addedPatchesDialogText": "Pedaços des de l'última vegada que has modificat aquesta aplicació:\n\n${addedPatches}",
- "requiredOptionDialogText": "Algunes modificacions s'han de configurar."
- },
- "appSelectorCard": {
- "widgetTitle": "Selecciona l'aplicació",
- "widgetTitleSelected": "Aplicació seleccionada",
- "widgetSubtitle": "Cap aplicació seleccionada",
- "noAppsLabel": "No s'ha trobat cap aplicació",
- "anyVersion": "Qualsevol versió"
- },
- "patchSelectorCard": {
- "widgetTitle": "Seleccioneu pedaços",
- "widgetTitleSelected": "Pedaços seleccionats",
- "widgetSubtitle": "Primer seleccioneu una aplicació",
- "widgetEmptySubtitle": "No s'ha seleccionat cap pedaç"
- },
- "socialMediaCard": {
- "widgetTitle": "Xarxes socials",
- "widgetSubtitle": "Estem en línia!"
- },
- "appSelectorView": {
- "viewTitle": "Selecciona una aplicació",
- "searchBarHint": "Cerca aplicació",
- "storageButton": "Emmagatzematge",
- "selectFromStorageButton": "Selecciona des d'emmagatzematge",
- "errorMessage": "No s'ha pogut utilitzar l'aplicació seleccionada",
- "downloadToast": "La funció de descàrrega encara no està disponible",
- "requireSuggestedAppVersionDialogText": "La versió de l'aplicació que heu seleccionat no coincideix amb la versió suggerida que pot provocar problemes inesperats. Utilitzeu la versió suggerida.\n\nVersió Seleccionada: ${selected}\nVersió suggerida: ${suggested}\n\nPer continuar de totes maneres, desactiva \"Requereix la versió de l'aplicació suggerida\" a la configuració.",
- "featureNotAvailable": "Característíca no implementada",
- "featureNotAvailableText": "Aquesta aplicació és una APK dividida i només es pot apedaçar i instal·lar de manera fiable muntant amb permisos root. No obstant això, podeu modificar i instal·lar un APK complet seleccionant-lo des de l'emmagatzematge."
- },
- "patchesSelectorView": {
- "viewTitle": "Seleccioneu pedaços",
- "searchBarHint": "Cerca pedaços",
- "universalPatches": "Modificacions universals",
- "newPatches": "Noves modificacions",
- "patches": "modificacions",
- "doneButton": "Fet",
- "defaultChip": "Per defecte",
- "defaultTooltip": "Seleciona totes les modificacions predeterminades",
- "noneChip": "Cap",
- "noneTooltip": "Desseleccionar tots els pegats",
- "loadPatchesSelection": "Carrega la modificació seleccionada",
- "noSavedPatches": "No s'ha desat la selecció de pedaç per a l'aplicació seleccionada.\nPremeu Fet per a desar la selecció actual.",
- "noPatchesFound": "No s'han trobat pedaços per a l'aplicació seleccionada",
- "setRequiredOption": "Algunes modificacions han de ser configurades:\n\n${patches}\n\nConfigura les abans de continuar."
- },
- "patchOptionsView": {
- "customValue": "Valor personalitzat",
- "setToNull": "Estableix com null",
- "nullValue": "El valor d'aquest valor és null",
- "viewTitle": "Opcions de modificació",
- "saveOptions": "Guardar",
- "unselectPatch": "Desselecciona modificacions",
- "tooltip": "Més opcions d'entrada",
- "selectFilePath": "Selecciona direcció de l'arxiu",
- "selectFolder": "Selecciona carpeta",
- "requiredOption": "Configurar aquesta opció es necessari",
- "unsupportedOption": "Aquesta opció no està admesa",
- "requiredOptionNull": "S'han de configurar les següents opcions:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "La selecció d'aquest pedaç pot provocar errors d'aplicació.\n\nVersió de l'aplicació: ${packageVersion}\nVersions compatibles:\n${supportedVersions}",
- "unsupportedPatchVersion": "El pegat no està admes per aquesta versió de l'aplicació.",
- "unsupportedRequiredOption": "Aquest pegat conté una opció obligatòria que no està admesa per aquesta aplicació",
- "patchesChangeWarningDialogText": "Es recomana utilitzar la selecció i les opcions de pegats per defecte. Canviar-les pot provocar problemes inesperats.\n\nHauràs d'activar \"Permetre canviar la selecció de pegats\" a la configuració abans de canviar cap selecció de pegats.",
- "patchesChangeWarningDialogButton": "Utilitzar la selecció per defecte"
- },
- "installerView": {
- "installType": "Seleccionar tipus d'instal·lació",
- "installTypeDescription": "Seleccioneu el tipus d'instal·lació per a continuar.",
- "installButton": "Instal·la",
- "installRootType": "Muntar",
- "installNonRootType": "Regular",
- "warning": "Desactiva les actualitzacions automàtiques de l'aplicació modificada per evitar problemes inesperats.",
- "pressBackAgain": "Premeu enrere de nou per cancel·lar",
- "openButton": "Obre",
- "notificationTitle": "ReVanced Manager està aplicant pedaços",
- "notificationText": "Toqui per tornar a l'instal·lador",
- "exportApkButtonTooltip": "Exportar APK modificat",
- "exportLogButtonTooltip": "Exportar registre",
- "screenshotDetected": "S'ha detectat una captura de pantalla. Si intenteu compartir el registre, compartiu una còpia de text en lloc d'això.\n\nCopiar registre al porta-retalls?",
- "copiedToClipboard": "S'ha copiat el registre al porta-retalls",
- "noExit": "L'instal·lador està en funcionament, no es pot sortir..."
- },
- "settingsView": {
- "widgetTitle": "Configuració",
- "appearanceSectionTitle": "Aparença",
- "teamSectionTitle": "Equip",
- "debugSectionTitle": "Depuració",
- "advancedSectionTitle": "Avançat",
- "exportSectionTitle": "Importar i exportar",
- "dataSectionTitle": "Fonts de dades",
- "themeModeLabel": "Tema de l'aplicació",
- "systemThemeLabel": "Sistema",
- "lightThemeLabel": "Clar",
- "darkThemeLabel": "Fosc",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "Gaudeixi d'una experiència més acord al seu dispositiu",
- "languageLabel": "Llengua",
- "languageUpdated": "Idioma actualitzat",
- "sourcesLabel": "Fonts alternatives",
- "sourcesLabelHint": "Configureu les fonts alternatives per a ReVanced Patches",
- "useAlternativeSources": "Utilitza fonts alternatives",
- "useAlternativeSourcesHint": "Utilitza fonts alternatives per a ReVanced Patches en lloc de l'API",
- "sourcesResetDialogTitle": "Restablir",
- "sourcesResetDialogText": "Esteu segur que voleu restablir les vostres fonts als seus valors per defecte?",
- "apiURLResetDialogText": "Esteu segur que voleu restablir la vostra URL d'API al seu valor per defecte?",
- "sourcesUpdateNote": "Nota: Això descarregarà automàticament ReVanced Patches de les fonts alternatives.\n\nAixò us connectarà a la font alternativa.",
- "apiURLLabel": "Direcció URL de la API",
- "apiURLHint": "Configureu l'URL de l'API de ReVanced Manager",
- "selectApiURL": "URL de l'API",
- "orgPatchesLabel": "Organització dels pedaços",
- "sourcesPatchesLabel": "Font dels pedaços",
- "contributorsLabel": "Col·laboradors",
- "contributorsHint": "Una llista de col·laboradors de ReVanced",
- "logsLabel": "Comparteix registres",
- "logsHint": "Comparteix els registres del ReVanced Manager",
- "enablePatchesSelectionLabel": "Permetre canviar la selecció de pegats",
- "enablePatchesSelectionHint": "No impedir la selecció o la deselecció de pegats",
- "enablePatchesSelectionWarningText": "Canviar la selecció de pegats pot provocar problemes inesperats.\n\nActivar de totes maneres?",
- "disablePatchesSelectionWarningText": "Estàs a punt de desactivar el canvi de la selecció de pegats.\nLa selecció per defecte de pegats es restaurarà.\n\nDesactivar de totes maneres?",
- "autoUpdatePatchesLabel": "Actualització automàtica de pegats",
- "autoUpdatePatchesHint": "Actualitza els pegats a la versió més recent automàticament",
- "showUpdateDialogLabel": "Mostra el diàleg d'actualització",
- "showUpdateDialogHint": "Mostra un diàleg quan hi hagi una nova actualització disponible",
- "universalPatchesLabel": "Mostrar pegats universals",
- "universalPatchesHint": "Mostra totes les aplicacions i els pegats universals (pot alentir la llista d'aplicacions)",
- "lastPatchedAppLabel": "Desa l'aplicació parchejada",
- "lastPatchedAppHint": "Desa l'últim parche per a instal·lar o exportar més tard",
- "versionCompatibilityCheckLabel": "Comprovació de la compatibilitat de la versió",
- "versionCompatibilityCheckHint": "Evita la selecció de pegats que no siguin compatibles amb la versió de l'aplicació seleccionada",
- "requireSuggestedAppVersionLabel": "Requerir la versió de l'aplicació suggerida",
- "requireSuggestedAppVersionHint": "Evita la selecció d'una aplicació amb una versió que no sigui la suggerida",
- "requireSuggestedAppVersionDialogText": "Seleccionar una aplicació que no sigui la versió suggerida pot provocar problemes inesperats.\n\nVoleu continuar de totes maneres?",
- "aboutLabel": "Quant a",
- "snackbarMessage": "S'ha copiat al porta-retalls",
- "restartAppForChanges": "Reinicieu l'aplicació per a aplicar els canvis",
- "deleteTempDirLabel": "Esborrar arxius temporals",
- "deleteTempDirHint": "Suprimeix els fitxers temporals no utilitzats",
- "deletedTempDir": "Arxius temporals eliminats",
- "exportSettingsLabel": "Exporta la configuració",
- "exportSettingsHint": "Exporta la configuració a un fitxer JSON",
- "exportedSettings": "Configuració exportada",
- "importSettingsLabel": "Importa la configuració",
- "importSettingsHint": "Importa la configuració des d'un fitxer JSON",
- "importedSettings": "Configuració importada",
- "exportPatchesLabel": "Exportar selecció de pegats",
- "exportPatchesHint": "Exporta la selecció de pegats a un fitxer JSON",
- "exportedPatches": "Selecció de pegats exportada",
- "noExportFileFound": "No hi ha cap selecció de pegats per exportar",
- "importPatchesLabel": "Importar selecció de pegats",
- "importPatchesHint": "Importa la selecció de pegats d'un fitxer JSON",
- "importedPatches": "Selecció de pegats importada",
- "resetStoredPatchesLabel": "Restablir la selecció de pegats",
- "resetStoredPatchesHint": "Restablir la selecció de pegats emmagatzemada",
- "resetStoredPatchesDialogTitle": "Restablir la selecció de pegats?",
- "resetStoredPatchesDialogText": "La selecció per defecte de pegats es restaurarà.",
- "resetStoredPatches": "La selecció de pegats s'ha restablert",
- "resetStoredOptionsLabel": "Restablir les opcions de pegats",
- "resetStoredOptionsHint": "Restablir totes les opcions de pegats",
- "resetStoredOptionsDialogTitle": "Restablir les opcions de pegats?",
- "resetStoredOptionsDialogText": "Restablir les opcions de pegats eliminarà totes les opcions desades.",
- "resetStoredOptions": "Les opcions s'han restablert",
- "deleteLogsLabel": "Netejar els registres",
- "deleteLogsHint": "Suprimir els registres recopilats del ReVanced Manager",
- "deletedLogs": "Registres suprimits",
- "regenerateKeystoreLabel": "Regenerar magatzem de claus",
- "regenerateKeystoreHint": "Regenerar el magatzem de claus que s'utilitza per signar aplicacions",
- "regenerateKeystoreDialogTitle": "Regenerar magatzem de claus?",
- "regenerateKeystoreDialogText": "Les aplicacions modificades signades amb el magatzem de claus antic ja no es podran actualitzar.",
- "regeneratedKeystore": "Magatzem de claus regenerat",
- "exportKeystoreLabel": "Exportar magatzem de claus",
- "exportKeystoreHint": "Exporta el magatzem de claus que s'utilitza per signar aplicacions",
- "exportedKeystore": "Magatzem de claus exportat",
- "noKeystoreExportFileFound": "No hi ha cap magatzem de claus per exportar",
- "importKeystoreLabel": "Importar magatzem de claus",
- "importKeystoreHint": "Importa un magatzem de claus que s'utilitza per signar aplicacions",
- "importedKeystore": "Magatzem de claus importat",
- "selectKeystorePassword": "Contrasenya del magatzem de claus",
- "selectKeystorePasswordHint": "Selecciona la contrasenya del magatzem de claus que s'utilitza per signar aplicacions",
- "jsonSelectorErrorMessage": "No es pot utilitzar el fitxer JSON seleccionat",
- "keystoreSelectorErrorMessage": "No es pot utilitzar el fitxer del magatzem de claus seleccionat"
- },
- "appInfoView": {
- "widgetTitle": "Informació de l'aplicació",
- "openButton": "Obre",
- "installButton": "Instal·la",
- "uninstallButton": "Desinstal·la",
- "unmountButton": "Desmuntar",
- "exportButton": "Exporta",
- "deleteButton": "Suprimeix",
- "rootDialogTitle": "Error",
- "lastPatchedAppDescription": "Aquesta és una còpia de seguretat de l'aplicació que es va parchejar per última vegada.",
- "unmountDialogText": "Esteu segur que voleu desmuntar aquesta aplicació?",
- "uninstallDialogText": "Esteu segur que voleu desinstal·lar aquesta aplicació?",
- "rootDialogText": "L'aplicació s'ha instal·lat amb permisos de superusuari, però actualment ReVanced Manager no té cap permís.\nSi us plau, concediu primer permisos de superusuari.",
- "removeAppDialogTitle": "Suprimeix l'aplicació?",
- "removeAppDialogText": "Estàs segur que vols suprimir aquesta còpia de seguretat?",
- "packageNameLabel": "Nom del paquet",
- "installTypeLabel": "Tipus d'instal·lació",
- "mountTypeLabel": "Muntar",
- "regularTypeLabel": "Regular",
- "patchedDateLabel": "Data pedaçada",
- "appliedPatchesLabel": "Pedaços aplicats",
- "sizeLabel": "Mida del fitxer",
- "patchedDateHint": "${date} a les ${time}",
- "appliedPatchesHint": "${quantity} pedaços aplicats",
- "updateNotImplemented": "Aquesta funció encara no s'ha implementat"
- },
- "contributorsView": {
- "widgetTitle": "Col·laboradors"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "Desacord de versions",
- "mount_no_root": "Sense accés root",
- "mount_missing_installation": "Instal·lació no trobada",
- "status_failure_blocked": "Instal·lació bloquejada",
- "install_failed_verification_failure": "Verificació fallida",
- "status_failure_invalid": "Instal·lació no vàlida",
- "install_failed_version_downgrade": "No es pot degradar",
- "status_failure_conflict": "Conflicte d'instal·lació",
- "status_failure_storage": "Problema d'emmagatzematge d'instal·lació",
- "status_failure_incompatible": "Instal·lació incompatible",
- "status_failure_timeout": "Temps d'espera de l'instal·lació excedit",
- "status_unknown": "Instal·lació fallida",
- "mount_version_mismatch_description": "La instal·lació ha fallat perquè l'aplicació instal·lada és una versió diferent de l'aplicació modificada.\n\nInstal·la la versió de l'aplicació que estàs muntant i torna-ho a provar.",
- "mount_no_root_description": "La instal·lació ha fallat perquè no s'ha concedit accés root.\n\nConcedeix accés root al ReVanced Manager i torna-ho a provar.",
- "mount_missing_installation_description": "La instal·lació ha fallat perquè l'aplicació no modificada no està instal·lada en aquest dispositiu per a muntar-la.\n\nInstal·la l'aplicació no modificada abans de muntar-la i torna-ho a provar.",
- "status_failure_timeout_description": "La instal·lació ha trigat massa temps a finalitzar.\n\nVoleu tornar-ho a provar?",
- "status_failure_storage_description": "La instal·lació ha fallat a causa d'emmagatzematge insuficient.\n\nAllibera espai i torna-ho a provar.",
- "status_failure_invalid_description": "La instal·lació ha fallat perquè l'aplicació modificada no és vàlida.\n\nDesinstal·lar l'aplicació i tornar-ho a provar?",
- "status_failure_incompatible_description": "L'aplicació no és compatible amb aquest dispositiu.\n\nUtilitza un APK que sigui compatible amb aquest dispositiu i torna a intentar-ho.",
- "status_failure_conflict_description": "La instal·lació ha estat impedida per una instal·lació existent de l'aplicació.\n\nDesinstal·lar l'aplicació instal·lada i tornar-ho a provar?",
- "status_failure_blocked_description": "La instal·lació ha estat bloquejada per ${packageName}.\n\nAjusta la teva configuració de seguretat i torna-ho a provar.",
- "install_failed_verification_failure_description": "La instal·lació ha fallat a causa d'un problema de verificació.\n\nAjusta la teva configuració de seguretat i torna-ho a provar.",
- "install_failed_version_downgrade_description": "La instal·lació ha fallat perquè l'aplicació modificada és una versió inferior a l'aplicació instal·lada.\n\nDesinstal·lar l'aplicació i tornar-ho a provar?",
- "status_unknown_description": "La instal·lació ha fallat per un motiu desconegut. Torna-ho a provar."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/cs_CZ.i18n.json b/assets/i18n/cs_CZ.i18n.json
deleted file mode 100755
index 39aebeec..00000000
--- a/assets/i18n/cs_CZ.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "OK",
- "cancelButton": "Zrušit",
- "dismissButton": "Zrušit",
- "quitButton": "Odejít",
- "updateButton": "Aktualizovat",
- "suggested": "Doporučeno: ${version}",
- "yesButton": "Ano",
- "noButton": "Ne",
- "warning": "Varování",
- "notice": "Upozornění",
- "noShowAgain": "Již nezobrazovat",
- "add": "Přidat",
- "remove": "Odebrat",
- "showChangelogButton": "Zobrazit seznam změn",
- "showUpdateButton": "Zobrazit aktualizaci",
- "navigationView": {
- "dashboardTab": "Řídící panel",
- "patcherTab": "Patcher",
- "settingsTab": "Nastavení"
- },
- "homeView": {
- "refreshSuccess": "Úspěšně obnoveno",
- "widgetTitle": "Řídící panel",
- "updatesSubtitle": "Aktualizace",
- "lastPatchedAppSubtitle": "Poslední upravená aplikace",
- "patchedSubtitle": "Nainstalované aplikace",
- "changeLaterSubtitle": "Tuto možnost můžete změnit později v nastavení.",
- "noSavedAppFound": "Nebyla nalezena žádná aplikace",
- "noInstallations": "Nejsou nainstalovány žádné záplatované aplikace",
- "installUpdate": "Pokračovat v instalaci aktualizace?",
- "updateSheetTitle": "Aktualizovat ReVanced Manager",
- "updateDialogTitle": "Nová aktualizace k dispozici",
- "updatePatchesSheetTitle": "Aktualizovat záplaty ReVanced",
- "updateChangelogTitle": "Seznam změn",
- "updateDialogText": "Nová aktualizace je k dispozici pro ${file}.\n\nAktuálně nainstalovaná verze je ${version}.",
- "downloadConsentDialogTitle": "Stáhnout potřebné soubory?",
- "downloadConsentDialogText": "ReVanced Manager potřebuje stáhnout potřebné soubory, aby fungoval správně.",
- "downloadConsentDialogText2": "Tímto se připojíte k ${url}.",
- "downloadingMessage": "Stahování aktualizace...",
- "downloadedMessage": "Aktualizace byla stažena",
- "installingMessage": "Instalace aktualizace...",
- "errorDownloadMessage": "Nelze stáhnout aktualizaci",
- "errorInstallMessage": "Aktualizace se nepodařilo nainstalovat",
- "noConnection": "Žádné připojení k internetu"
- },
- "applicationItem": {
- "infoButton": "Info"
- },
- "latestCommitCard": {
- "loadingLabel": "Načítání...",
- "timeagoLabel": "před ${time}"
- },
- "patcherView": {
- "widgetTitle": "Záplatovač",
- "patchButton": "Záplatovat",
- "incompatibleArchWarningDialogText": "Úprava této architektury není zatím podporována a může selhat. Přesto pokračovat?",
- "removedPatchesWarningDialogText": "Odstranili jste záplaty od poslední úpravy této aplikace:\n\n${patches}\n\n${newPatches}Pokračovat?",
- "addedPatchesDialogText": "Přidány záplaty od poslední úpravy této aplikace:\n\n${addedPatches}\n\n",
- "requiredOptionDialogText": "Je třeba nastavit některé možnosti záplat."
- },
- "appSelectorCard": {
- "widgetTitle": "Vybrat aplikaci",
- "widgetTitleSelected": "Vybraná aplikace",
- "widgetSubtitle": "Není vybrána žádná aplikace",
- "noAppsLabel": "Nebyly nalezeny žádné aplikace",
- "anyVersion": "Jakákoli verze"
- },
- "patchSelectorCard": {
- "widgetTitle": "Vybrat záplaty",
- "widgetTitleSelected": "Vybrané patche",
- "widgetSubtitle": "Nejprve vyberte aplikaci",
- "widgetEmptySubtitle": "Nejsou vybrány žádné záplaty"
- },
- "socialMediaCard": {
- "widgetTitle": "Sociální sítě",
- "widgetSubtitle": "Jsme online!"
- },
- "appSelectorView": {
- "viewTitle": "Vyberte aplikaci",
- "searchBarHint": "Vyhledat aplikaci",
- "storageButton": "Uložiště",
- "selectFromStorageButton": "Vybrat z úložiště",
- "errorMessage": "Vybranou aplikaci nelze použít",
- "downloadToast": "Funkce stahování zatím není dostupná",
- "requireSuggestedAppVersionDialogText": "Vybraná verze aplikace se neshoduje s navrhovanou verzí, což může vést k neočekávaným problémům. Prosím použijte navrhovanou verzi.\n\nVybraná verze: ${selected}\nNavrhovaná verze: ${suggested}\n\nChcete-li přesto pokračovat, zakažte v nastavení \"Vyžadovat navrhovanou verzi aplikace\".",
- "featureNotAvailable": "Funkce není implementována",
- "featureNotAvailableText": "Tato aplikace je rozdělená APK a může být spolehlivě nainstalována pouze připojením oprávnění root. Nicméně, můžete opravit a nainstalovat plnou APK výběrem z úložiště."
- },
- "patchesSelectorView": {
- "viewTitle": "Vybrat patche",
- "searchBarHint": "Vyhledat záplaty",
- "universalPatches": "Univerzální záplaty",
- "newPatches": "Nové záplaty",
- "patches": "Záplaty",
- "doneButton": "Hotovo",
- "defaultChip": "Výchozí",
- "defaultTooltip": "Vybrat všechny výchozí záplaty",
- "noneChip": "Žádné",
- "noneTooltip": "Zrušit výběr všech záplat",
- "loadPatchesSelection": "Načíst výběr záplat",
- "noSavedPatches": "Žádný uložený výběr patch pro vybranou aplikaci.\nStisknutím Dokončeno uložíte aktuální výběr.",
- "noPatchesFound": "Pro vybranou aplikaci nebyly nalezeny žádné záplaty",
- "setRequiredOption": "Některé záplaty vyžadují nastavení:\n\n${patches}\n\nPřed pokračováním je prosím nastavte."
- },
- "patchOptionsView": {
- "customValue": "Vlastní hodnota",
- "setToNull": "Nastavit na null",
- "nullValue": "Tato hodnota volby je v současné době null",
- "viewTitle": "Nastavení záplat",
- "saveOptions": "Uložit",
- "unselectPatch": "Zrušit výběr patch",
- "tooltip": "Další možnosti vstupu",
- "selectFilePath": "Zvolte cestu k souboru",
- "selectFolder": "Vybrat složku",
- "requiredOption": "Nastavení této možnosti je vyžadováno",
- "unsupportedOption": "Tato možnost není podporována",
- "requiredOptionNull": "Tyto možnosti musí být nastaveny:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "Výběrem této záplaty může dojít k chybám.\n\nVerze aplikace: ${packageVersion}\nAktuálně podporované verze:\n${supportedVersions}",
- "unsupportedPatchVersion": "Záplata není podporována touto verzí aplikace.",
- "unsupportedRequiredOption": "Tato oprava obsahuje požadovanou volbu, která není touto aplikací podporována",
- "patchesChangeWarningDialogText": "Doporučuje se použít výchozí záplatový výběr a možnosti. Změna může vést k neočekávaným problémům.\n\nPřed změnou jakéhokoli výběru patch budete muset zapnout \"Povolit změnu výběru patch\" v nastavení.",
- "patchesChangeWarningDialogButton": "Použít výchozí výběr"
- },
- "installerView": {
- "installType": "Zvolte instalační typ",
- "installTypeDescription": "Vyberte typ instalace pro pokračování.",
- "installButton": "Instalovat",
- "installRootType": "Připojit",
- "installNonRootType": "Běžný",
- "warning": "Zakažte automatické aktualizace upravené aplikace, abyste se vyhnuli neočekávaným problémům.",
- "pressBackAgain": "Stiskněte znovu pro zrušení",
- "openButton": "Otevřít",
- "notificationTitle": "ReVanced Manager patchuje",
- "notificationText": "Klepnutím se vrátíte do instalátoru",
- "exportApkButtonTooltip": "Exportovat upravený APK",
- "exportLogButtonTooltip": "Exportovat protokol",
- "screenshotDetected": "Byl zjištěn snímek obrazovky. Pokud se pokoušíte sdílet záznam, sdílejte prosím textovou kopii.\n\nKopírovat záznam do schránky?",
- "copiedToClipboard": "Záznamy byly zkopírovány do schránky",
- "noExit": "Instalační program je stále spuštěn, nelze ukončit..."
- },
- "settingsView": {
- "widgetTitle": "Nastavení",
- "appearanceSectionTitle": "Vzhled",
- "teamSectionTitle": "Tým",
- "debugSectionTitle": "Ladění",
- "advancedSectionTitle": "Pokročilé",
- "exportSectionTitle": "Import a export",
- "dataSectionTitle": "Zdroje údajů",
- "themeModeLabel": "Vzhled aplikace",
- "systemThemeLabel": "Systém",
- "lightThemeLabel": "Světlý",
- "darkThemeLabel": "Tmavý motiv",
- "dynamicThemeLabel": "Váš materiál",
- "dynamicThemeHint": "Vychutnejte si zážitek blíže k vašemu zařízení",
- "languageLabel": "Jazyk",
- "languageUpdated": "Jazyk aktualizován",
- "sourcesLabel": "Alternativní zdroje",
- "sourcesLabelHint": "Konfigurace alternativních zdrojů pro vylepšené úpravy",
- "useAlternativeSources": "Použít alternativní zdroje",
- "useAlternativeSourcesHint": "Použít alternativní zdroje pro vylepšené úpravy namísto API",
- "sourcesResetDialogTitle": "Obnovit",
- "sourcesResetDialogText": "Jste si jisti, že chcete obnovit zdroje na jejich výchozí hodnoty?",
- "apiURLResetDialogText": "Jste si jisti, že chcete resetovat URL API na výchozí hodnotu?",
- "sourcesUpdateNote": "Poznámka: Toto automaticky stáhne reVanced Patches z alternativních zdrojů.\n\nToto vás připojí k alternativnímu zdroji.",
- "apiURLLabel": "API URL",
- "apiURLHint": "Konfigurace URL API ReVanced Manager",
- "selectApiURL": "API URL",
- "orgPatchesLabel": "Organizace patchů",
- "sourcesPatchesLabel": "Zdroj záplat",
- "contributorsLabel": "Přispěvatelé",
- "contributorsHint": "Seznam přispěvatelů ReVanced",
- "logsLabel": "Sdílet záznamy",
- "logsHint": "Sdílet záznamy Revanced Manageru",
- "enablePatchesSelectionLabel": "Povolit změnu výběru patch",
- "enablePatchesSelectionHint": "Nezabraňte výběru nebo odebírání záplatek",
- "enablePatchesSelectionWarningText": "Změna výběru záplatů může způsobit neočekávané problémy.\n\nPřesto povolit?",
- "disablePatchesSelectionWarningText": "Chystáte se zakázat změnu výběru záplat.\nVýchozí výběr záplatů bude obnoven.\n\npřesto zakázat?",
- "autoUpdatePatchesLabel": "Automaticky aktualizovat záplaty",
- "autoUpdatePatchesHint": "Automaticky aktualizovat záplaty na nejnovější verzi",
- "showUpdateDialogLabel": "Zobrazit dialogové okno aktualizace",
- "showUpdateDialogHint": "Zobrazit dialogové okno, když je dostupná nová aktualizace",
- "universalPatchesLabel": "Zobrazit univerzální záplaty",
- "universalPatchesHint": "Zobrazit všechny aplikace a univerzální záplaty (může zpomalit seznam aplikací)",
- "lastPatchedAppLabel": "Uložit upravenou aplikaci",
- "lastPatchedAppHint": "Uložit poslední opravu pro instalaci nebo export později",
- "versionCompatibilityCheckLabel": "Kontrola kompatibility verzí",
- "versionCompatibilityCheckHint": "Zabránit výběru záplat, které nejsou kompatibilní s vybranou verzí aplikace",
- "requireSuggestedAppVersionLabel": "Vyžadovat navrhovanou verzi aplikace",
- "requireSuggestedAppVersionHint": "Zabránit výběru aplikace s verzí, která není navržena",
- "requireSuggestedAppVersionDialogText": "Vybrání aplikace s verzí, která není doporčena může způsobit nečekané problémy.\n\nChcete přesto pokračovat?",
- "aboutLabel": "O aplikaci",
- "snackbarMessage": "Zkopírováno do schránky",
- "restartAppForChanges": "Pro aplikování změn restartuj aplikaci",
- "deleteTempDirLabel": "Odstranit dočasné soubory",
- "deleteTempDirHint": "Odstranit nepoužívané dočasné soubory",
- "deletedTempDir": "Dočasné soubory byly smazány",
- "exportSettingsLabel": "Exportovat nastavení",
- "exportSettingsHint": "Exportovat nastavení do souboru JSON",
- "exportedSettings": "Nastavení exportováno",
- "importSettingsLabel": "Importovat nastavení",
- "importSettingsHint": "Importovat nastavení ze souboru JSON",
- "importedSettings": "Nastavení importováno",
- "exportPatchesLabel": "Exportovat záplatu",
- "exportPatchesHint": "Exportovat výběr patch do souboru JSON",
- "exportedPatches": "Výběr patch exportován",
- "noExportFileFound": "Není vybrána žádná oprava k exportu",
- "importPatchesLabel": "Importovat výběr patch",
- "importPatchesHint": "Importovat výběr patch ze souboru JSON",
- "importedPatches": "Výběr patch importován",
- "resetStoredPatchesLabel": "Resetovat výběr opravy",
- "resetStoredPatchesHint": "Resetovat uloženou opravu",
- "resetStoredPatchesDialogTitle": "Obnovit výběr patche?",
- "resetStoredPatchesDialogText": "Výchozí výběr záplatů bude obnoven.",
- "resetStoredPatches": "Výběr patch byl obnoven",
- "resetStoredOptionsLabel": "Resetovat možnosti opravy",
- "resetStoredOptionsHint": "Obnovit všechny možnosti opravy",
- "resetStoredOptionsDialogTitle": "Obnovit možnosti oprav?",
- "resetStoredOptionsDialogText": "Obnovení možností opravy odstraní všechny uložené možnosti.",
- "resetStoredOptions": "Možnosti byly resetovány",
- "deleteLogsLabel": "Vymazat záznamy",
- "deleteLogsHint": "Odstranit shromážděné záznamy ReVanced Manageru",
- "deletedLogs": "Záznamy byly smazány",
- "regenerateKeystoreLabel": "Obnovit úložiště klíčů",
- "regenerateKeystoreHint": "Znovu vygenerovat úložiště klíčů používané k podpisu aplikací",
- "regenerateKeystoreDialogTitle": "Obnovit úložiště klíčů?",
- "regenerateKeystoreDialogText": "Upravené aplikace podepsané staré úložiště klíčů již nebudou moci být aktualizovány.",
- "regeneratedKeystore": "Obnovena úložiště klíčů",
- "exportKeystoreLabel": "Exportovat úložiště klíčů",
- "exportKeystoreHint": "Exportovat úložiště klíčů používané k podpisu aplikací",
- "exportedKeystore": "Úložiště klíčů exportováno",
- "noKeystoreExportFileFound": "Žádný úložiště klíčů k exportu",
- "importKeystoreLabel": "Importovat úložiště klíčů",
- "importKeystoreHint": "Importovat úložiště klíčů používané k podpisu aplikací",
- "importedKeystore": "Úložiště klíčů importováno",
- "selectKeystorePassword": "Heslo úložiště klíčů",
- "selectKeystorePasswordHint": "Vyberte heslo úložiště klíčů použité k podpisu aplikací",
- "jsonSelectorErrorMessage": "Vybraný JSON soubor nelze použít",
- "keystoreSelectorErrorMessage": "Nelze použít vybraný soubor úložiště klíčů"
- },
- "appInfoView": {
- "widgetTitle": "Informace o aplikaci",
- "openButton": "Otevřít",
- "installButton": "Instalovat",
- "uninstallButton": "Odinstalovat",
- "unmountButton": "Odpojit",
- "exportButton": "Exportovat",
- "deleteButton": "Vymazat",
- "rootDialogTitle": "Chyba",
- "lastPatchedAppDescription": "Toto je záloha aplikace, která byla naposledy upravena.",
- "unmountDialogText": "Opravdu chcete odpojit tuto aplikaci?",
- "uninstallDialogText": "Opravdu chcete odinstalovat tuto aplikaci?",
- "rootDialogText": "Aplikace byla nainstalována s oprávněním superuser, ale aktuálně ReVanced Manager nemá žádná oprávnění.\nProsím nejprve udělte oprávnění superuser.",
- "removeAppDialogTitle": "Smazat aplikaci?",
- "removeAppDialogText": "Jste si jisti, že chcete odstranit tuto zálohu?",
- "packageNameLabel": "Název balíčku",
- "installTypeLabel": "Typ instalace",
- "mountTypeLabel": "Připojit",
- "regularTypeLabel": "Běžný",
- "patchedDateLabel": "Datum patchování",
- "appliedPatchesLabel": "Použité záplaty",
- "sizeLabel": "Velikost souboru",
- "patchedDateHint": "${date} v ${time}",
- "appliedPatchesHint": "${quantity} použité záplaty",
- "updateNotImplemented": "Tato funkce ještě není implementována"
- },
- "contributorsView": {
- "widgetTitle": "Přispěvatelé"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "Verse neshodná",
- "mount_no_root": "Žádný root přístup",
- "mount_missing_installation": "Instalace nebyla nalezena",
- "status_failure_blocked": "Instalace blokovaná",
- "install_failed_verification_failure": "Ověření selhalo",
- "status_failure_invalid": "Instalace neplatná",
- "install_failed_version_downgrade": "Nelze ponížit",
- "status_failure_conflict": "Konflikt instalace",
- "status_failure_storage": "Instalace má problém s uložistěm",
- "status_failure_incompatible": "Instalace není kompatibilní",
- "status_failure_timeout": "Instalaci vypršel čas",
- "status_unknown": "Instalace selhala",
- "mount_version_mismatch_description": "Instalace se nezdařila kvůli tomu, že nainstalovaná aplikace je jinou verzí než upravená aplikace.\n\nNainstalujte verzi aplikace, kterou připojujete a zkuste to znovu.",
- "mount_no_root_description": "Instalace selhala, protože oprávněni root nebyly udělené.\n\nDejte Revanced Manageru oprávnění root a zkuste znovu.",
- "mount_missing_installation_description": "Instalace se nezdařila z důvodu neopravené aplikace pro připojení na toto zařízení.\n\nNainstalujte si neupravenou aplikaci před připojením a zkuste to znovu.",
- "status_failure_timeout_description": "Dokončení instalace trvalo příliš dlouho.\n\nChcete to zkusit znovu?",
- "status_failure_storage_description": "Instalace selhala kvůli nedostatku místa v uložisti.\n\nUvolňete místo a zkuste znovu.",
- "status_failure_invalid_description": "Instalace se nezdařila, protože patchnutá aplikace je neplatná.\n\nOdinstalovat tuto aplikaci a zkusit znovu?",
- "status_failure_incompatible_description": "Aplikace není kompatibilní s tímto zařízením.\n\nPoužijte APK, který je podporován tímto zařízením a zkuste to znovu.",
- "status_failure_conflict_description": "Instalace byla zabráněna existující instalací aplikace.\n\nOdinstalovat nainstalovanou aplikaci a zkuste to znovu?",
- "status_failure_blocked_description": "Instalace byla zablokována ${packageName}.\n\nUpravte nastavení zabezpečení a zkute to znovu.",
- "install_failed_verification_failure_description": "Instalace se nezdařila kvůli problému s ověřováním.\n\nUpravte nastavení zabezpečení a zkuste to znovu.",
- "install_failed_version_downgrade_description": "Instalace se nezdařila kvůli tomu, že již nainstalovaná verze je novější.\n\nOdinstalovat tuto aplikaci a zkusit znovu?",
- "status_unknown_description": "Instalace se nezdařila z neznámých důvodů. Prosím zkuste to znovu."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/da_DK.i18n.json b/assets/i18n/da_DK.i18n.json
deleted file mode 100755
index c6f2afc0..00000000
--- a/assets/i18n/da_DK.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "OK",
- "cancelButton": "Afbryd",
- "dismissButton": "Luk",
- "quitButton": "Luk",
- "updateButton": "Opdatér",
- "suggested": "Foreslået: ${version}",
- "yesButton": "Ja",
- "noButton": "Nej",
- "warning": "Advarsel",
- "notice": "Bemærkning",
- "noShowAgain": "Vis ikke igen",
- "add": "Tilføj",
- "remove": "Fjern",
- "showChangelogButton": "Vis ændringslog",
- "showUpdateButton": "Vis opdatering",
- "navigationView": {
- "dashboardTab": "Oversigt",
- "patcherTab": "Patcher",
- "settingsTab": "Indstillinger"
- },
- "homeView": {
- "refreshSuccess": "Opdatering succesfuldt",
- "widgetTitle": "Oversigt",
- "updatesSubtitle": "Opdateringer",
- "lastPatchedAppSubtitle": "Sidste lappet app",
- "patchedSubtitle": "Installerede apps",
- "changeLaterSubtitle": "Du kan ændre dette i indstillingerne senere.",
- "noSavedAppFound": "Ingen app fundet",
- "noInstallations": "Ingen patchede apps installeret",
- "installUpdate": "Fortsæt med at installere opdateringen?",
- "updateSheetTitle": "Opdater ReVanced Manager",
- "updateDialogTitle": "Ny opdatering tilgængelig",
- "updatePatchesSheetTitle": "Opdater ReVanced Patches",
- "updateChangelogTitle": "Ændringslog",
- "updateDialogText": "En ny opdatering er tilgængelig for ${file}.\n\nDen installerede version er ${version}.",
- "downloadConsentDialogTitle": "Download nødvendige filer?",
- "downloadConsentDialogText": "ReVanced Manager har brug for at downloade nødvendige filer for at fungere korrekt.",
- "downloadConsentDialogText2": "Dette vil forbinde dig til ${url}.",
- "downloadingMessage": "Henter opdatering...",
- "downloadedMessage": "Opdatering downloadet",
- "installingMessage": "Installerer opdatering...",
- "errorDownloadMessage": "Opdatering kan ikke hentes",
- "errorInstallMessage": "Opdatering kunne ikke installeres",
- "noConnection": "Ingen internetforbindelse"
- },
- "applicationItem": {
- "infoButton": "Information"
- },
- "latestCommitCard": {
- "loadingLabel": "Indlæser...",
- "timeagoLabel": "${time} siden"
- },
- "patcherView": {
- "widgetTitle": "Patcher",
- "patchButton": "Patch",
- "incompatibleArchWarningDialogText": "Patching på denne arkitektur understøttes endnu ikke og kan mislykkes. Fortsæt alligevel?",
- "removedPatchesWarningDialogText": "Fjernede rettelser siden sidste gang du lappede denne app:\n\n${patches}\n\n${newPatches}Fortsæt alligevel?",
- "addedPatchesDialogText": "Tilføjet rettelser siden sidste gang du lappede denne app:\n\n${addedPatches}\n\n",
- "requiredOptionDialogText": "Nogle patch muligheder skal indstilles."
- },
- "appSelectorCard": {
- "widgetTitle": "Vælg en app",
- "widgetTitleSelected": "Valgte app",
- "widgetSubtitle": "Ingen app valgt",
- "noAppsLabel": "Ingen applikationer fundet",
- "anyVersion": "Enhver version"
- },
- "patchSelectorCard": {
- "widgetTitle": "Vælg patches",
- "widgetTitleSelected": "Valgte patches",
- "widgetSubtitle": "Vælg først en applikation",
- "widgetEmptySubtitle": "Ingen patches valgt"
- },
- "socialMediaCard": {
- "widgetTitle": "Sociale medier",
- "widgetSubtitle": "Vi er online!"
- },
- "appSelectorView": {
- "viewTitle": "Vælg en app",
- "searchBarHint": "Søg efter app",
- "storageButton": "Lager",
- "selectFromStorageButton": "Vælg fra lager",
- "errorMessage": "Kunne ikke bruge valgte applikation",
- "downloadToast": "Download-funktionen er ikke tilgængelig endnu",
- "requireSuggestedAppVersionDialogText": "Versionen af den valgte app matcher ikke den foreslåede version, som kan føre til uventede problemer. Brug venligst den foreslåede version.\n\nValgt version: ${selected}\nForeslået version: ${suggested}\n\nFor at fortsætte alligevel, deaktiver \"Kræv foreslået app-version\" i indstillingerne.",
- "featureNotAvailable": "Funktion ikke implementeret",
- "featureNotAvailableText": "Denne app er en split APK og kan kun patches og installeres pålideligt ved montering med root-tilladelser. Du kan dog patche og installere en fuld APK ved at vælge det fra lager."
- },
- "patchesSelectorView": {
- "viewTitle": "Vælg patches",
- "searchBarHint": "Søg efter patches",
- "universalPatches": "Universelle patches",
- "newPatches": "Nye patches",
- "patches": "Patches",
- "doneButton": "Udført",
- "defaultChip": "Standard",
- "defaultTooltip": "Vælg alle standard patches",
- "noneChip": "Ingen",
- "noneTooltip": "Fravælg alle patches",
- "loadPatchesSelection": "Indlæs patch valg",
- "noSavedPatches": "Ingen gemte patches til den valgte app.\nTryk på Udført for at gemme det aktuelle valg.",
- "noPatchesFound": "Ingen patches fundet til den valgte app",
- "setRequiredOption": "Nogle patches kræver at indstillingerne er indstillet:\n\n${patches}\n\nAngiv dem før du fortsætter."
- },
- "patchOptionsView": {
- "customValue": "Tilpasset værdi",
- "setToNull": "Sæt til nul",
- "nullValue": "Denne valgmulighed værdi er i øjeblikket nul",
- "viewTitle": "Patch indstillinger",
- "saveOptions": "Gem",
- "unselectPatch": "Fravælg patch",
- "tooltip": "Flere input-indstillinger",
- "selectFilePath": "Vælg fil sti",
- "selectFolder": "Vælg mappe",
- "requiredOption": "Indstilling af denne indstilling er påkrævet",
- "unsupportedOption": "Denne indstilling understøttes ikke",
- "requiredOptionNull": "Følgende indstillinger skal indstilles:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "Valg af denne patch kan medføre patching-fejl.\n\nApp version: ${packageVersion}\nUnderstøttede versioner:\n${supportedVersions}",
- "unsupportedPatchVersion": "Patch er ikke understøttet i denne app-version.",
- "unsupportedRequiredOption": "Denne patch indeholder en nødvendig mulighed, der ikke understøttes af denne app",
- "patchesChangeWarningDialogText": "Det anbefales at bruge standard patchvalg og indstillinger. Ændring af dem kan resultere i uventede problemer.\n\nDu skal aktivere \"Tillad ændring af patchvalg\" i indstillinger, før du ændrer et patchvalg.",
- "patchesChangeWarningDialogButton": "Brug standardvalg"
- },
- "installerView": {
- "installType": "Vælg installationstype",
- "installTypeDescription": "Vælg den installationstype der skal fortsættes med.",
- "installButton": "Installér",
- "installRootType": "Montér",
- "installNonRootType": "Almindelig",
- "warning": "Deaktiver automatiske opdateringer til den patchede app for at undgå uventede problemer.",
- "pressBackAgain": "Tryk tilbage igen for at annullere",
- "openButton": "Åbn",
- "notificationTitle": "ReVanced Manager patcher",
- "notificationText": "Tryk for at gå tilbage til installationsprogrammet",
- "exportApkButtonTooltip": "Eksporter patched APK",
- "exportLogButtonTooltip": "Eksportér log",
- "screenshotDetected": "Et skærmbillede er blevet opdaget. Hvis du forsøger at dele loggen, så del venligst en tekstkopi i stedet.\n\nKopier log til udklipsholderen?",
- "copiedToClipboard": "Kopierede log til udklipsholder",
- "noExit": "Installationen kører stadig, kan ikke afslutte..."
- },
- "settingsView": {
- "widgetTitle": "Indstillinger",
- "appearanceSectionTitle": "Udseende",
- "teamSectionTitle": "Holdet",
- "debugSectionTitle": "Fejlfinding",
- "advancedSectionTitle": "Avanceret",
- "exportSectionTitle": "Import & eksport",
- "dataSectionTitle": "Datakilder",
- "themeModeLabel": "App tema",
- "systemThemeLabel": "System",
- "lightThemeLabel": "Lyst",
- "darkThemeLabel": "Mørk tilstand",
- "dynamicThemeLabel": "Materiale Dig",
- "dynamicThemeHint": "Nyd en oplevelse tættere på din enhed",
- "languageLabel": "Sprog",
- "languageUpdated": "Sprog opdateret",
- "sourcesLabel": "Alternative kilder",
- "sourcesLabelHint": "Indstil alternative kilder for ReVanced Patches",
- "useAlternativeSources": "Brug alternative kilder",
- "useAlternativeSourcesHint": "Brug alternative kilder til ReVanced Patches i stedet for API",
- "sourcesResetDialogTitle": "Nulstil",
- "sourcesResetDialogText": "Er du sikker på, at du vil nulstille dine kilder til deres standardværdier?",
- "apiURLResetDialogText": "Er du sikker på, at du vil nulstille API URL til dens standardværdi?",
- "sourcesUpdateNote": "Bemærk: Dette vil automatisk hente ReVanced Patches fra de alternative kilder.\n\nDette vil forbinde dig til den alternative kilde.",
- "apiURLLabel": "API URL",
- "apiURLHint": "Konfigurer API-URL'en til ReVanced Manager",
- "selectApiURL": "API URL",
- "orgPatchesLabel": "Organisation for Patches",
- "sourcesPatchesLabel": "Kilde til Patches",
- "contributorsLabel": "Medvirkende",
- "contributorsHint": "En liste over medvirkende til ReVanced",
- "logsLabel": "Del logs",
- "logsHint": "Del ReVanced Manager logs",
- "enablePatchesSelectionLabel": "Tillad skift af patch valg",
- "enablePatchesSelectionHint": "Forhindrer ikke valg eller fravalg af patches",
- "enablePatchesSelectionWarningText": "Ændring af valg af patches kan forårsage uventede problemer.\n\nAktiver alligevel?",
- "disablePatchesSelectionWarningText": "Du er ved at deaktivere ændring af valg af patches.\nStandard valg af patches vil blive gendannet.\n\nDeaktiver alligevel?",
- "autoUpdatePatchesLabel": "Opdatér patches automatisk",
- "autoUpdatePatchesHint": "Opdater automatisk patches til den seneste version",
- "showUpdateDialogLabel": "Vis opdateringsdialog",
- "showUpdateDialogHint": "Vis en dialog når en ny opdatering er tilgængelig",
- "universalPatchesLabel": "Vis universelle patches",
- "universalPatchesHint": "Vis alle apps og universelle patches (kan forsinke listen over apps)",
- "lastPatchedAppLabel": "Gem lappet app",
- "lastPatchedAppHint": "Gem den sidste patch til installation eller eksport senere",
- "versionCompatibilityCheckLabel": "Versions kompatibilitetskontrol",
- "versionCompatibilityCheckHint": "Forhindre valg af patches der ikke er kompatible med den valgte app-version",
- "requireSuggestedAppVersionLabel": "Kræv foreslået app-version",
- "requireSuggestedAppVersionHint": "Undgå at vælge en app med en version der ikke er den foreslåede",
- "requireSuggestedAppVersionDialogText": "Hvis du vælger en app der ikke er den foreslåede version kan det forårsage uventede problemer. \n\nVil du fortsætte alligevel?",
- "aboutLabel": "Om",
- "snackbarMessage": "Kopieret til udklipsholder",
- "restartAppForChanges": "Genstart appen for at anvende ændringer",
- "deleteTempDirLabel": "Slet midlertidige filer",
- "deleteTempDirHint": "Slet ubrugte midlertidige filer",
- "deletedTempDir": "Midlertidige filer slettet",
- "exportSettingsLabel": "Eksporter indstillinger",
- "exportSettingsHint": "Eksporter indstillinger til en JSON-fil",
- "exportedSettings": "Indstillinger eksporteret",
- "importSettingsLabel": "Importer indstillinger",
- "importSettingsHint": "Importer indstillinger fra en JSON-fil",
- "importedSettings": "Indstillinger importeret",
- "exportPatchesLabel": "Eksportér patch valg",
- "exportPatchesHint": "Eksportér patch valg til en JSON- fil",
- "exportedPatches": "Patch valg eksporteret",
- "noExportFileFound": "Ingen patch valg at eksportere",
- "importPatchesLabel": "Importér patch valg",
- "importPatchesHint": "Importer patch valg fra en JSON fil",
- "importedPatches": "Patch valg importeret",
- "resetStoredPatchesLabel": "Nulstil patch valg",
- "resetStoredPatchesHint": "Nulstil det gemte patch valg",
- "resetStoredPatchesDialogTitle": "Nulstil patch valg?",
- "resetStoredPatchesDialogText": "Standard valg af patches vil blive gendannet.",
- "resetStoredPatches": "Patch valg er blevet nulstillet",
- "resetStoredOptionsLabel": "Nulstil patch indstillinger",
- "resetStoredOptionsHint": "Nulstil alle patch indstillinger",
- "resetStoredOptionsDialogTitle": "Nulstil patch indstillinger?",
- "resetStoredOptionsDialogText": "Nulstilling af patch indstillinger vil fjerne alle gemte indstillinger.",
- "resetStoredOptions": "Indstillinger er blevet nulstillet",
- "deleteLogsLabel": "Ryd loggen",
- "deleteLogsHint": "Slet indsamlede logs for ReVanced Manager",
- "deletedLogs": "Logfiler slettet",
- "regenerateKeystoreLabel": "Regenerér keystore",
- "regenerateKeystoreHint": "Regenerér keystore der bruges til at signere apps",
- "regenerateKeystoreDialogTitle": "Regenerér keystore?",
- "regenerateKeystoreDialogText": "Patchede apps signeret med den gamle keystore vil ikke længere kunne opdateres.",
- "regeneratedKeystore": "Keystore regenereret",
- "exportKeystoreLabel": "Eksportér keystore",
- "exportKeystoreHint": "Eksportér keystore som bruges til at signere apps",
- "exportedKeystore": "Keystore eksporteret",
- "noKeystoreExportFileFound": "Ingen keystore at eksportere",
- "importKeystoreLabel": "Importér keystore",
- "importKeystoreHint": "Importér keystore der bruges til at signere apps",
- "importedKeystore": "Keystore importeret",
- "selectKeystorePassword": "Keystore Adgangskode",
- "selectKeystorePasswordHint": "Vælg adgangskode til keystore som bruges til at signere apps",
- "jsonSelectorErrorMessage": "Kan ikke bruge den valgte JSON-fil",
- "keystoreSelectorErrorMessage": "Kan ikke bruge den valgte keystore fil"
- },
- "appInfoView": {
- "widgetTitle": "Appinfo",
- "openButton": "Åbn",
- "installButton": "Installér",
- "uninstallButton": "Afinstallér",
- "unmountButton": "Afmonter",
- "exportButton": "Eksporter",
- "deleteButton": "Slet",
- "rootDialogTitle": "Fejl",
- "lastPatchedAppDescription": "Dette er en sikkerhedskopi af appen, der blev sidst lappet.",
- "unmountDialogText": "Er du sikker på, at du vil afmontere denne app?",
- "uninstallDialogText": "Er du sikker på, at du vil afinstallere denne app?",
- "rootDialogText": "App blev installeret med superbruger tilladelser, men i øjeblikket har ReVanced Manager ingen tilladelser.\nGiv superbruger tilladelser først.",
- "removeAppDialogTitle": "Slet app?",
- "removeAppDialogText": "Er du sikker på du vil slette denne backup?",
- "packageNameLabel": "Pakkenavn",
- "installTypeLabel": "Installationstype",
- "mountTypeLabel": "Montér",
- "regularTypeLabel": "Almindelig",
- "patchedDateLabel": "Dato for patching",
- "appliedPatchesLabel": "Anvendte patches",
- "sizeLabel": "Fil størrelse",
- "patchedDateHint": "${date} kl. ${time}",
- "appliedPatchesHint": "${quantity} anvendte patches",
- "updateNotImplemented": "Denne funktion er ikke implementeret endnu"
- },
- "contributorsView": {
- "widgetTitle": "Medvirkende"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "Versionsmatch inkonsistens",
- "mount_no_root": "Ingen rod-adgang",
- "mount_missing_installation": "Installation ikke fundet",
- "status_failure_blocked": "Installation blokeret",
- "install_failed_verification_failure": "Bekræftelse mislykkedes",
- "status_failure_invalid": "Installation ugyldig",
- "install_failed_version_downgrade": "Kan ikke nedgradere",
- "status_failure_conflict": "Installation konflikt",
- "status_failure_storage": "Problemer med installationslagring",
- "status_failure_incompatible": "Installation inkompatibel",
- "status_failure_timeout": "Tidsudløb for installation",
- "status_unknown": "Installation mislykkedes",
- "mount_version_mismatch_description": "Installationen mislykkedes, fordi den installerede app er en anden version end den lappede app.\n\nInstaller versionen af den app, du monterer og prøv igen.",
- "mount_no_root_description": "Installationen mislykkedes, fordi root-adgang ikke blev givet.\n\nTildel root-adgang til ReVanced Manager og prøv igen.",
- "mount_missing_installation_description": "Installationen mislykkedes, fordi den unpatched app ikke blev installeret på denne enhed for at montere over den.\n\nInstaller den unpatched app før du monterer og prøv igen.",
- "status_failure_timeout_description": "Installationen tog for lang tid at afslutte.\n\nVil du prøve igen?",
- "status_failure_storage_description": "Installationen mislykkedes på grund af utilstrækkelig opbevaring.\n\nFrigør lidt plads og prøv igen.",
- "status_failure_invalid_description": "Installationen mislykkedes på grund af den programrettede app er ugyldig.\n\nAfinstaller app'en og prøv igen?",
- "status_failure_incompatible_description": "Appen er inkompatibel med denne enhed.\n\nBrug en APK, der understøttes af denne enhed, og prøv igen.",
- "status_failure_conflict_description": "Installationen blev forhindret af en eksisterende installation af appen.\n\nAfinstaller den installerede app og prøv igen?",
- "status_failure_blocked_description": "Installationen blev blokeret af ${packageName}.\n\nJuster dine sikkerhedsindstillinger og prøv igen.",
- "install_failed_verification_failure_description": "Installationen mislykkedes på grund af et bekræftelsesproblem.\n\nJuster dine sikkerhedsindstillinger og prøv igen.",
- "install_failed_version_downgrade_description": "Installationen mislykkedes, fordi den lappede app er en lavere version end den installerede app.\n\nAfinstaller app'en og prøv igen?",
- "status_unknown_description": "Installationen mislykkedes på grund af en ukendt årsag. Prøv venligst igen."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/de_DE.i18n.json b/assets/i18n/de_DE.i18n.json
deleted file mode 100755
index 7a7614d4..00000000
--- a/assets/i18n/de_DE.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "OK",
- "cancelButton": "Abbrechen",
- "dismissButton": "Verwerfen",
- "quitButton": "Verlassen",
- "updateButton": "Aktualisieren",
- "suggested": "Empfohlen: ${version}",
- "yesButton": "Ja",
- "noButton": "Nein",
- "warning": "Warnung",
- "notice": "Hinweis",
- "noShowAgain": "Nicht erneut anzeigen",
- "add": "Hinzufügen",
- "remove": "Entfernen",
- "showChangelogButton": "Änderungsprotokoll anzeigen",
- "showUpdateButton": "Update anzeigen",
- "navigationView": {
- "dashboardTab": "Übersicht",
- "patcherTab": "Patcher",
- "settingsTab": "Einstellungen"
- },
- "homeView": {
- "refreshSuccess": "Erfolgreich aktualisiert",
- "widgetTitle": "Übersicht",
- "updatesSubtitle": "Aktualisierungen",
- "lastPatchedAppSubtitle": "Letzte gepatchte App",
- "patchedSubtitle": "Installierte Apps",
- "changeLaterSubtitle": "In den Einstellungen kannst du das später noch ändern.",
- "noSavedAppFound": "Keine App gefunden",
- "noInstallations": "Keine gepatchten Apps installiert",
- "installUpdate": "Mit der Installation des Updates fortfahren?",
- "updateSheetTitle": "ReVanced-Manager aktualisieren",
- "updateDialogTitle": "Neues Update verfügbar",
- "updatePatchesSheetTitle": "ReVanced-Patches aktualisieren",
- "updateChangelogTitle": "Änderungsverlauf",
- "updateDialogText": "Es ist ein neues Update für ${file} verfügbar.\n\nDie derzeit installierte Version ist ${version}.",
- "downloadConsentDialogTitle": "Benötigte Dateien herunterladen?",
- "downloadConsentDialogText": "Damit ReVanced-Manager ordnungsgemäß funktioniert, müssen notwendige Dateien heruntergeladen werden.",
- "downloadConsentDialogText2": "Dadurch wirst du mit ${url} verbunden.",
- "downloadingMessage": "Aktualisierung wird heruntergeladen...",
- "downloadedMessage": "Update heruntergeladen",
- "installingMessage": "Update wird installiert...",
- "errorDownloadMessage": "Aktualisierung konnte nicht heruntergeladen werden",
- "errorInstallMessage": "Aktualisierung konnte nicht installiert werden",
- "noConnection": "Keine Internetverbindung"
- },
- "applicationItem": {
- "infoButton": "Informationen"
- },
- "latestCommitCard": {
- "loadingLabel": "Lädt...",
- "timeagoLabel": "vor ${time}"
- },
- "patcherView": {
- "widgetTitle": "Patcher",
- "patchButton": "Patchen",
- "incompatibleArchWarningDialogText": "Patches auf dieser Architektur werden noch nicht unterstützt und könnten fehlschlagen. Trotzdem fortfahren?",
- "removedPatchesWarningDialogText": "Patches seit dem letzten Mal, dass Sie diese App gepatcht haben, entfernt:\n\n${patches}\n\n${newPatches}Trotzdem fortfahren?",
- "addedPatchesDialogText": "Patches seit dem letzten Mal, dass Sie diese App gepatcht haben:\n\n${addedPatches}\n\n",
- "requiredOptionDialogText": "Einige Patch-Optionen müssen gesetzt werden."
- },
- "appSelectorCard": {
- "widgetTitle": "App auswählen",
- "widgetTitleSelected": "Ausgewählte App",
- "widgetSubtitle": "Keine App ausgewählt",
- "noAppsLabel": "Keine Apps gefunden",
- "anyVersion": "Beliebige Version"
- },
- "patchSelectorCard": {
- "widgetTitle": "Patches auswählen",
- "widgetTitleSelected": "Ausgewählte Patches",
- "widgetSubtitle": "Wähle zuerst eine App",
- "widgetEmptySubtitle": "Keine Patches ausgewählt"
- },
- "socialMediaCard": {
- "widgetTitle": "Soziale Netzwerke",
- "widgetSubtitle": "Wir sind online!"
- },
- "appSelectorView": {
- "viewTitle": "App auswählen",
- "searchBarHint": "App suchen",
- "storageButton": "Speicher",
- "selectFromStorageButton": "Aus Speicher auswählen",
- "errorMessage": "Ausgewählte App kann nicht verwendet werden",
- "downloadToast": "Die Download-Funktion ist noch nicht verfügbar",
- "requireSuggestedAppVersionDialogText": "Die gewählte Version der App stimmt nicht mit der empfohlenen Version überein. Bitte wähle die App aus, die der empfohlenen Version entspricht.\n\nAusgewählte Version: v${selected}\nEmpfohlene Version: v${suggested}\n\nUm trotzdem fortzufahren, deaktiviere „Empfohlene App-Version erforderlich“ in den Einstellungen.",
- "featureNotAvailable": "Funktion ist nicht implementiert",
- "featureNotAvailableText": "Diese App ist eine Split-APK und kann nur mittels Root-Berechtigungen verlässlich gepatcht und installiert werden. Du kannst jedoch eine Komplett-APK patchen und installieren, indem du sie aus dem Speicher auswählst."
- },
- "patchesSelectorView": {
- "viewTitle": "Patches auswählen",
- "searchBarHint": "Patches suchen",
- "universalPatches": "Universelle Patches",
- "newPatches": "Neue Patches",
- "patches": "Patches",
- "doneButton": "Fertig",
- "defaultChip": "Standard",
- "defaultTooltip": "Alle Standard Patches auswählen",
- "noneChip": "Keine",
- "noneTooltip": "Alle Patches abwählen",
- "loadPatchesSelection": "Patchauswahl laden",
- "noSavedPatches": "Keine gespeicherten Patches für die ausgewählte App. Drücke „Fertig” zum Speichern der aktuellen Auswahl.",
- "noPatchesFound": "Keine Patches für die ausgewählte App gefunden",
- "setRequiredOption": "Einige Patches benötigen Optionen um gesetzt zu werden:\n\n${patches}\n\nBitte setzen Sie diese bevor Sie fortfahren."
- },
- "patchOptionsView": {
- "customValue": "Benutzerdefinierter Wert",
- "setToNull": "Auf Null setzen",
- "nullValue": "Dieser Optionswert ist derzeit null",
- "viewTitle": "Patch-Optionen",
- "saveOptions": "Speichern",
- "unselectPatch": "Patch entfernen",
- "tooltip": "Weitere Eingabeoptionen",
- "selectFilePath": "Dateipfad auswählen",
- "selectFolder": "Ordner auswählen",
- "requiredOption": "Einstellung dieser Option ist erforderlich",
- "unsupportedOption": "Dieser Vorgang ist nicht unterstützt",
- "requiredOptionNull": "Die folgenden Optionen müssen gesetzt sein:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "Die Auswahl dieses Patches kann zu Fehlern beim Patchen führen.\n\nApp-Version: ${packageVersion}\nUnterstützte Versionen:\n${supportedVersions}",
- "unsupportedPatchVersion": "Patch wird für diese App Version nicht unterstützt.",
- "unsupportedRequiredOption": "Dieser Patch enthält eine erforderliche Option, die von dieser App nicht unterstützt wird",
- "patchesChangeWarningDialogText": "Es wird empfohlen, die Standard-Patch-Auswahl und -Optionen zu verwenden. Änderungen können zu unerwarteten Problemen führen.\n\nDu musst „Ändern der Patch-Auswahl erlauben“ in den Einstellungen aktivieren, bevor du Patches auswählen kannst.",
- "patchesChangeWarningDialogButton": "Als Standard-Auswahl nutzen"
- },
- "installerView": {
- "installType": "Installationstyp wählen",
- "installTypeDescription": "Wähle zum Fortfahren die gewünschte Installationsart aus.",
- "installButton": "Installieren",
- "installRootType": "Einhängen",
- "installNonRootType": "Normal",
- "warning": "Deaktiviere automatische Updates für die gepatchte App, um unerwartete Probleme zu vermeiden.",
- "pressBackAgain": "Drücke \"Zurück\" noch einmal, um die App zu verlassen",
- "openButton": "Öffnen",
- "notificationTitle": "ReVanced Manager patcht",
- "notificationText": "Tippen, um zum Installer zurückzukehren",
- "exportApkButtonTooltip": "Gepatchte APK exportieren",
- "exportLogButtonTooltip": "Protokoll exportieren",
- "screenshotDetected": "Es wurde ein Screenshot erkannt. Wenn du versuchst, das Log zu teilen, teilst du stattdessen eine Textkopie.\n\nLog in die Zwischenablage kopieren?",
- "copiedToClipboard": "Das Protokoll wurde in die Zwischenablage kopiert",
- "noExit": "Der Installer wird noch ausgeführt, kann nicht beendet werden..."
- },
- "settingsView": {
- "widgetTitle": "Einstellungen",
- "appearanceSectionTitle": "Darstellung",
- "teamSectionTitle": "Team",
- "debugSectionTitle": "Debuggen",
- "advancedSectionTitle": "Erweitert",
- "exportSectionTitle": "Import & Export",
- "dataSectionTitle": "Datenquellen",
- "themeModeLabel": "Erscheinungsbild",
- "systemThemeLabel": "System",
- "lightThemeLabel": "Hell",
- "darkThemeLabel": "Dunkel",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "Genieße ein Erlebnis näher an deinem Gerät",
- "languageLabel": "Sprache",
- "languageUpdated": "Sprache aktualisiert",
- "sourcesLabel": "Alternative Quellen",
- "sourcesLabelHint": "Konfigurieren Sie die alternativen Quellen für überarbeitete Patches",
- "useAlternativeSources": "Benutze alternative Quellen",
- "useAlternativeSourcesHint": "Verwende alternative Quellen für überarbeitete Patches anstelle der API",
- "sourcesResetDialogTitle": "Zurücksetzen",
- "sourcesResetDialogText": "Bist du dir sicher, dass du die benutzerdefinierten Quellen auf ihre Standardwerte zurücksetzen möchtest?",
- "apiURLResetDialogText": "Bist du dir sicher, dass du die API-URL auf ihren Standardwert zurücksetzen möchtest?",
- "sourcesUpdateNote": "Hinweis: Dies wird automatisch ReVanced Patches von den alternativen Quellen herunterladen.\n\nDies verbindet dich mit der alternativen Quelle.",
- "apiURLLabel": "API-URL",
- "apiURLHint": "Konfiguriere die API URL von ReVanced Manager",
- "selectApiURL": "API-URL",
- "orgPatchesLabel": "Patches Organisation",
- "sourcesPatchesLabel": "Patches Quelle",
- "contributorsLabel": "Mitwirkende",
- "contributorsHint": "Eine Liste der Mitwirkenden von ReVanced",
- "logsLabel": "Logs teilen",
- "logsHint": "ReVanced Manager Logs teilen",
- "enablePatchesSelectionLabel": "Ändern der Patch-Auswahl erlauben",
- "enablePatchesSelectionHint": "Patches aktivieren oder deaktivieren nicht verhindern",
- "enablePatchesSelectionWarningText": "Ändern der Auswahl der Patches kann zu unerwarteten Problemen führen.\n\nTrotzdem aktivieren?",
- "disablePatchesSelectionWarningText": "Sie sind im Begriff, die Auswahl der Patches zu deaktivieren.\nDie Standardauswahl der Patches wird wiederhergestellt.\n\nTrotzdem deaktivieren?",
- "autoUpdatePatchesLabel": "Patches automatisch aktualisieren",
- "autoUpdatePatchesHint": "Patches automatisch auf die neueste Version aktualisieren",
- "showUpdateDialogLabel": "Update-Dialog anzeigen",
- "showUpdateDialogHint": "Dialog anzeigen, wenn ein neues Update verfügbar ist",
- "universalPatchesLabel": "Universelle Patches zeigen",
- "universalPatchesHint": "Alle Apps und Universal Patches anzeigen (kann die App Liste verlangsamen)",
- "lastPatchedAppLabel": "Gepatchte App speichern",
- "lastPatchedAppHint": "Speichere den letzten Patch zum Installieren oder Exportieren später",
- "versionCompatibilityCheckLabel": "Versionskompatibilitätskontrolle",
- "versionCompatibilityCheckHint": "Verhindert die Auswahl von Patches, die nicht mit der gewählten App-Version kompatibel sind",
- "requireSuggestedAppVersionLabel": "Empfohlene App-Version erforderlich",
- "requireSuggestedAppVersionHint": "Verhindere die Auswahl einer App mit einer nicht empfohlenen Version",
- "requireSuggestedAppVersionDialogText": "Das Auswählen einer App, die nicht der empfohlenen Version entspricht, kann zu unerwarteten Problemen führen.\n\nMöchten Sie trotzdem fortfahren?",
- "aboutLabel": "Über",
- "snackbarMessage": "In die Zwischenablage kopiert",
- "restartAppForChanges": "Starte die App neu, um die Änderungen zu übernehmen",
- "deleteTempDirLabel": "Lösche temporäre Dateien",
- "deleteTempDirHint": "Unbenutzte temporäre Dateien löschen",
- "deletedTempDir": "Temporäre Dateien wurden gelöscht",
- "exportSettingsLabel": "Export-Einstellungen",
- "exportSettingsHint": "Einstellungen in eine JSON-Datei exportieren",
- "exportedSettings": "Einstellungen exportiert",
- "importSettingsLabel": "Import-Einstellungen",
- "importSettingsHint": "Einstellungen aus einer JSON-Datei importieren",
- "importedSettings": "Einstellungen importiert",
- "exportPatchesLabel": "Patchauswahl exportieren",
- "exportPatchesHint": "Patch-Auswahl in eine JSON-Datei exportieren",
- "exportedPatches": "Patch-Auswahl exportiert",
- "noExportFileFound": "Keine Patch-Auswahl zum Exportieren",
- "importPatchesLabel": "Patch-Auswahl importieren",
- "importPatchesHint": "Patch-Auswahl aus einer JSON-Datei importieren",
- "importedPatches": "Patch Auswahl importiert",
- "resetStoredPatchesLabel": "Patch-Auswahl zurücksetzen",
- "resetStoredPatchesHint": "Gespeicherte Patch-Auswahl zurücksetzen",
- "resetStoredPatchesDialogTitle": "Patch-Auswahl zurücksetzen?",
- "resetStoredPatchesDialogText": "Die Standardauswahl der Patches wird wiederhergestellt.",
- "resetStoredPatches": "Patch-Auswahl wurde zurückgesetzt",
- "resetStoredOptionsLabel": "Patch-Optionen zurücksetzen",
- "resetStoredOptionsHint": "Alle Patch-Optionen zurücksetzen",
- "resetStoredOptionsDialogTitle": "Patch-Optionen zurücksetzen?",
- "resetStoredOptionsDialogText": "Beim Zurücksetzen der Patch-Optionen werden alle gespeicherten Optionen entfernt.",
- "resetStoredOptions": "Einstellungen wurden zurückgesetzt",
- "deleteLogsLabel": "Protokolle löschen",
- "deleteLogsHint": "Gesammelte ReVanced Manager Logs löschen",
- "deletedLogs": "Protokolle gelöscht",
- "regenerateKeystoreLabel": "Keystore neu generieren",
- "regenerateKeystoreHint": "Den zur Signierung von Apps verwendeten Keystore neu generieren",
- "regenerateKeystoreDialogTitle": "Keystore neu generieren?",
- "regenerateKeystoreDialogText": "Gepatchte Apps, die mit dem alten Keystore signiert sind, können nicht mehr aktualisiert werden.",
- "regeneratedKeystore": "Keystore regeneriert",
- "exportKeystoreLabel": "Keystore exportieren",
- "exportKeystoreHint": "Den Keystore exportieren, mit dem Apps signiert werden",
- "exportedKeystore": "Keystore exportiert",
- "noKeystoreExportFileFound": "Kein Keystore zum Exportieren",
- "importKeystoreLabel": "Keystore importieren",
- "importKeystoreHint": "Importiere einen Keystore zur Signierung von Apps",
- "importedKeystore": "Keystore importiert",
- "selectKeystorePassword": "Keystore-Passwort",
- "selectKeystorePasswordHint": "Keystore-Passwort zur Signierung von Apps auswählen",
- "jsonSelectorErrorMessage": "Ausgewählte JSON-Datei kann nicht verwendet werden",
- "keystoreSelectorErrorMessage": "Ausgewählte Keystore-Datei kann nicht verwendet werden"
- },
- "appInfoView": {
- "widgetTitle": "App Info",
- "openButton": "Öffnen",
- "installButton": "Installieren",
- "uninstallButton": "Deinstallieren",
- "unmountButton": "Unmounten",
- "exportButton": "Exportieren",
- "deleteButton": "Löschen",
- "rootDialogTitle": "Fehler",
- "lastPatchedAppDescription": "Dies ist ein Backup der App, die zuletzt gepatcht wurde.",
- "unmountDialogText": "Bist du sicher, dass du die Patches dieser App entfernen möchtest?",
- "uninstallDialogText": "Bist du sicher, dass du diese App deinstallieren möchtest?",
- "rootDialogText": "Die App wurde mit Superuser-Berechtigungen installiert, aber derzeit hat ReVanced Manager keine Berechtigungen.\nBitte erteile zuerst Superuser-Berechtigungen.",
- "removeAppDialogTitle": "App löschen?",
- "removeAppDialogText": "Bist du sicher, dass du diese Sicherung löschen möchtest?",
- "packageNameLabel": "Paketname",
- "installTypeLabel": "Installationsart",
- "mountTypeLabel": "Einhängen",
- "regularTypeLabel": "Normal",
- "patchedDateLabel": "Patch-Datum",
- "appliedPatchesLabel": "Angewandte Patches",
- "sizeLabel": "Größe der Datei",
- "patchedDateHint": "${date} um ${time}",
- "appliedPatchesHint": "${quantity} angewandte Patches",
- "updateNotImplemented": "Diese Funktion ist noch nicht implementiert"
- },
- "contributorsView": {
- "widgetTitle": "Mitwirkende"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "Versionskonflikt",
- "mount_no_root": "Kein Root-Zugriff",
- "mount_missing_installation": "Installation nicht gefunden",
- "status_failure_blocked": "Installation blockiert",
- "install_failed_verification_failure": "Überprüfung fehlgeschlagen",
- "status_failure_invalid": "Installation fehlgeschlagen",
- "install_failed_version_downgrade": "Downgrade nicht möglich",
- "status_failure_conflict": "Installationskonflikt",
- "status_failure_storage": "Installations-Speicher Problem",
- "status_failure_incompatible": "Installation ist nicht kompatibel",
- "status_failure_timeout": "Installations-Timeout",
- "status_unknown": "Installation fehlgeschlagen",
- "mount_version_mismatch_description": "Die Installation ist fehlgeschlagen, da die installierte App eine andere Version hat als die gepatchte App.\n\nInstallieren Sie die Version der App, die Sie mounten, und versuchen Sie es erneut.",
- "mount_no_root_description": "ReVanced ManagerDie Installation ist fehlgeschlagen, da der Root-Zugriff nicht gewährt wurde.\n\nGewähre Root-Zugriff für ReVanced Manager und versuche es erneut.",
- "mount_missing_installation_description": "The installation failed due to the unpatched app not being installed on this device in order to mount over it.\n\nInstall the unpatched app before mounting and try again.",
- "status_failure_timeout_description": "Die Installation hat zu lange gedauert.\n\nMöchten Sie es erneut versuchen?",
- "status_failure_storage_description": "Die Installation ist aufgrund unzureichenden Speichers fehlgeschlagen.\n\nSchaffe etwas Platz und versuche es erneut.",
- "status_failure_invalid_description": "Die Installation ist fehlgeschlagen, da die gepatchte App ungültig ist.\n\nDie App deinstallieren und erneut versuchen?",
- "status_failure_incompatible_description": "Die App ist mit diesem Gerät nicht kompatibel.\n\nVerwenden Sie eine APK, die von diesem Gerät unterstützt wird, und versuchen Sie es erneut.",
- "status_failure_conflict_description": "Die Installation wurde durch eine bestehende Installation der App verhindert.\n\nDie installierte App deinstallieren und erneut versuchen?",
- "status_failure_blocked_description": "Die Installation wurde von ${packageName} blockiert.\n\nPassen Sie Ihre Sicherheitseinstellungen an und versuchen Sie es erneut.",
- "install_failed_verification_failure_description": "Die Installation ist aufgrund eines Verifizierungsproblems fehlgeschlagen.\n\nPassen Sie Ihre Sicherheitseinstellungen an und versuchen Sie es erneut.",
- "install_failed_version_downgrade_description": "Die Installation ist fehlgeschlagen, da die gepatchte App eine niedrigere Version als die installierte App ist.\n\nDie App deinstallieren und erneut versuchen?",
- "status_unknown_description": "Die Installation ist aus einem unbekannten Grund fehlgeschlagen. Bitte versuchen Sie es erneut."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/el_GR.i18n.json b/assets/i18n/el_GR.i18n.json
deleted file mode 100755
index a40e14f5..00000000
--- a/assets/i18n/el_GR.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "Εντάξει",
- "cancelButton": "Ακύρωση",
- "dismissButton": "Απόρριψη",
- "quitButton": "Έξοδος",
- "updateButton": "Ενημέρωση",
- "suggested": "Προτεινόμενη έκδοση: ${version}",
- "yesButton": "Ναι",
- "noButton": "Όχι",
- "warning": "Προειδοποίηση",
- "notice": "Σημείωση",
- "noShowAgain": "Να μην ξαναεμφανιστεί",
- "add": "Προσθήκη",
- "remove": "Αφαίρεση",
- "showChangelogButton": "Εμφάνιση αλλαγών",
- "showUpdateButton": "Εμφάνιση ενημέρωσης",
- "navigationView": {
- "dashboardTab": "Πίνακας Ελέγχου",
- "patcherTab": "Τροποποιητής",
- "settingsTab": "Ρυθμίσεις"
- },
- "homeView": {
- "refreshSuccess": "Ανανεώθηκε επιτυχώς",
- "widgetTitle": "Πίνακας Ελέγχου",
- "updatesSubtitle": "Ενημερώσεις",
- "lastPatchedAppSubtitle": "Τελευταία τροποποιημένη εφαρμογή",
- "patchedSubtitle": "Εγκατεστημένες εφαρμογές",
- "changeLaterSubtitle": "Μπορείτε να το αλλάξετε αργότερα στις ρυθμίσεις.",
- "noSavedAppFound": "Δε βρέθηκε εφαρμογή",
- "noInstallations": "Δεν έχουν εγκατασταθεί τροποποιημένες εφαρμογές",
- "installUpdate": "Συνέχεια για εγκατάσταση της ενημέρωσης;",
- "updateSheetTitle": "Ενημέρωση του ReVanced Manager",
- "updateDialogTitle": "Υπάρχει διαθέσιμη ενημέρωση",
- "updatePatchesSheetTitle": "Ενημέρωση τροποποιήσεων ReVanced",
- "updateChangelogTitle": "Τι νέο υπάρχει",
- "updateDialogText": "Υπάρχει διαθέσιμη μια νέα ενημέρωση για το ${file}.\n\nΗ τρέχουσα εγκατεστημένη έκδοση είναι η ${version}.",
- "downloadConsentDialogTitle": "Λήψη των απαραίτητων αρχείων;",
- "downloadConsentDialogText": "Το ReVanced Manager πρέπει να κατεβάσει τα απαραίτητα αρχεία για να λειτουργήσει σωστά.",
- "downloadConsentDialogText2": "Αυτό θα σας συνδέσει με το ${url}.",
- "downloadingMessage": "Λήψη ενημέρωσης...",
- "downloadedMessage": "Η λήψη της ενημέρωσης ολοκληρώθηκε",
- "installingMessage": "Εγκατάσταση ενημέρωσης...",
- "errorDownloadMessage": "Αδυναμία λήψης ενημέρωσης",
- "errorInstallMessage": "Αδυναμία εγκατάστασης ενημέρωσης",
- "noConnection": "Δεν υπάρχει σύνδεση στο διαδίκτυο"
- },
- "applicationItem": {
- "infoButton": "Πληροφορίες"
- },
- "latestCommitCard": {
- "loadingLabel": "Φόρτωση...",
- "timeagoLabel": "${time} πριν"
- },
- "patcherView": {
- "widgetTitle": "Τροποποιητής",
- "patchButton": "Τροποποίηση",
- "incompatibleArchWarningDialogText": "Η διαδικασία της τροποποίησης δεν υποστηρίζεται προς το παρόν σε συσκευές της συγκεκριμένης αρχιτεκτονικής και μπορεί να αποτύχει. Συνέχεια παρόλα αυτά;",
- "removedPatchesWarningDialogText": "Από την τελευταία φορά που τροποποιήσατε αυτή την εφαρμογή, έχουν αφαιρεθεί οι εξής τροποποιήσεις:\n\n${patches}\n\n${newPatches}Συνέχεια παρ' όλα αυτά;",
- "addedPatchesDialogText": "Από την τελευταία φορά που τροποποιήσατε αυτή την εφαρμογή, έχουν προστεθεί οι εξής τροποποιήσεις:\n\n${addedPatches}",
- "requiredOptionDialogText": "Κάποιες επιλογές τροποποιήσεων πρέπει να οριστούν."
- },
- "appSelectorCard": {
- "widgetTitle": "Επιλέξτε μία εφαρμογή",
- "widgetTitleSelected": "Επιλεγμένη εφαρμογή",
- "widgetSubtitle": "Δεν έχει επιλεγεί κάποια εφαρμογή",
- "noAppsLabel": "Δε βρέθηκαν εφαρμογές",
- "anyVersion": "Οποιαδήποτε"
- },
- "patchSelectorCard": {
- "widgetTitle": "Επιλέξτε τροποποιήσεις",
- "widgetTitleSelected": "Επιλεγμένες τροποποιήσεις",
- "widgetSubtitle": "Επιλέξτε πρώτα μια εφαρμογή",
- "widgetEmptySubtitle": "Δεν επιλέχθηκαν τροποποιήσεις"
- },
- "socialMediaCard": {
- "widgetTitle": "Κοινωνικά Δίκτυα",
- "widgetSubtitle": "Είμαστε ενεργοί!"
- },
- "appSelectorView": {
- "viewTitle": "Επιλέξτε μία εφαρμογή",
- "searchBarHint": "Αναζήτηση εφαρμογής",
- "storageButton": "Αποθηκευτικός χώρος",
- "selectFromStorageButton": "Επιλογή από αποθηκευτικό χώρο",
- "errorMessage": "Αδυναμία χρήσης της επιλεγμένης εφαρμογής",
- "downloadToast": "Η λειτουργία λήψης δεν είναι ακόμη διαθέσιμη",
- "requireSuggestedAppVersionDialogText": "Η έκδοση της εφαρμογής που επιλέξατε δεν ταιριάζει με την προτεινόμενη έκδοση αυτό μπορεί να προκαλέσει ανεπιθύμητα θέματα. Παρακαλώ επιλέξτε την εφαρμογή που ταιριάζει με την προτεινόμενη έκδοση.\n\nΕπιλεγμένη έκδοση: ${selected}\nΠροτεινόμενη έκδοση: ${suggested}\n\nΓια να προχωρήσετε ούτως ή άλλως, απενεργοποιήστε την επιλογή «Να απαιτείται η προτεινόμενη έκδοση εφαρμογής» στις ρυθμίσεις.",
- "featureNotAvailable": "Η δυνατότητα δεν έχει υλοποιηθεί",
- "featureNotAvailableText": "Αυτή η εφαρμογή είναι εγκατεστημένη ως split APK και μπορεί να τροποποιηθεί και να εγκατασταθεί αξιόπιστα μόνο μέσω προσάρτησης με δικαιώματα root. Ωστόσο, μπορείτε να τροποποιήσετε και να εγκαταστήσετε ένα πλήρες APK κανονικά επιλέγοντάς το από τον χώρο αποθήκευσης."
- },
- "patchesSelectorView": {
- "viewTitle": "Επιλέξτε τροποποιήσεις",
- "searchBarHint": "Αναζήτηση τροποποιήσεων",
- "universalPatches": "Γενικευμένες τροποποιήσεις",
- "newPatches": "Νέες τροποποιήσεις",
- "patches": "Τροποποιήσεις",
- "doneButton": "Τέλος",
- "defaultChip": "Προεπιλογές",
- "defaultTooltip": "Επιλέξτε όλες τις προεπιλεγμένες τροποποιήσεις",
- "noneChip": "Καμία",
- "noneTooltip": "Αποεπιλέξτε όλες τις τροποποιήσεις",
- "loadPatchesSelection": "Φόρτωση επιλεγμένων τροποποιήσεων",
- "noSavedPatches": "Δεν υπάρχουν αποθηκευμένες τροποποιήσεις για την εφαρμογή που επιλέξατε.\nΠατήστε «Τέλος» για να αποθηκεύσετε τις τωρινές επιλογές σας.",
- "noPatchesFound": "Δε βρέθηκαν τροποποιήσεις για την επιλεγμένη εφαρμογή",
- "setRequiredOption": "Κάποιες τροποποιήσεις απαιτούν να ορίζονται κάποιες επιλογές:\n\n${patches}\n\nΠαρακαλώ ορίστε τις επιλογές πρώτου συνεχίσετε."
- },
- "patchOptionsView": {
- "customValue": "Προσαρμοσμένη τιμή",
- "setToNull": "Ορισμός κενής τιμής",
- "nullValue": "Η τιμή της επιλογής είναι κενή",
- "viewTitle": "Επιλογές τροποποιήσεων",
- "saveOptions": "Αποθήκευση",
- "unselectPatch": "Αποεπιλέξτε τροποποιήσεις",
- "tooltip": "Περισσότερες επιλογές εισόδου",
- "selectFilePath": "Επιλογή τοποθεσίας αρχείου",
- "selectFolder": "Επιλογή φακέλου",
- "requiredOption": "Απαιτείται ρύθμιση γι' αυτήν την επιλογή",
- "unsupportedOption": "Αυτή η επιλογή δεν υποστηρίζεται",
- "requiredOptionNull": "Πρέπει να οριστούν οι παρακάτω επιλογές:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "Η επιλογή αυτής της τροποποίησης μπορεί να επιφέρει σφάλματα τροποποίησης.\n\nΈκδοση εφαρμογής: ${packageVersion}\nΥποστηριζόμενες εκδόσεις: ${supportedVersions}",
- "unsupportedPatchVersion": "Η τροποποίηση δεν υποστηρίζεται σε αυτήν την έκδοση της εφαρμογής.",
- "unsupportedRequiredOption": "Αυτή η τροποποίηση περιέχει μια αναγκαστική επιλογή η οποία δεν υποστηρίζεται από αυτήν την εφαρμογή",
- "patchesChangeWarningDialogText": "Συνιστάται να χρησιμοποιείτε τις προεπιλεγμένες τροποποιήσεις και επιλογές τους. Η αλλαγή τους μπορεί να οδηγήσει σε μη αναμενόμενα θέματα.\n\nΘα πρέπει να ενεργοποιήσετε το «Να επιτρέπονται αλλαγές επιλογών τροποποιήσεων» στις ρυθμίσεις προτού αλλάξετε οτιδήποτε.",
- "patchesChangeWarningDialogButton": "Χρήση προεπιλεγμένων επιλογών"
- },
- "installerView": {
- "installType": "Επιλέξτε τύπο εγκατάστασης",
- "installTypeDescription": "Συνεχίστε επιλέγοντας τον τύπο εγκατάστασης.",
- "installButton": "Εγκατάσταση",
- "installRootType": "Προσάρτηση",
- "installNonRootType": "Κανονική",
- "warning": "Απενεργοποίηση αυτόματων ενημερώσεων για την τροποποιημένη εφαρμογή για την αποφυγή απροσδόκητων προβλημάτων.",
- "pressBackAgain": "Πατήστε πίσω ξανά για ακύρωση",
- "openButton": "Άνοιγμα",
- "notificationTitle": "Πραγματοποιείται τροποποίηση μέσω ReVanced Manager",
- "notificationText": "Πατήστε για να επιστρέψετε στο πρόγραμμα εγκατάστασης",
- "exportApkButtonTooltip": "Εξαγωγή τροποποιημένου αρχείου APK",
- "exportLogButtonTooltip": "Εξαγωγή αρχείου καταγραφής",
- "screenshotDetected": "Ανιχνεύθηκε στιγμιότυπο οθόνης. Αν προσπαθείτε να κοινοποιήσετε το αρχείο καταγραφής, παρακαλούμε να κοινοποιήσετε αντίγραφο κειμένου αντ' αυτού.\n\nΑντιγραφή αρχείου καταγραφής στο πρόχειρο;",
- "copiedToClipboard": "Το αρχείο καταγραφής αντιγράφηκε στο πρόχειρο",
- "noExit": "Το πρόγραμμα εγκατάστασης εκτελείται ακόμη, αδυναμία εξόδου..."
- },
- "settingsView": {
- "widgetTitle": "Ρυθμίσεις",
- "appearanceSectionTitle": "Εμφάνιση",
- "teamSectionTitle": "Ομάδα",
- "debugSectionTitle": "Εντοπισμός σφαλμάτων",
- "advancedSectionTitle": "Για προχωρημένους",
- "exportSectionTitle": "Εισαγωγή & εξαγωγή",
- "dataSectionTitle": "Πηγές δεδομένων",
- "themeModeLabel": "Θέμα εφαρμογής",
- "systemThemeLabel": "Σύστημα",
- "lightThemeLabel": "Ανοιχτόχρωμο",
- "darkThemeLabel": "Σκουρόχρωμο",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "Εμφάνιση που ταιριάζει με τη δική σας συσκευή",
- "languageLabel": "Γλώσσα",
- "languageUpdated": "Η γλώσσα ενημερώθηκε",
- "sourcesLabel": "Εναλλακτικές πηγές",
- "sourcesLabelHint": "Ρυθμίστε τις εναλλακτικές πηγές για τις τροποποιήσεις ReVanced",
- "useAlternativeSources": "Χρήση εναλλακτικών πηγών",
- "useAlternativeSourcesHint": "Χρήση εναλλακτικών πηγών για τις τροποποιήσεις ReVanced αντί του API",
- "sourcesResetDialogTitle": "Επαναφορά",
- "sourcesResetDialogText": "Είστε βέβαιοι ότι θέλετε να επαναφέρετε τις πηγές σας στις προεπιλεγμένες τιμές τους;",
- "apiURLResetDialogText": "Είστε βέβαιοι ότι θέλετε να επαναφέρετε την API URL σας στην προεπιλεγμένη τιμή της;",
- "sourcesUpdateNote": "Σημείωση: Θα γίνεται αυτόματη λήψη των τροποποιήσεων ReVanced από τις εναλλακτικές πηγές.\n\nΟπότε θα συνδέεστε με τις εναλλακτικές πηγές.",
- "apiURLLabel": "API URL",
- "apiURLHint": "Ρύθμιση διεύθυνσης URL του API του ReVanced Manager",
- "selectApiURL": "API URL",
- "orgPatchesLabel": "Οργάνωση τροποποιήσεων",
- "sourcesPatchesLabel": "Πηγή τροποποιήσεων",
- "contributorsLabel": "Συνεισφέροντες",
- "contributorsHint": "Λίστα με όσους έχουν συμβάλει στο ReVanced",
- "logsLabel": "Κοινοποίηση αρχείων καταγραφής",
- "logsHint": "Κοινοποίηση αρχείων καταγραφής του ReVanced Manager",
- "enablePatchesSelectionLabel": "Να επιτρέπονται αλλαγές επιλογών τροποποιήσεων",
- "enablePatchesSelectionHint": "Να μην εμποδίζονται οι επιλογές τροποποιήσεων",
- "enablePatchesSelectionWarningText": "Οι αλλαγές στις προεπιλεγμένες επιλογές τροποποιήσεων ίσως επιφέρουν μη αναμενόμενα προβλήματα.\n\nΕνεργοποίηση παρόλα αυτά;",
- "disablePatchesSelectionWarningText": "Πρόκειται να απενεργοποιήσετε τη δυνατότητα αλλαγής των επιλογών τροποποιήσεων.\nΟι προεπιλεγμένες επιλογές τροποποιήσεων θα επαναφερθούν.\n\nΑπενεργοποίηση παρόλα αυτά;",
- "autoUpdatePatchesLabel": "Αυτόματες ενημερώσεις τροποποιήσεων",
- "autoUpdatePatchesHint": "Αυτόματη ενημέρωση τροποποιήσεων στην τελευταία έκδοση",
- "showUpdateDialogLabel": "Εμφάνιση προτροπής για ενημερώσεις",
- "showUpdateDialogHint": "Εμφάνιση ειδοποίησης όταν είναι διαθέσιμη κάποια νέα ενημέρωση",
- "universalPatchesLabel": "Εμφάνιση γενικευμένων τροποποιήσεων",
- "universalPatchesHint": "Εμφάνιση όλων των εφαρμογών και γενικευμένων τροποποιήσεων (ενδέχεται να επιβραδύνει τη φόρτωση λίστας εφαρμογών)",
- "lastPatchedAppLabel": "Αποθήκευση τροποποιημένης εφαρμογής",
- "lastPatchedAppHint": "Αποθηκεύστε την τελευταία τροποποίηση για εγκατάσταση ή εξαγωγή αργότερα",
- "versionCompatibilityCheckLabel": "Έλεγχος συμβατότητας έκδοσης",
- "versionCompatibilityCheckHint": "Αποκλεισμός επιλογών τροποποιήσεων που δεν είναι συμβατές με την επιλεγμένη έκδοση εφαρμογής",
- "requireSuggestedAppVersionLabel": "Να απαιτείται η προτεινόμενη έκδοση εφαρμογής",
- "requireSuggestedAppVersionHint": "Αποκλεισμός επιλογής εκδόσεων εφαρμογών που δεν προτείνονται",
- "requireSuggestedAppVersionDialogText": "Η επιλογή μιας εφαρμογής που δεν είναι η προτεινόμενη έκδοση μπορεί να επιφέρει μη αναμενόμενα προβλήματα.\n\nΘέλετε να προχωρήσετε ούτως ή άλλως;",
- "aboutLabel": "Σχετικά με",
- "snackbarMessage": "Αντιγράφηκε στο πρόχειρο",
- "restartAppForChanges": "Επανεκκινήστε την εφαρμογή για να εφαρμόσετε αλλαγές",
- "deleteTempDirLabel": "Διαγραφή προσωρινών αρχείων",
- "deleteTempDirHint": "Διαγραφή των αχρησιμοποίητων προσωρινών αρχείων",
- "deletedTempDir": "Τα προσωρινά αρχεία διαγράφηκαν",
- "exportSettingsLabel": "Εξαγωγή ρυθμίσεων",
- "exportSettingsHint": "Εξαγωγή ρυθμίσεων σε αρχείο JSON",
- "exportedSettings": "Οι ρυθμίσεις εξήχθησαν",
- "importSettingsLabel": "Εισαγωγή ρυθμίσεων",
- "importSettingsHint": "Εισαγωγή ρυθμίσεων από ένα αρχείο JSON",
- "importedSettings": "Οι ρυθμίσεις εισήχθησαν",
- "exportPatchesLabel": "Εξαγωγή των επιλεγμένων τροποποιήσεων",
- "exportPatchesHint": "Εξαγωγή των επιλεγμένων τροποποιήσεων σε ένα αρχείο JSON",
- "exportedPatches": "Η εξαγωγή των επιλεγμένων τροποποιήσεων ολοκληρώθηκε",
- "noExportFileFound": "Δεν υπάρχει επιλογή τροποποιήσεων για εξαγωγή",
- "importPatchesLabel": "Εισαγωγή των επιλεγμένων τροποποιήσεων",
- "importPatchesHint": "Εισαγωγή των επιλεγμένων τροποποιήσεων από ένα αρχείο JSON",
- "importedPatches": "Η εισαγωγή των επιλεγμένων τροποποιήσεων ολοκληρώθηκε",
- "resetStoredPatchesLabel": "Επαναφορά επιλογών τροποποιήσεων",
- "resetStoredPatchesHint": "Επαναφορά των αποθηκευμένων επιλογών τροποποιήσεων",
- "resetStoredPatchesDialogTitle": "Επαναφορά επιλογών τροποποιήσεων;",
- "resetStoredPatchesDialogText": "Θα επαναφερθούν οι προεπιλεγμένες επιλογές τροποποιήσεων.",
- "resetStoredPatches": "Η επαναφορά των επιλεγμένων τροποποιήσεων ολοκληρώθηκε",
- "resetStoredOptionsLabel": "Επαναφορά επιλογών τροποποιήσεων",
- "resetStoredOptionsHint": "Επαναφορά όλων των επιλογών τροποποιήσεων",
- "resetStoredOptionsDialogTitle": "Επαναφορά επιλογών τροποποιήσεων;",
- "resetStoredOptionsDialogText": "Η επαναφορά των επιλογών τροποποιήσεων θα αφαιρέσει όλες τις αποθηκευμένες επιλογές.",
- "resetStoredOptions": "Οι επιλογές επαναφέρθηκαν",
- "deleteLogsLabel": "Εκκαθάριση αρχείων καταγραφής",
- "deleteLogsHint": "Διαγραφή των αρχείων καταγραφής που έχει συλλέξει το ReVanced Manager",
- "deletedLogs": "Τα αρχεία καταγραφής έχουν διαγραφεί",
- "regenerateKeystoreLabel": "Επανέκδοση keystore",
- "regenerateKeystoreHint": "Επαναφορά του keystore που χρησιμοποιείται για την υπογραφή των εφαρμογών",
- "regenerateKeystoreDialogTitle": "Επανέκδοση του keystore;",
- "regenerateKeystoreDialogText": "Οι τροποποιημένες εφαρμογές που είχαν υπογραφεί με το παλιό keystore δε θα μπορούν πλέον να ενημερώνονται.",
- "regeneratedKeystore": "Το keystore ανανεώθηκε",
- "exportKeystoreLabel": "Εξαγωγή keystore",
- "exportKeystoreHint": "Εξάγετε το κλειδί που χρησιμοποιείται για την υπογραφή των εφαρμογών",
- "exportedKeystore": "Το κλειδί εξήχθη",
- "noKeystoreExportFileFound": "Δεν υπάρχει κλειδί για να εξαχθεί",
- "importKeystoreLabel": "Εισαγωγή keystore",
- "importKeystoreHint": "Εισάγετε ένα κλειδί που θα χρησιμοποιείται για την υπογραφή εφαρμογών",
- "importedKeystore": "Το κλειδί εισήχθη",
- "selectKeystorePassword": "Κωδικός Keystore",
- "selectKeystorePasswordHint": "Επιλέξτε κωδικό πρόσβασης για το κλειδί που χρησιμοποιείται για την υπογραφή εφαρμογών",
- "jsonSelectorErrorMessage": "Αδυναμία χρήσης του επιλεγμένου αρχείου JSON",
- "keystoreSelectorErrorMessage": "Αδυναμία χρήσης του επιλεγμένου αρχείου keystore"
- },
- "appInfoView": {
- "widgetTitle": "Πληροφορίες εφαρμογής",
- "openButton": "Άνοιγμα",
- "installButton": "Εγκατάσταση",
- "uninstallButton": "Απεγκατάσταση",
- "unmountButton": "Αποπροσάρτηση",
- "exportButton": "Εξαγωγή",
- "deleteButton": "Διαγραφή",
- "rootDialogTitle": "Σφάλμα",
- "lastPatchedAppDescription": "Αυτό είναι ένα αντίγραφο ασφαλείας της εφαρμογής που τροποποιήθηκε τελευταία.",
- "unmountDialogText": "Είστε βέβαιοι ότι θέλετε να αποπροσαρτήσετε αυτήν την εφαρμογή;",
- "uninstallDialogText": "Είστε βέβαιοι ότι θέλετε να απεγκαταστήσετε αυτή την εφαρμογή;",
- "rootDialogText": "Η εφαρμογή εγκαταστάθηκε με πρόσβαση root, αλλά αυτή τη στιγμή το ReVanced Manager δεν έχει πρόσβαση root.\nΠαρακαλούμε παραχωρήστε πρόσβαση root.",
- "removeAppDialogTitle": "Διαγραφή εφαρμογής;",
- "removeAppDialogText": "Είστε βέβαιοι ότι θέλετε να διαγράψετε αυτό το αντίγραφο ασφαλείας;",
- "packageNameLabel": "Όνομα πακέτου",
- "installTypeLabel": "Τύπος εγκατάστασης",
- "mountTypeLabel": "Προσάρτηση",
- "regularTypeLabel": "Κανονική",
- "patchedDateLabel": "Ημερομηνία τροποποίησης",
- "appliedPatchesLabel": "Τροποποιήσεις που έχουν εφαρμοστεί",
- "sizeLabel": "Μέγεθος αρχείου",
- "patchedDateHint": "${date} στις ${time}",
- "appliedPatchesHint": "${quantity} εφαρμοσμένες τροποποιήσεις",
- "updateNotImplemented": "Αυτή η δυνατότητα δεν είναι ακόμα διαθέσιμη"
- },
- "contributorsView": {
- "widgetTitle": "Συνεισφέροντες"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "Ασυμφωνία έκδοσης",
- "mount_no_root": "Δεν υπάρχει πρόσβαση root",
- "mount_missing_installation": "Η εγκατάσταση δε βρέθηκε",
- "status_failure_blocked": "Η εγκατάσταση αποκλείστηκε",
- "install_failed_verification_failure": "Η επαλήθευση απέτυχε",
- "status_failure_invalid": "Μη έγκυρη εγκατάσταση",
- "install_failed_version_downgrade": "Αδυναμία υποβάθμισης",
- "status_failure_conflict": "Η εγκατάσταση αντικρούστηκε",
- "status_failure_storage": "Πρόβλημα αποθηκευτικού χώρου εγκατάστασης",
- "status_failure_incompatible": "Μη συμβατή εγκατάσταση",
- "status_failure_timeout": "Τέλος χρονικού ορίου για την εγκατάσταση",
- "status_unknown": "Η εγκατάσταση απέτυχε",
- "mount_version_mismatch_description": "Η εγκατάσταση απέτυχε διότι η εγκατεστημένη εφαρμογή έχει διαφορετική έκδοση από την τροποποιημένη εφαρμογή.\n\nΕγκαταστήστε την έκδοση της εφαρμογής που προσαρτήσατε και δοκιμάστε ξανά.",
- "mount_no_root_description": "Η εγκατάσταση απέτυχε διότι δεν παραχωρήθηκε πρόσβαση root.\n\nΠαραχωρήστε πρόσβαση root στο ReVanced Manager και δοκιμάστε ξανά.",
- "mount_missing_installation_description": "Η εγκατάσταση απέτυχε διότι η μη τροποποιημένη εφαρμογή δεν έχει εγκατασταθεί σε αυτή τη συσκευή ώστε να την προσαρτήσετε.\n\nΕγκαταστήστε την μη τροποποιημένη εφαρμογή προτού την προσαρτήσετε και δοκιμάστε ξανά.",
- "status_failure_timeout_description": "Η εγκατάσταση πήρε περισσότερη ώρα από το φυσιολογικό για να ολοκληρωθεί.\n\nΘέλετε να δοκιμάσετε ξανά;",
- "status_failure_storage_description": "Η εγκατάσταση απέτυχε λόγο μη επαρκούς χώρου.\n\nΑπελευθερώστε χώρο και δοκιμάστε ξανά.",
- "status_failure_invalid_description": "Η εγκατάσταση απέτυχε επειδή η τροποποιημένη εφαρμογή είναι μη έγκυρη.\n\nΑπεγκατάσταση εφαρμογής και προσπάθεια ξανά;",
- "status_failure_incompatible_description": "Η εφαρμογή δεν είναι συμβατή με αυτήν τη συσκευή.\n\nΧρησιμοποιήστε ένα APK που υποστηρίζεται από αυτήν τη συσκευή και δοκιμάστε ξανά.",
- "status_failure_conflict_description": "Η εγκατάσταση εμποδίστηκε από μια ήδη υπάρχων εγκατάσταση της εφαρμογής.\n\nΑπεγκατάσταση εφαρμογής και προσπάθεια ξανά;",
- "status_failure_blocked_description": "Η εγκατάσταση αποκλείστηκε από το ${packageName}.\n\nΠροσαρμόστε τις ρυθμίσεις ασφαλείας σας και δοκιμάστε ξανά.",
- "install_failed_verification_failure_description": "Η εγκατάσταση απέτυχε λόγω προβλήματος επαλήθευσης.\n\nΠροσαρμόστε τις ρυθμίσεις ασφαλείας σας και δοκιμάστε ξανά.",
- "install_failed_version_downgrade_description": "Η εγκατάσταση απέτυχε διότι η τροποποιημένη εφαρμογή είναι χαμηλότερης έκδοσης από την εγκατεστημένη εφαρμογή.\n\nΑπεγκατάσταση εφαρμογής και προσπάθεια ξανά;",
- "status_unknown_description": "Η εγκατάσταση απέτυχε για άγνωστο λόγο. Παρακαλούμε δοκιμάστε ξανά."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/en.i18n.json b/assets/i18n/en.i18n.json
deleted file mode 100755
index 0bc55d3a..00000000
--- a/assets/i18n/en.i18n.json
+++ /dev/null
@@ -1,301 +0,0 @@
-{
- "okButton": "OK",
- "cancelButton": "Cancel",
- "dismissButton": "Dismiss",
- "quitButton": "Quit",
- "updateButton": "Update",
- "suggested": "Suggested: ${version}",
- "yesButton": "Yes",
- "noButton": "No",
- "warning": "Warning",
- "notice": "Notice",
- "noShowAgain": "Don't show this again",
- "add": "Add",
- "remove": "Remove",
- "showChangelogButton": "Show changelog",
- "showUpdateButton": "Show update",
- "navigationView": {
- "dashboardTab": "Dashboard",
- "patcherTab": "Patcher",
- "settingsTab": "Settings"
- },
- "homeView": {
- "refreshSuccess": "Refreshed successfully",
- "widgetTitle": "Dashboard",
- "updatesSubtitle": "Updates",
- "lastPatchedAppSubtitle": "Last patched app",
- "patchedSubtitle": "Installed apps",
- "changeLaterSubtitle": "You can change this in the settings at a later time.",
- "noSavedAppFound": "No app found",
- "noInstallations": "No patched apps installed",
- "installUpdate": "Continue to install the update?",
- "updateSheetTitle": "Update ReVanced Manager",
- "updateDialogTitle": "New update available",
- "updatePatchesSheetTitle": "Update ReVanced Patches",
- "updateChangelogTitle": "Changelog",
- "updateDialogText": "A new update is available for ${file}.\n\nThe currently installed version is ${version}.",
- "downloadConsentDialogTitle": "Download necessary files?",
- "downloadConsentDialogText": "ReVanced Manager needs to download necessary files to work properly.",
- "downloadConsentDialogText2": "This will connect you to ${url}.",
- "downloadingMessage": "Downloading update...",
- "downloadedMessage": "Update downloaded",
- "installingMessage": "Installing update...",
- "errorDownloadMessage": "Unable to download update",
- "errorInstallMessage": "Unable to install update",
- "noConnection": "No internet connection"
- },
- "applicationItem": {
- "infoButton": "Info"
- },
- "latestCommitCard": {
- "loadingLabel": "Loading...",
- "timeagoLabel": "${time} ago"
- },
- "patcherView": {
- "widgetTitle": "Patcher",
- "patchButton": "Patch",
- "incompatibleArchWarningDialogText": "Patching on this architecture is not yet supported and might fail. Continue anyways?",
- "removedPatchesWarningDialogText": "Removed patches since the last time you patched this app:\n\n${patches}\n\n${newPatches}Continue anyways?",
- "addedPatchesDialogText": "Added patches since the last time you patched this app:\n\n${addedPatches}\n\n",
- "requiredOptionDialogText": "Some patch options have to be set."
- },
- "appSelectorCard": {
- "widgetTitle": "Select an app",
- "widgetTitleSelected": "Selected app",
- "widgetSubtitle": "No app selected",
- "noAppsLabel": "No applications found",
- "anyVersion": "Any version"
- },
- "patchSelectorCard": {
- "widgetTitle": "Select patches",
- "widgetTitleSelected": "Selected patches",
- "widgetSubtitle": "Select an application first",
- "widgetEmptySubtitle": "No patches selected"
- },
- "socialMediaCard": {
- "widgetTitle": "Socials",
- "widgetSubtitle": "We are online!"
- },
- "appSelectorView": {
- "viewTitle": "Select an app",
- "searchBarHint": "Search app",
- "storageButton": "Storage",
- "selectFromStorageButton": "Select from storage",
- "errorMessage": "Unable to use selected application",
- "downloadToast": "Download function is not available yet",
- "requireSuggestedAppVersionDialogText": "The version of the app you have selected does not match the suggested version which can lead to unexpected issues. Please use the suggested version.\n\nSelected version: ${selected}\nSuggested version: ${suggested}\n\nTo continue anyway, disable \"Require suggested app version\" in the settings.",
- "featureNotAvailable": "Feature not implemented",
- "featureNotAvailableText": "This app is a split APK and can only be patched and installed reliably by mounting with root permissions. However, you can patch and install a full APK by selecting it from storage."
- },
- "patchesSelectorView": {
- "viewTitle": "Select patches",
- "searchBarHint": "Search patches",
- "universalPatches": "Universal patches",
- "newPatches": "New patches",
- "patches": "Patches",
- "doneButton": "Done",
- "defaultChip": "Default",
- "defaultTooltip": "Select all default patches",
- "noneChip": "None",
- "noneTooltip": "Deselect all patches",
- "loadPatchesSelection": "Load patch selection",
- "noSavedPatches": "No saved patch selection for the selected app.\nPress Done to save the current selection.",
- "noPatchesFound": "No patches found for the selected app",
- "setRequiredOption": "Some patches require options to be set:\n\n${patches}\n\nPlease set them before continuing."
- },
- "patchOptionsView": {
- "customValue": "Custom value",
- "setToNull": "Set to null",
- "nullValue": "This option value is currently null",
- "viewTitle": "Patch options",
- "saveOptions": "Save",
- "unselectPatch": "Unselect patch",
- "tooltip": "More input options",
- "selectFilePath": "Select file path",
- "selectFolder": "Select folder",
- "requiredOption": "Setting this option is required",
- "unsupportedOption": "This option is not supported",
- "requiredOptionNull": "The following options have to be set:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "Selecting this patch may result in patching errors.\n\nApp version: ${packageVersion}\nSupported versions:\n${supportedVersions}",
- "unsupportedPatchVersion": "Patch is not supported for this app version.",
- "unsupportedRequiredOption": "This patch contains a required option that is not supported by this app",
- "patchesChangeWarningDialogText": "It is recommended to use the default patch selection and options. Changing them may result in unexpected issues.\n\nYou'll need to turn on \"Allow changing patch selection\" in the settings before changing any patch selection.",
- "patchesChangeWarningDialogButton": "Use default selection"
- },
- "installerView": {
- "installType": "Select install type",
- "installTypeDescription": "Select the installation type to continue with.",
- "installButton": "Install",
- "installRootType": "Mount",
- "installNonRootType": "Regular",
- "warning": "Disable auto updates for the patched app to avoid unexpected issues.",
- "pressBackAgain": "Press back again to cancel",
- "openButton": "Open",
- "notificationTitle": "ReVanced Manager is patching",
- "notificationText": "Tap to return to the installer",
- "exportApkButtonTooltip": "Export patched APK",
- "exportLogButtonTooltip": "Export log",
- "screenshotDetected": "A screenshot has been detected. If you are trying to share the log, please share a text copy instead.\n\nCopy log to clipboard?",
- "copiedToClipboard": "Copied log to clipboard",
- "noExit": "Installer is still running, cannot exit..."
- },
- "settingsView": {
- "widgetTitle": "Settings",
- "appearanceSectionTitle": "Appearance",
- "teamSectionTitle": "Team",
- "debugSectionTitle": "Debugging",
- "advancedSectionTitle": "Advanced",
- "exportSectionTitle": "Import & export",
- "dataSectionTitle": "Data sources",
- "themeModeLabel": "App theme",
- "systemThemeLabel": "System",
- "lightThemeLabel": "Light",
- "darkThemeLabel": "Dark",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "Enjoy an experience closer to your device",
- "languageLabel": "Language",
- "languageUpdated": "Language updated",
- "sourcesLabel": "Alternative sources",
- "sourcesLabelHint": "Configure the alternative sources for ReVanced Patches",
- "useAlternativeSources": "Use alternative sources",
- "useAlternativeSourcesHint": "Use alternative sources for ReVanced Patches instead of the API",
- "sourcesResetDialogTitle": "Reset",
- "sourcesResetDialogText": "Are you sure you want to reset your sources to their default values?",
- "apiURLResetDialogText": "Are you sure you want to reset your API URL to its default value?",
- "sourcesUpdateNote": "Note: This will automatically download ReVanced Patches from the alternative sources.\n\nThis will connect you to the alternative source.",
- "apiURLLabel": "API URL",
- "apiURLHint": "Configure the API URL of ReVanced Manager",
- "selectApiURL": "API URL",
- "orgPatchesLabel": "Patches organization",
- "sourcesPatchesLabel": "Patches source",
- "contributorsLabel": "Contributors",
- "contributorsHint": "A list of contributors of ReVanced",
- "logsLabel": "Share logs",
- "logsHint": "Share ReVanced Manager logs",
- "enablePatchesSelectionLabel": "Allow changing patch selection",
- "enablePatchesSelectionHint": "Do not prevent selecting or deselecting patches",
- "enablePatchesSelectionWarningText": "Changing the selection of patches may cause unexpected issues.\n\nEnable anyways?",
- "disablePatchesSelectionWarningText": "You are about to disable changing the selection of patches.\nThe default selection of patches will be restored.\n\nDisable anyways?",
- "autoUpdatePatchesLabel": "Auto update patches",
- "autoUpdatePatchesHint": "Automatically update patches to the latest version",
- "usePrereleasesLabel": "Use pre-releases",
- "usePrereleasesHint": "Use pre-release versions of ReVanced Manager and ReVanced Patches",
- "usePrereleasesWarningText": "Using pre-release versions may cause unexpected issues.\n\nEnable anyways?",
- "showUpdateDialogLabel": "Show update dialog",
- "showUpdateDialogHint": "Show a dialog when a new update is available",
- "universalPatchesLabel": "Show universal patches",
- "universalPatchesHint": "Display all apps and universal patches (may slow down the app list)",
- "lastPatchedAppLabel": "Save patched app",
- "lastPatchedAppHint": "Save the last patch to install or export later",
- "versionCompatibilityCheckLabel": "Version compatibility check",
- "versionCompatibilityCheckHint": "Prevent selecting patches that are not compatible with the selected app version",
- "requireSuggestedAppVersionLabel": "Require suggested app version",
- "requireSuggestedAppVersionHint": "Prevent selecting an app with a version that is not the suggested",
- "requireSuggestedAppVersionDialogText": "Selecting an app that is not the suggested version may cause unexpected issues.\n\nDo you want to proceed anyways?",
- "aboutLabel": "About",
- "snackbarMessage": "Copied to clipboard",
- "restartAppForChanges": "Restart the app to apply changes",
- "deleteTempDirLabel": "Delete temporary files",
- "deleteTempDirHint": "Delete unused temporary files",
- "deletedTempDir": "Temporary files deleted",
- "exportSettingsLabel": "Export settings",
- "exportSettingsHint": "Export settings to a JSON file",
- "exportedSettings": "Settings exported",
- "importSettingsLabel": "Import settings",
- "importSettingsHint": "Import settings from a JSON file",
- "importedSettings": "Settings imported",
- "exportPatchesLabel": "Export patch selection",
- "exportPatchesHint": "Export patch selection to a JSON file",
- "exportedPatches": "Patch selection exported",
- "noExportFileFound": "No patch selection to export",
- "importPatchesLabel": "Import patch selection",
- "importPatchesHint": "Import patch selection from a JSON file",
- "importedPatches": "Patch selection imported",
- "resetStoredPatchesLabel": "Reset patch selection",
- "resetStoredPatchesHint": "Reset the stored patch selection",
- "resetStoredPatchesDialogTitle": "Reset patch selection?",
- "resetStoredPatchesDialogText": "The default selection of patches will be restored.",
- "resetStoredPatches": "Patch selection has been reset",
- "resetStoredOptionsLabel": "Reset patch options",
- "resetStoredOptionsHint": "Reset all patch options",
- "resetStoredOptionsDialogTitle": "Reset patch options?",
- "resetStoredOptionsDialogText": "Resetting patch options will remove all saved options.",
- "resetStoredOptions": "Options have been reset",
- "deleteLogsLabel": "Clear logs",
- "deleteLogsHint": "Delete collected ReVanced Manager logs",
- "deletedLogs": "Logs deleted",
- "regenerateKeystoreLabel": "Regenerate keystore",
- "regenerateKeystoreHint": "Regenerate the keystore used to sign apps",
- "regenerateKeystoreDialogTitle": "Regenerate keystore?",
- "regenerateKeystoreDialogText": "Patched apps signed with the old keystore will no longer be able to be updated.",
- "regeneratedKeystore": "Keystore regenerated",
- "exportKeystoreLabel": "Export keystore",
- "exportKeystoreHint": "Export the keystore used to sign apps",
- "exportedKeystore": "Keystore exported",
- "noKeystoreExportFileFound": "No keystore to export",
- "importKeystoreLabel": "Import keystore",
- "importKeystoreHint": "Import a keystore used to sign apps",
- "importedKeystore": "Keystore imported",
- "selectKeystorePassword": "Keystore password",
- "selectKeystorePasswordHint": "Select keystore password used to sign apps",
- "jsonSelectorErrorMessage": "Unable to use selected JSON file",
- "keystoreSelectorErrorMessage": "Unable to use selected keystore file"
- },
- "appInfoView": {
- "widgetTitle": "App info",
- "openButton": "Open",
- "installButton": "Install",
- "uninstallButton": "Uninstall",
- "unmountButton": "Unmount",
- "exportButton": "Export",
- "deleteButton": "Delete",
- "rootDialogTitle": "Error",
- "lastPatchedAppDescription": "This is a backup of the app that was last patched.",
- "unmountDialogText": "Are you sure you want to unmount this app?",
- "uninstallDialogText": "Are you sure you want to uninstall this app?",
- "rootDialogText": "App was installed with superuser permissions, but currently ReVanced Manager has no permissions.\nPlease grant superuser permissions first.",
- "removeAppDialogTitle": "Delete app?",
- "removeAppDialogText": "Are you sure you want to delete this backup?",
- "packageNameLabel": "Package name",
- "installTypeLabel": "Installation type",
- "mountTypeLabel": "Mount",
- "regularTypeLabel": "Regular",
- "patchedDateLabel": "Patched date",
- "appliedPatchesLabel": "Applied patches",
- "sizeLabel": "File size",
- "patchedDateHint": "${date} at ${time}",
- "appliedPatchesHint": "${quantity} applied patches",
- "updateNotImplemented": "This feature has not been implemented yet"
- },
- "contributorsView": {
- "widgetTitle": "Contributors"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "Version mismatch",
- "mount_no_root": "No root access",
- "mount_missing_installation": "Installation not found",
- "status_failure_blocked": "Installation blocked",
- "install_failed_verification_failure": "Verification failed",
- "status_failure_invalid": "Installation invalid",
- "install_failed_version_downgrade": "Can't downgrade",
- "status_failure_conflict": "Installation conflict",
- "status_failure_storage": "Installation storage issue",
- "status_failure_incompatible": "Installation incompatible",
- "status_failure_timeout": "Installation timeout",
- "status_unknown": "Installation failed",
- "mount_version_mismatch_description": "The installation failed due to the installed app being a different version than the patched app.\n\nInstall the version of the app you are mounting and try again.",
- "mount_no_root_description": "The installation failed due to root access not being granted.\n\nGrant root access to ReVanced Manager and try again.",
- "mount_missing_installation_description": "The installation failed due to the unpatched app not being installed on this device in order to mount over it.\n\nInstall the unpatched app before mounting and try again.",
- "status_failure_timeout_description": "The installation took too long to finish.\n\nWould you like to try again?",
- "status_failure_storage_description": "The installation failed due to insufficient storage.\n\nFree up some space and try again.",
- "status_failure_invalid_description": "The installation failed due to the patched app being invalid.\n\nUninstall the app and try again?",
- "status_failure_incompatible_description": "The app is incompatible with this device.\n\nUse an APK that is supported by this device and try again.",
- "status_failure_conflict_description": "The installation was prevented by an existing installation of the app.\n\nUninstall the installed app and try again?",
- "status_failure_blocked_description": "The installation was blocked by ${packageName}.\n\nAdjust your security settings and try again.",
- "install_failed_verification_failure_description": "The installation failed due to a verification issue.\n\nAdjust your security settings and try again.",
- "install_failed_version_downgrade_description": "The installation failed due to the patched app being a lower version than the installed app.\n\nUninstall the app and try again?",
- "status_unknown_description": "The installation failed due to an unknown reason. Please try again."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/es_AR.i18n.json b/assets/i18n/es_AR.i18n.json
deleted file mode 100755
index 6344e059..00000000
--- a/assets/i18n/es_AR.i18n.json
+++ /dev/null
@@ -1,279 +0,0 @@
-{
- "okButton": "Aceptar",
- "cancelButton": "Cancelar",
- "dismissButton": "Descartar",
- "quitButton": "Salir",
- "updateButton": "Actualizar",
- "suggested": "Sugerida: ${version}",
- "yesButton": "Sí",
- "noButton": "No",
- "warning": "Advertencia",
- "notice": "Aviso",
- "noShowAgain": "No volver a mostrar",
- "add": "Agregar",
- "remove": "Eliminar",
- "showChangelogButton": "Notas de la versión",
- "showUpdateButton": "Actualizar",
- "navigationView": {
- "dashboardTab": "Panel de control",
- "patcherTab": "Parcheador",
- "settingsTab": "Configuración"
- },
- "homeView": {
- "refreshSuccess": "Refrescado satisfactoriamente",
- "widgetTitle": "Panel de control",
- "updatesSubtitle": "Actualizaciones",
- "patchedSubtitle": "Aplicaciones parcheadas",
- "changeLaterSubtitle": "Podés cambiar esto en los ajustes más tarde.",
- "noInstallations": "Aún no parcheaste ninguna aplicación",
- "installUpdate": "¿Instalar actualización?",
- "updateSheetTitle": "Actualizar ReVanced Manager",
- "updateDialogTitle": "Nueva actualización disponible",
- "updatePatchesSheetTitle": "Actualizar ReVanced Patches",
- "updateChangelogTitle": "Notas de la versión",
- "updateDialogText": "Hay una nueva actualización disponible para ${file}.\n\nLa versión instalada actualmente es la ${version}.",
- "downloadConsentDialogTitle": "¿Descargar archivos necesarios?",
- "downloadConsentDialogText": "ReVanced Manager necesita descargar los archivos necesarios para funcionar correctamente.",
- "downloadConsentDialogText2": "Esto te va a conectar a ${url}.",
- "downloadingMessage": "Descargando actualización...",
- "downloadedMessage": "Actualización descargada",
- "installingMessage": "Instalando actualización...",
- "errorDownloadMessage": "No se pudo descargar la actualización",
- "errorInstallMessage": "No se pudo instalar la actualización",
- "noConnection": "No tenés conexión a Internet"
- },
- "applicationItem": {
- "infoButton": "Gestionar"
- },
- "latestCommitCard": {
- "loadingLabel": "Cargando...",
- "timeagoLabel": "Hace ${time}"
- },
- "patcherView": {
- "widgetTitle": "Parcheador",
- "patchButton": "Parchear",
- "removedPatchesWarningDialogText": "Los siguientes parches fueron eliminados desde la última vez que los usaste.\n\n${patches}\n\n${newPatches}¿Continuar de todas formas?",
- "requiredOptionDialogText": "Algunas opciones de parche tienen que ser establecidas."
- },
- "appSelectorCard": {
- "widgetTitle": "Seleccionar una aplicación",
- "widgetTitleSelected": "Aplicación seleccionada",
- "widgetSubtitle": "Ninguna aplicación seleccionada",
- "noAppsLabel": "No se encontró ninguna aplicación",
- "anyVersion": "Cualquier versión"
- },
- "patchSelectorCard": {
- "widgetTitle": "Seleccionar parches",
- "widgetTitleSelected": "Parches seleccionados",
- "widgetSubtitle": "Ninguna aplicación seleccionada",
- "widgetEmptySubtitle": "Ningún parche seleccionado"
- },
- "socialMediaCard": {
- "widgetTitle": "Nuestras redes sociales",
- "widgetSubtitle": "¡Estamos en línea!"
- },
- "appSelectorView": {
- "viewTitle": "Seleccionar una aplicación",
- "searchBarHint": "Buscar...",
- "storageButton": "Seleccionar desde\\nel almacenamiento",
- "selectFromStorageButton": "Seleccionar desde\\nel almacenamiento",
- "errorMessage": "El archivo que seleccionaste no es una aplicación o está dañado",
- "downloadToast": "La descarga de aplicaciones aún no está disponible",
- "requireSuggestedAppVersionDialogText": "La versión de la app que seleccionaste no coincide con la versión sugerida, lo que puede causar errores inesperados. Por favor, usá la versión sugerida.\n\nVersión seleccionada: ${selected}\nVersión sugerida: ${suggested}\n\nPara continuar de todas formas, desactivá \"Requerir versión sugerida de la app\" en los ajustes.",
- "featureNotAvailable": "Función no implementada",
- "featureNotAvailableText": "Esta aplicación está instalada en formato AAB (Android App Bundle) y solo se puede parchear e instalar de forma fiable mediante el montaje con acceso root. Sin embargo, podés parchear e instalar una aplicación en formato APK seleccionándola desde el almacenamiento."
- },
- "patchesSelectorView": {
- "viewTitle": "Seleccionar parches",
- "searchBarHint": "Buscar...",
- "universalPatches": "Parches universales",
- "newPatches": "Parches nuevos",
- "patches": "Parches",
- "doneButton": "Guardar selección",
- "defaultChip": "Por defecto",
- "defaultTooltip": "Selecciona los parches por defecto",
- "noneChip": "Ninguno",
- "noneTooltip": "Deselecciona todos los parches",
- "loadPatchesSelection": "Cargar selección de parches",
- "noSavedPatches": "No se guardó ninguna selección de parches para la aplicación seleccionada.\nApretá 'Guardar selección' para guardar la selección actual.",
- "noPatchesFound": "No se encontraron parches para la aplicación seleccionada",
- "setRequiredOption": "Los siguientes parches requieren su propia configuración:\\n\\n${patches}\\n\\nPor favor, configuralos antes de continuar."
- },
- "patchOptionsView": {
- "customValue": "Valor personalizado",
- "setToNull": "Establecer a nulo",
- "nullValue": "Este valor de opción es nulo actualmente",
- "viewTitle": "Configuración\\ndel parche",
- "saveOptions": "Guardar configuración",
- "unselectPatch": "Deseleccionar parche",
- "tooltip": "Más opciones de entrada",
- "selectFilePath": "Seleccionar ruta del archivo",
- "selectFolder": "Seleccionar carpeta",
- "requiredOption": "La configuración de esta opción es necesaria",
- "unsupportedOption": "Esta opción no es compatible",
- "requiredOptionNull": "Tenés que configurar las siguientes opciones:\\n\\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "Seleccionar este parche puede provocar errores en el parcheo.\n\nVersión de la app: ${packageVersion}\nVersiones soportadas:\n${supportedVersions}",
- "unsupportedPatchVersion": "El parche no es compatible con esta versión de la aplicación.",
- "unsupportedRequiredOption": "El parche contiene una opción necesaria que no es compatible con esta aplicación",
- "patchesChangeWarningDialogText": "Te recomendamos que utilices la selección y opciones de parches por defecto; cambiarlas puede causar problemas inesperados.\\n\\nTendrás que activar \\\"Permitir cambiar la selección de parches\\\" en la configuración antes de poder hacerlo.",
- "patchesChangeWarningDialogButton": "Utilizar la opción por defecto"
- },
- "installerView": {
- "installType": "Tipo de instalación",
- "installTypeDescription": "Seleccioná el tipo de instalación para continuar.",
- "installButton": "Instalar",
- "installRootType": "Instalación por montaje (requiere root)",
- "installNonRootType": "Instalación normal",
- "warning": "Recordá desactivar las actualizaciones automáticas de la app parcheada para evitar problemas inesperados.",
- "pressBackAgain": "Vuelve a presionar atrás para cancelar",
- "openButton": "Abrir",
- "notificationTitle": "ReVanced Manager está parcheando",
- "notificationText": "Apretá para volver al instalador",
- "exportApkButtonTooltip": "Exportar APK parcheado",
- "exportLogButtonTooltip": "Exportar registro",
- "screenshotDetected": "Detectamos que hiciste una captura de pantalla. Si estás intentando compartir el registro, por favor compartilo en formato de texto.\\n\\n¿Copiar registro al portapapeles?",
- "copiedToClipboard": "Registro copiado al portapapeles",
- "noExit": "El instalador aún se está ejecutando, no te podés salir..."
- },
- "settingsView": {
- "widgetTitle": "Configuración",
- "appearanceSectionTitle": "Apariencia",
- "teamSectionTitle": "Equipo",
- "debugSectionTitle": "Depuración",
- "advancedSectionTitle": "Avanzado",
- "exportSectionTitle": "Importación y exportación",
- "dataSectionTitle": "Fuentes de datos",
- "themeModeLabel": "Tema de la aplicación",
- "systemThemeLabel": "Igual que el sistema",
- "lightThemeLabel": "Claro",
- "darkThemeLabel": "Oscuro",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "Disfrutá de una experiencia más acorde a tu dispositivo",
- "languageLabel": "Idioma",
- "languageUpdated": "Idioma actualizado",
- "sourcesLabel": "Fuentes alternativas",
- "sourcesLabelHint": "Configurá las fuentes alternativas para ReVanced Patches y ReVanced Integrations",
- "useAlternativeSources": "Usar fuentes alternativas",
- "useAlternativeSourcesHint": "Usá fuentes alternativas para ReVanced Patches y ReVanced Integrations en lugar de la API",
- "sourcesResetDialogTitle": "Resetear",
- "sourcesResetDialogText": "¿Estás seguro de que quieres restablecer las fuentes a sus valores por defecto?",
- "apiURLResetDialogText": "¿Estás seguro de que quieres restablecer la URL de tu API a su valor por defecto?",
- "sourcesUpdateNote": "Nota: Esto descargará de forma automática ReVanced Patches y ReVanced Integrations desde las fuentes alternativas.\n\nEsto te va a conectar a la fuente alternativa.",
- "apiURLLabel": "URL de la API",
- "apiURLHint": "Configurá la URL de la API de ReVanced Manager",
- "selectApiURL": "URL de la API",
- "orgPatchesLabel": "Organización de los parches",
- "sourcesPatchesLabel": "Fuente de los parches",
- "contributorsLabel": "Contribuidores",
- "contributorsHint": "Una lista de los contribuidores de ReVanced",
- "logsLabel": "Compartir registros",
- "logsHint": "Comparte los registros de ReVanced Manager",
- "enablePatchesSelectionLabel": "Permitir cambiar la selección de parches",
- "enablePatchesSelectionHint": "Permite la selección o deselección de parches",
- "enablePatchesSelectionWarningText": "Cambiar la selección de parches puede causar problemas inesperados.\n\n¿Habilitar de todos modos?",
- "disablePatchesSelectionWarningText": "Está a punto de desactivar el cambio de la selección de parches.\nSe restablecerá la selección de parches por defecto.\n\n¿Desactivar de todos modos?",
- "autoUpdatePatchesLabel": "Actualizar parches automáticamente",
- "autoUpdatePatchesHint": "Actualiza automáticamente los parches a la última versión",
- "showUpdateDialogLabel": "Mostrar diálogo de actualización",
- "showUpdateDialogHint": "Muestra un diálogo cuando haya una nueva actualización disponible",
- "universalPatchesLabel": "Mostrar parches universales",
- "universalPatchesHint": "Mostrar todas las aplicaciones y parches universales (puede ralentizar la lista de aplicaciones)",
- "versionCompatibilityCheckLabel": "Comprobar compatibilidad de versiones",
- "versionCompatibilityCheckHint": "Impide la selección de parches que no sean compatibles con la versión de la aplicación seleccionada",
- "requireSuggestedAppVersionLabel": "Requerir versión sugerida de la aplicación",
- "requireSuggestedAppVersionHint": "Impide seleccionar una aplicación cuya versión no sea la sugerida",
- "requireSuggestedAppVersionDialogText": "Seleccionar una aplicación que no es la versión sugerida puede causar problemas inesperados.\n\n¿Desea continuar de todos modos?",
- "aboutLabel": "Acerca de",
- "snackbarMessage": "Copiado al portapapeles",
- "restartAppForChanges": "Reiniciá la app para aplicar los cambios",
- "deleteTempDirLabel": "Eliminar archivos temporales",
- "deleteTempDirHint": "Elimina los archivos temporales que no se usan",
- "deletedTempDir": "Archivos temporales eliminados",
- "exportPatchesLabel": "Exportar selección de parches",
- "exportPatchesHint": "Exporta la selección de parches a un archivo JSON",
- "exportedPatches": "Selección de parches exportada",
- "noExportFileFound": "No hay selección de parches para exportar",
- "importPatchesLabel": "Importar selección de parches",
- "importPatchesHint": "Importa la selección de parches desde un archivo JSON",
- "importedPatches": "Selección de parches importada",
- "resetStoredPatchesLabel": "Restablecer selección de parches",
- "resetStoredPatchesHint": "Restablecer selección de parches guardada",
- "resetStoredPatchesDialogTitle": "¿Restablecer selección de parches?",
- "resetStoredPatchesDialogText": "Se restablecerá la selección predeterminada de parches.",
- "resetStoredPatches": "La selección de parches se ha restablecido",
- "resetStoredOptionsLabel": "Restablecer opciones de parche",
- "resetStoredOptionsHint": "Reiniciar todas las opciones de parche",
- "resetStoredOptionsDialogTitle": "¿Restablecer opciones de parche?",
- "resetStoredOptionsDialogText": "Restablecer las opciones de parche eliminará todas las opciones guardadas.",
- "resetStoredOptions": "Las opciones se han restablecido",
- "deleteLogsLabel": "Borrar registros",
- "deleteLogsHint": "Elimina los registros recopilados por ReVanced Manager",
- "deletedLogs": "Registros eliminados",
- "regenerateKeystoreLabel": "Regenerar repositorio de claves",
- "regenerateKeystoreHint": "Regenera el repositorio de claves utilizado para firmar aplicaciones",
- "regenerateKeystoreDialogTitle": "¿Regenerar repositorio de claves?",
- "regenerateKeystoreDialogText": "Las aplicaciones parcheadas firmadas con el antiguo repositorio de claves ya no podrán actualizarse.",
- "regeneratedKeystore": "Repositorio de claves regenerado",
- "exportKeystoreLabel": "Exportar repositorio de claves",
- "exportKeystoreHint": "Exporta el repositorio de claves utilizado para firmar aplicaciones",
- "exportedKeystore": "Repositorio de claves exportado",
- "noKeystoreExportFileFound": "No hay repositorio de claves para exportar",
- "importKeystoreLabel": "Importar repositorio de claves",
- "importKeystoreHint": "Importar un repositorio de claves utilizado para firmar aplicaciones",
- "importedKeystore": "Repositorio de claves importado",
- "selectKeystorePassword": "Contraseña del repositorio de claves",
- "selectKeystorePasswordHint": "Selecciona la contraseña del repositorio de claves utilizada para firmar aplicaciones",
- "jsonSelectorErrorMessage": "No se puede usar el archivo JSON seleccionado",
- "keystoreSelectorErrorMessage": "No se puede utilizar el archivo de repositorio de claves seleccionado"
- },
- "appInfoView": {
- "widgetTitle": "Información de la aplicación",
- "openButton": "Abrir",
- "uninstallButton": "Desinstalar",
- "unmountButton": "Desmontar",
- "rootDialogTitle": "Error",
- "unmountDialogText": "¿Seguro que querés desmontar esta aplicación?",
- "uninstallDialogText": "¿Seguro que querés desinstalar esta aplicación?",
- "rootDialogText": "La app se instaló con permisos de superusuario, pero ReVanced Manager no los tiene.\nPor favor, concedele permisos de superusuario.",
- "packageNameLabel": "Nombre del paquete",
- "installTypeLabel": "Tipo de instalación",
- "mountTypeLabel": "Instalación por montaje (requiere root)",
- "regularTypeLabel": "Instalación normal",
- "patchedDateLabel": "Fecha de parcheo",
- "appliedPatchesLabel": "Parches aplicados",
- "patchedDateHint": "${date} a las ${time}",
- "appliedPatchesHint": "${quantity} parches aplicados",
- "updateNotImplemented": "Esta función no se implementó aún"
- },
- "contributorsView": {
- "widgetTitle": "Contribuidores"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "La versión no coincide",
- "mount_no_root": "Sin acceso root",
- "mount_missing_installation": "Instalación no encontrada",
- "status_failure_blocked": "Instalación bloqueada",
- "install_failed_verification_failure": "Verificación fallida",
- "status_failure_invalid": "Instalación inválida",
- "install_failed_version_downgrade": "No se puede degradar",
- "status_failure_conflict": "Conflicto de instalación",
- "status_failure_storage": "Problema de almacenamiento en la instalación",
- "status_failure_incompatible": "Instalación incompatible",
- "status_failure_timeout": "Tiempo de instalación agotado",
- "status_unknown": "Instalación fallida",
- "mount_version_mismatch_description": "La instalación fallo debido a que la aplicación instalada es una versión diferente a la parcheada.\n\nInstalá la versión de la aplicación que intentás montar y volvé a intentarlo.",
- "mount_no_root_description": "La instalación falló debido a que no concediste acceso root.\n\nConcedele acceso root a ReVanced Manager y volvé a intentarlo.",
- "mount_missing_installation_description": "La instalación falló debido a que no instalaste la aplicación original en el dispositivo para poder montar la aplicación modificada sobre ella.\n\nInstalá la aplicación original antes de montar y volvé a intentarlo.",
- "status_failure_timeout_description": "La instalación tardó demasiado tiempo en terminar.\n\n¿Querés volver a intentarlo?",
- "status_failure_storage_description": "La instalación falló debido a falta de almacenamiento.\n\nLiberá algo de espacio y volvé a intentarlo.",
- "status_failure_invalid_description": "La instalación falló debido a que la aplicación parcheada es inválida.\n\n¿Querés desinstalar la aplicación y volver a intentarlo?",
- "status_failure_incompatible_description": "La aplicación es incompatible con este dispositivo.\n\nContactá con el desarrollador de la aplicación y solicitá asistencia.",
- "status_failure_conflict_description": "Una instalación existente de la aplicación impidió la instalación.\n\n¿Querés desinstalar la aplicación instalada y volver a intentarlo?",
- "status_failure_blocked_description": "${packageName} bloqueó la instalación.\n\nAjustá la configuración de seguridad y volvé a intentarlo.",
- "install_failed_verification_failure_description": "La instalación falló debido a un problema de verificación.\n\nAjustá la configuración de seguridad y volvé a intentarlo.",
- "install_failed_version_downgrade_description": "La instalación falló debido a que la aplicación parcheada es una versión inferior a la instalada.\n\n¿Querés desinstalar la aplicación y volver a intentarlo?",
- "status_unknown_description": "La instalación falló debido a una razón desconocida. Por favor, volvé a intentarlo."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/es_ES.i18n.json b/assets/i18n/es_ES.i18n.json
deleted file mode 100755
index 31bd449d..00000000
--- a/assets/i18n/es_ES.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "Aceptar",
- "cancelButton": "Cancelar",
- "dismissButton": "Descartar",
- "quitButton": "Cerrar",
- "updateButton": "Actualizar",
- "suggested": "Sugerido: ${version}",
- "yesButton": "Sí",
- "noButton": "No",
- "warning": "Advertencia",
- "notice": "Aviso",
- "noShowAgain": "No mostrar de nuevo",
- "add": "Añadir",
- "remove": "Eliminar",
- "showChangelogButton": "Mostrar historial de cambios",
- "showUpdateButton": "Mostrar actualización",
- "navigationView": {
- "dashboardTab": "Panel de control",
- "patcherTab": "Parcheador",
- "settingsTab": "Configuración"
- },
- "homeView": {
- "refreshSuccess": "Actualizado con éxito",
- "widgetTitle": "Panel",
- "updatesSubtitle": "Actualizaciones",
- "lastPatchedAppSubtitle": "Última app parcheada",
- "patchedSubtitle": "Apps instaladas",
- "changeLaterSubtitle": "Puedes cambiar esto en la configuración más tarde.",
- "noSavedAppFound": "App no encontrada",
- "noInstallations": "No tienes apps parcheadas instaladas",
- "installUpdate": "¿Continuar instalando la actualización?",
- "updateSheetTitle": "Actualizar ReVanced Manager",
- "updateDialogTitle": "Nueva actualización disponible",
- "updatePatchesSheetTitle": "Actualizar Parches de ReVanced",
- "updateChangelogTitle": "Registro de cambios",
- "updateDialogText": "Una nueva actualización está disponible para ${file}.\n\nLa versión actualmente instalada es ${version}.",
- "downloadConsentDialogTitle": "¿Descargar archivos necesarios?",
- "downloadConsentDialogText": "ReVanced Manager necesita descargar los archivos necesarios para funcionar correctamente.",
- "downloadConsentDialogText2": "Esto te conectará a ${url}.",
- "downloadingMessage": "Descargando actualización...",
- "downloadedMessage": "Actualización descargada",
- "installingMessage": "Instalando actualización...",
- "errorDownloadMessage": "No se pudo descargar la actualización",
- "errorInstallMessage": "No se pudo instalar la actualización",
- "noConnection": "No hay conexión a Internet"
- },
- "applicationItem": {
- "infoButton": "Información"
- },
- "latestCommitCard": {
- "loadingLabel": "Cargando...",
- "timeagoLabel": "Hace ${time}"
- },
- "patcherView": {
- "widgetTitle": "Parcheador",
- "patchButton": "Parchear",
- "incompatibleArchWarningDialogText": "Parchear en esta arquitectura aún no está soportado y podría fallar. ¿Continuar de todos modos?",
- "removedPatchesWarningDialogText": "Parches eliminados desde la última vez que parcheaste esta aplicación:\n\n${patches}\n\n${newPatches}¿Continuar de todos modos?",
- "addedPatchesDialogText": "Parches añadidos desde la última vez que parcheaste esta aplicación:\n\n${addedPatches}\n\n",
- "requiredOptionDialogText": "Deben establecerse algunas opciones de parche."
- },
- "appSelectorCard": {
- "widgetTitle": "Selecciona una app",
- "widgetTitleSelected": "App seleccionada",
- "widgetSubtitle": "Ninguna aplicación seleccionada",
- "noAppsLabel": "No se encontraron aplicaciones",
- "anyVersion": "Cualquier versión"
- },
- "patchSelectorCard": {
- "widgetTitle": "Seleccionar parches",
- "widgetTitleSelected": "Parches seleccionados",
- "widgetSubtitle": "Selecciona una aplicación primero",
- "widgetEmptySubtitle": "Ningún parche seleccionado"
- },
- "socialMediaCard": {
- "widgetTitle": "Redes sociales",
- "widgetSubtitle": "¡Estamos en línea!"
- },
- "appSelectorView": {
- "viewTitle": "Selecciona una app",
- "searchBarHint": "Buscar app",
- "storageButton": "Almacenamiento",
- "selectFromStorageButton": "Seleccionar desde el almacenamiento",
- "errorMessage": "No se puede usar la aplicación seleccionada",
- "downloadToast": "La función de descarga aún no está disponible",
- "requireSuggestedAppVersionDialogText": "La versión de la app que has seleccionado no coincide con la versión sugerida por lo que puede dar errores inesperados. Por favor usa la versión sugerida.\n\nVersión seleccionada: ${selected}\nVersión sugerida: ${suggested}\n\nPara proceder de todos modos, desactiva \"Versión sugerida de la app requerida\" en la configuración.",
- "featureNotAvailable": "Función no implementada",
- "featureNotAvailableText": "Esta aplicación es un APK dividido y solo puede ser parcheada e instalada de forma fiable mediante el montaje con permisos de root. Sin embargo, puedes parchear e instalar un APK completo seleccionándolo del almacenamiento."
- },
- "patchesSelectorView": {
- "viewTitle": "Seleccionar parches",
- "searchBarHint": "Buscar parches",
- "universalPatches": "Parches universales",
- "newPatches": "Nuevos parches",
- "patches": "Parches",
- "doneButton": "Listo",
- "defaultChip": "Por defecto",
- "defaultTooltip": "Seleccionar todos los parches predeterminados",
- "noneChip": "Ninguno",
- "noneTooltip": "Deseleccionar todos los parches",
- "loadPatchesSelection": "Cargar selección de parches",
- "noSavedPatches": "No se ha guardado ninguna selección de parches para la aplicación seleccionada.\nPresione Hecho para guardar la selección actual.",
- "noPatchesFound": "No se encontraron parches para la aplicación seleccionada",
- "setRequiredOption": "Algunos parches requieren que se establezcan opciones:\n\n${patches}\n\nPor favor, establécelos antes de continuar."
- },
- "patchOptionsView": {
- "customValue": "Valor personalizado",
- "setToNull": "Establecer a nulo",
- "nullValue": "Este valor de opción actualmente es nulo",
- "viewTitle": "Opciones de parche",
- "saveOptions": "Guardar",
- "unselectPatch": "Deseleccionar parche",
- "tooltip": "Más opciones de entrada",
- "selectFilePath": "Seleccionar ruta del archivo",
- "selectFolder": "Seleccionar carpeta",
- "requiredOption": "La configuración de esta opción es necesaria",
- "unsupportedOption": "Esta opción no está disponible",
- "requiredOptionNull": "Hay que establecer las siguientes opciones:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "Seleccionar este parche puede causar errores.\n\nVersión de la app: ${packageVersion}\nVersiones compatibles:\n${supportedVersions}",
- "unsupportedPatchVersion": "El parche no es compatible con esta versión de la aplicación.",
- "unsupportedRequiredOption": "Este parche contiene una opción necesaria que no está disponible en esta app",
- "patchesChangeWarningDialogText": "Se recomienda utilizar la selección y las opciones predeterminadas del parche. Cambiarlas puede provocar problemas inesperados.\n\nDeberás activar \"Permitir cambiar la selección de parches\" en la configuración antes de cambiar cualquier selección de parche.",
- "patchesChangeWarningDialogButton": "Usar selección por defecto"
- },
- "installerView": {
- "installType": "Seleccionar tipo de instalación",
- "installTypeDescription": "Seleccione el tipo de instalación para continuar.",
- "installButton": "Instalar",
- "installRootType": "Montar",
- "installNonRootType": "Normal",
- "warning": "Desactivar actualizaciones automáticas para la aplicación parcheada para evitar problemas inesperados.",
- "pressBackAgain": "Pulsa de nuevo para cancelar",
- "openButton": "Abrir",
- "notificationTitle": "ReVanced Manager está parcheando",
- "notificationText": "Toque para volver al instalador",
- "exportApkButtonTooltip": "Exportar APK parcheado",
- "exportLogButtonTooltip": "Exportar registro",
- "screenshotDetected": "Se ha detectado una captura de pantalla. Si estás intentando compartir el registro, por favor, comparte una copia de texto en su lugar.\n\n¿Copiar registro al portapapeles?",
- "copiedToClipboard": "Registro copiado al portapapeles",
- "noExit": "El instalador todavía se está ejecutando, no se puede salir..."
- },
- "settingsView": {
- "widgetTitle": "Configuración",
- "appearanceSectionTitle": "Apariencia",
- "teamSectionTitle": "Equipo",
- "debugSectionTitle": "Depuración",
- "advancedSectionTitle": "Avanzado",
- "exportSectionTitle": "Importar y exportar",
- "dataSectionTitle": "Fuentes de datos",
- "themeModeLabel": "Tema de la app",
- "systemThemeLabel": "Sistema",
- "lightThemeLabel": "Claro",
- "darkThemeLabel": "Oscuro",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "Disfrute de una experiencia más acorde a su dispositivo",
- "languageLabel": "Idioma",
- "languageUpdated": "Idioma actualizado",
- "sourcesLabel": "Fuentes alternativas",
- "sourcesLabelHint": "Configurar las fuentes alternativas para los parches reVanced",
- "useAlternativeSources": "Usar fuentes alternativas",
- "useAlternativeSourcesHint": "Usar fuentes alternativas para Parches ReVanced en lugar de la API",
- "sourcesResetDialogTitle": "Restablecer",
- "sourcesResetDialogText": "¿Estás seguro de que quieres restablecer tus fuentes a sus valores predeterminados?",
- "apiURLResetDialogText": "¿Estás seguro de que quieres restablecer la URL de tu API a su valor predeterminado?",
- "sourcesUpdateNote": "Nota: Esto descargará automáticamente los Parches ReVanced desde las fuentes alternativas.\n\nEsto te conectará a las fuentes alternativas.",
- "apiURLLabel": "URL de la API",
- "apiURLHint": "Configurar la URL de API del ReVanced Manager",
- "selectApiURL": "URL de la API",
- "orgPatchesLabel": "Organización de los parches",
- "sourcesPatchesLabel": "Fuente de los parches",
- "contributorsLabel": "Contribuidores",
- "contributorsHint": "Una lista de contribuidores de ReVanced",
- "logsLabel": "Compartir registros",
- "logsHint": "Compartir registros de ReVanced Manager",
- "enablePatchesSelectionLabel": "Permitir cambiar la selección de parches",
- "enablePatchesSelectionHint": "No prevenir la selección o deseleccion de parches",
- "enablePatchesSelectionWarningText": "Cambiar la selección de parches puede causar problemas inesperados.\n\n¿Habilitar de todos modos?",
- "disablePatchesSelectionWarningText": "Estás a punto de desactivar cambiar la selección de parches.\nLa selección predeterminada de parches se restaurará.\n\n¿Deshabilitar de todos modos?",
- "autoUpdatePatchesLabel": "Actualizar automáticamente los parches",
- "autoUpdatePatchesHint": "Actualizar automáticamente los parches a la última versión",
- "showUpdateDialogLabel": "Mostrar diálogo de actualización",
- "showUpdateDialogHint": "Mostrar un diálogo cuando una nueva actualización esté disponible",
- "universalPatchesLabel": "Mostrar parches universales",
- "universalPatchesHint": "Mostrar todas las apps y parches universales (puede ralentizar la lista de aplicaciones)",
- "lastPatchedAppLabel": "Guardar app parcheada",
- "lastPatchedAppHint": "Guardar el último parche para instalar o exportar más tarde",
- "versionCompatibilityCheckLabel": "Comprobación de compatibilidad de versiones",
- "versionCompatibilityCheckHint": "Evitar la selección de parches que no sean compatibles con la versión de la app seleccionada",
- "requireSuggestedAppVersionLabel": "Versión sugerida de la app requerida",
- "requireSuggestedAppVersionHint": "Evitar seleccionar una app con una versión que no sea la sugerida",
- "requireSuggestedAppVersionDialogText": "Seleccionar una app que no es la versión sugerida puede causar problemas inesperados.\n\n¿Desea continuar de todos modos?",
- "aboutLabel": "Acerca de",
- "snackbarMessage": "Copiado al portapapeles",
- "restartAppForChanges": "Reinicie la app para aplicar los cambios",
- "deleteTempDirLabel": "Borrar archivos temporales",
- "deleteTempDirHint": "Eliminar archivos temporales no utilizados",
- "deletedTempDir": "Archivos temporales eliminados",
- "exportSettingsLabel": "Exportar ajustes",
- "exportSettingsHint": "Exportar ajustes a un archivo JSON",
- "exportedSettings": "Ajustes exportados",
- "importSettingsLabel": "Importar ajustes",
- "importSettingsHint": "Importar ajustes desde un archivo JSON",
- "importedSettings": "Ajustes importados",
- "exportPatchesLabel": "Exportar la selección de parches",
- "exportPatchesHint": "Exportar la selección de parches a un archivo JSON",
- "exportedPatches": "Selección de parches exportada",
- "noExportFileFound": "No hay selección de parches para exportar",
- "importPatchesLabel": "Importar la selección de parches",
- "importPatchesHint": "Importar la selección de parches desde un archivo JSON",
- "importedPatches": "Selección de parches importada",
- "resetStoredPatchesLabel": "Restablecer la selección de parches",
- "resetStoredPatchesHint": "Restablecer la selección de parches almacenada",
- "resetStoredPatchesDialogTitle": "¿Restablecer la selección de parches?",
- "resetStoredPatchesDialogText": "Se restaurará la selección predeterminada de parches.",
- "resetStoredPatches": "La selección de parches ha sido restablecida",
- "resetStoredOptionsLabel": "Restablecer opciones de parche",
- "resetStoredOptionsHint": "Reiniciar todas las opciones de parche",
- "resetStoredOptionsDialogTitle": "¿Restablecer opciones de parche?",
- "resetStoredOptionsDialogText": "Restablecer las opciones de parche eliminará todas las opciones guardadas.",
- "resetStoredOptions": "Se han reiniciado las opciones",
- "deleteLogsLabel": "Borrar registros",
- "deleteLogsHint": "Eliminar los registros recopilados de ReVanced Manager",
- "deletedLogs": "Registros eliminados",
- "regenerateKeystoreLabel": "Regenerar keystore",
- "regenerateKeystoreHint": "Regenerar el almacén de llaves utilizado para firmar apps",
- "regenerateKeystoreDialogTitle": "¿Regenerar keystore?",
- "regenerateKeystoreDialogText": "Las apps parcheadas firmadas con el antiguo keystore ya no podrán actualizarse.",
- "regeneratedKeystore": "Keystore regenerado",
- "exportKeystoreLabel": "Exportar keystore",
- "exportKeystoreHint": "Exportar el keystore utilizado para firmar apps",
- "exportedKeystore": "Repositorio de claves exportado",
- "noKeystoreExportFileFound": "No hay repositorio de claves para exportar",
- "importKeystoreLabel": "Importar keystore",
- "importKeystoreHint": "Importar un repositorio de llaves utilizado para firmar apps",
- "importedKeystore": "Repositorio de claves importado",
- "selectKeystorePassword": "Contraseña del repositorio de llaves",
- "selectKeystorePasswordHint": "Seleccionar la contraseña del repositorio de llaves utilizada para firmar apps",
- "jsonSelectorErrorMessage": "No se puede utilizar el archivo JSON seleccionado",
- "keystoreSelectorErrorMessage": "No se puede utilizar el archivo de keystore seleccionado"
- },
- "appInfoView": {
- "widgetTitle": "Información de la app",
- "openButton": "Abrir",
- "installButton": "Instalar",
- "uninstallButton": "Desinstalar",
- "unmountButton": "Desmontar",
- "exportButton": "Exportar",
- "deleteButton": "Eliminar",
- "rootDialogTitle": "Error",
- "lastPatchedAppDescription": "Esta es una copia de seguridad de la aplicación que fue parcheada por última vez.",
- "unmountDialogText": "¿Estás seguro de que quieres desmontar esta app?",
- "uninstallDialogText": "¿Estás seguro de que quieres desinstalar esta app?",
- "rootDialogText": "La app se instaló con permisos de superusuario, pero actualmente ReVanced Manager no tiene permisos.\nPor favor, concede permisos de superusuario primero.",
- "removeAppDialogTitle": "¿Eliminar aplicación?",
- "removeAppDialogText": "¿Está seguro que desea eliminar esta copia de seguridad?",
- "packageNameLabel": "Nombre del paquete",
- "installTypeLabel": "Tipo de instalación",
- "mountTypeLabel": "Montar",
- "regularTypeLabel": "Normal",
- "patchedDateLabel": "Fecha del parche",
- "appliedPatchesLabel": "Parches aplicados",
- "sizeLabel": "Tamaño del archivo",
- "patchedDateHint": "${date} a las ${time}",
- "appliedPatchesHint": "${quantity} parches aplicados",
- "updateNotImplemented": "Esta función no se ha implementado aún"
- },
- "contributorsView": {
- "widgetTitle": "Contribuidores"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "La versión no coincide",
- "mount_no_root": "Sin acceso root",
- "mount_missing_installation": "Instalación no encontrada",
- "status_failure_blocked": "Instalación bloqueada",
- "install_failed_verification_failure": "La verificación falló",
- "status_failure_invalid": "Instalación inválida",
- "install_failed_version_downgrade": "No se puede bajar de versión",
- "status_failure_conflict": "Problema de instalación",
- "status_failure_storage": "Problema de almacenamiento de la instalación",
- "status_failure_incompatible": "Instalación incompatible",
- "status_failure_timeout": "Tiempo de instalación agotado",
- "status_unknown": "La instalación falló",
- "mount_version_mismatch_description": "La instalación ha fallado debido a que la app instalada es una versión diferente de la app parcheada.\n\nInstala la versión de la app que estás montando y vuelve a intentarlo.",
- "mount_no_root_description": "La instalación ha fallado debido a que no se ha concedido acceso root.\n\nConcede acceso root a ReVanced Manager y vuelve a intentarlo.",
- "mount_missing_installation_description": "La instalación ha fallado debido a que la aplicación no ha sido instalada en este dispositivo para montarla.\n\nInstala la aplicación sin parchear antes de montar y vuelve a intentarlo.",
- "status_failure_timeout_description": "La instalación tardó demasiado tiempo en terminar.\n\n¿Te gustaría intentarlo de nuevo?",
- "status_failure_storage_description": "La instalación ha fallado debido a falta de almacenamiento.\n\nLibera algo de espacio y vuelva a intentarlo.",
- "status_failure_invalid_description": "La instalación falló debido a que la app parcheada es inválida.\n\n¿Desinstalar la app e intentarlo de nuevo?",
- "status_failure_incompatible_description": "La aplicación es incompatible con este dispositivo.\n\nUtilice un APK soportado por este dispositivo e inténtelo de nuevo.",
- "status_failure_conflict_description": "La instalación fue evitada por una instalación existente de la app.\n\n¿Desinstalar la app instalada y volver a intentarlo?",
- "status_failure_blocked_description": "La instalación fue bloqueada por ${packageName}.\n\nAjusta la configuración de seguridad e inténtalo de nuevo.",
- "install_failed_verification_failure_description": "La instalación ha fallado debido a un problema de verificación.\n\nAjusta la configuración de seguridad e inténtalo de nuevo.",
- "install_failed_version_downgrade_description": "La instalación ha fallado debido a que la app parcheada es una versión inferior a la instalada.\n\n¿Desinstalar la app y volver a intentarlo?",
- "status_unknown_description": "La instalación ha fallado debido a una razón desconocida. Por favor, inténtalo de nuevo."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/es_MX.i18n.json b/assets/i18n/es_MX.i18n.json
deleted file mode 100755
index f66d2c82..00000000
--- a/assets/i18n/es_MX.i18n.json
+++ /dev/null
@@ -1,279 +0,0 @@
-{
- "okButton": "Aceptar",
- "cancelButton": "Cancelar",
- "dismissButton": "Descartar",
- "quitButton": "Salir",
- "updateButton": "Actualizar",
- "suggested": "Sugerida: ${version}",
- "yesButton": "Sí",
- "noButton": "No",
- "warning": "Advertencia",
- "notice": "Aviso",
- "noShowAgain": "No volver a mostrar",
- "add": "Añadir",
- "remove": "Quitar",
- "showChangelogButton": "Registro de cambios",
- "showUpdateButton": "Actualizar",
- "navigationView": {
- "dashboardTab": "Panel de control",
- "patcherTab": "Parcheador",
- "settingsTab": "Configuración"
- },
- "homeView": {
- "refreshSuccess": "Refrescado satisfactoriamente",
- "widgetTitle": "Panel de control",
- "updatesSubtitle": "Actualizaciones",
- "patchedSubtitle": "Aplicaciones parcheadas",
- "changeLaterSubtitle": "Puedes cambiar esto en la configuración más tarde.",
- "noInstallations": "No hay aplicaciones parcheadas instaladas",
- "installUpdate": "¿Continuar actualizando la aplicación?",
- "updateSheetTitle": "Actualizar ReVanced Manager",
- "updateDialogTitle": "Nueva actualización disponible",
- "updatePatchesSheetTitle": "Actualizar ReVanced Patches",
- "updateChangelogTitle": "Registro de cambios",
- "updateDialogText": "Hay una nueva versión disponible para ${file}.\n\nLa versión actualmente instalada es la ${version}.",
- "downloadConsentDialogTitle": "¿Descargar archivos necesarios?",
- "downloadConsentDialogText": "ReVanced Manager necesita descargar los archivos necesarios para funcionar correctamente.",
- "downloadConsentDialogText2": "Esto te conectará a ${url}.",
- "downloadingMessage": "Descargando actualización...",
- "downloadedMessage": "Actualización descargada",
- "installingMessage": "Instalando actualización...",
- "errorDownloadMessage": "No se pudo descargar la actualización",
- "errorInstallMessage": "Error al instalar la actualización",
- "noConnection": "Sin conexión a internet"
- },
- "applicationItem": {
- "infoButton": "Información"
- },
- "latestCommitCard": {
- "loadingLabel": "Cargando...",
- "timeagoLabel": "Hace ${time}"
- },
- "patcherView": {
- "widgetTitle": "Parcheador",
- "patchButton": "Parchear",
- "removedPatchesWarningDialogText": "Los siguientes parches fueron removidos desde la última vez que los usaste.\n\n${patches}\n\n${newPatches}¿Quieres continuar de todas formas?",
- "requiredOptionDialogText": "Algunas opciones de parche tienen que ser establecidas."
- },
- "appSelectorCard": {
- "widgetTitle": "Seleccionar una aplicación",
- "widgetTitleSelected": "Aplicación seleccionada",
- "widgetSubtitle": "No se seleccionó ninguna aplicación",
- "noAppsLabel": "No se encontraron aplicaciones",
- "anyVersion": "Cualquier versión"
- },
- "patchSelectorCard": {
- "widgetTitle": "Seleccionar parches",
- "widgetTitleSelected": "Parches seleccionados",
- "widgetSubtitle": "Selecciona primero una aplicación",
- "widgetEmptySubtitle": "Ningún parche fue seleccionado"
- },
- "socialMediaCard": {
- "widgetTitle": "Redes sociales",
- "widgetSubtitle": "¡Estamos en línea!"
- },
- "appSelectorView": {
- "viewTitle": "Seleccionar una aplicación",
- "searchBarHint": "Buscar aplicación",
- "storageButton": "Almacenamiento",
- "selectFromStorageButton": "Seleccionar desde almacenamiento",
- "errorMessage": "No se puede usar la aplicación seleccionada",
- "downloadToast": "La función de descarga aún no está disponible",
- "requireSuggestedAppVersionDialogText": "La versión de la aplicación que has seleccionado no coincide con la versión sugerida, lo que podría causar errores inesperados. Por favor, utiliza la versión sugerida.\n\nVersión seleccionada: ${selected}\nVersión sugerida: ${suggested}\n\nPara continuar de todas formas, desactiva \"Requerir versión sugerida de la aplicación\" en la configuración.",
- "featureNotAvailable": "Característica no implementada",
- "featureNotAvailableText": "Esta aplicación es una APK dividida y solo puede ser parcheada e instalada confiablemente al montar con permisos de root. Sin embargo, puedes parchear e instalar una APK completa seleccionándola en el almacenamiento."
- },
- "patchesSelectorView": {
- "viewTitle": "Selecciona parches",
- "searchBarHint": "Buscar parches",
- "universalPatches": "Parches universales",
- "newPatches": "Nuevos parches",
- "patches": "Parches",
- "doneButton": "Completado",
- "defaultChip": "Por defecto",
- "defaultTooltip": "Seleccionar todos los parches predeterminados",
- "noneChip": "Ninguno",
- "noneTooltip": "Deseleccionar todos los elementos",
- "loadPatchesSelection": "Cargar selección de parches",
- "noSavedPatches": "No se ha guardado ninguna selección de parches para la aplicación seleccionada.\nPresione Hecho para guardar la selección actual.",
- "noPatchesFound": "No se encontraron parches para la aplicación seleccionada",
- "setRequiredOption": "Algunos parches requieren que se establezcan opciones:\n\n${patches}\n\nPor favor, establécelos antes de continuar."
- },
- "patchOptionsView": {
- "customValue": "Valor personalizado",
- "setToNull": "Establecer a nulo",
- "nullValue": "Este valor de opción es nulo actualmente",
- "viewTitle": "Opciones de parche",
- "saveOptions": "Guardar",
- "unselectPatch": "Deseleccionar parche",
- "tooltip": "Más opciones de entrada",
- "selectFilePath": "Selecciona la ruta del archivo",
- "selectFolder": "Selecciona la carpeta",
- "requiredOption": "La configuración de esta opción es necesaria",
- "unsupportedOption": "Esta opción no está disponible",
- "requiredOptionNull": "Hay que configurar las siguientes opciones:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "Seleccionar este parche puede causar errores.\n\nVersión de la app: ${packageVersion}\nVersiones compatibles:\n${supportedVersions}",
- "unsupportedPatchVersion": "El parche no es compatible con esta versión de la aplicación.",
- "unsupportedRequiredOption": "Este parche contiene una opción necesaria que no es compatible con esta aplicación",
- "patchesChangeWarningDialogText": "Se recomienda utilizar la selección y opciones de parches por defecto. Cambiarlas puede resultar en problemas inesperados.\n\nTendrás que activar \"Permitir cambiar la selección de parches\" en la configuración antes de cambiar cualquier selección de parches.",
- "patchesChangeWarningDialogButton": "Usar selección por defecto"
- },
- "installerView": {
- "installType": "Seleccione el tipo de instalación",
- "installTypeDescription": "Selecciona el tipo de instalación con el que quieres continuar.",
- "installButton": "Instalar",
- "installRootType": "Montar",
- "installNonRootType": "Normal",
- "warning": "Desactiva las actualizaciones para la aplicación parcheada para evitar problemas inesperados.",
- "pressBackAgain": "Vuelve a presionar atrás para cancelar",
- "openButton": "Abrir",
- "notificationTitle": "ReVanced Manager está parcheando",
- "notificationText": "Pulsa para volver al instalador",
- "exportApkButtonTooltip": "Exportar APK parcheado",
- "exportLogButtonTooltip": "Exportar registro",
- "screenshotDetected": "Se ha detectado una captura de pantalla. Si está intentando compartir el registro, por favor comparta una copia de texto en su lugar.\n\n¿Copiar registro al portapapeles?",
- "copiedToClipboard": "Registro copiado en el portapapeles",
- "noExit": "El instalador se está ejecutando, no puedes salir..."
- },
- "settingsView": {
- "widgetTitle": "Ajustes",
- "appearanceSectionTitle": "Apariencia",
- "teamSectionTitle": "Equipo",
- "debugSectionTitle": "Depurando",
- "advancedSectionTitle": "Avanzado",
- "exportSectionTitle": "Importar y Exportar",
- "dataSectionTitle": "Fuentes de datos",
- "themeModeLabel": "Tema de la app",
- "systemThemeLabel": "Sistema",
- "lightThemeLabel": "Claro",
- "darkThemeLabel": "Modo oscuro",
- "dynamicThemeLabel": "Material para ti",
- "dynamicThemeHint": "Disfruta de una experiencia más cercana a tu dispositivo",
- "languageLabel": "Idioma",
- "languageUpdated": "Idioma actualizado",
- "sourcesLabel": "Fuentes alternativas",
- "sourcesLabelHint": "Configura las fuentes alternativas para ReVanced Patches y ReVanced Integrations",
- "useAlternativeSources": "Usar fuentes alternativas",
- "useAlternativeSourcesHint": "Usa fuentes alternativas para ReVanced Patches y ReVanced Integrations en lugar de la API",
- "sourcesResetDialogTitle": "Reiniciar",
- "sourcesResetDialogText": "¿Estás seguro de que quieres restablecer las fuentes a sus valores por defecto?",
- "apiURLResetDialogText": "¿Estás seguro de que quieres restablecer la URL de tu API a su valor por defecto?",
- "sourcesUpdateNote": "Nota: Se descargarán de forma automática ReVanced Patches y ReVanced Integrations desde las fuentes alternativas.\n\nEsto te conectará a la misma.",
- "apiURLLabel": "URL API",
- "apiURLHint": "Configura la URL de la API de ReVanced Manager",
- "selectApiURL": "URL de la API",
- "orgPatchesLabel": "Organización de parches",
- "sourcesPatchesLabel": "Fuente de los parches",
- "contributorsLabel": "Contribuidores",
- "contributorsHint": "Lista de contribuidores de ReVanced",
- "logsLabel": "Compartir registros",
- "logsHint": "Compartir los registros de ReVanced Manager",
- "enablePatchesSelectionLabel": "Permitir cambiar la selección de parches",
- "enablePatchesSelectionHint": "No prevenir la selección o deselección de parches",
- "enablePatchesSelectionWarningText": "Cambiar la selección de parches puede cauar problemas inespereados.\n\n¿Quieres activarlo de todas formas?",
- "disablePatchesSelectionWarningText": "Estás a punto de desactivar cambiar la selección de los parches.\nLa selección predeterminada de los parches será restaurada.\n\n¿Desactivar de todos modos?",
- "autoUpdatePatchesLabel": "Actualizar parches automáticamente",
- "autoUpdatePatchesHint": "Actualiza los parches a la última versión automáticamente",
- "showUpdateDialogLabel": "Mostrar diálogo de actualización",
- "showUpdateDialogHint": "Muestra un diálogo cuando una nueva actualización esté disponible",
- "universalPatchesLabel": "Mostrar parches universales",
- "universalPatchesHint": "Muestra todas las aplicaciones y los parches universales (puede ralentizar la carga de la lista de aplicaciones)",
- "versionCompatibilityCheckLabel": "Comprobar compatibilidad de versiones",
- "versionCompatibilityCheckHint": "Previene seleccionar parches que no sean compatibles con la versión de la aplicación seleccionada",
- "requireSuggestedAppVersionLabel": "Requerir versión sugerida de la aplicación",
- "requireSuggestedAppVersionHint": "Previene seleccionar una aplicación cuya versión no sea la sugerida",
- "requireSuggestedAppVersionDialogText": "Seleccionar una aplicación cuya versión no sea la sugerida puede causar problemas inesperados.\n\n¿Quieres continuar de todas formas?",
- "aboutLabel": "Acerca de",
- "snackbarMessage": "Copiado al portapapeles",
- "restartAppForChanges": "Reinicie la aplicación para aplicar los cambios",
- "deleteTempDirLabel": "Borrar archivos temporales",
- "deleteTempDirHint": "Eliminar archivos temporales no utilizados",
- "deletedTempDir": "Archivos temporales eliminados",
- "exportPatchesLabel": "Exportar selección de parches",
- "exportPatchesHint": "Exporta la selección de parches a un archivo JSON",
- "exportedPatches": "Selección de parches exportada",
- "noExportFileFound": "No hay selección de parches para exportar",
- "importPatchesLabel": "Importar selección de parches",
- "importPatchesHint": "Importa la selección de parches desde un archivo JSON",
- "importedPatches": "Selección de parches importada",
- "resetStoredPatchesLabel": "Restablecer selección de parches",
- "resetStoredPatchesHint": "Restablece la selección de parches almacenada",
- "resetStoredPatchesDialogTitle": "¿Restablecer selección de parches?",
- "resetStoredPatchesDialogText": "Se restaurará la selección de parches por defecto.",
- "resetStoredPatches": "Selección de parches restablecida",
- "resetStoredOptionsLabel": "Restablecer configuración de parches",
- "resetStoredOptionsHint": "Restablece la configuración de todos los parches",
- "resetStoredOptionsDialogTitle": "¿Restablecer configuración de parches?",
- "resetStoredOptionsDialogText": "Restablecer la configuración de parches eliminará todas las opciones guardadas.",
- "resetStoredOptions": "Configuración de parches restablecida",
- "deleteLogsLabel": "Borrar registros",
- "deleteLogsHint": "Elimina los registros recopilados por ReVanced Manager",
- "deletedLogs": "Registros eliminados",
- "regenerateKeystoreLabel": "Regenerar repositorio de claves",
- "regenerateKeystoreHint": "Regenera el repositorio de claves utilizado para firmar aplicaciones",
- "regenerateKeystoreDialogTitle": "¿Regenerar repositorio de claves?",
- "regenerateKeystoreDialogText": "Las aplicaciones parcheadas con el repositorio de claves anterior ya no podrán actualizarse.",
- "regeneratedKeystore": "Repositorio de claves regenerado",
- "exportKeystoreLabel": "Exportar repositorio de claves",
- "exportKeystoreHint": "Exporta el repositorio de claves utilizado para firmar aplicaciones",
- "exportedKeystore": "Repositorio de claves exportado",
- "noKeystoreExportFileFound": "No hay repositorio de claves para exportar",
- "importKeystoreLabel": "Importar repositorio de claves",
- "importKeystoreHint": "Importa el repositorio de claves utilizado para firmar aplicaciones",
- "importedKeystore": "Repositorio de claves importado",
- "selectKeystorePassword": "Contraseña del repositorio de claves",
- "selectKeystorePasswordHint": "Introduce la contraseña del repositorio de claves utilizado para firmar aplicaciones",
- "jsonSelectorErrorMessage": "No se puede utilizar el archivo JSON seleccionado",
- "keystoreSelectorErrorMessage": "No se puede utilizar el archivo de repositorio de claves seleccionado"
- },
- "appInfoView": {
- "widgetTitle": "Informacion de la aplicación",
- "openButton": "Abrir",
- "uninstallButton": "Desinstalar",
- "unmountButton": "Desmontar",
- "rootDialogTitle": "Ocurrió un error",
- "unmountDialogText": "¿Seguro que quieres desmontar esta aplicación?",
- "uninstallDialogText": "¿Seguro que quieres desinstalar esta aplicación?",
- "rootDialogText": "La aplicación se instaló con permisos de root, pero actualmente ReVanced Manager no tiene permisos root.\nPor favor, conceda primero los permisos de root.",
- "packageNameLabel": "Nombre del paquete",
- "installTypeLabel": "Tipo de instalación",
- "mountTypeLabel": "Montar",
- "regularTypeLabel": "Normal",
- "patchedDateLabel": "Fecha de parcheo",
- "appliedPatchesLabel": "Parches aplicados",
- "patchedDateHint": "${date} a las ${time}",
- "appliedPatchesHint": "${quantity} parches aplicados",
- "updateNotImplemented": "Esta función aún no se ha implementado"
- },
- "contributorsView": {
- "widgetTitle": "Contribuidores"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "La versión no coincide",
- "mount_no_root": "Sin acceso root",
- "mount_missing_installation": "No se encontró la instalación",
- "status_failure_blocked": "Instalación bloqueada",
- "install_failed_verification_failure": "Verificación fallida",
- "status_failure_invalid": "Instalación inválida",
- "install_failed_version_downgrade": "No se puede bajar de versión",
- "status_failure_conflict": "Conflicto de instalación",
- "status_failure_storage": "Problema de almacenamiento de la instalación",
- "status_failure_incompatible": "Instalación incompatible",
- "status_failure_timeout": "Tiempo de instalación agotado",
- "status_unknown": "Instalación fallida",
- "mount_version_mismatch_description": "La instalación falló debido a que la versión de la aplicación instalada es diferente a la de la aplicación parcheada.\n\nInstala la versión de la aplicación que intentas montar e inténtalo de nuevo.",
- "mount_no_root_description": "La instalación falló debido a que no se ha concedido acceso root.\n\nConcédele acceso root a ReVanced Manager y vuelve a intentarlo.",
- "mount_missing_installation_description": "La instalación falló debido a que la aplicación original no ha sido instalada en este dispositivo para montar la versión parcheada sobre ella.\n\nInstala la aplicación original antes de montar y vuelve a intentarlo.",
- "status_failure_timeout_description": "La instalación tardó demasiado en finalizar.\n\n¿Quieres intentarlo de nuevo?",
- "status_failure_storage_description": "La instalación falló debido a falta de almacenamiento.\n\nLibera algo de espacio y vuelve a intentarlo.",
- "status_failure_invalid_description": "La instalación falló debido a que la aplicación parcheada es inválida.\n\n¿Quieres desinstalar la aplicación e intentarlo de nuevo?",
- "status_failure_incompatible_description": "La aplicación es incompatible con este dispositivo.\n\nContacta con el desarrollador de la aplicación y solicita asistencia.",
- "status_failure_conflict_description": "Se impidió la instalación debido a una instalación existente de la aplicación.\n\n¿Quieres desinstalar la aplicación instalada e intentarlo de nuevo?",
- "status_failure_blocked_description": "${packageName} bloqueó la instalación.\n\nAjusta la configuración de seguridad e inténtalo de nuevo.",
- "install_failed_verification_failure_description": "La instalación falló debido a un problema de verificación.\n\nAjusta la configuración de seguridad e inténtalo de nuevo.",
- "install_failed_version_downgrade_description": "La instalación falló debido a que la aplicación parcheada es una versión inferior a la instalada.\n\n¿Quieres desinstalar la aplicación e intentarlo de nuevo?",
- "status_unknown_description": "La instalación falló debido a una razón desconocida. Por favor, inténtalo de nuevo."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/et_EE.i18n.json b/assets/i18n/et_EE.i18n.json
deleted file mode 100755
index a4ee1dd7..00000000
--- a/assets/i18n/et_EE.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "OK",
- "cancelButton": "Tühista",
- "dismissButton": "Lükka tagasi",
- "quitButton": "Välju",
- "updateButton": "Uuenda",
- "suggested": "Soovitatud: ${version}",
- "yesButton": "Jah",
- "noButton": "Ei",
- "warning": "Hoiatus",
- "notice": "Märkus",
- "noShowAgain": "Ära näita seda enam",
- "add": "Lisa",
- "remove": "Eemalda",
- "showChangelogButton": "Näita muudatuste logi",
- "showUpdateButton": "Näita uuendust",
- "navigationView": {
- "dashboardTab": "Avaleht",
- "patcherTab": "Patcher",
- "settingsTab": "Seaded"
- },
- "homeView": {
- "refreshSuccess": "Uuendatud edukalt",
- "widgetTitle": "Avaleht",
- "updatesSubtitle": "Uuendused",
- "lastPatchedAppSubtitle": "Viimati parandatud rakendus",
- "patchedSubtitle": "Installitud rakendused",
- "changeLaterSubtitle": "Seda saate hiljem seadistuste kaudu muuta.",
- "noSavedAppFound": "Rakendust ei leitud",
- "noInstallations": "Parandatud rakendusi pole installitud",
- "installUpdate": "Kas soovite uuenduse installida?",
- "updateSheetTitle": "Värskenda ReVanced Manager",
- "updateDialogTitle": "Uus uuendus on saadaval",
- "updatePatchesSheetTitle": "Uuenda ReVancedi parandusi",
- "updateChangelogTitle": "Muudatuste log",
- "updateDialogText": "${file} jaoks on saadaval uus uuendus.\n\nPraegu installitud versioon on ${version}.",
- "downloadConsentDialogTitle": "Lae alla vajalikud failid?",
- "downloadConsentDialogText": "ReVanced Manager peab laadima alla vajalikud failid, et korrektselt töötada.",
- "downloadConsentDialogText2": "See ühendab teid ${url} aadressiga.",
- "downloadingMessage": "Laadin alla uuendust...",
- "downloadedMessage": "Uuendus alla laaditud",
- "installingMessage": "Installeerin uuendust...",
- "errorDownloadMessage": "Uuendust ei saa alla laadida",
- "errorInstallMessage": "Uuendust ei saa installida",
- "noConnection": "Internet-ühendust pole"
- },
- "applicationItem": {
- "infoButton": "Info"
- },
- "latestCommitCard": {
- "loadingLabel": "Laadimine...",
- "timeagoLabel": "${time} tagasi"
- },
- "patcherView": {
- "widgetTitle": "Patcher",
- "patchButton": "Paranda",
- "incompatibleArchWarningDialogText": "Selle arhitektuuri parandamine pole veel toetatud ja see võib ebaõnnestuda. Kas jätkata ikkagi?",
- "removedPatchesWarningDialogText": "Eemaldatud parandused alates viimasest korda, kui te seda rakendust parandasite:\n\n${patches}\n\n${newPatches} Kas jätkata ikkagi?",
- "addedPatchesDialogText": "Lisatud parandused alates viimasest korda, kui te seda rakendust parandasite:\n\n${addedPatches}\n\n",
- "requiredOptionDialogText": "Mõned parandusvalikud peavad olema seatud."
- },
- "appSelectorCard": {
- "widgetTitle": "Vali rakendus",
- "widgetTitleSelected": "Valitud rakendus",
- "widgetSubtitle": "Rakendust pole valitud",
- "noAppsLabel": "Rakendusi ei leitud",
- "anyVersion": "Suvaline versioon"
- },
- "patchSelectorCard": {
- "widgetTitle": "Vali parandused",
- "widgetTitleSelected": "Valitud parandused",
- "widgetSubtitle": "Valige esmalt rakendus",
- "widgetEmptySubtitle": "Parandusi pole valitud"
- },
- "socialMediaCard": {
- "widgetTitle": "Sotsiaalmeedia",
- "widgetSubtitle": "Oleme võrgus!"
- },
- "appSelectorView": {
- "viewTitle": "Vali rakendus",
- "searchBarHint": "Otsi rakendust",
- "storageButton": "Salvestus",
- "selectFromStorageButton": "Vali salvestusest",
- "errorMessage": "Valitud rakendust ei saa kasutada",
- "downloadToast": "Laadimisfunktsioon pole veel saadaval",
- "requireSuggestedAppVersionDialogText": "Teie valitud rakenduse versioon ei vasta soovitatud versioonile, mis võib põhjustada ootamatuid probleeme. Palun kasutage soovitatud versiooni.\n\nValitud versioon: ${selected}\nSoovitatud versioon: ${suggested}\n\nJätkamiseks keelake seadistuste kaudu \"Nõua soovitatud rakenduse versiooni\".",
- "featureNotAvailable": "Funktsioon pole rakendatud",
- "featureNotAvailableText": "See rakendus on jagatud APK ja seda saab usaldusväärselt parandada ja installida ainult juurõigustega mäluseadme paigaldamise abil. Siiski saate parandada ja installida täieliku APK, valides selle salvestusruumist."
- },
- "patchesSelectorView": {
- "viewTitle": "Vali parandused",
- "searchBarHint": "Otsi parandusi",
- "universalPatches": "Universaalsed parandused",
- "newPatches": "Uued parandused",
- "patches": "Parandused",
- "doneButton": "Valmis",
- "defaultChip": "Vaikimisi",
- "defaultTooltip": "Vali kõik vaikimisi parandused",
- "noneChip": "Ükski",
- "noneTooltip": "Tühista kõik parandused",
- "loadPatchesSelection": "Laadi paranduste valik",
- "noSavedPatches": "Valitud rakendusele salvestatud paranduste valikut pole.\nVajutage Valmis, et salvestada praegune valik.",
- "noPatchesFound": "Valitud rakenduse jaoks ei leitud parandusi",
- "setRequiredOption": "Mõned parandused vajavad valikute määramist:\n\n${patches}\n\nPalun määrake need enne jätkamist."
- },
- "patchOptionsView": {
- "customValue": "Kohandatud väärtus",
- "setToNull": "Sea nulliks",
- "nullValue": "See suvandi väärtus on praegu null",
- "viewTitle": "Parandusvalikud",
- "saveOptions": "Salvesta",
- "unselectPatch": "Tühista parandus",
- "tooltip": "Rohkem sisestusvalikuid",
- "selectFilePath": "Vali faili tee",
- "selectFolder": "Vali kaust",
- "requiredOption": "Selle suvandi seadistamine on nõutav",
- "unsupportedOption": "See valik pole toetatud",
- "requiredOptionNull": "Järgmised valikud peavad olema seatud:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "Selle paranduse valik võib põhjustada parandusvigade tekkimist.\n\nRakenduse versioon: ${packageVersion}\nToetatud versioonid:\n${supportedVersions}",
- "unsupportedPatchVersion": "See rakenduse versioon ei toeta parandust.",
- "unsupportedRequiredOption": "See parandus sisaldab nõutavat valikut, mida see rakendus ei toeta",
- "patchesChangeWarningDialogText": "Soovitatav on kasutada vaikimisi paranduste valikut ja suvandeid. Nende muutmine võib põhjustada ootamatuid probleeme.\n\nEnne paranduste valiku muutmist peate seadetes lubama \"Luba paranduste valiku muutmine\".",
- "patchesChangeWarningDialogButton": "Kasuta vaikimisi valikut"
- },
- "installerView": {
- "installType": "Vali installitüüp",
- "installTypeDescription": "Valige installimisviis, et jätkata.",
- "installButton": "Paigalda",
- "installRootType": "Mounti",
- "installNonRootType": "Tavaline",
- "warning": "Keela parandatud rakenduse automaatsed uuendused, et vältida ootamatuid probleeme.",
- "pressBackAgain": "Vajutage tagasi uuesti, et tühistada",
- "openButton": "Ava",
- "notificationTitle": "ReVanced Manager parandab",
- "notificationText": "Puudutage, et naasta installeri juurde",
- "exportApkButtonTooltip": "Ekspordi parandatud APK",
- "exportLogButtonTooltip": "Ekspordi log",
- "screenshotDetected": "Ekraanipilt on tuvastatud. Kui proovite logi jagada, jagage selle asemel teksti koopia.\n\nKopeeri log lõikepuhvrisse?",
- "copiedToClipboard": "Logi kopeeritud lõikepuhvrisse",
- "noExit": "Installer töötab ikka, ei saa väljuda..."
- },
- "settingsView": {
- "widgetTitle": "Seaded",
- "appearanceSectionTitle": "Välimus",
- "teamSectionTitle": "Meeskond",
- "debugSectionTitle": "Tõrkeotsing",
- "advancedSectionTitle": "Täiustatud",
- "exportSectionTitle": "Impordi ja ekspordi",
- "dataSectionTitle": "Andmeallikad",
- "themeModeLabel": "Rakenduse teema",
- "systemThemeLabel": "Süsteem",
- "lightThemeLabel": "Heledad",
- "darkThemeLabel": "Tumedad",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "Nautige oma seadmega lähemal kogemust",
- "languageLabel": "Keel",
- "languageUpdated": "Keel uuendatud",
- "sourcesLabel": "Alternatiivsed allikad",
- "sourcesLabelHint": "Konfigureeri ReVanced Patchide alternatiivsed allikad",
- "useAlternativeSources": "Kasuta alternatiivseid allikaid",
- "useAlternativeSourcesHint": "Kasuta ReVanced Patchide alternatiivseid allikaid API asemel",
- "sourcesResetDialogTitle": "Lähtesta",
- "sourcesResetDialogText": "Kas olete kindel, et soovite oma allikad vaikimisi väärtustele lähtestada?",
- "apiURLResetDialogText": "Kas olete kindel, et soovite oma API URL-i vaikimisi väärtustele lähtestada?",
- "sourcesUpdateNote": "Märkus: See laadib ReVanced Patchid automaatselt alternatiivsetest allikatest.\n\nSee ühendab teid alternatiivse allikaga.",
- "apiURLLabel": "API URL",
- "apiURLHint": "Konfigureeri ReVanced Manageri API URL",
- "selectApiURL": "API URL",
- "orgPatchesLabel": "Paranduste organisatsioon",
- "sourcesPatchesLabel": "Paranduste allikas",
- "contributorsLabel": "Kaasautorid",
- "contributorsHint": "Nimekiri ReVanced'i kaasautoritest",
- "logsLabel": "Jaga logisid",
- "logsHint": "Jaga ReVanced Manageri logisid",
- "enablePatchesSelectionLabel": "Luba paranduste valiku muutmine",
- "enablePatchesSelectionHint": "Ära keela paranduste valimist või valikust eemaldamist",
- "enablePatchesSelectionWarningText": "Paranduste valiku muutmine võib põhjustada ootamatuid probleeme.\n\nKas lubate ikkagi?",
- "disablePatchesSelectionWarningText": "Te olete peaaegu keelamas paranduste valiku muutmise.\nParanduste vaikimisi valik taastatakse.\n\nKas keelate ikkagi?",
- "autoUpdatePatchesLabel": "Automaatne paranduste uuendamine",
- "autoUpdatePatchesHint": "Uuenda parandused automaatselt uusimasse versiooni",
- "showUpdateDialogLabel": "Näita uuenduse dialoogi",
- "showUpdateDialogHint": "Näita dialoogi, kui on saadaval uus uuendus",
- "universalPatchesLabel": "Näita universaalseid parandusi",
- "universalPatchesHint": "Kuva kõik rakendused ja universaalsed parandused (võib aeglustada rakenduste loendit)",
- "lastPatchedAppLabel": "Salvesta parandatud rakendus",
- "lastPatchedAppHint": "Salvesta viimane parandus, et hiljem installida või eksportida",
- "versionCompatibilityCheckLabel": "Versiooni ühilduvuse kontroll",
- "versionCompatibilityCheckHint": "Keela valitud rakenduse versiooniga mitteühilduvate paranduste valik",
- "requireSuggestedAppVersionLabel": "Nõua soovitatud rakenduse versiooni",
- "requireSuggestedAppVersionHint": "Keela valitud rakenduse versiooni valik, mis ei ole soovitatud",
- "requireSuggestedAppVersionDialogText": "Soovitatud versioonist erineva rakenduse valik võib põhjustada ootamatuid probleeme.\n\nKas soovite jätkata ikkagi?",
- "aboutLabel": "Teave",
- "snackbarMessage": "Kopeeritud lõikepuhvrisse",
- "restartAppForChanges": "Taaskäivitage rakendus muudatuste rakendamiseks",
- "deleteTempDirLabel": "Kustuta ajutised failid",
- "deleteTempDirHint": "Kustuta mittevajalikud ajutised failid",
- "deletedTempDir": "Ajutine failid kustutatud",
- "exportSettingsLabel": "Ekspordi seaded",
- "exportSettingsHint": "Ekspordi seaded JSON-faili",
- "exportedSettings": "Seaded eksporditud",
- "importSettingsLabel": "Impordi seaded",
- "importSettingsHint": "Impordi seaded JSON-failist",
- "importedSettings": "Seaded imporditud",
- "exportPatchesLabel": "Ekspordi paranduste valik",
- "exportPatchesHint": "Ekspordi paranduste valik JSON-faili",
- "exportedPatches": "Paranduste valik eksporditud",
- "noExportFileFound": "Paranduste valikut pole võimalik eksportida",
- "importPatchesLabel": "Impordi paranduste valik",
- "importPatchesHint": "Impordi paranduste valik JSON-failist",
- "importedPatches": "Paranduste valik imporditud",
- "resetStoredPatchesLabel": "Lähtesta paranduste valik",
- "resetStoredPatchesHint": "Lähtesta salvestatud paranduste valik",
- "resetStoredPatchesDialogTitle": "Lähtesta paranduste valik?",
- "resetStoredPatchesDialogText": "Taastatakse paranduste vaikimisi valik.",
- "resetStoredPatches": "Paranduste valik on lähtestatud",
- "resetStoredOptionsLabel": "Lähtesta paranduste suvandid",
- "resetStoredOptionsHint": "Lähtesta kõik paranduste suvandid",
- "resetStoredOptionsDialogTitle": "Lähtesta paranduste suvandid?",
- "resetStoredOptionsDialogText": "Paranduste suvandite lähtestamine eemaldab kõik salvestatud suvandid.",
- "resetStoredOptions": "Suvandid on lähtestatud",
- "deleteLogsLabel": "Tühjenda logid",
- "deleteLogsHint": "Kustuta ReVanced Manageri kogutud logid",
- "deletedLogs": "Logid kustutatud",
- "regenerateKeystoreLabel": "Taasta võtmehoidla",
- "regenerateKeystoreHint": "Taasta võtmehoidla, mida kasutatakse rakenduste allkirjastamiseks",
- "regenerateKeystoreDialogTitle": "Taasta võtmehoidla?",
- "regenerateKeystoreDialogText": "Parandatud rakendused, mis on allkirjastatud vana võtmehoidlaga, ei saa enam uuendada.",
- "regeneratedKeystore": "Võtmehoidla taastatud",
- "exportKeystoreLabel": "Ekspordi võtmehoidla",
- "exportKeystoreHint": "Ekspordi võtmehoidla, mida kasutatakse rakenduste allkirjastamiseks",
- "exportedKeystore": "Võtmehoidla eksporditud",
- "noKeystoreExportFileFound": "Võtmehoidla eksportida pole",
- "importKeystoreLabel": "Impordi võtmehoidla",
- "importKeystoreHint": "Impordi võtmehoidla, mida kasutatakse rakenduste allkirjastamiseks",
- "importedKeystore": "Võtmehoidla imporditud",
- "selectKeystorePassword": "Võtmehoidla parool",
- "selectKeystorePasswordHint": "Vali võtmehoidla parool, mida kasutatakse rakenduste allkirjastamiseks",
- "jsonSelectorErrorMessage": "Valitud JSON-faili ei saa kasutada",
- "keystoreSelectorErrorMessage": "Valitud võtmehoidla faili ei saa kasutada"
- },
- "appInfoView": {
- "widgetTitle": "Rakenduse info",
- "openButton": "Ava",
- "installButton": "Installi",
- "uninstallButton": "Desinstalli",
- "unmountButton": "Eemalda",
- "exportButton": "Ekspordi",
- "deleteButton": "Kustuta",
- "rootDialogTitle": "Viga",
- "lastPatchedAppDescription": "See on varukoopia viimast korda parandatud rakendusest.",
- "unmountDialogText": "Kas olete kindel, et soovite selle rakenduse eemaldada?",
- "uninstallDialogText": "Kas olete kindel, et soovite selle rakenduse desinstallida?",
- "rootDialogText": "Rakendus on installitud superkasutaja õigustega, aga ReVanced Manageril pole praegu õigusi.\nPalun anna ReVanced Managerile superkasutaja õigused.",
- "removeAppDialogTitle": "Kustutada rakendus?",
- "removeAppDialogText": "Kas olete kindel, et soovite selle varukoopia kustutada?",
- "packageNameLabel": "Pakettinimi",
- "installTypeLabel": "Installatsiooni tüüp",
- "mountTypeLabel": "Liigutamine",
- "regularTypeLabel": "Tavaline",
- "patchedDateLabel": "Parandatud kuupäev",
- "appliedPatchesLabel": "Rakendatud parandused",
- "sizeLabel": "Faili suurus",
- "patchedDateHint": "${date} kell ${time}",
- "appliedPatchesHint": "${quantity} rakendatud parandust",
- "updateNotImplemented": "See funktsioon pole veel implementeeritud"
- },
- "contributorsView": {
- "widgetTitle": "Kaasautorid"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "Versiooni erinevus",
- "mount_no_root": "Juurõigusi pole",
- "mount_missing_installation": "Installatsiooni ei leitud",
- "status_failure_blocked": "Installatsioon blokeeritud",
- "install_failed_verification_failure": "Kinnitamine ebaõnnestus",
- "status_failure_invalid": "Installatsioon kehtetu",
- "install_failed_version_downgrade": "Ei saa alla astuda",
- "status_failure_conflict": "Installatsiooni konflikt",
- "status_failure_storage": "Installatsiooni salvestusruumi probleem",
- "status_failure_incompatible": "Installatsioon ei ole ühilduv",
- "status_failure_timeout": "Installatsiooni aegumine",
- "status_unknown": "Installatsioon ebaõnnestus",
- "mount_version_mismatch_description": "Installatsioon ebaõnnestus, kuna installitud rakendus on erineva versiooniga kui parandatud rakendus.\n\nInstalleeri rakenduse versioon, mida sa liigutad, ja proovi uuesti.",
- "mount_no_root_description": "Installatsioon ebaõnnestus, kuna juurõigusi pole antud.\n\nAnna ReVanced Managerile juurõigused ja proovi uuesti.",
- "mount_missing_installation_description": "Installatsioon ebaõnnestus, kuna parandamata rakendus ei ole selles seadmes installitud, et seda üle liigutada.\n\nInstalleeri parandamata rakendus enne liigutamist ja proovi uuesti.",
- "status_failure_timeout_description": "Installatsioon kestis liiga kaua.\n\nKas soovite uuesti proovida?",
- "status_failure_storage_description": "Installatsioon ebaõnnestus ebapiisava salvestusruumi tõttu.\n\nVabasta ruumi ja proovi uuesti.",
- "status_failure_invalid_description": "Installatsioon ebaõnnestus, kuna parandatud rakendus on kehtetu.\n\nDesinstalli rakendus ja proovi uuesti?",
- "status_failure_incompatible_description": "Rakendus ei ole selle seadmega ühilduv.\n\nKasutage APK-d, mis on selle seadmega ühilduv, ja proovige uuesti.",
- "status_failure_conflict_description": "Installatsiooni takistas olemasolev rakenduse installatsioon.\n\nDesinstalli installitud rakendus ja proovi uuesti?",
- "status_failure_blocked_description": "Installatsiooni blokeeris ${packageName}.\n\nKohanda oma turvaseadeid ja proovi uuesti.",
- "install_failed_verification_failure_description": "Installatsioon ebaõnnestus kinnituse probleemi tõttu.\n\nKohanda oma turvaseadeid ja proovi uuesti.",
- "install_failed_version_downgrade_description": "Installatsioon ebaõnnestus, kuna parandatud rakendus on madalama versiooniga kui installitud rakendus.\n\nDesinstalli rakendus ja proovi uuesti?",
- "status_unknown_description": "Installatsioon ebaõnnestus tundmatu põhjuse tõttu. Proovige uuesti."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/fa_IR.i18n.json b/assets/i18n/fa_IR.i18n.json
deleted file mode 100755
index 7bcdd1e8..00000000
--- a/assets/i18n/fa_IR.i18n.json
+++ /dev/null
@@ -1,174 +0,0 @@
-{
- "okButton": "تأیید",
- "cancelButton": "انصراف",
- "dismissButton": "نادیده گرفتن",
- "quitButton": "خروج",
- "updateButton": "بهروزرسانی",
- "suggested": "پیشنهاد شده:${version}",
- "yesButton": "بله",
- "noButton": "خیر",
- "warning": "هشدار",
- "notice": "توجه",
- "noShowAgain": "دوباره نشان داده نشود",
- "add": "افزودن",
- "remove": "حذف",
- "showChangelogButton": "نمایش تغییرات",
- "showUpdateButton": "نمایش به روز رسانی",
- "navigationView": {
- "dashboardTab": "پیشخوان",
- "patcherTab": "نصب کننده پچ",
- "settingsTab": "تنظیمات"
- },
- "homeView": {
- "refreshSuccess": "با موفقیت به روزرسانی شد",
- "widgetTitle": "پیشخوان",
- "updatesSubtitle": "بهروزرسانیها",
- "lastPatchedAppSubtitle": "آخرین برنامه پچ شده",
- "patchedSubtitle": "برنامههای نصبشده",
- "noSavedAppFound": "\n\t\tهیچ برنامه ای پیدا نشد\n\t",
- "noInstallations": "هیچ برنامه پچ شده ای نصب نشده",
- "installUpdate": "ادامه نصب بروزرسانی?",
- "updateSheetTitle": "بروزرسانی Revanced Manager",
- "updateDialogTitle": "بهروزرسانی جدیدی موجود است",
- "updatePatchesSheetTitle": "بروزرسانی پچ های Revanced",
- "updateChangelogTitle": "لیست تغییرات",
- "downloadConsentDialogText2": "اتصال به ${url}.",
- "downloadingMessage": "در حال بارگیری بهروزرسانی...",
- "downloadedMessage": "بهروزرسانی دانلود شد",
- "installingMessage": "درحال نصب بروزرسانی...",
- "errorDownloadMessage": "دانلود بروزرسانی ممکن نیست",
- "errorInstallMessage": "نصب بروزرسانی ممکن نیست",
- "noConnection": "اتصال به اینترنت موجود نیست"
- },
- "applicationItem": {
- "infoButton": "اطلاعات"
- },
- "latestCommitCard": {
- "loadingLabel": "درحال بارگذاری...",
- "timeagoLabel": "${time} پیش"
- },
- "patcherView": {
- "widgetTitle": "نصب کننده پچ",
- "patchButton": "پچ",
- "requiredOptionDialogText": "بعضی از تنظیمات پچ باید انتخاب شود."
- },
- "appSelectorCard": {
- "widgetTitle": "یک برنامه را انتخاب کنید",
- "widgetTitleSelected": "برنامه انتخاب شده",
- "noAppsLabel": "هیچ برنامه ای یافت نشد"
- },
- "patchSelectorCard": {
- "widgetTitle": "پچ ها را انتخاب کنید",
- "widgetTitleSelected": "پچ های انتخاب شده",
- "widgetSubtitle": "ابتدا یک برنامه را انتخاب کنید",
- "widgetEmptySubtitle": "هیچ پچی انتخاب نشده است"
- },
- "socialMediaCard": {
- "widgetTitle": "شبکه های اجتماعی",
- "widgetSubtitle": "ما آنلاین هستیم!"
- },
- "appSelectorView": {
- "viewTitle": "یک برنامه را انتخاب کنید",
- "searchBarHint": "جستجوی برنامه",
- "storageButton": "محل ذخیره",
- "selectFromStorageButton": "انتخاب از محل ذخیره",
- "errorMessage": "امکان استفاده از برنامه انتخابی وجود ندارد",
- "downloadToast": "بارگیری عملکرد فعلا در دسترس نیست",
- "featureNotAvailable": "قابلیت اضافه نشده است"
- },
- "patchesSelectorView": {
- "viewTitle": "پچ ها را انتخاب کنید",
- "searchBarHint": "جست و جوی پچ ها",
- "universalPatches": "پچ های عمومی",
- "newPatches": "پچ های جدید",
- "patches": "پچ ها",
- "doneButton": "انجام شد",
- "defaultChip": "پیشفرض",
- "defaultTooltip": "تمام پچ های پیشفرض انتخاب شود",
- "noneChip": "هیچکدام",
- "noneTooltip": "حذف انتخاب همه پچ ها",
- "noPatchesFound": "هیچ وصله ای برای این برنامه پیدا نشد"
- },
- "patchOptionsView": {
- "setToNull": "تنظیم به null",
- "saveOptions": "ذخیره",
- "selectFolder": "انتخاب پوشه"
- },
- "patchItem": {
- "unsupportedDialogText": "انتخاب این پچ(وصله) ممکنه خطاهای در هنگام پچ کردن ایجاد کند.\n\nنسخه برنامه: ${packageVersion}\nنسخه های پشتیبان شده:\n${supportedVersions}"
- },
- "installerView": {
- "installButton": "نصب",
- "installRootType": "قرار دادن",
- "installNonRootType": "عادی",
- "openButton": "باز کن",
- "notificationTitle": "ریونسد منیجر در حال پچ کردن است",
- "notificationText": "کلیک کنید تا به نصب کننده برگردید",
- "exportLogButtonTooltip": "صدور لاگ",
- "noExit": "نصب کننده در حال اجراست، نمیتوان خارج شد..."
- },
- "settingsView": {
- "widgetTitle": "تنظیمات",
- "appearanceSectionTitle": "ظاهر",
- "teamSectionTitle": "گروه",
- "advancedSectionTitle": "پیشرفته",
- "exportSectionTitle": "وارد کردن /خروجی گرفتن",
- "dataSectionTitle": "منابع اطلاعات",
- "themeModeLabel": "پوسته برنامه",
- "systemThemeLabel": "سیستم",
- "lightThemeLabel": "روشن",
- "darkThemeLabel": "تاریک",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "یک تجربه نزدیکتر به دستگاهتان را داشته باشید",
- "languageLabel": "زبان",
- "languageUpdated": "زبان آپدیت شد",
- "sourcesLabel": "منبع جایگزین",
- "sourcesResetDialogTitle": "تنظیم مجدد",
- "apiURLLabel": "آدرس API",
- "selectApiURL": "آدرس API",
- "orgPatchesLabel": "سازمان پچها(وصله ها)",
- "sourcesPatchesLabel": "منبع پچ ها",
- "contributorsLabel": "مشارکت کنندگان",
- "contributorsHint": "لیست مشارکتکنندگان ریونسد",
- "logsLabel": "اشتراک لاگ ها",
- "logsHint": "اشتراک لاگ های Revanced Manager",
- "aboutLabel": "درباره ما",
- "snackbarMessage": "در کلیپبورد کپی شد",
- "restartAppForChanges": "راهاندازی مجدد برنامه برای اعمال تغییرات",
- "deleteTempDirLabel": "حذف فایل های موقت",
- "deleteTempDirHint": "حذف فایلهای بی استفاده",
- "deletedTempDir": "فایل های موقت حذف شدند",
- "deletedLogs": "لاگ ها حذف شدند",
- "jsonSelectorErrorMessage": "فایل JSON انتخاب شده قابل استفاده نیست"
- },
- "appInfoView": {
- "widgetTitle": "اطلاعات برنامه",
- "openButton": "بازکردن",
- "installButton": "نصب",
- "uninstallButton": "حذف نصب",
- "unmountButton": "پیاده کردن",
- "exportButton": "صدور",
- "deleteButton": "حذف",
- "rootDialogTitle": "خطا",
- "rootDialogText": "برنامه با مجوز کاربر ویژه نصب شده، ولی اکنون برنامه هیچ مجوزی ندارد. لطفا ابتدا مجوز کاربر ویژه را اعطا کنید.",
- "removeAppDialogTitle": "حذف برنامه?",
- "packageNameLabel": "نام بسته",
- "installTypeLabel": "نوع نصب",
- "mountTypeLabel": "قرار دادن",
- "regularTypeLabel": "عادی",
- "patchedDateLabel": "تاریخ وصله شدن",
- "appliedPatchesLabel": "وصله های اعمال شده",
- "sizeLabel": "حجم فایل",
- "patchedDateHint": "${date} در ${time}",
- "appliedPatchesHint": "${quantity} وصله اعمال شده",
- "updateNotImplemented": "این ویژگی هنوز تکمیل نشده است"
- },
- "contributorsView": {
- "widgetTitle": "مشارکت کنندگان"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "عدم تطابق نسخه ها",
- "mount_no_root": "بدون دسترسی روت",
- "install_failed_verification_failure": "اعتبارسنجی با خطا مواجه شد"
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/fi_FI.i18n.json b/assets/i18n/fi_FI.i18n.json
deleted file mode 100755
index ca9b2d54..00000000
--- a/assets/i18n/fi_FI.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "OK",
- "cancelButton": "Peruuta",
- "dismissButton": "Sulje",
- "quitButton": "Sulje",
- "updateButton": "Päivitä",
- "suggested": "Ehdotettu: ${version}",
- "yesButton": "Kyllä",
- "noButton": "Ei",
- "warning": "Varoitus",
- "notice": "Huomautus",
- "noShowAgain": "Älä näytä tätä uudelleen",
- "add": "Lisää",
- "remove": "Poista",
- "showChangelogButton": "Näytä muutoshistoria",
- "showUpdateButton": "Näytä päivitys",
- "navigationView": {
- "dashboardTab": "Hallintapaneeli",
- "patcherTab": "Paikkaaja",
- "settingsTab": "Asetukset"
- },
- "homeView": {
- "refreshSuccess": "Päivitys onnistui",
- "widgetTitle": "Hallintapaneeli",
- "updatesSubtitle": "Päivitykset",
- "lastPatchedAppSubtitle": "Viimeksi paikattu sovellus",
- "patchedSubtitle": "Asennetut sovellukset",
- "changeLaterSubtitle": "Voit muuttaa tätä asetuksissa koska tahansa.",
- "noSavedAppFound": "Sovellusta ei löytynyt",
- "noInstallations": "Paikattuja sovelluksia ei ole asennettu",
- "installUpdate": "Jatketaanko päivityksen asennusta?",
- "updateSheetTitle": "Päivitä ReVanced Manager",
- "updateDialogTitle": "Uusi päivitys on saatavilla",
- "updatePatchesSheetTitle": "Päivitä ReVanced-paikkaukset",
- "updateChangelogTitle": "Muutoshistoria",
- "updateDialogText": "Uusi ${file} päivitys on saatavilla.\n\nNyt asennettu versio on ${version}.",
- "downloadConsentDialogTitle": "Ladataanko tarvittavat tiedostot?",
- "downloadConsentDialogText": "Revanced Managerin on ladattava kunnollista toimintaa varten tarvittavat tiedostot.",
- "downloadConsentDialogText2": "Tämä yhdistää osoitteeseen ${url}.",
- "downloadingMessage": "Päivitystä ladataan...",
- "downloadedMessage": "Päivitys on ladattu",
- "installingMessage": "Päivitystä asennetaan...",
- "errorDownloadMessage": "Päivityksen lataus epäonnistui",
- "errorInstallMessage": "Päivityksen asennus epäonnistui",
- "noConnection": "Internet-yhteyttä ei ole"
- },
- "applicationItem": {
- "infoButton": "Tietoja"
- },
- "latestCommitCard": {
- "loadingLabel": "Ladataan...",
- "timeagoLabel": "${time} sitten"
- },
- "patcherView": {
- "widgetTitle": "Paikkaaja",
- "patchButton": "Paikkaa",
- "incompatibleArchWarningDialogText": "Paikkaamista ei vielä tueta tällä kokoonpanolla, ja se saattaa epäonnistua. Jatketaanko silti?",
- "removedPatchesWarningDialogText": "Paikkaukset, jotka on poistettu sen jälkeen, kun viimeksi paikkasit tämän sovelluksen:\n\n${patches}\n\n${newPatches}Jatketaanko silti?",
- "addedPatchesDialogText": "Sen jälkeen, kun viimeksi paikkasit tämän sovelluksen lisätyt paikkaukset:\n\n${addedPatches}",
- "requiredOptionDialogText": "Joitakin paikkausasetuksia on määritettävä."
- },
- "appSelectorCard": {
- "widgetTitle": "Valitse sovellus",
- "widgetTitleSelected": "Valittu sovellus",
- "widgetSubtitle": "Sovellusta ei valittu",
- "noAppsLabel": "Sovelluksia ei löytynyt",
- "anyVersion": "Kaikki versiot"
- },
- "patchSelectorCard": {
- "widgetTitle": "Valitse paikkaukset",
- "widgetTitleSelected": "Valitut paikkaukset",
- "widgetSubtitle": "Valitse ensin sovellus",
- "widgetEmptySubtitle": "Paikkauksia ei ole valittu"
- },
- "socialMediaCard": {
- "widgetTitle": "Somet",
- "widgetSubtitle": "Olemme verkossa!"
- },
- "appSelectorView": {
- "viewTitle": "Valitse sovellus",
- "searchBarHint": "Etsi sovellusta",
- "storageButton": "Tallennustila",
- "selectFromStorageButton": "Valitse tallennustilasta",
- "errorMessage": "Valittua sovellusta ei voida käyttää",
- "downloadToast": "Lataustoiminto ei ole vielä käytettävissä",
- "requireSuggestedAppVersionDialogText": "Valitsemasi sovellusversio ei vastaa ehdotettua versiota ja tämä voi aiheuttaa odottamattomia ongelmia. Käytä ehdotettua sovellusversiota.\n\nValittu versio: v${selected}\nEhdotettu versio: v${suggested}\n\nOhittaaksesi tämän, ota \"Vaadi ehdotettu sovellusversio\" -asetus käyttöön.",
- "featureNotAvailable": "Ominaisuutta ei ole toteutettu",
- "featureNotAvailableText": "Tämä sovellus on jaettu APK ja se voidaan paikata ja asentaa luotettavasti vain root-oikeuksilla liitettynä. Voit kuitenkin paikata ja asentaa täyden APK:n valitsemalla sen tallennustilasta."
- },
- "patchesSelectorView": {
- "viewTitle": "Valitse paikkaukset",
- "searchBarHint": "Etsi paikkauksia",
- "universalPatches": "Yleispaikkaukset",
- "newPatches": "Uudet paikkaukset",
- "patches": "Paikkaukset",
- "doneButton": "Valmis",
- "defaultChip": "Oletus",
- "defaultTooltip": "Valitse kaikki oletuspaikkaukset",
- "noneChip": "Ei mitään",
- "noneTooltip": "Tyhjennä kaikki paikkausvalinnat",
- "loadPatchesSelection": "Lataa paikkausvalikoima",
- "noSavedPatches": "Valitulle sovellukselle ei ole tallennettu paikkausvalikoimaa.\nTallenna nykyinen valikoima painamalla \"Valmis\".",
- "noPatchesFound": "Valitulle sovellukselle ei löytynyt paikkauksia",
- "setRequiredOption": "Joillekin paikkauksille on määritettävä asetuksia:\n\n${patches}\n\nMääritä ne ennen kuin jatkat."
- },
- "patchOptionsView": {
- "customValue": "Oma arvo",
- "setToNull": "Aseta nollaksi",
- "nullValue": "Tämän asetuksen arvo on tällä hetkellä tyhjä",
- "viewTitle": "Paikkausasetukset",
- "saveOptions": "Tallenna",
- "unselectPatch": "Poista paikkauksen valinta",
- "tooltip": "Enemmän syöttöasetuksia",
- "selectFilePath": "Valitse tiedostosijainti",
- "selectFolder": "Valitse kansio",
- "requiredOption": "Tämän valinnan asettaminen on pakollista",
- "unsupportedOption": "Tätä asetusta ei tueta",
- "requiredOptionNull": "Seuraavat asetukset on määritettävä:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "Tämän paikkauksen valinta voi aiheuttaa virheitä.\n\nSovelluksen versio: ${packageVersion}\nTuetut versiot: \n${supportedVersions}",
- "unsupportedPatchVersion": "Tämän sovellusversio ei tue paikkaa.",
- "unsupportedRequiredOption": "Paikkaus sisältää pakollisen asetuksen, jota tämä sovellus ei tue",
- "patchesChangeWarningDialogText": "On suositeltavaa käyttää oletusarvoisia paikkausvalintoja ja -asetuksia. Niiden muutokset voivat aiheuttaa odottamattomia ongelmia.\n\n\"Salli paikkausvalintojen muutos\" -asetus on otettava käyttöön ennen kuin valintoja voidaan muuttaa.",
- "patchesChangeWarningDialogButton": "Käytä oletusvalintaa"
- },
- "installerView": {
- "installType": "Valitse asennustyyppi",
- "installTypeDescription": "Valitse asennustyyppi, jolla jatketaan.",
- "installButton": "Asenna",
- "installRootType": "Liitä",
- "installNonRootType": "Tavallinen",
- "warning": "Poista paikatun sovelluksen automaattiset päivitykset käytöstä odottamattomien ongelmien välttämiseksi.",
- "pressBackAgain": "Peru painamalla takaisin-painiketta uudelleen",
- "openButton": "Avaa",
- "notificationTitle": "ReVanced Manager suorittaa paikkauksia",
- "notificationText": "Napauta palataksesi hallintasovellukseen",
- "exportApkButtonTooltip": "Via paikattu APK",
- "exportLogButtonTooltip": "Vie loki",
- "screenshotDetected": "Havaittiin kuvankaappaus. Jos yrität jakaa lokin, jaa se kuvan sijaan tekstinä.\n\nKopioidaanko loki leikepöydälle?",
- "copiedToClipboard": "Loki kopioitiin leikepöydälle",
- "noExit": "Asennus on vielä kesken, eikä poistuminen ole mahdollista..."
- },
- "settingsView": {
- "widgetTitle": "Asetukset",
- "appearanceSectionTitle": "Ulkoasu",
- "teamSectionTitle": "Tiimi",
- "debugSectionTitle": "Virheenkorjaus",
- "advancedSectionTitle": "Lisäasetukset",
- "exportSectionTitle": "Tuonti ja vienti",
- "dataSectionTitle": "Tietolähteet",
- "themeModeLabel": "Sovelluksen teema",
- "systemThemeLabel": "Järjestelmä",
- "lightThemeLabel": "Vaalea",
- "darkThemeLabel": "Tumma",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "Nauti paremmin laitettasi vastaavasta käyttökokemuksesta",
- "languageLabel": "Kieli",
- "languageUpdated": "Kieli on vaihdettu",
- "sourcesLabel": "Vaihtoehtoiset lähteet",
- "sourcesLabelHint": "Määritä ReVanced Patchesien vaihtoehtoiset lähteet",
- "useAlternativeSources": "Käytä vaihtoehtoisia lähteitä",
- "useAlternativeSourcesHint": "Käytä vaihtoehtoisia ReVanced Patches -lähteitä API:n sijaan",
- "sourcesResetDialogTitle": "Palauta",
- "sourcesResetDialogText": "Haluatko varmasti palauttaa oletuslähteet?",
- "apiURLResetDialogText": "Haluatko varmasti palauttaa oletusarvoisen API:n URL-osoitteen?",
- "sourcesUpdateNote": "Huomaa: Tämä lataa automaattisesti ReVanced Patchesin vaihtoehtoisista lähteistä.\n\nTämä yhdistää sinut vaihtoehtoiseen lähteeseen.",
- "apiURLLabel": "API:n URL-osoite",
- "apiURLHint": "Määritä ReVanced Managerin API:N URL-osoite",
- "selectApiURL": "API:n URL-osoite",
- "orgPatchesLabel": "Paikkauksien organisaatio",
- "sourcesPatchesLabel": "Paikkauksien lähde",
- "contributorsLabel": "Osallistujat",
- "contributorsHint": "Listaus ReVancedin kehitykseen osallistuneista",
- "logsLabel": "Jaa lokit",
- "logsHint": "Jaa ReVanced Managerin lokit",
- "enablePatchesSelectionLabel": "Salli paikkausvalintojen muutos",
- "enablePatchesSelectionHint": "Älä estä paikkausten valintaa tai valintojen poistoa",
- "enablePatchesSelectionWarningText": "Paikkausvalikoiman muuttaminen voi aiheuttaa odottamattomia ongelmia.\n\nSallitaanko se silti?",
- "disablePatchesSelectionWarningText": "Olet poistamassa paikkausvalikoiman muokkauksen käytöstä.\nOletusarvoiset paikkasvalikoimat palautetaan.\n\nEstetäänkö se silti?",
- "autoUpdatePatchesLabel": "Päivitä paikkaukset automaattisesti",
- "autoUpdatePatchesHint": "Päivitä paikkaukset automaattisesti uusimpiin versioihin",
- "showUpdateDialogLabel": "Näytä päivitysruutu",
- "showUpdateDialogHint": "Näytä ilmoitus, kun uusi päivitys on saatavilla",
- "universalPatchesLabel": "Näytä yleispaikkaukset",
- "universalPatchesHint": "Näytä kaikki sovellukset ja yleispaikkaukset (voi hidastaa sovelluslistausta)",
- "lastPatchedAppLabel": "Tallenna paikattu sovellus",
- "lastPatchedAppHint": "Tallenna viimeisin paikkaus myöhempää asennusta tai vientiä varten",
- "versionCompatibilityCheckLabel": "Version yhteensopivuustarkastus",
- "versionCompatibilityCheckHint": "Estä valitsemasta valitun sovellusversion kanssa yhteensopimattomia paikkauksia",
- "requireSuggestedAppVersionLabel": "Vaadi ehdotettu sovellusversio",
- "requireSuggestedAppVersionHint": "Estä ehdotetusta sovellusversiosta poikkeavan version valinta",
- "requireSuggestedAppVersionDialogText": "Ehdotetusta poikkeavan sovellusversion valinta voi aiheuttaa odottamattomia ongelmia.\n\nJatketaanko tästä huolimatta?",
- "aboutLabel": "Tietoja",
- "snackbarMessage": "Kopioitu leikepöydälle",
- "restartAppForChanges": "Käynnistä sovellus uudestaan muutosten käyttöönottamiseksi",
- "deleteTempDirLabel": "Poista väliaikaistiedostot",
- "deleteTempDirHint": "Poista käyttämättömät väliaikaistiedostot",
- "deletedTempDir": "Väliaikaistiedostot poistettiin",
- "exportSettingsLabel": "Vie asetukset",
- "exportSettingsHint": "Vie asetukset JSON-tiedostoon",
- "exportedSettings": "Asetukset viety",
- "importSettingsLabel": "Tuo asetukset",
- "importSettingsHint": "Tuo asetukset JSON-tiedostosta",
- "importedSettings": "Asetukset tuotu",
- "exportPatchesLabel": "Vie paikkausvalikoima",
- "exportPatchesHint": "Vie paikkausvalikoima JSON-tiedostoon",
- "exportedPatches": "Paikkausvalikoima vietiin",
- "noExportFileFound": "Vietäviä paikkausvalikoimia ei ole",
- "importPatchesLabel": "Tuo paikkausvalikoima",
- "importPatchesHint": "Tuo paikkausvalikoima JSON-tiedostosta",
- "importedPatches": "Paikkausvalikoima tuotiin",
- "resetStoredPatchesLabel": "Palauta paikkausvalikoima",
- "resetStoredPatchesHint": "Palauta tallennettu paikkausvalikoima",
- "resetStoredPatchesDialogTitle": "Palautetaanko paikkausvalikoima?",
- "resetStoredPatchesDialogText": "Oletusarvoinen paikkausvalikoima palautetaan.",
- "resetStoredPatches": "Paikkausvalikoima palautettiin",
- "resetStoredOptionsLabel": "Palauta paikkausasetukset",
- "resetStoredOptionsHint": "Palauta kaikki paikkausasetukset",
- "resetStoredOptionsDialogTitle": "Palautetaanko paikkausasetukset?",
- "resetStoredOptionsDialogText": "Paikkausasetusten palautus poistaa kaikki tallennetut asetukset.",
- "resetStoredOptions": "Asetukset palautettiin",
- "deleteLogsLabel": "Tyhjennä lokit",
- "deleteLogsHint": "Poista kerätyt ReVanced Managerin lokitiedot",
- "deletedLogs": "Lokitiedot on poistettu",
- "regenerateKeystoreLabel": "Luo avainsäilö uudelleen",
- "regenerateKeystoreHint": "Luo sovellusten allekirjoitukseen käytettävä avainsäilö uudelleen",
- "regenerateKeystoreDialogTitle": "Luodaanko avainsäilö uudelleen?",
- "regenerateKeystoreDialogText": "Vanhalla avainsäilöllä allekirjoitettuja sovelluksia ei voida enää päivittää.",
- "regeneratedKeystore": "Avainsäilö luotiin uudelleen",
- "exportKeystoreLabel": "Vie avainsäilö",
- "exportKeystoreHint": "Vie sovellusten allekirjoitukseen käytettävä avainsäilö",
- "exportedKeystore": "Avainsäilö vietiin",
- "noKeystoreExportFileFound": "Vietävää avainsäilöä ei ole",
- "importKeystoreLabel": "Tuo avainsäilö",
- "importKeystoreHint": "Tuo sovellusten allekirjoitukseen käytettävä avainsäilö",
- "importedKeystore": "Avainsäilö tuotiin",
- "selectKeystorePassword": "Avainsäilön salasana",
- "selectKeystorePasswordHint": "Valitse sovellusten allekirjoitukseen käytettävä avainsäilö",
- "jsonSelectorErrorMessage": "Valittua JSON-tiedostoa ei voida käyttää",
- "keystoreSelectorErrorMessage": "Valittua avainsäilötiedostoa ei voida käyttää"
- },
- "appInfoView": {
- "widgetTitle": "Sovelluksen tiedot",
- "openButton": "Avaa",
- "installButton": "Asenna",
- "uninstallButton": "Poista asennus",
- "unmountButton": "Irroita liitos",
- "exportButton": "Vie",
- "deleteButton": "Poista",
- "rootDialogTitle": "Virhe",
- "lastPatchedAppDescription": "Tämä on viimeksi korjatun sovelluksen varmuuskopio.",
- "unmountDialogText": "Haluatko varmasti irrottaa sovelluksen liitoksen?",
- "uninstallDialogText": "Oletko varma, että haluat poistaa sovelluksen?",
- "rootDialogText": "Sovellus asennettiin superuser-oikeuksilla, mutta ReVanced Managerilla ei tällä hetkellä ole näitä käyttöoikeuksia.\nMyönnä superuser-käyttöoikeus ensin.",
- "removeAppDialogTitle": "Poistetaanko sovellus?",
- "removeAppDialogText": "Haluatko varmasti poistaa tämän varmuuskopion?",
- "packageNameLabel": "Paketin nimi",
- "installTypeLabel": "Asennustyyppi",
- "mountTypeLabel": "Liitä",
- "regularTypeLabel": "Tavallinen",
- "patchedDateLabel": "Paikkausaika",
- "appliedPatchesLabel": "Suoritetut paikkaukset",
- "sizeLabel": "Tiedostokoko",
- "patchedDateHint": "${date} klo ${time}",
- "appliedPatchesHint": "${quantity} suoritettua paikkausta",
- "updateNotImplemented": "Ominaisuutta ei ole vielä toteutettu"
- },
- "contributorsView": {
- "widgetTitle": "Osallistujat"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "Versioristiriita",
- "mount_no_root": "Root-oikeuksia ei ole",
- "mount_missing_installation": "Asennusta ei löytynyt",
- "status_failure_blocked": "Asennus estettiin",
- "install_failed_verification_failure": "Vahvistus epäonnistui",
- "status_failure_invalid": "Asennus ei kelpaa",
- "install_failed_version_downgrade": "Ei voida alentaa",
- "status_failure_conflict": "Asennusristiriita",
- "status_failure_storage": "Asennuksen tallennustilaongelma",
- "status_failure_incompatible": "Asennus ei ole yhteensopiva",
- "status_failure_timeout": "Asennus aikakatkaistiin",
- "status_unknown": "Asennus epäonnistui",
- "mount_version_mismatch_description": "Asennus epäonnistui, koska asennettu sovellusversio eroaa paikatusta versiosta.\n\nAsenna sovelluksesta se versio, jonka liität ja yritä uudelleen.",
- "mount_no_root_description": "Asennus epäonnistui, koska root-oikeuksia ei myönnetty.\n\nMyönnä ReVanced Managerille root-oikeudet ja yritä uudelleen.",
- "mount_missing_installation_description": "Asennus epäonnistui, koska paikkaamatonta sovellusta ei ole asennettu tälle laitteelle sen liikosen korvaamiseksi.\n\nAsenna paikkaamaton sovellus ennen liitosta ja yritä uudelleen.",
- "status_failure_timeout_description": "Asennus kesti liian kauan.\n\nHaluatko yrittää uudelleen?",
- "status_failure_storage_description": "Asennus epäonnistui riittämättömän tallennustilan vuoksi.\n\nVapauta tilaa ja yritä uudelleen.",
- "status_failure_invalid_description": "Asennus epäonnistui, koska paikattu sovellus ei kelpaa.\n\nPoistetaanko sovelluksen asennus ja yritetään uudelleen?",
- "status_failure_incompatible_description": "Sovellus ei ole yhteensopiva tämän laitteen kanssa.\n\nKäytä APK:a, jota tämä laite tukee ja yritä uudelleen.",
- "status_failure_conflict_description": "Sovelluksen jo olemassaoleva asennus esti asennuksen.\n\nPoistetaanko asennettu sovellus ja yritetään uudelleen?",
- "status_failure_blocked_description": "${packageName} esti asennuksen.\n\nMuuta suojausasetuksiasi ja yritä uudelleen.",
- "install_failed_verification_failure_description": "Asennus epäonnistui todennusongelman vuoksi.\n\nSäädä suojausasetuksiasi ja yritä uudelleen.",
- "install_failed_version_downgrade_description": "Asennus epäonnistui, koska paikatun sovelluksen versio on asennettua vanhempi.\n\nPoistetaanko sovelluksen asennus ja yritetään uudelleen?",
- "status_unknown_description": "Asennus epäonnistui tuntemattomasta syystä. Yritä uudelleen."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/fil_PH.i18n.json b/assets/i18n/fil_PH.i18n.json
deleted file mode 100755
index bc3b6139..00000000
--- a/assets/i18n/fil_PH.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "Sige",
- "cancelButton": "I-cancel",
- "dismissButton": "Kalimutan",
- "quitButton": "Itigil",
- "updateButton": "Magbago",
- "suggested": "Version payo ng ReVanced: ${version}",
- "yesButton": "Sige",
- "noButton": "Hindi",
- "warning": "Babala",
- "notice": "Pabatid",
- "noShowAgain": "Wag na ipakita ito muli",
- "add": "Idagdag",
- "remove": "Itanggal",
- "showChangelogButton": "Ipakita ang naibago",
- "showUpdateButton": "Ipakita ang pagbabago",
- "navigationView": {
- "dashboardTab": "Dashboard",
- "patcherTab": "Tagapagtapal",
- "settingsTab": "Mga Setting"
- },
- "homeView": {
- "refreshSuccess": "Tapos nang Refresh",
- "widgetTitle": "Mga Dashboard",
- "updatesSubtitle": "Mga Pagbabago",
- "lastPatchedAppSubtitle": "Huling na-patch na app",
- "patchedSubtitle": "Na-install na apps",
- "changeLaterSubtitle": "Pwede mo palitan ito sa settings mamaya.",
- "noSavedAppFound": "Walang nahanap na app",
- "noInstallations": "Walang naka-install na na-patch na mga app",
- "installUpdate": "Ituloy ang pag-install ng update?",
- "updateSheetTitle": "I-update ang ReVanced Manager",
- "updateDialogTitle": "May bagong update na available",
- "updatePatchesSheetTitle": "I-update ang mga Patch ng ReVanced",
- "updateChangelogTitle": "Talaan ng mga pagbabago",
- "updateDialogText": "May bagong update na available para sa ${file}.\n\nAng kasalukuyang naka-install na bersyon ay ${version}.",
- "downloadConsentDialogTitle": "I-download ang mga kinakailangang files?",
- "downloadConsentDialogText": "Kailangan ng ReVanced Manager na i-download ang mga kinakailangang file para gumana nang maayos.",
- "downloadConsentDialogText2": "Ito ay magkokonekta sa iyo sa ${url}.",
- "downloadingMessage": "Nagda-download ng update...",
- "downloadedMessage": "Na-download ang update",
- "installingMessage": "Ini-install ang update...",
- "errorDownloadMessage": "Hindi ma-download ang update",
- "errorInstallMessage": "Hindi ma-install ang update",
- "noConnection": "Walang koneksyon sa internet"
- },
- "applicationItem": {
- "infoButton": "Impormasyon"
- },
- "latestCommitCard": {
- "loadingLabel": "Naglo-load...",
- "timeagoLabel": "${time} ang nakalipas"
- },
- "patcherView": {
- "widgetTitle": "Tagapagtapal",
- "patchButton": "Tapalan",
- "incompatibleArchWarningDialogText": "Ang pag-patch sa arkitektura na ito ay hindi pa suportado at maaaring mabigo. Magpatuloy pa rin?",
- "removedPatchesWarningDialogText": "Naalis na mga patch mula noong huling pag-patch mo sa app na ito:\n\n${patches}\n\n${newPatches}Magpatuloy pa rin?",
- "addedPatchesDialogText": "Idinagdag na mga patch mula noong huling pag-patch mo sa app na ito:\n\n${addedPatches}\n\n",
- "requiredOptionDialogText": "Kailangan mo i-set ang ilang mga opsyon para sa patch."
- },
- "appSelectorCard": {
- "widgetTitle": "Pumili ka ng apps",
- "widgetTitleSelected": "Piniling app",
- "widgetSubtitle": "Walang app na pinili",
- "noAppsLabel": "Walang nakitang aplikasyon",
- "anyVersion": "Anumang bersyon"
- },
- "patchSelectorCard": {
- "widgetTitle": "Pumili ng mga pantapal",
- "widgetTitleSelected": "Mga Napiling Pantapal",
- "widgetSubtitle": "Muna pumili ng aplikasyon",
- "widgetEmptySubtitle": "Walang patches ang napili"
- },
- "socialMediaCard": {
- "widgetTitle": "Mga Social",
- "widgetSubtitle": "Online na kami!"
- },
- "appSelectorView": {
- "viewTitle": "Pumili ka ng app",
- "searchBarHint": "Hanapin ang app",
- "storageButton": "Imbakan",
- "selectFromStorageButton": "Pumili ka galing sa imbakan",
- "errorMessage": "Hindi magamit ang napiling aplikasyon",
- "downloadToast": "Ang function ng pag-download ay hindi pa available",
- "requireSuggestedAppVersionDialogText": "Ang bersyon ng app na iyong pinili ay hindi tumutugma sa inirerekomendang bersyon na maaaring magdulot ng di-inaasahang mga isyu. Mangyaring gamitin ang inirerekomendang bersyon.\n\nPiniling bersyon: ${selected} \nInirerekomendang bersyon: ${suggested}\n\nPara magpatuloy pa rin, i-disable ang \"Kinakailangang inirerekomendang bersyon ng app\" sa mga setting.",
- "featureNotAvailable": "Hindi pa nagagawa ang feature",
- "featureNotAvailableText": "Ang app na ito ay isang split APK at maaari lamang ma-patch at ma-install nang maayos sa pamamagitan ng pag-mount na may root permissions. Gayunpaman, maaari mong ma-patch at ma-install ang buong APK sa pamamagitan ng pagpili nito mula sa storage."
- },
- "patchesSelectorView": {
- "viewTitle": "Pumili ka ng patches",
- "searchBarHint": "Maghanap ng mga pantapal",
- "universalPatches": "Unibersal na mga patch",
- "newPatches": "Mga bagong patch",
- "patches": "Mga patch",
- "doneButton": "Tapos na",
- "defaultChip": "Regular",
- "defaultTooltip": "Pumili ng lahat ng mga regular na mga patch",
- "noneChip": "Wala",
- "noneTooltip": "Huwag piliin lahat ng tapal",
- "loadPatchesSelection": "Mag-load ng pagpipilian ng patch",
- "noSavedPatches": "Walang na-save na pagpipilian ng patch para sa piniling app. Pindutin ang 'Tapos na' para i-save ang kasalukuyang pagpipilian.",
- "noPatchesFound": "Walang nahanap na pantapal para sa napiling aplikasyon",
- "setRequiredOption": "Ilang mga patch ay nangangailangan ng mga opsyon na dapat itakda:\n\n${patches}\n\nMangyaring i-set ang mga ito bago magpatuloy."
- },
- "patchOptionsView": {
- "customValue": "Halaga ng Custom",
- "setToNull": "Itakda sa null",
- "nullValue": "Ang halaga ng opsyong ito ay kasalukuyang null",
- "viewTitle": "Mga opsyon ng patch",
- "saveOptions": "I-save",
- "unselectPatch": "Alisin ang pag-patch",
- "tooltip": "Mga karagdagang opsyon sa input",
- "selectFilePath": "Pumili ng landas ng file",
- "selectFolder": "Pumili ng folder",
- "requiredOption": "Kinakailangan ang pagtatakda ng opsyong ito",
- "unsupportedOption": "Hindi suportado ang opsyong ito",
- "requiredOptionNull": "Ang mga sumusunod na opsyon ay kailangang i-set:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "Maaaring magkaproblema sa pagtatapal kung pipiliin mo ang pantapal na ito.\n\nBersyon ng app: ${packageVersion}\nSuportadong mga bersyon:\n${supportedVersions}",
- "unsupportedPatchVersion": "Hindi suportado ang patch para sa bersyon ng app na ito.",
- "unsupportedRequiredOption": "Ang patch na ito ay naglalaman ng isang kinakailangang opsyon na hindi suportado ng app na ito",
- "patchesChangeWarningDialogText": "Inirerekomenda na gamitin ang default na pagpili ng patch at opsyon. Ang pagbabago sa mga ito ay maaaring magdulot ng di-inaasahang mga isyu.\n\nKailangan mong buksan ang \"Pahintulot sa pagbabago ng pagpili ng patch\" sa mga setting bago baguhin ang anumang pagpili ng patch.",
- "patchesChangeWarningDialogButton": "Gamitin ang regular na pagpili"
- },
- "installerView": {
- "installType": "Pumili ng uri ng pag-install",
- "installTypeDescription": "Upang magpatuloy, pumili ng uri ng pag-install.",
- "installButton": "I-install",
- "installRootType": "I-mount",
- "installNonRootType": "Regular ",
- "warning": "Upang maiwasan ang di-inaasahang mga isyu, i-disable ang mga auto-update para sa patched na app.",
- "pressBackAgain": "Pindutin muli ang back para kanselahin",
- "openButton": "Buksan",
- "notificationTitle": "May tinatapalan ang ReVanced Manager",
- "notificationText": "Pindutin para bumalik sa installer",
- "exportApkButtonTooltip": "I-export ang na-patch na APK",
- "exportLogButtonTooltip": "I-export ang log",
- "screenshotDetected": "May nakitang screenshot. Kung sinusubukan mong ibahagi ang log, Ibahagi na lang ang text copy sa halip.\n\nKopyahin ang log sa clipboard?",
- "copiedToClipboard": "Nakopya ang log sa clipboard",
- "noExit": "Hindi pwedeng umalis, umaandar pa ang installer..."
- },
- "settingsView": {
- "widgetTitle": "Mga Setting",
- "appearanceSectionTitle": "Hitsura",
- "teamSectionTitle": "Pangkat",
- "debugSectionTitle": "Pagde-debug",
- "advancedSectionTitle": "Advanced",
- "exportSectionTitle": "Mag-import at mag-export",
- "dataSectionTitle": "Pinagkukunan na datos",
- "themeModeLabel": "Tema ng app",
- "systemThemeLabel": "Sistema",
- "lightThemeLabel": "Liwanag",
- "darkThemeLabel": "Dilim",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "Lasapin ang karanasang naaangkop sa iyong device",
- "languageLabel": "Wika",
- "languageUpdated": "Wika na-update na",
- "sourcesLabel": "Iba pang mga sources ",
- "sourcesLabelHint": "I-configure ang mga alternatibong pinagmulan para sa ReVanced Patches",
- "useAlternativeSources": "Gumamit ng alternatibong mga sources ",
- "useAlternativeSourcesHint": "Gumamit ng mga alternatibong pinagmulan para sa ReVanced Patches sa halip na ang API",
- "sourcesResetDialogTitle": "I-reset",
- "sourcesResetDialogText": "Sigurado ka bang gusto mong ibalik sa dati ang lahat ng mga pinasadyang pinagkukunan?",
- "apiURLResetDialogText": "Sigurado ka bang gusto mong ibalik sa dati ang URL ng API?",
- "sourcesUpdateNote": "Tandaan: Awtomatikong magda-download ito ng ReVanced Patches mula sa mga alternatibong pinagmulan.\n\nIkakonekta ka nito sa alternatibong pinagmulan.",
- "apiURLLabel": "URL ng API",
- "apiURLHint": "I-configure ang API URL ng ReVanced Manager",
- "selectApiURL": "URL ng API",
- "orgPatchesLabel": "Pagsasaayos ng mga pantapal",
- "sourcesPatchesLabel": "Pinanggalingan ng mga pantapal",
- "contributorsLabel": "Mga taga-ambag",
- "contributorsHint": "Listahan ng mga tumulong sa ReVanced",
- "logsLabel": "Ibahagi ang log",
- "logsHint": "Ibahagi ang mga log ng ReVanced Manager",
- "enablePatchesSelectionLabel": "Pinapayagan ang pagbabago sa pagpipilian ng patch",
- "enablePatchesSelectionHint": "Huwag pigilan ang pagpili o pag-unselect ng mga patch",
- "enablePatchesSelectionWarningText": "Ang pagbabago ng piniling patch ay maaaring magdulot ng mga hindi inaasahang isyu.\n\nI-enable pa rin?",
- "disablePatchesSelectionWarningText": "Ikaw ay malapit nang magdisable sa pagpalit ng mga pinili na patches.\nDahil dyan, ang karaniwang pagpili ng mga patch ay maibalik.\n\nI-disable pa rin?",
- "autoUpdatePatchesLabel": "Auto update patches",
- "autoUpdatePatchesHint": "Awtomatikong i-update ang mga patch sa pinakabagong bersyon",
- "showUpdateDialogLabel": "Ipakita ang dialog ng update",
- "showUpdateDialogHint": "Ipakita ang isang dialog kapag magagamit ang isang bagong update",
- "universalPatchesLabel": "Ipakita ang mga pangkalahatang patch",
- "universalPatchesHint": "I-display lahat ng mga app at lahat ng mga patch (maaaring mapabagal ang paglo-load ng app list)",
- "lastPatchedAppLabel": "I-save ang na-patch na app",
- "lastPatchedAppHint": "I-save ang huling patch upang mai-install o mai-export sa ibang pagkakataon",
- "versionCompatibilityCheckLabel": "Pag-check ng katugmang sa bersyon",
- "versionCompatibilityCheckHint": "Huwag pahintulutan ang pagpili ng mga patch na hindi tugma sa napiling bersyon ng app",
- "requireSuggestedAppVersionLabel": "I-require ang inirerekomendang bersyon ng app",
- "requireSuggestedAppVersionHint": "Huwag pahintulutan ang pagpili ng app na may bersyon na hindi iminungkahi",
- "requireSuggestedAppVersionDialogText": "Ang pagpili ng app na hindi ang inirerekomendang bersyon ay maaaring magdulot ng hindi inaasahang mga problema.\n\nGusto mo bang magpatuloy pa rin?",
- "aboutLabel": "Tungkol",
- "snackbarMessage": "Nakopya sa clipboard",
- "restartAppForChanges": "I-restart ang app para umepekto ang mga pagbabago",
- "deleteTempDirLabel": "Burahin ang mga pansamantalang file",
- "deleteTempDirHint": "Burahin ang mga hindi na ginagamit na pansamantalang file",
- "deletedTempDir": "Binura ang mga pansamantalang file",
- "exportSettingsLabel": "I-export ang mga setting",
- "exportSettingsHint": "I-export ang mga setting sa isang JSON file",
- "exportedSettings": "Na-export ang mga setting",
- "importSettingsLabel": "I-import ang mga setting",
- "importSettingsHint": "I-import ang mga setting mula sa isang JSON file",
- "importedSettings": "Na-import ang mga setting",
- "exportPatchesLabel": "Mag-export ng seleksyon ng mga pantapal",
- "exportPatchesHint": "I-export ang seleksyon ng mga pantapal sa isang JSON file",
- "exportedPatches": "Na-export ang seleksyon ng mga pantapal",
- "noExportFileFound": "Walang seleksyon ng mga pantapal para i-export",
- "importPatchesLabel": "Mag-import ng seleksyon ng mga pantapal",
- "importPatchesHint": "Mag-import ng seleksyon ng mga pantapal mula sa isang JSON file",
- "importedPatches": "Na-import ang seleksyon ng mga pantapal",
- "resetStoredPatchesLabel": "I-reset ang seleksyon ng pantapal",
- "resetStoredPatchesHint": "I-reset ang seleksyon ng mga nakaimbak na pantapal",
- "resetStoredPatchesDialogTitle": "I-reset ang seleksyon ng pantapal?",
- "resetStoredPatchesDialogText": "Ibabalik ang default na pagpipilian ng mga patch.",
- "resetStoredPatches": "Na-reset na ang pagpili ng mga patch",
- "resetStoredOptionsLabel": "I-reset ang mga opsyon ng patch",
- "resetStoredOptionsHint": "I-reset ang lahat ng opsyon ng patch",
- "resetStoredOptionsDialogTitle": "I-reset ang mga opsyon ng patch?",
- "resetStoredOptionsDialogText": "Ang pag-reset ng mga opsyon ng patch ay tatanggalin ang lahat ng nai-save na mga opsyon.",
- "resetStoredOptions": "Na-reset na ang mga opsyon",
- "deleteLogsLabel": "Burahin lahat ng logs",
- "deleteLogsHint": "I-clear ang mga nakolektang logs ng ReVanced Manager",
- "deletedLogs": "Nabura na yung logs",
- "regenerateKeystoreLabel": "I-regenerate ang keystore",
- "regenerateKeystoreHint": "I-regenerate ang keystore na ginamit sa pagpirma ng mga apps",
- "regenerateKeystoreDialogTitle": "I-regenerate ang keystore?",
- "regenerateKeystoreDialogText": "Ang mga app na patched na nilagdaan gamit ang lumang keystore ay hindi na maa-update.",
- "regeneratedKeystore": "Keystore naibalik ang",
- "exportKeystoreLabel": "I-export ang keystore",
- "exportKeystoreHint": "I-export ang keystore na ginagamit para lagdaan ang mga app",
- "exportedKeystore": "Nai-export ang keystore",
- "noKeystoreExportFileFound": "Walang keystore na ma-export",
- "importKeystoreLabel": "I-import ang keystore",
- "importKeystoreHint": "Mag-import ng isang keystore na ginamit sa pagpirma ng mga apps",
- "importedKeystore": "Nai-import ang keystore",
- "selectKeystorePassword": "Keystore password",
- "selectKeystorePasswordHint": "Pumili ng password ng keystore na ginamit sa pagpirma ng mga app",
- "jsonSelectorErrorMessage": "Hindi magamit ang napiling JSON file",
- "keystoreSelectorErrorMessage": "Hindi magamit ang piniling file ng keystore"
- },
- "appInfoView": {
- "widgetTitle": "Impormasyon",
- "openButton": "Buksan",
- "installButton": "I-install",
- "uninstallButton": "Alisin",
- "unmountButton": "I-unmount",
- "exportButton": "I-export",
- "deleteButton": "Tanggalin",
- "rootDialogTitle": "Error",
- "lastPatchedAppDescription": "Ito ay isang backup ng app na huling na-patch.",
- "unmountDialogText": "Gusto mo bang i-tanggal ang aplikasyong ito?",
- "uninstallDialogText": "Gusto mo bang i-alis ang aplikasyong ito?",
- "rootDialogText": "Na-install ang app gamit ang pahintulot ng superuser, pero walang kasalukuyang pahintulot ang ReVanced Manager.\nBigyan muna kami ng pahintulot pang-superuser.",
- "removeAppDialogTitle": "Tanggalin ang app?",
- "removeAppDialogText": "Sigurado ka bang gusto mong tanggalin ang backup na ito?",
- "packageNameLabel": "Pangalan ng package",
- "installTypeLabel": "Uri ng installation",
- "mountTypeLabel": "I-mount",
- "regularTypeLabel": "Regular",
- "patchedDateLabel": "Petsa ng pagtatapal",
- "appliedPatchesLabel": "Nalapat na mga pantapal",
- "sizeLabel": "Laki ng file",
- "patchedDateHint": "${date} sa ${time}",
- "appliedPatchesHint": "${quantity} ang naka-apply nga patches",
- "updateNotImplemented": "Binubuo pa lamang ang feature na ito"
- },
- "contributorsView": {
- "widgetTitle": "Mga nag-ambag"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "Hindi magkatugma ang bersyon",
- "mount_no_root": "Walang access sa root",
- "mount_missing_installation": "`Hindi matagpuan ang pag-install' means 'Installation not found'",
- "status_failure_blocked": "`Hindi pinagana ang pag-install' means 'Installation blocked'",
- "install_failed_verification_failure": "`Hindi pinagana ang pag-verify' means 'Verification failed'",
- "status_failure_invalid": "`Hindi ito pinagana' means 'Installation invalid'",
- "install_failed_version_downgrade": "`Hindi ito pinagana' means 'Can't downgrade'",
- "status_failure_conflict": "`Hindi ito pinagana' means 'Installation conflict'",
- "status_failure_storage": "Suliranin sa espasyo ng pag-iimbak ng pag-install",
- "status_failure_incompatible": "Hindi tugma ang pag-install",
- "status_failure_timeout": "Nasuspende ang pag-install",
- "status_unknown": "Nabigo ang pag-install",
- "mount_version_mismatch_description": "Naging bigo ang pag-install dahil sa ibang bersyon ang na-install na app kaysa sa napatch na app.\n\nI-install ang bersyon ng app na ino-mount mo at subukang muli.",
- "mount_no_root_description": "Nabigo ang pag-install dahil hindi pinagkalooban ng root access.\n\nPagkalooban ng root access ang ReVanced Manager at subukang muli.",
- "mount_missing_installation_description": "Ang pag-install ay nabigo dahil ang hindi pa na-patch na app ay hindi naka-install sa device na ito para mai-mount dito.\n\nI-install ang hindi pa na-patch na app bago mag-mount at subukang muli.",
- "status_failure_timeout_description": "Masyadong matagal bago matapos ang pag-install.\n\nGusto mo bang subukang muli?",
- "status_failure_storage_description": "Ang pag-install ay nabigo dahil sa hindi sapat na imbakan.\n\nMagbakante ng ilang espasyo at subukang muli.",
- "status_failure_invalid_description": "Nabigo ang pag-install dahil hindi wasto ang na-patch na app.\n\nAlisin ang app at subukan muli?",
- "status_failure_incompatible_description": "Hindi tugma ang app sa device na ito.\n\nGumamit ng APK na sinusuportahan ng device na ito at subukan muli.",
- "status_failure_conflict_description": "Napigilan ang pag-install ng isang umiiral na pag-install ng app.\n\nAlisin ang na-install na app at subukan muli?",
- "status_failure_blocked_description": "Hinarang ng ${packageName} ang pag-install.\n\nAyusin ang iyong mga setting ng seguridad at subukan muli.",
- "install_failed_verification_failure_description": "Nabigo ang pag-install dahil sa isyu sa pag-verify.\n\nAyusin ang iyong mga setting ng seguridad at subukan muli.",
- "install_failed_version_downgrade_description": "Nabigo ang pag-install dahil ang na-patch na app ay mas mababang bersyon kaysa sa na-install na app.\n\nAlisin ang app at subukan muli?",
- "status_unknown_description": "Nabigo ang pag-install dahil sa hindi kilalang dahilan. Subukan muli."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/fr_FR.i18n.json b/assets/i18n/fr_FR.i18n.json
deleted file mode 100755
index 75a6a0c2..00000000
--- a/assets/i18n/fr_FR.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "OK",
- "cancelButton": "Annuler",
- "dismissButton": "Ignorer",
- "quitButton": "Quitter",
- "updateButton": "Mettre à jour",
- "suggested": "Suggéré : ${version}",
- "yesButton": "Oui",
- "noButton": "Non",
- "warning": "Avertissement",
- "notice": "Remarque",
- "noShowAgain": "Ne plus afficher",
- "add": "Ajouter",
- "remove": "Retirer",
- "showChangelogButton": "Voir l'historique",
- "showUpdateButton": "Voir la mise à jour",
- "navigationView": {
- "dashboardTab": "Tableau de bord",
- "patcherTab": "Patcheur",
- "settingsTab": "Paramètres"
- },
- "homeView": {
- "refreshSuccess": "Actualisé avec succès",
- "widgetTitle": "Tableau de bord",
- "updatesSubtitle": "Mises à jour",
- "lastPatchedAppSubtitle": "Dernière appli patchée",
- "patchedSubtitle": "Applis installées",
- "changeLaterSubtitle": "Vous pouvez changer cela dans les paramètres ultérieurement.",
- "noSavedAppFound": "Aucune appli trouvée",
- "noInstallations": "Aucune application patchée installée",
- "installUpdate": "Continuer à installer la mise à jour ?",
- "updateSheetTitle": "Mettre à jour ReVanced Manager",
- "updateDialogTitle": "Nouvelle mise à jour disponible",
- "updatePatchesSheetTitle": "Mettre à jour les patchs ReVanced",
- "updateChangelogTitle": "Journal des modifications",
- "updateDialogText": "Une nouvelle mise à jour est disponible pour ${file}.\n\nLa version actuellement installée est la version ${version}.",
- "downloadConsentDialogTitle": "Télécharger les fichiers requis ?",
- "downloadConsentDialogText": "ReVanced Manager doit télécharger les fichiers nécessaires à son bon fonctionnement.",
- "downloadConsentDialogText2": "Cette opération vous connectera à ${url}.",
- "downloadingMessage": "Téléchargement de la mise à jour...",
- "downloadedMessage": "Mise à jour téléchargée",
- "installingMessage": "Installation de la mise à jour...",
- "errorDownloadMessage": "Impossible de télécharger la mise à jour",
- "errorInstallMessage": "Impossible d'installer la mise à jour",
- "noConnection": "Aucune connexion internet"
- },
- "applicationItem": {
- "infoButton": "Infos"
- },
- "latestCommitCard": {
- "loadingLabel": "Chargement...",
- "timeagoLabel": "Il y a ${time}"
- },
- "patcherView": {
- "widgetTitle": "Patcheur",
- "patchButton": "Patcher",
- "incompatibleArchWarningDialogText": "Patcher sur cette architecture n'est pas encore pris en charge et pourrait échouer. Continuer quand même ?",
- "removedPatchesWarningDialogText": "Patchs supprimés depuis la dernière fois que vous avez patché cette application :\n\n${patches}\n\n${newPatches}Continuer quand même ?",
- "addedPatchesDialogText": "Patchs ajoutés depuis la dernière fois que vous avez patché cette application :\n\n${addedPatches}\n\n",
- "requiredOptionDialogText": "Certaines options de patch doivent être définies."
- },
- "appSelectorCard": {
- "widgetTitle": "Sélectionner une application",
- "widgetTitleSelected": "Application sélectionnée",
- "widgetSubtitle": "Aucune application sélectionnée",
- "noAppsLabel": "Aucune application trouvée",
- "anyVersion": "Toutes les versions"
- },
- "patchSelectorCard": {
- "widgetTitle": "Sélectionner les patchs",
- "widgetTitleSelected": "Patchs sélectionnés",
- "widgetSubtitle": "Sélectionnez d'abord une application",
- "widgetEmptySubtitle": "Aucun patch sélectionné"
- },
- "socialMediaCard": {
- "widgetTitle": "Réseaux sociaux",
- "widgetSubtitle": "Nous sommes en ligne !"
- },
- "appSelectorView": {
- "viewTitle": "Sélectionnez une appli",
- "searchBarHint": "Rechercher une application",
- "storageButton": "Stockage",
- "selectFromStorageButton": "Sélectionner à partir du stockage",
- "errorMessage": "Impossible d'utiliser l'application sélectionnée",
- "downloadToast": "La fonction de téléchargement est actuellement indisponible",
- "requireSuggestedAppVersionDialogText": "La version de l'application que vous avez sélectionnée ne correspond pas à la version recommandée, ce qui pourrait engendrer des problèmes inattendus. Veuillez utiliser la version suggérée.\n\nVersion sélectionnée : ${selected}\nVersion suggérée : ${suggested}\n\nPour continuer quand même, désactivez \"Exiger la version suggérée de l'appli\" dans les paramètres.",
- "featureNotAvailable": "Fonctionnalité non implémentée",
- "featureNotAvailableText": "Cette appli est un APK fractionné et ne peut être patchée et installée de manière fiable uniquement en la montant avec les privilèges root. Vous pouvez toutefois patcher et installer un APK classique en le sélectionnant à partir du stockage."
- },
- "patchesSelectorView": {
- "viewTitle": "Choix des patchs",
- "searchBarHint": "Rechercher des patchs",
- "universalPatches": "Patchs universels",
- "newPatches": "Nouveaux patchs",
- "patches": "Patchs",
- "doneButton": "Terminé",
- "defaultChip": "Par défaut",
- "defaultTooltip": "Sélectionner tous les patchs par défaut",
- "noneChip": "Aucun",
- "noneTooltip": "Désélectionner tous les patchs",
- "loadPatchesSelection": "Charger la sélection de patchs",
- "noSavedPatches": "Aucune sélection de patchs enregistrée pour l'application sélectionnée.\nAppuyez sur Terminé pour enregistrer la sélection actuelle.",
- "noPatchesFound": "Aucun patch n'a été trouvé pour l'application sélectionnée",
- "setRequiredOption": "Certains patchs ont des options qui doivent obligatoirement être définies :\n\n${patches}\n\nVeuillez les définir avant de continuer."
- },
- "patchOptionsView": {
- "customValue": "Valeur personnalisée",
- "setToNull": "Définir sur null",
- "nullValue": "Cette option est actuellement définie sur null",
- "viewTitle": "Options de patch",
- "saveOptions": "Enregistrer",
- "unselectPatch": "Désélectionner le patch",
- "tooltip": "Plus d'options de saisie",
- "selectFilePath": "Sélectionner un emplacement de fichier",
- "selectFolder": "Sélectionner un dossier",
- "requiredOption": "Définir cette option est nécessaire",
- "unsupportedOption": "Cette option n'est pas prise en charge",
- "requiredOptionNull": "Les options suivantes doivent être définies :\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "Sélectionner ce patch peut engendrer des erreurs de patching.\n\nVersion de l'application : ${packageVersion}\nVersions prises en charge :\n${supportedVersions}",
- "unsupportedPatchVersion": "Le patch n'est pas pris en charge pour cette version de l'application.",
- "unsupportedRequiredOption": "Ce patch contient une option requise qui n'est pas prise en charge par cette application",
- "patchesChangeWarningDialogText": "Il est recommandé d'utiliser la sélection de patchs et les options par défaut. En les modifiant, vous vous exposez à des problèmes inattendus.\n\nAvant de modifier une sélection de patchs, vous devez activer \"Autoriser la modification de la sélection de patchs\" dans les paramètres.",
- "patchesChangeWarningDialogButton": "Utiliser la sélection par défaut"
- },
- "installerView": {
- "installType": "Sélectionnez un type d'installation",
- "installTypeDescription": "Sélectionner le mode d'installation avec lequel continuer.",
- "installButton": "Installer",
- "installRootType": "Montage",
- "installNonRootType": "Standard",
- "warning": "Désactivez les mises à jour automatiques pour l'application patchée afin d'éviter des problèmes inattendus.",
- "pressBackAgain": "Appuyez à nouveau sur retour pour annuler",
- "openButton": "Ouvrir",
- "notificationTitle": "ReVanced Manager est en train de patcher",
- "notificationText": "Appuyez pour revenir à l'installation",
- "exportApkButtonTooltip": "Exporter l'APK patché",
- "exportLogButtonTooltip": "Exporter le journal",
- "screenshotDetected": "Une capture d’écran a été détectée. Si vous essayez de partager le log, veuillez plutôt partager une copie du texte.\n\nCopier les logs dans le presse-papiers ?",
- "copiedToClipboard": "Journal copié dans le presse-papiers",
- "noExit": "L'installateur s'exécute encore, impossible de quitter..."
- },
- "settingsView": {
- "widgetTitle": "Paramètres",
- "appearanceSectionTitle": "Apparence",
- "teamSectionTitle": "Équipe",
- "debugSectionTitle": "Débogage",
- "advancedSectionTitle": "Avancés",
- "exportSectionTitle": "Importer et exporter",
- "dataSectionTitle": "Sources de données",
- "themeModeLabel": "Thème de l'appli",
- "systemThemeLabel": "Système",
- "lightThemeLabel": "Clair",
- "darkThemeLabel": "Sombre",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "Profitez d'une expérience en harmonie avec votre appareil",
- "languageLabel": "Langue",
- "languageUpdated": "Langue mise à jour",
- "sourcesLabel": "Sources alternatives",
- "sourcesLabelHint": "Configurez les sources alternatives pour les patchs ReVanced",
- "useAlternativeSources": "Utiliser les sources alternatives",
- "useAlternativeSourcesHint": "Utilisez des sources alternatives pour les patchs ReVanced plutôt que celles de l'API",
- "sourcesResetDialogTitle": "Réinitialiser",
- "sourcesResetDialogText": "Êtes-vous sûr de vouloir réinitialiser vos sources à leurs valeurs par défaut ?",
- "apiURLResetDialogText": "Êtes-vous sûr de vouloir réinitialiser l'URL d'API à sa valeur par défaut ?",
- "sourcesUpdateNote": "Remarque : Les patchs ReVanced seront téléchargés automatiquement à partir des sources alternatives.\n\nCela vous connectera à la source alternative.",
- "apiURLLabel": "URL de l'API",
- "apiURLHint": "Configurer l'URL de l'API de ReVanced Manager",
- "selectApiURL": "URL de l'API",
- "orgPatchesLabel": "Organisation des patchs",
- "sourcesPatchesLabel": "Source des patchs",
- "contributorsLabel": "Contributeurs",
- "contributorsHint": "Liste des personnes qui contribuent à ReVanced",
- "logsLabel": "Partager les journaux",
- "logsHint": "Partager les journaux de ReVanced Manager",
- "enablePatchesSelectionLabel": "Autoriser la modification de la sélection de patchs",
- "enablePatchesSelectionHint": "Ne pas empêcher la sélection ou la désélection des patchs",
- "enablePatchesSelectionWarningText": "Modifier la sélection de patchs peut engendrer des problèmes inattendus.\n\nActiver quand même ?",
- "disablePatchesSelectionWarningText": "Vous êtes sur le point de désactiver la modification de la sélection de patchs.\nLa sélection de patchs par défaut sera rétablie.\n\nDésactiver quand même ?",
- "autoUpdatePatchesLabel": "Mise à jour auto. des patchs",
- "autoUpdatePatchesHint": "Mettre à jour automatiquement les patchs vers la dernière version",
- "showUpdateDialogLabel": "Afficher la boîte de dialogue de mise à jour",
- "showUpdateDialogHint": "Afficher une boîte de dialogue lorsqu'une nouvelle mise à jour est disponible",
- "universalPatchesLabel": "Afficher les patchs universels",
- "universalPatchesHint": "Afficher toutes les applis et les patchs universels (peut ralentir la liste d'applis)",
- "lastPatchedAppLabel": "Enregistrer l'application patchée",
- "lastPatchedAppHint": "Enregistrer le dernier patch pour l'installer ou l'exporter plus tard",
- "versionCompatibilityCheckLabel": "Vérification de la compatibilité des versions",
- "versionCompatibilityCheckHint": "Empêcher de sélectionner des patchs qui ne sont pas compatibles avec la version sélectionnée de l'appli",
- "requireSuggestedAppVersionLabel": "Exiger la version suggérée de l'appli",
- "requireSuggestedAppVersionHint": "Empêcher la sélection d'une appli dont la version n'est pas celle suggérée",
- "requireSuggestedAppVersionDialogText": "Sélectionner une appli dont la version n'est pas celle suggérée peut engendrer des problèmes inattendus.\n\nVoulez-vous quand même continuer ?",
- "aboutLabel": "À propos",
- "snackbarMessage": "Copié dans le presse-papiers",
- "restartAppForChanges": "Redémarrez l'application pour appliquer les changements",
- "deleteTempDirLabel": "Supprimer les fichiers temporaires",
- "deleteTempDirHint": "Supprimer les fichiers temporaires inutilisés",
- "deletedTempDir": "Fichiers temporaires supprimés",
- "exportSettingsLabel": "Exporter les paramètres",
- "exportSettingsHint": "Exporter les paramètres vers un fichier JSON",
- "exportedSettings": "Paramètres exportés",
- "importSettingsLabel": "Importer les paramètres",
- "importSettingsHint": "Importer les paramètres depuis un fichier JSON",
- "importedSettings": "Paramètres importés",
- "exportPatchesLabel": "Exporter la sélection de patchs",
- "exportPatchesHint": "Exporter la sélection de patchs vers un fichier JSON",
- "exportedPatches": "Sélection de patchs exportée",
- "noExportFileFound": "Aucune sélection de patchs à exporter",
- "importPatchesLabel": "Importer une sélection de patchs",
- "importPatchesHint": "Importer une sélection de patchs depuis un fichier JSON",
- "importedPatches": "Sélection de patchs importée",
- "resetStoredPatchesLabel": "Réinitialiser la sélection de patchs",
- "resetStoredPatchesHint": "Réinitialiser la sélection de patchs sauvegardée",
- "resetStoredPatchesDialogTitle": "Réinitialiser la sélection de patchs ?",
- "resetStoredPatchesDialogText": "La sélection de patchs par défaut sera restaurée.",
- "resetStoredPatches": "La sélection de patchs a été réinitialisée",
- "resetStoredOptionsLabel": "Réinitialiser les options des patchs",
- "resetStoredOptionsHint": "Réinitialiser toutes les options des patchs",
- "resetStoredOptionsDialogTitle": "Réinitialiser les options des patchs ?",
- "resetStoredOptionsDialogText": "Réinitialiser les options des patchs aura pour effet de supprimer toutes les options enregistrées.",
- "resetStoredOptions": "Les options ont été réinitialisées",
- "deleteLogsLabel": "Effacer les journaux",
- "deleteLogsHint": "Supprimer les journaux collectés par ReVanced Manager",
- "deletedLogs": "Journaux supprimés",
- "regenerateKeystoreLabel": "Régénérer le magasin de clés",
- "regenerateKeystoreHint": "Recréer le magasin de clés utilisé pour signer les applications",
- "regenerateKeystoreDialogTitle": "Régénérer le magasin de clés ?",
- "regenerateKeystoreDialogText": "Les applications patchées qui ont été signées avec l'ancien stockage de clés ne pourront plus être mises à jour.",
- "regeneratedKeystore": "Magasin de clés régénéré",
- "exportKeystoreLabel": "Exporter le magasin de clés",
- "exportKeystoreHint": "Exporter le magasin de clés utilisé pour signer les applications",
- "exportedKeystore": "Magasin de clés exporté",
- "noKeystoreExportFileFound": "Pas de magasin de clés à exporter",
- "importKeystoreLabel": "Importer le magasin de clés",
- "importKeystoreHint": "Importer le magasin de clés utilisé pour signer les applications",
- "importedKeystore": "Magasin de clés importé",
- "selectKeystorePassword": "Mot de passe du magasin de clés",
- "selectKeystorePasswordHint": "Sélectionner le mot de passe du magasin de clés utilisé pour signer les applications",
- "jsonSelectorErrorMessage": "Impossible d'utiliser le fichier JSON sélectionné",
- "keystoreSelectorErrorMessage": "Impossible d'utiliser le fichier de stockage de clés sélectionné"
- },
- "appInfoView": {
- "widgetTitle": "Infos sur l'appli",
- "openButton": "Ouvrir",
- "installButton": "Installer",
- "uninstallButton": "Désinstaller",
- "unmountButton": "Démonter",
- "exportButton": "Exporter",
- "deleteButton": "Supprimer",
- "rootDialogTitle": "Erreur",
- "lastPatchedAppDescription": "Il s'agit d'une sauvegarde de la dernière application qui a été patchée.",
- "unmountDialogText": "Êtes-vous sûr de vouloir démonter cette application ?",
- "uninstallDialogText": "Êtes-vous sûr de vouloir désinstaller cette application ?",
- "rootDialogText": "L'application a été installée avec les autorisations superutilisateur, mais ReVanced Manager n'a actuellement aucune autorisation.\nVeuillez commencer par accorder les autorisations superutilisateur.",
- "removeAppDialogTitle": "Supprimer l'application ?",
- "removeAppDialogText": "Êtes-vous sûr de vouloir supprimer cette sauvegarde ?",
- "packageNameLabel": "Nom du paquet",
- "installTypeLabel": "Type d'installation",
- "mountTypeLabel": "Montage",
- "regularTypeLabel": "Standard",
- "patchedDateLabel": "Patché le",
- "appliedPatchesLabel": "Patchs appliqués",
- "sizeLabel": "Taille de fichier",
- "patchedDateHint": "${date} à ${time}",
- "appliedPatchesHint": "${quantity} patchs appliqués",
- "updateNotImplemented": "Cette fonctionnalité n'a pas encore été implémentée"
- },
- "contributorsView": {
- "widgetTitle": "Contributeurs"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "Incompatibilité de version",
- "mount_no_root": "Aucun accès administrateur",
- "mount_missing_installation": "Installation introuvable",
- "status_failure_blocked": "Installation bloquée",
- "install_failed_verification_failure": "Échec de la vérification",
- "status_failure_invalid": "Installation invalide",
- "install_failed_version_downgrade": "Impossible d'installer une version antérieure",
- "status_failure_conflict": "Conflit d'installation",
- "status_failure_storage": "Problème de stockage",
- "status_failure_incompatible": "Installation incompatible",
- "status_failure_timeout": "Temps d'installation écoulé",
- "status_unknown": "Échec de l'installation",
- "mount_version_mismatch_description": "L'installation a échoué car l'application installée n'a pas la même version que l'application patchée.\n\nInstallez la version de l'application que vous essayez de monter et réessayez.",
- "mount_no_root_description": "L'installation a échoué parce que l'accès root n'a pas été accordé.\n\nAccordez l'accès root à ReVanced Manager et réessayez.",
- "mount_missing_installation_description": "L'installation a échoué parce que l'application non patchée n'est pas installée sur cet appareil, il est donc impossible d'effectuer le montage sur celle-ci.\n\nInstallez l'application non patchée avant d'essayer d'effectuer le montage et réessayez.",
- "status_failure_timeout_description": "L'installation a pris trop de temps.\n\nVoulez-vous réessayer ?",
- "status_failure_storage_description": "L'installation a échoué en raison d'un espace de stockage insuffisant.\n\nLibérez de l'espace et réessayez.",
- "status_failure_invalid_description": "L'installation a échoué car l'application patchée est invalide.\n\nDésinstaller l'application et réessayer ?",
- "status_failure_incompatible_description": "L'application est incompatible avec cet appareil.\n\nUtilisez un APK pris en charge par cet appareil et réessayez.",
- "status_failure_conflict_description": "L'installation a été empêchée par une installation existante de l'application.\n\nDésinstaller l'application et réessayer ?",
- "status_failure_blocked_description": "L'installation a été bloquée par ${packageName}.\n\nAjustez vos paramètres de sécurité et réessayez.",
- "install_failed_verification_failure_description": "L'installation a échoué en raison d'un problème de vérification.\n\nAjustez vos paramètres de sécurité et réessayez.",
- "install_failed_version_downgrade_description": "L'installation a échoué car la version de l'application patchée est inférieure à celle de l'application installée.\n\nDésinstaller l'application et réessayer ?",
- "status_unknown_description": "L'installation a échoué pour une raison inconnue. Veuillez réessayer."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/ga_IE.i18n.json b/assets/i18n/ga_IE.i18n.json
deleted file mode 100755
index a4be13f2..00000000
--- a/assets/i18n/ga_IE.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "Ceart Go Leor",
- "cancelButton": "Cealaigh",
- "dismissButton": "Díbhe",
- "quitButton": "Scoir",
- "updateButton": "Nuashonraigh",
- "suggested": "Molta: ${version}",
- "yesButton": "Tá",
- "noButton": "Níl",
- "warning": "Rabhadh",
- "notice": "Fógra",
- "noShowAgain": "Ná taispeáin é seo arís",
- "add": "Cuir",
- "remove": "Bain",
- "showChangelogButton": "Taispeáin loga athrú",
- "showUpdateButton": "Taispeáin nuashonrú",
- "navigationView": {
- "dashboardTab": "Deais",
- "patcherTab": "Paisteálaí",
- "settingsTab": "Socruithe"
- },
- "homeView": {
- "refreshSuccess": "Athnuachan go rathúil",
- "widgetTitle": "Deais",
- "updatesSubtitle": "Nuashonruithe",
- "lastPatchedAppSubtitle": "An aip deireanach a paisteáladh",
- "patchedSubtitle": "Aipeanna Suiteáilte",
- "changeLaterSubtitle": "Is féidir leat é seo a athrú sna socruithe níos déanaí.",
- "noSavedAppFound": "Níor aimsíodh aon aip",
- "noInstallations": "Níl aon aipeanna paiste suiteáilte",
- "installUpdate": "Lean ar aghaidh ag suiteáil an nuashonrú?",
- "updateSheetTitle": "Nuashonraigh an ReVanced Manager",
- "updateDialogTitle": "Nuashonrú nua ar fáil",
- "updatePatchesSheetTitle": "Nuashonraigh Paistí ReVanced",
- "updateChangelogTitle": "Loga athrú",
- "updateDialogText": "Tá nuashonrú nua ar fáil do ${file}.\n\nIs é ${version} an leagan atá suiteáilte faoi láthair.",
- "downloadConsentDialogTitle": "Íoslódáil comhaid riachtanacha?",
- "downloadConsentDialogText": "Ní mór do ReVanced Manager na comhaid riachtanacha a íoslódáil chun oibriú i gceart.",
- "downloadConsentDialogText2": "Ceanglóidh sé seo tú le ${url}.",
- "downloadingMessage": "Íoslódáil nuashonrú...",
- "downloadedMessage": "Tá nuashonrú íosluchtaithe",
- "installingMessage": "Nuashonrú a shuiteáil...",
- "errorDownloadMessage": "Ní féidir nuashonrú a íoslódáil",
- "errorInstallMessage": "Ní féidir nuashonrú a shuiteáil",
- "noConnection": "Gan aon nasc idirlín"
- },
- "applicationItem": {
- "infoButton": "Eolas"
- },
- "latestCommitCard": {
- "loadingLabel": "Á lódáil...",
- "timeagoLabel": "${time} ó shin"
- },
- "patcherView": {
- "widgetTitle": "Paisteálaí",
- "patchButton": "Paiste",
- "incompatibleArchWarningDialogText": "Níl paisteáil ar an ailtireacht seo tacaítear leis go fóill agus d’fhéadfadh sé teip. Lean ar aghaidh fós?",
- "removedPatchesWarningDialogText": "Paistí bainte ón uair dheireanach a ndearna tú paistí ar an aip seo:\n\n${patches}\n\n${newPatches}An bhfuil fonn ort leanúint ar aghaidh mar sin féin?",
- "addedPatchesDialogText": "Cuireadh paistí leis ón uair dheireanach a ndearna tú paistí ar an aip seo:\n\n${addedPatches}\n\n",
- "requiredOptionDialogText": "Caithfear roinnt roghanna paiste a shocrú."
- },
- "appSelectorCard": {
- "widgetTitle": "Roghnaigh aip",
- "widgetTitleSelected": "Aip roghnaithe",
- "widgetSubtitle": "Níl aon aip roghnaithe",
- "noAppsLabel": "Níor aimsíodh aon feidhmchlár",
- "anyVersion": "Aon leagan"
- },
- "patchSelectorCard": {
- "widgetTitle": "Roghnaigh paistí",
- "widgetTitleSelected": "Paistí roghnaithe",
- "widgetSubtitle": "Roghnaigh feidhmchlár ar dtús",
- "widgetEmptySubtitle": "Níl aon paistí roghnaithe"
- },
- "socialMediaCard": {
- "widgetTitle": "Sóisialta",
- "widgetSubtitle": "Táimid ar líne!"
- },
- "appSelectorView": {
- "viewTitle": "Roghnaigh aip",
- "searchBarHint": "Cuardaigh aip",
- "storageButton": "Stóráil",
- "selectFromStorageButton": "Roghnaigh ó stóráil",
- "errorMessage": "Ní féidir feidhmchlár roghnaithe a úsáid",
- "downloadToast": "Níl feidhm íoslódála ar fáil fós",
- "requireSuggestedAppVersionDialogText": "Ní mheaitseálann leagan an aip a roghnaigh tú leis an leagan a mholtar a d'fhéadfadh saincheisteanna gan choinne a bheith mar thoradh air. Úsáid an leagan a mholtar le do thoil.\n\nLeagan roghnaithe: ${selected}\nLeagan mholta: ${suggested}\n\nChun leanúint ar aghaidh ar aon nós, díchumasaigh “Teastaíonn leagan aipe molta” sna socruithe.",
- "featureNotAvailable": "Gné nach bhfuil cur i bhfeidhm",
- "featureNotAvailableText": "Is APK scoilte é an aip seo agus ní féidir é a phaiteáil agus a shuiteáil go hiontaofa ach trí fheistiú le ceadanna fréimhe. Mar sin féin, is féidir leat APK iomlán a phaisteáil agus a shuiteáil trína roghnú ó stóráil."
- },
- "patchesSelectorView": {
- "viewTitle": "Roghnaigh paistí",
- "searchBarHint": "Cuardaigh paistí",
- "universalPatches": "Paistí uilíocha",
- "newPatches": "Paistí nua",
- "patches": "Paistí",
- "doneButton": "Déanta",
- "defaultChip": "Réamhshocraithe",
- "defaultTooltip": "Roghnaigh gach paistí réamhshocraithe",
- "noneChip": "Aon cheann",
- "noneTooltip": "Díroghnaigh gach paiste",
- "loadPatchesSelection": "Roghnú paiste luchtaigh",
- "noSavedPatches": "Níl aon rogha paiste sábháilte don aip roghnaithe.\nBrúigh Déanta chun an rogha reatha a shábháil.",
- "noPatchesFound": "Níl aon paistí le fáil don aip roghnaithe",
- "setRequiredOption": "Éilíonn roinnt paistí roghanna a shocrú:\n\n${patches}\n\nSocraigh iad le do thoil sula leanann ar aghaidh."
- },
- "patchOptionsView": {
- "customValue": "Luach saincheaptha",
- "setToNull": "Socraigh go null",
- "nullValue": "Tá an luach rogha seo null faoi láthair",
- "viewTitle": "Roghanna paiste",
- "saveOptions": "Sábháil",
- "unselectPatch": "Díroghnaigh paiste",
- "tooltip": "Tuilleadh roghanna ionchur",
- "selectFilePath": "Roghnaigh cosán comhad",
- "selectFolder": "Roghnaigh fillteán",
- "requiredOption": "Teastaíonn an rogha seo a shocrú",
- "unsupportedOption": "Ní thacaítear leis an rogha seo",
- "requiredOptionNull": "Caithfear na roghanna seo a leanas a shocrú:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "D'fhéadfadh earráidí paiste a bheith mar thoradh ar an paiste seo a roghnú.\n\nLeagan aip: ${packageVersion}\nLeaganacha tacaithe:\n${supportedVersions}",
- "unsupportedPatchVersion": "Ní thacaítear le paiste don leagan aip seo.",
- "unsupportedRequiredOption": "Tá rogha riachtanach sa phaiste seo nach dtacaíonn an aip seo",
- "patchesChangeWarningDialogText": "Moltar an roghnú agus na roghanna paiste réamhshocraithe a úsáid. D'fhéadfadh saincheisteanna gan choinne a bheith mar thoradh orthu a athrú\n\nBeidh ort “Ceadaigh roghnú paiste athraithe” a chasadh air sna socruithe sula n-athraíonn tú aon rogha paiste.",
- "patchesChangeWarningDialogButton": "Úsáid rogha réamhshocraithe"
- },
- "installerView": {
- "installType": "Roghnaigh cineál suiteála",
- "installTypeDescription": "Roghnaigh an cineál suiteála le leanúint leis.",
- "installButton": "Suiteáil",
- "installRootType": "Ceangail",
- "installNonRootType": "Rialta",
- "warning": "Díchumasaigh nuashonruithe uathoibríoch don aip bhreactha chun fadhbanna gan choinne a sheachaint.",
- "pressBackAgain": "Brúigh ar ais arís chun cealú",
- "openButton": "Oscailte",
- "notificationTitle": "Tá ReVanced Manager ag paisteáil",
- "notificationText": "Tapáil chun filleadh ar an suiteálaí",
- "exportApkButtonTooltip": "Easpórtáil APK paisteáilte",
- "exportLogButtonTooltip": "Easpórtáil logáil",
- "screenshotDetected": "Braithíodh scáileán. Má tá tú ag iarraidh an log a roinnt, roinn cóip téacs ina ionad.\n\nCóipeáil log go gearrthaisce?",
- "copiedToClipboard": "Cóipeáladh an loga chuig an ngearrthaisce",
- "noExit": "Tá an suiteálaí fós ag rith, ní féidir imeacht as..."
- },
- "settingsView": {
- "widgetTitle": "Socruithe",
- "appearanceSectionTitle": "Dealramh",
- "teamSectionTitle": "Foireann",
- "debugSectionTitle": "Dífhabhtaithe",
- "advancedSectionTitle": "Ardleibhéal",
- "exportSectionTitle": "Iompórtáil & easpórtáil",
- "dataSectionTitle": "Foinsí sonraí",
- "themeModeLabel": "Téama aip",
- "systemThemeLabel": "Córas",
- "lightThemeLabel": "Solas",
- "darkThemeLabel": "Dorcha",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "Bain sult as eispéireas níos gaire do do ghléas",
- "languageLabel": "Teanga",
- "languageUpdated": "Teanga nuashonraithe",
- "sourcesLabel": "Foinsí malartacha",
- "sourcesLabelHint": "Cumraigh na foinsí malartacha le haghaidh Paistí ReVanced",
- "useAlternativeSources": "Úsáid foinsí malartacha",
- "useAlternativeSourcesHint": "Úsáid foinsí eile le haghaidh ReVanced Patches in ionad an API",
- "sourcesResetDialogTitle": "Athshocraigh",
- "sourcesResetDialogText": "An bhfuil tú cinnte gur mhaith leat do fhoinsí a athshocrú go dtí a luachanna réamhshocraithe?",
- "apiURLResetDialogText": "An bhfuil tú cinnte gur mhaith leat do URL API a athshocrú go dtí a luach réamhshocraithe?",
- "sourcesUpdateNote": "Nóta: Íoslódálfaidh sé seo Paistí ReVanced go huathoibríoch ó na foinsí eile.\n\nNascfaidh sé seo tú leis an bhfoinse eile.",
- "apiURLLabel": "URL API",
- "apiURLHint": "Cumraigh URL API de ReVanced Manager",
- "selectApiURL": "URL API",
- "orgPatchesLabel": "Eagraíocht paistí",
- "sourcesPatchesLabel": "Foinse paistí",
- "contributorsLabel": "Rannpháirtithe",
- "contributorsHint": "Liosta de rannpháirtithe ReVanced",
- "logsLabel": "Comhroinn logaí",
- "logsHint": "Comhroinn logaí ReVanced Manager",
- "enablePatchesSelectionLabel": "Ceadaigh roghnú paiste a athrú",
- "enablePatchesSelectionHint": "Ná cuir cosc ar phaistí a roghnú nó a dhíroghnú",
- "enablePatchesSelectionWarningText": "D'fhéadfadh fadhbanna gan choinne a bheith mar thoradh ar rogha paistí a athrú\n\nCumasaigh ar aon chaoi?",
- "disablePatchesSelectionWarningText": "Tá tú ar tí roghnú paistí a athrú a dhíchumasú.\nCuirfear an rogha réamhshocraithe paistí ar ais.\n\nDíchumasú ar aon chaoi?",
- "autoUpdatePatchesLabel": "Paistí nuashonruithe uathoibríoch",
- "autoUpdatePatchesHint": "Nuashonraigh go huathoibríoch paistí go dtí an leagan is déanaí",
- "showUpdateDialogLabel": "Taispeáin dialóg nuashonrú",
- "showUpdateDialogHint": "Taispeáin dialóg nuair a bhíonn nuashonrú nua ar fáil",
- "universalPatchesLabel": "Taispeáin paistí uilíocha",
- "universalPatchesHint": "Taispeáin gach aipeanna agus paistí uilíoch (féadfaidh sé an liosta aipeanna a mhoilliú)",
- "lastPatchedAppLabel": "Sábháil aip paisteáilte",
- "lastPatchedAppHint": "Sábháil an paiste deireanach le suiteáil nó a onnmhairiú",
- "versionCompatibilityCheckLabel": "Seiceáil comhoiriúnacht leagan",
- "versionCompatibilityCheckHint": "Cosc a chur ar roghnú paistí nach bhfuil comhoiriúnach leis an leagan aip roghnaithe",
- "requireSuggestedAppVersionLabel": "Teastaíonn leagan aipe molta",
- "requireSuggestedAppVersionHint": "Cosc a chur ar aip a roghnú le leagan nach é an leagan molta",
- "requireSuggestedAppVersionDialogText": "D'fhéadfadh fadhbanna gan choinne a bheith mar thoradh ar aip nach é an leagan a mholtar a roghnú.\n\nAr mhaith leat dul ar aghaidh ar aon nós?",
- "aboutLabel": "Maidir",
- "snackbarMessage": "Cóipeáladh go dtí an ghearrthaisce",
- "restartAppForChanges": "Athosaigh an aip chun athruithe a chur i bhfeidhm",
- "deleteTempDirLabel": "Scrios comhaid shealadacha",
- "deleteTempDirHint": "Scrios comhaid shealadacha gan úsáid",
- "deletedTempDir": "Scriosta comhaid shealadacha",
- "exportSettingsLabel": "Easpórtáil socruithe",
- "exportSettingsHint": "Easpórtáil socruithe go comhad JSON",
- "exportedSettings": "Socruithe easpórtáilte",
- "importSettingsLabel": "Socruithe Iompórtáil",
- "importSettingsHint": "Iompórtáil socruithe ó chomhad JSON",
- "importedSettings": "Socruithe allmhairithe",
- "exportPatchesLabel": "Easpórtáil roghnú paiste",
- "exportPatchesHint": "Easpórtáil roghnú paiste go comhad JSON",
- "exportedPatches": "Easpórtáil an roghnú paistí",
- "noExportFileFound": "Gan roghnú paiste le heaspórtáil",
- "importPatchesLabel": "Iompórtáil roghnú paiste",
- "importPatchesHint": "Roghnú paiste a iompórtáil ó chomhad JSON",
- "importedPatches": "Rogha paiste allmhairithe",
- "resetStoredPatchesLabel": "Athshocraigh roghnú paiste",
- "resetStoredPatchesHint": "Athshocraigh an rogha paiste stóráilte",
- "resetStoredPatchesDialogTitle": "Athshocraigh roghnú paiste?",
- "resetStoredPatchesDialogText": "Cuirfear an rogha réamhshocraithe paistí ar ais.",
- "resetStoredPatches": "Athshocraíodh roghnú paiste",
- "resetStoredOptionsLabel": "Athshocraigh roghanna paiste",
- "resetStoredOptionsHint": "Athshocraigh gach rogha paiste",
- "resetStoredOptionsDialogTitle": "Athshocraigh roghanna paiste?",
- "resetStoredOptionsDialogText": "Bainfidh na roghanna paiste a athshocrú gach rogha sábháilte.",
- "resetStoredOptions": "Athshocraíodh roghanna",
- "deleteLogsLabel": "Glan Logaí",
- "deleteLogsHint": "Scrios na logaí bailithe de ReVanced Manager",
- "deletedLogs": "Logaí scriosta",
- "regenerateKeystoreLabel": "Athghin stór eochair",
- "regenerateKeystoreHint": "Athghin an stór eochair a úsáidtear chun aipeanna a shíniú",
- "regenerateKeystoreDialogTitle": "Athghin stór eochair?",
- "regenerateKeystoreDialogText": "Ní bheidh aipeanna paisteáilte atá sínithe leis an sean-stór eochrach in ann nuashonruithe a fháil a thuilleadh.",
- "regeneratedKeystore": "Keystore athghinithe",
- "exportKeystoreLabel": "Easpórtáil eochair stór",
- "exportKeystoreHint": "Easpórtáil an stór eochair a úsáidtear chun aipeanna a shíniú",
- "exportedKeystore": "Easpórtáil an stór eochair",
- "noKeystoreExportFileFound": "Níl aon stór eochair le easpórtáil",
- "importKeystoreLabel": "Iompórtáil stór eochracha",
- "importKeystoreHint": "Iompórtáil stór eochair a úsáidtear chun aipeanna a shíniú",
- "importedKeystore": "Keystore iompórtáilte",
- "selectKeystorePassword": "Pasfhocal stór eochracha",
- "selectKeystorePasswordHint": "Roghnaigh pasfhocal stór eochracha a úsáidtear chun aipeanna",
- "jsonSelectorErrorMessage": "Ní féidir comhad JSON roghnaithe a úsáid",
- "keystoreSelectorErrorMessage": "Ní féidir comhad stór eochracha roghnaithe a úsáid"
- },
- "appInfoView": {
- "widgetTitle": "Eolas ar an aip",
- "openButton": "Oscailte",
- "installButton": "Suiteáil",
- "uninstallButton": "Díshuiteáil",
- "unmountButton": "Dícheangail",
- "exportButton": "Easpórtáil",
- "deleteButton": "Scrios",
- "rootDialogTitle": "Earráid",
- "lastPatchedAppDescription": "Is cúltaca é seo den aip a paisteadh go deireanach.",
- "unmountDialogText": "An bhfuil tú cinnte gur mhaith leat an aip seo a dícheangail?",
- "uninstallDialogText": "An bhfuil tú cinnte gur mhaith leat an aip seo a dhíshuiteáil?",
- "rootDialogText": "Suiteáladh an aip le cead sár-úsáideoirí, ach faoi láthair níl aon chead ag ReVanced Manager.\nTabhair ceadanna sárúsáideoirí ar dtús.",
- "removeAppDialogTitle": "Aip a scriosadh?",
- "removeAppDialogText": "An bhfuil tú cinnte gur mhaith leat an cúltaca seo a scriosadh?",
- "packageNameLabel": "Ainm an phacáiste",
- "installTypeLabel": "Cineál suiteála",
- "mountTypeLabel": "Ceangail",
- "regularTypeLabel": "Rialta",
- "patchedDateLabel": "Dáta paisteáilte",
- "appliedPatchesLabel": "Paistí feidhmithe",
- "sizeLabel": "Méid an chomhaid",
- "patchedDateHint": "${date} ag ${time}",
- "appliedPatchesHint": "${quantity} paistí curtha i bhfeidhm",
- "updateNotImplemented": "Níor cuireadh an ghné seo i bhfeidhm go fóill"
- },
- "contributorsView": {
- "widgetTitle": "Rannpháirtithe"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "Neamhoiriúnú leagan",
- "mount_no_root": "Gan rochtain fréimhe",
- "mount_missing_installation": "Níor aimsíodh an suiteáil",
- "status_failure_blocked": "Suiteáil blocáilte",
- "install_failed_verification_failure": "Theip ar fhíorú",
- "status_failure_invalid": "Suiteáil neamhbhailí",
- "install_failed_version_downgrade": "Ní féidir íosghrádú",
- "status_failure_conflict": "Coimhlint suiteála",
- "status_failure_storage": "Saincheist stórála suiteála",
- "status_failure_incompatible": "Suiteáil neamh-chomhoiriúnach",
- "status_failure_timeout": "Teorainn ama suiteála",
- "status_unknown": "Theip ar an suiteáil",
- "mount_version_mismatch_description": "Theip ar an suiteáil toisc go raibh an aip suiteáilte ina leagan difriúil ná an aip paiste.\n\nSuiteáil an leagan den aip atá á shuiteáil agat agus bain triail as arís.",
- "mount_no_root_description": "Theip ar an tsuiteáil toisc nár deonaíodh rochtain fhréamh.\n\nDeonaigh rochtain fhréamh ar ReVanced Manager agus bain triail eile as.",
- "mount_missing_installation_description": "Theip ar an suiteáil toisc nach raibh an aip neamhpháite á shuiteáil ar an bhfeiste seo d'fhonn suiteáil air.\n\nSuiteáil an aip gan patched sula gcuirtear é agus bain triail as arís.",
- "status_failure_timeout_description": "Thóg an tsuiteáil rófhada chun críochnú.\n\nAr mhaith leat triail a bhaint as arís?",
- "status_failure_storage_description": "Theip ar an suiteáil mar gheall ar stóráil neamhleor.\n\nSaor roinnt spáis agus bain triail as arís.",
- "status_failure_invalid_description": "Theip ar an suiteáil toisc go raibh an aip paiste neamhbhailí.\n\nDíshuiteáil an aip agus bain triail as arís?",
- "status_failure_incompatible_description": "Níl an aip comhoiriúnach leis an bhfeiste seo.\n\nÚsáid APK a dtacaíonn an gléas seo agus bain triail as arís.",
- "status_failure_conflict_description": "Cuireadh cosc ar an suiteáil trí shuiteáil an aip atá ann cheana féin.\n\nDíshuiteáil an aip suiteáilte agus iarracht arís?",
- "status_failure_blocked_description": "Chuir ${packageName} bac ar an suiteáil.\n\nCoigeartaigh do shocruithe slándála agus bain triail eile as.",
- "install_failed_verification_failure_description": "Theip ar an suiteáil mar gheall ar shaincheist fíoraithe.\n\nCoigeartaigh do shocruithe slándála agus bain triail eile as.",
- "install_failed_version_downgrade_description": "Theip ar an suiteáil toisc gur leagan níos ísle é an aip paiteáilte ná an aip suiteáilte.\n\nDíshuiteáil an aip agus bain triail as arís?",
- "status_unknown_description": "Theip ar an suiteáil mar gheall ar chúis anaithnid. Bain triail as arís."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/he_IL.i18n.json b/assets/i18n/he_IL.i18n.json
deleted file mode 100755
index 7e4fb4f9..00000000
--- a/assets/i18n/he_IL.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "אישור",
- "cancelButton": "ביטול",
- "dismissButton": "התעלם",
- "quitButton": "יציאה",
- "updateButton": "עדכן",
- "suggested": "מוצעת: ${version}",
- "yesButton": "כן",
- "noButton": "לא",
- "warning": "אזהרה",
- "notice": "התראה",
- "noShowAgain": "אל תציג זאת שוב",
- "add": "הוסף",
- "remove": "הסר",
- "showChangelogButton": "הצגת יומן שינויים",
- "showUpdateButton": "הצג עדכון",
- "navigationView": {
- "dashboardTab": "לוח בקרה",
- "patcherTab": "Patcher",
- "settingsTab": "הגדרות"
- },
- "homeView": {
- "refreshSuccess": "רוענן בהצלחה",
- "widgetTitle": "לוח בקרה",
- "updatesSubtitle": "עדכונים",
- "lastPatchedAppSubtitle": "תיקון אפליקציה אחרון",
- "patchedSubtitle": "אפליקציות מותקנות",
- "changeLaterSubtitle": "ניתן לשנות זאת בהגדרות מאוחר יותר.",
- "noSavedAppFound": "לא נמצאו אפליקציות",
- "noInstallations": "אין אפליקציות מתוקנת מותקנות",
- "installUpdate": "המשך להתקין את העדכון?",
- "updateSheetTitle": "עדכן את ReVanced Manager",
- "updateDialogTitle": "עידכון חדש זמין",
- "updatePatchesSheetTitle": "עדכן את ReVanced Patches",
- "updateChangelogTitle": "היסטורית שינויים",
- "updateDialogText": "עדכון חדש זמין עבור ${file}.\n\nהגרסה המותקנת כרגע היא ${version}.",
- "downloadConsentDialogTitle": "להוריד קבצי עזר?",
- "downloadConsentDialogText": "ReVanced Manager צריך להוריד קבצי עזר על מנת לעבוד כמו שצריך.",
- "downloadConsentDialogText2": "זה יחבר אותך ל${url}.",
- "downloadingMessage": "מוריד עדכון...",
- "downloadedMessage": "עדכון הורד",
- "installingMessage": "מתקין עדכון...",
- "errorDownloadMessage": "הורדת קובץ העדכון נכשלה",
- "errorInstallMessage": "לא ניתן להתקין את העדכון",
- "noConnection": "אין חיבור לאינטרנט"
- },
- "applicationItem": {
- "infoButton": "מידע"
- },
- "latestCommitCard": {
- "loadingLabel": "טוען...",
- "timeagoLabel": "לפני ${time}"
- },
- "patcherView": {
- "widgetTitle": "Patcher",
- "patchButton": "תיקון",
- "incompatibleArchWarningDialogText": "תיקון בארכיטקטורה זו לא נתמך עדיין ועלול להיכשל. להמשיך בכל זאת?",
- "removedPatchesWarningDialogText": "הסרת תיקונים מאז הפעם האחרונה שתיקנת את האפליקציה הזו:\n\n${patches}\n\n${newPatches}האם להמשיך בכל זאת?",
- "addedPatchesDialogText": "הוספת תיקונים מאז הפעם האחרונה שתיקנת את האפליקציה הזו:\n\n${addedPatches}\n\n",
- "requiredOptionDialogText": "כמה אפשרויות תיקון חייבות להיקבע."
- },
- "appSelectorCard": {
- "widgetTitle": "בחר אפליקציה",
- "widgetTitleSelected": "אפליקציה שנבחרה",
- "widgetSubtitle": "לא נבחרה אפליקציה",
- "noAppsLabel": "לא נמצאו יישומים",
- "anyVersion": "כל גרסה"
- },
- "patchSelectorCard": {
- "widgetTitle": "בחר תיקונים",
- "widgetTitleSelected": "תיקונים שנבחרו",
- "widgetSubtitle": "קודם בחר אפליקציה",
- "widgetEmptySubtitle": "לא נבחרו תיקונים"
- },
- "socialMediaCard": {
- "widgetTitle": "רשתות חברתיות",
- "widgetSubtitle": "אנחנו מחוברים!"
- },
- "appSelectorView": {
- "viewTitle": "בחר אפליקציה",
- "searchBarHint": "חיפוש אפליקציה",
- "storageButton": "אחסון",
- "selectFromStorageButton": "בחירה מהאחסון",
- "errorMessage": "לא ניתן להשתמש ביישום שנבחר",
- "downloadToast": "פונקציית ההורדה אינה זמינה כעת",
- "requireSuggestedAppVersionDialogText": "גרסת האפליקציה שבחרת אינה תואמת את הגרסה המומלצת, מה שעלול להוביל לבעיות בלתי צפויות. אנא השתמש בגרסה המומלצת.\n\nהגרסה שנבחרה: ${selected}\nהגרסה המומלצת: ${suggested}\n\nכדי להמשיך בכל זאת, כבה את \"דרוש גרסת אפליקציה מומלצת\" בהגדרות.",
- "featureNotAvailable": "תכונה לא מיושמת",
- "featureNotAvailableText": "אפליקציה זו היא APK מפוצל, והיא יכולה להיות מתוקנת ותותקן בצורה אמינה רק על ידי התקנה באמצעות הרשאות שורש. עם זאת, ניתן לתקן ולתקין APK מלא על ידי בחירתו מאחסון."
- },
- "patchesSelectorView": {
- "viewTitle": "בחר תיקונים",
- "searchBarHint": "חפש תיקונים",
- "universalPatches": "תיקונים אוניברסליים",
- "newPatches": "תיקונים חדשים",
- "patches": "תיקונים",
- "doneButton": "בוצע",
- "defaultChip": "ברירת מחדל",
- "defaultTooltip": "בחר את כל תיקוני ברירת המחדל",
- "noneChip": "כלום",
- "noneTooltip": "בטל את בחירת כל התיקונים",
- "loadPatchesSelection": "טען בחירת תיקונים",
- "noSavedPatches": "אין תיקונים שמורים עבור האפליקציה שנבחרה.\nלחץ על בוצע כדי לשמור את הבחירה הנוכחית.",
- "noPatchesFound": "לא נמצאו תיקונים ליישום שנבחר",
- "setRequiredOption": "תיקונים מסויימים דורשים שאופציות ייקבעו:\n\n${patches}\n\nאנא קבע אותן לפני המשכה."
- },
- "patchOptionsView": {
- "customValue": "ערך מותאם אישית",
- "setToNull": "השמה לnull",
- "nullValue": "ערך אפשרות זה הוא כרגע ריק",
- "viewTitle": "אפשרויות תיקון",
- "saveOptions": "שמור",
- "unselectPatch": "בטל את בחירת התיקון",
- "tooltip": "אפשרויות קלט נוספות",
- "selectFilePath": "בחר נתיב קובץ",
- "selectFolder": "בחר תיקייה",
- "requiredOption": "הגדרת אפשרות זו נדרשת",
- "unsupportedOption": "האפשרות הזו אינה נתמכת",
- "requiredOptionNull": "האפשרויות הבאות חייבות להיקבע:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "בחירת תיקון זה עלול לגרום לשגיאות תיקון.\nגרסת יישום: ${packageVersion}\nגרסאות נתמכות:\n${supportedVersions}",
- "unsupportedPatchVersion": "תיקון זה אינו נתמך עבור גרסה זו של האפליקציה.",
- "unsupportedRequiredOption": "התיקון כולל אפשרות דרושה שאינה נתמכת על ידי אפליקציה זו",
- "patchesChangeWarningDialogText": "מומלץ להשתמש בברירת המחדל של הטלאי והאפשרויות. שינוי עלול לגרום לבעיות בלתי צפויות.\n\nתצטרך להפעיל את \"אפשר שינוי בחירת טלאי\" בהגדרות לפני שתשנה כל בחירת טלאי.",
- "patchesChangeWarningDialogButton": "השתמש בבחירה ברירת המחדל"
- },
- "installerView": {
- "installType": "בחר סוג התקנה",
- "installTypeDescription": "בחר סוג ההתקנה כדי להמשיך.",
- "installButton": "התקן",
- "installRootType": "טען",
- "installNonRootType": "רגיל",
- "warning": "השבת עדכונים אוטומטיים עבור באפליקציה המתוקנת כדי למנוע בעיות בלתי צפויות.",
- "pressBackAgain": "לחץ שוב כדי לבטל",
- "openButton": "פתח",
- "notificationTitle": "ReVanced Manager מבצע תיקון",
- "notificationText": "לחץ כדי לחזור להתקנה",
- "exportApkButtonTooltip": "יצא APK מתוקן",
- "exportLogButtonTooltip": "יצא תיעוד אירועים",
- "screenshotDetected": "צילום מסך זוהה. אם אתה מנסה לשתף את תיעוד האירועים, אנא שתף העתק טקסט במקום.\n\nהעתקת תיעוד האירועים ללוח הגזירים?",
- "copiedToClipboard": "תיעוד האירועים הועתק ללוח הגזירים",
- "noExit": "תוכנית ההתקנה עדיין פועלת, לא ניתן לצאת..."
- },
- "settingsView": {
- "widgetTitle": "הגדרות",
- "appearanceSectionTitle": "מראה",
- "teamSectionTitle": "צוות",
- "debugSectionTitle": "איתור באגים",
- "advancedSectionTitle": "הגדרות מתקדמות",
- "exportSectionTitle": "יבוא ויצוא",
- "dataSectionTitle": "מקורות מידע",
- "themeModeLabel": "ערכת הנושא של האפליקציה",
- "systemThemeLabel": "מערכת",
- "lightThemeLabel": "בהיר",
- "darkThemeLabel": "מצב כהה",
- "dynamicThemeLabel": "Material you",
- "dynamicThemeHint": "תהנה/י מחוויה קרובה יותר למכשיר שלך",
- "languageLabel": "שפה",
- "languageUpdated": "עדכוני שפה",
- "sourcesLabel": "מקורות חלופיים",
- "sourcesLabelHint": "הגדר מקורות חלופיים לתיקונים של ReVanced",
- "useAlternativeSources": "השתמש במקורות חלופיים",
- "useAlternativeSourcesHint": "השתמש במקורות חלופיים לתיקונים של ReVanced במקום ה-API",
- "sourcesResetDialogTitle": "איפוס",
- "sourcesResetDialogText": "האם אתה בטוח שברצונך לאפס את המקורות לערכי ברירת המחדל שלהם?",
- "apiURLResetDialogText": "האם אתה בטוח שברצונך לאפס את כתובת הAPI לערך ברירת המחדל?",
- "sourcesUpdateNote": "שים לב: פעולה זו תוריד אוטומטית תיקונים של ReVanced מהמקורות החלופיים.\n\nפעולה זו תחבר אותך למקור החלופי.",
- "apiURLLabel": "כתובת API",
- "apiURLHint": "הגדר את כתובת ה-API של ReVanced Manager",
- "selectApiURL": "כתובת API",
- "orgPatchesLabel": "ארגון תיקונים",
- "sourcesPatchesLabel": "מקור התיקונים",
- "contributorsLabel": "תורמים",
- "contributorsHint": "רשימת התורמים לReVanced",
- "logsLabel": "שתף לוג",
- "logsHint": "שתף ReVanced Manager לוג",
- "enablePatchesSelectionLabel": "אפשר שינוי בחירת התיקונים",
- "enablePatchesSelectionHint": "לא למנוע בחירה או ביטול בחירה של תיקונים",
- "enablePatchesSelectionWarningText": "שינוי בחירת התיקונים עלול לגרום לבעיות בלתי צפויות.\n\nהאם להפעיל בכל זאת?",
- "disablePatchesSelectionWarningText": "אתה עומד לכבות את שינוי בחירת התיקונים.\nהבחירה ברירת המחדל של התיקונים תשוחזר.\n\nלכבות בכל מקרה?",
- "autoUpdatePatchesLabel": "עדכון תיקונים באופן אוטומטי",
- "autoUpdatePatchesHint": "עדכן אוטומטית את התיקונים לגרסה העדכנית ביותר",
- "showUpdateDialogLabel": "הצג תיבת עדכון",
- "showUpdateDialogHint": "הצג תיבת דו-שיח כאשר עדכון חדש זמין",
- "universalPatchesLabel": "הצג תיקונים אוניברסליים",
- "universalPatchesHint": "הצג את כל האפליקציות והתיקונים האוניברסליים (עשוי להאט את רשימת האפליקציות)",
- "lastPatchedAppLabel": "שמור אפליקציה מתוקנת",
- "lastPatchedAppHint": "שמור את התיקון האחרון להתקנה או ייצוא מאוחר יותר",
- "versionCompatibilityCheckLabel": "בדיקת תאימות לגרסה",
- "versionCompatibilityCheckHint": "מנע בחירת תיקונים שאינם תואמים לגרסת האפליקציה שנבחרה",
- "requireSuggestedAppVersionLabel": "דרוש גרסת אפליקציה מומלצת",
- "requireSuggestedAppVersionHint": "מנע בחירת אפליקציה בגרסה שאינה המומלצת",
- "requireSuggestedAppVersionDialogText": "בחירת אפליקציה שאינה בגרסה המומלצת עלולה לגרום לבעיות בלתי צפויות.\n\nהאם ברצונך להמשיך בכל זאת?",
- "aboutLabel": "אודות",
- "snackbarMessage": "הועתק ללוח",
- "restartAppForChanges": "הפעל מחדש את היישום כדי להחיל את השינויים",
- "deleteTempDirLabel": "מחק קבצים זמניים",
- "deleteTempDirHint": "מחק קבצים זמניים שאינם בשימוש",
- "deletedTempDir": "קבצים זמניים נמחקו",
- "exportSettingsLabel": "ייצוא הגדרות",
- "exportSettingsHint": "ייצוא הגדרות לקובץ JSON",
- "exportedSettings": "הגדרות ייוצאו",
- "importSettingsLabel": "ייבוא הגדרות",
- "importSettingsHint": "ייבוא הגדרות מקובץ JSON",
- "importedSettings": "הגדרות ייבאו",
- "exportPatchesLabel": "ייצא תיקונים נבחרים",
- "exportPatchesHint": "ייצא תיקונים נבחרים לקובץ JSON",
- "exportedPatches": "תיקונים נבחרים יוצאו",
- "noExportFileFound": "אין תיקונים נבחרים לייצוא",
- "importPatchesLabel": "ייבא תיקונים נבחרים",
- "importPatchesHint": "ייבא תיקונים נבחרים מקובץ JSON",
- "importedPatches": "תיקונים נבחרים יובאו",
- "resetStoredPatchesLabel": "אפס בחירת תיקונים",
- "resetStoredPatchesHint": "אפס את בחירת התיקונים המאוחסנים",
- "resetStoredPatchesDialogTitle": "אפס בחירת תיקונים?",
- "resetStoredPatchesDialogText": "ברירת המחדל של בחירת תיקונים תשוחזר.",
- "resetStoredPatches": "בחירת התיקונים אופסה",
- "resetStoredOptionsLabel": "אפס אפשרויות תיקונים",
- "resetStoredOptionsHint": "אפס את כל אפשרויות התיקונים",
- "resetStoredOptionsDialogTitle": "אפס אפשרויות תיקונים?",
- "resetStoredOptionsDialogText": "איפוס אפשרויות התיקון יסיר את כל האפשרויות השמורות.",
- "resetStoredOptions": "האפשרויות אופסו",
- "deleteLogsLabel": "נקה יומנים",
- "deleteLogsHint": "מחק יומני ReVanced Manager שנאספו",
- "deletedLogs": "תיעוד אירועים נחמק",
- "regenerateKeystoreLabel": "יצירה חוזרת של מפתח-האחסון",
- "regenerateKeystoreHint": "להפיק מחדש את מאגר המפתחות המשמש לחתימה על אפליקציות",
- "regenerateKeystoreDialogTitle": "יצירה חוזרת של מפתח-האחסון?",
- "regenerateKeystoreDialogText": "אפליקציות שתוקנו וחתומות באמצעות מאגר המפתחות הישן לא יוכלו עוד להתעדכן.",
- "regeneratedKeystore": "מפתח-אחסון נוצר מחדש",
- "exportKeystoreLabel": "יצוא מפתח-אחסון",
- "exportKeystoreHint": "ייצוא מאגר המפתחות המשמש לחתימה על אפליקציות",
- "exportedKeystore": "מפתח-אחסון מיוצא",
- "noKeystoreExportFileFound": "אין מפתח-אחסון כדי ליציא",
- "importKeystoreLabel": "יבוא מפתח-אחסון",
- "importKeystoreHint": "ייבוא מאגר מפתחות המשמש לחתימה על אפליקציות",
- "importedKeystore": "מפתח-אחסון מיובא",
- "selectKeystorePassword": "סיסמת מפתח-אחסון",
- "selectKeystorePasswordHint": "בחר סיסמת מאגר מפתחות המשמשת לחתימה על אפליקציות",
- "jsonSelectorErrorMessage": "לא ניתן להשתמש בקובץ JSON שנבחר",
- "keystoreSelectorErrorMessage": "לא ניתן להשתמש בקובץ מאגר המפתחות שנבחר"
- },
- "appInfoView": {
- "widgetTitle": "מידע אפליקציה",
- "openButton": "פתח",
- "installButton": "התקן",
- "uninstallButton": "הסר התקנה",
- "unmountButton": "פרק התקנה",
- "exportButton": "ייצוא",
- "deleteButton": "למחוק",
- "rootDialogTitle": "שגיאה",
- "lastPatchedAppDescription": "זו גיבוי של האפליקציה שתוקנה לאחרונה.",
- "unmountDialogText": "האם אתה בטוח שאתה רוצה לפרק את האפליקציה הזו?",
- "uninstallDialogText": "האם אתה בטוח שברצונך להסיר את האפליקציה הזו?",
- "rootDialogText": "האפליקציה הותקנה עם הרשאות משתמש-על, אך כרגע ל-ReVanced Manager אין הרשאות. אנא הענק תחילה הרשאות משתמש-על.",
- "removeAppDialogTitle": "מחק אפליקציה?",
- "removeAppDialogText": "האם אתה בטוח שאתה רוצה למחוק קובץ גיבוי זה?",
- "packageNameLabel": "שם חבילה",
- "installTypeLabel": "סוג התקנה",
- "mountTypeLabel": "טען",
- "regularTypeLabel": "רגיל",
- "patchedDateLabel": "תאריך תיקון",
- "appliedPatchesLabel": "תיקונים הוחלו",
- "sizeLabel": "גודל הקובץ",
- "patchedDateHint": "${date} ב־${time}",
- "appliedPatchesHint": "${quantity} שינויים הוחלו",
- "updateNotImplemented": "תכונה זו טרם יושמה"
- },
- "contributorsView": {
- "widgetTitle": "תורמים"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "אי התאמה של הגירסה",
- "mount_no_root": "אין גישת שורש (רוט)",
- "mount_missing_installation": "ההתקנה לא נמצאה",
- "status_failure_blocked": "ההתקנה נחסמה",
- "install_failed_verification_failure": "האימות נכשל",
- "status_failure_invalid": "התקנה לא חוקית",
- "install_failed_version_downgrade": "לא ניתן לשדרג לאחור",
- "status_failure_conflict": "התנגשות בהתקנה",
- "status_failure_storage": "בעיית אחסון בהתקנה",
- "status_failure_incompatible": "התקנה לא תואמת",
- "status_failure_timeout": "זמן ההתקנה חרג מהמגבלות",
- "status_unknown": "ההתקנה נכשלה",
- "mount_version_mismatch_description": "ההתקנה נכשלה בגלל שהאפליקציה המותקנת היא גרסה שונה מהאפליקציה המתוקנת.\n\nהתקן את גרסת האפליקציה שאתה מעלה ונסה שוב.",
- "mount_no_root_description": "ההתקנה נכשלה בגלל שלא ניתנה גישת שורש.\n\nהענק גישת שורש ל-ReVanced Manager ונסה שוב.",
- "mount_missing_installation_description": "ההתקנה נכשלה בגלל שהאפליקציה שלא תוקנה לא הותקנה במכשיר זה כדי לעלות עליה.\n\nהתקן את האפליקציה שלא תוקנה לפני ההרכבה ונסה שוב.",
- "status_failure_timeout_description": "ההתקנה לקחה יותר מדי זמן לסיום.\n\nהאם ברצונך לנסות שוב?",
- "status_failure_storage_description": "ההתקנה נכשלה עקב אחסון לא מספיק.\n\nפנה קצת מקום ונסה שוב.",
- "status_failure_invalid_description": "ההתקנה נכשלה בגלל שהאפליקציה המתוקנת לא חוקית.\n\nלהסיר את האפליקציה ולנסות שוב?",
- "status_failure_incompatible_description": "האפליקציה אינה תואמת למכשיר זה.\n\nהשתמש ב-APK שנתמך על ידי מכשיר זה ונסה שוב.",
- "status_failure_conflict_description": "ההתקנה נמנעה על ידי התקנה קיימת של האפליקציה.\n\nלהסיר את ההתקנה של האפליקציה המותקנת ולנסות שוב?",
- "status_failure_blocked_description": "ההתקנה נחסמה על ידי ${packageName}.\n\nשנה את הגדרות האבטחה שלך ונסה שוב.",
- "install_failed_verification_failure_description": "ההתקנה נכשלה עקב בעיית אימות.\n\nשנה את הגדרות האבטחה שלך ונסה שוב.",
- "install_failed_version_downgrade_description": "ההתקנה נכשלה בגלל שהאפליקציה המתוקנת היא גרסה נמוכה יותר מהאפליקציה המותקנת.\n\nלהסיר את האפליקציה ולנסות שוב?",
- "status_unknown_description": "ההתקנה נכשלה מסיבה לא ידועה. בבקשה נסה שוב."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/hi_IN.i18n.json b/assets/i18n/hi_IN.i18n.json
deleted file mode 100755
index e7c93327..00000000
--- a/assets/i18n/hi_IN.i18n.json
+++ /dev/null
@@ -1,148 +0,0 @@
-{
- "okButton": "ठीक है",
- "cancelButton": "रद्द करें",
- "dismissButton": "बंद करें",
- "quitButton": "छोड़ें",
- "updateButton": "अपडेट करें",
- "suggested": "सुझाया गया: ${version}",
- "yesButton": "हाँ",
- "noButton": "नहीं",
- "warning": "चेतावनी",
- "notice": "सूचना",
- "noShowAgain": "इसे पुनः न दिखाएँ",
- "add": "ऐड करें",
- "remove": "हटाएं",
- "showChangelogButton": "बदलाव दिखाएं",
- "showUpdateButton": "अपडेट देखें ",
- "navigationView": {
- "dashboardTab": "नियंत्रण-पट्ट",
- "patcherTab": "पैचर",
- "settingsTab": "सेटिंग्स"
- },
- "homeView": {
- "refreshSuccess": "रीफ्रेश हो गया है",
- "widgetTitle": "नियंत्रण-पट्ट",
- "updatesSubtitle": "अपडेट",
- "patchedSubtitle": "इंस्टॉल किए गए ऐप",
- "changeLaterSubtitle": "आप बाद में सेटिंग में जाकर इसे बदल सकते हैं।",
- "noSavedAppFound": "कोई ऐप्लिकेशन नहीं मिला\n\t",
- "noInstallations": "कोई पैच किया गया एप्लिकेशन इंस्टॉल नहीं किया गया",
- "installUpdate": "अपडेट इंस्टॉल करना जारी रखें?",
- "updateSheetTitle": "ReVanced Manager अपडेट करें ",
- "updateDialogTitle": "नई अपडेट उपलब्ध है",
- "updatePatchesSheetTitle": "ReVanced Patches अपडेट करें",
- "updateChangelogTitle": "परिवर्तन पत्र",
- "downloadingMessage": "अपडेट डाउनलोड हो रहा है",
- "downloadedMessage": "अपडेट डाउनलोड हो चुकी है",
- "installingMessage": "अपडेट इंस्टॉल हो रहा है",
- "errorDownloadMessage": "अपडेट डाउनलोड करने मे असफल",
- "errorInstallMessage": "अपडेट इंस्टॉल करने में असफल",
- "noConnection": "कोई इंटरनेट कनेक्शन नहीं"
- },
- "applicationItem": {
- "infoButton": "जानकारी"
- },
- "latestCommitCard": {
- "loadingLabel": "लोड हो रहा है...",
- "timeagoLabel": "${time} पहले"
- },
- "patcherView": {
- "widgetTitle": "पैचर",
- "patchButton": "पैच"
- },
- "appSelectorCard": {
- "noAppsLabel": "कोई एप्लिकेशन नहीं मिला।"
- },
- "patchSelectorCard": {
- "widgetTitle": "पैच चुने",
- "widgetTitleSelected": "चुने हुए पैच",
- "widgetSubtitle": "पहले किसी एप्लिकेशन को चुने",
- "widgetEmptySubtitle": "कोई पैच चुना हुआ नहीं"
- },
- "socialMediaCard": {
- "widgetTitle": "सामाजिक",
- "widgetSubtitle": "हम ऑनलाइन है"
- },
- "appSelectorView": {
- "storageButton": "संग्रहण",
- "selectFromStorageButton": "स्टोरेज से चुनें",
- "errorMessage": "चुने हुए ऐप्लकैशन को उपयोग करने मे असमर्थ",
- "downloadToast": "डाउनलोड फ़ंक्शन वर्तमान में अनुपलब्ध है",
- "featureNotAvailable": "कार्रवाई लागू नहीं किया गया है"
- },
- "patchesSelectorView": {
- "viewTitle": "पैच चुने",
- "searchBarHint": "पैच खोजे",
- "doneButton": "पूरा हुआ",
- "defaultChip": "डिफॉल्ट",
- "defaultTooltip": "सभी डिफ़ॉल्ट पैच का चयन करें",
- "noneChip": "कुछ नहीं",
- "noneTooltip": "सभी पैच अचयनित करें",
- "noPatchesFound": "चुने हुए ऐप्लकैशन के लिए कोई पैच नहीं मिले"
- },
- "patchOptionsView": {
- "saveOptions": "सेव करें",
- "selectFolder": "फ़ोल्डर चुनें"
- },
- "patchItem": {
- "unsupportedDialogText": "इस पैच को चुनने से पैचिंग मे त्रुटि हो सकती है। \n\nएप वर्ज़न: ${packageVersion}\nसमर्थित वर्ज़न:\n${supportedVersions}"
- },
- "installerView": {
- "installButton": "इंस्टॉल करे",
- "openButton": "खोलें",
- "notificationTitle": "ReVanced Manager पैच कर रहा है",
- "notificationText": "इंस्टॉल कर्ता पर जाने के लिए टैप करे",
- "noExit": "इंस्टॉल कर्ता अब भी चल रहा है, बाहर नहीं निकल सकते"
- },
- "settingsView": {
- "widgetTitle": "सेटिंग्स",
- "appearanceSectionTitle": "स्वरूप",
- "teamSectionTitle": "टीम",
- "advancedSectionTitle": "एडवांसड",
- "exportSectionTitle": "आयात और निर्यात",
- "lightThemeLabel": "रोशनी",
- "darkThemeLabel": "डार्क मोड",
- "dynamicThemeLabel": "मेटीरियल यू",
- "dynamicThemeHint": "अपने डिवाइस के करीब एक अनुभव का आनंद लें",
- "languageLabel": "भाषा",
- "sourcesResetDialogTitle": "रीसेट करें",
- "apiURLLabel": "API URL",
- "selectApiURL": "API URL",
- "orgPatchesLabel": "पैच संगठन",
- "sourcesPatchesLabel": "पैच स्रोत",
- "contributorsLabel": "योगदान कर्ता",
- "contributorsHint": "ReVanced के योगदानकर्ताओ की सूची",
- "aboutLabel": "विवरण",
- "snackbarMessage": "क्लिपबोर्ड में कॉपी हो गया है",
- "restartAppForChanges": "बदलाव लागू करने के लिए ऐप रीस्टार्ट करें",
- "deleteTempDirLabel": "अस्थाई फ़ाइलें मिटायें",
- "deleteTempDirHint": "अप्रयुक्त अस्थायी फ़ाइलों को हटाएं",
- "deletedTempDir": "क्षणिक फ़ाईल मिटाए गए।",
- "deleteLogsLabel": "लोग साफ़ करे",
- "deletedLogs": "लॉग हटा दिए गए",
- "exportKeystoreLabel": "निर्यात कीस्टोर",
- "exportedKeystore": "कीस्टोर निर्यात किया गया",
- "noKeystoreExportFileFound": "निर्यात करने के लिए कोई कीस्टोर नहीं",
- "importKeystoreLabel": "कीस्टोर आयात करें",
- "importedKeystore": "कीस्टोर आयात किया गया",
- "jsonSelectorErrorMessage": "चुने हुए JSON फाइल को उपयोग करने मे असमर्थ"
- },
- "appInfoView": {
- "widgetTitle": "ऐप की जानकारी",
- "openButton": "खोलें",
- "installButton": "इंस्टॉल करे",
- "uninstallButton": "अनइंस्टॉल करें",
- "rootDialogTitle": "त्रुटि",
- "rootDialogText": "एप्प superuser परमिशन के साथ इनस्टॉल हुआ था, परन्तु ReVanced मैनेजर के पास कोई परमिशन नहीं है। पहले superuser परमिशन इनेबल करे।",
- "packageNameLabel": "पैकेज का नाम",
- "installTypeLabel": "इंस्टॉल का प्रकार",
- "patchedDateLabel": "पैच करने की तिथि",
- "appliedPatchesLabel": "लागू किए हुआ पैच",
- "patchedDateHint": "${date} ${time} पर",
- "appliedPatchesHint": "${quantity} लागू किए गए पैच",
- "updateNotImplemented": "यह फीचर फिलहाल इम्प्लीमेंट नहीं हुआ है"
- },
- "contributorsView": {
- "widgetTitle": "योगदान कर्ता"
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/hr_HR.i18n.json b/assets/i18n/hr_HR.i18n.json
deleted file mode 100755
index e9ae4bc3..00000000
--- a/assets/i18n/hr_HR.i18n.json
+++ /dev/null
@@ -1,134 +0,0 @@
-{
- "okButton": "U redu",
- "cancelButton": "Poništi",
- "dismissButton": "Odbaci",
- "quitButton": "Izađi",
- "updateButton": "Ažuriraj",
- "suggested": "Preporučena verzija: ${version}",
- "yesButton": "Da",
- "noButton": "Ne",
- "warning": "Upozorenje",
- "notice": "Napomena",
- "noShowAgain": "Ne prikazuj ponovno",
- "add": "Dodaj",
- "remove": "Ukloni",
- "showChangelogButton": "Prikaži napomene o izdanju",
- "navigationView": {
- "dashboardTab": "Nadzorna ploča",
- "patcherTab": "Zakrpe",
- "settingsTab": "Postavke"
- },
- "homeView": {
- "refreshSuccess": "Uspješno osvježeno",
- "widgetTitle": "Nadzorna ploča",
- "updatesSubtitle": "Ažuriranja",
- "noInstallations": "Nema instaliranih zakrpanih aplikacija",
- "installUpdate": "Nastaviti s instalacijom ažuriranja?",
- "updateChangelogTitle": "Zapisnik promjena",
- "downloadingMessage": "Preuzimanje ažuriranja...",
- "downloadedMessage": "Ažuriranje je preuzeto",
- "installingMessage": "Instaliranje ažuriranja...",
- "errorDownloadMessage": "Nije moguće preuzeti ažuriranje",
- "errorInstallMessage": "Nije moguće instalirati ažuriranje",
- "noConnection": "Nema internetske veze"
- },
- "applicationItem": {
- "infoButton": "Informacije"
- },
- "latestCommitCard": {
- "loadingLabel": "Učitavanje...",
- "timeagoLabel": "Prije ${time}"
- },
- "patcherView": {
- "widgetTitle": "Zakrpe",
- "patchButton": "Zakrpi"
- },
- "appSelectorCard": {
- "noAppsLabel": "Nije pronađena nijedna aplikacija"
- },
- "patchSelectorCard": {
- "widgetTitle": "Odaberite zakrpe",
- "widgetTitleSelected": "Odabrane zakrpe",
- "widgetSubtitle": "Najprije odaberite aplikaciju",
- "widgetEmptySubtitle": "Nema odabranih zakrpa"
- },
- "socialMediaCard": {
- "widgetTitle": "Društvene mreže",
- "widgetSubtitle": "Pronađite nas ovdje!"
- },
- "appSelectorView": {
- "storageButton": "Pohrana",
- "selectFromStorageButton": "Odaberi iz pohrane",
- "errorMessage": "Nije moguće koristiti odabranu aplikaciju",
- "downloadToast": "Funkcija preuzimanja još nije dostupna",
- "featureNotAvailable": "Ova značajka još nije ugrađena"
- },
- "patchesSelectorView": {
- "viewTitle": "Odaberite zakrpe",
- "searchBarHint": "Pretraživanje zakrpa",
- "doneButton": "Završeno",
- "defaultChip": "Zadano",
- "defaultTooltip": "Odaberi sve zadane zakrpe",
- "noneChip": "Ništa",
- "noneTooltip": "Poništi odabir svih zakrpa",
- "noPatchesFound": "Za odabranu aplikaciju nije pronađena nijedna zakrpa"
- },
- "patchItem": {
- "unsupportedDialogText": "Odabirom ove zakrpe mogu se pojaviti greške pri krpanju.\n\nVerzija aplikacije: ${packageVersion}\nPodržane verzije:\n${supportedVersions}"
- },
- "installerView": {
- "installButton": "Instaliraj",
- "openButton": "Otvori",
- "notificationTitle": "Krpanje u tijeku",
- "notificationText": "Dodirnite za povratak na instalacijski program",
- "noExit": "Instalacija je u tijeku, nije moguće izaći..."
- },
- "settingsView": {
- "widgetTitle": "Postavke",
- "appearanceSectionTitle": "Izgled",
- "teamSectionTitle": "Naš tim",
- "advancedSectionTitle": "Napredno",
- "exportSectionTitle": "Uvezi / izvezi",
- "darkThemeLabel": "Tamni način",
- "dynamicThemeHint": "Uživajte u iskustvu prilagođenom vašem uređaju",
- "languageLabel": "Jezik",
- "sourcesResetDialogTitle": "Ponovno postavljanje",
- "apiURLLabel": "API URL",
- "selectApiURL": "API URL",
- "orgPatchesLabel": "Autori zakrpa",
- "sourcesPatchesLabel": "Izvor zakrpa",
- "contributorsLabel": "Pridonositelji",
- "contributorsHint": "Popis suradnika ReVanceda",
- "aboutLabel": "O aplikaciji",
- "snackbarMessage": "Kopirano u međuspremnik",
- "restartAppForChanges": "Za primjenu promjena ponovo pokreni program",
- "deleteTempDirLabel": "Izbriši privremene datoteke",
- "deleteTempDirHint": "Izbrišite nekorištene privremene datoteke",
- "deletedTempDir": "Privremene datoteke su izbrisane",
- "deletedLogs": "Zapisnici su izbrisani",
- "exportKeystoreLabel": "Izvezi spremište ključeva",
- "exportedKeystore": "Spremište ključeva je izvezeno",
- "noKeystoreExportFileFound": "Nema spremišta ključeva za izvoz",
- "importKeystoreLabel": "Uvezi spremište ključeva",
- "importedKeystore": "Spremište ključeva je uvezeno",
- "jsonSelectorErrorMessage": "Nije moguće koristiti odabranu JSON datoteku"
- },
- "appInfoView": {
- "widgetTitle": "O aplikaciji",
- "openButton": "Otvori",
- "installButton": "Instaliraj",
- "uninstallButton": "Deinstaliraj",
- "rootDialogTitle": "Greška",
- "rootDialogText": "Aplikacija je bila instalirana s superkorisničkom dopuštenosti, ali trenutno ReVanced Upravitelj nema dopuštenja.\nPrvo dodijelite superkorisničko dopuštenje.",
- "packageNameLabel": "Naziv paketa",
- "installTypeLabel": "Vrsta instalacije",
- "patchedDateLabel": "Zakrpano",
- "appliedPatchesLabel": "Primijenjene zakrpe",
- "patchedDateHint": "${date} u ${time}",
- "appliedPatchesHint": "${quantity} primijenjenih zakrpa",
- "updateNotImplemented": "Ova značajka još nije implementirana"
- },
- "contributorsView": {
- "widgetTitle": "Pridonositelji"
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/hu_HU.i18n.json b/assets/i18n/hu_HU.i18n.json
deleted file mode 100755
index f54d4c81..00000000
--- a/assets/i18n/hu_HU.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "OK",
- "cancelButton": "Mégse",
- "dismissButton": "Elvetés",
- "quitButton": "Kilépés",
- "updateButton": "Frissítés",
- "suggested": "Javasolt: ${version}",
- "yesButton": "Igen",
- "noButton": "Nem",
- "warning": "Figyelmeztetés",
- "notice": "Értesítés",
- "noShowAgain": "Ne mutasd ezt többet",
- "add": "Hozzáadás",
- "remove": "Eltávolítás",
- "showChangelogButton": "Változások megtekintése",
- "showUpdateButton": "Frissítések mutatása",
- "navigationView": {
- "dashboardTab": "Irányítópult",
- "patcherTab": "Patchelő",
- "settingsTab": "Beállítások"
- },
- "homeView": {
- "refreshSuccess": "Sikeresen frissítve",
- "widgetTitle": "Irányítópult",
- "updatesSubtitle": "Frissítések",
- "lastPatchedAppSubtitle": "Utoljára patchelt app",
- "patchedSubtitle": "Telepített appok",
- "changeLaterSubtitle": "Ezt később módosíthatja a beállításokban.",
- "noSavedAppFound": "Nem található app",
- "noInstallations": "Nincs telepítve patchelt alkalmazás",
- "installUpdate": "Folytatja a frissítés telepítését?",
- "updateSheetTitle": "ReVanced Manager frissítése",
- "updateDialogTitle": "Új frissítés elérhető",
- "updatePatchesSheetTitle": "ReVanced Patchek frissítése",
- "updateChangelogTitle": "Változásnapló",
- "updateDialogText": "Új frissítés érhető el a következőhöz: ${file}.\n\nA jelenleg telepített verzió: ${version}.",
- "downloadConsentDialogTitle": "Letölti a szükséges fájlokat?",
- "downloadConsentDialogText": "A ReVanced Managernek le kell töltenie a szükséges fájlokat a megfelelő működéshez.",
- "downloadConsentDialogText2": "Csatlakozni fog ehhez: ${url}.",
- "downloadingMessage": "Frissítés letöltése...",
- "downloadedMessage": "Frissítés letöltve",
- "installingMessage": "Frissítés telepítése...",
- "errorDownloadMessage": "Frissítés letöltése sikertelen",
- "errorInstallMessage": "Frissítés telepítése sikertelen",
- "noConnection": "Nincs internetkapcsolat"
- },
- "applicationItem": {
- "infoButton": "Infó"
- },
- "latestCommitCard": {
- "loadingLabel": "Betöltés...",
- "timeagoLabel": "Frissítve: ${time}"
- },
- "patcherView": {
- "widgetTitle": "Patchelő",
- "patchButton": "Patch",
- "incompatibleArchWarningDialogText": "Ezen az architektúrán a patchelés még nem támogatott, és sikertelen lehet. Mégis folytatod?",
- "removedPatchesWarningDialogText": "Az alkalmazás legutóbbi javítása óta eltávolított javítások:\n\n${patches}\n\n${newPatches}Amúgy folytatja?",
- "addedPatchesDialogText": "Javítások hozzáadva az alkalmazás legutóbbi javítása óta:\n\n${addedPatches}",
- "requiredOptionDialogText": "Néhány patch lehetőséget be kell állítani."
- },
- "appSelectorCard": {
- "widgetTitle": "Válasszon egy alkalmazást",
- "widgetTitleSelected": "Kiválasztott alkalmazás",
- "widgetSubtitle": "Nincs alkalmazás kiválasztva",
- "noAppsLabel": "Nem találhatóak alkalmazások",
- "anyVersion": "Bármilyen verzió"
- },
- "patchSelectorCard": {
- "widgetTitle": "Patchek kiválasztása",
- "widgetTitleSelected": "Kiválasztott patchek",
- "widgetSubtitle": "Először válasszon egy alkalmazást",
- "widgetEmptySubtitle": "Nem választott patchet"
- },
- "socialMediaCard": {
- "widgetTitle": "Közösségi oldalak",
- "widgetSubtitle": "Online vagyunk!"
- },
- "appSelectorView": {
- "viewTitle": "Válasszon egy alkalmazást",
- "searchBarHint": "App keresés",
- "storageButton": "Tárhely",
- "selectFromStorageButton": "Kiválasztás a tárhelyről",
- "errorMessage": "A kiválasztott alkalmazás nem használható",
- "downloadToast": "A letöltés funkció még nem érhető el",
- "requireSuggestedAppVersionDialogText": "Az alkalmazás kiválasztott verziója nem egyezik a javasolt verzióval. Kérjük, válassza ki a javasolt verziónak megfelelő alkalmazást.\n\nKiválasztott verzió: ${selected}\nJavasolt verzió: ${suggested}\n\nA folytatáshoz kapcsolja ki a „Javasolt alkalmazásverzió megkövetelése” lehetőséget a beállításokban.",
- "featureNotAvailable": "A funkció nincs megvalósítva",
- "featureNotAvailableText": "Ez az alkalmazás egy osztott APK, és csak root jogosultságokkal patchelhető és telepíthető megbízhatóan. A teljes APK-t azonban patchelheti és telepítheti, ha kiválasztja azt a tárhelyről."
- },
- "patchesSelectorView": {
- "viewTitle": "Patchek kiválasztása",
- "searchBarHint": "Patchek keresése",
- "universalPatches": "Univerzális patchek",
- "newPatches": "Új patchek",
- "patches": "Patchek",
- "doneButton": "Kész",
- "defaultChip": "Alapértelmezett",
- "defaultTooltip": "Összes alapértelmezett patch kiválasztása",
- "noneChip": "Semmi",
- "noneTooltip": "Összes patch kijelölésének törlése",
- "loadPatchesSelection": "Patch kijelölés betöltése",
- "noSavedPatches": "Nincs mentett patch kijelölés a kiválasztott alkalmazáshoz.\nNyomja meg a Kész gombot az aktuális kijelölés mentéséhez.",
- "noPatchesFound": "A kiválasztott alkalmazáshoz nem találhatóak patchek",
- "setRequiredOption": "Néhány patchhez be kell állítani a következő beállításokat:\n\n${patches}\n\nKérjük, állítsa be őket a folytatás előtt."
- },
- "patchOptionsView": {
- "customValue": "Egyedi érték",
- "setToNull": "Állítsd nullára",
- "nullValue": "Ez az opció értéke jelenleg null",
- "viewTitle": "Patch beállítások",
- "saveOptions": "Mentés",
- "unselectPatch": "Patch kihagyása",
- "tooltip": "További beviteli lehetőségek",
- "selectFilePath": "Válassza ki a fájl elérési útját",
- "selectFolder": "Mappa kiválasztása",
- "requiredOption": "Ennek az opciónak a beállítása kötelező",
- "unsupportedOption": "Ez az opció nem támogatott",
- "requiredOptionNull": "A következő opciókat kell beállítani:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "Ezt a patchet nem biztos hogy sikerül alkalmazni, mert más verzióhoz készült.\n\nAlkalmazás verzió: ${packageVersion}\nTámogatott verziók:\n${supportedVersions}",
- "unsupportedPatchVersion": "A patch nem támogatott ehhez az alkalmazásverzióhoz.",
- "unsupportedRequiredOption": "Ez a patch egy kötelező beállítást tartalmaz, amelyet ez az alkalmazás nem támogat",
- "patchesChangeWarningDialogText": "Javasoljuk, hogy az alapértelmezett patch kijelölést és beállításait használja. Ezek megváltoztatása váratlan problémákat okozhat.\n\nMielőtt bármilyen patchet módosítana, be kell kapcsolnia a „Patch kijelölés módosításának engedélyezése” lehetőséget a beállításokban.",
- "patchesChangeWarningDialogButton": "Használja az alapértelmezett kijelölést"
- },
- "installerView": {
- "installType": "Válassza ki a telepítés típusát",
- "installTypeDescription": "Válassza ki a telepítés típusát a folytatáshoz.",
- "installButton": "Telepítés",
- "installRootType": "Csatolás",
- "installNonRootType": "Hagyományos",
- "warning": "A váratlan problémák elkerülése érdekében tiltsa le a patchelt alkalmazás automatikus frissítéseit.",
- "pressBackAgain": "A visszavonáshoz nyomja meg a vissza gombot ismét",
- "openButton": "Megnyitás",
- "notificationTitle": "A ReVanced Manager jelenleg patchel",
- "notificationText": "Koppintson a telepítőhöz való visszalépéshez",
- "exportApkButtonTooltip": "Patchelt apk exportálása",
- "exportLogButtonTooltip": "Napló exportálása",
- "screenshotDetected": "Képernyőképet észleltünk. Ha megpróbálja megosztani a naplót, kérjük osszon meg helyette egy szöveges másolatot.\n\nA vágólapra másolja a naplót?",
- "copiedToClipboard": "A napló vágólapra másolva",
- "noExit": "A telepítő még fut, nem lehet kilépni..."
- },
- "settingsView": {
- "widgetTitle": "Beállítások",
- "appearanceSectionTitle": "Megjelenés",
- "teamSectionTitle": "Csapat",
- "debugSectionTitle": "Hibakeresés",
- "advancedSectionTitle": "Haladó",
- "exportSectionTitle": "Importálás és exportálás",
- "dataSectionTitle": "Adatforrások",
- "themeModeLabel": "Alkalmazás témája",
- "systemThemeLabel": "Rendszer",
- "lightThemeLabel": "Világos",
- "darkThemeLabel": "Sötét",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "Élvezze az eszközéhez közelibb élményt",
- "languageLabel": "Nyelv",
- "languageUpdated": "Nyelv frissítve",
- "sourcesLabel": "Alternatív források",
- "sourcesLabelHint": "Egyéni lejátszási sebesség hozzáadása vagy módosítása",
- "useAlternativeSources": "Alternatív források használata",
- "useAlternativeSourcesHint": "Használjon alternatív forrásokat a ReVanced Patch-ekhez az API helyett",
- "sourcesResetDialogTitle": "Visszaállítás",
- "sourcesResetDialogText": "Biztosan vissza szeretné állítani a forrásokat az alapértelmezett értékekre?",
- "apiURLResetDialogText": "Biztosan vissza szeretné állítani az API URL-jét az alapértelmezett értékre?",
- "sourcesUpdateNote": "Megjegyzés: Ez automatikusan letölti a ReVanced Patch-eket az alternatív forrásokból.\n\nEzzel csatlakozik az alternatív forráshoz.",
- "apiURLLabel": "API URL",
- "apiURLHint": "Konfigurálja a ReVanced Manager API URL-jét",
- "selectApiURL": "API link",
- "orgPatchesLabel": "Patchek - szervezet",
- "sourcesPatchesLabel": "Patchek - forrás",
- "contributorsLabel": "Közreműködők",
- "contributorsHint": "A ReVanced közreműködőinek listája",
- "logsLabel": "Naplók megosztása",
- "logsHint": "ReVanced Manager naplók megosztása",
- "enablePatchesSelectionLabel": "Patch kijelölés módosításának engedélyezése",
- "enablePatchesSelectionHint": "Ne akadályozza meg a patchek kijelölését vagy a kijelölés megszüntetését",
- "enablePatchesSelectionWarningText": "A patchek kijelölésének megváltoztatása váratlan problémákat okozhat.\n\nMindenképpen engedélyezi?",
- "disablePatchesSelectionWarningText": "Arra készül, hogy letiltja a patchek kijelölésének módosítását.\nA patchek alapértelmezett kijelölése visszaáll.\n\nMindenképpen letiltja?",
- "autoUpdatePatchesLabel": "Patchek automatikus frissítése",
- "autoUpdatePatchesHint": "A patchek automatikus frissítése a legújabb verzióra",
- "showUpdateDialogLabel": "Frissítési panel megjelenítése",
- "showUpdateDialogHint": "Panel megjelenítése, ha új frissítés érhető el",
- "universalPatchesLabel": "Univerzális patchek megjelenítése",
- "universalPatchesHint": "Az összes alkalmazás és univerzális patch megjelenítése (lassíthatja az alkalmazáslistát)",
- "lastPatchedAppLabel": "Patchelt app mentése",
- "lastPatchedAppHint": "Utolsó patchelés mentése későbbi telepítéshez/exportáláshoz",
- "versionCompatibilityCheckLabel": "Verziókompatibilitás ellenőrzése",
- "versionCompatibilityCheckHint": "Akadályozza meg a kiválasztott alkalmazásverzióval nem kompatibilis patchek kiválasztását",
- "requireSuggestedAppVersionLabel": "Javasolt alkalmazásverzió szükséges",
- "requireSuggestedAppVersionHint": "Akadályozza meg, hogy olyan alkalmazást válasszon ki, amelynek verziója nem a javasolt",
- "requireSuggestedAppVersionDialogText": "A javasolt verziótól eltérő alkalmazás kiválasztása váratlan problémákat okozhat.\n\nMindenképpen folytatni szeretné?",
- "aboutLabel": "Rólunk",
- "snackbarMessage": "Vágólapra másolva",
- "restartAppForChanges": "Indítsa újra az alkalmazást a változások alkalmazásához",
- "deleteTempDirLabel": "Ideiglenes fájlok törlése",
- "deleteTempDirHint": "Nem használt ideiglenes fájlok törlése",
- "deletedTempDir": "Ideiglenes fájlok törölve",
- "exportSettingsLabel": "Beállítások exportálása",
- "exportSettingsHint": "A beállítások exportálása JSON-fájlba",
- "exportedSettings": "Beállítások exportálva",
- "importSettingsLabel": "Beállítások importálása",
- "importSettingsHint": "Beállítások importálása JSON-fájlból",
- "importedSettings": "Beállítások importálva",
- "exportPatchesLabel": "Kijelölt patchek exportálása",
- "exportPatchesHint": "Exportálja a kijelölt patcheket egy JSON-fájlba",
- "exportedPatches": "Kijelölt patchek exportálva",
- "noExportFileFound": "Nincs exportálandó patch kijelölés",
- "importPatchesLabel": "Kijelölt patchek importálása",
- "importPatchesHint": "Importálja a kijelölt patcheket egy JSON-fájlból",
- "importedPatches": "Patch kijelölés importálva",
- "resetStoredPatchesLabel": "Patch kijelölés visszaállítása",
- "resetStoredPatchesHint": "Mentett patch kijelölés visszaállítása",
- "resetStoredPatchesDialogTitle": "Visszaállítja a kijelölt patcheket?",
- "resetStoredPatchesDialogText": "A patchek alapértelmezett kijelölése visszaáll.",
- "resetStoredPatches": "A patchek kijelölése visszaállításra került",
- "resetStoredOptionsLabel": "Patch beállítások visszaállítása",
- "resetStoredOptionsHint": "Állítsa vissza az összes patch opciót",
- "resetStoredOptionsDialogTitle": "Patch beállítások visszaállítása?",
- "resetStoredOptionsDialogText": "A patch beállítások visszaállítása eltávolítja az összes mentett opciót.",
- "resetStoredOptions": "Az opciók visszaállításra kerültek",
- "deleteLogsLabel": "Naplók törlése",
- "deleteLogsHint": "A ReVanced Manager naplóinak törlése",
- "deletedLogs": "Naplók törölve",
- "regenerateKeystoreLabel": "Kulcstár újragenerálása",
- "regenerateKeystoreHint": "Újragenerálja az alkalmazások aláírásához használt kulcstárolót",
- "regenerateKeystoreDialogTitle": "Kulcstár újragenerálása?",
- "regenerateKeystoreDialogText": "A régi kulcstárolóval aláírt patchelt alkalmazásokat a továbbiakban nem lehet majd frissíteni.",
- "regeneratedKeystore": "A kulcstár újra létrehozva",
- "exportKeystoreLabel": "Kulcstároló exportálása",
- "exportKeystoreHint": "Exportálja az alkalmazások aláírásához használt kulcstárolót",
- "exportedKeystore": "Kulcstároló exportálva",
- "noKeystoreExportFileFound": "Nincs exportálható kulcstároló",
- "importKeystoreLabel": "Kulcstároló importálása",
- "importKeystoreHint": "Alkalmazások aláírására használt kulcstároló importálása",
- "importedKeystore": "Kulcstároló importálva",
- "selectKeystorePassword": "Kulcstár jelszó",
- "selectKeystorePasswordHint": "Válassza ki az alkalmazások aláírásához használt kulcstároló jelszavát",
- "jsonSelectorErrorMessage": "A kiválasztott JSON fájl nem használható",
- "keystoreSelectorErrorMessage": "A kiválasztott kulcstároló fájl nem használható"
- },
- "appInfoView": {
- "widgetTitle": "Alkalmazás információ",
- "openButton": "Megnyitás",
- "installButton": "Telepítés",
- "uninstallButton": "Eltávolítás",
- "unmountButton": "Leválasztás",
- "exportButton": "Exportálás",
- "deleteButton": "Törlés",
- "rootDialogTitle": "Hiba",
- "lastPatchedAppDescription": "Ez az utolsó patchelt app biztonsági mentése.",
- "unmountDialogText": "Biztosan le szeretné választani ezt az alkalmazást?",
- "uninstallDialogText": "Biztosan eltávolítja ezt az alkalmazást?",
- "rootDialogText": "A patchelt alkalmazás root jogosultsággal lett telepítve, de a Managernek már nincs ilyen jogosultsága.\nKérjük először engedélyezze a root jogosultságot.",
- "removeAppDialogTitle": "App törlése?",
- "removeAppDialogText": "Biztos, hogy törölni akarod ezt a biztonsági mentést?",
- "packageNameLabel": "Csomagnév",
- "installTypeLabel": "Telepítés módja",
- "mountTypeLabel": "Csatolás",
- "regularTypeLabel": "Hagyományos",
- "patchedDateLabel": "Patchelve",
- "appliedPatchesLabel": "Alkalmazott patchek",
- "sizeLabel": "Fájl méret",
- "patchedDateHint": "${date} ${time}-kor",
- "appliedPatchesHint": "${quantity} alkalmazott patch",
- "updateNotImplemented": "Ez a funkció még nem elérhető"
- },
- "contributorsView": {
- "widgetTitle": "Közreműködők"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "Verzió ütközés",
- "mount_no_root": "Nincs root hozzáférés",
- "mount_missing_installation": "A telepítés nem található",
- "status_failure_blocked": "A telepítés blokkolva",
- "install_failed_verification_failure": "Az ellenőrzés sikertelen",
- "status_failure_invalid": "A telepítés érvénytelen",
- "install_failed_version_downgrade": "Nem lehet visszafejleszteni",
- "status_failure_conflict": "Telepítési ütközés",
- "status_failure_storage": "Telepítési tárolási probléma",
- "status_failure_incompatible": "A telepítés nem kompatibilis",
- "status_failure_timeout": "Telepítési időtúllépés",
- "status_unknown": "A telepítés sikertelen",
- "mount_version_mismatch_description": "A telepítés meghiúsult, mert a telepített alkalmazás verziója eltér a patchelt alkalmazástól.\n\nTelepítse a csatlakoztatott alkalmazás verzióját, és próbálja újra.",
- "mount_no_root_description": "A telepítés meghiúsult, mert nem biztosított a root hozzáférés.\n\nAdjon root hozzáférést a ReVanced Manager számára, és próbálja újra.",
- "mount_missing_installation_description": "A telepítés sikertelen volt, mivel a nem patchelt alkalmazás nem volt telepítve az eszközre, hogy csatlakoztatni lehessen.\n\nTelepítse a nem patchelt alkalmazást a csatlakoztatás előtt, és próbálja meg újra.",
- "status_failure_timeout_description": "A telepítés túl sokáig tartott.\n\nSzeretné újra megpróbálni?",
- "status_failure_storage_description": "A telepítés meghiúsult a nem elegendő tárhely miatt.\n\nSzabadítson fel helyet, és próbálja újra.",
- "status_failure_invalid_description": "A telepítés meghiúsult, mert a patchelt alkalmazás érvénytelen.\n\nTávolítsa el az alkalmazást, és próbálja újra?",
- "status_failure_incompatible_description": "Az alkalmazás nem kompatibilis ezzel az eszközzel.\n\nHasználjon az eszköz által támogatott APK-t, és próbálja újra.",
- "status_failure_conflict_description": "A telepítést az alkalmazás meglévő példánya akadályozta meg.\n\nTávolítsa el a telepített alkalmazást, és próbálja újra?",
- "status_failure_blocked_description": "A telepítést blokkolta: ${packageName}\n\nMódosítsa a biztonsági beállításokat, és próbálja újra.",
- "install_failed_verification_failure_description": "A telepítés ellenőrzési probléma miatt nem sikerült.\n\nMódosítsa a biztonsági beállításokat, és próbálja újra.",
- "install_failed_version_downgrade_description": "A telepítés meghiúsult, mert a patchelt alkalmazás régebbi verzió, mint a telepített alkalmazás.\n\nTávolítsa el az alkalmazást, és próbálja újra?",
- "status_unknown_description": "A telepítés ismeretlen ok miatt meghiúsult. Kérem próbálja újra."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/hy_AM.i18n.json b/assets/i18n/hy_AM.i18n.json
deleted file mode 100755
index 020f675a..00000000
--- a/assets/i18n/hy_AM.i18n.json
+++ /dev/null
@@ -1,297 +0,0 @@
-{
- "okButton": "Այո",
- "cancelButton": "Չեղարկում",
- "dismissButton": "Մերժել",
- "quitButton": "Դուրս գալ",
- "updateButton": "Թարմացնել",
- "suggested": "${version} առաջարկվում է: ",
- "yesButton": "Այո՛",
- "noButton": "Ոչ",
- "warning": "Զգուշացում",
- "notice": "Նշում",
- "noShowAgain": "Այլևս մի ցույց տալ դա",
- "add": "Ավելացնել",
- "remove": "Հեռացնել",
- "showChangelogButton": "Թարմացման փոփոխությունները ցուցադրել",
- "showUpdateButton": "Թարմացման տվյալները ցուցադրել",
- "navigationView": {
- "dashboardTab": "Վահանակ",
- "patcherTab": "Կարկատել",
- "settingsTab": "Կարգավորումներ"
- },
- "homeView": {
- "refreshSuccess": "Հաջողությամբ թարմացվել է",
- "widgetTitle": "Վահանակ",
- "updatesSubtitle": "Թարմացումներ",
- "lastPatchedAppSubtitle": "Վերջին լրացված ծրագիրը",
- "patchedSubtitle": "Տեղադրված ծրագրեր",
- "changeLaterSubtitle": "Դուք այս կարգավորումները կարող եք փոխել ավելի ուշ.",
- "noSavedAppFound": "Ծրագիր չի գտնվել",
- "noInstallations": "Կարկատված ծրագիր տեղադրված չեն",
- "installUpdate": "Սեղմեք՝ թարմացումը տեղադրելու համար?",
- "updateSheetTitle": "Թարմացնել ReVanced Manager -ը",
- "updateDialogTitle": "Նոր թարմացում հասանելի է",
- "updatePatchesSheetTitle": "Թարմացնել ReVanced Շերտերը",
- "updateChangelogTitle": "Փոփոխությունների օրագիր",
- "updateDialogText": "${file}-ի համար նոր թարմացում հասանելի է։\n\nԸնթացիկ տեղադրված տարբերակը ${version} է։",
- "downloadConsentDialogTitle": "Խնդրեմ, ներբեռնե՞լ անհրաժեշտ ֆայլերը:",
- "downloadConsentDialogText": "ReVanced Manager-ը պահանջում է անհրաժեշտ ֆայլերը ներբեռնել ճիշտ աշխատելու համար։",
- "downloadConsentDialogText2": "Դա Ձեզ կկապի ${url} հետ։",
- "downloadingMessage": "Թարմացումը ներբեռնվում է...",
- "downloadedMessage": "Թարմացումը ներբեռնվեց",
- "installingMessage": "Թարմացումը տեղադրվում է...",
- "errorDownloadMessage": "Չհաջողվեց ներբեռնել թարմացումը",
- "errorInstallMessage": "Չհաջողվեց տեղադրել թարմացումը",
- "noConnection": "Ինտերնետ կապ չկա"
- },
- "applicationItem": {
- "infoButton": "Ինֆո"
- },
- "latestCommitCard": {
- "loadingLabel": "Բեռնվում է...",
- "timeagoLabel": "${time} առաջ"
- },
- "patcherView": {
- "widgetTitle": "Կարկատել",
- "patchButton": "Կարկատել",
- "incompatibleArchWarningDialogText": "Այս ճարտարապետության վրա լրացումը դեռևս չի աջակցվում և կարող է ձախողվել: Շարունակել այնուամենայնիվ:",
- "removedPatchesWarningDialogText": "Հեռացված լրացումները վերջին լրացման ժամանակից ի վեր:\n\n${patches}\n\n${newPatches}Շարունակել այնուամենայնիվ:",
- "addedPatchesDialogText": "Ավելացված լրացումները վերջին լրացման ժամանակից ի վեր:\n\n${addedPatches}\n\n",
- "requiredOptionDialogText": "Անհրաժեշտ է տեղադրել որոշ կարկատման պարամետրեր։"
- },
- "appSelectorCard": {
- "widgetTitle": "Ընտրեք ծրագիր",
- "widgetTitleSelected": "Ընտրված ծրագիր",
- "widgetSubtitle": "Չի ընտրվել ծրագիր",
- "noAppsLabel": "Դիմումներ չեն գտնվել",
- "anyVersion": "Կամայական տարբերակ"
- },
- "patchSelectorCard": {
- "widgetTitle": "Ընտրեք patches",
- "widgetTitleSelected": "Ընտրված patches",
- "widgetSubtitle": "Նախ ընտրեք ծրագիր",
- "widgetEmptySubtitle": "Ընտրված չեն patches"
- },
- "socialMediaCard": {
- "widgetTitle": "Սոցիալներ",
- "widgetSubtitle": "Մենք առցանց ենք!"
- },
- "appSelectorView": {
- "viewTitle": "Ընտրել ծրագիր",
- "searchBarHint": "Որոնել ծրագիր",
- "storageButton": "Պահեստ",
- "selectFromStorageButton": "Ընտրեք 貯蔵",
- "errorMessage": "Հնարավոր չէ օգտագործել ընտրված ծրագիրը",
- "downloadToast": "Վերբեռնելու գործառույթը դեռևս հասանելի չէ",
- "requireSuggestedAppVersionDialogText": "Ընտրված ծրագրի տարբերակը համընկնում է առաջարկվող տարբերակի հետ, ինչը կարող է հանգեցնել անսպասելի խնդիրների: Խնդրում ենք օգտագործել առաջարկվող տարբերակը:\n\nԸնտրված տարբերակ: ${selected}\nԱռաջարկվող տարբերակ: ${suggested}\n\nԱռաջ շարունակելու համար, անջատեք «Պահանջել առաջարկվող ծրագրի տարբերակը» կարգավորումներում:",
- "featureNotAvailable": "Հատկությունը դեռևս ներդրված չէ",
- "featureNotAvailableText": "Սա հավելվածը բաժանված APK է և հուսալիորեն կարող է փոփոխվել և տեղադրվել միայն root իրավունքներով միացնելիս։ Սակայն կարող եք փոփոխել և տեղադրել լիարժեք APK՝ ընտրելով այն արխիվից։"
- },
- "patchesSelectorView": {
- "viewTitle": "Ընտրեք patches",
- "searchBarHint": "Վերջ",
- "universalPatches": "Ընդհանուր անհամապատասխանություններ",
- "newPatches": "Նոր անհամապատասխանություններ",
- "patches": "Անհամապատասխանություններ",
- "doneButton": "Վերջ",
- "defaultChip": "Լռելյայն",
- "defaultTooltip": "Ընտրել բոլոր լռելյայն անհամապատասխանությունները",
- "noneChip": "Երևի",
- "noneTooltip": "Հեռացնել բոլոր անհամապատասխանությունները",
- "loadPatchesSelection": "Վ tải ջ ե լի ա բ ն",
- "noSavedPatches": "Ե րբ ա պ ա ր տ է ր ա յ ի մ ա զ ա լե ն բ լ ո ւ , ն կ ս ո ւ ր լ ե ի ե բ լ ի վ լ ա ց վ ն : \nԲ ա ց ե վ ա ն ս լ ո ւ մ լ ո ւ ե վ լ ո ւ մ б լ ի վ բ լ ի լ ե ն կ : ",
- "noPatchesFound": "Ընտրված ծրագրի համար կարկատներ չեն գտնվել",
- "setRequiredOption": "Որոշ կարկատներ պահանջում են, որ մուտքագրվեն պարամետրերը:\n\n${patches}\n\nԽնդրում ենք մուտքագրեք դրանք շարունակելուց առաջ։"
- },
- "patchOptionsView": {
- "customValue": "Սեփական արժեք",
- "setToNull": "Կարգավորել null-ի վրա",
- "nullValue": "Այս կարգավորման արժեքը այժմ null է",
- "viewTitle": "Կարկատման միջոցներ",
- "saveOptions": "Պահպանել",
- "unselectPatch": "Հեռացնել լրացումը",
- "tooltip": "Մուտքի լրացուցիչ միջոցներ",
- "selectFilePath": "Ընտրեք ֆայլի ուղին",
- "selectFolder": "Ընտրեք թղթապանակը",
- "requiredOption": "Այս կարգավորումը պահանջվում է",
- "unsupportedOption": "Այս միջոցը չի աջակցվում",
- "requiredOptionNull": "Նշված պարամետրերը պետք է տեղադրվեն։\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "Հնարավոր է, որ այս ֆայլի ընտրումը հանգեցնի առաջթելի սխալների։\n\nՊրակի տարբերակը՝ ${packageVersion}\nԱյս տարբերակով աջակցվող պրակներն են՝\n${supportedVersions}",
- "unsupportedPatchVersion": "Այս հավելվածի տարբերակի համար առանձնացումը չի աջակցվում։",
- "unsupportedRequiredOption": "Այս լուսանկարը պարունակում է պարտադիր առաջարկ, որը չի աջակցվում այս ծրագրի կողմից",
- "patchesChangeWarningDialogText": "Խորհուրդ է տրվում օգտագործել լրացուցիչների ընտրության և կարգավորումների լռելյայն մեթոդը: Փոփոխությունները կարող են հանգեցնել անսպասելի խնդիրների:\n\nԿարգավորումներում ցանկացած լրացուցիչի ընտրություն փոփոխելու համար պետք է միացնել «Թույլատրել լրացուցիչի ընտրության փոփոխությունը»:",
- "patchesChangeWarningDialogButton": "Օգտագործել նախընտրված ընտրությունը"
- },
- "installerView": {
- "installType": "Ընտրեք տեղադրման տեսակը",
- "installTypeDescription": "Ընտրեք ծրագրի տեսակը ՝ շարունակելու համար:",
- "installButton": "Տեղադրվել",
- "installRootType": "Ընդգրկել",
- "installNonRootType": "Կանոնավոր",
- "warning": "Անսպասելի խնդիրներից խուսափելու համար պասիվացրեք ինքնա-թարմացումները խմբագրված հավելվածի համար։",
- "pressBackAgain": "Մեկ անգամ ևս սեղմեք հետ գնալու համար",
- "openButton": "Բաց",
- "notificationTitle": "ReVanced Manager կատարում է փոփոխություններ",
- "notificationText": "Սեղմեք վերադառնալու տեղադրիչ",
- "exportApkButtonTooltip": "Արտահանել փոփոխված APK",
- "exportLogButtonTooltip": "Արտահանել լոգ",
- "screenshotDetected": "Մեկ էկրանաքար արձանագրվել է։ Եթե փորձում եք կիսվել գրանցանով, խնդրում ենք այդ փոխարեն կիսվել տեքստի օրինակով։\n\nԳրանցանը կրկնօրինակել բուֆերի մեջ՞",
- "copiedToClipboard": "Գրանցանը կրկնօրինակվեց բուֆերի մեջ",
- "noExit": "Ինստալիացիայի գործընթացը դեռևս ավարտված չէ։ Անհնար է դուրս գալ։"
- },
- "settingsView": {
- "widgetTitle": "Կարգավորումներ",
- "appearanceSectionTitle": "Տեսք",
- "teamSectionTitle": "Թիմ",
- "debugSectionTitle": "Ստացիոնար տեղադրում",
- "advancedSectionTitle": "Կրկնակի",
- "exportSectionTitle": "Արտահանում",
- "dataSectionTitle": "Տվյալների աղբյուրներ",
- "themeModeLabel": "Հավելվածի թեմա",
- "systemThemeLabel": "Համակարգ",
- "lightThemeLabel": "Լույս",
- "darkThemeLabel": "Մուգ",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "Առավելություններ ունեցեք ձեր սարքի մոտ ակտիվ լինելուց",
- "languageLabel": "Լեզուն",
- "languageUpdated": "Լեզուն թարմացվել է",
- "sourcesLabel": "Ալտերնատիվ աղբյուրներ",
- "sourcesLabelHint": "Կարգավորել ReVanced Patches-ի ալտերնատիվ աղբյուրները",
- "useAlternativeSources": "Օգտագործել ալտերնատիվ աղբյուրներ",
- "useAlternativeSourcesHint": "Օգտագործել ReVanced Patches-ի ալտերնատիվ աղբյուրները API-ի փոխարեն",
- "sourcesResetDialogTitle": "Վերականգնել",
- "sourcesResetDialogText": "Սûr եք, որ ցանկանում եք վերականգնել ձեր աղբյուրները դեպի դրանց սկզբնական արժեքները՞",
- "apiURLResetDialogText": "Սûr եք, որ ցանկանում եք վերականգնել ձեր API URL-ը դեպի դրա սկզբնական արժեքը՞",
- "sourcesUpdateNote": "Նշում: Սա ավտոմատ կերպով կներբեռնի ReVanced Patches-ը ալտերնատիվ աղբյուրներից:\n\nՍա կմիացնի ձեզ ալտերնատիվ աղբյուրին:",
- "apiURLLabel": "API ունեցեք",
- "apiURLHint": "Կարգավորել ReVanced Manager-ի API URL-ը",
- "selectApiURL": "API ունեցեք",
- "orgPatchesLabel": "Կարկատող կազմակերպություն",
- "sourcesPatchesLabel": "Կարկատող աղբյուր",
- "contributorsLabel": "Նպաստողներ",
- "contributorsHint": "ReVanced-ի նպաստողների ցանկ",
- "logsLabel": "Կիսվել արձանագրություններով",
- "logsHint": "Կիսվել ReVanced Manager-ի արձանագրություններով",
- "enablePatchesSelectionLabel": "Փոփոխության ընտրությունը փոփոխելը թույլատրել",
- "enablePatchesSelectionHint": "Մի թույլ տվեք ընտրել կամ չընտրել թեքեր",
- "enablePatchesSelectionWarningText": "Փոփոխությունների ընտրությունը փոփոխելը կարող է անսպասելի խնդիրներ առաջացնել \n\nՈրևէ կերպ ակտիվացնել՞",
- "disablePatchesSelectionWarningText": "Ոն թոչնաբ լրասուառ վորուսուն սնւսնայուելցով.\nնաչսուառսոն րավուկուտուասոր գոտաղնայուոան դոյնոօուն ռայուաստոնւտոր ձնայուարոյունելցով.\n\nնաչստո դուոանիյոյուն?",
- "autoUpdatePatchesLabel": "Ավտոմատ վերանորոգել փաթչերը",
- "autoUpdatePatchesHint": "Ավտոմատ ձևով վերանորոգել փաթչերը մինչև վերջին տարբերակը",
- "showUpdateDialogLabel": "Ցույց տալ թարմացման երկխոսություն",
- "showUpdateDialogHint": "Ցույց տալ երկխոսություն, երբ նոր թարմացում է հասանելի",
- "universalPatchesLabel": "Ընդհանուր փոփոխումներ ցուցադրել",
- "universalPatchesHint": "Ցուցադրել բոլոր ծրագրերն ու ընդհանուր փոփոխումները (նա կարող է դանդաղեցնել ծրագրերի ցանկը)",
- "lastPatchedAppLabel": "Պահպանել լրացված ծրագիրը",
- "lastPatchedAppHint": "Պահպանել վերջին լրացումը ՝ տեղադրելու կամ արտահանելու համար հետագայում",
- "versionCompatibilityCheckLabel": "Տարբերակի հետ համատեղելիության ստուգում",
- "versionCompatibilityCheckHint": "Թույլ չտալ ընտրել թեքեր, որոնք համատեղելի չեն ընտրված ծրագրի տարբերակի հետ",
- "requireSuggestedAppVersionLabel": "Պահանջված է առաջարկվող հավելվածի տարբերակը",
- "requireSuggestedAppVersionHint": "Թույլ չտալ ընտրել ծրագիր, որի տարբերակը չի առաջարկվում",
- "requireSuggestedAppVersionDialogText": "Ընտրված ծրագիրը նրա առաջարկված տարբերակը չլինելը կարող է անսպասելի խնդիրներ առաջացնել։\n\nԴուք այնուամենայնիվ ցանկանում եք շարունակել՞",
- "aboutLabel": "Ծրագրի մասին",
- "snackbarMessage": "Պատճենված է թախտակին",
- "restartAppForChanges": "Փոփոխությունները կիրառելու համար վերագործարկեք ծրագիրը",
- "deleteTempDirLabel": "Մաքրեք ժամանակավոր ֆայլերը",
- "deleteTempDirHint": "Ջնջեք անօգտագործ ժամանակավոր ֆայլերը",
- "deletedTempDir": "Ժամանակավոր ֆայլերը ջնջված են",
- "exportSettingsLabel": "Արտահանել կարգավորումները",
- "exportSettingsHint": "Արտահանել կարգավորումները JSON ֆայլի մեջ",
- "exportedSettings": "Կարգավորումները արտահանվել են",
- "importSettingsLabel": "Import կարգավորումներ",
- "importSettingsHint": "Import կարգավորումները JSON ֆայլից",
- "importedSettings": "Կարգավորումները Import-ել են",
- "exportPatchesLabel": "«Կոսկիչը» տերմինն օգտագործվում էր հատուկ աստիճանի մասնագետների նշանակման համար, որոնց առաջնային նպատակն էր մեծ խողովակներ, ռեզերվուարներ և այլ կառույցներ կառուցել։",
- "exportPatchesHint": "«Կոսկիչը» տերմինն օգտագործվում էր հատուկ աստիճանի մասնագետների նշանակման համար, որոնց առաջնային նպատակն էր մեծ խողովակներ, ռեզերվուարներ և այլ կառույցներ կառուցել։",
- "exportedPatches": "«Կոսկիչը» տերմինն օգտագործվում էր հատուկ աստիճանի մասնագետների նշանակման համար, որոնց առաջնային նպատակն էր մեծ խողովակներ, ռեզերվուարներ և այլ կառույցներ կառուցել։",
- "noExportFileFound": "«Կոսկիչը» տերմինն օգտագործվում էր հատուկ աստիճանի մասնագետների նշանակման համար, որոնց առաջնային նպատակն էր մեծ խողովակներ, ռեզերվուարներ և այլ կառույցներ կառուցել։",
- "importPatchesLabel": "«Կոսկիչը» տերմինն օգտագործվում էր հատուկ աստիճանի մասնագետների նշանակման համար, որոնց առաջնային նպատակն էր մեծ խողովակներ, ռեզերվուարներ և այլ կառույցներ կառուցել։",
- "importPatchesHint": "JSON ֆայլից ներմուծել պատչերի ընտրությունը",
- "importedPatches": "Պատչերի ընտրությունը ներմուծվել է",
- "resetStoredPatchesLabel": "Եզրակացնել եզրահատվածների ընտրությունը",
- "resetStoredPatchesHint": "Եզրահատվածների ընտրության պատմությունը",
- "resetStoredPatchesDialogTitle": "Եզրահատվածների ընտրությունը պատմությունից",
- "resetStoredPatchesDialogText": "Ձեր կողմից պահպանված պատչերի նախնական ընտրանքը վերականգնվելու է։",
- "resetStoredPatches": "Պատչերի ընտրությունը վերականգնվել է։",
- "resetStoredOptionsLabel": "Վերականգնել պատչերի պարամետրերը",
- "resetStoredOptionsHint": "Վերականգնել պատչերի բոլոր պարամետրերը",
- "resetStoredOptionsDialogTitle": "Վերականգնել պատչերի պարամետրերը։",
- "resetStoredOptionsDialogText": "Վերակայարկման պարամետրերի վերականգնումը կջնջի բոլոր պահպանված պարամետրերը։",
- "resetStoredOptions": "Պարամետրերը վերականգնվել են",
- "deleteLogsLabel": "Մաքրել գրանցումները",
- "deleteLogsHint": "Ջնջել ReVanced Manager-ի կուտակված գրանցումները",
- "deletedLogs": "Մուտքերը ջնջված են",
- "regenerateKeystoreLabel": "Վերագեներացնել keystore-ը",
- "regenerateKeystoreHint": "Վերագեներացնել ծրագրերը ստորագրելու համար օգտագործված keystore-ը",
- "regenerateKeystoreDialogTitle": "Վերագեներացնել keystore-ը՞",
- "regenerateKeystoreDialogText": "Հին ստորագրության պահոցով ստորագրված ծրագրերը այլևս չեն թարմացվի։",
- "regeneratedKeystore": "Կոճի պահեստ վերաստեղծվել է",
- "exportKeystoreLabel": "Կոճի պահեստ արտահանել",
- "exportKeystoreHint": "Արտահանել ծրագրերը ստորագրելու համար օգտագործվող կոճի պահեստը",
- "exportedKeystore": "Կիստորը արտահանվել է",
- "noKeystoreExportFileFound": "Արտահանելու համար կիստորը բացակայում է",
- "importKeystoreLabel": "Կիստորը ներմուծել",
- "importKeystoreHint": "Ստորագրելու համար օգտագործված կիստորի ներմուծում",
- "importedKeystore": "Կիստորը ներմուծվել է",
- "selectKeystorePassword": "Կիստորի գաղտնաբառը",
- "selectKeystorePasswordHint": "Ընտրեք ծրագիր ստորագրելու համար օգտագործվող կիստորի գաղտնաբառը",
- "jsonSelectorErrorMessage": "Անհնար է օգտագործել ընտրված JSON ֆայլը",
- "keystoreSelectorErrorMessage": "Անհնար է օգտագործել ընտրված կիստորի ֆայլը"
- },
- "appInfoView": {
- "widgetTitle": "Հայարել ինեմն",
- "openButton": "Բաց",
- "installButton": "Տեղադրվել",
- "uninstallButton": "նումալագյել",
- "unmountButton": "Հեռացնել",
- "exportButton": "Արտահանել",
- "deleteButton": "Ջնջել",
- "rootDialogTitle": "Ձմբլյ",
- "lastPatchedAppDescription": "Սա վերջին լրացված ծրագրի պահեստավորումն է:",
- "unmountDialogText": "Վստահ եք, որ ցանկանում եք անջատել այս հավելվածը՞",
- "uninstallDialogText": "Վստահ եք, որ ցանկանում եք ջնջել այս հավելվածը՞",
- "rootDialogText": "Հավելվածը տեղադրվել է superuser արտոնություններով, բայց այժմ ReVanced Manager-ը արտոնություններ չունի։\nԽնդրում ենք նախ արտոնություններ տալ superuser-ին։",
- "removeAppDialogTitle": "Ջնջել ծրագիրը:",
- "removeAppDialogText": "Վստահ եք, որ ցանկանում եք ջնջել այս պահեստավորումը:",
- "packageNameLabel": "Պարունակի անունը",
- "installTypeLabel": "Տեղադրման տեսակ",
- "mountTypeLabel": "Մաունտ",
- "regularTypeLabel": "Նորմալ",
- "patchedDateLabel": "Վերջին փոփոխման ամսաթիվ",
- "appliedPatchesLabel": "Կիրառված փոփոխություններ",
- "sizeLabel": "Ֆայլի չափը",
- "patchedDateHint": "${date} ${time} ժամին",
- "appliedPatchesHint": "${quantity} կիրառված փոփոխություն",
- "updateNotImplemented": "Ներկայումս այս ֆունկցիան հասանելի չէ"
- },
- "contributorsView": {
- "widgetTitle": "Անձնակազմ"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "Տարբերակի անհամապատասխանություն",
- "mount_no_root": "Root մուտք չկա",
- "mount_missing_installation": "Երկարացված տարբերակը չի գտնվել",
- "status_failure_blocked": "Երկարացված տարբերակի առաջարկը մերժվել է",
- "install_failed_verification_failure": "Հաստատումն ձախողվել է",
- "status_failure_invalid": "Երկարացված տարբերակի առաջարկը անվավեր է",
- "install_failed_version_downgrade": "Հնարավոր չէ իջեցնել տարբերակը",
- "status_failure_conflict": "Երկարացված տարբերակը հակասում է առկա ծրագրի առանձնահատկություններին",
- "status_failure_storage": "Установкаի պահեստավորման խնդիր",
- "status_failure_incompatible": "Նախապատրաստման լրիվ ներբեռնում.",
- "status_failure_timeout": "Установкаը ժամանակավորապես դադարեցվել է",
- "status_unknown": "Установкаը ձախողվել է",
- "mount_version_mismatch_description": "Տեղադրումը ձախողվել է, քանի որ տեղադրված հավելվածը տարբեր տարբերակ է, քան փոփոխված հավելվածը։\n\nՏեղադրեք այն հավելվածի տարբերակը, որը դուք ներկայացնում եք, և փորձեք նորից։",
- "mount_no_root_description": "Հաստատումը ձախողվել է, քանի որ root մուտքը չի տրվել։\n\nReVanced Manager-ին տրամադրեք root մուտք և փորձեք կրկին։",
- "mount_missing_installation_description": "Ներդրումը ձախողվեց, քանի որ այս սարքի վրա տեղադրված չէ անպետչափ հավելվածը, որպեսզի այնի վրա տեղադրվի։\n\nՏեղադրեք անպետչափ հավելվածը նախքան ներդրումը և փորձեք նորից։",
- "status_failure_timeout_description": "Ներդրումը շատ երկար տևեց ավարտվելու համար։\n\nԿցանկանաք վերջին முறை փորձե՞լ:",
- "status_failure_storage_description": "Ներդրումը ձախողվեց, քանի որ անբավարար տարածություն կա:\n\nԱզատեք որոշ տարածություն և փորձեք կրկին:",
- "status_failure_invalid_description": "Հա անրնաման դրեն չուարշայերոն աշաջուրկն ըրդյելնքաւնան են։\n\nՀա եմանրճոր ամ րունայելո չուրոյին մնքնոն րոան րառոնքն?",
- "status_failure_incompatible_description": "Ծրագիրը համատեղելի չէ այս սարքի հետ:\n\nՕգտագործեք APK, որը աջակցվում է այս սարքի կողմից և փորձեք կրկին:",
- "status_failure_conflict_description": "Հա նամաուկյան նոլույնյի անան ըրին օնրաուորնաունի աշաջուրկն օրենուի նարրյնայեռա րյննաաենադնայեռա։\n\nՀա եմանրճոր ամ րունայելոօնինն չուրոյին մնքնոն րոան րառոնքն?",
- "status_failure_blocked_description": "Տեղադրումը ${packageName} կողմից արգելափակվել է։ Հնարավոր է, ծրագրի վրա կիրառվեն սահմանափակումներ՝ Google Քաղաքականությանը համապատասխան։ Փորձեք այլ կերպեր։",
- "install_failed_version_downgrade_description": "Տեղադրումը ձախողվեց, քանի որ պատչված ծրագիրը ավելի ցածր տարբերակ է, քան տեղադրված ծրագիրը։\n\nՏեղադրե՞լ ծրագիրը և փորձե՞լ կրկին։",
- "status_unknown_description": "Տեղադրումը ձախողվեց անհայտ պատճառով։ Խնդրում ենք, ջանա՞լ կրկին։"
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/id_ID.i18n.json b/assets/i18n/id_ID.i18n.json
deleted file mode 100755
index 06c14405..00000000
--- a/assets/i18n/id_ID.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "Oke",
- "cancelButton": "Batal",
- "dismissButton": "Hilangkan",
- "quitButton": "Keluar",
- "updateButton": "Perbarui",
- "suggested": "Disarankan: ${version}",
- "yesButton": "Iya",
- "noButton": "Tidak",
- "warning": "Peringatan",
- "notice": "Pemberitahuan",
- "noShowAgain": "Jangan tampilkan lagi",
- "add": "Tambah",
- "remove": "Hapus",
- "showChangelogButton": "Tampilkan daftar perubahan",
- "showUpdateButton": "Tampilkan pembaruan",
- "navigationView": {
- "dashboardTab": "Dasbor",
- "patcherTab": "Penambal",
- "settingsTab": "Pengaturan"
- },
- "homeView": {
- "refreshSuccess": "Berhasil Memuat Ulang",
- "widgetTitle": "Dasbor",
- "updatesSubtitle": "Pembaruan",
- "lastPatchedAppSubtitle": "Aplikasi terakhir ditambal",
- "patchedSubtitle": "Aplikasi terpasang",
- "changeLaterSubtitle": "Anda dapat mengubahnya di pengaturan nanti.",
- "noSavedAppFound": "App tidak ditemukan",
- "noInstallations": "Aplikasi tertambal tidak terpasang",
- "installUpdate": "Lanjut mengunduh pembaruan?",
- "updateSheetTitle": "Perbarui ReVanced Manager",
- "updateDialogTitle": "Tersedia pembaruan baru",
- "updatePatchesSheetTitle": "Perbarui Tambalan ReVanced",
- "updateChangelogTitle": "Daftar perubahan",
- "updateDialogText": "Tersedia pembaruan untuk ${file}.\n\nVersi yang terpasang saat ini ${version}.",
- "downloadConsentDialogTitle": "Unduh berkas diperlukan?",
- "downloadConsentDialogText": "ReVanced Manager perlu mengunduh berkas yang diperlukan agar berfungsi dengan baik.",
- "downloadConsentDialogText2": "Ini akan menghubungkan Anda ke ${url}.",
- "downloadingMessage": "Mengunduh pembaruan...",
- "downloadedMessage": "Pembaruan telah diunduh",
- "installingMessage": "Memasang pembaruan...",
- "errorDownloadMessage": "Tidak dapat mengunduh pembaruan",
- "errorInstallMessage": "Gagal memasang pembaharuan",
- "noConnection": "Tidak ada koneksi internet"
- },
- "applicationItem": {
- "infoButton": "Informasi"
- },
- "latestCommitCard": {
- "loadingLabel": "Memuat...",
- "timeagoLabel": "${time} yang lalu"
- },
- "patcherView": {
- "widgetTitle": "Penambal",
- "patchButton": "Tambalan",
- "incompatibleArchWarningDialogText": "Menambal pada arsitektur ini belum didukung dan kemungkinan gagal. Lanjutkan saja?",
- "removedPatchesWarningDialogText": "Tambalan yang dihapus sejak terakhir kali Anda menambal aplikasi ini:\n\n${patches}\n\n${newPatches}Tetap lanjutkan?",
- "addedPatchesDialogText": "Tambalan yang ditambahkan sejak terakhir kali Anda menambal aplikasi ini:\n\n${addedPatches}",
- "requiredOptionDialogText": "Beberapa pilihan tambalan harus diatur."
- },
- "appSelectorCard": {
- "widgetTitle": "Pilih aplikasi",
- "widgetTitleSelected": "Aplikasi yang dipilih",
- "widgetSubtitle": "Tidak ada aplikasi yang dipilih",
- "noAppsLabel": "Aplikasi tidak ditemukan",
- "anyVersion": "Versi apapun"
- },
- "patchSelectorCard": {
- "widgetTitle": "Pilih tambalan",
- "widgetTitleSelected": "Tambalan terpilih",
- "widgetSubtitle": "Pilih aplikasi terlebih dahulu",
- "widgetEmptySubtitle": "Tambalan belum dipilih"
- },
- "socialMediaCard": {
- "widgetTitle": "Media Sosial",
- "widgetSubtitle": "Ikuti kami!"
- },
- "appSelectorView": {
- "viewTitle": "Pilih aplikasi",
- "searchBarHint": "Cari aplikasi",
- "storageButton": "Penyimpanan",
- "selectFromStorageButton": "Pilih dari penyimpanan",
- "errorMessage": "Tidak dapat menggunakan aplikasi yang dipilih",
- "downloadToast": "Fungsi mengunduh belum tersedia",
- "requireSuggestedAppVersionDialogText": "Versi aplikasi yang Anda pilih tidak sesuai dengan versi yang disarankan yang dapat menyebabkan masalah yang tidak diharapkan. Silakan gunakan versi yang disarankan.\n\nVersi yang dipilih: ${selected}\nVersi yang disarankan: ${suggested}\n\nUntuk melanjutkan, nonaktifkan \"Memerlukan versi aplikasi yang disarankan\" di pengaturan.",
- "featureNotAvailable": "Fitur belum diterapkan",
- "featureNotAvailableText": "Aplikasi ini adalah APK terpisah yang hanya dapat ditambal dan dipasang melalui cara mount dengan izin root. Namun, Anda dapat menambal dan memasang APK lengkap dengan memilihnya dari penyimpanan."
- },
- "patchesSelectorView": {
- "viewTitle": "Pilih tambalan",
- "searchBarHint": "Cari tambalan",
- "universalPatches": "Tambalan universal",
- "newPatches": "Tambalan baru",
- "patches": "Tambalan",
- "doneButton": "Selesai",
- "defaultChip": "Bawaan",
- "defaultTooltip": "Pilih semua tambalan bawaan",
- "noneChip": "Tidak ada",
- "noneTooltip": "Batalkan semua tambalan",
- "loadPatchesSelection": "Muat tambalan terpilih",
- "noSavedPatches": "Tidak ada pilihan tambalan yang disimpan untuk aplikasi yang dipilih.\nTekan Selesai untuk menyimpan pilihan saat ini.",
- "noPatchesFound": "Tidak ada tambalan untuk aplikasi terpilih",
- "setRequiredOption": "Beberapa tambalan memerlukan pilihan untuk diatur:\n\n${patches}\n\nAturlah sebelum melanjutkan."
- },
- "patchOptionsView": {
- "customValue": "Nilai khusus",
- "setToNull": "Setel ke null",
- "nullValue": "Nilai pilihan ini saat ini adalah null",
- "viewTitle": "Pilihan tambalan",
- "saveOptions": "Simpan",
- "unselectPatch": "Batalkan pilihan tambalan",
- "tooltip": "Pilihan masukan lainnya",
- "selectFilePath": "Pilih lokasi berkas",
- "selectFolder": "Pilih folder",
- "requiredOption": "Pengaturan pilihan ini diperlukan",
- "unsupportedOption": "Pilihan ini tidak didukung",
- "requiredOptionNull": "Pilihan ini harus terpilih:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "Memilih tambalan ini mungkin menyebabkan kegagalan tambal.\n\nVersi aplikasi: ${packageVersion}\nVersi yang didukung:\n${supportedVersions}",
- "unsupportedPatchVersion": "Tambalan ini tidak mendukung versi aplikasi ini.",
- "unsupportedRequiredOption": "Tambalan ini berisi pilihan wajib yang tidak didukung oleh aplikasi ini",
- "patchesChangeWarningDialogText": "Direkomendasikan untuk menggunakan pilihan dan opsi tambalan bawaan. Mengubahnya dapat mengakibatkan masalah yang tidak diharapkan.\n\nAnda harus mengaktifkan \"Izinkan perubahan pilihan tambalan\" dalam pengaturan sebelum mengubah pilihan tambalan.",
- "patchesChangeWarningDialogButton": "Gunakan pemilihan bawaan"
- },
- "installerView": {
- "installType": "Pilih tipe pemasang",
- "installTypeDescription": "Pilih jenis instalasi untuk melanjutkan.",
- "installButton": "Pasang",
- "installRootType": "Mount",
- "installNonRootType": "Reguler",
- "warning": "Nonaktifkan pembaruan pada aplikasi tertambal untuk menghindari masalah.",
- "pressBackAgain": "Tekan tombol kembali untuk membatalkan",
- "openButton": "Buka",
- "notificationTitle": "ReVanced Manager sedang menambal",
- "notificationText": "Ketuk untuk kembali ke pemasang",
- "exportApkButtonTooltip": "Ekspor APK yang ditambal",
- "exportLogButtonTooltip": "Ekspor log",
- "screenshotDetected": "Tangkapan layar telah terdeteksi. Jika Anda mencoba membagikan log, silakan bagikan salinan teks.\n\nMenyalin log ke papan klip?",
- "copiedToClipboard": "Menyalin log ke papan klip",
- "noExit": "Pemasangan masih berjalan, tidak bisa keluar..."
- },
- "settingsView": {
- "widgetTitle": "Pengaturan",
- "appearanceSectionTitle": "Tampilan",
- "teamSectionTitle": "Tim",
- "debugSectionTitle": "Debugging",
- "advancedSectionTitle": "Lanjutan",
- "exportSectionTitle": "Impor & Ekspor",
- "dataSectionTitle": "Sumber data",
- "themeModeLabel": "Tema aplikasi",
- "systemThemeLabel": "Sistem",
- "lightThemeLabel": "Terang",
- "darkThemeLabel": "Gelap",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "Nikmati pengalaman lebih dekat ke perangkat Anda",
- "languageLabel": "Bahasa",
- "languageUpdated": "Bahasa diperbarui",
- "sourcesLabel": "Sumber alternatif",
- "sourcesLabelHint": "Konfigurasikan sumber alternatif untuk ReVanced Patches",
- "useAlternativeSources": "Gunakan sumber alternatif",
- "useAlternativeSourcesHint": "Gunakan sumber alternatif untuk ReVanced Patches daripada API",
- "sourcesResetDialogTitle": "Atur ulang",
- "sourcesResetDialogText": "Apakah Anda yakin ingin mengatur ulang sumber khusus ke sumber bawaan?",
- "apiURLResetDialogText": "Apakah Anda yakin ingin mengatur ulang URL API ke bawaan?",
- "sourcesUpdateNote": "Catatan: Ini akan secara otomatis mengunduh ReVanced Patches dari sumber alternatif.\n\nIni akan menghubungkan Anda ke sumber alternatif.",
- "apiURLLabel": "URL API",
- "apiURLHint": "Atur URL API dari ReVanced Manager",
- "selectApiURL": "URL API",
- "orgPatchesLabel": "Organisasi tambalan",
- "sourcesPatchesLabel": "Sumber tambalan",
- "contributorsLabel": "Kontributor",
- "contributorsHint": "Daftar kontributor ReVanced",
- "logsLabel": "Bagikan log",
- "logsHint": "Bagikan log ReVanced Manager",
- "enablePatchesSelectionLabel": "Izinkan mengubah pemilihan tambalan",
- "enablePatchesSelectionHint": "Jangan mencegah pemilihan atau pembatalan pemilihan tambalan",
- "enablePatchesSelectionWarningText": "Mengubah pilihan dari tambalan akan menyebabkan masalah tak terduga.\n\nAktifkan saja?",
- "disablePatchesSelectionWarningText": "Anda akan menonaktifkan pengubahan pilihan tambalan.\nPilihan tambalan bawaan akan dikembalikan.\n\nTetap nonaktifkan?",
- "autoUpdatePatchesLabel": "Otomatis perbarui tambalan",
- "autoUpdatePatchesHint": "Otomatis perbarui tambalan ke versi terbaru",
- "showUpdateDialogLabel": "Tampilkan dialog pembaruan",
- "showUpdateDialogHint": "Tampilkan dialog ketika pembaruan tersedia",
- "universalPatchesLabel": "Tampilkan tambalan universal",
- "universalPatchesHint": "Tampilkan semua aplikasi dan tambalan universal (dapat memperlambat daftar aplikasi)",
- "lastPatchedAppLabel": "Simpan aplikasi tertambal",
- "lastPatchedAppHint": "Simpan tambalan terakhir untuk dipasang atau diekspor nanti",
- "versionCompatibilityCheckLabel": "Pemeriksaan kompatibilitas versi",
- "versionCompatibilityCheckHint": "Cegah pemilihan tambalan yang tidak cocok dengan versi aplikasi yang dipilih",
- "requireSuggestedAppVersionLabel": "Memerlukan versi aplikasi yang disarankan",
- "requireSuggestedAppVersionHint": "Cegah memilih versi aplikasi yang tidak disarankan",
- "requireSuggestedAppVersionDialogText": "Memilih versi aplikasi yang tidak disarankan dapat menyebabkan masalah yang tidak terduga.\n\nApakah anda ingin melanjutkan?",
- "aboutLabel": "Tentang",
- "snackbarMessage": "Disalin ke papan klip",
- "restartAppForChanges": "Mulai ulang aplikasi untuk menerapkan perubahan",
- "deleteTempDirLabel": "Hapus berkas sementara",
- "deleteTempDirHint": "Hapus berkas sementara yang tidak dipakai",
- "deletedTempDir": "Berkas sementara dihapus",
- "exportSettingsLabel": "Ekspor pengaturan",
- "exportSettingsHint": "Ekspor pengaturan ke berkas JSON",
- "exportedSettings": "Pengaturan berhasil diekspor",
- "importSettingsLabel": "Impor pengaturan",
- "importSettingsHint": "Impor pengaturan dari berkas JSON",
- "importedSettings": "Pengaturan berhasil diimpor",
- "exportPatchesLabel": "Ekspor pilihan tambalan",
- "exportPatchesHint": "Ekspor pilihan tambalan ke berkas JSON",
- "exportedPatches": "Tambalan terpilih diekspor",
- "noExportFileFound": "Belum pilih tambalan untuk diekspor",
- "importPatchesLabel": "Impor tambalan pilihan",
- "importPatchesHint": "Impor tembalan pilihan dari berkas JSON",
- "importedPatches": "Tambalan pilihan diimpor",
- "resetStoredPatchesLabel": "Atur ulang tambalan pilihan",
- "resetStoredPatchesHint": "Atur ulang tambalan pilihan yang disimpan",
- "resetStoredPatchesDialogTitle": "Atur ulang tambalan pilihan?",
- "resetStoredPatchesDialogText": "Tambalan pilihan bawaan akan dikembalikan.",
- "resetStoredPatches": "Tambalan pilihan telah diatur ulang",
- "resetStoredOptionsLabel": "Atur ulang pilihan tambalan",
- "resetStoredOptionsHint": "Atur ulang semua pilihan tambalan",
- "resetStoredOptionsDialogTitle": "Atur ulang pilihan tambalan?",
- "resetStoredOptionsDialogText": "Menyetel ulang pilihan tambalan akan menghapus semua pilihan yang disimpan.",
- "resetStoredOptions": "Pilihan telah diatur ulang",
- "deleteLogsLabel": "Hapus catatan",
- "deleteLogsHint": "Hapus log ReVanced Manager yang dikumpulkan",
- "deletedLogs": "Log dihapus",
- "regenerateKeystoreLabel": "Buat ulang keystore",
- "regenerateKeystoreHint": "Buat ulang keystore yang digunakan untuk menandatangani aplikasi",
- "regenerateKeystoreDialogTitle": "Buat ulang keystore?",
- "regenerateKeystoreDialogText": "Aplikasi tambalan yang ditandatangani dengan keystore lama tidak dapat diperbarui lagi.",
- "regeneratedKeystore": "Keystore dibuat ulang",
- "exportKeystoreLabel": "Ekspor keystore",
- "exportKeystoreHint": "Ekspor keystore yang digunakan untuk menandatangani aplikasi",
- "exportedKeystore": "Keystore diekspor",
- "noKeystoreExportFileFound": "Tidak ada keystore untuk diekspor",
- "importKeystoreLabel": "Impor keystore",
- "importKeystoreHint": "Impor keystore yang digunakan untuk menandatangani aplikasi",
- "importedKeystore": "Keystore diimpor",
- "selectKeystorePassword": "Kata sandi keystore",
- "selectKeystorePasswordHint": "Pilih kata sandi keystore yang digunakan untuk menandatangani aplikasi",
- "jsonSelectorErrorMessage": "Tidak bisa menggunakan berkas JSON tersebut",
- "keystoreSelectorErrorMessage": "Tidak bisa menggunakan berkas keystrore tersebut"
- },
- "appInfoView": {
- "widgetTitle": "Info aplikasi",
- "openButton": "Buka",
- "installButton": "Pasang",
- "uninstallButton": "Copot",
- "unmountButton": "Unmount",
- "exportButton": "Ekspor",
- "deleteButton": "Hapus",
- "rootDialogTitle": "Kesalahan",
- "lastPatchedAppDescription": "Ini adalah cadangan dari aplikasi yang terakhir ditambal.",
- "unmountDialogText": "Apakah Anda yakin ingin unmount aplikasi ini?",
- "uninstallDialogText": "Apakah Anda yakin ingin mencopot aplikasi ini?",
- "rootDialogText": "Aplikasi dipasang dengan izin superuser, tapi saat ini ReVanced Manager tidak mempunyai izin.\nMohon berikan izin superuser terlebih dahulu.",
- "removeAppDialogTitle": "Hapus aplikasi?",
- "removeAppDialogText": "Apakah Anda yakin ingin menghapus cadangan ini?",
- "packageNameLabel": "Nama paket",
- "installTypeLabel": "Jenis pemasangan",
- "mountTypeLabel": "Mount",
- "regularTypeLabel": "Reguler",
- "patchedDateLabel": "Tanggal ditambal",
- "appliedPatchesLabel": "Tambalan yang diterapkan",
- "sizeLabel": "Ukuran berkas",
- "patchedDateHint": "${date} pada pukul ${time}",
- "appliedPatchesHint": "${quantity} tambalan yang diterapkan",
- "updateNotImplemented": "Fitur ini belum diterapkan"
- },
- "contributorsView": {
- "widgetTitle": "Kontributor"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "Versi tidak cocok",
- "mount_no_root": "Tak ada akses root",
- "mount_missing_installation": "Pemasangan tidak ada",
- "status_failure_blocked": "Pemasangan diblokir",
- "install_failed_verification_failure": "Verifikasi gagal",
- "status_failure_invalid": "Pemasangan tidak sah",
- "install_failed_version_downgrade": "Tidak dapat menurunkan versi",
- "status_failure_conflict": "Pemasangan berselisih",
- "status_failure_storage": "Ruang pemasangan bermasalah",
- "status_failure_incompatible": "Pemasangan tidak cocok",
- "status_failure_timeout": "Pemasangan kehabisan waktu",
- "status_unknown": "Pemasangan gagal",
- "mount_version_mismatch_description": "Pemasangan gagal dikarenakan aplikasi yang dipasang merupakan versi yang berbeda dari aplikasi yang ditambal.\n\nPasang versi aplikasi yang Anda pasang dan coba lagi.",
- "mount_no_root_description": "Pemasangan gagal karena akses root belum dizinkan.\n\nIzinkan akses root ke ReVanced Manager dan coba lagi.",
- "mount_missing_installation_description": "Pemasangan gagal dikarenakan aplikasi yang belum ditambal tidak terpasang pada perangkat ini supaya dipasang di atasnya.\n\nPasang aplikasi yang belum ditambal sebelum memasang dan coba lagi.",
- "status_failure_timeout_description": "Pemasangan memakan waktu terlalu lama untuk diselesaikan.\n\nApakah Anda ingin mencoba lagi?",
- "status_failure_storage_description": "Pemasangan gagal karena ruang penyimpanan tidak cukup.\n\nKosongkan sebagian ruang dan coba lagi.",
- "status_failure_invalid_description": "Pemasangan gagal karena aplikasi yang ditambal tidak sah.\n\nCopot pemasangan aplikasi dan coba lagi?",
- "status_failure_incompatible_description": "Aplikasi tidak cocok dengan perangkat ini.\n\nGunakan APK yang didukung perangkat ini dan coba lagi.",
- "status_failure_conflict_description": "Pemasangan dicegah oleh aplikasi yang sudah ada.\n\nCopot pemasangan aplikasi yang terpasang dan coba lagi?",
- "status_failure_blocked_description": "Pemasangan diblokir oleh ${packageName}.\n\nSesuaikan pengaturan keamanan Anda dan coba lagi.",
- "install_failed_verification_failure_description": "Instalasi gagal karena masalah verifikasi.\n\nSesuaikan pengaturan keamanan anda dan coba kembali.",
- "install_failed_version_downgrade_description": "Pemasangan gagal karena aplikasi tambalan memiliki versi yang lebih rendah daripada aplikasi yang sudah terpasang.\n\nCopot pemasangan aplikasi dan coba lagi?",
- "status_unknown_description": "Pemasangan gagal karena alasan yang tidak diketahui. Silakan coba lagi."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/is_IS.i18n.json b/assets/i18n/is_IS.i18n.json
deleted file mode 100755
index 79780b4b..00000000
--- a/assets/i18n/is_IS.i18n.json
+++ /dev/null
@@ -1,143 +0,0 @@
-{
- "okButton": "Í Lagi",
- "cancelButton": "Hætta við",
- "dismissButton": "Loka",
- "quitButton": "Hætta við",
- "updateButton": "Uppfæra",
- "suggested": "Stungið upp á: ${version}",
- "yesButton": "Já",
- "noButton": "Nei",
- "warning": "Viðvörun",
- "notice": "Tilkynning",
- "noShowAgain": "Ekki sýna þetta aftur",
- "add": "Bæta við",
- "remove": "Fjarlægja",
- "showChangelogButton": "Sýna breytingarskrá",
- "showUpdateButton": "Sýna uppfæra",
- "navigationView": {
- "dashboardTab": "Stjórnborð",
- "patcherTab": "Patcher",
- "settingsTab": "Stillingar"
- },
- "homeView": {
- "refreshSuccess": "Endurnærð farsællega",
- "widgetTitle": "Stjórnborð",
- "updatesSubtitle": "Uppfærslur",
- "changeLaterSubtitle": "Þú getur breytt þessu í stillingunum síðar.",
- "noInstallations": "Engin pjatlað forrit uppsett",
- "installUpdate": "Halda áfram að setja upp uppfærsluna?",
- "updateSheetTitle": "Uppfæra ReVanced Manager",
- "updateDialogTitle": "Ný uppfærsla í boði",
- "updatePatchesSheetTitle": "Uppfæra ReVanced Patches",
- "updateChangelogTitle": "Breytingaskrá",
- "updateDialogText": "Ný uppfærsla er fáanleg fyrir ${file}.\n\nNúverandi uppsett útgáfa er ${version}.",
- "downloadConsentDialogTitle": "Sækja nauðsynlegar skrár?",
- "downloadConsentDialogText": "ReVanced Manager þarf að hlaða niður nauðsynlegum skrám til að virka rétt.",
- "downloadConsentDialogText2": "Þetta mun tengja þig við ${url}.",
- "downloadingMessage": "Er að setja upp uppfæra...",
- "downloadedMessage": "Uppfærsla sótt",
- "installingMessage": "Setja upp uppfræslu...",
- "errorDownloadMessage": "Ekki tókst að setja upp uppfærslu",
- "errorInstallMessage": "Ekki tókst að setja upp uppfærslu",
- "noConnection": "Engin internettenging"
- },
- "applicationItem": {
- "infoButton": "Upplýsingar"
- },
- "latestCommitCard": {
- "loadingLabel": "Er að halda...",
- "timeagoLabel": "${time} síðan"
- },
- "patcherView": {
- "widgetTitle": "Patcher",
- "patchButton": "Bót",
- "requiredOptionDialogText": "Það þarf að stilla nokkra patch valkosti."
- },
- "appSelectorCard": {
- "widgetTitle": "Veldu forrit",
- "widgetTitleSelected": "Valið forrit",
- "widgetSubtitle": "Engin forrit valið",
- "noAppsLabel": "Engin forrit fundust",
- "anyVersion": "Öll útgáfa"
- },
- "patchSelectorCard": {
- "widgetTitle": "Veldu patches",
- "widgetTitleSelected": "Valið patches",
- "widgetSubtitle": "Veldu forrit fyrst",
- "widgetEmptySubtitle": "Engin patches valið"
- },
- "socialMediaCard": {
- "widgetTitle": "Samfélagsmiðlum",
- "widgetSubtitle": "Við erum á netinu!"
- },
- "appSelectorView": {
- "viewTitle": "Veldu forrit",
- "searchBarHint": "Leita forrit",
- "storageButton": "Geymsla",
- "selectFromStorageButton": "Veldu úr geymslu",
- "errorMessage": "Get ekki notað valið forrit",
- "downloadToast": "Niðurhalsaðgerð er ekki tiltæk ennþá",
- "requireSuggestedAppVersionDialogText": "Útgáfan af forritinu sem þú hefur valið passar ekki við þá útgáfu sem lagt er til sem getur leitt til óvæntra vandamála. Vinsamlega notaðu þá útgáfu sem mælt er með.\n\nValin útgáfa: ${selected}\nUppástunga útgáfa: ${suggested}\n\nTil að halda samt áfram skaltu slökkva á \"Krefjast tillögu að útgáfu af forriti\" í stillingunum.",
- "featureNotAvailable": "Eiginleiki ekki útfærður",
- "featureNotAvailableText": "Þetta forrit er skipt APK og aðeins er hægt að laga og setja það upp á áreiðanlegan hátt með því að tengja það með rótarheimildum. Hins vegar geturðu lagfært og sett upp fullan APK með því að velja hann úr geymslu."
- },
- "patchesSelectorView": {
- "viewTitle": "Veldu patches",
- "searchBarHint": "Leita patches",
- "universalPatches": "Alhliða patches",
- "newPatches": "Nýtt patches",
- "patches": "Patches",
- "doneButton": "Búið",
- "defaultChip": "Sjálfgefinn",
- "defaultTooltip": "Veldu alla sjálfgefna plástra",
- "noneChip": "Enginn",
- "noneTooltip": "Afvelja alla plástra"
- },
- "patchOptionsView": {
- "customValue": "Sérsniðinsgildi",
- "viewTitle": "Patch valkostir",
- "saveOptions": "Vista",
- "selectFilePath": "Veldu skráarslóð",
- "selectFolder": "Veldu mappa"
- },
- "installerView": {
- "installButton": "Setja upp",
- "installNonRootType": "Venjulegur",
- "openButton": "Opna",
- "exportLogButtonTooltip": "Flytja út annál",
- "screenshotDetected": "Skjáskot hefur fundist. Ef þú ert að reyna að deila skránni, vinsamlegast deildu textaafriti í staðinn.\n\nAfrita annál á klippiborð?"
- },
- "settingsView": {
- "widgetTitle": "Stillingar",
- "appearanceSectionTitle": "Útlit",
- "teamSectionTitle": "Lið",
- "debugSectionTitle": "Villuleit",
- "advancedSectionTitle": "Ítarlegur",
- "exportSectionTitle": "Flytja inn/út",
- "dataSectionTitle": "Gagnaheimildir",
- "themeModeLabel": "Forritsþema",
- "systemThemeLabel": "Kerfi",
- "lightThemeLabel": "Ljós",
- "darkThemeLabel": "Dökkt",
- "languageLabel": "Tungumál",
- "languageUpdated": "Tungumál uppfært",
- "sourcesResetDialogTitle": "Endurstilla",
- "contributorsLabel": "Framlagsaðilar",
- "logsLabel": "Deila annálum",
- "autoUpdatePatchesLabel": "Sjálfvirk uppfærsla patches",
- "aboutLabel": "Um",
- "snackbarMessage": "Afritað á klippiborð",
- "deletedLogs": "Annálum eytt"
- },
- "appInfoView": {
- "widgetTitle": "Forritsupplýsingar",
- "openButton": "Opna",
- "installButton": "Setja upp",
- "uninstallButton": "Fjarlægja",
- "rootDialogTitle": "Villa",
- "regularTypeLabel": "Venjulegur"
- },
- "contributorsView": {
- "widgetTitle": "Framlagsaðilar"
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/it_IT.i18n.json b/assets/i18n/it_IT.i18n.json
deleted file mode 100755
index 618d73cb..00000000
--- a/assets/i18n/it_IT.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "OK",
- "cancelButton": "Annulla",
- "dismissButton": "Chiudi",
- "quitButton": "Esci",
- "updateButton": "Aggiorna",
- "suggested": "Consigliata: ${version}",
- "yesButton": "Sì",
- "noButton": "No",
- "warning": "Attenzione",
- "notice": "Avviso",
- "noShowAgain": "Non mostrare più",
- "add": "Aggiungi",
- "remove": "Rimuovi",
- "showChangelogButton": "Mostra novità",
- "showUpdateButton": "Mostra aggiornamento",
- "navigationView": {
- "dashboardTab": "Dashboard",
- "patcherTab": "Patcher",
- "settingsTab": "Impostazioni"
- },
- "homeView": {
- "refreshSuccess": "Ricaricato con successo",
- "widgetTitle": "Dashboard",
- "updatesSubtitle": "Aggiornamenti",
- "lastPatchedAppSubtitle": "Ultima app patchata",
- "patchedSubtitle": "Applicazioni installate",
- "changeLaterSubtitle": "Questo sarà modificabile nelle impostazioni in un secondo momento.",
- "noSavedAppFound": "Nessuna app trovata",
- "noInstallations": "Nessuna applicazione patchata è stata installata",
- "installUpdate": "Proseguire con l'installazione dell'aggiornamento?",
- "updateSheetTitle": "Aggiorna ReVanced Manager",
- "updateDialogTitle": "Nuovo aggiornamento disponibile",
- "updatePatchesSheetTitle": "Aggiorna le patch ReVanced",
- "updateChangelogTitle": "Novità",
- "updateDialogText": "È disponibile un nuovo aggiornamento per ${file}.\n\nLa versione attualmente installata è ${version}.",
- "downloadConsentDialogTitle": "Scaricare i file necessari?",
- "downloadConsentDialogText": "ReVanced Manager deve scaricare i file necessari per funzionare correttamente.",
- "downloadConsentDialogText2": "Questo ti collegherà a ${url}.",
- "downloadingMessage": "Download dell'aggiornamento...",
- "downloadedMessage": "Aggiornamento scaricato",
- "installingMessage": "Installazione dell'aggiornamento...",
- "errorDownloadMessage": "Impossibile scaricare l'aggiornamento",
- "errorInstallMessage": "Impossibile installare l'aggiornamento",
- "noConnection": "Nessuna connessione ad internet"
- },
- "applicationItem": {
- "infoButton": "Info"
- },
- "latestCommitCard": {
- "loadingLabel": "Caricamento...",
- "timeagoLabel": "${time} fa"
- },
- "patcherView": {
- "widgetTitle": "Patcher",
- "patchButton": "Patch",
- "incompatibleArchWarningDialogText": "La patch su questa architettura non è ancora supportata e potrebbe non riuscire. Continuare comunque?",
- "removedPatchesWarningDialogText": "Patch rimosse dall'ultima volta che hai patchato questa app:\n\n${patches}\n\n${newPatches}Continuare comunque?",
- "addedPatchesDialogText": "Patch aggiunte dall'ultima volta che hai patchato questa app:\n\n${addedPatches}\n\n",
- "requiredOptionDialogText": "Alcune opzioni di patch devono essere impostate."
- },
- "appSelectorCard": {
- "widgetTitle": "Seleziona un'app",
- "widgetTitleSelected": "App selezionata",
- "widgetSubtitle": "Nessuna app selezionata",
- "noAppsLabel": "Nessuna applicazione trovata",
- "anyVersion": "Qualsiasi versione"
- },
- "patchSelectorCard": {
- "widgetTitle": "Seleziona patch",
- "widgetTitleSelected": "Patch selezionate",
- "widgetSubtitle": "Seleziona prima un'applicazione",
- "widgetEmptySubtitle": "Nessuna patch selezionata"
- },
- "socialMediaCard": {
- "widgetTitle": "Social",
- "widgetSubtitle": "Seguici sui nostri canali!"
- },
- "appSelectorView": {
- "viewTitle": "Seleziona un'app",
- "searchBarHint": "Cerca app",
- "storageButton": "Memoria interna",
- "selectFromStorageButton": "Seleziona dalla memoria interna",
- "errorMessage": "Impossibile utilizzare l'applicazione selezionata",
- "downloadToast": "La funzione di Download non è ancora disponibile",
- "requireSuggestedAppVersionDialogText": "La versione dell'app selezionata non corrisponde a quella suggerita, il che può causare problemi imprevisti. Si prega di utilizzare la versione suggerita.\n\nVersione selezionata: ${selected}\nVersione suggerita: ${suggested}\n\nPer continuare comunque, disattiva \"Richiedi versione consigliata dell'app\" nelle impostazioni.",
- "featureNotAvailable": "Funzionalità non implementata",
- "featureNotAvailableText": "Quest'app è un APK diviso e può essere patchata e installata in modo affidabile solo montandola con i permessi di root. Tuttavia, è possibile applicare le patch e installare un APK completo selezionandolo dalla memoria."
- },
- "patchesSelectorView": {
- "viewTitle": "Seleziona patch",
- "searchBarHint": "Cerca patch",
- "universalPatches": "Patch universali",
- "newPatches": "Nuove patch",
- "patches": "Patch",
- "doneButton": "Fatto",
- "defaultChip": "Predefinito",
- "defaultTooltip": "Seleziona tutte le patch predefinite",
- "noneChip": "Nessuna",
- "noneTooltip": "Deseleziona tutte le patch",
- "loadPatchesSelection": "Carica selezione patch",
- "noSavedPatches": "Nessuna selezione patch salvata per l'app selezionata.\nPremi Fatto per salvare la selezione attuale.",
- "noPatchesFound": "Nessuna patch trovata per l'applicazione selezionata",
- "setRequiredOption": "Alcune patch richiedono opzioni da impostare:\n\n${patches}\n\nImpostale prima di continuare."
- },
- "patchOptionsView": {
- "customValue": "Valore personalizzato",
- "setToNull": "Imposta a nullo",
- "nullValue": "Questo valore di opzione è al momento nullo",
- "viewTitle": "Opzioni patch",
- "saveOptions": "Salva",
- "unselectPatch": "Deseleziona patch",
- "tooltip": "Più opzioni di input",
- "selectFilePath": "Seleziona percorso file",
- "selectFolder": "Seleziona cartella",
- "requiredOption": "L'impostazione di questa opzione è obbligatoria",
- "unsupportedOption": "Questa opzione non è supportata",
- "requiredOptionNull": "È necessario impostare le seguenti opzioni:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "La selezione di questa patch potrebbe causare degli errori.\n\nVersione dell'app: ${packageVersion}\nVersioni supportate:\n${supportedVersions}",
- "unsupportedPatchVersion": "La patch non è supportata per questa versione dell'app.",
- "unsupportedRequiredOption": "Questa patch contiene un'opzione richiesta che non è supportata da questa app",
- "patchesChangeWarningDialogText": "Si consiglia di utilizzare la selezione di patch e le opzioni predefinite. La loro modifica potrebbe causare problemi imprevisti.\n\nÈ necessario attivare \"Consenti la modifica della selezione delle patch\" nelle impostazioni prima di modificare qualsiasi selezione di patch.",
- "patchesChangeWarningDialogButton": "Utilizza la selezione predefinita"
- },
- "installerView": {
- "installType": "Seleziona il tipo di installazione",
- "installTypeDescription": "Seleziona il tipo di installazione con cui continuare.",
- "installButton": "Installa",
- "installRootType": "Monta",
- "installNonRootType": "Normale",
- "warning": "Disabilita gli aggiornamenti automatici per l'app patchata per evitare problemi.",
- "pressBackAgain": "Premi ancora indietro per annullare",
- "openButton": "Apri",
- "notificationTitle": "ReVanced Manager è in fase di patch",
- "notificationText": "Tocca per tornare all'installer",
- "exportApkButtonTooltip": "Esporta APK patchato",
- "exportLogButtonTooltip": "Esporta log",
- "screenshotDetected": "È stato rilevato uno screenshot. Se stai cercando di condividere il log, condivilo in formato di testo.\n\nCopiare il log negli appunti?",
- "copiedToClipboard": "Log copiato negli appunti",
- "noExit": "Installer ancora in esecuzione, impossibile uscire..."
- },
- "settingsView": {
- "widgetTitle": "Impostazioni",
- "appearanceSectionTitle": "Aspetto",
- "teamSectionTitle": "Team",
- "debugSectionTitle": "Debugging",
- "advancedSectionTitle": "Avanzate",
- "exportSectionTitle": "Importa / Esporta",
- "dataSectionTitle": "Sorgenti dati",
- "themeModeLabel": "Tema dell'app",
- "systemThemeLabel": "Sistema",
- "lightThemeLabel": "Chiaro",
- "darkThemeLabel": "Modalità scura",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "Goditi un'esperienza più in armonia con il tuo dispositivo",
- "languageLabel": "Lingua",
- "languageUpdated": "Lingua aggiornata",
- "sourcesLabel": "Sorgenti alternative",
- "sourcesLabelHint": "Configurare le fonti alternative per le patch avanzate",
- "useAlternativeSources": "Usa sorgenti alternative",
- "useAlternativeSourcesHint": "Usa fonti alternative per le patch avanzate invece che per le API",
- "sourcesResetDialogTitle": "Reimposta",
- "sourcesResetDialogText": "Sei sicuro di voler reimpostare le sorgenti ai valori predefiniti?",
- "apiURLResetDialogText": "Sicuro di voler ripristinare l'URL API al valore predefinito?",
- "sourcesUpdateNote": "Nota: Questo scaricherà automaticamente le patch avanzate dalle fonti alternative.\n\nQuesto ti collegherà alla sorgente alternativa.",
- "apiURLLabel": "URL API",
- "apiURLHint": "Configura l'URL API di ReVanced Manager",
- "selectApiURL": "URL API",
- "orgPatchesLabel": "Organizzazione Patch",
- "sourcesPatchesLabel": "Sorgente Patch",
- "contributorsLabel": "Contributori",
- "contributorsHint": "Lista dei contributori di ReVanced",
- "logsLabel": "Condividi i log",
- "logsHint": "Condividi i log di ReVanced Manager",
- "enablePatchesSelectionLabel": "Consenti la modifica della selezione delle patch",
- "enablePatchesSelectionHint": "Non impedire di selezionare/deselezionare le patch",
- "enablePatchesSelectionWarningText": "Cambiare la selezione delle patch potrebbe causare problemi inaspettati.\n\nAttivarle comunque?",
- "disablePatchesSelectionWarningText": "Stai per disabilitare la modifica della selezione delle patch.\nLa selezione predefinita delle patch sarà ripristinata.\n\nDisabilitare comunque?",
- "autoUpdatePatchesLabel": "Aggiornamento automatico delle patch",
- "autoUpdatePatchesHint": "Aggiorna automaticamente le patch all'ultima versione",
- "showUpdateDialogLabel": "Mostra finestra di aggiornamento",
- "showUpdateDialogHint": "Mostra una finestra di dialogo quando è disponibile un nuovo aggiornamento",
- "universalPatchesLabel": "Mostra patch universali",
- "universalPatchesHint": "Mostra tutte le app e patch universali (rallenterà la lista delle app)",
- "lastPatchedAppLabel": "Salva app patchata",
- "lastPatchedAppHint": "Salva l'ultima patch da installare o esportare più tardi",
- "versionCompatibilityCheckLabel": "Controllo compatibilità versione",
- "versionCompatibilityCheckHint": "Impedisci di selezionare patch che non sono compatibili con la versione dell'app selezionata",
- "requireSuggestedAppVersionLabel": "Richiedi versione consigliata dell'app",
- "requireSuggestedAppVersionHint": "Impedisci di selezionare un'app con una versione non consigliata",
- "requireSuggestedAppVersionDialogText": "Selezionare un'app con versione diversa dalla consigliata può causare problemi imprevisti.\n\nVuoi procedere comunque?",
- "aboutLabel": "Informazioni",
- "snackbarMessage": "Copiato negli appunti",
- "restartAppForChanges": "Riavvia l'app per applicare le modifiche",
- "deleteTempDirLabel": "Elimina file temporanei",
- "deleteTempDirHint": "Elimina i file temporanei non utilizzati",
- "deletedTempDir": "File temporanei eliminati",
- "exportSettingsLabel": "Esporta impostazioni",
- "exportSettingsHint": "Esporta le impostazioni in un file JSON",
- "exportedSettings": "Impostazioni esportate",
- "importSettingsLabel": "Importa impostazioni",
- "importSettingsHint": "Importa le impostazioni da un file JSON",
- "importedSettings": "Impostazioni importate",
- "exportPatchesLabel": "Esporta selezione patch",
- "exportPatchesHint": "Esporta selezione patch in un file JSON",
- "exportedPatches": "Selezione patch esportata",
- "noExportFileFound": "Nessuna selezione patch da esportare",
- "importPatchesLabel": "Importa selezione patch",
- "importPatchesHint": "Importa le patch selezionate da un file JSON",
- "importedPatches": "Selezione patch importata",
- "resetStoredPatchesLabel": "Ripristina selezione patch",
- "resetStoredPatchesHint": "Ripristina la selezione delle patch",
- "resetStoredPatchesDialogTitle": "Resettare la selezione delle patch?",
- "resetStoredPatchesDialogText": "La selezione delle patch è stata resettata a quella di default.",
- "resetStoredPatches": "Selezione patch ripristinata",
- "resetStoredOptionsLabel": "Ripristina opzioni patch",
- "resetStoredOptionsHint": "Ripristina tutte le opzioni patch",
- "resetStoredOptionsDialogTitle": "Ripristinare opzioni patch?",
- "resetStoredOptionsDialogText": "Ripristinare le opzioni patch rimuoverà tutte le opzioni salvate.",
- "resetStoredOptions": "Le opzioni sono state ripristinate",
- "deleteLogsLabel": "Cancella i log",
- "deleteLogsHint": "Elimina i log di ReVanced Manager",
- "deletedLogs": "Log cancellati",
- "regenerateKeystoreLabel": "Rigenera keystore",
- "regenerateKeystoreHint": "Rigenera il keystore usato per firmare le app",
- "regenerateKeystoreDialogTitle": "Rigenerare keystore?",
- "regenerateKeystoreDialogText": "Le app patchate firmate con il vecchio keystore non potranno più essere aggiornate.",
- "regeneratedKeystore": "Keystore rigenerato",
- "exportKeystoreLabel": "Esporta keystore",
- "exportKeystoreHint": "Esporta il keystore usato per firmare le app",
- "exportedKeystore": "Keystore esportato",
- "noKeystoreExportFileFound": "Nessun keystore da esportare",
- "importKeystoreLabel": "Importa keystore",
- "importKeystoreHint": "Importa il keystore usato per firmare le app",
- "importedKeystore": "Keystore importato",
- "selectKeystorePassword": "Password keystore",
- "selectKeystorePasswordHint": "Seleziona la password di keystore utilizzata per firmare le app",
- "jsonSelectorErrorMessage": "Impossibile utilizzare il file json selezionato",
- "keystoreSelectorErrorMessage": "Impossibile usare il file keystore selezionato"
- },
- "appInfoView": {
- "widgetTitle": "Info app",
- "openButton": "Apri",
- "installButton": "Installa",
- "uninstallButton": "Disinstalla",
- "unmountButton": "Smonta",
- "exportButton": "Esporta",
- "deleteButton": "Elimina",
- "rootDialogTitle": "Errore",
- "lastPatchedAppDescription": "Questo è un backup dell'app che è stata l'ultima patched.",
- "unmountDialogText": "Sicuro di voler smontare quest'app?",
- "uninstallDialogText": "Sicuro di voler disinstallare quest'app?",
- "rootDialogText": "L'app è stata installata con i permessi di root, ma attualmente ReVanced Manager non ha nessun permesso.\nSi prega di concedere prima i permessi di root.",
- "removeAppDialogTitle": "Eliminare l'applicazione?",
- "removeAppDialogText": "Sei sicuro di voler eliminare questo backup?",
- "packageNameLabel": "Nome pacchetto",
- "installTypeLabel": "Tipo di installazione",
- "mountTypeLabel": "Monta",
- "regularTypeLabel": "Normale",
- "patchedDateLabel": "Data di patch",
- "appliedPatchesLabel": "Patch applicate",
- "sizeLabel": "Dimensione file",
- "patchedDateHint": "${date} alle ${time}",
- "appliedPatchesHint": "${quantity} patch applicate",
- "updateNotImplemented": "Questa funzionalità non è stata ancora implementata"
- },
- "contributorsView": {
- "widgetTitle": "Contributori"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "Versione non corrispondente",
- "mount_no_root": "Nessun permesso root",
- "mount_missing_installation": "Installazione non trovata",
- "status_failure_blocked": "Installazione bloccata",
- "install_failed_verification_failure": "Verifica fallita",
- "status_failure_invalid": "Installazione non valida",
- "install_failed_version_downgrade": "Impossibile effettuare il downgrade",
- "status_failure_conflict": "Conflitto di installazione",
- "status_failure_storage": "Problema archiviazione",
- "status_failure_incompatible": "Installazione incompatibile",
- "status_failure_timeout": "Timeout installazione",
- "status_unknown": "Installazione fallita",
- "mount_version_mismatch_description": "L'installazione è fallita perché l'app installata ha una versione differente rispetto a quella dell'app patchata.\n\nInstalla la versione dell'app che stai montando e riprova.",
- "mount_no_root_description": "L'installazione è fallita per assenza di permessi di root.\n\nFornisci i permessi di root a ReVanced Manager e riprova.",
- "mount_missing_installation_description": "L'installazione è fallita perché l'app non patchata non è installata su questo dispositivo, che è necessaria per montarci sopra.\n\nInstalla l'app non patchata prima di montare e riprova.",
- "status_failure_timeout_description": "L'installazione ha richiesto troppo tempo per essere completata.\n\nVuoi riprovare?",
- "status_failure_storage_description": "L'installazione è fallita a causa di spazio insufficiente.\n\nLibera dello spazio e riprova.",
- "status_failure_invalid_description": "L'installazione è fallita perché l'app patchata è invalida.\n\nDisinstallare l'app e riprovare?",
- "status_failure_incompatible_description": "L'applicazione è incompatibile con questo dispositivo.\n\nUtilizzare un APK che è supportato da questo dispositivo e riprovare.",
- "status_failure_conflict_description": "L'installazione è stata impedita da un'esistente installazione dell'app.\n\nDisinstallare l'app installata e riprovare?",
- "status_failure_blocked_description": "L'installazione è stata bloccata da ${packageName}.\n\nModifica le impostazioni di sicurezza e riprova.",
- "install_failed_verification_failure_description": "L'installazione è fallita a causa di un problema di verifica.\n\nModifica le impostazioni di sicurezza e riprova.",
- "install_failed_version_downgrade_description": "L'installazione è fallita perché l'app patchata è una versione precedente all'app installata.\n\nDisinstallare l'app e riprovare?",
- "status_unknown_description": "L'installazione è fallita per un motivo sconosciuto. Riprova."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/ja_JP.i18n.json b/assets/i18n/ja_JP.i18n.json
deleted file mode 100755
index 32cc6607..00000000
--- a/assets/i18n/ja_JP.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "OK",
- "cancelButton": "キャンセル",
- "dismissButton": "閉じる",
- "quitButton": "終了",
- "updateButton": "更新",
- "suggested": "推奨: ${version}",
- "yesButton": "はい",
- "noButton": "いいえ",
- "warning": "警告",
- "notice": "お知らせ",
- "noShowAgain": "今後表示しない",
- "add": "追加",
- "remove": "削除",
- "showChangelogButton": "更新履歴を表示",
- "showUpdateButton": "更新を表示",
- "navigationView": {
- "dashboardTab": "ダッシュボード",
- "patcherTab": "パッチャー",
- "settingsTab": "設定"
- },
- "homeView": {
- "refreshSuccess": "正常に更新されました",
- "widgetTitle": "ダッシュボード",
- "updatesSubtitle": "更新",
- "lastPatchedAppSubtitle": "最後にパッチを適用したアプリ",
- "patchedSubtitle": "インストール済みのアプリ",
- "changeLaterSubtitle": "この設定は後から変更できます",
- "noSavedAppFound": "アプリが見つかりません",
- "noInstallations": "パッチ済みのアプリはインストールされていません",
- "installUpdate": "更新を適用しますか?",
- "updateSheetTitle": "ReVanced Managerを更新",
- "updateDialogTitle": "新しいアップデートが利用可能",
- "updatePatchesSheetTitle": "ReVanced Patchesを更新",
- "updateChangelogTitle": "変更履歴",
- "updateDialogText": "${file} の更新が利用可能です。\n現在のバージョン: ${version} ",
- "downloadConsentDialogTitle": "必要なファイルをダウンロードしますか?",
- "downloadConsentDialogText": "ReVanced Managerを正常に動作させるためのファイルをダウンロードする必要があります。",
- "downloadConsentDialogText2": "${url} に接続します。",
- "downloadingMessage": "更新データをダウンロードしています...",
- "downloadedMessage": "アップデートのダウンロードが完了しました",
- "installingMessage": "更新を適用しています...",
- "errorDownloadMessage": "更新データをダウンロードできませんでした",
- "errorInstallMessage": "更新を適用できませんでした",
- "noConnection": "インターネットに接続されていません"
- },
- "applicationItem": {
- "infoButton": "詳細"
- },
- "latestCommitCard": {
- "loadingLabel": "読み込み中...",
- "timeagoLabel": "${time} 前"
- },
- "patcherView": {
- "widgetTitle": "パッチャー",
- "patchButton": "パッチ",
- "incompatibleArchWarningDialogText": "このアーキテクチャへのパッチ適用はまだサポートされておらず、失敗する可能性があります。続行しますか?",
- "removedPatchesWarningDialogText": "前回このアプリにパッチを適用し、それ以降に削除されたパッチ:\n\n${patches}\n\n${newPatches}続行しますか?",
- "addedPatchesDialogText": "前回このアプリにパッチを適用し、それ以降に追加されたパッチ:\n\n${addedPatches}",
- "requiredOptionDialogText": "一部のパッチオプションを設定する必要があります。"
- },
- "appSelectorCard": {
- "widgetTitle": "アプリを選択",
- "widgetTitleSelected": "選択したアプリ",
- "widgetSubtitle": "アプリが選択されていません",
- "noAppsLabel": "アプリが見つかりません",
- "anyVersion": "全てのバージョン"
- },
- "patchSelectorCard": {
- "widgetTitle": "パッチを選択",
- "widgetTitleSelected": "選択したパッチ",
- "widgetSubtitle": "最初にアプリを選択してください",
- "widgetEmptySubtitle": "パッチが選択されていません"
- },
- "socialMediaCard": {
- "widgetTitle": "SNS",
- "widgetSubtitle": "私たちはここにいます!"
- },
- "appSelectorView": {
- "viewTitle": "アプリを選択",
- "searchBarHint": "アプリを検索",
- "storageButton": "APKファイルを選択",
- "selectFromStorageButton": "ストレージから選択",
- "errorMessage": "選択したアプリは使用できません",
- "downloadToast": "ダウンロード機能は現在開発中です",
- "requireSuggestedAppVersionDialogText": "選択したアプリのバージョンは推奨バージョンではありません。予期せぬ問題が発生する可能性があります。\n推奨バージョンを選択してください。\n\n選択されたバージョン ${selected}\n推奨バージョン ${suggested}\n\n選択されたバージョンを使用する場合、設定から「推奨バージョンの使用を強制」を無効にしてください。",
- "featureNotAvailable": "この機能は未実装です",
- "featureNotAvailableText": "このアプリは分割APKであり、パッチの適用とインストールにはroot権限でマウントする必要があります。ただし、ストレージから単一APKを選択することでパッチの適用とインストールが可能です。"
- },
- "patchesSelectorView": {
- "viewTitle": "パッチを選択",
- "searchBarHint": "パッチを検索",
- "universalPatches": "共通パッチ",
- "newPatches": "新しいパッチ",
- "patches": "パッチ",
- "doneButton": "完了",
- "defaultChip": "デフォルト",
- "defaultTooltip": "すべてのデフォルトのパッチを選択",
- "noneChip": "なし",
- "noneTooltip": "すべてのパッチの選択を解除",
- "loadPatchesSelection": "パッチの選択を読み込む",
- "noSavedPatches": "選択したアプリに保存されたパッチはありません。\n「完了」を押して現在の選択を保存します。",
- "noPatchesFound": "選択したアプリのパッチが見つかりません",
- "setRequiredOption": "一部のパッチはオプションを設定する必要があります:\n\n${patches}\n\n続行する前に設定してください。"
- },
- "patchOptionsView": {
- "customValue": "カスタム値",
- "setToNull": "nullに設定",
- "nullValue": "このオプション値は現在nullです",
- "viewTitle": "パッチオプション",
- "saveOptions": "保存",
- "unselectPatch": "パッチの選択を解除",
- "tooltip": "他の入力オプション",
- "selectFilePath": "ファイルパスを選択",
- "selectFolder": "フォルダーを選択",
- "requiredOption": "このオプションは必須です",
- "unsupportedOption": "このオプションはサポートされていません",
- "requiredOptionNull": "以下のオプションを設定する必要があります:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "このパッチを選択するとエラーが発生する可能性があります。\n\n現在のバージョン: ${packageVersion}\nサポートされているバージョン: ${supportedVersions}",
- "unsupportedPatchVersion": "このアプリのバージョンではパッチはサポートされていません.",
- "unsupportedRequiredOption": "このパッチには、このアプリではサポートされていない必須オプションが含まれています",
- "patchesChangeWarningDialogText": "デフォルトのパッチ選択とオプションの使用を推奨します。変更すると予期せぬ問題が発生する可能性があります。\n\nパッチ選択を続ける場合、設定で「パッチ選択の変更を許可」をオンにする必要があります。",
- "patchesChangeWarningDialogButton": "デフォルトの選択を使用"
- },
- "installerView": {
- "installType": "インストールの種類を選択",
- "installTypeDescription": "インストールの種類を選択して続行します。",
- "installButton": "インストール",
- "installRootType": "マウント",
- "installNonRootType": "標準",
- "warning": "予期しない問題を避けるため、パッチを適用したアプリの自動更新を無効にします。",
- "pressBackAgain": "キャンセルするには、もう一度戻るを押してください",
- "openButton": "開く",
- "notificationTitle": "ReVanced Manager はパッチを適用しています",
- "notificationText": "インストーラーに戻るにはタップしてください",
- "exportApkButtonTooltip": "パッチ済みの APK をエクスポート",
- "exportLogButtonTooltip": "ログをエクスポート",
- "screenshotDetected": "スクリーンショットが検出されました。ログを共有しようとしてる場合は、代わりにテキストをコピーしてください。\n\nクリップボードにログをコピーしますか?",
- "copiedToClipboard": "ログをクリップボードにコピーしました",
- "noExit": "インストーラーはまだ実行中です、終了できません..."
- },
- "settingsView": {
- "widgetTitle": "設定",
- "appearanceSectionTitle": "外観",
- "teamSectionTitle": "開発チーム",
- "debugSectionTitle": "デバッグ",
- "advancedSectionTitle": "高度な設定",
- "exportSectionTitle": "インポート&エクスポート",
- "dataSectionTitle": "データソース",
- "themeModeLabel": "アプリのテーマ",
- "systemThemeLabel": "システム",
- "lightThemeLabel": "ライト",
- "darkThemeLabel": "ダーク",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "よりデバイスに近い体験が楽しめます",
- "languageLabel": "言語",
- "languageUpdated": "言語が更新されました",
- "sourcesLabel": "代替ソース",
- "sourcesLabelHint": "ReVanded Patchesの代替ソースを構成します",
- "useAlternativeSources": "他のソースを使用",
- "useAlternativeSourcesHint": "APIの代わりにReVended Patchesの代替ソースを使用します",
- "sourcesResetDialogTitle": "リセット",
- "sourcesResetDialogText": "ソースをデフォルト値にリセットしてもよろしいですか?",
- "apiURLResetDialogText": "API の URL をデフォルト値にリセットしてもよろしいですか?",
- "sourcesUpdateNote": "注意: 自動的に代替ソースからReVanced Patchesをダウンロードします。\n\nこれにより、代替ソースに接続されます。",
- "apiURLLabel": "API の URL",
- "apiURLHint": "ReVinced ManagerのAPI URLを設定します",
- "selectApiURL": "API の URL",
- "orgPatchesLabel": "Patches の組織",
- "sourcesPatchesLabel": "Patches のソース",
- "contributorsLabel": "貢献者",
- "contributorsHint": "ReVancedの貢献者一覧",
- "logsLabel": "ログを共有",
- "logsHint": "ReVanced Manager のログを共有します",
- "enablePatchesSelectionLabel": "パッチ選択の変更を許可",
- "enablePatchesSelectionHint": "パッチの選択・解除を禁止しません",
- "enablePatchesSelectionWarningText": "パッチの選択を変更すると、予期せぬ問題が起こる可能性があります。\n\n有効にしますか?",
- "disablePatchesSelectionWarningText": "パッチ選択の変更を無効にしようとしています。\nデフォルトのパッチの選択が復元されます。\n\n無効にしますか?",
- "autoUpdatePatchesLabel": "パッチの自動アップデート",
- "autoUpdatePatchesHint": "パッチを自動的に最新バージョンに更新する",
- "showUpdateDialogLabel": "アップデートの通知を表示",
- "showUpdateDialogHint": "新しいアップデートが利用可能な場合にダイアログを表示します",
- "universalPatchesLabel": "共通パッチの表示",
- "universalPatchesHint": "すべてのアプリと共通パッチを表示します(アプリ一覧の読み込みが遅くなる可能性があります)",
- "lastPatchedAppLabel": "パッチを適用したアプリを保存",
- "lastPatchedAppHint": "最後にパッチされた内容を保存して、後でインストールまたはエクスポートできます",
- "versionCompatibilityCheckLabel": "バージョンの互換性の確認",
- "versionCompatibilityCheckHint": "選択したアプリのバージョンと互換性のないパッチの選択を禁止する",
- "requireSuggestedAppVersionLabel": "推奨バージョンの使用を強制",
- "requireSuggestedAppVersionHint": "推奨されていないバージョンのアプリを選択できないようにします",
- "requireSuggestedAppVersionDialogText": "推奨バージョンではないアプリを選択すると、予期しない問題が発生する可能性があります。\n\nこのまま続行しますか?",
- "aboutLabel": "情報",
- "snackbarMessage": "クリップボードにコピーしました",
- "restartAppForChanges": "変更を適用するにはアプリを再起動してください",
- "deleteTempDirLabel": "一時ファイルを削除",
- "deleteTempDirHint": "未使用の一時ファイルを削除",
- "deletedTempDir": "一時ファイルを削除しました",
- "exportSettingsLabel": "設定をエクスポート",
- "exportSettingsHint": "設定をJSONファイルにエクスポートします",
- "exportedSettings": "設定をエクスポートしました",
- "importSettingsLabel": "設定をインポート",
- "importSettingsHint": "JSONファイルから設定をインポートします",
- "importedSettings": "設定がインポートされました",
- "exportPatchesLabel": "パッチ選択をエクスポート",
- "exportPatchesHint": "パッチ選択を JSON ファイルにエクスポートします",
- "exportedPatches": "パッチ選択をエクスポートしました",
- "noExportFileFound": "エクスポートするパッチの選択がありません",
- "importPatchesLabel": "パッチ選択をインポート",
- "importPatchesHint": "パッチ選択を JSON ファイルからインポートします",
- "importedPatches": "パッチ選択をインポートしました",
- "resetStoredPatchesLabel": "パッチの選択をリセット",
- "resetStoredPatchesHint": "保存されたパッチの選択をリセットする",
- "resetStoredPatchesDialogTitle": "パッチの選択をリセット",
- "resetStoredPatchesDialogText": "デフォルトのパッチの選択が復元されます。",
- "resetStoredPatches": "パッチの選択をリセットしました",
- "resetStoredOptionsLabel": "パッチオプションをリセット",
- "resetStoredOptionsHint": "すべてのパッチオプションをリセットする",
- "resetStoredOptionsDialogTitle": "パッチオプションをリセットしますか?",
- "resetStoredOptionsDialogText": "パッチオプションをリセットすると、保存されたすべてのオプションが削除されます。",
- "resetStoredOptions": "オプションをリセットしました",
- "deleteLogsLabel": "ログを削除",
- "deleteLogsHint": "収集された ReVanced Manager のログを削除します",
- "deletedLogs": "ログを削除しました",
- "regenerateKeystoreLabel": "キーストアを再生成",
- "regenerateKeystoreHint": "アプリの署名に使われるキーストアを再生成します",
- "regenerateKeystoreDialogTitle": "キーストアを再生成しますか?",
- "regenerateKeystoreDialogText": "古いキーストアで署名されたパッチ済みのアプリは、アップデートできなくなります。",
- "regeneratedKeystore": "キーストアを再生成しました",
- "exportKeystoreLabel": "キーストアをエクスポート",
- "exportKeystoreHint": "アプリの署名に使用するキーストアをエクスポートします",
- "exportedKeystore": "キーストアをエクスポートしました",
- "noKeystoreExportFileFound": "エクスポートするキーストアがありません",
- "importKeystoreLabel": "キーストアをインポート",
- "importKeystoreHint": "アプリの署名に使用するキーストアをインポートします",
- "importedKeystore": "キーストアをインポートしました",
- "selectKeystorePassword": "キーストアのパスワード",
- "selectKeystorePasswordHint": "アプリの署名に使用するキーストアのパスワードを入力してください",
- "jsonSelectorErrorMessage": "選択したJSON ファイルは使用できません",
- "keystoreSelectorErrorMessage": "選択したキーストアファイルは使用できません"
- },
- "appInfoView": {
- "widgetTitle": "アプリ情報",
- "openButton": "開く",
- "installButton": "インストール",
- "uninstallButton": "アンインストール",
- "unmountButton": "マウント解除",
- "exportButton": "エクスポート",
- "deleteButton": "削除",
- "rootDialogTitle": "エラー",
- "lastPatchedAppDescription": "これは最後にパッチを適用したアプリのバックアップです。",
- "unmountDialogText": "このアプリをアンマウントしてもよろしいですか?",
- "uninstallDialogText": "本当にこのアプリをアンインストールしますか?",
- "rootDialogText": "アプリはスーパーユーザー権限でインストールされましたが、現在 ReVanced Manager にはその権限がありません。 スーパーユーザー権限を付与してください。",
- "removeAppDialogTitle": "アプリを削除しますか?",
- "removeAppDialogText": "本当にバックアップを削除してもよろしいですか?",
- "packageNameLabel": "パッケージ名",
- "installTypeLabel": "インストールの種類",
- "mountTypeLabel": "マウント",
- "regularTypeLabel": "通常",
- "patchedDateLabel": "パッチ適用日時",
- "appliedPatchesLabel": "適用されたパッチ",
- "sizeLabel": "ファイルのサイズ",
- "patchedDateHint": "${date} ${time}",
- "appliedPatchesHint": "${quantity} 個の適用されたパッチ",
- "updateNotImplemented": "この機能はまだ実装されていません"
- },
- "contributorsView": {
- "widgetTitle": "貢献者"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "バージョンが一致しません",
- "mount_no_root": "ルート権限がありません",
- "mount_missing_installation": "インストールが見つかりませんでした",
- "status_failure_blocked": "インストールはブロックされました",
- "install_failed_verification_failure": "検証に失敗しました",
- "status_failure_invalid": "インストールは無効です",
- "install_failed_version_downgrade": "ダウングレードできません",
- "status_failure_conflict": "インストールが競合しています",
- "status_failure_storage": "インストールストレージの問題",
- "status_failure_incompatible": "インストールは互換性がありません",
- "status_failure_timeout": "インストールがタイムアウトしました",
- "status_unknown": "インストールに失敗しました",
- "mount_version_mismatch_description": "インストールされたアプリがパッチを当てたアプリとは異なるバージョンであるため、インストールに失敗しました。\n\nマウントしているアプリのバージョンをインストールし、再度お試しください。",
- "mount_no_root_description": "ルートアクセスが許可されていないためインストールに失敗しました。\n\nReVanced Managerへのルートアクセスを許可し、もう一度お試しください。",
- "mount_missing_installation_description": "パッチが適用されていないアプリがマウントされていないためインストールに失敗しました。\n\nマウントする前にパッチが適用されていないアプリをインストールし、もう一度お試しください。",
- "status_failure_timeout_description": "インストールに時間がかかりすぎました。\n\nもう一度やり直しますか?",
- "status_failure_storage_description": "ストレージが不足しているためインストールに失敗しました。\n\n空き領域を解放して再度お試し下さい。",
- "status_failure_invalid_description": "パッチ適用されたアプリが無効なためインストールに失敗しました。\n\nアプリをアンインストールしてもう一度お試しください。",
- "status_failure_incompatible_description": "アプリはこのデバイスと互換性がありません。\n\nこのデバイスに対応しているAPKを使用して、もう一度お試しください。",
- "status_failure_conflict_description": "インストールはアプリの既存のインストールによって中止されました。\n\nインストールされたアプリをアンインストールし、もう一度やり直してください。",
- "status_failure_blocked_description": "インストールは ${packageName} によってブロックされました。\n\nセキュリティ設定を調整して、もう一度お試しください。",
- "install_failed_verification_failure_description": "認証の問題によりインストールに失敗しました。\n\nセキュリティ設定を調整して、もう一度お試しください。",
- "install_failed_version_downgrade_description": "インストールに失敗しました。パッチを当てたアプリがインストールされたアプリよりも低いバージョンであるためです。\n\nアプリをアンインストールしてもう一度お試しください。",
- "status_unknown_description": "不明な理由によりインストールに失敗しました。もう一度やり直してください。"
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/kk_KZ.i18n.json b/assets/i18n/kk_KZ.i18n.json
deleted file mode 100755
index 65c6a405..00000000
--- a/assets/i18n/kk_KZ.i18n.json
+++ /dev/null
@@ -1,78 +0,0 @@
-{
- "cancelButton": "Болдырмау",
- "dismissButton": "Елемеу",
- "quitButton": "Шығу",
- "updateButton": "Жаңарту",
- "suggested": "Ұсынылған: ${version}",
- "yesButton": "Иә",
- "noButton": "Жоқ",
- "warning": "Назар аударыңыз",
- "notice": "Ескерту",
- "noShowAgain": "Енді көрсетілмесін",
- "add": "Қосу",
- "remove": "Жою",
- "showChangelogButton": "Өзгерту тарихын көрсету",
- "showUpdateButton": "Жаңартуды көрсету",
- "navigationView": {
- "dashboardTab": "Басқару тақтасы",
- "patcherTab": "Patcher",
- "settingsTab": "Баптау"
- },
- "homeView": {
- "refreshSuccess": "Сәтті жаңартылды",
- "widgetTitle": "Бақылау тақтасы",
- "updatesSubtitle": "Жаңартулар",
- "changeLaterSubtitle": "Мұны кейінірек баптауда өзгертіп ала аласыз.",
- "noInstallations": "Патчталған қолданбалар орнатылмаған",
- "installUpdate": "Жаңартуды әрі қарай орната берейік пе?",
- "updateSheetTitle": "ReVanced Manager-ді жаңарту",
- "updateDialogTitle": "Жаңарту қолжетімді",
- "updatePatchesSheetTitle": "ReVanced патчін жаңарту",
- "updateChangelogTitle": "Өзгерту тарихы",
- "updateDialogText": "${file} үшін жаңарту қолжетімді.\n\nҚазіргі ${version} нұсқасы орнатылып тұр.",
- "downloadedMessage": "Жаңарту жүктелген",
- "noConnection": "Интернет байланысы жоқ"
- },
- "applicationItem": {
- "infoButton": "Ақпарат"
- },
- "latestCommitCard": {
- "loadingLabel": "Ju'ktely'de..."
- },
- "patcherView": {
- "widgetTitle": "Патчер",
- "patchButton": "Патч"
- },
- "appSelectorCard": {
- "widgetTitle": "Қолданбаны таңдаңыз"
- },
- "appSelectorView": {
- "viewTitle": "Қолданбаны таңдаңыз"
- },
- "patchesSelectorView": {
- "doneButton": "Дайын",
- "noneChip": "Жоқ"
- },
- "patchOptionsView": {
- "selectFolder": "Буманы таңдаңыз"
- },
- "installerView": {
- "installButton": "Орнату",
- "installNonRootType": "Қалыпты"
- },
- "settingsView": {
- "widgetTitle": "Баптау",
- "appearanceSectionTitle": "Безендіру",
- "advancedSectionTitle": "Қосымша",
- "contributorsLabel": "Үлес қосушылар"
- },
- "appInfoView": {
- "widgetTitle": "Қолданба ақпары",
- "installButton": "Орнату",
- "uninstallButton": "Алмау",
- "rootDialogTitle": "Қате"
- },
- "contributorsView": {
- "widgetTitle": "Үлес қосушылар"
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/km_KH.i18n.json b/assets/i18n/km_KH.i18n.json
deleted file mode 100755
index 6ac0132d..00000000
--- a/assets/i18n/km_KH.i18n.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "okButton": "យល់ព្រម",
- "cancelButton": "បោះបង់",
- "dismissButton": "ទាត់ចោល",
- "quitButton": "ចេញ",
- "updateButton": "អាប់ដេត",
- "suggested": "បានណែនាំ៖ ${version}",
- "yesButton": "បាទ/ចាស",
- "noButton": "ទេ",
- "warning": "ការព្រមាន",
- "notice": "សម្គាល់",
- "noShowAgain": "កុំបង្ហាញដូច្នេះម្ដងទៀត",
- "add": "បន្ថែម",
- "remove": "ដកចេញ",
- "showChangelogButton": "បង្ហាញកំណត់ហេតុផ្លាស់ប្ដូរ",
- "showUpdateButton": "បង្ហាញបច្ចុប្បន្នភាព",
- "navigationView": {
- "dashboardTab": "ផ្ទាំងគ្រប់គ្រង",
- "patcherTab": "ផាត់ឆើ",
- "settingsTab": "ការកំណត់"
- },
- "homeView": {
- "refreshSuccess": "បានរីហ្វ្រែសដោយជោគជ័យ",
- "widgetTitle": "ផ្ទាំងគ្រប់គ្រង",
- "updatesSubtitle": "អាប់ដេត",
- "changeLaterSubtitle": "អ្នកអាចផ្លាស់ប្តូរដូច្នេះនៅក្នុងការកំណត់នៅពេលក្រោយ។",
- "installUpdate": "បន្តដំឡើងបច្ចុប្បន្នភាពឬ?",
- "updateSheetTitle": "អាប់ដេត ReVanced Manager",
- "updateDialogTitle": "មានបច្ចុប្បន្នភាពថ្មិ",
- "updateChangelogTitle": "កំណត់ហេតុផ្លាស់ប្ដូរ"
- },
- "patcherView": {
- "widgetTitle": "ផាត់ឆើ"
- },
- "settingsView": {
- "widgetTitle": "ការកំណត់",
- "sourcesResetDialogTitle": "កំណត់ឡើងវិញ"
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/ko_KR.i18n.json b/assets/i18n/ko_KR.i18n.json
deleted file mode 100755
index 166349c5..00000000
--- a/assets/i18n/ko_KR.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "확인",
- "cancelButton": "취소",
- "dismissButton": "닫기",
- "quitButton": "종료",
- "updateButton": "업데이트",
- "suggested": "권장 앱 버전: ${version}",
- "yesButton": "예",
- "noButton": "아니요",
- "warning": "경고",
- "notice": "알림",
- "noShowAgain": "다시 보지 않기",
- "add": "추가",
- "remove": "제거",
- "showChangelogButton": "변경 사항 보기",
- "showUpdateButton": "업데이트 보기",
- "navigationView": {
- "dashboardTab": "Dashboard",
- "patcherTab": "Patcher",
- "settingsTab": "Settings"
- },
- "homeView": {
- "refreshSuccess": "새로고침을 성공하였습니다",
- "widgetTitle": "Dashboard",
- "updatesSubtitle": "업데이트",
- "lastPatchedAppSubtitle": "마지막으로 패치된 앱",
- "patchedSubtitle": "설치된 앱",
- "changeLaterSubtitle": "나중에 설정에서 변경할 수 있습니다",
- "noSavedAppFound": "앱을 찾을 수 없습니다",
- "noInstallations": "패치된 앱이 설치되어 있지 않습니다",
- "installUpdate": "업데이트를 계속 설치하시겠습니까?",
- "updateSheetTitle": "ReVanced Manager 업데이트",
- "updateDialogTitle": "새 업데이트가 있습니다",
- "updatePatchesSheetTitle": "ReVanced 패치 업데이트",
- "updateChangelogTitle": "변경 사항",
- "updateDialogText": "'${file}'에 대한 새 업데이트를 할 수 있습니다\n\n현재 설치된 버전은 '${version}' 입니다",
- "downloadConsentDialogTitle": "필요한 파일을 다운로드하시겠습니까?",
- "downloadConsentDialogText": "ReVanced Manager가 제대로 작동하려면 필요한 파일을 다운로드해야 합니다",
- "downloadConsentDialogText2": "진행하면 '${url}' 에 연결됩니다",
- "downloadingMessage": "업데이트 다운로드 중 ...",
- "downloadedMessage": "업데이트를 다운로드 완료하였습니다",
- "installingMessage": "업데이트 설치 중 ...",
- "errorDownloadMessage": "업데이트를 다운로드할 수 없습니다",
- "errorInstallMessage": "업데이트를 설치할 수 없습니다",
- "noConnection": "인터넷에 연결되지 않음"
- },
- "applicationItem": {
- "infoButton": "정보"
- },
- "latestCommitCard": {
- "loadingLabel": "불러오는 중 ...",
- "timeagoLabel": "${time} 전"
- },
- "patcherView": {
- "widgetTitle": "Patcher",
- "patchButton": "패치하기",
- "incompatibleArchWarningDialogText": "이 아키텍처에 대한 패치는 아직 지원되지 않으므로 실패할 수 있습니다. 그래도 계속하시겠습니까?",
- "removedPatchesWarningDialogText": "이 앱을 마지막으로 패치한 이후 제거된 패치입니다:\n\n${patches}\n\n${newPatches}\n\n그래도 계속하시겠습니까?",
- "addedPatchesDialogText": "이 앱을 마지막으로 패치한 이후 추가된 패치입니다:\n\n${addedPatches}",
- "requiredOptionDialogText": "일부 패치 옵션을 설정해야 합니다"
- },
- "appSelectorCard": {
- "widgetTitle": "앱 선택하기",
- "widgetTitleSelected": "선택한 앱",
- "widgetSubtitle": "선택한 앱이 없습니다",
- "noAppsLabel": "앱을 찾을 수 없습니다",
- "anyVersion": "모든 앱 버전"
- },
- "patchSelectorCard": {
- "widgetTitle": "패치 선택하기",
- "widgetTitleSelected": "선택한 패치",
- "widgetSubtitle": "먼저 앱을 선택하세요",
- "widgetEmptySubtitle": "선택한 패치가 없습니다"
- },
- "socialMediaCard": {
- "widgetTitle": "소셜 네트워크",
- "widgetSubtitle": "소셜 네트워크에서 ReVanced Team을 만나보세요!"
- },
- "appSelectorView": {
- "viewTitle": "앱 선택하기",
- "searchBarHint": "앱 검색하기",
- "storageButton": "기기 저장소",
- "selectFromStorageButton": "기기 저장소에서 선택",
- "errorMessage": "선택한 앱을 사용할 수 없습니다",
- "downloadToast": "다운로드 기능은 아직 사용할 수 없습니다",
- "requireSuggestedAppVersionDialogText": "선택한 앱 버전이 권장 앱 버전과 일치하지 않아서 예상되지 않은 문제점이 발생할 수 있습니다. 권장 앱 버전을 사용하세요\n\n선택한 앱 버전: ${selected}\n권장 앱 버전: ${suggested}\n\n계속하려면 설정에서 '권장 앱 버전 요구'를 비활성화하세요",
- "featureNotAvailable": "기능이 구현되지 않았습니다",
- "featureNotAvailableText": "이 기기에서 추출할 수 있는 앱이 분할된 APK 파일이므로 Root 권한으로 마운트해야만 안정적으로 패치 및 설치할 수 있습니다. 그러나 Non-Root 사용자는 기기 저장소에서 '외부에서 다운로드한 완전한 APK 파일'을 선택하여 패치 및 설치할 수 있습니다"
- },
- "patchesSelectorView": {
- "viewTitle": "패치 선택하기",
- "searchBarHint": "패치 검색하기",
- "universalPatches": "공용 패치",
- "newPatches": "새 패치",
- "patches": "패치",
- "doneButton": "선택완료",
- "defaultChip": "기본값",
- "defaultTooltip": "모든 기본 패치 선택",
- "noneChip": "선택안함",
- "noneTooltip": "모든 패치 선택 해제",
- "loadPatchesSelection": "패치 선택목록 가져오기",
- "noSavedPatches": "선택한 앱에 적용할 패치가 저장되지 않았습니다\n'선택완료' 버튼을 눌러서 현재 선택목록을 저장하세요",
- "noPatchesFound": "선택한 앱에 대한 패치를 찾을 수 없습니다",
- "setRequiredOption": "옵션을 설정해야 하는 패치가 있습니다:\n\n${patches}\n\n진행하기 전 설정을 마쳐주세요"
- },
- "patchOptionsView": {
- "customValue": "사용자 정의 값",
- "setToNull": "null 값으로 설정",
- "nullValue": "이 옵션 값은 현재 아무것도 없는 상태(null 값)입니다",
- "viewTitle": "패치 옵션",
- "saveOptions": "저장하기",
- "unselectPatch": "패치 선택 해제",
- "tooltip": "입력 옵션 더보기",
- "selectFilePath": "파일 경로 선택",
- "selectFolder": "폴더 선택",
- "requiredOption": "이 옵션은 필수 설정입니다",
- "unsupportedOption": "지원하지 않는 옵션입니다",
- "requiredOptionNull": "다음 옵션들이 설정되어 있어야 합니다:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "이 패치는 문제점을 발생시킬 수 있습니다\n\n앱 버전: ${packageVersion}\n지원되는 버전:\n${supportedVersions}",
- "unsupportedPatchVersion": "패치가 이 앱 버전을 지원하지 않습니다",
- "unsupportedRequiredOption": "패치에 이 앱을 지원하지 않는 필수 옵션이 포함되어 있습니다",
- "patchesChangeWarningDialogText": "기본 패치 선택을 사용하는 것을 권장합니다. 설정을 변경할 경우에는 예상되지 않은 문제점의 원인이 될 수 있습니다\n\n패치 선택을 변경하기 위해서는 설정에서 \"패치 선택 변경 허용\"을 활성화해야 합니다",
- "patchesChangeWarningDialogButton": "기본 선택목록 사용"
- },
- "installerView": {
- "installType": "설치 유형 선택",
- "installTypeDescription": "설치를 진행할 유형을 선택해주세요",
- "installButton": "설치하기",
- "installRootType": "마운트",
- "installNonRootType": "일반",
- "warning": "패치된 앱의 자동 업데이트를 비활성화하여 예상되지 않은 문제점을 방지하세요",
- "pressBackAgain": "취소하려면 뒤로가기 버튼을 다시 누르세요",
- "openButton": "열기",
- "notificationTitle": "ReVanced Manager가 패치 중입니다",
- "notificationText": "설치 관리자로 돌아가려면 여기를 누르세요",
- "exportApkButtonTooltip": "패치된 APK 내보내기",
- "exportLogButtonTooltip": "로그 내보내기",
- "screenshotDetected": "스크린샷이 감지되었습니다. 로그를 공유할 목적이라면, 대신 텍스트 사본으로 공유해주세요\n\n로그를 클립보드에 복사하시겠습니까?",
- "copiedToClipboard": "로그를 클립보드에 복사하였습니다",
- "noExit": "설치 관리자가 실행 중이므로 중단할 수 없습니다 ..."
- },
- "settingsView": {
- "widgetTitle": "Settings",
- "appearanceSectionTitle": "레이아웃",
- "teamSectionTitle": "ReVanced Team",
- "debugSectionTitle": "디버깅",
- "advancedSectionTitle": "고급 설정",
- "exportSectionTitle": "가져오기 & 내보내기",
- "dataSectionTitle": "데이터 소스",
- "themeModeLabel": "앱 테마",
- "systemThemeLabel": "기기 테마 사용",
- "lightThemeLabel": "밝은 테마",
- "darkThemeLabel": "어두운 테마",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "당신의 기기에 더 맞는 경험을 즐겨보세요",
- "languageLabel": "앱 언어",
- "languageUpdated": "앱 언어를 변경하였습니다",
- "sourcesLabel": "대체 소스",
- "sourcesLabelHint": "ReVanced Patches의 대체 소스를 설정할 수 있습니다",
- "useAlternativeSources": "대체 소스 사용",
- "useAlternativeSourcesHint": "API를 대신하여 ReVanced Patches의 대체 소스를 사용합니다",
- "sourcesResetDialogTitle": "초기화",
- "sourcesResetDialogText": "정말 사용자 정의 소스를 기본값으로 초기화하시겠습니까?",
- "apiURLResetDialogText": "정말 API URL을 기본값으로 초기화하시겠습니까?",
- "sourcesUpdateNote": "알림: 변경하면 대체 소스에서 ReVanced Patches가 자동으로 다운로드됩니다\n\n그 이후에는 대체 소스로 연결됩니다",
- "apiURLLabel": "API URL",
- "apiURLHint": "ReVanced Manager의 API URL를 설정할 수 있습니다",
- "selectApiURL": "API URL",
- "orgPatchesLabel": "Patches 구성",
- "sourcesPatchesLabel": "Patches 소스",
- "contributorsLabel": "도움을 주신 분들",
- "contributorsHint": "ReVanced 개발에 도움을 주신 분들",
- "logsLabel": "로그 공유하기",
- "logsHint": "수집된 ReVanced Manager 로그를 공유합니다",
- "enablePatchesSelectionLabel": "패치 선택 변경 허용",
- "enablePatchesSelectionHint": "패치를 선택하거나 선택 해제할 수 있습니다",
- "enablePatchesSelectionWarningText": "패치 선택을 변경하는 경우에는 예상되지 않은 문제점이 발생할 수 있습니다\n\n그래도 활성화하시겠습니까?",
- "disablePatchesSelectionWarningText": "패치 선택 변경을 비활성화하려 합니다\n기본 패치 선택목록으로 복원될 것입니다\n\n그래도 비활성화하시겠습니까?",
- "autoUpdatePatchesLabel": "패치 자동 업데이트",
- "autoUpdatePatchesHint": "ReVanced Manager 앱 내에서 사용되는 패치를 최신 버전으로 자동 업데이트합니다",
- "showUpdateDialogLabel": "업데이트 팝업창 보기",
- "showUpdateDialogHint": "새 업데이트가 있으면 팝업창을 표시합니다",
- "universalPatchesLabel": "공용 패치 보기",
- "universalPatchesHint": "기기에 설치된 모든 앱과 공용 패치를 표시합니다 (앱 목록이 느려질 수 있음)",
- "lastPatchedAppLabel": "패치된 앱 저장",
- "lastPatchedAppHint": "마지막으로 패치된 앱을 저장하여 나중에 설치하거나 내보낼 수 있습니다",
- "versionCompatibilityCheckLabel": "버전 호환성 체크",
- "versionCompatibilityCheckHint": "선택한 앱 버전과 호환되지 않는 패치를 선택할 수 없습니다",
- "requireSuggestedAppVersionLabel": "권장 앱 버전 요구",
- "requireSuggestedAppVersionHint": "권장되지 않은 앱 버전은 선택할 수 없습니다",
- "requireSuggestedAppVersionDialogText": "권장 앱 버전이 아닌 앱을 선택하는 경우에는 예상되지 않은 문제점이 발생할 수 있습니다\n\n그래도 계속하시겠습니까?",
- "aboutLabel": "정보",
- "snackbarMessage": "클립보드에 복사하였습니다",
- "restartAppForChanges": "변경 사항을 적용하려면 앱을 다시 시작하세요",
- "deleteTempDirLabel": "임시 파일 제거",
- "deleteTempDirHint": "사용하지 않는 임시 파일을 제거합니다",
- "deletedTempDir": "임시 파일을 제거하였습니다",
- "exportSettingsLabel": "설정 내보내기",
- "exportSettingsHint": "설정을 JSON 파일로 내보낼 수 있습니다",
- "exportedSettings": "설정을 내보냈습니다",
- "importSettingsLabel": "설정 가져오기",
- "importSettingsHint": "설정을 JSON 파일에서 가져올 수 있습니다",
- "importedSettings": "설정을 가져왔습니다",
- "exportPatchesLabel": "패치 선택목록 내보내기",
- "exportPatchesHint": "패치 선택목록을 JSON 파일로 내보냅니다",
- "exportedPatches": "패치 선택목록을 내보냈습니다",
- "noExportFileFound": "내보낼 패치 선택목록이 없습니다",
- "importPatchesLabel": "패치 선택목록 가져오기",
- "importPatchesHint": "패치 선택목록을 JSON 파일에서 가져옵니다",
- "importedPatches": "패치 선택목록을 가져왔습니다",
- "resetStoredPatchesLabel": "패치 선택목록 초기화",
- "resetStoredPatchesHint": "저장된 패치 선택목록을 초기화합니다",
- "resetStoredPatchesDialogTitle": "패치 선택목록을 초기화하시겠습니까?",
- "resetStoredPatchesDialogText": "패치 기본 선택목록으로 복원합니다.",
- "resetStoredPatches": "패치 선택목록을 초기화하였습니다",
- "resetStoredOptionsLabel": "패치 옵션 초기화",
- "resetStoredOptionsHint": "모든 패치 옵션을 초기화합니다",
- "resetStoredOptionsDialogTitle": "패치 옵션을 초기화하시겠습니까?",
- "resetStoredOptionsDialogText": "패치 옵션을 초기화하면 저장한 모든 옵션이 제거됩니다",
- "resetStoredOptions": "옵션을 초기화하였습니다",
- "deleteLogsLabel": "로그 제거하기",
- "deleteLogsHint": "수집된 ReVanced Manager 로그를 제거합니다",
- "deletedLogs": "로그를 제거하였습니다",
- "regenerateKeystoreLabel": "키스토어 재생성",
- "regenerateKeystoreHint": "앱을 서명할 때 사용한 키스토어를 재생성합니다",
- "regenerateKeystoreDialogTitle": "키스토어를 재생성하시겠습니까?",
- "regenerateKeystoreDialogText": "기존 키스토어로 서명한 패치된 앱을 더 이상 업데이트할 수 없게 됩니다",
- "regeneratedKeystore": "키스토어를 재생성하였습니다",
- "exportKeystoreLabel": "키스토어 내보내기",
- "exportKeystoreHint": "앱을 서명할 때 사용한 키스토어를 내보냅니다",
- "exportedKeystore": "키스토어를 내보냈습니다",
- "noKeystoreExportFileFound": "내보낼 키스토어가 없습니다",
- "importKeystoreLabel": "키스토어 가져오기",
- "importKeystoreHint": "앱을 서명할 때 사용한 키스토어를 가져옵니다",
- "importedKeystore": "키스토어를 가져왔습니다",
- "selectKeystorePassword": "키스토어 비밀번호",
- "selectKeystorePasswordHint": "앱을 서명할 때 사용한 키스토어 비밀번호를 선택하세요",
- "jsonSelectorErrorMessage": "선택한 JSON 파일을 사용할 수 없습니다",
- "keystoreSelectorErrorMessage": "선택한 키스토어 파일을 사용할 수 없습니다"
- },
- "appInfoView": {
- "widgetTitle": "앱 정보",
- "openButton": "열기",
- "installButton": "설치하기",
- "uninstallButton": "제거하기",
- "unmountButton": "마운트 해제",
- "exportButton": "내보내기",
- "deleteButton": "제거하기",
- "rootDialogTitle": "오류",
- "lastPatchedAppDescription": "마지막으로 패치된 앱의 백업입니다",
- "unmountDialogText": "이 앱의 마운트를 해제하시겠습니까?",
- "uninstallDialogText": "이 앱을 제거하시겠습니까?",
- "rootDialogText": "앱이 슈퍼유저 권한으로 설치되었으나 현재 ReVanced Manager에는 권한이 없습니다\n먼저 슈퍼유저 권한을 부여하세요",
- "removeAppDialogTitle": "앱을 제거하시겠습니까?",
- "removeAppDialogText": "이 백업을 제거하시겠습니까?",
- "packageNameLabel": "패키지 이름",
- "installTypeLabel": "설치 유형",
- "mountTypeLabel": "마운트",
- "regularTypeLabel": "일반",
- "patchedDateLabel": "패치된 날짜",
- "appliedPatchesLabel": "적용된 패치",
- "sizeLabel": "파일 크기",
- "patchedDateHint": "${date} ${time}",
- "appliedPatchesHint": "적용된 패치 ${quantity} 개",
- "updateNotImplemented": "이 기능은 아직 구현되지 않았습니다"
- },
- "contributorsView": {
- "widgetTitle": "도움을 주신 분들"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "버전 불일치",
- "mount_no_root": "Root 권한이 없습니다",
- "mount_missing_installation": "설치 대상을 찾을 수 없습니다",
- "status_failure_blocked": "설치가 차단되었습니다",
- "install_failed_verification_failure": "인증을 실패하였습니다",
- "status_failure_invalid": "설치가 유효하지 않습니다",
- "install_failed_version_downgrade": "다운그레이드를 할 수 없습니다",
- "status_failure_conflict": "설치가 충돌하였습니다",
- "status_failure_storage": "설치 저장소 문제",
- "status_failure_incompatible": "설치 미호환",
- "status_failure_timeout": "설치 시간 초과",
- "status_unknown": "설치 실패",
- "mount_version_mismatch_description": "패치된 앱과 설치된 앱의 버전이 달라서 설치에 실패하였습니다\n\n마운트하고 있는 앱의 버전으로 설치한 후에 다시 시도하세요",
- "mount_no_root_description": "Root 권한이 주어지지 않아서 설치에 실패하였습니다\n\nReVanced Manager에 Root 권한을 부여한 후에 다시 시도하세요",
- "mount_missing_installation_description": "패치되지 않은 앱이 이 기기에 설치되지 않아서 마운트를 진행할 수 없어서 설치에 실패하였습니다\n\n마운트하기 전 패치되지 않은 앱을 설치한 후에 다시 시도하세요",
- "status_failure_timeout_description": "설치하는 데 시간이 너무 오래 걸립니다\n\n다시 시도하시겠습니까?",
- "status_failure_storage_description": "저장소 공간이 충분하지 않아서 설치에 실패하였습니다\n\n저장소 공간을 확보한 후에 다시 시도하세요",
- "status_failure_invalid_description": "패치된 앱이 유효하지 않아서 설치에 실패하였습니다\n\n앱을 제거한 후에 다시 시도하시겠습니까?",
- "status_failure_incompatible_description": "이 앱은 이 기기와 호환되지 않습니다\n\n이 기기에서 지원되는 APK를 사용하여 다시 시도하세요",
- "status_failure_conflict_description": "기존에 설치된 앱이 설치를 방해하였습니다\n\n설치된 앱을 제거한 후에 다시 시도하시겠습니까?",
- "status_failure_blocked_description": "설치가 '${packageName}'에 의해 차단되었습니다\n\n보안 설정을 조정한 후에 다시 시도하세요",
- "install_failed_verification_failure_description": "인증 문제로 인해 설치에 실패하였습니다\n\n보안 설정을 조정한 후에 다시 시도하세요",
- "install_failed_version_downgrade_description": "패치된 앱의 버전이 설치된 앱의 버전보다 낮아서 설치에 실패하였습니다\n\n앱을 제거한 후에 다시 시도하시겠습니까?",
- "status_unknown_description": "알 수 없는 이유로 설치에 실패하였습니다. 다시 시도하세요"
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/lt_LT.i18n.json b/assets/i18n/lt_LT.i18n.json
deleted file mode 100755
index 8f8ae741..00000000
--- a/assets/i18n/lt_LT.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "Gerai",
- "cancelButton": "Atšaukti",
- "dismissButton": "Atmesti",
- "quitButton": "Išeiti",
- "updateButton": "Atnaujinti",
- "suggested": "Siūloma: ${version}",
- "yesButton": "Taip",
- "noButton": "Ne",
- "warning": "Įspėjimas",
- "notice": "Pranešimas",
- "noShowAgain": "Daugiau to nerodyti",
- "add": "Pridėti",
- "remove": "Pašalinti",
- "showChangelogButton": "Rodyti pakeitimų sąrašą",
- "showUpdateButton": "Rodyti naujinimą",
- "navigationView": {
- "dashboardTab": "Sąvadas",
- "patcherTab": "Pataisytuvas",
- "settingsTab": "Nustatymai"
- },
- "homeView": {
- "refreshSuccess": "Sėkmingai atnaujinta",
- "widgetTitle": "Sąvadas",
- "updatesSubtitle": "Naujinimai",
- "lastPatchedAppSubtitle": "Paskutinė pataisyta programa",
- "patchedSubtitle": "Įdiegtos programas",
- "changeLaterSubtitle": "Tai galite vėliau pakeisti nustatymuose.",
- "noSavedAppFound": "Programos nerasta",
- "noInstallations": "Nėra įdiegtų pataisytų programų",
- "installUpdate": "Toliau diegti naujinimą?",
- "updateSheetTitle": "Atnaujinti „ReVanced Manager“",
- "updateDialogTitle": "Yra naujas naujinimas",
- "updatePatchesSheetTitle": "Atnaujinti „ReVanced“ pataisas",
- "updateChangelogTitle": "Pakeitimų sąrašas",
- "updateDialogText": "Yra naujas ${file} naujinimas.\n\nŠiuo metu įdiegta versija yra ${version}.",
- "downloadConsentDialogTitle": "Atsisiųsti būtinus failus?",
- "downloadConsentDialogText": "„ReVanced Manager“ turi atsisiųsti būtinus failus, kad tinkamai veiktų.",
- "downloadConsentDialogText2": "Tai prijungs jus prie ${url}.",
- "downloadingMessage": "Atsisiunčiamas naujinimas...",
- "downloadedMessage": "Naujinimas atsisiųstas",
- "installingMessage": "Diegiamas naujinimas...",
- "errorDownloadMessage": "Nepavyksta atsisiųsti naujinimo.",
- "errorInstallMessage": "Nepavyksta įdiegti naujinimo.",
- "noConnection": "Nėra interneto ryšio."
- },
- "applicationItem": {
- "infoButton": "Informacija"
- },
- "latestCommitCard": {
- "loadingLabel": "Įkeliama...",
- "timeagoLabel": "prieš ${time}"
- },
- "patcherView": {
- "widgetTitle": "Pataisytuvas",
- "patchButton": "Pataisyti",
- "incompatibleArchWarningDialogText": "Pataisyti šioje architektūroje dar nepalaikoma ir gali nepavykti. Vis tiek tęsti?",
- "removedPatchesWarningDialogText": "Pašalintos pataisos nuo paskutinio šios programos pataisymo:\n\n${patches}\n\n${newPatches}Vis tiek tęsti?",
- "addedPatchesDialogText": "Pridėtos pataisos nuo paskutinio šios programos pataisymo:\n\n${addedPatches}\n",
- "requiredOptionDialogText": "Reikia nustatyti kai kurias pataisų parinktis."
- },
- "appSelectorCard": {
- "widgetTitle": "Pasirinkti programą",
- "widgetTitleSelected": "Pasirinkta programa",
- "widgetSubtitle": "Nėra pasirinktos programos",
- "noAppsLabel": "Programų nerasta",
- "anyVersion": "Bet kokia versija"
- },
- "patchSelectorCard": {
- "widgetTitle": "Pasirinkti pataisas",
- "widgetTitleSelected": "Pasirinktos pataisos",
- "widgetSubtitle": "Pirmiausia pasirinkite programą",
- "widgetEmptySubtitle": "Nėra pasirinktų pataisų"
- },
- "socialMediaCard": {
- "widgetTitle": "Socialiniai",
- "widgetSubtitle": "Mes esame internete!"
- },
- "appSelectorView": {
- "viewTitle": "Pasirinkti programą",
- "searchBarHint": "Ieškokite programos",
- "storageButton": "Saugykla",
- "selectFromStorageButton": "Pasirinkti iš saugyklos",
- "errorMessage": "Nepavyksta naudoti pasirinktos programos.",
- "downloadToast": "Atsisiuntimo funkcija dar nepasiekiama",
- "requireSuggestedAppVersionDialogText": "Pasirinkta programos versija neatitinka siūlomos versijos, todėl gali kilti nenumatytų problemų. Naudokite siūlomą versiją.\n\nPasirinkta versija: ${selected}\nSiūloma versija: ${suggested}\n\nKad vis tiek tęstumėte, nustatymuose išjunkite Privalauti siūlomos programos versijos.",
- "featureNotAvailable": "Funkcija dar neįgyvendinta",
- "featureNotAvailableText": "Ši programa – tai suskaidytas APK ir gali būti pataisytas ir patikimai įdiegtas tik montuojant su pagrindiniais leidimais. Tačiau visą APK galite pataisyti ir įdiegti pasirinkę jį iš saugyklos."
- },
- "patchesSelectorView": {
- "viewTitle": "Pasirinkti pataisas",
- "searchBarHint": "Ieškokite pataisų",
- "universalPatches": "Universalios pataisos",
- "newPatches": "Nauji pataisymai",
- "patches": "Pataisymai",
- "doneButton": "Atlikta",
- "defaultChip": "Numatytasis",
- "defaultTooltip": "Pasirinkite visus numatytąsias pataisas",
- "noneChip": "Nieko",
- "noneTooltip": "Panaikinkite visų pataisymų pasirinkimą",
- "loadPatchesSelection": "Įkelti pataisymų pasirinkimą",
- "noSavedPatches": "Nėra išsaugoto pasirinktos programos pataisymų pasirinkimo.\nPaspauskite Atlikta, kad išsaugotumėte dabartinį pasirinkimą.",
- "noPatchesFound": "Pasirinktai programėlei pataisymų nerasta",
- "setRequiredOption": "Kai kuriems pataisymams reikia nustatyti parinktis:\n\n${patches}\n\nPrieš tęsdami darbą, nustatykite jas."
- },
- "patchOptionsView": {
- "customValue": "Pasirinkta vertė",
- "setToNull": "Nustatyti kaip null",
- "nullValue": "Šios parinkties reikšmė šiuo metu yra null",
- "viewTitle": "Pataisymų parinktys",
- "saveOptions": "Išsaugoti",
- "unselectPatch": "Atšaukti pataisos pasirinkimą",
- "tooltip": "Daugiau įvesties pasirinkčių",
- "selectFilePath": "Pasirinkite failo kelią",
- "selectFolder": "Pasirinkti aplanką",
- "requiredOption": "Šios parinkties nustatymas yra būtinas",
- "unsupportedOption": "Ši parinktis nepalaikoma",
- "requiredOptionNull": "Reikia nustatyti šias parinktis:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "Pasirinkus šį pataisymą, gali atsirasti pataisymo klaidų.\n\nProgramos versija: ${packageVersion}\nPalaikomos versijos:\n${supportedVersions}",
- "unsupportedPatchVersion": "Šiame programos leidime pataisa nepalaikoma.",
- "unsupportedRequiredOption": "Šiame pataisyme yra privaloma parinktis, kurios ši programa nepalaiko",
- "patchesChangeWarningDialogText": "Rekomenduojama naudoti numatytą pataisų pasirinkimą ir parinktis. Jų keitimas gali sukelti netikėtų problemų.\n\nPrieš keisdami bet kurį pataisų pasirinkimą turėsite įjungti \"Leisti keisti pataisų pasirinkimą\" nustatymuose.",
- "patchesChangeWarningDialogButton": "Naudoti numatytą pasirinkimą"
- },
- "installerView": {
- "installType": "Pasirinkite diegimo tipą",
- "installTypeDescription": "Pasirinkite įdiegimo tipą, kad tęstumėte.",
- "installButton": "Įdiegti",
- "installRootType": "Įdėti",
- "installNonRootType": "Įprastas",
- "warning": "Išjunkite automatinius pataisytos programos atnaujinimus, kad išvengtumėte netikėtų problemų.",
- "pressBackAgain": "Dar kartą paspauskite atgal, kad atšauktumėte",
- "openButton": "Atidaryti",
- "notificationTitle": "ReVanced Tvarkyklė yra pataisomas",
- "notificationText": "Paspauskite sugrįžti į įdiegėją",
- "exportApkButtonTooltip": "Eksportuoti pataisytą APK",
- "exportLogButtonTooltip": "Eksportuoti įrašus",
- "screenshotDetected": "Aptikta ekrano nuotrauka. Jei bandote dalintis įrašu, vietoje jo pasidalykite teksto kopija.\n\nKopijuoti įrašą į iškarpinę?",
- "copiedToClipboard": "Nukopijuotas įrašas į iškarpinę",
- "noExit": "Diegimo programa vis dar veikia, negalima išeiti..."
- },
- "settingsView": {
- "widgetTitle": "Nustatymai",
- "appearanceSectionTitle": "Išvaizda",
- "teamSectionTitle": "Komanda",
- "debugSectionTitle": "Derinimas",
- "advancedSectionTitle": "Išplėstiniai nustatymai",
- "exportSectionTitle": "Importuoti ir eksportuoti",
- "dataSectionTitle": "Duomenų šaltiniai",
- "themeModeLabel": "Programos tema",
- "systemThemeLabel": "Sistema",
- "lightThemeLabel": "Šviesus",
- "darkThemeLabel": "Tamsus",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "Mėgaukis patirtimi artimiau tavo įrenginiui",
- "languageLabel": "Kalba",
- "languageUpdated": "Kalba atnaujinta",
- "sourcesLabel": "Alternatyvūs šaltiniai",
- "sourcesLabelHint": "Konfigūruoti alternatyvius ReVanced Patches šaltinius",
- "useAlternativeSources": "Naudoti alternatyvius šaltinius",
- "useAlternativeSourcesHint": "Naudoti alternatyvius šaltinius ReVanced Patches vietoj API",
- "sourcesResetDialogTitle": "Nustatyti iš naujo",
- "sourcesResetDialogText": "Ar tikrai norite iš naujo nustatyti savo šaltinius į numatytąsias vertes?",
- "apiURLResetDialogText": "Ar tikrai norite iš naujo nustatyti savo API URL adresą į numatytąją vertę?",
- "sourcesUpdateNote": "Pastaba: Tai automatiškai atsisiųs ReVanced Patches iš alternatyvių šaltinių.\n\nTai sujungs jus su alternatyviu šaltiniu.",
- "apiURLLabel": "API URL",
- "apiURLHint": "Konfigūruoti ReVanced Manager API URL",
- "selectApiURL": "API URL",
- "orgPatchesLabel": "Modifikacijų organizacija",
- "sourcesPatchesLabel": "Modifikacijų šaltinis",
- "contributorsLabel": "Prisidėjusieji žmonės",
- "contributorsHint": "Žmonės prisidėję prie ReVanced",
- "logsLabel": "Dalytis įrašais",
- "logsHint": "Dalytis ReVanced Tvarkyklės įrašais",
- "enablePatchesSelectionLabel": "Leisti keisti pataisymų pasirinkimą",
- "enablePatchesSelectionHint": "Neleisti pasirinkti arba atšaukti pataisų pasirinkimą",
- "enablePatchesSelectionWarningText": "Keičiant pataisymų pasirinkimą gali kilti netikėtų problemų.\n\nVis tiek įjungti?",
- "disablePatchesSelectionWarningText": "Jūs ketinate išjungti pataisymų pasirinkimo keitimą.\nNumatytasis pataisymų pasirinkimas bus atstatytas.\n\nVis dėlto išjungti?",
- "autoUpdatePatchesLabel": "Automatiškai atnaujinti pataisymus",
- "autoUpdatePatchesHint": "Automatiškai atnaujinti pataisymus iki naujausios versijos",
- "showUpdateDialogLabel": "Rodyti atnaujinimo dialogą",
- "showUpdateDialogHint": "Rodyti dialogą, kai pasiekiamas naujas atnaujinimas",
- "universalPatchesLabel": "Rodyti universalius pataisymus",
- "universalPatchesHint": "Rodyti visas programas ir universalius pataisymus (gali sulėtėti programų sąrašas)",
- "lastPatchedAppLabel": "Išsaugoti pataisytą programą",
- "lastPatchedAppHint": "Išsaugoti paskutinę pataisą, kad būtų galima ją įdiegti arba eksportuoti vėliau",
- "versionCompatibilityCheckLabel": "Versijos suderinamumo tikrinimas",
- "versionCompatibilityCheckHint": "Neleisti pasirinkti pataisų, kurios nesuderinamos su pasirinkta programos versija",
- "requireSuggestedAppVersionLabel": "Reikalauti siūlomos programėlės versijos",
- "requireSuggestedAppVersionHint": "Neleisti pasirinkti programos su versija, kuri nėra rekomenduojama",
- "requireSuggestedAppVersionDialogText": "Pasirinkus ne siūlomą programėlės versiją, gali kilti nenumatytų problemų.\n\nAr norite vis tiek tęsti?",
- "aboutLabel": "Apie",
- "snackbarMessage": "Nukopijuota į iškarpinę",
- "restartAppForChanges": "Iš naujo paleiskite programą, kad modifikacijos įsigaliotų",
- "deleteTempDirLabel": "Ištrinti laikinus failus",
- "deleteTempDirHint": "Ištrinti nenaudojamus laikinus failus",
- "deletedTempDir": "Laikini failai ištrinti",
- "exportSettingsLabel": "Eksportuoti nustatymus",
- "exportSettingsHint": "Eksportuoti nustatymus į JSON failą",
- "exportedSettings": "Nustatymai eksportuoti",
- "importSettingsLabel": "Importuoti nustatymus",
- "importSettingsHint": "Importuoti nustatymus iš JSON failo",
- "importedSettings": "Nustatymai importuoti",
- "exportPatchesLabel": "Eksportuoti pataisymų pasirinkimą",
- "exportPatchesHint": "Eksportuoti pataisymų pasirinkimą į JSON failą",
- "exportedPatches": "Eksportuotas pataisymų pasirinkimas",
- "noExportFileFound": "Nėra pataisymų pasirinkimo eksportuoti",
- "importPatchesLabel": "Importuoti pataisymų pasirinkimą",
- "importPatchesHint": "Importuoti pataisymų pasirinkimą iš JSON failo",
- "importedPatches": "Importuotas pataisymų pasirinkimas",
- "resetStoredPatchesLabel": "Iš naujo nustatyti pataisymų pasirinkimą",
- "resetStoredPatchesHint": "Iš naujo nustatyti išsaugotą pataisymų pasirinkimą",
- "resetStoredPatchesDialogTitle": "Iš naujo nustatyti pataisymų pasirinkimą?",
- "resetStoredPatchesDialogText": "Bus atkurtas numatytasis pataisymų pasirinkimas.",
- "resetStoredPatches": "Pataisymų pasirinkimas buvo iš naujo nustatytas",
- "resetStoredOptionsLabel": "Iš naujo nustatyti pataisymų parinktis",
- "resetStoredOptionsHint": "Iš naujo nustatyti visas pataisymų parinktis",
- "resetStoredOptionsDialogTitle": "Iš naujo nustatyti pataisymo parinktis?",
- "resetStoredOptionsDialogText": "Iš naujo nustatant pataisymų parinktis bus pašalintos visos išsaugotos parinktys.",
- "resetStoredOptions": "Parinktys buvo iš naujo nustatytos",
- "deleteLogsLabel": "Išvalyti įrašus",
- "deleteLogsHint": "Ištrinti surinktus ReVanced Tvarkyklės įrašus",
- "deletedLogs": "Įrašai ištrinti",
- "regenerateKeystoreLabel": "Iš naujo sukurti raktų saugyklą",
- "regenerateKeystoreHint": "Iš naujo sukurti programoms pasirašyti naudojamą raktų saugyklą",
- "regenerateKeystoreDialogTitle": "Iš naujo sukurti raktų saugyklą?",
- "regenerateKeystoreDialogText": "Pataisytos programos, pasirašytos senąja raktų saugykla, nebegalės būti atnaujinamos.",
- "regeneratedKeystore": "Raktų saugykla iš naujo sukurta",
- "exportKeystoreLabel": "Eksportuoti raktų saugyklą",
- "exportKeystoreHint": "Eksportuoti raktų saugyklą, naudojamą programoms pasirašyti",
- "exportedKeystore": "Raktų saugykla eksportuota",
- "noKeystoreExportFileFound": "Nėra raktų saugyklos",
- "importKeystoreLabel": "Importuoti raktų saugyklą",
- "importKeystoreHint": "Importuoti raktų saugyklą, naudojamą programoms pasirašyti",
- "importedKeystore": "Raktų saugykla importuota",
- "selectKeystorePassword": "Raktų saugyklos slaptažodis",
- "selectKeystorePasswordHint": "Pasirinkti raktų saugyklos slaptažodį, naudojamą programoms pasirašyti",
- "jsonSelectorErrorMessage": "Neina naudoti pasirinkto JSON failo",
- "keystoreSelectorErrorMessage": "Nepavyksta naudoti pasirinkto raktų saugyklos failo"
- },
- "appInfoView": {
- "widgetTitle": "Programos informacija",
- "openButton": "Atidaryti",
- "installButton": "Įdiegti",
- "uninstallButton": "Išdiegti",
- "unmountButton": "Atjungti",
- "exportButton": "Eksportuoti",
- "deleteButton": "Ištrinti",
- "rootDialogTitle": "Klaida",
- "lastPatchedAppDescription": "Tai yra paskutinės pataisytos programos atsarginė kopija.",
- "unmountDialogText": "Ar tikrai norite atjungti šią programą?",
- "uninstallDialogText": "Ar tikrai norite pašalinti šią programą?",
- "rootDialogText": "Programa buvo įdiegta su super vartotojo leidimais, tačiau šiuo metu ReVanced Tvarkyklė neturi jokių leidimų.\nPrašome pirmiausia suteikti super vartotojo leidimus.",
- "removeAppDialogTitle": "Ištrinti programą?",
- "removeAppDialogText": "Ar tikrai norite ištrinti šią atsarginę kopiją?",
- "packageNameLabel": "Paketo pavadinimas",
- "installTypeLabel": "Įdiegimo tipas",
- "mountTypeLabel": "Įdėti",
- "regularTypeLabel": "Įprastas",
- "patchedDateLabel": "Pataisymo data",
- "appliedPatchesLabel": "Pritaikyti pataisymai",
- "sizeLabel": "Failo dydis",
- "patchedDateHint": "${date} ${time}",
- "appliedPatchesHint": "${quantity} pritaikyti pataisymai",
- "updateNotImplemented": "Ši funkcija dar neįgyvendinta"
- },
- "contributorsView": {
- "widgetTitle": "Prisidėjusieji žmonės"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "Versijų neatitikimas",
- "mount_no_root": "Nėra root prieigos",
- "mount_missing_installation": "Įdiegimas nerastas",
- "status_failure_blocked": "Įdiegimas užblokuotas",
- "install_failed_verification_failure": "Patikrinimas nepavyko",
- "status_failure_invalid": "Įdiegimas netinkamas",
- "install_failed_version_downgrade": "Negalima sumažinti versijos",
- "status_failure_conflict": "Įdiegimo konfliktas",
- "status_failure_storage": "Įdiegimo saugojimo klaida",
- "status_failure_incompatible": "Įdiegimas nesuderinamas",
- "status_failure_timeout": "Įdiegimo laiko tarpas baigėsi",
- "status_unknown": "Įdiegimas nepavyko",
- "mount_version_mismatch_description": "Įdiegimas nepavyko dėl to, kad įdiegta programa yra kitos versijos nei pataisyta programa.\n\nĮdiekite programos versiją, kurią montuojate, ir bandykite dar kartą.",
- "mount_no_root_description": "Įdiegimas nepavyko, nes root prieiga nebuvo suteikta.\n\nSuteikite root prieigą ReVanced Manager ir bandykite dar kartą.",
- "mount_missing_installation_description": "Įdiegimas nepavyko, nes šiame įrenginyje nėra įdiegta nepakeista programa, kad būtų galima ją sumontuoti.\n\nĮdiekite nepakeistą programą prieš montuodami ir bandykite dar kartą.",
- "status_failure_timeout_description": "Įdiegimui baigtis prireikė per daug laiko.\n\nAr norite pabandyti dar kartą?",
- "status_failure_storage_description": "Įdiegimas nepavyko dėl nepakankamos saugojimo vietos.\n\nIšlaisvinkite vietos ir bandykite dar kartą.",
- "status_failure_invalid_description": "Įdiegimas nepavyko, nes pataisyta programa yra netinkama.\n\nPašalinkite programą ir bandykite dar kartą?",
- "status_failure_incompatible_description": "Programa nesuderinama su šiuo įrenginiu.\n\nNaudokite APK, kuris yra palaikomas šio įrenginio, ir bandykite dar kartą.",
- "status_failure_conflict_description": "Esamas programos įdiegimas sustabdė įdiegimą.\n\nPašalinkite įdiegtą programą ir bandykite dar kartą?",
- "status_failure_blocked_description": "Įdiegimą blokavo ${packageName}.\n\nSureguliuokite saugos nustatymus ir bandykite dar kartą.",
- "install_failed_verification_failure_description": "Įdiegimas nepavyko dėl patvirtinimo klaidos.\n\nSureguliuokite saugos nustatymus ir bandykite dar kartą.",
- "install_failed_version_downgrade_description": "Įdiegimas nepavyko, nes pataisyta programa yra senesnės versijos nei įdiegta programa.\n\nPašalinti programą ir bandyti dar kartą?",
- "status_unknown_description": "Įdiegimas nepavyko dėl nežinomos priežasties. Bandykite dar kartą."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/lv_LV.i18n.json b/assets/i18n/lv_LV.i18n.json
deleted file mode 100755
index 884e4a7f..00000000
--- a/assets/i18n/lv_LV.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "Labi",
- "cancelButton": "Atcelt",
- "dismissButton": "Atmest",
- "quitButton": "Iziet",
- "updateButton": "Atjaunināt",
- "suggested": "Ieteiktā versija: ${version}",
- "yesButton": "Jā",
- "noButton": "Nē",
- "warning": "Brīdinājums",
- "notice": "Piezīme",
- "noShowAgain": "Vairs nerādīt",
- "add": "Pievienot",
- "remove": "Noņemt",
- "showChangelogButton": "Rādīt izmaiņu sarakstu",
- "showUpdateButton": "Rādīt atjauninājumus",
- "navigationView": {
- "dashboardTab": "Info panelis",
- "patcherTab": "Lāpītājs",
- "settingsTab": "Iestatījumi"
- },
- "homeView": {
- "refreshSuccess": "Veiksmīgi atsvaidzināts",
- "widgetTitle": "Info panelis",
- "updatesSubtitle": "Atjauninājumi",
- "lastPatchedAppSubtitle": "Pēdējā lāpītā lietotne",
- "patchedSubtitle": "Instalētās lietotnes",
- "changeLaterSubtitle": "Jūs varat mainīt šo iestatījumu vēlāk.",
- "noSavedAppFound": "Neviena lietotne nav atrasta",
- "noInstallations": "Nav instalēta neviena lāpīta aplikācija",
- "installUpdate": "Vai turpināt instalēt atjauninājumu?",
- "updateSheetTitle": "Atjaunit ReVanced pārvaldnieku",
- "updateDialogTitle": "Jauns atjauninājums ir pieejams",
- "updatePatchesSheetTitle": "Atjaunināt ReVanced ielāpus",
- "updateChangelogTitle": "Izmaiņu žurnāls",
- "updateDialogText": "Jauns atjauninājums ir pieejams ${file}.\n\nŠobrīd instalētā versija ir ${version}.",
- "downloadConsentDialogTitle": "Lejupielādēt nepieciešamos failus?",
- "downloadConsentDialogText": "ReVanced pārvaldniekam ir jālejupielādē nepieciešamie faili, lai tas darbotos korekti.",
- "downloadConsentDialogText2": "Tev tas izveidos savienojumu ar ${url}.",
- "downloadingMessage": "Lejupielādē atjauninājumu...",
- "downloadedMessage": "Atjauninājums lejupielādēts",
- "installingMessage": "Instalē atjauninājumu...",
- "errorDownloadMessage": "Nav iespējams lejupielādēt atjauninājumu",
- "errorInstallMessage": "Nav iespējams instalēt atjauninājumu",
- "noConnection": "Nav interneta savienojuma"
- },
- "applicationItem": {
- "infoButton": "Informācija"
- },
- "latestCommitCard": {
- "loadingLabel": "Notiek ielāde...",
- "timeagoLabel": "Pirms ${time}"
- },
- "patcherView": {
- "widgetTitle": "Lāpītājs",
- "patchButton": "Lāpīt",
- "incompatibleArchWarningDialogText": "Labošana šajā arhitektūrā vēl nav atbalstīta un var neizdoties. Tomēr turpināt?",
- "removedPatchesWarningDialogText": "Noņemti ielāpi kopš pēdējās reizes kad jūs lāpijāt šo lietotni:\n\n${patches}\n\n${newPatches}Vienalga turpināt?",
- "addedPatchesDialogText": "Pievienoti ielāpi kopš pēdējās reizes kad jūs lāpijāt šo lietotni:\n\n${addedPatches}",
- "requiredOptionDialogText": "Ir jāiestata dažas ielāpu opcijas."
- },
- "appSelectorCard": {
- "widgetTitle": "Izvēlaties lietotni",
- "widgetTitleSelected": "Izvēlētā lietotne",
- "widgetSubtitle": "Neviena lietotne nav izvēlēta",
- "noAppsLabel": "Netika atrasta neviena aplikācija",
- "anyVersion": "Jebkura versija"
- },
- "patchSelectorCard": {
- "widgetTitle": "Izvēlies ielāpus",
- "widgetTitleSelected": "Izvēlētie ielāpi",
- "widgetSubtitle": "Vispirms, izvēlieties aplikāciju",
- "widgetEmptySubtitle": "Nav atlasītu ielāpu"
- },
- "socialMediaCard": {
- "widgetTitle": "Sociālie tīkli",
- "widgetSubtitle": "Mēs esam tiešsaistē!"
- },
- "appSelectorView": {
- "viewTitle": "Izvēlaties lietotni",
- "searchBarHint": "Meklēt lietotni",
- "storageButton": "Krātuve",
- "selectFromStorageButton": "Izvēlēties no krātuves",
- "errorMessage": "Nevar izmantot atlasīto aplikāciju",
- "downloadToast": "Lejupielādes funkcija pašlaik nav pieejama",
- "requireSuggestedAppVersionDialogText": "Lietotnes versija, kuru Jūs izvēlējāties, neatbilst rekomendētajai versijai, kas var novest līdz dažādām ķibelēm. Aicinām Jūs lietot rekomendēto versiju.\n\nIzvēlētā versija: ${selected}\nRekomendētā versija: ${suggested}\n\nLai turpinātu tā pat, atslēdziet \"Piespiest rekomendēto aplikācijas versiju\" iestatījumos.",
- "featureNotAvailable": "Funkcija nav ieviesta",
- "featureNotAvailableText": "Šī lietotne ir sadalīta APK un to var uzticami labot un instalēt tikai montējot ar root atļaujām. Tomēr jūs varat labot un instalēt pilnu APK, izvēloties to no krātuves."
- },
- "patchesSelectorView": {
- "viewTitle": "Izvēlies ielāpus",
- "searchBarHint": "Meklē ielāpus",
- "universalPatches": "Universāli ielāpi",
- "newPatches": "Jauni ielāpi",
- "patches": "Ielāpi",
- "doneButton": "Gatavs",
- "defaultChip": "Noklusējums",
- "defaultTooltip": "Atlasiet visus noklusējuma ielāpus",
- "noneChip": "Neviens",
- "noneTooltip": "Noņemt visu ielāpu izvēli",
- "loadPatchesSelection": "Ielādēt ielāpu izvēli",
- "noSavedPatches": "Nav saglabāta ielāpu izvēle priekš izvēlētās lietotnes.\nSpied Gatavs lai saglabātu pašreizējo izvēli.",
- "noPatchesFound": "Atlasītajai lietotnei nav atrasts neviens ielāps",
- "setRequiredOption": "Dažiem ielāpiem ir prasība iestatīt opcijas:\n\n${patches}\n\nLūdzu iestatiet tās pirms turpināšanas."
- },
- "patchOptionsView": {
- "customValue": "Pielāgota vērtība",
- "setToNull": "Iestatīt uz nulli",
- "nullValue": "Šīs opcijas vērtības šobrīd ir nulle",
- "viewTitle": "Ielāpu opcijas",
- "saveOptions": "Saglabāt",
- "unselectPatch": "Noņemt ielāpa izvēli",
- "tooltip": "Vairāk ievades opcijas",
- "selectFilePath": "Izvēlēties faila ceļu",
- "selectFolder": "Izvēlēties mapi",
- "requiredOption": "Šīs opcijas iestatīšana ir obligāta",
- "unsupportedOption": "Šī opcija netiek atbalstīta",
- "requiredOptionNull": "Jāiestata šādas opcijas:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "Var rasties ielāpu kļūdas, izvēloties šo ielāpu.\n\nLietotnes versija: ${packageVersion}\nPašlaik atbalstītās versijas:\n${supportedVersions}",
- "unsupportedPatchVersion": "Ielāps netiek atbalstīts šīs lietotnes versijai.",
- "unsupportedRequiredOption": "Šis labojums satur obligātu opciju, kuru šī lietotne neatbalsta",
- "patchesChangeWarningDialogText": "Ieteicams izmantot labojumu un opciju noklusējuma izvēli. Tās maiņa var izraisīt negaidītas problēmas.\n\nJums būs jāiespējo \"Atļaut mainīt labojumu izvēli\" iestatījumos, pirms varēsiet mainīt kādu labojumu izvēli.",
- "patchesChangeWarningDialogButton": "Lietot noklusējuma izvēli"
- },
- "installerView": {
- "installType": "Izvēlaties instalācijas tipu",
- "installTypeDescription": "Izvēlieties instalēšanas veidu, lai turpinātu.",
- "installButton": "Instalēt",
- "installRootType": "Montēt",
- "installNonRootType": "Parasts",
- "warning": "Atspējojiet automātisko atjauninājumu labotai lietotnei, lai izvairītos no negaidītām problēmām.",
- "pressBackAgain": "Nospiediet \"Atpakaļ\" vēlreiz, lai atceltu",
- "openButton": "Atvērt",
- "notificationTitle": "ReVanced Manager uzliek ielāpus",
- "notificationText": "Spied, lai atgrieztos pie instalācijas",
- "exportApkButtonTooltip": "Eksportēt laboto APK",
- "exportLogButtonTooltip": "Eksportēt žurnālu",
- "screenshotDetected": "Ir konstatēts ekrānuzņēmums. Ja vēlaties kopīgot žurnālu, lūdzu, kopīgojiet teksta kopiju vietā.\n\nKopēt žurnālu starpliktuvē?",
- "copiedToClipboard": "Žurnāls kopēts starpliktuvē",
- "noExit": "Vēl notiek instalācija, nevar iziet..."
- },
- "settingsView": {
- "widgetTitle": "Iestatījumi",
- "appearanceSectionTitle": "Izskats",
- "teamSectionTitle": "Komanda",
- "debugSectionTitle": "Atrasties",
- "advancedSectionTitle": "Papildus",
- "exportSectionTitle": "Importēt / Eksportēt",
- "dataSectionTitle": "Datu avoti",
- "themeModeLabel": "Aplikācijas motīvs",
- "systemThemeLabel": "Sistēma",
- "lightThemeLabel": "Gaišs",
- "darkThemeLabel": "Tumšais režīms",
- "dynamicThemeLabel": "Materiāls izskats",
- "dynamicThemeHint": "Izbaudi pieredzi personalizētu tavai ierīcei",
- "languageLabel": "Valoda",
- "languageUpdated": "Valoda atjaunināta",
- "sourcesLabel": "Alternatīvie avoti",
- "sourcesLabelHint": "Konfigurēt alternatīvos avotus ReVanced labojumiem",
- "useAlternativeSources": "Izmantot alternatīvos avotus",
- "useAlternativeSourcesHint": "Izmantot alternatīvos avotus ReVanced labojumiem vietā API",
- "sourcesResetDialogTitle": "Atiestatīt",
- "sourcesResetDialogText": "Vai tiešām vēlaties atiestatīt savus avotus uz noklusējuma vērtībām?",
- "apiURLResetDialogText": "Vai tiešām vēlaties atiestatīt savu API URL uz tā noklusējuma vērtību?",
- "sourcesUpdateNote": "Piezīme: Tas automātiski lejupielādēs ReVanced labojumus no alternatīviem avotiem.\n\nTas savienos jūs ar alternatīvo avotu.",
- "apiURLLabel": "API Saite",
- "apiURLHint": "Konfigurēt ReVanced Manager API URL",
- "selectApiURL": "API Saite",
- "orgPatchesLabel": "Ielāpu organizācija",
- "sourcesPatchesLabel": "Ielāpu avots",
- "contributorsLabel": "Autori",
- "contributorsHint": "ReVanced ieguldītāji",
- "logsLabel": "Kopīgot žurnālus",
- "logsHint": "Kopīgot ReVanced Manager žurnālus",
- "enablePatchesSelectionLabel": "Atļaut mainīt labojumu izvēli",
- "enablePatchesSelectionHint": "Neatļaut izvēlēties vai atcelt labojumu izvēli",
- "enablePatchesSelectionWarningText": "Mainot labojumu izvēli, var rasties negaidītas problēmas.\n\nTomēr iespējot?",
- "disablePatchesSelectionWarningText": "Jūs gatavojaties atspējot labojumu izvēles maiņu.\nTiksies atjaunota labojumu noklusējuma izvēle.\n\nTomēr atspējot?",
- "autoUpdatePatchesLabel": "Automātiski atjaunināt ielāpus",
- "autoUpdatePatchesHint": "Automātiski atjaunināt ielāpus uz jaunāko versiju",
- "showUpdateDialogLabel": "Rādīt atjauninājuma dialoglodziņu",
- "showUpdateDialogHint": "Rādīt dialoglodziņu, kad ir pieejams jauns atjauninājums",
- "universalPatchesLabel": "Rādīt universālos ielāpus",
- "universalPatchesHint": "Rādīt visas lietotnes un universālos labojumus (var palēnināt lietotņu saraksta ielādi)",
- "lastPatchedAppLabel": "Saglabāt salāpīto lietotni",
- "lastPatchedAppHint": "Saglabāt pēdējo ielāpu priekš vēlākas instalācijas vai eksportēšanas",
- "versionCompatibilityCheckLabel": "Pārbaudīt versijas saderību",
- "versionCompatibilityCheckHint": "Novērst labojumu izvēli, kas nav saderīgi ar izvēlēto lietotnes versiju",
- "requireSuggestedAppVersionLabel": "Pieprasīt ieteikto lietotnes versiju",
- "requireSuggestedAppVersionHint": "Novērst lietotnes izvēli ar versiju, kas nav ieteiktā",
- "requireSuggestedAppVersionDialogText": "Izvēloties lietotni, kas nav ieteiktā versija, var rasties negaidītas problēmas.\n\nVai vēlaties turpināt?",
- "aboutLabel": "Par",
- "snackbarMessage": "Ievietots starpliktuvē",
- "restartAppForChanges": "Restartējiet lietotni, lai piemērotu izmaiņas",
- "deleteTempDirLabel": "Dzēst pagaidu failus",
- "deleteTempDirHint": "Dzēst neizmantotos pagaidu failus",
- "deletedTempDir": "Pagaidu faili izdzēsti",
- "exportSettingsLabel": "Eksportēt iestatījumus",
- "exportSettingsHint": "Eksportēt iestatījumus JSON failā",
- "exportedSettings": "Iestatījumi eksportēti",
- "importSettingsLabel": "Importēt iestatījumus",
- "importSettingsHint": "Importēt iestatījumus no JSON faila",
- "importedSettings": "Iestatījumi importēti",
- "exportPatchesLabel": "Eksportēt labojumu izvēli",
- "exportPatchesHint": "Eksportēt labojumu izvēli JSON failā",
- "exportedPatches": "Labojumu izvēle eksportēta",
- "noExportFileFound": "Nav labojumu izvēles, ko eksportēt",
- "importPatchesLabel": "Importēt labojumu izvēli",
- "importPatchesHint": "Importēt labojumu izvēli no JSON faila",
- "importedPatches": "Labojumu izvēle importēta",
- "resetStoredPatchesLabel": "Atiestatīt labojumu izvēli",
- "resetStoredPatchesHint": "Atiestatīt saglabāto labojumu izvēli",
- "resetStoredPatchesDialogTitle": "Atiestatīt labojumu izvēli?",
- "resetStoredPatchesDialogText": "Tiksies atjaunota labojumu noklusējuma izvēle.",
- "resetStoredPatches": "Labojumu izvēle ir atiestatīta",
- "resetStoredOptionsLabel": "Atiestatīt labojumu opcijas",
- "resetStoredOptionsHint": "Atiestatīt visas labojumu opcijas",
- "resetStoredOptionsDialogTitle": "Atiestatīt labojumu opcijas?",
- "resetStoredOptionsDialogText": "Atiestatot labojumu opcijas, tiks dzēstas visas saglabātās opcijas.",
- "resetStoredOptions": "Opcijas ir atiestatītas",
- "deleteLogsLabel": "Notīrīt žurnālus",
- "deleteLogsHint": "Dzēst savāktos ReVanced Manager žurnālus",
- "deletedLogs": "Žurnāls dzēsts",
- "regenerateKeystoreLabel": "Atdzimt atslēgu krātuve",
- "regenerateKeystoreHint": "Atdzimt atslēgu krātuve, ko izmanto lietotņu parakstīšanai",
- "regenerateKeystoreDialogTitle": "Atdzimt atslēgu krātuve?",
- "regenerateKeystoreDialogText": "Lietotnes, kas labotas ar veco atslēgu krātuvi, vairs nevarēs atjaunināt.",
- "regeneratedKeystore": "Atslēgu krātuve atdzimusi",
- "exportKeystoreLabel": "Eksportēt drošības atslēgu krātuvi",
- "exportKeystoreHint": "Eksportēt atslēgu krātuvi, ko izmanto lietotņu parakstīšanai",
- "exportedKeystore": "Drošības atslēgu krātuve ir eksportēta",
- "noKeystoreExportFileFound": "Eksportējamo drošības atslēgu krātuves nav",
- "importKeystoreLabel": "Importēt drošības atslēgu krātuvi",
- "importKeystoreHint": "Importēt atslēgu krātuvi, ko izmanto lietotņu parakstīšanai",
- "importedKeystore": "Drošības atslēgu krātuve ir importēta",
- "selectKeystorePassword": "Atslēgu krātuves parole",
- "selectKeystorePasswordHint": "Izvēlieties atslēgu krātuves paroli, ko izmanto lietotņu parakstīšanai",
- "jsonSelectorErrorMessage": "Nevar izmantot atlasīto JSON failu",
- "keystoreSelectorErrorMessage": "Nevar izmantot izvēlēto atslēgu krātuves failu"
- },
- "appInfoView": {
- "widgetTitle": "Lietotnes informācija",
- "openButton": "Atvērt",
- "installButton": "Instalēt",
- "uninstallButton": "Atinstalēt",
- "unmountButton": "Atvienojiet",
- "exportButton": "Eksportēt",
- "deleteButton": "Dzēst",
- "rootDialogTitle": "Kļūda",
- "lastPatchedAppDescription": "Šī ir lietotnes dublējums, kas pēdējo reizi tika labota.",
- "unmountDialogText": "Vai tiešām vēlaties atvienot šo lietotni?",
- "uninstallDialogText": "Vai esat pārliecināti, ka vēlaties atinstalēt šo lietotni?",
- "rootDialogText": "Aplikācija tika instalēta ar superuser pieejām, taču ReVanced Manager nav šādu pieeju.\nLūdzams uzlikt vispirms superuser ieejas.",
- "removeAppDialogTitle": "Dzēst lietotni?",
- "removeAppDialogText": "Vai tiešām vēlaties dzēst šo dublējumu?",
- "packageNameLabel": "Pakotnes nosaukums",
- "installTypeLabel": "Instalācijas tips",
- "mountTypeLabel": "Montēt",
- "regularTypeLabel": "Parasts",
- "patchedDateLabel": "Salāpīšanas datums",
- "appliedPatchesLabel": "Izmantotie ielāpi",
- "sizeLabel": "Faila izmērs",
- "patchedDateHint": "${date} un ${time}",
- "appliedPatchesHint": "${quantity} izmantoti ielāpi",
- "updateNotImplemented": "Šī funkcija vēl nav izveidota"
- },
- "contributorsView": {
- "widgetTitle": "Autori"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "Versijas neatbilstība",
- "mount_no_root": "Nav root piekļuves",
- "mount_missing_installation": "Instalācija nav atrasta",
- "status_failure_blocked": "Instalācija bloķēta",
- "install_failed_verification_failure": "Verifikācija neizdevās",
- "status_failure_invalid": "Instalācija nederīga",
- "install_failed_version_downgrade": "Nevar samazināt versiju",
- "status_failure_conflict": "Instalācijas konflikts",
- "status_failure_storage": "Instalācijas krātuves problēma",
- "status_failure_incompatible": "Instalācija nav saderīga",
- "status_failure_timeout": "Instalācijas noildze",
- "status_unknown": "Instalācija neizdevās",
- "mount_version_mismatch_description": "Instalēšana neizdevās, jo instalētā lietotne ir citā versijā nekā labotā lietotne.\n\nInstalējiet lietotnes versiju, kuru montējat, un mēģiniet vēlreiz.",
- "mount_no_root_description": "Instalēšana neizdevās, jo nav piešķirta root piekļuve.\n\nPiešķiriet root piekļuvi ReVanced Manager un mēģiniet vēlreiz.",
- "mount_missing_installation_description": "Instalēšana neizdevās, jo šajā ierīcē nav instalēta nelabotā lietotne, lai to varētu montēt virs tās.\n\nInstalējiet nelabotu lietotni pirms montēšanas un mēģiniet vēlreiz.",
- "status_failure_timeout_description": "Instalēšana paņēma pārāk daudz laika.\n\nVai vēlaties mēģināt vēlreiz?",
- "status_failure_storage_description": "Instalēšana neizdevās dēļ nepietiekamas vietas krātuvē.\n\nAtbrīvojiet vietu un mēģiniet vēlreiz.",
- "status_failure_invalid_description": "Instalēšana neizdevās dēļ nederīgas lāpītās lietotnes.\n\nAtinstalēt lietotni un mēģināt vēlreiz?",
- "status_failure_incompatible_description": "Šī lietotne nav saderīga ar jūsu ierīci.\n\nIzmantojiet APK, kuru jūsu ierīce atbalsta un mēģiniet vēlreiz.",
- "status_failure_conflict_description": "Instalācija tika apturēta dēļ eksistējošas instalētas lietotnes.\n\nAtinstalēt instalēto lietotni un mēģināt vēlreiz?",
- "status_failure_blocked_description": "Instalācija tika bloķēta dēļ ${packageName}.\n\nPielāgojiet savus drošības iestatījumus un mēģiniet vēlreiz.",
- "install_failed_verification_failure_description": "Instalācija neizdevās dēl verifikācijas problēmas.\n\nPielāgojiet savus drošības iestatījumus un mēģiniet vēlreiz.",
- "install_failed_version_downgrade_description": "Instalācija neizdevās, jo lāpītā lietotne ir vecākas versijas nekā instalētā lietotne.\n\nAtinstalēt lietotni un mēģināt vēlreiz?",
- "status_unknown_description": "Instalācija neizdevās nezināma iemesla dēļ. Lūdzu mēģiniet vēlreiz."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/ms_MY.i18n.json b/assets/i18n/ms_MY.i18n.json
deleted file mode 100755
index 3da81459..00000000
--- a/assets/i18n/ms_MY.i18n.json
+++ /dev/null
@@ -1,107 +0,0 @@
-{
- "cancelButton": "Batal",
- "updateButton": "Kemas kini",
- "yesButton": "Ya",
- "noButton": "Tidak",
- "warning": "Amaran",
- "navigationView": {
- "dashboardTab": "Papan Pemuka",
- "patcherTab": "Pemodifikasi",
- "settingsTab": "Tetapan"
- },
- "homeView": {
- "widgetTitle": "Papan Pemuka",
- "updatesSubtitle": "Kemas Kini",
- "updateChangelogTitle": "Log perubahan",
- "downloadingMessage": "Memuat turun pengemaskinian...",
- "downloadedMessage": "Kemaskini dimuat turun",
- "installingMessage": "Memasang pengemaskinian...",
- "errorDownloadMessage": "Tidak dapat memuat turun pengemaskinian",
- "errorInstallMessage": "Tidak dapat memasang pengemaskinian",
- "noConnection": "Tiada sambungan internet"
- },
- "applicationItem": {
- "infoButton": "Maklumat"
- },
- "latestCommitCard": {
- "loadingLabel": "Memuatkan..."
- },
- "patcherView": {
- "widgetTitle": "Pemodifikasi",
- "patchButton": "Modifikasi"
- },
- "appSelectorCard": {
- "noAppsLabel": "Tiada aplikasi ditemui"
- },
- "patchSelectorCard": {
- "widgetTitle": "Pilih modifikasi",
- "widgetTitleSelected": "Modifikasi pilihan",
- "widgetSubtitle": "Pilih aplikasi dahulu",
- "widgetEmptySubtitle": "Tiada modifikasi terpilih"
- },
- "socialMediaCard": {
- "widgetTitle": "Sosial",
- "widgetSubtitle": "Ikuti kami!"
- },
- "appSelectorView": {
- "storageButton": "Storan",
- "errorMessage": "Tidak dapat menggunakan aplikasi yang dipilih"
- },
- "patchesSelectorView": {
- "viewTitle": "Pilih modifikasi",
- "searchBarHint": "Cari modifikasi",
- "doneButton": "Selesai",
- "noneChip": "Tiada",
- "noPatchesFound": "Tiada modifikasi dijumpai untuk apl pilihan"
- },
- "patchItem": {
- "unsupportedDialogText": "Memilih modifikasi mungkin menyebabkan ralat ketika modifikasi.\n\nVersi aplikasi: ${packageVersion}\nVersi disokong:\n${supportedVersions}"
- },
- "installerView": {
- "installButton": "Pasang",
- "openButton": "Buka",
- "notificationTitle": "Revanced Manager sedang memodifikasi",
- "notificationText": "Tap untuk kembali ke pemasang",
- "noExit": "Pemasang masih dijalankan, jangan keluar..."
- },
- "settingsView": {
- "widgetTitle": "Tetapan",
- "appearanceSectionTitle": "Penampilan",
- "teamSectionTitle": "Pasukan",
- "advancedSectionTitle": "Lanjutan",
- "exportSectionTitle": "Import & Eksport",
- "dynamicThemeHint": "Nikmati tema yang lebih serasi dengan anda",
- "languageLabel": "Bahasa",
- "sourcesResetDialogTitle": "Set semula",
- "orgPatchesLabel": "Pengarang Modifikasi",
- "sourcesPatchesLabel": "Sumber Modifikasi",
- "contributorsLabel": "Penyumbang",
- "contributorsHint": "Senarai penyokong ReVanced",
- "aboutLabel": "Tentang",
- "snackbarMessage": "Disalin ke papan klip",
- "restartAppForChanges": "Mulakan semula apl untuk menggunakan tetapan",
- "deleteTempDirLabel": "Buang fail sementara",
- "deleteTempDirHint": "Padam fail sementara yang tidak digunakan",
- "deletedTempDir": "Fail sementara dibuang",
- "deletedLogs": "Log telah dipadam",
- "jsonSelectorErrorMessage": "Tidak dapat menggunakan fail JSON yang dipilih"
- },
- "appInfoView": {
- "widgetTitle": "Maklumat apl",
- "openButton": "Buka",
- "installButton": "Pasang",
- "uninstallButton": "Nyah pasang",
- "rootDialogTitle": "Ralat",
- "rootDialogText": "Aplikasi telah dipasang dengan kebenaran superuser, tetapi ReVanced Manager sekarang tidak ada kebeneran.\nMinta membenarkan kebenaran superuser dahulu.",
- "packageNameLabel": "Nama pakej",
- "installTypeLabel": "Jenis Pemasangan",
- "patchedDateLabel": "Tarikh Modifikasi",
- "appliedPatchesLabel": "Modifikasi Digunakan",
- "patchedDateHint": "${date} pada ${time}",
- "appliedPatchesHint": "${quantity} modifikasi digunakan",
- "updateNotImplemented": "Ciri ini masih belum dilaksanakan"
- },
- "contributorsView": {
- "widgetTitle": "Penyumbang"
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/my_MM.i18n.json b/assets/i18n/my_MM.i18n.json
deleted file mode 100755
index 79dec515..00000000
--- a/assets/i18n/my_MM.i18n.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "okButton": "အိုကေ",
- "cancelButton": "ပယ်ဖျက်မည်",
- "dismissButton": "မလုပ်တော့ပါ",
- "quitButton": "ထွက်မည်",
- "updateButton": "အပ်ပဒိတ်"
-}
\ No newline at end of file
diff --git a/assets/i18n/nb_NO.i18n.json b/assets/i18n/nb_NO.i18n.json
deleted file mode 100755
index 898859de..00000000
--- a/assets/i18n/nb_NO.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "OK",
- "cancelButton": "Avbryt",
- "dismissButton": "Avvis",
- "quitButton": "Avslutt",
- "updateButton": "Oppdater",
- "suggested": "Foreslått: ${version}",
- "yesButton": "Ja",
- "noButton": "Nei",
- "warning": "Advarsel",
- "notice": "Merknad",
- "noShowAgain": "Vis ikke dette igjen",
- "add": "Legg til",
- "remove": "Fjern",
- "showChangelogButton": "Vis endringslogg",
- "showUpdateButton": "Vis oppdatering",
- "navigationView": {
- "dashboardTab": "Instrumentbord",
- "patcherTab": "Patcher",
- "settingsTab": "Innstillinger"
- },
- "homeView": {
- "refreshSuccess": "Oppdatert vellykket",
- "widgetTitle": "Instrumentbord",
- "updatesSubtitle": "Oppdateringer",
- "lastPatchedAppSubtitle": "Siste patchet app",
- "patchedSubtitle": "Installerte apper",
- "changeLaterSubtitle": "Du kan endre dette i innstillingene senere.",
- "noSavedAppFound": "Ingen app funnet",
- "noInstallations": "Ingen patch-apper installert",
- "installUpdate": "Fortsett med å installere oppdateringen?",
- "updateSheetTitle": "Oppdater ReVanced Manager",
- "updateDialogTitle": "Ny oppdatering tilgjengelig",
- "updatePatchesSheetTitle": "Oppdater ReVanced-oppdateringer",
- "updateChangelogTitle": "Endringslogg",
- "updateDialogText": "En ny oppdatering er tilgjengelig for ${file}.\n\nDen installerte versjonen er ${version}.",
- "downloadConsentDialogTitle": "Last ned nødvendige filer?",
- "downloadConsentDialogText": "ReVanced Manager må laste ned nødvendige filer for å fungere ordentlig.",
- "downloadConsentDialogText2": "Dette vil koble deg til ${url}.",
- "downloadingMessage": "Laster ned oppdatering...",
- "downloadedMessage": "Oppdatering lastet ned",
- "installingMessage": "Installerer oppdatering...",
- "errorDownloadMessage": "Klarte ikke å laste ned oppdatering",
- "errorInstallMessage": "Klarte ikke å installere oppdatering",
- "noConnection": "Ingen internettforbindelse"
- },
- "applicationItem": {
- "infoButton": "Info"
- },
- "latestCommitCard": {
- "loadingLabel": "Laster...",
- "timeagoLabel": "${time} siden"
- },
- "patcherView": {
- "widgetTitle": "Patcher",
- "patchButton": "Patch",
- "incompatibleArchWarningDialogText": "Patching på denne arkitekturen støttes ennå ikke og kan mislykkes. Fortsette likevel?",
- "removedPatchesWarningDialogText": "Fjernet patcher siden sist du patchet denne appen:\n\n${patches}\n\n${newPatches}Fortsette likevel?",
- "addedPatchesDialogText": "Lagt til patcher siden sist du patchet denne appen:\n\n${addedPatches}\n\n",
- "requiredOptionDialogText": "Noen patch-alternativer må settes."
- },
- "appSelectorCard": {
- "widgetTitle": "Velg en app",
- "widgetTitleSelected": "Valgt app",
- "widgetSubtitle": "Ingen app valgt",
- "noAppsLabel": "Ingen applikasjoner funnet",
- "anyVersion": "Alle versjoner"
- },
- "patchSelectorCard": {
- "widgetTitle": "Velg patcher",
- "widgetTitleSelected": "Valgte patcher",
- "widgetSubtitle": "Velg en applikasjon først",
- "widgetEmptySubtitle": "Ingen patcher valgt"
- },
- "socialMediaCard": {
- "widgetTitle": "Sosiale medier",
- "widgetSubtitle": "Vi er på nett!"
- },
- "appSelectorView": {
- "viewTitle": "Velg en app",
- "searchBarHint": "Søk etter app",
- "storageButton": "Lagring",
- "selectFromStorageButton": "Velg fra lagring",
- "errorMessage": "Kan ikke bruke valgt applikasjon",
- "downloadToast": "Nedlastingsfunksjonen er ikke tilgjengelig ennå",
- "requireSuggestedAppVersionDialogText": "Versjonen av appen du har valgt samsvarer ikke med den foreslåtte versjonen, noe som kan føre til uventede problemer. Bruk den foreslåtte versjonen.\n\nValgt versjon: ${selected}\nForeslått versjon: ${suggested}\n\nFor å fortsette likevel, deaktiver \"Krev foreslått appversjon\" i innstillingene.",
- "featureNotAvailable": "Funksjonen er ikke implementert",
- "featureNotAvailableText": "Denne appen er en splittet APK og kan bare patches og installeres pålitelig ved å montere med root-rettigheter. Du kan imidlertid patche og installere en full APK ved å velge den fra lagringsplassen."
- },
- "patchesSelectorView": {
- "viewTitle": "Velg patcher",
- "searchBarHint": "Søk etter patcher",
- "universalPatches": "Universelle patcher",
- "newPatches": "Nye patcher",
- "patches": "Patcher",
- "doneButton": "Ferdig",
- "defaultChip": "Standard",
- "defaultTooltip": "Velg alle standard patcher",
- "noneChip": "Ingen",
- "noneTooltip": "Avvelg alle patcher",
- "loadPatchesSelection": "Last inn patch-valg",
- "noSavedPatches": "Ingen lagret patch-valg for den valgte appen.\nTrykk på Ferdig for å lagre det nåværende valget.",
- "noPatchesFound": "Ingen patcher funnet for den valgte appen",
- "setRequiredOption": "Noen patcher krever at alternativer skal settes:\n\n${patches}\n\nSett dem før du fortsetter."
- },
- "patchOptionsView": {
- "customValue": "Egendefinert verdi",
- "setToNull": "Sett til null",
- "nullValue": "Denne opsjonsverdien er for øyeblikket null",
- "viewTitle": "Patch-alternativer",
- "saveOptions": "Lagre",
- "unselectPatch": "Fjern patchen",
- "tooltip": "Flere innspillingsalternativer",
- "selectFilePath": "Velg filbane",
- "selectFolder": "Velg mappe",
- "requiredOption": "Dette opsjonsvalget er påkrevd",
- "unsupportedOption": "Dette alternativet støttes ikke",
- "requiredOptionNull": "Følgende alternativer må settes:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "Å velge denne patchen kan føre til patching-feil.\n\nApp-versjon: ${packageVersion}\nStøttede versjoner:\n${supportedVersions}",
- "unsupportedPatchVersion": "Oppdateringen støttes ikke for denne appversjonen.",
- "unsupportedRequiredOption": "Denne patchen inneholder et obligatorisk alternativ som ikke støttes av denne appen",
- "patchesChangeWarningDialogText": "Det anbefales å bruke standard patchvalg og -alternativer. Å endre dem kan føre til uventede problemer.\n\nDu må slå på \"Tillat endring av patchvalg\" i innstillingene før du endrer patchvalg.",
- "patchesChangeWarningDialogButton": "Bruk standardvalg"
- },
- "installerView": {
- "installType": "Velg installasjonstype",
- "installTypeDescription": "Velg installasjonstype for å fortsette.",
- "installButton": "Installer",
- "installRootType": "Monter",
- "installNonRootType": "Vanlig",
- "warning": "Deaktiver automatiske oppdateringer for den oppdaterte appen for å unngå uventede problemer.",
- "pressBackAgain": "Trykk tilbake igjen for å avbryte",
- "openButton": "Åpne",
- "notificationTitle": "ReVanced Manager patcher",
- "notificationText": "Trykk for å gå tilbake til installasjonsprogrammet",
- "exportApkButtonTooltip": "Eksporter patch-APK",
- "exportLogButtonTooltip": "Eksporter logg",
- "screenshotDetected": "Et skjermbilde er oppdaget. Hvis du prøver å dele loggen, del en tekstkopi i stedet.\n\nKopier logg til utklippstavlen?",
- "copiedToClipboard": "Kopiert logg til utklippstavlen",
- "noExit": "Installasjonsprogrammet kjører fortsatt, kan ikke avslutte..."
- },
- "settingsView": {
- "widgetTitle": "Innstillinger",
- "appearanceSectionTitle": "Utseende",
- "teamSectionTitle": "Team",
- "debugSectionTitle": "Feilsøking",
- "advancedSectionTitle": "Avansert",
- "exportSectionTitle": "Importer og eksporter",
- "dataSectionTitle": "Datakilder",
- "themeModeLabel": "App-tema",
- "systemThemeLabel": "System",
- "lightThemeLabel": "Lys",
- "darkThemeLabel": "Mørk",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "Nyt en opplevelse nærmere enheten din",
- "languageLabel": "Språk",
- "languageUpdated": "Språk oppdatert",
- "sourcesLabel": "Alternative kilder",
- "sourcesLabelHint": "Konfigurer de alternative kildene for ReVanced Patches",
- "useAlternativeSources": "Bruk alternative kilder",
- "useAlternativeSourcesHint": "Bruk alternative kilder for ReVanced Patches i stedet for APIen",
- "sourcesResetDialogTitle": "Tilbakestill",
- "sourcesResetDialogText": "Er du sikker på at du vil tilbakestille kildene dine til standardverdiene?",
- "apiURLResetDialogText": "Er du sikker på at du vil tilbakestille API-URLen din til standardverdien?",
- "sourcesUpdateNote": "Merk: Dette vil automatisk laste ned ReVanced Patches fra de alternative kildene.\n\nDette vil koble deg til den alternative kilden.",
- "apiURLLabel": "API-URL",
- "apiURLHint": "Konfigurer API-URLen til ReVanced Manager",
- "selectApiURL": "API-URL",
- "orgPatchesLabel": "Patch-organisasjon",
- "sourcesPatchesLabel": "Patch-kilde",
- "contributorsLabel": "Bidragsytere",
- "contributorsHint": "En liste over bidragsytere til ReVanced",
- "logsLabel": "Del logger",
- "logsHint": "Del ReVanced Manager-logger",
- "enablePatchesSelectionLabel": "Tillat å endre patch-valg",
- "enablePatchesSelectionHint": "Forhindre ikke valg eller avvalg av oppdateringer",
- "enablePatchesSelectionWarningText": "Å endre valg av patcher kan føre til uventede problemer.\n\nAktiver likevel?",
- "disablePatchesSelectionWarningText": "Du er i ferd med å deaktivere endring av valg av patcher.\nStandardvalget av patcher blir gjenopprettet.\n\nDeaktiver likevel?",
- "autoUpdatePatchesLabel": "Automatisk oppdatering av patcher",
- "autoUpdatePatchesHint": "Automatisk oppdatering av patcher til den nyeste versjonen",
- "showUpdateDialogLabel": "Vis oppdateringsdialog",
- "showUpdateDialogHint": "Vis en dialog når en ny oppdatering er tilgjengelig",
- "universalPatchesLabel": "Vis universelle patcher",
- "universalPatchesHint": "Vis alle apper og universelle patcher (kan gjøre applisten tregere)",
- "lastPatchedAppLabel": "Lagre patchet app",
- "lastPatchedAppHint": "Lagre den siste patchen for å installere eller eksportere senere",
- "versionCompatibilityCheckLabel": "Versjonskompatibilitetskontroll",
- "versionCompatibilityCheckHint": "Forhindre valg av oppdateringer som ikke er kompatible med den valgte appversjonen",
- "requireSuggestedAppVersionLabel": "Krev foreslått appversjon",
- "requireSuggestedAppVersionHint": "Forhindre valg av en app med en versjon som ikke er den foreslåtte",
- "requireSuggestedAppVersionDialogText": "Å velge en app som ikke er den foreslåtte versjonen kan føre til uventede problemer.\n\nØnsker du å fortsette likevel?",
- "aboutLabel": "Om",
- "snackbarMessage": "Kopiert til utklippstavlen",
- "restartAppForChanges": "Start appen på nytt for å bruke endringene",
- "deleteTempDirLabel": "Slett midlertidige filer",
- "deleteTempDirHint": "Slett ubrukte midlertidige filer",
- "deletedTempDir": "Midlertidige filer slettet",
- "exportSettingsLabel": "Eksporter innstillinger",
- "exportSettingsHint": "Eksporter innstillinger til en JSON-fil",
- "exportedSettings": "Innstillinger eksportert",
- "importSettingsLabel": "Importer innstillinger",
- "importSettingsHint": "Importer innstillinger fra en JSON-fil",
- "importedSettings": "Innstillinger importert",
- "exportPatchesLabel": "Eksporter patch-valg",
- "exportPatchesHint": "Eksporter patch-valg til en JSON-fil",
- "exportedPatches": "Valgte oppdateringer eksportert",
- "noExportFileFound": "Ingen oppdateringer å eksportere",
- "importPatchesLabel": "Importer oppdateringer",
- "importPatchesHint": "Importer oppdateringer fra en JSON-fil",
- "importedPatches": "Valgte oppdateringer importert",
- "resetStoredPatchesLabel": "Tilbakestill valgte oppdateringer",
- "resetStoredPatchesHint": "Tilbakestill valgte oppdateringer som er lagret",
- "resetStoredPatchesDialogTitle": "Tilbakestill valgte oppdateringer?",
- "resetStoredPatchesDialogText": "Standardvalget av oppdateringer vil bli gjenopprettet.",
- "resetStoredPatches": "Valgte oppdateringer har blitt tilbakestilt",
- "resetStoredOptionsLabel": "Tilbakestill oppdateringsinnstillinger",
- "resetStoredOptionsHint": "Tilbakestill alle oppdateringsinnstillinger",
- "resetStoredOptionsDialogTitle": "Tilbakestill oppdateringsinnstillinger?",
- "resetStoredOptionsDialogText": "Tilbakestilling av oppdateringsinnstillinger vil fjerne alle lagrede innstillinger.",
- "resetStoredOptions": "Innstillinger har blitt tilbakestilt",
- "deleteLogsLabel": "Tøm logger",
- "deleteLogsHint": "Slett innsamlede ReVanced Manager-logger",
- "deletedLogs": "Logger slettet",
- "regenerateKeystoreLabel": "Generer nøkkellager på nytt",
- "regenerateKeystoreHint": "Generer nøkkellageret som brukes til å signere apper på nytt",
- "regenerateKeystoreDialogTitle": "Generer nøkkellager på nytt?",
- "regenerateKeystoreDialogText": "Oppdaterte apper signert med det gamle nøkkellageret vil ikke lenger kunne oppdateres.",
- "regeneratedKeystore": "Nøkkellager generert på nytt",
- "exportKeystoreLabel": "Eksporter nøkkellager",
- "exportKeystoreHint": "Eksporter nøkkellageret som brukes til å signere apper",
- "exportedKeystore": "Nøkkellager eksportert",
- "noKeystoreExportFileFound": "Ingen nøkkellager å eksportere",
- "importKeystoreLabel": "Importer nøkkellager",
- "importKeystoreHint": "Importer et nøkkellager som brukes til å signere apper",
- "importedKeystore": "Nøkkellager importert",
- "selectKeystorePassword": "Nøkkellagerpassord",
- "selectKeystorePasswordHint": "Velg nøkkellagerpassord som brukes til å signere apper",
- "jsonSelectorErrorMessage": "Kan ikke bruke valgt JSON-fil",
- "keystoreSelectorErrorMessage": "Kan ikke bruke valgt nøkkellagerfil"
- },
- "appInfoView": {
- "widgetTitle": "App-informasjon",
- "openButton": "Åpne",
- "installButton": "Installer",
- "uninstallButton": "Avinstaller",
- "unmountButton": "Koble fra",
- "exportButton": "Eksporter",
- "deleteButton": "Slett",
- "rootDialogTitle": "Feil",
- "lastPatchedAppDescription": "Dette er en sikkerhetskopi av appen som ble patchet sist.",
- "unmountDialogText": "Er du sikker på at du vil koble fra denne appen?",
- "uninstallDialogText": "Er du sikker på at du vil avinstallere denne appen?",
- "rootDialogText": "Appen ble installert med superbrukerrettigheter, men ReVanced Manager har ingen rettigheter for øyeblikket.\nGi superbrukerrettigheter først.",
- "removeAppDialogTitle": "Slett app?",
- "removeAppDialogText": "Er du sikker på at du vil slette denne sikkerhetskopien?",
- "packageNameLabel": "Pakkenavn",
- "installTypeLabel": "Installasjonstype",
- "mountTypeLabel": "Montert",
- "regularTypeLabel": "Vanlig",
- "patchedDateLabel": "Oppdatert dato",
- "appliedPatchesLabel": "Påførte oppdateringer",
- "sizeLabel": "Filstørrelse",
- "patchedDateHint": "${date} kl. ${time}",
- "appliedPatchesHint": "${quantity} påførte oppdateringer",
- "updateNotImplemented": "Denne funksjonen er ikke implementert ennå"
- },
- "contributorsView": {
- "widgetTitle": "Bidragsytere"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "Versjonsfeil",
- "mount_no_root": "Ingen rottilgang",
- "mount_missing_installation": "Installering ikke funnet",
- "status_failure_blocked": "Installering blokkert",
- "install_failed_verification_failure": "Bekreftelse mislyktes",
- "status_failure_invalid": "Installering ugyldig",
- "install_failed_version_downgrade": "Kan ikke nedgradere",
- "status_failure_conflict": "Installering konflikt",
- "status_failure_storage": "Installering lagringsfeil",
- "status_failure_incompatible": "Installering inkompatibel",
- "status_failure_timeout": "Installering tidsavbrudd",
- "status_unknown": "Installering mislyktes",
- "mount_version_mismatch_description": "Installeringen mislyktes på grunn av at den installerte appen er en annen versjon enn den oppdaterte appen.\n\nInstaller versjonen av appen du monterer og prøv igjen.",
- "mount_no_root_description": "Installeringen mislyktes på grunn av at rottilgang ikke er gitt.\n\nGi rottilgang til ReVanced Manager og prøv igjen.",
- "mount_missing_installation_description": "Installeringen mislyktes på grunn av at den uoppdaterte appen ikke er installert på denne enheten for å montere over den.\n\nInstaller den uoppdaterte appen før du monterer og prøv igjen.",
- "status_failure_timeout_description": "Installeringen tok for lang tid å fullføre.\n\nØnsker du å prøve igjen?",
- "status_failure_storage_description": "Installeringen mislyktes på grunn av utilstrekkelig lagringsplass.\n\nFrigi litt plass og prøv igjen.",
- "status_failure_invalid_description": "Installeringen mislyktes på grunn av at den oppdaterte appen er ugyldig.\n\nAvinstaller appen og prøv igjen?",
- "status_failure_incompatible_description": "Appen er ikke kompatibel med denne enheten.\n\nBruk en APK som støttes av denne enheten, og prøv igjen.",
- "status_failure_conflict_description": "Installeringen ble forhindret av en eksisterende installering av appen.\n\nAvinstaller den installerte appen og prøv igjen?",
- "status_failure_blocked_description": "Installeringen ble blokkert av ${packageName}.\n\nJuster sikkerhetsinnstillingene dine og prøv igjen.",
- "install_failed_verification_failure_description": "Installeringen mislyktes på grunn av et bekreftelsesproblem.\n\nJuster sikkerhetsinnstillingene dine og prøv igjen.",
- "install_failed_version_downgrade_description": "Installeringen mislyktes på grunn av at den oppdaterte appen er en lavere versjon enn den installerte appen.\n\nAvinstaller appen og prøv igjen?",
- "status_unknown_description": "Installeringen mislyktes på grunn av en ukjent årsak. Prøv igjen."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/nl_NL.i18n.json b/assets/i18n/nl_NL.i18n.json
deleted file mode 100755
index c99f75d6..00000000
--- a/assets/i18n/nl_NL.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "Oké",
- "cancelButton": "Annuleren",
- "dismissButton": "Afwijzen",
- "quitButton": "Sluiten",
- "updateButton": "Bijwerken",
- "suggested": "Aanbevolen: ${version}",
- "yesButton": "Ja",
- "noButton": "Nee",
- "warning": "Waarschuwing",
- "notice": "Melding",
- "noShowAgain": "Niet meer tonen",
- "add": "Voeg toe",
- "remove": "Verwijderen",
- "showChangelogButton": "Wijzigingslogboek tonen",
- "showUpdateButton": "Update weergeven",
- "navigationView": {
- "dashboardTab": "Overzicht",
- "patcherTab": "Patcher",
- "settingsTab": "Instellingen"
- },
- "homeView": {
- "refreshSuccess": "Vernieuwen voltooid",
- "widgetTitle": "Overzicht",
- "updatesSubtitle": "Updates",
- "lastPatchedAppSubtitle": "Laatst gepatchte app",
- "patchedSubtitle": "Geïnstalleerde apps",
- "changeLaterSubtitle": "U kunt dit op een later moment wijzigen in de instellingen.",
- "noSavedAppFound": "Geen app gevonden",
- "noInstallations": "Geen gepatchte apps geïnstalleerd",
- "installUpdate": "Doorgaan met het installeren van de update?",
- "updateSheetTitle": "Update ReVanced Manager",
- "updateDialogTitle": "Nieuwe update beschikbaar",
- "updatePatchesSheetTitle": "ReVanced Patches bijwerken",
- "updateChangelogTitle": "Wijzigingslogboek",
- "updateDialogText": "Er is een nieuwe update beschikbaar voor ${file}.\n\nDe momenteel geïnstalleerde versie is ${version}.",
- "downloadConsentDialogTitle": "Download de benodigde bestanden?",
- "downloadConsentDialogText": "ReVanced Manager moet de benodigde bestanden downloaden om goed te werken.",
- "downloadConsentDialogText2": "Dit verbindt u met ${url}.",
- "downloadingMessage": "Update wordt gedownload...",
- "downloadedMessage": "Update gedownload",
- "installingMessage": "Update wordt geïnstalleerd...",
- "errorDownloadMessage": "Update downloaden mislukt",
- "errorInstallMessage": "Update installeren mislukt",
- "noConnection": "Geen internetverbinding"
- },
- "applicationItem": {
- "infoButton": "Informatie"
- },
- "latestCommitCard": {
- "loadingLabel": "Bezig met laden...",
- "timeagoLabel": "${time} geleden"
- },
- "patcherView": {
- "widgetTitle": "Patcher",
- "patchButton": "Patch",
- "incompatibleArchWarningDialogText": "Patchen op deze architectuur wordt nog niet ondersteund en zal mogelijk mislukken. Toch doorgaan?",
- "removedPatchesWarningDialogText": "Patch patches verwijderd sinds de laatste keer dat u deze app heeft aangepast:\n\n${patches}\n\n${newPatches}toch doorgaan?",
- "addedPatchesDialogText": "Patch toegevoegd sinds de laatste keer dat u deze app heeft gepatenteerd:\n\n${addedPatches}\n\n",
- "requiredOptionDialogText": "Er moeten enkele patch-opties worden ingesteld."
- },
- "appSelectorCard": {
- "widgetTitle": "Selecteer een app",
- "widgetTitleSelected": "Geselecteerde app",
- "widgetSubtitle": "Geen app geselecteerd",
- "noAppsLabel": "Geen applicatie gevonden",
- "anyVersion": "Iedere versie"
- },
- "patchSelectorCard": {
- "widgetTitle": "Selecteer patches",
- "widgetTitleSelected": "Geselecteerde patches",
- "widgetSubtitle": "Selecteer eerst een applicatie",
- "widgetEmptySubtitle": "Geen patches geselecteerd"
- },
- "socialMediaCard": {
- "widgetTitle": "Sociale media",
- "widgetSubtitle": "We zijn online!"
- },
- "appSelectorView": {
- "viewTitle": "Selecteer een app",
- "searchBarHint": "Zoek naar apps",
- "storageButton": "Opslag",
- "selectFromStorageButton": "Selecteer uit opslag",
- "errorMessage": "Kan geselecteerde applicatie niet gebruiken",
- "downloadToast": "Download functie is nog niet beschikbaar",
- "requireSuggestedAppVersionDialogText": "De versie van de app die u hebt geselecteerd komt niet overeen met de voorgestelde versie die onverwachte problemen kan veroorzaken. Gebruik de voorgestelde versie.\n\nGeselecteerde versie: ${selected}\nSuggeert versie: ${suggested}\n\nOm toch verder te gaan, schakel \"Vereis app versie\" uit in de instellingen.",
- "featureNotAvailable": "Functie niet geïmplementeerd",
- "featureNotAvailableText": "Deze app is een gesplitste APK en kan alleen op betrouwbare wijze worden gepatenteerd en geïnstalleerd door te koppelen met root-machtigingen. Je kunt echter wel een volledige APK patchen en installeren door deze uit de opslag te selecteren."
- },
- "patchesSelectorView": {
- "viewTitle": "Selecteer patches",
- "searchBarHint": "Patches zoeken",
- "universalPatches": "Universele patches",
- "newPatches": "Nieuwe patches",
- "patches": "Patches",
- "doneButton": "Gereed",
- "defaultChip": "Standaard",
- "defaultTooltip": "Selecteer alle standaard patches",
- "noneChip": "Geen",
- "noneTooltip": "Alle patches deselecteren",
- "loadPatchesSelection": "Laad patch selectie",
- "noSavedPatches": "Geen opgeslagen patch selectie voor de geselecteerde app.\nDruk op Klaar om de huidige selectie op te slaan.",
- "noPatchesFound": "Geen patches gevonden voor de geselecteerde app",
- "setRequiredOption": "Sommige patches vereisen opties om in te stellen:\n\n${patches}\n\nStel ze in voordat u doorgaat."
- },
- "patchOptionsView": {
- "customValue": "Aangepaste waarde",
- "setToNull": "Zet op nul",
- "nullValue": "Deze optiewaarde is momenteel leeg",
- "viewTitle": "Patch opties",
- "saveOptions": "Opslaan",
- "unselectPatch": "Patch deselecteren",
- "tooltip": "Meer invoeropties",
- "selectFilePath": "Bestandspad selecteren",
- "selectFolder": "Map selecteren",
- "requiredOption": "Het instellen van deze optie is vereist",
- "unsupportedOption": "Deze optie wordt niet ondersteund",
- "requiredOptionNull": "De volgende opties moeten worden ingesteld:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "Het selecteren van deze patch kan leiden tot patch fouten.\n\nApp-versie: ${packageVersion}\nOndersteunde versies:\n${supportedVersions}",
- "unsupportedPatchVersion": "Patch wordt niet ondersteund voor deze app versie.",
- "unsupportedRequiredOption": "Deze patch bevat een verplichte optie die niet wordt ondersteund door deze app",
- "patchesChangeWarningDialogText": "Het wordt aangeraden om de standaard patch selectie en opties te gebruiken. Het wijzigen van deze kan leiden tot onverwachte problemen.\n\nJe moet \"Veranderen van patch selectie toestaan\" inschakelen in de instellingen voordat je de patch selectie wijzigt.",
- "patchesChangeWarningDialogButton": "Gebruik standaard selectie"
- },
- "installerView": {
- "installType": "Selecteer installatietype",
- "installTypeDescription": "Selecteer het installatietype om mee door te gaan.",
- "installButton": "Installeren",
- "installRootType": "Koppel",
- "installNonRootType": "Normaal",
- "warning": "Schakel automatische updates uit voor de gepatchte app om onverwachte problemen te voorkomen.",
- "pressBackAgain": "Druk nogmaals op terug om te annuleren",
- "openButton": "Open",
- "notificationTitle": "ReVanced Manager is aan het patchen",
- "notificationText": "Tik om terug te keren naar het installatieprogramma",
- "exportApkButtonTooltip": "Gepatchte APK exporteren",
- "exportLogButtonTooltip": "Logboek exporteren",
- "screenshotDetected": "Er is een schermafbeelding gedetecteerd. Als u probeert het logboek te delen, deel dan een tekstkopie.\n\nLog kopiëren naar klembord?",
- "copiedToClipboard": "Logboek gekopieerd naar klembord",
- "noExit": "Het installatieprogramma is nog steeds actief, afsluiten is niet mogelijk..."
- },
- "settingsView": {
- "widgetTitle": "Instellingen",
- "appearanceSectionTitle": "Uiterlijk",
- "teamSectionTitle": "Team",
- "debugSectionTitle": "Foutopsporing",
- "advancedSectionTitle": "Geavanceerd",
- "exportSectionTitle": "Importeren & exporteren",
- "dataSectionTitle": "Gegevensbronnen",
- "themeModeLabel": "App thema",
- "systemThemeLabel": "Systeem",
- "lightThemeLabel": "Licht",
- "darkThemeLabel": "Donker",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "Geniet van een ervaring dichter bij je apparaat",
- "languageLabel": "Taal",
- "languageUpdated": "Taal bijgewerkt",
- "sourcesLabel": "Alternatieve bronnen",
- "sourcesLabelHint": "De alternatieve bronnen voor verbeterde patches configureren",
- "useAlternativeSources": "Gebruik alternatieve bronnen",
- "useAlternativeSourcesHint": "Gebruik alternatieve bronnen voor ReVanced Patches in plaats van de API",
- "sourcesResetDialogTitle": "Herstellen naar standaard",
- "sourcesResetDialogText": "Weet u zeker dat u uw bronnen op hun standaardwaarden wilt herstellen?",
- "apiURLResetDialogText": "Weet u zeker dat u uw API-URL wilt resetten naar de standaardwaarde?",
- "sourcesUpdateNote": "Opmerking: Dit zal automatisch ReVanceerde Patches uit de alternatieve bronnen downloaden.\n\nDit verbindt je met de alternatieve bron.",
- "apiURLLabel": "API URL",
- "apiURLHint": "Configureer de API URL van ReVanced Manager",
- "selectApiURL": "API URL",
- "orgPatchesLabel": "Beheer van patches",
- "sourcesPatchesLabel": "Bronnen voor patches",
- "contributorsLabel": "Bijdragers",
- "contributorsHint": "Een lijst met bijdragers van ReVanced",
- "logsLabel": "Deel logs",
- "logsHint": "Deel ReVanced Manager logs",
- "enablePatchesSelectionLabel": "Veranderen van patch-selectie toestaan",
- "enablePatchesSelectionHint": "Batch selectie niet voorkomen of deselecteren",
- "enablePatchesSelectionWarningText": "Het wijzigen van de selectie van patches kan onverwachte problemen veroorzaken.\n\ntoch inschakelen?",
- "disablePatchesSelectionWarningText": "U staat op het punt om de selectie van patches uit te schakelen.\nDe standaard selectie van patches zal worden hersteld.\n\nToch uitschakelen?",
- "autoUpdatePatchesLabel": "Patch automatisch bijwerken",
- "autoUpdatePatchesHint": "Patch automatisch bijwerken naar de laatste versie",
- "showUpdateDialogLabel": "Toon update dialoogvenster",
- "showUpdateDialogHint": "Een dialoogvenster weergeven wanneer een nieuwe update beschikbaar is",
- "universalPatchesLabel": "Toon universele patches",
- "universalPatchesHint": "Alle apps en universele patches weergeven (kan de app-lijst vertragen)",
- "lastPatchedAppLabel": "Synchronisatie app opslaan",
- "lastPatchedAppHint": "Sla de laatste patch op om later te installeren of te exporteren",
- "versionCompatibilityCheckLabel": "Versie compatibiliteitscontrole",
- "versionCompatibilityCheckHint": "Voorkom patches te selecteren die niet compatibel zijn met de geselecteerde app versie",
- "requireSuggestedAppVersionLabel": "Voorgestelde app versie vereisen",
- "requireSuggestedAppVersionHint": "Voorkom het selecteren van een app met een versie die niet de aanbevolen is",
- "requireSuggestedAppVersionDialogText": "Het selecteren van een app die niet de voorgestelde versie is, kan onverwachte problemen veroorzaken.\n\nWilt u toch doorgaan?",
- "aboutLabel": "Over",
- "snackbarMessage": "Naar klembord gekopieerd",
- "restartAppForChanges": "Herstart de app om wijzigingen toe te passen",
- "deleteTempDirLabel": "Tijdelijke bestanden verwijderen",
- "deleteTempDirHint": "Ongebruikte tijdelijke bestanden verwijderen",
- "deletedTempDir": "Tijdelijke bestanden verwijderd",
- "exportSettingsLabel": "Exporteer instellingen",
- "exportSettingsHint": "Instellingen exporteren naar een JSON-bestand",
- "exportedSettings": "Instellingen geëxporteerd",
- "importSettingsLabel": "Instellingen importeren",
- "importSettingsHint": "Instellingen importeren uit een JSON-bestand",
- "importedSettings": "Instellingen geïmporteerd",
- "exportPatchesLabel": "Exporteer patch selectie",
- "exportPatchesHint": "Exporteer patch selectie naar een JSON bestand",
- "exportedPatches": "Patch selectie geëxporteerd",
- "noExportFileFound": "Geen patch selectie om te exporteren",
- "importPatchesLabel": "Patch selectie importeren",
- "importPatchesHint": "Patch-selectie uit een JSON-bestand importeren",
- "importedPatches": "Patch selectie geïmporteerd",
- "resetStoredPatchesLabel": "Reset patch selectie",
- "resetStoredPatchesHint": "Reset de opgeslagen patch selectie",
- "resetStoredPatchesDialogTitle": "Reset patch selectie?",
- "resetStoredPatchesDialogText": "De standaard selectie van patches zal worden hersteld.",
- "resetStoredPatches": "Patch selectie is gereset",
- "resetStoredOptionsLabel": "Reset patch opties",
- "resetStoredOptionsHint": "Reset alle patch opties",
- "resetStoredOptionsDialogTitle": "Reset patch opties?",
- "resetStoredOptionsDialogText": "Het resetten van patch opties zal alle opgeslagen opties verwijderen.",
- "resetStoredOptions": "Opties zijn gereset",
- "deleteLogsLabel": "Logboeken wissen",
- "deleteLogsHint": "Verwijder verzamelde ReVanced Manager logs",
- "deletedLogs": "Logboeken verwijderd",
- "regenerateKeystoreLabel": "Sleutelwinkel opnieuw genereren",
- "regenerateKeystoreHint": "Hergenereer de sleutelwinkel die gebruikt wordt om apps te ondertekenen",
- "regenerateKeystoreDialogTitle": "Sleutelwinkel opnieuw genereren?",
- "regenerateKeystoreDialogText": "Patched apps die zijn ondertekend met de oude sleutelwinkel kunnen niet langer worden bijgewerkt.",
- "regeneratedKeystore": "Sleutelwinkel opnieuw gegenereerd",
- "exportKeystoreLabel": "Exporteer keystore",
- "exportKeystoreHint": "Exporteer de sleutelwinkel die gebruikt wordt om apps te ondertekenen",
- "exportedKeystore": "Keystore geëxporteerd",
- "noKeystoreExportFileFound": "Geen keystore-bestand om te exporteren",
- "importKeystoreLabel": "Importeer keystore",
- "importKeystoreHint": "Importeer een keystore om apps te ondertekenen",
- "importedKeystore": "Keystore is geïmporteerd",
- "selectKeystorePassword": "Keystore wachtwoord",
- "selectKeystorePasswordHint": "Selecteer keystore wachtwoord gebruikt om apps te ondertekenen",
- "jsonSelectorErrorMessage": "Geselecteerde JSON kan niet gebruikt worden",
- "keystoreSelectorErrorMessage": "Kan geselecteerde sleutelwinkelbestand niet gebruiken"
- },
- "appInfoView": {
- "widgetTitle": "App info",
- "openButton": "Openen",
- "installButton": "Installeren",
- "uninstallButton": "Verwijderen",
- "unmountButton": "Ontkoppelen",
- "exportButton": "Exporteren",
- "deleteButton": "Verwijderen",
- "rootDialogTitle": "Fout",
- "lastPatchedAppDescription": "Dit is een back-up van de app die voor het laatst is gepatcheerd.",
- "unmountDialogText": "Weet je zeker dat je de patches van deze app wilt verwijderen?",
- "uninstallDialogText": "Weet je zeker dat je deze app wilt verwijderen?",
- "rootDialogText": "App is geïnstalleerd met root-rechten, maar op dit moment heeft ReVanced Manager geen rechten.\nVerleen eerst root-rechten.",
- "removeAppDialogTitle": "App verwijderen?",
- "removeAppDialogText": "Weet u zeker dat u deze back-up wilt verwijderen?",
- "packageNameLabel": "Pakketnaam",
- "installTypeLabel": "Installatiemethode",
- "mountTypeLabel": "Koppelen",
- "regularTypeLabel": "Normaal",
- "patchedDateLabel": "Patchedatum",
- "appliedPatchesLabel": "Toegepaste patches",
- "sizeLabel": "Bestands grootte",
- "patchedDateHint": "${date} om ${time}",
- "appliedPatchesHint": "${quantity} patches toegepast",
- "updateNotImplemented": "Deze functie is nog niet geïmplementeerd"
- },
- "contributorsView": {
- "widgetTitle": "Bijdragers"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "Verkeerde versie",
- "mount_no_root": "Geen root toegang",
- "mount_missing_installation": "Installatie niet gevonden",
- "status_failure_blocked": "Installatie geblokkeerd",
- "install_failed_verification_failure": "Verificatie mislukt",
- "status_failure_invalid": "Installatie ongeldig",
- "install_failed_version_downgrade": "Kan niet downgraden",
- "status_failure_conflict": "Installatie conflict",
- "status_failure_storage": "Probleem met installatieopslag",
- "status_failure_incompatible": "Installatie niet compatibel",
- "status_failure_timeout": "Installatie time-out",
- "status_unknown": "Installatie mislukt",
- "mount_version_mismatch_description": "De installatie is mislukt omdat de geïnstalleerde app een andere versie is dan de aangepaste app.\n\nInstalleer de versie van de app die je aan het koppelen bent en probeer het opnieuw.",
- "mount_no_root_description": "De installatie is mislukt omdat er geen root-toegang wordt verleend.\n\nVerleen root-toegang tot ReVanced Manager en probeer het opnieuw.",
- "mount_missing_installation_description": "De installatie is mislukt omdat de niet-geïnstalleerde app niet op dit apparaat is geïnstalleerd om er over te koppelen!\n\nInstalleer de niet-patched app voor het koppelen en probeer opnieuw.",
- "status_failure_timeout_description": "De installatie duurde te lang om af te ronden.\n\nWilt u het opnieuw proberen?",
- "status_failure_storage_description": "De installatie is mislukt vanwege onvoldoende opslagruimte.\n\nMaak ruimte vrij en probeer het opnieuw.",
- "status_failure_invalid_description": "De installatie is mislukt omdat de patched app ongeldig is.\n\nVerwijder de app en probeer het opnieuw?",
- "status_failure_incompatible_description": "De app is niet compatibel met dit apparaat.\n\nGebruik een APK die wordt ondersteund door dit apparaat en probeer het opnieuw.",
- "status_failure_conflict_description": "De installatie werd voorkomen door een bestaande installatie van de app.\n\nVerwijder de geïnstalleerde app en probeer het opnieuw?",
- "status_failure_blocked_description": "De installatie is geblokkeerd door ${packageName}.\n\nPas uw beveiligingsinstellingen aan en probeer het opnieuw.",
- "install_failed_verification_failure_description": "De installatie is mislukt door een verificatieprobleem.\n\nPas uw beveiligingsinstellingen aan en probeer het opnieuw.",
- "install_failed_version_downgrade_description": "De installatie is mislukt omdat de aangepaste app een lagere versie is dan de geïnstalleerde app.\n\nVerwijder de app en probeer het opnieuw?",
- "status_unknown_description": "De installatie is mislukt door een onbekende reden. Probeer het opnieuw."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/no_NO.i18n.json b/assets/i18n/no_NO.i18n.json
deleted file mode 100755
index c4bccf30..00000000
--- a/assets/i18n/no_NO.i18n.json
+++ /dev/null
@@ -1,67 +0,0 @@
-{
- "cancelButton": "Avbryt",
- "updateButton": "Oppdater",
- "suggested": "Anbefalt: ${version}",
- "yesButton": "Ja",
- "noButton": "Nei",
- "warning": "Advarsel",
- "navigationView": {
- "dashboardTab": "Dashbord",
- "settingsTab": "Innstillinger"
- },
- "homeView": {
- "refreshSuccess": "Oppdatering vellykket",
- "widgetTitle": "Dashbord",
- "updatesSubtitle": "Oppdateringer",
- "patchedSubtitle": "Patched applikasjoner",
- "noInstallations": "Patchet applikasjon er ikke installert",
- "installUpdate": "Fortsett til installasjon av oppdatering?",
- "updateChangelogTitle": "Endringslogg",
- "downloadingMessage": "Laster ned oppdatering...",
- "installingMessage": "Installerer oppdatering...",
- "errorDownloadMessage": "Nedlasting av oppdatering var misslykket",
- "errorInstallMessage": "Installasjon av oppdatering var misslykket",
- "noConnection": "Ingen nettverksforbindelse"
- },
- "latestCommitCard": {
- "loadingLabel": "Laster...",
- "timeagoLabel": "${time} siden"
- },
- "appSelectorCard": {
- "noAppsLabel": "Ingen applikasjoner ble funnet"
- },
- "patchSelectorCard": {
- "widgetTitle": "Velg patcher",
- "widgetTitleSelected": "Valgte patcher",
- "widgetSubtitle": "Velg en applikasjon først",
- "widgetEmptySubtitle": "Ingen patcher valgt"
- },
- "socialMediaCard": {
- "widgetTitle": "Sosiale Medier",
- "widgetSubtitle": "Vi er på nett!"
- },
- "appSelectorView": {
- "storageButton": "Lager",
- "selectFromStorageButton": "Velg fra lager",
- "errorMessage": "Kan ikke bruke valgt applikasjon",
- "downloadToast": "Nedlastingsfunksjonen er for øyeblikket utilgjengelig",
- "featureNotAvailable": "Funksjonen er ikke implementert"
- },
- "patchesSelectorView": {
- "viewTitle": "Velg patcher",
- "searchBarHint": "Søk etter patcher",
- "doneButton": "Fullført",
- "defaultTooltip": "Velg alle standard patcher"
- },
- "settingsView": {
- "advancedSectionTitle": "Avansert",
- "darkThemeLabel": "Mørk modus",
- "dynamicThemeHint": "Nyt en erfaring nærmere din enhet",
- "languageLabel": "Språk",
- "sourcesResetDialogTitle": "Tilbakestill",
- "orgPatchesLabel": "Patches organisasjon",
- "sourcesPatchesLabel": "Patches kilde",
- "contributorsLabel": "Medvirkende",
- "contributorsHint": "En liste med bidragsytere til ReVanced"
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/nuke.dart b/assets/i18n/nuke.dart
deleted file mode 100644
index f6bcf671..00000000
--- a/assets/i18n/nuke.dart
+++ /dev/null
@@ -1,129 +0,0 @@
-// ignore_for_file: avoid_print, prefer_foreach
-
-import 'dart:convert';
-import 'dart:io';
-
-dynamic removeBlankEntries(dynamic json) {
- // This function is protected by BSD 3-Clause License
- // Changes made to this section are allow removing of '' values from JSON
-
- /*
- https://pub.dev/documentation/swiss_knife/latest/swiss_knife/removeEmptyEntries.html
-
- Copyright 2014, the Dart project authors. All rights reserved.
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are
- met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above
- copyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials provided
- with the distribution.
- * Neither the name of Google Inc. nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
- if (json == null) {
- return null;
- }
-
- if (json is List) {
- for (int i = json.length - 1; i >= 0; i--) {
- final processedElement = removeBlankEntries(json[i]);
- if (processedElement == null) {
- json.removeAt(i);
- } else {
- json[i] = processedElement;
- }
- }
- return json.isEmpty ? null : json;
- } else if (json is Map) {
- final keysToRemove = {};
- final keys = json.keys.toList();
-
- for (final key in keys) {
- if (key == null) {
- keysToRemove.add(key);
- continue;
- }
- final processedValue = removeBlankEntries(json[key]);
- if (processedValue == null || processedValue == '') {
- keysToRemove.add(key);
- } else {
- json[key] = processedValue;
- }
- }
- for (final key in keysToRemove) {
- json.remove(key);
- }
- return json.isEmpty ? null : json;
- }
-
- if (json is String && json.isEmpty) {
- return null;
- }
-
- return json;
-}
-
-Future processJsonFiles() async {
- final Directory directory = Directory.current;
- final List files = directory.listSync();
-
- for (final file in files) {
- if (!file.path.endsWith('.json') || file is! File) {
- continue;
- }
- try {
- final contents = await file.readAsString();
- if (contents.trim().isEmpty) {
- print('🗑️ File is empty, deleting: ${file.path}');
- await file.delete();
- continue;
- }
-
- dynamic jsonInput;
- try {
- jsonInput = jsonDecode(contents);
- } on FormatException catch (e, stackTrace) {
- print('💥 Invalid JSON in file: ${file.path}: $e');
- print(stackTrace);
- continue;
- }
-
- final dynamic processedJson = removeBlankEntries(jsonInput);
- if (processedJson == null) {
- await file.delete();
- print('🗑️ File resulted in empty JSON, deleted: ${file.path}');
- } else {
- final prettyJson = const JsonEncoder.withIndent(
- ' ', // Two spaces
- ).convert(processedJson);
- await file.writeAsString(prettyJson);
- print('🥞 Task successful on: ${file.path}');
- }
- } catch (e, stackTrace) {
- print('💥 Task failed on: ${file.path}: $e');
- print(stackTrace);
- }
- }
-}
-
-void main() async {
- await processJsonFiles();
-}
diff --git a/assets/i18n/or_IN.i18n.json b/assets/i18n/or_IN.i18n.json
deleted file mode 100755
index 99622d04..00000000
--- a/assets/i18n/or_IN.i18n.json
+++ /dev/null
@@ -1,56 +0,0 @@
-{
- "okButton": "ଠିକ୍ ଅଛି",
- "yesButton": "ହଁ",
- "noButton": "ନାହିଁ",
- "warning": "ଚେତାଵନୀ",
- "navigationView": {
- "patcherTab": "ରଫୁକାର",
- "settingsTab": "ସେଟିଂ"
- },
- "homeView": {
- "updateChangelogTitle": "ପରିବର୍ତ୍ତନ ପୋଥି",
- "noConnection": "କୌଣସି ଇଣ୍ଟର୍ନେଟ୍ ସଂଯୋଗ ନାହିଁ"
- },
- "applicationItem": {
- "infoButton": "ସୂଚନା"
- },
- "latestCommitCard": {
- "timeagoLabel": "${time} ପୂର୍ବେ"
- },
- "patcherView": {
- "widgetTitle": "ରଫୁକାର",
- "patchButton": "ରଫୁ"
- },
- "socialMediaCard": {
- "widgetSubtitle": "ଆମେ ଅନଲାଇନ୍ ଅଛୁ!"
- },
- "appSelectorView": {
- "storageButton": "ଷ୍ଟୋରେଜ୍"
- },
- "patchesSelectorView": {
- "doneButton": "ହେଲା",
- "defaultChip": "ଡିଫଲ୍ଟ",
- "defaultTooltip": "ସମସ୍ତ ଡିଫଲ୍ଟ ରଫୁ ଚୟନ କର"
- },
- "settingsView": {
- "widgetTitle": "ସେଟିଂ",
- "appearanceSectionTitle": "ରୂପ",
- "teamSectionTitle": "ଦଳ",
- "advancedSectionTitle": "ଵିକଶିତ",
- "exportSectionTitle": "ଆମଦାନୀ ଓ ରପ୍ତାନି",
- "themeModeLabel": "ଆପ୍ ଥିମ୍",
- "systemThemeLabel": "ସିଷ୍ଟମ୍",
- "lightThemeLabel": "ହାଲୁକା",
- "darkThemeLabel": "ଗାଢ଼",
- "languageLabel": "ଭାଷା",
- "languageUpdated": "ଭାଷା ଅଦ୍ୟତନ କରାଗଲା",
- "apiURLLabel": "APIର URL",
- "selectApiURL": "APIର URL",
- "aboutLabel": "ସମ୍ବନ୍ଧରେ",
- "snackbarMessage": "କ୍ଲିପବୋର୍ଡରେ କପି କରିନିଆଗଲା"
- },
- "appInfoView": {
- "widgetTitle": "ଆପ୍ ସୂଚନା",
- "rootDialogTitle": "ତ୍ରୁଟି"
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/pl_PL.i18n.json b/assets/i18n/pl_PL.i18n.json
deleted file mode 100755
index e090d59d..00000000
--- a/assets/i18n/pl_PL.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "OK",
- "cancelButton": "Anuluj",
- "dismissButton": "Odrzuć",
- "quitButton": "Wyjdź",
- "updateButton": "Aktualizuj",
- "suggested": "Sugerowana wersja: ${version}",
- "yesButton": "Tak",
- "noButton": "Nie",
- "warning": "Ostrzeżenie",
- "notice": "Komunikat",
- "noShowAgain": "Nie pokazuj ponownie",
- "add": "Dodaj",
- "remove": "Usuń",
- "showChangelogButton": "Pokaż listę zmian",
- "showUpdateButton": "Pokaż aktualizację",
- "navigationView": {
- "dashboardTab": "Panel główny",
- "patcherTab": "Łataj",
- "settingsTab": "Ustawienia"
- },
- "homeView": {
- "refreshSuccess": "Odświeżono pomyślnie",
- "widgetTitle": "Panel główny",
- "updatesSubtitle": "Aktualizacje",
- "lastPatchedAppSubtitle": "Ostatnio poprawiona aplikacja",
- "patchedSubtitle": "Zainstalowane aplikacje",
- "changeLaterSubtitle": "Możesz to zmienić w ustawieniach w późniejszym czasie.",
- "noSavedAppFound": "Nie znaleziono aplikacji",
- "noInstallations": "Nie zainstalowano żadnych łatanych aplikacji",
- "installUpdate": "Kontynuować instalację aktualizacji?",
- "updateSheetTitle": "Zaktualizuj ReVanced Manager",
- "updateDialogTitle": "Dostępna jest nowa aktualizacja",
- "updatePatchesSheetTitle": "Zaktualizuj łatki ReVanced",
- "updateChangelogTitle": "Lista zmian",
- "updateDialogText": "Nowa aktualizacja jest dostępna dla ${file}.\n\nAktualnie zainstalowana wersja to ${version}.",
- "downloadConsentDialogTitle": "Pobrać potrzebne pliki?",
- "downloadConsentDialogText": "Menedżer ReVanced musi pobrać niezbędne pliki do prawidłowego działania.",
- "downloadConsentDialogText2": "Zostaniesz przekierowany do ${url}.",
- "downloadingMessage": "Pobieranie aktualizacji...",
- "downloadedMessage": "Pobrano aktualizację",
- "installingMessage": "Instalowanie aktualizacji...",
- "errorDownloadMessage": "Nie udało się pobrać aktualizacji",
- "errorInstallMessage": "Nie udało się zainstalować aktualizacji",
- "noConnection": "Brak połączenia z internetem"
- },
- "applicationItem": {
- "infoButton": "Informacje"
- },
- "latestCommitCard": {
- "loadingLabel": "Ładowanie...",
- "timeagoLabel": "${time} temu"
- },
- "patcherView": {
- "widgetTitle": "Łataj",
- "patchButton": "Załataj",
- "incompatibleArchWarningDialogText": "Łatanie na tej architekturze nie jest jeszcze obsługiwane i może się nie powieść. Czy chcesz kontynuować mimo to?",
- "removedPatchesWarningDialogText": "Łatki usunięte od czasu Twojego ostatniego łatania aplikacji:\n\n${patches}\n\n${newPatches}Kontynuować?",
- "addedPatchesDialogText": "Łatki dodane od czasu Twojego ostatniego łatania aplikacji:\n\n${addedPatches}\n",
- "requiredOptionDialogText": "Niektóre opcje muszą być ustawione."
- },
- "appSelectorCard": {
- "widgetTitle": "Wybierz aplikację",
- "widgetTitleSelected": "Wybrana aplikacja",
- "widgetSubtitle": "Brak wybranej aplikacji",
- "noAppsLabel": "Nie znaleziono aplikacji",
- "anyVersion": "Dowolna wersja"
- },
- "patchSelectorCard": {
- "widgetTitle": "Wybierz łatki",
- "widgetTitleSelected": "Wybrane łatki",
- "widgetSubtitle": "Najpierw wybierz aplikację",
- "widgetEmptySubtitle": "Nie wybrano żadnych łatek"
- },
- "socialMediaCard": {
- "widgetTitle": "Media społecznościowe",
- "widgetSubtitle": "Jesteśmy online!"
- },
- "appSelectorView": {
- "viewTitle": "Wybierz aplikację",
- "searchBarHint": "Wyszukaj aplikację",
- "storageButton": "Pamięć",
- "selectFromStorageButton": "Wybierz z pamięci",
- "errorMessage": "Nie można użyć wybranej aplikacji",
- "downloadToast": "Funkcja pobierania jest jeszcze niedostępna",
- "requireSuggestedAppVersionDialogText": "Wersja aplikacji, która została wybrana nie jest sugerowana, co może prowadzić do nieoczekiwanych problemów. Proszę wybrać sugerowaną wersję aplikacji.\n\nWybrana wersja: ${selected}\nSugerowana wersja: ${suggested}\n\nAby kontynuować, wyłącz \"Wymagaj sugerowanej wersji aplikacji\" w ustawieniach.",
- "featureNotAvailable": "Funkcja nie zaimplementowana",
- "featureNotAvailableText": "Ta aplikacja jest podzieloną APK i może być załatana i zainstalowana tylko korzystając z uprawnień roota. Jednakże możesz załatać i zainstalować pełną APK wybierając ją z pamięci."
- },
- "patchesSelectorView": {
- "viewTitle": "Wybierz łatki",
- "searchBarHint": "Wyszukaj łatki",
- "universalPatches": "Uniwersalne łatki",
- "newPatches": "Nowe łatki",
- "patches": "Łatki",
- "doneButton": "Gotowe",
- "defaultChip": "Domyślnie",
- "defaultTooltip": "Wybierz wszystkie domyślne łatki",
- "noneChip": "Brak",
- "noneTooltip": "Odznacz wszystkie łatki",
- "loadPatchesSelection": "Załaduj wybór łatek",
- "noSavedPatches": "Brak zapisanych łatek dla wybranej aplikacji.\nNaciśnij Gotowe, aby zapisać bieżący wybór.",
- "noPatchesFound": "Nie znaleziono żadnych łatek dla wybranej aplikacji",
- "setRequiredOption": "Niektóre łatki wymagają ustawienia opcji:\n\n${patches}\n\nProszę je ustawić przed kontynuacją."
- },
- "patchOptionsView": {
- "customValue": "Niestandardowa wartość",
- "setToNull": "Ustaw na zerowy",
- "nullValue": "Ta opcja jest obecnie pusta",
- "viewTitle": "Opcje łatek",
- "saveOptions": "Zapisz",
- "unselectPatch": "Odznacz łatkę",
- "tooltip": "Więcej opcji wejściowych",
- "selectFilePath": "Wybierz ścieżkę pliku",
- "selectFolder": "Wybierz folder",
- "requiredOption": "Ustawienie tej opcji jest wymagane",
- "unsupportedOption": "Ta opcja nie jest wspierana",
- "requiredOptionNull": "Należy ustawić następujące opcje:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "Wybranie tej łatki może spowodować błędy podczas łatania.\n\nWersja aplikacji: ${packageVersion}\nAktualnie wspierana wersja:\n${supportedVersions}",
- "unsupportedPatchVersion": "Łatka nie jest wspierana dla tej wersji aplikacji.",
- "unsupportedRequiredOption": "Ta łatka wymaga ustawienia opcji, która nie jest wspierana przez tę aplikację",
- "patchesChangeWarningDialogText": "Zalecane jest użycie domyślnej listy wyboru łatek i opcji. Ich zmiana może spowodować nieoczekiwane problemy.\n\nMusisz włączyć \"Zezwól na zmianę listy wyboru łatek\" w ustawieniach przed zmianą listy wyboru łatek.",
- "patchesChangeWarningDialogButton": "Użyj domyślnego wyboru"
- },
- "installerView": {
- "installType": "Wybierz typ instalacji",
- "installTypeDescription": "Wybierz typ instalacji, aby kontynuować.",
- "installButton": "Zainstaluj",
- "installRootType": "Zainstaluj",
- "installNonRootType": "Standardowe",
- "warning": "Wyłącz automatyczne aktualizacje załatanej aplikacji, aby uniknąć nieoczekiwanych problemów.",
- "pressBackAgain": "Naciśnij ponownie, aby anulować",
- "openButton": "Otwórz",
- "notificationTitle": "Menedżer ReVanced jest w trakcie działania",
- "notificationText": "Kliknij, aby powrócić do instalatora",
- "exportApkButtonTooltip": "Wyeksportuj załatany plik APK",
- "exportLogButtonTooltip": "Wyeksportuj logi",
- "screenshotDetected": "Wykryto zrzut ekranu. Jeżeli próbujesz udostępnić logi, proszę udostępnić kopię tekstu.\n\nSkopiować logi?",
- "copiedToClipboard": "Logi skopiowane",
- "noExit": "Instalator jest nadal uruchomiony, nie można zakończyć jego działania..."
- },
- "settingsView": {
- "widgetTitle": "Ustawienia",
- "appearanceSectionTitle": "Wygląd",
- "teamSectionTitle": "Zespół",
- "debugSectionTitle": "Debugowanie",
- "advancedSectionTitle": "Zaawansowane",
- "exportSectionTitle": "Import i eksport",
- "dataSectionTitle": "Źródła danych",
- "themeModeLabel": "Motyw aplikacji",
- "systemThemeLabel": "Systemowy",
- "lightThemeLabel": "Jasny",
- "darkThemeLabel": "Ciemny",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "Ciesz się wrażeniami bliższymi twojemu urządzeniu",
- "languageLabel": "Język",
- "languageUpdated": "Zaktualizowano język",
- "sourcesLabel": "Alternatywne źródło",
- "sourcesLabelHint": "Skonfiguruj alternatywne źródła dla łatek ReVanced",
- "useAlternativeSources": "Używaj alternatywnych źródeł",
- "useAlternativeSourcesHint": "Użyj alternatywnych źródeł dla łatek ReVanced zamiast API",
- "sourcesResetDialogTitle": "Zresetuj",
- "sourcesResetDialogText": "Czy na pewno chcesz przywrócić niestandardowe źródła do ich wartości domyślnych?",
- "apiURLResetDialogText": "Czy jesteś pewien, że chcesz przywrócić wszystkie adresy API do domyślnych wartości?",
- "sourcesUpdateNote": "Uwaga: Spowoduje to automatyczne pobranie łatek ReVanced z alternatywnych źródeł.\n\nTo połączy Cię z alternatywnym źródłem.",
- "apiURLLabel": "Adres API",
- "apiURLHint": "Skonfiguruj adres API Menedżera ReVanced",
- "selectApiURL": "Adres API",
- "orgPatchesLabel": "Organizacja łatek",
- "sourcesPatchesLabel": "Źródło łatek",
- "contributorsLabel": "Współtwórcy",
- "contributorsHint": "Lista współtwórców ReVanced",
- "logsLabel": "Udostępnij logi",
- "logsHint": "Udostępnij logi Menedżera ReVanced",
- "enablePatchesSelectionLabel": "Zezwalaj na zmianę wyboru łatek",
- "enablePatchesSelectionHint": "Nie zapobiegaj wybieraniu lub usuwaniu łatek",
- "enablePatchesSelectionWarningText": "Zmiana domyślnego wyboru łatek może spowodować nieoczekiwane błędy.\n\nWłączyć mimo to?",
- "disablePatchesSelectionWarningText": "Zamierzasz wyłączyć zmianę wyboru łatek.\nZostanie przywrócony domyślny wybór łatek.\n\nWyłączyć mimo to?",
- "autoUpdatePatchesLabel": "Automatycznie aktualizuj łatki",
- "autoUpdatePatchesHint": "Automatycznie aktualizuj łatki do najnowszej wersji",
- "showUpdateDialogLabel": "Pokaż powiadomienie o aktualizacji",
- "showUpdateDialogHint": "Pokaż powiadomienie, gdy nowa wersja jest dostępna",
- "universalPatchesLabel": "Pokaż uniwersalne łatki",
- "universalPatchesHint": "Wyświetl wszystkie aplikacje i uniwersalne łatki (może spowolnić wczytywane listy aplikacji)",
- "lastPatchedAppLabel": "Zapisz zaktualizowaną aplikację",
- "lastPatchedAppHint": "Zapisz ostatnią aktualizację, aby zainstalować lub wyeksportować później",
- "versionCompatibilityCheckLabel": "Sprawdzanie zgodności wersji",
- "versionCompatibilityCheckHint": "Zapobiegaj wybieraniu łatek, które nie są kompatybilne z wybraną wersją aplikacji",
- "requireSuggestedAppVersionLabel": "Wymagaj sugerowanej wersji aplikacji",
- "requireSuggestedAppVersionHint": "Zapobiegaj wybieraniu aplikacji z wersją, która nie jest sugerowana",
- "requireSuggestedAppVersionDialogText": "Wybranie wersji aplikacji, która nie jest sugerowana może spowodować problemy.\n\nCzy mimo to chcesz kontynuować?",
- "aboutLabel": "O Aplikacji",
- "snackbarMessage": "Skopiowano do schowka",
- "restartAppForChanges": "Uruchom ponownie aplikację, aby zastosować zmiany",
- "deleteTempDirLabel": "Usuń pliki tymczasowe",
- "deleteTempDirHint": "Usuń nieużywane pliki tymczasowe",
- "deletedTempDir": "Pliki tymczasowe zostały usunięte",
- "exportSettingsLabel": "Eksportuj ustawienia",
- "exportSettingsHint": "Eksportuj ustawienia do pliku JSON",
- "exportedSettings": "Ustawienia wyeksportowane",
- "importSettingsLabel": "Importuj ustawienia",
- "importSettingsHint": "Importuj ustawienia z pliku JSON",
- "importedSettings": "Ustawienia zaimportowane",
- "exportPatchesLabel": "Eksportuj wybór łatek",
- "exportPatchesHint": "Eksportuj wybór łatek do pliku JSON",
- "exportedPatches": "Wyeksportowano wybór łatek",
- "noExportFileFound": "Brak wyboru łatek do wyeksportowania",
- "importPatchesLabel": "Importuj wybór łatek",
- "importPatchesHint": "Importuj wybór łatek z pliku JSON",
- "importedPatches": "Zaimportowano wybór łatek",
- "resetStoredPatchesLabel": "Zresetuj wybór łatek",
- "resetStoredPatchesHint": "Zresetuj zapisany wybór łatek",
- "resetStoredPatchesDialogTitle": "Zresetować wybór łatek?",
- "resetStoredPatchesDialogText": "Domyślny wybór łatek zostanie przywrócony.",
- "resetStoredPatches": "Wybór łatek został zresetowany",
- "resetStoredOptionsLabel": "Zresetuj opcje od łatek",
- "resetStoredOptionsHint": "Zresetuj opcje od wszystkich łatek",
- "resetStoredOptionsDialogTitle": "Zresetować opcje od łatek?",
- "resetStoredOptionsDialogText": "Zresetowanie opcji od łatek usunie wszystkie zapisane opcje.",
- "resetStoredOptions": "Opcje zostały zresetowane",
- "deleteLogsLabel": "Wyczyść logi",
- "deleteLogsHint": "Usuń logi zebrane przez Menedżera ReVanced",
- "deletedLogs": "Logi usunięte",
- "regenerateKeystoreLabel": "Wygeneruj nowy magazyn kluczy",
- "regenerateKeystoreHint": "Wygeneruj nowy magazyn kluczy używany do podpisywania aplikacji",
- "regenerateKeystoreDialogTitle": "Wygenerować nowy magazyn kluczy?",
- "regenerateKeystoreDialogText": "Załatane aplikacje podpisane starym magazynem kluczy nie będą mogły być zaktualizowane.",
- "regeneratedKeystore": "Wygenerowano nowy magazyn kluczy",
- "exportKeystoreLabel": "Wyeksportuj magazyn kluczy",
- "exportKeystoreHint": "Wyeksportuj magazyn kluczy używany do podpisywania aplikacji",
- "exportedKeystore": "Wyeksportowano magazyn kluczy",
- "noKeystoreExportFileFound": "Brak magazynu kluczy do wyeksportowania",
- "importKeystoreLabel": "Importuj magazyn kluczy",
- "importKeystoreHint": "Importuj magazyn kluczy użyty do podpisania aplikacji",
- "importedKeystore": "Zaimportowano magazyn kluczy",
- "selectKeystorePassword": "Hasło magazynu kluczy",
- "selectKeystorePasswordHint": "Wybierz hasło magazynu kluczy używanego do podpisywania aplikacji",
- "jsonSelectorErrorMessage": "Nie można użyć wybranego pliku JSON",
- "keystoreSelectorErrorMessage": "Nie można użyć wybranego pliku z magazynem kluczy"
- },
- "appInfoView": {
- "widgetTitle": "Informacje o aplikacji",
- "openButton": "Otwórz",
- "installButton": "Zainstaluj",
- "uninstallButton": "Odinstaluj",
- "unmountButton": "Odinstaluj",
- "exportButton": "Eksportuj",
- "deleteButton": "Usuń",
- "rootDialogTitle": "Błąd",
- "lastPatchedAppDescription": "To jest kopia zapasowa aplikacji, która została ostatnio zmodyfikowana.",
- "unmountDialogText": "Czy na pewno chcesz odinstalować tę aplikację?",
- "uninstallDialogText": "Czy na pewno chcesz odinstalować tę aplikację?",
- "rootDialogText": "Aplikacja została zainstalowana z uprawnieniami roota, ale obecnie Menedżer ReVanced nie ma uprawnień.\nProszę najpierw przyznać uprawnienia roota.",
- "removeAppDialogTitle": "Usunąć aplikację?",
- "removeAppDialogText": "Czy na pewno chcesz usunąć tę kopię zapasową?",
- "packageNameLabel": "Nazwa pakietu",
- "installTypeLabel": "Typ instalacji",
- "mountTypeLabel": "Zainstaluj",
- "regularTypeLabel": "Standardowe",
- "patchedDateLabel": "Data załatania",
- "appliedPatchesLabel": "Zastosowane łatki",
- "sizeLabel": "Rozmiar pliku",
- "patchedDateHint": "${date} o godzinie ${time}",
- "appliedPatchesHint": "Zastosowano ${quantity} łatek",
- "updateNotImplemented": "Ta funkcja nie została jeszcze zaimplementowana"
- },
- "contributorsView": {
- "widgetTitle": "Współtwórcy"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "Niezgodność wersji",
- "mount_no_root": "Brak dostępu do roota",
- "mount_missing_installation": "Nie znaleziono instalacji",
- "status_failure_blocked": "Instalacja zablokowana",
- "install_failed_verification_failure": "Weryfikacja nie powiodła się",
- "status_failure_invalid": "Nieprawidłowa instalacja",
- "install_failed_version_downgrade": "Nie można obniżyć wersji",
- "status_failure_conflict": "Błąd instalacji",
- "status_failure_storage": "Problem z pamięcią instalacji",
- "status_failure_incompatible": "Niekompatybilna instalacja",
- "status_failure_timeout": "Upłynął limit czasu instalacji",
- "status_unknown": "Instalacja nieudana",
- "mount_version_mismatch_description": "Instalacja nie powiodła się z powodu różnicy wersji zainstalowanej i załatanej aplikacji.\n\nZainstaluj wersję aplikacji, którą instalujesz i spróbuj ponownie.",
- "mount_no_root_description": "Instalacja nie powiodła się z powodu braku dostępu do roota.\n\nUdziel dostępu do roota Menedżerowi ReVanced i spróbuj ponownie.",
- "mount_missing_installation_description": "Instalacja nie powiodła się z powodu braku niezałatanej aplikacji.\n\nZainstaluj niezałataną aplikację przed instalacją i spróbuj ponownie.",
- "status_failure_timeout_description": "Instalacja trwała zbyt długo.\n\nCzy chcesz spróbować ponownie?",
- "status_failure_storage_description": "Instalacja nie powiodła się z powodu niewystarczającej ilości pamięci.\n\nZwolnij trochę miejsca i spróbuj ponownie.",
- "status_failure_invalid_description": "Instalacja nie powiodła się ze względu na nieprawidłową załataną aplikację.\n\nCzy chcesz odinstalować aplikację i spróbować ponownie?",
- "status_failure_incompatible_description": "Aplikacja jest niekompatybilna z tym urządzeniem.\n\nUżyj pliku APK, który jest obsługiwany przez to urządzenie i spróbuj ponownie.",
- "status_failure_conflict_description": "Instalacja została uniemożliwiona przez istniejącą instalację aplikacji.\n\nCzy chcesz odinstalować zainstalowaną aplikację i spróbować ponownie?",
- "status_failure_blocked_description": "Instalacja została zablokowana przez ${packageName}.\n\nDostosuj ustawienia zabezpieczeń i spróbuj ponownie.",
- "install_failed_verification_failure_description": "Instalacja nie powiodła się z powodu problemu weryfikacji.\n\nDostosuj ustawienia zabezpieczeń i spróbuj ponownie.",
- "install_failed_version_downgrade_description": "Instalacja nie powiodła się z powodu niższej wersji załatanej od zainstalowanej aplikacji.\n\nCzy chcesz odinstalować aplikację i spróbować ponownie?",
- "status_unknown_description": "Instalacja nie powiodła się z nieznanego powodu. Spróbuj ponownie."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/pt_BR.i18n.json b/assets/i18n/pt_BR.i18n.json
deleted file mode 100755
index 3d332fe9..00000000
--- a/assets/i18n/pt_BR.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "OK",
- "cancelButton": "Cancelar",
- "dismissButton": "Descartar",
- "quitButton": "Sair",
- "updateButton": "Atualizar",
- "suggested": "Sugerida: ${version}",
- "yesButton": "Sim",
- "noButton": "Não",
- "warning": "Atenção",
- "notice": "Nota",
- "noShowAgain": "Não mostrar isso novamente",
- "add": "Adicionar",
- "remove": "Remover",
- "showChangelogButton": "Mostrar alterações",
- "showUpdateButton": "Mostrar atualização",
- "navigationView": {
- "dashboardTab": "Painel",
- "patcherTab": "Patcher",
- "settingsTab": "Configurações"
- },
- "homeView": {
- "refreshSuccess": "Atualizado com sucesso",
- "widgetTitle": "Painel",
- "updatesSubtitle": "Atualizações",
- "lastPatchedAppSubtitle": "Último app patcheado",
- "patchedSubtitle": "Apps instalados",
- "changeLaterSubtitle": "Você pode ajustar essa opção nas configurações mais tarde.",
- "noSavedAppFound": "Nenhum app encontrado",
- "noInstallations": "Nenhum app patcheado instalado",
- "installUpdate": "Continuar a instalação da atualização?",
- "updateSheetTitle": "Atualizar o ReVanced Manager",
- "updateDialogTitle": "Nova atualização disponível",
- "updatePatchesSheetTitle": "Atualizar os Patches ReVanced",
- "updateChangelogTitle": "Alterações",
- "updateDialogText": "Uma nova atualização está disponível para ${file}.\n\nA versão atualmente instalada é a ${version}.",
- "downloadConsentDialogTitle": "Baixar os arquivos necessários?",
- "downloadConsentDialogText": "O ReVanced Manager precisa baixar os arquivos necessários para funcionar corretamente.",
- "downloadConsentDialogText2": "Isso vai conectar você em ${url}.",
- "downloadingMessage": "Baixando atualização...",
- "downloadedMessage": "Atualização baixada",
- "installingMessage": "Instalando atualização...",
- "errorDownloadMessage": "Não é possível baixar a atualização",
- "errorInstallMessage": "Não foi possível instalar a atualização",
- "noConnection": "Sem conexão com a internet"
- },
- "applicationItem": {
- "infoButton": "Informações"
- },
- "latestCommitCard": {
- "loadingLabel": "Carregando...",
- "timeagoLabel": "há ${time}"
- },
- "patcherView": {
- "widgetTitle": "Patcher",
- "patchButton": "Patch",
- "incompatibleArchWarningDialogText": "A aplicação de patches nesta arquitetura ainda não é suportada e pode falhar. Continuar mesmo assim?",
- "removedPatchesWarningDialogText": "Patches removidos desde a última vez que você aplicou patches neste app:\n\n${patches}\n\n${newPatches}Continuar mesmo assim?",
- "addedPatchesDialogText": "Patches adicionados desde a última vez que você aplicou patches neste app:\n\n${addedPatches}\n",
- "requiredOptionDialogText": "Algumas opções de patch precisam ser definidas."
- },
- "appSelectorCard": {
- "widgetTitle": "Selecione um app",
- "widgetTitleSelected": "App selecionado",
- "widgetSubtitle": "Nenhum app selecionado",
- "noAppsLabel": "Nenhum app foi encontrado",
- "anyVersion": "Qualquer versão"
- },
- "patchSelectorCard": {
- "widgetTitle": "Selecionar patches",
- "widgetTitleSelected": "Patches selecionados",
- "widgetSubtitle": "Selecione um app primeiro",
- "widgetEmptySubtitle": "Nenhum patch selecionado"
- },
- "socialMediaCard": {
- "widgetTitle": "Redes sociais",
- "widgetSubtitle": "Estamos online!"
- },
- "appSelectorView": {
- "viewTitle": "Selecione um app",
- "searchBarHint": "Buscar app",
- "storageButton": "Armazenamento",
- "selectFromStorageButton": "Selecione no armazenamento",
- "errorMessage": "Não foi possível usar o app selecionado",
- "downloadToast": "A função de download não está disponível ainda",
- "requireSuggestedAppVersionDialogText": "A versão do app selecionada não corresponde à versão sugerida, o que pode causar problemas inesperados. Por favor, use a versão sugerida.\n\nVersão selecionada: ${selected} \nVersão sugerida: ${suggested}\n\nPara continuar mesmo assim, desative \"Exigir versão sugerida do app\" nas configurações.",
- "featureNotAvailable": "Recurso não implementado",
- "featureNotAvailableText": "Este app é um APK dividido e só pode ser patcheado e instalado de forma confiável ao ser montado com permissões root. Mas, você pode patchear e instalar um APK completo selecionando-o no armazenamento."
- },
- "patchesSelectorView": {
- "viewTitle": "Selecionar patches",
- "searchBarHint": "Buscar patches",
- "universalPatches": "Patches universais",
- "newPatches": "Novos patches",
- "patches": "Patches",
- "doneButton": "Concluído",
- "defaultChip": "Padrão",
- "defaultTooltip": "Selecionar todos os patches padrões",
- "noneChip": "Nenhum",
- "noneTooltip": "Desmarcar todos os patches",
- "loadPatchesSelection": "Carregar o patch selecionado",
- "noSavedPatches": "Não há patches salvos para esse app selecionado.\nAperte \"Concluir\" para salvar a seleção atual.",
- "noPatchesFound": "Nenhum patch encontrado para o app selecionado",
- "setRequiredOption": "Alguns patches precisam das seguintes opções:\n\n${patches}\n\nPor gentileza defina-as antes de continuar."
- },
- "patchOptionsView": {
- "customValue": "Valor personalizado",
- "setToNull": "Definido como nulo",
- "nullValue": "O valor desta opção é atualmente nulo",
- "viewTitle": "Opções de patch",
- "saveOptions": "Salvar",
- "unselectPatch": "Patch não selecionado",
- "tooltip": "Mais opções de entrada",
- "selectFilePath": "Selecione o caminho do arquivo",
- "selectFolder": "Selecione a pasta",
- "requiredOption": "Definir esta opção é obrigatório",
- "unsupportedOption": "Essa opção não é suportada",
- "requiredOptionNull": "As seguintes opções precisam ser definidas:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "Selecionar esse patch pode resultar em erros.\n\nVersão do app: ${packageVersion}\nVersões suportadas: ${supportedVersions}",
- "unsupportedPatchVersion": "O patch não é suportado para a versão desse app.",
- "unsupportedRequiredOption": "Esse patch contém uma opção necessária que não é suportada por esse app",
- "patchesChangeWarningDialogText": "É recomendado usar a seleção de patch e as opções padrão. Alterá-las pode resultar em problemas inesperados.\n\nVocê precisará ativar \"Permitir alterar a seleção de patch\" nas configurações antes de alterar qualquer seleção de patch.",
- "patchesChangeWarningDialogButton": "Use a seleção padrão"
- },
- "installerView": {
- "installType": "Selecione o tipo de instalação",
- "installTypeDescription": "Selecione o tipo de instalação para continuar.",
- "installButton": "Instalar",
- "installRootType": "Montar",
- "installNonRootType": "Normal",
- "warning": "Desative as atualizações automáticas do app patcheado para evitar problemas inesperados.",
- "pressBackAgain": "Pressione voltar mais uma vez para cancelar",
- "openButton": "Abrir",
- "notificationTitle": "O ReVanced Manager está aplicando os patches",
- "notificationText": "Toque para voltar ao instalador",
- "exportApkButtonTooltip": "Exportar APK com o patch aplicado",
- "exportLogButtonTooltip": "Exportar log",
- "screenshotDetected": "Uma captura de tela foi detectada. Se está tentando compartilhar esse log, por favor apenas faça a cópia do texto.\n\nCopiar o log para a área de transferência?",
- "copiedToClipboard": "Log copiado para a área de transferência",
- "noExit": "O instalador ainda está em execução, não é possível sair..."
- },
- "settingsView": {
- "widgetTitle": "Configurações",
- "appearanceSectionTitle": "Aparência",
- "teamSectionTitle": "Time",
- "debugSectionTitle": "Depuração",
- "advancedSectionTitle": "Avançado",
- "exportSectionTitle": "Importar e exportar",
- "dataSectionTitle": "Fonte de dados",
- "themeModeLabel": "Tema do app",
- "systemThemeLabel": "Sistema",
- "lightThemeLabel": "Claro",
- "darkThemeLabel": "Escuro",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "Aproveite uma experiência mais próxima do tema de seu dispositivo",
- "languageLabel": "Idioma",
- "languageUpdated": "Idioma atualizado",
- "sourcesLabel": "Fontes alternativas",
- "sourcesLabelHint": "Configure as fontes alternativas para os Patches ReVanced",
- "useAlternativeSources": "Usar fontes alternativas",
- "useAlternativeSourcesHint": "Use fontes alternativas para os Patches ReVanced em vez da API",
- "sourcesResetDialogTitle": "Redefinir",
- "sourcesResetDialogText": "Você tem certeza que quer redefinir as fontes para o padrão?",
- "apiURLResetDialogText": "Tem certeza de que quer redefinir o URL da API para o padrão?",
- "sourcesUpdateNote": "Nota: Isso vai automaticamente fazer o download dos Patches ReVanced das fontes alternativas.\n\nIsso vai conectar você à fonte alternativa.",
- "apiURLLabel": "URL da API",
- "apiURLHint": "Configure o URL da API do ReVanced Manager",
- "selectApiURL": "URL da API",
- "orgPatchesLabel": "Organização dos patches",
- "sourcesPatchesLabel": "Fonte dos patches",
- "contributorsLabel": "Contribuidores",
- "contributorsHint": "Uma lista de contribuidores do ReVanced",
- "logsLabel": "Compartilhar logs",
- "logsHint": "Compartilhar logs do ReVanced Manager",
- "enablePatchesSelectionLabel": "Permitir alterar a seleção de patch",
- "enablePatchesSelectionHint": "Não evite selecionar ou desmarcar patches",
- "enablePatchesSelectionWarningText": "Alterar a seleção dos patches pode causar problemas inesperados.\n\nAtivar mesmo assim?",
- "disablePatchesSelectionWarningText": "Você irá desabilitar a mudança da pré-seleção dos patches.\nA seleção padrão dos patches será restaurada.\n\nDesabilitar mesmo assim?",
- "autoUpdatePatchesLabel": "Atualizar patches automaticamente",
- "autoUpdatePatchesHint": "Atualize automaticamente os patches para a versão mais recente",
- "showUpdateDialogLabel": "Mostrar alerta de atualização",
- "showUpdateDialogHint": "Mostra um aviso quando uma nova atualização estiver disponível",
- "universalPatchesLabel": "Mostrar patches universais",
- "universalPatchesHint": "Mostra todos os apps e patches universais (pode deixar a lista de apps mais lenta)",
- "lastPatchedAppLabel": "Salvar app patcheado",
- "lastPatchedAppHint": "Salve o último patch para instalar ou exportar mais tarde",
- "versionCompatibilityCheckLabel": "Verificar compatibilidade de versão",
- "versionCompatibilityCheckHint": "Impedir a seleção de patches que não são compatíveis com a versão do app selecionado",
- "requireSuggestedAppVersionLabel": "Exigir versão sugerida do app",
- "requireSuggestedAppVersionHint": "Evite selecionar um app com uma versão diferente da sugerida",
- "requireSuggestedAppVersionDialogText": "Selecionar um app que não seja a versão sugerida pode causar problemas inesperados.\n\nVocê quer continuar mesmo assim?",
- "aboutLabel": "Sobre",
- "snackbarMessage": "Copiado para a área de transferência",
- "restartAppForChanges": "Reinicie o app para aplicar as mudanças",
- "deleteTempDirLabel": "Apagar arquivos temporários",
- "deleteTempDirHint": "Apagar arquivos temporários não utilizados",
- "deletedTempDir": "Arquivos temporários apagados",
- "exportSettingsLabel": "Exportar configurações",
- "exportSettingsHint": "Exportar opções para arquivo JSON",
- "exportedSettings": "Configurações exportadas",
- "importSettingsLabel": "Importar configurações",
- "importSettingsHint": "Importar opções de arquivo JSON",
- "importedSettings": "Configurações importadas",
- "exportPatchesLabel": "Exportar a seleção do patch",
- "exportPatchesHint": "Exportar a seleção do patch para um arquivo JSON",
- "exportedPatches": "Seleção do patch exportada",
- "noExportFileFound": "Não há seleção de patch para exportar.",
- "importPatchesLabel": "Importar seleção de patch",
- "importPatchesHint": "Importar seleção de patch de um arquivo JSON",
- "importedPatches": "Seleção de patch importada",
- "resetStoredPatchesLabel": "Redefinir a seleção de patch",
- "resetStoredPatchesHint": "Redefinir a seleção de patch armazenada",
- "resetStoredPatchesDialogTitle": "Redefinir a seleção de patch?",
- "resetStoredPatchesDialogText": "A seleção padrão de patches será restaurada.",
- "resetStoredPatches": "A seleção de patch foi redefinida",
- "resetStoredOptionsLabel": "Redefinir as opções de patch",
- "resetStoredOptionsHint": "Redefinir todas as opções de patch",
- "resetStoredOptionsDialogTitle": "Redefinir as opções de patch?",
- "resetStoredOptionsDialogText": "Redefinir as opções de patch vai remover todas as opções salvas.",
- "resetStoredOptions": "As opções foram redefinidas",
- "deleteLogsLabel": "Limpar registros",
- "deleteLogsHint": "Excluir os logs coletados pelo ReVanced Manager",
- "deletedLogs": "Registros apagados",
- "regenerateKeystoreLabel": "Regerar keystore",
- "regenerateKeystoreHint": "Regenerar o keystore usado para assinar apps",
- "regenerateKeystoreDialogTitle": "Regerar keystore?",
- "regenerateKeystoreDialogText": "Apps patcheados assinados com o keystore antigo não poderão mais ser atualizados.",
- "regeneratedKeystore": "Keystore regerado",
- "exportKeystoreLabel": "Exportar keystore",
- "exportKeystoreHint": "Exportar o keystore usado para assinar apps",
- "exportedKeystore": "Keystore exportado",
- "noKeystoreExportFileFound": "Nenhum keystore para exportar",
- "importKeystoreLabel": "Importar keystore",
- "importKeystoreHint": "Importe uma keystore usada para assinar apps",
- "importedKeystore": "Keystore importado",
- "selectKeystorePassword": "Senha do keystore",
- "selectKeystorePasswordHint": "Selecione a senha de keystore usada para assinar apps",
- "jsonSelectorErrorMessage": "Não é possível usar o arquivo JSON selecionado",
- "keystoreSelectorErrorMessage": "Não é possível usar o arquivo keystore selecionado"
- },
- "appInfoView": {
- "widgetTitle": "Informações do app",
- "openButton": "Abrir",
- "installButton": "Instalar",
- "uninstallButton": "Desinstalar",
- "unmountButton": "Desmontar",
- "exportButton": "Exportar",
- "deleteButton": "Excluir",
- "rootDialogTitle": "Erro",
- "lastPatchedAppDescription": "Este é um backup do app que foi patcheado pela última vez.",
- "unmountDialogText": "Tem certeza de que quer desmontar este app?",
- "uninstallDialogText": "Tem certeza de que quer desinstalar este app?",
- "rootDialogText": "O app foi instalado com permissões de superusuário, mas atualmente o ReVanced Manager não tem permissões.\nPor favor, conceda as permissões de superusuário primeiro.",
- "removeAppDialogTitle": "Excluir app?",
- "removeAppDialogText": "Tem certeza que quer excluir este backup?",
- "packageNameLabel": "Nome do pacote",
- "installTypeLabel": "Tipo de instalação",
- "mountTypeLabel": "Montar",
- "regularTypeLabel": "Normal",
- "patchedDateLabel": "Data do patch",
- "appliedPatchesLabel": "Patches aplicados",
- "sizeLabel": "Tamanho do arquivo",
- "patchedDateHint": "${date} às ${time}",
- "appliedPatchesHint": "${quantity} patches aplicados",
- "updateNotImplemented": "Este recurso ainda não foi implementado"
- },
- "contributorsView": {
- "widgetTitle": "Contribuidores"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "Incompatibilidade de versão",
- "mount_no_root": "Sem acesso ao root",
- "mount_missing_installation": "Instalação não encontrada",
- "status_failure_blocked": "Falha na instalação",
- "install_failed_verification_failure": "A verificação falhou",
- "status_failure_invalid": "Instalação inválida",
- "install_failed_version_downgrade": "Não é possível rebaixar",
- "status_failure_conflict": "Conflito de instalação",
- "status_failure_storage": "Problema de espaço durante a instalação",
- "status_failure_incompatible": "Instalação incompatível",
- "status_failure_timeout": "Instalação expirou",
- "status_unknown": "Falha na instalação",
- "mount_version_mismatch_description": "A instalação falhou porque o app instalado era de uma versão diferente do app patcheado.\n\nInstale a versão do app que você está montando e tente de novo.",
- "mount_no_root_description": "A instalação falhou porque o acesso ao root não foi concedido. Conceda acesso ao root para o ReVanced Manager e tente de novo.",
- "mount_missing_installation_description": "A instalação falhou porque o app sem patches não foi instalado neste dispositivo para ser montado sobre ele.\n\nInstale o app sem patches antes de montar e tente de novo.",
- "status_failure_timeout_description": "A instalação levou muito tempo para terminar.\n\nGostaria de tentar novamente?",
- "status_failure_storage_description": "A instalação falhou devido ao armazenamento insuficiente.\n\nLibere algum espaço e tente novamente.",
- "status_failure_invalid_description": "A instalação falhou porque o app patcheado era inválido.\n\nDesinstalar o app e tentar de novo?",
- "status_failure_incompatible_description": "O app é incompatível com este dispositivo.\n\nUse um APK que seja suportado por este dispositivo e tente de novo.",
- "status_failure_conflict_description": "A instalação foi impedida por uma instalação existente do app.\n\nDesinstalar o app instalado e tentar de novo?",
- "status_failure_blocked_description": "A instalação foi bloqueada por ${packageName}.\n\nAjuste suas configurações de segurança e tente novamente.",
- "install_failed_verification_failure_description": "A instalação falhou devido a um problema de verificação. U\n\nAjuste suas configurações de segurança e tente novamente.",
- "install_failed_version_downgrade_description": "A instalação falhou porque o app patcheado era uma versão mais baixa que o app instalado.\n\nDesinstalar o app e tentar de novo?",
- "status_unknown_description": "A instalação falhou devido a um motivo desconhecido. Por favor, tente novamente."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/pt_PT.i18n.json b/assets/i18n/pt_PT.i18n.json
deleted file mode 100755
index 7cebb04a..00000000
--- a/assets/i18n/pt_PT.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "OK",
- "cancelButton": "Cancelar",
- "dismissButton": "Ignorar",
- "quitButton": "Sair",
- "updateButton": "Atualizar",
- "suggested": "Sugerida: ${version}",
- "yesButton": "Sim",
- "noButton": "Não",
- "warning": "Aviso",
- "notice": "Anúncio",
- "noShowAgain": "Não mostrar isto novamente",
- "add": "Adicionar",
- "remove": "Remover",
- "showChangelogButton": "Mostrar as alterações",
- "showUpdateButton": "Mostrar a atualização",
- "navigationView": {
- "dashboardTab": "Painel de Controlo",
- "patcherTab": "Modificador",
- "settingsTab": "Definições"
- },
- "homeView": {
- "refreshSuccess": "Atualizado com sucesso",
- "widgetTitle": "Painel de Controlo",
- "updatesSubtitle": "Atualizações",
- "lastPatchedAppSubtitle": "Última aplicação modificada",
- "patchedSubtitle": "Aplicações instaladas",
- "changeLaterSubtitle": "Podes modificar esta definição mais tarde.",
- "noSavedAppFound": "Nenhuma aplicação encontrada",
- "noInstallations": "Nenhuma aplicação modificada instalada",
- "installUpdate": "Continuar a instalação da atualização?",
- "updateSheetTitle": "Atualizar o ReVanced Manager",
- "updateDialogTitle": "Nova atualização disponível",
- "updatePatchesSheetTitle": "Atualizar as Modificações do ReVanced",
- "updateChangelogTitle": "Alterações",
- "updateDialogText": "Está disponível uma nova atualização para ${file}.\n\nA versão que está atualmente instalada é ${version}.",
- "downloadConsentDialogTitle": "Transferir os ficheiros necessários?",
- "downloadConsentDialogText": "O ReVanced Manager precisa de fazer transferência dos ficheiros necessários para funcionar corretamente.",
- "downloadConsentDialogText2": "Isto irá conectá-lo a ${url}.",
- "downloadingMessage": "A transferir a atualização...",
- "downloadedMessage": "Atualização transferida",
- "installingMessage": "A instalar a atualização...",
- "errorDownloadMessage": "Não foi possível transferir a atualização",
- "errorInstallMessage": "Não foi possível instalar a atualização",
- "noConnection": "Sem ligação à Internet"
- },
- "applicationItem": {
- "infoButton": "Informação"
- },
- "latestCommitCard": {
- "loadingLabel": "A carregar...",
- "timeagoLabel": "${time} atrás"
- },
- "patcherView": {
- "widgetTitle": "Modificador",
- "patchButton": "Modificar",
- "incompatibleArchWarningDialogText": "A arquitetura deste dispositivo ainda não é suportada para aplicar modificações a aplicações e possivelmente irá falhar. Continuar na mesma?",
- "removedPatchesWarningDialogText": "Modificações removidas desde a última vez que modificaste esta aplicação:\n\n${patches}\n\n${newPatches}Continuar na mesma?",
- "addedPatchesDialogText": "Modificações adicionadas desde a última vez que modificaste esta aplicação:\n\n${addedPatches}\n\n",
- "requiredOptionDialogText": "É necessário definir as opções de algumas modificações."
- },
- "appSelectorCard": {
- "widgetTitle": "Escolha uma aplicação",
- "widgetTitleSelected": "Aplicação escolhida",
- "widgetSubtitle": "Nenhuma aplicação escolhida",
- "noAppsLabel": "Nenhuma aplicação encontrada",
- "anyVersion": "Qualquer versão"
- },
- "patchSelectorCard": {
- "widgetTitle": "Escolher modificações",
- "widgetTitleSelected": "Modificações escolhidas",
- "widgetSubtitle": "Selecionar primeiro uma aplicação",
- "widgetEmptySubtitle": "Nenhuma modificação escolhida"
- },
- "socialMediaCard": {
- "widgetTitle": "Redes Sociais",
- "widgetSubtitle": "Nós estamos online!"
- },
- "appSelectorView": {
- "viewTitle": "Escolha uma aplicação",
- "searchBarHint": "Procurar aplicação",
- "storageButton": "Armazenamento",
- "selectFromStorageButton": "Escolher do armazenamento",
- "errorMessage": "Não foi possível utilizar a aplicação selecionada",
- "downloadToast": "A função da transferência ainda não está disponível",
- "requireSuggestedAppVersionDialogText": "A versão da aplicação que escolheste não corresponde à versão recomendada, o que pode levar a problemas inesperados. Por favor, utilize a versão recomendada.\n\nVersão escolhida: ${selected}\nVersão recomendada: ${suggested}\n\nNo entanto para continuar à mesma, desativa a opção “Exigir a versão recomendada da aplicação” nas definições.",
- "featureNotAvailable": "A funcionalidade não está implementada",
- "featureNotAvailableText": "Esta aplicação é uma APK dividida que só pode ser modificada e instalada de forma fiável através da montagem com permissões root. No entanto, ainda podes modificar e instalar uma APK completa ao escolher a partir do armazenamento."
- },
- "patchesSelectorView": {
- "viewTitle": "Escolher modificações",
- "searchBarHint": "Procurar modificações",
- "universalPatches": "Modificações universais",
- "newPatches": "Novas modificações",
- "patches": "Modificações",
- "doneButton": "Concluído",
- "defaultChip": "Padrão",
- "defaultTooltip": "Escolher todas as modificações predefinidas",
- "noneChip": "Nenhum",
- "noneTooltip": "Remover todas as modificações",
- "loadPatchesSelection": "Carregar as modificações selecionadas",
- "noSavedPatches": "Não existe nenhum conjunto de modificações guardadas para a aplicação escolhida.\nPrima \"Concluído\" para guardar a escolha atualmente feita.",
- "noPatchesFound": "Não foram encontradas modificações para a aplicação escolhida",
- "setRequiredOption": "Algumas modificações precisam que as suas opções sejam definidas:\n\n${patches}\n\nPor favor, configure-as antes de continuar."
- },
- "patchOptionsView": {
- "customValue": "Valor personalizado",
- "setToNull": "Definir como nulo",
- "nullValue": "O valor desta opção é atualmente nulo",
- "viewTitle": "Opções da Modificação",
- "saveOptions": "Guardar",
- "unselectPatch": "Remover modificação",
- "tooltip": "Mais opções de entrada",
- "selectFilePath": "Escolha o diretório do ficheiro",
- "selectFolder": "Escolha a pasta",
- "requiredOption": "É necessário definir esta opção",
- "unsupportedOption": "Esta opção não é suportada",
- "requiredOptionNull": "As seguintes opções devem ser definidas:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "A escolha desta modificação poderá resultar em erros inesperados na construção da aplicação.\n\nVersão da aplicação: ${packageVersion}\nVersões suportadas:\n${supportedVersions}",
- "unsupportedPatchVersion": "Esta modificação não é suportada para versão desta aplicação.",
- "unsupportedRequiredOption": "Esta modificação contém uma opção obrigatória que não é suportada por esta aplicação",
- "patchesChangeWarningDialogText": "É recomendado utilizar a seleção de modificações predefinida e as suas respetivas opções. Adicionar ou remover modificações poderá resultar em problemas inesperados.\n\nTu irás precisar de ativar a opção “Permitir a alteração da seleção de modificações” nas definições antes de tentares adicionar ou remover alguma modificação.",
- "patchesChangeWarningDialogButton": "Utilizar a escolha predefinida"
- },
- "installerView": {
- "installType": "Escolha o tipo da instalação",
- "installTypeDescription": "Seleciona o tipo de instalação para continuar.",
- "installButton": "Instalar",
- "installRootType": "Montar",
- "installNonRootType": "Normal",
- "warning": "Desativa as atualizações automáticas da aplicação modificada para evitar problemas inesperados.",
- "pressBackAgain": "Premir novamente para cancelar",
- "openButton": "Abrir",
- "notificationTitle": "O ReVanced Manager está a aplicar as modificações",
- "notificationText": "Toca para voltar ao instalador",
- "exportApkButtonTooltip": "Exportar o APK modificado",
- "exportLogButtonTooltip": "Exportar o registo",
- "screenshotDetected": "Foi detetada uma captura de ecrã. Se estiveres a tentar partilhar o registo, por favor partilha antes uma cópia de texto.\n\nCopiar o registo para a área de transferência?",
- "copiedToClipboard": "Registo copiado para a área de transferência",
- "noExit": "O instalador ainda está a ser executado, não é possível sair..."
- },
- "settingsView": {
- "widgetTitle": "Definições",
- "appearanceSectionTitle": "Aparência",
- "teamSectionTitle": "Equipa",
- "debugSectionTitle": "Depuração",
- "advancedSectionTitle": "Opções avançadas",
- "exportSectionTitle": "Importar & Exportar",
- "dataSectionTitle": "Fontes de dados",
- "themeModeLabel": "Tema da aplicação",
- "systemThemeLabel": "Sistema",
- "lightThemeLabel": "Claro",
- "darkThemeLabel": "Escuro",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "Desfrute duma experiência mais próxima do teu dispositivo",
- "languageLabel": "Idioma",
- "languageUpdated": "Idioma atualizado",
- "sourcesLabel": "Fontes alternativas",
- "sourcesLabelHint": "Configurar as fontes alternativas para as Modificações do ReVanced",
- "useAlternativeSources": "Utilizar as fontes alternativas",
- "useAlternativeSourcesHint": "Utilizar fontes alternativas para as Modificações do ReVanced em vez da API",
- "sourcesResetDialogTitle": "Repor",
- "sourcesResetDialogText": "Tens a certeza de que pretendes repor os valores predefinidos das fontes?",
- "apiURLResetDialogText": "Tens a certeza de que pretendes repor a tua URL da API para o seu valor predefinido?",
- "sourcesUpdateNote": "Nota: Esta ação irá descarregar automaticamente as Modificações do ReVanced a partir de fontes alternativas.\n\nIsto irá estabelecer uma conexão com as fontes alternativas.",
- "apiURLLabel": "URL da API",
- "apiURLHint": "Configurar a URL da API do ReVanced Manager",
- "selectApiURL": "URL da API",
- "orgPatchesLabel": "Organização das Modificações",
- "sourcesPatchesLabel": "Fonte das Modificações",
- "contributorsLabel": "Contribuidores",
- "contributorsHint": "Uma lista de contribuidores do ReVanced",
- "logsLabel": "Partilhar os registos",
- "logsHint": "Partilhar os registos do ReVanced Manager",
- "enablePatchesSelectionLabel": "Permitir a alteração da seleção de modificações",
- "enablePatchesSelectionHint": "Não impedir a escolha de modificações",
- "enablePatchesSelectionWarningText": "A alteração da seleção de modificações poderá causar problemas inesperados.\n\nAtivar na mesma?",
- "disablePatchesSelectionWarningText": "Estás prestes a desativar a permissão para alterar a seleção de modificações.\nA seleção de modificações predefinida será restaurada.\n\nDesativar na mesma?",
- "autoUpdatePatchesLabel": "Atualizar automaticamente as modificações",
- "autoUpdatePatchesHint": "Atualizar automaticamente as modificações para a versão mais recente",
- "showUpdateDialogLabel": "Mostrar a notificação da atualização",
- "showUpdateDialogHint": "Mostrar uma notificação quando uma atualização estiver disponível",
- "universalPatchesLabel": "Mostrar modificações universais",
- "universalPatchesHint": "Mostrar todas as aplicações e modificações universais (pode tornar a lista de aplicações mais lenta)",
- "lastPatchedAppLabel": "Guardar a aplicação modificada",
- "lastPatchedAppHint": "Guardar a última aplicação modificada para instalar ou exportar mais tarde",
- "versionCompatibilityCheckLabel": "Verificação da compatibilidade das versões",
- "versionCompatibilityCheckHint": "Impedir a seleção de modificações que não sejam compatíveis com a versão da aplicação selecionada",
- "requireSuggestedAppVersionLabel": "Exigir a versão recomendada da aplicação",
- "requireSuggestedAppVersionHint": "Impedir a escolha de uma aplicação com uma versão que não seja a recomendada",
- "requireSuggestedAppVersionDialogText": "A escolha de uma aplicação que não seja a versão recomendada poderá causar problemas inesperados.\n\nQueres continuar mesmo assim?",
- "aboutLabel": "Sobre",
- "snackbarMessage": "Copiado para a área de transferência",
- "restartAppForChanges": "Reinicia a aplicação para aplicar as alterações",
- "deleteTempDirLabel": "Apagar os ficheiros temporários",
- "deleteTempDirHint": "Eliminar ficheiros temporários não utilizados",
- "deletedTempDir": "Ficheiros temporários eliminados",
- "exportSettingsLabel": "Exportar definições",
- "exportSettingsHint": "Exportar definições para um ficheiro JSON",
- "exportedSettings": "Definições exportadas",
- "importSettingsLabel": "Importar definições",
- "importSettingsHint": "Importar definições a partir de um ficheiro JSON",
- "importedSettings": "Definições importadas",
- "exportPatchesLabel": "Exportar uma seleção de modificações",
- "exportPatchesHint": "Exportar a seleção de modificações para um ficheiro JSON",
- "exportedPatches": "A seleção de modificações foi exportada",
- "noExportFileFound": "Não há nenhuma modificação selecionada para exportar",
- "importPatchesLabel": "Importar uma seleção de modificações",
- "importPatchesHint": "Importar uma seleção de modificações a partir de um ficheiro JSON",
- "importedPatches": "A seleção de modificações foi importada",
- "resetStoredPatchesLabel": "Repor a seleção de modificações",
- "resetStoredPatchesHint": "Repor a seleção de modificações armazenadas",
- "resetStoredPatchesDialogTitle": "Repor a seleção das modificações?",
- "resetStoredPatchesDialogText": "A seleção de modificações predefinida será restaurada.",
- "resetStoredPatches": "A seleção de modificações foi reposta",
- "resetStoredOptionsLabel": "Repor as opções de modificação",
- "resetStoredOptionsHint": "Repor todas as opções de modificação",
- "resetStoredOptionsDialogTitle": "Repor as opções de modificação?",
- "resetStoredOptionsDialogText": "A reposição das opções de modificação irá remover todas as opções guardadas.",
- "resetStoredOptions": "As opções foram repostas",
- "deleteLogsLabel": "Limpar os registos",
- "deleteLogsHint": "Eliminar os registos recolhidos pelo ReVanced Manager",
- "deletedLogs": "Registos eliminados",
- "regenerateKeystoreLabel": "Regenerar o Repositório de Certificados",
- "regenerateKeystoreHint": "Regenerar o Repositório de Certificados utilizado para assinar aplicações",
- "regenerateKeystoreDialogTitle": "Regenerar o Repositório de Certificados?",
- "regenerateKeystoreDialogText": "As aplicações com modificações já assinadas com o Repositório de Certificados antigo vão deixar de poder ser atualizadas.",
- "regeneratedKeystore": "Repositório de Certificados regenerado",
- "exportKeystoreLabel": "Exportar Repositório de Certificados",
- "exportKeystoreHint": "Exportar o Repositório de Certificados utilizado para assinar aplicações",
- "exportedKeystore": "Repositório de Certificados exportado",
- "noKeystoreExportFileFound": "Nenhum Repositório de Certificados para exportar",
- "importKeystoreLabel": "Importar Repositório de Certificados",
- "importKeystoreHint": "Importar um Repositório de Certificados utilizado para assinar aplicações",
- "importedKeystore": "Repositório de Certificados importado",
- "selectKeystorePassword": "Palavra-passe do Repositório de Certificados",
- "selectKeystorePasswordHint": "Escolha a palavra-passe do Repositório de Certificados utilizada para assinar aplicações",
- "jsonSelectorErrorMessage": "Não é possível utilizar o ficheiro JSON escolhido",
- "keystoreSelectorErrorMessage": "Não é possível utilizar o ficheiro do Repositório de Certificados escolhido"
- },
- "appInfoView": {
- "widgetTitle": "Informações da aplicação",
- "openButton": "Abrir",
- "installButton": "Instalar",
- "uninstallButton": "Desinstalar",
- "unmountButton": "Desmontar",
- "exportButton": "Exportar",
- "deleteButton": "Apagar",
- "rootDialogTitle": "Erro",
- "lastPatchedAppDescription": "Isto é uma cópia de segurança da última aplicação modificada.",
- "unmountDialogText": "Tens a certeza de que queres desmontar esta aplicação?",
- "uninstallDialogText": "Tens a certeza de que queres desinstalar esta aplicação?",
- "rootDialogText": "A aplicação foi instalada com permissões de Super-Utilizador (Acesso Root), mas atualmente o ReVanced Manager não tem essas permissões.\n\nConceda primeiro as permissões de Super-Utilizador.",
- "removeAppDialogTitle": "Apagar a aplicação?",
- "removeAppDialogText": "Tens a certeza de que queres apagar esta cópia de segurança?",
- "packageNameLabel": "Nome do pacote",
- "installTypeLabel": "Tipo de instalação",
- "mountTypeLabel": "Montar",
- "regularTypeLabel": "Normal",
- "patchedDateLabel": "Data da Modificação",
- "appliedPatchesLabel": "Modificações aplicadas",
- "sizeLabel": "Tamanho do ficheiro",
- "patchedDateHint": "${date} às ${time}",
- "appliedPatchesHint": "${quantity} modificações aplicadas",
- "updateNotImplemented": "Esta funcionalidade ainda não foi implementada"
- },
- "contributorsView": {
- "widgetTitle": "Contribuidores"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "Versão incompatível",
- "mount_no_root": "Sem acesso Root",
- "mount_missing_installation": "A Instalação não foi encontrada",
- "status_failure_blocked": "Instalação bloqueada",
- "install_failed_verification_failure": "A verificação falhou",
- "status_failure_invalid": "Instalação inválida",
- "install_failed_version_downgrade": "Não é possível fazer downgrade",
- "status_failure_conflict": "Conflito na instalação",
- "status_failure_storage": "Problemas de Armazenamento durante a instalação",
- "status_failure_incompatible": "Instalação incompatível",
- "status_failure_timeout": "O tempo de instalação foi esgotado",
- "status_unknown": "A instalação falhou",
- "mount_version_mismatch_description": "A instalação falhou porque a aplicação instalada está numa versão diferente da aplicação modificada.\n\nInstala a mesma versão da aplicação que estás a montar e tenta novamente.",
- "mount_no_root_description": "A instalação falhou porque o acesso root não foi concedido.\n\nConceda o acesso de root ao ReVanced Manager e tenta novamente.",
- "mount_missing_installation_description": "A instalação falhou porque a aplicação original (não modificada) não está instalada neste dispositivo para se poder ser montada sobre ela.\n\nInstala a aplicação original (não modificada) antes de tentar montar uma nova aplicação e tenta novamente.",
- "status_failure_timeout_description": "A instalação demorou demasiado tempo a terminar.\n\nGostaria de tentar novamente?",
- "status_failure_storage_description": "A instalação falhou por falta de espaço no armazenamento.\n\nLiberta algum espaço e tenta novamente.",
- "status_failure_invalid_description": "A instalação falhou porque a aplicação modificada é inválida.\n\nDesinstalar a aplicação e tentar novamente?",
- "status_failure_incompatible_description": "A aplicação é incompatível com este dispositivo.\n\nUtiliza uma APK que seja suportada por este dispositivo e tenta novamente.",
- "status_failure_conflict_description": "A instalação foi impedida por uma instalação já existente da mesma aplicação.\n\nDesinstalar a aplicação instalada e tentar novamente?",
- "status_failure_blocked_description": "A instalação foi bloqueada por ${packageName}.\n\nAjusta as tuas definições de segurança e tenta novamente.",
- "install_failed_verification_failure_description": "A instalação falhou devido a um problema de verificação.\n\nAjusta as tuas definições de segurança e tenta novamente.",
- "install_failed_version_downgrade_description": "A instalação falhou porque a aplicação modificada está numa versão inferior à da aplicação já instalada.\n\nDesinstalar a aplicação instalada e tentar novamente?",
- "status_unknown_description": "A instalação falhou devido a um motivo desconhecido. Por favor, tente novamente."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/ro_RO.i18n.json b/assets/i18n/ro_RO.i18n.json
deleted file mode 100755
index d6b26d5f..00000000
--- a/assets/i18n/ro_RO.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "OK",
- "cancelButton": "Anulează",
- "dismissButton": "Anulare",
- "quitButton": "Inchide",
- "updateButton": "Actualizează",
- "suggested": "Versiune sugerată: ${version}",
- "yesButton": "Da",
- "noButton": "Nu",
- "warning": "Atenție",
- "notice": "Înștiințare",
- "noShowAgain": "Nu afișa asta din nou",
- "add": "Adaugă",
- "remove": "Șterge",
- "showChangelogButton": "Arată istoricul modificărilor",
- "showUpdateButton": "Arată actualizări",
- "navigationView": {
- "dashboardTab": "Panou de bord",
- "patcherTab": "Patcher",
- "settingsTab": "Setări"
- },
- "homeView": {
- "refreshSuccess": "Împrospătat cu succes",
- "widgetTitle": "Panou de bord",
- "updatesSubtitle": "Actualizări",
- "lastPatchedAppSubtitle": "Ultima aplicație modificată",
- "patchedSubtitle": "Aplicații instalate",
- "changeLaterSubtitle": "Puteți schimba acest lucru în setări mai târziu.",
- "noSavedAppFound": "Nicio aplicație găsită",
- "noInstallations": "Nu sunt instalate aplicații patch-uite",
- "installUpdate": "Continuați să instalați actualizarea?",
- "updateSheetTitle": "Actualizare ReVanced Manager",
- "updateDialogTitle": "Actualizare nouă disponibilă",
- "updatePatchesSheetTitle": "Actualizare patch-uri ReVanced",
- "updateChangelogTitle": "Istoric schimbări",
- "updateDialogText": "O nouă actualizare este disponibilă pentru ${file}.\n\nVersiunea instalată în prezent este ${version}.",
- "downloadConsentDialogTitle": "Descărcați fișierele necesare?",
- "downloadConsentDialogText": "ReVanced Manager trebuie să descarce fișierele necesare pentru a funcționa corect.",
- "downloadConsentDialogText2": "Aceasta vă va conecta la ${url}.",
- "downloadingMessage": "Se descarcă actualizarea...",
- "downloadedMessage": "Actualizare descărcată",
- "installingMessage": "Se instalează actualizarea...",
- "errorDownloadMessage": "Nu s-a putut descărca actualizarea",
- "errorInstallMessage": "Nu s-a putut instala actualizarea",
- "noConnection": "Nu există conexiune la internet"
- },
- "applicationItem": {
- "infoButton": "Informații"
- },
- "latestCommitCard": {
- "loadingLabel": "Se încarcă...",
- "timeagoLabel": "În urmă cu ${time}"
- },
- "patcherView": {
- "widgetTitle": "Patcher",
- "patchButton": "Patch",
- "incompatibleArchWarningDialogText": "Patcharea după această arhitectură nu este încă suportată și ar putea eșua. Continuați oricum?",
- "removedPatchesWarningDialogText": "Plasturii eliminați de la ultima dată când ați modificat această aplicație:\n\n${patches}\n\n${newPatches}Continuați oricum?",
- "addedPatchesDialogText": "Plasturii adăugați de la ultima dată când ați modificat această aplicație:\n\n${addedPatches}\n\n",
- "requiredOptionDialogText": "Unele opțiuni pentru patch-uri trebuie setate."
- },
- "appSelectorCard": {
- "widgetTitle": "Selectați o aplicație",
- "widgetTitleSelected": "Aplicația selectată",
- "widgetSubtitle": "Nici o aplicație selectată",
- "noAppsLabel": "Nu s-au găsit aplicații",
- "anyVersion": "Orice versiune"
- },
- "patchSelectorCard": {
- "widgetTitle": "Selectați patch-urile",
- "widgetTitleSelected": "Patch-uri selectate",
- "widgetSubtitle": "Selectați mai întâi o aplicație",
- "widgetEmptySubtitle": "Nici un patch selectat"
- },
- "socialMediaCard": {
- "widgetTitle": "Rețele de socializare",
- "widgetSubtitle": "Suntem online!"
- },
- "appSelectorView": {
- "viewTitle": "Selectați o aplicație",
- "searchBarHint": "Căutați aplicația",
- "storageButton": "Stocare",
- "selectFromStorageButton": "Selectați din spațiul de stocare",
- "errorMessage": "Aplicația selectată nu poate fi utilizată",
- "downloadToast": "Funcția de descărcare este momentan indisponibilă",
- "requireSuggestedAppVersionDialogText": "Versiunea aplicației pe care ați selectat-o nu se potrivește cu versiunea sugerată. Vă rugăm să selectați aplicația care se potrivește cu versiunea sugerată.\n\nVersiune selectată: v${selected}\nSugestie versiune: v${suggested}\n\nPentru a continua oricum, dezactivați \"Necesită versiunea sugerată a aplicației\" în setări.",
- "featureNotAvailable": "Caracteristică neimplementată",
- "featureNotAvailableText": "Această aplicație este un APK divizat și poate fi modificată și instalată în mod fiabil doar prin montarea cu permisiuni root. Cu toate acestea, puteţi patch-ul şi instala un APK complet, selectându-l din spațiul de stocare."
- },
- "patchesSelectorView": {
- "viewTitle": "Selectați patch-urile",
- "searchBarHint": "Căutați patch-uri",
- "universalPatches": "Patch-uri universale",
- "newPatches": "Patch-uri noi",
- "patches": "Patch-uri",
- "doneButton": "Finalizat",
- "defaultChip": "Implicit",
- "defaultTooltip": "Selectați toate patch-urile implicite",
- "noneChip": "Niciunul",
- "noneTooltip": "Deselectați toate patch-urile",
- "loadPatchesSelection": "Importă selecția patch-urilor",
- "noSavedPatches": "Nu există patch-uri salvate pentru aplicația selectată.\nApăsați Terminat pentru a salva selecția curentă.",
- "noPatchesFound": "Nu s-au găsit patch-uri pentru aplicația selectată",
- "setRequiredOption": "Unele patch-uri necesită opțiuni de setat:\n\n${patches}\n\nVă rugăm să le setați înainte de a continua."
- },
- "patchOptionsView": {
- "customValue": "Valoare personalizată",
- "setToNull": "Setează ca nul",
- "nullValue": "Această valoare este în prezent nulă",
- "viewTitle": "Opțiuni patch",
- "saveOptions": "Salvează",
- "unselectPatch": "Deselectează patch-ul",
- "tooltip": "Mai multe opțiuni de intrare",
- "selectFilePath": "Selectați calea fișierului",
- "selectFolder": "Selectați dosarul",
- "requiredOption": "Setarea acestei opțiuni este necesară",
- "unsupportedOption": "Această opțiune nu este acceptată",
- "requiredOptionNull": "Următoarele opțiuni trebuie setate:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "Selectarea acestui patch poate rezulta în erori de patch-uire.\n\nVersiunea aplicației: ${packageVersion}\nVersiuni compatibile:\n${supportedVersions}",
- "unsupportedPatchVersion": "Patch-ul nu este acceptat pentru această versiune a aplicației.",
- "unsupportedRequiredOption": "Acest patch conține o opțiune necesară care nu este suportată de această aplicație",
- "patchesChangeWarningDialogText": "Este recomandat să utilizaţi opţiunile şi selecţia implicită a patch-ului. Schimbarea acestora poate duce la probleme neaşteptate.\n\nVa trebui să activați \"Permite schimbarea selecției de patch\" în setări înainte de a schimba selecția de patch-uri.",
- "patchesChangeWarningDialogButton": "Folosește selecția implicită"
- },
- "installerView": {
- "installType": "Selectați tipul de instalare",
- "installTypeDescription": "Selectați tipul de instalare cu care să continuați.",
- "installButton": "Instalează",
- "installRootType": "Montează",
- "installNonRootType": "Obișnuit",
- "warning": "Dezactivați actualizările automate pentru aplicația modificată pentru a evita probleme neașteptate.",
- "pressBackAgain": "Apăsați înapoi din nou pentru a anula",
- "openButton": "Deschide",
- "notificationTitle": "ReVanced Manager efectuează patch-uirea",
- "notificationText": "Apăsați pentru a reveni la instalator",
- "exportApkButtonTooltip": "Exportare APK modificat",
- "exportLogButtonTooltip": "Exportați jurnalele",
- "screenshotDetected": "A fost detectată o captură de ecran. Dacă încercați să partajați jurnalul, vă rugăm să distribuiți în schimb o copie text.\n\nCopiați jurnalul în clipboard?",
- "copiedToClipboard": "Jurnal copiat în clipboard",
- "noExit": "Instalarea este încă în funcțiune, nu se poate ieși..."
- },
- "settingsView": {
- "widgetTitle": "Setări",
- "appearanceSectionTitle": "Aspect",
- "teamSectionTitle": "Echipă",
- "debugSectionTitle": "Depanare",
- "advancedSectionTitle": "Avansat",
- "exportSectionTitle": "Importă & exportă",
- "dataSectionTitle": "Surse de date",
- "themeModeLabel": "Tema aplicației",
- "systemThemeLabel": "Sistem",
- "lightThemeLabel": "Luminoasă",
- "darkThemeLabel": "Mod întunecat",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "Bucură-te de o experiență mai apropiată de dispozitivul tău",
- "languageLabel": "Limbă",
- "languageUpdated": "Limbă actualizată",
- "sourcesLabel": "Surse alternative",
- "sourcesLabelHint": "Configurați sursele alternative pentru patch-urile revanced",
- "useAlternativeSources": "Folosiți surse alternative",
- "useAlternativeSourcesHint": "Folosiți surse alternative pentru paturile revanced în loc de API",
- "sourcesResetDialogTitle": "Resetează",
- "sourcesResetDialogText": "Sunteți sigur că doriți să resetați sursele la valorile lor implicite?",
- "apiURLResetDialogText": "Sunteţi sigur că doriţi să resetaţi URL-ul API la valoarea sa implicită?",
- "sourcesUpdateNote": "Notă: Aceasta va descărca automat plasturii ReVanced din sursele alternative.\n\nAceasta vă va conecta la sursa alternativă.",
- "apiURLLabel": "API URL",
- "apiURLHint": "Configurați URL-ul API al Managerului ReVanced",
- "selectApiURL": "API URL",
- "orgPatchesLabel": "Organizarea patch-urilor",
- "sourcesPatchesLabel": "Sursă patch-uri",
- "contributorsLabel": "Contribuitori",
- "contributorsHint": "O listă cu contribuitorii ReVanced",
- "logsLabel": "Partajare jurnale",
- "logsHint": "Distribuiți jurnalele ReVanced Manager",
- "enablePatchesSelectionLabel": "Permiteți modificarea selecției patch-ului",
- "enablePatchesSelectionHint": "Nu împiedicaţi selectarea sau deselectarea patch-urilor",
- "enablePatchesSelectionWarningText": "Schimbarea selecției de patch-uri poate cauza probleme neașteptate.\n\nActivează oricum?",
- "disablePatchesSelectionWarningText": "Sunteți pe cale să dezactivați modificarea selecției patch-urilor.\nSelecția implicită a patch-urilor va fi restaurată.\n\nDezactivați oricum?",
- "autoUpdatePatchesLabel": "Actualizare automată a patch-urilor",
- "autoUpdatePatchesHint": "Actualizează automat patch-urile la versiunea cea mai recentă",
- "showUpdateDialogLabel": "Arată dialogul de actualizare",
- "showUpdateDialogHint": "Arată un dialog atunci când este disponibilă o nouă actualizare",
- "universalPatchesLabel": "Arată patch-urile universale",
- "universalPatchesHint": "Afişaţi toate aplicaţiile şi patch-urile universale (poate încetini lista de aplicaţii)",
- "lastPatchedAppLabel": "Salvează aplicația modificată",
- "lastPatchedAppHint": "Salvează ultimul patch pentru a instala sau exporta mai târziu",
- "versionCompatibilityCheckLabel": "Verificare compatibilitate versiune",
- "versionCompatibilityCheckHint": "Preveniți selectarea patch-urilor care nu sunt compatibile cu versiunea aplicației selectate",
- "requireSuggestedAppVersionLabel": "Solicitați o versiune sugerată a aplicației",
- "requireSuggestedAppVersionHint": "Preveniți selectarea unei aplicații cu o versiune care nu este sugerată",
- "requireSuggestedAppVersionDialogText": "Selectarea unei aplicații care nu este versiunea sugerată poate cauza probleme neașteptate.\n\nDoriți să continuați oricum?",
- "aboutLabel": "Despre",
- "snackbarMessage": "Copiat în clipboard",
- "restartAppForChanges": "Reporniți aplicația pentru a aplica modificările",
- "deleteTempDirLabel": "Ștergeți fișierele temporare",
- "deleteTempDirHint": "Șterge fișierele temporare neutilizate",
- "deletedTempDir": "Fișierele temporare au fost șterse",
- "exportSettingsLabel": "Exportă setările",
- "exportSettingsHint": "Exportă setările într-un fișier JSON",
- "exportedSettings": "Setări exportate",
- "importSettingsLabel": "Importă setări",
- "importSettingsHint": "Importă setările dintr-un fișier JSON",
- "importedSettings": "Setări importate",
- "exportPatchesLabel": "Exportați selecția patch-urilor",
- "exportPatchesHint": "Exportați selecția patch-urilor într-un fișier JSON",
- "exportedPatches": "Selecția patch-urilor a fost exportată",
- "noExportFileFound": "Nicio selecție a patch-urilor de exportat",
- "importPatchesLabel": "Importați selecția patch-urilor",
- "importPatchesHint": "Importă selecția patch-urilor dintr-un fișier JSON",
- "importedPatches": "Selecția patch-urilor a fost importată",
- "resetStoredPatchesLabel": "Resetează selecția patch-urilor",
- "resetStoredPatchesHint": "Resetează selecția de patch-uri salvată",
- "resetStoredPatchesDialogTitle": "Resetează selecția patch-urilor?",
- "resetStoredPatchesDialogText": "Selecția implicită a patch-urilor va fi restabilită.",
- "resetStoredPatches": "Selecția de patch-uri a fost resetată",
- "resetStoredOptionsLabel": "Resetează opțiunile patch-ului",
- "resetStoredOptionsHint": "Resetează opțiunile patch-urilor",
- "resetStoredOptionsDialogTitle": "Resetează opțiunile patch-ului?",
- "resetStoredOptionsDialogText": "Opțiunile de resetare a patch-urilor vor elimina toate opțiunile salvate.",
- "resetStoredOptions": "Opțiunile au fost resetate",
- "deleteLogsLabel": "Șterge jurnalul",
- "deleteLogsHint": "Șterge jurnalele ReVanced Manager colectate",
- "deletedLogs": "Log-urile au fost șterse",
- "regenerateKeystoreLabel": "Regenerează keystore",
- "regenerateKeystoreHint": "Regenerează keystore folosită pentru a semna aplicații",
- "regenerateKeystoreDialogTitle": "Regenerează keystore?",
- "regenerateKeystoreDialogText": "Aplicațiile modificate, semnate cu vechea cheie, nu vor mai putea fi actualizate.",
- "regeneratedKeystore": "Keystore regenerat",
- "exportKeystoreLabel": "Exportă keystore-urile",
- "exportKeystoreHint": "Exportă keystore folosită pentru a semna aplicații",
- "exportedKeystore": "Keystore exportat",
- "noKeystoreExportFileFound": "Nici un keystore de exportat",
- "importKeystoreLabel": "Importă keystore-ul",
- "importKeystoreHint": "Importă keystore folosit pentru a semna aplicații",
- "importedKeystore": "Keystore importat",
- "selectKeystorePassword": "Parolă Keystore",
- "selectKeystorePasswordHint": "Selectați parola keystore folosită pentru a semna aplicațiile",
- "jsonSelectorErrorMessage": "Imposibil de folosit fișierul JSON selectat",
- "keystoreSelectorErrorMessage": "Imposibil de utilizat fișierul keystore selectat"
- },
- "appInfoView": {
- "widgetTitle": "Informații despre aplicație",
- "openButton": "Deschide",
- "installButton": "Instalează",
- "uninstallButton": "Dezinstalează",
- "unmountButton": "Demontare",
- "exportButton": "Exportă",
- "deleteButton": "Ștergere",
- "rootDialogTitle": "Eroare",
- "lastPatchedAppDescription": "Aceasta este o copie de rezervă a aplicației care a fost modificată ultima dată.",
- "unmountDialogText": "Sunteți sigur că vreți să unpatch-uiți această aplicație?",
- "uninstallDialogText": "Sunteţi sigur că doriţi să dezinstalaţi această aplicaţie?",
- "rootDialogText": "Aplicația a fost instalată cu permisiuni de superuser, dar momentan ReVanced Manager nu are permisiuni.\nVă rugăm să acordați mai întâi permisiuni superuser.",
- "removeAppDialogTitle": "Ștergeți aplicația?",
- "removeAppDialogText": "Sunteţi sigur că doriţi să ştergeţi această copie de rezervă?",
- "packageNameLabel": "Numele pachetului",
- "installTypeLabel": "Tipul instalării",
- "mountTypeLabel": "Montează",
- "regularTypeLabel": "Obișnuit",
- "patchedDateLabel": "Data patch-uirii",
- "appliedPatchesLabel": "Patch-uri aplicate",
- "sizeLabel": "Dimensiune fişier",
- "patchedDateHint": "${date} la ${time}",
- "appliedPatchesHint": "${quantity} patch-uri aplicate",
- "updateNotImplemented": "Această funcție nu a fost încă implementată"
- },
- "contributorsView": {
- "widgetTitle": "Contribuitori"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "Versiune nepotrivită",
- "mount_no_root": "Fară acces root",
- "mount_missing_installation": "Instalarea nu a fost găsită",
- "status_failure_blocked": "Instalare blocată",
- "install_failed_verification_failure": "Verificarea a eșuat",
- "status_failure_invalid": "Instalare invalidă",
- "install_failed_version_downgrade": "Nu se poate retrograda",
- "status_failure_conflict": "Conflict la instalare",
- "status_failure_storage": "Stocare plină la instalare",
- "status_failure_incompatible": "Instalare incompatibilă",
- "status_failure_timeout": "Instalarea a expirat",
- "status_unknown": "Instalarea a eșuat",
- "mount_version_mismatch_description": "Instalarea a eșuat deoarece aplicația instalată este o versiune diferită față de aplicația modificată.\n\nInstalați versiunea aplicației pe care o montați și încercați din nou.",
- "mount_no_root_description": "Instalarea a eșuat deoarece accesul root nu a fost acordat.\n\nAcordați acces root pentru ReVanced Manager și încercați din nou.",
- "mount_missing_installation_description": "Instalarea a eșuat din cauza faptului că aplicația nemodificată nu este instalată pe acest dispozitiv pentru a fi montată peste el.\n\nInstalați aplicația nemodificată înainte de montare și încercați din nou.",
- "status_failure_timeout_description": "Instalarea a durat prea mult pentru a termina.\n\nDoriți să încercați din nou?",
- "status_failure_storage_description": "Instalarea a eșuat din cauza stocării insuficiente.\n\nEliberați puțin spațiu și încercați din nou.",
- "status_failure_invalid_description": "Instalarea a eșuat deoarece aplicația modificată nu este validă.\n\nDezinstalați aplicația și încercați din nou?",
- "status_failure_incompatible_description": "Aplicația este incompatibilă cu acest dispozitiv.\n\nUtilizați un APK suportat de acest dispozitiv și încercați din nou.",
- "status_failure_conflict_description": "Instalarea a fost împiedicată de o instalare existentă a aplicației.\n\nDezinstalați aplicația instalată și încercați din nou?",
- "status_failure_blocked_description": "Instalarea a fost blocată de ${packageName}.\n\nAjustați setările de securitate și încercați din nou.",
- "install_failed_verification_failure_description": "Instalarea a eșuat din cauza unei probleme de verificare.\n\nAjustează setările de securitate și încearcă din nou.",
- "install_failed_version_downgrade_description": "Instalarea a eșuat deoarece aplicația modificată este o versiune mai mică decât aplicația instalată.\n\nDezinstalați aplicația și încercați din nou?",
- "status_unknown_description": "Instalarea a eșuat din cauza unui motiv necunoscut. Vă rugăm să încercați din nou."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/ru_RU.i18n.json b/assets/i18n/ru_RU.i18n.json
deleted file mode 100755
index 98b59b2c..00000000
--- a/assets/i18n/ru_RU.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "ОК",
- "cancelButton": "Отмена",
- "dismissButton": "Отклонить",
- "quitButton": "Выход",
- "updateButton": "Обновить",
- "suggested": "Рекомендуемая: ${version}",
- "yesButton": "Да",
- "noButton": "Нет",
- "warning": "Предупреждение",
- "notice": "Примечание",
- "noShowAgain": "Не показывать снова",
- "add": "Добавить",
- "remove": "Удалить",
- "showChangelogButton": "Показать список изменений",
- "showUpdateButton": "Показать обновление",
- "navigationView": {
- "dashboardTab": "Панель инструментов",
- "patcherTab": "Патчер",
- "settingsTab": "Настройки"
- },
- "homeView": {
- "refreshSuccess": "Успешно обновлено",
- "widgetTitle": "Панель инструментов",
- "updatesSubtitle": "Обновления",
- "lastPatchedAppSubtitle": "Последнее пропатченное приложение ",
- "patchedSubtitle": "Установленные приложения",
- "changeLaterSubtitle": "Вы можете изменить это в настройках позже.",
- "noSavedAppFound": "Не найдено приложений",
- "noInstallations": "Пропатченные приложения не установлены",
- "installUpdate": "Продолжить установку обновления?",
- "updateSheetTitle": "Обновить ReVanced Manager",
- "updateDialogTitle": "Доступно обновление",
- "updatePatchesSheetTitle": "Обновить патчи ReVanced",
- "updateChangelogTitle": "Список изменений",
- "updateDialogText": "Доступно обновление для ${file}.\n\nТекущая установленная версия ${version}.",
- "downloadConsentDialogTitle": "Скачать необходимые файлы?",
- "downloadConsentDialogText": "Для правильной работы ReVanced Менеджера нужно загрузить необходимые файлы.",
- "downloadConsentDialogText2": "Это соединит вас с ${url}.",
- "downloadingMessage": "Загрузка обновления...",
- "downloadedMessage": "Обновление загружено",
- "installingMessage": "Установка обновления...",
- "errorDownloadMessage": "Не удалось загрузить обновление",
- "errorInstallMessage": "Не удалось установить обновление",
- "noConnection": "Нет подключения к интернету"
- },
- "applicationItem": {
- "infoButton": "Информация"
- },
- "latestCommitCard": {
- "loadingLabel": "Загрузка...",
- "timeagoLabel": "${time} назад"
- },
- "patcherView": {
- "widgetTitle": "Патчер",
- "patchButton": "Пропатчить",
- "incompatibleArchWarningDialogText": "Патчинг на этой архитектуре еще не поддерживается и может завершиться неудачей. Продолжить?",
- "removedPatchesWarningDialogText": "Удаленные патчи с момента последнего патчинга данного приложения:\n\n${patches}\n\n${newPatches}Все равно продолжить?",
- "addedPatchesDialogText": "Добавленные патчи с момента последнего патчинга данного приложения:\n\n${addedPatches}\n\n",
- "requiredOptionDialogText": "Некоторые параметры патчей должны быть обязательно установлены."
- },
- "appSelectorCard": {
- "widgetTitle": "Выбрать приложение",
- "widgetTitleSelected": "Выбранное приложение",
- "widgetSubtitle": "Приложение не выбрано",
- "noAppsLabel": "Приложения не найдены",
- "anyVersion": "Любая версия"
- },
- "patchSelectorCard": {
- "widgetTitle": "Выбор патчей",
- "widgetTitleSelected": "Выбранные патчи",
- "widgetSubtitle": "Сначала выберите приложение",
- "widgetEmptySubtitle": "Патчи не выбраны"
- },
- "socialMediaCard": {
- "widgetTitle": "Соцсети",
- "widgetSubtitle": "Мы онлайн!"
- },
- "appSelectorView": {
- "viewTitle": "Выбрать приложение",
- "searchBarHint": "Поиск приложения",
- "storageButton": "Хранилище",
- "selectFromStorageButton": "Выбрать из хранилища",
- "errorMessage": "Невозможно использовать выбранное приложение",
- "downloadToast": "Функция загрузки пока недоступна",
- "requireSuggestedAppVersionDialogText": "Выбранная Вами версия приложения не соответствует предлагаемой, что может привести к непредвиденным проблемам. Пожалуйста, используйте предложенную версию.\n\n Выбранная версия: ${selected}\n Предлагаемая версия: ${suggested}.\n\nЧтобы продолжить, отключите в настройках параметр «Требовать рекомендуемую версию приложения».",
- "featureNotAvailable": "Функция не реализована",
- "featureNotAvailableText": "Это приложение представляет собой разделенный APK-файл, и его можно пропатчить и корректно установить только путем монтирования с правами root. Однако Вы можете пропатчить и установить полный APK-файл, выбрав его из хранилища."
- },
- "patchesSelectorView": {
- "viewTitle": "Выбор патчей",
- "searchBarHint": "Поиск патчей",
- "universalPatches": "Универсальные патчи",
- "newPatches": "Новые патчи",
- "patches": "Патчи",
- "doneButton": "Готово",
- "defaultChip": "По умолчанию",
- "defaultTooltip": "Выбрать все стандартные патчи",
- "noneChip": "Никакие",
- "noneTooltip": "Снять выбор всех патчей",
- "loadPatchesSelection": "Загрузка выборки патчей",
- "noSavedPatches": "Нет сохраненной выборки патчей для выбранного приложения.\nНажмите \"Готово\" для сохранения текущего выбора.",
- "noPatchesFound": "Для выбранного приложения не найдены патчи",
- "setRequiredOption": "Нектотрые патчи требуют включение данных опций:\n\n${patches}\n\nПожалуйста, выберите их перед продолжением."
- },
- "patchOptionsView": {
- "customValue": "Пользовательское значение",
- "setToNull": "Установить на нулевое",
- "nullValue": "Значение этого параметра в настоящее время является нулевым",
- "viewTitle": "Параметры патчей",
- "saveOptions": "Сохранить",
- "unselectPatch": "Отменить выбор патчей",
- "tooltip": "Другие параметры ввода",
- "selectFilePath": "Выберите путь к файлу",
- "selectFolder": "Выберите папку",
- "requiredOption": "Эта опция обязательна",
- "unsupportedOption": "Эта опция не поддерживается",
- "requiredOptionNull": "Следующие опции должны быть установлены:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "Выбор этого патча может привести к ошибкам во время патчинга.\n\nВерсия приложения: ${packageVersion}\nПоддерживаемые версии: ${supportedVersions}",
- "unsupportedPatchVersion": "Патч не поддерживается этой версией приложения.",
- "unsupportedRequiredOption": "Этот патч содержит обязательную опцию, не поддерживаемую этим приложением",
- "patchesChangeWarningDialogText": "Рекомендуется использовать выборку патчей и параметры по умолчанию. Их изменение может привести к неожиданным проблемам.\n\n Вам необходимо включить «Разрешить изменение выборки патчей» в настройках, прежде чем изменять какие-либо выборки патчей.",
- "patchesChangeWarningDialogButton": "Использовать стандартный набор"
- },
- "installerView": {
- "installType": "Выберите тип установки",
- "installTypeDescription": "Выберите тип установки, чтобы продолжить.",
- "installButton": "Установить",
- "installRootType": "Монтировать",
- "installNonRootType": "Обычный",
- "warning": "Отключить автоматическое обновление патчей во избежание непредвиденных проблем.",
- "pressBackAgain": "Нажмите \"Назад\" еще раз для отмены",
- "openButton": "Открыть",
- "notificationTitle": "ReVanced Менеджер патчит",
- "notificationText": "Нажмите, чтобы вернуться к установщику",
- "exportApkButtonTooltip": "Экспорт пропатченного APK",
- "exportLogButtonTooltip": "Экспорт логов",
- "screenshotDetected": "Обнаружена попытка снимка экрана. Если вы хотите поделиться логами, то вместо этого отправьте текст.\n\nСкопировать логи в буфер обмена?",
- "copiedToClipboard": "Логи скопированы в буфер обмена",
- "noExit": "Установщик все еще запущен, выход невозможен..."
- },
- "settingsView": {
- "widgetTitle": "Настройки",
- "appearanceSectionTitle": "Внешний вид",
- "teamSectionTitle": "Команда",
- "debugSectionTitle": "Отладка",
- "advancedSectionTitle": "Дополнительные",
- "exportSectionTitle": "Импорт и экспорт",
- "dataSectionTitle": "Источники данных",
- "themeModeLabel": "Тема приложения",
- "systemThemeLabel": "Системная",
- "lightThemeLabel": "Светлая",
- "darkThemeLabel": "Темная",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "Наслаждайтесь темой Вашего устройства",
- "languageLabel": "Язык",
- "languageUpdated": "Язык обновлен",
- "sourcesLabel": "Альтернативные источники",
- "sourcesLabelHint": "Настроить альтернативные источники для ReVanced Patches",
- "useAlternativeSources": "Использовать альтернативные источники",
- "useAlternativeSourcesHint": "Использовать альтернативные источники для ReVanced Patches вместо API",
- "sourcesResetDialogTitle": "Сброс",
- "sourcesResetDialogText": "Вы уверены, что хотите сбросить ваши источники до значений по умолчанию?",
- "apiURLResetDialogText": "Вы уверены, что хотите сбросить API-ссылку до значения по умолчанию?",
- "sourcesUpdateNote": "Примечание: Это автоматически загрузит ReVanced Patches из альтернативных источников.\n\nЭто соединит вас с альтернативным источником.",
- "apiURLLabel": "API-ссылка",
- "apiURLHint": "Настройте URL-адрес API ReVanced Менеджера",
- "selectApiURL": "API-ссылка",
- "orgPatchesLabel": "Организация патчей",
- "sourcesPatchesLabel": "Репозиторий патчей",
- "contributorsLabel": "Соучастники проекта",
- "contributorsHint": "Список соучастников ReVanced",
- "logsLabel": "Поделиться логами",
- "logsHint": "Поделиться логами ReVanced Менеджера",
- "enablePatchesSelectionLabel": "Разрешить изменение выборки патчей",
- "enablePatchesSelectionHint": "Не препятствовать выделению или отключению патчей",
- "enablePatchesSelectionWarningText": "Изменение выборки патчей может вызвать непредвиденные ошибки.\n\nВсе равно включить?",
- "disablePatchesSelectionWarningText": "Вы собираетесь выключить измененную выборку патчей.\nБудет восстановлен стандартный выбор патчей.\n\nВсе равно выключить?",
- "autoUpdatePatchesLabel": "Автообновление патчей",
- "autoUpdatePatchesHint": "Автоматически обновлять патчи до последней версии",
- "showUpdateDialogLabel": "Показать диалог обновления",
- "showUpdateDialogHint": "Показывать диалоговое окно, когда доступно новое обновление",
- "universalPatchesLabel": "Показать универсальные патчи",
- "universalPatchesHint": "Отобразить все приложения и универсальные патчи (может замедлить список отображения приложений)",
- "lastPatchedAppLabel": "Сохранить пропатченное приложение",
- "lastPatchedAppHint": "Сохранить последний патч для установки или экспорта позже",
- "versionCompatibilityCheckLabel": "Проверка совместимости версий",
- "versionCompatibilityCheckHint": "Предотвратить выбор патчей, несовместимых с выбранной версией приложения",
- "requireSuggestedAppVersionLabel": "Запрос рекомендуемой версии приложения",
- "requireSuggestedAppVersionHint": "Предотвратить выбор приложения с нерекомендуемой версией",
- "requireSuggestedAppVersionDialogText": "Выбор версии приложения, которая не соответствует рекомендуемой, может вызвать неизвестные проблемы.\n\nВы хотите продолжить в любом случае?",
- "aboutLabel": "О приложении",
- "snackbarMessage": "Скопировано в буфер обмена",
- "restartAppForChanges": "Перезапустите приложение для применения изменений",
- "deleteTempDirLabel": "Удалить временные файлы",
- "deleteTempDirHint": "Удалить неиспользуемые временные файлы",
- "deletedTempDir": "Временные файлы удалены",
- "exportSettingsLabel": "Настройки экспорта",
- "exportSettingsHint": "Экспорт настроек в файл JSON",
- "exportedSettings": "Настройки экспортированы",
- "importSettingsLabel": "Импорт настроек",
- "importSettingsHint": "Импорт настроек из файла JSON",
- "importedSettings": "Настройки импортированы",
- "exportPatchesLabel": "Экспорт выборки патчей",
- "exportPatchesHint": "Экспортировать выборку патчей в JSON файл",
- "exportedPatches": "Выборка патчей экспортирована",
- "noExportFileFound": "Нет выборки патчей для экспорта",
- "importPatchesLabel": "Импорт выборки патчей",
- "importPatchesHint": "Импортировать выборку патчей из JSON файла",
- "importedPatches": "Выборка патчей импортирована",
- "resetStoredPatchesLabel": "Сброс выборки патчей",
- "resetStoredPatchesHint": "Сброс сохраненной выборки патчей",
- "resetStoredPatchesDialogTitle": "Сбросить выборку патчей?",
- "resetStoredPatchesDialogText": "Будет восстановлен набор патчей по умолчанию",
- "resetStoredPatches": "Выборка патчей была сброшена",
- "resetStoredOptionsLabel": "Сброс настроек патчей",
- "resetStoredOptionsHint": "Сбросить все настройки патчей",
- "resetStoredOptionsDialogTitle": "Сбросить настройки патчей?",
- "resetStoredOptionsDialogText": "Сброс параметров патчей удалит все сохраненные настройки",
- "resetStoredOptions": "Настройки сброшены",
- "deleteLogsLabel": "Очистка логов",
- "deleteLogsHint": "Удалить собранные ReVanced Менеджером логи",
- "deletedLogs": "Логи удалены",
- "regenerateKeystoreLabel": "Пересоздать хранилище ключей",
- "regenerateKeystoreHint": "Пересоздание хранилища ключей безопасности, используемого для подписи приложений",
- "regenerateKeystoreDialogTitle": "Пересоздать хранилище ключей безопасности?",
- "regenerateKeystoreDialogText": "Пропатченные приложения, подписанные с помощью устаревшего хранилища ключей безопасности, больше нельзя будет обновлять.",
- "regeneratedKeystore": "Хранилище ключей безопасности пересоздано",
- "exportKeystoreLabel": "Экспортировать хранилище ключей безопасности",
- "exportKeystoreHint": "Экспорт хранилища ключей безопасности, используемого для подписи приложений",
- "exportedKeystore": "Хранилище ключей безопасности экспортировано",
- "noKeystoreExportFileFound": "Хранилища ключей безопасности для экспорта отсутствуют",
- "importKeystoreLabel": "Импортировать хранилище ключей безопасности",
- "importKeystoreHint": "Импорт хранилища ключей безопасности, используемого для подписи приложений",
- "importedKeystore": "Хранилище ключей безопасности импортировано",
- "selectKeystorePassword": "Пароль хранилища ключей безопасности",
- "selectKeystorePasswordHint": "Выбрать пароль для хранилища ключей безопасности, используемого для подписи приложений",
- "jsonSelectorErrorMessage": "Невозможно использовать выбранный JSON файл",
- "keystoreSelectorErrorMessage": "Невозможно использовать выбранный файл хранилища ключей"
- },
- "appInfoView": {
- "widgetTitle": "О приложении",
- "openButton": "Открыть",
- "installButton": "Установить",
- "uninstallButton": "Удалить",
- "unmountButton": "Размонтировать",
- "exportButton": "Экспорт",
- "deleteButton": "Удалить",
- "rootDialogTitle": "Ошибка",
- "lastPatchedAppDescription": "Это резервная копия последнего пропатченного приложения.",
- "unmountDialogText": "Вы точно хотите размонтировать это приложение?",
- "uninstallDialogText": "Вы точно хотите деинсталлировать это приложение?",
- "rootDialogText": "Приложение было установлено с правами суперпользователя, но сейчас ReVanced Менеджер не имеет прав.\nПожалуйста, сначала предоставьте права суперпользователя.",
- "removeAppDialogTitle": "Удалить приложение?",
- "removeAppDialogText": "Вы уверены, что хотите удалить эту резервную копию?",
- "packageNameLabel": "Имя пакета",
- "installTypeLabel": "Тип установки",
- "mountTypeLabel": "Монтировать",
- "regularTypeLabel": "Обычный",
- "patchedDateLabel": "Дата применения патчей",
- "appliedPatchesLabel": "Примененные патчи",
- "sizeLabel": "Размер файла",
- "patchedDateHint": "${date} в ${time}",
- "appliedPatchesHint": "${quantity} применённых патчей",
- "updateNotImplemented": "Эта возможность ещё не реализована"
- },
- "contributorsView": {
- "widgetTitle": "Соучастники проекта"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "Несовпадение версий",
- "mount_no_root": "Нет прав суперпользователя",
- "mount_missing_installation": "Установка не найдена",
- "status_failure_blocked": "Установка блокирована",
- "install_failed_verification_failure": "Проверка не удалась",
- "status_failure_invalid": "Недопустимая установка",
- "install_failed_version_downgrade": "Не удалось понизить",
- "status_failure_conflict": "Конфликт установки",
- "status_failure_storage": "Проблема с хранилищем для установки",
- "status_failure_incompatible": "Установка несовместима",
- "status_failure_timeout": "Таймаут установки",
- "status_unknown": "Установка завершилась неудачно",
- "mount_version_mismatch_description": "Установка не удалась из-за того, что версия установленного приложения отличается от версии пропатченного приложения.\n\nУстановите соответствующую версию приложения, которое вы монтируете, и повторите попытку.",
- "mount_no_root_description": "Установка не удалась из-за отсутствия прав суперпользователя.\n\nПредоставьте права суперпользователя ReVanced Менеджеру и повторите попытку.",
- "mount_missing_installation_description": "Установка не удалась из-за того, что непропатченное приложение не было установлено на устройстве для монтирования поверх него.\n\nУстановите непропатченное приложение перед монтированием и повторите попытку.",
- "status_failure_timeout_description": "Установка заняла слишком много времени.\n\nХотите попробовать еще раз?",
- "status_failure_storage_description": "Установка не удалась из-за недостаточного объема памяти.\n\nОсвободите место и повторите попытку.",
- "status_failure_invalid_description": "Установка не удалась из-за недействительности пропатченного приложения.\n\nУдалить приложение и попробовать еще раз?",
- "status_failure_incompatible_description": "Приложение несовместимо с этим устройством.\n\nИспользуйте APK, поддерживаемый этим устройством, и повторите попытку.",
- "status_failure_conflict_description": "Установка была прервана существующей установкой приложения.\n\nУдалить установленное приложение и попробовать еще раз?",
- "status_failure_blocked_description": "Установка была заблокирована ${packageName}.\n\nНастройте параметры безопасности и повторите попытку.",
- "install_failed_verification_failure_description": "Установка не удалась из-за проблемы с проверкой.\n\nИзмените настройки безопасности и повторите попытку.",
- "install_failed_version_downgrade_description": "Установка не удалась, поскольку пропатченное приложение имело более раннюю версию, чем установленное приложение.\n\nУдалить приложение и попробовать еще раз?",
- "status_unknown_description": "Установка не удалась по неизвестной причине. Пожалуйста, попробуйте еще раз."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/sk_SK.i18n.json b/assets/i18n/sk_SK.i18n.json
deleted file mode 100755
index 052fe028..00000000
--- a/assets/i18n/sk_SK.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "OK",
- "cancelButton": "Zrušiť",
- "dismissButton": "Zatvoriť",
- "quitButton": "Ukončiť",
- "updateButton": "Aktualizovať",
- "suggested": "Navrhované: ${version}",
- "yesButton": "Áno",
- "noButton": "Nie",
- "warning": "Upozornenie",
- "notice": "Oznámenie",
- "noShowAgain": "Nabudúce nezobrazovať",
- "add": "Pridať",
- "remove": "Odstrániť",
- "showChangelogButton": "Zobraziť zmeny",
- "showUpdateButton": "Zobraziť aktualizáciu",
- "navigationView": {
- "dashboardTab": "Hlavný panel",
- "patcherTab": "Zaplátač",
- "settingsTab": "Nastavenia"
- },
- "homeView": {
- "refreshSuccess": "Úspešne obnovené",
- "widgetTitle": "Hlavný panel",
- "updatesSubtitle": "Aktualizácie",
- "lastPatchedAppSubtitle": "Posledná opravená aplikácia",
- "patchedSubtitle": "Inštalované aplikácie",
- "changeLaterSubtitle": "Toto môžete zmeniť v nastaveniach neskôr.",
- "noSavedAppFound": "Nenašla sa žiadna aplikácia",
- "noInstallations": "Zaplátané aplikácie nie sú nainštalované",
- "installUpdate": "Pokračovať v inštalácii aktualizácie?",
- "updateSheetTitle": "Aktualizovať ReVanced Manager",
- "updateDialogTitle": "Dostupná je nová aktualizácia",
- "updatePatchesSheetTitle": "Aktualizovať ReVanced záplaty",
- "updateChangelogTitle": "Zoznam zmien",
- "updateDialogText": "Pre ${file} je k dispozícii nová aktualizácia.\n\nAktuálne nainštalovaná verzia je ${version}.",
- "downloadConsentDialogTitle": "Stiahnuť potrebné súbory?",
- "downloadConsentDialogText": "ReVanced Manager potrebuje stiahnuť potrebné súbory, aby fungoval správne.",
- "downloadConsentDialogText2": "Tým sa pripojíte na ${url}.",
- "downloadingMessage": "Sťahovanie aktualizácie...",
- "downloadedMessage": "Aktualizácia bola stiahnutá",
- "installingMessage": "Inštalujú sa aktualizácie...",
- "errorDownloadMessage": "Nepodarilo sa stiahnuť aktualizáciu",
- "errorInstallMessage": "Nepodarilo sa nainštalovať aktualizáciu",
- "noConnection": "Žiadne pripojenie na internet"
- },
- "applicationItem": {
- "infoButton": "Informácie"
- },
- "latestCommitCard": {
- "loadingLabel": "Načítava sa...",
- "timeagoLabel": "Pred ${time}"
- },
- "patcherView": {
- "widgetTitle": "Zaplátač",
- "patchButton": "Záplata",
- "incompatibleArchWarningDialogText": "Opravovanie na tejto architektúre ešte nie je podporované a môže zlyhať. Pokračovať aj tak?",
- "removedPatchesWarningDialogText": "Odstránené patche od posledného opravenia tejto aplikácie:\n\n${patches}\n\n${newPatches}Pokračovať aj tak?",
- "addedPatchesDialogText": "Pridané patche od posledného opravenia tejto aplikácie:\n\n${addedPatches}\n\n",
- "requiredOptionDialogText": "Niektoré možnosti patchov musia byť nastavené."
- },
- "appSelectorCard": {
- "widgetTitle": "Vybrať aplikáciu",
- "widgetTitleSelected": "Vybraná aplikácia",
- "widgetSubtitle": "Žiadna aplikácia nie je vybraná",
- "noAppsLabel": "Nebola nájdená žiadna aplikácia",
- "anyVersion": "Akákoľvek verzia"
- },
- "patchSelectorCard": {
- "widgetTitle": "Vyberte záplaty",
- "widgetTitleSelected": "Zvolené záplaty",
- "widgetSubtitle": "Najskôr vyberte aplikáciu",
- "widgetEmptySubtitle": "Nie sú vybrané žiadne záplaty"
- },
- "socialMediaCard": {
- "widgetTitle": "Sociálne siete",
- "widgetSubtitle": "Sme opäť online!"
- },
- "appSelectorView": {
- "viewTitle": "Vybrať aplikáciu",
- "searchBarHint": "Vyhľadať aplikáciu",
- "storageButton": "Úložisko",
- "selectFromStorageButton": "Vybrať z úložiska",
- "errorMessage": "Nie je možné použiť vybranú aplikáciu",
- "downloadToast": "Funkcia sťahovania zatiaľ nie je k dispozícii",
- "requireSuggestedAppVersionDialogText": "Verzia aplikácie, ktorú ste vybrali, sa nezhoduje s navrhovanou verziou, čo môže viesť k neočakávaným problémom. Použite prosím navrhovanú verziu.\n\nVybraná verzia: ${selected}\nNavrhovaná verzia: ${suggested}\n\nAk chcete pokračovať aj tak, v nastaveniach vypnite \"Požadovať navrhovanú verziu aplikácie\".",
- "featureNotAvailable": "Funkcia nie je implementovaná",
- "featureNotAvailableText": "Táto aplikácia je rozdelená APK a môže byť spoľahlivo opravená a nainštalovaná iba namontovaním s oprávneniami rootu. Môžete však opraviť a nainštalovať plnú APK výberom z úložiska."
- },
- "patchesSelectorView": {
- "viewTitle": "Vyberte záplaty",
- "searchBarHint": "Vyhľadajte záplaty",
- "universalPatches": "Univerzálne záplaty",
- "newPatches": "Nové patchy",
- "patches": "Patchy",
- "doneButton": "Hotovo",
- "defaultChip": "Predvolené",
- "defaultTooltip": "Vybrať všetky predvolené záplaty",
- "noneChip": "Žiadne",
- "noneTooltip": "Zrušiť výber všetkých odporúčaných záplat",
- "loadPatchesSelection": "Načítať výber patchov",
- "noSavedPatches": "Pre vybranú aplikáciu neexistuje žiadny uložený výber patchov.\nStlačte Hotovo pre uloženie aktuálneho výberu.",
- "noPatchesFound": "Neboli nájdené žiadne záplaty pre zvolenú aplikáciu",
- "setRequiredOption": "Niektoré patchy vyžadujú nastavenie možností:\n\n${patches}\n\nProsím, nastavte ich pred pokračovaním."
- },
- "patchOptionsView": {
- "customValue": "Vlastná hodnota",
- "setToNull": "Nastaviť na null",
- "nullValue": "Hodnota tejto možnosti je momentálne null",
- "viewTitle": "Možnosti patchov",
- "saveOptions": "Uložiť",
- "unselectPatch": "Zrušiť výber patchu",
- "tooltip": "Viac možností vstupu",
- "selectFilePath": "Vybrať cestu k súboru",
- "selectFolder": "Vybrať priečinok",
- "requiredOption": "Nastavenie tejto možnosti je povinné",
- "unsupportedOption": "Táto možnosť nie je podporovaná",
- "requiredOptionNull": "Je potrebné nastaviť nasledujúce možnosti:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "Výber tejto záplaty môže spôsobiť chyby.\n\nVerzia aplikácie: ${packageVersion}\nPodporované verzie:\n${supportedVersions}",
- "unsupportedPatchVersion": "Patch nie je podporovaný pre túto verziu aplikácie.",
- "unsupportedRequiredOption": "Táto záplata obsahuje požadovanú možnosť, ktorú táto apka nepodporuje",
- "patchesChangeWarningDialogText": "Odporúča sa používať predvolené nastavenie a možnosti pre patch. Zmena ich môže viesť k neočakávaným problémom.\n\nPred zmenou akéhokoľvek nastavenia patchu budete musieť zapnúť \"Povoliť zmenu výberu patchu\" v nastaveniach.",
- "patchesChangeWarningDialogButton": "Použiť predvolený výber"
- },
- "installerView": {
- "installType": "Vyberte typ inštalácie",
- "installTypeDescription": "Vyberte typ inštalácie, ktorý chcete použiť.",
- "installButton": "Inštalovať",
- "installRootType": "Pripojiť",
- "installNonRootType": "Bežný",
- "warning": "Zakázať automatické aktualizácie pre opravenú aplikáciu, aby sa predišlo neočakávaným problémom.",
- "pressBackAgain": "Opätovným stlačením tlačidla späť zrušíte",
- "openButton": "Otvoriť",
- "notificationTitle": "ReVanced manažér zapláta",
- "notificationText": "Stlačte pre vrátenie na inštalátor",
- "exportApkButtonTooltip": "Exportovať zaplátané APK",
- "exportLogButtonTooltip": "Exportovať záznam",
- "screenshotDetected": "Bola zistená snímka obrazovky. Ak sa snažíte zdieľať záznam, prosím, zdieľajte textovú kópiu namiesto nej.\n\nSkopírovať záznam do schránky?",
- "copiedToClipboard": "Záznam skopírovaný do schránky",
- "noExit": "Inštalátor je stále spustený, nedá sa ukončiť..."
- },
- "settingsView": {
- "widgetTitle": "Nastavenia",
- "appearanceSectionTitle": "Vzhľad",
- "teamSectionTitle": "Tím",
- "debugSectionTitle": "Ladenie",
- "advancedSectionTitle": "Pokročilé",
- "exportSectionTitle": "Import a export",
- "dataSectionTitle": "Zdroje dát",
- "themeModeLabel": "Motív aplikácie",
- "systemThemeLabel": "Systém",
- "lightThemeLabel": "Svetlý",
- "darkThemeLabel": "Tmavý režim",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "Užite si tému bližíe prispôsobenú vášmu zariadeniu",
- "languageLabel": "Jazyk",
- "languageUpdated": "Jazyk aktualizovaný",
- "sourcesLabel": "Alternatívne zdroje",
- "sourcesLabelHint": "Konfigurujte alternatívne zdroje pre ReVanced Patches",
- "useAlternativeSources": "Používať alternatívne zdroje",
- "useAlternativeSourcesHint": "Použiť alternatívne zdroje pre ReVanced Patches namiesto API",
- "sourcesResetDialogTitle": "Resetovať",
- "sourcesResetDialogText": "Ste si istý, že chcete obnoviť svoje zdroje na ich predvolené hodnoty?",
- "apiURLResetDialogText": "Ste si istý, že chcete obnoviť svoju adresu URL API na jej predvolenú hodnotu?",
- "sourcesUpdateNote": "Poznámka: Toto automaticky stiahne ReVanced Patches z alternatívnych zdrojov.\n\nToto vás pripojí k alternatívnemu zdroju.",
- "apiURLLabel": "URL API",
- "apiURLHint": "Konfigurujte adresu API ReVanced Manager",
- "selectApiURL": "URL API",
- "orgPatchesLabel": "Autor záplaty",
- "sourcesPatchesLabel": "Zdroj záplaty",
- "contributorsLabel": "Prispievatelia",
- "contributorsHint": "Zoznam prispievateľov projektu ReVanced",
- "logsLabel": "Zdieľať záznamy",
- "logsHint": "Zdieľať záznamy ReVanced Manager",
- "enablePatchesSelectionLabel": "Povoliť zmenu výberu patchov",
- "enablePatchesSelectionHint": "Nezabrániť výberu alebo zrušeniu výberu patchov",
- "enablePatchesSelectionWarningText": "Zmena výberu patchov môže spôsobiť neočakávané problémy.\n\nPovoliť aj tak?",
- "disablePatchesSelectionWarningText": "Chystáte sa zakázať zmenu výberu záplat. \nPredvolený výber záplat bude obnovený.\n\nZakázať aj napriek tomu?",
- "autoUpdatePatchesLabel": "Automaticky aktualizovať záplaty",
- "autoUpdatePatchesHint": "Automaticky aktualizovať patchy na najnovšiu verziu",
- "showUpdateDialogLabel": "Zobraziť dialógové okno aktualizácie",
- "showUpdateDialogHint": "Zobraziť dialógové okno, keď je k dispozícii nová aktualizácia",
- "universalPatchesLabel": "Zobraziť univerzálne patchy",
- "universalPatchesHint": "Zobraziť všetky aplikácie a univerzálne patchy (môže spomaliť zoznam aplikácií)",
- "lastPatchedAppLabel": "Uložiť opravenú aplikáciu",
- "lastPatchedAppHint": "Uložiť posledný patch na inštaláciu alebo export neskôr",
- "versionCompatibilityCheckLabel": "Kontrola kompatibility verzií",
- "versionCompatibilityCheckHint": "Zabrániť výberu patchov, ktoré nie sú kompatibilné s vybranou verziou aplikácie",
- "requireSuggestedAppVersionLabel": "Požadovať navrhovanú verziu aplikácie",
- "requireSuggestedAppVersionHint": "Zabrániť výberu aplikácie s verziou, ktorá nie je navrhovaná",
- "requireSuggestedAppVersionDialogText": "Výber aplikácie, ktorá nie je navrhovaná verzia, môže spôsobiť neočakávané problémy.\n\nChcete pokračovať aj tak?",
- "aboutLabel": "Informácie",
- "snackbarMessage": "Skopírované do schránky",
- "restartAppForChanges": "Ak chcete použiť zmeny, reštartujte aplikáciu",
- "deleteTempDirLabel": "Odstrániť dočasné súbory",
- "deleteTempDirHint": "Odstrániť nepoužívané dočasné súbory",
- "deletedTempDir": "Dočasné súbory odstránené",
- "exportSettingsLabel": "Exportovať nastavenia",
- "exportSettingsHint": "Exportovať nastavenia do JSON súboru",
- "exportedSettings": "Nastavenia exportované",
- "importSettingsLabel": "Importovať nastavenia",
- "importSettingsHint": "Importovať nastavenia z JSON súboru",
- "importedSettings": "Nastavenia importované",
- "exportPatchesLabel": "Exportovať výber patchov",
- "exportPatchesHint": "Exportovať výber patchov do JSON súboru",
- "exportedPatches": "Výber patchov exportovaný",
- "noExportFileFound": "Žiadny výber patchov na export",
- "importPatchesLabel": "Importovať výber patchov",
- "importPatchesHint": "Importovať výber patchov z JSON súboru",
- "importedPatches": "Výber patchov importovaný",
- "resetStoredPatchesLabel": "Obnoviť výber patchov",
- "resetStoredPatchesHint": "Obnoviť uložený výber patchov",
- "resetStoredPatchesDialogTitle": "Obnoviť výber patchov?",
- "resetStoredPatchesDialogText": "Obnoví sa predvolený výber záplat.",
- "resetStoredPatches": "Výber patchov bol obnovený",
- "resetStoredOptionsLabel": "Obnoviť možnosti patchov",
- "resetStoredOptionsHint": "Obnoviť všetky možnosti patchov",
- "resetStoredOptionsDialogTitle": "Obnoviť možnosti patchov?",
- "resetStoredOptionsDialogText": "Obnovenie možností patchov odstráni všetky uložené možnosti.",
- "resetStoredOptions": "Možnosti boli obnovené",
- "deleteLogsLabel": "Vymazať záznamy",
- "deleteLogsHint": "Vymazať zozbierané záznamy ReVanced Manager",
- "deletedLogs": "Záznamy odstránené",
- "regenerateKeystoreLabel": "Vytvoriť nové úložisko kľúčov",
- "regenerateKeystoreHint": "Znovu vygenerovať kľúčový úložisko používaný na podpisovanie aplikácií",
- "regenerateKeystoreDialogTitle": "Vytvoriť nové úložisko kľúčov?",
- "regenerateKeystoreDialogText": "Opravené aplikácie podpísané starým kľúčovým úložiskom sa už nebudú môcť aktualizovať.",
- "regeneratedKeystore": "Vygenerované nové úložisko kľúčov",
- "exportKeystoreLabel": "Exportovať úložisko kľúčov",
- "exportKeystoreHint": "Exportovať kľúčový úložisko používaný na podpisovanie aplikácií",
- "exportedKeystore": "Úložisko kľúčov exportované",
- "noKeystoreExportFileFound": "Žiadne úložisko kľúčov na export",
- "importKeystoreLabel": "Importovať úložisko kľúčov",
- "importKeystoreHint": "Importovať kľúčový úložisko používaný na podpisovanie aplikácií",
- "importedKeystore": "Úložisko kľúčov importované",
- "selectKeystorePassword": "Heslo kľúčového úložiska",
- "selectKeystorePasswordHint": "Vybrať heslo kľúčového úložiska používaného na podpisovanie aplikácií",
- "jsonSelectorErrorMessage": "Nie je možné použiť vybraný JSON súbor",
- "keystoreSelectorErrorMessage": "Nie je možné použiť vybraný súbor kľúčového úložiska"
- },
- "appInfoView": {
- "widgetTitle": "Informácie o aplikácii",
- "openButton": "Otvoriť",
- "installButton": "Inštalovať",
- "uninstallButton": "Odinštalovať",
- "unmountButton": "Odpojiť",
- "exportButton": "Exportovať",
- "deleteButton": "Vymazať",
- "rootDialogTitle": "Chyba",
- "lastPatchedAppDescription": "Toto je záloha aplikácie, ktorá bola naposledy opravená.",
- "unmountDialogText": "Ste si istý, že chcete odpojiť túto aplikáciu?",
- "uninstallDialogText": "Ste si istý, že chcete odinštalovať túto aplikáciu?",
- "rootDialogText": "Aplikácia bola nainštalovaná s oprávneniami superpoužívateľa, ale v súčasnosti ReVanced Manažér nemá žiadne oprávnenia. Najskôr mu udeľte oprávnenia superužívateľa.",
- "removeAppDialogTitle": "Vymazať aplikáciu?",
- "removeAppDialogText": "Ste si istý, že chcete vymazať túto zálohu?",
- "packageNameLabel": "Názov balíka",
- "installTypeLabel": "Spôsob inštalácie",
- "mountTypeLabel": "Pripojiť",
- "regularTypeLabel": "Bežný",
- "patchedDateLabel": "Dátum záplaty",
- "appliedPatchesLabel": "Použité záplaty",
- "sizeLabel": "Veľkosť súboru",
- "patchedDateHint": "${date} o ${time}",
- "appliedPatchesHint": "${quantity} použitých záplat",
- "updateNotImplemented": "Táto funkcia ešte nebola implementovaná"
- },
- "contributorsView": {
- "widgetTitle": "Prispievatelia"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "Nekompatibilita verzií",
- "mount_no_root": "Bez prístupu k rootu",
- "mount_missing_installation": "Inštalácia nenájdená",
- "status_failure_blocked": "Inštalácia zablokovaná",
- "install_failed_verification_failure": "Overenie zlyhalo",
- "status_failure_invalid": "Inštalácia neplatná",
- "install_failed_version_downgrade": "Nie je možné znížiť verziu",
- "status_failure_conflict": "Konflikt inštalácie",
- "status_failure_storage": "Problém s úložiskom inštalácie",
- "status_failure_incompatible": "Inštalácia nekompatibilná",
- "status_failure_timeout": "Časový limit inštalácie",
- "status_unknown": "Inštalácia zlyhala",
- "mount_version_mismatch_description": "Inštalácia zlyhala kvôli tomu, že nainštalovaná aplikácia je inej verzie ako opravená aplikácia.\n\nNainštalujte verziu aplikácie, ktorú montujete, a skúste to znova.",
- "mount_no_root_description": "Inštalácia zlyhala kvôli tomu, že nebol udelený prístup k rootu.\n\nUdeľte ReVanced Manager prístup k rootu a skúste to znova.",
- "mount_missing_installation_description": "Inštalácia zlyhala kvôli tomu, že neopravená aplikácia nie je nainštalovaná na tomto zariadení, aby sa na ňu dalo namontovať.\n\nNainštalujte neopravenú aplikáciu pred montážou a skúste to znova.",
- "status_failure_timeout_description": "Inštalácia trvala príliš dlho.\n\nChcete to skúsiť znova?",
- "status_failure_storage_description": "Inštalácia zlyhala kvôli nedostatočnému úložisku.\n\nUvoľnite nejaké miesto a skúste to znova.",
- "status_failure_invalid_description": "Inštalácia zlyhala kvôli tomu, že opravená aplikácia je neplatná.\n\nOdinštalovať aplikáciu a skúsiť to znova?",
- "status_failure_incompatible_description": "Aplikácia je nekompatibilná s týmto zariadením.\n\nPoužite APK, ktorá je podporovaná týmto zariadením a skúste to znova.",
- "status_failure_conflict_description": "Inštalácia bola zabránená existujúcou inštaláciou aplikácie.\n\nOdinštalovať nainštalovanú aplikáciu a skúsiť to znova?",
- "status_failure_blocked_description": "Inštalácia bola zablokovaná ${packageName}.\n\nUpravte svoje bezpečnostné nastavenia a skúste to znova.",
- "install_failed_verification_failure_description": "Inštalácia zlyhala kvôli problému s overením.\n\nUpravte svoje bezpečnostné nastavenia a skúste to znova.",
- "install_failed_version_downgrade_description": "Inštalácia zlyhala kvôli tomu, že opravená aplikácia je nižšej verzie ako nainštalovaná aplikácia.\n\nOdinštalovať aplikáciu a skúsiť to znova?",
- "status_unknown_description": "Inštalácia zlyhala z neznámeho dôvodu. Skúste to znova."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/sl_SI.i18n.json b/assets/i18n/sl_SI.i18n.json
deleted file mode 100755
index 5750d4e8..00000000
--- a/assets/i18n/sl_SI.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "V redu",
- "cancelButton": "Prekliči",
- "dismissButton": "Opusti",
- "quitButton": "Izhod",
- "updateButton": "Posodobi",
- "suggested": "Priporočena različica: ${version}",
- "yesButton": "Da",
- "noButton": "Ne",
- "warning": "Opozorilo",
- "notice": "Notice",
- "noShowAgain": "Ne prikazuj več",
- "add": "Dodaj",
- "remove": "Odstrani",
- "showChangelogButton": "Pokaži, kaj je novega",
- "showUpdateButton": "Pokaži posodobitev",
- "navigationView": {
- "dashboardTab": "Nadzorna plošča",
- "patcherTab": "Popravljalnik",
- "settingsTab": "Nastavitve"
- },
- "homeView": {
- "refreshSuccess": "Osvežitev je uspela",
- "widgetTitle": "Nadzorna plošča",
- "updatesSubtitle": "Posodobitve",
- "lastPatchedAppSubtitle": "Zadnja popravljena aplikacija",
- "patchedSubtitle": "Nameščene aplikacije",
- "changeLaterSubtitle": "To lahko tudi kasneje spremenite v nastavitvah.",
- "noSavedAppFound": "Aplikacija ni bila najdena",
- "noInstallations": "Nameščena ni nobena popravljena aplikacija",
- "installUpdate": "Nadaljujem z nameščanjem posodobitve?",
- "updateSheetTitle": "Posodobi ReVanced Manager",
- "updateDialogTitle": "Na voljo je posodobitev",
- "updatePatchesSheetTitle": "Posodobi ReVanced popravke",
- "updateChangelogTitle": "Zadnje spremembe",
- "updateDialogText": "Za ${file} je na voljo posodobitev.\n\nTrenutno je nameščena različica ${version}.",
- "downloadConsentDialogTitle": "Prenesem potrebne datoteke?",
- "downloadConsentDialogText": "ReVanced Manager mora za svoje nemoteno delovanje prenesti potrebne datoteke.",
- "downloadConsentDialogText2": "To vas bo povezalo z ${url}.",
- "downloadingMessage": "Prenašam posodobitev ...",
- "downloadedMessage": "Posodobitev prenesena",
- "installingMessage": "Nameščam posodobitev ...",
- "errorDownloadMessage": "Posodobitve ni bilo mogoče prenesti",
- "errorInstallMessage": "Posodobitve ni bilo mogoče namestiti",
- "noConnection": "Ni internetne povezave"
- },
- "applicationItem": {
- "infoButton": "Informacije"
- },
- "latestCommitCard": {
- "loadingLabel": "Nalagam ...",
- "timeagoLabel": "Pred ${time}"
- },
- "patcherView": {
- "widgetTitle": "Popravljalnik",
- "patchButton": "Popravi",
- "incompatibleArchWarningDialogText": "Popravljanje na tej arhitekturi še ni podprto in lahko spodleti. Vseeno nadaljujte?",
- "removedPatchesWarningDialogText": "Odstranjeni popravki od zadnjega popravljanja te aplikacije:\n\n${patches}\n\n${newPatches}Vseeno nadaljujte?",
- "addedPatchesDialogText": "Dodani popravki od zadnjega popravljanja te aplikacije:\n\n${addedPatches}\n\n",
- "requiredOptionDialogText": "Nekatere možnosti popravkov morajo biti nastavljene."
- },
- "appSelectorCard": {
- "widgetTitle": "Izberi aplikacijo",
- "widgetTitleSelected": "Izbrana aplikacija",
- "widgetSubtitle": "Nič ni izbrano",
- "noAppsLabel": "Ne najdem nobenih aplikacij",
- "anyVersion": "Poljubna različica"
- },
- "patchSelectorCard": {
- "widgetTitle": "Izberi popravke",
- "widgetTitleSelected": "Izbrani popravki",
- "widgetSubtitle": "Najprej izberite aplikacijo",
- "widgetEmptySubtitle": "Izbran ni noben popravek"
- },
- "socialMediaCard": {
- "widgetTitle": "Družabna omrežja",
- "widgetSubtitle": "Najdete nas na spletu!"
- },
- "appSelectorView": {
- "viewTitle": "Izberi aplikacijo",
- "searchBarHint": "Išči aplikacijo",
- "storageButton": "Shramba",
- "selectFromStorageButton": "Izberi iz shrambe",
- "errorMessage": "Izbrane aplikacije ni mogoče uporabiti",
- "downloadToast": "Prenos trenutno ni na voljo",
- "requireSuggestedAppVersionDialogText": "Različica aplikacije, ki ste jo izbrali, se ne ujema s priporočeno različico, kar lahko privede do nepredvidenih težav. Prosimo, da uporabite priporočeno različico.\n\nIzbrana različica: ${selected}\nPriporočena različica: ${suggested}\n\nČe želite kljub temu nadaljevati, v nastavitvah onemogočite \"Zahtevaj priporočeno različico\".",
- "featureNotAvailable": "Funkcionalnost ni implementirana",
- "featureNotAvailableText": "Ta aplikacija je v ločeni datoteki APK, zato jo najzanesljiveje popravimo in namestimo samo tako, da jo priklopimo s skrbniškimi pravicami. Kljub temu lahko popravite in namestite celo aplikacijo APK tako, da jo izberete iz pomnilnika."
- },
- "patchesSelectorView": {
- "viewTitle": "Izberite popravke",
- "searchBarHint": "Iščite popravke",
- "universalPatches": "Splošni popravki",
- "newPatches": "Novi popravki",
- "patches": "Popravki",
- "doneButton": "Končano",
- "defaultChip": "Privzeto",
- "defaultTooltip": "Izberi vse privzete popravke",
- "noneChip": "Brez",
- "noneTooltip": "Razveljavi izbiro vseh popravkov",
- "loadPatchesSelection": "Naloži izbor popravkov",
- "noSavedPatches": "Za izbrano aplikacijo ni shranjenega izbora popravkov.\nS pritiskom na Končano shranite trenutni izbor.",
- "noPatchesFound": "Za izbrano aplikacijo ne najdem popravkov",
- "setRequiredOption": "Nekateri popravki zahtevajo, da so možnosti nastavljene:\n\n${patches}\n\nProsimo, nastavite jih pred nadaljevanjem."
- },
- "patchOptionsView": {
- "customValue": "Vrednost po meri",
- "setToNull": "Nastavi na nič",
- "nullValue": "Trenutna vrednost te možnosti je nič",
- "viewTitle": "Možnosti popravkov",
- "saveOptions": "Save",
- "unselectPatch": "Odstrani izbiro popravka",
- "tooltip": "Več možnosti vnosa",
- "selectFilePath": "Izberi pot do datoteke",
- "selectFolder": "Izberi mapo",
- "requiredOption": "Nastavitev te možnosti je obvezna",
- "unsupportedOption": "Ta možnost ni podprta",
- "requiredOptionNull": "Naslednje možnosti morajo biti nastavljene:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "Izbira tega popravka lahko privede do napak pri popravljanju.\n\nRazličica aplikacije: ${packageVersion}\nPodprte različice:\n${supportedVersions}",
- "unsupportedPatchVersion": "Popravek ni združljiv s to različico aplikacije.",
- "unsupportedRequiredOption": "Ta popravek vsebuje obvezno možnost, ki jo ta aplikacija ne podpira",
- "patchesChangeWarningDialogText": "Priporočamo, da uporabite privzete možnosti in izbor popravkov. Če jih spremenite, lahko pride do nepričakovanih težav.\n\nPreden spremenite izbor popravkov, boste morali v nastavitvah vklopiti \"Omogoči spreminjanje izborov popravkov\".",
- "patchesChangeWarningDialogButton": "Uporabi privzeto izbiro"
- },
- "installerView": {
- "installType": "Izberi vrsto namestitve",
- "installTypeDescription": "Izberite vrsto namestitve, s katero želite nadaljevati.",
- "installButton": "Namesti",
- "installRootType": "Namesti",
- "installNonRootType": "Običajna",
- "warning": "Onemogočite samodejno posodabljanje za popravljeno aplikacijo, drugače lahko pride do nepredvidenih težav.",
- "pressBackAgain": "Pritisni nazaj še enkrat za preklic",
- "openButton": "Odpri",
- "notificationTitle": "Upravitelj ReVanced popravlja",
- "notificationText": "Dotaknite se za vrnitev na namestitveni program",
- "exportApkButtonTooltip": "Izvozi popravljen APK",
- "exportLogButtonTooltip": "Izvozi dnevnik",
- "screenshotDetected": "Odkrili smo posnetek zaslona. Če poskušate deliti dnevnik, prosimo, namesto tega delite besedilno kopijo.\n\nKopiraj dnevnik v odložišče?",
- "copiedToClipboard": "Dnevnik je bil kopiran v odložišče",
- "noExit": "Namestitveni program še teče, ne morem končati ..."
- },
- "settingsView": {
- "widgetTitle": "Nastavitve",
- "appearanceSectionTitle": "Videz",
- "teamSectionTitle": "Ekipa",
- "debugSectionTitle": "Razhroščevanje",
- "advancedSectionTitle": "Napredno",
- "exportSectionTitle": "Uvoz in izvoz",
- "dataSectionTitle": "Viri podatkov",
- "themeModeLabel": "Tema aplikacije",
- "systemThemeLabel": "Sistem",
- "lightThemeLabel": "Svetla",
- "darkThemeLabel": "Temni videz",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "Videz je prilagojen za vašo napravo",
- "languageLabel": "Jezik",
- "languageUpdated": "Jezik je posodobljen",
- "sourcesLabel": "Alternativni viri",
- "sourcesLabelHint": "Konfiguriraj alternativne vire za ReVanced popravke",
- "useAlternativeSources": "Uporabi alternativne vire",
- "useAlternativeSourcesHint": "Uporabi alternativne vire za ReVanced popravke namesto API-ja",
- "sourcesResetDialogTitle": "Ponastavi",
- "sourcesResetDialogText": "Ali ste prepričani, da želite ponastaviti svoje vire na privzete vrednosti?",
- "apiURLResetDialogText": "Ali ste prepričani, da želite ponastaviti svojo povezavo do API-ja na privzeto vrednost?",
- "sourcesUpdateNote": "Opomba: To bo samodejno preneslo ReVanced popravke iz alternativnih virov.\n\nTo vas bo povezalo z alternativnim virom.",
- "apiURLLabel": "URL API-ja",
- "apiURLHint": "Nastavi naslov URL za API ReVanced Managerja",
- "selectApiURL": "URL API-ja",
- "orgPatchesLabel": "Organizacija popravkov",
- "sourcesPatchesLabel": "Vir popravkov",
- "contributorsLabel": "Sodelujoči",
- "contributorsHint": "Seznam sodelujočih pri projektu ReVanced",
- "logsLabel": "Deli dnevniške podatke",
- "logsHint": "Deli dnevniške podatke ReVanced Managerja",
- "enablePatchesSelectionLabel": "Dovoli spreminjanje izborov popravkov",
- "enablePatchesSelectionHint": "Ne prepreči izbiranja ali opuščanja popravkov",
- "enablePatchesSelectionWarningText": "Spreminjanje izbora popravkov lahko povzroči nepredvidene težave.\n\nGa vseeno omogočim?",
- "disablePatchesSelectionWarningText": "Opozorilo: onemogočite spreminjanje izbire popravkov.\nPrivzeta izbira popravkov bo obnovljena.\n\nVseeno onemogočite?",
- "autoUpdatePatchesLabel": "Samodejno posodabljanje popravkov",
- "autoUpdatePatchesHint": "Samodejno posodobi popravke",
- "showUpdateDialogLabel": "Pokaži posodobitveno pogovorno okno",
- "showUpdateDialogHint": "Pokaži pogovorno okno, ko je na voljo posodobitev",
- "universalPatchesLabel": "Pokaži splošne popravke",
- "universalPatchesHint": "Prikaži vse aplikacije in splošne popravke (lahko upočasni prikaz seznama aplikacij)",
- "lastPatchedAppLabel": "Shrani popravljeno aplikacijo",
- "lastPatchedAppHint": "Shrani zadnji popravek za namestitev ali izvoz kasneje",
- "versionCompatibilityCheckLabel": "Preverjanje združljivosti različic",
- "versionCompatibilityCheckHint": "Prepreči izbiranje popravkov, ki niso združljivi z izbrano različico aplikacije",
- "requireSuggestedAppVersionLabel": "Zahtevaj priporočeno različico",
- "requireSuggestedAppVersionHint": "Prepreči izbiro različice aplikacije, ki ni enaka priporočeni",
- "requireSuggestedAppVersionDialogText": "Če izberete različico aplikacije, ki ni enaka priporočeni, lahko pride do nepredvidenih napak.\n\nŽelite vseeno nadaljevati?",
- "aboutLabel": "O programu",
- "snackbarMessage": "Kopirano v odložišče",
- "restartAppForChanges": "Spremembe bodo uveljavljene po ponovnem zagonu aplikacije",
- "deleteTempDirLabel": "Izbriši začasne datoteke",
- "deleteTempDirHint": "Izbriši nerabljene začasne datoteke",
- "deletedTempDir": "Začasne datoteke izbrisane",
- "exportSettingsLabel": "Izvozi nastavitve",
- "exportSettingsHint": "Izvozi nastavitve v datoteko JSON",
- "exportedSettings": "Nastavitve so bile izvožene",
- "importSettingsLabel": "Uvozi nastavitve",
- "importSettingsHint": "Uvozi nastavitve iz datoteke JSON",
- "importedSettings": "Nastavitve so bile uvožene",
- "exportPatchesLabel": "Izvozi izbor popravkov",
- "exportPatchesHint": "Izvozi izbor popravkov v datoteko JSON",
- "exportedPatches": "Izbor popravkov je izvožen",
- "noExportFileFound": "Ni nobenega izbora popravkov za izvoz",
- "importPatchesLabel": "Uvozi izbor popravkov",
- "importPatchesHint": "Uvozi izbor popravkov iz datoteke JSON",
- "importedPatches": "Izbor popravkov je uvožen",
- "resetStoredPatchesLabel": "Ponastavi izbor popravkov",
- "resetStoredPatchesHint": "Ponastavi shranjeni izbor popravkov",
- "resetStoredPatchesDialogTitle": "Naj ponastavim izbor popravkov?",
- "resetStoredPatchesDialogText": "Obnovljen bo privzeti izbor popravkov.",
- "resetStoredPatches": "Izbor popravkov je bil ponastavljen",
- "resetStoredOptionsLabel": "Ponastavi možnosti popravkov",
- "resetStoredOptionsHint": "Ponastavi vse možnosti popravkov",
- "resetStoredOptionsDialogTitle": "Ali naj ponastavim možnosti popravkov?",
- "resetStoredOptionsDialogText": "S ponastavitvijo možnosti popravkov bodo odstranjene vse shranjene možnosti.",
- "resetStoredOptions": "Možnosti so bile ponastavljene",
- "deleteLogsLabel": "Počisti dnevniške podatke",
- "deleteLogsHint": "Izbriše dnevniške vnose za ReVanced Manager",
- "deletedLogs": "Dnevniški vnosi izbrisani",
- "regenerateKeystoreLabel": "Znova ustvari shrambo ključev",
- "regenerateKeystoreHint": "Ponovno generira shrambo ključev za podpisovanje aplikacij",
- "regenerateKeystoreDialogTitle": "Znova ustvari shrambo ključev?",
- "regenerateKeystoreDialogText": "Popravljenih aplikacij, podpisanih s staro shrambo ključev, ne bo več mogoče posodobiti.",
- "regeneratedKeystore": "Shramba ključev je bila znova ustvarjena",
- "exportKeystoreLabel": "Izvozi shrambo ključev",
- "exportKeystoreHint": "Izvozi shrambo ključev za podpisovanje aplikacij",
- "exportedKeystore": "Shramba ključev je izvožena",
- "noKeystoreExportFileFound": "Ni shrambe ključev, da bi jo izvozil",
- "importKeystoreLabel": "Uvozi shrambo ključev",
- "importKeystoreHint": "Uvozi shrambo ključev za podpisovanje aplikacij",
- "importedKeystore": "Shramba ključev uvožena",
- "selectKeystorePassword": "Geslo za shrambo ključev",
- "selectKeystorePasswordHint": "Izberite geslo za shrambo ključev za podpisovanje aplikacij",
- "jsonSelectorErrorMessage": "Izbrane datoteke JSON ni mogoče uporabiti",
- "keystoreSelectorErrorMessage": "Ni mogoče uporabiti izbrane datoteke za shrambo ključev"
- },
- "appInfoView": {
- "widgetTitle": "O aplikaciji",
- "openButton": "Odpri",
- "installButton": "Namesti",
- "uninstallButton": "Odstrani",
- "unmountButton": "Odklopi",
- "exportButton": "Izvozi",
- "deleteButton": "Izbriši",
- "rootDialogTitle": "Napaka",
- "lastPatchedAppDescription": "To je varnostna kopija aplikacije, ki je bila zadnja popravljena.",
- "unmountDialogText": "Ali res želite odklopiti to aplikacijo?",
- "uninstallDialogText": "Ali res želite odstraniti to aplikacijo?",
- "rootDialogText": "Aplikacija je bila nameščena s skrbniškimi dovoljenji, a trenutno upravitelj ReVanced nima ustreznih dovoljenj.\nProsimo, da mu najprej odobrite skrbniška dovoljenja.",
- "removeAppDialogTitle": "Izbriši aplikacijo?",
- "removeAppDialogText": "Ste prepričani, da želite izbrisati to varnostno kopijo?",
- "packageNameLabel": "Naziv paketa",
- "installTypeLabel": "Vrsta namestitve",
- "mountTypeLabel": "Namesti",
- "regularTypeLabel": "Običajna",
- "patchedDateLabel": "Datum popravila",
- "appliedPatchesLabel": "Uveljavljeni popravki",
- "sizeLabel": "Velikost datoteke",
- "patchedDateHint": "${date} ob ${time}",
- "appliedPatchesHint": "${quantity} uveljavljenih popravkov",
- "updateNotImplemented": "Ta funkcionalnost še ni implementirana"
- },
- "contributorsView": {
- "widgetTitle": "Prispevali so"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "Neskladne različice",
- "mount_no_root": "Ni skrbniškega dostopa",
- "mount_missing_installation": "Ne najdem namestitve",
- "status_failure_blocked": "Namestitev onemogočena",
- "install_failed_verification_failure": "Overjanje ni uspelo",
- "status_failure_invalid": "Namestitev ni veljavna",
- "install_failed_version_downgrade": "Nižja različica ni mogoča",
- "status_failure_conflict": "Navzkrižje med namestitvijo",
- "status_failure_storage": "Pomnilniška težava",
- "status_failure_incompatible": "Namestitev ni združljiva",
- "status_failure_timeout": "Namestitev traja predolgo",
- "status_unknown": "Namestitev je spodletela",
- "mount_version_mismatch_description": "Namestitev je spodletela, ker je različica nameščene aplikacije drugačna od popravljene aplikacije.\n\nNamestite tisto različico aplikacije, ki jo priklapljate, in poskusite ponovno.",
- "mount_no_root_description": "Namestitev je spodletela, ker nimate skrbniškega dostopa.\n\nReVanced Managerju dodelite skrbniška dovoljenja in poskusite ponovno.",
- "mount_missing_installation_description": "Namestitev je spodletela, ker nepopravljena aplikacija ni nameščena na tej napravi, zato je ni mogoče zamenjati in priklopiti.\n\nPred priklopom namestite nepopravljeno aplikacijo in poskusite ponovno.",
- "status_failure_timeout_description": "Namestitev je trajala predolgo.\n\nNaj poskusim ponovno?",
- "status_failure_storage_description": "Namestitev je spodletela zaradi pomanjkanja prostora na pomnilni napravi.\n\nSprostite nekaj prostora in poskusite ponovno.",
- "status_failure_invalid_description": "Namestitev je spodletela zaradi neveljavnosti popravljene aplikacije.\n\nNaj odstranim aplikacijo in poskusim ponovno?",
- "status_failure_incompatible_description": "Aplikacija ni združljiva s to napravo.\n\nUporabite APK, ki ga podpira ta naprava, in poskusite znova.",
- "status_failure_conflict_description": "Namestitev ni uspela, ker je aplikacija že nameščena.\n\nNaj odstranim nameščeno aplikacijo in poskusim ponovno?",
- "status_failure_blocked_description": "Paket ${packageName} je preprečil namestitev.\n\nPrilagodite svoje varnostne nastavitve in poskusite ponovno.",
- "install_failed_verification_failure_description": "Namestitev ni uspela zaradi overitvenih težav.",
- "install_failed_version_downgrade_description": "Namestitev je spodletela, ker je popravljena aplikacija nižje različice kot nameščena aplikacija.\n\nOdstranim aplikacijo in poskusim ponovno?",
- "status_unknown_description": "Namestitev je spodletela iz neznanega razloga. Prosimo, da poskusite ponovno."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/sq_AL.i18n.json b/assets/i18n/sq_AL.i18n.json
deleted file mode 100755
index 586d6b9e..00000000
--- a/assets/i18n/sq_AL.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "Dakord",
- "cancelButton": "Anulo",
- "dismissButton": "Largoje",
- "quitButton": "Hiq dorë",
- "updateButton": "Përditëso",
- "suggested": "Sugjerohet: ${version}",
- "yesButton": "Po",
- "noButton": "Jo",
- "warning": "Kujdes",
- "notice": "Vërejtje",
- "noShowAgain": "Mos e trego këtë përsëri",
- "add": "Shto",
- "remove": "Largo",
- "showChangelogButton": "Trego ndryshimet",
- "showUpdateButton": "Trego përditësimin",
- "navigationView": {
- "dashboardTab": "Paneli",
- "patcherTab": "Modifikuesi",
- "settingsTab": "Rregullimet"
- },
- "homeView": {
- "refreshSuccess": "Rifreskuar me sukses",
- "widgetTitle": "Paneli",
- "updatesSubtitle": "Përditësimet",
- "lastPatchedAppSubtitle": "Aplikacioni i fundit i korrigjuar",
- "patchedSubtitle": "Aplikacionet e instaluara",
- "changeLaterSubtitle": "Ju mund ta ndryshoni këtë në cilësimet më vonë.",
- "noSavedAppFound": "Nuk u gjet asnjë aplikacion",
- "noInstallations": "Nuk ka aplikacione të përditësuara të instaluar",
- "installUpdate": "Vazhdoni instalimin e përditësimit?",
- "updateSheetTitle": "Përditëso ReVanced Manager",
- "updateDialogTitle": "Një përditësim i ri është i disponueshëm",
- "updatePatchesSheetTitle": "Përditëso Korrigjimet ReVanced",
- "updateChangelogTitle": "Lista e ndryshimeve",
- "updateDialogText": "Një përditësim i ri është i disponueshëm për ${file}.\n\nVersioni aktual i instaluar është ${version}.",
- "downloadConsentDialogTitle": "Shkarko skedarët e nevojshëm?",
- "downloadConsentDialogText": "ReVanced Manager duhet të shkarkojë skedarët e nevojshëm për të funksionuar siç duhet.",
- "downloadConsentDialogText2": "Kjo do t'ju lidhi me ${url}.",
- "downloadingMessage": "Përditësimi po shkarkohet...",
- "downloadedMessage": "Përditesimi u shkarkua",
- "installingMessage": "Përditësimi po instalohet...",
- "errorDownloadMessage": "Përditësimi nuk u shkarkua dot",
- "errorInstallMessage": "Përditësimi nuk u instalua dot",
- "noConnection": "Nuk ka internet"
- },
- "applicationItem": {
- "infoButton": "Informacion"
- },
- "latestCommitCard": {
- "loadingLabel": "Po ngarkohet...",
- "timeagoLabel": "${time} më parë"
- },
- "patcherView": {
- "widgetTitle": "Modifikuesi",
- "patchButton": "Arnim",
- "incompatibleArchWarningDialogText": "Korrigjimi në këtë arkitekturë nuk është akoma i mbështetur dhe mund të dështojë. Vazhdoni gjithsesi?",
- "removedPatchesWarningDialogText": "Korrigjimet e hequra që nga hera e fundit që korrigjuat këtë aplikacion:\n\n${patches}\n\n${newPatches}Vazhdoni gjithsesi?",
- "addedPatchesDialogText": "Korrigjimet e shtuara që nga hera e fundit që korrigjuat këtë aplikacion:\n\n${addedPatches}\n\n",
- "requiredOptionDialogText": "Disa opsione të përditësimit duhet të vendosen."
- },
- "appSelectorCard": {
- "widgetTitle": "Pumili ka ng app",
- "widgetTitleSelected": "Aplikacioni i zgjedhur",
- "widgetSubtitle": "Nuk është zgjedhur asnjë aplikacion",
- "noAppsLabel": "Nuk u gjeten aplikacione",
- "anyVersion": "Çdo version"
- },
- "patchSelectorCard": {
- "widgetTitle": "Zgjidh modifikimet",
- "widgetTitleSelected": "Përditësime të zgjedhura",
- "widgetSubtitle": "Në fillim zgjidh një aplikacion",
- "widgetEmptySubtitle": "Nuk janë zgjedhur modifikime"
- },
- "socialMediaCard": {
- "widgetTitle": "Shoqëroret",
- "widgetSubtitle": "Jemi online!"
- },
- "appSelectorView": {
- "viewTitle": "Zgjidhni një aplikacion",
- "searchBarHint": "Kërko aplikacion",
- "storageButton": "Magazina",
- "selectFromStorageButton": "Zgjidh nga ruajtja",
- "errorMessage": "Nuk mund te perdoret aplikacioni qe u zgjodh",
- "downloadToast": "Funksioni i shkarkimit nuk është i disponueshëm ende",
- "requireSuggestedAppVersionDialogText": "Versioni i aplikacionit që keni zgjedhur nuk përputhet me versionin e sugjeruar që mund të çojë në probleme të papritura. Ju lutemi përdorni versionin e sugjeruar.\n\nVersioni i zgjedhur: ${selected}\nVersioni i sugjeruar: ${suggested}\n\nPër të vazhduar gjithsesi, çaktivizoni \"Kërko versionin e sugjeruar të aplikacionit\" në cilësimet.",
- "featureNotAvailable": "Funksioni nuk është implementuar",
- "featureNotAvailableText": "Ky aplikacion është një APK i ndarë dhe mund të korrigjohet dhe instalohet me besueshmëri vetëm duke montuar me leje root. Megjithatë, mund të korrigjoni dhe instaloni një APK të plotë duke e zgjedhur atë nga ruajtja."
- },
- "patchesSelectorView": {
- "viewTitle": "Zgjidh modifikimet",
- "searchBarHint": "Kërko për modifikime",
- "universalPatches": "Përditësime universale",
- "newPatches": "Përditësime të reja",
- "patches": "Përditësime",
- "doneButton": "U krye",
- "defaultChip": "Përcaktuar nga parazgjedhja",
- "defaultTooltip": "Zgjidh të gjitha përditësimet e parazgjedhura",
- "noneChip": "Asnjë",
- "noneTooltip": "Hiq zgjedhjen për të gjitha përditësimet",
- "loadPatchesSelection": "Ngarko zgjedhjen e përditësimit",
- "noSavedPatches": "Nuk ka zgjedhje të ruajtur të përditësimit për aplikacionin e zgjedhur.\nShtyp Përfundo për të ruajtur zgjedhjen aktuale.",
- "noPatchesFound": "Nuk u gjetën modifikime për aplikacionin e zgjedhur",
- "setRequiredOption": "Disa përditësime kërkojnë vendosjen e opsioneve:\n\n${patches}\n\nJu lutemi vendosni ato para se të vazhdoni."
- },
- "patchOptionsView": {
- "customValue": "Vlerë e personalizuar",
- "setToNull": "Vendose në null",
- "nullValue": "Vlera e këtij opsioni është aktualisht null",
- "viewTitle": "Opsione të përditësimit",
- "saveOptions": "Ruaj",
- "unselectPatch": "Zgjidhni korrigjimin",
- "tooltip": "Më shumë opsione hyrjeje",
- "selectFilePath": "Zgjidh rrugën e skedarit",
- "selectFolder": "Zgjidh dosjen",
- "requiredOption": "Vendosja e këtij opsioni është e detyrueshme",
- "unsupportedOption": "Ky opsion nuk është i mbështetur",
- "requiredOptionNull": "Opsione të mëposhtme duhet të vendosen:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "Duke zgjedhur kte modifikim mund te shfaqen gabime.\n\nVersioni i app-it: ${packageVersion}\nVersionet e mbeshtetura:\n${supportedVersions}",
- "unsupportedPatchVersion": "Përditësimi nuk është i mbështetur për këtë version të aplikacionit.",
- "unsupportedRequiredOption": "Ky përditësim përmban një opsion të kërkuar që nuk është i mbështetur nga ky aplikacion",
- "patchesChangeWarningDialogText": "Rekomandohet të përdorni zgjedhjen dhe opsionet e korrigjimit të përcaktuar nga parazgjedhja. Ndryshimi i tyre mund të rezultojë në probleme të papritura.\n\nDo të duhet të aktivizoni \"Lejo ndryshimin e zgjedhjes së korrigjimit\" në cilësimet para se të ndryshoni ndonjë zgjedhje të korrigjimit.",
- "patchesChangeWarningDialogButton": "Përdor zgjedhjen e parazgjedhur"
- },
- "installerView": {
- "installType": "Zgjidh llojin e instalimit",
- "installTypeDescription": "Zgjidhni llojin e instalimit për të vazhduar me.",
- "installButton": "Instalo",
- "installRootType": "Montimi",
- "installNonRootType": "Rregullt",
- "warning": "Çaktivizo përditësimet automatike për aplikacionin e përditësuar për të shmangur probleme të papritura.",
- "pressBackAgain": "Shtyp prapa përsëri për të anuluar",
- "openButton": "Hape",
- "notificationTitle": "Menaxheri ReVanced po bën modifikime",
- "notificationText": "Prek që të kthehesh te instaluesi",
- "exportApkButtonTooltip": "Eksporto APK-në e përditësuar",
- "exportLogButtonTooltip": "Eksporto regjistrimin",
- "screenshotDetected": "Një ekran i kapur është zbuluar. Nëse po përpiqeni të ndani regjistrimin, ju lutemi ndani një kopje teksti në vend të kësaj.\n\nKopjoni regjistrimin në klipbord?",
- "copiedToClipboard": "Regjistrimi është kopjuar në klipbord",
- "noExit": "Instaluesi po punon ende, nuk mund te dalesh..."
- },
- "settingsView": {
- "widgetTitle": "Rregullimet",
- "appearanceSectionTitle": "Pamja",
- "teamSectionTitle": "Skuadra",
- "debugSectionTitle": "Debugim",
- "advancedSectionTitle": "Të përparuarat",
- "exportSectionTitle": "Importo & Eksporto",
- "dataSectionTitle": "Burimet e të dhënave",
- "themeModeLabel": "Tema e aplikacionit",
- "systemThemeLabel": "Sistem",
- "lightThemeLabel": "I lehtë",
- "darkThemeLabel": "I errët",
- "dynamicThemeLabel": "Materiali Ti",
- "dynamicThemeHint": "Shijo një përvojë më të afërt me pajisjen tënde",
- "languageLabel": "Gjuha",
- "languageUpdated": "Gjuha është përditësuar",
- "sourcesLabel": "Burime alternative",
- "sourcesLabelHint": "Konfiguro burimet alternative për Korrigjimet ReVanced",
- "useAlternativeSources": "Përdorni burime alternative",
- "useAlternativeSourcesHint": "Përdorni burime alternative për Korrigjimet ReVanced në vend të API-së",
- "sourcesResetDialogTitle": "Rivendos",
- "sourcesResetDialogText": "A jeni të sigurt që dëshironi të riktheni burimet tuaja në vlerat e tyre të parazgjedhura?",
- "apiURLResetDialogText": "A jeni të sigurt që dëshironi të riktheni URL-në e API-së në vlerën e saj të parazgjedhur?",
- "sourcesUpdateNote": "Shënim: Kjo do të shkarkojë automatikisht Korrigjimet ReVanced nga burimet alternative.\n\nKjo do t'ju lidhi me burimin alternativ.",
- "apiURLLabel": "URL e API-së",
- "apiURLHint": "Konfiguro URL-në e API-së së ReVanced Manager",
- "selectApiURL": "URL e API-së",
- "orgPatchesLabel": "Organizimi i modifikimeve",
- "sourcesPatchesLabel": "Burimi i modifikuesëve",
- "contributorsLabel": "Kontribuesit",
- "contributorsHint": "Lista e kontribuesve të ReVanced",
- "logsLabel": "Ndani regjistrimet",
- "logsHint": "Ndani regjistrimet e ReVanced Manager",
- "enablePatchesSelectionLabel": "Lejo ndryshimin e zgjedhjes së përditësimit",
- "enablePatchesSelectionHint": "Mos e pengo zgjedhjen ose heqjen e zgjedhjes së përditësimeve",
- "enablePatchesSelectionWarningText": "Ndryshimi i zgjedhjes së përditësimeve mund të shkaktojë probleme të papritura.\n\nLejo prapëseprapë?",
- "disablePatchesSelectionWarningText": "Jeni duke u përgatitur për të çaktivizuar ndryshimin e zgjedhjes së përditësimeve.\nZgjedhja e parazgjedhur e përditësimeve do të rivendosetet.\n\nÇaktivizo prapëseprapë?",
- "autoUpdatePatchesLabel": "Përditëso automatikisht përditësimet",
- "autoUpdatePatchesHint": "Përditëso automatikisht përditësimet në versionin e fundit",
- "showUpdateDialogLabel": "Trego dialogun e përditësimit",
- "showUpdateDialogHint": "Trego një dialog kur një përditësim i ri është i disponueshëm",
- "universalPatchesLabel": "Shfaq përditësime universale",
- "universalPatchesHint": "Shfaq të gjitha aplikacionet dhe përditësimet universale (mund të ngadalësojë listën e aplikacioneve)",
- "lastPatchedAppLabel": "Ruaj aplikacionin e korrigjuar",
- "lastPatchedAppHint": "Ruaj korrigjimin e fundit për të instaluar ose eksportuar më vonë",
- "versionCompatibilityCheckLabel": "Kontrolli i përputhshmërisë së versionit",
- "versionCompatibilityCheckHint": "Pengo zgjedhjen e përditësimeve që nuk janë të përputhshme me versionin e aplikacionit të zgjedhur",
- "requireSuggestedAppVersionLabel": "Kërko versionin e sugjeruar të aplikacionit",
- "requireSuggestedAppVersionHint": "Pengo zgjedhjen e një aplikacioni me një version që nuk është i sugjeruar",
- "requireSuggestedAppVersionDialogText": "Zgjedhja e një aplikacioni që nuk është versioni i sugjeruar mund të shkaktojë probleme të papritura.\n\nDëshironi të vazhdoni prapëseprapë?",
- "aboutLabel": "Rreth nesh",
- "snackbarMessage": "U kopjua te kujtesa e fragmenteve",
- "restartAppForChanges": "Rinisni aplikacionin per te aplikuar ndryshimet",
- "deleteTempDirLabel": "Fshi skedaret e perkoheshme",
- "deleteTempDirHint": "Fshije dosje te pa perdorura",
- "deletedTempDir": "Dosjet e perkohshme u fshine",
- "exportSettingsLabel": "Eksporto cilësimet",
- "exportSettingsHint": "Eksporto cilësimet në një skedar JSON",
- "exportedSettings": "Cilësimet e eksportuara",
- "importSettingsLabel": "Importo cilësimet",
- "importSettingsHint": "Importo cilësimet nga një skedar JSON",
- "importedSettings": "Cilësimet e importuara",
- "exportPatchesLabel": "Eksporto zgjedhjen e përditësimit",
- "exportPatchesHint": "Eksporto zgjedhjen e përditësimit në një skedar JSON",
- "exportedPatches": "Zgjedhja e përditësimit është eksportuar",
- "noExportFileFound": "Nuk ka zgjedhje përditësimi për t'u eksportuar",
- "importPatchesLabel": "Importo zgjedhjen e përditësimit",
- "importPatchesHint": "Importo zgjedhjen e përditësimit nga një skedar JSON",
- "importedPatches": "Zgjedhja e përditësimit është importuar",
- "resetStoredPatchesLabel": "Rikthe zgjedhjen e përditësimit",
- "resetStoredPatchesHint": "Rikthe zgjedhjen e ruajtur të përditësimit",
- "resetStoredPatchesDialogTitle": "Rikthe zgjedhjen e përditësimit?",
- "resetStoredPatchesDialogText": "Zgjedhja e parazgjedhur e përditësimeve do të rivendosetet.",
- "resetStoredPatches": "Zgjedhja e përditësimit është rikthyer",
- "resetStoredOptionsLabel": "Rikthe opsionet e përditësimit",
- "resetStoredOptionsHint": "Rikthe të gjitha opsionet e përditësimit",
- "resetStoredOptionsDialogTitle": "Rikthe opsionet e përditësimit?",
- "resetStoredOptionsDialogText": "Rikthimi i opsioneve të përditësimit do të fshijë të gjitha opsionet e ruajtura.",
- "resetStoredOptions": "Opsione janë rikthyer",
- "deleteLogsLabel": "Fshi regjistrimet",
- "deleteLogsHint": "Fshi regjistrimet e mbledhura të ReVanced Manager",
- "deletedLogs": "Regjistrat u fshinë",
- "regenerateKeystoreLabel": "Rishfaq keystore",
- "regenerateKeystoreHint": "Rishfaq keystore-n e përdorur për të nënshkruar aplikacione",
- "regenerateKeystoreDialogTitle": "Rishfaq keystore?",
- "regenerateKeystoreDialogText": "Aplikacionet e përditësuara të nënshkruara me keystore-n e vjetër nuk do të mund të përditësohen më.",
- "regeneratedKeystore": "Keystore është rishfaqur",
- "exportKeystoreLabel": "Eksporto keystore",
- "exportKeystoreHint": "Eksporto keystore-n e përdorur për të nënshkruar aplikacione",
- "exportedKeystore": "Keystore është eksportuar",
- "noKeystoreExportFileFound": "Nuk ka keystore për t'u eksportuar",
- "importKeystoreLabel": "Importo keystore",
- "importKeystoreHint": "Importo një keystore të përdorur për të nënshkruar aplikacione",
- "importedKeystore": "Keystore është importuar",
- "selectKeystorePassword": "Fjalëkalimi i keystore",
- "selectKeystorePasswordHint": "Zgjidh fjalëkalimin e keystore-s të përdorur për të nënshkruar aplikacione",
- "jsonSelectorErrorMessage": "Nuk mund të përdoret skedari i zgjedhur JSON",
- "keystoreSelectorErrorMessage": "Nuk mund të përdoret skedari i keystore-s së zgjedhur"
- },
- "appInfoView": {
- "widgetTitle": "Informacioni i aplikacionit",
- "openButton": "Hape",
- "installButton": "Instalo",
- "uninstallButton": "Ç'instaloje",
- "unmountButton": "Çmontimi",
- "exportButton": "Eksporto",
- "deleteButton": "Fshij",
- "rootDialogTitle": "Gabim",
- "lastPatchedAppDescription": "Ky është një rezervë i aplikacionit që u korrigjua i fundit.",
- "unmountDialogText": "A jeni të sigurt që dëshironi të çmontoni këtë aplikacion?",
- "uninstallDialogText": "A jeni të sigurt që dëshironi të çinstaloni këtë aplikacion?",
- "rootDialogText": "Aplikacioni u instalua me lejet e superpërdoruesit, por aktualisht Menaxheri i ReVanced nuk ka leje.",
- "removeAppDialogTitle": "Fshij aplikacionin?",
- "removeAppDialogText": "A jeni i sigurt që dëshironi të fshini këtë rezervë?",
- "packageNameLabel": "Emri i paketës",
- "installTypeLabel": "Lloji i instalimit\n",
- "mountTypeLabel": "Montimi",
- "regularTypeLabel": "Rregullt",
- "patchedDateLabel": "Data e arnuar",
- "appliedPatchesLabel": "Arna të aplikuara",
- "sizeLabel": "Madhësia e skedarit",
- "patchedDateHint": "${date} më ${time}",
- "appliedPatchesHint": "${quantity} modifikime të aplikuara",
- "updateNotImplemented": "Kjo veçori nuk është zbatuar ende"
- },
- "contributorsView": {
- "widgetTitle": "Kontribuesit"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "Mospërputhje versionesh",
- "mount_no_root": "Pa qasje rrënjësore",
- "mount_missing_installation": "Instalimi nuk u gjet",
- "status_failure_blocked": "Instalimi i bllokuar",
- "install_failed_verification_failure": "Verifikimi dështoi",
- "status_failure_invalid": "Instalimi i pavlefshëm",
- "install_failed_version_downgrade": "Nuk mund të zbresësh nivelin",
- "status_failure_conflict": "Konflikt instalimi",
- "status_failure_storage": "Problem i ruajtjes së instalimit",
- "status_failure_incompatible": "Instalimi i papajtueshëm",
- "status_failure_timeout": "Koha e instalimit ka skaduar",
- "status_unknown": "Instalimi dështoi",
- "mount_version_mismatch_description": "Instalimi dështoi për shkak se aplikacioni i instaluar është një version i ndryshëm nga aplikacioni i korrigjuar.\n\nInstaloni versionin e aplikacionit që po montoni dhe provoni përsëri.",
- "mount_no_root_description": "Instalimi dështoi për shkak se qasja root nuk është dhënë.\n\nJepni qasje root për ReVanced Manager dhe provoni përsëri.",
- "mount_missing_installation_description": "Instalimi dështoi për shkak se aplikacioni i pakorrigjuar nuk është instaluar në këtë pajisje për të montuar mbi të.\n\nInstaloni aplikacionin e pakorrigjuar para montimit dhe provoni përsëri.",
- "status_failure_timeout_description": "Instalimi zuri shumë kohë për të përfunduar.\n\nDëshironi të provoni përsëri?",
- "status_failure_storage_description": "Instalimi dështoi për shkak të hapësirës së pamjaftueshme të ruajtjes.\n\nLirosh pak hapësirë dhe provoni përsëri.",
- "status_failure_invalid_description": "Instalimi dështoi për shkak se aplikacioni i korrigjuar është i pavlefshëm.\n\nHiqni aplikacionin dhe provoni përsëri?",
- "status_failure_incompatible_description": "Aplikacioni është i papajtueshëm me këtë pajisje.\n\nPërdorni një APK që mbështetet nga kjo pajisje dhe provoni përsëri.",
- "status_failure_conflict_description": "Instalimi u pengua nga një instalim ekzistues i aplikacionit.\n\nHiqni aplikacionin e instaluar dhe provoni përsëri?",
- "status_failure_blocked_description": "Instalimi u bllokua nga ${packageName}.\n\nRregulloni cilësimet tuaja të sigurisë dhe provoni përsëri.",
- "install_failed_verification_failure_description": "Instalimi dështoi për shkak të një problemi verifikimi.\n\nRregulloni cilësimet tuaja të sigurisë dhe provoni përsëri.",
- "install_failed_version_downgrade_description": "Instalimi dështoi për shkak se aplikacioni i korrigjuar është një version më i ulët se aplikacioni i instaluar.\n\nHiqni aplikacionin dhe provoni përsëri?",
- "status_unknown_description": "Instalimi dështoi për shkak të një arsyeje të panjohur. Ju lutemi provoni përsëri."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/sr_CS.i18n.json b/assets/i18n/sr_CS.i18n.json
deleted file mode 100755
index 1b6acf10..00000000
--- a/assets/i18n/sr_CS.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "U redu",
- "cancelButton": "Otkaži",
- "dismissButton": "Odbaci",
- "quitButton": "Izađi",
- "updateButton": "Ažuriraj",
- "suggested": "Preporučena verzija: ${version}",
- "yesButton": "Da",
- "noButton": "Ne",
- "warning": "Upozorenje",
- "notice": "Obaveštenje",
- "noShowAgain": "Ne prikazuj ponovo",
- "add": "Dodaj",
- "remove": "Ukloni",
- "showChangelogButton": "Prikaži evidenciju promena",
- "showUpdateButton": "Prikaži ažuriranje",
- "navigationView": {
- "dashboardTab": "Kontrolna tabla",
- "patcherTab": "Pečer",
- "settingsTab": "Podešavanja"
- },
- "homeView": {
- "refreshSuccess": "Uspešno osveženo",
- "widgetTitle": "Kontrolna tabla",
- "updatesSubtitle": "Ažuriranja",
- "lastPatchedAppSubtitle": "Poslednja pečovana aplikacija",
- "patchedSubtitle": "Instalirane aplikacije",
- "changeLaterSubtitle": "Ovo možete kasnije da promenite u podešavanjima.",
- "noSavedAppFound": "Nije pronađena nijedna aplikacija",
- "noInstallations": "Nema instaliranih pečovanih aplikacija",
- "installUpdate": "Nastaviti sa instalacijom ažuriranja?",
- "updateSheetTitle": "Ažuriranje ReVanced Managera",
- "updateDialogTitle": "Dostupno je novo ažuriranje",
- "updatePatchesSheetTitle": "Ažuriranje ReVanced pečeva",
- "updateChangelogTitle": "Evidencija promena",
- "updateDialogText": "Dostupno je novo ažuriranje na ${file}.\n\nInstalirana verzija je ${version}.",
- "downloadConsentDialogTitle": "Preuzeti neophodne fajlove?",
- "downloadConsentDialogText": "ReVanced Manager mora da preuzme neophodne fajlove da bi ispravno radio.",
- "downloadConsentDialogText2": "Bićete povezani sa ${url}.",
- "downloadingMessage": "Preuzimanje ažuriranja…",
- "downloadedMessage": "Ažuriranje je preuzeto",
- "installingMessage": "Instaliranje ažuriranja…",
- "errorDownloadMessage": "Nije moguće preuzeti ažuriranje",
- "errorInstallMessage": "Nije moguće instalirati ažuriranje",
- "noConnection": "Nema internet veze"
- },
- "applicationItem": {
- "infoButton": "Informacije"
- },
- "latestCommitCard": {
- "loadingLabel": "Učitavanje…",
- "timeagoLabel": "pre ${time}"
- },
- "patcherView": {
- "widgetTitle": "Pečer",
- "patchButton": "Pečuj",
- "incompatibleArchWarningDialogText": "Pečovanje na ovoj arhitekturi još uvek nije podržano i možda neće uspeti. Ipak nastaviti?",
- "removedPatchesWarningDialogText": "Uklonjeni pečevi od poslednjeg puta kada ste pečovali ovu aplikaciju:\n\n${patches}\n\n${newPatches}Ipak nastaviti?",
- "addedPatchesDialogText": "Dodati pečevi od poslednjeg puta kada ste pečovali ovu aplikaciju:\n\n${addedPatches}",
- "requiredOptionDialogText": "Neke opcije moraju biti izabrane."
- },
- "appSelectorCard": {
- "widgetTitle": "Izaberi aplikaciju",
- "widgetTitleSelected": "Izabrana aplikacija",
- "widgetSubtitle": "Nije izabrana nijedna aplikacija",
- "noAppsLabel": "Nijedna aplikacija nije pronađena",
- "anyVersion": "sve verzije"
- },
- "patchSelectorCard": {
- "widgetTitle": "Izaberi pečeve",
- "widgetTitleSelected": "Izabrani pečevi",
- "widgetSubtitle": "Prvo izaberite aplikaciju",
- "widgetEmptySubtitle": "Nema izabranih pečeva"
- },
- "socialMediaCard": {
- "widgetTitle": "Društvene mreže",
- "widgetSubtitle": "Onlajn smo!"
- },
- "appSelectorView": {
- "viewTitle": "Izaberite aplikaciju",
- "searchBarHint": "Pretražite aplikaciju",
- "storageButton": "Memorija",
- "selectFromStorageButton": "Izaberi iz memorije",
- "errorMessage": "Nije moguće koristiti izabranu aplikaciju",
- "downloadToast": "Preuzimanje trenutno nije dostupno",
- "requireSuggestedAppVersionDialogText": "Verzija aplikacije koju ste izabrali nije preporučena, što može dovesti do neočekivanih problema. Izaberite preporučenu verziju.\n\nIzabrana verzija: v${selected}\nPreporučena verzija: v${suggested}\n\nDa biste ipak nastavili, onemogućite opciju „Zahtevaj preporučenu verziju aplikacije” u podešavanjima.",
- "featureNotAvailable": "Funkcija nije implementirana",
- "featureNotAvailableText": "Ova aplikacija je podeljeni APK i može se pouzdano pečovati i instalirati samo montiranjem sa root dozvolama. Međutim, možete da pečujete i instalirate potpuni APK tako što ćete ga izabrati iz memorije."
- },
- "patchesSelectorView": {
- "viewTitle": "Izaberite pečeve",
- "searchBarHint": "Pretražite pečeve",
- "universalPatches": "Univerzalni pečevi",
- "newPatches": "Novi pečevi",
- "patches": "Pečevi",
- "doneButton": "Gotovo",
- "defaultChip": "Podrazumevani",
- "defaultTooltip": "Izaberi sve podrazumevane pečeve",
- "noneChip": "Nijedan",
- "noneTooltip": "Poništi izbor svih pečeva",
- "loadPatchesSelection": "Učitaj izbor pečeva",
- "noSavedPatches": "Za izabranu aplikaciju nema sačuvanog izbora pečeva.\nDodirnite „Gotovo” da biste sačuvali trenutni izbor.",
- "noPatchesFound": "Za izabranu aplikaciju nije pronađen nijedan peč",
- "setRequiredOption": "Za neke pečeve je potreban izbor opcija:\n\n${patches}\n\nIzaberite ih pre nego što nastavite."
- },
- "patchOptionsView": {
- "customValue": "Prilagođena vrednost",
- "setToNull": "Postavi na nulu",
- "nullValue": "Vrednost ove opcije je trenutno nula",
- "viewTitle": "Opcije peča",
- "saveOptions": "Sačuvaj",
- "unselectPatch": "Poništi izbor peča",
- "tooltip": "Više ulaznih parametara",
- "selectFilePath": "Izaberi putanju fajla",
- "selectFolder": "Izaberi folder",
- "requiredOption": "Ova opcija je obavezna",
- "unsupportedOption": "Ova opcija nije podržana",
- "requiredOptionNull": "Potrebno je izabrati sledeće opcije:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "Izborom ovog peča može doći do grešaka prilikom pečovanja.\n\nVerzija aplikacije: ${packageVersion}\nPodržane verzije:\n${supportedVersions}",
- "unsupportedPatchVersion": "Peč se ne može primeniti na ovu verziju aplikacije.",
- "unsupportedRequiredOption": "Ovaj peč sadrži obaveznu opciju koju ova aplikacija ne podržava",
- "patchesChangeWarningDialogText": "Preporučuje se da koristite podrazumevani izbor i opcije pečeva. Njihova promena može dovesti do neočekivanih problema.\n\nMoraćete da uključite „Dozvoli promenu izbora pečeva” u podešavanjima pre nego što promenite bilo koji izbor pečeva.",
- "patchesChangeWarningDialogButton": "Koristi podrazumevani izbor"
- },
- "installerView": {
- "installType": "Izbor tipa instalacije",
- "installTypeDescription": "Izaberite tip instalacije da biste nastavili.",
- "installButton": "Instaliraj",
- "installRootType": "Privilegovana",
- "installNonRootType": "Uobičajena",
- "warning": "Onemogućite automatska ažuriranja za pečovanu aplikaciju da biste izbegli neočekivane probleme.",
- "pressBackAgain": "Pritisnite ponovo da biste otkazali",
- "openButton": "Otvori",
- "notificationTitle": "ReVanced Manager pečuje",
- "notificationText": "Dodirnite da biste se vratili na program za instalaciju",
- "exportApkButtonTooltip": "Izvezi pečovani APK",
- "exportLogButtonTooltip": "Izvezi evidenciju",
- "screenshotDetected": "Otkriven je snimak ekrana. Ako želite da delite evidenciju, umesto toga pošaljite tekst.\n\nKopirati evidenciju u privremenu memoriju?",
- "copiedToClipboard": "Evidencija je kopirana u privremenu memoriju",
- "noExit": "Instalacija je u toku, nije moguće izaći…"
- },
- "settingsView": {
- "widgetTitle": "Podešavanja",
- "appearanceSectionTitle": "Izgled",
- "teamSectionTitle": "Tim",
- "debugSectionTitle": "Otklanjanje grešaka",
- "advancedSectionTitle": "Napredno",
- "exportSectionTitle": "Uvoz i izvoz",
- "dataSectionTitle": "Izvori podataka",
- "themeModeLabel": "Tema",
- "systemThemeLabel": "Sistemska",
- "lightThemeLabel": "Svetla",
- "darkThemeLabel": "Tamna",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "Uživajte u temi koja se prilagođava vašem uređaju",
- "languageLabel": "Jezik",
- "languageUpdated": "Jezik je promenjen",
- "sourcesLabel": "Alternativni izvori",
- "sourcesLabelHint": "Podesite alternativne izvore za ReVanced pečeve",
- "useAlternativeSources": "Koristi alternativne izvore",
- "useAlternativeSourcesHint": "Koristite alternativne izvore za ReVanced pečeve umesto API-ja",
- "sourcesResetDialogTitle": "Resetovanje",
- "sourcesResetDialogText": "Želite li zaista da vratite izvore na podrazumevane vrednosti?",
- "apiURLResetDialogText": "Želite li zaista da vratite URL API-ja na podrazumevanu vrednost?",
- "sourcesUpdateNote": "Napomena: Ovo će automatski preuzeti ReVanced pečeve iz alternativnih izvora.\n\nBićete povezani sa alternativnim izvorom.",
- "apiURLLabel": "URL API-ja",
- "apiURLHint": "Podesite URL API-ja za ReVanced Manager",
- "selectApiURL": "URL API-ja",
- "orgPatchesLabel": "Organizacija za pečeve",
- "sourcesPatchesLabel": "Izvor pečeva",
- "contributorsLabel": "Saradnici",
- "contributorsHint": "Lista saradnika na ReVancedu",
- "logsLabel": "Deli evidencije",
- "logsHint": "Delite evidencije ReVanced Managera",
- "enablePatchesSelectionLabel": "Dozvoli promenu izbora pečeva",
- "enablePatchesSelectionHint": "Ne sprečava izbor ili poništavanje izbora pečeva",
- "enablePatchesSelectionWarningText": "Promena izbora pečeva može izazvati neočekivane probleme.\n\nIpak omogućiti?",
- "disablePatchesSelectionWarningText": "Upravo ćete da onemogućite promenu izbora pečeva.\nPodrazumevani izbor pečeva će biti vraćen.\n\nIpak onemogućiti?",
- "autoUpdatePatchesLabel": "Automatski ažuriraj pečeve",
- "autoUpdatePatchesHint": "Instalira najnoviju verziju pečeva automatski",
- "showUpdateDialogLabel": "Prikaži dijalog o ažuriranju",
- "showUpdateDialogHint": "Prikazivanje dijaloga kada je novo ažuriranje dostupno",
- "universalPatchesLabel": "Prikaži univerzalne pečeve",
- "universalPatchesHint": "Prikazuje sve aplikacije i univerzalne pečeve (može da uspori listu aplikacija)",
- "lastPatchedAppLabel": "Sačuvaj pečovanu aplikaciju",
- "lastPatchedAppHint": "Sačuvajte poslednji peč da biste ga kasnije instalirali ili izvezli",
- "versionCompatibilityCheckLabel": "Provera kompatibilnosti verzije",
- "versionCompatibilityCheckHint": "Sprečava izbor pečeva koji nisu kompatibilni sa izabranom verzijom aplikacije",
- "requireSuggestedAppVersionLabel": "Zahtevaj preporučenu verziju aplikacije",
- "requireSuggestedAppVersionHint": "Sprečava izbor verzije aplikacije koja nije preporučena",
- "requireSuggestedAppVersionDialogText": "Izbor aplikacije koja nije preporučena može izazvati neočekivane probleme.\n\nŽelite li ipak da nastavite?",
- "aboutLabel": "O aplikaciji",
- "snackbarMessage": "Kopirano u privremenu memoriju",
- "restartAppForChanges": "Ponovo pokrenite aplikaciju kako bi promene stupile na snagu",
- "deleteTempDirLabel": "Izbriši privremene fajlove",
- "deleteTempDirHint": "Izbrišite nekorišćene privremene fajlove",
- "deletedTempDir": "Privremeni fajlovi su izbrisani",
- "exportSettingsLabel": "Izvezi podešavanja",
- "exportSettingsHint": "Izvezite podešavanja u JSON fajl",
- "exportedSettings": "Podešavanja su izvezena",
- "importSettingsLabel": "Uvezi podešavanja",
- "importSettingsHint": "Uvezite podešavanja iz JSON fajla",
- "importedSettings": "Podešavanja su uvezena",
- "exportPatchesLabel": "Izvezi izbor pečeva",
- "exportPatchesHint": "Izvezite izbor pečeva u JSON fajl",
- "exportedPatches": "Izbor pečeva je izvezen",
- "noExportFileFound": "Nema izbora pečeva za izvoz",
- "importPatchesLabel": "Uvezi izbor pečeva",
- "importPatchesHint": "Uvezite izbor pečeva iz JSON fajla",
- "importedPatches": "Izbor pečeva je uvezen",
- "resetStoredPatchesLabel": "Resetuj izbor pečeva",
- "resetStoredPatchesHint": "Resetujte sačuvani izbor pečeva",
- "resetStoredPatchesDialogTitle": "Resetovati izbor pečeva?",
- "resetStoredPatchesDialogText": "Podrazumevani izbor pečeva će biti vraćen.",
- "resetStoredPatches": "Izbor pečeva je resetovan",
- "resetStoredOptionsLabel": "Resetuj opcije pečeva",
- "resetStoredOptionsHint": "Resetujte sve opcije pečeva",
- "resetStoredOptionsDialogTitle": "Resetovati opcije pečeva?",
- "resetStoredOptionsDialogText": "Resetovanjem opcija pečeva uklanjate sve sačuvane opcije.",
- "resetStoredOptions": "Opcije su resetovane",
- "deleteLogsLabel": "Izbriši evidencije",
- "deleteLogsHint": "Izbrišite prikupljene evidencije ReVanced Managera",
- "deletedLogs": "Evidencije su izbrisane",
- "regenerateKeystoreLabel": "Generiši novo skladište ključeva",
- "regenerateKeystoreHint": "Generišite novo skladište ključeva koje se koristi za potpisivanje aplikacija",
- "regenerateKeystoreDialogTitle": "Generisati novo skladište ključeva?",
- "regenerateKeystoreDialogText": "Pečovane aplikacije potpisane starim skladištem ključeva više neće moći da se ažuriraju.",
- "regeneratedKeystore": "Novo skladište ključeva je generisano",
- "exportKeystoreLabel": "Izvezi skladište ključeva",
- "exportKeystoreHint": "Izvezite skladište ključeva koje se koristi za potpisivanje aplikacija",
- "exportedKeystore": "Skladište ključeva je izvezeno",
- "noKeystoreExportFileFound": "Nema skladišta ključeva za izvoz",
- "importKeystoreLabel": "Uvezi skladište ključeva",
- "importKeystoreHint": "Uvezite skladište ključeva koje se koristi za potpisivanje aplikacija",
- "importedKeystore": "Skladište ključeva je uvezeno",
- "selectKeystorePassword": "Lozinka skladišta ključeva",
- "selectKeystorePasswordHint": "Izaberite lozinku skladišta ključeva koje se koristi za potpisivanje aplikacija",
- "jsonSelectorErrorMessage": "Nije moguće koristiti izabrani JSON fajl",
- "keystoreSelectorErrorMessage": "Nije moguće koristiti izabrani fajl skladišta ključeva"
- },
- "appInfoView": {
- "widgetTitle": "O aplikaciji",
- "openButton": "Otvori",
- "installButton": "Instaliraj",
- "uninstallButton": "Deinstaliraj",
- "unmountButton": "Demontiraj",
- "exportButton": "Izvezi",
- "deleteButton": "Izbriši",
- "rootDialogTitle": "Greška",
- "lastPatchedAppDescription": "Ovo je rezervna kopija aplikacije koja je poslednja pečovana.",
- "unmountDialogText": "Želite li zaista da demontirate ovu aplikaciju?",
- "uninstallDialogText": "Želite li zaista da deinstalirate ovu aplikaciju?",
- "rootDialogText": "Aplikacija je instalirana sa dozvolama superkorisnika, ali trenutno ReVanced Manager nema dozvole.\nPrvo dodelite dozvole superkorisnika.",
- "removeAppDialogTitle": "Izbrisati aplikaciju?",
- "removeAppDialogText": "Želite li zaista da izbrišete ovu rezervnu kopiju?",
- "packageNameLabel": "Naziv paketa",
- "installTypeLabel": "Tip instalacije",
- "mountTypeLabel": "Privilegovana",
- "regularTypeLabel": "Uobičajena",
- "patchedDateLabel": "Datum pečovanja",
- "appliedPatchesLabel": "Primenjeni pečevi",
- "sizeLabel": "Veličina fajla",
- "patchedDateHint": "${date} u ${time}",
- "appliedPatchesHint": "Primenjenih pečeva: ${quantity}",
- "updateNotImplemented": "Ova funkcija još uvek nije implementirana"
- },
- "contributorsView": {
- "widgetTitle": "Saradnici"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "Neodgovarajuća verzija",
- "mount_no_root": "Nema root pristupa",
- "mount_missing_installation": "Instalacija nije pronađena",
- "status_failure_blocked": "Instalacija je blokirana",
- "install_failed_verification_failure": "Verifikacija nije uspela",
- "status_failure_invalid": "Nevažeća instalacija",
- "install_failed_version_downgrade": "Nije moguće sniziti verziju",
- "status_failure_conflict": "Konflikt pri instalaciji",
- "status_failure_storage": "Problem sa memorijom pri instalaciji",
- "status_failure_incompatible": "Instalacija nije kompatibilna",
- "status_failure_timeout": "Vremensko ograničenje instalacije je isteklo",
- "status_unknown": "Instalacija nije uspela",
- "mount_version_mismatch_description": "Instalacija nije uspela jer se verzija instalirane aplikacije razlikuje od pečovane.\n\nInstalirajte verziju aplikacije koju montirate i pokušajte ponovo.",
- "mount_no_root_description": "Instalacija nije uspela jer nije dodeljen root pristup.\n\nDodelite ga ReVanced Manageru i pokušajte ponovo.",
- "mount_missing_installation_description": "Instalacija nije uspela zbog odsustva nepečovane aplikacije.\n\nInstalirajte je pre montiranja i pokušajte ponovo.",
- "status_failure_timeout_description": "Instalacija traje predugo.\n\nŽelite li da pokušate ponovo?",
- "status_failure_storage_description": "Instalacija nije uspela zbog nedostatka memorijskog prostora.\n\nOslobodite prostora i pokušajte ponovo.",
- "status_failure_invalid_description": "Instalacija nije uspela jer je pečovana aplikacija nevažeća.\n\nDeinstalirati aplikaciju i pokušati ponovo?",
- "status_failure_incompatible_description": "Aplikacija nije kompatibilna sa ovim uređajem.\n\nKoristite APK koji podržava ovaj uređaj i pokušajte ponovo.\n\n",
- "status_failure_conflict_description": "Instalacija je sprečena usled postojeće instalacije.\n\nDeinstalirati instaliranu aplikaciju i pokušati ponovo?",
- "status_failure_blocked_description": "Instalaciju je blokirala aplikacija ${packageName}.\n\nPodesite bezbednosna podešavanja i pokušajte ponovo.",
- "install_failed_verification_failure_description": "Instalacija nije uspela zbog problema sa verifikacijom.\n\nPodesite bezbednosna podešavanja i pokušajte ponovo.",
- "install_failed_version_downgrade_description": "Instalacija nije uspela jer je verzija pečovane aplikacije niža od instalirane.\n\nDeinstalirati aplikaciju i pokušati ponovo?",
- "status_unknown_description": "Instalacija nije uspela iz nepoznatog razloga. Pokušajte ponovo."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/sr_SP.i18n.json b/assets/i18n/sr_SP.i18n.json
deleted file mode 100755
index f6cbbe15..00000000
--- a/assets/i18n/sr_SP.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "У реду",
- "cancelButton": "Откажи",
- "dismissButton": "Одбаци",
- "quitButton": "Изађи",
- "updateButton": "Ажурирај",
- "suggested": "Препоручена верзија: ${version}",
- "yesButton": "Да",
- "noButton": "Не",
- "warning": "Упозорење",
- "notice": "Обавештење",
- "noShowAgain": "Не приказуј поново",
- "add": "Додај",
- "remove": "Уклони",
- "showChangelogButton": "Прикажи евиденцију промена",
- "showUpdateButton": "Прикажи ажурирање",
- "navigationView": {
- "dashboardTab": "Контролна табла",
- "patcherTab": "Печер",
- "settingsTab": "Подешавања"
- },
- "homeView": {
- "refreshSuccess": "Успешно освежено",
- "widgetTitle": "Контролна табла",
- "updatesSubtitle": "Ажурирања",
- "lastPatchedAppSubtitle": "Последња печована апликација",
- "patchedSubtitle": "Инсталиране апликације",
- "changeLaterSubtitle": "Ово можете касније да промените у подешавањима.",
- "noSavedAppFound": "Није пронађена ниједна апликација",
- "noInstallations": "Нема инсталираних печованих апликација",
- "installUpdate": "Наставити са инсталацијом ажурирања?",
- "updateSheetTitle": "Ажурирање ReVanced Manager-а",
- "updateDialogTitle": "Доступно је ново ажурирање",
- "updatePatchesSheetTitle": "Ажурирање ReVanced печева",
- "updateChangelogTitle": "Евиденција промена",
- "updateDialogText": "Доступно је ново ажурирање за ${file}.\n\nИнсталирана верзија је ${version}.",
- "downloadConsentDialogTitle": "Преузети неопходне фајлове?",
- "downloadConsentDialogText": "ReVanced Manager мора да преузме неопходне фајлове да би исправно радио.",
- "downloadConsentDialogText2": "Бићете повезани са ${url}.",
- "downloadingMessage": "Преузимање ажурирања…",
- "downloadedMessage": "Ажурирање је преузето",
- "installingMessage": "Инсталирање ажурирања…",
- "errorDownloadMessage": "Није могуће преузети ажурирање",
- "errorInstallMessage": "Није могуће инсталирати ажурирање",
- "noConnection": "Нема интернет везе"
- },
- "applicationItem": {
- "infoButton": "Информације"
- },
- "latestCommitCard": {
- "loadingLabel": "Учитавање…",
- "timeagoLabel": "пре ${time}"
- },
- "patcherView": {
- "widgetTitle": "Печер",
- "patchButton": "Печуј",
- "incompatibleArchWarningDialogText": "Печовање на овој архитектури још увек није подржано и можда неће успети. Ипак наставити?",
- "removedPatchesWarningDialogText": "Уклоњени печеви од последњег пута када сте печовали ову апликацију:\n\n${patches}\n\n${newPatches}Ипак наставити?",
- "addedPatchesDialogText": "Додати печеви од последњег пута када сте печовали ову апликацију:\n\n${addedPatches}",
- "requiredOptionDialogText": "Неке опције морају бити изабране."
- },
- "appSelectorCard": {
- "widgetTitle": "Изаберите апликацију",
- "widgetTitleSelected": "Изабрана апликација",
- "widgetSubtitle": "Није изабрана ниједна апликација",
- "noAppsLabel": "Ниједна апликација није пронађена",
- "anyVersion": "све верзије"
- },
- "patchSelectorCard": {
- "widgetTitle": "Изаберите печеве",
- "widgetTitleSelected": "Изабрани печеви",
- "widgetSubtitle": "Прво изаберите апликацију",
- "widgetEmptySubtitle": "Нема изабраних печева"
- },
- "socialMediaCard": {
- "widgetTitle": "Друштвене мреже",
- "widgetSubtitle": "Онлајн смо!"
- },
- "appSelectorView": {
- "viewTitle": "Изаберите апликацију",
- "searchBarHint": "Претражите апликацију",
- "storageButton": "Из меморије",
- "selectFromStorageButton": "Изабери из меморије",
- "errorMessage": "Није могуће користити изабрану апликацију",
- "downloadToast": "Преузимање тренутно није доступно",
- "requireSuggestedAppVersionDialogText": "Верзија апликације коју сте изабрали није препоручена, што може довести до неочекиваних проблема. Изаберите препоручену верзију.\n\nИзабрана верзија: ${selected}\nПрепоручена верзија: ${suggested}\n\nДа бисте ипак наставили, онемогућите опцију „Захтевај препоручену верзију апликације” у подешавањима.",
- "featureNotAvailable": "Функција није имплементирана",
- "featureNotAvailableText": "Ова апликација је подељени APK и може се поуздано печовати и инсталирати само монтирањем са root дозволама. Међутим, можете да печујете и инсталирате потпуни APK тако што ћете га изабрати из меморије."
- },
- "patchesSelectorView": {
- "viewTitle": "Изаберите печеве",
- "searchBarHint": "Претражите печеве",
- "universalPatches": "Универзални печеви",
- "newPatches": "Нови печеви",
- "patches": "Печеви",
- "doneButton": "Готово",
- "defaultChip": "Подразумевани",
- "defaultTooltip": "Изабери све подразумеване печеве",
- "noneChip": "Ниједан",
- "noneTooltip": "Поништи избор свих печева",
- "loadPatchesSelection": "Учитај избор печева",
- "noSavedPatches": "За изабрану апликацију нема сачуваног избора печева.\nДодирните „Готово” да бисте сачували тренутни избор.",
- "noPatchesFound": "За изабрану апликацију није пронађен ниједан печ",
- "setRequiredOption": "За неке печеве је потребан избор опција: \n\n${patches}\n\nИзаберите их пре него што наставите."
- },
- "patchOptionsView": {
- "customValue": "Прилагођена вредност",
- "setToNull": "Постави на нулу",
- "nullValue": "Вредност ове опције је тренутно нула",
- "viewTitle": "Опције печа",
- "saveOptions": "Сачувај",
- "unselectPatch": "Поништи избор печа",
- "tooltip": "Више улазних параметара",
- "selectFilePath": "Изабери путању фајла",
- "selectFolder": "Изабери фолдер",
- "requiredOption": "Ова опција је обавезна",
- "unsupportedOption": "Ова опција није подржана",
- "requiredOptionNull": "Потребно је изабрати следеће опције:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "Избором овог печа може доћи до грешака приликом печовања.\n\nВерзија апликације: ${packageVersion}\nПодржане верзије:\n${supportedVersions}",
- "unsupportedPatchVersion": "Печ се не може применити на ову верзију апликације.",
- "unsupportedRequiredOption": "Овај печ садржи обавезну опцију коју ова апликација не подржава",
- "patchesChangeWarningDialogText": "Препоручује се да користите подразумевани избор и опције печева. Њихова промена може довести до неочекиваних проблема.\n\nМораћете да укључите „Дозволи промену избора печева” у подешавањима пре него што промените било који избор печева.",
- "patchesChangeWarningDialogButton": "Користи подразумевани избор"
- },
- "installerView": {
- "installType": "Избор типа инсталације",
- "installTypeDescription": "Изаберите тип инсталације да бисте наставили.",
- "installButton": "Инсталирај",
- "installRootType": "Привилегована",
- "installNonRootType": "Уобичајена",
- "warning": "Онемогућите аутоматска ажурирања за печовану апликацију да бисте избегли неочекиване проблеме.",
- "pressBackAgain": "Притисните поново да бисте отказали",
- "openButton": "Отвори",
- "notificationTitle": "ReVanced Manager печује",
- "notificationText": "Додирните да бисте се вратили на програм за инсталацију",
- "exportApkButtonTooltip": "Извези печовани APK",
- "exportLogButtonTooltip": "Извези евиденцију",
- "screenshotDetected": "Откривен је снимак екрана. Ако желите да делите евиденцију, уместо тога пошаљите текст.\n\nКопирати евиденцију у привремену меморију?",
- "copiedToClipboard": "Евиденција је копирана у привремену меморију",
- "noExit": "Инсталација је у току, није могуће изаћи…"
- },
- "settingsView": {
- "widgetTitle": "Подешавања",
- "appearanceSectionTitle": "Изглед",
- "teamSectionTitle": "Тим",
- "debugSectionTitle": "Отклањање грешака",
- "advancedSectionTitle": "Напредно",
- "exportSectionTitle": "Увоз и извоз",
- "dataSectionTitle": "Извори података",
- "themeModeLabel": "Тема",
- "systemThemeLabel": "Системска",
- "lightThemeLabel": "Светла",
- "darkThemeLabel": "Тамна",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "Уживајте у теми која се прилагођава вашем уређају",
- "languageLabel": "Језик",
- "languageUpdated": "Језик је промењен",
- "sourcesLabel": "Алтернативни извори",
- "sourcesLabelHint": "Подесите алтернативне изворе за ReVanced печеве",
- "useAlternativeSources": "Користи алтернативне изворе",
- "useAlternativeSourcesHint": "Користите алтернативне изворе за ReVanced печеве уместо API-ја",
- "sourcesResetDialogTitle": "Ресетовање",
- "sourcesResetDialogText": "Желите ли заиста да вратите изворе на подразумеване вредности?",
- "apiURLResetDialogText": "Желите ли заиста да вратите URL API-ја на подразумевану вредност?",
- "sourcesUpdateNote": "Напомена: Ово ће аутоматски преузети ReVanced печеве из алтернативних извора.\n\nБићете повезани са алтернативним извором.",
- "apiURLLabel": "URL API-ја",
- "apiURLHint": "Подесите URL API-ја за ReVanced Manager",
- "selectApiURL": "URL API-ја",
- "orgPatchesLabel": "Организација за печеве",
- "sourcesPatchesLabel": "Извор печева",
- "contributorsLabel": "Сарадници",
- "contributorsHint": "Листа сарадника на ReVanced-у",
- "logsLabel": "Дели евиденције",
- "logsHint": "Делите евиденције ReVanced Manager-а",
- "enablePatchesSelectionLabel": "Дозволи промену избора печева",
- "enablePatchesSelectionHint": "Не спречава избор или поништавање избора печева",
- "enablePatchesSelectionWarningText": "Промена избора печева може изазвати неочекиване проблеме.\n\nИпак омогућити?",
- "disablePatchesSelectionWarningText": "Управо ћете да онемогућите промену избора печева.\nПодразумевани избор печева ће бити враћен.\n\nИпак онемогућити?",
- "autoUpdatePatchesLabel": "Аутоматски ажурирај печеве",
- "autoUpdatePatchesHint": "Инсталира најновију верзију печева аутоматски",
- "showUpdateDialogLabel": "Прикажи дијалог о ажурирању",
- "showUpdateDialogHint": "Приказивање дијалога када је ново ажурирање доступно",
- "universalPatchesLabel": "Прикажи универзалне печеве",
- "universalPatchesHint": "Приказује све апликације и универзалне печеве (може да успори листу апликација)",
- "lastPatchedAppLabel": "Сачувај печовану апликацију",
- "lastPatchedAppHint": "Сачувајте последњи печ да бисте га касније инсталирали или извезли",
- "versionCompatibilityCheckLabel": "Провера компатибилности верзије",
- "versionCompatibilityCheckHint": "Спречава избор печева који нису компатибилни са изабраном верзијом апликације",
- "requireSuggestedAppVersionLabel": "Захтевај препоручену верзију апликације",
- "requireSuggestedAppVersionHint": "Спречава избор верзије апликације која није препоручена",
- "requireSuggestedAppVersionDialogText": "Избором верзије апликације која није препоручена може доћи до неочекиваних проблема.\n\nЖелите ли ипак да наставите?",
- "aboutLabel": "О апликацији",
- "snackbarMessage": "Копирано у привремену меморију",
- "restartAppForChanges": "Поново покрените апликацију како би промене ступиле на снагу",
- "deleteTempDirLabel": "Избриши привремене фајлове",
- "deleteTempDirHint": "Избришите некоришћене привремене фајлове",
- "deletedTempDir": "Привремени фајлови су избрисани",
- "exportSettingsLabel": "Извези подешавања",
- "exportSettingsHint": "Извезите подешавања у JSON фајл",
- "exportedSettings": "Подешавања су извезена",
- "importSettingsLabel": "Увези подешавања",
- "importSettingsHint": "Увезите подешавања из JSON фајла",
- "importedSettings": "Подешавања су увезена",
- "exportPatchesLabel": "Извези избор печева",
- "exportPatchesHint": "Извезите избор печева у JSON фајл",
- "exportedPatches": "Избор печева је извезен",
- "noExportFileFound": "Нема избора печева за извоз",
- "importPatchesLabel": "Увези избор печева",
- "importPatchesHint": "Увезите избор печева из JSON фајла",
- "importedPatches": "Избор печева је увезен",
- "resetStoredPatchesLabel": "Ресетуј избор печева",
- "resetStoredPatchesHint": "Ресетујте сачувани избор печева",
- "resetStoredPatchesDialogTitle": "Ресетовати избор печева?",
- "resetStoredPatchesDialogText": "Подразумевани избор печева ће бити враћен.",
- "resetStoredPatches": "Избор печева је ресетован",
- "resetStoredOptionsLabel": "Ресетуј опције печева",
- "resetStoredOptionsHint": "Ресетујте све опције печева",
- "resetStoredOptionsDialogTitle": "Ресетовати опције печева?",
- "resetStoredOptionsDialogText": "Ресетовањем опција печева уклањате све сачуване опције.",
- "resetStoredOptions": "Опције су ресетоване",
- "deleteLogsLabel": "Избриши евиденције",
- "deleteLogsHint": "Избришите прикупљене евиденције ReVanced Manager-а",
- "deletedLogs": "Евиденције су избрисане",
- "regenerateKeystoreLabel": "Генериши ново складиште кључева",
- "regenerateKeystoreHint": "Генеришите ново складиште кључева које се користи за потписивање апликација",
- "regenerateKeystoreDialogTitle": "Генерисати ново складиште кључева?",
- "regenerateKeystoreDialogText": "Печоване апликације потписане старим складиштем кључева више неће моћи да се ажурирају.",
- "regeneratedKeystore": "Ново складиште кључева је генерисано",
- "exportKeystoreLabel": "Извези складиште кључева",
- "exportKeystoreHint": "Извезите складиште кључева које се користи за потписивање апликација",
- "exportedKeystore": "Складиште кључева је извезено",
- "noKeystoreExportFileFound": "Нема складишта кључева за извоз",
- "importKeystoreLabel": "Увези складиште кључева",
- "importKeystoreHint": "Увезите складиште кључева које се користи за потписивање апликација",
- "importedKeystore": "Складиште кључева је увезено",
- "selectKeystorePassword": "Лозинка складишта кључева",
- "selectKeystorePasswordHint": "Изаберите лозинку складишта кључева које се користи за потписивање апликација",
- "jsonSelectorErrorMessage": "Није могуће користити изабрани JSON фајл",
- "keystoreSelectorErrorMessage": "Није могуће користити изабрани фајл складишта кључева"
- },
- "appInfoView": {
- "widgetTitle": "Информације о апликацији",
- "openButton": "Отвори",
- "installButton": "Инсталирај",
- "uninstallButton": "Деинсталирај",
- "unmountButton": "Демонтирај",
- "exportButton": "Извези",
- "deleteButton": "Избриши",
- "rootDialogTitle": "Грешка",
- "lastPatchedAppDescription": "Ово је резервна копија апликације која је последња печована.",
- "unmountDialogText": "Желите ли заиста да демонтирате ову апликацију?",
- "uninstallDialogText": "Желите ли заиста да деинсталирате ову апликацију?",
- "rootDialogText": "Апликација је инсталирана са дозволама суперкорисника, али тренутно ReVanced Manager нема дозволе.\nПрво доделите дозволе суперкорисника.",
- "removeAppDialogTitle": "Избрисати апликацију?",
- "removeAppDialogText": "Желите ли заиста да избришете ову резервну копију?",
- "packageNameLabel": "Назив пакета",
- "installTypeLabel": "Тип инсталације",
- "mountTypeLabel": "Привилегована",
- "regularTypeLabel": "Уобичајена",
- "patchedDateLabel": "Датум печовања",
- "appliedPatchesLabel": "Примењени печеви",
- "sizeLabel": "Величина фајла",
- "patchedDateHint": "${date} у ${time}",
- "appliedPatchesHint": "Примењених печева: ${quantity}",
- "updateNotImplemented": "Ова функција још увек није имплементирана"
- },
- "contributorsView": {
- "widgetTitle": "Сарадници"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "Неодговарајућа верзија",
- "mount_no_root": "Нема root приступа",
- "mount_missing_installation": "Инсталација није пронађена",
- "status_failure_blocked": "Инсталација је блокирана",
- "install_failed_verification_failure": "Верификација није успела",
- "status_failure_invalid": "Неважећа инсталација",
- "install_failed_version_downgrade": "Није могуће снизити верзију",
- "status_failure_conflict": "Конфликт при инсталацији",
- "status_failure_storage": "Проблем са меморијом при инсталацији",
- "status_failure_incompatible": "Инсталација није компатибилна",
- "status_failure_timeout": "Временско ограничење инсталације је истекло",
- "status_unknown": "Инсталација није успела",
- "mount_version_mismatch_description": "Инсталација није успела јер се верзија инсталиране апликације разликује од печоване.\n\nИнсталирајте верзију апликације коју монтирате и покушајте поново.",
- "mount_no_root_description": "Инсталација није успела јер није додељен root приступ.\n\nДоделите га ReVanced Manager-у и покушајте поново.",
- "mount_missing_installation_description": "Инсталација није успела због одсуства непечоване апликације.\n\nИнсталирајте је пре монтирања и покушајте поново.",
- "status_failure_timeout_description": "Инсталација траје предуго.\n\nЖелите ли да покушате поново?",
- "status_failure_storage_description": "Инсталација није успела због недостатка меморијског простора.\n\nОслободите простора и покушајте поново.",
- "status_failure_invalid_description": "Инсталација није успела јер је печована апликација неважећа.\n\nДеинсталирати апликацију и покушати поново?",
- "status_failure_incompatible_description": "Апликација није компатибилна са овим уређајем.\n\nКористите APK који подржава овај уређај и покушајте поново.",
- "status_failure_conflict_description": "Инсталација је спречена услед постојеће инсталације.\n\nДеинсталирати инсталирану апликацију и покушати поново?",
- "status_failure_blocked_description": "Инсталацију је блокирала апликација ${packageName}.\n\nПодесите безбедносна подешавања и покушајте поново.",
- "install_failed_verification_failure_description": "Инсталација није успела због проблема са верификацијом.\n\nПодесите безбедносна подешавања и покушајте поново.",
- "install_failed_version_downgrade_description": "Инсталација није успела јер је верзија печоване апликације нижа од инсталиране.\n\nДеинсталирати апликацију и покушати поново?",
- "status_unknown_description": "Инсталација није успела из непознатог разлога. Покушајте поново."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/sv_SE.i18n.json b/assets/i18n/sv_SE.i18n.json
deleted file mode 100755
index 8271a050..00000000
--- a/assets/i18n/sv_SE.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "OK",
- "cancelButton": "Avbryt",
- "dismissButton": "Avfärda",
- "quitButton": "Avsluta",
- "updateButton": "Uppdatera",
- "suggested": "Rekommenderad: ${version}",
- "yesButton": "Ja",
- "noButton": "Nej",
- "warning": "Varning",
- "notice": "Notera",
- "noShowAgain": "Visa inte det här igen",
- "add": "Lägg till",
- "remove": "Ta bort",
- "showChangelogButton": "Visa ändringslogg",
- "showUpdateButton": "Visa uppdatering",
- "navigationView": {
- "dashboardTab": "Kontrollpanel",
- "patcherTab": "Patcher",
- "settingsTab": "Inställningar"
- },
- "homeView": {
- "refreshSuccess": "Uppdaterat",
- "widgetTitle": "Kontrollpanel",
- "updatesSubtitle": "Uppdateringar",
- "lastPatchedAppSubtitle": "Senast patchad app",
- "patchedSubtitle": "Installerade appar",
- "changeLaterSubtitle": "Du kan ändra detta i inställningarna vid ett senare tillfälle.",
- "noSavedAppFound": "Ingen app hittades",
- "noInstallations": "Inga patchade appar installerade",
- "installUpdate": "Gå vidare och installera uppdateringen?",
- "updateSheetTitle": "Uppdatera ReVanced Manager",
- "updateDialogTitle": "Ny uppdatering tillgänglig",
- "updatePatchesSheetTitle": "Uppdatera ReVanced Patches",
- "updateChangelogTitle": "Ändringslogg",
- "updateDialogText": "En ny uppdatering finns tillgänglig för ${file}.\n\nDen installerade versionen är ${version}.",
- "downloadConsentDialogTitle": "Ladda ner nödvändiga filer?",
- "downloadConsentDialogText": "ReVanced Manager måste ladda ner nödvändiga filer för att fungera korrekt.",
- "downloadConsentDialogText2": "Detta kommer att ansluta dig till ${url}.",
- "downloadingMessage": "Laddar ner uppdatering...",
- "downloadedMessage": "Uppdatering nerladdad",
- "installingMessage": "Installerar uppdatering...",
- "errorDownloadMessage": "Det gick inte att ladda ner uppdateringen",
- "errorInstallMessage": "Det gick inte att installera uppdatering",
- "noConnection": "Ingen internetanslutning"
- },
- "applicationItem": {
- "infoButton": "Information"
- },
- "latestCommitCard": {
- "loadingLabel": "Laddar...",
- "timeagoLabel": "${time} sedan"
- },
- "patcherView": {
- "widgetTitle": "Patcher",
- "patchButton": "Patch",
- "incompatibleArchWarningDialogText": "Patchning av denna arkitektur stöds ännu inte och kan misslyckas. Fortsätt ändå?",
- "removedPatchesWarningDialogText": "Tog bort patchar sedan du senast patchade denna app:\n\n${patches}\n\n${newPatches}Fortsätt ändå?",
- "addedPatchesDialogText": "Lade till patchar sedan du senast patchade denna app:\n\n${addedPatches}\n\n",
- "requiredOptionDialogText": "Vissa patchalternativ måste anges."
- },
- "appSelectorCard": {
- "widgetTitle": "Välj en app",
- "widgetTitleSelected": "Välj app",
- "widgetSubtitle": "Ingen app vald",
- "noAppsLabel": "Inga applikationer hittades",
- "anyVersion": "Valfri version"
- },
- "patchSelectorCard": {
- "widgetTitle": "Välj patchar",
- "widgetTitleSelected": "Valda patchar",
- "widgetSubtitle": "Välj en applikation först",
- "widgetEmptySubtitle": "Inga patchar valda"
- },
- "socialMediaCard": {
- "widgetTitle": "Sociala medier",
- "widgetSubtitle": "Vi är online!"
- },
- "appSelectorView": {
- "viewTitle": "Välj en app",
- "searchBarHint": "Sök app",
- "storageButton": "Lagring",
- "selectFromStorageButton": "Välj från lagringsplatsen",
- "errorMessage": "Det gick inte att använda vald applikation",
- "downloadToast": "Nerladdningsfunktionen är för närvarande inte tillgänglig",
- "requireSuggestedAppVersionDialogText": "Den version av appen som du har valt matchar inte den föreslagna versionen och kan leda till oväntade problem. Välj den app som matchar den föreslagna versionen.\n\nVald version: v${selected}\nFöreslagen version: v${suggested}\n\nVill du ändå fortsätta, inaktivera \"Kräv föreslagen appversion\" i inställningarna.",
- "featureNotAvailable": "Funktionen har inte lagts till ännu",
- "featureNotAvailableText": "Denna app är en delad APK och kan endast patchas och installeras på ett tillförlitligt sätt genom att montera med root-behörigheter. Men du kan patcha och installera en fullständig APK genom att välja det från lagringen."
- },
- "patchesSelectorView": {
- "viewTitle": "Välj patchar",
- "searchBarHint": "Sök efter patchar",
- "universalPatches": "Universella patchar",
- "newPatches": "Nya patchar",
- "patches": "Patchar",
- "doneButton": "Klar",
- "defaultChip": "Standard",
- "defaultTooltip": "Välj alla standardpatchar",
- "noneChip": "Inga",
- "noneTooltip": "Avmarkera alla patchar",
- "loadPatchesSelection": "Ladda patchval",
- "noSavedPatches": "Inga sparade patchval för den valda appen.\nTryck på klar för att spara aktuellt val.",
- "noPatchesFound": "Hittade inga patchar för den valda appen",
- "setRequiredOption": "Vissa patchar kräver att alternativ anges:\n\n${patches}\n\nAnge dem innan du fortsätter."
- },
- "patchOptionsView": {
- "customValue": "Anpassat värde",
- "setToNull": "Sätt till noll",
- "nullValue": "Detta alternativs värde är för tillfället noll",
- "viewTitle": "Patchalternativ",
- "saveOptions": "Spara",
- "unselectPatch": "Avmarkera patch",
- "tooltip": "Fler inmatningsalternativ",
- "selectFilePath": "Välj filsökväg",
- "selectFolder": "Välj mapp",
- "requiredOption": "Inställning av detta alternativ krävs",
- "unsupportedOption": "Detta alternativ stöds ej",
- "requiredOptionNull": "Följande alternativ måste anges:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "Denna patchen kan orsaka patchningsfel.\n\nAppversion: ${packageVersion}\nKompatibla versioner:\n${supportedVersions}",
- "unsupportedPatchVersion": "Patchen stöds inte för den här appversionen.",
- "unsupportedRequiredOption": "Denna patch innehåller ett obligatoriskt alternativ som inte stöds av denna app",
- "patchesChangeWarningDialogText": "Det rekommenderas att använda standard patchval och alternativ. Att ändra dem kan resultera i oväntade problem.\n\nDu måste aktivera \"Tillåt ändring av patchval\" i inställningarna innan du ändrar något patchval.",
- "patchesChangeWarningDialogButton": "Använd standardval"
- },
- "installerView": {
- "installType": "Välj installationstyp",
- "installTypeDescription": "Välj vilken installationstyp du vill fortsätta med.",
- "installButton": "Installera",
- "installRootType": "Montera",
- "installNonRootType": "Regular",
- "warning": "Inaktivera automatiska uppdateringar för den patchade appen för att undvika oväntade problem.",
- "pressBackAgain": "Tryck igen på bakåt för att avbryta",
- "openButton": "Öppna",
- "notificationTitle": "ReVanced-hanteraren patchar",
- "notificationText": "Tryck för att återvända till installeraren",
- "exportApkButtonTooltip": "Exportera patchad APK",
- "exportLogButtonTooltip": "Exportera logg",
- "screenshotDetected": "En skärmdump har upptäckts. Om du försöker dela loggen, dela en kopia av texten i stället.\n\nKopiera loggen till urklipp?",
- "copiedToClipboard": "Kopierat logg till urklipp",
- "noExit": "Installern körs fortfarande, kan inte avsluta..."
- },
- "settingsView": {
- "widgetTitle": "Inställningar",
- "appearanceSectionTitle": "Utseende",
- "teamSectionTitle": "Team",
- "debugSectionTitle": "Felsökning",
- "advancedSectionTitle": "Avancerat",
- "exportSectionTitle": "Importera och exportera",
- "dataSectionTitle": "Datakällor",
- "themeModeLabel": "Apptema",
- "systemThemeLabel": "System",
- "lightThemeLabel": "Ljust",
- "darkThemeLabel": "Mörkt",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "Njut av en upplevelse närmare din enhet",
- "languageLabel": "Språk",
- "languageUpdated": "Språket uppdaterat",
- "sourcesLabel": "Alternativa källor",
- "sourcesLabelHint": "Konfigurera alternativa källor för ReVanced Patches",
- "useAlternativeSources": "Använd alternativa källor",
- "useAlternativeSourcesHint": "Använd alternativa källor för ReVanced Patches istället för API",
- "sourcesResetDialogTitle": "Återställ",
- "sourcesResetDialogText": "Är du säker på att du vill återställa dina källorna till deras standardvärden?",
- "apiURLResetDialogText": "Är du säker att du vill återställa API-webbadressen till standardvärdet?",
- "sourcesUpdateNote": "OBS! Detta hämtar automatiskt ReVanced Patches från de alternativa källorna.\n\nDet ansluter dig till den alternativa källan.",
- "apiURLLabel": "API-webbadress",
- "apiURLHint": "Konfigurera API-webbadressen för ReVanced-hanterare",
- "selectApiURL": "API-webbadress",
- "orgPatchesLabel": "Organisation för patchar",
- "sourcesPatchesLabel": "Källa för patchar",
- "contributorsLabel": "Medverkande",
- "contributorsHint": "En lista över medverkare för ReVanced",
- "logsLabel": "Dela loggar",
- "logsHint": "Dela ReVanced-hanteringsloggar",
- "enablePatchesSelectionLabel": "Tillåt ändring av patchval",
- "enablePatchesSelectionHint": "Tillåt att markera eller avmarkera patchar",
- "enablePatchesSelectionWarningText": "Ändra valet av patchar kan orsaka oväntade problem.\n\nAktivera ändå?",
- "disablePatchesSelectionWarningText": "Du håller på att inaktivera valet av patchar.\nStandardvalet av patchar kommer att återställas.\n\nInaktivera ändå?",
- "autoUpdatePatchesLabel": "Uppdatera patchar automatiskt",
- "autoUpdatePatchesHint": "Uppdatera automatiskt patches till den senaste versionen",
- "showUpdateDialogLabel": "Visa dialogruta för uppdatering",
- "showUpdateDialogHint": "Visa en dialog när en ny uppdatering är tillgänglig",
- "universalPatchesLabel": "Visa universella patchar",
- "universalPatchesHint": "Visa alla appar och universella patchar (kan slöa ner applistan)",
- "lastPatchedAppLabel": "Spara patchad app",
- "lastPatchedAppHint": "Spara den sista patchen för att installera eller exportera senare",
- "versionCompatibilityCheckLabel": "Kontroll av versionskompatibilitet",
- "versionCompatibilityCheckHint": "Förhindra att du väljer patchar som inte är kompatibla med den valda appversionen",
- "requireSuggestedAppVersionLabel": "Kräv föreslagen appversion",
- "requireSuggestedAppVersionHint": "Förhindra att välja en app med en version som inte är den föreslagna",
- "requireSuggestedAppVersionDialogText": "Att välja en app som inte är den föreslagna versionen kan orsaka oväntade problem.\n\nVill du ändå fortsätta?",
- "aboutLabel": "Om",
- "snackbarMessage": "Kopierat till urklipp",
- "restartAppForChanges": "Starta om appen för att tillämpa ändringar",
- "deleteTempDirLabel": "Ta bort temporära filer",
- "deleteTempDirHint": "Ta bort oanvända temporära filer",
- "deletedTempDir": "Temporära filer borttagna",
- "exportSettingsLabel": "Exportera inställningar",
- "exportSettingsHint": "Exportera inställningar till en JSON-fil",
- "exportedSettings": "Inställningar exporterade",
- "importSettingsLabel": "Importera inställningar",
- "importSettingsHint": "Importera inställningar från en JSON-fil",
- "importedSettings": "Inställningar importerade",
- "exportPatchesLabel": "Exportera valda patchar",
- "exportPatchesHint": "Exportera valda patchar till en JSON-fil",
- "exportedPatches": "Valda patchar exporterade",
- "noExportFileFound": "Inga valda patchar att exportera",
- "importPatchesLabel": "Importera valda patchar",
- "importPatchesHint": "Importera valda patchar från en JSON-fil",
- "importedPatches": "Valda patchar importerade",
- "resetStoredPatchesLabel": "Återställ valda patchar",
- "resetStoredPatchesHint": "Återställ lagrade valda patchar",
- "resetStoredPatchesDialogTitle": "Återställ valda patchar?",
- "resetStoredPatchesDialogText": "Standardvalet av patchar kommer att återställas.",
- "resetStoredPatches": "De valda patcharna har återställts",
- "resetStoredOptionsLabel": "Återställ patchalternativ",
- "resetStoredOptionsHint": "Återställ alla patchalternativ",
- "resetStoredOptionsDialogTitle": "Återställ patchalternativ?",
- "resetStoredOptionsDialogText": "Återställning av patchalternativ kommer att ta bort alla sparade alternativ.",
- "resetStoredOptions": "Alternativen har återställts",
- "deleteLogsLabel": "Rensa loggar",
- "deleteLogsHint": "Ta bort ReVanced-hanteringsloggar",
- "deletedLogs": "Loggar borttagna",
- "regenerateKeystoreLabel": "Återskapa nyckelbutik",
- "regenerateKeystoreHint": "Återskapa den nyckelbutik som används för att signera appar",
- "regenerateKeystoreDialogTitle": "Återskapa nyckelbutik?",
- "regenerateKeystoreDialogText": "Patchade appar som är signerade med den gamla nyckelbutiken kommer inte längre att kunna uppdateras.",
- "regeneratedKeystore": "Nyckelbutik återskapad",
- "exportKeystoreLabel": "Exportera nyckelbutik",
- "exportKeystoreHint": "Exportera nyckelbutik som används för att signera appar",
- "exportedKeystore": "Nyckelbutik exporterad",
- "noKeystoreExportFileFound": "Ingen nyckelbutik att exportera",
- "importKeystoreLabel": "Importera nyckelbutik",
- "importKeystoreHint": "Importera en nyckelbutik som används för att signera appar",
- "importedKeystore": "Nyckelbutik importerad",
- "selectKeystorePassword": "Lösenord för nyckelbutik",
- "selectKeystorePasswordHint": "Välj lösenord för nyckelbutiken som används för att signera appar",
- "jsonSelectorErrorMessage": "Det gick inte att använda vald JSON-fil",
- "keystoreSelectorErrorMessage": "Det gick inte att använda vald nyckelbutiksfil"
- },
- "appInfoView": {
- "widgetTitle": "Appinfo",
- "openButton": "Öppna",
- "installButton": "Installera",
- "uninstallButton": "Avinstallera",
- "unmountButton": "Avmontera",
- "exportButton": "Exportera",
- "deleteButton": "Radera",
- "rootDialogTitle": "Fel",
- "lastPatchedAppDescription": "Detta är en säkerhetskopia av den app som senast patchades.",
- "unmountDialogText": "Är du säker på att du vill avmontera denna app?",
- "uninstallDialogText": "Är du säker på att du vill avinstallera denna appen?",
- "rootDialogText": "Appen installerades med superanvändarbehörigheter, men ReVanced-hanteraren har för närvarande inga behörigheter. Bevilja superanvändarbehörigheter först.",
- "removeAppDialogTitle": "Ta bort app?",
- "removeAppDialogText": "Är du säker på att du vill ta bort denna säkerhetskopia?",
- "packageNameLabel": "Paketnamn",
- "installTypeLabel": "Installationstyp",
- "mountTypeLabel": "Montera",
- "regularTypeLabel": "Regular",
- "patchedDateLabel": "Patchat datum",
- "appliedPatchesLabel": "Tillämpade patchar",
- "sizeLabel": "Filens storlek",
- "patchedDateHint": "${date} vid ${time}",
- "appliedPatchesHint": "${quantity} tillämpade patchar",
- "updateNotImplemented": "Denna funktionen har inte lagts till ännu"
- },
- "contributorsView": {
- "widgetTitle": "Bidragsgivare"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "Versionerna stämmer inte överens",
- "mount_no_root": "Ingen root-behörighet",
- "mount_missing_installation": "Installationen hittades inte",
- "status_failure_blocked": "Installationen blockerad",
- "install_failed_verification_failure": "Verifieringen misslyckades",
- "status_failure_invalid": "Installationen ogiltig",
- "install_failed_version_downgrade": "Kan inte nergradera",
- "status_failure_conflict": "Installationenskonflikt",
- "status_failure_storage": "Problem med installationslagringen",
- "status_failure_incompatible": "Installationen är inkompatibel",
- "status_failure_timeout": "Installationen tog för lång tid",
- "status_unknown": "Installationen misslyckades",
- "mount_version_mismatch_description": "Installationen misslyckades på grund av att den installerade appen var en annan version än den patchade appen.\n\nInstallera versionen av appen du monterar och försök igen.",
- "mount_no_root_description": "Installationen misslyckades på grund av att root-åtkomst inte beviljades.\n\nGe root-åtkomst till ReVanced Manager och försök igen.",
- "mount_missing_installation_description": "Installationen misslyckades på grund av att den opatchade appen inte installerades på den här enheten för att kunna monteras över den\n\nInstallera den opatchade appen innan du monterar och försök igen.",
- "status_failure_timeout_description": "Installationen tog för lång tid att slutföra.\n\nVill du försöka igen?",
- "status_failure_storage_description": "Installationen misslyckades på grund av otillräckligt lagringsutrymme.\n\nFrigör lite utrymme och försök igen.",
- "status_failure_invalid_description": "Installationen misslyckades på grund av att den patchade appen var ogiltig.\n\nAvinstallera appen och försök igen?",
- "status_failure_incompatible_description": "Appen är inkompatibel med den här enheten.\n\nAnvänd en APK som stöds av den här enheten och försök igen.",
- "status_failure_conflict_description": "Installationen förhindrades av en befintlig installation av appen.\n\nAvinstallera den installerade appen och försök igen?",
- "status_failure_blocked_description": "Installationen blockerades av ${packageName}.\n\nJustera dina säkerhetsinställningar och försök igen.",
- "install_failed_verification_failure_description": "Installationen misslyckades på grund av ett verifieringsproblem.\n\nJustera dina säkerhetsinställningar och försök igen.",
- "install_failed_version_downgrade_description": "Installationen misslyckades på grund av att den patchade appen var en lägre version än den installerade appen.\n\nAvinstallera appen och försök igen?",
- "status_unknown_description": "Installationen misslyckades på grund av en okänd anledning. Försök igen."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/sw_KE.i18n.json b/assets/i18n/sw_KE.i18n.json
deleted file mode 100755
index 72686789..00000000
--- a/assets/i18n/sw_KE.i18n.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "patchSelectorCard": {
- "widgetSubtitle": "Chagua programu kwanza"
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/ta_IN.i18n.json b/assets/i18n/ta_IN.i18n.json
deleted file mode 100755
index 0a2445e2..00000000
--- a/assets/i18n/ta_IN.i18n.json
+++ /dev/null
@@ -1,170 +0,0 @@
-{
- "okButton": "சரி",
- "cancelButton": "ரத்து செய்",
- "dismissButton": "நிராகரிக்கவும்",
- "quitButton": "வெளியேறு",
- "updateButton": "புதுப்பி",
- "suggested": "பரிந்துரைக்கப்படும் பதிப்பு: ${version}",
- "yesButton": "ஆம்",
- "noButton": "இல்லை",
- "warning": "எச்சரிக்கை",
- "notice": "அறிவிப்பு",
- "noShowAgain": "இதனை மீண்டும் காண்பிக்க வேண்டாம்",
- "add": "சேர்",
- "remove": "நீக்கு",
- "showChangelogButton": "மாற்றப்பதிவைக் காட்டவும்",
- "showUpdateButton": "புதுப்பிப்பைக் காட்டவும்",
- "navigationView": {
- "dashboardTab": "கட்டுப்பாட்டகம்",
- "patcherTab": "இணைப்பான்",
- "settingsTab": "அமைப்புகள்"
- },
- "homeView": {
- "refreshSuccess": "வெற்றிகரமாகப் புதுப்பிக்கப்பட்டது",
- "widgetTitle": "கட்டுப்பாட்டகம்",
- "updatesSubtitle": "புதுப்பித்தல்கள்",
- "lastPatchedAppSubtitle": "கடைசியாகப் பிறழ்ந்தப்பட்ட செயலி",
- "patchedSubtitle": "நிறுவப்பட்ட செயலிகள்",
- "changeLaterSubtitle": "இதை நீங்கள் பின்னர் அமைப்புகளில் மாற்றலாம்.",
- "noSavedAppFound": "செயலிகள் எதுவும் கண்டறியப்படவில்லை",
- "noInstallations": "பிறழப்பட்ட செயலிகள் எதுவும் நிறுவப்படவில்லை",
- "installUpdate": "புதுப்பிப்பை நிறுவுவதைத் தொடரவா?",
- "updateSheetTitle": "ReVanced Manager ஐப் புதுப்பிக்கவும்",
- "updateDialogTitle": "புதிய பதிவு உள்ளது",
- "updatePatchesSheetTitle": "ரிவன்ஸ்ட் பிறழ்களை புதுப்பிக்கவும்",
- "updateChangelogTitle": "மாற்றங்களின் பதிவு",
- "updateDialogText": "${file} க்கு புதிய புதுப்பிப்பு உள்ளது.\n\nதற்போது நிறுவப்பட்ட பதிப்பு ${version} ஆகும்.",
- "downloadConsentDialogTitle": "தேவையான கோப்புகளைப் பதிவிறக்கவா?",
- "downloadConsentDialogText": "ரிவன்ஸ்ட் மேனேஜர் சரியாக வேலை செய்யத் தேவையான கோப்புகளைப் பதிவிறக்கம் செய்ய வேண்டும்.",
- "downloadConsentDialogText2": "இது உங்களை ${url} உடன் இணைக்கும்.",
- "downloadingMessage": "மேம்பாடு பதிவிறக்கப்படுகிறது...",
- "downloadedMessage": "புதுப்பிப்பு பதிவிறக்கப்பட்டது",
- "installingMessage": "புதுப்பிப்பை நிறுவுகிறது...",
- "errorDownloadMessage": "புதுப்பிப்பைப் பதிவிறக்க முடியவில்லை",
- "errorInstallMessage": "புதுப்பிப்பை நிறுவ முடியவில்லை",
- "noConnection": "இணைய இணைப்பு இல்லை"
- },
- "applicationItem": {
- "infoButton": "தகவல்"
- },
- "latestCommitCard": {
- "loadingLabel": "ஏற்றுகிறது...",
- "timeagoLabel": "${time} முன்பு"
- },
- "patcherView": {
- "widgetTitle": "இணைப்பான்",
- "patchButton": "இணைப்பு",
- "incompatibleArchWarningDialogText": "இந்தக் கட்டமைப்பில் பிறழுதல் இன்னும் ஆதரிக்கப்படவில்லை மற்றும் தோல்வியடையக்கூடும். எப்படியும் தொடரவா?",
- "requiredOptionDialogText": "சில பிறழ்களுக்கு விருப்பங்களை அமைக்க வேண்டும்."
- },
- "appSelectorCard": {
- "widgetTitle": "செயலியைத் தேர்ந்தெடு",
- "widgetTitleSelected": "தேர்ந்தெடுத்த செயலி",
- "widgetSubtitle": "செயலி எதுவும் தேர்ந்தெடுக்கப்படவில்லை",
- "noAppsLabel": "செயலிகள் கண்டறியப்படவில்லை",
- "anyVersion": "ஏதேனும் ஒரு பதிப்பு"
- },
- "patchSelectorCard": {
- "widgetTitle": "இணைப்புகளைத் தேர்ந்தெடுக்கவும்",
- "widgetTitleSelected": "தேர்ந்தெடுக்கப்பட்ட இணைப்புகள்",
- "widgetSubtitle": "முதலில் ஒரு செயலியைத் தேர்ந்தெடுக்கவும்",
- "widgetEmptySubtitle": "இணைப்புகள் எதுவும் தேர்ந்தெடுக்கப்படவில்லை"
- },
- "socialMediaCard": {
- "widgetTitle": "Socials",
- "widgetSubtitle": "நாங்கள் ஆன்லைனில் இருக்கிறோம்!"
- },
- "appSelectorView": {
- "viewTitle": "செயலியைத் தேர்ந்தெடு",
- "searchBarHint": "செயலியில் தேடு",
- "storageButton": "சேமிப்பு",
- "selectFromStorageButton": "இருப்பிலிருந்து தேர்வு செய்க ",
- "errorMessage": "தேர்ந்தெடுக்கப்பட்ட செயலியைப் பயன்படுத்த இயலவில்லை",
- "downloadToast": "பதிவிறக்கம் செய்யும் ஆதரவு இன்னும் வரவில்லை ",
- "requireSuggestedAppVersionDialogText": "நீங்கள் தேர்ந்தெடுத்த செயலியின் பதிப்பு பரிந்துரைக்கப்பட்ட பதிப்போடு பொருந்தவில்லை, இது எதிர்பாராத சிக்கல்களுக்கு வழிவகுக்கும். பரிந்துரைக்கப்பட்ட பதிப்பைப் பயன்படுத்தவும்.\n\n தேர்ந்தெடுக்கப்பட்ட பதிப்பு: ${selected}\n பரிந்துரைக்கப்பட்ட பதிப்பு: ${suggested}\n\n எப்படியும் தொடர, அமைப்புகளில் \"பரிந்துரைக்கப்பட்ட ஆப்ஸ் பதிப்பு தேவை\" என்பதை முடக்கவும்.",
- "featureNotAvailable": "இந்த அம்சம் இன்னும் செயல்படுத்தப்படவில்லை"
- },
- "patchesSelectorView": {
- "viewTitle": "இணைப்புகளைத் தேர்ந்தெடுக்கவும்",
- "searchBarHint": "இணைப்புகளைத் தேடு",
- "universalPatches": "உலகளாவிய பிறழ்கள்",
- "newPatches": "புதிய பிறழ்கல்",
- "patches": "Patches",
- "doneButton": "முடிந்தது",
- "defaultChip": "இயல்புநிலை",
- "defaultTooltip": "எல்லா இயல்பான இணைப்புகளையும் தேர்ந்தெடு",
- "noneChip": "எதுவுமில்லை",
- "noneTooltip": "அனைத்து கோப்புகளையும் நீக்கவும்",
- "loadPatchesSelection": "தேர்வுசெய்த பிறழ்களை ஏற்று",
- "noSavedPatches": "தேர்ந்தெடுக்கப்பட்ட செயளிக்கு சேமிக்கப்பட்ட பிறழ்கள் இல்லை.\n தற்போதைய தேர்வைச் சேமிக்க முடிந்தது என்பதை அழுத்தவும்.",
- "noPatchesFound": "தேர்ந்தெடுக்கப்பட்ட செயலிக்கு இணைப்புகள் காணப்படவில்லை",
- "setRequiredOption": "சில பிறழ்களுக்கு விருப்பங்களை அமைக்க வேண்டும்:\n\n ${patches}\n\n தொடர்வதற்கு முன் அவற்றை அமைக்கவும்."
- },
- "patchOptionsView": {
- "customValue": "தனிப்பயன் மதிப்புகள்",
- "setToNull": "பூஜ்யமாக அமைக்கவும்",
- "nullValue": "இந்தச் செயலின் மதிப்பு தற்போது பூஜ்யமாக உள்ளது",
- "viewTitle": "பிறழ் விருப்பங்கள்",
- "saveOptions": "Save",
- "unselectPatch": "பிறழை தேர்வுநீக்கு",
- "tooltip": "மேலும் உள்ளீட்டு விருப்பங்கள்",
- "selectFilePath": "கோப்பு பாதையைத் தேர்ந்தெடுக்கவும்",
- "selectFolder": "கோப்புறையைத் தேர்வு செய்",
- "requiredOption": "இந்த விருப்பத்தை அமைக்க வேண்டும்",
- "unsupportedOption": "இந்த விருப்பம் ஆதரிக்கப்படவில்லை"
- },
- "patchItem": {
- "unsupportedDialogText": "இந்த இணைப்பைத் தேர்ந்தெடுப்பது, இணைப்புப் பிழைகளை ஏற்படுத்தலாம்.\n\nபயன்பாட்டின் பதிப்பு: ${packageVersion}\nதற்போதைய ஆதரிக்கப்படும் பதிப்புகள்:\n${supportedVersions}"
- },
- "installerView": {
- "installButton": "நிறுவு",
- "installRootType": "பொருத்து",
- "installNonRootType": "வழக்கமான",
- "openButton": "திற",
- "notificationTitle": "ReVanced Manager இணைக்கப் படுகிறது",
- "notificationText": "நிறுவிக்குத் திரும்பச் செல்ல இங்கே கிளிக் செய்யவும்",
- "noExit": "நிறுவி இன்னும் இயங்குகிறது, வெளியேற முடியாது..."
- },
- "settingsView": {
- "widgetTitle": "அமைப்புகள்",
- "appearanceSectionTitle": "தோற்றம்",
- "teamSectionTitle": "குழு",
- "debugSectionTitle": "பிழைதிருத்தம்",
- "advancedSectionTitle": "மேம்பட்ட அமைப்புகள்",
- "exportSectionTitle": "இறக்க & ஏற்ற",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "உங்கள் கருவிக்கு நெருக்கமான அனுபவத்தை அனுபவிக்கவும்",
- "languageLabel": "மொழி",
- "sourcesResetDialogTitle": "மறுஅமை",
- "orgPatchesLabel": "இணைப்புகளின் அமைப்பு",
- "sourcesPatchesLabel": "இணைப்புகளின் மூலம்",
- "contributorsLabel": "பங்களிப்பாளர்கள்",
- "contributorsHint": "ReVancedற்குப் பங்களித்தோர் பட்டியல்",
- "aboutLabel": "இதைப் பற்றி",
- "snackbarMessage": "நகலகத்திற்கு நகலெடுக்கப்பட்டது",
- "restartAppForChanges": "மாற்றங்களைப் பயன்படுத்த பயன்பாட்டை மறுதொடக்கம் செய்யுங்கள்",
- "deleteTempDirLabel": "தற்காலிக கோப்புகளை நீக்கவும்",
- "deleteTempDirHint": "பயன்படுத்தப்படாத தற்காலிக கோப்புகளை நீக்கவும்",
- "deletedTempDir": "தற்காலிக கோப்புகள் நீக்கப்பட்டன",
- "deletedLogs": "பதிவுகள் நீக்கப்பட்டன",
- "jsonSelectorErrorMessage": "தேர்ந்தெடுக்கப்பட்ட JSON கோப்பைப் பயன்படுத்த முடியவில்லை"
- },
- "appInfoView": {
- "widgetTitle": "செயலியின் தகவல்",
- "openButton": "திற",
- "installButton": "நிறுவு",
- "uninstallButton": "நிறுவல்நீக்கம்",
- "rootDialogTitle": "பிழை",
- "rootDialogText": "பயன்பாடு சூப்பர் யூசர் அனுமதிகளுடன் நிறுவப்பட்டது, ஆனால் தற்போது ReVanced Managerக்கு அனுமதிகள் இல்லை.\nமுதலில் சூப்பர் யூசர் அனுமதிகளை வழங்கவும்.",
- "packageNameLabel": "தொகுப்புப் பெயர்",
- "installTypeLabel": "நிறுவல் முறை",
- "patchedDateLabel": "இணைப்புத் தேதி",
- "appliedPatchesLabel": "இயக்கப்பட்ட இணைப்புகள்",
- "patchedDateHint": "${date} அன்று ${time} மணி",
- "appliedPatchesHint": "${quantity} இயக்கப்பட்ட இணைப்புகள்",
- "updateNotImplemented": "இந்த அம்சம் இன்னும் செயல்படுத்தப்படவில்லை"
- },
- "contributorsView": {
- "widgetTitle": "பங்களிப்பாளர்கள்"
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/te_IN.i18n.json b/assets/i18n/te_IN.i18n.json
deleted file mode 100755
index 7b6354d4..00000000
--- a/assets/i18n/te_IN.i18n.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "okButton": "సరే",
- "cancelButton": "రద్దుచేయి",
- "dismissButton": "రద్దుచేయు",
- "quitButton": "నిష్క్రమించు",
- "updateButton": "అప్డేట్",
- "yesButton": "అవును",
- "noButton": "కాదు",
- "warning": "హెచ్చరిక",
- "notice": "నోటీసు",
- "noShowAgain": "దీనిని మళ్లీ చూపవద్దు",
- "add": "జోడించు",
- "remove": "తొలగించు",
- "showChangelogButton": "మార్పులను చూపించండి",
- "navigationView": {
- "dashboardTab": "డాష్బోర్డ్",
- "patcherTab": "ప్యాచర్",
- "settingsTab": "సెట్టింగులు"
- },
- "homeView": {
- "refreshSuccess": "విజయవంతంగా రిఫ్రెష్ చేయబడింది",
- "widgetTitle": "డాష్బోర్డ్",
- "updatesSubtitle": "అప్డేట్లు",
- "patchedSubtitle": "ఇన్స్టాల్ చేయబడిన యాప్లు",
- "noInstallations": "ప్యాచ్ చేయబడిన అప్లికేషన్లు ఏమి లేవు",
- "updateDialogTitle": "కొత్త నవీకరణ అందుబాటులో ఉంది",
- "updateChangelogTitle": "మార్పుల సంచిక",
- "downloadingMessage": "అప్డేట్ డౌన్లోడ్ చేయబడుతోంది...",
- "downloadedMessage": "అప్డేట్ డౌన్లోడ్ అయింది",
- "installingMessage": "అప్డేట్ ఇన్స్టాల్ చేయబడుతోంది...",
- "errorDownloadMessage": "అప్డేట్ డౌన్లోడ్ చేయుట కుదరలేదు",
- "errorInstallMessage": "అప్డేట్ ఇన్స్టాల్ చేయుట కుదరలేదు",
- "noConnection": "ఇంటర్నెట్ కనెక్షన్ లేదు"
- },
- "applicationItem": {
- "infoButton": "సమాచారం"
- },
- "latestCommitCard": {
- "loadingLabel": "లోడ్ అవుతుంది..."
- },
- "patcherView": {
- "widgetTitle": "పూడ్చేది",
- "patchButton": "అతుకు"
- },
- "appSelectorCard": {
- "widgetTitle": "ఒక యాప్ని ఎంచుకోండి",
- "noAppsLabel": "ఏ అనువర్తనాలూ లేవు"
- },
- "patchSelectorCard": {
- "widgetTitle": "అతుకులు ఎంచుకోండి",
- "widgetTitleSelected": "ఎంచుకున్న అతుకులు",
- "widgetSubtitle": "ముందు అనువర్తనాన్ని ఎంచుకోండి",
- "widgetEmptySubtitle": "అతుకులు ఏవీ ఎంచుకోబడలేదు"
- },
- "socialMediaCard": {
- "widgetTitle": "సామాజికాలు",
- "widgetSubtitle": "మేము ఆన్లైన్లో ఉన్నాం!"
- },
- "appSelectorView": {
- "viewTitle": "ఒక యాప్ని ఎంచుకోండి",
- "storageButton": "నిల్వ",
- "errorMessage": "ఎంచుకున్న అనువర్తనాన్ని వాడలేకపోయాం"
- },
- "patchesSelectorView": {
- "viewTitle": "అతుకులు ఎంచుకోండి",
- "searchBarHint": "అతుకులు వెతకండి",
- "patches": "Patches",
- "doneButton": "అయింది",
- "noneChip": "ఏదీ కాదు"
- },
- "patchOptionsView": {
- "saveOptions": "భద్రపరచు"
- },
- "installerView": {
- "installButton": "స్థాపించు",
- "openButton": "తెరువు",
- "notificationTitle": "రీవాన్సడ్ మేనేజర్ పాచ్ చేస్తుంది"
- },
- "settingsView": {
- "widgetTitle": "అమరికలు",
- "appearanceSectionTitle": "స్వరూపం",
- "teamSectionTitle": "జట్టు",
- "advancedSectionTitle": "అధునాతన",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "మీ పరికరానికి దగ్గరి అనుభవాన్ని ఆనందించండి",
- "languageLabel": "భాషలు",
- "contributorsLabel": "దోహదకారి",
- "aboutLabel": "గురించి",
- "snackbarMessage": "క్లిప్బోర్డ్కి కాపీ అయింది"
- },
- "appInfoView": {
- "widgetTitle": "అనువర్తన సమాచారం",
- "openButton": "తెరువు",
- "installButton": "స్థాపించు",
- "uninstallButton": "తీసివేయు",
- "rootDialogTitle": "లోపం"
- },
- "contributorsView": {
- "widgetTitle": "దోహదకారి"
- },
- "installErrorDialog": {
- "install_failed_verification_failure": "ధృవీకరణ విఫలమైంది"
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/th_TH.i18n.json b/assets/i18n/th_TH.i18n.json
deleted file mode 100755
index ac965676..00000000
--- a/assets/i18n/th_TH.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "ตกลง",
- "cancelButton": "ยกเลิก",
- "dismissButton": "ปิด",
- "quitButton": "ออก",
- "updateButton": "อัปเดต",
- "suggested": "แนะนำ: ${version}",
- "yesButton": "ใช่",
- "noButton": "ไม่",
- "warning": "คำเตือน",
- "notice": "หมายเหตุ",
- "noShowAgain": "ไม่ต้องแสดงอีก",
- "add": "เพิ่ม",
- "remove": "ลบ",
- "showChangelogButton": "แสดงบันทึกการเปลี่ยนแปลง",
- "showUpdateButton": "แสดงการอัปเดต",
- "navigationView": {
- "dashboardTab": "หน้าหลัก",
- "patcherTab": "ตัวดัดแปลง",
- "settingsTab": "ตั้งค่า"
- },
- "homeView": {
- "refreshSuccess": "รีเฟรชสำเร็จแล้ว",
- "widgetTitle": "หน้าหลัก",
- "updatesSubtitle": "อัปเดต",
- "lastPatchedAppSubtitle": "แอปที่แก้ไขล่าสุด",
- "patchedSubtitle": "แอปที่ติดตั้ง",
- "changeLaterSubtitle": "คุณสามารถเปลี่ยนแปลงสิ่งนี้ได้ในส่วนการตั้งค่าในภายหลัง",
- "noSavedAppFound": "ไม่พบแอป",
- "noInstallations": "ไม่มีแอปที่มีการดัดแปลงติดตั้งไว้",
- "installUpdate": "ดำเนินการติดตั้งการอัปเดตต่อ?",
- "updateSheetTitle": "อัปเดต ReVanced Manager",
- "updateDialogTitle": "มีการอัปเดตใหม่",
- "updatePatchesSheetTitle": "อัปเดต ReVanced Patches",
- "updateChangelogTitle": "บันทึกการเปลี่ยนแปลง",
- "updateDialogText": "มีการอัปเดตใหม่สำหรับ ${file}.\n\nเวอร์ชันที่ติดตั้งอยู่คือ ${version}.",
- "downloadConsentDialogTitle": "ดาวน์โหลดไฟล์ที่จำเป็น?",
- "downloadConsentDialogText": "ReVanced Manager ต้องดาวน์โหลดไฟล์ที่จำเป็นเพื่อทำงานอย่างถูกต้อง.",
- "downloadConsentDialogText2": "การดำเนินการนี้จะเชื่อมต่อคุณกับ ${url}.",
- "downloadingMessage": "กำลังดาวน์โหลดอัปเดต...",
- "downloadedMessage": "ดาวน์โหลดอัปเดตแล้ว",
- "installingMessage": "กำลังติดตั้งอัปเดต...",
- "errorDownloadMessage": "ไม่สามารถดาวน์โหลดอัปเดตได้",
- "errorInstallMessage": "ไม่สามารถติดตั้งอัปเดตได้",
- "noConnection": "ไม่มีการเชื่อมต่ออินเตอร์เน็ต"
- },
- "applicationItem": {
- "infoButton": "ข้อมูล"
- },
- "latestCommitCard": {
- "loadingLabel": "กำลังโหลด...",
- "timeagoLabel": "${time} ที่ผ่านมา"
- },
- "patcherView": {
- "widgetTitle": "ตัวดัดแปลง",
- "patchButton": "เริ่มการดัดแปลง",
- "incompatibleArchWarningDialogText": "การแก้ไขบนสถาปัตยกรรมนี้ยังไม่ได้รับการสนับสนุนและอาจล้มเหลว ดำเนินการต่อหรือไม่?",
- "removedPatchesWarningDialogText": "การแก้ไขที่ถูกลบตั้งแต่ครั้งล่าสุดที่คุณแก้ไขแอปนี้:\n\n${patches}\n\n${newPatches}ดำเนินการต่อหรือไม่?",
- "addedPatchesDialogText": "การแก้ไขที่เพิ่มตั้งแต่ครั้งล่าสุดที่คุณแก้ไขแอปนี้:\n\n${addedPatches}\n\n",
- "requiredOptionDialogText": "ต้องตั้งค่าตัวเลือกการแก้ไขบางอย่าง"
- },
- "appSelectorCard": {
- "widgetTitle": "เลือกแอป",
- "widgetTitleSelected": "แอปที่เลือก",
- "widgetSubtitle": "ยังไม่ได้เลือกแอป",
- "noAppsLabel": "ไม่พบแอปพลิเคชัน",
- "anyVersion": "ทุกเวอร์ชัน"
- },
- "patchSelectorCard": {
- "widgetTitle": "เลือกการดัดแปลง",
- "widgetTitleSelected": "การดัดแปลงที่เลือกไว้",
- "widgetSubtitle": "เลือกแอพลิเคชันก่อน",
- "widgetEmptySubtitle": "ไม่ได้เลือกการดัดแปลง"
- },
- "socialMediaCard": {
- "widgetTitle": "โซเชียล",
- "widgetSubtitle": "พวกเราออนไลน์แล้ว!"
- },
- "appSelectorView": {
- "viewTitle": "เลือกแอป",
- "searchBarHint": "ค้นหาแอป",
- "storageButton": "พื้นที่จัดเก็บข้อมูล",
- "selectFromStorageButton": "เลือกจากที่เก็บข้อมูล",
- "errorMessage": "ไม่สามารถใช้แอปพลิเคชันที่เลือกไว้ได้",
- "downloadToast": "ฟังก์ชันดาวน์โหลดยังไม่พร้อมใช้งาน",
- "requireSuggestedAppVersionDialogText": "เวอร์ชันของแอปที่คุณเลือกไม่ตรงกับเวอร์ชันที่แนะนำ ซึ่งอาจทำให้เกิดปัญหาที่ไม่คาดคิดได้ โปรดใช้เวอร์ชันที่แนะนำ.\n\nเวอร์ชันที่เลือก: ${selected}\nเวอร์ชันที่แนะนำ: ${suggested}\n\nหากต้องการดำเนินการต่อ โปรดปิดใช้งาน \"Require suggested app version\" ในการตั้งค่า.",
- "featureNotAvailable": "ไม่ได้ใช้คุณลักษณะ",
- "featureNotAvailableText": "แอปนี้เป็น split APK และสามารถแก้ไขและติดตั้งได้อย่างน่าเชื่อถือโดยการติดตั้งด้วยสิทธิ์รูทเท่านั้น อย่างไรก็ตาม คุณสามารถแก้ไขและติดตั้ง APK เต็มได้โดยเลือกจากที่เก็บข้อมูล."
- },
- "patchesSelectorView": {
- "viewTitle": "เลือกการดัดแปลง",
- "searchBarHint": "ค้นหาการดัดแปลง",
- "universalPatches": "การแก้ไขแบบสากล",
- "newPatches": "การแก้ไขใหม่",
- "patches": "Patches",
- "doneButton": "เรียบร้อย",
- "defaultChip": "ค่าเริ่มต้น",
- "defaultTooltip": "เลือกการดัดแปลงเริ่มต้นทั้งหมด",
- "noneChip": "ไม่เลือก",
- "noneTooltip": "เลิกเลือกการดัดแปลงทั้งหมด",
- "loadPatchesSelection": "โหลดการเลือกการแก้ไข",
- "noSavedPatches": "ไม่มีการเลือกการแก้ไขที่บันทึกไว้สำหรับแอปที่เลือก\nกดเสร็จสิ้นเพื่อบันทึกการเลือกปัจจุบัน",
- "noPatchesFound": "ไม่พบการดัดแปลงสำหรับแอปที่เลือกไว้",
- "setRequiredOption": "การแก้ไขบางอย่างต้องมีการตั้งค่าตัวเลือก:\n\n${patches}\n\nกรุณาตั้งค่าก่อนดำเนินการต่อ"
- },
- "patchOptionsView": {
- "customValue": "ค่าที่กำหนดเอง",
- "setToNull": "ตั้งค่าเป็น null",
- "nullValue": "ค่าตัวเลือกนี้เป็น null ในปัจจุบัน",
- "viewTitle": "ตัวเลือกการแก้ไข",
- "saveOptions": "บันทึก",
- "unselectPatch": "ยกเลิกการเลือกการแก้ไข",
- "tooltip": "ตัวเลือกการป้อนข้อมูลเพิ่มเติม",
- "selectFilePath": "เลือกเส้นทางไฟล์",
- "selectFolder": "เลือกโฟลเดอร์",
- "requiredOption": "จำเป็นต้องตั้งค่าตัวเลือกนี้",
- "unsupportedOption": "ตัวเลือกนี้ไม่รองรับ",
- "requiredOptionNull": "ต้องตั้งค่าตัวเลือกต่อไปนี้:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "การเลือกการดัดแปลงนี้อาจทำให้การดัดแปลงผิดพลาด\n\nเวอร์ชันปัจจุบัน: ${packageVersion}\nเวอร์ชันที่รองรับ:\n${supportedVersions}",
- "unsupportedPatchVersion": "การแก้ไขไม่รองรับสำหรับเวอร์ชันแอปนี้",
- "unsupportedRequiredOption": "การแก้ไขนี้มีตัวเลือกที่จำเป็นซึ่งแอปนี้ไม่รองรับ",
- "patchesChangeWarningDialogText": "แนะนำให้ใช้การเลือกและตัวเลือกการแก้ไขเริ่มต้น การเปลี่ยนแปลงอาจส่งผลให้เกิดปัญหาที่ไม่คาดคิดได้\n\nคุณต้องเปิดใช้งาน \"Allow changing patch selection\" ในการตั้งค่าก่อนที่จะเปลี่ยนการเลือกการแก้ไขใด ๆ",
- "patchesChangeWarningDialogButton": "ใช้การเลือกเริ่มต้น"
- },
- "installerView": {
- "installType": "เลือกประเภทการติดตั้ง",
- "installTypeDescription": "เลือกประเภทการติดตั้งเพื่อดำเนินการต่อ",
- "installButton": "ติดตั้ง",
- "installRootType": "ติดตั้ง",
- "installNonRootType": "ปกติ",
- "warning": "ปิดใช้งานการอัปเดตโดยอัตโนมัติสำหรับแอปที่แก้ไขแล้วเพื่อหลีกเลี่ยงปัญหาที่ไม่คาดคิด",
- "pressBackAgain": "กดกลับอีกครั้งเพื่อยกเลิก",
- "openButton": "เปิด",
- "notificationTitle": "ReVanced Manager กำลังดัดแปลง",
- "notificationText": "แตะเพื่อกลับไปยังตัวติดตั้ง",
- "exportApkButtonTooltip": "ส่งออก APK ที่แก้ไขแล้ว",
- "exportLogButtonTooltip": "ส่งออกบันทึก",
- "screenshotDetected": "ตรวจพบภาพหน้าจอ หากคุณกำลังพยายามแชร์บันทึก กรุณาแชร์สำเนาข้อความแทน\n\nคัดลอกบันทึกไปยังคลิปบอร์ด?",
- "copiedToClipboard": "คัดลอกบันทึกไปยังคลิปบอร์ดแล้ว",
- "noExit": "ตัวติดตั้งกำลังทำงานอยู่ ไม่สามารถออกได้..."
- },
- "settingsView": {
- "widgetTitle": "ตั้งค่า",
- "appearanceSectionTitle": "หน้าตา",
- "teamSectionTitle": "ทีม",
- "debugSectionTitle": "แก้ไขข้อผิดพลาด",
- "advancedSectionTitle": "ขั้นสูง",
- "exportSectionTitle": "นำเข้าและส่งออก",
- "dataSectionTitle": "แหล่งข้อมูล",
- "themeModeLabel": "ธีมของแอปพลิเคชั่น",
- "systemThemeLabel": "ค่าเริ่มต้นของระบบ",
- "lightThemeLabel": "สว่าง",
- "darkThemeLabel": "มืด",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "เพลิดเพลินกับประสบการณ์ที่ใกล้ชิดกับอุปกรณ์ของคุณมากขึ้น",
- "languageLabel": "ภาษา",
- "languageUpdated": "อัพเดตภาษาแล้ว",
- "sourcesLabel": "แหล่งข้อมูลอื่น",
- "sourcesLabelHint": "กำหนดค่าแหล่งข้อมูลอื่นสำหรับ ReVanced Patches",
- "useAlternativeSources": "ใช้แหล่งข้อมูลอื่น",
- "useAlternativeSourcesHint": "ใช้แหล่งข้อมูลอื่นสำหรับ ReVanced Patches แทน API",
- "sourcesResetDialogTitle": "รีเซ็ต",
- "sourcesResetDialogText": "คุณแน่ใจหรือไม่ว่าต้องการรีเซ็ตแหล่งที่มาของคุณเป็นค่าเริ่มต้น?",
- "apiURLResetDialogText": "คุณแน่ใจหรือไม่ว่าต้องการรีเซ็ต URL API ของคุณเป็นค่าเริ่มต้น?",
- "sourcesUpdateNote": "หมายเหตุ: การดำเนินการนี้จะดาวน์โหลด ReVanced Patches จากแหล่งข้อมูลอื่นโดยอัตโนมัติ\n\nการดำเนินการนี้จะเชื่อมต่อคุณกับแหล่งข้อมูลอื่น",
- "apiURLLabel": "ลิงค์ของ API",
- "apiURLHint": "กำหนดค่า URL API ของ ReVanced Manager",
- "selectApiURL": "ลิงค์ของ API",
- "orgPatchesLabel": "ผู้ดูแลการดัดแปลง",
- "sourcesPatchesLabel": "ที่มาของการดัดแปลง",
- "contributorsLabel": "ผู้ช่วยเหลือโปรเจกต์",
- "contributorsHint": "รายชื่อผู้ที่ช่วยเหลือกับโปรเจ็กต์ ReVanced",
- "logsLabel": "แชร์บันทึก",
- "logsHint": "แชร์บันทึก ReVanced Manager",
- "enablePatchesSelectionLabel": "อนุญาตให้เปลี่ยนการเลือกการแก้ไข",
- "enablePatchesSelectionHint": "ไม่อนุญาตให้เลือกหรือยกเลิกการเลือกการแก้ไข",
- "enablePatchesSelectionWarningText": "การเปลี่ยนการเลือกการแก้ไขอาจทำให้เกิดปัญหาที่ไม่คาดคิด\n\nเปิดใช้งานอยู่ดี?",
- "disablePatchesSelectionWarningText": "คุณกำลังจะปิดใช้งานการเปลี่ยนการเลือกการแก้ไข\nการเลือกการแก้ไขเริ่มต้นจะถูกคืนค่า\n\nปิดใช้งานอยู่ดี?",
- "autoUpdatePatchesLabel": "อัปเดตการแก้ไขโดยอัตโนมัติ",
- "autoUpdatePatchesHint": "อัปเดตการแก้ไขเป็นเวอร์ชันล่าสุดโดยอัตโนมัติ",
- "showUpdateDialogLabel": "แสดงกล่องโต้ตอบการอัปเดต",
- "showUpdateDialogHint": "แสดงกล่องโต้ตอบเมื่อมีการอัปเดตใหม่",
- "universalPatchesLabel": "แสดงการแก้ไขแบบสากล",
- "universalPatchesHint": "แสดงแอปทั้งหมดและการแก้ไขแบบสากล (อาจทำให้รายการแอปล่าช้า)",
- "lastPatchedAppLabel": "บันทึกแอปที่แก้ไข",
- "lastPatchedAppHint": "บันทึกการแก้ไขล่าสุดเพื่อติดตั้งหรือส่งออกในภายหลัง",
- "versionCompatibilityCheckLabel": "ตรวจสอบความเข้ากันได้ของเวอร์ชัน",
- "versionCompatibilityCheckHint": "ป้องกันการเลือกการแก้ไขที่ไม่เข้ากันได้กับเวอร์ชันแอปที่เลือก",
- "requireSuggestedAppVersionLabel": "ต้องการเวอร์ชันแอปที่แนะนำ",
- "requireSuggestedAppVersionHint": "ป้องกันการเลือกแอปที่มีเวอร์ชันที่ไม่ใช่เวอร์ชันที่แนะนำ",
- "requireSuggestedAppVersionDialogText": "การเลือกแอปที่ไม่ใช่เวอร์ชันที่แนะนำอาจทำให้เกิดปัญหาที่ไม่คาดคิด\n\nคุณต้องการดำเนินการต่ออยู่ดี?",
- "aboutLabel": "เกี่ยวกับ",
- "snackbarMessage": "คัดลอกลงคลิปบอร์ดแล้ว",
- "restartAppForChanges": "รีสตาร์ทแอปเพื่อใช้การเปลี่ยนค่า",
- "deleteTempDirLabel": "ลบไฟล์ชั่วคราว",
- "deleteTempDirHint": "ลบไฟล์ชั่วคราวที่ไม่ได้ใช้งาน",
- "deletedTempDir": "ลบไฟล์ชั่วคราวแล้ว",
- "exportSettingsLabel": "ส่งออกการตั้งค่า",
- "exportSettingsHint": "ส่งออกการตั้งค่าไปยังไฟล์ JSON",
- "exportedSettings": "ส่งออกการตั้งค่าเรียบร้อยแล้ว",
- "importSettingsLabel": "นำเข้าการตั้งค่า",
- "importSettingsHint": "นำเข้าการตั้งค่าจากไฟล์ JSON",
- "importedSettings": "นำเข้าการตั้งค่าเรียบร้อยแล้ว",
- "exportPatchesLabel": "ส่งออกการเลือกการแก้ไข",
- "exportPatchesHint": "ส่งออกการเลือกการแก้ไขไปยังไฟล์ JSON",
- "exportedPatches": "ส่งออกการเลือกการแก้ไขแล้ว",
- "noExportFileFound": "ไม่มีการเลือกการแก้ไขที่จะส่งออก",
- "importPatchesLabel": "นำเข้าการเลือกการแก้ไข",
- "importPatchesHint": "นำเข้าการเลือกการแก้ไขจากไฟล์ JSON",
- "importedPatches": "นำเข้าการเลือกการแก้ไขแล้ว",
- "resetStoredPatchesLabel": "รีเซ็ตการเลือกการแก้ไข",
- "resetStoredPatchesHint": "รีเซ็ตการเลือกการแก้ไขที่บันทึกไว้",
- "resetStoredPatchesDialogTitle": "รีเซ็ตการเลือกการแก้ไข?",
- "resetStoredPatchesDialogText": "การเลือกการแก้ไขเริ่มต้นจะถูกคืนค่า",
- "resetStoredPatches": "รีเซ็ตการเลือกการแก้ไขแล้ว",
- "resetStoredOptionsLabel": "รีเซ็ตตัวเลือกการแก้ไข",
- "resetStoredOptionsHint": "รีเซ็ตตัวเลือกการแก้ไขทั้งหมด",
- "resetStoredOptionsDialogTitle": "รีเซ็ตตัวเลือกการแก้ไข?",
- "resetStoredOptionsDialogText": "การรีเซ็ตตัวเลือกการแก้ไขจะลบตัวเลือกทั้งหมดที่บันทึกไว้",
- "resetStoredOptions": "รีเซ็ตตัวเลือกแล้ว",
- "deleteLogsLabel": "ล้างบันทึก",
- "deleteLogsHint": "ลบบันทึก ReVanced Manager ที่รวบรวมไว้",
- "deletedLogs": "ลบบันทึกแล้ว",
- "regenerateKeystoreLabel": "สร้าง Keystore ใหม่",
- "regenerateKeystoreHint": "สร้างคีย์สโตร์ที่ใช้ในการลงชื่อแอปใหม่",
- "regenerateKeystoreDialogTitle": "สร้าง Keystore ใหม่",
- "regenerateKeystoreDialogText": "แอปที่แก้ไขแล้วที่ลงชื่อด้วยคีย์สโตร์เก่าจะไม่สามารถอัปเดตได้อีกต่อไป",
- "regeneratedKeystore": "สร้างคีย์สโตร์ใหม่แล้ว",
- "exportKeystoreLabel": "ส่งออก keystore",
- "exportKeystoreHint": "ส่งออกคีย์สโตร์ที่ใช้ในการลงชื่อแอป",
- "exportedKeystore": "ส่งออก keystore แล้ว",
- "noKeystoreExportFileFound": "ไม่มี keystore ให้ส่งออก",
- "importKeystoreLabel": "นำเข้า keystore",
- "importKeystoreHint": "นำเข้าคีย์สโตร์ที่ใช้ในการลงชื่อแอป",
- "importedKeystore": "นำเข้า keystore แล้ว",
- "selectKeystorePassword": "รหัสผ่านของ keystore",
- "selectKeystorePasswordHint": "เลือกคีย์สโตร์รหัสผ่านที่ใช้ในการลงชื่อแอป",
- "jsonSelectorErrorMessage": "ใช้ไฟล์ JSON ที่เลือกไว้ไม่ได้",
- "keystoreSelectorErrorMessage": "ไม่สามารถใช้ไฟล์คีย์สโตร์ที่เลือกได้"
- },
- "appInfoView": {
- "widgetTitle": "ข้อมูลแอป",
- "openButton": "เปิด",
- "installButton": "ติดตั้ง",
- "uninstallButton": "ถอนการติดตั้ง",
- "unmountButton": "ถอนการติดตั้ง",
- "exportButton": "ส่งออก",
- "deleteButton": "ลบ",
- "rootDialogTitle": "ข้อผิดพลาด",
- "lastPatchedAppDescription": "นี่คือการสำรองข้อมูลของแอปที่แก้ไขล่าสุด",
- "unmountDialogText": "คุณแน่ใจหรือไม่ว่าต้องการถอนการติดตั้งแอปนี้?",
- "uninstallDialogText": "คุณแน่ใจหรือไม่ว่าต้องการถอนการติดตั้งแอปนี้?",
- "rootDialogText": "แอปได้รับการติดตั้งด้วยสิทธิ์ผู้ใช้ขั้นสูงแต่ ReVanced Manager ปัจจุบันยังไม่ได้รับสิทธิ์\nโปรดอนุญาตสิทธิ์ผู้ใช้ขั้นสูงก่อน",
- "removeAppDialogTitle": "ลบแอป?",
- "removeAppDialogText": "คุณแน่ใจหรือไม่ว่าต้องการลบการสำรองข้อมูลนี้?",
- "packageNameLabel": "ชื่อแพ็กเกจ",
- "installTypeLabel": "รูปแบบการติดตั้ง",
- "mountTypeLabel": "ติดตั้ง",
- "regularTypeLabel": "ปกติ",
- "patchedDateLabel": "วันที่ดัดแปลง",
- "appliedPatchesLabel": "ใช้การดัดแปลงแล้ว",
- "sizeLabel": "ขนาดไฟล์",
- "patchedDateHint": "${date} เวลา ${time}",
- "appliedPatchesHint": "ติดตั้งไว้ ${quantity} ตัว",
- "updateNotImplemented": "ยังไม่ได้ใช้คุณลักษณะนี้"
- },
- "contributorsView": {
- "widgetTitle": "ผู้ช่วยเหลือโปรเจกต์"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "เวอร์ชันไม่ตรงกัน",
- "mount_no_root": "ไม่มีสิทธิ์เข้าถึงรูท",
- "mount_missing_installation": "ไม่พบการติดตั้ง",
- "status_failure_blocked": "การติดตั้งถูกบล็อก",
- "install_failed_verification_failure": "การตรวจสอบล้มเหลว",
- "status_failure_invalid": "การติดตั้งไม่ถูกต้อง",
- "install_failed_version_downgrade": "ไม่สามารถลดระดับได้",
- "status_failure_conflict": "การติดตั้งขัดแย้งกัน",
- "status_failure_storage": "ปัญหาเกี่ยวกับพื้นที่จัดเก็บข้อมูลในการติดตั้ง",
- "status_failure_incompatible": "การติดตั้งไม่เข้ากัน",
- "status_failure_timeout": "การติดตั้งหมดเวลา",
- "status_unknown": "การติดตั้งล้มเหลว",
- "mount_version_mismatch_description": "การติดตั้งล้มเหลวเนื่องจากแอปที่ติดตั้งอยู่มีเวอร์ชันแตกต่างจากแอปที่แก้ไขแล้ว\n\nติดตั้งเวอร์ชันของแอปที่คุณกำลังติดตั้งและลองอีกครั้ง",
- "mount_no_root_description": "การติดตั้งล้มเหลวเนื่องจากไม่ได้รับอนุญาตให้เข้าถึงรูท\n\nอนุญาตให้ ReVanced Manager เข้าถึงรูทและลองอีกครั้ง",
- "mount_missing_installation_description": "การติดตั้งล้มเหลวเนื่องจากแอปที่ไม่ได้แก้ไขไม่ได้ติดตั้งบนอุปกรณ์นี้เพื่อติดตั้งทับ\n\nติดตั้งแอปที่ไม่ได้แก้ไขก่อนติดตั้งและลองอีกครั้ง",
- "status_failure_timeout_description": "การติดตั้งใช้เวลานานเกินไป\n\nคุณต้องการลองอีกครั้ง?",
- "status_failure_storage_description": "การติดตั้งล้มเหลวเนื่องจากพื้นที่จัดเก็บข้อมูลไม่เพียงพอ\n\nปลดปล่อยพื้นที่ว่างบางส่วนและลองอีกครั้ง",
- "status_failure_invalid_description": "การติดตั้งล้มเหลวเนื่องจากแอปที่แก้ไขแล้วไม่ถูกต้อง\n\nถอนการติดตั้งแอปและลองอีกครั้ง?",
- "status_failure_incompatible_description": "แอปนี้ไม่รองรับอุปกรณ์นี้\n\nใช้ APK ที่อุปกรณ์นี้รองรับแล้วลองอีกครั้ง",
- "status_failure_conflict_description": "การติดตั้งถูกป้องกันโดยการติดตั้งแอปที่มีอยู่\n\nถอนการติดตั้งแอปที่ติดตั้งอยู่และลองอีกครั้ง?",
- "status_failure_blocked_description": "การติดตั้งถูกบล็อกโดย ${packageName}.\n\nปรับการตั้งค่าความปลอดภัยของคุณและลองอีกครั้ง",
- "install_failed_verification_failure_description": "การติดตั้งล้มเหลวเนื่องจากปัญหาในการตรวจสอบ\n\nปรับการตั้งค่าความปลอดภัยของคุณและลองอีกครั้ง",
- "install_failed_version_downgrade_description": "การติดตั้งล้มเหลวเนื่องจากแอปที่แก้ไขแล้วมีเวอร์ชันต่ำกว่าแอปที่ติดตั้งอยู่\n\nถอนการติดตั้งแอปและลองอีกครั้ง?",
- "status_unknown_description": "การติดตั้งล้มเหลวเนื่องจากสาเหตุที่ไม่ทราบสาเหตุ โปรดลองอีกครั้ง"
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/tr_TR.i18n.json b/assets/i18n/tr_TR.i18n.json
deleted file mode 100755
index dae99b1b..00000000
--- a/assets/i18n/tr_TR.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "Tamam",
- "cancelButton": "İptal",
- "dismissButton": "Yoksay",
- "quitButton": "Çık",
- "updateButton": "Güncelle",
- "suggested": "Önerilen: ${version}",
- "yesButton": "Evet",
- "noButton": "Hayır",
- "warning": "Uyarı",
- "notice": "Dikkat",
- "noShowAgain": "Bunu tekrar gösterme",
- "add": "Ekle",
- "remove": "Kaldır",
- "showChangelogButton": "Değişiklikleri göster",
- "showUpdateButton": "Güncellemeyi göster",
- "navigationView": {
- "dashboardTab": "Gösterge Paneli",
- "patcherTab": "Yamalayıcı",
- "settingsTab": "Ayarlar"
- },
- "homeView": {
- "refreshSuccess": "Başarıyla yenilendi",
- "widgetTitle": "Gösterge Paneli",
- "updatesSubtitle": "Güncellemeler",
- "lastPatchedAppSubtitle": "Son yamalanan uygulama",
- "patchedSubtitle": "Yüklü uygulamalar",
- "changeLaterSubtitle": "Bunu daha sonra ayarlardan değiştirebilirsiniz.",
- "noSavedAppFound": "Uygulama bulunamadı",
- "noInstallations": "Kurulu yamalanmış uygulama yok",
- "installUpdate": "Güncelleme yüklensin mi?",
- "updateSheetTitle": "ReVanced Manager'ı güncelle",
- "updateDialogTitle": "Yeni güncelleme mevcut",
- "updatePatchesSheetTitle": "ReVanced Patches'ı güncelle",
- "updateChangelogTitle": "Değişiklikler",
- "updateDialogText": "${file} için yeni bir güncelleme mevcut.\n\nŞu anda kurulu olan sürüm: ${version}.",
- "downloadConsentDialogTitle": "Gerekli dosyalar indirilsin mi?",
- "downloadConsentDialogText": "ReVanced Manager'ın düzgün çalışması için gerekli dosyaları indirmesi gerekiyor.",
- "downloadConsentDialogText2": "Bu sizi ${url}'a bağlayacak.",
- "downloadingMessage": "Güncelleme indiriliyor...",
- "downloadedMessage": "Güncelleme indirildi",
- "installingMessage": "Güncelleme yükleniyor...",
- "errorDownloadMessage": "Güncelleme indirilemedi",
- "errorInstallMessage": "Güncelleme yüklenemedi",
- "noConnection": "İnternet bağlantısı yok"
- },
- "applicationItem": {
- "infoButton": "Bilgi"
- },
- "latestCommitCard": {
- "loadingLabel": "Yükleniyor...",
- "timeagoLabel": "${time} önce"
- },
- "patcherView": {
- "widgetTitle": "Yamalayıcı",
- "patchButton": "Yamala",
- "incompatibleArchWarningDialogText": "Bu mimaride yamalama henüz desteklenmiyor ve başarısız olabilir. Yine de devam edilsin mi?",
- "removedPatchesWarningDialogText": "Bu uygulamayı en son yamaladığınızdan beri kaldırılan yamalar:\n\n${patches}\n\n${newPatches}\nYine de devam edilsin mi?",
- "addedPatchesDialogText": "Bu uygulamayı en son yamaladığınızdan beri eklenen yamalar:\n\n${addedPatches}",
- "requiredOptionDialogText": "Bazı yama seçeneklerinin ayarlanması gerekiyor."
- },
- "appSelectorCard": {
- "widgetTitle": "Bir uygulama seç",
- "widgetTitleSelected": "Seçilen uygulama",
- "widgetSubtitle": "Bir uygulama seçilmedi",
- "noAppsLabel": "Hiçbir uygulama bulunamadı",
- "anyVersion": "Herhangi bir sürüm"
- },
- "patchSelectorCard": {
- "widgetTitle": "Yamaları seçin",
- "widgetTitleSelected": "Seçilen yamalar",
- "widgetSubtitle": "Önce bir uygulama seçin",
- "widgetEmptySubtitle": "Hiçbir yama seçilmedi"
- },
- "socialMediaCard": {
- "widgetTitle": "Sosyal ağlar",
- "widgetSubtitle": "Sosyal medyadayız!"
- },
- "appSelectorView": {
- "viewTitle": "Bir uygulama seçin",
- "searchBarHint": "Uygulama ara",
- "storageButton": "Depolama",
- "selectFromStorageButton": "Depolama alanından seçin",
- "errorMessage": "Seçilen uygulama kullanılamıyor",
- "downloadToast": "İndirme özelliği henüz kullanılamıyor",
- "requireSuggestedAppVersionDialogText": "Seçtiğiniz uygulamanın sürümü, önerilen sürümle eşleşmiyor ve bu durum beklenmeyen sorunlara yol açabilir. Lütfen önerilen sürümü kullanın.\n\nSeçilen sürüm: ${selected}\nÖnerilen sürüm: ${suggested}\n\nYine de devam etmek istiyorsanız, ayarlarda \"Önerilen uygulama sürümünü zorunlu kıl\" seçeneğini devre dışı bırakın.",
- "featureNotAvailable": "Özellik henüz etkin değil",
- "featureNotAvailableText": "Bu uygulama bir split APK'dır ve yalnızca root izinleriyle yamalanıp, mount yöntemiyle kurulabilir. Yine de, bir tam APK'yı depolamadan seçerek yamalayabilir ve kurabilirsiniz."
- },
- "patchesSelectorView": {
- "viewTitle": "Yamaları seçin",
- "searchBarHint": "Yama arayın",
- "universalPatches": "Ortak yamalar",
- "newPatches": "Yeni yamalar",
- "patches": "Yamalar",
- "doneButton": "Bitti",
- "defaultChip": "Varsayılan",
- "defaultTooltip": "Varsayılan yamaların tümünü seç",
- "noneChip": "Hiçbiri",
- "noneTooltip": "Tüm yamaların seçimini kaldır",
- "loadPatchesSelection": "Yama seçimini yükle",
- "noSavedPatches": "Seçilen uygulama için kaydedilmiş yama seçimi yok.\nMevcut seçimi kaydetmek için Bitti tuşuna basın.",
- "noPatchesFound": "Seçilen uygulama için yama bulunamadı",
- "setRequiredOption": "Bazı yamaların seçeneklerinin ayarlanmasını gerekiyor:\n\n${patches}\n\nLütfen devam etmeden önce onları ayarlayın."
- },
- "patchOptionsView": {
- "customValue": "Özel değer",
- "setToNull": "Boş olarak ayarla",
- "nullValue": "Bu seçeneğin değeri şu anda boş",
- "viewTitle": "Yama seçenekleri",
- "saveOptions": "Kaydet",
- "unselectPatch": "Yama seçimini kaldır",
- "tooltip": "Daha fazla giriş seçeneği",
- "selectFilePath": "Dosya yolunu seç",
- "selectFolder": "Klasör seç",
- "requiredOption": "Bu seçeneğin ayarlanması zorunludur",
- "unsupportedOption": "Bu seçenek desteklenmiyor",
- "requiredOptionNull": "Aşağıdaki seçeneklerin ayarlanması gerekiyor:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "Bu yamayı seçmek yamalama hatalarına sebep olabilir.\n\nUygulama sürümü: ${packageVersion}\nDesteklenen sürümler:\n${supportedVersions}",
- "unsupportedPatchVersion": "Yama, uygulamanın bu sürümü için desteklenmiyor.",
- "unsupportedRequiredOption": "Bu yama, bu uygulama tarafından desteklenmeyen fakat gerekli olan bir seçenek içeriyor",
- "patchesChangeWarningDialogText": "Varsayılan yama seçimini ve seçeneklerini kullanmanız önerilir. Bunları değiştirmek beklenmedik sorunlara yol açabilir.\n\nHerhangi bir yama seçimini değiştirmeden önce ayarlarda \"Yama seçimini değiştirmeye izin ver\" seçeneğini açmanız gerekir.",
- "patchesChangeWarningDialogButton": "Varsayılan seçimi kullan"
- },
- "installerView": {
- "installType": "Kurulum tipini seçin",
- "installTypeDescription": "Kullanılacak kurulum tipini seçin.",
- "installButton": "Yükle",
- "installRootType": "Mount",
- "installNonRootType": "Standart",
- "warning": "Beklenmedik sorunlar ile karşılaşmamak için, otomatik güncellemeleri yamalanmış uygulama için devre dışı bırakın.",
- "pressBackAgain": "İptal etmek için tekrar geri tuşuna basın",
- "openButton": "Aç",
- "notificationTitle": "ReVanced Manager yamalıyor",
- "notificationText": "Yükleyiciye dönmek için dokunun",
- "exportApkButtonTooltip": "Yamalanmış APK'yı dışa aktar",
- "exportLogButtonTooltip": "Log'u dışa aktar",
- "screenshotDetected": "Bir ekran görüntüsü algılandı. Log'u paylaşmaya çalışıyorsanız lütfen bunun yerine bir metin kopyasını paylaşın.\n\nLog panoya kopyalansın mı?",
- "copiedToClipboard": "Log panoya kopyalandı",
- "noExit": "Yükleyici hâlâ çalışıyor, çıkış yapılamaz..."
- },
- "settingsView": {
- "widgetTitle": "Ayarlar",
- "appearanceSectionTitle": "Görünüm",
- "teamSectionTitle": "Ekip",
- "debugSectionTitle": "Debug",
- "advancedSectionTitle": "Gelişmiş",
- "exportSectionTitle": "İçe ve dışa aktar",
- "dataSectionTitle": "Veri kaynakları",
- "themeModeLabel": "Uygulama teması",
- "systemThemeLabel": "Sistem",
- "lightThemeLabel": "Aydınlık",
- "darkThemeLabel": "Karanlık",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "Cihazınıza yakın bir deneyimin keyfini çıkarın",
- "languageLabel": "Dil",
- "languageUpdated": "Dil güncellendi",
- "sourcesLabel": "Alternatif kaynaklar",
- "sourcesLabelHint": "ReVanced Yamaları için alternatif kaynakları yapılandır",
- "useAlternativeSources": "Alternatif kaynakları kullan",
- "useAlternativeSourcesHint": "ReVanced Yamaları için API yerine alternatif kaynakları kullan",
- "sourcesResetDialogTitle": "Sıfırla",
- "sourcesResetDialogText": "Kaynaklarınızı varsayılan değerlerine sıfırlamak istediğinizden emin misiniz?",
- "apiURLResetDialogText": "API URL'nizi varsayılan değerine sıfırlamak istediğinizden emin misiniz?",
- "sourcesUpdateNote": "Not: Bu, ReVanced Yamalarını otomatik olarak alternatif kaynaklardan indirecektir.\n\nBu sizi alternatif kaynağa bağlayacaktır.",
- "apiURLLabel": "API URL'si",
- "apiURLHint": "ReVanced Manager'in API URL'sini ayarlayın",
- "selectApiURL": "API URL'si",
- "orgPatchesLabel": "Patches organization",
- "sourcesPatchesLabel": "Patches source",
- "contributorsLabel": "Katkıda bulunanlar",
- "contributorsHint": "ReVanced'a katkıda bulunanların listesi",
- "logsLabel": "Logları paylaş",
- "logsHint": "ReVanced Manager loglarını paylaşın",
- "enablePatchesSelectionLabel": "Yama seçimini değiştirmeye izin ver",
- "enablePatchesSelectionHint": "Yamaların seçilmesini veya seçiminin kaldırılmasını engelleme",
- "enablePatchesSelectionWarningText": "Yama seçimini değiştirmek beklenmedik sorunlara yol açabilir.\n\nYine de etkinleştirilsin mi?",
- "disablePatchesSelectionWarningText": "Yama seçimini değiştirmeyi devre dışı bırakmak üzeresiniz.\nVarsayılan yama seçimi geri yüklenecektir.\n\nYine de devre dışı bırakılsın mı?",
- "autoUpdatePatchesLabel": "Yamaları otomatik güncelle",
- "autoUpdatePatchesHint": "Yamaları otomatik olarak en son sürüme güncelle",
- "showUpdateDialogLabel": "Güncelleme penceresini göster",
- "showUpdateDialogHint": "Yeni bir güncelleme mevcut olduğunda bir pencere göster",
- "universalPatchesLabel": "Ortak yamaları göster",
- "universalPatchesHint": "Tüm uygulamaları ve ortak yamaları göster (uygulamaları listelemeyi yavaşlatabilir)",
- "lastPatchedAppLabel": "Yamalanan uygulamayı kaydet",
- "lastPatchedAppHint": "Daha sonra yüklemek veya dışa aktarmak için son yamayı kaydet",
- "versionCompatibilityCheckLabel": "Sürüm uyumluluğu kontrolü",
- "versionCompatibilityCheckHint": "Seçilen uygulama sürümüyle uyumlu olmayan yamaların seçilmesini engelle",
- "requireSuggestedAppVersionLabel": "Önerilen uygulama sürümünü zorunlu kıl",
- "requireSuggestedAppVersionHint": "Uygulamanın önerilen sürümünden farklı bir sürümün seçilmesini engelle",
- "requireSuggestedAppVersionDialogText": "Uygulamanın önerilen sürümünden farklı bir sürümünü seçmek beklenmedik sorunlara yol açabilir.\n\nYine de devam etmek istiyor musunuz?",
- "aboutLabel": "Hakkında",
- "snackbarMessage": "Panoya kopyalandı",
- "restartAppForChanges": "Değişiklikleri uygulamak için uygulamayı yeniden başlatın",
- "deleteTempDirLabel": "Geçici dosyaları sil",
- "deleteTempDirHint": "Kullanılmayan geçici dosyaları silin",
- "deletedTempDir": "Geçici dosyalar silindi",
- "exportSettingsLabel": "Ayarları dışa aktar",
- "exportSettingsHint": "Ayarları bir JSON dosyasına aktar",
- "exportedSettings": "Ayarlar dışa aktarıldı",
- "importSettingsLabel": "Ayarları içe aktar",
- "importSettingsHint": "Ayarları bir JSON dosyasından içe aktar",
- "importedSettings": "Ayarlar içe aktarıldı",
- "exportPatchesLabel": "Yama seçimini dışa aktar",
- "exportPatchesHint": "Yama seçimini bir JSON dosyasına kaydedin",
- "exportedPatches": "Yama seçimi dışa aktarıldı",
- "noExportFileFound": "Dışa aktarılabilecek yama seçimi yok",
- "importPatchesLabel": "Yama seçimini içe aktar",
- "importPatchesHint": "Yama seçimini bir JSON dosyasından içe aktarın",
- "importedPatches": "Yama seçimi içe aktarıldı",
- "resetStoredPatchesLabel": "Yama seçimini sıfırla",
- "resetStoredPatchesHint": "Mevcut yama seçimini sıfırlayın",
- "resetStoredPatchesDialogTitle": "Yama seçimi sıfırlansın mı?",
- "resetStoredPatchesDialogText": "Varsayılan yama seçimi geri yüklenecektir.",
- "resetStoredPatches": "Yama seçimi sıfırlandı",
- "resetStoredOptionsLabel": "Yama seçeneklerini sıfırla",
- "resetStoredOptionsHint": "Tüm yama seçeneklerini sıfırlayın",
- "resetStoredOptionsDialogTitle": "Yama seçenekleri sıfırlansın mı?",
- "resetStoredOptionsDialogText": "Yama seçeneklerini sıfırlamak, kayıtlı tüm seçenekleri kaldıracaktır.",
- "resetStoredOptions": "Seçenekler sıfırlandı",
- "deleteLogsLabel": "Logları temizle",
- "deleteLogsHint": "Kayıtlı ReVanced Manager loglarını silin",
- "deletedLogs": "Loglar silindi",
- "regenerateKeystoreLabel": "Keystore'u yeniden oluştur",
- "regenerateKeystoreHint": "Uygulamaları imzalamak için kullanılan keystore'u yeniden oluşturun",
- "regenerateKeystoreDialogTitle": "Keystore yeniden oluşturulsun mu?",
- "regenerateKeystoreDialogText": "Eski keystore ile imzalanan yamalanmış uygulamalar artık güncellenemeyecek.",
- "regeneratedKeystore": "Keystore yeniden oluşturuldu",
- "exportKeystoreLabel": "Keystore'u dışa aktar",
- "exportKeystoreHint": "Uygulamaları imzalamak için kullanılan keystore'u dışa aktar",
- "exportedKeystore": "Keystore dışa aktarıldı",
- "noKeystoreExportFileFound": "Dışa aktarılacak keystore yok",
- "importKeystoreLabel": "Keystore'u içe aktar",
- "importKeystoreHint": "Uygulamaları imzalamak için kullanılan bir keystore'u içe aktarın",
- "importedKeystore": "Keystore içe aktarıldı",
- "selectKeystorePassword": "Keystore şifresi",
- "selectKeystorePasswordHint": "Uygulamaları imzalamak için kullanılan keystore'un şifresini seçin",
- "jsonSelectorErrorMessage": "Seçilen JSON dosyası kullanılamıyor",
- "keystoreSelectorErrorMessage": "Seçilen keystore dosyası kullanılamıyor"
- },
- "appInfoView": {
- "widgetTitle": "Uygulama bilgisi",
- "openButton": "Aç",
- "installButton": "Yükle",
- "uninstallButton": "Kaldır",
- "unmountButton": "Mount'u kaldır",
- "exportButton": "Dışa aktar",
- "deleteButton": "Sil",
- "rootDialogTitle": "Hata",
- "lastPatchedAppDescription": "Bu, en son yamalanan uygulamanın bir yedeğidir.",
- "unmountDialogText": "Bu uygulamanın Mount'unu kaldırmak istediğinize emin misiniz?",
- "uninstallDialogText": "Bu uygulamayı kaldırmak istediğinizden emin misiniz?",
- "rootDialogText": "Uygulama root izinleriyle yüklendi, ancak şu anda ReVanced Manager'ın bu izinleri yok.\nLütfen önce root izni verin.",
- "removeAppDialogTitle": "Uygulama silinsin mi?",
- "removeAppDialogText": "Bu yedeği silmek istediğinizden emin misiniz?",
- "packageNameLabel": "Paket adı",
- "installTypeLabel": "Kurulum tipi",
- "mountTypeLabel": "Mount",
- "regularTypeLabel": "Standart",
- "patchedDateLabel": "Yamalandığı tarih",
- "appliedPatchesLabel": "Uygulanan yamalar",
- "sizeLabel": "Dosya boyutu",
- "patchedDateHint": "${date} ${time} ",
- "appliedPatchesHint": "${quantity} tane yama uygulanmış",
- "updateNotImplemented": "Bu özellik henüz geliştirilmedi"
- },
- "contributorsView": {
- "widgetTitle": "Katkıda bulunanlar"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "Sürüm uyuşmazlığı",
- "mount_no_root": "Root izni yok",
- "mount_missing_installation": "Kurulum bulunamadı",
- "status_failure_blocked": "Kurulum engellendi",
- "install_failed_verification_failure": "Doğrulama başarısız",
- "status_failure_invalid": "Kurulum geçersiz",
- "install_failed_version_downgrade": "Sürüm düşürülemiyor",
- "status_failure_conflict": "Kurulum çakışması",
- "status_failure_storage": "Kurulum depolama sorunu",
- "status_failure_incompatible": "Kurulum uyumsuz",
- "status_failure_timeout": "Kurulum zaman aşımı",
- "status_unknown": "Kurulum başarısız",
- "mount_version_mismatch_description": "Kurulu uygulamanın sürümü, yamalanmış uygulamadan farklı olduğu için kurulum başarısız oldu.\n\nMount ettiğiniz uygulamanın sürümünü yükleyin ve tekrar deneyin.",
- "mount_no_root_description": "Root izni verilmediğinden kurulum başarısız oldu.\n\nReVanced Manager'a root izni verin ve tekrar deneyin.",
- "mount_missing_installation_description": "Yama yapılmamış uygulama bu cihazda kurulu olmadığından üstüne Mount edilemedi ve kurulum başarısız oldu.\n\nMount etmeden önce yama yapılmamış uygulamayı yükleyin ve tekrar deneyin.",
- "status_failure_timeout_description": "Kurulumun tamamlanması çok uzun sürdü.\n\nTekrar denemek ister misiniz?",
- "status_failure_storage_description": "Yetersiz depolama alanı nedeniyle kurulum başarısız oldu.\n\nCihazınızda biraz yer açın ve tekrar deneyin.",
- "status_failure_invalid_description": "Yamalanmış uygulamanın geçersiz olması nedeniyle kurulum başarısız oldu.\n\nUygulamayı kaldırıp tekrar denemek ister misiniz?",
- "status_failure_incompatible_description": "Uygulama bu cihazla uyumlu değil.\n\nBu cihazla uyumlu olan bir APK kullanarak tekrar deneyin.",
- "status_failure_conflict_description": "Kurulum, uygulamanın mevcut kurulumu nedeniyle engellendi.\n\nKurulu uygulamayı kaldırıp tekrar denemek ister misiniz?",
- "status_failure_blocked_description": "Kurulum ${packageName} tarafından engellendi.\n\nGüvenlik ayarlarınızı değiştirin ve tekrar deneyin.",
- "install_failed_verification_failure_description": "Bir doğrulama sorunu nedeniyle kurulum başarısız oldu.\n\nGüvenlik ayarlarınızı değiştirin ve tekrar deneyin.",
- "install_failed_version_downgrade_description": "Yamalanmış uygulamanın sürümünün, kurulu uygulamadan daha düşük olması nedeniyle kurulum başarısız oldu.\n\nUygulamayı kaldırıp tekrar denemek ister misiniz?",
- "status_unknown_description": "Bilinmeyen bir nedenden dolayı kurulum başarısız oldu. Lütfen tekrar deneyin."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/uk_UA.i18n.json b/assets/i18n/uk_UA.i18n.json
deleted file mode 100755
index ffd9589a..00000000
--- a/assets/i18n/uk_UA.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "ОК",
- "cancelButton": "Скасувати",
- "dismissButton": "Відхилити",
- "quitButton": "Вийти",
- "updateButton": "Оновити",
- "suggested": "Запропоновано: ${version}",
- "yesButton": "Так",
- "noButton": "Ні",
- "warning": "Увага",
- "notice": "Примітка",
- "noShowAgain": "Не показувати знову",
- "add": "Додати",
- "remove": "Прибрати",
- "showChangelogButton": "Показати зміни",
- "showUpdateButton": "Показати оновлення",
- "navigationView": {
- "dashboardTab": "Головна",
- "patcherTab": "Патчер",
- "settingsTab": "Налаштування"
- },
- "homeView": {
- "refreshSuccess": "Успішно оновлено",
- "widgetTitle": "Панель керування",
- "updatesSubtitle": "Оновлення",
- "lastPatchedAppSubtitle": "Останній пропатчений застосунок",
- "patchedSubtitle": "Встановлені застосунки",
- "changeLaterSubtitle": "Ви можете змінити це в налаштуваннях пізніше.",
- "noSavedAppFound": "Застосунок не знайдено",
- "noInstallations": "Пропатчені застосунки не встановлено",
- "installUpdate": "Продовжити встановлення оновлення?",
- "updateSheetTitle": "Оновити ReVanced Manager",
- "updateDialogTitle": "Доступне нове оновлення",
- "updatePatchesSheetTitle": "Оновити ReVanced Patches",
- "updateChangelogTitle": "Список змін",
- "updateDialogText": "Доступне нове оновлення для ${file}.\n\nВстановлена версія ${version}.",
- "downloadConsentDialogTitle": "Завантажити необхідні файли?",
- "downloadConsentDialogText": "ReVanced Manager повинен завантажити необхідні файли для належної роботи.",
- "downloadConsentDialogText2": "Це приєднає Вас до ${url}.",
- "downloadingMessage": "Оновлення завантажується...",
- "downloadedMessage": "Оновлення завантажено",
- "installingMessage": "Оновлення встановлюєтся...",
- "errorDownloadMessage": "Неможливо завантажити оновлення",
- "errorInstallMessage": "Не вдалося встановити оновлення",
- "noConnection": "Немає з’єднання з інтернетом"
- },
- "applicationItem": {
- "infoButton": "Інформація"
- },
- "latestCommitCard": {
- "loadingLabel": "Завантаження...",
- "timeagoLabel": "${time} тому"
- },
- "patcherView": {
- "widgetTitle": "Патчер",
- "patchButton": "Патчити",
- "incompatibleArchWarningDialogText": "Патчінг на цій архітектурі ще не підтримується і може не спрацювати. Все одно продовжити?",
- "removedPatchesWarningDialogText": "Видалені патчі з моменту останнього патчінгу цього застосунку:\n\n${patches}\n\n${newPatches}Все одно продовжити?",
- "addedPatchesDialogText": "Додані патчі з моменту останнього патчінгу цього застосунку:\n\n${addedPatches}\n\n",
- "requiredOptionDialogText": "Потрібно встановити деякі параметри патчу."
- },
- "appSelectorCard": {
- "widgetTitle": "Вибрати застосунок",
- "widgetTitleSelected": "Вибраний застосунок",
- "widgetSubtitle": "Застосунок не вибрано",
- "noAppsLabel": "Не знайдено жодного застосунку",
- "anyVersion": "Будь-яка версія"
- },
- "patchSelectorCard": {
- "widgetTitle": "Вибрати патчі",
- "widgetTitleSelected": "Вибрані патчі",
- "widgetSubtitle": "Спочатку виберіть застосунок",
- "widgetEmptySubtitle": "Патчі не вибрано"
- },
- "socialMediaCard": {
- "widgetTitle": "Соцмережі",
- "widgetSubtitle": "Ми в мережі!"
- },
- "appSelectorView": {
- "viewTitle": "Вибір застосунку",
- "searchBarHint": "Пошук застосунку",
- "storageButton": "Сховище",
- "selectFromStorageButton": "Вибрати зі сховища",
- "errorMessage": "Неможливо використати вибраний застосунок",
- "downloadToast": "Функція завантаження поки що недоступна",
- "requireSuggestedAppVersionDialogText": "Вибрана Вами версія застосунку не відповідає запропонованій версії, це може призвести до неочікуваних проблем. Будь ласка, використовуйте запропоновану версію.\n\nВибрана версія: v${selected}\nЗапропонована версія: v${suggested}\n\nЩоб продовжити, вимкніть \"Вимагати запропоновану версію застосунку\" в налаштуваннях.",
- "featureNotAvailable": "Функція не реалізована",
- "featureNotAvailableText": "Цей застосунок є розділеним файлом APK, і він може бути пропатчений та надійно встановлений лише за допомогою монтування з правами root. Однак Ви можете пропатчити та встановити повний APK, вибравши його зі сховища."
- },
- "patchesSelectorView": {
- "viewTitle": "Вибір патчів",
- "searchBarHint": "Пошук патчів",
- "universalPatches": "Універсальні патчі",
- "newPatches": "Нові патчі",
- "patches": "Патчі",
- "doneButton": "Готово",
- "defaultChip": "За замовчуванням",
- "defaultTooltip": "Вибрати всі стандартні патчі",
- "noneChip": "Скинути вибір",
- "noneTooltip": "Скинути вибір з усіх патчів",
- "loadPatchesSelection": "Ввантажити вибір патчів",
- "noSavedPatches": "Немає збереженого вибору патчів для вибраного застосунку.\nНатисніть \"Готово\", щоб зберегти поточний вибір.",
- "noPatchesFound": "Для цього застосунку немає патчів",
- "setRequiredOption": "Деякі патчі вимагають встановлення параметрів:\n\n${patches}\n\n Будь ласка, встановіть їх перед продовженням."
- },
- "patchOptionsView": {
- "customValue": "Власне значення",
- "setToNull": "Встановити в null",
- "nullValue": "Значення цього параметра наразі null",
- "viewTitle": "Параметри патчу",
- "saveOptions": "Зберегти",
- "unselectPatch": "Скасувати вибір патча",
- "tooltip": "Більше варіантів вводу",
- "selectFilePath": "Оберіть шлях до файлу",
- "selectFolder": "Оберіть теку",
- "requiredOption": "Встановлення цього параметра є обов'язковим",
- "unsupportedOption": "Цей параметр не підтримується",
- "requiredOptionNull": "Необхідно встановити наступні параметри:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "Вибір цього патчу може призвести до помилок при встановленні патчу.\n\nВерсія застосунку: ${packageVersion}\nПідтримувані версії:\n${supportedVersions}",
- "unsupportedPatchVersion": "Патч не підтримується для цієї версії застосунку.",
- "unsupportedRequiredOption": "Цей патч містить необхідний параметр, який не підтримується цим застосунком",
- "patchesChangeWarningDialogText": "Рекомендується використовувати стандартний вибір патчів та параметрів. Їх зміна може призвести до неочікуваних проблем.\n\nПерш ніж змінювати вибір патчів, Вам потрібно увімкнути параметр \"Дозволити зміну вибору патчів\" у налаштуваннях.",
- "patchesChangeWarningDialogButton": "Використовувати стандартний вибір"
- },
- "installerView": {
- "installType": "Оберіть тип встановлення",
- "installTypeDescription": "Оберіть тип встановлення для продовження.",
- "installButton": "Встановити",
- "installRootType": "Монтувати",
- "installNonRootType": "Звичайний",
- "warning": "Вимкніть автоматичне оновлення пропатчених застосунків, щоб уникнути неочікуваних проблем.",
- "pressBackAgain": "Натисніть назад ще раз, щоб скасувати",
- "openButton": "Відкрити",
- "notificationTitle": "ReVanced Manager патчить",
- "notificationText": "Натисніть, щоб повернутися до інсталятора",
- "exportApkButtonTooltip": "Експортувати пропатчений APK",
- "exportLogButtonTooltip": "Експортувати журнал",
- "screenshotDetected": "Виявлено знімок екрана. Якщо ви намагаєтеся поділитися журналом налагодження, будь ласка, діліться його текстовою копією.\n\nСкопіювати журнал у буфер обміну?",
- "copiedToClipboard": "Журнал скопійовано до буфера обміну",
- "noExit": "Інсталятор все ще працює, неможливо вийти..."
- },
- "settingsView": {
- "widgetTitle": "Налаштування",
- "appearanceSectionTitle": "Вигляд",
- "teamSectionTitle": "Команда",
- "debugSectionTitle": "Налагодження",
- "advancedSectionTitle": "Розширені",
- "exportSectionTitle": "Імпорт та Експорт",
- "dataSectionTitle": "Джерела даних",
- "themeModeLabel": "Тема застосунку",
- "systemThemeLabel": "Системна",
- "lightThemeLabel": "Світла",
- "darkThemeLabel": "Темна",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "Насолоджуйтесь враженнями ближче до свого пристрою",
- "languageLabel": "Мова",
- "languageUpdated": "Мову застосунку оновлено",
- "sourcesLabel": "Альтернативні джерела",
- "sourcesLabelHint": "Налаштувати альтернативні джерела для ReVanced Patches",
- "useAlternativeSources": "Використовувати альтернативні джерела",
- "useAlternativeSourcesHint": "Використовувати альтернативні джерела для ReVanced Patches замість API",
- "sourcesResetDialogTitle": "Скинути",
- "sourcesResetDialogText": "Ви дійсно бажаєте відновити стандартні значення джерел?",
- "apiURLResetDialogText": "Ви дійсно бажаєте відновити API URL до стандартного значення?",
- "sourcesUpdateNote": "Примітка: Це автоматично завантажить ReVanced Patches з альтернативних джерел.\n\nЦе під'єднає Вас до альтернативного джерела.",
- "apiURLLabel": "URL-адреса API",
- "apiURLHint": "Налаштувати API URL для ReVanced Manager",
- "selectApiURL": "URL-адреса API",
- "orgPatchesLabel": "Patches organization",
- "sourcesPatchesLabel": "Patches source",
- "contributorsLabel": "Розробники",
- "contributorsHint": "Список розробників ReVanced",
- "logsLabel": "Поділитися журналами",
- "logsHint": "Поділитися журналами налагодження ReVanced Manager",
- "enablePatchesSelectionLabel": "Дозволити зміну вибору патчів",
- "enablePatchesSelectionHint": "Не перешкоджати вибору або скасуванню вибору патчів",
- "enablePatchesSelectionWarningText": "Зміна вибору патчів може спричинити несподівані проблеми.\n\nВсе одно увімкнути?",
- "disablePatchesSelectionWarningText": "Ви збираєтеся вимкнути зміну вибору патчів.\nБуде відновлено стандартний вибір патчів.\n\nВсе одно вимкнути?",
- "autoUpdatePatchesLabel": "Автоматичне оновлення патчів",
- "autoUpdatePatchesHint": "Автоматично оновлювати патчі до останньої версії",
- "showUpdateDialogLabel": "Показувати вікно оновлення",
- "showUpdateDialogHint": "Показувати діалогове вікно, коли доступне нове оновлення",
- "universalPatchesLabel": "Показувати універсальні патчі",
- "universalPatchesHint": "Показувати всі застосунки та універсальні патчі (може сповільнити список застосунків)",
- "lastPatchedAppLabel": "Зберегти пропатчений застосунок",
- "lastPatchedAppHint": "Зберегти останній патч для встановлення або експорту пізніше",
- "versionCompatibilityCheckLabel": "Перевірка сумісності версії",
- "versionCompatibilityCheckHint": "Запобігати вибору патчів, які несумісні з вибраною версією застосунку",
- "requireSuggestedAppVersionLabel": "Вимагати запропоновану версію застосунку",
- "requireSuggestedAppVersionHint": "Запобігати вибору застосунку з не рекомендованою версією",
- "requireSuggestedAppVersionDialogText": "Вибір застосунку не запропонованої версії може спричинити неочікувані проблеми.\n\nВсе одно бажаєте продовжити?",
- "aboutLabel": "Про застосунок",
- "snackbarMessage": "Скопійовано в буфер обміну",
- "restartAppForChanges": "Перезапустіть застосунок, щоб застосувати зміни",
- "deleteTempDirLabel": "Видалити тимчасові файли",
- "deleteTempDirHint": "Видалити невикористані тимчасові файли",
- "deletedTempDir": "Тимчасові файли видалено",
- "exportSettingsLabel": "Експортувати налаштування",
- "exportSettingsHint": "Експортувати налаштування у файл JSON",
- "exportedSettings": "Налаштування експортовано",
- "importSettingsLabel": "Імпортувати налаштування",
- "importSettingsHint": "Імпортувати налаштування з файлу JSON",
- "importedSettings": "Налаштування імпортовано",
- "exportPatchesLabel": "Експортувати вибір патчів",
- "exportPatchesHint": "Експортувати вибір патчів у файл JSON",
- "exportedPatches": "Вибір патчів експортовано",
- "noExportFileFound": "Немає вибору патчів для експорту",
- "importPatchesLabel": "Імпортувати вибір патчів",
- "importPatchesHint": "Імпортувати набір патчів з файлу JSON",
- "importedPatches": "Вибір патчів імпортовано",
- "resetStoredPatchesLabel": "Скинути вибір патчів",
- "resetStoredPatchesHint": "Скинути збережений вибір патчів",
- "resetStoredPatchesDialogTitle": "Скинути вибір патчів?",
- "resetStoredPatchesDialogText": "Стандартний вибір патчів буде відновлено.",
- "resetStoredPatches": "Вибір патчів скинуто",
- "resetStoredOptionsLabel": "Скинути опції патчів",
- "resetStoredOptionsHint": "Скинути всі опції патчів",
- "resetStoredOptionsDialogTitle": "Скинути опції патчів?",
- "resetStoredOptionsDialogText": "Скидання опцій патчів вилучить усі збережені опції.",
- "resetStoredOptions": "Опції скинуто",
- "deleteLogsLabel": "Очистити журнали",
- "deleteLogsHint": "Видалити зібрані журнали налагодження ReVanced Manager",
- "deletedLogs": "Журнали налагодження видалено ",
- "regenerateKeystoreLabel": "Перестворити сховище ключів",
- "regenerateKeystoreHint": "Перестворити сховище ключів, що використовується для підписування застосунків",
- "regenerateKeystoreDialogTitle": "Перестворити сховище ключів?",
- "regenerateKeystoreDialogText": "Пропатчені застосунки, підписані зі старим сховищем ключів, більше неможливо буде оновити.",
- "regeneratedKeystore": "Сховище ключів перестворено",
- "exportKeystoreLabel": "Експортувати сховище ключів",
- "exportKeystoreHint": "Експортувати сховище ключів, що використовується для підписування застосунків",
- "exportedKeystore": "Сховище ключів експортовано",
- "noKeystoreExportFileFound": "Немає сховища ключів для експорту",
- "importKeystoreLabel": "Імпортувати сховище ключів",
- "importKeystoreHint": "Імпортувати сховище ключів, що використовується для підписування застосунків",
- "importedKeystore": "Сховище ключів імпортовано",
- "selectKeystorePassword": "Пароль сховища ключів",
- "selectKeystorePasswordHint": "Виберіть пароль сховища ключів, що використовується для підписування застосунків",
- "jsonSelectorErrorMessage": "Неможливо використати вибраний JSON файл",
- "keystoreSelectorErrorMessage": "Неможливо використати вибраний файл сховища ключів"
- },
- "appInfoView": {
- "widgetTitle": "Про застосунок",
- "openButton": "Відкрити",
- "installButton": "Встановити",
- "uninstallButton": "Видалити",
- "unmountButton": "Розмонтувати",
- "exportButton": "Експортувати",
- "deleteButton": "Видалити",
- "rootDialogTitle": "Помилка",
- "lastPatchedAppDescription": "Це резервна копія застосунку, який був останній пропатчений.",
- "unmountDialogText": "Ви впевнені, що бажаєте розмонтувати цей застосунок?",
- "uninstallDialogText": "Ви впевнені, що бажаєте видалити цей застосунок?",
- "rootDialogText": "Застосунок було встановлено з правами суперкористувача, але наразі ReVanced Manager не має таких прав.\nБудь ласка, спочатку надайте права суперкористувача.",
- "removeAppDialogTitle": "Видалити застосунок?",
- "removeAppDialogText": "Ви впевнені, що хочете видалити цю резервну копію?",
- "packageNameLabel": "Ім'я пакету",
- "installTypeLabel": "Тип встановлення",
- "mountTypeLabel": "Монтувати",
- "regularTypeLabel": "Звичайний",
- "patchedDateLabel": "Дата патчінгу",
- "appliedPatchesLabel": "Застосовані патчі",
- "sizeLabel": "Розмір файлу",
- "patchedDateHint": "${date} о ${time}",
- "appliedPatchesHint": "${quantity} застосованих патчів",
- "updateNotImplemented": "Ця можливість ще не реалізована"
- },
- "contributorsView": {
- "widgetTitle": "Розробники"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "Невідповідність версії",
- "mount_no_root": "Немає root-доступу",
- "mount_missing_installation": "Встановлення не знайдено",
- "status_failure_blocked": "Встановлення заблоковано",
- "install_failed_verification_failure": "Не вдалося виконати перевірку",
- "status_failure_invalid": "Недійсне встановлення",
- "install_failed_version_downgrade": "Не можливо понизити",
- "status_failure_conflict": "Конфлікт встановлення",
- "status_failure_storage": "Проблема зі сховищем встановлення",
- "status_failure_incompatible": "Несумісне встановлення",
- "status_failure_timeout": "Таймаут встановлення",
- "status_unknown": "Не вдалося інсталювати",
- "mount_version_mismatch_description": "Встановлення не вдалося через те, що встановлений застосунок мав іншу версію, ніж пропатчений.\n\nУстановіть версію застосунку, яку ви монтуєте, і повторіть спробу.",
- "mount_no_root_description": "Встановлення не вдалося, оскільки не надано root-доступ.\n\nНадайте root-доступ ReVanced Manager і повторіть спробу.",
- "mount_missing_installation_description": "Встановлення не вдалося через те, що не пропатчений застосунок не встановлений на цьому пристрої, для монтування поверх нього.\n\nУстановіть не пропатчений застосунок перед монтуванням і повторіть спробу.",
- "status_failure_timeout_description": "Встановлення тривало занадто довго.\n\nБажаєте спробувати ще раз?",
- "status_failure_storage_description": "Встановлення не вдалося через брак пам’яті.\n\nЗвільніть місце та повторіть спробу.",
- "status_failure_invalid_description": "Встановлення не вдалося через те, що пропатчений застосунок недійсний.\n\nВидалити застосунок та повторити спробу?",
- "status_failure_incompatible_description": "Застосунок несумісний з цим пристроєм.\n\nВикористовуйте APK, який підтримується цим пристроєм і спробуйте ще раз.",
- "status_failure_conflict_description": "Встановленню завадив уже встановлений застосунок.\n\nВидалити встановлений застосунок та повторити спробу?",
- "status_failure_blocked_description": "Встановлення заблоковано ${packageName}.\n\nНалаштуйте параметри безпеки та повторіть спробу.",
- "install_failed_verification_failure_description": "Встановлення не вдалося через проблему перевірки.\n\nНалаштуйте параметри безпеки та повторіть спробу.",
- "install_failed_version_downgrade_description": "Встановлення не вдалося через те, що пропатчений застосунок мав старішу версію, ніж встановлений.\n\nВидалити застосунок та повторити спробу?",
- "status_unknown_description": "Встановлення не вдалося через невідому причину. Будь ласка спробуйте ще раз."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/ur_PK.i18n.json b/assets/i18n/ur_PK.i18n.json
deleted file mode 100755
index 7ab2fbd5..00000000
--- a/assets/i18n/ur_PK.i18n.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "okButton": "ٹھیک ہے",
- "cancelButton": "منسوخ کریں۔",
- "quitButton": "چھوڑو",
- "updateButton": "اپڈیٹ",
- "suggested": "تجویز کردہ: ${version}",
- "yesButton": "ہاں",
- "noButton": "نہیں",
- "warning": "انتباہ",
- "notice": "اطلاع",
- "noShowAgain": "اسے دوبارہ مت دکھائیں۔",
- "add": "شامل کریں۔",
- "navigationView": {
- "dashboardTab": "ڈیش بورڈ",
- "patcherTab": "پیچر",
- "settingsTab": "ترتیبات"
- },
- "homeView": {
- "refreshSuccess": "کامیابی کے ساتھ ریفریش کیا گیا",
- "widgetTitle": "ڈیش بورڈ",
- "updatesSubtitle": "اپڈیٹس",
- "patchedSubtitle": "پیچ شدہ ایپلی کیشنز",
- "noInstallations": "کوئی پیچ شدہ ایپلیکیشن انسٹالڈ نہیں",
- "installUpdate": "اپڈیٹس انسٹال کرنا جاری رکھیں؟",
- "updateChangelogTitle": "تبدیلیوں کے لاگز",
- "downloadingMessage": "اپ ڈیٹ ڈونلوڈ ہو رہی ہے...",
- "installingMessage": "اپ ڈیٹ انسٹال ہو رہی ہے...",
- "errorDownloadMessage": "اپ ڈیٹ ڈونلوڈ نہیں ہو سکی",
- "errorInstallMessage": "اپڈیٹ انسٹال نہیں ہو سکی",
- "noConnection": "انٹرنیٹ کنکشن میسر نہیں"
- },
- "applicationItem": {
- "infoButton": "معلومات نامہ"
- },
- "latestCommitCard": {
- "loadingLabel": "لوڈ ہو رہا ہے...",
- "timeagoLabel": "${time} پہلے"
- },
- "patcherView": {
- "widgetTitle": "پیچر",
- "patchButton": "پیچ کریں"
- },
- "appSelectorCard": {
- "noAppsLabel": "کوئی ایپلیکیشن نہیں ملی"
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/uz_UZ.i18n.json b/assets/i18n/uz_UZ.i18n.json
deleted file mode 100755
index 9de6e37e..00000000
--- a/assets/i18n/uz_UZ.i18n.json
+++ /dev/null
@@ -1,78 +0,0 @@
-{
- "okButton": "OK",
- "cancelButton": "Bekor qilish",
- "dismissButton": "O'tkazib yuborish",
- "quitButton": "Chiqish",
- "updateButton": "Yangilash",
- "suggested": "Taklif etilgan versiya: ${version}",
- "yesButton": "Xa",
- "noButton": "Yo'q",
- "warning": "Ogohlantirish",
- "notice": "Eslatma",
- "noShowAgain": "Boshqa ko'rsatilmasin",
- "add": "Qo'shish",
- "remove": "Olib tashlash",
- "showChangelogButton": "O'zgarishlarni ko'rsatish",
- "showUpdateButton": "Yangilanishni ko'rish",
- "navigationView": {
- "dashboardTab": "Asboblar",
- "settingsTab": "Sozlamalar"
- },
- "homeView": {
- "refreshSuccess": "Muvaffaqiyatli yangilandi",
- "widgetTitle": "Asboblar",
- "updatesSubtitle": "Yangilanishlar",
- "changeLaterSubtitle": "Keyinroq sozlamalardan o'zgartirishingiz mumkin.",
- "noInstallations": "Patchlangan dasturlar o'rnatilmagan",
- "installUpdate": "Yangilanish o'rnatilishi davom ettirilsinmi?",
- "updateSheetTitle": "ReVanced Manager yangilash",
- "updateDialogTitle": "Yangilanish mavjud",
- "updatePatchesSheetTitle": "ReVanched Patchlarni yangilash",
- "updateChangelogTitle": "O'zgarishlar",
- "updateDialogText": "${file} uchun yangilanish mavjud.\n\nHozirgi o'rnatilgan versiya: ${version}.",
- "downloadConsentDialogTitle": "Ba'zi fayllarni yuklab olish?",
- "downloadConsentDialogText": "ReVanced Manager ishlashi uchun ba'zi fayllarni yuklab olish kerak.",
- "downloadingMessage": "Yangilanishlar otvotti...",
- "downloadedMessage": "Yangilanish otqizildi",
- "installingMessage": "Yangilanishlar ornatib olinvotti...",
- "errorDownloadMessage": "Yangilanishni otqizib bomadi",
- "errorInstallMessage": "Yangilanishni ornatib bolmadi",
- "noConnection": "Internet bog‘lanishingiz yoq"
- },
- "applicationItem": {
- "infoButton": "Ma'lumot"
- },
- "latestCommitCard": {
- "loadingLabel": "Yuklanmoqda..."
- },
- "patcherView": {
- "patchButton": "Patch"
- },
- "appSelectorCard": {
- "noAppsLabel": "Ilovalar topilmadi"
- },
- "patchSelectorCard": {
- "widgetTitle": "Patchlarni tanlang",
- "widgetTitleSelected": "Tanlangan patchlar",
- "widgetSubtitle": "Ilovani birinchi tanlang"
- },
- "patchesSelectorView": {
- "viewTitle": "Patchlarni tanlang",
- "patches": "Patches"
- },
- "settingsView": {
- "widgetTitle": "Sozlamalar",
- "exportSectionTitle": "Import & eksport",
- "sourcesResetDialogTitle": "Oddiy holga qaytarish",
- "apiURLLabel": "API URL",
- "selectApiURL": "API URL",
- "sourcesPatchesLabel": "Patchlarni manbai",
- "contributorsLabel": "Yordamchilar",
- "contributorsHint": "ReVanced yordamchilani royxati",
- "aboutLabel": "Haqida",
- "snackbarMessage": "Vaqtinchalik xotiraga nusxalandi"
- },
- "contributorsView": {
- "widgetTitle": "Yordamchilar"
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/vi_VN.i18n.json b/assets/i18n/vi_VN.i18n.json
deleted file mode 100755
index 84f31823..00000000
--- a/assets/i18n/vi_VN.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "Đồng ý",
- "cancelButton": "Hủy",
- "dismissButton": "Từ bỏ",
- "quitButton": "Thoát",
- "updateButton": "Cập nhật",
- "suggested": "Được đề xuất: ${version}",
- "yesButton": "Có",
- "noButton": "Không",
- "warning": "Cảnh báo",
- "notice": "Lưu ý",
- "noShowAgain": "Không hiển thị lại điều này",
- "add": "Thêm",
- "remove": "Loại bỏ",
- "showChangelogButton": "Hiển thị nhật ký thay đổi",
- "showUpdateButton": "Hiển thị cập nhật",
- "navigationView": {
- "dashboardTab": "Tổng quan",
- "patcherTab": "Trình vá",
- "settingsTab": "Cài đặt"
- },
- "homeView": {
- "refreshSuccess": "Đã làm mới thành công",
- "widgetTitle": "Tổng quan",
- "updatesSubtitle": "Các bản cập nhật",
- "lastPatchedAppSubtitle": "Ứng dụng đã vá lần cuối",
- "patchedSubtitle": "Các ứng dụng đã cài đặt",
- "changeLaterSubtitle": "Bạn có thể thay đổi cài đặt này sau.",
- "noSavedAppFound": "Không tìm thấy ứng dụng",
- "noInstallations": "Không có ứng dụng đã vá nào được cài đặt",
- "installUpdate": "Tiếp tục cài đặt bản cập nhật?",
- "updateSheetTitle": "Cập nhật ReVanced Manager",
- "updateDialogTitle": "Có bản cập nhật mới",
- "updatePatchesSheetTitle": "Cập nhật Các bản vá ReVanced",
- "updateChangelogTitle": "Nhật ký thay đổi",
- "updateDialogText": "Có một bản cập nhật cho ${file}.\n\nPhiên bản đã cài hiện tại là ${version}.",
- "downloadConsentDialogTitle": "Tải các tập tin cần thiết?",
- "downloadConsentDialogText": "ReVanced Manager cần tải các tập tin cần thiết để hoạt động đúng cách.",
- "downloadConsentDialogText2": "Điều này sẽ kết nối bạn đến ${url}.",
- "downloadingMessage": "Đang tải xuống bản cập nhật...",
- "downloadedMessage": "Đã tải xuống bản cập nhật",
- "installingMessage": "Đang cài đặt bản cập nhật...",
- "errorDownloadMessage": "Không thể tải về bản cập nhật",
- "errorInstallMessage": "Không thể cài đặt bản cập nhật",
- "noConnection": "Không có kết nối mạng"
- },
- "applicationItem": {
- "infoButton": "Thông tin"
- },
- "latestCommitCard": {
- "loadingLabel": "Đang tải...",
- "timeagoLabel": "${time} trước"
- },
- "patcherView": {
- "widgetTitle": "Trình vá",
- "patchButton": "Vá",
- "incompatibleArchWarningDialogText": "Việc vá ứng dụng trên kiến trúc này hiện chưa được hỗ trợ và có thể thất bại. Bạn vẫn muốn tiếp tục?",
- "removedPatchesWarningDialogText": "Các bản vá đã loại bỏ từ lần cuối cùng bạn vá ứng dụng này:\n\n${patches}\n\n${newPatches}Vẫn tiếp tục?",
- "addedPatchesDialogText": "Các bản vá đã thêm vào từ lần cuối cùng bạn vá ứng dụng này:\n\n${addedPatches}",
- "requiredOptionDialogText": "Một số tùy chọn bản vá cần được thiết đặt."
- },
- "appSelectorCard": {
- "widgetTitle": "Chọn một ứng dụng",
- "widgetTitleSelected": "Ứng dụng đã chọn",
- "widgetSubtitle": "Không có ứng dụng được chọn",
- "noAppsLabel": "Không tìm thấy ứng dụng nào",
- "anyVersion": "Phiên bản bất kỳ"
- },
- "patchSelectorCard": {
- "widgetTitle": "Chọn bản vá",
- "widgetTitleSelected": "Các bản vá đã chọn",
- "widgetSubtitle": "Chọn một ứng dụng trước",
- "widgetEmptySubtitle": "Chưa chọn bản vá nào"
- },
- "socialMediaCard": {
- "widgetTitle": "Mạng xã hội",
- "widgetSubtitle": "Chúng tôi đang trực tuyến!"
- },
- "appSelectorView": {
- "viewTitle": "Chọn một ứng dụng",
- "searchBarHint": "Tìm ứng dụng",
- "storageButton": "Lưu trữ",
- "selectFromStorageButton": "Chọn từ bộ nhớ",
- "errorMessage": "Không thể dùng ứng dụng đã chọn",
- "downloadToast": "Tính năng tải về chưa khả dụng",
- "requireSuggestedAppVersionDialogText": "Phiên bản của ứng dụng bạn đã chọn không trùng khớp vói phiên bản được đề xuất có thể dẫn đến các phát sinh không mong muốn. Xin chọn ứng dụng khớp với phiên bản được đề xuất.\n\nPhiên bản đã chọn: ${selected}\nPhiên bản được đề xuất: ${suggested}\n\nĐể tiếp tục, tắt \"Yêu cầu phiên bản ứng dụng được đề xuất\" trong cài đặt.",
- "featureNotAvailable": "Tính năng chưa triển khai",
- "featureNotAvailableText": "Ứng dụng này là một APK tách rời và chỉ có thể được vá và cài một cách tin cậy bằng cách gắn kết với quyền root. Tuy nhiên, bạn có thể vá và cài APK đầy đủ bằng cách chọn chúng từ lưu trữ."
- },
- "patchesSelectorView": {
- "viewTitle": "Chọn bản vá",
- "searchBarHint": "Tìm bản vá",
- "universalPatches": "Các bản vá phổ quát",
- "newPatches": "Các bản vá mới",
- "patches": "Các bản vá",
- "doneButton": "Hoàn tất",
- "defaultChip": "Mặc định",
- "defaultTooltip": "Chọn tất cả bản vá mặc định",
- "noneChip": "Không có",
- "noneTooltip": "Bỏ chọn tất cả bản vá",
- "loadPatchesSelection": "Nạp các bản vá được chọn",
- "noSavedPatches": "Không có bản vá cho ứng dụng được chọn\nNhấn Hoàn tất để lưu lựa chọn hiện tại.",
- "noPatchesFound": "Không tìm thấy bản vá cho ứng dụng đã chọn",
- "setRequiredOption": "Một số bản vá yêu cầu thiết đặt tùy chọn:\n\n${patches}\n\nXin thiết đặt chúng trước khi tiếp tục."
- },
- "patchOptionsView": {
- "customValue": "Giá trị tùy chỉnh",
- "setToNull": "Đặt thành rỗng",
- "nullValue": "Giá trị tùy chọn này hiện tại đang rỗng",
- "viewTitle": "Tùy chọn bản vá",
- "saveOptions": "Lưu",
- "unselectPatch": "Bỏ chọn bản vá",
- "tooltip": "Tùy chọn nhập thêm",
- "selectFilePath": "Chọn đường dẫn tập tin",
- "selectFolder": "Chọn thư mục",
- "requiredOption": "Thiết lập tùy chọn này là bắt buộc",
- "unsupportedOption": "Tùy chọn này không được hỗ trợ",
- "requiredOptionNull": "Các tùy chọn sau cần được thiết đặt:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "Chọn bản vá này có thể gây lỗi khi vá.\n\nPhiên bản ứng dụng: ${packageVersion}\nPhiên bản được hỗ trợ: ${supportedVersions}",
- "unsupportedPatchVersion": "Bản vá không được hỗ trợ cho phiên bản ứng dụng này.",
- "unsupportedRequiredOption": "Bản vá này chứa một tùy chọn bắt buộc không được hỗ trợ bởi ứng dụng này",
- "patchesChangeWarningDialogText": "Bạn nên sử dụng lựa chọn bản vá mặc định và các tùy chọn. Thay đổi chúng có thể dẫn đến các vấn đề không mong muốn.\n\nBạn cần bật \"Cho phép thay đổi lựa chọn đường dẫn\" trong cài đặt trước khi thay đổi bất kỳ lựa chọn đường dẫn nào.",
- "patchesChangeWarningDialogButton": "Dùng lựa chọn mặc định"
- },
- "installerView": {
- "installType": "Chọn kiểu cài đặt",
- "installTypeDescription": "Chọn kiểu cài đặt để thực hiện với nó.",
- "installButton": "Cài đặt",
- "installRootType": "Gắn kết",
- "installNonRootType": "Thông thường",
- "warning": "Tắt tự động cập nhật cho ứng dụng đã vá để tránh các phát sinh không mong muốn.",
- "pressBackAgain": "Nhấn quay lại lần nữa để hủy",
- "openButton": "Mở",
- "notificationTitle": "ReVanced Manager đang vá",
- "notificationText": "Nhấn để trở lại trình cài đặt",
- "exportApkButtonTooltip": "Xuất APK đã vá",
- "exportLogButtonTooltip": "Xuất nhật ký",
- "screenshotDetected": "Một ảnh chụp màn hình đã được phát hiện. Nếu bạn đang cố chia sẻ nhật ký, xin thay bằng chia sẻ văn bản sao chép.\n\nSao chép nhật ký vào bảng tạm?",
- "copiedToClipboard": "Đã sao chép nhật ký vào bảng tạm",
- "noExit": "Trình cài đặt vẫn đang chạy, không thể thoát..."
- },
- "settingsView": {
- "widgetTitle": "Cài đặt",
- "appearanceSectionTitle": "Giao diện",
- "teamSectionTitle": "Đội ngũ",
- "debugSectionTitle": "Gỡ Lỗi",
- "advancedSectionTitle": "Nâng cao",
- "exportSectionTitle": "Nhập và xuất",
- "dataSectionTitle": "Nguồn dữ liệu",
- "themeModeLabel": "Chủ đề ứng dụng",
- "systemThemeLabel": "Hệ thống",
- "lightThemeLabel": "Sáng",
- "darkThemeLabel": "Chế độ tối",
- "dynamicThemeLabel": "Cá nhân",
- "dynamicThemeHint": "Tận hưởng trải nghiệm gần hơn với thiết bị của bạn",
- "languageLabel": "Ngôn ngữ",
- "languageUpdated": "Ngôn ngữ đã cập nhập",
- "sourcesLabel": "Nguồn thay thế",
- "sourcesLabelHint": "Cấu hình nguồn thay thế cho Bản vá ReVanced",
- "useAlternativeSources": "Dùng nguồn thay thế",
- "useAlternativeSourcesHint": "Dùng nguồn thay thế cho Bản vá ReVanced thay cho API",
- "sourcesResetDialogTitle": "Đặt lại",
- "sourcesResetDialogText": "Bạn có chắc chắn muốn đặt lại nguồn của mình về giá trị mặc định không?",
- "apiURLResetDialogText": "Bạn có chắc bạn muốn đặt lại API URL của bạn về giá trị mặc định của nó không?",
- "sourcesUpdateNote": "Lưu ý: Việc này sẽ tự động tải Bản vá ReVanced từ nguồn thay thế.",
- "apiURLLabel": "Địa chỉ URL của API",
- "apiURLHint": "Cấu hình địa chỉ URL API của ReVanced Manager",
- "selectApiURL": "Địa chỉ URL của API",
- "orgPatchesLabel": "Tác giả bản vá",
- "sourcesPatchesLabel": "Nguồn bản vá",
- "contributorsLabel": "Những người đóng góp",
- "contributorsHint": "Danh sách những người đóng góp cho ReVanced",
- "logsLabel": "Chia sẻ nhật ký",
- "logsHint": "Chia sẻ nhật ký ReVanced Manager",
- "enablePatchesSelectionLabel": "Cho phép thay đổi lựa chọn bản vá",
- "enablePatchesSelectionHint": "Không ngăn chặn việc chọn hoặc bỏ chọn các bản vá",
- "enablePatchesSelectionWarningText": "Thay đổi lựa chọn mặc định của các bản vá có thể gây vấn đề không ngờ tới.\n\nVẫn bật?",
- "disablePatchesSelectionWarningText": "Bạn chuẩn bị tắt thay đổi lựa chọn các bản vá.\nLựa chọn mặc định các bản vá sẽ được khôi phục.\n\nVẫn tắt?",
- "autoUpdatePatchesLabel": "Tự động cập nhật các bản vá",
- "autoUpdatePatchesHint": "Tự động cập nhật các bản vá lên phiên bản mới nhất",
- "showUpdateDialogLabel": "Hiện hộp thoại cập nhật",
- "showUpdateDialogHint": "Hiện một hộp thoại khi có một bản cập nhật",
- "universalPatchesLabel": "Các bản vá phổ quát",
- "universalPatchesHint": "Hiển thị tất cả các ứng dụng và các bản vá phổ quát (có thể gây chậm danh sách ứng dụng)",
- "lastPatchedAppLabel": "Lưu ứng dụng đã vá",
- "lastPatchedAppHint": "Lưu bản vá cuối để cài đặt hoặc xuất sau đó",
- "versionCompatibilityCheckLabel": "Kiểm tra khả năng tương thích của phiên bản",
- "versionCompatibilityCheckHint": "Việc ngăn chặn chọn bản vá không tương thích với phiên bản ứng dụng đã chọn",
- "requireSuggestedAppVersionLabel": "Yêu cầu phiên bản ứng dụng được đề xuất",
- "requireSuggestedAppVersionHint": "Ngăn chặn việc chọn một ứng dụng với phiên bản không được đề xuất",
- "requireSuggestedAppVersionDialogText": "Việc lựa chọn một ứng dụng không phải phiên bản được đề xuất có thể gây vấn đề phát sinh không mong muốn.\n\nBạn vẫn muốn tiếp tục?",
- "aboutLabel": "Giới thiệu",
- "snackbarMessage": "Đã sao chép vào khay nhớ tạm",
- "restartAppForChanges": "Khởi động lại ứng dụng để áp dụng thay đổi",
- "deleteTempDirLabel": "Xóa tệp tạm thời",
- "deleteTempDirHint": "Xóa các tệp tạm thời không sử dụng",
- "deletedTempDir": "Đã xóa các tệp tạm thời",
- "exportSettingsLabel": "Xuất cài đặt",
- "exportSettingsHint": "Xuất cài đặt thành một tập tin JSON",
- "exportedSettings": "Đã xuất cài đặt",
- "importSettingsLabel": "Nhập cài đặt",
- "importSettingsHint": "Nhập cài đặt từ một tập tin JSON",
- "importedSettings": "Đã nhập cài đặt",
- "exportPatchesLabel": "Xuất bản vá được chọn",
- "exportPatchesHint": "Xuất bản vá được chọn thành tệp JSON",
- "exportedPatches": "Đã xuất các bản vá được chọn",
- "noExportFileFound": "Không có lựa chọn bản vá để xuất",
- "importPatchesLabel": "Nhập lựa chọn bản vá",
- "importPatchesHint": "Nhập lựa chọn bản vá từ tệp JSON",
- "importedPatches": "Lựa chọn bản vá được nhập",
- "resetStoredPatchesLabel": "Đặt lại lựa chọn bản vá",
- "resetStoredPatchesHint": "Đặt lại lựa chọn bản vá được lưu trữ",
- "resetStoredPatchesDialogTitle": "Đặt lại lựa chọn bản vá?",
- "resetStoredPatchesDialogText": "Lựa chọn mặc định của các bản vá lỗi sẽ được khôi phục.",
- "resetStoredPatches": "Lựa chọn bản vá đã được đặt lại",
- "resetStoredOptionsLabel": "Đặt lại tùy chọn bản vá",
- "resetStoredOptionsHint": "Cài lại tất cả tùy chọn bản vá",
- "resetStoredOptionsDialogTitle": "Đặt lại tùy chọn bản vá?",
- "resetStoredOptionsDialogText": "Đặt lại tùy chọn bản vá sẽ xóa tất cả các tùy chọn đã lưu.",
- "resetStoredOptions": "Tùy chọn đã được cài lại",
- "deleteLogsLabel": "Xoá nhật ký",
- "deleteLogsHint": "Xóa nhật ký ReVanced Manager đã thu thập",
- "deletedLogs": "Đã xóa nhật ký",
- "regenerateKeystoreLabel": "Tái sinh kho khóa",
- "regenerateKeystoreHint": "Tạo lại kho khóa được sử dụng để ký ứng dụng",
- "regenerateKeystoreDialogTitle": "Tái sinh kho khóa?",
- "regenerateKeystoreDialogText": "Các ứng dụng đã vá được ký với kho khóa cũ sẽ không thể cập nhật được nữa.",
- "regeneratedKeystore": "Kho khóa đã tái sinh",
- "exportKeystoreLabel": "Xuất kho khóa",
- "exportKeystoreHint": "Xuất kho khóa được sử dụng để ký ứng dụng",
- "exportedKeystore": "Kho khóa đã được xuất",
- "noKeystoreExportFileFound": "Không có kho khóa nào được xuất",
- "importKeystoreLabel": "Nhập kho khóa",
- "importKeystoreHint": "Nhập kho khóa dùng để ký ứng dụng",
- "importedKeystore": "Kho khóa đã được nhập",
- "selectKeystorePassword": "Mật khẩu kho khóa",
- "selectKeystorePasswordHint": "Chọn mật khẩu kho khóa được sử dụng để ký ứng dụng",
- "jsonSelectorErrorMessage": "Không thể dùng tệp JSON đã chọn",
- "keystoreSelectorErrorMessage": "Không thể sử dụng tệp kho khóa đã chọn"
- },
- "appInfoView": {
- "widgetTitle": "Thông tin ứng dụng",
- "openButton": "Mở",
- "installButton": "Cài đặt",
- "uninstallButton": "Gỡ cài đặt",
- "unmountButton": "Bỏ gắn kết",
- "exportButton": "Xuất",
- "deleteButton": "Xoá",
- "rootDialogTitle": "Lỗi",
- "lastPatchedAppDescription": "Đây là bản sao lưu của ứng dụng đã được vá lần cuối.",
- "unmountDialogText": "Bạn có chắc muốn bỏ gắn kết ứng dụng này không?",
- "uninstallDialogText": "Bạn có chắc muốn gỡ cài đặt ứng dụng này không?",
- "rootDialogText": "Ứng dụng đã cài đặt với quyền siêu người dùng, nhưng hiện tại ReVanced không có quyền đó.\nVui lòng cấp quyền siêu người dùng trước.",
- "removeAppDialogTitle": "Xoá ứng dụng?",
- "removeAppDialogText": "Bạn có chắc chắn muốn xóa bản sao lưu này?",
- "packageNameLabel": "Tên gói",
- "installTypeLabel": "Kiểu cài đặt",
- "mountTypeLabel": "Gắn kết",
- "regularTypeLabel": "Thông thường",
- "patchedDateLabel": "Ngày vá",
- "appliedPatchesLabel": "Các bản vá đã áp dụng",
- "sizeLabel": "Kích cỡ tệp",
- "patchedDateHint": "${date} vào lúc ${time}",
- "appliedPatchesHint": "${quantity} bản vá đã áp dụng",
- "updateNotImplemented": "Tính năng này chưa được triển khai"
- },
- "contributorsView": {
- "widgetTitle": "Những người đóng góp"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "Phiên bản không phù hợp",
- "mount_no_root": "Không có quyền truy cập root",
- "mount_missing_installation": "Không tìm thấy bản cài đặt",
- "status_failure_blocked": "Bản cài đặt đã bị chặn",
- "install_failed_verification_failure": "Xác thực thất bại",
- "status_failure_invalid": "Bản cài đặt không hợp lệ",
- "install_failed_version_downgrade": "Không thể hạ cấp",
- "status_failure_conflict": "Xung đột cài đặt",
- "status_failure_storage": "Phát sinh lưu trữ cài đặt",
- "status_failure_incompatible": "Bản cài đặt không tương thích",
- "status_failure_timeout": "Hết hạn cài đặt",
- "status_unknown": "Cài đặt thất bại",
- "mount_version_mismatch_description": "Việc cài đặt đã thất bại do ứng dụng đã cài đặt khác với phiên bản đã được vá.\n\nHãy cài phiên bản ứng dụng đã gắn kết và thử lại.",
- "mount_no_root_description": "Việc cài đặt đã thất bại do không được cấp quyền truy cập root.\n\nCấp quyền truy cập root cho ReVanced Manager và thử lại.",
- "mount_missing_installation_description": "Việc cài đặt đã thất bại do ứng dụng chưa vá chưa được cài đặt trên thiết bị này nhằm gắn kết vào nó.\n\nCài ứng dụng chưa vá trước khi gắn kết và thử lại.",
- "status_failure_timeout_description": "Việc cài đặt mất quá lâu để hoàn thành.\n\nBạn có muốn thử lại?",
- "status_failure_storage_description": "Việc cài đặt đã thất bại do không đủ bộ nhớ.\n\nGiải phóng một phần bộ nhớ và thử lại.",
- "status_failure_invalid_description": "Việc cài đặt đã thất bại do ứng dụng đã vá không hợp lệ.\n\nGỡ cài đặt ứng dụng và thử lại?",
- "status_failure_incompatible_description": "Ứng dụng không tương thích với thiết bị này.\n\nDùng một APK được hỗ trợ bởi thiết bị và thử lại.",
- "status_failure_conflict_description": "Việc cài đặt đã bị ngăn chặn bởi bản cài đã có của ứng dụng.\n\nGỡ cài đặt ứng dụng đã cài và thử lại?",
- "status_failure_blocked_description": "Việc cài đặt đã đã bị chặn bởi ${packageName}.\n\nĐiều chỉnh thiết lập bảo mật của bạn và thử lại.",
- "install_failed_verification_failure_description": "Việc cài đặt đã thất bại do phát sinh xác minh.\n\nĐiều chỉnh thiết lập bảo mật của bạn và thử lại.",
- "install_failed_version_downgrade_description": "Việc cài đặt đã thất bại do ứng dụng đã vá có phiên bản nhỏ hơn ứng dụng đã cài đặt.\n\nGỡ cài đặt ứng dụng và thử lại?",
- "status_unknown_description": "Việc cài đặt đã thất bại do một lý do chưa rõ. Xin thử lại."
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/zh_CN.i18n.json b/assets/i18n/zh_CN.i18n.json
deleted file mode 100755
index 2458d84d..00000000
--- a/assets/i18n/zh_CN.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "确定",
- "cancelButton": "取消",
- "dismissButton": "忽略",
- "quitButton": "退出",
- "updateButton": "更新",
- "suggested": "建议版本:${version}",
- "yesButton": "是",
- "noButton": "否",
- "warning": "警告",
- "notice": "提示",
- "noShowAgain": "不再显示",
- "add": "添加",
- "remove": "移除",
- "showChangelogButton": "显示更新日志",
- "showUpdateButton": "显示更新",
- "navigationView": {
- "dashboardTab": "仪表盘",
- "patcherTab": "补丁安装工具",
- "settingsTab": "设置"
- },
- "homeView": {
- "refreshSuccess": "已刷新",
- "widgetTitle": "仪表盘",
- "updatesSubtitle": "更新",
- "lastPatchedAppSubtitle": "最后补丁的应用",
- "patchedSubtitle": "已安装的应用",
- "changeLaterSubtitle": "您可以稍后在设置中更改此设置。",
- "noSavedAppFound": "未找到应用",
- "noInstallations": "没有安装已修补的应用",
- "installUpdate": "继续安装该更新?",
- "updateSheetTitle": "更新 ReVanced Manager",
- "updateDialogTitle": "有可用的更新",
- "updatePatchesSheetTitle": "更新 ReVanced 补丁",
- "updateChangelogTitle": "更新日志",
- "updateDialogText": "${file} 有新的更新可用。\n\n当前安装的版本是${version}。",
- "downloadConsentDialogTitle": "下载必要文件吗?",
- "downloadConsentDialogText": "ReVanced Manager 需要下载必要的文件才能正常工作。",
- "downloadConsentDialogText2": "这会将您连接到 ${url}。",
- "downloadingMessage": "正在下载更新…",
- "downloadedMessage": "更新下载完成!",
- "installingMessage": "正在安装更新…",
- "errorDownloadMessage": "无法下载更新",
- "errorInstallMessage": "无法安装更新",
- "noConnection": "未连接网络"
- },
- "applicationItem": {
- "infoButton": "信息"
- },
- "latestCommitCard": {
- "loadingLabel": "正在加载…",
- "timeagoLabel": "${time} 前"
- },
- "patcherView": {
- "widgetTitle": "修补器",
- "patchButton": "安装补丁",
- "incompatibleArchWarningDialogText": "对此架构的修补尚不支持或可能失败。仍要继续吗?",
- "removedPatchesWarningDialogText": "自上次修补此应用程序以来已删除的修补程序:\n\n${patches}\n\n${newPatches}仍然继续吗?",
- "addedPatchesDialogText": "自上次修补此应用程序以来添加的修补程序:\n\n${addedPatches}",
- "requiredOptionDialogText": "某些补丁选项必须设置。"
- },
- "appSelectorCard": {
- "widgetTitle": "选择一个应用",
- "widgetTitleSelected": "已选择的应用",
- "widgetSubtitle": "未选择任何应用",
- "noAppsLabel": "未发现应用程序",
- "anyVersion": "所有版本"
- },
- "patchSelectorCard": {
- "widgetTitle": "选择补丁",
- "widgetTitleSelected": "已选补丁",
- "widgetSubtitle": "请先选择一个应用程序",
- "widgetEmptySubtitle": "未选择补丁"
- },
- "socialMediaCard": {
- "widgetTitle": "社交媒体",
- "widgetSubtitle": "扫塌以待,欢迎造访!"
- },
- "appSelectorView": {
- "viewTitle": "选择一个应用",
- "searchBarHint": "搜索应用",
- "storageButton": "存储空间",
- "selectFromStorageButton": "从存储空间中选择",
- "errorMessage": "无法使用所选应用程序",
- "downloadToast": "下载功能尚不可用",
- "requireSuggestedAppVersionDialogText": "你所选择的应用版本与推荐的版本不一致,这可能会导致不可预料的问题。请使用推荐的版本。\n\n选择的版本:${selected}\n推荐的版本:${suggested}",
- "featureNotAvailable": "功能未实现",
- "featureNotAvailableText": "此应用程序是一个拆分的 APK,只能通过安装root 权限来修补和可靠安装。 然而,您可以通过从存储中选择一个完整的 APK来修补和安装。"
- },
- "patchesSelectorView": {
- "viewTitle": "选择补丁",
- "searchBarHint": "搜索补丁",
- "universalPatches": "通用补丁",
- "newPatches": "新补丁",
- "patches": "补丁",
- "doneButton": "完成",
- "defaultChip": "默认",
- "defaultTooltip": "选择所有默认补丁",
- "noneChip": "无",
- "noneTooltip": "取消选择所有补丁",
- "loadPatchesSelection": "加载补丁选项",
- "noSavedPatches": "所选应用没有保存补丁选择。\n按完成保存当前选择。",
- "noPatchesFound": "未找到适用于所选应用程序的补丁",
- "setRequiredOption": "某些补丁需要设置选项:\n\n${patches}\n\n请设置后再继续。"
- },
- "patchOptionsView": {
- "customValue": "自定义值",
- "setToNull": "设置为为空",
- "nullValue": "此选项值当前为空",
- "viewTitle": "补丁选项",
- "saveOptions": "保存",
- "unselectPatch": "取消选择补丁",
- "tooltip": "更多输入选项",
- "selectFilePath": "选择文件路径",
- "selectFolder": "选择文件夹",
- "requiredOption": "设置此选项是必需的",
- "unsupportedOption": "不支持此选项",
- "requiredOptionNull": "必须设置以下选项:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "选择此补丁可能导致修补错误。\n\n应用版本: ${packageVersion}\n当前支持的版本:\n${supportedVersions}",
- "unsupportedPatchVersion": "此应用版本不支持补丁。",
- "unsupportedRequiredOption": "此补丁包含不支持此应用程序的必填选项",
- "patchesChangeWarningDialogText": "建议使用默认补丁选择和选项。更改它们可能会导致意外问题。\n\n您需要在更改任何补丁选择之前在设置中打开\"允许更改补丁选择\"。",
- "patchesChangeWarningDialogButton": "使用默认选择"
- },
- "installerView": {
- "installType": "选择安装类型",
- "installTypeDescription": "选择要继续的安装类型。",
- "installButton": "安装",
- "installRootType": "挂载",
- "installNonRootType": "常规",
- "warning": "禁用补丁应用的自动更新,以避免意外问题。",
- "pressBackAgain": "再次按返回键取消",
- "openButton": "打开",
- "notificationTitle": "ReVanced Manager 正在应用补丁",
- "notificationText": "点击返回到安装器",
- "exportApkButtonTooltip": "导出已修补的 APK",
- "exportLogButtonTooltip": "导出日志",
- "screenshotDetected": "已检测到截图。如果您要共享日志,请共享文本副本。\n\n将日志复制到剪贴板?",
- "copiedToClipboard": "复制日志至剪贴板",
- "noExit": "安装程序仍在运行,无法退出…"
- },
- "settingsView": {
- "widgetTitle": "设置",
- "appearanceSectionTitle": "外观",
- "teamSectionTitle": "团队",
- "debugSectionTitle": "调试",
- "advancedSectionTitle": "高级",
- "exportSectionTitle": "导入与导出",
- "dataSectionTitle": "数据来源",
- "themeModeLabel": "应用主题",
- "systemThemeLabel": "系统",
- "lightThemeLabel": "亮色主题",
- "darkThemeLabel": "深色模式",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "享受更贴近你的设备的体验",
- "languageLabel": "语言",
- "languageUpdated": "语言已更新",
- "sourcesLabel": "其他来源",
- "sourcesLabelHint": "配置替代补丁来源",
- "useAlternativeSources": "使用其他来源",
- "useAlternativeSourcesHint": "使用 ReVic Patches 替代API 的其他来源",
- "sourcesResetDialogTitle": "重置",
- "sourcesResetDialogText": "您确定要将源重置为默认值吗?",
- "apiURLResetDialogText": "您确定要重置你的 API URL 为默认值吗?",
- "sourcesUpdateNote": "注意:这将自动从备选来源下载ReVanced 补丁。\n\n这将连接到您的备用源。",
- "apiURLLabel": "API 地址",
- "apiURLHint": "配置 ReVanced Manager 的 API URL",
- "selectApiURL": "API 地址",
- "orgPatchesLabel": "补丁组织",
- "sourcesPatchesLabel": "补丁来源",
- "contributorsLabel": "贡献者",
- "contributorsHint": "ReVanced 贡献者列表",
- "logsLabel": "分享日志",
- "logsHint": "分享ReVanced Manager日志",
- "enablePatchesSelectionLabel": "允许更改补丁选项",
- "enablePatchesSelectionHint": "不要阻止选择或发送补丁",
- "enablePatchesSelectionWarningText": "更改补丁选择可能会导致意外的问题。\n\n仍然启用吗?",
- "disablePatchesSelectionWarningText": "您将禁用更改补丁选择。\n将恢复默认的补丁选择。\n\n无论如何都要禁用?",
- "autoUpdatePatchesLabel": "自动更新补丁",
- "autoUpdatePatchesHint": "自动更新补丁至最新版本",
- "showUpdateDialogLabel": "显示更新提示",
- "showUpdateDialogHint": "当有新的更新时显示对话框",
- "universalPatchesLabel": "显示通用补丁",
- "universalPatchesHint": "显示所有应用和通用补丁(可能会减慢应用列表)",
- "lastPatchedAppLabel": "保存已补丁的应用",
- "lastPatchedAppHint": "保存最后一个补丁以安装或导出后",
- "versionCompatibilityCheckLabel": "版本兼容性检查",
- "versionCompatibilityCheckHint": "禁止选择与所选应用版本不兼容的补丁",
- "requireSuggestedAppVersionLabel": "需要推荐的应用版本",
- "requireSuggestedAppVersionHint": "阻止选择版本不是建议版本的应用",
- "requireSuggestedAppVersionDialogText": "选择非建议版本的应用程序可能会导致意想不到的问题。\n\n您还想继续吗?",
- "aboutLabel": "关于",
- "snackbarMessage": "已复制到剪贴板",
- "restartAppForChanges": "重启应用以生效",
- "deleteTempDirLabel": "删除临时文件",
- "deleteTempDirHint": "删除未使用的临时文件",
- "deletedTempDir": "已删除临时文件",
- "exportSettingsLabel": "导出设置",
- "exportSettingsHint": "导出设置到 JSON 文件",
- "exportedSettings": "设置已导出",
- "importSettingsLabel": "导入设置",
- "importSettingsHint": "从 JSON 文件导入设置",
- "importedSettings": "已导入设置",
- "exportPatchesLabel": "导出选择的补丁",
- "exportPatchesHint": "将选择的补丁导出到 JSON 文件",
- "exportedPatches": "导出选择的修补程序",
- "noExportFileFound": "没有选择要导出的补丁",
- "importPatchesLabel": "导入选择的补丁",
- "importPatchesHint": "从 JSON 文件导入补丁选择",
- "importedPatches": "已导入的补丁选择",
- "resetStoredPatchesLabel": "重置补丁选择",
- "resetStoredPatchesHint": "重置存储的补丁选择",
- "resetStoredPatchesDialogTitle": "重置补丁选择?",
- "resetStoredPatchesDialogText": "补丁的默认选择将被恢复。",
- "resetStoredPatches": "补丁选择已重置",
- "resetStoredOptionsLabel": "重置补丁选项",
- "resetStoredOptionsHint": "重置全部补丁选项",
- "resetStoredOptionsDialogTitle": "重置补丁选项?",
- "resetStoredOptionsDialogText": "重置补丁选项将删除所有已保存的选项。",
- "resetStoredOptions": "选项已重置",
- "deleteLogsLabel": "清除日志",
- "deleteLogsHint": "删除收集的 ReVanced Manager 日志",
- "deletedLogs": "已删除日志",
- "regenerateKeystoreLabel": "重新生成密钥存储",
- "regenerateKeystoreHint": "重新生成用于签署应用程序的密钥存储",
- "regenerateKeystoreDialogTitle": "重新生成密钥存储?",
- "regenerateKeystoreDialogText": "使用旧密钥库签名的已打补丁应用程序将无法更新。",
- "regeneratedKeystore": "重新生成密钥库",
- "exportKeystoreLabel": "导出密钥库",
- "exportKeystoreHint": "导出用于签署应用程序的密钥存储",
- "exportedKeystore": "已导出密钥库",
- "noKeystoreExportFileFound": "没有要导出的密钥库",
- "importKeystoreLabel": "导入密钥库",
- "importKeystoreHint": "导入用于签署应用程序的密钥库",
- "importedKeystore": "密钥库已导入\n\n",
- "selectKeystorePassword": "密钥存储密码",
- "selectKeystorePasswordHint": "选择用于签署应用程序的密钥库密码",
- "jsonSelectorErrorMessage": "无法使用所选的 json 文件",
- "keystoreSelectorErrorMessage": "无法使用选定的密钥存储文件"
- },
- "appInfoView": {
- "widgetTitle": "应用信息",
- "openButton": "打开",
- "installButton": "安装",
- "uninstallButton": "卸载",
- "unmountButton": "卸载",
- "exportButton": "导出",
- "deleteButton": "删除",
- "rootDialogTitle": "错误",
- "lastPatchedAppDescription": "这是上次修补的应用程序的备份。",
- "unmountDialogText": "您确定要卸载此应用程序吗?",
- "uninstallDialogText": "确定要卸载此应用吗?",
- "rootDialogText": "应用程序曾以超级用户权限安装,但是 ReVanced 管理器目前没有权限。\n请先授予超级用户权限。",
- "removeAppDialogTitle": "删除应用?",
- "removeAppDialogText": "您确定要删除此备份吗?",
- "packageNameLabel": "包名",
- "installTypeLabel": "安装类型",
- "mountTypeLabel": "安装",
- "regularTypeLabel": "常规",
- "patchedDateLabel": "修补日期",
- "appliedPatchesLabel": "应用的补丁",
- "sizeLabel": "文件大小",
- "patchedDateHint": "${date} 于 ${time}",
- "appliedPatchesHint": "已应用 ${quantity} 个补丁",
- "updateNotImplemented": "此功能尚未实现"
- },
- "contributorsView": {
- "widgetTitle": "贡献者"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "版本不兼容",
- "mount_no_root": "无超级用户权限",
- "mount_missing_installation": "未找到安装",
- "status_failure_blocked": "安装已被阻止",
- "install_failed_verification_failure": "校验失败",
- "status_failure_invalid": "安装失败",
- "install_failed_version_downgrade": "无法降级",
- "status_failure_conflict": "安装冲突",
- "status_failure_storage": "安装存储错误",
- "status_failure_incompatible": "安装不兼容",
- "status_failure_timeout": "安装超时",
- "status_unknown": "安装失败",
- "mount_version_mismatch_description": "安装失败,因为已安装的应用不同于已修补的应用。\n\n安装您正在挂载的应用程序版本,然后重试。",
- "mount_no_root_description": "由于未授予 root 访问权限,安装失败。\n\n授予 ReVanced Manager root 访问权限,然后重试。",
- "mount_missing_installation_description": "安装失败,因为此设备上没有安装未经修补的应用以挂载它。\n\n在安装前安装未经修补的应用,然后重试。",
- "status_failure_timeout_description": "安装时间太长。\n\n您想再试一次吗?",
- "status_failure_storage_description": "由于存储空间不足,安装失败。\n\n释放一些空间,然后重试。",
- "status_failure_invalid_description": "由于修补的应用程序无效,安装失败。\n\n卸载该应用程序并重试?",
- "status_failure_incompatible_description": "该应用程序与该设备不兼容。\n\n使用此设备支持的 APK,然后重试。",
- "status_failure_conflict_description": "该应用程序的现有安装阻止了安装。\n\n卸载已安装的应用程序并重试?",
- "status_failure_blocked_description": "安装被 ${packageName} 阻止。\n\n调整您的安全设置并重试。",
- "install_failed_verification_failure_description": "由于验证问题,安装失败。\n\n请调整安全设置并重试。",
- "install_failed_version_downgrade_description": "由于修补的应用程序版本低于已安装的应用程序,安装失败。\n\n卸载该应用程序并重试?",
- "status_unknown_description": "由于未知原因,安装失败。请重试。"
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/zh_HK.i18n.json b/assets/i18n/zh_HK.i18n.json
deleted file mode 100755
index eb669dd5..00000000
--- a/assets/i18n/zh_HK.i18n.json
+++ /dev/null
@@ -1,156 +0,0 @@
-{
- "okButton": "確定",
- "cancelButton": "取消",
- "dismissButton": "忽略",
- "quitButton": "離開",
- "updateButton": "更新",
- "suggested": "建議: ${version}",
- "yesButton": "是",
- "noButton": "不是",
- "warning": "警告",
- "notice": "通知",
- "noShowAgain": "唔再顯示哩個內容",
- "add": "增加",
- "remove": "移除",
- "showChangelogButton": "顯示更新日誌",
- "showUpdateButton": "顯示更新",
- "navigationView": {
- "dashboardTab": "儀表板",
- "patcherTab": "修補工具",
- "settingsTab": "設定"
- },
- "homeView": {
- "refreshSuccess": "刷新成功",
- "widgetTitle": "儀表板",
- "updatesSubtitle": "更新",
- "changeLaterSubtitle": "你可以之後喺設定改返",
- "noInstallations": "未安裝修改咗既應用",
- "installUpdate": "繼續安裝更新嗎?",
- "updateSheetTitle": "更新 ReVanced Manager",
- "updateDialogTitle": "有新嘅更新",
- "updatePatchesSheetTitle": "更新 ReVanced 補丁",
- "updateChangelogTitle": "變更日誌",
- "downloadConsentDialogTitle": "下載必要嘅文件?",
- "downloadingMessage": "正在下載更新",
- "downloadedMessage": "已下載更新",
- "installingMessage": "正在安裝更新…",
- "errorDownloadMessage": "下載唔到更新",
- "errorInstallMessage": "安裝更新失敗",
- "noConnection": "冇網路連線"
- },
- "applicationItem": {
- "infoButton": "信息"
- },
- "latestCommitCard": {
- "loadingLabel": "載入中...",
- "timeagoLabel": "${time} 之前"
- },
- "patcherView": {
- "widgetTitle": "修補工具",
- "patchButton": "修補"
- },
- "appSelectorCard": {
- "widgetTitle": "選擇一個應用程式",
- "widgetTitleSelected": "揀咗嘅應用程式",
- "widgetSubtitle": "冇揀咗嘅應用程式",
- "noAppsLabel": "搵唔到應用",
- "anyVersion": "任何版本"
- },
- "patchSelectorCard": {
- "widgetTitle": "選擇補丁",
- "widgetTitleSelected": "已揀選嘅補丁",
- "widgetSubtitle": "揀個應用先",
- "widgetEmptySubtitle": "冇揀咗嘅補丁"
- },
- "socialMediaCard": {
- "widgetTitle": "社交",
- "widgetSubtitle": "我哋上線啦!"
- },
- "appSelectorView": {
- "viewTitle": "選擇一個應用程式",
- "searchBarHint": "搜索應用程式",
- "storageButton": "儲存空間",
- "selectFromStorageButton": "係儲存空間裏面選擇",
- "errorMessage": "用唔到揀咗嘅應用",
- "downloadToast": "下載功能依家未用得",
- "featureNotAvailable": "功能未能提供"
- },
- "patchesSelectorView": {
- "viewTitle": "揀補丁",
- "searchBarHint": "搜尋補丁",
- "universalPatches": "Universal patches",
- "newPatches": "新補丁",
- "patches": "補丁",
- "doneButton": "完成",
- "defaultChip": "預設",
- "defaultTooltip": "選擇所有預設嘅補丁",
- "noneChip": "冇",
- "noneTooltip": "取消選擇所有修補項目",
- "loadPatchesSelection": "載入選擇嘅補丁",
- "noSavedPatches": "冇保存咗嘅補丁選擇俾呢個應用。\n撳\"完成\"嚟保存當前嘅選擇。",
- "noPatchesFound": "冇補丁俾呢個揀咗嘅應用。"
- },
- "patchItem": {
- "unsupportedDialogText": "揀咗哩種修改可能會導致修改錯誤\n\nApp 版本: ${packageVersion}\n現時支援嘅版本: \n${supportedVersions}"
- },
- "installerView": {
- "installButton": "安裝",
- "openButton": "開啟",
- "notificationTitle": "ReVanced 管理器正在修補中",
- "notificationText": "點擊即可返回安裝程式",
- "noExit": "安裝程序進行緊,不好退出"
- },
- "settingsView": {
- "widgetTitle": "設定",
- "appearanceSectionTitle": "主題",
- "teamSectionTitle": "團隊",
- "advancedSectionTitle": "進階選項",
- "exportSectionTitle": "匯入/匯出",
- "darkThemeLabel": "暗黑模式",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "享受一個更貼近你裝置嘅體驗",
- "languageLabel": "語言",
- "sourcesResetDialogTitle": "重設",
- "sourcesResetDialogText": "真喺要重新設定你嘅來源返去預設值?",
- "apiURLResetDialogText": "真喺要重新設定 API URL 返去預設值?",
- "apiURLLabel": "API 网址",
- "selectApiURL": "API 网址",
- "orgPatchesLabel": "修補檔組織",
- "sourcesPatchesLabel": "修補檔來源",
- "contributorsLabel": "貢獻者",
- "contributorsHint": "ReVanced 貢獻者列表",
- "logsLabel": "分享記錄檔",
- "logsHint": "分享 ReVanced Manager 嘅記錄檔",
- "aboutLabel": "關於",
- "snackbarMessage": "已複製到剪貼簿",
- "restartAppForChanges": "重啟應用嚟套用變更",
- "deleteTempDirLabel": "刪除暫時文件",
- "deleteTempDirHint": "刪除未使用的暫存檔案",
- "deletedTempDir": "暫時文件已刪除",
- "deletedLogs": "日志已被刪除",
- "exportKeystoreLabel": "導出 keystore",
- "exportedKeystore": "已導出 keystore",
- "noKeystoreExportFileFound": "沒有可導出的 keystore",
- "importKeystoreLabel": "導入 keystore",
- "importedKeystore": "已導入 keystore",
- "jsonSelectorErrorMessage": "無法使用選取的 JSON 文件"
- },
- "appInfoView": {
- "widgetTitle": "應用程式資訊",
- "openButton": "打開",
- "installButton": "安裝",
- "uninstallButton": "解除安裝",
- "rootDialogTitle": "錯誤",
- "rootDialogText": "程序已用 superuser 權限安裝完畢,但是目前 ReVanced Manager 還未授權.\n請讓ReVanced Manager 授權 superuser",
- "packageNameLabel": "應用程式名稱",
- "installTypeLabel": "安裝方式",
- "patchedDateLabel": "修補日期",
- "appliedPatchesLabel": "已經修補咗嘅補丁",
- "patchedDateHint": "${date} 嘅 ${time}",
- "appliedPatchesHint": "${quantity} 修補咗嘅補丁",
- "updateNotImplemented": "呢個功能仲未開發"
- },
- "contributorsView": {
- "widgetTitle": "貢獻者"
- }
-}
\ No newline at end of file
diff --git a/assets/i18n/zh_TW.i18n.json b/assets/i18n/zh_TW.i18n.json
deleted file mode 100755
index 9e874f22..00000000
--- a/assets/i18n/zh_TW.i18n.json
+++ /dev/null
@@ -1,298 +0,0 @@
-{
- "okButton": "確定",
- "cancelButton": "取消",
- "dismissButton": "忽略",
- "quitButton": "離開",
- "updateButton": "更新",
- "suggested": "建議版本:${version}",
- "yesButton": "是",
- "noButton": "否",
- "warning": "警告",
- "notice": "請注意",
- "noShowAgain": "不再顯示此訊息",
- "add": "新增",
- "remove": "移除",
- "showChangelogButton": "顯示變更紀錄",
- "showUpdateButton": "顯示更新內容",
- "navigationView": {
- "dashboardTab": "儀表板",
- "patcherTab": "修補工具",
- "settingsTab": "設定"
- },
- "homeView": {
- "refreshSuccess": "重新整理成功",
- "widgetTitle": "儀表板",
- "updatesSubtitle": "更新",
- "lastPatchedAppSubtitle": "最近的已修補應用程式",
- "patchedSubtitle": "已安裝應用程式",
- "changeLaterSubtitle": "你稍後可以在設定中變更此選項。",
- "noSavedAppFound": "找不到應用程式",
- "noInstallations": "未安裝已修補的應用程式",
- "installUpdate": "是否要繼續更新?",
- "updateSheetTitle": "更新 ReVanced Manager",
- "updateDialogTitle": "有可用的更新",
- "updatePatchesSheetTitle": "更新 ReVanced 修補檔",
- "updateChangelogTitle": "變更紀錄",
- "updateDialogText": "${file} 已有全新版本可供更新。\n\n目前安裝的版本為 ${version}。",
- "downloadConsentDialogTitle": "是否下載所需檔案?",
- "downloadConsentDialogText": "ReVanced Manager 要有所需檔案才能正常運作。",
- "downloadConsentDialogText2": "你將前往 ${url} 進行下載。",
- "downloadingMessage": "正在下載更新...",
- "downloadedMessage": "已下載更新",
- "installingMessage": "正在安裝更新...",
- "errorDownloadMessage": "無法下載更新",
- "errorInstallMessage": "無法安裝更新",
- "noConnection": "沒有網際網路連線"
- },
- "applicationItem": {
- "infoButton": "資訊"
- },
- "latestCommitCard": {
- "loadingLabel": "載入中…",
- "timeagoLabel": "${time} 前"
- },
- "patcherView": {
- "widgetTitle": "修補工具",
- "patchButton": "修補",
- "incompatibleArchWarningDialogText": "由於處理器架構尚不支援,有可能無法完成修補。是否仍要繼續?",
- "removedPatchesWarningDialogText": "自應用程式移除的既存修補檔:\n\n${patches}\n\n${newPatches}是否仍要繼續?",
- "addedPatchesDialogText": "新增至應用程式的全新修補檔:\n\n${addedPatches}\n\n",
- "requiredOptionDialogText": "部分修補檔選項必須進行設定。"
- },
- "appSelectorCard": {
- "widgetTitle": "選擇應用程式",
- "widgetTitleSelected": "目標應用程式",
- "widgetSubtitle": "尚未選擇應用程式",
- "noAppsLabel": "找不到應用程式",
- "anyVersion": "任何版本"
- },
- "patchSelectorCard": {
- "widgetTitle": "選擇修補檔",
- "widgetTitleSelected": "已選擇的修補檔",
- "widgetSubtitle": "請先選擇應用程式",
- "widgetEmptySubtitle": "未選取修補檔"
- },
- "socialMediaCard": {
- "widgetTitle": "社群媒體",
- "widgetSubtitle": "掃榻以待,歡迎造訪!"
- },
- "appSelectorView": {
- "viewTitle": "選擇應用程式",
- "searchBarHint": "搜尋應用程式",
- "storageButton": "儲存空間",
- "selectFromStorageButton": "從儲存空間中選擇",
- "errorMessage": "無法使用所選應用程式",
- "downloadToast": "下載功能尚不可用",
- "requireSuggestedAppVersionDialogText": "你所選的應用程式與建議版本不符,無法保證其穩定性。請改用建議版本進行修補。\n\n所選版本:${selected}\n建議版本:${suggested}\n\n如果仍要繼續,請前往設定頁面停用「要求應用程式使用建議版本」。",
- "featureNotAvailable": "功能尚未實作",
- "featureNotAvailableText": "該應用程式為分割 APK,只能在具有 root 權限的情況下完成修補及安裝。不過,您也可以直接從儲存空間選取完整 APK 以修補及安裝。"
- },
- "patchesSelectorView": {
- "viewTitle": "選擇修補檔",
- "searchBarHint": "搜尋修補檔",
- "universalPatches": "通用修補檔",
- "newPatches": "新修補檔",
- "patches": "修補檔",
- "doneButton": "完成",
- "defaultChip": "預設",
- "defaultTooltip": "選擇所有預設修補檔",
- "noneChip": "無",
- "noneTooltip": "取消選取修補檔",
- "loadPatchesSelection": "載入修補檔選項",
- "noSavedPatches": "所選的應用程式沒有已儲存的修補選項。\n按下「完成」以儲存目前的選擇。",
- "noPatchesFound": "找不到適合所選應用程式的修補檔",
- "setRequiredOption": "某些修補檔選項需要進行設定:\n\n${patches}\n\n請在繼續之前進行設定。"
- },
- "patchOptionsView": {
- "customValue": "自訂值",
- "setToNull": "設為空值",
- "nullValue": "此選項的值目前為空",
- "viewTitle": "修補檔選項",
- "saveOptions": "儲存",
- "unselectPatch": "取消選取修補檔",
- "tooltip": "更多輸入選項",
- "selectFilePath": "請選取檔案路徑",
- "selectFolder": "請選取資料夾",
- "requiredOption": "此選項必須設定",
- "unsupportedOption": "不支援此選項",
- "requiredOptionNull": "以下選項需要進行設定:\n\n${options}"
- },
- "patchItem": {
- "unsupportedDialogText": "選取此修補檔可能導致修補錯誤。\n應用程式版本:${packageVersion}\n支援的版本:${supportedVersions}",
- "unsupportedPatchVersion": "此版本的應用程式不支援此修補檔。",
- "unsupportedRequiredOption": "此修補檔內含不支援此應用程式的必填選項。",
- "patchesChangeWarningDialogText": "建議使用預設的修補檔選擇和選項。變更這些設定可能會導致非預期的問題。\n\n你需要在設定中開啟「允許變更修補檔選擇」後,才能變更任何修補檔選擇。",
- "patchesChangeWarningDialogButton": "採用預設設定選項"
- },
- "installerView": {
- "installType": "請選取安裝方式",
- "installTypeDescription": "請選取安裝類型以繼續。",
- "installButton": "安裝",
- "installRootType": "掛載",
- "installNonRootType": "普通",
- "warning": "停用「已修補應用程式的自動更新」,以避免非預期的問題。",
- "pressBackAgain": "再按一次「返回」以取消操作",
- "openButton": "開啟",
- "notificationTitle": "ReVanced Manager 正在修補",
- "notificationText": "輕觸以返回安裝程式",
- "exportApkButtonTooltip": "匯出已修補的 APK 檔案",
- "exportLogButtonTooltip": "匯出記錄檔",
- "screenshotDetected": "偵測到螢幕截圖。如果你想要分享記錄檔,請改為複製文字分享。\n\n要將記錄檔複製到剪貼簿嗎?",
- "copiedToClipboard": "已將記錄檔複製到剪貼簿",
- "noExit": "安裝程式仍在執行,無法結束..."
- },
- "settingsView": {
- "widgetTitle": "設定",
- "appearanceSectionTitle": "外觀",
- "teamSectionTitle": "團隊",
- "debugSectionTitle": "偵錯",
- "advancedSectionTitle": "進階",
- "exportSectionTitle": "匯入及匯出",
- "dataSectionTitle": "資料來源",
- "themeModeLabel": "應用程式主題",
- "systemThemeLabel": "系統預設",
- "lightThemeLabel": "淺色模式",
- "darkThemeLabel": "深色模式",
- "dynamicThemeLabel": "Material You",
- "dynamicThemeHint": "享受更貼近您裝置的使用體驗",
- "languageLabel": "語言",
- "languageUpdated": "已更新語言",
- "sourcesLabel": "替代來源",
- "sourcesLabelHint": "為 ReVanced 修補檔設定備用來源",
- "useAlternativeSources": "使用替代來源",
- "useAlternativeSourcesHint": "使用 ReVanced 修補檔備用來源以取代 API",
- "sourcesResetDialogTitle": "重設",
- "sourcesResetDialogText": "確定要將來源重設為預設值嗎?",
- "apiURLResetDialogText": "確定要將 API URL 重設為預設值嗎?",
- "sourcesUpdateNote": "注意:這將會自動從替代來源下載 ReVanced 修補檔。\n\n這會將你連線到替代來源。",
- "apiURLLabel": "API URL",
- "apiURLHint": "設定 ReVanced Manager 的 API URL",
- "selectApiURL": "API URL",
- "orgPatchesLabel": "修補檔組織",
- "sourcesPatchesLabel": "修補檔來源",
- "contributorsLabel": "貢獻者",
- "contributorsHint": "ReVanced 貢獻者清單",
- "logsLabel": "分享記錄檔",
- "logsHint": "分享 ReVanced Manager 記錄檔",
- "enablePatchesSelectionLabel": "允許變更修補檔選擇",
- "enablePatchesSelectionHint": "不要阻止選擇或取消選擇修補檔",
- "enablePatchesSelectionWarningText": "如果變更修補選項,可能會導致非預期的問題。\n\n仍要啟用嗎?",
- "disablePatchesSelectionWarningText": "即將停用修補選項的變更功能,並還原到預設選項。\n\n仍要停用嗎?",
- "autoUpdatePatchesLabel": "自動更新修補檔",
- "autoUpdatePatchesHint": "自動將修補檔更新至最新版本",
- "showUpdateDialogLabel": "顯示更新對話方塊",
- "showUpdateDialogHint": "當有新更新可用時,顯示對話方塊",
- "universalPatchesLabel": "顯示通用修補檔",
- "universalPatchesHint": "顯示所有應用程式和通用修補檔(可能會減慢應用程式清單的顯示速度)",
- "lastPatchedAppLabel": "儲存已修補的安裝檔",
- "lastPatchedAppHint": "儲存最後一次修補以便稍後安裝或匯出",
- "versionCompatibilityCheckLabel": "檢查版本相容性",
- "versionCompatibilityCheckHint": "防止選擇與所選應用程式版本不相容的修補檔",
- "requireSuggestedAppVersionLabel": "要求應用程式使用建議版本",
- "requireSuggestedAppVersionHint": "防止選取非建議版本的應用程式",
- "requireSuggestedAppVersionDialogText": "目前選取的應用程式並非建議版本,可能造成非預期的問題發生。\n\n確定仍要繼續執行嗎?",
- "aboutLabel": "關於",
- "snackbarMessage": "已複製到剪貼簿",
- "restartAppForChanges": "重新啟動應用程式以套用變更",
- "deleteTempDirLabel": "刪除暫存檔案",
- "deleteTempDirHint": "刪除未使用的暫存檔案",
- "deletedTempDir": "已刪除暫存檔案",
- "exportSettingsLabel": "匯出設定",
- "exportSettingsHint": "匯出設定至 JSON 檔",
- "exportedSettings": "已匯出設定",
- "importSettingsLabel": "匯入設定",
- "importSettingsHint": "從 JSON 檔案匯入設定",
- "importedSettings": "已匯入設定",
- "exportPatchesLabel": "匯出修補選項",
- "exportPatchesHint": "從 JSON 檔案匯出修補選項",
- "exportedPatches": "已匯出修補選項",
- "noExportFileFound": "沒有可匯出的修補選項",
- "importPatchesLabel": "匯入修補選項",
- "importPatchesHint": "從 JSON 檔案匯入修補選項",
- "importedPatches": "已匯入修補選項",
- "resetStoredPatchesLabel": "重設修補選項",
- "resetStoredPatchesHint": "重設已儲存的修補選項",
- "resetStoredPatchesDialogTitle": "確定要重設修補選項嗎?",
- "resetStoredPatchesDialogText": "將還原為預設的修補檔選擇。",
- "resetStoredPatches": "已重設修補選項",
- "resetStoredOptionsLabel": "重設修補選項",
- "resetStoredOptionsHint": "重設所有修補選項",
- "resetStoredOptionsDialogTitle": "確定要重設修補選項嗎?",
- "resetStoredOptionsDialogText": "重設修補檔選項將移除所有已儲存的設定。",
- "resetStoredOptions": "已重設所有選項",
- "deleteLogsLabel": "清除記錄檔",
- "deleteLogsHint": "刪除已收集的 ReVanced Manager 記錄檔",
- "deletedLogs": "已刪除記錄檔",
- "regenerateKeystoreLabel": "重新產生金鑰庫",
- "regenerateKeystoreHint": "重新產生用於簽署應用程式的金鑰庫",
- "regenerateKeystoreDialogTitle": "確定要重新產生金鑰庫嗎?",
- "regenerateKeystoreDialogText": "使用舊金鑰庫進行簽署的修補應用程式,將無法再進行更新。",
- "regeneratedKeystore": "已重新產生金鑰庫",
- "exportKeystoreLabel": "匯出金鑰庫",
- "exportKeystoreHint": "匯出用於簽署應用程式的金鑰庫",
- "exportedKeystore": "已匯出金鑰庫",
- "noKeystoreExportFileFound": "沒有金鑰庫可供匯出",
- "importKeystoreLabel": "匯入金鑰庫",
- "importKeystoreHint": "匯入用於簽署應用程式的金鑰庫",
- "importedKeystore": "已匯入金鑰庫",
- "selectKeystorePassword": "金鑰庫密碼",
- "selectKeystorePasswordHint": "選取用於簽署應用程式的金鑰庫密碼",
- "jsonSelectorErrorMessage": "無法使用已選取的 JSON 檔案",
- "keystoreSelectorErrorMessage": "無法使用所選的金鑰庫檔案"
- },
- "appInfoView": {
- "widgetTitle": "應用程式資訊",
- "openButton": "開啟",
- "installButton": "安裝",
- "uninstallButton": "解除安裝",
- "unmountButton": "取消掛載",
- "exportButton": "匯出",
- "deleteButton": "刪除",
- "rootDialogTitle": "錯誤",
- "lastPatchedAppDescription": "這是最後一次修補應用程式的備份。",
- "unmountDialogText": "確定要取消掛載這個應用程式嗎?",
- "uninstallDialogText": "確定要解除安裝這個應用程式嗎?",
- "rootDialogText": "該應用程式是以 root 權限完成安裝的,然而 ReVanced Manager 目前尚未有該權限。\n請先授予 root 權限。",
- "removeAppDialogTitle": "要刪除應用程式嗎?",
- "removeAppDialogText": "確定要刪除這個備份嗎?",
- "packageNameLabel": "套件名稱",
- "installTypeLabel": "安裝類型",
- "mountTypeLabel": "掛載",
- "regularTypeLabel": "一般",
- "patchedDateLabel": "修補日期",
- "appliedPatchesLabel": "已套用修補檔",
- "sizeLabel": "檔案大小",
- "patchedDateHint": "${date} ${time}",
- "appliedPatchesHint": "已套用 ${quantity} 個修補檔",
- "updateNotImplemented": "這項功能尚未實作"
- },
- "contributorsView": {
- "widgetTitle": "貢獻者"
- },
- "installErrorDialog": {
- "mount_version_mismatch": "版本不相符",
- "mount_no_root": "無 root 存取權限",
- "mount_missing_installation": "找不到安裝",
- "status_failure_blocked": "安裝已遭阻止",
- "install_failed_verification_failure": "驗證失敗",
- "status_failure_invalid": "安裝無效",
- "install_failed_version_downgrade": "無法降級",
- "status_failure_conflict": "安裝衝突",
- "status_failure_storage": "安裝發生儲存問題",
- "status_failure_incompatible": "安裝不相容",
- "status_failure_timeout": "安裝逾時",
- "status_unknown": "安裝失敗",
- "mount_version_mismatch_description": "由於安裝的應用程式與已修補的應用程式版本不同,導致無法安裝。\n\n請安裝您正在掛載的應用程式的版本,然後再試一次。",
- "mount_no_root_description": "由於沒有授予 root 存取權限,導致無法安裝。\n\n請先授予 ReVanced Manager root 存取權限,然後再試一次。",
- "mount_missing_installation_description": "由於先前未在此裝置上安裝未修補的應用程式並掛載,導致無法安裝。\n\n請先在掛載前安裝未修補的應用程式,然後再試一次。",
- "status_failure_timeout_description": "安裝耗時過長,未能完成。\n\n要再試一次嗎?",
- "status_failure_storage_description": "由於儲存空間不足,導致無法安裝。\n\n請先釋出空間,然後再試一次。",
- "status_failure_invalid_description": "由於已修補的應用程式為無效,導致無法安裝。\n\n確定要解除安裝應用程式,然後再試一次?",
- "status_failure_incompatible_description": "應用程式與此裝置不相容。\n\n請使用支援此裝置的 APK 檔,然後再試一次。",
- "status_failure_conflict_description": "安裝被應用程式的現有安裝阻止。\n\n請解除安裝已安裝的應用程式,然後再試一次?",
- "status_failure_blocked_description": "安裝被 ${packageName} 阻止。\n\n請調整你的安全設定,然後再試一次。",
- "install_failed_verification_failure_description": "由於驗證問題,導致無法安裝。\n\n請調整您的安全設定,然後再試一次。",
- "install_failed_version_downgrade_description": "由於已修補的應用程式版本低於已安裝的應用程式,導致無法安裝。\n\n請解除安裝應用程式,然後再試一次?",
- "status_unknown_description": "由於未知原因,導致無法安裝。請再試一次。"
- }
-}
\ No newline at end of file
diff --git a/assets/revanced-headline/revanced-headline-vertical-dark.svg b/assets/revanced-headline/revanced-headline-vertical-dark.svg
deleted file mode 100644
index a59bfb50..00000000
--- a/assets/revanced-headline/revanced-headline-vertical-dark.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/revanced-headline/revanced-headline-vertical-light.svg b/assets/revanced-headline/revanced-headline-vertical-light.svg
deleted file mode 100644
index 3c5eeccc..00000000
--- a/assets/revanced-headline/revanced-headline-vertical-light.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/revanced-logo/revanced-logo.svg b/assets/revanced-logo/revanced-logo.svg
deleted file mode 100644
index 0ab29473..00000000
--- a/assets/revanced-logo/revanced-logo.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/build.gradle.kts b/build.gradle.kts
new file mode 100644
index 00000000..6264a09a
--- /dev/null
+++ b/build.gradle.kts
@@ -0,0 +1,14 @@
+buildscript {
+ repositories {
+ google()
+ }
+}
+
+plugins {
+ id("com.android.application") version "7.3.1" apply false
+ id("com.android.library") version "7.3.1" apply false
+ id("org.jetbrains.kotlin.android") version "1.7.20" apply false
+}
+repositories {
+ google()
+}
\ No newline at end of file
diff --git a/crowdin.yml b/crowdin.yml
deleted file mode 100644
index d54cb50f..00000000
--- a/crowdin.yml
+++ /dev/null
@@ -1,8 +0,0 @@
-project_id_env: "CROWDIN_PROJECT_ID"
-api_token_env: "CROWDIN_PERSONAL_TOKEN"
-
-preserve_hierarchy: false
-files:
- - source: /assets/i18n/en.i18n.json
- translation: /assets/i18n/%locale_with_underscore%.i18n.json
- skip_untranslated_strings: true
diff --git a/devtools_options.yaml b/devtools_options.yaml
deleted file mode 100644
index fa0b357c..00000000
--- a/devtools_options.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-description: This file stores settings for Dart & Flutter DevTools.
-documentation: https://docs.flutter.dev/tools/devtools/extensions#configure-extension-enablement-states
-extensions:
diff --git a/docs/0_prerequisites.md b/docs/0_prerequisites.md
deleted file mode 100644
index 24542150..00000000
--- a/docs/0_prerequisites.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# 💼 Prerequisites
-
-To use ReVanced Manager, you need to fulfill certain requirements.
-
-## 🤝 Requirements
-
-- Android device running Android 8.0 or higher
-- Device's CPU supporting at least `arm64-v8a`, `armeabi-v7a`, or `x86_64` architecture(s)
-
-## ⏭️ What's next
-
-The next page will explain how to install ReVanced Manager.
-
-Continue: [⬇️ Installation](1_installation.md)
diff --git a/docs/1_installation.md b/docs/1_installation.md
deleted file mode 100644
index 8080e5bd..00000000
--- a/docs/1_installation.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# ⬇️ Installation
-
-To use ReVanced on your Android device, ReVanced Manager must be first installed.
-
-## ✅ Installation steps
-
-1. Download the latest version of ReVanced Manager at [revanced.app/download](https://revanced.app/download) or from [GitHub releases](https://github.com/ReVanced/revanced-manager/releases/latest)
-2. Install ReVanced Manager
-
-## ⏭️ What's next
-
-The next page explain how to use ReVanced Manager to update ReVanced Manager and manage or patch apps.
-
-Continue: [🛠️ Usage](2_usage.md)
diff --git a/docs/2_1_patching.md b/docs/2_1_patching.md
deleted file mode 100644
index 8e0e844b..00000000
--- a/docs/2_1_patching.md
+++ /dev/null
@@ -1,46 +0,0 @@
-# 🧩 Patching apps
-
-Learn how to use ReVanced Manager to patch apps.
-
-## ✅ Steps to patch apps
-
-1. Navigate to the **Patcher** tab from the bottom navigation bar
-2. Tap on the **Select an app** card
-3. Choose an app to patch[^1]
-
- > ℹ️ Note
- > The suggested version is visible on each app's card.
- > You can tap on it to open a search query to obtain an APK file for the selected app with the suggested version
-
- > 💡 Tip
- > If you are prompted to select an APK file from storage because the selected app is a split APK, tap on the "Suggested version" label to open a search query to obtain said APK file
-
-4. Tap on the **Select patches** card and select the patches you want to apply[^2].
-
- > ℹ️ Note
- > Some patches have options that can or must be configured by tapping on ⚙️ icon next to the patch name.
-
- > ⚠️ Warning
- > If you see a warning, you can click on it for more information.
-
-5. Tap on the **Done** then **Patch** button
-
- > ⚠️ Warning
- > The patching process may take ~5 minutes. Exiting the app may cancel patching or significantly increase the time it takes to patch.
-
-6. Tap on the **Install** button
-
- > ℹ️ Note
- > If you are rooted, you can mount[^3] the patched app on top of the original app.[^4]
- > Optionally, you may export the patched app to storage using the option in the bottom left corner.
-
-[^1]: You can select installed apps from the list of installed apps or APK files from device storage. ReVanced does not provide any APK files, so you must source them yourself.
-[^2]: It is suggested to use the default set of patches by tapping on the **Default** button above the list of patches.
-[^3]: Mounting refers to using Linux's mounting mechanism to layer the patched app on top of the existing installed app.
-[^4]: Mounting the patched app on top of the original app may only work if the installed app version matches the version of the app selected in step 3. above.
-
-## ⏭️ What's next
-
-The next page will explain how to view, open and uninstall patched apps.
-
-Continue: [🧰 Managing patched apps](2_2_managing.md)
diff --git a/docs/2_2_managing.md b/docs/2_2_managing.md
deleted file mode 100644
index 73cd4f7b..00000000
--- a/docs/2_2_managing.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# 🧰 Managing patched apps
-
-Learn how to view, open and uninstall patched apps.
-
-## ✅ Steps to view, open and uninstall patched apps
-
-1. Tap on the **Dashboard** tab in the bottom navigation bar
-2. Tap on the **Info** button for the app you want to manage
-3. Choose any of the options from the menu to view, open or uninstall the app
-
-## ⏭️ What's next
-
-The next page will explain how to update ReVanced Manager.
-
-Continue: [🔄 Updating ReVanced Manager](2_3_updating.md)
diff --git a/docs/2_3_updating.md b/docs/2_3_updating.md
deleted file mode 100644
index d851bef0..00000000
--- a/docs/2_3_updating.md
+++ /dev/null
@@ -1,14 +0,0 @@
-# 🔄 Updating ReVanced Manager
-
-Learn how to update ReVanced Manager.
-
-## ✅ Updating steps
-
-1. Navigate to the **Dashboard** tab from the bottom navigation bar
-2. Tap on the **Update** button in the **Updates** section
-
-## ⏭️ What's next
-
-The next page will explain how to configure ReVanced Manager.
-
-Continue: [⚙️ Configuring ReVanced Manager](2_4_settings.md)
diff --git a/docs/2_4_settings.md b/docs/2_4_settings.md
deleted file mode 100644
index 02da996d..00000000
--- a/docs/2_4_settings.md
+++ /dev/null
@@ -1,66 +0,0 @@
-# ⚙️ Configuring ReVanced Manager
-
-Learn how to configure ReVanced Manager.
-
-## 🎛️ Essential settings
-
-- ### 🪛 Allow changing patch selection
-
- By default, you can not change the patch selection and the default selection is used. Enabling this will allow you to change the patch selection.
-
- > ⚠️ Warning
- > Changing the selection may cause unexpected issues. Unless you know what you are doing, it is recommended to keep this disabled.
-
-- ### 📦 Require suggested app version
-
- By default, ReVanced Manager allows you to patch an app if the suggested version to patch matches the version of the app you selected. Disabling this will allow you to patch an app even if the suggested version does not match the version of the app you selected.
-
- > ⚠️ Warning
- > Patches are more likely to fail on versions that are not suggested by ReVanced Manager. Unless you know what you are doing, it is recommended to keep this enabled.
-
-- ### ✅ Version compatibility check
-
- By default, ReVanced Manager does not allow you to select patches that are not compatible with the version of the app you selected. Disabling this will allow you to select patches that are not compatible with the version of the app you selected.
-
- > ⚠️ Warning
- > Patches are more likely to fail on versions they are not compatible with. Unless you know what you are doing, it is recommended to keep this enabled.
-
-- ### 🧑🔬 Show universal patches
-
- By default, ReVanced Manager only shows patches that are compatible with specific apps. Enabling this will show patches that are intended to work on all apps.
-
- > ⚠️ Warning
- > Patches that are intended to may not work on all apps. Unless you know what you are doing, it is recommended to keep this disabled.
-
-- ### 🔗 API URL
-
- Configure the API URL to use. The API is used to download patches and updates.
-
-- ### 🧬 Use alternative source
-
- Use alternative sources for patches and integrations instead of the API.
-
- > ℹ️ Note
- > ReVanced Manager will still use the API for updates.
-
-- ### 💾 Import, export and reset options
-
- You can import, export or reset saved settings. This includes:
-
- - 🔑 Keystore used to sign patched apps
- - 📄 Remembered selection of patches for each app
- - ⚙️ Remembered patch options
- - 🛠️ Remembered settings
-
- > ℹ️ Note
- > These can be used to backup and restore or reset settings to default in case of issues.
-
-- ### ❓ About
-
- View information about your device and ReVanced Manager. This includes the version of ReVanced Manager and architectures your device supports.
-
-## ⏭️ What's next
-
-The next page will explain how to troubleshoot issues with ReVanced Manager.
-
-Continue: [❔ Troubleshooting](3_troubleshooting.md)
diff --git a/docs/2_usage.md b/docs/2_usage.md
deleted file mode 100644
index c57235b8..00000000
--- a/docs/2_usage.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# 🛠️ Usage
-
-Learn how to use ReVanced Manager to manage and patch apps or update ReVanced Manager.
-
-## 📖 Table of contents
-
-1. [🧩 Patching apps](2_1_patching.md)
-2. [🧰 Managing patched apps](2_2_managing.md)
-3. [🔄 Updating ReVanced Manager](2_3_updating.md)
-4. [⚙️ Configuring ReVanced Manager](2_4_settings.md)
-
-## ⏭️ What's next
-
-The next page will explain how to use ReVanced Manager to patch apps.
-
-Continue: [🧩 Patching apps](2_1_patching.md)
diff --git a/docs/3_troubleshooting.md b/docs/3_troubleshooting.md
deleted file mode 100644
index 560ca1fc..00000000
--- a/docs/3_troubleshooting.md
+++ /dev/null
@@ -1,32 +0,0 @@
-# ❔ Troubleshooting
-
-In case you encounter any issues while using ReVanced Manager, this page will help you troubleshoot them.
-
-- 💉 Common issues during or after patching
-
- - Make sure ReVanced Manager is up to date by following [🔄 Updating ReVanced Manager](2_3_updating.md)
- - You may have changed settings in ReVanced Manager that are not recommended to change. Please review the warnings that appear when adjusting these settings and reset them to their default configuration as explained in [⚙️ Configuring ReVanced Manager](2_4_settings.md)
-
-- 🚫 App not installed as package conflicts with an existing package
-
- An existing installation of the app you're trying to patch conflicts with the patched app (i.e., signature mismatch or downgrade). Uninstall the existing app before installing the patched app.
-
- > 💡 Tip
- > This may also be caused by changing settings in ReVanced Manager that are not recommended to change. Please review the warnings that appear when adjusting these settings and reset them to their default configuration as explained in [⚙️ Configuring ReVanced Manager](2_4_settings.md)
-
-- ❗️ Error code `135`, `139` or `1` when patching the app
-
- - You may be trying to patch a split APK[^1]. This can fail under certain circumstances. If that is the case, patch a full APK
- - Your device may otherwise be unsupported. Please look at the [Prerequisites](0_prerequisites.md) page to see if your device is supported. Alternatively, you can use [ReVanced CLI](https://github.com/revanced/revanced-cli) to patch the app.
-
-- 🚨 Patched app crashes on launch
-
- This may also be caused by changing settings in ReVanced Manager that are not recommended to change. Please review the warnings that appear when adjusting these settings and reset them to their default configuration as explained in [⚙️ Configuring ReVanced Manager](2_4_settings.md)
-
-## ⏭️ What's next
-
-The next page will teach you how to build ReVanced Manager from source.
-
-Continue: [🔨 Building from source](4_building.md)
-
-[^1]: https://developer.android.com/guide/app-bundle/app-bundle-format
diff --git a/docs/4_building.md b/docs/4_building.md
deleted file mode 100644
index aa52df88..00000000
--- a/docs/4_building.md
+++ /dev/null
@@ -1,41 +0,0 @@
-# 🛠️ Building from source
-
-Learn how to build ReVanced Manager from source.
-
-1. Setup the Flutter environment for your [platform](https://docs.flutter.dev/get-started/install)
-
-2. Clone the repository
-
- ```sh
- git clone https://github.com/revanced/revanced-manager.git && cd revanced-manager
- ```
-
-3. Get dependencies
-
- ```sh
- flutter pub get
- ```
-
-4. Generate temporary files
-
- ```sh
- dart run slang
- dart run build_runner build -d
- ```
-
-5. Build the APK
-
- ```sh
- flutter build apk
- ```
-
-> [!NOTE]
-> If the build fails due to authentication, you may need to authenticate to GitHub Packages.
-> Create a PAT with the scope `read:packages` [here](https://github.com/settings/tokens/new?scopes=read:packages&description=ReVanced) and add your token to ~/.gradle/gradle.properties.
->
-> Example `gradle.properties` file:
->
-> ```properties
-> gpr.user = user
-> gpr.key = key
-> ```
diff --git a/docs/README.md b/docs/README.md
deleted file mode 100644
index af2926b6..00000000
--- a/docs/README.md
+++ /dev/null
@@ -1,21 +0,0 @@
-# 💊 ReVanced Manager
-
-This documentation explains how to use [ReVanced Manager](https://github.com/revanced/revanced-manager).
-
-## 📖 Table of contents
-
-0. [💼 Prerequisites](0_prerequisites.md)
-1. [⬇️ Installation](1_installation.md)
-2. [🛠️ Usage](2_usage.md)
- 1. [🧩 Patching apps](2_1_patching.md)
- 2. [🧰 Managing patched apps](2_2_managing.md)
- 3. [🔄 Updating ReVanced Manager](2_3_updating.md)
- 4. [⚙️ Configuring ReVanced Manager](2_4_settings.md)
-3. [❔ Troubleshooting](3_troubleshooting.md)
-4. [🔨 Building from source](4_building.md)
-
-## ⏭️ Start here
-
-The next page will tell you about the prerequisites for using ReVanced Manager.
-
-Continue: [💼 Prerequisites](0_prerequisites.md)
diff --git a/fonts/custom-icons.ttf b/fonts/custom-icons.ttf
deleted file mode 100644
index b240c33f..00000000
Binary files a/fonts/custom-icons.ttf and /dev/null differ
diff --git a/gradle.properties b/gradle.properties
new file mode 100644
index 00000000..3c5031eb
--- /dev/null
+++ b/gradle.properties
@@ -0,0 +1,23 @@
+# Project-wide Gradle settings.
+# IDE (e.g. Android Studio) users:
+# Gradle settings configured through the IDE *will override*
+# any settings specified in this file.
+# For more details on how to configure your build environment visit
+# http://www.gradle.org/docs/current/userguide/build_environment.html
+# Specifies the JVM arguments used for the daemon process.
+# The setting is particularly useful for tweaking memory settings.
+org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
+# When configured, Gradle will run in incubating parallel mode.
+# This option should only be used with decoupled projects. More details, visit
+# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
+# org.gradle.parallel=true
+# AndroidX package structure to make it clearer which packages are bundled with the
+# Android operating system, and which are packaged with your app's APK
+# https://developer.android.com/topic/libraries/support-library/androidx-rn
+android.useAndroidX=true
+# Kotlin code style for this project: "official" or "obsolete":
+kotlin.code.style=official
+# Enables namespacing of each library's R class so that its R class includes only the
+# resources declared in the library itself and none from the library's dependencies,
+# thereby reducing the size of the R class for that library
+android.nonTransitiveRClass=true
\ No newline at end of file
diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar
new file mode 100644
index 00000000..e708b1c0
Binary files /dev/null and b/gradle/wrapper/gradle-wrapper.jar differ
diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
similarity index 54%
rename from android/gradle/wrapper/gradle-wrapper.properties
rename to gradle/wrapper/gradle-wrapper.properties
index d7104778..f5099251 100644
--- a/android/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,8 +1,6 @@
+#Fri Jan 27 01:52:21 TRT 2023
distributionBase=GRADLE_USER_HOME
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-bin.zip
distributionPath=wrapper/dists
-distributionSha256Sum=8d97a97984f6cbd2b85fe4c60a743440a347544bf18818048e611f5288d46c94
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.12.1-bin.zip
-networkTimeout=10000
-validateDistributionUrl=true
-zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
+zipStoreBase=GRADLE_USER_HOME
diff --git a/gradlew b/gradlew
new file mode 100644
index 00000000..4f906e0c
--- /dev/null
+++ b/gradlew
@@ -0,0 +1,185 @@
+#!/usr/bin/env sh
+
+#
+# Copyright 2015 the original author or authors.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+##############################################################################
+##
+## Gradle start up script for UN*X
+##
+##############################################################################
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG=`dirname "$PRG"`"/$link"
+ fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/" >/dev/null
+APP_HOME="`pwd -P`"
+cd "$SAVED" >/dev/null
+
+APP_NAME="Gradle"
+APP_BASE_NAME=`basename "$0"`
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn () {
+ echo "$*"
+}
+
+die () {
+ echo
+ echo "$*"
+ echo
+ exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+nonstop=false
+case "`uname`" in
+ CYGWIN* )
+ cygwin=true
+ ;;
+ Darwin* )
+ darwin=true
+ ;;
+ MINGW* )
+ msys=true
+ ;;
+ NONSTOP* )
+ nonstop=true
+ ;;
+esac
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ if [ ! -x "$JAVACMD" ] ; then
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+else
+ JAVACMD="java"
+ which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
+ MAX_FD_LIMIT=`ulimit -H -n`
+ if [ $? -eq 0 ] ; then
+ if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
+ MAX_FD="$MAX_FD_LIMIT"
+ fi
+ ulimit -n $MAX_FD
+ if [ $? -ne 0 ] ; then
+ warn "Could not set maximum file descriptor limit: $MAX_FD"
+ fi
+ else
+ warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+ fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+ GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin or MSYS, switch paths to Windows format before running java
+if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
+ APP_HOME=`cygpath --path --mixed "$APP_HOME"`
+ CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+
+ JAVACMD=`cygpath --unix "$JAVACMD"`
+
+ # We build the pattern for arguments to be converted via cygpath
+ ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
+ SEP=""
+ for dir in $ROOTDIRSRAW ; do
+ ROOTDIRS="$ROOTDIRS$SEP$dir"
+ SEP="|"
+ done
+ OURCYGPATTERN="(^($ROOTDIRS))"
+ # Add a user-defined pattern to the cygpath arguments
+ if [ "$GRADLE_CYGPATTERN" != "" ] ; then
+ OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+ fi
+ # Now convert the arguments - kludge to limit ourselves to /bin/sh
+ i=0
+ for arg in "$@" ; do
+ CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
+ CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
+
+ if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
+ eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
+ else
+ eval `echo args$i`="\"$arg\""
+ fi
+ i=`expr $i + 1`
+ done
+ case $i in
+ 0) set -- ;;
+ 1) set -- "$args0" ;;
+ 2) set -- "$args0" "$args1" ;;
+ 3) set -- "$args0" "$args1" "$args2" ;;
+ 4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+ 5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+ 6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+ 7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+ 8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+ 9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+ esac
+fi
+
+# Escape application args
+save () {
+ for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
+ echo " "
+}
+APP_ARGS=`save "$@"`
+
+# Collect all arguments for the java command, following the shell quoting and substitution rules
+eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
+
+exec "$JAVACMD" "$@"
diff --git a/gradlew.bat b/gradlew.bat
new file mode 100644
index 00000000..107acd32
--- /dev/null
+++ b/gradlew.bat
@@ -0,0 +1,89 @@
+@rem
+@rem Copyright 2015 the original author or authors.
+@rem
+@rem Licensed under the Apache License, Version 2.0 (the "License");
+@rem you may not use this file except in compliance with the License.
+@rem You may obtain a copy of the License at
+@rem
+@rem https://www.apache.org/licenses/LICENSE-2.0
+@rem
+@rem Unless required by applicable law or agreed to in writing, software
+@rem distributed under the License is distributed on an "AS IS" BASIS,
+@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@rem See the License for the specific language governing permissions and
+@rem limitations under the License.
+@rem
+
+@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Resolve any "." and ".." in APP_HOME to make it shorter.
+for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto execute
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto execute
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
diff --git a/lib/app/app.dart b/lib/app/app.dart
deleted file mode 100644
index 905f275b..00000000
--- a/lib/app/app.dart
+++ /dev/null
@@ -1,51 +0,0 @@
-import 'package:revanced_manager/services/download_manager.dart';
-import 'package:revanced_manager/services/github_api.dart';
-import 'package:revanced_manager/services/manager_api.dart';
-import 'package:revanced_manager/services/patcher_api.dart';
-import 'package:revanced_manager/services/revanced_api.dart';
-import 'package:revanced_manager/services/toast.dart';
-import 'package:revanced_manager/ui/views/app_selector/app_selector_view.dart';
-import 'package:revanced_manager/ui/views/contributors/contributors_view.dart';
-import 'package:revanced_manager/ui/views/home/home_viewmodel.dart';
-import 'package:revanced_manager/ui/views/installer/installer_view.dart';
-import 'package:revanced_manager/ui/views/installer/installer_viewmodel.dart';
-import 'package:revanced_manager/ui/views/navigation/navigation_view.dart';
-import 'package:revanced_manager/ui/views/navigation/navigation_viewmodel.dart';
-import 'package:revanced_manager/ui/views/patch_options/patch_options_view.dart';
-import 'package:revanced_manager/ui/views/patch_options/patch_options_viewmodel.dart';
-import 'package:revanced_manager/ui/views/patcher/patcher_view.dart';
-import 'package:revanced_manager/ui/views/patcher/patcher_viewmodel.dart';
-import 'package:revanced_manager/ui/views/patches_selector/patches_selector_view.dart';
-import 'package:revanced_manager/ui/views/settings/settings_view.dart';
-import 'package:revanced_manager/ui/widgets/appInfoView/app_info_view.dart';
-import 'package:stacked/stacked_annotations.dart';
-import 'package:stacked_services/stacked_services.dart';
-
-@StackedApp(
- routes: [
- MaterialRoute(page: NavigationView),
- MaterialRoute(page: PatcherView),
- MaterialRoute(page: AppSelectorView),
- MaterialRoute(page: PatchesSelectorView),
- MaterialRoute(page: PatchOptionsView),
- MaterialRoute(page: InstallerView),
- MaterialRoute(page: SettingsView),
- MaterialRoute(page: ContributorsView),
- MaterialRoute(page: AppInfoView),
- ],
- dependencies: [
- LazySingleton(classType: NavigationViewModel),
- LazySingleton(classType: HomeViewModel),
- LazySingleton(classType: PatcherViewModel),
- LazySingleton(classType: PatchOptionsViewModel),
- LazySingleton(classType: InstallerViewModel),
- LazySingleton(classType: NavigationService),
- LazySingleton(classType: ManagerAPI),
- LazySingleton(classType: PatcherAPI),
- LazySingleton(classType: RevancedAPI),
- LazySingleton(classType: GithubAPI),
- LazySingleton(classType: DownloadManager),
- LazySingleton(classType: Toast),
- ],
-)
-class AppSetup {}
diff --git a/lib/main.dart b/lib/main.dart
deleted file mode 100644
index 6b0317c8..00000000
--- a/lib/main.dart
+++ /dev/null
@@ -1,52 +0,0 @@
-import 'package:flutter/material.dart';
-import 'package:revanced_manager/app/app.locator.dart';
-import 'package:revanced_manager/gen/strings.g.dart';
-import 'package:revanced_manager/services/download_manager.dart';
-import 'package:revanced_manager/services/github_api.dart';
-import 'package:revanced_manager/services/manager_api.dart';
-import 'package:revanced_manager/services/revanced_api.dart';
-import 'package:revanced_manager/services/root_api.dart';
-import 'package:revanced_manager/ui/theme/dynamic_theme_builder.dart';
-import 'package:revanced_manager/ui/views/navigation/navigation_view.dart';
-import 'package:shared_preferences/shared_preferences.dart';
-import 'package:timezone/data/latest.dart' as tz;
-
-late SharedPreferences prefs;
-Future main() async {
- await setupLocator();
- WidgetsFlutterBinding.ensureInitialized();
- await locator().initialize();
-
- await locator().initialize();
- final String apiUrl = locator().getApiUrl();
- await locator().initialize(apiUrl);
- final String repoUrl = locator().getRepoUrl();
- locator().initialize(repoUrl);
- tz.initializeTimeZones();
-
- // TODO(aAbed): remove in the future, keep it for now during migration.
- final rootAPI = RootAPI();
- if (await rootAPI.hasRootPermissions()) {
- await rootAPI.removeOrphanedFiles();
- }
-
- prefs = await SharedPreferences.getInstance();
-
- final managerAPI = locator();
- final locale = managerAPI.getLocale();
- LocaleSettings.setLocaleRaw(locale);
-
- runApp(TranslationProvider(child: const MyApp()));
-}
-
-class MyApp extends StatelessWidget {
- const MyApp({super.key});
-
- @override
- Widget build(BuildContext context) {
- return const DynamicThemeBuilder(
- title: 'ReVanced Manager',
- home: NavigationView(),
- );
- }
-}
diff --git a/lib/models/patch.dart b/lib/models/patch.dart
deleted file mode 100644
index 730df326..00000000
--- a/lib/models/patch.dart
+++ /dev/null
@@ -1,108 +0,0 @@
-import 'package:json_annotation/json_annotation.dart';
-
-part 'patch.g.dart';
-
-@JsonSerializable()
-class Patch {
- Patch({
- required this.name,
- required this.description,
- required this.excluded,
- required this.compatiblePackages,
- required this.options,
- });
-
- factory Patch.fromJson(Map json) {
- _migrateV16ToV17(json);
-
- return _$PatchFromJson(json);
- }
-
- static void _migrateV16ToV17(Map json) {
- if (json['options'] == null) {
- json['options'] = [];
- }
- }
-
- final String name;
- final String? description;
- final bool excluded;
- final List compatiblePackages;
- final List options;
-
- Map toJson() => _$PatchToJson(this);
-
- String getSimpleName() {
- return name;
- }
-}
-
-@JsonSerializable()
-class Package {
- Package({
- required this.name,
- required this.versions,
- });
-
- factory Package.fromJson(Map json) =>
- _$PackageFromJson(json);
-
- final String name;
- final List versions;
-
- Map toJson() => _$PackageToJson(this);
-}
-
-@JsonSerializable()
-class Option {
- Option({
- required this.key,
- required this.title,
- required this.description,
- required this.value,
- required this.values,
- required this.required,
- required this.type,
- });
-
- factory Option.fromJson(Map json) {
- _migrateV17ToV19(json);
- _migrateV19ToV20(json);
-
- return _$OptionFromJson(json);
- }
-
- static void _migrateV17ToV19(Map json) {
- if (json['valueType'] == null) {
- final type = json['optionClassType'];
- if (type is String) {
- json['valueType'] =
- type.replaceAll('PatchOption', '').replaceAll('List', 'Array');
-
- json['optionClassType'] = null;
- }
- }
- }
-
- static void _migrateV19ToV20(Map json) {
- if (json['valueType'] != null) {
- final String type = json['valueType'];
-
- json['type'] = type.endsWith('Array')
- ? 'kotlin.collections.List'
- : 'kotlin.$type';
-
- json['valueType'] = null;
- }
- }
-
- final String key;
- final String title;
- final String description;
- final dynamic value;
- final Map? values;
- final bool required;
- final String type;
-
- Map toJson() => _$OptionToJson(this);
-}
diff --git a/lib/models/patched_application.dart b/lib/models/patched_application.dart
deleted file mode 100644
index 93b5a821..00000000
--- a/lib/models/patched_application.dart
+++ /dev/null
@@ -1,46 +0,0 @@
-import 'dart:convert';
-import 'dart:typed_data';
-import 'package:json_annotation/json_annotation.dart';
-
-part 'patched_application.g.dart';
-
-@JsonSerializable()
-class PatchedApplication {
- PatchedApplication({
- required this.name,
- required this.packageName,
- required this.version,
- required this.apkFilePath,
- required this.icon,
- required this.patchDate,
- this.isRooted = false,
- this.isFromStorage = false,
- this.appliedPatches = const [],
- this.patchedFilePath = '',
- this.fileSize = 0,
- });
-
- factory PatchedApplication.fromJson(Map json) =>
- _$PatchedApplicationFromJson(json);
- String name;
- String packageName;
- String version;
- final String apkFilePath;
- @JsonKey(
- fromJson: decodeBase64,
- toJson: encodeBase64,
- )
- Uint8List icon;
- DateTime patchDate;
- bool isRooted;
- bool isFromStorage;
- List appliedPatches;
- String patchedFilePath;
- int fileSize;
-
- Map toJson() => _$PatchedApplicationToJson(this);
-
- static Uint8List decodeBase64(String icon) => base64.decode(icon);
-
- static String encodeBase64(Uint8List bytes) => base64.encode(bytes);
-}
diff --git a/lib/services/download_manager.dart b/lib/services/download_manager.dart
deleted file mode 100644
index caa705d7..00000000
--- a/lib/services/download_manager.dart
+++ /dev/null
@@ -1,75 +0,0 @@
-import 'package:dio/dio.dart';
-import 'package:dio_cache_interceptor/dio_cache_interceptor.dart';
-import 'package:flutter/foundation.dart';
-import 'package:flutter_cache_manager/file.dart';
-import 'package:flutter_cache_manager/flutter_cache_manager.dart';
-import 'package:injectable/injectable.dart';
-import 'package:revanced_manager/app/app.locator.dart';
-import 'package:revanced_manager/services/manager_api.dart';
-
-@lazySingleton
-class DownloadManager {
- final ManagerAPI _managerAPI = locator();
- late final String _userAgent;
-
- final _cacheOptions = CacheOptions(
- store: MemCacheStore(),
- maxStale: const Duration(days: 1),
- priority: CachePriority.high,
- );
-
- Future initialize() async {
- _userAgent =
- 'ReVanced-Manager/${await _managerAPI.getCurrentManagerVersion()}';
- }
-
- Dio initDio(String url) {
- var dio = Dio();
- try {
- dio = Dio(
- BaseOptions(
- baseUrl: url,
- headers: {
- 'User-Agent': _userAgent,
- },
- ),
- );
- } on Exception catch (e) {
- if (kDebugMode) {
- print(e);
- }
- }
-
- dio.interceptors.add(DioCacheInterceptor(options: _cacheOptions));
- return dio;
- }
-
- Future clearAllCache() async {
- try {
- await _cacheOptions.store!.clean();
- } on Exception catch (e) {
- if (kDebugMode) {
- print(e);
- }
- }
- }
-
- Future getSingleFile(String url) async {
- return DefaultCacheManager().getSingleFile(
- url,
- headers: {
- 'User-Agent': _userAgent,
- },
- );
- }
-
- Stream getFileStream(String url) {
- return DefaultCacheManager().getFileStream(
- url,
- withProgress: true,
- headers: {
- 'User-Agent': _userAgent,
- },
- );
- }
-}
diff --git a/lib/services/github_api.dart b/lib/services/github_api.dart
deleted file mode 100644
index b85706ab..00000000
--- a/lib/services/github_api.dart
+++ /dev/null
@@ -1,128 +0,0 @@
-import 'dart:io';
-import 'package:collection/collection.dart';
-import 'package:dio/dio.dart';
-import 'package:flutter/foundation.dart';
-import 'package:injectable/injectable.dart';
-import 'package:revanced_manager/app/app.locator.dart';
-import 'package:revanced_manager/services/download_manager.dart';
-import 'package:revanced_manager/services/manager_api.dart';
-import 'package:synchronized/synchronized.dart';
-
-@lazySingleton
-class GithubAPI {
- late final Dio _dio;
- late final ManagerAPI _managerAPI = locator();
- late final DownloadManager _downloadManager = locator();
- final Map _lockMap = {};
-
- Future initialize(String repoUrl) async {
- _dio = _downloadManager.initDio(repoUrl);
- }
-
- Future clearAllCache() async {
- await _downloadManager.clearAllCache();
- }
-
- Future _dioGetSynchronously(String path) async {
- // Create a new Lock for each path
- if (!_lockMap.containsKey(path)) {
- _lockMap[path] = Lock();
- }
- return _lockMap[path]!.synchronized(() async {
- return await _dio.get(path);
- });
- }
-
- Future?> getLatestRelease(String repoName) async {
- final String target =
- _managerAPI.usePrereleases() ? '?per_page=1' : '/latest';
- try {
- final response = await _dioGetSynchronously(
- '/repos/$repoName/releases$target',
- );
- if (_managerAPI.usePrereleases()) {
- return response.data.first;
- }
- return response.data;
- } on Exception catch (e) {
- if (kDebugMode) {
- print(e);
- }
- return null;
- }
- }
-
- Future getChangelogs(bool isPatches) async {
- final String repoName =
- isPatches
- ? _managerAPI.getPatchesRepo()
- : _managerAPI.defaultManagerRepo;
- try {
- final response = await _dioGetSynchronously(
- '/repos/$repoName/releases?per_page=50',
- );
- final buffer = StringBuffer();
- final String version =
- isPatches
- ? _managerAPI.getLastUsedPatchesVersion()
- : await _managerAPI.getCurrentManagerVersion();
- int releases = 0;
- for (final release in response.data) {
- if (release['tag_name'] == version) {
- if (buffer.isEmpty) {
- buffer.writeln(release['body']);
- releases++;
- }
- break;
- }
- if (!_managerAPI.usePrereleases() && release['prerelease']) {
- continue;
- }
- buffer.writeln(release['body']);
- releases++;
- if (isPatches && releases == 10) {
- break;
- }
- }
- return buffer.toString();
- } on Exception catch (e) {
- if (kDebugMode) {
- print(e);
- }
- return null;
- }
- }
-
- Future getReleaseFile(
- String extension,
- String repoName,
- String version,
- String url,
- ) async {
- try {
- if (url.isNotEmpty) {
- return await _downloadManager.getSingleFile(url);
- }
- final response = await _dioGetSynchronously(
- '/repos/$repoName/releases/tags/$version',
- );
- final Map? release = response.data;
- if (release != null) {
- final Map? asset = (release['assets'] as List)
- .firstWhereOrNull(
- (asset) => (asset['name'] as String).endsWith(extension),
- );
- if (asset != null) {
- final String downloadUrl = asset['browser_download_url'];
- _managerAPI.setPatchesDownloadURL(downloadUrl);
- return await _downloadManager.getSingleFile(downloadUrl);
- }
- }
- } on Exception catch (e) {
- if (kDebugMode) {
- print(e);
- }
- }
- return null;
- }
-}
diff --git a/lib/services/manager_api.dart b/lib/services/manager_api.dart
deleted file mode 100644
index e8119917..00000000
--- a/lib/services/manager_api.dart
+++ /dev/null
@@ -1,816 +0,0 @@
-import 'dart:convert';
-import 'dart:io';
-import 'package:device_apps/device_apps.dart';
-import 'package:device_info_plus/device_info_plus.dart';
-import 'package:flutter/foundation.dart';
-import 'package:flutter/material.dart';
-import 'package:injectable/injectable.dart';
-import 'package:package_info_plus/package_info_plus.dart';
-import 'package:path_provider/path_provider.dart';
-import 'package:revanced_manager/app/app.locator.dart';
-import 'package:revanced_manager/gen/strings.g.dart';
-import 'package:revanced_manager/models/patch.dart';
-import 'package:revanced_manager/models/patched_application.dart';
-import 'package:revanced_manager/services/github_api.dart';
-import 'package:revanced_manager/services/patcher_api.dart';
-import 'package:revanced_manager/services/revanced_api.dart';
-import 'package:revanced_manager/services/root_api.dart';
-import 'package:revanced_manager/services/toast.dart';
-import 'package:revanced_manager/ui/widgets/shared/haptics/haptic_checkbox_list_tile.dart';
-import 'package:revanced_manager/utils/check_for_supported_patch.dart';
-import 'package:shared_preferences/shared_preferences.dart';
-import 'package:timeago/timeago.dart';
-
-@lazySingleton
-class ManagerAPI {
- final RevancedAPI _revancedAPI = locator();
- final GithubAPI _githubAPI = locator();
- final Toast _toast = locator();
- final RootAPI _rootAPI = RootAPI();
- final String patcherRepo = 'revanced-patcher';
- final String cliRepo = 'revanced-cli';
- late SharedPreferences _prefs;
- Map? contributors;
- List patches = [];
- List options = [];
- Patch? selectedPatch;
- BuildContext? ctx;
- bool isRooted = false;
- bool suggestedAppVersionSelected = true;
- bool isDynamicThemeAvailable = false;
- bool isScopedStorageAvailable = false;
- int sdkVersion = 0;
- String storedPatchesFile = '/selected-patches.json';
- String keystoreFile =
- '/sdcard/Android/data/app.revanced.manager.flutter/files/revanced-manager.keystore';
- String defaultKeystorePassword = 's3cur3p@ssw0rd';
- String defaultApiUrl = 'https://api.revanced.app/v4';
- String defaultRepoUrl = 'https://api.github.com';
- String defaultPatcherRepo = 'revanced/revanced-patcher';
- String defaultPatchesRepo = 'revanced/revanced-patches';
- String defaultCliRepo = 'revanced/revanced-cli';
- String defaultManagerRepo = 'revanced/revanced-manager';
- String? patchesVersion = '';
-
- Future initialize() async {
- _prefs = await SharedPreferences.getInstance();
- isRooted = await _rootAPI.isRooted();
- if (sdkVersion == 0) {
- sdkVersion = await getSdkVersion();
- }
- isDynamicThemeAvailable = sdkVersion >= 31; // ANDROID_12_SDK_VERSION = 31
- isScopedStorageAvailable = sdkVersion >= 30; // ANDROID_11_SDK_VERSION = 30
- storedPatchesFile =
- (await getApplicationDocumentsDirectory()).path + storedPatchesFile;
-
- final hasMigratedToNewMigrationSystem =
- _prefs.getBool('migratedToNewApiPrefSystem') ?? false;
- if (!hasMigratedToNewMigrationSystem) {
- final apiUrl = getApiUrl().toLowerCase();
-
- final isReleases = apiUrl.contains('releases.revanced.app');
- final isDomain = apiUrl.endsWith('api.revanced.app');
- final isV2 = apiUrl.contains('api.revanced.app/v2');
- final isV3 = apiUrl.contains('api.revanced.app/v3');
-
- if (isReleases || isDomain || isV2 || isV3) {
- await resetApiUrl();
- // At this point, the preference is removed.
- // Now, no more migration is needed because:
- // If the user touches the API URL,
- // it will be remembered forever as intended.
- // On the other hand, if the user resets it or sets it to the default,
- // the URL will be updated whenever the app is updated.
- _prefs.setBool('migratedToNewApiPrefSystem', true);
- }
- }
-
- final bool hasMigratedToAlternativeSource =
- _prefs.getBool('migratedToAlternativeSource') ?? false;
- if (!hasMigratedToAlternativeSource) {
- final String patchesRepo = getPatchesRepo();
- final bool usingAlternativeSources =
- patchesRepo.toLowerCase() != defaultPatchesRepo;
- _prefs.setBool('useAlternativeSources', usingAlternativeSources);
- _prefs.setBool('migratedToAlternativeSource', true);
- }
- }
-
- Future getSdkVersion() async {
- final AndroidDeviceInfo info = await DeviceInfoPlugin().androidInfo;
- return info.version.sdkInt;
- }
-
- String getApiUrl() {
- return _prefs.getString('apiUrl') ?? defaultApiUrl;
- }
-
- Future resetApiUrl() async {
- await _prefs.remove('apiUrl');
- await _revancedAPI.clearAllCache();
- _toast.showBottom(t.settingsView.restartAppForChanges);
- }
-
- Future setApiUrl(String url) async {
- url = url.toLowerCase();
-
- if (url == defaultApiUrl) {
- return;
- }
-
- if (!url.startsWith('http')) {
- url = 'https://$url';
- }
-
- await _prefs.setString('apiUrl', url);
- await _revancedAPI.clearAllCache();
- _toast.showBottom(t.settingsView.restartAppForChanges);
- }
-
- String getRepoUrl() {
- return defaultRepoUrl;
- }
-
- String getPatchesDownloadURL() {
- return _prefs.getString('patchesDownloadURL') ?? '';
- }
-
- Future setPatchesDownloadURL(String value) async {
- await _prefs.setString('patchesDownloadURL', value);
- }
-
- String getPatchesRepo() {
- if (!isUsingAlternativeSources()) {
- return defaultPatchesRepo;
- }
- return _prefs.getString('patchesRepo') ?? defaultPatchesRepo;
- }
-
- Future setPatchesRepo(String value) async {
- if (value.isEmpty || value.startsWith('/') || value.endsWith('/')) {
- value = defaultPatchesRepo;
- }
- await _prefs.setString('patchesRepo', value);
- }
-
- bool getDownloadConsent() {
- return _prefs.getBool('downloadConsent') ?? false;
- }
-
- void setDownloadConsent(bool consent) {
- _prefs.setBool('downloadConsent', consent);
- }
-
- bool isPatchesAutoUpdate() {
- return _prefs.getBool('patchesAutoUpdate') ?? false;
- }
-
- bool usePrereleases() {
- return _prefs.getBool('usePrereleases') ?? false;
- }
-
- void setPrereleases(bool value) {
- _prefs.setBool('usePrereleases', value);
- if (isPatchesAutoUpdate()) {
- setCurrentPatchesVersion('0.0.0');
- _toast.showBottom(t.settingsView.restartAppForChanges);
- }
- }
-
- bool isPatchesChangeEnabled() {
- return _prefs.getBool('patchesChangeEnabled') ?? false;
- }
-
- void setPatchesChangeEnabled(bool value) {
- _prefs.setBool('patchesChangeEnabled', value);
- }
-
- bool showPatchesChangeWarning() {
- return _prefs.getBool('showPatchesChangeWarning') ?? true;
- }
-
- void setPatchesChangeWarning(bool value) {
- _prefs.setBool('showPatchesChangeWarning', !value);
- }
-
- bool showUpdateDialog() {
- return _prefs.getBool('showUpdateDialog') ?? true;
- }
-
- void setShowUpdateDialog(bool value) {
- _prefs.setBool('showUpdateDialog', value);
- }
-
- bool isChangingToggleModified() {
- return _prefs.getBool('isChangingToggleModified') ?? false;
- }
-
- void setChangingToggleModified(bool value) {
- _prefs.setBool('isChangingToggleModified', value);
- }
-
- void setPatchesAutoUpdate(bool value) {
- _prefs.setBool('patchesAutoUpdate', value);
- }
-
- List getSavedPatches(String packageName) {
- final List patchesJson =
- _prefs.getStringList('savedPatches-$packageName') ?? [];
- final List patches =
- patchesJson.map((String patchJson) {
- return Patch.fromJson(jsonDecode(patchJson));
- }).toList();
- return patches;
- }
-
- Future savePatches(List patches, String packageName) async {
- final List patchesJson =
- patches.map((Patch patch) {
- return jsonEncode(patch.toJson());
- }).toList();
- await _prefs.setStringList('savedPatches-$packageName', patchesJson);
- }
-
- List getUsedPatches(String packageName) {
- final List patchesJson =
- _prefs.getStringList('usedPatches-$packageName') ?? [];
- final List patches =
- patchesJson.map((String patchJson) {
- return Patch.fromJson(jsonDecode(patchJson));
- }).toList();
- return patches;
- }
-
- Future setUsedPatches(List patches, String packageName) async {
- final List patchesJson =
- patches.map((Patch patch) {
- return jsonEncode(patch.toJson());
- }).toList();
- await _prefs.setStringList('usedPatches-$packageName', patchesJson);
- }
-
- void useAlternativeSources(bool value) {
- _prefs.setBool('useAlternativeSources', value);
- _toast.showBottom(t.settingsView.restartAppForChanges);
- }
-
- bool isUsingAlternativeSources() {
- return _prefs.getBool('useAlternativeSources') ?? false;
- }
-
- Option? getPatchOption(String packageName, String patchName, String key) {
- final String? optionJson = _prefs.getString(
- 'patchOption-$packageName-$patchName-$key',
- );
- if (optionJson != null) {
- final Option option = Option.fromJson(jsonDecode(optionJson));
- return option;
- } else {
- return null;
- }
- }
-
- void setPatchOption(Option option, String patchName, String packageName) {
- final String optionJson = jsonEncode(option.toJson());
- _prefs.setString(
- 'patchOption-$packageName-$patchName-${option.key}',
- optionJson,
- );
- }
-
- void clearPatchOption(String packageName, String patchName, String key) {
- _prefs.remove('patchOption-$packageName-$patchName-$key');
- }
-
- bool getUseDynamicTheme() {
- return _prefs.getBool('useDynamicTheme') ?? false;
- }
-
- Future setUseDynamicTheme(bool value) async {
- await _prefs.setBool('useDynamicTheme', value);
- }
-
- int getThemeMode() {
- return _prefs.getInt('themeMode') ?? 2;
- }
-
- Future setThemeMode(int value) async {
- await _prefs.setInt('themeMode', value);
- }
-
- bool areUniversalPatchesEnabled() {
- return _prefs.getBool('universalPatchesEnabled') ?? false;
- }
-
- Future enableUniversalPatchesStatus(bool value) async {
- await _prefs.setBool('universalPatchesEnabled', value);
- }
-
- bool isVersionCompatibilityCheckEnabled() {
- return _prefs.getBool('versionCompatibilityCheckEnabled') ?? true;
- }
-
- Future enableVersionCompatibilityCheckStatus(bool value) async {
- await _prefs.setBool('versionCompatibilityCheckEnabled', value);
- }
-
- bool isRequireSuggestedAppVersionEnabled() {
- return _prefs.getBool('requireSuggestedAppVersionEnabled') ?? true;
- }
-
- Future enableRequireSuggestedAppVersionStatus(bool value) async {
- await _prefs.setBool('requireSuggestedAppVersionEnabled', value);
- }
-
- bool isLastPatchedAppEnabled() {
- return _prefs.getBool('lastPatchedAppEnabled') ?? true;
- }
-
- Future enableLastPatchedAppStatus(bool value) async {
- await _prefs.setBool('lastPatchedAppEnabled', value);
- }
-
- Future setKeystorePassword(String password) async {
- await _prefs.setString('keystorePassword', password);
- }
-
- String getKeystorePassword() {
- return _prefs.getString('keystorePassword') ?? defaultKeystorePassword;
- }
-
- String getLocale() {
- return _prefs.getString('locale') ?? Platform.localeName;
- }
-
- Future setLocale(String value) async {
- await _prefs.setString('locale', value);
- }
-
- Future deleteTempFolder() async {
- final Directory dir = Directory('/data/local/tmp/revanced-manager');
- if (await dir.exists()) {
- await dir.delete(recursive: true);
- }
- }
-
- Future deleteKeystore() async {
- final File keystore = File(keystoreFile);
- if (await keystore.exists()) {
- await keystore.delete();
- }
- }
-
- PatchedApplication? getLastPatchedApp() {
- final String? app = _prefs.getString('lastPatchedApp');
- return app != null ? PatchedApplication.fromJson(jsonDecode(app)) : null;
- }
-
- Future deleteLastPatchedApp() async {
- final PatchedApplication? app = getLastPatchedApp();
- if (app != null) {
- final File file = File(app.patchedFilePath);
- await file.delete();
- await _prefs.remove('lastPatchedApp');
- }
- }
-
- Future setLastPatchedApp(
- PatchedApplication app,
- File outFile
- ) async {
- deleteLastPatchedApp();
- final Directory appCache = await getApplicationSupportDirectory();
- app.patchedFilePath =
- outFile.copySync('${appCache.path}/lastPatchedApp.apk').path;
- app.fileSize = outFile.lengthSync();
- await _prefs.setString('lastPatchedApp', json.encode(app.toJson()));
- }
-
- List getPatchedApps() {
- final List apps = _prefs.getStringList('patchedApps') ?? [];
- return apps.map((a) => PatchedApplication.fromJson(jsonDecode(a))).toList();
- }
-
- Future setPatchedApps(List patchedApps) async {
- if (patchedApps.length > 1) {
- patchedApps.sort((a, b) => a.name.compareTo(b.name));
- }
- await _prefs.setStringList(
- 'patchedApps',
- patchedApps.map((a) => json.encode(a.toJson())).toList(),
- );
- }
-
- Future savePatchedApp(PatchedApplication app) async {
- final List patchedApps = getPatchedApps();
- patchedApps.removeWhere((a) => a.packageName == app.packageName);
- final ApplicationWithIcon? installed =
- await DeviceApps.getApp(app.packageName, true) as ApplicationWithIcon?;
- if (installed != null) {
- app.name = installed.appName;
- app.version = installed.versionName!;
- app.icon = installed.icon;
- }
- patchedApps.add(app);
- await setPatchedApps(patchedApps);
- }
-
- Future deletePatchedApp(PatchedApplication app) async {
- final List patchedApps = getPatchedApps();
- patchedApps.removeWhere((a) => a.packageName == app.packageName);
- await setPatchedApps(patchedApps);
- }
-
- Future clearAllData() async {
- try {
- _revancedAPI.clearAllCache();
- _githubAPI.clearAllCache();
- } on Exception catch (e) {
- if (kDebugMode) {
- print(e);
- }
- }
- }
-
- Future>> getContributors() async {
- return contributors ??= await _revancedAPI.getContributors();
- }
-
- Future> getPatches() async {
- if (patches.isNotEmpty) {
- return patches;
- }
- final File? patchBundleFile = await downloadPatches();
- if (patchBundleFile != null) {
- try {
- final String patchesJson = await PatcherAPI.patcherChannel.invokeMethod(
- 'getPatches',
- {'patchBundleFilePath': patchBundleFile.path},
- );
- final List patchesJsonList = jsonDecode(patchesJson);
- patches =
- patchesJsonList
- .map((patchJson) => Patch.fromJson(patchJson))
- .toList();
- return patches;
- } on Exception catch (e) {
- if (kDebugMode) {
- print(e);
- }
- }
- }
-
- return List.empty();
- }
-
- Future downloadPatches() async {
- if (!isUsingAlternativeSources()) {
- return await _revancedAPI.getLatestReleaseFile('patches');
- }
-
- try {
- final String repoName = getPatchesRepo();
- final String currentVersion = await getCurrentPatchesVersion();
- final String url = getPatchesDownloadURL();
- return await _githubAPI.getReleaseFile(
- '.rvp',
- repoName,
- currentVersion,
- url,
- );
- } on Exception catch (e) {
- if (kDebugMode) {
- print(e);
- }
- return null;
- }
- }
-
- Future downloadManager() async {
- return await _revancedAPI.getLatestReleaseFile('manager');
- }
-
- Future getLatestPatchesReleaseTime() async {
- if (!isUsingAlternativeSources()) {
- return await _revancedAPI.getLatestReleaseTime('patches');
- } else {
- final release = await _githubAPI.getLatestRelease(getPatchesRepo());
- if (release != null) {
- final DateTime timestamp = DateTime.parse(
- release['created_at'] as String,
- );
- return format(timestamp, locale: 'en_short');
- } else {
- return null;
- }
- }
- }
-
- Future getLatestManagerReleaseTime() async {
- return await _revancedAPI.getLatestReleaseTime('manager');
- }
-
- Future getLatestManagerVersion() async {
- return await _revancedAPI.getLatestReleaseVersion('manager');
- }
-
- Future getLatestPatchesVersion() async {
- if (!isUsingAlternativeSources()) {
- return await _revancedAPI.getLatestReleaseVersion('patches');
- } else {
- final release = await _githubAPI.getLatestRelease(getPatchesRepo());
- if (release != null) {
- return release['tag_name'];
- } else {
- return null;
- }
- }
- }
-
- String getLastUsedPatchesVersion() {
- final String lastPatchesVersions =
- _prefs.getString('lastUsedPatchesVersion') ?? '{}';
- final Map lastPatchesVersionMap = jsonDecode(
- lastPatchesVersions,
- );
- final String repo = getPatchesRepo();
- return lastPatchesVersionMap[repo] ?? '0.0.0';
- }
-
- void setLastUsedPatchesVersion({String? version}) {
- final String lastPatchesVersions =
- _prefs.getString('lastUsedPatchesVersion') ?? '{}';
- final Map lastPatchesVersionMap = jsonDecode(
- lastPatchesVersions,
- );
- final repo = getPatchesRepo();
- final String lastPatchesVersion =
- version ?? lastPatchesVersionMap[repo] ?? '0.0.0';
- lastPatchesVersionMap[repo] = lastPatchesVersion;
- _prefs.setString(
- 'lastUsedPatchesVersion',
- jsonEncode(lastPatchesVersionMap),
- );
- }
-
- Future getCurrentManagerVersion() async {
- final PackageInfo packageInfo = await PackageInfo.fromPlatform();
- String version = packageInfo.version;
- if (!version.startsWith('v')) {
- version = 'v$version';
- }
- return version;
- }
-
- Future getCurrentPatchesVersion() async {
- patchesVersion = _prefs.getString('patchesVersion') ?? '0.0.0';
- if (patchesVersion == '0.0.0' || isPatchesAutoUpdate()) {
- final String newPatchesVersion =
- await getLatestPatchesVersion() ?? '0.0.0';
- if (patchesVersion != newPatchesVersion && newPatchesVersion != '0.0.0') {
- await setCurrentPatchesVersion(newPatchesVersion);
- }
- }
- return patchesVersion!;
- }
-
- Future setCurrentPatchesVersion(String version) async {
- await _prefs.setString('patchesVersion', version);
- await setPatchesDownloadURL('');
- await downloadPatches();
- }
-
- Future> getAppsToRemove(
- List patchedApps,
- ) async {
- final List toRemove = [];
- for (final PatchedApplication app in patchedApps) {
- final bool isRemove = await isAppUninstalled(app);
- if (isRemove) {
- toRemove.add(app);
- }
- }
- return toRemove;
- }
-
- Future> getMountedApps() async {
- final List mountedApps = [];
- final bool hasRootPermissions = await _rootAPI.hasRootPermissions();
- if (hasRootPermissions) {
- final List installedApps = await _rootAPI.getInstalledApps();
- for (final String packageName in installedApps) {
- final ApplicationWithIcon? application =
- await DeviceApps.getApp(packageName, true) as ApplicationWithIcon?;
- if (application != null) {
- mountedApps.add(
- PatchedApplication(
- name: application.appName,
- packageName: application.packageName,
- version: application.versionName!,
- apkFilePath: application.apkFilePath,
- icon: application.icon,
- patchDate: DateTime.now(),
- isRooted: true,
- ),
- );
- }
- }
- }
-
- return mountedApps;
- }
-
- Future showPatchesChangeWarningDialog(BuildContext context) {
- final ValueNotifier noShow = ValueNotifier(
- !showPatchesChangeWarning(),
- );
- return showDialog(
- barrierDismissible: false,
- context: context,
- builder:
- (context) => PopScope(
- canPop: false,
- child: AlertDialog(
- title: Text(t.warning),
- content: ValueListenableBuilder(
- valueListenable: noShow,
- builder: (context, value, child) {
- return Column(
- mainAxisSize: MainAxisSize.min,
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- Text(
- t.patchItem.patchesChangeWarningDialogText,
- style: const TextStyle(
- fontSize: 16,
- fontWeight: FontWeight.w500,
- ),
- ),
- const SizedBox(height: 8),
- HapticCheckboxListTile(
- value: value,
- contentPadding: EdgeInsets.zero,
- title: Text(t.noShowAgain),
- onChanged: (selected) {
- noShow.value = selected!;
- },
- ),
- ],
- );
- },
- ),
- actions: [
- FilledButton(
- onPressed: () {
- setPatchesChangeWarning(noShow.value);
- Navigator.of(context).pop();
- },
- child: Text(t.okButton),
- ),
- ],
- ),
- ),
- );
- }
-
- Future reAssessPatchedApps() async {
- final List patchedApps = getPatchedApps();
-
- // Remove apps that are not installed anymore.
- final List toRemove = await getAppsToRemove(
- patchedApps,
- );
- patchedApps.removeWhere((a) => toRemove.contains(a));
-
- // Determine all apps that are installed by mounting.
- final List mountedApps = await getMountedApps();
- mountedApps.removeWhere(
- (app) => patchedApps.any(
- (patchedApp) => patchedApp.packageName == app.packageName,
- ),
- );
- patchedApps.addAll(mountedApps);
-
- await setPatchedApps(patchedApps);
- }
-
- Future isAppUninstalled(PatchedApplication app) async {
- bool existsRoot = false;
- final bool existsNonRoot = await DeviceApps.isAppInstalled(app.packageName);
- if (app.isRooted) {
- final bool hasRootPermissions = await _rootAPI.hasRootPermissions();
- if (hasRootPermissions) {
- existsRoot = await _rootAPI.isAppInstalled(app.packageName);
- }
- return !existsRoot || !existsNonRoot;
- }
- return !existsNonRoot;
- }
-
- Future isSplitApk(PatchedApplication patchedApp) async {
- Application? app;
- if (patchedApp.isFromStorage) {
- app = await DeviceApps.getAppFromStorage(patchedApp.apkFilePath);
- } else {
- app = await DeviceApps.getApp(patchedApp.packageName);
- }
- return app != null && app.isSplit;
- }
-
- Future setSelectedPatches(String app, List patches) async {
- final File selectedPatchesFile = File(storedPatchesFile);
- final Map patchesMap = await readSelectedPatchesFile();
- if (patches.isEmpty) {
- patchesMap.remove(app);
- } else {
- patchesMap[app] = patches;
- }
- selectedPatchesFile.writeAsString(jsonEncode(patchesMap));
- }
-
- // get default patches for app
- Future> getDefaultPatches() async {
- final List patches = await getPatches();
- final List defaultPatches = [];
- if (isVersionCompatibilityCheckEnabled() == true) {
- defaultPatches.addAll(
- patches
- .where(
- (element) =>
- element.excluded == false && isPatchSupported(element),
- )
- .map((p) => p.name),
- );
- } else {
- defaultPatches.addAll(
- patches
- .where((element) => isPatchSupported(element))
- .map((p) => p.name),
- );
- }
- return defaultPatches;
- }
-
- Future> getSelectedPatches(String app) async {
- final Map patchesMap = await readSelectedPatchesFile();
- final List defaultPatches = await getDefaultPatches();
- return List.from(patchesMap.putIfAbsent(app, () => defaultPatches));
- }
-
- Future> readSelectedPatchesFile() async {
- final File selectedPatchesFile = File(storedPatchesFile);
- if (!selectedPatchesFile.existsSync()) {
- return {};
- }
- final String string = selectedPatchesFile.readAsStringSync();
- if (string.trim().isEmpty) {
- return {};
- }
- return jsonDecode(string);
- }
-
- String exportSettings() {
- final Map settings = _prefs
- .getKeys()
- .fold>({}, (Map map, String key) {
- map[key] = _prefs.get(key);
- return map;
- });
- return jsonEncode(settings);
- }
-
- Future importSettings(String settings) async {
- final Map settingsMap = jsonDecode(settings);
- settingsMap.forEach((key, value) {
- if (value is bool) {
- _prefs.setBool(key, value);
- } else if (value is int) {
- _prefs.setInt(key, value);
- } else if (value is double) {
- _prefs.setDouble(key, value);
- } else if (value is String) {
- _prefs.setString(key, value);
- } else if (value is List) {
- _prefs.setStringList(
- key,
- value.map((a) => json.encode(a.toJson())).toList(),
- );
- }
- });
- }
-
- void resetAllOptions() {
- _prefs.getKeys().where((key) => key.startsWith('patchOption-')).forEach((
- key,
- ) {
- _prefs.remove(key);
- });
- }
-
- Future resetLastSelectedPatches() async {
- final File selectedPatchesFile = File(storedPatchesFile);
- if (selectedPatchesFile.existsSync()) {
- selectedPatchesFile.deleteSync();
- }
- }
-}
diff --git a/lib/services/patcher_api.dart b/lib/services/patcher_api.dart
deleted file mode 100644
index f40337e7..00000000
--- a/lib/services/patcher_api.dart
+++ /dev/null
@@ -1,517 +0,0 @@
-import 'dart:io';
-
-import 'package:collection/collection.dart';
-import 'package:device_apps/device_apps.dart';
-import 'package:flutter/foundation.dart';
-import 'package:flutter/material.dart';
-import 'package:flutter/services.dart';
-import 'package:flutter_file_dialog/flutter_file_dialog.dart';
-import 'package:injectable/injectable.dart';
-import 'package:path_provider/path_provider.dart';
-import 'package:revanced_manager/app/app.locator.dart';
-import 'package:revanced_manager/gen/strings.g.dart';
-import 'package:revanced_manager/models/patch.dart';
-import 'package:revanced_manager/models/patched_application.dart';
-import 'package:revanced_manager/services/manager_api.dart';
-import 'package:revanced_manager/services/root_api.dart';
-import 'package:share_plus/share_plus.dart';
-
-@lazySingleton
-class PatcherAPI {
- static const patcherChannel = MethodChannel('app.revanced.manager.flutter/patcher');
- final ManagerAPI _managerAPI = locator();
- final RootAPI _rootAPI = RootAPI();
- late Directory _dataDir;
- late Directory _tmpDir;
- late File _keyStoreFile;
- List _patches = [];
- List _universalPatches = [];
- Set _compatiblePackages = {};
- Map filteredPatches = >{};
- File? outFile;
-
- Future initialize() async {
- await loadPatches();
- final Directory appCache = await getApplicationSupportDirectory();
- _dataDir = await getExternalStorageDirectory() ?? appCache;
- _tmpDir = Directory('${appCache.path}/patcher');
- _keyStoreFile = File('${_dataDir.path}/revanced-manager.keystore');
- cleanPatcher();
- }
-
- void cleanPatcher() {
- if (_tmpDir.existsSync()) {
- _tmpDir.deleteSync(recursive: true);
- }
- }
-
- Set getCompatiblePackages() {
- final Set compatiblePackages = {};
- for (final Patch patch in _patches) {
- for (final Package package in patch.compatiblePackages) {
- if (!compatiblePackages.contains(package.name)) {
- compatiblePackages.add(package.name);
- }
- }
- }
- return compatiblePackages;
- }
-
- List getUniversalPatches() {
- return _patches.where((patch) => patch.compatiblePackages.isEmpty).toList();
- }
-
- Future loadPatches() async {
- try {
- if (_patches.isEmpty) {
- _patches = await _managerAPI.getPatches();
- _universalPatches = getUniversalPatches();
- _compatiblePackages = getCompatiblePackages();
- }
- } on Exception catch (e) {
- if (kDebugMode) {
- print(e);
- }
-
- _patches = List.empty();
- }
- }
-
- Future> getFilteredInstalledApps(
- bool showUniversalPatches,
- ) async {
- final List filteredApps = [];
- final bool allAppsIncluded =
- _universalPatches.isNotEmpty && showUniversalPatches;
-
- if (allAppsIncluded) {
- final appList = await DeviceApps.getInstalledApplications(
- includeAppIcons: true,
- onlyAppsWithLaunchIntent: true,
- );
-
- for (final app in appList) {
- filteredApps.add(app as ApplicationWithIcon);
- }
- }
-
- for (final packageName in _compatiblePackages) {
- try {
- if (!filteredApps.any((app) => app.packageName == packageName)) {
- final ApplicationWithIcon? app = await DeviceApps.getApp(
- packageName,
- true,
- ) as ApplicationWithIcon?;
- if (app != null) {
- filteredApps.add(app);
- }
- }
- } on Exception catch (e) {
- if (kDebugMode) {
- print(e);
- }
- }
- }
- return filteredApps;
- }
-
- List getFilteredPatches(String packageName) {
- if (!_compatiblePackages.contains(packageName)) {
- return _universalPatches;
- }
-
- final List patches = _patches
- .where(
- (patch) =>
- patch.compatiblePackages.isEmpty ||
- !patch.name.contains('settings') &&
- patch.compatiblePackages
- .any((pack) => pack.name == packageName),
- )
- .toList();
- if (!_managerAPI.areUniversalPatchesEnabled()) {
- filteredPatches[packageName] = patches
- .where((patch) => patch.compatiblePackages.isNotEmpty)
- .toList();
- } else {
- filteredPatches[packageName] = patches;
- }
- return filteredPatches[packageName];
- }
-
- Future> getAppliedPatches(
- List appliedPatches,
- ) async {
- return _patches
- .where((patch) => appliedPatches.contains(patch.name))
- .toList();
- }
-
- Future runPatcher(
- String packageName,
- String apkFilePath,
- List selectedPatches,
- bool isFromStorage,
- ) async {
- final Map> options = {};
- for (final patch in selectedPatches) {
- if (patch.options.isNotEmpty) {
- final Map patchOptions = {};
- for (final option in patch.options) {
- final patchOption =
- _managerAPI.getPatchOption(packageName, patch.name, option.key);
- if (patchOption != null) {
- patchOptions[patchOption.key] = patchOption.value;
- }
- }
- options[patch.name] = patchOptions;
- }
- }
-
- _dataDir.createSync();
- _tmpDir.createSync();
- final Directory workDir = await _tmpDir.createTemp('tmp-');
-
- final File inApkFile = File('${workDir.path}/in.apk');
- await File(apkFilePath).copy(inApkFile.path);
-
- outFile = File('${workDir.path}/out.apk');
-
- final Directory tmpDir =
- Directory('${workDir.path}/revanced-temporary-files');
-
- try {
- await patcherChannel.invokeMethod(
- 'runPatcher',
- {
- 'inFilePath': inApkFile.path,
- 'outFilePath': outFile!.path,
- 'selectedPatches': selectedPatches.map((p) => p.name).toList(),
- 'options': options,
- 'tmpDirPath': tmpDir.path,
- 'keyStoreFilePath': _keyStoreFile.path,
- 'keystorePassword': _managerAPI.getKeystorePassword(),
- },
- );
- } on Exception catch (e) {
- if (kDebugMode) {
- print(e);
- }
- }
- }
-
- Future stopPatcher() async {
- try {
- await patcherChannel.invokeMethod('stopPatcher');
- } on Exception catch (e) {
- if (kDebugMode) {
- print(e);
- }
- }
- }
-
- Future installPatchedFile(
- BuildContext context,
- PatchedApplication patchedApp,
- ) async {
- if (patchedApp.patchedFilePath != '') {
- _managerAPI.ctx = context;
- try {
- if (patchedApp.isRooted) {
- final bool hasRootPermissions = await _rootAPI.hasRootPermissions();
- final packageVersion = await DeviceApps.getApp(patchedApp.packageName)
- .then((app) => app?.versionName);
- if (!hasRootPermissions) {
- installErrorDialog(1);
- } else if (packageVersion == null) {
- installErrorDialog(1.2);
- } else if (packageVersion == patchedApp.version) {
- return await _rootAPI.install(
- patchedApp.packageName,
- patchedApp.apkFilePath,
- patchedApp.patchedFilePath,
- )
- ? 0
- : 1;
- } else {
- installErrorDialog(1.1);
- }
- } else {
- if (await _rootAPI.hasRootPermissions()) {
- await _rootAPI.uninstall(patchedApp.packageName);
- }
- if (context.mounted) {
- return await installApk(
- context,
- patchedApp.patchedFilePath,
- );
- }
- }
- } on Exception catch (e) {
- if (kDebugMode) {
- print(e);
- }
- }
- }
- return 1;
- }
-
- Future installApk(
- BuildContext context,
- String apkPath,
- ) async {
- try {
- final status = await patcherChannel.invokeMethod('installApk', {
- 'apkPath': apkPath,
- });
- final int statusCode = status['status'];
- final String message = status['message'];
- final bool hasExtra =
- message.contains('INSTALL_FAILED_VERIFICATION_FAILURE') ||
- message.contains('INSTALL_FAILED_VERSION_DOWNGRADE');
- if (statusCode == 0 || (statusCode == 3 && !hasExtra)) {
- return statusCode;
- } else {
- _managerAPI.ctx = context;
- return await installErrorDialog(
- statusCode,
- status,
- hasExtra,
- );
- }
- } on Exception catch (e) {
- if (kDebugMode) {
- print(e);
- }
- return 3;
- }
- }
-
- Future installErrorDialog(
- num statusCode, [
- status,
- bool hasExtra = false,
- ]) async {
- final String statusValue = InstallStatus.byCode(
- hasExtra ? double.parse('$statusCode.1') : statusCode,
- );
- bool cleanInstall = false;
- final bool isFixable = statusCode == 4 || statusCode == 5;
-
- var description = t['installErrorDialog.${statusValue}_description'];
- if (statusCode == 2) {
- description = description(
- packageName: statusCode == 2
- ? {
- 'packageName': status['otherPackageName'],
- }
- : null,
- );
- }
-
- await showDialog(
- context: _managerAPI.ctx!,
- builder: (context) => AlertDialog(
- backgroundColor: Theme.of(context).colorScheme.secondaryContainer,
- title: Text(t['installErrorDialog.$statusValue']),
- content: Column(
- crossAxisAlignment: CrossAxisAlignment.start,
- mainAxisSize: MainAxisSize.min,
- children: [
- Text(description),
- ],
- ),
- actions: (status == null)
- ? [
- FilledButton(
- onPressed: () async {
- Navigator.pop(context);
- },
- child: Text(t.okButton),
- ),
- ]
- : [
- if (!isFixable)
- FilledButton(
- onPressed: () {
- Navigator.pop(context);
- },
- child: Text(t.cancelButton),
- )
- else
- TextButton(
- onPressed: () {
- Navigator.pop(context);
- },
- child: Text(t.cancelButton),
- ),
- if (isFixable)
- FilledButton(
- onPressed: () async {
- final int response = await patcherChannel.invokeMethod(
- 'uninstallApp',
- {'packageName': status['packageName']},
- );
- if (response == 0 && context.mounted) {
- cleanInstall = true;
- Navigator.pop(context);
- }
- },
- child: Text(t.okButton),
- ),
- ],
- ),
- );
- return cleanInstall ? 10 : 1;
- }
-
- void exportPatchedFile(PatchedApplication app) {
- try {
- if (outFile != null) {
- final String newName = _getFileName(app.name, app.version);
- FlutterFileDialog.saveFile(
- params: SaveFileDialogParams(
- sourceFilePath: app.patchedFilePath,
- fileName: newName,
- mimeTypesFilter: ['application/vnd.android.package-archive'],
- ),
- );
- }
- } on Exception catch (e) {
- if (kDebugMode) {
- print(e);
- }
- }
- }
-
- void sharePatchedFile(PatchedApplication app) {
- try {
- if (outFile != null) {
- final String newName = _getFileName(app.name, app.version);
- final int lastSeparator = app.patchedFilePath.lastIndexOf('/');
- final String newPath =
- app.patchedFilePath.substring(0, lastSeparator + 1) + newName;
- final File shareFile = File(app.patchedFilePath).copySync(newPath);
- Share.shareXFiles([XFile(shareFile.path)]);
- }
- } on Exception catch (e) {
- if (kDebugMode) {
- print(e);
- }
- }
- }
-
- String _getFileName(String appName, String version) {
- final String patchVersion = _managerAPI.patchesVersion!;
- final String prefix = appName.toLowerCase().replaceAll(' ', '-');
- final String newName =
- '$prefix-revanced_v$version-patches_$patchVersion.apk';
- return newName;
- }
-
- Future exportPatcherLog(String logs) async {
- final Directory appCache = await getTemporaryDirectory();
- final Directory logDir = Directory('${appCache.path}/logs');
- logDir.createSync();
- final String dateTime = DateTime.now()
- .toIso8601String()
- .replaceAll('-', '')
- .replaceAll(':', '')
- .replaceAll('T', '')
- .replaceAll('.', '');
- final String fileName = 'revanced-manager_patcher_$dateTime.txt';
- final File log = File('${logDir.path}/$fileName');
- log.writeAsStringSync(logs);
- FlutterFileDialog.saveFile(
- params: SaveFileDialogParams(
- sourceFilePath: log.path,
- fileName: fileName,
- ),
- );
- }
-
- String getSuggestedVersion(String packageName) {
- final Map versions = {};
- for (final Patch patch in _patches) {
- final Package? package = patch.compatiblePackages.firstWhereOrNull(
- (pack) => pack.name == packageName,
- );
- if (package != null) {
- for (final String version in package.versions) {
- versions.update(
- version,
- (value) => versions[version]! + 1,
- ifAbsent: () => 1,
- );
- }
- }
- }
- if (versions.isNotEmpty) {
- final entries = versions.entries.toList()
- ..sort((a, b) => a.value.compareTo(b.value));
- versions
- ..clear()
- ..addEntries(entries);
- versions.removeWhere((key, value) => value != versions.values.last);
- return (versions.keys.toList()..sort()).last;
- }
- return '';
- }
-}
-
-enum InstallStatus {
- mountNoRoot(1),
- mountVersionMismatch(1.1),
- mountMissingInstallation(1.2),
- statusFailureBlocked(2),
- installFailedVerificationFailure(3.1),
- statusFailureInvalid(4),
- installFailedVersionDowngrade(4.1),
- statusFailureConflict(5),
- statusFailureStorage(6),
- statusFailureIncompatible(7),
- statusFailureTimeout(8);
-
- const InstallStatus(this.statusCode);
-
- final double statusCode;
-
- static String byCode(num code) {
- try {
- return InstallStatus.values
- .firstWhere((flag) => flag.statusCode == code)
- .status;
- } catch (e) {
- return 'status_unknown';
- }
- }
-}
-
-extension InstallStatusExtension on InstallStatus {
- String get status {
- switch (this) {
- case InstallStatus.mountNoRoot:
- return 'mount_no_root';
- case InstallStatus.mountVersionMismatch:
- return 'mount_version_mismatch';
- case InstallStatus.mountMissingInstallation:
- return 'mount_missing_installation';
- case InstallStatus.statusFailureBlocked:
- return 'status_failure_blocked';
- case InstallStatus.installFailedVerificationFailure:
- return 'install_failed_verification_failure';
- case InstallStatus.statusFailureInvalid:
- return 'status_failure_invalid';
- case InstallStatus.installFailedVersionDowngrade:
- return 'install_failed_version_downgrade';
- case InstallStatus.statusFailureConflict:
- return 'status_failure_conflict';
- case InstallStatus.statusFailureStorage:
- return 'status_failure_storage';
- case InstallStatus.statusFailureIncompatible:
- return 'status_failure_incompatible';
- case InstallStatus.statusFailureTimeout:
- return 'status_failure_timeout';
- }
- }
-}
diff --git a/lib/services/revanced_api.dart b/lib/services/revanced_api.dart
deleted file mode 100644
index 80063648..00000000
--- a/lib/services/revanced_api.dart
+++ /dev/null
@@ -1,149 +0,0 @@
-import 'dart:async';
-import 'dart:io';
-import 'package:dio/dio.dart';
-import 'package:flutter/foundation.dart';
-import 'package:flutter_cache_manager/flutter_cache_manager.dart';
-import 'package:injectable/injectable.dart';
-import 'package:revanced_manager/app/app.locator.dart';
-import 'package:revanced_manager/services/download_manager.dart';
-import 'package:revanced_manager/services/manager_api.dart';
-import 'package:synchronized/synchronized.dart';
-import 'package:timeago/timeago.dart';
-
-@lazySingleton
-class RevancedAPI {
- late final Dio _dio;
- late final DownloadManager _downloadManager = locator();
- late final ManagerAPI _managerAPI = locator();
-
- final Lock getToolsLock = Lock();
-
- Future initialize(String repoUrl) async {
- _dio = _downloadManager.initDio(repoUrl);
- }
-
- Future clearAllCache() async {
- await _downloadManager.clearAllCache();
- }
-
- Future>> getContributors() async {
- final Map> contributors = {};
- try {
- final response = await _dio.get('/contributors');
- final List repositories = response.data;
- for (final Map repo in repositories) {
- final String name = repo['name'];
- contributors[name] = repo['contributors'];
- }
- } on Exception catch (e) {
- if (kDebugMode) {
- print(e);
- }
- return {};
- }
- return contributors;
- }
-
- Future?> _getLatestRelease(String toolName) {
- if (!locator().getDownloadConsent()) {
- return Future(() => null);
- }
- return getToolsLock.synchronized(() async {
- try {
- final response = await _dio.get(
- '/$toolName?prerelease=${_managerAPI.usePrereleases()}',
- );
- return response.data;
- } on Exception catch (e) {
- if (kDebugMode) {
- print(e);
- }
- return null;
- }
- });
- }
-
- Future getLatestReleaseVersion(String toolName) async {
- try {
- final Map? release = await _getLatestRelease(toolName);
- if (release != null) {
- return release['version'];
- }
- } on Exception catch (e) {
- if (kDebugMode) {
- print(e);
- }
- return null;
- }
- return null;
- }
-
- Future getLatestReleaseFile(String toolName) async {
- try {
- final Map? release = await _getLatestRelease(toolName);
- if (release != null) {
- final String url = release['download_url'];
- return await _downloadManager.getSingleFile(url);
- }
- } on Exception catch (e) {
- if (kDebugMode) {
- print(e);
- }
- return null;
- }
- return null;
- }
-
- StreamController managerUpdateProgress =
- StreamController.broadcast();
-
- void updateManagerDownloadProgress(int progress) {
- managerUpdateProgress.add(progress.toDouble());
- }
-
- Stream getManagerUpdateProgress() {
- return managerUpdateProgress.stream;
- }
-
- void disposeManagerUpdateProgress() {
- managerUpdateProgress.close();
- }
-
- Future downloadManager() async {
- final Map? release = await _getLatestRelease('manager');
- File? outputFile;
- await for (final result in _downloadManager.getFileStream(
- release!['download_url'] as String,
- )) {
- if (result is DownloadProgress) {
- final totalSize = result.totalSize ?? 10000000;
- final progress = (result.downloaded / totalSize * 100).round();
-
- updateManagerDownloadProgress(progress);
- } else if (result is FileInfo) {
- disposeManagerUpdateProgress();
- // The download is complete; convert the FileInfo object to a File object
- outputFile = File(result.file.path);
- }
- }
- return outputFile;
- }
-
- Future getLatestReleaseTime(String toolName) async {
- try {
- final Map? release = await _getLatestRelease(toolName);
- if (release != null) {
- final DateTime timestamp = DateTime.parse(
- release['created_at'] as String,
- );
- return format(timestamp, locale: 'en_short');
- }
- } on Exception catch (e) {
- if (kDebugMode) {
- print(e);
- }
- return null;
- }
- return null;
- }
-}
diff --git a/lib/services/root_api.dart b/lib/services/root_api.dart
deleted file mode 100644
index cfe61fc4..00000000
--- a/lib/services/root_api.dart
+++ /dev/null
@@ -1,208 +0,0 @@
-import 'package:flutter/foundation.dart';
-import 'package:root/root.dart';
-
-class RootAPI {
- final String _revancedDirPath = '/data/adb/revanced';
- final String _serviceDDirPath = '/data/adb/service.d';
-
- Future isRooted() async {
- try {
- final bool? isRooted = await Root.isRootAvailable();
- return isRooted != null && isRooted;
- } on Exception catch (e) {
- if (kDebugMode) {
- print(e);
- }
- return false;
- }
- }
-
- Future hasRootPermissions() async {
- try {
- bool? isRooted = await Root.isRootAvailable();
- if (isRooted != null && isRooted) {
- isRooted = await Root.isRooted();
- return isRooted != null && isRooted;
- }
- return false;
- } on Exception catch (e) {
- if (kDebugMode) {
- print(e);
- }
- return false;
- }
- }
-
- Future setPermissions(
- String permissions,
- ownerGroup,
- seLinux,
- String filePath,
- ) async {
- try {
- final StringBuffer commands = StringBuffer();
- if (permissions.isNotEmpty) {
- commands.writeln('chmod $permissions $filePath');
- }
-
- if (ownerGroup.isNotEmpty) {
- commands.writeln('chown $ownerGroup $filePath');
- }
-
- if (seLinux.isNotEmpty) {
- commands.writeln('chcon $seLinux $filePath');
- }
-
- await Root.exec(
- cmd: commands.toString(),
- );
- } on Exception catch (e) {
- if (kDebugMode) {
- print(e);
- }
- }
- }
-
- Future isAppInstalled(String packageName) async {
- if (packageName.isNotEmpty) {
- return fileExists('$_serviceDDirPath/$packageName.sh');
- }
- return false;
- }
-
- Future> getInstalledApps() async {
- final List apps = List.empty(growable: true);
- try {
- final String? res = await Root.exec(cmd: 'ls $_revancedDirPath');
- if (res != null) {
- final List list = res.split('\n');
- list.removeWhere((pack) => pack.isEmpty);
- apps.addAll(list.map((pack) => pack.trim()).toList());
- }
- } on Exception catch (e) {
- if (kDebugMode) {
- print(e);
- }
- }
- return apps;
- }
-
- Future uninstall(String packageName) async {
- await Root.exec(
- cmd: '''
- grep $packageName /proc/mounts | while read -r line; do echo \$line | cut -d " " -f 2 | sed "s/apk.*/apk/" | xargs -r umount -l; done
- rm -rf $_revancedDirPath/$packageName $_serviceDDirPath/$packageName.sh
- ''',
- );
- }
-
- Future removeOrphanedFiles() async {
- await Root.exec(
- cmd: 'find $_revancedDirPath -type f -name original.apk -delete',
- );
- }
-
- Future install(
- String packageName,
- String originalFilePath,
- String patchedFilePath,
- ) async {
- try {
- await setPermissions(
- '0755',
- 'shell:shell',
- '',
- '$_revancedDirPath/$packageName',
- );
- await installPatchedApk(packageName, patchedFilePath);
- await installServiceDScript(packageName);
- await runMountScript(packageName);
- return true;
- } on Exception catch (e) {
- if (kDebugMode) {
- print(e);
- }
- return false;
- }
- }
-
- Future installServiceDScript(String packageName) async {
- await Root.exec(
- cmd: 'mkdir -p $_serviceDDirPath',
- );
- final String mountScript = '''
- #!/system/bin/sh
- # Mount using Magisk mirror, if available.
- MAGISKTMP="\$( magisk --path )" || MAGISKTMP=/sbin
- MIRROR="\$MAGISKTMP/.magisk/mirror"
- if [ ! -f \$MIRROR ]; then
- MIRROR=""
- fi
-
- until [ "\$(getprop sys.boot_completed)" = 1 ]; do sleep 3; done
- until [ -d "/sdcard/Android" ]; do sleep 1; done
-
- # Unmount any existing installation to prevent multiple unnecessary mounts.
- grep $packageName /proc/mounts | while read -r line; do echo \$line | cut -d " " -f 2 | sed "s/apk.*/apk/" | xargs -r umount -l; done
-
- base_path=$_revancedDirPath/$packageName/base.apk
- stock_path=\$(pm path $packageName | grep base | sed "s/package://g" )
-
- chcon u:object_r:apk_data_file:s0 \$base_path
- mount -o bind \$MIRROR\$base_path \$stock_path
-
- # Kill the app to force it to restart the mounted APK in case it is already running
- am force-stop $packageName
- '''
- .trimMultilineString();
- final String scriptFilePath = '$_serviceDDirPath/$packageName.sh';
- await Root.exec(
- cmd: 'echo \'$mountScript\' > "$scriptFilePath"',
- );
- await setPermissions('0744', '', '', scriptFilePath);
- }
-
- Future installPatchedApk(
- String packageName, String patchedFilePath,) async {
- final String newPatchedFilePath = '$_revancedDirPath/$packageName/base.apk';
- await Root.exec(
- cmd: '''
- mkdir -p $_revancedDirPath/$packageName
- cp "$patchedFilePath" $newPatchedFilePath
- ''',
- );
- await setPermissions(
- '0644',
- 'system:system',
- 'u:object_r:apk_data_file:s0',
- newPatchedFilePath,
- );
- }
-
- Future runMountScript(
- String packageName,
- ) async {
- await Root.exec(cmd: '.$_serviceDDirPath/$packageName.sh');
- }
-
- Future fileExists(String path) async {
- try {
- final String? res = await Root.exec(
- cmd: 'ls $path',
- );
- return res != null && res.isNotEmpty;
- } on Exception catch (e) {
- if (kDebugMode) {
- print(e);
- }
- return false;
- }
- }
-}
-
-// Remove leading spaces manually until
-// https://github.com/dart-lang/language/issues/559 is closed
-extension StringExtension on String {
- String trimMultilineString() =>
- split('\n').map((line) => line.trim()).join('\n').trim();
-}
diff --git a/lib/services/third_party_services_modules.dart b/lib/services/third_party_services_modules.dart
deleted file mode 100644
index 6f54f6fb..00000000
--- a/lib/services/third_party_services_modules.dart
+++ /dev/null
@@ -1,12 +0,0 @@
-import 'package:injectable/injectable.dart';
-import 'package:stacked_services/stacked_services.dart';
-
-@module
-abstract class ThirdPartyServicesModule {
- @lazySingleton
- NavigationService get navigationService;
- @lazySingleton
- DialogService get dialogService;
- @lazySingleton
- SnackbarService get snackbarService;
-}
diff --git a/lib/services/toast.dart b/lib/services/toast.dart
deleted file mode 100644
index e49d5176..00000000
--- a/lib/services/toast.dart
+++ /dev/null
@@ -1,27 +0,0 @@
-import 'package:flutter/material.dart';
-import 'package:fluttertoast/fluttertoast.dart' as t;
-
-class Toast {
- final t.FToast _fToast = t.FToast();
- late BuildContext buildContext;
-
- void initialize(BuildContext context) {
- _fToast.init(context);
- }
-
- void show(String text) {
- t.Fluttertoast.showToast(
- msg: text,
- toastLength: t.Toast.LENGTH_LONG,
- gravity: t.ToastGravity.CENTER,
- );
- }
-
- void showBottom(String text) {
- t.Fluttertoast.showToast(
- msg: text,
- toastLength: t.Toast.LENGTH_LONG,
- gravity: t.ToastGravity.BOTTOM,
- );
- }
-}
diff --git a/lib/theme.dart b/lib/theme.dart
deleted file mode 100644
index 471d2345..00000000
--- a/lib/theme.dart
+++ /dev/null
@@ -1,44 +0,0 @@
-import 'package:flutter/material.dart';
-import 'package:google_fonts/google_fonts.dart';
-
-var lightCustomColorScheme = ColorScheme.fromSeed(
- seedColor: Colors.purple,
- primary: const Color(0xFF4C51C0),
-);
-
-var lightCustomTheme = ThemeData(
- useMaterial3: true,
- colorScheme: lightCustomColorScheme,
- navigationBarTheme: NavigationBarThemeData(
- labelTextStyle: WidgetStateProperty.all(
- TextStyle(
- color: lightCustomColorScheme.onSurface,
- fontWeight: FontWeight.w500,
- ),
- ),
- ),
- textTheme: GoogleFonts.robotoTextTheme(ThemeData.light().textTheme),
-);
-
-var darkCustomColorScheme = ColorScheme.fromSeed(
- seedColor: Colors.purple,
- brightness: Brightness.dark,
- primary: const Color(0xFFBFC1FF),
- surface: const Color(0xFF131316),
-);
-
-var darkCustomTheme = ThemeData(
- useMaterial3: true,
- colorScheme: darkCustomColorScheme,
- navigationBarTheme: NavigationBarThemeData(
- labelTextStyle: WidgetStateProperty.all(
- TextStyle(
- color: darkCustomColorScheme.onSurface,
- fontWeight: FontWeight.w500,
- ),
- ),
- ),
- canvasColor: const Color(0xFF131316),
- scaffoldBackgroundColor: const Color(0xFF131316),
- textTheme: GoogleFonts.robotoTextTheme(ThemeData.dark().textTheme),
-);
diff --git a/lib/ui/theme/dynamic_theme_builder.dart b/lib/ui/theme/dynamic_theme_builder.dart
deleted file mode 100644
index f66afb81..00000000
--- a/lib/ui/theme/dynamic_theme_builder.dart
+++ /dev/null
@@ -1,118 +0,0 @@
-import 'dart:ui';
-import 'package:dynamic_color/dynamic_color.dart';
-import 'package:dynamic_themes/dynamic_themes.dart';
-import 'package:flutter/material.dart';
-import 'package:flutter_localizations/flutter_localizations.dart';
-import 'package:google_fonts/google_fonts.dart';
-import 'package:revanced_manager/app/app.router.dart';
-import 'package:revanced_manager/gen/strings.g.dart';
-import 'package:revanced_manager/theme.dart';
-import 'package:stacked_services/stacked_services.dart';
-
-class DynamicThemeBuilder extends StatefulWidget {
- const DynamicThemeBuilder({
- super.key,
- required this.title,
- required this.home,
- });
- final String title;
- final Widget home;
-
- @override
- State createState() => _DynamicThemeBuilderState();
-}
-
-class _DynamicThemeBuilderState extends State
- with WidgetsBindingObserver {
- late Brightness brightness;
-
- @override
- void initState() {
- super.initState();
- brightness = PlatformDispatcher.instance.platformBrightness;
- WidgetsBinding.instance.addObserver(this);
- }
-
- @override
- void didChangeAppLifecycleState(AppLifecycleState state) {
- if (state == AppLifecycleState.resumed) {
- final systemBrightness = PlatformDispatcher.instance.platformBrightness;
- if (brightness != systemBrightness) {
- brightness = systemBrightness;
- setState(() {});
- }
- }
- }
-
- @override
- Widget build(BuildContext context) {
- return DynamicColorBuilder(
- builder: (lightColorScheme, darkColorScheme) {
- final ThemeData lightDynamicTheme = ThemeData(
- useMaterial3: true,
- navigationBarTheme: NavigationBarThemeData(
- labelTextStyle: WidgetStateProperty.all(
- GoogleFonts.roboto(
- color: lightColorScheme?.onSurface,
- fontWeight: FontWeight.w500,
- ),
- ),
- ),
- colorScheme: lightColorScheme?.harmonized(),
- textTheme: GoogleFonts.robotoTextTheme(ThemeData.light().textTheme),
- );
- final ThemeData darkDynamicTheme = ThemeData(
- brightness: Brightness.dark,
- useMaterial3: true,
- navigationBarTheme: NavigationBarThemeData(
- labelTextStyle: WidgetStateProperty.all(
- GoogleFonts.roboto(
- color: darkColorScheme?.onSurface,
- fontWeight: FontWeight.w500,
- ),
- ),
- ),
- colorScheme: darkColorScheme?.harmonized(),
- textTheme: GoogleFonts.robotoTextTheme(ThemeData.dark().textTheme),
- );
- return DynamicTheme(
- themeCollection: ThemeCollection(
- themes: {
- 0: brightness == Brightness.light
- ? lightCustomTheme
- : darkCustomTheme,
- 1: brightness == Brightness.light
- ? lightDynamicTheme
- : darkDynamicTheme,
- 2: lightCustomTheme,
- 3: lightDynamicTheme,
- 4: darkCustomTheme,
- 5: darkDynamicTheme,
- },
- fallbackTheme: PlatformDispatcher.instance.platformBrightness ==
- Brightness.light
- ? lightCustomTheme
- : darkCustomTheme,
- ),
- builder: (context, theme) => MaterialApp(
- debugShowCheckedModeBanner: false,
- title: widget.title,
- navigatorKey: StackedService.navigatorKey,
- onGenerateRoute: StackedRouter().onGenerateRoute,
- theme: theme,
- home: widget.home,
- localizationsDelegates: GlobalMaterialLocalizations.delegates,
- locale: TranslationProvider.of(context).flutterLocale,
- supportedLocales: AppLocaleUtils.supportedLocales,
- ),
- );
- },
- );
- }
-
- @override
- void dispose() {
- WidgetsBinding.instance.removeObserver(this);
- super.dispose();
- }
-}
diff --git a/lib/ui/views/app_selector/app_selector_view.dart b/lib/ui/views/app_selector/app_selector_view.dart
deleted file mode 100644
index fc29cae2..00000000
--- a/lib/ui/views/app_selector/app_selector_view.dart
+++ /dev/null
@@ -1,138 +0,0 @@
-import 'package:flutter/material.dart' hide SearchBar;
-import 'package:revanced_manager/gen/strings.g.dart';
-import 'package:revanced_manager/ui/views/app_selector/app_selector_viewmodel.dart';
-import 'package:revanced_manager/ui/widgets/appSelectorView/app_skeleton_loader.dart';
-import 'package:revanced_manager/ui/widgets/appSelectorView/installed_app_item.dart';
-import 'package:revanced_manager/ui/widgets/appSelectorView/not_installed_app_item.dart';
-import 'package:revanced_manager/ui/widgets/shared/haptics/haptic_floating_action_button_extended.dart';
-import 'package:revanced_manager/ui/widgets/shared/search_bar.dart';
-import 'package:stacked/stacked.dart' hide SkeletonLoader;
-
-class AppSelectorView extends StatefulWidget {
- const AppSelectorView({super.key});
-
- @override
- State createState() => _AppSelectorViewState();
-}
-
-class _AppSelectorViewState extends State {
- String _query = '';
-
- @override
- Widget build(BuildContext context) {
- return ViewModelBuilder.reactive(
- onViewModelReady: (model) => model.initialize(),
- viewModelBuilder: () => AppSelectorViewModel(),
- builder: (context, model, child) => Scaffold(
- floatingActionButton: HapticFloatingActionButtonExtended(
- label: Text(t.appSelectorView.storageButton),
- icon: const Icon(Icons.sd_storage),
- onPressed: () {
- model.selectAppFromStorage(context);
- },
- ),
- body: CustomScrollView(
- slivers: [
- SliverAppBar(
- pinned: true,
- floating: true,
- title: Text(
- t.appSelectorView.viewTitle,
- ),
- titleTextStyle: TextStyle(
- fontSize: 22.0,
- color: Theme.of(context).textTheme.titleLarge!.color,
- ),
- leading: IconButton(
- icon: Icon(
- Icons.arrow_back,
- color: Theme.of(context).textTheme.titleLarge!.color,
- ),
- onPressed: () => Navigator.of(context).pop(),
- ),
- bottom: PreferredSize(
- preferredSize: const Size.fromHeight(66.0),
- child: Padding(
- padding: const EdgeInsets.symmetric(
- vertical: 8.0,
- horizontal: 12.0,
- ),
- child: SearchBar(
- hintText: t.appSelectorView.searchBarHint,
- onQueryChanged: (searchQuery) {
- setState(() {
- _query = searchQuery;
- });
- },
- ),
- ),
- ),
- ),
- SliverToBoxAdapter(
- child: model.noApps
- ? Center(
- child: Text(
- t.appSelectorCard.noAppsLabel,
- style: TextStyle(
- color: Theme.of(context).textTheme.titleLarge!.color,
- ),
- ),
- )
- : model.allApps.isEmpty && model.apps.isEmpty
- ? const AppSkeletonLoader()
- : Padding(
- padding: const EdgeInsets.symmetric(horizontal: 12.0)
- .copyWith(
- bottom:
- MediaQuery.viewPaddingOf(context).bottom + 8.0,
- ),
- child: Column(
- children: [
- ...model.getFilteredApps(_query).map(
- (app) => InstalledAppItem(
- name: app.appName,
- pkgName: app.packageName,
- icon: app.icon,
- patchesCount:
- model.patchesCount(app.packageName),
- suggestedVersion:
- model.getSuggestedVersion(
- app.packageName,
- ),
- installedVersion: app.versionName!,
- onTap: () => model.canSelectInstalled(
- context,
- app.packageName,
- ),
- onLinkTap: () =>
- model.searchSuggestedVersionOnWeb(
- packageName: app.packageName,
- ),
- ),
- ),
- ...model.getFilteredAppsNames(_query).map(
- (app) => NotInstalledAppItem(
- name: app,
- patchesCount: model.patchesCount(app),
- suggestedVersion:
- model.getSuggestedVersion(app),
- onTap: () {
- model.showDownloadToast();
- },
- onLinkTap: () =>
- model.searchSuggestedVersionOnWeb(
- packageName: app,
- ),
- ),
- ),
- const SizedBox(height: 70.0),
- ],
- ),
- ),
- ),
- ],
- ),
- ),
- );
- }
-}
diff --git a/lib/ui/views/app_selector/app_selector_viewmodel.dart b/lib/ui/views/app_selector/app_selector_viewmodel.dart
deleted file mode 100644
index cc231655..00000000
--- a/lib/ui/views/app_selector/app_selector_viewmodel.dart
+++ /dev/null
@@ -1,321 +0,0 @@
-import 'dart:io';
-
-import 'package:device_apps/device_apps.dart';
-import 'package:flutter/foundation.dart';
-import 'package:flutter/material.dart';
-import 'package:flutter/services.dart';
-import 'package:flutter_file_dialog/flutter_file_dialog.dart';
-import 'package:revanced_manager/app/app.locator.dart';
-import 'package:revanced_manager/gen/strings.g.dart';
-import 'package:revanced_manager/models/patch.dart';
-import 'package:revanced_manager/models/patched_application.dart';
-import 'package:revanced_manager/services/manager_api.dart';
-import 'package:revanced_manager/services/patcher_api.dart';
-import 'package:revanced_manager/services/toast.dart';
-import 'package:revanced_manager/ui/views/patcher/patcher_viewmodel.dart';
-import 'package:revanced_manager/utils/about_info.dart';
-import 'package:revanced_manager/utils/check_for_supported_patch.dart';
-import 'package:stacked/stacked.dart';
-
-class AppSelectorViewModel extends BaseViewModel {
- final PatcherAPI _patcherAPI = locator();
- final ManagerAPI _managerAPI = locator();
- final Toast _toast = locator();
- final List apps = [];
- List allApps = [];
- bool noApps = false;
- bool isRooted = false;
- int patchesCount(String packageName) {
- return _patcherAPI.getFilteredPatches(packageName).length;
- }
-
- List patches = [];
-
- Future initialize() async {
- patches = await _managerAPI.getPatches();
- isRooted = _managerAPI.isRooted;
-
- apps.addAll(
- await _patcherAPI
- .getFilteredInstalledApps(_managerAPI.areUniversalPatchesEnabled()),
- );
- apps.sort(
- (a, b) => _patcherAPI
- .getFilteredPatches(b.packageName)
- .length
- .compareTo(_patcherAPI.getFilteredPatches(a.packageName).length),
- );
- getAllApps();
- notifyListeners();
- }
-
- List getAllApps() {
- allApps = patches
- .expand((e) => e.compatiblePackages.map((p) => p.name))
- .toSet()
- .where((name) => !apps.any((app) => app.packageName == name))
- .toList();
- noApps = allApps.isEmpty && apps.isEmpty;
- return allApps;
- }
-
- String getSuggestedVersion(String packageName) {
- return _patcherAPI.getSuggestedVersion(packageName);
- }
-
- Future checkSplitApk(String packageName) async {
- final app = await DeviceApps.getApp(packageName);
- if (app != null) {
- return app.isSplit;
- }
- return true;
- }
-
- Future searchSuggestedVersionOnWeb({
- required String packageName,
- }) async {
- final String suggestedVersion = getSuggestedVersion(packageName);
- final String architecture = await AboutInfo.getInfo().then((info) {
- return info['supportedArch'][0];
- });
-
- if (suggestedVersion.isNotEmpty) {
- await openDefaultBrowser('$packageName apk version $suggestedVersion $architecture');
- } else {
- await openDefaultBrowser('$packageName apk $architecture');
- }
- }
-
- Future openDefaultBrowser(String query) async {
- if (Platform.isAndroid) {
- try {
- const platform = MethodChannel('app.revanced.manager.flutter/browser');
- await platform.invokeMethod('openBrowser', {'query': query});
- } catch (e) {
- if (kDebugMode) {
- print(e);
- }
- }
- } else {
- throw 'Platform not supported';
- }
- }
-
- Future selectApp(
- BuildContext context,
- ApplicationWithIcon application, [
- bool isFromStorage = false,
- ]) async {
- final String suggestedVersion =
- getSuggestedVersion(application.packageName);
- if (application.versionName != suggestedVersion &&
- suggestedVersion.isNotEmpty) {
- _managerAPI.suggestedAppVersionSelected = false;
- if (_managerAPI.isRequireSuggestedAppVersionEnabled() &&
- context.mounted) {
- return showRequireSuggestedAppVersionDialog(
- context,
- application.versionName!,
- suggestedVersion,
- );
- }
- } else {
- _managerAPI.suggestedAppVersionSelected = true;
- }
- locator().selectedApp = PatchedApplication(
- name: application.appName,
- packageName: application.packageName,
- version: application.versionName!,
- apkFilePath: application.apkFilePath,
- icon: application.icon,
- patchDate: DateTime.now(),
- isFromStorage: isFromStorage,
- );
- await locator().loadLastSelectedPatches();
- if (context.mounted) {
- Navigator.pop(context);
- }
- }
-
- Future canSelectInstalled(
- BuildContext context,
- String packageName,
- ) async {
- final app =
- await DeviceApps.getApp(packageName, true) as ApplicationWithIcon?;
- if (app != null) {
- final bool isSplitApk = await checkSplitApk(packageName);
- if (isRooted || !isSplitApk) {
- if (context.mounted) {
- await selectApp(context, app);
- }
- final List requiredNullOptions = getNullRequiredOptions(
- locator().selectedPatches,
- packageName,
- );
- if (requiredNullOptions.isNotEmpty) {
- locator().showRequiredOptionDialog();
- }
- } else {
- if (context.mounted) {
- return showSelectFromStorageDialog(context);
- }
- }
- }
- }
-
- Future showRequireSuggestedAppVersionDialog(
- BuildContext context,
- String selectedVersion,
- String suggestedVersion,
- ) async {
- return showDialog(
- context: context,
- builder: (context) => AlertDialog(
- title: Text(t.warning),
- content: Text(
- t.appSelectorView.requireSuggestedAppVersionDialogText(
- suggested: suggestedVersion,
- selected: selectedVersion,
- ),
- style: const TextStyle(
- fontSize: 16,
- fontWeight: FontWeight.w500,
- ),
- ),
- actions: [
- FilledButton(
- onPressed: () => Navigator.of(context).pop(),
- child: Text(t.okButton),
- ),
- ],
- ),
- );
- }
-
- Future showSelectFromStorageDialog(BuildContext context) async {
- return showDialog(
- context: context,
- builder: (innerContext) => SimpleDialog(
- alignment: Alignment.center,
- contentPadding:
- const EdgeInsets.symmetric(horizontal: 20, vertical: 20),
- children: [
- const SizedBox(height: 10),
- Icon(
- Icons.block,
- size: 28,
- color: Theme.of(innerContext).colorScheme.primary,
- ),
- const SizedBox(height: 20),
- Text(
- t.appSelectorView.featureNotAvailable,
- textAlign: TextAlign.center,
- style: const TextStyle(
- fontSize: 20,
- fontWeight: FontWeight.w600,
- wordSpacing: 1.5,
- ),
- ),
- const SizedBox(height: 20),
- Text(
- t.appSelectorView.featureNotAvailableText,
- style: const TextStyle(
- fontSize: 14,
- ),
- ),
- const SizedBox(height: 30),
- FilledButton(
- onPressed: () async {
- Navigator.pop(innerContext);
- await selectAppFromStorage(context);
- },
- child: Row(
- mainAxisAlignment: MainAxisAlignment.center,
- children: [
- const Icon(Icons.sd_card),
- const SizedBox(width: 10),
- Text(t.appSelectorView.selectFromStorageButton),
- ],
- ),
- ),
- const SizedBox(height: 10),
- TextButton(
- onPressed: () {
- Navigator.pop(innerContext);
- },
- child: Row(
- mainAxisAlignment: MainAxisAlignment.center,
- children: [
- const SizedBox(width: 10),
- Text(t.cancelButton),
- ],
- ),
- ),
- ],
- ),
- );
- }
-
- Future selectAppFromStorage(BuildContext context) async {
- try {
- final String? result = await FlutterFileDialog.pickFile(
- params: const OpenFileDialogParams(
- mimeTypesFilter: ['application/vnd.android.package-archive'],
- ),
- );
- if (result != null) {
- final File apkFile = File(result);
- final List pathSplit = result.split('/');
- pathSplit.removeLast();
- final Directory filePickerCacheDir = Directory(pathSplit.join('/'));
- final Iterable deletableFiles =
- (await filePickerCacheDir.list().toList()).whereType();
- for (final file in deletableFiles) {
- if (file.path != apkFile.path && file.path.endsWith('.apk')) {
- file.delete();
- }
- }
- final ApplicationWithIcon? application =
- await DeviceApps.getAppFromStorage(
- apkFile.path,
- true,
- ) as ApplicationWithIcon?;
- if (application != null && context.mounted) {
- await selectApp(context, application, true);
- }
- }
- } on Exception catch (e) {
- if (kDebugMode) {
- print(e);
- }
- _toast.showBottom(t.appSelectorView.errorMessage);
- }
- }
-
- List getFilteredApps(String query) {
- return apps
- .where(
- (app) =>
- query.isEmpty ||
- query.length < 2 ||
- app.appName.toLowerCase().contains(query.toLowerCase()) ||
- app.packageName.toLowerCase().contains(query.toLowerCase()),
- )
- .toList();
- }
-
- List getFilteredAppsNames(String query) {
- return allApps
- .where(
- (app) =>
- query.isEmpty ||
- query.length < 2 ||
- app.toLowerCase().contains(query.toLowerCase()),
- )
- .toList();
- }
-
- void showDownloadToast() =>
- _toast.showBottom(t.appSelectorView.downloadToast);
-}
diff --git a/lib/ui/views/contributors/contributors_view.dart b/lib/ui/views/contributors/contributors_view.dart
deleted file mode 100644
index 8e7b995d..00000000
--- a/lib/ui/views/contributors/contributors_view.dart
+++ /dev/null
@@ -1,50 +0,0 @@
-import 'package:flutter/material.dart';
-import 'package:google_fonts/google_fonts.dart';
-import 'package:revanced_manager/gen/strings.g.dart';
-import 'package:revanced_manager/ui/views/contributors/contributors_viewmodel.dart';
-import 'package:revanced_manager/ui/widgets/contributorsView/contributors_card.dart';
-import 'package:revanced_manager/ui/widgets/shared/custom_sliver_app_bar.dart';
-import 'package:stacked/stacked.dart';
-
-class ContributorsView extends StatelessWidget {
- const ContributorsView({super.key});
-
- @override
- Widget build(BuildContext context) {
- return ViewModelBuilder.reactive(
- viewModelBuilder: () => ContributorsViewModel(),
- onViewModelReady: (model) => model.getContributors(),
- builder: (context, model, child) => Scaffold(
- body: CustomScrollView(
- slivers: [
- CustomSliverAppBar(
- title: Text(
- t.contributorsView.widgetTitle,
- style: GoogleFonts.inter(
- color: Theme.of(context).textTheme.titleLarge!.color,
- ),
- ),
- ),
- SliverPadding(
- padding: const EdgeInsets.all(20.0),
- sliver: SliverList(
- delegate: SliverChildListDelegate.fixed(
- [
- for (final String tool in model.contributors.keys) ...[
- ContributorsCard(
- title: tool,
- contributors: model.contributors[tool]!,
- ),
- const SizedBox(height: 20),
- ],
- SizedBox(height: MediaQuery.viewPaddingOf(context).bottom),
- ],
- ),
- ),
- ),
- ],
- ),
- ),
- );
- }
-}
diff --git a/lib/ui/views/contributors/contributors_viewmodel.dart b/lib/ui/views/contributors/contributors_viewmodel.dart
deleted file mode 100644
index 3234fd3b..00000000
--- a/lib/ui/views/contributors/contributors_viewmodel.dart
+++ /dev/null
@@ -1,13 +0,0 @@
-import 'package:revanced_manager/app/app.locator.dart';
-import 'package:revanced_manager/services/manager_api.dart';
-import 'package:stacked/stacked.dart';
-
-class ContributorsViewModel extends BaseViewModel {
- final ManagerAPI _managerAPI = locator();
- Map