Compare commits

..

8 Commits

Author SHA1 Message Date
semantic-release-bot
c52edc99c0 chore(release): 1.23.0-dev.1 [skip ci]
# [1.23.0-dev.1](https://github.com/ReVanced/revanced-manager/compare/v1.22.1-dev.2...v1.23.0-dev.1) (2024-10-17)

### Bug Fixes

* Don't show toasts when export cancelled ([#2230](https://github.com/ReVanced/revanced-manager/issues/2230)) ([bd79496](bd79496433))
* missing parameter in translations ([1c6c5d5](1c6c5d53ae))

### Features

* Also show new patches in the removed patches dialog ([#2257](https://github.com/ReVanced/revanced-manager/issues/2257)) ([8872165](8872165a99))
2024-10-17 19:10:51 +00:00
aAbed
1c6c5d53ae fix: missing parameter in translations 2024-10-18 00:02:54 +05:45
aAbed
1b110e5bd5 fixup: string correction 2024-10-17 22:00:11 +05:45
aAbed
8872165a99 feat: Also show new patches in the removed patches dialog (#2257)
Co-authored-by: oSumAtrIX <johan.melkonyan1@web.de>
2024-10-17 17:48:19 +02:00
aAbed
bd79496433 fix: Don't show toasts when export cancelled (#2230) 2024-10-17 17:48:04 +02:00
oSumAtrIX
820cd720b5 chore: Modernize project setup
Update dependencies, move to Gradle KTs and overall improve build and project files.
2024-10-06 03:14:12 +02:00
ReVanced Bot
31ff1e0492 chore: Sync translations (#2200) 2024-10-01 00:02:20 +07:00
Pun Butrach
8b429f03c2 ci: Use the correct expression to grab translation files (#2232) 2024-09-30 23:59:43 +07:00
116 changed files with 467 additions and 686 deletions

View File

@@ -16,6 +16,8 @@ on:
jobs: jobs:
release: release:
name: Release name: Release
permissions:
contents: write
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout - name: Checkout
@@ -35,8 +37,7 @@ jobs:
- name: Set up Flutter - name: Set up Flutter
uses: subosito/flutter-action@v2 uses: subosito/flutter-action@v2
with: with:
channel: "stable" channel: stable
flutter-version: 3.24.x
- name: Install dependencies - name: Install dependencies
run: npm ci run: npm ci
@@ -50,13 +51,15 @@ jobs:
- name: Generate code files - name: Generate code files
run: dart run build_runner build --delete-conflicting-outputs run: dart run build_runner build --delete-conflicting-outputs
- name: Setup keystore
run: |
echo "${{ secrets.KEYSTORE }}" | base64 --decode > "keystore.jks"}
- name: Release - name: Release
env: env:
GITHUB_TOKEN: ${{ secrets.REPOSITORY_PUSH_ACCESS }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
signingKey: "keystore.jks" KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
keyStorePassword: ${{ secrets.SIGNING_KEYSTORE_PASSWORD }} KEYSTORE_ENTRY_ALIAS: ${{ secrets.KEYSTORE_ENTRY_ALIAS }}
keyAlias: ${{ secrets.SIGNING_KEY_ALIAS }} KEYSTORE_ENTRY_PASSWORD: ${{ secrets.KEYSTORE_ENTRY_PASSWORD }}
keyPassword: ${{ secrets.SIGNING_KEY_PASSWORD }}
run: | run: |
echo "${{ secrets.SIGNING_KEYSTORE }}" | base64 --decode > android/app/keystore.jks
npx semantic-release npx semantic-release

View File

@@ -68,6 +68,5 @@ jobs:
git config user.name revanced-bot git config user.name revanced-bot
git config user.email github@revanced.app git config user.email github@revanced.app
sudo chown -R $USER:$USER .git sudo chown -R $USER:$USER .git
git add assets/i18n/strings.*.json git commit -m "chore: Remove empty values from JSON" assets/i18n/strings_*.json
git commit -m "chore: Remove empty values from JSON" assets/i18n/strings.*.json
git push origin HEAD:feat/translations git push origin HEAD:feat/translations

88
.gitignore vendored
View File

@@ -1,41 +1,14 @@
# See https://www.dartlang.org/guides/libraries/private-files # Miscellaneous
*.class
# Files and directories created by pub *.log
.dart_tool/ *.pyc
.packages *.swp
build/ .DS_Store
# If you're building an application, you may want to check-in your pubspec.lock .atom/
# pubspec.lock .buildlog/
.history
# Directory created by dartdoc .svn/
# If you don't generate documentation locally you can remove this line. migrate_working_dir/
doc/api/
# dotenv environment variables file
.env*
# Avoid committing generated Javascript files:
*.dart.js
*.info.json # Produced by the --dump-info flag.
*.js # When generated by dart2js. Don't specify *.js if your
# project includes source files written in JavaScript.
*.js_
*.js.deps
*.js.map
.flutter-plugins
.flutter-plugins-dependencies
# Generated Builder file
**/*.g.dart
**/*.locator.dart
**/*.router.dart
flutter_*.png
#### Custom
local.properties
# IntelliJ related # IntelliJ related
*.iml *.iml
@@ -43,8 +16,39 @@ local.properties
*.iws *.iws
.idea/ .idea/
# Node Dependency directories # The .vscode folder contains launch configuration and tasks you configure in
node_modules/ # 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
**/*.g.dart
**/*.locator.dart
**/*.router.dart
# Project specific
node_modules/
.vscode/
# FVM
.fvm

View File

@@ -1,11 +1,11 @@
# This file tracks properties of this Flutter project. # This file tracks properties of this Flutter project.
# Used by Flutter tool to assess capabilities and perform upgrades etc. # Used by Flutter tool to assess capabilities and perform upgrades etc.
# #
# This file should be version controlled. # This file should be version controlled and should not be manually edited.
version: version:
revision: 85684f9300908116a78138ea4c6036c35c9a1236 revision: "2663184aa79047d0a33a14a3b607954f8fdd8730"
channel: stable channel: "stable"
project_type: app project_type: app
@@ -13,26 +13,11 @@ project_type: app
migration: migration:
platforms: platforms:
- platform: root - platform: root
create_revision: 85684f9300908116a78138ea4c6036c35c9a1236 create_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730
base_revision: 85684f9300908116a78138ea4c6036c35c9a1236 base_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730
- platform: android - platform: android
create_revision: 85684f9300908116a78138ea4c6036c35c9a1236 create_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730
base_revision: 85684f9300908116a78138ea4c6036c35c9a1236 base_revision: 2663184aa79047d0a33a14a3b607954f8fdd8730
- platform: ios
create_revision: 85684f9300908116a78138ea4c6036c35c9a1236
base_revision: 85684f9300908116a78138ea4c6036c35c9a1236
- platform: linux
create_revision: 85684f9300908116a78138ea4c6036c35c9a1236
base_revision: 85684f9300908116a78138ea4c6036c35c9a1236
- platform: macos
create_revision: 85684f9300908116a78138ea4c6036c35c9a1236
base_revision: 85684f9300908116a78138ea4c6036c35c9a1236
- platform: web
create_revision: 85684f9300908116a78138ea4c6036c35c9a1236
base_revision: 85684f9300908116a78138ea4c6036c35c9a1236
- platform: windows
create_revision: 85684f9300908116a78138ea4c6036c35c9a1236
base_revision: 85684f9300908116a78138ea4c6036c35c9a1236
# User provided section # User provided section

View File

@@ -48,7 +48,8 @@
"assets": [ "assets": [
{ {
"path": "build/app/outputs/apk/release/revanced-manager*.apk" "path": "build/app/outputs/apk/release/revanced-manager*.apk"
} },
"message": "chore: Release v${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
], ],
"successComment": false "successComment": false
} }

91
.vscode/tasks.json vendored
View File

@@ -1,91 +0,0 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "Generate (Builder)",
"type": "shell",
"command": "flutter packages pub run build_runner build --delete-conflicting-outputs",
"problemMatcher": []
},
{
"label": "Build (Android)",
"type": "shell",
"command": "flutter build apk",
"problemMatcher": [],
"group": {
"kind": "build",
"isDefault": true
}
},
{
"label": "Install (Android)",
"type": "shell",
"command": "adb install build\\app\\outputs\\flutter-apk\\app-release.apk",
"problemMatcher": []
},
{
"label": "Clean (Flutter)",
"type": "shell",
"command": "flutter clean && flutter pub get",
"problemMatcher": []
},
{
"label": "Clean (Builder)",
"type": "shell",
"command": "flutter packages pub run build_runner clean",
"problemMatcher": []
},
{
"label": "Build all (Android)",
"dependsOrder": "sequence",
"dependsOn": [
"Generate (Builder)",
"Build (Android)"
],
"problemMatcher": []
},
{
"label": "Clean all",
"dependsOrder": "sequence",
"dependsOn": [
"Clean (Flutter)",
"Clean (Builder)"
],
"problemMatcher": []
},
{
"label": "Clean all & Build all (Android)",
"dependsOrder": "sequence",
"dependsOn": [
"Clean all",
"Build all (Android)"
],
"problemMatcher": []
},
{
"label": "Clean all & Install (Android)",
"dependsOrder": "sequence",
"dependsOn": [
"Clean all",
"Build all (Android)",
"Install (Android)",
],
"problemMatcher": []
},
{
"label": "Build & Install (Android)",
"dependsOrder": "sequence",
"dependsOn": [
"Build (Android)",
"Install (Android)"
],
"problemMatcher": []
},
{
"label": "Validate translations",
"type": "shell",
"command": "flutter pub run flutter_i18n diff en.json pt.json",
"problemMatcher": []
}
]
}

2
android/.gitignore vendored
View File

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

View File

@@ -1,3 +0,0 @@
source "https://rubygems.org"
gem "fastlane"

View File

@@ -1,114 +0,0 @@
plugins {
id "com.android.application"
id "kotlin-android"
id "dev.flutter.flutter-gradle-plugin"
}
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
android {
compileSdk 34
compileOptions {
coreLibraryDesugaringEnabled true
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = '17'
}
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
defaultConfig {
applicationId "app.revanced.manager.flutter"
minSdk 26
targetSdk 34
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
buildTypes {
configureEach {
shrinkResources = false
minifyEnabled = false
signingConfig signingConfigs.debug
ndk {
abiFilters 'arm64-v8a', 'armeabi-v7a', 'x86_64'
}
}
release {
shrinkResources true
minifyEnabled true
if (System.getenv("signingKey") != null) {
signingConfigs {
create("release") {
storeFile = file(System.getenv("signingKey"))
storePassword = System.getenv("keyStorePassword")
keyAlias = System.getenv("keyAlias")
keyPassword = System.getenv("keyPassword")
}
}
signingConfig = signingConfigs.release
resValue "string", "app_name", "ReVanced Manager"
applicationVariants.all { variant ->
variant.outputs.all {
outputFileName = "revanced-manager-v${flutterVersionName}.apk"
}
}
} else {
signingConfig = signingConfigs.debug
resValue "string", "app_name", "ReVanced Manager (Debug)"
applicationIdSuffix ".debug"
}
}
debug {
resValue "string", "app_name", "ReVanced Manager (Debug)"
applicationIdSuffix ".debug"
}
profile {
resValue "string", "app_name", "ReVanced Manager (Profile)"
applicationIdSuffix ".profile"
}
}
packagingOptions {
jniLibs {
useLegacyPackaging true
excludes += ['/prebuilt/**']
}
resources {
excludes += ['/prebuilt/**']
}
}
namespace 'app.revanced.manager.flutter'
}
kotlin {
jvmToolchain(17)
}
flutter {
source '../..'
}
dependencies {
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.0.4") // https://pub.dev/packages/flutter_local_notifications#gradle-setup
implementation("app.revanced:revanced-patcher:19.3.1")
implementation("app.revanced:revanced-library:2.2.1")
}

View File

@@ -0,0 +1,91 @@
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 = 34
ndkVersion = "27.0.12077973"
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 = 34
versionCode = flutter.versionCode
versionName = flutter.versionName
}
buildTypes {
configureEach {
isShrinkResources = false
isMinifyEnabled = false
signingConfig = signingConfigs["debug"]
ndk.abiFilters += setOf("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")
}
} else {
resValue("string", "app_name", "ReVanced Manager (Debug)")
applicationIdSuffix = ".debug"
signingConfig = signingConfigs["debug"]
}
resValue("string", "app_name", "ReVanced Manager")
}
debug {
resValue("string", "app_name", "ReVanced Manager (Debug)")
applicationIdSuffix = ".debug"
}
}
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)
}

View File

@@ -1,10 +1,3 @@
# 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
-dontobfuscate -dontobfuscate
-keep class app.revanced.** { *; } -keep class app.revanced.** { *; }

View File

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

View File

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

View File

@@ -1,48 +0,0 @@
allprojects {
repositories {
google()
mavenCentral()
maven {
// A repository must be speficied for some reason. "registry" is a dummy.
url = uri("https://maven.pkg.github.com/revanced/registry")
credentials {
username = project.findProperty("gpr.user") as String ?: System.getenv("GITHUB_ACTOR")
password = project.findProperty("gpr.key") as String ?: System.getenv("GITHUB_TOKEN")
}
}
mavenLocal()
}
}
rootProject.buildDir = '../build'
// TODO: Bump SDK
// Reference: https://github.com/flutter/flutter/issues/153281#issuecomment-2292201697
subprojects {
afterEvaluate { project ->
if (project.extensions.findByName("android") != null) {
Integer pluginCompileSdk = project.android.compileSdk
if (pluginCompileSdk != null && pluginCompileSdk < 31) {
project.logger.error(
"Warning: Overriding compileSdk version in Flutter plugin: "
+ project.name
+ " from "
+ pluginCompileSdk
+ " to 31 (to work around https://issuetracker.google.com/issues/199180389)."
+ "\nIf there is not a new version of " + project.name + ", consider filing an issue against "
+ project.name
+ " to increase their compileSdk to the latest (otherwise try updating to the latest version)."
)
project.android {
compileSdk 31
}
}
}
}
project.buildDir = "${rootProject.buildDir}/${project.name}"
project.evaluationDependsOn(":app")
}
tasks.register("clean", Delete) {
delete rootProject.buildDir
}

30
android/build.gradle.kts Normal file
View File

@@ -0,0 +1,30 @@
import com.android.build.api.dsl.CommonExtension
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")
subprojects {
afterEvaluate {
extensions.findByName("android")?.let {
it as CommonExtension<*, *, *, *, *, *>
it.compileSdk = 34
}
}
layout.buildDirectory = rootProject.layout.buildDirectory.file(name).get().asFile
evaluationDependsOn(":app")
}

View File

@@ -1,8 +1,8 @@
org.gradle.jvmargs=-Xmx4096m -XX:+UseParallelGC org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError
android.useAndroidX=true
org.gradle.parallel=true org.gradle.parallel=true
org.gradle.daemon=true org.gradle.daemon=true
org.gradle.caching=true org.gradle.caching=true
android.useAndroidX=true
android.defaults.buildfeatures.buildconfig=true android.defaults.buildfeatures.buildconfig=true
android.nonTransitiveRClass=false android.nonTransitiveRClass=false
android.nonFinalResIds=false android.nonFinalResIds=false

View File

@@ -0,0 +1,9 @@
[versions]
revanced-patcher = "19.3.1" # TODO: Update to non-dev
revanced-library = "2.2.1"
desugar_jdk_libs = "2.1.2"
[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" }

View File

@@ -1,25 +0,0 @@
pluginManagement {
def flutterSdkPath = {
def properties = new Properties()
file("local.properties").withInputStream { properties.load(it) }
def flutterSdkPath = properties.getProperty("flutter.sdk")
assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
return flutterSdkPath
}
settings.ext.flutterSdkPath = flutterSdkPath()
includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle")
repositories {
google()
mavenCentral()
}
}
plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version "8.5.1" apply false
id "org.jetbrains.kotlin.android" version "2.0.0" apply false
}
include ":app"

View File

@@ -0,0 +1,24 @@
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.7.0" apply false
id("org.jetbrains.kotlin.android") version "2.0.20" apply false
}
include(":app")

View File

@@ -55,7 +55,8 @@
"widgetTitle": "Patcher", "widgetTitle": "Patcher",
"patchButton": "Patch", "patchButton": "Patch",
"incompatibleArchWarningDialogText": "Patching on this architecture is not yet supported and might fail. Continue anyways?", "incompatibleArchWarningDialogText": "Patching on this architecture is not yet supported and might fail. Continue anyways?",
"removedPatchesWarningDialogText": "The following patches have been removed since the last time you used them.\n\n${patches}\n\nContinue 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." "requiredOptionDialogText": "Some patch options have to be set."
}, },
"appSelectorCard": { "appSelectorCard": {

0
assets/i18n/strings_af_ZA.i18n.json Normal file → Executable file
View File

0
assets/i18n/strings_am_ET.i18n.json Normal file → Executable file
View File

2
assets/i18n/strings_ar_SA.i18n.json Normal file → Executable file
View File

@@ -55,7 +55,7 @@
"widgetTitle": "المُعَّدِّل", "widgetTitle": "المُعَّدِّل",
"patchButton": "تعديل", "patchButton": "تعديل",
"incompatibleArchWarningDialogText": "لم يتم دعم التعديلات الخاصة بهذه البنية حتى الآن وقد تفشل. هل تريد المتابعة على أي حال؟", "incompatibleArchWarningDialogText": "لم يتم دعم التعديلات الخاصة بهذه البنية حتى الآن وقد تفشل. هل تريد المتابعة على أي حال؟",
"removedPatchesWarningDialogText": "تم إزالة التعديلات التالية منذ آخر مرة استخدمتها فيها.\n\n${patches}\n\nتابع على أي حال؟", "removedPatchesWarningDialogText": "تم إزالة التعديلات التالية منذ آخر مرة استخدمتها فيها.\n\n${patches}\n\n${newPatches}تابع على أي حال؟",
"requiredOptionDialogText": "يجب ضبط بعض خيارات التعديل." "requiredOptionDialogText": "يجب ضبط بعض خيارات التعديل."
}, },
"appSelectorCard": { "appSelectorCard": {

0
assets/i18n/strings_as_IN.i18n.json Normal file → Executable file
View File

6
assets/i18n/strings_az_AZ.i18n.json Normal file → Executable file
View File

@@ -25,7 +25,7 @@
"updatesSubtitle": "Yeniləmələr", "updatesSubtitle": "Yeniləmələr",
"lastPatchedAppSubtitle": "Son yamaqlanmış tətbiq", "lastPatchedAppSubtitle": "Son yamaqlanmış tətbiq",
"patchedSubtitle": "Quraşdırılmış tətbiqlər", "patchedSubtitle": "Quraşdırılmış tətbiqlər",
"changeLaterSubtitle": "Bunu daha sonra tənzimləmələrdə dəyişə bilərsiniz.", "changeLaterSubtitle": "Bunu sonra tənzimləmələrdə dəyişə bilərsiniz.",
"noSavedAppFound": "Heç bir tətbiq tapılmadı", "noSavedAppFound": "Heç bir tətbiq tapılmadı",
"noInstallations": "Yamaqlanmış tətbiq quraşdırılmayıb", "noInstallations": "Yamaqlanmış tətbiq quraşdırılmayıb",
"installUpdate": "Yeniləməni quraşdırmağa davam edilsin?", "installUpdate": "Yeniləməni quraşdırmağa davam edilsin?",
@@ -55,7 +55,7 @@
"widgetTitle": "Yamaqlayıcı", "widgetTitle": "Yamaqlayıcı",
"patchButton": "Yamaqla", "patchButton": "Yamaqla",
"incompatibleArchWarningDialogText": "Bu quruluşda yamaqlama hələ dəstəklənmir və uğursuz ola bilər. Yenə də davam edilsin?", "incompatibleArchWarningDialogText": "Bu quruluşda yamaqlama hələ dəstəklənmir və uğursuz ola bilər. Yenə də davam edilsin?",
"removedPatchesWarningDialogText": "Aşağıdakı yamaqlar son istifadənizdən bəri silindi.\n\n${patches}\n\nYenə də davam edilsin?", "removedPatchesWarningDialogText": "Aşağıdakı yamaqlar son istifadənizdən bəri silindi.\n\n${patches}\n\n${newPatches}Yenə də davam edilsin?",
"requiredOptionDialogText": "Bəzi yamaq seçimləri təyin edilməlidir." "requiredOptionDialogText": "Bəzi yamaq seçimləri təyin edilməlidir."
}, },
"appSelectorCard": { "appSelectorCard": {
@@ -285,7 +285,7 @@
"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_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_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ına görə əngəlləndi.\n\nQuraşdırılmış tətbiqi silib yenidən sınayırsınız?", "status_failure_conflict_description": "Quraşdırma, tətbiqin mövcud quraşdırmasına görə əngəlləndi.\n\nQuraşdırılmış tətbiqi silib yenidən sınayırsınız?",
"status_failure_blocked_description": "Quraşdırma, ${packageName} tərəfindən əngəlləndi.\n\nTəhlükəsizlik seçimlərinizi tənzimləyib yenidən sınayın.", "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_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": "Yamaqlanmış tətbiq, quraşdırılmış tətbiqdən daha aşağı versiyaya sahib olduğu üçün quraşdırma uğursuz oldu.\n\nTətbiqi silib yenidən sınayırsınız?", "install_failed_version_downgrade_description": "Yamaqlanmış tətbiq, quraşdırılmış tətbiqdən daha aşağı versiyaya sahib olduğu üçün quraşdırma uğursuz oldu.\n\nTətbiqi silib yenidən sınayırsınız?",
"status_unknown_description": "Naməlum səbəbə görə quraşdırma uğursuz oldu. Lütfən yenidən sınayın." "status_unknown_description": "Naməlum səbəbə görə quraşdırma uğursuz oldu. Lütfən yenidən sınayın."

2
assets/i18n/strings_be_BY.i18n.json Normal file → Executable file
View File

@@ -55,7 +55,7 @@
"widgetTitle": "Праграма выпраўлення", "widgetTitle": "Праграма выпраўлення",
"patchButton": "Выправіць", "patchButton": "Выправіць",
"incompatibleArchWarningDialogText": "Выпраўленні на гэтай архітэктуры пакуль не падтрымліваюцца і могуць не працаваць. Працягнуць?", "incompatibleArchWarningDialogText": "Выпраўленні на гэтай архітэктуры пакуль не падтрымліваюцца і могуць не працаваць. Працягнуць?",
"removedPatchesWarningDialogText": "Наступныя выпраўленні былі выдалены з моманту іх апошняга выкарыстання.\n\n${patches}\n\nУсё роўна працягнуць?", "removedPatchesWarningDialogText": "Наступныя выпраўленні былі выдалены з моманту іх апошняга выкарыстання.\n\n${patches}\n\n${newPatches}Усё роўна працягнуць?",
"requiredOptionDialogText": "Неабходна задаць некаторыя параметры выпраўленняў." "requiredOptionDialogText": "Неабходна задаць некаторыя параметры выпраўленняў."
}, },
"appSelectorCard": { "appSelectorCard": {

2
assets/i18n/strings_bg_BG.i18n.json Normal file → Executable file
View File

@@ -55,7 +55,7 @@
"widgetTitle": "Модификатор", "widgetTitle": "Модификатор",
"patchButton": "Модифицирайте", "patchButton": "Модифицирайте",
"incompatibleArchWarningDialogText": "Процесът на модифициране в момента не се поддържа на устройства с тази архитектура и може да се провали. Ще продължите ли?", "incompatibleArchWarningDialogText": "Процесът на модифициране в момента не се поддържа на устройства с тази архитектура и може да се провали. Ще продължите ли?",
"removedPatchesWarningDialogText": "Следните модификации са били премахнати след като са били употребени за последно от вас.\n\n${patches}\n\nПродължете въпреки това?", "removedPatchesWarningDialogText": "Следните модификации са били премахнати след като са били употребени за последно от вас.\n\n${patches}\n\n${newPatches}Продължете въпреки това?",
"requiredOptionDialogText": "Опциите на някои модификации трябва да бъдат зададени." "requiredOptionDialogText": "Опциите на някои модификации трябва да бъдат зададени."
}, },
"appSelectorCard": { "appSelectorCard": {

11
assets/i18n/strings_bn_BD.i18n.json Normal file → Executable file
View File

@@ -23,7 +23,10 @@
"refreshSuccess": "সফলভাবে রিফ্রেশ করা হয়েছে", "refreshSuccess": "সফলভাবে রিফ্রেশ করা হয়েছে",
"widgetTitle": "ড্যাশবোর্ড", "widgetTitle": "ড্যাশবোর্ড",
"updatesSubtitle": "আপডেটসমূহ", "updatesSubtitle": "আপডেটসমূহ",
"lastPatchedAppSubtitle": "সর্বশেষ প্যাচকৃত অ্যাপ",
"patchedSubtitle": "ইনস্টল করা অ্যাপ",
"changeLaterSubtitle": "পরবর্তীতে আপনি এটি সেটিং থেকে পরিবর্তন করতে পারবেন।", "changeLaterSubtitle": "পরবর্তীতে আপনি এটি সেটিং থেকে পরিবর্তন করতে পারবেন।",
"noSavedAppFound": "কোনো অ্যাপ পাওয়া যায় নি",
"noInstallations": "কোন প্যাচড অ্যাপ্লিকেশন ইনস্টল করা হয়নি", "noInstallations": "কোন প্যাচড অ্যাপ্লিকেশন ইনস্টল করা হয়নি",
"installUpdate": "আপডেট ইনস্টল করতে এগিয়ে যেতে চান?", "installUpdate": "আপডেট ইনস্টল করতে এগিয়ে যেতে চান?",
"updateSheetTitle": "ReVanced Manager আপডেট করুন", "updateSheetTitle": "ReVanced Manager আপডেট করুন",
@@ -51,7 +54,8 @@
"patcherView": { "patcherView": {
"widgetTitle": "প্যাচার", "widgetTitle": "প্যাচার",
"patchButton": "প্যাচ", "patchButton": "প্যাচ",
"removedPatchesWarningDialogText": "আপনি এর আগে যখন ব্যবহার করেছিলেন তারপর এই প্যাচগুলো অপসারণ করা হয়।\n\n${patches}\n\nযেকোন ভাবে এগিয়ে যেতে চান?", "incompatibleArchWarningDialogText": "এই আর্কিটেকচারে প্যাচিং এখনো সমর্থিত নয় এবং সফল নাও হতে পারে। যেকোন ভাবে এগিয়ে যেতে চান?",
"removedPatchesWarningDialogText": "আপনি এর আগে যখন ব্যবহার করেছিলেন তারপর এই প্যাচগুলো অপসারণ করা হয়।\n\n${patches}\n\n${newPatches}যেকোন ভাবে এগিয়ে যেতে চান?",
"requiredOptionDialogText": "কিছু প্যাচ অপশন সেট করতে হবে।" "requiredOptionDialogText": "কিছু প্যাচ অপশন সেট করতে হবে।"
}, },
"appSelectorCard": { "appSelectorCard": {
@@ -100,11 +104,15 @@
}, },
"patchOptionsView": { "patchOptionsView": {
"customValue": "কাস্টম ভ্যালু", "customValue": "কাস্টম ভ্যালু",
"setToNull": "null সেট করুন",
"nullValue": "এই অপশন ভ্যালু বর্তমানে null",
"viewTitle": "প্যাচ অপশন", "viewTitle": "প্যাচ অপশন",
"saveOptions": "সংরক্ষণ করুন", "saveOptions": "সংরক্ষণ করুন",
"unselectPatch": "প্যাচ অনির্বাচন করুন",
"tooltip": "আরও ইনপুট অপশন", "tooltip": "আরও ইনপুট অপশন",
"selectFilePath": "ফাইলের স্থান নির্বাচন করুন", "selectFilePath": "ফাইলের স্থান নির্বাচন করুন",
"selectFolder": "ফোল্ডার নির্বাচন করুন", "selectFolder": "ফোল্ডার নির্বাচন করুন",
"requiredOption": "এই অপশনটি সেট করা আবশ্যক",
"unsupportedOption": "এই অপশনসটি অসমর্থিত", "unsupportedOption": "এই অপশনসটি অসমর্থিত",
"requiredOptionNull": "এই অপশনগুলো সেট করতে হবে:\n\n${options}" "requiredOptionNull": "এই অপশনগুলো সেট করতে হবে:\n\n${options}"
}, },
@@ -177,6 +185,7 @@
"showUpdateDialogHint": "যখন হালনাগাদ উপলব্ধ থাকবে তখন একটি ডায়ালগ দেখান", "showUpdateDialogHint": "যখন হালনাগাদ উপলব্ধ থাকবে তখন একটি ডায়ালগ দেখান",
"universalPatchesLabel": "বৈশ্বিক প্যাচসমূহ দেখান", "universalPatchesLabel": "বৈশ্বিক প্যাচসমূহ দেখান",
"universalPatchesHint": "সকল অ্যাপ এবং বৈশ্বিক প্যাচসমূহ দেখায় (অ্যাপ লিস্ট দেখানো একটু ধীর হতে পারে)", "universalPatchesHint": "সকল অ্যাপ এবং বৈশ্বিক প্যাচসমূহ দেখায় (অ্যাপ লিস্ট দেখানো একটু ধীর হতে পারে)",
"lastPatchedAppLabel": "প্যাচকৃত অ্যাপ সংরক্ষণ করুন",
"versionCompatibilityCheckLabel": "সংস্করণ সামঞ্জস্যতা পরীক্ষা করা", "versionCompatibilityCheckLabel": "সংস্করণ সামঞ্জস্যতা পরীক্ষা করা",
"versionCompatibilityCheckHint": "নির্বাচিত অ্যাপ সংস্করণের সাথে সামঞ্জস্যপূর্ণ নয় এমন প্যাচ নির্বাচন করা আটকায়", "versionCompatibilityCheckHint": "নির্বাচিত অ্যাপ সংস্করণের সাথে সামঞ্জস্যপূর্ণ নয় এমন প্যাচ নির্বাচন করা আটকায়",
"requireSuggestedAppVersionLabel": "প্রস্তাবিত অ্যাপ সংস্করণ প্রয়োজন", "requireSuggestedAppVersionLabel": "প্রস্তাবিত অ্যাপ সংস্করণ প্রয়োজন",

0
assets/i18n/strings_bs_BA.i18n.json Normal file → Executable file
View File

0
assets/i18n/strings_ca_ES.i18n.json Normal file → Executable file
View File

2
assets/i18n/strings_cs_CZ.i18n.json Normal file → Executable file
View File

@@ -55,7 +55,7 @@
"widgetTitle": "Záplatovač", "widgetTitle": "Záplatovač",
"patchButton": "Záplatovat", "patchButton": "Záplatovat",
"incompatibleArchWarningDialogText": "Úprava této architektury není zatím podporována a může selhat. Přesto pokračovat?", "incompatibleArchWarningDialogText": "Úprava této architektury není zatím podporována a může selhat. Přesto pokračovat?",
"removedPatchesWarningDialogText": "Následující záplaty byly odstraněny od doby, kdy jste je naposledy použili.\n\n${patches}\n\nPřesto pokračovat?", "removedPatchesWarningDialogText": "Následující záplaty byly odstraněny od doby, kdy jste je naposledy použili.\n\n${patches}\n\n${newPatches}Přesto pokračovat?",
"requiredOptionDialogText": "Je třeba nastavit některé možnosti záplat." "requiredOptionDialogText": "Je třeba nastavit některé možnosti záplat."
}, },
"appSelectorCard": { "appSelectorCard": {

2
assets/i18n/strings_da_DK.i18n.json Normal file → Executable file
View File

@@ -55,7 +55,7 @@
"widgetTitle": "Patcher", "widgetTitle": "Patcher",
"patchButton": "Patch", "patchButton": "Patch",
"incompatibleArchWarningDialogText": "Patching på denne arkitektur understøttes endnu ikke og kan mislykkes. Fortsæt alligevel?", "incompatibleArchWarningDialogText": "Patching på denne arkitektur understøttes endnu ikke og kan mislykkes. Fortsæt alligevel?",
"removedPatchesWarningDialogText": "Følgende patches er blevet fjernet siden sidste gang du brugte dem.\n\n${patches}\n\nFortsæt alligevel?", "removedPatchesWarningDialogText": "Følgende patches er blevet fjernet siden sidste gang du brugte dem.\n\n${patches}\n\n${newPatches}Fortsæt alligevel?",
"requiredOptionDialogText": "Nogle patch muligheder skal indstilles." "requiredOptionDialogText": "Nogle patch muligheder skal indstilles."
}, },
"appSelectorCard": { "appSelectorCard": {

2
assets/i18n/strings_de_DE.i18n.json Normal file → Executable file
View File

@@ -55,7 +55,7 @@
"widgetTitle": "Patcher", "widgetTitle": "Patcher",
"patchButton": "Patchen", "patchButton": "Patchen",
"incompatibleArchWarningDialogText": "Patches auf dieser Architektur werden noch nicht unterstützt und könnten fehlschlagen. Trotzdem fortfahren?", "incompatibleArchWarningDialogText": "Patches auf dieser Architektur werden noch nicht unterstützt und könnten fehlschlagen. Trotzdem fortfahren?",
"removedPatchesWarningDialogText": "Die folgenden Patches wurden seit der letzten Verwendung entfernt.\n\n${patches}\n\nTrotzdem fortfahren?", "removedPatchesWarningDialogText": "Die folgenden Patches wurden seit der letzten Verwendung entfernt.\n\n${patches}\n\n${newPatches}Trotzdem fortfahren?",
"requiredOptionDialogText": "Einige Patch-Optionen müssen gesetzt werden." "requiredOptionDialogText": "Einige Patch-Optionen müssen gesetzt werden."
}, },
"appSelectorCard": { "appSelectorCard": {

2
assets/i18n/strings_el_GR.i18n.json Normal file → Executable file
View File

@@ -55,7 +55,7 @@
"widgetTitle": "Τροποποιητής", "widgetTitle": "Τροποποιητής",
"patchButton": "Τροποποίηση", "patchButton": "Τροποποίηση",
"incompatibleArchWarningDialogText": "Η διαδικασία της τροποποίησης δεν υποστηρίζεται προς το παρόν σε συσκευές της συγκεκριμένης αρχιτεκτονικής και μπορεί να αποτύχει. Συνέχεια παρόλα αυτά;", "incompatibleArchWarningDialogText": "Η διαδικασία της τροποποίησης δεν υποστηρίζεται προς το παρόν σε συσκευές της συγκεκριμένης αρχιτεκτονικής και μπορεί να αποτύχει. Συνέχεια παρόλα αυτά;",
"removedPatchesWarningDialogText": "Οι παρακάτω τροποποιήσεις αφαιρέθηκαν από την τελευταία φορά που τις χρησιμοποιήσατε.\n\n${patches}\n\nΣυνέχεια παρόλα αυτά;", "removedPatchesWarningDialogText": "Οι παρακάτω τροποποιήσεις αφαιρέθηκαν από την τελευταία φορά που τις χρησιμοποιήσατε.\n\n${patches}\n\n${newPatches}Συνέχεια παρόλα αυτά;",
"requiredOptionDialogText": "Κάποιες επιλογές τροποποιήσεων πρέπει να οριστούν." "requiredOptionDialogText": "Κάποιες επιλογές τροποποιήσεων πρέπει να οριστούν."
}, },
"appSelectorCard": { "appSelectorCard": {

View File

@@ -52,7 +52,7 @@
"patcherView": { "patcherView": {
"widgetTitle": "Parcheador", "widgetTitle": "Parcheador",
"patchButton": "Parchear", "patchButton": "Parchear",
"removedPatchesWarningDialogText": "Los siguientes parches fueron eliminados desde la última vez que los usaste.\n\n${patches}\n\n¿Continuar de todas formas?", "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." "requiredOptionDialogText": "Algunas opciones de parche tienen que ser establecidas."
}, },
"appSelectorCard": { "appSelectorCard": {

2
assets/i18n/strings_es_ES.i18n.json Normal file → Executable file
View File

@@ -55,7 +55,7 @@
"widgetTitle": "Parcheador", "widgetTitle": "Parcheador",
"patchButton": "Parchear", "patchButton": "Parchear",
"incompatibleArchWarningDialogText": "El parche en esta arquitectura aún no está soportado y podría fallar. ¿Continuar de todos modos?", "incompatibleArchWarningDialogText": "El parche en esta arquitectura aún no está soportado y podría fallar. ¿Continuar de todos modos?",
"removedPatchesWarningDialogText": "Los siguientes parches han sido eliminados desde la última vez que los usaste.\n\n${patches}\n\n¿Continuar de todos modos?", "removedPatchesWarningDialogText": "Los siguientes parches han sido eliminados desde la última vez que los usaste.\n\n${patches}\n\n${newPatches}¿Continuar de todos modos?",
"requiredOptionDialogText": "Deben establecerse algunas opciones de parche." "requiredOptionDialogText": "Deben establecerse algunas opciones de parche."
}, },
"appSelectorCard": { "appSelectorCard": {

View File

@@ -52,7 +52,7 @@
"patcherView": { "patcherView": {
"widgetTitle": "Parcheador", "widgetTitle": "Parcheador",
"patchButton": "Parchear", "patchButton": "Parchear",
"removedPatchesWarningDialogText": "Los siguientes parches fueron removidos desde la última vez que los usaste.\n\n${patches}\n\n¿Quieres continuar de todas formas?", "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." "requiredOptionDialogText": "Algunas opciones de parche tienen que ser establecidas."
}, },
"appSelectorCard": { "appSelectorCard": {

2
assets/i18n/strings_et_EE.i18n.json Normal file → Executable file
View File

@@ -51,7 +51,7 @@
"patcherView": { "patcherView": {
"widgetTitle": "Parandaja", "widgetTitle": "Parandaja",
"patchButton": "Parandus", "patchButton": "Parandus",
"removedPatchesWarningDialogText": "Väljatoodud parandused on vahepeal eemaldatud.\n\n${patches}\n\nJätka ikkagi? ", "removedPatchesWarningDialogText": "Väljatoodud parandused on vahepeal eemaldatud.\n\n${patches}\n\n${newPatches}Jätka ikkagi? ",
"requiredOptionDialogText": "Mõned paranduste sätted on vaja valida. " "requiredOptionDialogText": "Mõned paranduste sätted on vaja valida. "
}, },
"appSelectorCard": { "appSelectorCard": {

0
assets/i18n/strings_eu_ES.i18n.json Normal file → Executable file
View File

0
assets/i18n/strings_fa_IR.i18n.json Normal file → Executable file
View File

14
assets/i18n/strings_fi_FI.i18n.json Normal file → Executable file
View File

@@ -1,7 +1,7 @@
{ {
"okButton": "OK", "okButton": "OK",
"cancelButton": "Peruuta", "cancelButton": "Peruuta",
"dismissButton": "Sulje", "dismissButton": "Hylkää",
"quitButton": "Sulje", "quitButton": "Sulje",
"updateButton": "Päivitä", "updateButton": "Päivitä",
"suggested": "Ehdotettu: ${version}", "suggested": "Ehdotettu: ${version}",
@@ -55,7 +55,7 @@
"widgetTitle": "Paikkaaja", "widgetTitle": "Paikkaaja",
"patchButton": "Paikkaa", "patchButton": "Paikkaa",
"incompatibleArchWarningDialogText": "Paikkaamista ei vielä tueta tällä kokoonpanolla, ja se saattaa epäonnistua. Jatketaanko silti?", "incompatibleArchWarningDialogText": "Paikkaamista ei vielä tueta tällä kokoonpanolla, ja se saattaa epäonnistua. Jatketaanko silti?",
"removedPatchesWarningDialogText": "Seuraavat paikkaukset on poistettu edellisen käyttökerran jälkeen.\n\n${patches}\n\nJatketaanko silti?", "removedPatchesWarningDialogText": "Seuraavat paikkaukset on poistettu edellisen käyttökerran jälkeen.\n\n${patches}\n\n${newPatches}Jatketaanko silti?",
"requiredOptionDialogText": "Joitakin paikkausasetuksia on määritettävä." "requiredOptionDialogText": "Joitakin paikkausasetuksia on määritettävä."
}, },
"appSelectorCard": { "appSelectorCard": {
@@ -82,7 +82,7 @@
"selectFromStorageButton": "Valitse tallennustilasta", "selectFromStorageButton": "Valitse tallennustilasta",
"errorMessage": "Valittua sovellusta ei voida käyttää", "errorMessage": "Valittua sovellusta ei voida käyttää",
"downloadToast": "Lataustoiminto ei ole vielä käytettävissä", "downloadToast": "Lataustoiminto ei ole vielä käytettävissä",
"requireSuggestedAppVersionDialogText": "Valitsemasi sovellusversio ei vastaa ehdotettua versiota ja tämä voi johtaa 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.", "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", "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." "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."
}, },
@@ -100,19 +100,19 @@
"loadPatchesSelection": "Lataa paikkausvalikoima", "loadPatchesSelection": "Lataa paikkausvalikoima",
"noSavedPatches": "Valitulle sovellukselle ei ole tallennettu paikkausvalikoimaa.\nTallenna nykyinen valikoima painamalla \"Valmis\".", "noSavedPatches": "Valitulle sovellukselle ei ole tallennettu paikkausvalikoimaa.\nTallenna nykyinen valikoima painamalla \"Valmis\".",
"noPatchesFound": "Valitulle sovellukselle ei löytynyt paikkauksia", "noPatchesFound": "Valitulle sovellukselle ei löytynyt paikkauksia",
"setRequiredOption": "Joillekin paikkauksille on määritettävä asetuksia:\n\n${patches}\n\nTee tarvittavat määritykset ennen kuin jatkat." "setRequiredOption": "Joillekin paikkauksille on määritettävä asetuksia:\n\n${patches}\n\nMääritä ne ennen kuin jatkat."
}, },
"patchOptionsView": { "patchOptionsView": {
"customValue": "Oma arvo", "customValue": "Oma arvo",
"setToNull": "Aseta nollaksi", "setToNull": "Aseta nollaksi",
"nullValue": "Tämän asetuksen arvo on tällä hetkellä nolla", "nullValue": "Tämän asetuksen arvo on tällä hetkellä tyhjä",
"viewTitle": "Paikkausasetukset", "viewTitle": "Paikkausasetukset",
"saveOptions": "Tallenna", "saveOptions": "Tallenna",
"unselectPatch": "Poista paikkauksen valinta", "unselectPatch": "Poista paikkauksen valinta",
"tooltip": "Enemmän syöttöasetuksia", "tooltip": "Enemmän syöttöasetuksia",
"selectFilePath": "Valitse tiedostosijainti", "selectFilePath": "Valitse tiedostosijainti",
"selectFolder": "Valitse kansio", "selectFolder": "Valitse kansio",
"requiredOption": "Tämän asetuksen asettaminen on pakollinen", "requiredOption": "Tämän valinnan asettaminen on pakollista",
"unsupportedOption": "Tätä asetusta ei tueta", "unsupportedOption": "Tätä asetusta ei tueta",
"requiredOptionNull": "Seuraavat asetukset on määritettävä:\n\n${options}" "requiredOptionNull": "Seuraavat asetukset on määritettävä:\n\n${options}"
}, },
@@ -198,7 +198,7 @@
"deleteTempDirLabel": "Poista väliaikaistiedostot", "deleteTempDirLabel": "Poista väliaikaistiedostot",
"deleteTempDirHint": "Poista käyttämättömät väliaikaistiedostot", "deleteTempDirHint": "Poista käyttämättömät väliaikaistiedostot",
"deletedTempDir": "Väliaikaistiedostot poistettiin", "deletedTempDir": "Väliaikaistiedostot poistettiin",
"exportPatchesLabel": "Vie paikkasvalikoima", "exportPatchesLabel": "Vie paikkausvalikoima",
"exportPatchesHint": "Vie paikkausvalikoima JSON-tiedostoon", "exportPatchesHint": "Vie paikkausvalikoima JSON-tiedostoon",
"exportedPatches": "Paikkausvalikoima vietiin", "exportedPatches": "Paikkausvalikoima vietiin",
"noExportFileFound": "Vietäviä paikkausvalikoimia ei ole", "noExportFileFound": "Vietäviä paikkausvalikoimia ei ole",

2
assets/i18n/strings_fil_PH.i18n.json Normal file → Executable file
View File

@@ -52,7 +52,7 @@
"patcherView": { "patcherView": {
"widgetTitle": "Tagapagtapal", "widgetTitle": "Tagapagtapal",
"patchButton": "Tapalan", "patchButton": "Tapalan",
"removedPatchesWarningDialogText": "Ang mga sumusunod na patches ay tinanggal mula noong huling beses mong gamitin ang mga ito.\n\n${patches}\n\nItuloy pa rin ba?", "removedPatchesWarningDialogText": "Ang mga sumusunod na patches ay tinanggal mula noong huling beses mong gamitin ang mga ito.\n\n${patches}\n\n${newPatches}Ituloy pa rin ba?",
"requiredOptionDialogText": "Kailangan mo i-set ang ilang mga opsyon para sa patch." "requiredOptionDialogText": "Kailangan mo i-set ang ilang mga opsyon para sa patch."
}, },
"appSelectorCard": { "appSelectorCard": {

2
assets/i18n/strings_fr_FR.i18n.json Normal file → Executable file
View File

@@ -55,7 +55,7 @@
"widgetTitle": "Patcheur", "widgetTitle": "Patcheur",
"patchButton": "Patcher", "patchButton": "Patcher",
"incompatibleArchWarningDialogText": "La correction sur cette architecture n'est pas encore prise en charge et pourrait échouer. Continuer quand même ?", "incompatibleArchWarningDialogText": "La correction sur cette architecture n'est pas encore prise en charge et pourrait échouer. Continuer quand même ?",
"removedPatchesWarningDialogText": "Les patchs suivants ont été supprimés depuis la dernière fois que vous les avez utilisés.\n\n${patches}\n\nContinuer quand même ?", "removedPatchesWarningDialogText": "Les patchs suivants ont été supprimés depuis la dernière fois que vous les avez utilisés.\n\n${patches}\n\n${newPatches}Continuer quand même ?",
"requiredOptionDialogText": "Certaines options de patch doivent être définies." "requiredOptionDialogText": "Certaines options de patch doivent être définies."
}, },
"appSelectorCard": { "appSelectorCard": {

2
assets/i18n/strings_ga_IE.i18n.json Normal file → Executable file
View File

@@ -55,7 +55,7 @@
"widgetTitle": "Paisteálaí", "widgetTitle": "Paisteálaí",
"patchButton": "Paiste", "patchButton": "Paiste",
"incompatibleArchWarningDialogText": "Níl paisteáil ar an ailtireacht seo tacaítear leis go fóill agus dfhéadfadh sé teip. Lean ar aghaidh fós?", "incompatibleArchWarningDialogText": "Níl paisteáil ar an ailtireacht seo tacaítear leis go fóill agus dfhéadfadh sé teip. Lean ar aghaidh fós?",
"removedPatchesWarningDialogText": "Baineadh na paistí seo a leanas ón uair dheireanach a d'úsáid tú iad.\n\n${patches}\n\nLean ar aghaidh fós?", "removedPatchesWarningDialogText": "Baineadh na paistí seo a leanas ón uair dheireanach a d'úsáid tú iad.\n\n${patches}\n\n${newPatches}Lean ar aghaidh fós?",
"requiredOptionDialogText": "Caithfear roinnt roghanna paiste a shocrú." "requiredOptionDialogText": "Caithfear roinnt roghanna paiste a shocrú."
}, },
"appSelectorCard": { "appSelectorCard": {

0
assets/i18n/strings_gl_ES.i18n.json Normal file → Executable file
View File

0
assets/i18n/strings_gu_IN.i18n.json Normal file → Executable file
View File

2
assets/i18n/strings_he_IL.i18n.json Normal file → Executable file
View File

@@ -51,7 +51,7 @@
"patcherView": { "patcherView": {
"widgetTitle": "Patcher", "widgetTitle": "Patcher",
"patchButton": "תיקון", "patchButton": "תיקון",
"removedPatchesWarningDialogText": "התיקונים הבאים הוסרו מאז הפעם האחרונה שהשתמשת בהם.\n${patches}\nלהמשיך בכל זאת?", "removedPatchesWarningDialogText": "התיקונים הבאים הוסרו מאז הפעם האחרונה שהשתמשת בהם.\n\n${patches}\n\n${newPatches}להמשיך בכל זאת?",
"requiredOptionDialogText": "כמה אפשרויות תיקון חייבות להיקבע." "requiredOptionDialogText": "כמה אפשרויות תיקון חייבות להיקבע."
}, },
"appSelectorCard": { "appSelectorCard": {

0
assets/i18n/strings_hi_IN.i18n.json Normal file → Executable file
View File

0
assets/i18n/strings_hr_HR.i18n.json Normal file → Executable file
View File

2
assets/i18n/strings_hu_HU.i18n.json Normal file → Executable file
View File

@@ -55,7 +55,7 @@
"widgetTitle": "Patchelő", "widgetTitle": "Patchelő",
"patchButton": "Patch", "patchButton": "Patch",
"incompatibleArchWarningDialogText": "Ezen az architektúrán a patchelés még nem támogatott, és sikertelen lehet. Mégis folytatod?", "incompatibleArchWarningDialogText": "Ezen az architektúrán a patchelés még nem támogatott, és sikertelen lehet. Mégis folytatod?",
"removedPatchesWarningDialogText": "A következő patcheket a legutóbbi használatuk óta eltávolították.\n\n${patches}\n\nMindenképpen folytatja?", "removedPatchesWarningDialogText": "A következő patcheket a legutóbbi használatuk óta eltávolították.\n\n${patches}\n\n${newPatches}Mindenképpen folytatja?",
"requiredOptionDialogText": "Néhány patch lehetőséget be kell állítani." "requiredOptionDialogText": "Néhány patch lehetőséget be kell állítani."
}, },
"appSelectorCard": { "appSelectorCard": {

0
assets/i18n/strings_hy_AM.i18n.json Normal file → Executable file
View File

42
assets/i18n/strings_id_ID.i18n.json Normal file → Executable file
View File

@@ -23,11 +23,11 @@
"refreshSuccess": "Berhasil Memuat Ulang", "refreshSuccess": "Berhasil Memuat Ulang",
"widgetTitle": "Dasbor", "widgetTitle": "Dasbor",
"updatesSubtitle": "Pembaruan", "updatesSubtitle": "Pembaruan",
"lastPatchedAppSubtitle": "Patch terakhir app", "lastPatchedAppSubtitle": "Aplikasi terakhir yang ditambal",
"patchedSubtitle": "App terinstal", "patchedSubtitle": "Aplikasi terpasang",
"changeLaterSubtitle": "Anda dapat mengubahnya di pengaturan nanti.", "changeLaterSubtitle": "Anda dapat mengubahnya di pengaturan nanti.",
"noSavedAppFound": "App tidak ditemukan", "noSavedAppFound": "App tidak ditemukan",
"noInstallations": "Aplikasi tambalan tidak terpasang", "noInstallations": "Aplikasi tertambal tidak terpasang",
"installUpdate": "Lanjutkan untuk mengunduh pembaruan?", "installUpdate": "Lanjutkan untuk mengunduh pembaruan?",
"updateSheetTitle": "Perbarui Manajer ReVanced", "updateSheetTitle": "Perbarui Manajer ReVanced",
"updateDialogTitle": "Pembaruan terkini telah tersedia", "updateDialogTitle": "Pembaruan terkini telah tersedia",
@@ -54,9 +54,9 @@
"patcherView": { "patcherView": {
"widgetTitle": "Penambal", "widgetTitle": "Penambal",
"patchButton": "Tambalan", "patchButton": "Tambalan",
"incompatibleArchWarningDialogText": "Patching pada arsitektur ini belum didukung dan mungkin gagal. Lanjutkan saja?", "incompatibleArchWarningDialogText": "Menambal pada arsitektur ini belum didukung dan kemungkinan gagal. Lanjutkan saja?",
"removedPatchesWarningDialogText": "Patch berikut telah dihapus sejak terakhir kali Anda menggunakannya.\n\n${patches}\n\nTetap lanjut?", "removedPatchesWarningDialogText": "Tambalan berikut telah dihapus sejak terakhir kali Anda menggunakannya.\n\n${patches}\n\n${newPatches}Tetap lanjut?",
"requiredOptionDialogText": "Beberapa opsi patch harus diatur." "requiredOptionDialogText": "Beberapa pilihan tambalan harus diatur."
}, },
"appSelectorCard": { "appSelectorCard": {
"widgetTitle": "Pilih aplikasi", "widgetTitle": "Pilih aplikasi",
@@ -84,32 +84,32 @@
"downloadToast": "Fungsi mengunduh belum tersedia", "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.", "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 tidak diimplementasi", "featureNotAvailable": "Fitur tidak diimplementasi",
"featureNotAvailableText": "Aplikasi ini adalah APK terpisah yang hanya dapat ditambal dan dipasang melalui cara mount dengan izin root. Namun, APK lengkap dapat Anda tambal dan pasang dengan memilihnya dari penyimpanan." "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": { "patchesSelectorView": {
"viewTitle": "Pilih tambalan", "viewTitle": "Pilih tambalan",
"searchBarHint": "Cari tambalan", "searchBarHint": "Cari tambalan",
"universalPatches": "Patch universal", "universalPatches": "Tambalan universal",
"newPatches": "Patch baru", "newPatches": "Tambalan baru",
"patches": "Patch", "patches": "Tambalan",
"doneButton": "Selesai", "doneButton": "Selesai",
"defaultChip": "Bawaan", "defaultChip": "Bawaan",
"defaultTooltip": "Pilih semua tambalan bawaan", "defaultTooltip": "Pilih semua tambalan bawaan",
"noneChip": "Tidak ada", "noneChip": "Tidak ada",
"noneTooltip": "Batalkan semua tambalan", "noneTooltip": "Batalkan semua tambalan",
"loadPatchesSelection": "Muat patch terpilih", "loadPatchesSelection": "Muat tambalan terpilih",
"noSavedPatches": "Tidak ada pilihan tambalan yang disimpan untuk aplikasi yang dipilih.\nTekan Selesai untuk menyimpan pilihan saat ini.", "noSavedPatches": "Tidak ada pilihan tambalan yang disimpan untuk aplikasi yang dipilih.\nTekan Selesai untuk menyimpan pilihan saat ini.",
"noPatchesFound": "Tidak ada tambalan untuk aplikasi", "noPatchesFound": "Tidak ada tambalan untuk aplikasi",
"setRequiredOption": "Beberapa patch memerlukan opsi untuk diatur:\n\n${patches}\n\nAturlah sebelum melanjutkan." "setRequiredOption": "Beberapa tambalan memerlukan pilihan untuk diatur:\n\n${patches}\n\nAturlah sebelum melanjutkan."
}, },
"patchOptionsView": { "patchOptionsView": {
"customValue": "Nilai kustom", "customValue": "Nilai kustom",
"setToNull": "Setel ke null", "setToNull": "Setel ke null",
"nullValue": "Nilai opsi ini saat ini adalah null", "nullValue": "Nilai pilihan ini saat ini adalah null",
"viewTitle": "Opsi tambalan", "viewTitle": "Pilihan tambalan",
"saveOptions": "Simpan", "saveOptions": "Simpan",
"unselectPatch": "Batalkan pilihan patch", "unselectPatch": "Batalkan pilihan tambalan",
"tooltip": "Opsi masukan lainnya", "tooltip": "Pilihan masukan lainnya",
"selectFilePath": "Pilih lokasi berkas", "selectFilePath": "Pilih lokasi berkas",
"selectFolder": "Pilih folder", "selectFolder": "Pilih folder",
"requiredOption": "Pengaturan opsi ini diperlukan", "requiredOption": "Pengaturan opsi ini diperlukan",
@@ -117,10 +117,10 @@
"requiredOptionNull": "Pilihan ini harus terpilih:\n\n${options}" "requiredOptionNull": "Pilihan ini harus terpilih:\n\n${options}"
}, },
"patchItem": { "patchItem": {
"unsupportedDialogText": "Memilih tambalan ini akan menyebabkan galat tambal.\n\nVersi apli: ${packageVersion}\nVersi anjuran:\n${supportedVersions}", "unsupportedDialogText": "Memilih tambalan ini akan menyebabkan kegagalan tambal.\n\nVersi apli: ${packageVersion}\nVersi anjuran:\n${supportedVersions}",
"unsupportedPatchVersion": "Tambalan ini tidak mendukung versi aplikasi ini.", "unsupportedPatchVersion": "Tambalan ini tidak mendukung versi aplikasi ini.",
"unsupportedRequiredOption": "Patch ini berisi opsi wajib yang tidak didukung oleh aplikasi ini", "unsupportedRequiredOption": "Tambalan ini berisi opsi wajib yang tidak didukung oleh aplikasi ini",
"patchesChangeWarningDialogText": "Direkomendasikan untuk menggunakan pilihan dan opsi tambalan default. Mengubahnya dapat mengakibatkan masalah yang tidak diharapkan.\n\nAnda harus mengaktifkan \"Izinkan perubahan pilihan tambalan\" dalam pengaturan sebelum mengubah pilihan tambalan.", "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" "patchesChangeWarningDialogButton": "Gunakan pemilihan bawaan"
}, },
"installerView": { "installerView": {
@@ -279,7 +279,7 @@
"status_unknown": "Pemasangan gagal", "status_unknown": "Pemasangan gagal",
"mount_version_mismatch_description": "Penginstalan gagal karena aplikasi yang diinstal merupakan versi yang berbeda dari aplikasi yang ditambal.\n\nInstal versi aplikasi yang anda pasang dan coba lagi.", "mount_version_mismatch_description": "Penginstalan gagal karena aplikasi yang diinstal merupakan versi yang berbeda dari aplikasi yang ditambal.\n\nInstal versi aplikasi yang anda pasang dan coba lagi.",
"mount_no_root_description": "Pemasangan ini gagal karena akses root belum dizinkan.\n\nIzinkan akses root ke ReVanced Manager dan coba lagi.", "mount_no_root_description": "Pemasangan ini gagal karena akses root belum dizinkan.\n\nIzinkan akses root ke ReVanced Manager dan coba lagi.",
"mount_missing_installation_description": "Penginstalan gagal karena aplikasi yang belum ditambal tidak diinstal pada perangkat ini untuk dipasang di atasnya.\n\nInstal aplikasi yang belum ditambal sebelum memasang dan coba lagi.", "mount_missing_installation_description": "Pemasangan gagal karena 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": "Instalasi memakan waktu terlalu lama untuk diselesaikan.\n\nApakah anda ingin mencoba lagi?", "status_failure_timeout_description": "Instalasi memakan waktu terlalu lama untuk diselesaikan.\n\nApakah anda ingin mencoba lagi?",
"status_failure_storage_description": "Instalasi gagal karena penyimpanan tidak mencukupi.\n\nKosongkan sebagian ruang dan coba kembali.", "status_failure_storage_description": "Instalasi gagal karena penyimpanan tidak mencukupi.\n\nKosongkan sebagian ruang dan coba kembali.",
"status_failure_invalid_description": "Instalasi gagal karena aplikasi yang ditambal tidak valid.\n\nCopot pemasangan aplikasi dan coba lagi?", "status_failure_invalid_description": "Instalasi gagal karena aplikasi yang ditambal tidak valid.\n\nCopot pemasangan aplikasi dan coba lagi?",
@@ -287,7 +287,7 @@
"status_failure_conflict_description": "Penginstalan dicegah oleh aplikasi yang sudah ada.\n\nCopot pemasangan aplikasi yang terpasang dan coba kembali?", "status_failure_conflict_description": "Penginstalan dicegah oleh aplikasi yang sudah ada.\n\nCopot pemasangan aplikasi yang terpasang dan coba kembali?",
"status_failure_blocked_description": "Instalasi diblokir oleh ${packageName}.\n\nSesuaikan pengaturan keamanan anda dan coba kembali.", "status_failure_blocked_description": "Instalasi diblokir oleh ${packageName}.\n\nSesuaikan pengaturan keamanan anda dan coba kembali.",
"install_failed_verification_failure_description": "Instalasi gagal karena masalah verifikasi.\n\nSesuaikan pengaturan keamanan anda dan coba kembali.", "install_failed_verification_failure_description": "Instalasi gagal karena masalah verifikasi.\n\nSesuaikan pengaturan keamanan anda dan coba kembali.",
"install_failed_version_downgrade_description": "Instalasi gagal karena aplikasi tambalan memiliki versi yang lebih rendah daripada aplikasi yang sudah ada.\n\nCopot pemasangan aplikasi 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 kembali?",
"status_unknown_description": "Instalasi gagal karena alasan yang tidak diketahui. Silakan coba kembali." "status_unknown_description": "Instalasi gagal karena alasan yang tidak diketahui. Silakan coba kembali."
} }
} }

2
assets/i18n/strings_is_IS.i18n.json Normal file → Executable file
View File

@@ -51,7 +51,7 @@
"patcherView": { "patcherView": {
"widgetTitle": "Patcher", "widgetTitle": "Patcher",
"patchButton": "Bót", "patchButton": "Bót",
"removedPatchesWarningDialogText": "Eftirfarandi patches hafa verið fjarlægðir síðan þú notaðir þá síðast.\n\n${patches}\n\nHalda samt áfram?", "removedPatchesWarningDialogText": "Eftirfarandi patches hafa verið fjarlægðir síðan þú notaðir þá síðast.\n\n${patches}\n\n${newPatches}Halda samt áfram?",
"requiredOptionDialogText": "Það þarf að stilla nokkra patch valkosti." "requiredOptionDialogText": "Það þarf að stilla nokkra patch valkosti."
}, },
"appSelectorCard": { "appSelectorCard": {

2
assets/i18n/strings_it_IT.i18n.json Normal file → Executable file
View File

@@ -55,7 +55,7 @@
"widgetTitle": "Patcher", "widgetTitle": "Patcher",
"patchButton": "Patch", "patchButton": "Patch",
"incompatibleArchWarningDialogText": "La patch su questa architettura non è ancora supportata e potrebbe fallire. Continuare comunque?", "incompatibleArchWarningDialogText": "La patch su questa architettura non è ancora supportata e potrebbe fallire. Continuare comunque?",
"removedPatchesWarningDialogText": "Le seguenti patch sono state rimosse dall'ultima volta che le hai usate.\n\n${patches}\n\nContinuare comunque?", "removedPatchesWarningDialogText": "Le seguenti patch sono state rimosse dall'ultima volta che le hai usate.\n\n${patches}\n\n${newPatches}Continuare comunque?",
"requiredOptionDialogText": "Alcune opzioni di patch devono essere impostate." "requiredOptionDialogText": "Alcune opzioni di patch devono essere impostate."
}, },
"appSelectorCard": { "appSelectorCard": {

2
assets/i18n/strings_ja_JP.i18n.json Normal file → Executable file
View File

@@ -55,7 +55,7 @@
"widgetTitle": "パッチャー", "widgetTitle": "パッチャー",
"patchButton": "パッチ", "patchButton": "パッチ",
"incompatibleArchWarningDialogText": "このアーキテクチャへのパッチ適用はまだサポートされておらず、失敗する可能性があります。とにかく続けますか?", "incompatibleArchWarningDialogText": "このアーキテクチャへのパッチ適用はまだサポートされておらず、失敗する可能性があります。とにかく続けますか?",
"removedPatchesWarningDialogText": "以下のパッチはもう使用できません。\n\n${patches}\n\n続行しますか?", "removedPatchesWarningDialogText": "以下のパッチはもう使用できません。\n\n${patches}\n\n${newPatches}続行しますか?",
"requiredOptionDialogText": "一部のパッチオプションを設定する必要があります。" "requiredOptionDialogText": "一部のパッチオプションを設定する必要があります。"
}, },
"appSelectorCard": { "appSelectorCard": {

0
assets/i18n/strings_ka_GE.i18n.json Normal file → Executable file
View File

0
assets/i18n/strings_kk_KZ.i18n.json Normal file → Executable file
View File

0
assets/i18n/strings_km_KH.i18n.json Normal file → Executable file
View File

0
assets/i18n/strings_kn_IN.i18n.json Normal file → Executable file
View File

4
assets/i18n/strings_ko_KR.i18n.json Normal file → Executable file
View File

@@ -55,7 +55,7 @@
"widgetTitle": "Patcher", "widgetTitle": "Patcher",
"patchButton": "패치하기", "patchButton": "패치하기",
"incompatibleArchWarningDialogText": "이 아키텍처에 대한 패치는 아직 지원되지 않으므로 실패할 수 있습니다. 그래도 계속하시겠습니까?", "incompatibleArchWarningDialogText": "이 아키텍처에 대한 패치는 아직 지원되지 않으므로 실패할 수 있습니다. 그래도 계속하시겠습니까?",
"removedPatchesWarningDialogText": "최근 적용된 패치들 중 다음 패치가 제거됩니다.\n\n${patches}\n\n그래도 계속하시겠습니까?", "removedPatchesWarningDialogText": "최근 적용된 패치들 중 다음 패치가 제거됩니다.\n\n${patches}\n\n${newPatches}그래도 계속하시겠습니까?",
"requiredOptionDialogText": "일부 패치 옵션을 설정해야 합니다." "requiredOptionDialogText": "일부 패치 옵션을 설정해야 합니다."
}, },
"appSelectorCard": { "appSelectorCard": {
@@ -186,7 +186,7 @@
"universalPatchesLabel": "공용 패치 보기", "universalPatchesLabel": "공용 패치 보기",
"universalPatchesHint": "기기에 설치된 모든 앱과 공용 패치를 표시합니다 (앱 목록이 느려질 수 있음)", "universalPatchesHint": "기기에 설치된 모든 앱과 공용 패치를 표시합니다 (앱 목록이 느려질 수 있음)",
"lastPatchedAppLabel": "패치된 앱 저장", "lastPatchedAppLabel": "패치된 앱 저장",
"lastPatchedAppHint": "나중에 설치하거나 내보낼 마지막으로 패치된 앱을 저장 수 있습니다", "lastPatchedAppHint": "마지막으로 패치된 앱을 저장하여 나중에 설치하거나 내보낼 수 있습니다",
"versionCompatibilityCheckLabel": "버전 호환성 체크", "versionCompatibilityCheckLabel": "버전 호환성 체크",
"versionCompatibilityCheckHint": "선택한 앱 버전과 호환되지 않는 패치를 선택할 수 없습니다", "versionCompatibilityCheckHint": "선택한 앱 버전과 호환되지 않는 패치를 선택할 수 없습니다",
"requireSuggestedAppVersionLabel": "권장 앱 버전 요구", "requireSuggestedAppVersionLabel": "권장 앱 버전 요구",

0
assets/i18n/strings_ky_KG.i18n.json Normal file → Executable file
View File

0
assets/i18n/strings_lo_LA.i18n.json Normal file → Executable file
View File

0
assets/i18n/strings_lt_LT.i18n.json Normal file → Executable file
View File

2
assets/i18n/strings_lv_LV.i18n.json Normal file → Executable file
View File

@@ -50,7 +50,7 @@
"patcherView": { "patcherView": {
"widgetTitle": "Pačeris", "widgetTitle": "Pačeris",
"patchButton": "Pačot", "patchButton": "Pačot",
"removedPatchesWarningDialogText": "Kopš pēdējās lietošanas reizes ir noņemti šādi ielāpi.\n\n${patches}\n\nTurpināt jebkurā gadījumā?" "removedPatchesWarningDialogText": "Kopš pēdējās lietošanas reizes ir noņemti šādi ielāpi.\n\n${patches}\n\n${newPatches}Turpināt jebkurā gadījumā?"
}, },
"appSelectorCard": { "appSelectorCard": {
"widgetTitle": "Izvēlaties lietotni", "widgetTitle": "Izvēlaties lietotni",

0
assets/i18n/strings_mk_MK.i18n.json Normal file → Executable file
View File

0
assets/i18n/strings_ml_IN.i18n.json Normal file → Executable file
View File

0
assets/i18n/strings_mn_MN.i18n.json Normal file → Executable file
View File

0
assets/i18n/strings_mr_IN.i18n.json Normal file → Executable file
View File

0
assets/i18n/strings_ms_MY.i18n.json Normal file → Executable file
View File

0
assets/i18n/strings_my_MM.i18n.json Normal file → Executable file
View File

0
assets/i18n/strings_nb_NO.i18n.json Normal file → Executable file
View File

0
assets/i18n/strings_ne_IN.i18n.json Normal file → Executable file
View File

2
assets/i18n/strings_nl_NL.i18n.json Normal file → Executable file
View File

@@ -55,7 +55,7 @@
"widgetTitle": "Patcher", "widgetTitle": "Patcher",
"patchButton": "Patch", "patchButton": "Patch",
"incompatibleArchWarningDialogText": "Patchen op deze architectuur wordt nog niet ondersteund en zal mogelijk mislukken. Toch doorgaan?", "incompatibleArchWarningDialogText": "Patchen op deze architectuur wordt nog niet ondersteund en zal mogelijk mislukken. Toch doorgaan?",
"removedPatchesWarningDialogText": "De volgende patches zijn verwijderd sinds de laatste keer dat je ze hebt gebruikt.\n\n${patches}\n\nToch doorgaan?", "removedPatchesWarningDialogText": "De volgende patches zijn verwijderd sinds de laatste keer dat je ze hebt gebruikt.\n\n${patches}\n\n${newPatches}Toch doorgaan?",
"requiredOptionDialogText": "Er moeten enkele patch-opties worden ingesteld." "requiredOptionDialogText": "Er moeten enkele patch-opties worden ingesteld."
}, },
"appSelectorCard": { "appSelectorCard": {

0
assets/i18n/strings_or_IN.i18n.json Normal file → Executable file
View File

0
assets/i18n/strings_pa_IN.i18n.json Normal file → Executable file
View File

2
assets/i18n/strings_pl_PL.i18n.json Normal file → Executable file
View File

@@ -55,7 +55,7 @@
"widgetTitle": "Program łatający", "widgetTitle": "Program łatający",
"patchButton": "Popraw", "patchButton": "Popraw",
"incompatibleArchWarningDialogText": "Aktualizowanie na tej architekturze nie jest jeszcze obsługiwane i może się nie powieść. Czy chcesz kontynuować mimo to?", "incompatibleArchWarningDialogText": "Aktualizowanie na tej architekturze nie jest jeszcze obsługiwane i może się nie powieść. Czy chcesz kontynuować mimo to?",
"removedPatchesWarningDialogText": "Następujące łatki zostały usunięte od ostatniego użycia.\n\n${patches}\n\nKontynuować mimo to?", "removedPatchesWarningDialogText": "Następujące łatki zostały usunięte od ostatniego użycia.\n\n${patches}\n\n${newPatches}Kontynuować mimo to?",
"requiredOptionDialogText": "Niektóre opcje muszą być ustawione." "requiredOptionDialogText": "Niektóre opcje muszą być ustawione."
}, },
"appSelectorCard": { "appSelectorCard": {

5
assets/i18n/strings_pt_BR.i18n.json Normal file → Executable file
View File

@@ -55,7 +55,7 @@
"widgetTitle": "Patcher", "widgetTitle": "Patcher",
"patchButton": "Patch", "patchButton": "Patch",
"incompatibleArchWarningDialogText": "A aplicação de patches nesta arquitetura ainda não é suportada e pode falhar. Continuar mesmo assim?", "incompatibleArchWarningDialogText": "A aplicação de patches nesta arquitetura ainda não é suportada e pode falhar. Continuar mesmo assim?",
"removedPatchesWarningDialogText": "Os seguintes patches foram removidos desde a última vez que você os utilizou:\n\n${patches}\n\nContinuar mesmo assim?", "removedPatchesWarningDialogText": "Os seguintes patches foram removidos desde a última vez que você os utilizou:\n\n${patches}\n\n${newPatches}Continuar mesmo assim?",
"requiredOptionDialogText": "Algumas opções de patch tiveram que ser definidas." "requiredOptionDialogText": "Algumas opções de patch tiveram que ser definidas."
}, },
"appSelectorCard": { "appSelectorCard": {
@@ -68,7 +68,7 @@
"patchSelectorCard": { "patchSelectorCard": {
"widgetTitle": "Selecionar patches", "widgetTitle": "Selecionar patches",
"widgetTitleSelected": "Patches selecionados", "widgetTitleSelected": "Patches selecionados",
"widgetSubtitle": "Selecione um aplicativo primeiro", "widgetSubtitle": "Selecione um app primeiro",
"widgetEmptySubtitle": "Nenhum patch selecionado" "widgetEmptySubtitle": "Nenhum patch selecionado"
}, },
"socialMediaCard": { "socialMediaCard": {
@@ -283,6 +283,7 @@
"status_failure_timeout_description": "A instalação levou muito tempo para terminar.\n\nGostaria de tentar novamente?", "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_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_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_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.", "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_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.",

2
assets/i18n/strings_pt_PT.i18n.json Normal file → Executable file
View File

@@ -55,7 +55,7 @@
"widgetTitle": "Modificador", "widgetTitle": "Modificador",
"patchButton": "Modificar", "patchButton": "Modificar",
"incompatibleArchWarningDialogText": "Patrulhar nesta arquitetura ainda não é suportado e pode falhar. Continuar mesmo assim?", "incompatibleArchWarningDialogText": "Patrulhar nesta arquitetura ainda não é suportado e pode falhar. Continuar mesmo assim?",
"removedPatchesWarningDialogText": "As seguintes modificações foram removidas desde a última vez que as utilizaste.\n\n${patches}\n\nContinuar na mesma?", "removedPatchesWarningDialogText": "As seguintes modificações foram removidas desde a última vez que as utilizaste.\n\n${patches}\n\n${newPatches}Continuar na mesma?",
"requiredOptionDialogText": "Algumas opções das Modificações precisam ser definidas." "requiredOptionDialogText": "Algumas opções das Modificações precisam ser definidas."
}, },
"appSelectorCard": { "appSelectorCard": {

2
assets/i18n/strings_ro_RO.i18n.json Normal file → Executable file
View File

@@ -55,7 +55,7 @@
"widgetTitle": "Patcher", "widgetTitle": "Patcher",
"patchButton": "Patch", "patchButton": "Patch",
"incompatibleArchWarningDialogText": "Patcharea după această arhitectură nu este încă suportată și ar putea eșua. Continuați oricum?", "incompatibleArchWarningDialogText": "Patcharea după această arhitectură nu este încă suportată și ar putea eșua. Continuați oricum?",
"removedPatchesWarningDialogText": "Următoarele patch-uri au fost eliminate de la ultima dată când le-ați folosit.\n\n${patches}\n\nContinuați oricum?", "removedPatchesWarningDialogText": "Următoarele patch-uri au fost eliminate de la ultima dată când le-ați folosit.\n\n${patches}\n\n${newPatches}Continuați oricum?",
"requiredOptionDialogText": "Unele opțiuni pentru patch-uri trebuie setate." "requiredOptionDialogText": "Unele opțiuni pentru patch-uri trebuie setate."
}, },
"appSelectorCard": { "appSelectorCard": {

2
assets/i18n/strings_ru_RU.i18n.json Normal file → Executable file
View File

@@ -55,7 +55,7 @@
"widgetTitle": "Патчер", "widgetTitle": "Патчер",
"patchButton": "Пропатчить", "patchButton": "Пропатчить",
"incompatibleArchWarningDialogText": "Патчинг на этой архитектуре еще не поддерживается и может завершиться неудачей. Продолжить?", "incompatibleArchWarningDialogText": "Патчинг на этой архитектуре еще не поддерживается и может завершиться неудачей. Продолжить?",
"removedPatchesWarningDialogText": "Следующие патчи были удалены с момента их последнего использования.\n\n ${patches}\n\n Все равно продолжить?", "removedPatchesWarningDialogText": "Следующие патчи были удалены с момента их последнего использования.\n\n ${patches}\n\n ${newPatches}Все равно продолжить?",
"requiredOptionDialogText": "Некоторые параметры патчей должны быть обязательно установлены." "requiredOptionDialogText": "Некоторые параметры патчей должны быть обязательно установлены."
}, },
"appSelectorCard": { "appSelectorCard": {

0
assets/i18n/strings_si_LK.i18n.json Normal file → Executable file
View File

0
assets/i18n/strings_sk_SK.i18n.json Normal file → Executable file
View File

2
assets/i18n/strings_sl_SI.i18n.json Normal file → Executable file
View File

@@ -45,7 +45,7 @@
"patcherView": { "patcherView": {
"widgetTitle": "Popravljalnik", "widgetTitle": "Popravljalnik",
"patchButton": "Popravi", "patchButton": "Popravi",
"removedPatchesWarningDialogText": "Spodnji popravki so bili odstranjeni, odkar ste jih nazadnje uporabili.\n\n${patches}\n\nVseeno nadaljujem?" "removedPatchesWarningDialogText": "Spodnji popravki so bili odstranjeni, odkar ste jih nazadnje uporabili.\n\n${patches}\n\n${newPatches}Vseeno nadaljujem?"
}, },
"appSelectorCard": { "appSelectorCard": {
"widgetTitle": "Izberi aplikacijo", "widgetTitle": "Izberi aplikacijo",

0
assets/i18n/strings_sq_AL.i18n.json Normal file → Executable file
View File

2
assets/i18n/strings_sr_CS.i18n.json Normal file → Executable file
View File

@@ -55,7 +55,7 @@
"widgetTitle": "Pečer", "widgetTitle": "Pečer",
"patchButton": "Pečuj", "patchButton": "Pečuj",
"incompatibleArchWarningDialogText": "Pečovanje na ovoj arhitekturi još uvek nije podržano i možda neće uspeti. Ipak nastaviti?", "incompatibleArchWarningDialogText": "Pečovanje na ovoj arhitekturi još uvek nije podržano i možda neće uspeti. Ipak nastaviti?",
"removedPatchesWarningDialogText": "Sledeći pečevi su uklonjeni od poslednjeg puta kada ste ih koristili.\n\n${patches}\n\nIpak nastaviti?", "removedPatchesWarningDialogText": "Sledeći pečevi su uklonjeni od poslednjeg puta kada ste ih koristili.\n\n${patches}\n\n${newPatches}Ipak nastaviti?",
"requiredOptionDialogText": "Neke opcije moraju biti izabrane." "requiredOptionDialogText": "Neke opcije moraju biti izabrane."
}, },
"appSelectorCard": { "appSelectorCard": {

2
assets/i18n/strings_sr_SP.i18n.json Normal file → Executable file
View File

@@ -55,7 +55,7 @@
"widgetTitle": "Печер", "widgetTitle": "Печер",
"patchButton": "Печуј", "patchButton": "Печуј",
"incompatibleArchWarningDialogText": "Печовање на овој архитектури још увек није подржано и можда неће успети. Ипак наставити?", "incompatibleArchWarningDialogText": "Печовање на овој архитектури још увек није подржано и можда неће успети. Ипак наставити?",
"removedPatchesWarningDialogText": "Следећи печеви су уклоњени од последњег пута када сте их користили.\n\n${patches}\n\nИпак наставити?", "removedPatchesWarningDialogText": "Следећи печеви су уклоњени од последњег пута када сте их користили.\n\n${patches}\n\n${newPatches}Ипак наставити?",
"requiredOptionDialogText": "Неке опције морају бити изабране." "requiredOptionDialogText": "Неке опције морају бити изабране."
}, },
"appSelectorCard": { "appSelectorCard": {

2
assets/i18n/strings_sv_SE.i18n.json Normal file → Executable file
View File

@@ -55,7 +55,7 @@
"widgetTitle": "Patcher", "widgetTitle": "Patcher",
"patchButton": "Patch", "patchButton": "Patch",
"incompatibleArchWarningDialogText": "Patchning av denna arkitektur stöds ännu inte och kan misslyckas. Fortsätt ändå?", "incompatibleArchWarningDialogText": "Patchning av denna arkitektur stöds ännu inte och kan misslyckas. Fortsätt ändå?",
"removedPatchesWarningDialogText": "Följande patchar har tagits bort sedan du senast använde dem.\n\n${patches}\n\nFortsätt ändå?", "removedPatchesWarningDialogText": "Följande patchar har tagits bort sedan du senast använde dem.\n\n${patches}\n\n${newPatches}Fortsätt ändå?",
"requiredOptionDialogText": "Vissa patchalternativ måste anges." "requiredOptionDialogText": "Vissa patchalternativ måste anges."
}, },
"appSelectorCard": { "appSelectorCard": {

0
assets/i18n/strings_sw_KE.i18n.json Normal file → Executable file
View File

2
assets/i18n/strings_ta_IN.i18n.json Normal file → Executable file
View File

@@ -55,7 +55,7 @@
"widgetTitle": "இணைப்பான்", "widgetTitle": "இணைப்பான்",
"patchButton": "இணைப்பு", "patchButton": "இணைப்பு",
"incompatibleArchWarningDialogText": "இந்தக் கட்டமைப்பில் பிறழுதல் இன்னும் ஆதரிக்கப்படவில்லை மற்றும் தோல்வியடையக்கூடும். எப்படியும் தொடரவா?", "incompatibleArchWarningDialogText": "இந்தக் கட்டமைப்பில் பிறழுதல் இன்னும் ஆதரிக்கப்படவில்லை மற்றும் தோல்வியடையக்கூடும். எப்படியும் தொடரவா?",
"removedPatchesWarningDialogText": "நீங்கள் கடைசியாகப் பயன்படுத்தியதிலிருந்து பின்வரும் பிறழ்கள் அகற்றப்பட்டன\n\n${patches}\n\nஎப்படியும் தொடரவா?", "removedPatchesWarningDialogText": "நீங்கள் கடைசியாகப் பயன்படுத்தியதிலிருந்து பின்வரும் பிறழ்கள் அகற்றப்பட்டன\n\n${patches}\n\n${newPatches}எப்படியும் தொடரவா?",
"requiredOptionDialogText": "சில பிறழ்களுக்கு விருப்பங்களை அமைக்க வேண்டும்." "requiredOptionDialogText": "சில பிறழ்களுக்கு விருப்பங்களை அமைக்க வேண்டும்."
}, },
"appSelectorCard": { "appSelectorCard": {

0
assets/i18n/strings_te_IN.i18n.json Normal file → Executable file
View File

0
assets/i18n/strings_th_TH.i18n.json Normal file → Executable file
View File

0
assets/i18n/strings_tl_PH.i18n.json Normal file → Executable file
View File

2
assets/i18n/strings_tr_TR.i18n.json Normal file → Executable file
View File

@@ -55,7 +55,7 @@
"widgetTitle": "Yamalayıcı", "widgetTitle": "Yamalayıcı",
"patchButton": "Yamala", "patchButton": "Yamala",
"incompatibleArchWarningDialogText": "Bu mimari cihazlarda yamalama henüz desteklenmiyor ve başarısız olabilir. Yine de devam edilsin mi?", "incompatibleArchWarningDialogText": "Bu mimari cihazlarda yamalama henüz desteklenmiyor ve başarısız olabilir. Yine de devam edilsin mi?",
"removedPatchesWarningDialogText": "Aşağıdaki yamalar son kullanımınızdan sonra kaldırıldı.\n\n${patches}\n\nYine de devam edilsin mi?", "removedPatchesWarningDialogText": "Aşağıdaki yamalar son kullanımınızdan sonra kaldırıldı.\n\n${patches}\n\n${newPatches}Yine de devam edilsin mi?",
"requiredOptionDialogText": "Bazı yama seçeneklerinin ayarlanması gerekiyor." "requiredOptionDialogText": "Bazı yama seçeneklerinin ayarlanması gerekiyor."
}, },
"appSelectorCard": { "appSelectorCard": {

2
assets/i18n/strings_uk_UA.i18n.json Normal file → Executable file
View File

@@ -55,7 +55,7 @@
"widgetTitle": "Патчер", "widgetTitle": "Патчер",
"patchButton": "Патчити", "patchButton": "Патчити",
"incompatibleArchWarningDialogText": "Патчінг на цій архітектурі ще не підтримується і може не спрацювати. Продовжити в будь-якому випадку?", "incompatibleArchWarningDialogText": "Патчінг на цій архітектурі ще не підтримується і може не спрацювати. Продовжити в будь-якому випадку?",
"removedPatchesWarningDialogText": "Наступні патчі було видалено з моменту останнього використання.\n\n${patches}\n\nВсе одно продовжити?", "removedPatchesWarningDialogText": "Наступні патчі було видалено з моменту останнього використання.\n\n${patches}\n\n${newPatches}Все одно продовжити?",
"requiredOptionDialogText": "Потрібно встановити деякі параметри патчу." "requiredOptionDialogText": "Потрібно встановити деякі параметри патчу."
}, },
"appSelectorCard": { "appSelectorCard": {

0
assets/i18n/strings_ur_IN.i18n.json Normal file → Executable file
View File

0
assets/i18n/strings_uz_UZ.i18n.json Normal file → Executable file
View File

3
assets/i18n/strings_vi_VN.i18n.json Normal file → Executable file
View File

@@ -55,7 +55,7 @@
"widgetTitle": "Trình vá", "widgetTitle": "Trình vá",
"patchButton": "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?", "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": "Những bản vá sau đây đã bị loại bỏ từ lần cuối bạn dùng chúng.\n\n${patches}\n\nVẫn tiếp tục?", "removedPatchesWarningDialogText": "Những bản vá sau đây đã bị loại bỏ từ lần cuối bạn dùng chúng.\n\n${patches}\n\n${newPatches}Vẫn tiếp tục?",
"requiredOptionDialogText": "Một số tùy chọn bản vá cần được thiết đặt." "requiredOptionDialogText": "Một số tùy chọn bản vá cần được thiết đặt."
}, },
"appSelectorCard": { "appSelectorCard": {
@@ -283,6 +283,7 @@
"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_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_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_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_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.", "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_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.",

2
assets/i18n/strings_zh_CN.i18n.json Normal file → Executable file
View File

@@ -55,7 +55,7 @@
"widgetTitle": "修补器", "widgetTitle": "修补器",
"patchButton": "修补", "patchButton": "修补",
"incompatibleArchWarningDialogText": "对此架构的修补尚不支持或可能失败。仍要继续吗?", "incompatibleArchWarningDialogText": "对此架构的修补尚不支持或可能失败。仍要继续吗?",
"removedPatchesWarningDialogText": "自您上次使用以下补丁以来,它们已被删除。\n\n${patches}\n\n还是继续吗", "removedPatchesWarningDialogText": "自您上次使用以下补丁以来,它们已被删除。\n\n${patches}\n\n${newPatches}还是继续吗?",
"requiredOptionDialogText": "某些补丁选项必须设置。" "requiredOptionDialogText": "某些补丁选项必须设置。"
}, },
"appSelectorCard": { "appSelectorCard": {

0
assets/i18n/strings_zh_HK.i18n.json Normal file → Executable file
View File

138
assets/i18n/strings_zh_TW.i18n.json Normal file → Executable file
View File

@@ -2,9 +2,9 @@
"okButton": "確認", "okButton": "確認",
"cancelButton": "取消", "cancelButton": "取消",
"dismissButton": "忽略", "dismissButton": "忽略",
"quitButton": "退出", "quitButton": "離開",
"updateButton": "更新", "updateButton": "更新",
"suggested": "建議版本: ${version}", "suggested": "建議版本${version}",
"yesButton": "是", "yesButton": "是",
"noButton": "否", "noButton": "否",
"warning": "警告", "warning": "警告",
@@ -31,12 +31,12 @@
"installUpdate": "繼續安裝此更新嗎?", "installUpdate": "繼續安裝此更新嗎?",
"updateSheetTitle": "更新 ReVanced Manager", "updateSheetTitle": "更新 ReVanced Manager",
"updateDialogTitle": "有可用的更新", "updateDialogTitle": "有可用的更新",
"updatePatchesSheetTitle": "更新 ReVanced 補丁", "updatePatchesSheetTitle": "更新 ReVanced 的修補檔",
"updateChangelogTitle": "更新日誌", "updateChangelogTitle": "更新日誌",
"updateDialogText": "${file} 有新的更新可用。\n\n前安裝的版本是 ${version}。", "updateDialogText": "${file} 有新的更新可用。\n\n前安裝的版本是 ${version}。",
"downloadConsentDialogTitle": "要下載必要檔案嗎?", "downloadConsentDialogTitle": "要下載必要檔案嗎?",
"downloadConsentDialogText": "ReVanced Manager 需要下載必要檔案才能正常運作。", "downloadConsentDialogText": "ReVanced Manager 需要下載必要檔案才能正常執行。",
"downloadConsentDialogText2": "這將帶您前往至 ${url}。", "downloadConsentDialogText2": "這項操作將連結至 ${url}。",
"downloadingMessage": "正在下載更新...", "downloadingMessage": "正在下載更新...",
"downloadedMessage": "已下載更新", "downloadedMessage": "已下載更新",
"installingMessage": "正在安裝更新...", "installingMessage": "正在安裝更新...",
@@ -53,75 +53,75 @@
}, },
"patcherView": { "patcherView": {
"widgetTitle": "修補工具", "widgetTitle": "修補工具",
"patchButton": "補", "patchButton": "補",
"incompatibleArchWarningDialogText": "此架構尚未支援修補,可能會失敗。仍要繼續嗎?", "incompatibleArchWarningDialogText": "此架構尚未支援修補,可能會失敗。仍要繼續嗎?",
"removedPatchesWarningDialogText": "自從您上次使用以來,以下補丁已遭移除。\n\n${patches} \n\n仍要繼續執行嗎", "removedPatchesWarningDialogText": "自從您上次使用以來,以下修補檔已遭移除。\n\n${patches} \n\n${newPatches} 仍要繼續執行嗎?",
"requiredOptionDialogText": "某些補丁需要進一步設定。" "requiredOptionDialogText": "某些修補檔選項需要進設定。"
}, },
"appSelectorCard": { "appSelectorCard": {
"widgetTitle": "選擇一個應用程式", "widgetTitle": "選擇一個應用程式",
"widgetTitleSelected": "已選取的應用程式", "widgetTitleSelected": "已選取的應用程式",
"widgetSubtitle": "未選取任何應用程式", "widgetSubtitle": "未選取任何應用程式",
"noAppsLabel": "找到應用程式", "noAppsLabel": "找到應用程式",
"anyVersion": "任何版本" "anyVersion": "任何版本"
}, },
"patchSelectorCard": { "patchSelectorCard": {
"widgetTitle": "選擇補丁", "widgetTitle": "選取修補檔",
"widgetTitleSelected": "已選取的補丁", "widgetTitleSelected": "已選取的修補檔",
"widgetSubtitle": "請先選擇一個應用程式", "widgetSubtitle": "請先選應用程式",
"widgetEmptySubtitle": "未選取任何補丁" "widgetEmptySubtitle": "未選取修補檔"
}, },
"socialMediaCard": { "socialMediaCard": {
"widgetTitle": "社群媒體", "widgetTitle": "社群媒體",
"widgetSubtitle": "掃榻以待,歡迎造訪!" "widgetSubtitle": "掃榻以待,歡迎造訪!"
}, },
"appSelectorView": { "appSelectorView": {
"viewTitle": "選擇一個應用程式", "viewTitle": "選擇應用程式",
"searchBarHint": "搜尋應用程式", "searchBarHint": "搜尋應用程式",
"storageButton": "儲存空間", "storageButton": "儲存空間",
"selectFromStorageButton": "從儲存空間中選取", "selectFromStorageButton": "從儲存空間中選取",
"errorMessage": "無法使用已選取的應用程式", "errorMessage": "無法使用所選的應用程式",
"downloadToast": "下載功能尚不可用", "downloadToast": "下載功能尚不可用",
"requireSuggestedAppVersionDialogText": "您選取的應用程式版本與建議版本不符,可能會導致意外問題。請使用建議的版本。\n\n選取的版本${selected}\n建議的版本${suggested}\n\n如果仍要繼續請在設定中停用「要求使用建議的應用程式版本」。", "requireSuggestedAppVersionDialogText": "您選取的應用程式版本與建議版本不符,可能會導致意外問題。請使用建議的版本。\n\n選取的版本${selected}\n建議的版本${suggested}\n\n如果仍要繼續請在設定中停用「要求使用建議的應用程式版本」。",
"featureNotAvailable": "功能尚未實作", "featureNotAvailable": "功能尚未實作",
"featureNotAvailableText": "該應用程式為分割 APK只能在具有 root 權限的情況下完成修補及安裝。不過,您也可以直接從儲存空間選取完整 APK 以修補及安裝。" "featureNotAvailableText": "該應用程式為分割 APK只能在具有 root 權限的情況下完成修補及安裝。不過,您也可以直接從儲存空間選取完整 APK 以修補及安裝。"
}, },
"patchesSelectorView": { "patchesSelectorView": {
"viewTitle": "選取補丁", "viewTitle": "選取修補檔",
"searchBarHint": "搜尋補丁", "searchBarHint": "搜尋修補檔",
"universalPatches": "通用補丁", "universalPatches": "通用修補檔",
"newPatches": "新的補丁", "newPatches": "新修補檔",
"patches": "補丁", "patches": "修補檔",
"doneButton": "完成", "doneButton": "完成",
"defaultChip": "預設", "defaultChip": "預設",
"defaultTooltip": "選取所有預設補丁", "defaultTooltip": "選取全部預設修補檔",
"noneChip": "無", "noneChip": "無",
"noneTooltip": "取消選取所有補丁", "noneTooltip": "取消選取修補檔",
"loadPatchesSelection": "載入修補選取", "loadPatchesSelection": "載入上次所選的補丁",
"noSavedPatches": "應用程式暫未有選定的補丁。\n按下 [完成] 以儲存目前的選取。", "noSavedPatches": "未儲存應用程式選定的修補選項。\n按下 [完成] 以儲存目前的選取。",
"noPatchesFound": "找到適合所選應用程式的補丁", "noPatchesFound": "找到適合所選應用程式的修補檔",
"setRequiredOption": "這些補丁需要進一部設定:\n\n${patches}\n\n請進行設定再繼續。" "setRequiredOption": "某些修補檔選項需要進行配置:\n\n${patches}\n\n請在繼續之前進行設定。"
}, },
"patchOptionsView": { "patchOptionsView": {
"customValue": "自訂值", "customValue": "自訂值",
"setToNull": "設為空值", "setToNull": "設為空值",
"nullValue": "此選項的值目前為空", "nullValue": "此選項的值目前為空",
"viewTitle": "補丁選項", "viewTitle": "修補檔選項",
"saveOptions": "儲存", "saveOptions": "儲存",
"unselectPatch": "取消選擇補丁", "unselectPatch": "取消選取修補檔",
"tooltip": "更多輸入選項", "tooltip": "更多輸入選項",
"selectFilePath": "請選取檔案路徑", "selectFilePath": "請選取檔案路徑",
"selectFolder": "請選取資料夾", "selectFolder": "請選取資料夾",
"requiredOption": "此選項必需被設定", "requiredOption": "此選項必設定",
"unsupportedOption": "不支援此選項", "unsupportedOption": "此選項不支援本應用程式",
"requiredOptionNull": "以下選項需要進行設定:\n\n${options}" "requiredOptionNull": "以下選項需要進行設定:\n\n${options}"
}, },
"patchItem": { "patchItem": {
"unsupportedDialogText": "選取此補丁將可能導致修補錯誤。\n應用程式版本${packageVersion}\n支援的版本${supportedVersions}", "unsupportedDialogText": "選取此修補檔可能導致修補錯誤。\n應用程式版本 ${packageVersion}\n支援的版本 ${supportedVersions}",
"unsupportedPatchVersion": "該補丁不支援目前應用程式的版本。", "unsupportedPatchVersion": "此版本的應用程式不支援此修補檔。",
"unsupportedRequiredOption": "此補丁內含不支援此應用程式的必填選項。", "unsupportedRequiredOption": "此修補檔內含不支援此應用程式的必填選項。",
"patchesChangeWarningDialogText": "建議使用預設修補選項。更改它們可能導致意外問題。\n\n需要在設定中開啟「允許變更修補選項」才能繼續變更修補選項。", "patchesChangeWarningDialogText": "建議使用預設修補檔選擇和選項。更改它們可能導致意外問題。\n\n在變更任何修補檔選擇之前,您需要在設定中開啟「允許變更修補檔選擇」。",
"patchesChangeWarningDialogButton": "使用預設補丁選項" "patchesChangeWarningDialogButton": "用預設設定選項"
}, },
"installerView": { "installerView": {
"installType": "請選取安裝方式", "installType": "請選取安裝方式",
@@ -135,7 +135,7 @@
"notificationTitle": "ReVanced Manager 正在修補", "notificationTitle": "ReVanced Manager 正在修補",
"notificationText": "輕觸以返回安裝程式", "notificationText": "輕觸以返回安裝程式",
"exportApkButtonTooltip": "匯出已修補的 APK 檔案", "exportApkButtonTooltip": "匯出已修補的 APK 檔案",
"exportLogButtonTooltip": "匯出日誌", "exportLogButtonTooltip": "匯出記錄檔",
"screenshotDetected": "偵測到螢幕截圖。如果您想要分享記錄檔,請改為複製文字分享。\n\n要將記錄檔複製到剪貼簿嗎", "screenshotDetected": "偵測到螢幕截圖。如果您想要分享記錄檔,請改為複製文字分享。\n\n要將記錄檔複製到剪貼簿嗎",
"copiedToClipboard": "已將記錄檔複製到剪貼簿", "copiedToClipboard": "已將記錄檔複製到剪貼簿",
"noExit": "安裝程式仍在執行,無法結束..." "noExit": "安裝程式仍在執行,無法結束..."
@@ -144,54 +144,54 @@
"widgetTitle": "設定", "widgetTitle": "設定",
"appearanceSectionTitle": "外觀", "appearanceSectionTitle": "外觀",
"teamSectionTitle": "團隊", "teamSectionTitle": "團隊",
"debugSectionTitle": "錯", "debugSectionTitle": "錯",
"advancedSectionTitle": "進階", "advancedSectionTitle": "進階",
"exportSectionTitle": "匯入匯出", "exportSectionTitle": "匯入匯出",
"dataSectionTitle": "資料來源", "dataSectionTitle": "資料來源",
"themeModeLabel": "應用程式主題", "themeModeLabel": "應用程式主題",
"systemThemeLabel": "系統預設", "systemThemeLabel": "系統預設",
"lightThemeLabel": "淺色模式", "lightThemeLabel": "淺色模式",
"darkThemeLabel": "深色模式", "darkThemeLabel": "深色模式",
"dynamicThemeLabel": "質感設計", "dynamicThemeLabel": "Material You",
"dynamicThemeHint": "享受更貼近您裝置的使用體驗", "dynamicThemeHint": "享受更貼近您裝置的使用體驗",
"languageLabel": "語言", "languageLabel": "語言",
"languageUpdated": "已更新語言", "languageUpdated": "已更新語言",
"sourcesLabel": "替代來源", "sourcesLabel": "替代來源",
"sourcesLabelHint": "設定 ReVanced 補和 ReVanced 整合的替代來源", "sourcesLabelHint": "設定 ReVanced 補和 ReVanced 整合的備用來源",
"sourcesIntegrationsLabel": "整合來源", "sourcesIntegrationsLabel": "整合來源",
"useAlternativeSources": "使用替代來源", "useAlternativeSources": "使用替代來源",
"useAlternativeSourcesHint": "改用 ReVanced 補丁和 ReVanced 整合的替代來源,而不是 API", "useAlternativeSourcesHint": "改用 ReVanced 修補檔和 ReVanced 整合的替代來源,而不是 API",
"sourcesResetDialogTitle": "重設", "sourcesResetDialogTitle": "重設",
"sourcesResetDialogText": "確定要將來源重設為預設值嗎?", "sourcesResetDialogText": "確定要將來源重設為預設值嗎?",
"apiURLResetDialogText": "確定要還原 API URL 至預設值嗎?", "apiURLResetDialogText": "確定要還原 API URL 至預設值嗎?",
"sourcesUpdateNote": "注意:這將自動從替代來源下載 ReVanced 補丁及 ReVanced 整合。\n\n這將連接您到替代來源。", "sourcesUpdateNote": "注意:這項操作操作將自動從備用來源下載 ReVanced 修補檔和 ReVanced 整合。\n\n這項操作將連結至備用來源。",
"apiURLLabel": "API URL", "apiURLLabel": "API URL",
"apiURLHint": "設定 ReVanced Manager 的 API URL", "apiURLHint": "設定 ReVanced Manager 的 API URL",
"selectApiURL": "API URL", "selectApiURL": "API URL",
"orgPatchesLabel": "補丁組織", "orgPatchesLabel": "修補檔組織",
"sourcesPatchesLabel": "補丁來源", "sourcesPatchesLabel": "修補檔來源",
"orgIntegrationsLabel": "整合組織", "orgIntegrationsLabel": "整合組織",
"contributorsLabel": "貢獻者", "contributorsLabel": "貢獻者",
"contributorsHint": "ReVanced 貢獻者清單", "contributorsHint": "ReVanced 貢獻者清單",
"logsLabel": "分享記錄檔", "logsLabel": "分享記錄檔",
"logsHint": "分享 ReVanced Manager 記錄檔", "logsHint": "分享 ReVanced Manager 記錄檔",
"enablePatchesSelectionLabel": "允許變更修補選項", "enablePatchesSelectionLabel": "允許變更修補選項",
"enablePatchesSelectionHint": "不要阻止選或取消選取補丁", "enablePatchesSelectionHint": "不要阻止選或取消選擇修補檔",
"enablePatchesSelectionWarningText": "如果變更修補選項,可能會導致發生意外。\n\n仍要啟用嗎", "enablePatchesSelectionWarningText": "如果變更修補選項,可能會導致發生意外。\n\n仍要啟用嗎",
"disablePatchesSelectionWarningText": "即將停用修補選項的變更功能,並還原到預設選項。\n\n仍要停用嗎", "disablePatchesSelectionWarningText": "即將停用修補選項的變更功能,並還原到預設選項。\n\n仍要停用嗎",
"autoUpdatePatchesLabel": "自動更新補丁", "autoUpdatePatchesLabel": "自動更新修補檔",
"autoUpdatePatchesHint": "自動更新補丁至最新版本", "autoUpdatePatchesHint": "自動更新修補檔至最新版本",
"showUpdateDialogLabel": "顯示更新對話框", "showUpdateDialogLabel": "顯示更新對話框",
"showUpdateDialogHint": "當有新更新可用時,顯示對話框", "showUpdateDialogHint": "當有新更新可用時,顯示對話框",
"universalPatchesLabel": "顯示通用補丁", "universalPatchesLabel": "顯示通用修補檔",
"universalPatchesHint": "顯示所有應用程式和通用修補檔(可能會拖慢應用程式列表的速度)", "universalPatchesHint": "顯示所有應用程式和通用修補檔(可能會拖慢應用程式列表的速度)",
"lastPatchedAppLabel": "儲存已修補的應用程式", "lastPatchedAppLabel": "儲存已修補的應用程式",
"lastPatchedAppHint": "儲存最後一次修補以便稍後安裝或匯出", "lastPatchedAppHint": "儲存最後一次修補以便稍後安裝或匯出",
"versionCompatibilityCheckLabel": "檢查版本相容性", "versionCompatibilityCheckLabel": "檢查版本相容性",
"versionCompatibilityCheckHint": "防止選擇與所選應用程式版本不相容的補丁", "versionCompatibilityCheckHint": "防止選擇與所選應用程式版本不相容的修補檔",
"requireSuggestedAppVersionLabel": "要求使用建議的應用程式版本", "requireSuggestedAppVersionLabel": "要求使用建議的應用程式版本",
"requireSuggestedAppVersionHint": "防止選取非建議版本的應用程式", "requireSuggestedAppVersionHint": "防止選取非建議版本的應用程式",
"requireSuggestedAppVersionDialogText": "選取非建議版本的應用程式可能導致意外問題。\n\n確定仍要繼續執行嗎", "requireSuggestedAppVersionDialogText": "目前選取的應用程式並非建議版本,可能造成未預期的狀況發生。\n\n確定仍要繼續執行嗎",
"aboutLabel": "關於", "aboutLabel": "關於",
"snackbarMessage": "已複製到剪貼簿", "snackbarMessage": "已複製到剪貼簿",
"restartAppForChanges": "重新啟動應用程式以套用變更", "restartAppForChanges": "重新啟動應用程式以套用變更",
@@ -199,7 +199,7 @@
"deleteTempDirHint": "刪除未使用的暫存檔案", "deleteTempDirHint": "刪除未使用的暫存檔案",
"deletedTempDir": "已刪除暫存檔案", "deletedTempDir": "已刪除暫存檔案",
"exportPatchesLabel": "匯出修補選取", "exportPatchesLabel": "匯出修補選取",
"exportPatchesHint": "修補選取匯出成 JSON 檔案", "exportPatchesHint": "匯出修補選取 JSON 檔案",
"exportedPatches": "已匯出修補選取", "exportedPatches": "已匯出修補選取",
"noExportFileFound": "沒有可匯出的修補選取", "noExportFileFound": "沒有可匯出的修補選取",
"importPatchesLabel": "匯入修補選取", "importPatchesLabel": "匯入修補選取",
@@ -208,21 +208,21 @@
"resetStoredPatchesLabel": "重設修補選取", "resetStoredPatchesLabel": "重設修補選取",
"resetStoredPatchesHint": "重設已儲存的修補選取", "resetStoredPatchesHint": "重設已儲存的修補選取",
"resetStoredPatchesDialogTitle": "確定要重設修補選取嗎?", "resetStoredPatchesDialogTitle": "確定要重設修補選取嗎?",
"resetStoredPatchesDialogText": "將還原為預設的修補選項。", "resetStoredPatchesDialogText": "將還原為預設的修補選項。",
"resetStoredPatches": "已重設修補選取", "resetStoredPatches": "已重設修補選取",
"resetStoredOptionsLabel": "重設修補選項", "resetStoredOptionsLabel": "重設修補選項",
"resetStoredOptionsHint": "重設所有修補選項", "resetStoredOptionsHint": "重設所有修補選項",
"resetStoredOptionsDialogTitle": "確定要重設修補選項嗎?", "resetStoredOptionsDialogTitle": "確定要重設修補選項嗎?",
"resetStoredOptionsDialogText": "重設補丁選項將移除所有已儲存的設定。", "resetStoredOptionsDialogText": "重設修補檔選項將移除所有已儲存的設定。",
"resetStoredOptions": "已重設所有選項", "resetStoredOptions": "已重設所有選項",
"deleteLogsLabel": "清除記錄檔", "deleteLogsLabel": "清除記錄檔",
"deleteLogsHint": "刪除已收集的 ReVanced Manager 記錄檔", "deleteLogsHint": "刪除已收集的 ReVanced Manager 記錄檔",
"deletedLogs": "已刪除記錄檔", "deletedLogs": "已刪除記錄檔",
"regenerateKeystoreLabel": "重新生金鑰庫", "regenerateKeystoreLabel": "重新生金鑰庫",
"regenerateKeystoreHint": "重新生用於簽署應用程式的金鑰庫", "regenerateKeystoreHint": "重新生用於簽署應用程式的金鑰庫",
"regenerateKeystoreDialogTitle": "確定要重新生金鑰庫嗎?", "regenerateKeystoreDialogTitle": "確定要重新生金鑰庫嗎?",
"regenerateKeystoreDialogText": "使用舊金鑰庫進行簽署的修補應用程式,將無法再進行更新。", "regenerateKeystoreDialogText": "使用舊金鑰庫進行簽署的修補應用程式,將無法再進行更新。",
"regeneratedKeystore": "已重新產生金鑰庫", "regeneratedKeystore": "金鑰庫已重新生成",
"exportKeystoreLabel": "匯出金鑰庫", "exportKeystoreLabel": "匯出金鑰庫",
"exportKeystoreHint": "匯出用於簽署應用程式的金鑰庫", "exportKeystoreHint": "匯出用於簽署應用程式的金鑰庫",
"exportedKeystore": "已匯出金鑰庫", "exportedKeystore": "已匯出金鑰庫",
@@ -255,10 +255,10 @@
"mountTypeLabel": "掛載", "mountTypeLabel": "掛載",
"regularTypeLabel": "一般", "regularTypeLabel": "一般",
"patchedDateLabel": "修補日期", "patchedDateLabel": "修補日期",
"appliedPatchesLabel": "已套用補丁", "appliedPatchesLabel": "已套用修補檔",
"sizeLabel": "檔案大小", "sizeLabel": "檔案大小",
"patchedDateHint": "${date} ${time}", "patchedDateHint": "${date} ${time}",
"appliedPatchesHint": "已套用 ${quantity} 個補丁", "appliedPatchesHint": "已套用 ${quantity} 個修補檔",
"updateNotImplemented": "這項功能尚未實作" "updateNotImplemented": "這項功能尚未實作"
}, },
"contributorsView": { "contributorsView": {
@@ -277,17 +277,17 @@
"status_failure_incompatible": "安裝不相容", "status_failure_incompatible": "安裝不相容",
"status_failure_timeout": "安裝逾時", "status_failure_timeout": "安裝逾時",
"status_unknown": "安裝失敗", "status_unknown": "安裝失敗",
"mount_version_mismatch_description": "由於安裝的應用程式與已修補的應用程式版本不同導致安裝失敗。\n\n請安裝您正在掛載的應用程式版本後再嘗試看看。", "mount_version_mismatch_description": "安裝失敗是由於安裝的應用程式與已修補的應用程式版本不同。\n\n請安裝您正在掛載的應用程式版本,然後重試。",
"mount_no_root_description": "由於沒有授予 root 存取權限導致安裝失敗\n\n請先授予 ReVanced Manager root 存取權限後再嘗試看看。", "mount_no_root_description": "由於沒有授予 root 存取權限導致安裝失敗\n\n請先授予 ReVanced Manager root 存取權限後再嘗試看看。",
"mount_missing_installation_description": "由於先前未在此裝置上安裝未修補的應用程式並掛載導致安裝失敗。\n\n請先在掛載前安裝未修補的應用程式後再嘗試看看。", "mount_missing_installation_description": "由於先前未在此裝置上安裝未修補的應用程式並掛載導致安裝失敗。\n\n請先在掛載前安裝未修補的應用程式後再嘗試看看。",
"status_failure_timeout_description": "安裝耗時太長。\n\n您想要再試一次嗎?", "status_failure_timeout_description": "安裝耗時太長。\n\n要再試一次嗎?",
"status_failure_storage_description": "安裝失敗是因為儲存空間不足。\n\n請先釋放一些空間後再嘗試看看。", "status_failure_storage_description": "由於儲存空間不足,而造成安裝失敗。\n\n請先釋出空間,然後再嘗試一次。",
"status_failure_invalid_description": "由於已修補的應用程式為無效導致安裝失敗。\n\n也許先解除安裝應用程式後再嘗試看看", "status_failure_invalid_description": "由於已修補的應用程式為無效,造成安裝失敗。\n\n確定要解除安裝應用程式,以再次嘗試",
"status_failure_incompatible_description": "應用程式與此裝置不相容。\n\n請使用支援此裝置的 APK 檔,然後再試一次。", "status_failure_incompatible_description": "應用程式與此裝置不相容。\n\n請使用支援此裝置的 APK 檔,然後再試一次。",
"status_failure_conflict_description": "安裝應用程式時被現有安裝阻止。\n\n也許先解除安裝已安裝的應用程式後再嘗試看看", "status_failure_conflict_description": "安裝應用程式現有安裝阻止。\n\n解除安裝已安裝的應用程式,然後重試",
"status_failure_blocked_description": "安裝被 ${packageName} 阻止。\n\n請調整您的安全設定後再嘗試看看。", "status_failure_blocked_description": "安裝被 ${packageName} 阻止。\n\n請調整您的安全設定,然後重試。",
"install_failed_verification_failure_description": "由於驗證問題導致安裝失敗。\n\n請調整您的安全設定後再嘗試看看。", "install_failed_verification_failure_description": "安裝失敗是因為驗證問題。\n\n請調整您的安全設定,然後重試。",
"install_failed_version_downgrade_description": "由於已修補的應用程式版本低於已安裝的應用程式導致安裝失敗。\n\n也許先解除現有的應用程式後再嘗試看看", "install_failed_version_downgrade_description": "安裝失敗是因為已修補的應用程式版本低於已安裝的應用程式。\n\n請解除安裝應用程式然後重試",
"status_unknown_description": "由於未知原因導致安裝失敗。請重試。" "status_unknown_description": "由於未知原因導致安裝失敗。請重試。"
} }
} }

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