From add49e14fb71e3b9b5f0988e39c3a664fd5b36b1 Mon Sep 17 00:00:00 2001 From: aAbed <39409020+TheAabedKhan@users.noreply.github.com> Date: Sun, 17 Mar 2024 22:59:22 +0545 Subject: [PATCH 001/127] fix: Pre-releases changelog being shown (#1767) --- lib/services/github_api.dart | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/services/github_api.dart b/lib/services/github_api.dart index 51856f88ef..0c0080b9e6 100644 --- a/lib/services/github_api.dart +++ b/lib/services/github_api.dart @@ -85,6 +85,9 @@ class GithubAPI { updates++; } for (int i = 1; i < updates; i++) { + if (response.data[i]['prerelease']) { + continue; + } releases.update( 'body', (value) => From e52a6ce734ffd65891b433ba2557239669f3b3d2 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Sun, 17 Mar 2024 17:22:14 +0000 Subject: [PATCH 002/127] chore(release): 1.19.4-dev.1 [skip ci] ## [1.19.4-dev.1](https://github.com/ReVanced/revanced-manager/compare/v1.19.3...v1.19.4-dev.1) (2024-03-17) ### Bug Fixes * Pre-releases changelog being shown ([#1767](https://github.com/ReVanced/revanced-manager/issues/1767)) ([add49e1](https://github.com/ReVanced/revanced-manager/commit/add49e14fb71e3b9b5f0988e39c3a664fd5b36b1)) --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index af18fcac92..db82054bd0 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -4,7 +4,7 @@ homepage: https://github.com/ReVanced/revanced-manager publish_to: 'none' -version: 1.19.3+101800006 +version: 1.19.4-dev.1+101800007 environment: sdk: '>=3.0.0 <4.0.0' From 50b4a5f1d86695119e3de0a1ed24c7ff29c81c61 Mon Sep 17 00:00:00 2001 From: oSumAtrIX Date: Mon, 18 Mar 2024 11:51:07 +0100 Subject: [PATCH 003/127] ci: Fix PR build success message --- .github/workflows/build_pull_request.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_pull_request.yml b/.github/workflows/build_pull_request.yml index 2c4e4ed8bf..2257e749a2 100644 --- a/.github/workflows/build_pull_request.yml +++ b/.github/workflows/build_pull_request.yml @@ -83,7 +83,7 @@ jobs: - name: Prepare comment run: | if [[ "${{ steps.flutter-build.outcome }}" == "success" ]]; then - echo "MESSAGE=✅ Failed build on ${{ env.COMMIT_HASH }}." >> $GITHUB_ENV + echo "MESSAGE=✅ Succeeded build on ${{ env.COMMIT_HASH }}." >> $GITHUB_ENV else echo "MESSAGE=🚫 Failed build on ${{ env.COMMIT_HASH }}." >> $GITHUB_ENV fi From 2772a9672799417995ebf1375ba72b640303253e Mon Sep 17 00:00:00 2001 From: Pun Butrach Date: Fri, 22 Mar 2024 04:41:34 +0000 Subject: [PATCH 004/127] docs(Build): Shorten build_runner args --- docs/4_building.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/4_building.md b/docs/4_building.md index de67fad681..aa52df882b 100644 --- a/docs/4_building.md +++ b/docs/4_building.md @@ -20,7 +20,7 @@ Learn how to build ReVanced Manager from source. ```sh dart run slang - dart run build_runner build --delete-conflicting-outputs + dart run build_runner build -d ``` 5. Build the APK From 3ea6ef0bbf3e4ed6ca78765f2ba650e204e9d2d6 Mon Sep 17 00:00:00 2001 From: Pun Butrach Date: Fri, 22 Mar 2024 04:54:57 +0000 Subject: [PATCH 005/127] ci(Dependabot): Add Gradle ecosystem to RVM Flutter --- .github/dependabot.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index b73efc0ff5..b91ee4bea3 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -14,6 +14,7 @@ updates: schedule: interval: monthly + # ReVanced Manager Flutter - package-ecosystem: pub labels: [] directory: / @@ -21,6 +22,14 @@ updates: schedule: interval: monthly + - package-ecosystem: gradle + labels: [] + directory: / + target-branch: dev + schedule: + interval: monthly + + # ReVanced Manager Compose - package-ecosystem: gradle labels: [ "ReVanced Manager Compose" ] directory: / From c981cb4a41051bc68b14cec55520c808311952b7 Mon Sep 17 00:00:00 2001 From: DMzS <75044136+Domenic-MZS@users.noreply.github.com> Date: Sat, 23 Mar 2024 07:51:17 -0300 Subject: [PATCH 006/127] fix: Ensure safe area usage in Changelogs Modal Bottom Sheet (#1772) --- lib/ui/views/home/home_viewmodel.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/ui/views/home/home_viewmodel.dart b/lib/ui/views/home/home_viewmodel.dart index 3c3c028974..3327c42b4b 100644 --- a/lib/ui/views/home/home_viewmodel.dart +++ b/lib/ui/views/home/home_viewmodel.dart @@ -463,6 +463,7 @@ class HomeViewModel extends BaseViewModel { ]) { return showModalBottomSheet( context: parentContext, + useSafeArea: true, isScrollControlled: true, shape: const RoundedRectangleBorder( borderRadius: BorderRadius.vertical(top: Radius.circular(24.0)), From af7e39b7f017823684f36807ae39192fedb2cda8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 23 Mar 2024 17:55:11 +0700 Subject: [PATCH 007/127] chore(i18n): Sync translations (#1719) Co-authored-by: revanced-bot --- assets/i18n/strings_be_BY.i18n.json | 14 +-- assets/i18n/strings_bn_BD.i18n.json | 29 +++++- assets/i18n/strings_el_GR.i18n.json | 6 +- assets/i18n/strings_es_AR.i18n.json | 154 ++++++++++++++++++---------- assets/i18n/strings_es_MX.i18n.json | 39 +++++-- assets/i18n/strings_hi_IN.i18n.json | 3 + assets/i18n/strings_hu_HU.i18n.json | 20 ++-- assets/i18n/strings_id_ID.i18n.json | 49 ++++++++- assets/i18n/strings_ja_JP.i18n.json | 57 +++++++++- assets/i18n/strings_ko_KR.i18n.json | 6 +- assets/i18n/strings_nl_NL.i18n.json | 48 ++++++++- assets/i18n/strings_ro_RO.i18n.json | 2 +- assets/i18n/strings_ru_RU.i18n.json | 2 +- assets/i18n/strings_sr_CS.i18n.json | 6 +- assets/i18n/strings_sr_SP.i18n.json | 6 +- assets/i18n/strings_vi_VN.i18n.json | 7 ++ 16 files changed, 341 insertions(+), 107 deletions(-) diff --git a/assets/i18n/strings_be_BY.i18n.json b/assets/i18n/strings_be_BY.i18n.json index e477600eb1..f7562fdcf7 100755 --- a/assets/i18n/strings_be_BY.i18n.json +++ b/assets/i18n/strings_be_BY.i18n.json @@ -12,7 +12,7 @@ "noButton": "Не", "warning": "Увага", "options": "Параметры", - "notice": "Апавяшчэнне", + "notice": "Заўвага", "noShowAgain": "Больш не паказваць", "add": "Дадаць", "remove": "Выдаліць", @@ -41,7 +41,7 @@ "downloadConsentDialogTitle": "Спампаваць неабходныя файлы?", "downloadConsentDialogText": "ReVanced Manager неабходна спампаваць неабходныя файлы для правільнай працы.", "downloadConsentDialogText2": "Гэта падключыць вас да ${url}.", - "checkUpdateDialogTitle": "Праверыць абнаўленні?", + "checkUpdateDialogTitle": "Праверыць наяўнасць абнаўленняў?", "checkUpdateDialogText": "Вы сапраўды хочаце правяраць абнаўленні ReVanced Manager аўтаматычна?", "notificationTitle": "Абнаўленне спампавана", "notificationText": "Націсніце, каб усталяваць абнаўленне", @@ -66,9 +66,9 @@ "patcherView": { "widgetTitle": "Праграма выпраўлення", "patchButton": "Выправіць", - "armv7WarningDialogText": "Выпраўленне на працэсарах з архітэктурай ARMv7 пакуль не падтрымліваецца і можа прывесці да збою. Працягнуць?", + "armv7WarningDialogText": "Выпраўленне для прылад на ARMv7 пакуль не падтрымліваецца і можа прывесці да збою. Працягнуць?", "removedPatchesWarningDialogText": "Наступныя выпраўленні былі выдалены з моманту іх апошняга выкарыстання.\n\n${patches}\n\nУсё роўна працягнуць?", - "requiredOptionDialogText": "Некаторыя выпраўленні павінны быць зададзены." + "requiredOptionDialogText": "Неабходна задаць некаторыя параметры выпраўленняў." }, "appSelectorCard": { "widgetTitle": "Выбраць праграму", @@ -117,7 +117,7 @@ "setRequiredOption": "Некаторыя выпраўленні патрабуюць зададзеных параметраў:\n\n${patches}\n\nЗадайце іх перад працягам." }, "patchOptionsView": { - "customValue": "Карыстальніцкае значэнне", + "customValue": "Уласнае значэнне", "resetOptionsTooltip": "Скінуць параметры выпраўлення", "viewTitle": "Параметры выпраўлення", "saveOptions": "Захаваць", @@ -140,8 +140,8 @@ }, "installerView": { "widgetTitle": "Устаноўшчык праграм", - "installType": "Выберыце тып усталявання", - "installTypeDescription": "Выберыце тып усталявання для працягу.", + "installType": "Выберыце тып устаноўкі", + "installTypeDescription": "Выберыце тып устаноўкі для працягу.", "installButton": "Усталяваць", "installRootType": "Падключыць", "installNonRootType": "Звычайны", diff --git a/assets/i18n/strings_bn_BD.i18n.json b/assets/i18n/strings_bn_BD.i18n.json index c72641126b..ef96542935 100755 --- a/assets/i18n/strings_bn_BD.i18n.json +++ b/assets/i18n/strings_bn_BD.i18n.json @@ -107,7 +107,9 @@ "newPatches": "নতুন প্যাচসমূহ", "patches": "প্যাচসমূহ", "doneButton": "সম্পন্ন হয়েছে", + "defaultChip": "পূর্ব-নির্ধারিত", "defaultTooltip": "সকল পূর্ব-নির্ধারিত প্যাচ নির্বাচন করুন", + "noneChip": "কোনটি নয়", "noneTooltip": "সকল প্যাচ অনির্বাচন করুন", "loadPatchesSelection": "নির্বাচিত প্যাচ লোড করুন", "noSavedPatches": "নির্বাচিত অ্যাপের জন্য কোন সংরক্ষিত প্যাচ নেই।\nবর্তমানে নির্বাচিত প্যাচ সংরক্ষণ করতে সম্পন্ন হয়েছে চাপুন।", @@ -133,11 +135,13 @@ "unsupportedDialogText": "এই প্যাচটি নির্বাচন করলে প্যাচিং ত্রুটিপূর্ণ হতে পারে।\n\nঅ্যাপ সংস্করণ: ${packageVersion}\nসমর্থিত সংস্করণ:\n${supportedVersions}", "unsupportedPatchVersion": "এই অ্যাপ সংস্করণের জন্য প্যাচ সমর্থিত নয়।", "unsupportedRequiredOption": "এই প্যাচটিতে একটি প্রয়োজনীয় অপশন রয়েছে যা এই অ্যাপটি সমর্থন করে না", + "patchesChangeWarningDialogText": "পূর্ব নির্ধারিত নির্বাচিত প্যাচ এবং অপশন ব্যবহার করার প্রস্তাব রাখে। এগুলো পরিবর্তন করার মাধ্যমে অনাকাঙ্খিত ইস্যু হতে পারে।\n\nপ্যাচ নির্বাচন পরিবর্তন করার পূর্বে আপনাকে অবশ্যই সেটিং থেকে \"প্যাচ নির্বাচন পরিবর্তন করার অনুমতি\" সচল করতে হবে।", "patchesChangeWarningDialogButton": "পূর্বনির্ধারিত নির্বাচন ব্যবহার করুন" }, "installerView": { "widgetTitle": "ইনস্টলার", "installType": "ইনস্টল করার ধরণ নির্বাচন করুন", + "installTypeDescription": "যে প্রক্রিয়ায় ইনস্টল করা এগিয়ে নিতে চান তা নির্বাচন করুন।", "installButton": "ইনস্টল করুন", "installRootType": "মাউন্ট", "installNonRootType": "সাধারণ", @@ -160,6 +164,7 @@ "debugSectionTitle": "ডিবাগিং", "advancedSectionTitle": "উন্নত", "exportSectionTitle": "আমদানি ও রপ্তানি", + "dataSectionTitle": "তথ্যের উৎস", "themeModeLabel": "অ্যাপের থীম", "systemThemeLabel": "সিস্টেম", "lightThemeLabel": "উজ্জ্বল", @@ -167,12 +172,19 @@ "dynamicThemeLabel": "ম্যাটেরিয়াল ইউ", "dynamicThemeHint": "আপনার ডিভাইসের লুকের কাছাকাছি অভিজ্ঞতা নিন", "languageLabel": "ভাষা", + "languageUpdated": "ভাষা হালনাগাদ করা হয়েছে", "englishOption": "ইংরেজি", + "sourcesLabel": "বিকল্প উৎস", + "sourcesLabelHint": "ReVanced প্যাচ ও ReVanced ইন্ট্রিগ্রেশনের জন্য বিকল্প উৎস কনফিগার করুন", "sourcesIntegrationsLabel": "ইন্ট্রিগেশনের উৎস", + "useAlternativeSources": "বিকল্প উৎস ব্যবহার করুন", + "useAlternativeSourcesHint": "ReVanced প্যাচ ও ReVanced ইন্ট্রিগ্রেশনের জন্য API এর পরিবর্তে বিকল্প উৎস ব্যবহার করুন", "sourcesResetDialogTitle": "পুনরায় সেট করুন", "sourcesResetDialogText": "আপনি কি নিশ্চিতভাবে আপনার উৎসগুলোকে পূর্বনির্ধারিত উৎসে ফিরিয়ে নিতে চান?", "apiURLResetDialogText": "আপনি কি নিশ্চিতভাবে আপনার API URL কে তার মূল ভ্যালুতে পুনরায় সেট করতে চান?", + "sourcesUpdateNote": "বি:দ্র: এটি স্বয়ংক্রিয়ভাবে বিকল্প উৎস থেকে ReVanced প্যাচ ও ReVanced ইন্ট্রিগ্রেশন ডাউনলোড করবে।\n\nএটি আপনাকে বিকল্প উৎসের সাথে সংযুক্ত করবে।", "apiURLLabel": "API URL", + "apiURLHint": "ReVanced Manager এর API URL কনফিগার করুন", "selectApiURL": "API URL", "orgPatchesLabel": "প্যাচ এর উদ্ভাবক", "sourcesPatchesLabel": "প্যাচ এর উৎস", @@ -187,6 +199,8 @@ "disablePatchesSelectionWarningText": "আপনি নির্বাচিত প্যাচ পরিবর্তনকে নিষ্ক্রিয় করতে যাচ্ছেন।\nপূর্বনির্ধারিত নির্বাচিত প্যাচসমূহ ফিরিয়ে আনা হবে।\n\nযেকোন ভাবে নিষ্ক্রিয় করতে চান?", "autoUpdatePatchesLabel": "প্যাচসমূহ স্বয়ংক্রিয়ভাবে আপডেট করুন", "autoUpdatePatchesHint": "প্যাচসমূহ স্বয়ংক্রিয়ভাবে সর্বশেষ সংস্করণে আপডেট হবে", + "showUpdateDialogLabel": "হালনাগাদ ডায়ালগ দেখান", + "showUpdateDialogHint": "যখন হালনাগাদ উপলব্ধ থাকবে তখন একটি ডায়ালগ দেখান", "universalPatchesLabel": "বৈশ্বিক প্যাচসমূহ দেখান", "universalPatchesHint": "সকল অ্যাপ এবং বৈশ্বিক প্যাচসমূহ দেখায় (অ্যাপ লিস্ট দেখানো একটু ধীর হতে পারে)", "versionCompatibilityCheckLabel": "সংস্করণ সামঞ্জস্যতা পরীক্ষা করা", @@ -257,7 +271,12 @@ "updateNotImplemented": "এই ফিচারটি এখনো কার্যকর করা হয়নি" }, "contributorsView": { - "widgetTitle": "অবদানকারীগণ" + "widgetTitle": "অবদানকারীগণ", + "patcherContributors": "ReVanced প্যাচার", + "patchesContributors": "ReVanced প্যাচসমূহ", + "integrationsContributors": "ReVanced ইন্ট্রিগ্রেশন", + "cliContributors": "ReVanced CLI", + "managerContributors": "ReVanced Manager" }, "installErrorDialog": { "mount_version_mismatch": "সংস্করণ মেলেনি", @@ -267,6 +286,12 @@ "install_failed_verification_failure": "যাচাইকরণ ব্যর্থ হয়েছে", "status_failure_invalid": "ইনস্টল সঠিক নয়", "install_failed_version_downgrade": "ডাউনগ্রেড সম্ভব নয়", - "status_failure_conflict": "ইনস্টল কনফ্লিক্ট হচ্ছে" + "status_failure_conflict": "ইনস্টল কনফ্লিক্ট হচ্ছে", + "status_failure_storage": "ইনস্টলেশন স্টোরেজ সমস্যা", + "status_failure_incompatible": "ইনস্টলেশন অনুপযুক্ত", + "status_failure_timeout": "ইনস্টলেশন সময় পার হয়েছে", + "status_unknown": "ইনস্টলেশন ব্যর্থ হয়েছে", + "mount_version_mismatch_description": "প্যাচ অ্যাপ ও ইনস্টলকৃত অ্যাপের সংস্করণ ভিন্ন হওয়ার কারণে ইনস্টলেশন ব্যর্থ হয়েছে।\n\nআপনি যে সংস্করণটি মাউন্ট করতে চাচ্ছেন তা আগে ইনস্টল করুন অতঃপর আবার চেষ্টা করুন।", + "mount_no_root_description": "রুট প্রবেশাধিকারের অনুমতি না দেয়ার কারণে ইনস্টলেশন ব্যর্থ হয়েছে।\n\nReVanced Manager এর রুট প্রবেশাধিকার অনুমতি দিন এবং আবার চেষ্টা করুন।" } } \ No newline at end of file diff --git a/assets/i18n/strings_el_GR.i18n.json b/assets/i18n/strings_el_GR.i18n.json index a0f7c645f8..f9b5793975 100755 --- a/assets/i18n/strings_el_GR.i18n.json +++ b/assets/i18n/strings_el_GR.i18n.json @@ -16,7 +16,7 @@ "noShowAgain": "Να μην ξαναεμφανιστεί", "add": "Προσθήκη", "remove": "Αφαίρεση", - "showChangelogButton": "Εμφάνιση αρχείου καταγραφής αλλαγών", + "showChangelogButton": "Εμφάνιση αλλαγών", "showUpdateButton": "Εμφάνιση ενημέρωσης", "navigationView": { "dashboardTab": "Πίνακας Ελέγχου", @@ -178,11 +178,11 @@ "sourcesLabelHint": "Ρυθμίστε τις εναλλακτικές πηγές για τις τροποποιήσεις ReVanced και τις ενσωματώσεις ReVanced", "sourcesIntegrationsLabel": "Πηγή ενσωματώσεων", "useAlternativeSources": "Χρήση εναλλακτικών πηγών", - "useAlternativeSourcesHint": "Χρήση εναλλακτικών πηγών για των τροποποιήσεων ReVanced και των ενσωματώσεων ReVanced αντί για το API", + "useAlternativeSourcesHint": "Χρήση εναλλακτικών πηγών για τις τροποποιήσεις και τις ενσωματώσεις ReVanced αντί του API", "sourcesResetDialogTitle": "Επαναφορά", "sourcesResetDialogText": "Είστε βέβαιοι ότι θέλετε να επαναφέρετε τις πηγές σας στις προεπιλεγμένες τιμές τους;", "apiURLResetDialogText": "Είστε βέβαιοι ότι θέλετε να επαναφέρετε την API URL σας στην προεπιλεγμένη τιμή της;", - "sourcesUpdateNote": "Σημείωση: Αυτό θα κάνει αυτόματη λήψη των τροποποιήσεων ReVanced και των ενσωματώσεων ReVanced από τις εναλλακτικές πηγές.\n\nΑυτό θα σας συνδέσει με την εναλλακτική πηγή.", + "sourcesUpdateNote": "Σημείωση: Θα γίνεται αυτόματη λήψη των τροποποιήσεων και των ενσωματώσεων ReVanced από τις εναλλακτικές πηγές.\n\nΟπότε θα συνδέεστε με τις εναλλακτικές πηγές.", "apiURLLabel": "API URL", "apiURLHint": "Ρύθμιση διεύθυνσης URL του API του ReVanced Manager", "selectApiURL": "API URL", diff --git a/assets/i18n/strings_es_AR.i18n.json b/assets/i18n/strings_es_AR.i18n.json index c234566de8..da67d43742 100755 --- a/assets/i18n/strings_es_AR.i18n.json +++ b/assets/i18n/strings_es_AR.i18n.json @@ -1,5 +1,5 @@ { - "okButton": "Está bien", + "okButton": "Aceptar", "cancelButton": "Cancelar", "dismissButton": "Descartar", "quitButton": "Salir", @@ -8,35 +8,35 @@ "disabledLabel": "Desactivado", "installed": "Instalada: ${version}", "suggested": "Sugerida: ${version}", - "yesButton": "Si", + "yesButton": "Sí", "noButton": "No", - "warning": "Atención", + "warning": "Advertencia", "options": "Opciones", "notice": "Aviso", - "noShowAgain": "No mostrar de nuevo", + "noShowAgain": "No volver a mostrar", "add": "Agregar", "remove": "Eliminar", - "showChangelogButton": "Mostrar historial de cambios", - "showUpdateButton": "Mostrar actualización", + "showChangelogButton": "Notas de la versión", + "showUpdateButton": "Actualizar", "navigationView": { - "dashboardTab": "Panel", + "dashboardTab": "Panel de control", "patcherTab": "Parcheador", "settingsTab": "Configuración" }, "homeView": { - "refreshSuccess": "Se ha refrescado satisfactoriamente", - "widgetTitle": "Panel", + "refreshSuccess": "Refrescado satisfactoriamente", + "widgetTitle": "Panel de control", "updatesSubtitle": "Actualizaciones", "patchedSubtitle": "Aplicaciones parcheadas", "changeLaterSubtitle": "Podés cambiar esto en los ajustes más tarde.", "noUpdates": "No hay actualizaciones disponibles", "WIP": "En progreso...", - "noInstallations": "No hay aplicaciones parcheadas instaladas", - "installUpdate": "¿Continuar instalando la actualización?", + "noInstallations": "Aún no parcheaste ninguna aplicación", + "installUpdate": "¿Instalar actualización?", "updateSheetTitle": "Actualizar ReVanced Manager", "updateDialogTitle": "Nueva actualización disponible", "updatePatchesSheetTitle": "Actualizar ReVanced Patches", - "updateChangelogTitle": "Registro de cambios", + "updateChangelogTitle": "Notas de la versión", "updateDialogText": "Hay una nueva actualización disponible para ${file}.\n\nLa versión instalada actualmente es la ${version}.", "downloadConsentDialogTitle": "¿Descargar archivos necesarios?", "downloadConsentDialogText": "ReVanced Manager necesita descargar los archivos necesarios para funcionar correctamente.", @@ -50,11 +50,11 @@ "installingMessage": "Instalando actualización...", "errorDownloadMessage": "No se pudo descargar la actualización", "errorInstallMessage": "No se pudo instalar la actualización", - "noConnection": "No hay conexión a Internet", + "noConnection": "No tenés conexión a Internet", "updatesDisabled": "Por ahora no podés actualizar una app parcheada. Parcheala de nuevo." }, "applicationItem": { - "infoButton": "Información" + "infoButton": "Info. aplicación" }, "latestCommitCard": { "loadingLabel": "Cargando...", @@ -66,14 +66,14 @@ "patcherView": { "widgetTitle": "Parcheador", "patchButton": "Parchear", - "armv7WarningDialogText": "El parcheo en dispositivos ARMv7 aún no está soportado y podría fallar. ¿Querés continuar igual?", + "armv7WarningDialogText": "El parcheo en dispositivos ARMv7 aún no está soportado de forma oficial y podría fallar. ¿Querés continuar igual?", "removedPatchesWarningDialogText": "Los siguientes parches fueron eliminados desde la última vez que los usaste.\n\n${patches}\n\n¿Continuar de todas formas?", "requiredOptionDialogText": "Algunas opciones de parche tienen que ser establecidas." }, "appSelectorCard": { - "widgetTitle": "Seleccionar una app", - "widgetTitleSelected": "App seleccionada", - "widgetSubtitle": "Ninguna app seleccionada", + "widgetTitle": "Seleccionar una aplicación", + "widgetTitleSelected": "Aplicación seleccionada", + "widgetSubtitle": "Ninguna aplicación seleccionada", "noAppsLabel": "No se encontró ninguna aplicación", "currentVersion": "Actual", "suggestedVersion": "Sugerida", @@ -82,68 +82,69 @@ "patchSelectorCard": { "widgetTitle": "Seleccionar parches", "widgetTitleSelected": "Parches seleccionados", - "widgetSubtitle": "Seleccioná una aplicación primero", - "widgetEmptySubtitle": "No hay ningún parche seleccionado" + "widgetSubtitle": "Ninguna aplicación seleccionada", + "widgetEmptySubtitle": "Ningún parche seleccionado" }, "socialMediaCard": { - "widgetTitle": "Redes sociales", + "widgetTitle": "Nuestras redes sociales", "widgetSubtitle": "¡Estamos en línea!" }, "appSelectorView": { - "viewTitle": "Seleccionar una app", - "searchBarHint": "Buscar app", - "storageButton": "Almacenamiento", - "selectFromStorageButton": "Seleccionar desde el almacenamiento", - "errorMessage": "No se puede usar la aplicación seleccionada", - "downloadToast": "La función de descarga aún no está disponible", + "viewTitle": "Seleccionar una aplicación", + "searchBarHint": "Buscar...", + "storageButton": "Seleccionar desde\\nel almacenamiento", + "selectFromStorageButton": "Seleccionar desde\\nel almacenamiento", + "errorMessage": "El archivo que seleccionaste no es una aplicación o está dañado", + "downloadToast": "La descarga de aplicaciones aún no está disponible", "requireSuggestedAppVersionDialogText": "La versión de la app que seleccionaste no coincide con la versión sugerida, lo que puede causar errores inesperados. Por favor, usá la versión sugerida.\n\nVersión seleccionada: ${selected}\nVersión sugerida: ${suggested}\n\nPara continuar de todas formas, desactivá \"Requerir versión sugerida de la app\" en los ajustes.", - "featureNotAvailable": "Función no implementada" + "featureNotAvailable": "Función no implementada", + "featureNotAvailableText": "Esta aplicación está instalada en formato AAB (Android App Bundle) y solo se puede parchear e instalar de forma fiable mediante el montaje con acceso root. Sin embargo, podés parchear e instalar una aplicación en formato APK seleccionándola desde el almacenamiento." }, "patchesSelectorView": { "viewTitle": "Seleccionar parches", - "searchBarHint": "Buscar parches", + "searchBarHint": "Buscar...", "universalPatches": "Parches universales", - "newPatches": "Nuevos parches", + "newPatches": "Parches nuevos", "patches": "Parches", - "doneButton": "Listo", + "doneButton": "Guardar selección", "defaultChip": "Por defecto", - "defaultTooltip": "Seleccioná todos los parches por defecto", + "defaultTooltip": "Selecciona los parches por defecto", "noneChip": "Ninguno", - "noneTooltip": "Deseleccionar todos los parches", + "noneTooltip": "Deselecciona todos los parches", "loadPatchesSelection": "Cargar selección de parches", - "noSavedPatches": "No se guardó ninguna selección de parches para la aplicación seleccionada.\nApretá Listo para guardar la selección actual.", - "noPatchesFound": "No se encontraron parches para la app seleccionada", - "setRequiredOption": "Algunos parches requieren establecer algunas opciones:\n\n${patches}\n\nPor favor, configúrelas antes de continuar." + "noSavedPatches": "No se guardó ninguna selección de parches para la aplicación seleccionada.\nApretá 'Guardar selección' para guardar la selección actual.", + "noPatchesFound": "No se encontraron parches para la aplicación seleccionada", + "setRequiredOption": "Los siguientes parches requieren su propia configuración:\\n\\n${patches}\\n\\nPor favor, configuralos antes de continuar." }, "patchOptionsView": { "customValue": "Valor personalizado", - "resetOptionsTooltip": "Restablecer las opciones de parche", - "viewTitle": "Opciones de parche", - "saveOptions": "Guardar", - "addOptions": "Agregar opciones", + "resetOptionsTooltip": "Restablecer a los valores por defecto", + "viewTitle": "Configuración\\ndel parche", + "saveOptions": "Guardar configuración", + "addOptions": "Agregar configuración", "deselectPatch": "Deseleccionar parche", "tooltip": "Más opciones de entrada", - "selectFilePath": "Selecciona la ruta del archivo", - "selectFolder": "Selecciona la carpeta", + "selectFilePath": "Seleccionar ruta del archivo", + "selectFolder": "Seleccionar carpeta", "selectOption": "Seleccionar opción", "requiredOption": "Esta opción es requerida", "unsupportedOption": "Esta opción no es compatible", - "requiredOptionNull": "Hay que configurar las siguientes opciones:\n\n${options}" + "requiredOptionNull": "Tenés que configurar las siguientes opciones:\\n\\n${options}" }, "patchItem": { "unsupportedDialogText": "Seleccionar este parche puede provocar errores en el parcheo.\n\nVersión de la app: ${packageVersion}\nVersiones soportadas:\n${supportedVersions}", - "unsupportedPatchVersion": "El parche no es compatible con esta versión de la app.", - "unsupportedRequiredOption": "Este parche contiene una opción necesaria que no es compatible con esta aplicación", - "patchesChangeWarningDialogText": "Se recomienda utilizar la selección y opciones de parches por defecto. Cambiarlas puede causar problemas inesperados.\n\nTendrás que activar \"Permitir cambiar la selección de parches\" en los ajustes antes de cambiar cualquier selección de parche.", + "unsupportedPatchVersion": "El parche no es compatible con esta versión de la aplicación.", + "unsupportedRequiredOption": "El parche contiene una opción necesaria que no es compatible con esta aplicación", + "patchesChangeWarningDialogText": "Te recomendamos que utilices la selección y opciones de parches por defecto; cambiarlas puede causar problemas inesperados.\\n\\nTendrás que activar \\\"Permitir cambiar la selección de parches\\\" en la configuración antes de poder hacerlo.", "patchesChangeWarningDialogButton": "Utilizar la opción por defecto" }, "installerView": { "widgetTitle": "Instalador", - "installType": "Seleccione el tipo de instalación", + "installType": "Tipo de instalación", "installTypeDescription": "Seleccioná el tipo de instalación para continuar.", "installButton": "Instalar", - "installRootType": "Montar", - "installNonRootType": "Normal", + "installRootType": "Instalación por montaje (requiere root)", + "installNonRootType": "Instalación normal", "warning": "Recordá desactivar las actualizaciones automáticas de la app parcheada para evitar problemas inesperados.", "pressBackAgain": "Vuelve a presionar atrás para cancelar", "openButton": "Abrir", @@ -152,8 +153,8 @@ "notificationText": "Apretá para volver al instalador", "exportApkButtonTooltip": "Exportar APK parcheado", "exportLogButtonTooltip": "Exportar registro", - "screenshotDetected": "Se ha detectado una captura de pantalla. Si está intentando compartir el registro, por favor comparta una copia de texto en su lugar.\n\n¿Copiar registro al portapapeles?", - "copiedToClipboard": "Registro copiado en el portapapeles", + "screenshotDetected": "Detectamos que hiciste una captura de pantalla. Si estás intentando compartir el registro, por favor compartilo en formato de texto.\\n\\n¿Copiar registro al portapapeles?", + "copiedToClipboard": "Registro copiado al portapapeles", "noExit": "El instalador aún se está ejecutando, no te podés salir..." }, "settingsView": { @@ -163,6 +164,7 @@ "debugSectionTitle": "Depurando", "advancedSectionTitle": "Avanzado", "exportSectionTitle": "Importación y exportación", + "dataSectionTitle": "Fuentes de datos", "themeModeLabel": "Tema de la app", "systemThemeLabel": "Sistema", "lightThemeLabel": "Luz", @@ -172,11 +174,17 @@ "languageLabel": "Idioma", "languageUpdated": "Idioma actualizado", "englishOption": "Inglés", + "sourcesLabel": "Fuentes alternativas", + "sourcesLabelHint": "Configurá las fuentes alternativas para ReVanced Patches y ReVanced Integrations", "sourcesIntegrationsLabel": "Fuente de las integraciones", + "useAlternativeSources": "Usar fuentes alternativas", + "useAlternativeSourcesHint": "Usá fuentes alternativas para ReVanced Patches y ReVanced Integrations en lugar de la API", "sourcesResetDialogTitle": "Resetear", "sourcesResetDialogText": "¿Estás seguro de que quieres restablecer las fuentes a sus valores por defecto?", "apiURLResetDialogText": "¿Estás seguro de que quieres restablecer la URL de tu API a su valor por defecto?", + "sourcesUpdateNote": "Nota: Esto descargará de forma automática ReVanced Patches y ReVanced Integrations desde las fuentes alternativas.\n\nEsto te va a conectar a la fuente alternativa.", "apiURLLabel": "URL de la API", + "apiURLHint": "Configurá la URL de la API del ReVanced Manager", "selectApiURL": "URL de la API", "orgPatchesLabel": "Organización de los parches", "sourcesPatchesLabel": "Fuente de los parches", @@ -186,14 +194,19 @@ "logsLabel": "Compartir registros", "logsHint": "Compartir los registros de ReVanced Manager", "enablePatchesSelectionLabel": "Permitir cambiar la selección de parches", + "enablePatchesSelectionHint": "No impedir la selección o deselección de parches", "enablePatchesSelectionWarningText": "Cambiar la selección de parches puede causar problemas inesperados.\n\n¿Habilitar de todos modos?", "disablePatchesSelectionWarningText": "Está a punto de desactivar el cambio de la selección de parches.\nSe restablecerá la selección de parches por defecto.\n\n¿Desactivar de todos modos?", "autoUpdatePatchesLabel": "Actualizar parches automáticamente", "autoUpdatePatchesHint": "Actualice automáticamente los parches a la última versión", + "showUpdateDialogLabel": "Mostrar diálogo de actualización", + "showUpdateDialogHint": "Muestra un diálogo cuando haya una nueva actualización disponible", "universalPatchesLabel": "Mostrar parches universales", "universalPatchesHint": "Mostrar todas las aplicaciones y parches universales (puede ralentizar la lista de aplicaciones)", "versionCompatibilityCheckLabel": "Comprobación de compatibilidad de versiones", + "versionCompatibilityCheckHint": "Impedir la selección de parches que no sean compatibles con la versión de la aplicación seleccionada", "requireSuggestedAppVersionLabel": "Requiere la versión de aplicación sugerida", + "requireSuggestedAppVersionHint": "Impedir seleccionar una aplicación cuya versión no sea la sugerida", "requireSuggestedAppVersionDialogText": "Seleccionar una aplicación que no es la versión sugerida puede causar problemas inesperados.\n\n¿Desea continuar de todos modos?", "aboutLabel": "Acerca de", "snackbarMessage": "Copiado al portapapeles", @@ -242,10 +255,15 @@ "widgetTitle": "Información de la app", "openButton": "Abrir", "uninstallButton": "Desinstalar", + "unmountButton": "Desmontar", "rootDialogTitle": "Error", + "unmountDialogText": "¿Seguro que querés desmontar esta aplicación?", + "uninstallDialogText": "¿Seguro que querés desinstalar esta aplicación?", "rootDialogText": "La app se instaló con permisos de superusuario, pero ReVanced Manager no los tiene.\nPor favor, concedele permisos de superusuario.", "packageNameLabel": "Nombre del paquete", "installTypeLabel": "Tipo de instalación", + "mountTypeLabel": "Instalación por montaje (requiere root)", + "regularTypeLabel": "Instalación normal", "patchedDateLabel": "Fecha de parcheo", "appliedPatchesLabel": "Parches aplicados", "patchedDateHint": "${date} a las ${time}", @@ -253,7 +271,37 @@ "updateNotImplemented": "Esta función no se implementó aún" }, "contributorsView": { - "widgetTitle": "Contribuidores" + "widgetTitle": "Contribuidores", + "patcherContributors": "ReVanced Patcher", + "patchesContributors": "ReVanced Patches", + "integrationsContributors": "ReVanced Integrations", + "cliContributors": "ReVanced CLI", + "managerContributors": "ReVanced Manager" }, - "installErrorDialog": {} + "installErrorDialog": { + "mount_version_mismatch": "La versión no coincide", + "mount_no_root": "Sin acceso root", + "mount_missing_installation": "Instalación no encontrada", + "status_failure_blocked": "Instalación bloqueada", + "install_failed_verification_failure": "Verificación fallida", + "status_failure_invalid": "Instalación inválida", + "install_failed_version_downgrade": "No se puede degradar", + "status_failure_conflict": "Conflicto de instalación", + "status_failure_storage": "Problema de almacenamiento en la instalación", + "status_failure_incompatible": "Instalación incompatible", + "status_failure_timeout": "Tiempo de instalación agotado", + "status_unknown": "Instalación fallida", + "mount_version_mismatch_description": "La instalación fallo debido a que la aplicación instalada es una versión diferente a la parcheada.\n\nInstalá la versión de la aplicación que intentás montar y volvé a intentarlo.", + "mount_no_root_description": "La instalación falló debido a que no concediste acceso root.\n\nConcedele acceso root a ReVanced Manager y volvé a intentarlo.", + "mount_missing_installation_description": "La instalación falló debido a que no instalaste la aplicación original en el dispositivo para poder montar la aplicación modificada sobre ella.\n\nInstalá la aplicación original antes de montar y volvé a intentarlo.", + "status_failure_timeout_description": "La instalación tardó demasiado tiempo en terminar.\n\n¿Querés volver a intentarlo?", + "status_failure_storage_description": "La instalación falló debido a falta de almacenamiento.\n\nLiberá algo de espacio y volvé a intentarlo.", + "status_failure_invalid_description": "La instalación falló debido a que la aplicación parcheada es inválida.\n\n¿Querés desinstalar la aplicación y volver a intentarlo?", + "status_failure_incompatible_description": "La aplicación es incompatible con este dispositivo.\n\nContactá con el desarrollador de la aplicación y solicitá asistencia.", + "status_failure_conflict_description": "Una instalación existente de la aplicación impidió la instalación.\n\n¿Querés desinstalar la aplicación instalada y volver a intentarlo?", + "status_failure_blocked_description": "${packageName} bloqueó la instalación.\n\nAjustá la configuración de seguridad y volvé a intentarlo.", + "install_failed_verification_failure_description": "La instalación falló debido a un problema de verificación.\n\nAjustá la configuración de seguridad y volvé a intentarlo.", + "install_failed_version_downgrade_description": "La instalación falló debido a que la aplicación parcheada es una versión inferior a la instalada.\n\n¿Querés desinstalar la aplicación y volver a intentarlo?", + "status_unknown_description": "La instalación falló debido a una razón desconocida. Por favor, volvé a intentarlo." + } } \ No newline at end of file diff --git a/assets/i18n/strings_es_MX.i18n.json b/assets/i18n/strings_es_MX.i18n.json index a73a5dfe0e..283abf9542 100755 --- a/assets/i18n/strings_es_MX.i18n.json +++ b/assets/i18n/strings_es_MX.i18n.json @@ -1,31 +1,51 @@ { - "okButton": "ACEPTAR", + "okButton": "Aceptar", "cancelButton": "Cancelar", - "quitButton": "Quit", + "dismissButton": "Descartar", + "quitButton": "Salir", "updateButton": "Actualizar", - "installed": "Instalado: ${version}", - "suggested": "Sugerido: ${version}", + "enabledLabel": "Activado", + "disabledLabel": "Desactivado", + "installed": "Instalada: ${version}", + "suggested": "Sugerida: ${version}", "yesButton": "Sí", "noButton": "No", "warning": "Advertencia", "options": "Opciones", - "notice": "Notice", + "notice": "Aviso", "noShowAgain": "No volver a mostrar", "add": "Añadir", + "remove": "Quitar", + "showChangelogButton": "Registro de cambios", + "showUpdateButton": "Actualizar", "navigationView": { "dashboardTab": "Panel de control", - "patcherTab": "Aplicador de parches", - "settingsTab": "Ajustes" + "patcherTab": "Parcheador", + "settingsTab": "Configuración" }, "homeView": { - "refreshSuccess": "Actualizado con éxito", + "refreshSuccess": "Refrescado satisfactoriamente", "widgetTitle": "Panel de control", "updatesSubtitle": "Actualizaciones", "patchedSubtitle": "Aplicaciones parcheadas", + "changeLaterSubtitle": "Puedes cambiar esto en la configuración más tarde.", + "noUpdates": "No hay actualizaciones disponibles", + "WIP": "Desarrollo en progreso...", "noInstallations": "No hay aplicaciones parcheadas instaladas", "installUpdate": "¿Continuar actualizando la aplicación?", + "updateSheetTitle": "Actualizar ReVanced Manager", + "updateDialogTitle": "Nueva actualización disponible", + "updatePatchesSheetTitle": "Actualizar ReVanced Patches", "updateChangelogTitle": "Registro de cambios", + "downloadConsentDialogTitle": "¿Descargar archivos necesarios?", + "downloadConsentDialogText": "ReVanced Manager necesita descargar los archivos necesarios para funcionar correctamente.", + "downloadConsentDialogText2": "Esto te conectará a ${url}.", + "checkUpdateDialogTitle": "Comprobar actualizaciones", + "checkUpdateDialogText": "¿Quieres que ReVanced Manager compruebe si hay actualizaciones automáticamente?", + "notificationTitle": "Actualización descargada", + "notificationText": "Toca para instalar la actualización", "downloadingMessage": "Descargando actualización...", + "downloadedMessage": "Actualización descargada", "installingMessage": "Instalando actualización...", "errorDownloadMessage": "No se pudo descargar la actualización", "errorInstallMessage": "Error al instalar la actualización", @@ -37,7 +57,8 @@ }, "latestCommitCard": { "loadingLabel": "Cargando...", - "timeagoLabel": "Hace ${time}" + "timeagoLabel": "Hace ${time}", + "patcherLabel": "Parcheador: " }, "patcherView": { "widgetTitle": "Parcheador", diff --git a/assets/i18n/strings_hi_IN.i18n.json b/assets/i18n/strings_hi_IN.i18n.json index ddfbdb1ad5..4016e97c61 100755 --- a/assets/i18n/strings_hi_IN.i18n.json +++ b/assets/i18n/strings_hi_IN.i18n.json @@ -1,8 +1,10 @@ { "okButton": "ठीक है", "cancelButton": "रद्द करें", + "dismissButton": "बंद करें", "quitButton": "छोड़ें", "updateButton": "अपडेट करें", + "enabledLabel": "सक्रिय", "installed": "इंस्टॉल्ड: ${version}", "suggested": "सुझाया गया: ${version}", "yesButton": "हाँ", @@ -13,6 +15,7 @@ "noShowAgain": "इसे पुनः न दिखाएँ", "add": "ऐड करें", "remove": "हटाएं", + "showChangelogButton": "बदलाव दिखाएं", "navigationView": { "dashboardTab": "नियंत्रण-पट्ट", "patcherTab": "पैचर", diff --git a/assets/i18n/strings_hu_HU.i18n.json b/assets/i18n/strings_hu_HU.i18n.json index 32199824ef..c9fffafe4e 100755 --- a/assets/i18n/strings_hu_HU.i18n.json +++ b/assets/i18n/strings_hu_HU.i18n.json @@ -66,7 +66,7 @@ "patcherView": { "widgetTitle": "Patchelő", "patchButton": "Patch", - "armv7WarningDialogText": "A javítás az ARMv7 eszközökön még nem támogatott, és sikertelen lehet. Folytatja?", + "armv7WarningDialogText": "A patchelés az ARMv7 eszközökön még nem támogatott, és sikertelen lehet. Folytatja?", "removedPatchesWarningDialogText": "A következő patcheket a legutóbbi használatuk óta eltávolították.\n\n${patches}\n\nMindenképpen folytatja?", "requiredOptionDialogText": "Néhány patch lehetőséget be kell állítani." }, @@ -98,7 +98,7 @@ "downloadToast": "A letöltés funkció még nem érhető el", "requireSuggestedAppVersionDialogText": "Az alkalmazás kiválasztott verziója nem egyezik a javasolt verzióval. Kérjük, válassza ki a javasolt verziónak megfelelő alkalmazást.\n\nKiválasztott verzió: ${selected}\nJavasolt verzió: ${suggested}\n\nA folytatáshoz kapcsolja ki a „Javasolt alkalmazásverzió megkövetelése” lehetőséget a beállításokban.", "featureNotAvailable": "A funkció nincs megvalósítva", - "featureNotAvailableText": "Ez az alkalmazás egy osztott APK, és csak root jogosultságokkal javítható és telepíthető megbízhatóan. A teljes APK-t azonban javíthatja és telepítheti, ha kiválasztja azt a tárhelyről." + "featureNotAvailableText": "Ez az alkalmazás egy osztott APK, és csak root jogosultságokkal patchelhető és telepíthető megbízhatóan. A teljes APK-t azonban patchelheti és telepítheti, ha kiválasztja azt a tárhelyről." }, "patchesSelectorView": { "viewTitle": "Patchek kiválasztása", @@ -110,7 +110,7 @@ "defaultChip": "Alapértelmezett", "defaultTooltip": "Összes alapértelmezett patch kiválasztása", "noneChip": "Semmi", - "noneTooltip": "Összes javítás kijelölésének törlése", + "noneTooltip": "Összes patch kijelölésének törlése", "loadPatchesSelection": "Patch kiválasztás betöltése", "noSavedPatches": "Nincs mentett patch a kiválasztott alkalmazáshoz.\nNyomja meg a Kész gombot az aktuális kijelölés mentéséhez.", "noPatchesFound": "A kiválasztott alkalmazáshoz nem találhatóak patchek", @@ -145,7 +145,7 @@ "installButton": "Telepítés", "installRootType": "Felcsatolás", "installNonRootType": "Hagyományos", - "warning": "A váratlan problémák elkerülése érdekében tiltsa le a javított alkalmazás automatikus frissítéseit.", + "warning": "A váratlan problémák elkerülése érdekében tiltsa le a patchelt alkalmazás automatikus frissítéseit.", "pressBackAgain": "A visszavonáshoz nyomja meg ismét a vissza gombot", "openButton": "Megnyitás", "shareButton": "Fájl megosztása", @@ -194,9 +194,9 @@ "logsLabel": "Naplók megosztása", "logsHint": "ReVanced Manager naplók megosztása", "enablePatchesSelectionLabel": "Engedélyezze a patch kiválasztásának módosítását", - "enablePatchesSelectionHint": "Ne akadályozza meg a javítások kiválasztását vagy megszüntetését", + "enablePatchesSelectionHint": "Ne akadályozza meg a patchek kiválasztását vagy megszüntetését", "enablePatchesSelectionWarningText": "A patchek kiválasztásának megváltoztatása váratlan problémákat okozhat.\n\nMindenképpen engedélyezi?", - "disablePatchesSelectionWarningText": "Arra készül, hogy letiltja a patchek kiválasztásának módosítását.\nA javítások alapértelmezett kiválasztása visszaáll.\n\nMindenképpen letiltja?", + "disablePatchesSelectionWarningText": "Arra készül, hogy letiltja a patchek kiválasztásának módosítását.\nA patchek alapértelmezett kiválasztása visszaáll.\n\nMindenképpen letiltja?", "autoUpdatePatchesLabel": "Patchek automatikus frissítése", "autoUpdatePatchesHint": "A patchek automatikus frissítése a legújabb verzióra", "showUpdateDialogLabel": "Frissítési panel megjelenítése", @@ -204,7 +204,7 @@ "universalPatchesLabel": "Univerzális patchek megjelenítése", "universalPatchesHint": "Az összes alkalmazás és univerzális patch megjelenítése (lassíthatja az alkalmazáslistát)", "versionCompatibilityCheckLabel": "Verziókompatibilitás ellenőrzése", - "versionCompatibilityCheckHint": "Akadályozza meg a kiválasztott alkalmazásverzióval nem kompatibilis javítások kiválasztását", + "versionCompatibilityCheckHint": "Akadályozza meg a kiválasztott alkalmazásverzióval nem kompatibilis patchek kiválasztását", "requireSuggestedAppVersionLabel": "Javasolt alkalmazás verzió kötelező", "requireSuggestedAppVersionHint": "Akadályozza meg, hogy olyan alkalmazást válasszon ki, amelynek verziója nem a javasolt", "requireSuggestedAppVersionDialogText": "Egy nem a javasolt verziótól eltérő alkalmazás kiválasztása váratlan problémákat okozhat.\n\nMindenképpen folytatni szeretné?", @@ -237,7 +237,7 @@ "regenerateKeystoreLabel": "Kulcstár újragenerálása", "regenerateKeystoreHint": "Újragenerálja az alkalmazások aláírásához használt kulcstárolót", "regenerateKeystoreDialogTitle": "Kulcstár újragenerálása?", - "regenerateKeystoreDialogText": "A régi kulcstárolóval aláírt javított alkalmazásokat a továbbiakban nem lehet majd frissíteni.", + "regenerateKeystoreDialogText": "A régi kulcstárolóval aláírt patchelt alkalmazásokat a továbbiakban nem lehet majd frissíteni.", "regeneratedKeystore": "A kulcstár újra létrehozva", "exportKeystoreLabel": "Kulcstároló exportálása", "exportKeystoreHint": "Exportálja az alkalmazások aláírásához használt kulcstárolót", @@ -291,9 +291,9 @@ "status_failure_incompatible": "A telepítés nem kompatibilis", "status_failure_timeout": "Telepítési időtúllépés", "status_unknown": "A telepítés sikertelen", - "mount_version_mismatch_description": "A telepítés meghiúsult, mert a telepített alkalmazás verziója eltér a javított alkalmazástól.\n\nTelepítse a csatlakoztatott alkalmazás verzióját, és próbálja újra.", + "mount_version_mismatch_description": "A telepítés meghiúsult, mert a telepített alkalmazás verziója eltér a patchelt alkalmazástól.\n\nTelepítse a csatlakoztatott alkalmazás verzióját, és próbálja újra.", "mount_no_root_description": "A telepítés meghiúsult, mert nem biztosított a root hozzáférés.\n\nAdjon root hozzáférést a ReVanced Manager számára, és próbálja újra.", - "mount_missing_installation_description": "A telepítés meghiúsult, mert a kijavítatlan alkalmazás nincs telepítve erre az eszközre ahhoz, hogy rácsatlakozhasson.\n\nFelszerelés előtt telepítse a nem javított alkalmazást, és próbálkozzon újra.", + "mount_missing_installation_description": "A telepítés sikertelen volt, mivel a nem patchelt alkalmazás nem volt telepítve az eszközre, hogy csatlakoztatni lehessen.\n\nTelepítse a nem patchelt alkalmazást a csatlakoztatás előtt, és próbálja meg újra.", "status_failure_timeout_description": "A telepítés túl sokáig tartott.\n\nSzeretné újra megpróbálni?", "status_failure_storage_description": "A telepítés meghiúsult a nem elegendő tárhely miatt.\n\nSzabadítson fel helyet, és próbálja újra.", "status_failure_invalid_description": "A telepítés meghiúsult, mert a patchelt alkalmazás érvénytelen.\n\nTávolítsa el az alkalmazást, és próbálja újra?", diff --git a/assets/i18n/strings_id_ID.i18n.json b/assets/i18n/strings_id_ID.i18n.json index afa907611b..f33696f219 100755 --- a/assets/i18n/strings_id_ID.i18n.json +++ b/assets/i18n/strings_id_ID.i18n.json @@ -3,12 +3,12 @@ "cancelButton": "Batal", "dismissButton": "Abaikan", "quitButton": "Keluar", - "updateButton": "Pembaruan", + "updateButton": "Memperbarui", "enabledLabel": "Aktif", "disabledLabel": "Tidak Aktif", "installed": "Terpasang: ${version}", "suggested": "Disarankan: ${version}", - "yesButton": "Ya", + "yesButton": "Iya", "noButton": "Tidak", "warning": "Peringatan", "options": "Pengaturan", @@ -27,7 +27,7 @@ "refreshSuccess": "Berhasil Memuat Ulang", "widgetTitle": "Dasbor", "updatesSubtitle": "Pembaruan", - "patchedSubtitle": "Aplikasi tertambal", + "patchedSubtitle": "Aplikasi yang dimodifikasi", "changeLaterSubtitle": "Anda dapat mengubahnya di pengaturan nanti.", "noUpdates": "Tidak ada pembaruan", "WIP": "Sedang dikerjakan...", @@ -60,7 +60,7 @@ "loadingLabel": "Memuat...", "timeagoLabel": "${time} yang lalu", "patcherLabel": "Penambal: ", - "managerLabel": "Manager: ", + "managerLabel": "Pengelola: ", "updateButton": "Perbarui Manager" }, "patcherView": { @@ -200,23 +200,51 @@ "autoUpdatePatchesLabel": "Otomatis perbarui tambalan", "autoUpdatePatchesHint": "Otomatis perbarui tambalan ke versi terkini", "showUpdateDialogLabel": "Tampilkan dialog pembaruan", + "showUpdateDialogHint": "Tampilkan dialog ketika pembaruan tersedia", "universalPatchesLabel": "Tampilkan tambalan universal", + "universalPatchesHint": "Menampilkan semua aplikasi dan tambalan universal (dapat memperlambat daftar aplikasi)", "versionCompatibilityCheckLabel": "Periksa versi kompatibilitas", + "versionCompatibilityCheckHint": "Cegah pemilihan tambalan yang tidak kompatibel dengan versi aplikasi yang dipilih", + "requireSuggestedAppVersionLabel": "Memerlukan versi aplikasi yang disarankan", + "requireSuggestedAppVersionHint": "Cegah memilih versi aplikasi yang tidak disarankan", + "requireSuggestedAppVersionDialogText": "Memilih versi aplikasi yang tidak disarankan dapat menyebabkan masalah yang tidak terduga.\n\nApakah anda ingin melanjutkan?", "aboutLabel": "Tentang", "snackbarMessage": "Disalin ke papan klip", "restartAppForChanges": "Mulai ulang aplikasi untuk menerapkan perubahan", "deleteTempDirLabel": "Hapus berkas sementara", "deleteTempDirHint": "Hapus berkas sementara yang tidak dipakai", "deletedTempDir": "Berkas sementara dihapus", + "exportPatchesLabel": "Ekspor tambalan pilihan", "exportPatchesHint": "Ekspor tambalan terpilih ke berkas JSON", + "exportedPatches": "Tambalan pilihan diekspor", "noExportFileFound": "Belum pilih tambalan untuk diekspor", + "importPatchesLabel": "Impor modifikasi terpilih", "importPatchesHint": "Impor tembalan terpilih dari berkas JSON", + "importedPatches": "Tambalan pilihan diimpor", + "resetStoredPatchesLabel": "Setel ulang tambalan pilihan", + "resetStoredPatchesHint": "Mulai ulang tambalan pilihan yang disimpan", + "resetStoredPatchesDialogTitle": "Mulai ulang tambalan pilihan?", + "resetStoredPatchesDialogText": "Tambalan pilihan bawaan akan dikembalikan.", + "resetStoredPatches": "Tambalan pilihan telah diatur ulang", + "resetStoredOptionsLabel": "Setel ulang opsi tambalan", + "resetStoredOptionsHint": "Setel ulang semua opsi tambalan", + "resetStoredOptionsDialogTitle": "Setel ulang opsi tambalan?", + "resetStoredOptionsDialogText": "Menyetel ulang opsi tambalan akan menghapus semua opsi yang disimpan.", + "resetStoredOptions": "Opsi telah diatur ulang", + "deleteLogsLabel": "Hapus riwayat", "deleteLogsHint": "Hapus log ReVanced Manager terkumpul", "deletedLogs": "Log dihapus", + "regenerateKeystoreLabel": "Menghasilkan penyimpanan kunci", + "regenerateKeystoreHint": "Buat ulang penyimpanan kunci yang digunakan untuk menandatangani aplikasi", + "regenerateKeystoreDialogTitle": "Membuat ulang kunci penyimpanan?", + "regenerateKeystoreDialogText": "Aplikasi tambalan yang ditandatangani dengan kunci penyimpanan lama tidak dapat diperbarui lagi.", + "regeneratedKeystore": "Kunci penyimpanan dibuat ulang", "exportKeystoreLabel": "Ekspor keystore", + "exportKeystoreHint": "Ekspor kunci penyimpanan yang digunakan untuk menandatangani aplikasi", "exportedKeystore": "Keystore diekspor", "noKeystoreExportFileFound": "Tidak ada keystore untuk diekspor", "importKeystoreLabel": "Impor keystore", + "importKeystoreHint": "Impor kunci penyimpanan yang digunakan untuk menandatangani aplikasi", "importedKeystore": "Keystore diimpor", "selectKeystorePassword": "Kata Sandi Keystore", "selectKeystorePasswordHint": "Pilih kata sandi keystore yang digunakan untuk menandatangani aplikasi", @@ -263,6 +291,17 @@ "status_failure_incompatible": "Pemasangan tidak kompatibel", "status_failure_timeout": "Pemasangan kelamaan", "status_unknown": "Pemasangan gagal", - "mount_no_root_description": "Pemasangan ini gagal karena akses root belum dizinkan.\n\nIzinkan akses root ke ReVanced Manager 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_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.", + "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_invalid_description": "Instalasi gagal karena aplikasi yang ditambal tidak valid.\n\nCopot pemasangan aplikasi dan coba lagi?", + "status_failure_incompatible_description": "Aplikasi ini tidak kompatibel dengan perangkat anda.\n\nHubungi pengembang aplikasi dan minta dukungan.", + "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.", + "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?", + "status_unknown_description": "Instalasi gagal karena alasan yang tidak diketahui. Silakan coba kembali." } } \ No newline at end of file diff --git a/assets/i18n/strings_ja_JP.i18n.json b/assets/i18n/strings_ja_JP.i18n.json index 8c6ba0eb3b..83d70debc1 100755 --- a/assets/i18n/strings_ja_JP.i18n.json +++ b/assets/i18n/strings_ja_JP.i18n.json @@ -1,8 +1,11 @@ { "okButton": "OK", "cancelButton": "キャンセル", + "dismissButton": "取り消し", "quitButton": "中止", "updateButton": "更新", + "enabledLabel": "有効", + "disabledLabel": "無効", "installed": "インストール済み: ${version}", "suggested": "推奨: ${version}", "yesButton": "はい", @@ -13,6 +16,8 @@ "noShowAgain": "今後は表示しない", "add": "追加", "remove": "削除", + "showChangelogButton": "更新履歴を確認", + "showUpdateButton": "アップデート内容を見せる", "navigationView": { "dashboardTab": "一覧", "patcherTab": "パッチャー", @@ -23,11 +28,25 @@ "widgetTitle": "一覧", "updatesSubtitle": "更新", "patchedSubtitle": "パッチ適用済みのアプリ", + "changeLaterSubtitle": "この設定はあとでも変更できます", "noUpdates": "利用可能なアップデートはありません", + "WIP": "制作中", "noInstallations": "パッチ済みのアプリはインストールされていません", "installUpdate": "更新を適用しますか?", + "updateSheetTitle": "ReVanced Managerをアップデート", + "updateDialogTitle": "新しいアップデートが利用可能", + "updatePatchesSheetTitle": "ReVancedパッチを更新", "updateChangelogTitle": "変更履歴", + "updateDialogText": "新しいアップデートが${file} 向けにあります。\n現在のインストールされているバージョンは${version} です。", + "downloadConsentDialogTitle": "必要なファイルをダウンロードしますか?", + "downloadConsentDialogText": "ReVanced Managerは正常に動作するために必要なファイルをダウンロードする必要があります。", + "downloadConsentDialogText2": "これにより${url} に接続します", + "checkUpdateDialogTitle": "アップデートを確認しますか?", + "checkUpdateDialogText": "ReVanced Managerのアップデートを自動チェックしますか?", + "notificationTitle": "アップデートをダウンロードしました", + "notificationText": "タップしてアップデートをインストール", "downloadingMessage": "更新データをダウンロードしています...", + "downloadedMessage": "アップデートのダウンロードが完了しました", "installingMessage": "更新を適用しています...", "errorDownloadMessage": "更新データをダウンロードできません", "errorInstallMessage": "更新を適用できませんでした", @@ -39,17 +58,26 @@ }, "latestCommitCard": { "loadingLabel": "読み込み中...", - "timeagoLabel": "${time} 前" + "timeagoLabel": "${time} 前", + "patcherLabel": "Patcher: ", + "managerLabel": "Manager: ", + "updateButton": "アップデートマネージャー" }, "patcherView": { "widgetTitle": "パッチャー", "patchButton": "パッチ", + "armv7WarningDialogText": "ARMv7デバイスではパッチがサポートされていません。失敗する可能性がありますが、続行しますか?", + "removedPatchesWarningDialogText": "以下のパッチはもう使用できません。\n\n${patches}\n\n続行しますか?", "requiredOptionDialogText": "一部のパッチオプションを設定する必要があります。" }, "appSelectorCard": { + "widgetTitle": "アプリを選択", + "widgetTitleSelected": "選択済のアプリ", + "widgetSubtitle": "アプリが選択されていません", "noAppsLabel": "アプリが見つかりません", "currentVersion": "選択", - "suggestedVersion": "推奨" + "suggestedVersion": "推奨", + "anyVersion": "任意のバージョン" }, "patchSelectorCard": { "widgetTitle": "パッチを選択", @@ -62,11 +90,15 @@ "widgetSubtitle": "私たちは活動しています!" }, "appSelectorView": { + "viewTitle": "アプリを選択", + "searchBarHint": "アプリを検索", "storageButton": "APKを選択", "selectFromStorageButton": "ストレージから選択", "errorMessage": "選択されたアプリは使用できません", "downloadToast": "現在、ダウンロード機能は利用できません", - "featureNotAvailable": "この機能は未実装です" + "requireSuggestedAppVersionDialogText": "選択されたアプリのバージョンは推奨バージョン外です。\n推奨バージョンのアプリを選択してください。\n選択されたバージョン ${selected}\n推奨バージョン ${suggested}\n\n選択されたバージョンを使用する場合、設定から「推奨バージョンの使用を強制」を無効にしてください。", + "featureNotAvailable": "この機能は未実装です", + "featureNotAvailableText": "このアプリは分割された APK であり、root 権限でマウントすることによってのみ確実にパッチを適用してインストールできます。 ただし、ストレージから選択することで完全な APK をパッチしてインストールすることができます。" }, "patchesSelectorView": { "viewTitle": "パッチを選択", @@ -75,7 +107,9 @@ "newPatches": "新しいパッチ", "patches": "パッチ", "doneButton": "完了", + "defaultChip": "既定", "defaultTooltip": "すべてのデフォルトのパッチを選択", + "noneChip": "なし", "noneTooltip": "すべてのパッチの選択を解除", "loadPatchesSelection": "パッチの選択を読み込む", "noSavedPatches": "選択したアプリに保存されたパッチはありません。\n「完了」を押して現在の選択を保存します。", @@ -99,13 +133,19 @@ }, "patchItem": { "unsupportedDialogText": "このパッチを選択するとエラーが発生する可能性があります。\n\n現在のバージョン: ${packageVersion}\nサポートされているバージョン: ${supportedVersions}", + "unsupportedPatchVersion": "このアプリのバージョンではパッチはサポートされていません.", "unsupportedRequiredOption": "このパッチには、このアプリではサポートされていない必須オプションが含まれています", + "patchesChangeWarningDialogText": "デフォルトのパッチの選択とオプションを使用することを推奨します。変更すると予期せぬ問題が発生する可能性があります。\n\nパッチの選択を続ける場合、設定で「パッチの選択の変更を許可」をオンにする必要があります。", "patchesChangeWarningDialogButton": "デフォルトの選択を使用" }, "installerView": { + "widgetTitle": "インストーラー", "installType": "インストールの種類を選択", + "installTypeDescription": "インストールの種類を選択して続行します。", "installButton": "インストール", "installRootType": "マウント", + "installNonRootType": "標準", + "warning": "予期しない問題を避けるため、パッチを適用したアプリの自動更新を無効にします。", "pressBackAgain": "キャンセルするには、もう一度戻るを押してください", "openButton": "開く", "shareButton": "ファイルを共有", @@ -124,6 +164,7 @@ "debugSectionTitle": "デバッグ", "advancedSectionTitle": "高度な設定", "exportSectionTitle": "インポート&エクスポート", + "dataSectionTitle": "データソース", "themeModeLabel": "アプリのテーマ", "systemThemeLabel": "システム", "lightThemeLabel": "ライト", @@ -131,12 +172,19 @@ "dynamicThemeLabel": "Material You", "dynamicThemeHint": "よりデバイスに近い体験が楽しめます", "languageLabel": "言語", + "languageUpdated": "言語が更新されました", "englishOption": "英語", + "sourcesLabel": "他のソース", + "sourcesLabelHint": "ReVanded PatchesとReVanced Integrationsの代替ソースを設定", "sourcesIntegrationsLabel": "Integrations のソース", + "useAlternativeSources": "他のソースを使用", + "useAlternativeSourcesHint": "APIの代わりにReVanced PatchesとReVanced Integrationsの他のソースを使用する", "sourcesResetDialogTitle": "リセット", "sourcesResetDialogText": "ソースをデフォルト値にリセットしてもよろしいですか?", "apiURLResetDialogText": "API の URL をデフォルト値にリセットしてもよろしいですか?", + "sourcesUpdateNote": "注: ReVeded PatchesとReVanced Integrationsを別のソースから自動的にダウンロードします。\n\nこれにより、他のソースに接続されます。", "apiURLLabel": "API の URL", + "apiURLHint": "ReVanced ManagerのAPIのURLを設定する", "selectApiURL": "API の URL", "orgPatchesLabel": "パッチの組織", "sourcesPatchesLabel": "パッチのソース", @@ -146,10 +194,13 @@ "logsLabel": "ログを共有", "logsHint": "ReVanced Manager のログを共有します", "enablePatchesSelectionLabel": "パッチの選択の変更を許可", + "enablePatchesSelectionHint": "パッチの選択と解除を防止しない", "enablePatchesSelectionWarningText": "パッチの選択を変更すると、予期せぬ問題が起こる可能性があります。\n\n有効にしますか?", "disablePatchesSelectionWarningText": "パッチの選択の変更を無効にしようとしています。\nデフォルトのパッチの選択が復元されます。\n\n無効にしますか?", "autoUpdatePatchesLabel": "パッチの自動アップデート", "autoUpdatePatchesHint": "パッチを自動的に最新バージョンに更新します", + "showUpdateDialogLabel": "更新ダイアログを表示", + "showUpdateDialogHint": "新しいアップデートが利用可能な場合にダイアログを表示する", "universalPatchesLabel": "共通パッチの表示", "universalPatchesHint": "すべてのアプリと共通パッチを表示します (アプリのリストの読み込みが遅くなる可能性があります)", "versionCompatibilityCheckLabel": "バージョンの互換性チェック", diff --git a/assets/i18n/strings_ko_KR.i18n.json b/assets/i18n/strings_ko_KR.i18n.json index cc0204b61b..ef72e15c19 100755 --- a/assets/i18n/strings_ko_KR.i18n.json +++ b/assets/i18n/strings_ko_KR.i18n.json @@ -16,7 +16,7 @@ "noShowAgain": "다시 보지 않기", "add": "추가", "remove": "제거", - "showChangelogButton": "변경 내역 보기", + "showChangelogButton": "변경 사항 보기", "showUpdateButton": "업데이트 보기", "navigationView": { "dashboardTab": "대시보드", @@ -142,7 +142,7 @@ "widgetTitle": "설치 관리자", "installType": "설치 유형 선택", "installTypeDescription": "설치를 진행할 유형을 선택해주세요.", - "installButton": "설치", + "installButton": "설치하기", "installRootType": "마운트", "installNonRootType": "일반", "warning": "패치한 앱의 자동 업데이트를 꺼서 예기치 못한 오류를 예방하세요.", @@ -254,7 +254,7 @@ "appInfoView": { "widgetTitle": "앱 정보", "openButton": "열기", - "uninstallButton": "제거", + "uninstallButton": "제거하기", "unmountButton": "마운트 해제", "rootDialogTitle": "오류", "unmountDialogText": "이 앱의 마운트를 해제할까요?", diff --git a/assets/i18n/strings_nl_NL.i18n.json b/assets/i18n/strings_nl_NL.i18n.json index 3ccfef7446..7035a96d54 100755 --- a/assets/i18n/strings_nl_NL.i18n.json +++ b/assets/i18n/strings_nl_NL.i18n.json @@ -16,7 +16,7 @@ "noShowAgain": "Niet meer tonen", "add": "Voeg toe", "remove": "Verwijderen", - "showChangelogButton": "Laat wijzigingslogboek zien", + "showChangelogButton": "Wijzigingslogboek tonen", "showUpdateButton": "Update weergeven", "navigationView": { "dashboardTab": "Overzicht", @@ -28,14 +28,25 @@ "widgetTitle": "Overzicht", "updatesSubtitle": "Updates", "patchedSubtitle": "Gepatchte applicaties", + "changeLaterSubtitle": "U kunt dit op een later moment wijzigen in de instellingen.", "noUpdates": "Geen updates beschikbaar", "WIP": "Bezig met uitvoeren...", "noInstallations": "Geen gepatchte applicaties geïnstalleerd", "installUpdate": "Doorgaan met het installeren van de update?", + "updateSheetTitle": "Update ReVanced Manager", + "updateDialogTitle": "Nieuwe update beschikbaar", + "updatePatchesSheetTitle": "Update ReVanced Patches", "updateChangelogTitle": "Wijzigingslogboek", + "updateDialogText": "Er is een nieuwe update beschikbaar voor ${file}.\n\nDe momenteel geïnstalleerde versie is ${version}.", + "downloadConsentDialogTitle": "Download de benodigde bestanden?", + "downloadConsentDialogText": "ReVanced Manager moet de benodigde bestanden downloaden om goed te werken.", + "downloadConsentDialogText2": "Dit verbindt u met ${url}.", + "checkUpdateDialogTitle": "Controleer op updates?", + "checkUpdateDialogText": "Wilt u dat ReVanced Manager automatisch op updates controleert?", "notificationTitle": "Update gedownload", "notificationText": "Tik om de update te installeren", "downloadingMessage": "Update wordt gedownload...", + "downloadedMessage": "Update gedownload", "installingMessage": "Update wordt geïnstalleerd...", "errorDownloadMessage": "Update downloaden mislukt", "errorInstallMessage": "Update installeren mislukt", @@ -55,12 +66,18 @@ "patcherView": { "widgetTitle": "Patcher", "patchButton": "Patchen", + "armv7WarningDialogText": "Patchen op ARMv7 apparaten zijn nog niet ondersteund en zou mogelijk kunnen misgaan. Toch verder gaan?", + "removedPatchesWarningDialogText": "De volgende patches zijn verwijderd sinds de laatste keer dat je ze hebt gebruikt.\n\n${patches}\n\nToch doorgaan?", "requiredOptionDialogText": "Er moeten enkele patch-opties worden ingesteld." }, "appSelectorCard": { + "widgetTitle": "Selecteer een app", + "widgetTitleSelected": "Geselecteerde app", + "widgetSubtitle": "Geen app geselecteerd", "noAppsLabel": "Geen applicatie gevonden", "currentVersion": "Huidige", - "suggestedVersion": "Voorgesteld" + "suggestedVersion": "Voorgesteld", + "anyVersion": "Iedere versie" }, "patchSelectorCard": { "widgetTitle": "Selecteer patches", @@ -73,11 +90,15 @@ "widgetSubtitle": "We zijn online!" }, "appSelectorView": { + "viewTitle": "Selecteer een app", + "searchBarHint": "Zoek naar apps", "storageButton": "Opslag", "selectFromStorageButton": "Selecteer uit opslag", "errorMessage": "Kan geselecteerde applicatie niet gebruiken", "downloadToast": "Download functie is nog niet beschikbaar", - "featureNotAvailable": "Functie niet geïmplementeerd" + "requireSuggestedAppVersionDialogText": "De versie van de app die u hebt geselecteerd komt niet overeen met de voorgestelde versie die onverwachte problemen kan veroorzaken. Gebruik de voorgestelde versie.\n\nGeselecteerde versie: ${selected}\nSuggeert versie: ${suggested}\n\nOm toch verder te gaan, schakel \"Vereis app versie\" uit in de instellingen.", + "featureNotAvailable": "Functie niet geïmplementeerd", + "featureNotAvailableText": "Deze app is een gesplitste APK en kan alleen op betrouwbare wijze worden gepatenteerd en geïnstalleerd door te koppelen met root-machtigingen. Je kunt echter wel een volledige APK patchen en installeren door deze uit de opslag te selecteren." }, "patchesSelectorView": { "viewTitle": "Selecteer patches", @@ -86,7 +107,9 @@ "newPatches": "Nieuwe patches", "patches": "Patches", "doneButton": "Gereed", + "defaultChip": "Standaard", "defaultTooltip": "Selecteer alle standaard patches", + "noneChip": "Geen", "noneTooltip": "Alle patches deselecteren", "loadPatchesSelection": "Laad patch selectie", "noSavedPatches": "Geen opgeslagen patch selectie voor de geselecteerde app.\nDruk op Klaar om de huidige selectie op te slaan.", @@ -112,11 +135,13 @@ "unsupportedDialogText": "Het selecteren van deze patch kan leiden tot patch fouten.\n\nApp-versie: ${packageVersion}\nOndersteunde versies:\n${supportedVersions}", "unsupportedPatchVersion": "Patch wordt niet ondersteund voor deze app versie.", "unsupportedRequiredOption": "Deze patch bevat een verplichte optie die niet wordt ondersteund door deze app", + "patchesChangeWarningDialogText": "Het wordt aangeraden om de standaard patch selectie en opties te gebruiken. Wijzigen van deze opties kan leiden tot onverwachte problemen.\n\nJe moet \"Veranderen van patch-selectie toestaan\" inschakelen in de instellingen voordat je de patch-selectie wijzigt.", "patchesChangeWarningDialogButton": "Gebruik standaard selectie" }, "installerView": { "widgetTitle": "Installatieprogramma", "installType": "Selecteer installatietype", + "installTypeDescription": "Selecteer het installatietype om mee door te gaan.", "installButton": "Installeren", "installRootType": "Bestijgen", "installNonRootType": "Normaal", @@ -139,6 +164,7 @@ "debugSectionTitle": "Foutopsporing", "advancedSectionTitle": "Geavanceerd", "exportSectionTitle": "Importeren & exporteren", + "dataSectionTitle": "Gegevensbronnen", "themeModeLabel": "App thema", "systemThemeLabel": "Systeem", "lightThemeLabel": "Licht", @@ -146,12 +172,19 @@ "dynamicThemeLabel": "Materiaal jij", "dynamicThemeHint": "Geniet van een ervaring dichter bij je apparaat", "languageLabel": "Taal", + "languageUpdated": "Taal bijgewerkt", "englishOption": "Engels", + "sourcesLabel": "Alternatieve bronnen", + "sourcesLabelHint": "Configureer de alternatieve bronnen voor ReVanced Patches en ReVanced Integrations", "sourcesIntegrationsLabel": "Integratiebronnen", + "useAlternativeSources": "Gebruik alternatieve bronnen", + "useAlternativeSourcesHint": "Gebruik alternatieve bronnen voor ReVanced Patches en ReVanced Integrations in plaats van de API", "sourcesResetDialogTitle": "Herstellen naar standaard", "sourcesResetDialogText": "Weet u zeker dat u uw bronnen op hun standaardwaarden wilt herstellen?", "apiURLResetDialogText": "Weet u zeker dat u uw API-URL wilt resetten naar de standaardwaarde?", + "sourcesUpdateNote": "Opmerking: Dit zal automatisch ReVanceerde Patches en verbeterde integraties uit de alternatieve bronnen downloaden.\n\nDit verbindt je met de alternatieve bron.", "apiURLLabel": "API URL", + "apiURLHint": "Configureer de API URL van ReVanced Manager", "selectApiURL": "API URL", "orgPatchesLabel": "Organisatie van patches", "sourcesPatchesLabel": "Bronnen voor patches", @@ -166,6 +199,8 @@ "disablePatchesSelectionWarningText": "U staat op het punt om de selectie van patches uit te schakelen.\nDe standaard selectie van patches zal worden hersteld.\n\nToch uitschakelen?", "autoUpdatePatchesLabel": "Patch automatisch bijwerken", "autoUpdatePatchesHint": "Patch automatisch bijwerken naar de laatste versie", + "showUpdateDialogLabel": "Toon update dialoogvenster", + "showUpdateDialogHint": "Een dialoogvenster weergeven wanneer een nieuwe update beschikbaar is", "universalPatchesLabel": "Toon universele patches", "universalPatchesHint": "Alle apps en universele patches weergeven (kan de app-lijst vertragen)", "versionCompatibilityCheckLabel": "Versie compatibiliteitscontrole", @@ -236,7 +271,12 @@ "updateNotImplemented": "Deze functie is nog niet geïmplementeerd" }, "contributorsView": { - "widgetTitle": "Bijdragers" + "widgetTitle": "Bijdragers", + "patcherContributors": "ReVanced Patcher", + "patchesContributors": "ReVanced patches", + "integrationsContributors": "ReVanced integrations", + "cliContributors": "ReVanced CLI", + "managerContributors": "ReVanced Manager" }, "installErrorDialog": { "mount_version_mismatch": "Verkeerde versie", diff --git a/assets/i18n/strings_ro_RO.i18n.json b/assets/i18n/strings_ro_RO.i18n.json index c3264a7100..3bf3cd79d8 100755 --- a/assets/i18n/strings_ro_RO.i18n.json +++ b/assets/i18n/strings_ro_RO.i18n.json @@ -72,7 +72,7 @@ }, "appSelectorCard": { "widgetTitle": "Selectați o aplicație", - "widgetTitleSelected": "Aplicația selectata", + "widgetTitleSelected": "Aplicația selectată", "widgetSubtitle": "Nici o aplicație selectată", "noAppsLabel": "Nu s-au găsit aplicații", "currentVersion": "Actual", diff --git a/assets/i18n/strings_ru_RU.i18n.json b/assets/i18n/strings_ru_RU.i18n.json index 0fdc6001c6..88512d94d0 100755 --- a/assets/i18n/strings_ru_RU.i18n.json +++ b/assets/i18n/strings_ru_RU.i18n.json @@ -7,7 +7,7 @@ "enabledLabel": "Включено", "disabledLabel": "Отключено", "installed": "Установлено: ${version}", - "suggested": "Предложено: ${version}", + "suggested": "Рекомендуемая: ${version}", "yesButton": "Да", "noButton": "Нет", "warning": "Внимание", diff --git a/assets/i18n/strings_sr_CS.i18n.json b/assets/i18n/strings_sr_CS.i18n.json index 26944443bf..f248a709a9 100755 --- a/assets/i18n/strings_sr_CS.i18n.json +++ b/assets/i18n/strings_sr_CS.i18n.json @@ -80,7 +80,7 @@ "anyVersion": "Bilo koja verzija" }, "patchSelectorCard": { - "widgetTitle": "Izaberite pečeve", + "widgetTitle": "Izaberi pečeve", "widgetTitleSelected": "Izabrani pečevi", "widgetSubtitle": "Prvo izaberite aplikaciju", "widgetEmptySubtitle": "Nema izabranih pečeva" @@ -91,7 +91,7 @@ }, "appSelectorView": { "viewTitle": "Izaberite aplikaciju", - "searchBarHint": "Tražite aplikaciju", + "searchBarHint": "Pretražite aplikaciju", "storageButton": "Memorija", "selectFromStorageButton": "Izaberi iz memorije", "errorMessage": "Nije moguće koristiti izabranu aplikaciju", @@ -231,7 +231,7 @@ "resetStoredOptionsDialogTitle": "Resetovati opcije peča?", "resetStoredOptionsDialogText": "Resetovanjem opcija peča uklanjate sve sačuvane opcije.", "resetStoredOptions": "Opcije su resetovane", - "deleteLogsLabel": "Obriši evidencije", + "deleteLogsLabel": "Izbriši evidencije", "deleteLogsHint": "Izbrišite prikupljene evidencije ReVanced Managera", "deletedLogs": "Evidencije su izbrisane", "regenerateKeystoreLabel": "Generiši novo skladište ključeva", diff --git a/assets/i18n/strings_sr_SP.i18n.json b/assets/i18n/strings_sr_SP.i18n.json index b2ccd1e697..4683df4233 100755 --- a/assets/i18n/strings_sr_SP.i18n.json +++ b/assets/i18n/strings_sr_SP.i18n.json @@ -80,7 +80,7 @@ "anyVersion": "Било која верзија" }, "patchSelectorCard": { - "widgetTitle": "Изаберите печеве", + "widgetTitle": "Изабери печеве", "widgetTitleSelected": "Изабрани печеви", "widgetSubtitle": "Прво изаберите апликацију", "widgetEmptySubtitle": "Нема изабраних печева" @@ -91,7 +91,7 @@ }, "appSelectorView": { "viewTitle": "Изаберите апликацију", - "searchBarHint": "Тражите апликацију", + "searchBarHint": "Претражите апликацију", "storageButton": "Из меморије", "selectFromStorageButton": "Изабери из меморије", "errorMessage": "Није могуће користити изабрану апликацију", @@ -231,7 +231,7 @@ "resetStoredOptionsDialogTitle": "Ресетовати опције печа?", "resetStoredOptionsDialogText": "Ресетовањем опција печа уклањате све сачуване опције.", "resetStoredOptions": "Опције су ресетоване", - "deleteLogsLabel": "Обриши евиденције", + "deleteLogsLabel": "Избриши евиденције", "deleteLogsHint": "Избришите прикупљене евиденције ReVanced Manager-а", "deletedLogs": "Евиденције су избрисане", "regenerateKeystoreLabel": "Генериши ново складиште кључева", diff --git a/assets/i18n/strings_vi_VN.i18n.json b/assets/i18n/strings_vi_VN.i18n.json index 224a6e401c..20898f2a81 100755 --- a/assets/i18n/strings_vi_VN.i18n.json +++ b/assets/i18n/strings_vi_VN.i18n.json @@ -164,6 +164,7 @@ "debugSectionTitle": "Gỡ Lỗi", "advancedSectionTitle": "Nâng cao", "exportSectionTitle": "Nhập và xuất", + "dataSectionTitle": "Nguồn dữ liệu", "themeModeLabel": "Chủ đề ứng dụng", "systemThemeLabel": "Hệ thống", "lightThemeLabel": "Sáng", @@ -173,11 +174,17 @@ "languageLabel": "Ngôn ngữ", "languageUpdated": "Ngôn ngữ đã cập nhập", "englishOption": "Tiếng Anh", + "sourcesLabel": "Nguồn thay thế", + "sourcesLabelHint": "Cấu hình nguồn thay thế cho Bản vá ReVanced và Tích hợp ReVanced", "sourcesIntegrationsLabel": "Nguồn tích hợp", + "useAlternativeSources": "Dùng nguồn thay thế", + "useAlternativeSourcesHint": "Dùng nguồn thay thế cho Bản vá ReVanced và Tích hợp ReVanced thay cho API", "sourcesResetDialogTitle": "Đặt lại", "sourcesResetDialogText": "Bạn có chắc chắn muốn đặt lại nguồn của mình về giá trị mặc định không?", "apiURLResetDialogText": "Bạn có chắc bạn muốn đặt lại API URL của bạn về giá trị mặc định của nó không?", + "sourcesUpdateNote": "Lưu ý: Việc này sẽ tự động tải Bản vá ReVanced và Tích hợp ReVanced từ nguồn thay thế.", "apiURLLabel": "Địa chỉ URL của API", + "apiURLHint": "Cấu hình địa chỉ URL API của ReVanced Manager", "selectApiURL": "Địa chỉ URL của API", "orgPatchesLabel": "Tác giả bản vá", "sourcesPatchesLabel": "Nguồn bản vá", From a71a9301254559b28423a605dba8a6c2df02b7b5 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Sat, 23 Mar 2024 11:03:27 +0000 Subject: [PATCH 008/127] chore(release): 1.19.4-dev.2 [skip ci] ## [1.19.4-dev.2](https://github.com/ReVanced/revanced-manager/compare/v1.19.4-dev.1...v1.19.4-dev.2) (2024-03-23) ### Bug Fixes * Ensure safe area usage in Changelogs Modal Bottom Sheet ([#1772](https://github.com/ReVanced/revanced-manager/issues/1772)) ([c981cb4](https://github.com/ReVanced/revanced-manager/commit/c981cb4a41051bc68b14cec55520c808311952b7)) --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index db82054bd0..e2e193ef53 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -4,7 +4,7 @@ homepage: https://github.com/ReVanced/revanced-manager publish_to: 'none' -version: 1.19.4-dev.1+101800007 +version: 1.19.4-dev.2+101800008 environment: sdk: '>=3.0.0 <4.0.0' From bb105b5662286d4064c5494087b1b8448756ae9c Mon Sep 17 00:00:00 2001 From: Pun Butrach Date: Wed, 27 Mar 2024 17:33:42 +0700 Subject: [PATCH 009/127] chore(Branding): Update ReVanced Logo name (#1794) --- CONTRIBUTING.md | 4 ++-- README.md | 4 ++-- SECURITY.md | 4 ++-- .../{revanced-logo-round.svg => revanced-logo.svg} | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) rename assets/revanced-logo/{revanced-logo-round.svg => revanced-logo.svg} (99%) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index db86a4557c..5841049990 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -13,8 +13,8 @@
- - + +     diff --git a/README.md b/README.md index 633878f510..7d0ffb77c3 100644 --- a/README.md +++ b/README.md @@ -13,8 +13,8 @@
- - + +     diff --git a/SECURITY.md b/SECURITY.md index 0ff4766082..15e3660da6 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -13,8 +13,8 @@
- - + +     diff --git a/assets/revanced-logo/revanced-logo-round.svg b/assets/revanced-logo/revanced-logo.svg similarity index 99% rename from assets/revanced-logo/revanced-logo-round.svg rename to assets/revanced-logo/revanced-logo.svg index 901e1914b4..0ab29473e4 100644 --- a/assets/revanced-logo/revanced-logo-round.svg +++ b/assets/revanced-logo/revanced-logo.svg @@ -1 +1 @@ - \ No newline at end of file + From 58d8e7f34f25a8e0613744af7093c51558bbebbe Mon Sep 17 00:00:00 2001 From: kitadai31 <90122968+kitadai31@users.noreply.github.com> Date: Wed, 27 Mar 2024 21:46:37 +0900 Subject: [PATCH 010/127] build: Bump dependencies (#1796) --- android/app/build.gradle | 2 -- android/settings.gradle | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 59533e3a87..7a34e02422 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -113,8 +113,6 @@ flutter { } dependencies { - implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.22") - implementation("app.revanced:revanced-patcher:19.3.1") implementation("app.revanced:revanced-library:2.2.1") } diff --git a/android/settings.gradle b/android/settings.gradle index ad78d23ecd..02488bfc00 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -19,7 +19,7 @@ pluginManagement { plugins { id "dev.flutter.flutter-plugin-loader" version "1.0.0" id "com.android.application" version "8.1.2" apply false - id "org.jetbrains.kotlin.android" version "1.9.10" apply false + id "org.jetbrains.kotlin.android" version "1.9.23" apply false } include ":app" From ad416387c297610e4e40027cc3aeab230a31aaaa Mon Sep 17 00:00:00 2001 From: Ushie Date: Thu, 28 Mar 2024 02:02:55 +0300 Subject: [PATCH 011/127] ci(Crowdin): Specify bundle to download --- .github/workflows/sync_crowdin.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sync_crowdin.yml b/.github/workflows/sync_crowdin.yml index f750dd7ecc..dbec480c51 100644 --- a/.github/workflows/sync_crowdin.yml +++ b/.github/workflows/sync_crowdin.yml @@ -29,7 +29,7 @@ jobs: config: crowdin.yml upload_sources: true upload_translations: false - download_translations: true + download_bundle: 16 localization_branch_name: feat/translations create_pull_request: true pull_request_title: "chore: Sync translations" From e85ed5a8e374a2a07850893922c35f2fa0e85d69 Mon Sep 17 00:00:00 2001 From: Pun Butrach Date: Thu, 28 Mar 2024 04:06:52 +0000 Subject: [PATCH 012/127] build: Bump language_code to v0.4.2 This fix #1714 regarding country name of es-AR (Argentina) does not exist. Signed-off-by: Pun Butrach --- pubspec.lock | 4 ++-- pubspec.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 0842621fe1..eb80debd72 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -563,10 +563,10 @@ packages: dependency: "direct main" description: name: language_code - sha256: cbd50546df7c21857a7cfa35f97943f8759705d0c17f9282593abe654cbbdf38 + sha256: "3124246f599039a89c990d007b00bc41b1526d6400de97cf13a478b7f4b16a83" url: "https://pub.dev" source: hosted - version: "0.4.1" + version: "0.4.2" leak_tracker: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index e2e193ef53..dcb54edca1 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -41,7 +41,7 @@ dependencies: injectable: ^2.1.1 intl: ^0.18.0 json_annotation: ^4.8.1 - language_code: ^0.4.1 + language_code: ^0.4.2 logcat: git: url: https://github.com/BenjaminHalko/logcat From 6f70a079701be63fc59b7272d0ddc4334c89d798 Mon Sep 17 00:00:00 2001 From: Pun Butrach Date: Thu, 28 Mar 2024 11:38:07 +0700 Subject: [PATCH 013/127] fix: Replace Spacer with Expanded to avoid overflow (#1791) --- .../settings/settingsFragment/settings_manage_api_url.dart | 5 +++-- .../settingsFragment/settings_manage_keystore_password.dart | 5 +++-- .../settings/settingsFragment/settings_manage_sources.dart | 5 +++-- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/ui/views/settings/settingsFragment/settings_manage_api_url.dart b/lib/ui/views/settings/settingsFragment/settings_manage_api_url.dart index 7de77b8710..52c706ed00 100644 --- a/lib/ui/views/settings/settingsFragment/settings_manage_api_url.dart +++ b/lib/ui/views/settings/settingsFragment/settings_manage_api_url.dart @@ -20,8 +20,9 @@ class SManageApiUrl extends BaseViewModel { builder: (context) => AlertDialog( title: Row( children: [ - Text(t.settingsView.apiURLLabel), - const Spacer(), + Expanded( + child: Text(t.settingsView.apiURLLabel), + ), IconButton( icon: const Icon(Icons.manage_history_outlined), onPressed: () => showApiUrlResetDialog(context), diff --git a/lib/ui/views/settings/settingsFragment/settings_manage_keystore_password.dart b/lib/ui/views/settings/settingsFragment/settings_manage_keystore_password.dart index 015f2aee7d..7b82263b7f 100644 --- a/lib/ui/views/settings/settingsFragment/settings_manage_keystore_password.dart +++ b/lib/ui/views/settings/settingsFragment/settings_manage_keystore_password.dart @@ -21,8 +21,9 @@ class SManageKeystorePassword extends BaseViewModel { builder: (context) => AlertDialog( title: Row( children: [ - Text(t.settingsView.selectKeystorePassword), - const Spacer(), + Expanded( + child: Text(t.settingsView.selectKeystorePassword), + ), IconButton( icon: const Icon(Icons.manage_history_outlined), onPressed: () => _keystorePasswordController.text = diff --git a/lib/ui/views/settings/settingsFragment/settings_manage_sources.dart b/lib/ui/views/settings/settingsFragment/settings_manage_sources.dart index 14f3fec40b..8e7cbea90f 100644 --- a/lib/ui/views/settings/settingsFragment/settings_manage_sources.dart +++ b/lib/ui/views/settings/settingsFragment/settings_manage_sources.dart @@ -29,8 +29,9 @@ class SManageSources extends BaseViewModel { builder: (context) => AlertDialog( title: Row( children: [ - Text(t.settingsView.sourcesLabel), - const Spacer(), + Expanded( + child: Text(t.settingsView.sourcesLabel), + ), IconButton( icon: const Icon(Icons.manage_history_outlined), onPressed: () => showResetConfirmationDialog(context), From 2d19f369012f53b578362d246ef90a76b72d968d Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Thu, 28 Mar 2024 04:45:28 +0000 Subject: [PATCH 014/127] chore(release): 1.19.4-dev.3 [skip ci] ## [1.19.4-dev.3](https://github.com/ReVanced/revanced-manager/compare/v1.19.4-dev.2...v1.19.4-dev.3) (2024-03-28) ### Bug Fixes * Replace Spacer with Expanded to avoid overflow ([#1791](https://github.com/ReVanced/revanced-manager/issues/1791)) ([6f70a07](https://github.com/ReVanced/revanced-manager/commit/6f70a079701be63fc59b7272d0ddc4334c89d798)) --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index dcb54edca1..8f4f217674 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -4,7 +4,7 @@ homepage: https://github.com/ReVanced/revanced-manager publish_to: 'none' -version: 1.19.4-dev.2+101800008 +version: 1.19.4-dev.3+101800009 environment: sdk: '>=3.0.0 <4.0.0' From 966796dfec0691bac87960f508dd0351a8fd1d77 Mon Sep 17 00:00:00 2001 From: Pun Butrach Date: Thu, 28 Mar 2024 05:15:02 +0000 Subject: [PATCH 015/127] fix: Set text colour on dropdown menu for Custom Value This fix #1584 and a continuation of acb1e2434b28efca852297e0a0a8ffce155e67e4 Signed-off-by: Pun Butrach --- lib/ui/widgets/patchesSelectorView/patch_options_fields.dart | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/ui/widgets/patchesSelectorView/patch_options_fields.dart b/lib/ui/widgets/patchesSelectorView/patch_options_fields.dart index 4dabc405e3..9c32d5e274 100644 --- a/lib/ui/widgets/patchesSelectorView/patch_options_fields.dart +++ b/lib/ui/widgets/patchesSelectorView/patch_options_fields.dart @@ -445,8 +445,11 @@ class _TextFieldForPatchOptionState extends State { value: '', child: Text( t.patchOptionsView.customValue, - style: const TextStyle( + style: TextStyle( fontSize: 16, + color: Theme.of(context) + .colorScheme + .onSecondaryContainer, ), ), ), From 7833a0d552d05946f50434e799c46272e6eb30a3 Mon Sep 17 00:00:00 2001 From: Pun Butrach Date: Thu, 28 Mar 2024 05:17:49 +0000 Subject: [PATCH 016/127] build: Switch flutter_background to official sources https://github.com/JulianAssmann/flutter_background/pull/79 is merged. --- pubspec.lock | 6 +++--- pubspec.yaml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index eb80debd72..cc786fafe7 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -323,9 +323,9 @@ packages: dependency: "direct main" description: path: "." - ref: "560d21c4148b53933313573e7eafca0b0eb9aadf" - resolved-ref: "560d21c4148b53933313573e7eafca0b0eb9aadf" - url: "https://github.com/BenjaminHalko/flutter_background" + ref: "65cf0ec93486b3a6c74339aadaeb384cf2c9a24b" + resolved-ref: "65cf0ec93486b3a6c74339aadaeb384cf2c9a24b" + url: "https://github.com/JulianAssmann/flutter_background" source: git version: "1.2.0" flutter_cache_manager: diff --git a/pubspec.yaml b/pubspec.yaml index 8f4f217674..372fc0f15b 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -26,9 +26,9 @@ dependencies: flutter: sdk: flutter flutter_background: - git: # remove once https://github.com/JulianAssmann/flutter_background/pull/79 is merged - url: https://github.com/BenjaminHalko/flutter_background - ref: 560d21c4148b53933313573e7eafca0b0eb9aadf # Branch: specify-namespace + git: # Switch to 'flutter_background' once new version is released + url: https://github.com/JulianAssmann/flutter_background + ref: 65cf0ec93486b3a6c74339aadaeb384cf2c9a24b # Branch: master flutter_cache_manager: ^3.3.0 flutter_file_dialog: ^3.0.2 flutter_local_notifications: ^16.1.0 From 63d83a43ad60fdf68ee48431593767a8903de6d7 Mon Sep 17 00:00:00 2001 From: Pun Butrach Date: Thu, 28 Mar 2024 05:20:32 +0000 Subject: [PATCH 017/127] chore: Remove unused en_US file This file contains absolulely nothing, whereabout: Unknown. --- assets/i18n/en_US.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100755 assets/i18n/en_US.json diff --git a/assets/i18n/en_US.json b/assets/i18n/en_US.json deleted file mode 100755 index e69de29bb2..0000000000 From 9a66357f7a2f5cdd4275bcbe85846dfe904db499 Mon Sep 17 00:00:00 2001 From: Pun Butrach Date: Thu, 28 Mar 2024 05:26:35 +0000 Subject: [PATCH 018/127] refactor: slight format change This is so unreadable, there must've been a better way to do this. --- .../settings/settingsFragment/settings_update_language.dart | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/ui/views/settings/settingsFragment/settings_update_language.dart b/lib/ui/views/settings/settingsFragment/settings_update_language.dart index 9f5315e946..f7b4a2f27b 100644 --- a/lib/ui/views/settings/settingsFragment/settings_update_language.dart +++ b/lib/ui/views/settings/settingsFragment/settings_update_language.dart @@ -63,9 +63,11 @@ class SUpdateLanguage extends BaseViewModel { child: ListBody( children: [ RadioListTile( + // TODO(Someone): There must've been a better way to do this. title: Text(currentlyUsedLanguage.englishName), subtitle: Text( - '${currentlyUsedLanguage.nativeName} (${LocaleSettings.currentLocale.languageCode}${LocaleSettings.currentLocale.countryCode != null ? '-${LocaleSettings.currentLocale.countryCode}' : ''})'), + '${currentlyUsedLanguage.nativeName} (${LocaleSettings.currentLocale.languageCode}${LocaleSettings.currentLocale.countryCode != null ? '-${LocaleSettings.currentLocale.countryCode}' : ''})', + ), value: '${LocaleSettings.currentLocale.languageCode}-${LocaleSettings.currentLocale.countryCode}' == selectedLanguageCode.value, @@ -110,6 +112,7 @@ class SUpdateLanguage extends BaseViewModel { ), TextButton( onPressed: () { + // TODO(nullcube): Translation will not update until we refresh the page. updateLocale(selectedLanguageCode.value); Navigator.of(context).pop(); }, From ecadb80113b8d5c9676a353173ba7021b8c1d5d2 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Thu, 28 Mar 2024 05:35:25 +0000 Subject: [PATCH 019/127] chore(release): 1.19.4-dev.4 [skip ci] ## [1.19.4-dev.4](https://github.com/ReVanced/revanced-manager/compare/v1.19.4-dev.3...v1.19.4-dev.4) (2024-03-28) ### Bug Fixes * Set text colour on dropdown menu for Custom Value ([966796d](https://github.com/ReVanced/revanced-manager/commit/966796dfec0691bac87960f508dd0351a8fd1d77)), closes [#1584](https://github.com/ReVanced/revanced-manager/issues/1584) --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 372fc0f15b..4e75f8f554 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -4,7 +4,7 @@ homepage: https://github.com/ReVanced/revanced-manager publish_to: 'none' -version: 1.19.4-dev.3+101800009 +version: 1.19.4-dev.4+101800010 environment: sdk: '>=3.0.0 <4.0.0' From c265794d0efbc3ed2dea7a60c7ebd461f711799a Mon Sep 17 00:00:00 2001 From: Pun Butrach Date: Thu, 28 Mar 2024 06:13:05 +0000 Subject: [PATCH 020/127] fix: Don't translation ReVanced repository Regex: , "patcherContributors":.*, "patchesContributors":.*, "integrationsContributors":.*, "cliContributors":.*, "managerContributors":.* --- assets/i18n/strings.i18n.json | 7 +------ assets/i18n/strings_az_AZ.i18n.json | 7 +------ assets/i18n/strings_be_BY.i18n.json | 7 +------ assets/i18n/strings_bn_BD.i18n.json | 7 +------ assets/i18n/strings_de_DE.i18n.json | 7 +------ assets/i18n/strings_el_GR.i18n.json | 7 +------ assets/i18n/strings_es_AR.i18n.json | 7 +------ assets/i18n/strings_es_ES.i18n.json | 7 +------ assets/i18n/strings_fr_FR.i18n.json | 7 +------ assets/i18n/strings_hu_HU.i18n.json | 7 +------ assets/i18n/strings_id_ID.i18n.json | 7 +------ assets/i18n/strings_it_IT.i18n.json | 7 +------ assets/i18n/strings_ko_KR.i18n.json | 7 +------ assets/i18n/strings_nl_NL.i18n.json | 7 +------ assets/i18n/strings_pl_PL.i18n.json | 7 +------ assets/i18n/strings_pt_PT.i18n.json | 7 +------ assets/i18n/strings_ro_RO.i18n.json | 7 +------ assets/i18n/strings_ru_RU.i18n.json | 7 +------ assets/i18n/strings_sr_CS.i18n.json | 7 +------ assets/i18n/strings_sr_SP.i18n.json | 7 +------ assets/i18n/strings_sv_SE.i18n.json | 7 +------ assets/i18n/strings_tr_TR.i18n.json | 7 +------ assets/i18n/strings_uk_UA.i18n.json | 7 +------ assets/i18n/strings_vi_VN.i18n.json | 7 +------ assets/i18n/strings_zh_TW.i18n.json | 7 +------ lib/ui/views/contributors/contributors_view.dart | 10 +++++----- 26 files changed, 30 insertions(+), 155 deletions(-) diff --git a/assets/i18n/strings.i18n.json b/assets/i18n/strings.i18n.json index fa08eb0283..3884b01ebf 100755 --- a/assets/i18n/strings.i18n.json +++ b/assets/i18n/strings.i18n.json @@ -271,12 +271,7 @@ "updateNotImplemented": "This feature has not been implemented yet" }, "contributorsView": { - "widgetTitle": "Contributors", - "patcherContributors": "ReVanced Patcher", - "patchesContributors": "ReVanced Patches", - "integrationsContributors": "ReVanced Integrations", - "cliContributors": "ReVanced CLI", - "managerContributors": "ReVanced Manager" + "widgetTitle": "Contributors" }, "installErrorDialog": { "mount_version_mismatch": "Version mismatch", diff --git a/assets/i18n/strings_az_AZ.i18n.json b/assets/i18n/strings_az_AZ.i18n.json index 9e690b21b3..fc563d55c4 100755 --- a/assets/i18n/strings_az_AZ.i18n.json +++ b/assets/i18n/strings_az_AZ.i18n.json @@ -271,12 +271,7 @@ "updateNotImplemented": "Bu özəllik hələ tətbiq olunmayıb" }, "contributorsView": { - "widgetTitle": "Töhfə verənlər", - "patcherContributors": "ReVanced Patcher", - "patchesContributors": "ReVanced Yamaqları", - "integrationsContributors": "ReVanced İnteqrasiyaları", - "cliContributors": "ReVanced CLI", - "managerContributors": "ReVanced Manager" + "widgetTitle": "Töhfə verənlər" }, "installErrorDialog": { "mount_version_mismatch": "Versiya uyuşmur", diff --git a/assets/i18n/strings_be_BY.i18n.json b/assets/i18n/strings_be_BY.i18n.json index f7562fdcf7..b957fdd4a4 100755 --- a/assets/i18n/strings_be_BY.i18n.json +++ b/assets/i18n/strings_be_BY.i18n.json @@ -271,12 +271,7 @@ "updateNotImplemented": "Пакуль яшчэ гэта функцыя не рэалізавана" }, "contributorsView": { - "widgetTitle": "Удзельнікі", - "patcherContributors": "ReVanced Patcher", - "patchesContributors": "Выпраўленні ReVanced", - "integrationsContributors": "Інтэграцыі ReVanced", - "cliContributors": "ReVanced CLI", - "managerContributors": "ReVanced Manager" + "widgetTitle": "Удзельнікі" }, "installErrorDialog": { "mount_version_mismatch": "Неадпаведнасць версій", diff --git a/assets/i18n/strings_bn_BD.i18n.json b/assets/i18n/strings_bn_BD.i18n.json index ef96542935..d3d681f6dd 100755 --- a/assets/i18n/strings_bn_BD.i18n.json +++ b/assets/i18n/strings_bn_BD.i18n.json @@ -271,12 +271,7 @@ "updateNotImplemented": "এই ফিচারটি এখনো কার্যকর করা হয়নি" }, "contributorsView": { - "widgetTitle": "অবদানকারীগণ", - "patcherContributors": "ReVanced প্যাচার", - "patchesContributors": "ReVanced প্যাচসমূহ", - "integrationsContributors": "ReVanced ইন্ট্রিগ্রেশন", - "cliContributors": "ReVanced CLI", - "managerContributors": "ReVanced Manager" + "widgetTitle": "অবদানকারীগণ" }, "installErrorDialog": { "mount_version_mismatch": "সংস্করণ মেলেনি", diff --git a/assets/i18n/strings_de_DE.i18n.json b/assets/i18n/strings_de_DE.i18n.json index 6f60900d9f..0ce83e6647 100755 --- a/assets/i18n/strings_de_DE.i18n.json +++ b/assets/i18n/strings_de_DE.i18n.json @@ -271,12 +271,7 @@ "updateNotImplemented": "Diese Funktion ist noch nicht implementiert" }, "contributorsView": { - "widgetTitle": "Mitwirkende", - "patcherContributors": "ReVanced Patcher", - "patchesContributors": "ReVanced Patches", - "integrationsContributors": "ReVanced Integrations", - "cliContributors": "ReVanced CLI", - "managerContributors": "ReVanced Manager" + "widgetTitle": "Mitwirkende" }, "installErrorDialog": { "mount_version_mismatch": "Versionskonflikt", diff --git a/assets/i18n/strings_el_GR.i18n.json b/assets/i18n/strings_el_GR.i18n.json index f9b5793975..8a671c832a 100755 --- a/assets/i18n/strings_el_GR.i18n.json +++ b/assets/i18n/strings_el_GR.i18n.json @@ -271,12 +271,7 @@ "updateNotImplemented": "Αυτή η δυνατότητα δεν είναι ακόμα διαθέσιμη" }, "contributorsView": { - "widgetTitle": "Συνεισφέροντες", - "patcherContributors": "Τροποποιητής ReVanced", - "patchesContributors": "Τροποποιήσεις ReVanced", - "integrationsContributors": "Ενσωματώσεις ReVanced", - "cliContributors": "Τερματικό ReVanced", - "managerContributors": "Διαχειριστής ReVanced" + "widgetTitle": "Συνεισφέροντες" }, "installErrorDialog": { "mount_version_mismatch": "Ασυμφωνία έκδοσης", diff --git a/assets/i18n/strings_es_AR.i18n.json b/assets/i18n/strings_es_AR.i18n.json index da67d43742..fe04d09251 100755 --- a/assets/i18n/strings_es_AR.i18n.json +++ b/assets/i18n/strings_es_AR.i18n.json @@ -271,12 +271,7 @@ "updateNotImplemented": "Esta función no se implementó aún" }, "contributorsView": { - "widgetTitle": "Contribuidores", - "patcherContributors": "ReVanced Patcher", - "patchesContributors": "ReVanced Patches", - "integrationsContributors": "ReVanced Integrations", - "cliContributors": "ReVanced CLI", - "managerContributors": "ReVanced Manager" + "widgetTitle": "Contribuidores" }, "installErrorDialog": { "mount_version_mismatch": "La versión no coincide", diff --git a/assets/i18n/strings_es_ES.i18n.json b/assets/i18n/strings_es_ES.i18n.json index fedd2d08e0..de0cf3283d 100755 --- a/assets/i18n/strings_es_ES.i18n.json +++ b/assets/i18n/strings_es_ES.i18n.json @@ -271,12 +271,7 @@ "updateNotImplemented": "Esta función no se ha implementado aún" }, "contributorsView": { - "widgetTitle": "Contribuidores", - "patcherContributors": "Parcheador de ReVanced", - "patchesContributors": "Parches de ReVanced", - "integrationsContributors": "Integraciones de ReVanced", - "cliContributors": "CLI de ReVanced", - "managerContributors": "ReVanced Manager" + "widgetTitle": "Contribuidores" }, "installErrorDialog": { "mount_version_mismatch": "La versión no coincide", diff --git a/assets/i18n/strings_fr_FR.i18n.json b/assets/i18n/strings_fr_FR.i18n.json index 90ac327b13..bde29ad687 100755 --- a/assets/i18n/strings_fr_FR.i18n.json +++ b/assets/i18n/strings_fr_FR.i18n.json @@ -271,12 +271,7 @@ "updateNotImplemented": "Cette fonctionnalité n'est pas encore disponible" }, "contributorsView": { - "widgetTitle": "Contributeurs", - "patcherContributors": "ReVanced Patcher", - "patchesContributors": "ReVanced Patches", - "integrationsContributors": "ReVanced Integrations", - "cliContributors": "ReVanced CLI", - "managerContributors": "ReVanced Manager" + "widgetTitle": "Contributeurs" }, "installErrorDialog": { "mount_version_mismatch": "Incompatibilité de version", diff --git a/assets/i18n/strings_hu_HU.i18n.json b/assets/i18n/strings_hu_HU.i18n.json index c9fffafe4e..ccc9e4888a 100755 --- a/assets/i18n/strings_hu_HU.i18n.json +++ b/assets/i18n/strings_hu_HU.i18n.json @@ -271,12 +271,7 @@ "updateNotImplemented": "Ez a funkció még nem készült el" }, "contributorsView": { - "widgetTitle": "Közreműködők", - "patcherContributors": "ReVanced Patchelő", - "patchesContributors": "ReVanced Patchek", - "integrationsContributors": "ReVanced Integrációk", - "cliContributors": "ReVanced CLI", - "managerContributors": "ReVanced Manager" + "widgetTitle": "Közreműködők" }, "installErrorDialog": { "mount_version_mismatch": "Verzió ütközés", diff --git a/assets/i18n/strings_id_ID.i18n.json b/assets/i18n/strings_id_ID.i18n.json index f33696f219..77f4c89285 100755 --- a/assets/i18n/strings_id_ID.i18n.json +++ b/assets/i18n/strings_id_ID.i18n.json @@ -271,12 +271,7 @@ "updateNotImplemented": "Fitur ini belum diimplementasikan" }, "contributorsView": { - "widgetTitle": "Kontributor", - "patcherContributors": "ReVanced Patcher", - "patchesContributors": "ReVanced Patches", - "integrationsContributors": "ReVanced Integrations", - "cliContributors": "ReVanced CLI", - "managerContributors": "ReVanced Manager" + "widgetTitle": "Kontributor" }, "installErrorDialog": { "mount_version_mismatch": "Versi tidak cocok", diff --git a/assets/i18n/strings_it_IT.i18n.json b/assets/i18n/strings_it_IT.i18n.json index 3d17b45f84..8807b57679 100755 --- a/assets/i18n/strings_it_IT.i18n.json +++ b/assets/i18n/strings_it_IT.i18n.json @@ -271,12 +271,7 @@ "updateNotImplemented": "Questa funzionalità non è stata ancora implementata" }, "contributorsView": { - "widgetTitle": "Contributori", - "patcherContributors": "ReVanced Patcher", - "patchesContributors": "Patches di ReVanced", - "integrationsContributors": "Integrazioni di ReVanced", - "cliContributors": "CLI di ReVanced", - "managerContributors": "ReVanced Manager" + "widgetTitle": "Contributori" }, "installErrorDialog": { "mount_version_mismatch": "Versione non corrispondente", diff --git a/assets/i18n/strings_ko_KR.i18n.json b/assets/i18n/strings_ko_KR.i18n.json index ef72e15c19..6acc6d7ae4 100755 --- a/assets/i18n/strings_ko_KR.i18n.json +++ b/assets/i18n/strings_ko_KR.i18n.json @@ -271,12 +271,7 @@ "updateNotImplemented": "이 기능은 아직 구현되지 않았습니다." }, "contributorsView": { - "widgetTitle": "도움을 주신 분들", - "patcherContributors": "ReVanced Patcher", - "patchesContributors": "ReVanced Patches", - "integrationsContributors": "ReVanced Integrations", - "cliContributors": "ReVanced CLI", - "managerContributors": "ReVanced Manager" + "widgetTitle": "도움을 주신 분들" }, "installErrorDialog": { "mount_version_mismatch": "버전 불일치", diff --git a/assets/i18n/strings_nl_NL.i18n.json b/assets/i18n/strings_nl_NL.i18n.json index 7035a96d54..3ce812be04 100755 --- a/assets/i18n/strings_nl_NL.i18n.json +++ b/assets/i18n/strings_nl_NL.i18n.json @@ -271,12 +271,7 @@ "updateNotImplemented": "Deze functie is nog niet geïmplementeerd" }, "contributorsView": { - "widgetTitle": "Bijdragers", - "patcherContributors": "ReVanced Patcher", - "patchesContributors": "ReVanced patches", - "integrationsContributors": "ReVanced integrations", - "cliContributors": "ReVanced CLI", - "managerContributors": "ReVanced Manager" + "widgetTitle": "Bijdragers" }, "installErrorDialog": { "mount_version_mismatch": "Verkeerde versie", diff --git a/assets/i18n/strings_pl_PL.i18n.json b/assets/i18n/strings_pl_PL.i18n.json index 223e402b67..1f11854d51 100755 --- a/assets/i18n/strings_pl_PL.i18n.json +++ b/assets/i18n/strings_pl_PL.i18n.json @@ -271,12 +271,7 @@ "updateNotImplemented": "Ta funkcja nie została jeszcze zaimplementowana" }, "contributorsView": { - "widgetTitle": "Współtwórcy", - "patcherContributors": "Program łatający ReVanced", - "patchesContributors": "Łatki ReVanced", - "integrationsContributors": "Integracje ReVanced", - "cliContributors": "CLI ReVanced", - "managerContributors": "Menedżer ReVanced" + "widgetTitle": "Współtwórcy" }, "installErrorDialog": { "mount_version_mismatch": "Niezgodność wersji", diff --git a/assets/i18n/strings_pt_PT.i18n.json b/assets/i18n/strings_pt_PT.i18n.json index 47e04d63c0..832983dca1 100755 --- a/assets/i18n/strings_pt_PT.i18n.json +++ b/assets/i18n/strings_pt_PT.i18n.json @@ -271,12 +271,7 @@ "updateNotImplemented": "Este recurso ainda não foi implementado" }, "contributorsView": { - "widgetTitle": "Contribuidores", - "patcherContributors": "Modificador ReVanced", - "patchesContributors": "Modificações ReVanced", - "integrationsContributors": "Integrações ReVanced", - "cliContributors": "Cliente ReVanced", - "managerContributors": "Gestor ReVanced" + "widgetTitle": "Contribuidores" }, "installErrorDialog": { "mount_version_mismatch": "Versão incompatível", diff --git a/assets/i18n/strings_ro_RO.i18n.json b/assets/i18n/strings_ro_RO.i18n.json index 3bf3cd79d8..d0c43b638e 100755 --- a/assets/i18n/strings_ro_RO.i18n.json +++ b/assets/i18n/strings_ro_RO.i18n.json @@ -271,12 +271,7 @@ "updateNotImplemented": "Această funcție nu a fost încă implementată" }, "contributorsView": { - "widgetTitle": "Contribuitori", - "patcherContributors": "Patcher ReVanced", - "patchesContributors": "Patch-uri ReVanced", - "integrationsContributors": "Integrări ReVanced", - "cliContributors": "CLI ReVanced", - "managerContributors": "Manager ReVanced" + "widgetTitle": "Contribuitori" }, "installErrorDialog": { "mount_version_mismatch": "Versiune nepotrivită", diff --git a/assets/i18n/strings_ru_RU.i18n.json b/assets/i18n/strings_ru_RU.i18n.json index 88512d94d0..04a7fe2119 100755 --- a/assets/i18n/strings_ru_RU.i18n.json +++ b/assets/i18n/strings_ru_RU.i18n.json @@ -271,12 +271,7 @@ "updateNotImplemented": "Эта возможность ещё не реализована" }, "contributorsView": { - "widgetTitle": "Соучастники проекта", - "patcherContributors": "ReVanced патчер", - "patchesContributors": "ReVanced патчи", - "integrationsContributors": "Интеграции ReVanced", - "cliContributors": "ReVanced CLI", - "managerContributors": "ReVanced Менеджер" + "widgetTitle": "Соучастники проекта" }, "installErrorDialog": { "mount_version_mismatch": "Несовпадение версий", diff --git a/assets/i18n/strings_sr_CS.i18n.json b/assets/i18n/strings_sr_CS.i18n.json index f248a709a9..d011035299 100755 --- a/assets/i18n/strings_sr_CS.i18n.json +++ b/assets/i18n/strings_sr_CS.i18n.json @@ -271,12 +271,7 @@ "updateNotImplemented": "Ova funkcija još uvek nije implementirana" }, "contributorsView": { - "widgetTitle": "Saradnici", - "patcherContributors": "ReVanced Patcher", - "patchesContributors": "ReVanced pečevi", - "integrationsContributors": "ReVanced integracije", - "cliContributors": "ReVanced CLI", - "managerContributors": "ReVanced Manager" + "widgetTitle": "Saradnici" }, "installErrorDialog": { "mount_version_mismatch": "Verzija se ne poklapa", diff --git a/assets/i18n/strings_sr_SP.i18n.json b/assets/i18n/strings_sr_SP.i18n.json index 4683df4233..0cac96030e 100755 --- a/assets/i18n/strings_sr_SP.i18n.json +++ b/assets/i18n/strings_sr_SP.i18n.json @@ -271,12 +271,7 @@ "updateNotImplemented": "Ова функција још увек није имплементирана" }, "contributorsView": { - "widgetTitle": "Сарадници", - "patcherContributors": "ReVanced Patcher", - "patchesContributors": "ReVanced печеви", - "integrationsContributors": "ReVanced интеграције", - "cliContributors": "ReVanced CLI", - "managerContributors": "ReVanced Manager" + "widgetTitle": "Сарадници" }, "installErrorDialog": { "mount_version_mismatch": "Верзија се не поклапа", diff --git a/assets/i18n/strings_sv_SE.i18n.json b/assets/i18n/strings_sv_SE.i18n.json index 3f716ac406..6fd0da77ae 100755 --- a/assets/i18n/strings_sv_SE.i18n.json +++ b/assets/i18n/strings_sv_SE.i18n.json @@ -271,12 +271,7 @@ "updateNotImplemented": "Denna funktionen har inte lagts till ännu" }, "contributorsView": { - "widgetTitle": "Bidragsgivare", - "patcherContributors": "Revanced-patcher", - "patchesContributors": "Revanced-patchar", - "integrationsContributors": "ReVanced-integrationer", - "cliContributors": "ReVanced-CLI", - "managerContributors": "ReVanced-hanterare" + "widgetTitle": "Bidragsgivare" }, "installErrorDialog": { "mount_version_mismatch": "Versionerna stämmer inte överens", diff --git a/assets/i18n/strings_tr_TR.i18n.json b/assets/i18n/strings_tr_TR.i18n.json index b25556b445..996823e9e7 100755 --- a/assets/i18n/strings_tr_TR.i18n.json +++ b/assets/i18n/strings_tr_TR.i18n.json @@ -271,12 +271,7 @@ "updateNotImplemented": "Bu özellik henüz geliştirilmedi" }, "contributorsView": { - "widgetTitle": "Katkıda bulunanlar", - "patcherContributors": "ReVanced Patcher", - "patchesContributors": "ReVanced Patches", - "integrationsContributors": "ReVanced Integrations", - "cliContributors": "ReVanced CLI", - "managerContributors": "ReVanced Manager" + "widgetTitle": "Katkıda bulunanlar" }, "installErrorDialog": { "mount_version_mismatch": "Sürüm uyuşmazlığı", diff --git a/assets/i18n/strings_uk_UA.i18n.json b/assets/i18n/strings_uk_UA.i18n.json index 7d064f07ab..e42f48c72d 100755 --- a/assets/i18n/strings_uk_UA.i18n.json +++ b/assets/i18n/strings_uk_UA.i18n.json @@ -271,12 +271,7 @@ "updateNotImplemented": "Ця можливість ще не реалізована" }, "contributorsView": { - "widgetTitle": "Розробники", - "patcherContributors": "ReVanced Patcher", - "patchesContributors": "ReVanced Patches", - "integrationsContributors": "ReVanced Integrations", - "cliContributors": "ReVanced CLI", - "managerContributors": "ReVanced Manager" + "widgetTitle": "Розробники" }, "installErrorDialog": { "mount_version_mismatch": "Невідповідність версії", diff --git a/assets/i18n/strings_vi_VN.i18n.json b/assets/i18n/strings_vi_VN.i18n.json index 20898f2a81..89166d237d 100755 --- a/assets/i18n/strings_vi_VN.i18n.json +++ b/assets/i18n/strings_vi_VN.i18n.json @@ -271,12 +271,7 @@ "updateNotImplemented": "Tính năng này chưa được triển khai" }, "contributorsView": { - "widgetTitle": "Những người đóng góp", - "patcherContributors": "Trình vá ReVanced", - "patchesContributors": "Bản vá ReVanced", - "integrationsContributors": "Tích hợp ReVanced", - "cliContributors": "Giao tiếp dòng lệnh (CLI) ReVanced", - "managerContributors": "ReVanced Manager" + "widgetTitle": "Những người đóng góp" }, "installErrorDialog": { "mount_version_mismatch": "Phiên bản không phù hợp", diff --git a/assets/i18n/strings_zh_TW.i18n.json b/assets/i18n/strings_zh_TW.i18n.json index 08867e32db..6cd6d0bc8b 100755 --- a/assets/i18n/strings_zh_TW.i18n.json +++ b/assets/i18n/strings_zh_TW.i18n.json @@ -271,12 +271,7 @@ "updateNotImplemented": "這項功能尚未實作" }, "contributorsView": { - "widgetTitle": "貢獻者", - "patcherContributors": "ReVanced 修補程式", - "patchesContributors": "ReVanced 補丁", - "integrationsContributors": "ReVanced 整合", - "cliContributors": "ReVanced 命令行介面", - "managerContributors": "ReVanced 管理器" + "widgetTitle": "貢獻者" }, "installErrorDialog": { "mount_version_mismatch": "版本不相符", diff --git a/lib/ui/views/contributors/contributors_view.dart b/lib/ui/views/contributors/contributors_view.dart index 33740a7b13..c2b91b3ac6 100644 --- a/lib/ui/views/contributors/contributors_view.dart +++ b/lib/ui/views/contributors/contributors_view.dart @@ -31,27 +31,27 @@ class ContributorsView extends StatelessWidget { delegate: SliverChildListDelegate.fixed( [ ContributorsCard( - title: t.contributorsView.patcherContributors, + title: 'ReVanced Patcher', contributors: model.patcherContributors, ), const SizedBox(height: 20), ContributorsCard( - title: t.contributorsView.patchesContributors, + title: 'ReVanced Patches', contributors: model.patchesContributors, ), const SizedBox(height: 20), ContributorsCard( - title: t.contributorsView.integrationsContributors, + title: 'ReVanced Integrations', contributors: model.integrationsContributors, ), const SizedBox(height: 20), ContributorsCard( - title: t.contributorsView.cliContributors, + title: 'ReVanced CLI', contributors: model.cliContributors, ), const SizedBox(height: 20), ContributorsCard( - title: t.contributorsView.managerContributors, + title: 'ReVanced Manager', contributors: model.managerContributors, ), SizedBox(height: MediaQuery.viewPaddingOf(context).bottom), From a971cbd5195b2ac7230b2de3c8c2c90a88272953 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Thu, 28 Mar 2024 06:23:34 +0000 Subject: [PATCH 021/127] chore(release): 1.19.4-dev.5 [skip ci] ## [1.19.4-dev.5](https://github.com/ReVanced/revanced-manager/compare/v1.19.4-dev.4...v1.19.4-dev.5) (2024-03-28) ### Bug Fixes * Don't translation ReVanced repository ([c265794](https://github.com/ReVanced/revanced-manager/commit/c265794d0efbc3ed2dea7a60c7ebd461f711799a)) --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 4e75f8f554..fee25dcad3 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -4,7 +4,7 @@ homepage: https://github.com/ReVanced/revanced-manager publish_to: 'none' -version: 1.19.4-dev.4+101800010 +version: 1.19.4-dev.5+101800011 environment: sdk: '>=3.0.0 <4.0.0' From 076e17d6700701e99835952ac80fa5654f06d137 Mon Sep 17 00:00:00 2001 From: Ushie Date: Sat, 30 Mar 2024 03:12:06 +0300 Subject: [PATCH 022/127] chore: Don't preserve hierachy in Crowdin --- crowdin.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crowdin.yml b/crowdin.yml index 7dabb6a922..be87274481 100644 --- a/crowdin.yml +++ b/crowdin.yml @@ -1,7 +1,7 @@ project_id_env: "CROWDIN_PROJECT_ID" api_token_env: "CROWDIN_PERSONAL_TOKEN" -preserve_hierarchy: true +preserve_hierarchy: false files: - source: /assets/i18n/strings.i18n.json translation: /assets/i18n/strings_%locale_with_underscore%.i18n.json From aba2ed4378a0dbe7445acbf86be83265f495a6cf Mon Sep 17 00:00:00 2001 From: Ushie Date: Sat, 30 Mar 2024 03:16:39 +0300 Subject: [PATCH 023/127] ci: Don't specify bundle --- .github/workflows/sync_crowdin.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sync_crowdin.yml b/.github/workflows/sync_crowdin.yml index dbec480c51..f750dd7ecc 100644 --- a/.github/workflows/sync_crowdin.yml +++ b/.github/workflows/sync_crowdin.yml @@ -29,7 +29,7 @@ jobs: config: crowdin.yml upload_sources: true upload_translations: false - download_bundle: 16 + download_translations: true localization_branch_name: feat/translations create_pull_request: true pull_request_title: "chore: Sync translations" From fb29036d0a5cfa87a94eeaf148adfb2d2c26d3de Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Apr 2024 10:18:52 +0700 Subject: [PATCH 024/127] build(deps): bump flutter_lints from 3.0.1 to 3.0.2 (#1805) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pubspec.lock | 4 ++-- pubspec.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index cc786fafe7..e8dd234644 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -348,10 +348,10 @@ packages: dependency: "direct dev" description: name: flutter_lints - sha256: e2a421b7e59244faef694ba7b30562e489c2b489866e505074eb005cd7060db7 + sha256: "9e8c3858111da373efc5aa341de011d9bd23e2c5c5e0c62bccf32438e192d7b1" url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.0.2" flutter_local_notifications: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index fee25dcad3..f51c09ddf9 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -74,7 +74,7 @@ dependencies: dev_dependencies: analyzer: ^6.4.1 build_runner: any - flutter_lints: ^3.0.1 + flutter_lints: ^3.0.2 injectable_generator: ^2.1.5 json_serializable: ^6.7.1 From 1fd44e1cfccbb07d7889086a92c238d7b5307f10 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Apr 2024 11:43:29 +0700 Subject: [PATCH 025/127] build(deps-dev): bump @droidsolutions-oss/semantic-release-update-file from 1.4.0-beta.1 to 1.4.0 (#1815) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index bf706cdfbe..274c9ea350 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,7 +5,7 @@ "packages": { "": { "devDependencies": { - "@droidsolutions-oss/semantic-release-update-file": "^1.4.0-beta.1", + "@droidsolutions-oss/semantic-release-update-file": "^1.4.0", "@saithodev/semantic-release-backmerge": "^4.0.1", "@semantic-release/changelog": "^6.0.3", "@semantic-release/exec": "^6.0.3", @@ -60,9 +60,9 @@ } }, "node_modules/@droidsolutions-oss/semantic-release-update-file": { - "version": "1.4.0-beta.1", - "resolved": "https://registry.npmjs.org/@droidsolutions-oss/semantic-release-update-file/-/semantic-release-update-file-1.4.0-beta.1.tgz", - "integrity": "sha512-CdqG3vIceWFBmwz0qcY0NdqaE+TGNuhhbgFXHIj/M1fYAD1lQ4QyGEaoD3d4F4ZHYsBqR0HrHNMTG4bycBRKNw==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@droidsolutions-oss/semantic-release-update-file/-/semantic-release-update-file-1.4.0.tgz", + "integrity": "sha512-kl9krFVGLOklI7YswoghWkI4muQ8iV6mDg/3lAed0dlZGsoRvdH5IMLxQ2FeJzvcgh7QjuZN1SggzsOo9AV+9w==", "dev": true, "dependencies": { "aggregate-error": "^3.1.0", diff --git a/package.json b/package.json index 3e5d19e34d..71158f387e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "devDependencies": { - "@droidsolutions-oss/semantic-release-update-file": "^1.4.0-beta.1", + "@droidsolutions-oss/semantic-release-update-file": "^1.4.0", "@saithodev/semantic-release-backmerge": "^4.0.1", "@semantic-release/changelog": "^6.0.3", "@semantic-release/exec": "^6.0.3", From ecb041187ba3b8ff8c92a46671ff550093c6ae76 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Apr 2024 11:43:57 +0700 Subject: [PATCH 026/127] build(deps-dev): bump semantic-release from 23.0.2 to 23.0.6 (#1816) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 287 ++++++++++++++++++++++++++++++++++++++++++++-- package.json | 2 +- 2 files changed, 280 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index 274c9ea350..84eb9bc3e4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "@semantic-release/changelog": "^6.0.3", "@semantic-release/exec": "^6.0.3", "@semantic-release/git": "^10.0.1", - "semantic-release": "^23.0.2" + "semantic-release": "^23.0.6" } }, "node_modules/@babel/code-frame": { @@ -6132,16 +6132,16 @@ "dev": true }, "node_modules/semantic-release": { - "version": "23.0.2", - "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-23.0.2.tgz", - "integrity": "sha512-OnVYJ6Xgzwe1x8MKswba7RU9+5djS1MWRTrTn5qsq3xZYpslroZkV9Pt0dA2YcIuieeuSZWJhn+yUWoBUHO5Fw==", + "version": "23.0.6", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-23.0.6.tgz", + "integrity": "sha512-/r62F4PNhJZhyZYMobcpcACGwpFNQyaVcSmqZQXG50GMbHSBVZQLCvwafqxO1lDQKVgmGmyCEtOVYzwvzvyhVw==", "dev": true, "dependencies": { - "@semantic-release/commit-analyzer": "^11.0.0", + "@semantic-release/commit-analyzer": "^12.0.0", "@semantic-release/error": "^4.0.0", - "@semantic-release/github": "^9.0.0", - "@semantic-release/npm": "^11.0.0", - "@semantic-release/release-notes-generator": "^12.0.0", + "@semantic-release/github": "^10.0.0", + "@semantic-release/npm": "^12.0.0", + "@semantic-release/release-notes-generator": "^13.0.0", "aggregate-error": "^5.0.0", "cosmiconfig": "^9.0.0", "debug": "^4.0.0", @@ -6174,6 +6174,156 @@ "node": ">=20.8.1" } }, + "node_modules/semantic-release/node_modules/@octokit/auth-token": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.0.1.tgz", + "integrity": "sha512-RTmWsLfig8SBoiSdgvCht4BXl1CHU89Co5xiQ5JF19my/sIRDFCQ1RPrmK0exgqUZuNm39C/bV8+/83+MJEjGg==", + "dev": true, + "engines": { + "node": ">= 18" + } + }, + "node_modules/semantic-release/node_modules/@octokit/core": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.0.1.tgz", + "integrity": "sha512-MIpPQXu8Y8GjHwXM81JLveiV+DHJZtLMcB5nKekBGOl3iAtk0HT3i12Xl8Biybu+bCS1+k4qbuKEq5d0RxNRnQ==", + "dev": true, + "dependencies": { + "@octokit/auth-token": "^5.0.0", + "@octokit/graphql": "^8.0.0", + "@octokit/request": "^9.0.0", + "@octokit/request-error": "^6.0.1", + "@octokit/types": "^12.0.0", + "before-after-hook": "^3.0.2", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/semantic-release/node_modules/@octokit/endpoint": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.0.0.tgz", + "integrity": "sha512-emBcNDxBdC1y3+knJonS5zhUB/CG6TihubxM2U1/pG/Z1y3a4oV0Gzz3lmkCvWWQI6h3tqBAX9MgCBFp+M68Jw==", + "dev": true, + "dependencies": { + "@octokit/types": "^12.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/semantic-release/node_modules/@octokit/graphql": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.0.1.tgz", + "integrity": "sha512-lLDb6LhC1gBj2CxEDa5Xk10+H/boonhs+3Mi6jpRyetskDKNHe6crMeKmUE2efoLofMP8ruannLlCUgpTFmVzQ==", + "dev": true, + "dependencies": { + "@octokit/request": "^9.0.0", + "@octokit/types": "^12.0.0", + "universal-user-agent": "^7.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/semantic-release/node_modules/@octokit/plugin-paginate-rest": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-10.0.0.tgz", + "integrity": "sha512-G1Z67qOiFneKDJyMafHQkWnKm1kU3FfbRZLzxgsFg4dOa3pRNdABbdk+xo/oev6P88lnbt7GKdBNB6dJZuPphA==", + "dev": true, + "dependencies": { + "@octokit/types": "^12.6.0" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": ">=6" + } + }, + "node_modules/semantic-release/node_modules/@octokit/plugin-retry": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-7.0.3.tgz", + "integrity": "sha512-T9l5Z7XnDZ7dkyNmhJPSUq0YjbqUT/xn4yQbhcSuv4WGC/LqM73/mKwkl68VDPoLw20e8oz4L7qQopWt9v6sow==", + "dev": true, + "dependencies": { + "@octokit/request-error": "^6.0.0", + "@octokit/types": "^12.0.0", + "bottleneck": "^2.15.3" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": ">=6" + } + }, + "node_modules/semantic-release/node_modules/@octokit/plugin-throttling": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-9.0.3.tgz", + "integrity": "sha512-DReKamrLBJOzld73dmmxV2H137QKJfsxszAczEZXeAJQ/Po6bzQacKajPdodA6T1jfmP9+waImus+d/R2j+R7Q==", + "dev": true, + "dependencies": { + "@octokit/types": "^12.6.0", + "bottleneck": "^2.15.3" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": "^6.0.0" + } + }, + "node_modules/semantic-release/node_modules/@octokit/request": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.0.1.tgz", + "integrity": "sha512-kL+cAcbSl3dctYLuJmLfx6Iku2MXXy0jszhaEIjQNaCp4zjHXrhVAHeuaRdNvJjW9qjl3u1MJ72+OuBP0YW/pg==", + "dev": true, + "dependencies": { + "@octokit/endpoint": "^10.0.0", + "@octokit/request-error": "^6.0.1", + "@octokit/types": "^12.0.0", + "universal-user-agent": "^7.0.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/semantic-release/node_modules/@octokit/request-error": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.0.2.tgz", + "integrity": "sha512-WtRVpoHcNXs84+s9s/wqfHaxM68NGMg8Av7h59B50OVO0PwwMx+2GgQ/OliUd0iQBSNWgR6N8afi/KjSHbXHWw==", + "dev": true, + "dependencies": { + "@octokit/types": "^12.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/semantic-release/node_modules/@semantic-release/commit-analyzer": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-12.0.0.tgz", + "integrity": "sha512-qG+md5gdes+xa8zP7lIo1fWE17zRdO8yMCaxh9lyL65TQleoSv8WHHOqRURfghTytUh+NpkSyBprQ5hrkxOKVQ==", + "dev": true, + "dependencies": { + "conventional-changelog-angular": "^7.0.0", + "conventional-commits-filter": "^4.0.0", + "conventional-commits-parser": "^5.0.0", + "debug": "^4.0.0", + "import-from-esm": "^1.0.3", + "lodash-es": "^4.17.21", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=20.8.1" + }, + "peerDependencies": { + "semantic-release": ">=20.1.0" + } + }, "node_modules/semantic-release/node_modules/@semantic-release/error": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz", @@ -6183,6 +6333,99 @@ "node": ">=18" } }, + "node_modules/semantic-release/node_modules/@semantic-release/github": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-10.0.2.tgz", + "integrity": "sha512-SP5ihhv/uQa8vPuWKmbJrrzfv8lRUkDFC6qwgaWoorrflN1DEW0IGCa9w/PxUp8Ad3dbvXZPmpXdGiP3eyTzhg==", + "dev": true, + "dependencies": { + "@octokit/core": "^6.0.0", + "@octokit/plugin-paginate-rest": "^10.0.0", + "@octokit/plugin-retry": "^7.0.0", + "@octokit/plugin-throttling": "^9.0.0", + "@semantic-release/error": "^4.0.0", + "aggregate-error": "^5.0.0", + "debug": "^4.3.4", + "dir-glob": "^3.0.1", + "globby": "^14.0.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.0", + "issue-parser": "^7.0.0", + "lodash-es": "^4.17.21", + "mime": "^4.0.0", + "p-filter": "^4.0.0", + "url-join": "^5.0.0" + }, + "engines": { + "node": ">=20.8.1" + }, + "peerDependencies": { + "semantic-release": ">=20.1.0" + } + }, + "node_modules/semantic-release/node_modules/@semantic-release/npm": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-12.0.0.tgz", + "integrity": "sha512-72TVYQCH9NvVsO/y13eF8vE4bNnfls518+4KcFwJUKi7AtA/ZXoNgSg9gTTfw5eMZMkiH0izUrpGXgZE/cSQhA==", + "dev": true, + "dependencies": { + "@semantic-release/error": "^4.0.0", + "aggregate-error": "^5.0.0", + "execa": "^8.0.0", + "fs-extra": "^11.0.0", + "lodash-es": "^4.17.21", + "nerf-dart": "^1.0.0", + "normalize-url": "^8.0.0", + "npm": "^10.5.0", + "rc": "^1.2.8", + "read-pkg": "^9.0.0", + "registry-auth-token": "^5.0.0", + "semver": "^7.1.2", + "tempy": "^3.0.0" + }, + "engines": { + "node": ">=20.8.1" + }, + "peerDependencies": { + "semantic-release": ">=20.1.0" + } + }, + "node_modules/semantic-release/node_modules/@semantic-release/release-notes-generator": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-13.0.0.tgz", + "integrity": "sha512-LEeZWb340keMYuREMyxrODPXJJ0JOL8D/mCl74B4LdzbxhtXV2LrPN2QBEcGJrlQhoqLO0RhxQb6masHytKw+A==", + "dev": true, + "dependencies": { + "conventional-changelog-angular": "^7.0.0", + "conventional-changelog-writer": "^7.0.0", + "conventional-commits-filter": "^4.0.0", + "conventional-commits-parser": "^5.0.0", + "debug": "^4.0.0", + "get-stream": "^7.0.0", + "import-from-esm": "^1.0.3", + "into-stream": "^7.0.0", + "lodash-es": "^4.17.21", + "read-pkg-up": "^11.0.0" + }, + "engines": { + "node": ">=20.8.1" + }, + "peerDependencies": { + "semantic-release": ">=20.1.0" + } + }, + "node_modules/semantic-release/node_modules/@semantic-release/release-notes-generator/node_modules/get-stream": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-7.0.1.tgz", + "integrity": "sha512-3M8C1EOFN6r8AMUhwUAACIoXZJEOufDU5+0gFFN5uNs6XYOralD2Pqkl7m046va6x77FwposWXbAhPPIOus7mQ==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/semantic-release/node_modules/aggregate-error": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", @@ -6199,6 +6442,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/semantic-release/node_modules/before-after-hook": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", + "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==", + "dev": true + }, "node_modules/semantic-release/node_modules/clean-stack": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz", @@ -6294,6 +6543,22 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/semantic-release/node_modules/issue-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-7.0.0.tgz", + "integrity": "sha512-jgAw78HO3gs9UrKqJNQvfDj9Ouy8Mhu40fbEJ8yXff4MW8+/Fcn9iFjyWUQ6SKbX8ipPk3X5A3AyfYHRu6uVLw==", + "dev": true, + "dependencies": { + "lodash.capitalize": "^4.2.1", + "lodash.escaperegexp": "^4.1.2", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.uniqby": "^4.7.0" + }, + "engines": { + "node": "^18.17 || >=20.6.1" + } + }, "node_modules/semantic-release/node_modules/mimic-fn": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", @@ -6384,6 +6649,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/semantic-release/node_modules/universal-user-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", + "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==", + "dev": true + }, "node_modules/semver": { "version": "7.6.0", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", diff --git a/package.json b/package.json index 71158f387e..15c600421c 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,6 @@ "@semantic-release/changelog": "^6.0.3", "@semantic-release/exec": "^6.0.3", "@semantic-release/git": "^10.0.1", - "semantic-release": "^23.0.2" + "semantic-release": "^23.0.6" } } From 04a3df3642d86f329c21860800c573109c803c92 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Apr 2024 11:48:46 +0700 Subject: [PATCH 027/127] build(deps): bump package_info_plus from 5.0.1 to 6.0.0 (#1806) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pubspec.lock | 36 ++++++++++++++++++------------------ pubspec.yaml | 2 +- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index e8dd234644..473fba6315 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -181,10 +181,10 @@ packages: dependency: transitive description: name: cross_file - sha256: fedaadfa3a6996f75211d835aaeb8fede285dae94262485698afd832371b9a5e + sha256: "55d7b444feb71301ef6b8838dbc1ae02e63dd48c8773f3810ff53bb1e2945b32" url: "https://pub.dev" source: hosted - version: "0.3.3+8" + version: "0.3.4+1" crypto: dependency: transitive description: @@ -475,10 +475,10 @@ packages: dependency: transitive description: name: http - sha256: a2bbf9d017fcced29139daa8ed2bba4ece450ab222871df93ca9eec6f80c34ba + sha256: "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.2.1" http_multi_server: dependency: transitive description: @@ -692,10 +692,10 @@ packages: dependency: "direct main" description: name: package_info_plus - sha256: "88bc797f44a94814f2213db1c9bd5badebafdfb8290ca9f78d4b9ee2a3db4d79" + sha256: cb44f49b6e690fa766f023d5b22cac6b9affe741dd792b6ac7ad4fabe0d7b097 url: "https://pub.dev" source: hosted - version: "5.0.1" + version: "6.0.0" package_info_plus_platform_interface: dependency: transitive description: @@ -958,10 +958,10 @@ packages: dependency: transitive description: name: shared_preferences_web - sha256: "7b15ffb9387ea3e237bb7a66b8a23d2147663d391cafc5c8f37b2e7b4bde5d21" + sha256: "9aee1089b36bd2aafe06582b7d7817fd317ef05fc30e6ba14bff247d0933042a" url: "https://pub.dev" source: hosted - version: "2.2.2" + version: "2.3.0" shared_preferences_windows: dependency: transitive description: @@ -1243,10 +1243,10 @@ packages: dependency: transitive description: name: url_launcher_web - sha256: fff0932192afeedf63cdd50ecbb1bc825d31aed259f02bb8dba0f3b729a5e88b + sha256: "3692a459204a33e04bc94f5fb91158faf4f2c8903281ddd82915adecdb1a901d" url: "https://pub.dev" source: hosted - version: "2.2.3" + version: "2.3.0" url_launcher_windows: dependency: transitive description: @@ -1283,18 +1283,18 @@ packages: dependency: "direct main" description: name: wakelock_plus - sha256: f268ca2116db22e57577fb99d52515a24bdc1d570f12ac18bb762361d43b043d + sha256: "104d94837bb28c735894dcd592877e990149c380e6358b00c04398ca1426eed4" url: "https://pub.dev" source: hosted - version: "1.1.4" + version: "1.2.1" wakelock_plus_platform_interface: dependency: transitive description: name: wakelock_plus_platform_interface - sha256: "40fabed5da06caff0796dc638e1f07ee395fb18801fbff3255a2372db2d80385" + sha256: "582f2f7aecc7376332d961a0dd1efa9378ce117657e0ade55d9ff72699a55e82" url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.2.0" watcher: dependency: transitive description: @@ -1307,18 +1307,18 @@ packages: dependency: transitive description: name: web - sha256: "4188706108906f002b3a293509234588823c8c979dc83304e229ff400c996b05" + sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" url: "https://pub.dev" source: hosted - version: "0.4.2" + version: "0.5.1" web_socket_channel: dependency: transitive description: name: web_socket_channel - sha256: "939ab60734a4f8fa95feacb55804fa278de28bdeef38e616dc08e44a84adea23" + sha256: "1d8e795e2a8b3730c41b8a98a2dff2e0fb57ae6f0764a1c46ec5915387d257b2" url: "https://pub.dev" source: hosted - version: "2.4.3" + version: "2.4.4" win32: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index f51c09ddf9..d63db24274 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -46,7 +46,7 @@ dependencies: git: url: https://github.com/BenjaminHalko/logcat ref: 4a6d5e0e22292c8eb160cfb9365b9ea29735fd43 # Branch: master - package_info_plus: ^5.0.1 + package_info_plus: ^6.0.0 path_provider: ^2.0.14 permission_handler: ^11.0.1 root: From a62a8852e7eda1a648584501530726522cdae4cb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 1 Apr 2024 11:49:03 +0700 Subject: [PATCH 028/127] build(deps): bump connectivity_plus from 5.0.2 to 6.0.1 (#1808) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pubspec.lock | 8 ++++---- pubspec.yaml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 473fba6315..6377e6f0fd 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -157,18 +157,18 @@ packages: dependency: "direct main" description: name: connectivity_plus - sha256: "224a77051d52a11fbad53dd57827594d3bd24f945af28bd70bab376d68d437f0" + sha256: e9feae83b1849f61bad9f6f33ee00646e3410d54ce0821e02f262f9901dad3c9 url: "https://pub.dev" source: hosted - version: "5.0.2" + version: "6.0.1" connectivity_plus_platform_interface: dependency: transitive description: name: connectivity_plus_platform_interface - sha256: cf1d1c28f4416f8c654d7dc3cd638ec586076255d407cef3ddbdaf178272a71a + sha256: b6a56efe1e6675be240de39107281d4034b64ac23438026355b4234042a35adb url: "https://pub.dev" source: hosted - version: "1.2.4" + version: "2.0.0" convert: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index d63db24274..bf05818948 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -12,7 +12,7 @@ environment: dependencies: animations: ^2.0.7 collection: ^1.17.0 - connectivity_plus: ^5.0.1 + connectivity_plus: ^6.0.1 device_apps: git: url: https://github.com/ponces/flutter_plugin_device_apps From 401646ace4e2dc2ec12c403dc6011aaed878dcda Mon Sep 17 00:00:00 2001 From: Ax333l Date: Tue, 2 Apr 2024 18:09:38 +0200 Subject: [PATCH 029/127] fix: disable proguard obfuscation --- android/app/proguard-rules.pro | 2 ++ 1 file changed, 2 insertions(+) diff --git a/android/app/proguard-rules.pro b/android/app/proguard-rules.pro index 56ae0a5014..ce5df91fdf 100644 --- a/android/app/proguard-rules.pro +++ b/android/app/proguard-rules.pro @@ -5,6 +5,8 @@ # For more details, see # http://developer.android.com/guide/developing/tools/proguard.html +-dontobfuscate + -keep class app.revanced.** { *; } -keep class com.android.tools.smali.** { *; } -keep class kotlin.** { *; } From 35fdbb59885b438be8548147b8f90541b901493c Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Tue, 2 Apr 2024 16:19:30 +0000 Subject: [PATCH 030/127] chore(release): 1.19.4-dev.6 [skip ci] ## [1.19.4-dev.6](https://github.com/ReVanced/revanced-manager/compare/v1.19.4-dev.5...v1.19.4-dev.6) (2024-04-02) ### Bug Fixes * disable proguard obfuscation ([401646a](https://github.com/ReVanced/revanced-manager/commit/401646ace4e2dc2ec12c403dc6011aaed878dcda)) --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index bf05818948..7b5332b7f1 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -4,7 +4,7 @@ homepage: https://github.com/ReVanced/revanced-manager publish_to: 'none' -version: 1.19.4-dev.5+101800011 +version: 1.19.4-dev.6+101800012 environment: sdk: '>=3.0.0 <4.0.0' From 025ff527ee8bfc01767c5df94cb399ca3b98cf27 Mon Sep 17 00:00:00 2001 From: DMzS <75044136+Domenic-MZS@users.noreply.github.com> Date: Wed, 3 Apr 2024 22:27:47 -0400 Subject: [PATCH 031/127] fix(ui): Support free-scroll and auto-scroll for the installer logs (#1736) (#1836) --- lib/ui/views/installer/installer_view.dart | 87 ++++++++++++------- .../views/installer/installer_viewmodel.dart | 62 +++++++++++-- 2 files changed, 109 insertions(+), 40 deletions(-) diff --git a/lib/ui/views/installer/installer_view.dart b/lib/ui/views/installer/installer_view.dart index c3175b7f5e..4d16b750ca 100644 --- a/lib/ui/views/installer/installer_view.dart +++ b/lib/ui/views/installer/installer_view.dart @@ -75,43 +75,64 @@ class InstallerView extends StatelessWidget { ), ), ), - body: CustomScrollView( - controller: model.scrollController, - slivers: [ - CustomSliverAppBar( - title: Text( - model.headerLogs, - style: GoogleFonts.inter( - color: Theme.of(context).textTheme.titleLarge!.color, - ), - maxLines: 1, - overflow: TextOverflow.ellipsis, - ), - onBackButtonPressed: () => Navigator.maybePop(context), - bottom: PreferredSize( - preferredSize: const Size(double.infinity, 1.0), - child: GradientProgressIndicator(progress: model.progress), - ), - ), - SliverPadding( - padding: const EdgeInsets.all(20.0), - sliver: SliverList( - delegate: SliverChildListDelegate.fixed( - [ - CustomCard( - child: Text( - model.logs, - style: GoogleFonts.jetBrainsMono( - fontSize: 13, - height: 1.5, - ), + body: NotificationListener( + onNotification: model.handleAutoScrollNotification, + child: Stack( + children: [ + CustomScrollView( + key: model.logCustomScrollKey, + controller: model.scrollController, + slivers: [ + CustomSliverAppBar( + title: Text( + model.headerLogs, + style: GoogleFonts.inter( + color: + Theme.of(context).textTheme.titleLarge!.color, + ), + maxLines: 1, + overflow: TextOverflow.ellipsis, + ), + onBackButtonPressed: () => Navigator.maybePop(context), + bottom: PreferredSize( + preferredSize: const Size(double.infinity, 1.0), + child: GradientProgressIndicator( + progress: model.progress, + ), + ), + ), + SliverPadding( + padding: const EdgeInsets.all(20.0), + sliver: SliverList( + delegate: SliverChildListDelegate.fixed( + [ + CustomCard( + child: Text( + model.logs, + style: GoogleFonts.jetBrainsMono( + fontSize: 13, + height: 1.5, + ), + ), + ), + ], ), ), - ], + ), + ], + ), + Visibility( + visible: model.showAutoScrollButton, + child: Align( + alignment: const Alignment(0.9, 0.97), + child: FloatingActionButton( + onPressed: model.scrollToBottom, + child: const Icon(Icons.arrow_downward_rounded), + ), ), ), - ), - ], + ], + ), ), ), ), diff --git a/lib/ui/views/installer/installer_viewmodel.dart b/lib/ui/views/installer/installer_viewmodel.dart index 0602eec7f0..c806a83917 100644 --- a/lib/ui/views/installer/installer_viewmodel.dart +++ b/lib/ui/views/installer/installer_viewmodel.dart @@ -30,6 +30,7 @@ class InstallerViewModel extends BaseViewModel { static const _installerChannel = MethodChannel( 'app.revanced.manager.flutter/installer', ); + final Key logCustomScrollKey = UniqueKey(); final ScrollController scrollController = ScrollController(); final ScreenshotCallback screenshotCallback = ScreenshotCallback(); double? progress = 0.0; @@ -44,6 +45,57 @@ class InstallerViewModel extends BaseViewModel { bool cancel = false; bool showPopupScreenshotWarning = true; + bool showAutoScrollButton = false; + bool _isAutoScrollEnabled = true; + bool _isAutoScrolling = false; + + double get getCurrentScrollPercentage { + final maxScrollExtent = scrollController.position.maxScrollExtent; + final currentPosition = scrollController.position.pixels; + + return currentPosition / maxScrollExtent; + } + + bool handleAutoScrollNotification(ScrollNotification event) { + if (_isAutoScrollEnabled && event is ScrollStartNotification) { + _isAutoScrollEnabled = _isAutoScrolling; + showAutoScrollButton = false; + notifyListeners(); + + return true; + } + + if (event is ScrollEndNotification) { + const anchorThreshold = 0.987; + + _isAutoScrollEnabled = + _isAutoScrolling || getCurrentScrollPercentage >= anchorThreshold; + + showAutoScrollButton = !_isAutoScrollEnabled && !_isAutoScrolling; + notifyListeners(); + + return true; + } + + return false; + } + + void scrollToBottom() { + _isAutoScrolling = true; + + WidgetsBinding.instance.addPostFrameCallback((_) async { + final maxScrollExtent = scrollController.position.maxScrollExtent; + + await scrollController.animateTo( + maxScrollExtent, + duration: const Duration(milliseconds: 100), + curve: Curves.fastOutSlowIn, + ); + + _isAutoScrolling = false; + }); + } + Future initialize(BuildContext context) async { isRooted = await _rootAPI.isRooted(); if (await Permission.ignoreBatteryOptimizations.isGranted) { @@ -123,13 +175,9 @@ class InstallerViewModel extends BaseViewModel { if (logs[logs.length - 1] == '\n') { logs = logs.substring(0, logs.length - 1); } - Future.delayed(const Duration(milliseconds: 100)).then((value) { - scrollController.animateTo( - scrollController.position.maxScrollExtent, - duration: const Duration(milliseconds: 100), - curve: Curves.fastOutSlowIn, - ); - }); + if (_isAutoScrollEnabled) { + scrollToBottom(); + } } notifyListeners(); } From e80ee098930a70bb3ddd6d8cf293adf917eb95f1 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Thu, 4 Apr 2024 02:35:20 +0000 Subject: [PATCH 032/127] chore(release): 1.19.4-dev.7 [skip ci] ## [1.19.4-dev.7](https://github.com/ReVanced/revanced-manager/compare/v1.19.4-dev.6...v1.19.4-dev.7) (2024-04-04) ### Bug Fixes * **ui:** Support free-scroll and auto-scroll for the installer logs ([#1736](https://github.com/ReVanced/revanced-manager/issues/1736)) ([#1836](https://github.com/ReVanced/revanced-manager/issues/1836)) ([025ff52](https://github.com/ReVanced/revanced-manager/commit/025ff527ee8bfc01767c5df94cb399ca3b98cf27)) --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 7b5332b7f1..3c8f0eb343 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -4,7 +4,7 @@ homepage: https://github.com/ReVanced/revanced-manager publish_to: 'none' -version: 1.19.4-dev.6+101800012 +version: 1.19.4-dev.7+101800013 environment: sdk: '>=3.0.0 <4.0.0' From f9e6ef3fd3612e72de358beb9f5d33b827dd2441 Mon Sep 17 00:00:00 2001 From: Lam Thanh Nhan Date: Fri, 5 Apr 2024 07:55:16 +0700 Subject: [PATCH 033/127] feat: Improve language update settings (#1838) --- .../settings_update_language.dart | 43 +++++++++---------- pubspec.yaml | 2 +- 2 files changed, 21 insertions(+), 24 deletions(-) diff --git a/lib/ui/views/settings/settingsFragment/settings_update_language.dart b/lib/ui/views/settings/settingsFragment/settings_update_language.dart index f7b4a2f27b..2494a6f4c5 100644 --- a/lib/ui/views/settings/settingsFragment/settings_update_language.dart +++ b/lib/ui/views/settings/settingsFragment/settings_update_language.dart @@ -34,17 +34,18 @@ class SUpdateLanguage extends BaseViewModel { } Future showLanguagesDialog(BuildContext parentContext) { - final ValueNotifier selectedLanguageCode = ValueNotifier( - '${LocaleSettings.currentLocale.languageCode}-${LocaleSettings.currentLocale.countryCode}', + final ValueNotifier selectedLanguageCode = ValueNotifier( + LocaleSettings.currentLocale, ); - LanguageCodes getLanguageCode(locale) { - return LanguageCodes.fromCode( - '${locale.languageCode}_${locale.countryCode}', + LanguageCodes getLanguageCode(Locale locale) { + return LanguageCodes.fromLocale( + locale, orElse: () => LanguageCodes.fromCode(locale.languageCode), ); } - final currentlyUsedLanguage = getLanguageCode(LocaleSettings.currentLocale); + final currentlyUsedLanguage = + getLanguageCode(LocaleSettings.currentLocale.flutterLocale); // initLang(); // Return a dialog with list for each language supported by the application. @@ -63,38 +64,34 @@ class SUpdateLanguage extends BaseViewModel { child: ListBody( children: [ RadioListTile( - // TODO(Someone): There must've been a better way to do this. title: Text(currentlyUsedLanguage.englishName), subtitle: Text( - '${currentlyUsedLanguage.nativeName} (${LocaleSettings.currentLocale.languageCode}${LocaleSettings.currentLocale.countryCode != null ? '-${LocaleSettings.currentLocale.countryCode}' : ''})', + '${currentlyUsedLanguage.nativeName}\n' + '(${LocaleSettings.currentLocale.languageTag})', ), - value: - '${LocaleSettings.currentLocale.languageCode}-${LocaleSettings.currentLocale.countryCode}' == - selectedLanguageCode.value, + value: LocaleSettings.currentLocale == + selectedLanguageCode.value, groupValue: true, onChanged: (value) { - selectedLanguageCode.value = - '${LocaleSettings.currentLocale.languageCode}-${LocaleSettings.currentLocale.countryCode}'; + selectedLanguageCode.value = LocaleSettings.currentLocale; }, ), ...AppLocale.values .where( - (locale) => - locale.languageCode != currentlyUsedLanguage.code, + (locale) => locale != LocaleSettings.currentLocale, ) .map((locale) { - final languageCode = getLanguageCode(locale); + final languageCode = getLanguageCode(locale.flutterLocale); return RadioListTile( title: Text(languageCode.englishName), subtitle: Text( - '${languageCode.nativeName} (${locale.languageCode}${locale.countryCode != null ? '-${locale.countryCode}' : ''})', + '${languageCode.nativeName}\n' + '(${locale.languageTag})', ), - value: '${locale.languageCode}-${locale.countryCode}' == - selectedLanguageCode.value, + value: locale == selectedLanguageCode.value, groupValue: true, onChanged: (value) { - selectedLanguageCode.value = - '${locale.languageCode}-${locale.countryCode}'; + selectedLanguageCode.value = locale; }, ); }), @@ -113,7 +110,7 @@ class SUpdateLanguage extends BaseViewModel { TextButton( onPressed: () { // TODO(nullcube): Translation will not update until we refresh the page. - updateLocale(selectedLanguageCode.value); + updateLocale(selectedLanguageCode.value.languageTag); Navigator.of(context).pop(); }, child: Text(t.okButton), @@ -133,7 +130,7 @@ class SUpdateLanguageUI extends StatelessWidget { padding: const EdgeInsets.symmetric(horizontal: 20.0), title: t.settingsView.languageLabel, subtitle: - LanguageCodes.fromCode(LocaleSettings.currentLocale.languageCode) + LanguageCodes.fromLocale(LocaleSettings.currentLocale.flutterLocale) .nativeName, onTap: () => _settingViewModel.sUpdateLanguage.showLanguagesDialog(context), diff --git a/pubspec.yaml b/pubspec.yaml index 3c8f0eb343..4ec89a46bb 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -41,7 +41,7 @@ dependencies: injectable: ^2.1.1 intl: ^0.18.0 json_annotation: ^4.8.1 - language_code: ^0.4.2 + language_code: ^0.5.1 logcat: git: url: https://github.com/BenjaminHalko/logcat From 8564c1a72e7f9d2c546fa0025b0626cfba26959e Mon Sep 17 00:00:00 2001 From: aAbed <39409020+TheAabedKhan@users.noreply.github.com> Date: Fri, 5 Apr 2024 06:43:59 +0545 Subject: [PATCH 034/127] fix: Do not crash when selecting an APK from storage (#1768) --- lib/ui/views/app_selector/app_selector_viewmodel.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ui/views/app_selector/app_selector_viewmodel.dart b/lib/ui/views/app_selector/app_selector_viewmodel.dart index bb6ad937ed..bc8d9c284c 100644 --- a/lib/ui/views/app_selector/app_selector_viewmodel.dart +++ b/lib/ui/views/app_selector/app_selector_viewmodel.dart @@ -258,7 +258,7 @@ class AppSelectorViewModel extends BaseViewModel { try { final String? result = await FlutterFileDialog.pickFile( params: const OpenFileDialogParams( - fileExtensionsFilter: ['apk'], + mimeTypesFilter: ['application/vnd.android.package-archive'], ), ); if (result != null) { From 4293e276810c2881cfde10c994381af707e7d0ca Mon Sep 17 00:00:00 2001 From: ReVanced Bot Date: Fri, 5 Apr 2024 03:03:11 +0200 Subject: [PATCH 035/127] chore: Sync translations (#1804) --- assets/i18n/strings_ar_SA.i18n.json | 30 ++++++- assets/i18n/strings_bn_BD.i18n.json | 5 +- assets/i18n/strings_cs_CZ.i18n.json | 4 +- assets/i18n/strings_es_AR.i18n.json | 74 ++++++++-------- assets/i18n/strings_es_MX.i18n.json | 117 +++++++++++++++++++++++-- assets/i18n/strings_he_IL.i18n.json | 30 ++++++- assets/i18n/strings_ja_JP.i18n.json | 31 ++++--- assets/i18n/strings_kk_KZ.i18n.json | 43 +++++++++- assets/i18n/strings_ko_KR.i18n.json | 4 +- assets/i18n/strings_pt_PT.i18n.json | 6 +- assets/i18n/strings_zh_CN.i18n.json | 129 ++++++++++++++++++++++++++-- 11 files changed, 394 insertions(+), 79 deletions(-) diff --git a/assets/i18n/strings_ar_SA.i18n.json b/assets/i18n/strings_ar_SA.i18n.json index 143d7f27e7..8dfed7ea75 100755 --- a/assets/i18n/strings_ar_SA.i18n.json +++ b/assets/i18n/strings_ar_SA.i18n.json @@ -96,7 +96,9 @@ "selectFromStorageButton": "اختيار من التخزين", "errorMessage": "لا يمكن استخدام التطبيق المحدد", "downloadToast": "خاصية التحميل غير متوفرة بعد", - "featureNotAvailable": "الميزة غير مُدمَجة بعد" + "requireSuggestedAppVersionDialogText": "الإصدار من التطبيق الذي حددته لا يتطابق مع الإصدار المقترح الذي يمكن أن يؤدي إلى مشاكل غير متوقعة. الرجاء استخدام الإصدار المقترح.\n\nالإصدار المحدد: ${selected}\nالإصدار المقترح: ${suggested}\n\nللاستمرار على أي حال، قم بتعطيل \"طلب إصدار التطبيق المقترح\" في الإعدادات.", + "featureNotAvailable": "الميزة غير مُدمَجة بعد", + "featureNotAvailableText": "هذا التطبيق عبارة عن ملف Spilt APK ولا يمكن تعديله وتثبيته بشكل موثوق إلا عن طريق التثبيت باستخدام أذونات Root. ومع ذلك، يمكنك تعديل وتثبيت ملف APK كاملًا عن طريق تحديده من وحدة التخزين." }, "patchesSelectorView": { "viewTitle": "حدد التعديلات", @@ -133,6 +135,7 @@ "unsupportedDialogText": "قد يؤدي تحديد هذا التعديل إلى حدوث أخطاء في عملية التعديل.\n\nإصدار التطبيق: ${packageVersion}\nالإصدارات المدعومة حالياً:\n${supportedVersions}", "unsupportedPatchVersion": "التعديل غير مدعوم لإصدار التطبيق هذا.", "unsupportedRequiredOption": "يحتوي هذا التعديل على خيار مطلوب لا يدعمه هذا التطبيق", + "patchesChangeWarningDialogText": "يوصى باستخدام تحديد التعديل وخياراته الافتراضية. قد يؤدي تغييرها إلى حدوث مشكلات غير متوقعة.\n\nستحتاج إلى تشغيل \"السماح بتغيير تحديد التعديل\" في الإعدادات قبل تغيير أي تحديد تعديل.", "patchesChangeWarningDialogButton": "استخدام التحديد الافتراضي" }, "installerView": { @@ -142,6 +145,7 @@ "installButton": "تثبيت", "installRootType": "تحميل", "installNonRootType": "عادي", + "warning": "قم بتعطيل التحديثات التلقائية للتطبيق المعدل لتجنب المشكلات غير المتوقعة.", "pressBackAgain": "اضغط رجوع مرة اخرى للإلغاء", "openButton": "فتح", "shareButton": "شارك ملف", @@ -171,12 +175,16 @@ "languageUpdated": "تم تحديث اللغة", "englishOption": "الإنجليزية", "sourcesLabel": "مصادر بديلة", + "sourcesLabelHint": "قم بتكوين المصادر البديلة لتعديلات ReVanced وتكاملات ReVanced", "sourcesIntegrationsLabel": "مصدر الـدمج", "useAlternativeSources": "استخدام مصادر بديلة", + "useAlternativeSourcesHint": "استخدم مصادر بديلة لتعديلات ReVanced وعمليات التكامل ReVanced بدلاً من API", "sourcesResetDialogTitle": "إعادة التعيين", "sourcesResetDialogText": "هل أنت متأكد من أنك تريد إعادة تعيين المصادر الخاصة بك إلى قيمها الافتراضية؟", "apiURLResetDialogText": "هل أنت متأكد من أنك تريد إعادة تعيين رابط API الخاص بك إلى قيمته الافتراضية؟", + "sourcesUpdateNote": "ملاحظة: سيؤدي هذا إلى تنزيل تعديلات ReVanced وتكاملات ReVanced تلقائيًا من المصادر البديلة.\n\nسيؤدي هذا إلى توصيلك بالمصدر البديل.", "apiURLLabel": "رابط API", + "apiURLHint": "تكوين عنوان URL لواجهة برمجة التطبيقات الخاصة بـ ReVanced Manager", "selectApiURL": "رابط API", "orgPatchesLabel": "تنظيم التعديلات", "sourcesPatchesLabel": "مصدر التعديلات", @@ -186,6 +194,7 @@ "logsLabel": "مشاركة السجلات", "logsHint": "مشاركة سجلات ReVanced Manager", "enablePatchesSelectionLabel": "السماح بتغيير تحديد التعديل", + "enablePatchesSelectionHint": "لا تمنع تحديد أو إلغاء تحديد التعديلات", "enablePatchesSelectionWarningText": "قد يؤدي تغيير تحديد التعديلات إلى حدوث مشكلات غير متوقعة.\n\nهل تريد التمكين على أي حال؟", "disablePatchesSelectionWarningText": "أنت على وشك تعطيل تغيير تحديد التعديلات.\nستتم استعادة التحديد الافتراضي للتعديلات.\n\nهل تريد التعطيل على أي حال؟", "autoUpdatePatchesLabel": "تحديث التعديلات تلقائيًا", @@ -195,7 +204,9 @@ "universalPatchesLabel": "عرض التعديلات العامة", "universalPatchesHint": "عرض جميع التطبيقات والتعديلات العامة (قد تؤدي إلى إبطاء قائمة التطبيقات)", "versionCompatibilityCheckLabel": "التحقق من توافق الإصدار", + "versionCompatibilityCheckHint": "منع تحديد التعديلات غير المتوافقة مع إصدار التطبيق المحدد", "requireSuggestedAppVersionLabel": "يتطلب إصدار التطبيق المقترح", + "requireSuggestedAppVersionHint": "منع تحديد تطبيق بإصدار غير المقترح", "requireSuggestedAppVersionDialogText": "قد يؤدي تحديد تطبيق ليس هو الإصدار المقترح إلى حدوث مشكلات غير متوقعة.\n\nهل تريد المتابعة على أية حال؟", "aboutLabel": "لمحة", "snackbarMessage": "نُسِخ إلى الحافظة", @@ -262,10 +273,27 @@ "installErrorDialog": { "mount_version_mismatch": "نسخة غير متطابقة", "mount_no_root": "لا توجد صلاحيات روت", + "mount_missing_installation": "التثبيت غير متوفر", + "status_failure_blocked": "التثبيت محظور", "install_failed_verification_failure": "فشل التحقق", "status_failure_invalid": "التثبيت غير صالح", + "install_failed_version_downgrade": "لا يمكن الرجوع إلى إصدار سابق", + "status_failure_conflict": "تعارض التثبيت", + "status_failure_storage": "مشكلة تخزين التثبيت", "status_failure_incompatible": "التثبيت غير متوافق", + "status_failure_timeout": "مهلة التثبيت", "status_unknown": "فشل التثبيت", + "mount_version_mismatch_description": "فشل التثبيت نظرًا لكون التطبيق المثبت إصدارًا مختلفًا عن التطبيق الذي تم تعديله.\n\nقم بتثبيت إصدار التطبيق الذي تقوم بتثبيته وحاول مرة أخرى.", + "mount_no_root_description": "فشل التثبيت بسبب عدم منح الوصول إلى Root.\n\nامنح حق الوصول Root إلى ReVanced Manager وحاول مرة أخرى.", + "mount_missing_installation_description": "فشل التثبيت بسبب عدم تثبيت التطبيق غير المعدل على هذا الجهاز من أجل تثبيته عليه.\n\nقم بتثبيت التطبيق غير المعدل قبل التثبيت وحاول مرة أخرى.", + "status_failure_timeout_description": "استغرق التثبيت وقتا طويلا للانتهاء.\n\nهل تود أن تجرب مجددا؟", + "status_failure_storage_description": "فشل التثبيت بسبب عدم كفاية مساحة التخزين.\n\nقم بتحرير بعض المساحة وحاول مرة أخرى.", + "status_failure_invalid_description": "فشل التثبيت نظرًا لأن التطبيق المعدل غير صالح.\n\nهل تريد إلغاء تثبيت التطبيق والمحاولة مرة أخرى؟", + "status_failure_incompatible_description": "التطبيق غير متوافق مع هذا الجهاز.\n\nاتصل بمطور التطبيق واطلب الدعم.", + "status_failure_conflict_description": "تم منع التثبيت من خلال تثبيت موجود للتطبيق.\n\nهل ترغب في إلغاء تثبيت التطبيق المثبت والمحاولة مرة أخرى؟", + "status_failure_blocked_description": "تم حظر التثبيت بواسطة ${packageName}.\n\nاضبط إعدادات الأمان الخاصة بك وحاول مرة أخرى.", + "install_failed_verification_failure_description": "فشل التثبيت بسبب مشكلة التحقق.\n\nاضبط إعدادات الأمان وحاول مرة أخرى.", + "install_failed_version_downgrade_description": "فشل التثبيت نظرًا لكون التطبيق المعدل إصدارًا أقل من التطبيق المثبت.\n\nهل تريد إلغاء تثبيت التطبيق والمحاولة مرة أخرى؟", "status_unknown_description": "فشل التثبيت لسبب غير معروف. الرجاء المحاولة مرة أخرى." } } \ No newline at end of file diff --git a/assets/i18n/strings_bn_BD.i18n.json b/assets/i18n/strings_bn_BD.i18n.json index d3d681f6dd..3d0bba7a60 100755 --- a/assets/i18n/strings_bn_BD.i18n.json +++ b/assets/i18n/strings_bn_BD.i18n.json @@ -287,6 +287,9 @@ "status_failure_timeout": "ইনস্টলেশন সময় পার হয়েছে", "status_unknown": "ইনস্টলেশন ব্যর্থ হয়েছে", "mount_version_mismatch_description": "প্যাচ অ্যাপ ও ইনস্টলকৃত অ্যাপের সংস্করণ ভিন্ন হওয়ার কারণে ইনস্টলেশন ব্যর্থ হয়েছে।\n\nআপনি যে সংস্করণটি মাউন্ট করতে চাচ্ছেন তা আগে ইনস্টল করুন অতঃপর আবার চেষ্টা করুন।", - "mount_no_root_description": "রুট প্রবেশাধিকারের অনুমতি না দেয়ার কারণে ইনস্টলেশন ব্যর্থ হয়েছে।\n\nReVanced Manager এর রুট প্রবেশাধিকার অনুমতি দিন এবং আবার চেষ্টা করুন।" + "mount_no_root_description": "রুট প্রবেশাধিকারের অনুমতি না দেয়ার কারণে ইনস্টলেশন ব্যর্থ হয়েছে।\n\nReVanced Manager এর রুট প্রবেশাধিকার অনুমতি দিন এবং আবার চেষ্টা করুন।", + "mount_missing_installation_description": "এটির উপর মাউন্ট করার জন্য এই ডিভাইসে আনপ্যাচড অ্যাপ ইনস্টল না হওয়ার কারণে ইনস্টলেশন ব্যর্থ হয়েছে.\n\nমাউন্ট করার আগে আনপ্যাচড অ্যাপ ইনস্টল করুন এবং আবার চেষ্টা করুন.", + "status_failure_timeout_description": "ইন্সটলেশন শেষ হতে অনেক সময় লেগেছে.\n\nআপনি আবার চেষ্টা করতে চান?", + "status_failure_storage_description": "অপর্যাপ্ত সঞ্চয়স্থানের কারণে ইনস্টলেশন ব্যর্থ হয়েছে.\n\nকিছু জায়গা খালি করুন এবং আবার চেষ্টা করুন." } } \ No newline at end of file diff --git a/assets/i18n/strings_cs_CZ.i18n.json b/assets/i18n/strings_cs_CZ.i18n.json index 759c989f5e..e0a71066fb 100755 --- a/assets/i18n/strings_cs_CZ.i18n.json +++ b/assets/i18n/strings_cs_CZ.i18n.json @@ -203,9 +203,7 @@ "updateNotImplemented": "Tato funkce ještě není implementována" }, "contributorsView": { - "widgetTitle": "Přispěvatelé", - "integrationsContributors": "ReVanced Integrace", - "managerContributors": "ReVanced Manager" + "widgetTitle": "Přispěvatelé" }, "installErrorDialog": { "mount_version_mismatch": "Verse neshodná", diff --git a/assets/i18n/strings_es_AR.i18n.json b/assets/i18n/strings_es_AR.i18n.json index fe04d09251..b4163fb541 100755 --- a/assets/i18n/strings_es_AR.i18n.json +++ b/assets/i18n/strings_es_AR.i18n.json @@ -54,7 +54,7 @@ "updatesDisabled": "Por ahora no podés actualizar una app parcheada. Parcheala de nuevo." }, "applicationItem": { - "infoButton": "Info. aplicación" + "infoButton": "Gestionar" }, "latestCommitCard": { "loadingLabel": "Cargando...", @@ -158,17 +158,17 @@ "noExit": "El instalador aún se está ejecutando, no te podés salir..." }, "settingsView": { - "widgetTitle": "Ajustes", + "widgetTitle": "Configuración", "appearanceSectionTitle": "Apariencia", "teamSectionTitle": "Equipo", - "debugSectionTitle": "Depurando", + "debugSectionTitle": "Depuración", "advancedSectionTitle": "Avanzado", "exportSectionTitle": "Importación y exportación", "dataSectionTitle": "Fuentes de datos", - "themeModeLabel": "Tema de la app", - "systemThemeLabel": "Sistema", - "lightThemeLabel": "Luz", - "darkThemeLabel": "Modo oscuro", + "themeModeLabel": "Tema de la aplicación", + "systemThemeLabel": "Igual que el sistema", + "lightThemeLabel": "Claro", + "darkThemeLabel": "Oscuro", "dynamicThemeLabel": "Material You", "dynamicThemeHint": "Disfrutá de una experiencia más acorde a tu dispositivo", "languageLabel": "Idioma", @@ -184,7 +184,7 @@ "apiURLResetDialogText": "¿Estás seguro de que quieres restablecer la URL de tu API a su valor por defecto?", "sourcesUpdateNote": "Nota: Esto descargará de forma automática ReVanced Patches y ReVanced Integrations desde las fuentes alternativas.\n\nEsto te va a conectar a la fuente alternativa.", "apiURLLabel": "URL de la API", - "apiURLHint": "Configurá la URL de la API del ReVanced Manager", + "apiURLHint": "Configurá la URL de la API de ReVanced Manager", "selectApiURL": "URL de la API", "orgPatchesLabel": "Organización de los parches", "sourcesPatchesLabel": "Fuente de los parches", @@ -192,35 +192,35 @@ "contributorsLabel": "Contribuidores", "contributorsHint": "Una lista de los contribuidores de ReVanced", "logsLabel": "Compartir registros", - "logsHint": "Compartir los registros de ReVanced Manager", + "logsHint": "Comparte los registros de ReVanced Manager", "enablePatchesSelectionLabel": "Permitir cambiar la selección de parches", - "enablePatchesSelectionHint": "No impedir la selección o deselección de parches", + "enablePatchesSelectionHint": "Permite la selección o deselección de parches", "enablePatchesSelectionWarningText": "Cambiar la selección de parches puede causar problemas inesperados.\n\n¿Habilitar de todos modos?", "disablePatchesSelectionWarningText": "Está a punto de desactivar el cambio de la selección de parches.\nSe restablecerá la selección de parches por defecto.\n\n¿Desactivar de todos modos?", "autoUpdatePatchesLabel": "Actualizar parches automáticamente", - "autoUpdatePatchesHint": "Actualice automáticamente los parches a la última versión", + "autoUpdatePatchesHint": "Actualiza automáticamente los parches a la última versión", "showUpdateDialogLabel": "Mostrar diálogo de actualización", "showUpdateDialogHint": "Muestra un diálogo cuando haya una nueva actualización disponible", "universalPatchesLabel": "Mostrar parches universales", "universalPatchesHint": "Mostrar todas las aplicaciones y parches universales (puede ralentizar la lista de aplicaciones)", - "versionCompatibilityCheckLabel": "Comprobación de compatibilidad de versiones", - "versionCompatibilityCheckHint": "Impedir la selección de parches que no sean compatibles con la versión de la aplicación seleccionada", - "requireSuggestedAppVersionLabel": "Requiere la versión de aplicación sugerida", - "requireSuggestedAppVersionHint": "Impedir seleccionar una aplicación cuya versión no sea la sugerida", + "versionCompatibilityCheckLabel": "Comprobar compatibilidad de versiones", + "versionCompatibilityCheckHint": "Impide la selección de parches que no sean compatibles con la versión de la aplicación seleccionada", + "requireSuggestedAppVersionLabel": "Requerir versión sugerida de la aplicación", + "requireSuggestedAppVersionHint": "Impide seleccionar una aplicación cuya versión no sea la sugerida", "requireSuggestedAppVersionDialogText": "Seleccionar una aplicación que no es la versión sugerida puede causar problemas inesperados.\n\n¿Desea continuar de todos modos?", "aboutLabel": "Acerca de", "snackbarMessage": "Copiado al portapapeles", "restartAppForChanges": "Reiniciá la app para aplicar los cambios", "deleteTempDirLabel": "Eliminar archivos temporales", - "deleteTempDirHint": "Eliminá los archivos temporales que no se usan", + "deleteTempDirHint": "Elimina los archivos temporales que no se usan", "deletedTempDir": "Archivos temporales eliminados", - "exportPatchesLabel": "Exportar parche seleccionado", - "exportPatchesHint": "Exportar parche seleccionado en un archivo JSON", - "exportedPatches": "Parche seleccionado exportado", - "noExportFileFound": "Ningún parche seleccionado para exportar", - "importPatchesLabel": "Importar parche seleccionado", - "importPatchesHint": "Importar parche seleccionado de un archivo JSON", - "importedPatches": "Parche seleccionado importado", + "exportPatchesLabel": "Exportar selección de parches", + "exportPatchesHint": "Exporta la selección de parches a un archivo JSON", + "exportedPatches": "Selección de parches exportada", + "noExportFileFound": "No hay selección de parches para exportar", + "importPatchesLabel": "Importar selección de parches", + "importPatchesHint": "Importa la selección de parches desde un archivo JSON", + "importedPatches": "Selección de parches importada", "resetStoredPatchesLabel": "Restablecer selección de parches", "resetStoredPatchesHint": "Restablecer selección de parches guardada", "resetStoredPatchesDialogTitle": "¿Restablecer selección de parches?", @@ -232,27 +232,27 @@ "resetStoredOptionsDialogText": "Restablecer las opciones de parche eliminará todas las opciones guardadas.", "resetStoredOptions": "Las opciones se han restablecido", "deleteLogsLabel": "Borrar registros", - "deleteLogsHint": "Eliminar los registros recopilados de ReVanced Manager", + "deleteLogsHint": "Elimina los registros recopilados por ReVanced Manager", "deletedLogs": "Registros eliminados", - "regenerateKeystoreLabel": "Regenerar almacén de claves", - "regenerateKeystoreHint": "Regenerar el almacén de claves utilizado para firmar aplicaciones", - "regenerateKeystoreDialogTitle": "¿Regenerar almacén de claves?", - "regenerateKeystoreDialogText": "Las aplicaciones parcheadas firmadas con el antiguo almacén de claves ya no podrán actualizarse.", - "regeneratedKeystore": "Almacén de claves regenerado", - "exportKeystoreLabel": "Exportar almacén de claves", - "exportKeystoreHint": "Exportar el almacén de llaves utilizado para firmar aplicaciones", + "regenerateKeystoreLabel": "Regenerar repositorio de claves", + "regenerateKeystoreHint": "Regenera el repositorio de claves utilizado para firmar aplicaciones", + "regenerateKeystoreDialogTitle": "¿Regenerar repositorio de claves?", + "regenerateKeystoreDialogText": "Las aplicaciones parcheadas firmadas con el antiguo repositorio de claves ya no podrán actualizarse.", + "regeneratedKeystore": "Repositorio de claves regenerado", + "exportKeystoreLabel": "Exportar repositorio de claves", + "exportKeystoreHint": "Exporta el repositorio de claves utilizado para firmar aplicaciones", "exportedKeystore": "Repositorio de claves exportado", - "noKeystoreExportFileFound": "No hay un almacén de claves para exportar", + "noKeystoreExportFileFound": "No hay repositorio de claves para exportar", "importKeystoreLabel": "Importar repositorio de claves", - "importKeystoreHint": "Importar un almacén de llaves utilizado para firmar aplicaciones", + "importKeystoreHint": "Importar un repositorio de claves utilizado para firmar aplicaciones", "importedKeystore": "Repositorio de claves importado", - "selectKeystorePassword": "Contraseña del almacén de llaves", - "selectKeystorePasswordHint": "Seleccionar la contraseña del almacén de llaves utilizada para firmar aplicaciones", + "selectKeystorePassword": "Contraseña del repositorio de claves", + "selectKeystorePasswordHint": "Selecciona la contraseña del repositorio de claves utilizada para firmar aplicaciones", "jsonSelectorErrorMessage": "No se puede usar el archivo JSON seleccionado", - "keystoreSelectorErrorMessage": "No se puede utilizar el archivo de almacén de llaves seleccionado" + "keystoreSelectorErrorMessage": "No se puede utilizar el archivo de repositorio de claves seleccionado" }, "appInfoView": { - "widgetTitle": "Información de la app", + "widgetTitle": "Información de la aplicación", "openButton": "Abrir", "uninstallButton": "Desinstalar", "unmountButton": "Desmontar", diff --git a/assets/i18n/strings_es_MX.i18n.json b/assets/i18n/strings_es_MX.i18n.json index 283abf9542..e15d0e3236 100755 --- a/assets/i18n/strings_es_MX.i18n.json +++ b/assets/i18n/strings_es_MX.i18n.json @@ -37,6 +37,7 @@ "updateDialogTitle": "Nueva actualización disponible", "updatePatchesSheetTitle": "Actualizar ReVanced Patches", "updateChangelogTitle": "Registro de cambios", + "updateDialogText": "Hay una nueva versión disponible para ${file}.\n\nLa versión actualmente instalada es la ${version}.", "downloadConsentDialogTitle": "¿Descargar archivos necesarios?", "downloadConsentDialogText": "ReVanced Manager necesita descargar los archivos necesarios para funcionar correctamente.", "downloadConsentDialogText2": "Esto te conectará a ${url}.", @@ -58,17 +59,25 @@ "latestCommitCard": { "loadingLabel": "Cargando...", "timeagoLabel": "Hace ${time}", - "patcherLabel": "Parcheador: " + "patcherLabel": "Parcheador: ", + "managerLabel": "Manager: ", + "updateButton": "Actualizar ReVanced Manager" }, "patcherView": { "widgetTitle": "Parcheador", "patchButton": "Parchear", + "armv7WarningDialogText": "El parcheo en dispositivos ARMv7 aún no está soportado y podría fallar. ¿Quieres continuar de todas formas?", + "removedPatchesWarningDialogText": "Los siguientes parches fueron removidos desde la última vez que los usaste.\n\n${patches}\n\n¿Quieres continuar de todas formas?", "requiredOptionDialogText": "Algunas opciones de parche tienen que ser establecidas." }, "appSelectorCard": { + "widgetTitle": "Seleccionar una aplicación", + "widgetTitleSelected": "Aplicación seleccionada", + "widgetSubtitle": "No se seleccionó ninguna aplicación", "noAppsLabel": "No se encontraron aplicaciones", "currentVersion": "Versión actual", - "suggestedVersion": "Version sugerida" + "suggestedVersion": "Version sugerida", + "anyVersion": "Cualquier versión" }, "patchSelectorCard": { "widgetTitle": "Seleccionar parches", @@ -81,11 +90,15 @@ "widgetSubtitle": "¡Estamos en línea!" }, "appSelectorView": { + "viewTitle": "Seleccionar una aplicación", + "searchBarHint": "Buscar...", "storageButton": "Almacenamiento", "selectFromStorageButton": "Seleccionar desde almacenamiento", "errorMessage": "No se puede usar la aplicación seleccionada", "downloadToast": "La función de descarga aún no está disponible", - "featureNotAvailable": "Característica no implementada" + "requireSuggestedAppVersionDialogText": "La versión de la aplicación que has seleccionado no coincide con la versión sugerida, lo que podría causar errores inesperados. Por favor, utiliza la versión sugerida.\n\nVersión seleccionada: ${selected}\nVersión sugerida: ${suggested}\n\nPara continuar de todas formas, desactiva \"Requerir versión sugerida de la aplicación\" en la configuración.", + "featureNotAvailable": "Característica no implementada", + "featureNotAvailableText": "Esta aplicación está instalada en formato AAB (Android App Bundle) y solo se puede parchear e instalar de forma fiable mediante el montaje con acceso root. Sin embargo, puedes parchear e instalar una aplicación en formato APK seleccionándola desde el almacenamiento." }, "patchesSelectorView": { "viewTitle": "Selecciona parches", @@ -94,7 +107,9 @@ "newPatches": "Nuevos parches", "patches": "Parches", "doneButton": "Completado", + "defaultChip": "Por defecto", "defaultTooltip": "Seleccionar todos los parches predeterminados", + "noneChip": "Ninguno", "noneTooltip": "Deseleccionar todos los elementos", "loadPatchesSelection": "Cargar selección de parches", "noSavedPatches": "No se ha guardado ninguna selección de parches para la aplicación seleccionada.\nPresione Hecho para guardar la selección actual.", @@ -111,21 +126,29 @@ "tooltip": "Más opciones de entrada", "selectFilePath": "Selecciona la ruta del archivo", "selectFolder": "Selecciona la carpeta", + "selectOption": "Seleccionar opción", "requiredOption": "Esta opción es requerida", "unsupportedOption": "Esta opción no está disponible", "requiredOptionNull": "Hay que configurar las siguientes opciones:\n\n${options}" }, "patchItem": { "unsupportedDialogText": "Seleccionar este parche puede causar errores.\n\nVersión de la app: ${packageVersion}\nVersiones compatibles:\n${supportedVersions}", + "unsupportedPatchVersion": "El parche no es compatible con esta versión de la aplicación.", "unsupportedRequiredOption": "Este parche contiene una opción necesaria que no es compatible con esta aplicación", + "patchesChangeWarningDialogText": "Se recomienda utilizar la selección y opciones de parches por defecto. Cambiarlas puede resultar en problemas inesperados.\n\nTendrás que activar \"Permitir cambiar la selección de parches\" en la configuración antes de cambiar cualquier selección de parches.", "patchesChangeWarningDialogButton": "Usar selección por defecto" }, "installerView": { + "widgetTitle": "Instalador", "installType": "Seleccione el tipo de instalación", + "installTypeDescription": "Selecciona el tipo de instalación con el que quieres continuar.", "installButton": "Instalar", - "installRootType": "Montar", + "installRootType": "Montar (requiere acceso root)", + "installNonRootType": "Normal", + "warning": "Desactiva las actualizaciones para la aplicación parcheada para evitar problemas inesperados.", "pressBackAgain": "Vuelve a presionar atrás para cancelar", "openButton": "Abrir", + "shareButton": "Compartir archivo", "notificationTitle": "ReVanced Manager está parcheando", "notificationText": "Pulsa para volver al instalador", "exportApkButtonTooltip": "Exportar APK parcheado", @@ -141,6 +164,7 @@ "debugSectionTitle": "Depurando", "advancedSectionTitle": "Avanzado", "exportSectionTitle": "Importar y Exportar", + "dataSectionTitle": "Fuentes de datos", "themeModeLabel": "Tema de la app", "systemThemeLabel": "Sistema", "lightThemeLabel": "Claro", @@ -148,11 +172,19 @@ "dynamicThemeLabel": "Material para ti", "dynamicThemeHint": "Disfruta de una experiencia más cercana a tu dispositivo", "languageLabel": "Idioma", + "languageUpdated": "Idioma actualizado", + "englishOption": "Inglés", + "sourcesLabel": "Fuentes alternativas", + "sourcesLabelHint": "Configura las fuentes alternativas para ReVanced Patches y ReVanced Integrations", "sourcesIntegrationsLabel": "Fuente de integraciones", + "useAlternativeSources": "Usar fuentes alternativas", + "useAlternativeSourcesHint": "Usa fuentes alternativas para ReVanced Patches y ReVanced Integrations en lugar de la API", "sourcesResetDialogTitle": "Reiniciar", "sourcesResetDialogText": "¿Estás seguro de que quieres restablecer las fuentes a sus valores por defecto?", "apiURLResetDialogText": "¿Estás seguro de que quieres restablecer la URL de tu API a su valor por defecto?", + "sourcesUpdateNote": "Nota: Se descargarán de forma automática ReVanced Patches y ReVanced Integrations desde las fuentes alternativas.\n\nEsto te conectará a la misma.", "apiURLLabel": "URL API", + "apiURLHint": "Configura la URL de la API de ReVanced Manager", "selectApiURL": "URL de la API", "orgPatchesLabel": "Organización de parches", "sourcesPatchesLabel": "Fuente de los parches", @@ -162,28 +194,76 @@ "logsLabel": "Compartir registros", "logsHint": "Compartir los registros de ReVanced Manager", "enablePatchesSelectionLabel": "Permitir cambiar la selección de parches", + "enablePatchesSelectionHint": "No prevenir la selección o deselección de parches", + "enablePatchesSelectionWarningText": "Cambiar la selección de parches puede cauar problemas inespereados.\n\n¿Quieres activarlo de todas formas?", + "disablePatchesSelectionWarningText": "Estás a punto de desactivar el cambiar la selección de parches.\nSe restaurará la selección de parches por defecto.", + "autoUpdatePatchesLabel": "Actualizar parches automáticamente", + "autoUpdatePatchesHint": "Actualiza los parches a la última versión automáticamente", + "showUpdateDialogLabel": "Mostrar diálogo de actualización", + "showUpdateDialogHint": "Muestra un diálogo cuando una nueva actualización esté disponible", + "universalPatchesLabel": "Mostrar parches universales", + "universalPatchesHint": "Muestra todas las aplicaciones y los parches universales (puede ralentizar la carga de la lista de aplicaciones)", + "versionCompatibilityCheckLabel": "Comprobar compatibilidad de versiones", + "versionCompatibilityCheckHint": "Previene seleccionar parches que no sean compatibles con la versión de la aplicación seleccionada", + "requireSuggestedAppVersionLabel": "Requerir versión sugerida de la aplicación", + "requireSuggestedAppVersionHint": "Previene seleccionar una aplicación cuya versión no sea la sugerida", + "requireSuggestedAppVersionDialogText": "Seleccionar una aplicación cuya versión no sea la sugerida puede causar problemas inesperados.\n\n¿Quieres continuar de todas formas?", "aboutLabel": "Acerca de", "snackbarMessage": "Copiado al portapapeles", "restartAppForChanges": "Reinicie la aplicación para aplicar los cambios", "deleteTempDirLabel": "Borrar archivos temporales", "deleteTempDirHint": "Eliminar archivos temporales no utilizados", "deletedTempDir": "Archivos temporales eliminados", + "exportPatchesLabel": "Exportar selección de parches", + "exportPatchesHint": "Exporta la selección de parches a un archivo JSON", + "exportedPatches": "Selección de parches exportada", + "noExportFileFound": "No hay selección de parches para exportar", + "importPatchesLabel": "Importar selección de parches", + "importPatchesHint": "Importa la selección de parches desde un archivo JSON", + "importedPatches": "Selección de parches importada", + "resetStoredPatchesLabel": "Restablecer selección de parches", + "resetStoredPatchesHint": "Restablece la selección de parches almacenada", + "resetStoredPatchesDialogTitle": "¿Restablecer selección de parches?", + "resetStoredPatchesDialogText": "Se restaurará la selección de parches por defecto.", + "resetStoredPatches": "Selección de parches restablecida", + "resetStoredOptionsLabel": "Restablecer configuración de parches", + "resetStoredOptionsHint": "Restablece la configuración de todos los parches", + "resetStoredOptionsDialogTitle": "¿Restablecer configuración de parches?", + "resetStoredOptionsDialogText": "Restablecer la configuración de parches eliminará todas las opciones guardadas.", + "resetStoredOptions": "Configuración de parches restablecida", + "deleteLogsLabel": "Borrar registros", + "deleteLogsHint": "Elimina los registros recopilados por ReVanced Manager", "deletedLogs": "Registros eliminados", + "regenerateKeystoreLabel": "Regenerar repositorio de claves", + "regenerateKeystoreHint": "Regenera el repositorio de claves utilizado para firmar aplicaciones", + "regenerateKeystoreDialogTitle": "¿Regenerar repositorio de claves?", + "regenerateKeystoreDialogText": "Las aplicaciones parcheadas con el repositorio de claves anterior ya no podrán actualizarse.", + "regeneratedKeystore": "Repositorio de claves regenerado", "exportKeystoreLabel": "Exportar repositorio de claves", + "exportKeystoreHint": "Exporta el repositorio de claves utilizado para firmar aplicaciones", "exportedKeystore": "Repositorio de claves exportado", "noKeystoreExportFileFound": "No hay repositorio de claves para exportar", "importKeystoreLabel": "Importar repositorio de claves", + "importKeystoreHint": "Importa el repositorio de claves utilizado para firmar aplicaciones", "importedKeystore": "Repositorio de claves importado", - "jsonSelectorErrorMessage": "No se puede utilizar el archivo JSON seleccionado" + "selectKeystorePassword": "Contraseña del repositorio de claves", + "selectKeystorePasswordHint": "Introduce la contraseña del repositorio de claves utilizado para firmar aplicaciones", + "jsonSelectorErrorMessage": "No se puede utilizar el archivo JSON seleccionado", + "keystoreSelectorErrorMessage": "No se puede utilizar el archivo de repositorio de claves seleccionado" }, "appInfoView": { "widgetTitle": "Informacion de la applicacion", "openButton": "Abrir", "uninstallButton": "Desinstalar", + "unmountButton": "Desmontar", "rootDialogTitle": "Ocurrió un error", + "unmountDialogText": "¿Seguro que quieres desmontar esta aplicación?", + "uninstallDialogText": "¿Seguro que quieres desinstalar esta aplicación?", "rootDialogText": "La aplicación se instaló con permisos de root, pero actualmente ReVanced Manager no tiene permisos root.\nPor favor, conceda primero los permisos de root.", "packageNameLabel": "Nombre del paquete", "installTypeLabel": "Tipo de instalación", + "mountTypeLabel": "Montar (requiere acceso root)", + "regularTypeLabel": "Normal", "patchedDateLabel": "Fecha de parcheo", "appliedPatchesLabel": "Parches aplicados", "patchedDateHint": "${date} a las ${time}", @@ -193,5 +273,30 @@ "contributorsView": { "widgetTitle": "Contribuidores" }, - "installErrorDialog": {} + "installErrorDialog": { + "mount_version_mismatch": "La versión no coincide", + "mount_no_root": "Sin acceso root", + "mount_missing_installation": "No se encontró la instalación", + "status_failure_blocked": "Instalación bloqueada", + "install_failed_verification_failure": "Verificación fallida", + "status_failure_invalid": "Instalación inválida", + "install_failed_version_downgrade": "No se puede bajar de versión", + "status_failure_conflict": "Conflicto de instalación", + "status_failure_storage": "Problema de almacenamiento de la instalación", + "status_failure_incompatible": "Instalación incompatible", + "status_failure_timeout": "Tiempo de instalación agotado", + "status_unknown": "Instalación fallida", + "mount_version_mismatch_description": "La instalación falló debido a que la versión de la aplicación instalada es diferente a la de la aplicación parcheada.\n\nInstala la versión de la aplicación que intentas montar e inténtalo de nuevo.", + "mount_no_root_description": "La instalación falló debido a que no se ha concedido acceso root.\n\nConcédele acceso root a ReVanced Manager y vuelve a intentarlo.", + "mount_missing_installation_description": "La instalación falló debido a que la aplicación original no ha sido instalada en este dispositivo para montar la versión parcheada sobre ella.\n\nInstala la aplicación original antes de montar y vuelve a intentarlo.", + "status_failure_timeout_description": "La instalación tardó demasiado en finalizar.\n\n¿Quieres intentarlo de nuevo?", + "status_failure_storage_description": "La instalación falló debido a falta de almacenamiento.\n\nLibera algo de espacio y vuelve a intentarlo.", + "status_failure_invalid_description": "La instalación falló debido a que la aplicación parcheada es inválida.\n\n¿Quieres desinstalar la aplicación e intentarlo de nuevo?", + "status_failure_incompatible_description": "La aplicación es incompatible con este dispositivo.\n\nContacta con el desarrollador de la aplicación y solicita asistencia.", + "status_failure_conflict_description": "Se impidió la instalación debido a una instalación existente de la aplicación.\n\n¿Quieres desinstalar la aplicación instalada e intentarlo de nuevo?", + "status_failure_blocked_description": "${packageName} bloqueó la instalación.\n\nAjusta la configuración de seguridad e inténtalo de nuevo.", + "install_failed_verification_failure_description": "La instalación falló debido a un problema de verificación.\n\nAjusta la configuración de seguridad e inténtalo de nuevo.", + "install_failed_version_downgrade_description": "La instalación falló debido a que la aplicación parcheada es una versión inferior a la instalada.\n\n¿Quieres desinstalar la aplicación e intentarlo de nuevo?", + "status_unknown_description": "La instalación falló debido a una razón desconocida. Por favor, inténtalo de nuevo." + } } \ No newline at end of file diff --git a/assets/i18n/strings_he_IL.i18n.json b/assets/i18n/strings_he_IL.i18n.json index b6bb206eae..9987a2d1a7 100755 --- a/assets/i18n/strings_he_IL.i18n.json +++ b/assets/i18n/strings_he_IL.i18n.json @@ -1,6 +1,7 @@ { "okButton": "אישור", "cancelButton": "ביטול", + "dismissButton": "התעלם", "quitButton": "יציאה", "updateButton": "עדכן", "enabledLabel": "הופעל", @@ -15,6 +16,8 @@ "noShowAgain": "אל תציג זאת שוב", "add": "הוסף", "remove": "הסר", + "showChangelogButton": "הצגת יומן שינויים", + "showUpdateButton": "הצג עדכון", "navigationView": { "dashboardTab": "לוח בקרה", "patcherTab": "מתקן", @@ -25,14 +28,25 @@ "widgetTitle": "לוח בקרה", "updatesSubtitle": "עדכונים", "patchedSubtitle": "אפליקציות מתוקנות", + "changeLaterSubtitle": "ניתן לשנות זאת בהגדרות מאוחר יותר.", "noUpdates": "אין עדכונים זמינים", "WIP": "עבודה בתהליך...", "noInstallations": "אין אפליקציות מתוקנת מותקנות", "installUpdate": "המשך להתקין את העדכון?", + "updateSheetTitle": "עדכן את ReVanced Manager", + "updateDialogTitle": "עידכון חדש זמין", + "updatePatchesSheetTitle": "עדכן את ReVanced Patches", "updateChangelogTitle": "היסטורית שינויים", + "updateDialogText": "עדכון חדש זמין עבור ${file}.\n\nהגרסה המותקנת כרגע היא ${version}.", + "downloadConsentDialogTitle": "להוריד קבצי עזר?", + "downloadConsentDialogText": "ReVanced Manager צריך להוריד קבצי עזר על מנת לעבוד כמו שצריך.", + "downloadConsentDialogText2": "זה יחבר אותך ל${url}.", + "checkUpdateDialogTitle": "לבדוק עדכונים?", + "checkUpdateDialogText": "מעדיף ש-ReVanced Manager יבדוק עדכונים אוטומטית?", "notificationTitle": "העדכון הורד", "notificationText": "הקש כדי להתקין את העדכון", "downloadingMessage": "מוריד עדכון...", + "downloadedMessage": "עדכון הורד", "installingMessage": "מתקין עדכון...", "errorDownloadMessage": "הורדת קובץ העדכון נכשלה", "errorInstallMessage": "לא ניתן להתקין את העדכון", @@ -46,17 +60,24 @@ "loadingLabel": "טוען...", "timeagoLabel": "לפני ${time}", "patcherLabel": "מתקן: ", - "managerLabel": "מנהל: " + "managerLabel": "מנהל: ", + "updateButton": "עדכן את Manager" }, "patcherView": { "widgetTitle": "מתקן", "patchButton": "תיקון", + "armv7WarningDialogText": "תיקון במכשירי ARMv7 לא נתמך כרגע ואולי יכשל. להמשיך בכל זאת?", + "removedPatchesWarningDialogText": "התיקונים הבאים הוסרו מאז הפעם האחרונה שהשתמשת בהם.\n${patches}\nלהמשיך בכל זאת?", "requiredOptionDialogText": "כמה אפשרויות תיקון חייבות להיקבע." }, "appSelectorCard": { + "widgetTitle": "בחר אפליקציה", + "widgetTitleSelected": "אפליקציה שנבחרה", + "widgetSubtitle": "לא נבחרה אפליקציה", "noAppsLabel": "לא נמצאו יישומים", "currentVersion": "נוֹכְחִי", - "suggestedVersion": "מוצע" + "suggestedVersion": "מוצע", + "anyVersion": "כל גרסה" }, "patchSelectorCard": { "widgetTitle": "בחר תיקונים", @@ -69,10 +90,13 @@ "widgetSubtitle": "אנחנו מחוברים!" }, "appSelectorView": { + "viewTitle": "בחר אפליקציה", + "searchBarHint": "חיפוש אפליקציה", "storageButton": "אחסון", "selectFromStorageButton": "בחירה מהאחסון", "errorMessage": "לא ניתן להשתמש ביישום שנבחר", "downloadToast": "פונקציית ההורדה אינה זמינה כעת", + "requireSuggestedAppVersionDialogText": "גרסת האפליקציה שבחרת אינה תואמת את הגרסה המומלצת, מה שעלול להוביל לבעיות בלתי צפויות. אנא השתמש בגרסה המומלצת.\n\nהגרסה שנבחרה: ${selected}\nהגרסה המומלצת: ${suggested}\n\nכדי להמשיך בכל זאת, כבה את \"דרוש גרסת אפליקציה מומלצת\" בהגדרות.", "featureNotAvailable": "תכונה לא מיושמת" }, "patchesSelectorView": { @@ -82,7 +106,9 @@ "newPatches": "תיקונים חדשים", "patches": "תיקונים", "doneButton": "בוצע", + "defaultChip": "ברירת מחדל", "defaultTooltip": "בחר את כל תיקוני ברירת המחדל", + "noneChip": "כלום", "noneTooltip": "בטל את בחירת כל התיקונים", "loadPatchesSelection": "טען בחירת תיקונים", "noSavedPatches": "אין תיקונים שמורים עבור האפליקציה שנבחרה.\nלחץ על בוצע כדי לשמור את הבחירה הנוכחית.", diff --git a/assets/i18n/strings_ja_JP.i18n.json b/assets/i18n/strings_ja_JP.i18n.json index 83d70debc1..236151cb47 100755 --- a/assets/i18n/strings_ja_JP.i18n.json +++ b/assets/i18n/strings_ja_JP.i18n.json @@ -27,7 +27,7 @@ "refreshSuccess": "正常に更新されました", "widgetTitle": "一覧", "updatesSubtitle": "更新", - "patchedSubtitle": "パッチ適用済みのアプリ", + "patchedSubtitle": "パッチ済みのアプリ", "changeLaterSubtitle": "この設定はあとでも変更できます", "noUpdates": "利用可能なアップデートはありません", "WIP": "制作中", @@ -77,7 +77,7 @@ "noAppsLabel": "アプリが見つかりません", "currentVersion": "選択", "suggestedVersion": "推奨", - "anyVersion": "任意のバージョン" + "anyVersion": "全てのバージョン" }, "patchSelectorCard": { "widgetTitle": "パッチを選択", @@ -92,7 +92,7 @@ "appSelectorView": { "viewTitle": "アプリを選択", "searchBarHint": "アプリを検索", - "storageButton": "APKを選択", + "storageButton": "APKファイルを選択", "selectFromStorageButton": "ストレージから選択", "errorMessage": "選択されたアプリは使用できません", "downloadToast": "現在、ダウンロード機能は利用できません", @@ -189,8 +189,8 @@ "orgPatchesLabel": "パッチの組織", "sourcesPatchesLabel": "パッチのソース", "orgIntegrationsLabel": "Integrations の組織", - "contributorsLabel": "コントリビューター", - "contributorsHint": "ReVanced のコントリビューターの一覧", + "contributorsLabel": "貢献者", + "contributorsHint": "ReVancedの貢献者一覧", "logsLabel": "ログを共有", "logsHint": "ReVanced Manager のログを共有します", "enablePatchesSelectionLabel": "パッチの選択の変更を許可", @@ -198,13 +198,13 @@ "enablePatchesSelectionWarningText": "パッチの選択を変更すると、予期せぬ問題が起こる可能性があります。\n\n有効にしますか?", "disablePatchesSelectionWarningText": "パッチの選択の変更を無効にしようとしています。\nデフォルトのパッチの選択が復元されます。\n\n無効にしますか?", "autoUpdatePatchesLabel": "パッチの自動アップデート", - "autoUpdatePatchesHint": "パッチを自動的に最新バージョンに更新します", - "showUpdateDialogLabel": "更新ダイアログを表示", + "autoUpdatePatchesHint": "パッチを自動的に最新バージョンに更新する", + "showUpdateDialogLabel": "アップデートの通知を表示", "showUpdateDialogHint": "新しいアップデートが利用可能な場合にダイアログを表示する", "universalPatchesLabel": "共通パッチの表示", - "universalPatchesHint": "すべてのアプリと共通パッチを表示します (アプリのリストの読み込みが遅くなる可能性があります)", - "versionCompatibilityCheckLabel": "バージョンの互換性チェック", - "requireSuggestedAppVersionLabel": "推奨されたアプリのバージョンが必要です", + "universalPatchesHint": "すべてのアプリと共通パッチを表示します(アプリ一覧の読み込みが遅くなる可能性があります)", + "versionCompatibilityCheckLabel": "バージョンの互換性の確認", + "requireSuggestedAppVersionLabel": "推奨するアプリバージョンの要求", "requireSuggestedAppVersionDialogText": "推奨されているバージョンではないアプリを選択すると、予期しない問題が発生する可能性があります。\n\nこのまま続行しますか?", "aboutLabel": "情報", "snackbarMessage": "クリップボードにコピーしました", @@ -213,19 +213,19 @@ "deleteTempDirHint": "未使用の一時ファイルを削除", "deletedTempDir": "一時ファイルを削除しました", "exportPatchesLabel": "パッチの選択をエクスポート", - "exportPatchesHint": "パッチの選択を JSON ファイルにエクスポートします", + "exportPatchesHint": "パッチの選択を JSON ファイルにエクスポートする", "exportedPatches": "パッチの選択をエクスポートしました", "noExportFileFound": "エクスポートするパッチの選択がありません", "importPatchesLabel": "パッチの選択をインポート", - "importPatchesHint": "パッチの選択を JSON ファイルからインポートします", + "importPatchesHint": "パッチの選択を JSON ファイルからインポートする", "importedPatches": "パッチの選択をインポートしました", "resetStoredPatchesLabel": "パッチの選択をリセット", - "resetStoredPatchesHint": "保存されたパッチの選択をリセットします", + "resetStoredPatchesHint": "保存されたパッチの選択をリセットする", "resetStoredPatchesDialogTitle": "パッチの選択をリセット", "resetStoredPatchesDialogText": "デフォルトのパッチの選択が復元されます。", "resetStoredPatches": "パッチの選択をリセットしました", "resetStoredOptionsLabel": "パッチオプションをリセット", - "resetStoredOptionsHint": "すべてのパッチオプションをリセットします", + "resetStoredOptionsHint": "すべてのパッチオプションをリセットする", "resetStoredOptionsDialogTitle": "パッチオプションをリセットしますか?", "resetStoredOptionsDialogText": "パッチオプションをリセットすると、保存されたすべてのオプションが削除されます。", "resetStoredOptions": "オプションをリセットしました", @@ -254,9 +254,12 @@ "openButton": "開く", "uninstallButton": "アンインストール", "rootDialogTitle": "エラー", + "unmountDialogText": "このアプリをアンマウントしてもよろしいですか?", "rootDialogText": "アプリはスーパーユーザー権限でインストールされましたが、現在 ReVanced Manager にはその権限がありません。 スーパーユーザー権限を付与してください。", "packageNameLabel": "パッケージ名", "installTypeLabel": "インストールの種類", + "mountTypeLabel": "マウント", + "regularTypeLabel": "通常", "patchedDateLabel": "パッチ適用日時", "appliedPatchesLabel": "適用されたパッチ", "patchedDateHint": "${date} ${time}", diff --git a/assets/i18n/strings_kk_KZ.i18n.json b/assets/i18n/strings_kk_KZ.i18n.json index 4d40483d85..b4f39923ed 100755 --- a/assets/i18n/strings_kk_KZ.i18n.json +++ b/assets/i18n/strings_kk_KZ.i18n.json @@ -1,6 +1,45 @@ { - "navigationView": {}, - "homeView": {}, + "okButton": "ОК", + "cancelButton": "Артқа", + "dismissButton": "Елемеу", + "quitButton": "Шығу", + "updateButton": "Жаңарту", + "enabledLabel": "Қосулы", + "disabledLabel": "Сөндірулі", + "installed": "Орнатылған: ${version}", + "suggested": "Ұсынылған: ${version}", + "yesButton": "Иә", + "noButton": "Жоқ", + "warning": "Назар аударыңыз", + "options": "Баптау", + "notice": "Ескерту", + "noShowAgain": "Енді көрсетілмесін", + "add": "Қосу", + "remove": "Жою", + "showChangelogButton": "Өзгерту тарихын көрсету", + "showUpdateButton": "Жаңартуды көрсету", + "navigationView": { + "dashboardTab": "Басқару тақтасы", + "patcherTab": "Patcher", + "settingsTab": "Баптау" + }, + "homeView": { + "refreshSuccess": "Сәтті жаңартылды", + "widgetTitle": "Бақылау тақтасы", + "updatesSubtitle": "Жаңартулар", + "patchedSubtitle": "Патчталған қолданбалар", + "changeLaterSubtitle": "Мұны кейінірек баптауда өзгертіп ала аласыз.", + "noUpdates": "Жаңарту жоқ", + "WIP": "Жүктеліп жатыр...", + "noInstallations": "Патчталған қолданбалар орнатылмаған", + "installUpdate": "Жаңартуды әрі қарай орната берейік пе?", + "updateSheetTitle": "ReVanced Manager-ді жаңарту", + "updateDialogTitle": "Жаңарту қолжетімді", + "updatePatchesSheetTitle": "ReVanced патчін жаңарту", + "updateChangelogTitle": "Өзгерту тарихы", + "updateDialogText": "${file} үшін жаңарту қолжетімді.\n\nҚазіргі ${version} нұсқасы орнатылып тұр.", + "downloadConsentDialogTitle": "Керек файлды жүктеп алайық па?" + }, "applicationItem": {}, "latestCommitCard": {}, "patcherView": {}, diff --git a/assets/i18n/strings_ko_KR.i18n.json b/assets/i18n/strings_ko_KR.i18n.json index 6acc6d7ae4..8405a4ca3e 100755 --- a/assets/i18n/strings_ko_KR.i18n.json +++ b/assets/i18n/strings_ko_KR.i18n.json @@ -19,13 +19,13 @@ "showChangelogButton": "변경 사항 보기", "showUpdateButton": "업데이트 보기", "navigationView": { - "dashboardTab": "대시보드", + "dashboardTab": "Dashboard", "patcherTab": "Patcher", "settingsTab": "설정" }, "homeView": { "refreshSuccess": "새로고침을 성공했습니다.", - "widgetTitle": "대시보드", + "widgetTitle": "Dashboard", "updatesSubtitle": "업데이트", "patchedSubtitle": "설치된 앱", "changeLaterSubtitle": "나중에 설정에서 바꿀 수 있습니다.", diff --git a/assets/i18n/strings_pt_PT.i18n.json b/assets/i18n/strings_pt_PT.i18n.json index 832983dca1..16f0de97b6 100755 --- a/assets/i18n/strings_pt_PT.i18n.json +++ b/assets/i18n/strings_pt_PT.i18n.json @@ -16,16 +16,16 @@ "noShowAgain": "Não mostrar isto novamente", "add": "Adicionar", "remove": "Remover", - "showChangelogButton": "Mostrar o registo de modificações", + "showChangelogButton": "Mostrar as correções", "showUpdateButton": "Mostrar atualização", "navigationView": { - "dashboardTab": "Painel de controlo", + "dashboardTab": "Painel de Controlo", "patcherTab": "Modificador", "settingsTab": "Definições" }, "homeView": { "refreshSuccess": "Atualizado com sucesso", - "widgetTitle": "Painel de controlo", + "widgetTitle": "Painel de Controlo", "updatesSubtitle": "Atualizações", "patchedSubtitle": "Aplicações Modificadas", "changeLaterSubtitle": "Podes modificar esta definição mais tarde.", diff --git a/assets/i18n/strings_zh_CN.i18n.json b/assets/i18n/strings_zh_CN.i18n.json index 693e0b0748..6910ce8d62 100755 --- a/assets/i18n/strings_zh_CN.i18n.json +++ b/assets/i18n/strings_zh_CN.i18n.json @@ -1,8 +1,11 @@ { "okButton": "确定", "cancelButton": "取消", + "dismissButton": "忽略", "quitButton": "退出", "updateButton": "更新", + "enabledLabel": "已启用", + "disabledLabel": "已禁用", "installed": "已安装版本:${version}", "suggested": "建议的版本:${version}", "yesButton": "是", @@ -14,6 +17,7 @@ "add": "添加", "remove": "移除", "showChangelogButton": "显示更新日志", + "showUpdateButton": "显示更新", "navigationView": { "dashboardTab": "控制面板", "patcherTab": "补丁程序", @@ -25,15 +29,20 @@ "updatesSubtitle": "更新", "patchedSubtitle": "已应用补丁的应用程序", "changeLaterSubtitle": "您可以稍后在设置中更改此设置。", + "noUpdates": "暂无更新", + "WIP": "正在执行操作…", "noInstallations": "没有安装已修补的应用", "installUpdate": "继续安装该更新?", "updateSheetTitle": "更新 ReVanced Manager", "updateDialogTitle": "有可用的更新", "updatePatchesSheetTitle": "更新 ReVanced 补丁", "updateChangelogTitle": "更新日志", + "updateDialogText": "${file} 有新的更新可用。\n\n当前安装的版本是${version}。", "downloadConsentDialogTitle": "下载必要文件吗?", "downloadConsentDialogText": "ReVanced Manager 需要下载必要的文件才能正常工作。", + "downloadConsentDialogText2": "这会将您连接到 ${url}。", "checkUpdateDialogTitle": "要检查更新吗?", + "checkUpdateDialogText": "您想要ReVanced Manager自动检查更新吗?", "notificationTitle": "更新下载完成!", "notificationText": "点击安装更新", "downloadingMessage": "正在下载更新…", @@ -49,11 +58,17 @@ }, "latestCommitCard": { "loadingLabel": "正在加载…", - "timeagoLabel": "${time}前" + "timeagoLabel": "${time}前", + "patcherLabel": "补丁程序: ", + "managerLabel": "管理器: ", + "updateButton": "更新管理器" }, "patcherView": { "widgetTitle": "修补器", - "patchButton": "修补" + "patchButton": "修补", + "armv7WarningDialogText": "尚不支持在 ARMv7 设备上进行修补并且可能会失败。仍要继续吗?", + "removedPatchesWarningDialogText": "自您上次使用以下补丁以来,它们已被删除。\n\n${patches}\n\n还是继续吗?", + "requiredOptionDialogText": "某些补丁选项必须设置。" }, "appSelectorCard": { "widgetTitle": "选择一个应用", @@ -61,7 +76,8 @@ "widgetSubtitle": "未选择任何应用", "noAppsLabel": "未发现应用程序", "currentVersion": "当前", - "suggestedVersion": "建议" + "suggestedVersion": "建议", + "anyVersion": "所有版本" }, "patchSelectorCard": { "widgetTitle": "选择补丁", @@ -81,7 +97,8 @@ "errorMessage": "无法使用所选应用程序。", "downloadToast": "下载功能尚不可用", "requireSuggestedAppVersionDialogText": "你所选择的应用版本与推荐的版本不一致,这可能会导致不可预料的问题。请使用推荐的版本。\n\n选择的版本:${selected}\n推荐的版本:${suggested}", - "featureNotAvailable": "功能未实现" + "featureNotAvailable": "功能未实现", + "featureNotAvailableText": "此应用程序是一个拆分的 APK,只能通过安装root 权限来修补和可靠安装。 然而,您可以通过从存储中选择一个完整的 APK来修补和安装。" }, "patchesSelectorView": { "viewTitle": "选择补丁", @@ -90,10 +107,14 @@ "newPatches": "新补丁", "patches": "补丁", "doneButton": "完成", + "defaultChip": "默认", "defaultTooltip": "选择所有默认补丁", + "noneChip": "无", "noneTooltip": "取消选择所有补丁", "loadPatchesSelection": "加载补丁选项", - "noPatchesFound": "未找到适用于所选应用程序的补丁" + "noSavedPatches": "所选应用没有保存补丁选择。\n按完成保存当前选择。", + "noPatchesFound": "未找到适用于所选应用程序的补丁", + "setRequiredOption": "某些补丁需要设置选项:\n\n${patches}\n\n请设置后再继续。" }, "patchOptionsView": { "customValue": "自定义值", @@ -105,22 +126,34 @@ "tooltip": "更多输入选项", "selectFilePath": "选择文件路径", "selectFolder": "选择文件夹", - "unsupportedOption": "不支持此选项" + "selectOption": "选择选项", + "requiredOption": "必须填写此选项", + "unsupportedOption": "不支持此选项", + "requiredOptionNull": "必须设置以下选项:\n\n${options}" }, "patchItem": { "unsupportedDialogText": "选择此补丁可能导致修补错误。\n\n应用版本: ${packageVersion}\n当前支持的版本:\n${supportedVersions}", + "unsupportedPatchVersion": "此应用版本不支持补丁。", + "unsupportedRequiredOption": "此补丁包含不支持此应用程序的必填选项", + "patchesChangeWarningDialogText": "建议使用默认补丁选择和选项。更改它们可能会导致意外问题。\n\n您需要在更改任何补丁选择之前在设置中打开\"允许更改补丁选择\"。", "patchesChangeWarningDialogButton": "使用默认选择" }, "installerView": { + "widgetTitle": "安装器", "installType": "选择安装类型", + "installTypeDescription": "选择要继续的安装类型。", "installButton": "安装", "installRootType": "挂载", + "installNonRootType": "常规", + "warning": "禁用补丁应用的自动更新,以避免意外问题。", "pressBackAgain": "再次按返回键取消", "openButton": "打开", + "shareButton": "分享文件", "notificationTitle": "ReVanced Manager 正在应用补丁", "notificationText": "点击返回到安装器", "exportApkButtonTooltip": "导出已修补的 APK", "exportLogButtonTooltip": "导出日志", + "screenshotDetected": "已检测到截图。如果您要共享日志,请共享文本副本。\n\n将日志复制到剪贴板?", "copiedToClipboard": "复制日志至剪贴板", "noExit": "安装程序仍在运行,无法退出..." }, @@ -131,15 +164,27 @@ "debugSectionTitle": "调试", "advancedSectionTitle": "高级", "exportSectionTitle": "导入与导出", + "dataSectionTitle": "数据来源", "themeModeLabel": "应用主题", "systemThemeLabel": "系统", "lightThemeLabel": "亮色主题", "darkThemeLabel": "深色模式", + "dynamicThemeLabel": "Material You 风格", "dynamicThemeHint": "享受更贴近你的设备的体验", "languageLabel": "语言", + "languageUpdated": "语言已更新", + "englishOption": "英语", + "sourcesLabel": "其他来源", + "sourcesLabelHint": "配置 ReVanced 补丁和 ReVanced 集成的替代源", "sourcesIntegrationsLabel": "集成源", + "useAlternativeSources": "使用其他来源", + "useAlternativeSourcesHint": "使用 ReVanced 补丁和 ReVanced 集成的替代来源而不是 API", "sourcesResetDialogTitle": "重置", + "sourcesResetDialogText": "您确定要将源重置为默认值吗?", + "apiURLResetDialogText": "您确定要重置你的 API URL 为默认值吗?", + "sourcesUpdateNote": "注意:这将自动从其他来源下载 ReVanced 补丁和 ReVanced 集成。\n\n这将连接到替代源。", "apiURLLabel": "API 地址", + "apiURLHint": "配置 ReVanced Manager 的 API URL", "selectApiURL": "API 地址", "orgPatchesLabel": "补丁组织", "sourcesPatchesLabel": "补丁来源", @@ -147,35 +192,78 @@ "contributorsLabel": "贡献者", "contributorsHint": "ReVanced 贡献者列表", "logsLabel": "分享日志", + "logsHint": "分享ReVanced Manager日志", + "enablePatchesSelectionLabel": "允许更改补丁选项", + "enablePatchesSelectionHint": "不要阻止选择或发送补丁", + "enablePatchesSelectionWarningText": "更改补丁选择可能会导致意外的问题。\n\n仍然启用吗?", + "disablePatchesSelectionWarningText": "您将禁用更改补丁选择。\n将恢复默认的补丁选择。\n\n无论如何都要禁用?", "autoUpdatePatchesLabel": "自动更新补丁", "autoUpdatePatchesHint": "自动更新补丁至最新版本", + "showUpdateDialogLabel": "显示更新提示", + "showUpdateDialogHint": "当有新的更新时显示对话框", "universalPatchesLabel": "显示通用补丁", "universalPatchesHint": "显示所有应用和通用补丁(可能会减慢应用列表)", "versionCompatibilityCheckLabel": "版本兼容性检查", + "versionCompatibilityCheckHint": "禁止选择与所选应用版本不兼容的补丁", "requireSuggestedAppVersionLabel": "需要推荐的应用版本", + "requireSuggestedAppVersionHint": "阻止选择版本不是建议版本的应用", + "requireSuggestedAppVersionDialogText": "选择非建议版本的应用程序可能会导致意想不到的问题。\n\n您还想继续吗?", "aboutLabel": "关于", "snackbarMessage": "已复制到剪贴板", "restartAppForChanges": "重启应用以生效", "deleteTempDirLabel": "删除临时文件", "deleteTempDirHint": "删除未使用的临时文件", "deletedTempDir": "已删除临时文件", + "exportPatchesLabel": "导出选择的补丁", + "exportPatchesHint": "将选择的补丁导出到 JSON 文件", + "exportedPatches": "导出选择的修补程序", + "noExportFileFound": "没有选择要导出的补丁", + "importPatchesLabel": "导入选择的补丁", + "importPatchesHint": "从 JSON 文件导入补丁选择", + "importedPatches": "已导入的补丁选择", + "resetStoredPatchesLabel": "重置补丁选择", + "resetStoredPatchesHint": "重置存储的补丁选择", + "resetStoredPatchesDialogTitle": "重置补丁选择?", + "resetStoredPatchesDialogText": "补丁的默认选择将被恢复。", + "resetStoredPatches": "补丁选择已重置", + "resetStoredOptionsLabel": "重置补丁选项", + "resetStoredOptionsHint": "重置全部补丁选项", + "resetStoredOptionsDialogTitle": "重置补丁选项?", + "resetStoredOptionsDialogText": "重置补丁选项将删除所有已保存的选项。", + "resetStoredOptions": "选项已重置", "deleteLogsLabel": "清除日志", + "deleteLogsHint": "删除收集的 ReVanced Manager 日志", "deletedLogs": "已删除日志", + "regenerateKeystoreLabel": "重新生成密钥存储", + "regenerateKeystoreHint": "重新生成用于签署应用程序的密钥存储", + "regenerateKeystoreDialogTitle": "重新生成密钥存储?", + "regenerateKeystoreDialogText": "使用旧密钥库签名的已打补丁应用程序将无法更新。", + "regeneratedKeystore": "重新生成密钥库", "exportKeystoreLabel": "导出密钥库", + "exportKeystoreHint": "导出用于签署应用程序的密钥存储", "exportedKeystore": "已导出密钥库", "noKeystoreExportFileFound": "没有要导出的密钥库", "importKeystoreLabel": "导入密钥库", + "importKeystoreHint": "导入用于签署应用程序的密钥库", "importedKeystore": "密钥库已导入\n\n", - "jsonSelectorErrorMessage": "无法使用所选的 json 文件" + "selectKeystorePassword": "密钥存储密码", + "selectKeystorePasswordHint": "选择用于签署应用程序的密钥库密码", + "jsonSelectorErrorMessage": "无法使用所选的 json 文件", + "keystoreSelectorErrorMessage": "无法使用选定的密钥存储文件" }, "appInfoView": { "widgetTitle": "应用信息", "openButton": "打开", "uninstallButton": "卸载", + "unmountButton": "卸载", "rootDialogTitle": "错误", + "unmountDialogText": "您确定要卸载此应用程序吗?", + "uninstallDialogText": "您确定要卸载此应用程序吗?", "rootDialogText": "应用程序曾以超级用户权限安装,但是 ReVanced 管理器目前没有权限。\n请先授予超级用户权限。", "packageNameLabel": "包名", "installTypeLabel": "安装类型", + "mountTypeLabel": "安装", + "regularTypeLabel": "常规", "patchedDateLabel": "修补日期", "appliedPatchesLabel": "应用的补丁", "patchedDateHint": "${date} 于 ${time}", @@ -185,5 +273,30 @@ "contributorsView": { "widgetTitle": "贡献者" }, - "installErrorDialog": {} + "installErrorDialog": { + "mount_version_mismatch": "版本不兼容", + "mount_no_root": "无超级用户权限", + "mount_missing_installation": "未找到安装", + "status_failure_blocked": "安装已被阻止", + "install_failed_verification_failure": "校验失败", + "status_failure_invalid": "安装失败", + "install_failed_version_downgrade": "无法降级", + "status_failure_conflict": "安装冲突", + "status_failure_storage": "安装存储错误", + "status_failure_incompatible": "安装不兼容", + "status_failure_timeout": "安装超时", + "status_unknown": "安装失败", + "mount_version_mismatch_description": "安装失败,因为已安装的应用不同于已修补的应用。\n\n安装您正在挂载的应用程序版本,然后重试。", + "mount_no_root_description": "由于未授予 root 访问权限,安装失败。\n\n授予 ReVanced Manager root 访问权限,然后重试。", + "mount_missing_installation_description": "安装失败,因为此设备上没有安装未经修补的应用以挂载它。\n\n在安装前安装未经修补的应用,然后重试。", + "status_failure_timeout_description": "安装时间太长。\n\n您想再试一次吗?", + "status_failure_storage_description": "由于存储空间不足,安装失败。\n\n释放一些空间,然后重试。", + "status_failure_invalid_description": "由于修补的应用程序无效,安装失败。\n\n卸载该应用程序并重试?", + "status_failure_incompatible_description": "该应用程序与此设备不兼容。\n\n请联系应用程序的开发者并寻求支持。", + "status_failure_conflict_description": "该应用程序的现有安装阻止了安装。\n\n卸载已安装的应用程序并重试?", + "status_failure_blocked_description": "安装被 ${packageName} 阻止。\n\n调整您的安全设置并重试。", + "install_failed_verification_failure_description": "由于验证问题,安装失败。\n\n请调整安全设置并重试。", + "install_failed_version_downgrade_description": "由于修补的应用程序版本低于已安装的应用程序,安装失败。\n\n卸载该应用程序并重试?", + "status_unknown_description": "由于未知原因,安装失败。请重试。" + } } \ No newline at end of file From 3776674eb4c750a0d434769e45005e9fbe5836a1 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Fri, 5 Apr 2024 01:10:39 +0000 Subject: [PATCH 036/127] chore(release): 1.20.0-dev.1 [skip ci] # [1.20.0-dev.1](https://github.com/ReVanced/revanced-manager/compare/v1.19.4-dev.7...v1.20.0-dev.1) (2024-04-05) ### Bug Fixes * Do not crash when selecting an APK from storage ([#1768](https://github.com/ReVanced/revanced-manager/issues/1768)) ([8564c1a](https://github.com/ReVanced/revanced-manager/commit/8564c1a72e7f9d2c546fa0025b0626cfba26959e)) ### Features * Improve language update settings ([#1838](https://github.com/ReVanced/revanced-manager/issues/1838)) ([f9e6ef3](https://github.com/ReVanced/revanced-manager/commit/f9e6ef3fd3612e72de358beb9f5d33b827dd2441)) --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 4ec89a46bb..92ba2c6a78 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -4,7 +4,7 @@ homepage: https://github.com/ReVanced/revanced-manager publish_to: 'none' -version: 1.19.4-dev.7+101800013 +version: 1.20.0-dev.1+101800014 environment: sdk: '>=3.0.0 <4.0.0' From 975870e25430ed3dec76f76414a6e1ca7e6955b0 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Fri, 5 Apr 2024 01:19:30 +0000 Subject: [PATCH 037/127] chore(release): 1.20.0 [skip ci] # [1.20.0](https://github.com/ReVanced/revanced-manager/compare/v1.19.3...v1.20.0) (2024-04-05) ### Bug Fixes * disable proguard obfuscation ([401646a](https://github.com/ReVanced/revanced-manager/commit/401646ace4e2dc2ec12c403dc6011aaed878dcda)) * Do not crash when selecting an APK from storage ([#1768](https://github.com/ReVanced/revanced-manager/issues/1768)) ([8564c1a](https://github.com/ReVanced/revanced-manager/commit/8564c1a72e7f9d2c546fa0025b0626cfba26959e)) * Don't translation ReVanced repository ([c265794](https://github.com/ReVanced/revanced-manager/commit/c265794d0efbc3ed2dea7a60c7ebd461f711799a)) * Ensure safe area usage in Changelogs Modal Bottom Sheet ([#1772](https://github.com/ReVanced/revanced-manager/issues/1772)) ([c981cb4](https://github.com/ReVanced/revanced-manager/commit/c981cb4a41051bc68b14cec55520c808311952b7)) * Pre-releases changelog being shown ([#1767](https://github.com/ReVanced/revanced-manager/issues/1767)) ([add49e1](https://github.com/ReVanced/revanced-manager/commit/add49e14fb71e3b9b5f0988e39c3a664fd5b36b1)) * Replace Spacer with Expanded to avoid overflow ([#1791](https://github.com/ReVanced/revanced-manager/issues/1791)) ([6f70a07](https://github.com/ReVanced/revanced-manager/commit/6f70a079701be63fc59b7272d0ddc4334c89d798)) * Set text colour on dropdown menu for Custom Value ([966796d](https://github.com/ReVanced/revanced-manager/commit/966796dfec0691bac87960f508dd0351a8fd1d77)), closes [#1584](https://github.com/ReVanced/revanced-manager/issues/1584) * **ui:** Support free-scroll and auto-scroll for the installer logs ([#1736](https://github.com/ReVanced/revanced-manager/issues/1736)) ([#1836](https://github.com/ReVanced/revanced-manager/issues/1836)) ([025ff52](https://github.com/ReVanced/revanced-manager/commit/025ff527ee8bfc01767c5df94cb399ca3b98cf27)) ### Features * Improve language update settings ([#1838](https://github.com/ReVanced/revanced-manager/issues/1838)) ([f9e6ef3](https://github.com/ReVanced/revanced-manager/commit/f9e6ef3fd3612e72de358beb9f5d33b827dd2441)) --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 92ba2c6a78..43974770fa 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -4,7 +4,7 @@ homepage: https://github.com/ReVanced/revanced-manager publish_to: 'none' -version: 1.20.0-dev.1+101800014 +version: 1.20.0+101800015 environment: sdk: '>=3.0.0 <4.0.0' From a7e481c82775b6c21973f3fd066caff0be41737d Mon Sep 17 00:00:00 2001 From: Ushie Date: Fri, 5 Apr 2024 05:35:36 +0300 Subject: [PATCH 038/127] fix: Don't crash on patch This reverts commit 7833a0d552d05946f50434e799c46272e6eb30a3. --- pubspec.lock | 6 +++--- pubspec.yaml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 6377e6f0fd..60fa4fabfb 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -323,9 +323,9 @@ packages: dependency: "direct main" description: path: "." - ref: "65cf0ec93486b3a6c74339aadaeb384cf2c9a24b" - resolved-ref: "65cf0ec93486b3a6c74339aadaeb384cf2c9a24b" - url: "https://github.com/JulianAssmann/flutter_background" + ref: "560d21c4148b53933313573e7eafca0b0eb9aadf" + resolved-ref: "560d21c4148b53933313573e7eafca0b0eb9aadf" + url: "https://github.com/BenjaminHalko/flutter_background" source: git version: "1.2.0" flutter_cache_manager: diff --git a/pubspec.yaml b/pubspec.yaml index 43974770fa..995c912d23 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -26,9 +26,9 @@ dependencies: flutter: sdk: flutter flutter_background: - git: # Switch to 'flutter_background' once new version is released - url: https://github.com/JulianAssmann/flutter_background - ref: 65cf0ec93486b3a6c74339aadaeb384cf2c9a24b # Branch: master + git: # remove once https://github.com/JulianAssmann/flutter_background/pull/79 is merged + url: https://github.com/BenjaminHalko/flutter_background + ref: 560d21c4148b53933313573e7eafca0b0eb9aadf # Branch: specify-namespace flutter_cache_manager: ^3.3.0 flutter_file_dialog: ^3.0.2 flutter_local_notifications: ^16.1.0 From a23f032fd24017286391a94dfa924e7256ff506c Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Fri, 5 Apr 2024 02:52:15 +0000 Subject: [PATCH 039/127] chore(release): 1.20.1 [skip ci] ## [1.20.1](https://github.com/ReVanced/revanced-manager/compare/v1.20.0...v1.20.1) (2024-04-05) ### Bug Fixes * Don't crash on patch ([a7e481c](https://github.com/ReVanced/revanced-manager/commit/a7e481c82775b6c21973f3fd066caff0be41737d)) --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 995c912d23..a0c6f46c52 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -4,7 +4,7 @@ homepage: https://github.com/ReVanced/revanced-manager publish_to: 'none' -version: 1.20.0+101800015 +version: 1.20.1+101800016 environment: sdk: '>=3.0.0 <4.0.0' From a31ec9d1feb243e83d672033d3d75637d0b3b261 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Apr 2024 14:53:30 +0700 Subject: [PATCH 040/127] build(deps): bump permission_handler from 11.3.0 to 11.3.1 (#1852) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pubspec.lock | 12 ++++++------ pubspec.yaml | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 60fa4fabfb..0ddd1835fc 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -563,10 +563,10 @@ packages: dependency: "direct main" description: name: language_code - sha256: "3124246f599039a89c990d007b00bc41b1526d6400de97cf13a478b7f4b16a83" + sha256: "45b5320eedf35075176a6398b5d46c408c423be293280f1a95a92c216e7de40b" url: "https://pub.dev" source: hosted - version: "0.4.2" + version: "0.5.1" leak_tracker: dependency: transitive description: @@ -764,10 +764,10 @@ packages: dependency: "direct main" description: name: permission_handler - sha256: "74e962b7fad7ff75959161bb2c0ad8fe7f2568ee82621c9c2660b751146bfe44" + sha256: "18bf33f7fefbd812f37e72091a15575e72d5318854877e0e4035a24ac1113ecb" url: "https://pub.dev" source: hosted - version: "11.3.0" + version: "11.3.1" permission_handler_android: dependency: transitive description: @@ -780,10 +780,10 @@ packages: dependency: transitive description: name: permission_handler_apple - sha256: bdafc6db74253abb63907f4e357302e6bb786ab41465e8635f362ee71fd8707b + sha256: e9ad66020b89ff1b63908f247c2c6f931c6e62699b756ef8b3c4569350cd8662 url: "https://pub.dev" source: hosted - version: "9.4.0" + version: "9.4.4" permission_handler_html: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index a0c6f46c52..c57eb48e04 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -48,7 +48,7 @@ dependencies: ref: 4a6d5e0e22292c8eb160cfb9365b9ea29735fd43 # Branch: master package_info_plus: ^6.0.0 path_provider: ^2.0.14 - permission_handler: ^11.0.1 + permission_handler: ^11.3.1 root: git: url: https://github.com/validcube/root From a99de99202397aa462a7e86928c3bffcb8680e28 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Apr 2024 14:53:59 +0700 Subject: [PATCH 041/127] build(deps): bump share_plus from 7.2.2 to 8.0.2 (#1853) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pubspec.lock | 8 ++++---- pubspec.yaml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 0ddd1835fc..bb369feb33 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -902,18 +902,18 @@ packages: dependency: "direct main" description: name: share_plus - sha256: "3ef39599b00059db0990ca2e30fca0a29d8b37aae924d60063f8e0184cf20900" + sha256: "05ec043470319bfbabe0adbc90d3a84cbff0426b9d9f3a6e2ad3e131fa5fa629" url: "https://pub.dev" source: hosted - version: "7.2.2" + version: "8.0.2" share_plus_platform_interface: dependency: transitive description: name: share_plus_platform_interface - sha256: df08bc3a07d01f5ea47b45d03ffcba1fa9cd5370fb44b3f38c70e42cced0f956 + sha256: "251eb156a8b5fa9ce033747d73535bf53911071f8d3b6f4f0b578505ce0d4496" url: "https://pub.dev" source: hosted - version: "3.3.1" + version: "3.4.0" shared_preferences: dependency: "direct main" description: diff --git a/pubspec.yaml b/pubspec.yaml index c57eb48e04..32291fa184 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -57,7 +57,7 @@ dependencies: git: # remove once https://github.com/flutter-moum/flutter_screenshot_callback/pull/81 is merged url: https://github.com/BenjaminHalko/flutter_screenshot_callback ref: 1a1616ac91e16cd1f3dd170a81febf27ffce3587 # Branch: master - share_plus: ^7.2.1 + share_plus: ^8.0.2 shared_preferences: ^2.1.0 skeletons: ^0.0.3 slang: ^3.25.0 From 6c0c961ca0d8536c782d1d8e94b9c8fe8427f0a0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Apr 2024 14:54:31 +0700 Subject: [PATCH 042/127] build(deps): bump build_runner from 2.4.8 to 2.4.9 (#1850) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pubspec.lock | 4 ++-- pubspec.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index bb369feb33..b79e0f5b3a 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -85,10 +85,10 @@ packages: dependency: "direct dev" description: name: build_runner - sha256: "581bacf68f89ec8792f5e5a0b2c4decd1c948e97ce659dc783688c8a88fbec21" + sha256: "3ac61a79bfb6f6cc11f693591063a7f19a7af628dc52f141743edac5c16e8c22" url: "https://pub.dev" source: hosted - version: "2.4.8" + version: "2.4.9" build_runner_core: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 32291fa184..5a90466c37 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -73,7 +73,7 @@ dependencies: dev_dependencies: analyzer: ^6.4.1 - build_runner: any + build_runner: 2.4.9 flutter_lints: ^3.0.2 injectable_generator: ^2.1.5 json_serializable: ^6.7.1 From f00dc4d3e67123ab883a114a62e29d7d6cd51b1d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Apr 2024 14:55:48 +0700 Subject: [PATCH 043/127] build(deps): bump flutter_markdown from 0.6.20+1 to 0.6.22+1 (#1851) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pubspec.lock | 4 ++-- pubspec.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index b79e0f5b3a..545cf4b775 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -385,10 +385,10 @@ packages: dependency: "direct main" description: name: flutter_markdown - sha256: a64c5323ac83ed2b7940d2b6288d160aa1753ff271ba9d9b2a86770414aa3eab + sha256: "31c12de79262b5431c5492e9c89948aa789158435f707d3519a7fdef6af28af7" url: "https://pub.dev" source: hosted - version: "0.6.20+1" + version: "0.6.22+1" flutter_test: dependency: transitive description: flutter diff --git a/pubspec.yaml b/pubspec.yaml index 5a90466c37..190c21af37 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -34,7 +34,7 @@ dependencies: flutter_local_notifications: ^16.1.0 flutter_localizations: sdk: flutter - flutter_markdown: ^0.6.14 + flutter_markdown: ^0.6.22+1 fluttertoast: ^8.2.4 font_awesome_flutter: ^10.4.0 google_fonts: ^6.2.1 From d91ea62903fe91291d57d38fc9cb7232e5bfcccb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Apr 2024 14:57:16 +0700 Subject: [PATCH 044/127] build(deps): bump flutter_local_notifications from 16.3.2 to 17.0.0 (#1848) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pubspec.lock | 4 ++-- pubspec.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 545cf4b775..ef959471d3 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -356,10 +356,10 @@ packages: dependency: "direct main" description: name: flutter_local_notifications - sha256: c18f1de98fe0bb9dd5ba91e1330d4febc8b6a7de6aae3ffe475ef423723e72f3 + sha256: f9a05409385b77b06c18f200a41c7c2711ebf7415669350bb0f8474c07bd40d1 url: "https://pub.dev" source: hosted - version: "16.3.2" + version: "17.0.0" flutter_local_notifications_linux: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 190c21af37..6483f6177f 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -31,7 +31,7 @@ dependencies: ref: 560d21c4148b53933313573e7eafca0b0eb9aadf # Branch: specify-namespace flutter_cache_manager: ^3.3.0 flutter_file_dialog: ^3.0.2 - flutter_local_notifications: ^16.1.0 + flutter_local_notifications: ^17.0.0 flutter_localizations: sdk: flutter flutter_markdown: ^0.6.22+1 From 5e6cc86c7e11521466eacd4e9f9aafa40d56cf8b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Apr 2024 14:57:28 +0700 Subject: [PATCH 045/127] build(deps-dev): bump semantic-release from 23.0.6 to 23.0.7 (#1844) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 81 ++++++++++++++++++++++++++++++++++++++++++++--- package.json | 2 +- 2 files changed, 77 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 84eb9bc3e4..8c893ed0ac 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "@semantic-release/changelog": "^6.0.3", "@semantic-release/exec": "^6.0.3", "@semantic-release/git": "^10.0.1", - "semantic-release": "^23.0.6" + "semantic-release": "^23.0.7" } }, "node_modules/@babel/code-frame": { @@ -1575,6 +1575,18 @@ "node": ">=16" } }, + "node_modules/convert-hrtime": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/convert-hrtime/-/convert-hrtime-5.0.0.tgz", + "integrity": "sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", @@ -2068,6 +2080,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/function-timeout": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/function-timeout/-/function-timeout-1.0.1.tgz", + "integrity": "sha512-6yPMImFFuaMPNaTMTBuolA8EanHJWF5Vju0NHpObRURT105J6x1Mf2a7J4P7Sqk2xDxv24N5L0RatEhTBhNmdA==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -6132,9 +6156,9 @@ "dev": true }, "node_modules/semantic-release": { - "version": "23.0.6", - "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-23.0.6.tgz", - "integrity": "sha512-/r62F4PNhJZhyZYMobcpcACGwpFNQyaVcSmqZQXG50GMbHSBVZQLCvwafqxO1lDQKVgmGmyCEtOVYzwvzvyhVw==", + "version": "23.0.7", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-23.0.7.tgz", + "integrity": "sha512-PFxXQE57zrYiCbWKkdsVUF08s0SifEw3WhDhrN47ZEUWQiLl21FI9Dg/H8g7i/lPx0IkF6u7PjJbgxPceXKBeg==", "dev": true, "dependencies": { "@semantic-release/commit-analyzer": "^12.0.0", @@ -6148,7 +6172,7 @@ "env-ci": "^11.0.0", "execa": "^8.0.0", "figures": "^6.0.0", - "find-versions": "^5.1.0", + "find-versions": "^6.0.0", "get-stream": "^6.0.0", "git-log-parser": "^1.2.0", "hook-std": "^3.0.0", @@ -6510,6 +6534,22 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/semantic-release/node_modules/find-versions": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-6.0.0.tgz", + "integrity": "sha512-2kCCtc+JvcZ86IGAz3Z2Y0A1baIz9fL31pH/0S1IqZr9Iwnjq8izfPtrCyQKO6TLMPELLsQMre7VDqeIKCsHkA==", + "dev": true, + "dependencies": { + "semver-regex": "^4.0.5", + "super-regex": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/semantic-release/node_modules/human-signals": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", @@ -6914,6 +6954,22 @@ "node": ">=0.10.0" } }, + "node_modules/super-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/super-regex/-/super-regex-1.0.0.tgz", + "integrity": "sha512-CY8u7DtbvucKuquCmOFEKhr9Besln7n9uN8eFbwcoGYWXOMW07u2o8njWaiXt11ylS3qoGF55pILjRmPlbodyg==", + "dev": true, + "dependencies": { + "function-timeout": "^1.0.1", + "time-span": "^5.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -7060,6 +7116,21 @@ "xtend": "~4.0.1" } }, + "node_modules/time-span": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/time-span/-/time-span-5.1.0.tgz", + "integrity": "sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==", + "dev": true, + "dependencies": { + "convert-hrtime": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", diff --git a/package.json b/package.json index 15c600421c..9a62a41ab1 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,6 @@ "@semantic-release/changelog": "^6.0.3", "@semantic-release/exec": "^6.0.3", "@semantic-release/git": "^10.0.1", - "semantic-release": "^23.0.6" + "semantic-release": "^23.0.7" } } From bc300d81d9490e718cb024145dba4a19af5619ce Mon Sep 17 00:00:00 2001 From: Aunali321 Date: Tue, 16 Apr 2024 20:00:46 +0530 Subject: [PATCH 046/127] feat: open browser when clicking on changelog link --- android/app/src/main/AndroidManifest.xml | 3 +- .../homeView/update_confirmation_sheet.dart | 51 +++++++++++-------- 2 files changed, 31 insertions(+), 23 deletions(-) diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index b49b7e84c1..0f1c81cb13 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -26,7 +26,8 @@ android:name="${applicationName}" android:icon="@mipmap/ic_launcher" android:largeHeap="true" - android:requestLegacyExternalStorage="true"> + android:requestLegacyExternalStorage="true" + android:enableOnBackInvokedCallback="true"> href != null + ? launchUrl( + Uri.parse(href), + mode: LaunchMode.externalApplication, + ) + : null, + shrinkWrap: true, + physics: const NeverScrollableScrollPhysics(), + padding: const EdgeInsets.all(20.0), + data: snapshot.data!['body'] ?? '', ), + ), ], ); }, From e5d83f424a706a6f6863627184d2ffb7dd9a20d0 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Tue, 16 Apr 2024 14:39:51 +0000 Subject: [PATCH 047/127] chore(release): 1.21.0-dev.1 [skip ci] # [1.21.0-dev.1](https://github.com/ReVanced/revanced-manager/compare/v1.20.1...v1.21.0-dev.1) (2024-04-16) ### Features * open browser when clicking on changelog link ([bc300d8](https://github.com/ReVanced/revanced-manager/commit/bc300d81d9490e718cb024145dba4a19af5619ce)) --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 6483f6177f..0479fb8848 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -4,7 +4,7 @@ homepage: https://github.com/ReVanced/revanced-manager publish_to: 'none' -version: 1.20.1+101800016 +version: 1.21.0-dev.1+101800017 environment: sdk: '>=3.0.0 <4.0.0' From aab5d4411b12aae5cdd226416f5e3e8da2408aab Mon Sep 17 00:00:00 2001 From: hellidox <97000871+hellidox@users.noreply.github.com> Date: Tue, 23 Apr 2024 11:29:06 -0500 Subject: [PATCH 048/127] docs: Remove duplicate section in README (#1879) [skip ci] --- README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/README.md b/README.md index 7d0ffb77c3..cc39603628 100644 --- a/README.md +++ b/README.md @@ -98,10 +98,6 @@ To build a ReVanced Manager, you can follow the [documentation](/docs). You can find the documentation for ReVanced Manager [here](/docs). -### 👋 Contributing - -Thank you for considering contributing to ReVanced Manager. You can find the contribution guidelines [here](/CONTRIBUTING.md). - ## ⚖️ License ReVanced Manager is licensed under the GPLv3 license. Please see the [license file](LICENSE) for more information. From 7e0f18e3b7fdba9b4200ea02df9529d4716d4c4c Mon Sep 17 00:00:00 2001 From: oSumAtrIX Date: Sun, 28 Apr 2024 23:39:20 +0200 Subject: [PATCH 049/127] build: Bump dependencies --- package-lock.json | 2661 +++++++++++++++++++++++++++++++-------------- pubspec.lock | 172 +-- pubspec.yaml | 64 +- 3 files changed, 1939 insertions(+), 958 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8c893ed0ac..23808057db 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,13 +14,13 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", + "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", "dev": true, "dependencies": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" + "@babel/highlight": "^7.24.2", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" @@ -36,14 +36,15 @@ } }, "node_modules/@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", + "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" @@ -108,149 +109,147 @@ } }, "node_modules/@octokit/auth-token": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz", - "integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.1.1.tgz", + "integrity": "sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA==", "dev": true, "engines": { "node": ">= 18" } }, "node_modules/@octokit/core": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.1.0.tgz", - "integrity": "sha512-BDa2VAMLSh3otEiaMJ/3Y36GU4qf6GI+VivQ/P41NC6GHcdxpKlqV0ikSZ5gdQsmS3ojXeRx5vasgNTinF0Q4g==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.2.tgz", + "integrity": "sha512-hEb7Ma4cGJGEUNOAVmyfdB/3WirWMg5hDuNFVejGEDFqupeOysLc2sG6HJxY2etBp5YQu5Wtxwi020jS9xlUwg==", "dev": true, "dependencies": { - "@octokit/auth-token": "^4.0.0", - "@octokit/graphql": "^7.0.0", - "@octokit/request": "^8.0.2", - "@octokit/request-error": "^5.0.0", - "@octokit/types": "^12.0.0", - "before-after-hook": "^2.2.0", - "universal-user-agent": "^6.0.0" + "@octokit/auth-token": "^5.0.0", + "@octokit/graphql": "^8.0.0", + "@octokit/request": "^9.0.0", + "@octokit/request-error": "^6.0.1", + "@octokit/types": "^13.0.0", + "before-after-hook": "^3.0.2", + "universal-user-agent": "^7.0.0" }, "engines": { "node": ">= 18" } }, "node_modules/@octokit/endpoint": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.4.tgz", - "integrity": "sha512-DWPLtr1Kz3tv8L0UvXTDP1fNwM0S+z6EJpRcvH66orY6Eld4XBMCSYsaWp4xIm61jTWxK68BrR7ibO+vSDnZqw==", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.1.tgz", + "integrity": "sha512-JYjh5rMOwXMJyUpj028cu0Gbp7qe/ihxfJMLc8VZBMMqSwLgOxDI1911gV4Enl1QSavAQNJcwmwBF9M0VvLh6Q==", "dev": true, "dependencies": { - "@octokit/types": "^12.0.0", - "universal-user-agent": "^6.0.0" + "@octokit/types": "^13.0.0", + "universal-user-agent": "^7.0.2" }, "engines": { "node": ">= 18" } }, "node_modules/@octokit/graphql": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.0.2.tgz", - "integrity": "sha512-OJ2iGMtj5Tg3s6RaXH22cJcxXRi7Y3EBqbHTBRq+PQAqfaS8f/236fUrWhfSn8P4jovyzqucxme7/vWSSZBX2Q==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.1.1.tgz", + "integrity": "sha512-ukiRmuHTi6ebQx/HFRCXKbDlOh/7xEV6QUXaE7MJEKGNAncGI/STSbOkl12qVXZrfZdpXctx5O9X1AIaebiDBg==", "dev": true, "dependencies": { - "@octokit/request": "^8.0.1", - "@octokit/types": "^12.0.0", - "universal-user-agent": "^6.0.0" + "@octokit/request": "^9.0.0", + "@octokit/types": "^13.0.0", + "universal-user-agent": "^7.0.0" }, "engines": { "node": ">= 18" } }, "node_modules/@octokit/openapi-types": { - "version": "20.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-20.0.0.tgz", - "integrity": "sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA==", + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.1.0.tgz", + "integrity": "sha512-pGUdSP+eEPfZiQHNkZI0U01HLipxncisdJQB4G//OAmfeO8sqTQ9KRa0KF03TUPCziNsoXUrTg4B2Q1EX++T0Q==", "dev": true }, "node_modules/@octokit/plugin-paginate-rest": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.2.1.tgz", - "integrity": "sha512-wfGhE/TAkXZRLjksFXuDZdmGnJQHvtU/joFQdweXUgzo1XwvBCD4o4+75NtFfjfLK5IwLf9vHTfSiU3sLRYpRw==", + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.2.0.tgz", + "integrity": "sha512-Nd3hCJbr5GUwTgV6j2dMONIigoqNwJRm+yvA5BYb1dnGBTmVUrGYGNwYsGl2hN+xtDAYpqxDiz8vysh/NqEN+A==", "dev": true, "dependencies": { - "@octokit/types": "^12.6.0" + "@octokit/types": "^13.4.1" }, "engines": { "node": ">= 18" }, "peerDependencies": { - "@octokit/core": "5" + "@octokit/core": ">=6" } }, "node_modules/@octokit/plugin-retry": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-6.0.1.tgz", - "integrity": "sha512-SKs+Tz9oj0g4p28qkZwl/topGcb0k0qPNX/i7vBKmDsjoeqnVfFUquqrE/O9oJY7+oLzdCtkiWSXLpLjvl6uog==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-7.1.1.tgz", + "integrity": "sha512-G9Ue+x2odcb8E1XIPhaFBnTTIrrUDfXN05iFXiqhR+SeeeDMMILcAnysOsxUpEWcQp2e5Ft397FCXTcPkiPkLw==", "dev": true, "dependencies": { - "@octokit/request-error": "^5.0.0", - "@octokit/types": "^12.0.0", + "@octokit/request-error": "^6.0.0", + "@octokit/types": "^13.0.0", "bottleneck": "^2.15.3" }, "engines": { "node": ">= 18" }, "peerDependencies": { - "@octokit/core": ">=5" + "@octokit/core": ">=6" } }, "node_modules/@octokit/plugin-throttling": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-8.2.0.tgz", - "integrity": "sha512-nOpWtLayKFpgqmgD0y3GqXafMFuKcA4tRPZIfu7BArd2lEZeb1988nhWhwx4aZWmjDmUfdgVf7W+Tt4AmvRmMQ==", + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-9.2.1.tgz", + "integrity": "sha512-n6EK4/1Npva54sAFDdpUxAbO14FbzudJ/k7DZPjQuLYOvNTWj4DGeH//J9ZCVoLkAlvRWV5sWKLaICsmGvqg2g==", "dev": true, "dependencies": { - "@octokit/types": "^12.2.0", + "@octokit/types": "^13.0.0", "bottleneck": "^2.15.3" }, "engines": { "node": ">= 18" }, "peerDependencies": { - "@octokit/core": "^5.0.0" + "@octokit/core": "^6.0.0" } }, "node_modules/@octokit/request": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.2.0.tgz", - "integrity": "sha512-exPif6x5uwLqv1N1irkLG1zZNJkOtj8bZxuVHd71U5Ftuxf2wGNvAJyNBcPbPC+EBzwYEbBDdSFb8EPcjpYxPQ==", + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.1.1.tgz", + "integrity": "sha512-pyAguc0p+f+GbQho0uNetNQMmLG1e80WjkIaqqgUkihqUp0boRU6nKItXO4VWnr+nbZiLGEyy4TeKRwqaLvYgw==", "dev": true, "dependencies": { - "@octokit/endpoint": "^9.0.0", - "@octokit/request-error": "^5.0.0", - "@octokit/types": "^12.0.0", - "universal-user-agent": "^6.0.0" + "@octokit/endpoint": "^10.0.0", + "@octokit/request-error": "^6.0.1", + "@octokit/types": "^13.1.0", + "universal-user-agent": "^7.0.2" }, "engines": { "node": ">= 18" } }, "node_modules/@octokit/request-error": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.0.1.tgz", - "integrity": "sha512-X7pnyTMV7MgtGmiXBwmO6M5kIPrntOXdyKZLigNfQWSEQzVxR4a4vo49vJjTWX70mPndj8KhfT4Dx+2Ng3vnBQ==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.1.tgz", + "integrity": "sha512-1mw1gqT3fR/WFvnoVpY/zUM2o/XkMs/2AszUUG9I69xn0JFLv6PGkPhNk5lbfvROs79wiS0bqiJNxfCZcRJJdg==", "dev": true, "dependencies": { - "@octokit/types": "^12.0.0", - "deprecation": "^2.0.0", - "once": "^1.4.0" + "@octokit/types": "^13.0.0" }, "engines": { "node": ">= 18" } }, "node_modules/@octokit/types": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.6.0.tgz", - "integrity": "sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==", + "version": "13.4.1", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.4.1.tgz", + "integrity": "sha512-Y73oOAzRBAUzR/iRAbGULzpNkX8vaxKCqEtg6K74Ff3w9f5apFnWtE/2nade7dMWWW3bS5Kkd6DJS4HF04xreg==", "dev": true, "dependencies": { - "@octokit/openapi-types": "^20.0.0" + "@octokit/openapi-types": "^22.1.0" } }, "node_modules/@pnpm/config.env-replace": { @@ -308,6 +307,375 @@ "semantic-release": "^22.0.7" } }, + "node_modules/@saithodev/semantic-release-backmerge/node_modules/@octokit/auth-token": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz", + "integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==", + "dev": true, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@saithodev/semantic-release-backmerge/node_modules/@octokit/core": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.2.0.tgz", + "integrity": "sha512-1LFfa/qnMQvEOAdzlQymH0ulepxbxnCYAKJZfMci/5XJyIHWgEYnDmgnKakbTh7CH2tFQ5O60oYDvns4i9RAIg==", + "dev": true, + "dependencies": { + "@octokit/auth-token": "^4.0.0", + "@octokit/graphql": "^7.1.0", + "@octokit/request": "^8.3.1", + "@octokit/request-error": "^5.1.0", + "@octokit/types": "^13.0.0", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@saithodev/semantic-release-backmerge/node_modules/@octokit/endpoint": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.5.tgz", + "integrity": "sha512-ekqR4/+PCLkEBF6qgj8WqJfvDq65RH85OAgrtnVp1mSxaXF03u2xW/hUdweGS5654IlC0wkNYC18Z50tSYTAFw==", + "dev": true, + "dependencies": { + "@octokit/types": "^13.1.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@saithodev/semantic-release-backmerge/node_modules/@octokit/graphql": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.1.0.tgz", + "integrity": "sha512-r+oZUH7aMFui1ypZnAvZmn0KSqAUgE1/tUXIWaqUCa1758ts/Jio84GZuzsvUkme98kv0WFY8//n0J1Z+vsIsQ==", + "dev": true, + "dependencies": { + "@octokit/request": "^8.3.0", + "@octokit/types": "^13.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@saithodev/semantic-release-backmerge/node_modules/@octokit/openapi-types": { + "version": "20.0.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-20.0.0.tgz", + "integrity": "sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA==", + "dev": true + }, + "node_modules/@saithodev/semantic-release-backmerge/node_modules/@octokit/plugin-paginate-rest": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.2.1.tgz", + "integrity": "sha512-wfGhE/TAkXZRLjksFXuDZdmGnJQHvtU/joFQdweXUgzo1XwvBCD4o4+75NtFfjfLK5IwLf9vHTfSiU3sLRYpRw==", + "dev": true, + "dependencies": { + "@octokit/types": "^12.6.0" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": "5" + } + }, + "node_modules/@saithodev/semantic-release-backmerge/node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.6.0.tgz", + "integrity": "sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==", + "dev": true, + "dependencies": { + "@octokit/openapi-types": "^20.0.0" + } + }, + "node_modules/@saithodev/semantic-release-backmerge/node_modules/@octokit/plugin-retry": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-6.0.1.tgz", + "integrity": "sha512-SKs+Tz9oj0g4p28qkZwl/topGcb0k0qPNX/i7vBKmDsjoeqnVfFUquqrE/O9oJY7+oLzdCtkiWSXLpLjvl6uog==", + "dev": true, + "dependencies": { + "@octokit/request-error": "^5.0.0", + "@octokit/types": "^12.0.0", + "bottleneck": "^2.15.3" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": ">=5" + } + }, + "node_modules/@saithodev/semantic-release-backmerge/node_modules/@octokit/plugin-retry/node_modules/@octokit/types": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.6.0.tgz", + "integrity": "sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==", + "dev": true, + "dependencies": { + "@octokit/openapi-types": "^20.0.0" + } + }, + "node_modules/@saithodev/semantic-release-backmerge/node_modules/@octokit/plugin-throttling": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-8.2.0.tgz", + "integrity": "sha512-nOpWtLayKFpgqmgD0y3GqXafMFuKcA4tRPZIfu7BArd2lEZeb1988nhWhwx4aZWmjDmUfdgVf7W+Tt4AmvRmMQ==", + "dev": true, + "dependencies": { + "@octokit/types": "^12.2.0", + "bottleneck": "^2.15.3" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": "^5.0.0" + } + }, + "node_modules/@saithodev/semantic-release-backmerge/node_modules/@octokit/plugin-throttling/node_modules/@octokit/types": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.6.0.tgz", + "integrity": "sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==", + "dev": true, + "dependencies": { + "@octokit/openapi-types": "^20.0.0" + } + }, + "node_modules/@saithodev/semantic-release-backmerge/node_modules/@octokit/request": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.4.0.tgz", + "integrity": "sha512-9Bb014e+m2TgBeEJGEbdplMVWwPmL1FPtggHQRkV+WVsMggPtEkLKPlcVYm/o8xKLkpJ7B+6N8WfQMtDLX2Dpw==", + "dev": true, + "dependencies": { + "@octokit/endpoint": "^9.0.1", + "@octokit/request-error": "^5.1.0", + "@octokit/types": "^13.1.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@saithodev/semantic-release-backmerge/node_modules/@octokit/request-error": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.0.tgz", + "integrity": "sha512-GETXfE05J0+7H2STzekpKObFe765O5dlAKUTLNGeH+x47z7JjXHfsHKo5z21D/o/IOZTUEI6nyWyR+bZVP/n5Q==", + "dev": true, + "dependencies": { + "@octokit/types": "^13.1.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@saithodev/semantic-release-backmerge/node_modules/@semantic-release/commit-analyzer": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-11.1.0.tgz", + "integrity": "sha512-cXNTbv3nXR2hlzHjAMgbuiQVtvWHTlwwISt60B+4NZv01y/QRY7p2HcJm8Eh2StzcTJoNnflvKjHH/cjFS7d5g==", + "dev": true, + "dependencies": { + "conventional-changelog-angular": "^7.0.0", + "conventional-commits-filter": "^4.0.0", + "conventional-commits-parser": "^5.0.0", + "debug": "^4.0.0", + "import-from-esm": "^1.0.3", + "lodash-es": "^4.17.21", + "micromatch": "^4.0.2" + }, + "engines": { + "node": "^18.17 || >=20.6.1" + }, + "peerDependencies": { + "semantic-release": ">=20.1.0" + } + }, + "node_modules/@saithodev/semantic-release-backmerge/node_modules/@semantic-release/github": { + "version": "9.2.6", + "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-9.2.6.tgz", + "integrity": "sha512-shi+Lrf6exeNZF+sBhK+P011LSbhmIAoUEgEY6SsxF8irJ+J2stwI5jkyDQ+4gzYyDImzV6LCKdYB9FXnQRWKA==", + "dev": true, + "dependencies": { + "@octokit/core": "^5.0.0", + "@octokit/plugin-paginate-rest": "^9.0.0", + "@octokit/plugin-retry": "^6.0.0", + "@octokit/plugin-throttling": "^8.0.0", + "@semantic-release/error": "^4.0.0", + "aggregate-error": "^5.0.0", + "debug": "^4.3.4", + "dir-glob": "^3.0.1", + "globby": "^14.0.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.0", + "issue-parser": "^6.0.0", + "lodash-es": "^4.17.21", + "mime": "^4.0.0", + "p-filter": "^4.0.0", + "url-join": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "semantic-release": ">=20.1.0" + } + }, + "node_modules/@saithodev/semantic-release-backmerge/node_modules/@semantic-release/github/node_modules/@semantic-release/error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz", + "integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==", + "dev": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@saithodev/semantic-release-backmerge/node_modules/@semantic-release/github/node_modules/aggregate-error": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", + "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==", + "dev": true, + "dependencies": { + "clean-stack": "^5.2.0", + "indent-string": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@saithodev/semantic-release-backmerge/node_modules/@semantic-release/npm": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-11.0.3.tgz", + "integrity": "sha512-KUsozQGhRBAnoVg4UMZj9ep436VEGwT536/jwSqB7vcEfA6oncCUU7UIYTRdLx7GvTtqn0kBjnkfLVkcnBa2YQ==", + "dev": true, + "dependencies": { + "@semantic-release/error": "^4.0.0", + "aggregate-error": "^5.0.0", + "execa": "^8.0.0", + "fs-extra": "^11.0.0", + "lodash-es": "^4.17.21", + "nerf-dart": "^1.0.0", + "normalize-url": "^8.0.0", + "npm": "^10.5.0", + "rc": "^1.2.8", + "read-pkg": "^9.0.0", + "registry-auth-token": "^5.0.0", + "semver": "^7.1.2", + "tempy": "^3.0.0" + }, + "engines": { + "node": "^18.17 || >=20" + }, + "peerDependencies": { + "semantic-release": ">=20.1.0" + } + }, + "node_modules/@saithodev/semantic-release-backmerge/node_modules/@semantic-release/npm/node_modules/@semantic-release/error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz", + "integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==", + "dev": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@saithodev/semantic-release-backmerge/node_modules/@semantic-release/npm/node_modules/aggregate-error": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", + "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==", + "dev": true, + "dependencies": { + "clean-stack": "^5.2.0", + "indent-string": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@saithodev/semantic-release-backmerge/node_modules/@semantic-release/npm/node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/@saithodev/semantic-release-backmerge/node_modules/@semantic-release/npm/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@saithodev/semantic-release-backmerge/node_modules/@semantic-release/release-notes-generator": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-12.1.0.tgz", + "integrity": "sha512-g6M9AjUKAZUZnxaJZnouNBeDNTCUrJ5Ltj+VJ60gJeDaRRahcHsry9HW8yKrnKkKNkx5lbWiEP1FPMqVNQz8Kg==", + "dev": true, + "dependencies": { + "conventional-changelog-angular": "^7.0.0", + "conventional-changelog-writer": "^7.0.0", + "conventional-commits-filter": "^4.0.0", + "conventional-commits-parser": "^5.0.0", + "debug": "^4.0.0", + "get-stream": "^7.0.0", + "import-from-esm": "^1.0.3", + "into-stream": "^7.0.0", + "lodash-es": "^4.17.21", + "read-pkg-up": "^11.0.0" + }, + "engines": { + "node": "^18.17 || >=20.6.1" + }, + "peerDependencies": { + "semantic-release": ">=20.1.0" + } + }, + "node_modules/@saithodev/semantic-release-backmerge/node_modules/@semantic-release/release-notes-generator/node_modules/get-stream": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-7.0.1.tgz", + "integrity": "sha512-3M8C1EOFN6r8AMUhwUAACIoXZJEOufDU5+0gFFN5uNs6XYOralD2Pqkl7m046va6x77FwposWXbAhPPIOus7mQ==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@saithodev/semantic-release-backmerge/node_modules/before-after-hook": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", + "dev": true + }, "node_modules/@saithodev/semantic-release-backmerge/node_modules/chalk": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", @@ -421,6 +789,21 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@saithodev/semantic-release-backmerge/node_modules/find-versions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-5.1.0.tgz", + "integrity": "sha512-+iwzCJ7C5v5KgcBuueqVoNiHVoQpwiUK5XFLjf0affFTep+Wcw93tPvmb8tqujDNmzhBDPddnWV/qgWSXgq+Hg==", + "dev": true, + "dependencies": { + "semver-regex": "^4.0.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@saithodev/semantic-release-backmerge/node_modules/human-signals": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", @@ -454,6 +837,22 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@saithodev/semantic-release-backmerge/node_modules/issue-parser": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-6.0.0.tgz", + "integrity": "sha512-zKa/Dxq2lGsBIXQ7CUZWTHfvxPC2ej0KfO7fIPqLlHB9J2hJ7rGhZ5rilhuufylr4RXYPzJUeFjKxz305OsNlA==", + "dev": true, + "dependencies": { + "lodash.capitalize": "^4.2.1", + "lodash.escaperegexp": "^4.1.2", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.uniqby": "^4.7.0" + }, + "engines": { + "node": ">=10.13" + } + }, "node_modules/@saithodev/semantic-release-backmerge/node_modules/marked": { "version": "9.1.6", "resolved": "https://registry.npmjs.org/marked/-/marked-9.1.6.tgz", @@ -679,6 +1078,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@saithodev/semantic-release-backmerge/node_modules/universal-user-agent": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz", + "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==", + "dev": true + }, "node_modules/@semantic-release/changelog": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/@semantic-release/changelog/-/changelog-6.0.3.tgz", @@ -698,9 +1103,9 @@ } }, "node_modules/@semantic-release/commit-analyzer": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-11.1.0.tgz", - "integrity": "sha512-cXNTbv3nXR2hlzHjAMgbuiQVtvWHTlwwISt60B+4NZv01y/QRY7p2HcJm8Eh2StzcTJoNnflvKjHH/cjFS7d5g==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-12.0.0.tgz", + "integrity": "sha512-qG+md5gdes+xa8zP7lIo1fWE17zRdO8yMCaxh9lyL65TQleoSv8WHHOqRURfghTytUh+NpkSyBprQ5hrkxOKVQ==", "dev": true, "dependencies": { "conventional-changelog-angular": "^7.0.0", @@ -712,7 +1117,7 @@ "micromatch": "^4.0.2" }, "engines": { - "node": "^18.17 || >=20.6.1" + "node": ">=20.8.1" }, "peerDependencies": { "semantic-release": ">=20.1.0" @@ -770,15 +1175,15 @@ } }, "node_modules/@semantic-release/github": { - "version": "9.2.6", - "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-9.2.6.tgz", - "integrity": "sha512-shi+Lrf6exeNZF+sBhK+P011LSbhmIAoUEgEY6SsxF8irJ+J2stwI5jkyDQ+4gzYyDImzV6LCKdYB9FXnQRWKA==", + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-10.0.3.tgz", + "integrity": "sha512-nSJQboKrG4xBn7hHpRMrK8lt5DgqJg50ZMz9UbrsfTxuRk55XVoQEadbGZ2L9M0xZAC6hkuwkDhQJKqfPU35Fw==", "dev": true, "dependencies": { - "@octokit/core": "^5.0.0", - "@octokit/plugin-paginate-rest": "^9.0.0", - "@octokit/plugin-retry": "^6.0.0", - "@octokit/plugin-throttling": "^8.0.0", + "@octokit/core": "^6.0.0", + "@octokit/plugin-paginate-rest": "^11.0.0", + "@octokit/plugin-retry": "^7.0.0", + "@octokit/plugin-throttling": "^9.0.0", "@semantic-release/error": "^4.0.0", "aggregate-error": "^5.0.0", "debug": "^4.3.4", @@ -786,14 +1191,14 @@ "globby": "^14.0.0", "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.0", - "issue-parser": "^6.0.0", + "issue-parser": "^7.0.0", "lodash-es": "^4.17.21", "mime": "^4.0.0", "p-filter": "^4.0.0", "url-join": "^5.0.0" }, "engines": { - "node": ">=18" + "node": ">=20.8.1" }, "peerDependencies": { "semantic-release": ">=20.1.0" @@ -864,9 +1269,9 @@ } }, "node_modules/@semantic-release/npm": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-11.0.3.tgz", - "integrity": "sha512-KUsozQGhRBAnoVg4UMZj9ep436VEGwT536/jwSqB7vcEfA6oncCUU7UIYTRdLx7GvTtqn0kBjnkfLVkcnBa2YQ==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-12.0.0.tgz", + "integrity": "sha512-72TVYQCH9NvVsO/y13eF8vE4bNnfls518+4KcFwJUKi7AtA/ZXoNgSg9gTTfw5eMZMkiH0izUrpGXgZE/cSQhA==", "dev": true, "dependencies": { "@semantic-release/error": "^4.0.0", @@ -884,7 +1289,7 @@ "tempy": "^3.0.0" }, "engines": { - "node": "^18.17 || >=20" + "node": ">=20.8.1" }, "peerDependencies": { "semantic-release": ">=20.1.0" @@ -1089,9 +1494,9 @@ } }, "node_modules/@semantic-release/release-notes-generator": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-12.1.0.tgz", - "integrity": "sha512-g6M9AjUKAZUZnxaJZnouNBeDNTCUrJ5Ltj+VJ60gJeDaRRahcHsry9HW8yKrnKkKNkx5lbWiEP1FPMqVNQz8Kg==", + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-13.0.0.tgz", + "integrity": "sha512-LEeZWb340keMYuREMyxrODPXJJ0JOL8D/mCl74B4LdzbxhtXV2LrPN2QBEcGJrlQhoqLO0RhxQb6masHytKw+A==", "dev": true, "dependencies": { "conventional-changelog-angular": "^7.0.0", @@ -1106,7 +1511,7 @@ "read-pkg-up": "^11.0.0" }, "engines": { - "node": "^18.17 || >=20.6.1" + "node": ">=20.8.1" }, "peerDependencies": { "semantic-release": ">=20.1.0" @@ -1155,9 +1560,9 @@ "dev": true }, "node_modules/agent-base": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", - "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", + "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", "dev": true, "dependencies": { "debug": "^4.3.4" @@ -1180,13 +1585,10 @@ } }, "node_modules/ansi-escapes": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.0.tgz", - "integrity": "sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==", - "dev": true, - "dependencies": { - "type-fest": "^3.0.0" - }, + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.1.tgz", + "integrity": "sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==", + "dev": true, "engines": { "node": ">=14.16" }, @@ -1239,16 +1641,69 @@ "integrity": "sha512-F2+Hkm9xFaRg+GkaNnbwXNDV5O6pnCFEmqyhvfC/Ic5LbgOWjJh3L+mN/s91rxVL3znE7DYVpW0GJFT+4YBgWw==", "dev": true }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/array-ify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", "dev": true }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/before-after-hook": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", - "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", + "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==", "dev": true }, "node_modules/bottleneck": { @@ -1269,6 +1724,25 @@ "node": ">=8" } }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -1453,9 +1927,9 @@ } }, "node_modules/cli-table3": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", - "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.4.tgz", + "integrity": "sha512-Lm3L0p+/npIQWNIiyF/nAn7T5dnOwR3xNTHXYEBFBFVPXzCVNZ5lqEC/1eo/EVfpDsQ1I+TX4ORPQgp+UI0CRw==", "dev": true, "dependencies": { "string-width": "^4.2.0" @@ -1660,6 +2134,57 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -1686,6 +2211,40 @@ "node": ">=4.0.0" } }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/deprecation": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", @@ -1902,6 +2461,130 @@ "is-arrayish": "^0.2.1" } }, + "node_modules/es-abstract": { + "version": "1.23.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", + "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.15" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/escalade": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", @@ -1982,9 +2665,9 @@ } }, "node_modules/figures": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/figures/-/figures-6.0.1.tgz", - "integrity": "sha512-0oY/olScYD4IhQ8u//gCPA4F3mlTn2dacYmiDm/mbDQvpmLjV4uH+zhsQ5IyXRyvqkvtUkXkNdGvg5OFJTCsuQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", + "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", "dev": true, "dependencies": { "is-unicode-supported": "^2.0.0" @@ -2033,20 +2716,30 @@ } }, "node_modules/find-versions": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-5.1.0.tgz", - "integrity": "sha512-+iwzCJ7C5v5KgcBuueqVoNiHVoQpwiUK5XFLjf0affFTep+Wcw93tPvmb8tqujDNmzhBDPddnWV/qgWSXgq+Hg==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-6.0.0.tgz", + "integrity": "sha512-2kCCtc+JvcZ86IGAz3Z2Y0A1baIz9fL31pH/0S1IqZr9Iwnjq8izfPtrCyQKO6TLMPELLsQMre7VDqeIKCsHkA==", "dev": true, "dependencies": { - "semver-regex": "^4.0.5" + "semver-regex": "^4.0.5", + "super-regex": "^1.0.0" }, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, "node_modules/from2": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", @@ -2092,6 +2785,33 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -2101,6 +2821,25 @@ "node": "6.* || 8.* || >= 10.*" } }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -2113,6 +2852,23 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/get-symbol-description": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/git-log-parser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/git-log-parser/-/git-log-parser-1.2.0.tgz", @@ -2148,6 +2904,21 @@ "node": ">= 6" } }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/globby": { "version": "14.0.1", "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.1.tgz", @@ -2180,6 +2951,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", @@ -2201,25 +2984,85 @@ "handlebars": "bin/handlebars" }, "engines": { - "node": ">=0.4.7" + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" }, - "optionalDependencies": { - "uglify-js": "^3.1.4" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dev": true, + "dependencies": { + "has-symbols": "^1.0.3" + }, "engines": { - "node": ">=4" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/hasown": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", - "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, "dependencies": { "function-bind": "^1.1.2" @@ -2331,9 +3174,9 @@ } }, "node_modules/import-from-esm": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/import-from-esm/-/import-from-esm-1.3.3.tgz", - "integrity": "sha512-U3Qt/CyfFpTUv6LOP2jRTLYjphH6zg3okMfHbyqRa/W2w6hr8OsJWVggNlR4jxuojQy81TgTJTxgSkyoteRGMQ==", + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/import-from-esm/-/import-from-esm-1.3.4.tgz", + "integrity": "sha512-7EyUlPFC0HOlBDpUFGfYstsU7XHxZJKAAMzCT8wZ0hMW7b+hG51LIKTDcsgtz8Pu6YC0HqRVbX+rVUtsGMUKvg==", "dev": true, "dependencies": { "debug": "^4.3.4", @@ -2386,6 +3229,20 @@ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true }, + "node_modules/internal-slot": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/into-stream": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-7.0.0.tgz", @@ -2402,12 +3259,68 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-array-buffer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-core-module": { "version": "2.13.1", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", @@ -2420,6 +3333,36 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "dev": true, + "dependencies": { + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -2450,6 +3393,18 @@ "node": ">=0.10.0" } }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -2459,6 +3414,21 @@ "node": ">=0.12.0" } }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-obj": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", @@ -2468,6 +3438,37 @@ "node": ">=8" } }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", @@ -2480,6 +3481,36 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-text-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-2.0.0.tgz", @@ -2492,6 +3523,21 @@ "node": ">=8" } }, + "node_modules/is-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "dev": true, + "dependencies": { + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-unicode-supported": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.0.0.tgz", @@ -2504,6 +3550,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -2517,9 +3575,9 @@ "dev": true }, "node_modules/issue-parser": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-6.0.0.tgz", - "integrity": "sha512-zKa/Dxq2lGsBIXQ7CUZWTHfvxPC2ej0KfO7fIPqLlHB9J2hJ7rGhZ5rilhuufylr4RXYPzJUeFjKxz305OsNlA==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-7.0.0.tgz", + "integrity": "sha512-jgAw78HO3gs9UrKqJNQvfDj9Ouy8Mhu40fbEJ8yXff4MW8+/Fcn9iFjyWUQ6SKbX8ipPk3X5A3AyfYHRu6uVLw==", "dev": true, "dependencies": { "lodash.capitalize": "^4.2.1", @@ -2529,7 +3587,7 @@ "lodash.uniqby": "^4.7.0" }, "engines": { - "node": ">=10.13" + "node": "^18.17 || >=20.6.1" } }, "node_modules/java-properties": { @@ -2729,18 +3787,18 @@ "dev": true }, "node_modules/lru-cache": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", - "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.1.tgz", + "integrity": "sha512-tS24spDe/zXhWbNPErCHs/AGOzbKGHT+ybSBqmdLm8WZ1xXLWvH8Qn71QPAlqVhd0qUTWjy+Kl9JmISgDdEjsA==", "dev": true, "engines": { "node": "14 || >=16.14" } }, "node_modules/marked": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-12.0.0.tgz", - "integrity": "sha512-Vkwtq9rLqXryZnWaQc86+FHLC6tr/fycMfYAhiOIXkrNmeGAyhSxjqu0Rs1i0bBqw5u0S7+lV9fdH2ZSVaoa0w==", + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-12.0.2.tgz", + "integrity": "sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==", "dev": true, "bin": { "marked": "bin/marked.js" @@ -2822,9 +3880,9 @@ } }, "node_modules/mime": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/mime/-/mime-4.0.1.tgz", - "integrity": "sha512-5lZ5tyrIfliMXzFtkYyekWbtRXObT9OWa8IwQ5uxTBDHucNNwniRqo0yInflj+iYi5CBa6qxadGzGarDfuEOxA==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/mime/-/mime-4.0.3.tgz", + "integrity": "sha512-KgUb15Oorc0NEKPbvfa0wRU+PItIEZmiv+pyAO2i0oTIVTJhlzMclU7w4RXWQrSOVH5ax/p/CkIO7KI4OyFJTQ==", "dev": true, "funding": [ "https://github.com/sponsors/broofa" @@ -2914,9 +3972,9 @@ } }, "node_modules/normalize-url": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.0.tgz", - "integrity": "sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.1.tgz", + "integrity": "sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==", "dev": true, "engines": { "node": ">=14.16" @@ -2926,9 +3984,9 @@ } }, "node_modules/npm": { - "version": "10.5.0", - "resolved": "https://registry.npmjs.org/npm/-/npm-10.5.0.tgz", - "integrity": "sha512-Ejxwvfh9YnWVU2yA5FzoYLTW52vxHCz+MHrOFg9Cc8IFgF/6f5AGPAvb5WTay5DIUP1NIfN3VBZ0cLlGO0Ys+A==", + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/npm/-/npm-10.6.0.tgz", + "integrity": "sha512-KC70Su2ZnO9v4i2t+M0sQcsRERk++XcYbK9fy4bLWzUCV2nELhSN7UAkoe42P4HQTg2LyQxcfntgYS89OEaOsA==", "bundleDependencies": [ "@isaacs/string-locale-compare", "@npmcli/arborist", @@ -2937,6 +3995,7 @@ "@npmcli/map-workspaces", "@npmcli/package-json", "@npmcli/promise-spawn", + "@npmcli/redact", "@npmcli/run-script", "@sigstore/tuf", "abbrev", @@ -2945,8 +4004,6 @@ "chalk", "ci-info", "cli-columns", - "cli-table3", - "columnify", "fastest-levenshtein", "fs-minipass", "glob", @@ -2982,11 +4039,11 @@ "npm-profile", "npm-registry-fetch", "npm-user-validate", - "npmlog", "p-map", "pacote", "parse-conflict-json", "proc-log", + "proggy", "qrcode-terminal", "read", "semver", @@ -3007,27 +4064,26 @@ "@npmcli/arborist": "^7.2.1", "@npmcli/config": "^8.0.2", "@npmcli/fs": "^3.1.0", - "@npmcli/map-workspaces": "^3.0.4", - "@npmcli/package-json": "^5.0.0", + "@npmcli/map-workspaces": "^3.0.6", + "@npmcli/package-json": "^5.1.0", "@npmcli/promise-spawn": "^7.0.1", - "@npmcli/run-script": "^7.0.4", - "@sigstore/tuf": "^2.3.1", + "@npmcli/redact": "^1.1.0", + "@npmcli/run-script": "^8.0.0", + "@sigstore/tuf": "^2.3.2", "abbrev": "^2.0.0", "archy": "~1.0.0", "cacache": "^18.0.2", "chalk": "^5.3.0", "ci-info": "^4.0.0", "cli-columns": "^4.0.0", - "cli-table3": "^0.6.3", - "columnify": "^1.6.0", "fastest-levenshtein": "^1.0.16", "fs-minipass": "^3.0.3", - "glob": "^10.3.10", + "glob": "^10.3.12", "graceful-fs": "^4.2.11", "hosted-git-info": "^7.0.1", - "ini": "^4.1.1", - "init-package-json": "^6.0.0", - "is-cidr": "^5.0.3", + "ini": "^4.1.2", + "init-package-json": "^6.0.2", + "is-cidr": "^5.0.5", "json-parse-even-better-errors": "^3.0.1", "libnpmaccess": "^8.0.1", "libnpmdiff": "^6.0.3", @@ -3041,32 +4097,32 @@ "libnpmteam": "^6.0.0", "libnpmversion": "^5.0.1", "make-fetch-happen": "^13.0.0", - "minimatch": "^9.0.3", + "minimatch": "^9.0.4", "minipass": "^7.0.4", "minipass-pipeline": "^1.2.4", "ms": "^2.1.2", - "node-gyp": "^10.0.1", + "node-gyp": "^10.1.0", "nopt": "^7.2.0", "normalize-package-data": "^6.0.0", "npm-audit-report": "^5.0.0", "npm-install-checks": "^6.3.0", - "npm-package-arg": "^11.0.1", + "npm-package-arg": "^11.0.2", "npm-pick-manifest": "^9.0.0", - "npm-profile": "^9.0.0", - "npm-registry-fetch": "^16.1.0", + "npm-profile": "^9.0.1", + "npm-registry-fetch": "^16.2.1", "npm-user-validate": "^2.0.0", - "npmlog": "^7.0.1", "p-map": "^4.0.0", - "pacote": "^17.0.6", + "pacote": "^18.0.2", "parse-conflict-json": "^3.0.1", - "proc-log": "^3.0.0", + "proc-log": "^4.2.0", + "proggy": "^2.0.0", "qrcode-terminal": "^0.12.0", - "read": "^2.1.0", + "read": "^3.0.1", "semver": "^7.6.0", - "spdx-expression-parse": "^3.0.1", + "spdx-expression-parse": "^4.0.0", "ssri": "^10.0.5", "supports-color": "^9.4.0", - "tar": "^6.2.0", + "tar": "^6.2.1", "text-table": "~0.2.0", "tiny-relative-date": "^1.3.0", "treeverse": "^3.0.0", @@ -3094,16 +4150,6 @@ "node": ">=8" } }, - "node_modules/npm/node_modules/@colors/colors": { - "version": "1.5.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=0.1.90" - } - }, "node_modules/npm/node_modules/@isaacs/cliui": { "version": "8.0.2", "dev": true, @@ -3178,7 +4224,7 @@ "license": "ISC" }, "node_modules/npm/node_modules/@npmcli/agent": { - "version": "2.2.1", + "version": "2.2.2", "dev": true, "inBundle": true, "license": "ISC", @@ -3187,44 +4233,45 @@ "http-proxy-agent": "^7.0.0", "https-proxy-agent": "^7.0.1", "lru-cache": "^10.0.1", - "socks-proxy-agent": "^8.0.1" + "socks-proxy-agent": "^8.0.3" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@npmcli/arborist": { - "version": "7.4.0", + "version": "7.5.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", "@npmcli/fs": "^3.1.0", - "@npmcli/installed-package-contents": "^2.0.2", + "@npmcli/installed-package-contents": "^2.1.0", "@npmcli/map-workspaces": "^3.0.2", - "@npmcli/metavuln-calculator": "^7.0.0", + "@npmcli/metavuln-calculator": "^7.1.0", "@npmcli/name-from-folder": "^2.0.0", "@npmcli/node-gyp": "^3.0.0", - "@npmcli/package-json": "^5.0.0", + "@npmcli/package-json": "^5.1.0", "@npmcli/query": "^3.1.0", - "@npmcli/run-script": "^7.0.2", + "@npmcli/redact": "^1.1.0", + "@npmcli/run-script": "^8.0.0", "bin-links": "^4.0.1", "cacache": "^18.0.0", "common-ancestor-path": "^1.0.1", "hosted-git-info": "^7.0.1", "json-parse-even-better-errors": "^3.0.0", "json-stringify-nice": "^1.1.4", - "minimatch": "^9.0.0", + "minimatch": "^9.0.4", "nopt": "^7.0.0", "npm-install-checks": "^6.2.0", - "npm-package-arg": "^11.0.1", + "npm-package-arg": "^11.0.2", "npm-pick-manifest": "^9.0.0", - "npm-registry-fetch": "^16.0.0", - "npmlog": "^7.0.1", - "pacote": "^17.0.4", + "npm-registry-fetch": "^16.2.1", + "pacote": "^18.0.1", "parse-conflict-json": "^3.0.0", - "proc-log": "^3.0.0", + "proc-log": "^4.2.0", + "proggy": "^2.0.0", "promise-all-reject-late": "^1.0.0", "promise-call-limit": "^3.0.1", "read-package-json-fast": "^3.0.2", @@ -3241,16 +4288,16 @@ } }, "node_modules/npm/node_modules/@npmcli/config": { - "version": "8.2.0", + "version": "8.3.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/map-workspaces": "^3.0.2", "ci-info": "^4.0.0", - "ini": "^4.1.0", + "ini": "^4.1.2", "nopt": "^7.0.0", - "proc-log": "^3.0.0", + "proc-log": "^4.2.0", "read-package-json-fast": "^3.0.2", "semver": "^7.3.5", "walk-up-path": "^3.0.1" @@ -3259,33 +4306,6 @@ "node": "^16.14.0 || >=18.0.0" } }, - "node_modules/npm/node_modules/@npmcli/disparity-colors": { - "version": "3.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "ansi-styles": "^4.3.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/@npmcli/disparity-colors/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/npm/node_modules/@npmcli/fs": { "version": "3.1.0", "dev": true, @@ -3299,7 +4319,7 @@ } }, "node_modules/npm/node_modules/@npmcli/git": { - "version": "5.0.4", + "version": "5.0.6", "dev": true, "inBundle": true, "license": "ISC", @@ -3307,7 +4327,7 @@ "@npmcli/promise-spawn": "^7.0.0", "lru-cache": "^10.0.1", "npm-pick-manifest": "^9.0.0", - "proc-log": "^3.0.0", + "proc-log": "^4.0.0", "promise-inflight": "^1.0.1", "promise-retry": "^2.0.1", "semver": "^7.3.5", @@ -3318,7 +4338,7 @@ } }, "node_modules/npm/node_modules/@npmcli/installed-package-contents": { - "version": "2.0.2", + "version": "2.1.0", "dev": true, "inBundle": true, "license": "ISC", @@ -3327,14 +4347,14 @@ "npm-normalize-package-bin": "^3.0.0" }, "bin": { - "installed-package-contents": "lib/index.js" + "installed-package-contents": "bin/index.js" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@npmcli/map-workspaces": { - "version": "3.0.4", + "version": "3.0.6", "dev": true, "inBundle": true, "license": "ISC", @@ -3349,14 +4369,15 @@ } }, "node_modules/npm/node_modules/@npmcli/metavuln-calculator": { - "version": "7.0.0", + "version": "7.1.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "cacache": "^18.0.0", "json-parse-even-better-errors": "^3.0.0", - "pacote": "^17.0.0", + "pacote": "^18.0.0", + "proc-log": "^4.1.0", "semver": "^7.3.5" }, "engines": { @@ -3382,7 +4403,7 @@ } }, "node_modules/npm/node_modules/@npmcli/package-json": { - "version": "5.0.0", + "version": "5.1.0", "dev": true, "inBundle": true, "license": "ISC", @@ -3392,7 +4413,7 @@ "hosted-git-info": "^7.0.0", "json-parse-even-better-errors": "^3.0.0", "normalize-package-data": "^6.0.0", - "proc-log": "^3.0.0", + "proc-log": "^4.0.0", "semver": "^7.5.3" }, "engines": { @@ -3420,11 +4441,20 @@ "postcss-selector-parser": "^6.0.10" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/@npmcli/redact": { + "version": "1.1.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@npmcli/run-script": { - "version": "7.0.4", + "version": "8.0.0", "dev": true, "inBundle": true, "license": "ISC", @@ -3433,6 +4463,7 @@ "@npmcli/package-json": "^5.0.0", "@npmcli/promise-spawn": "^7.0.0", "node-gyp": "^10.0.0", + "proc-log": "^4.0.0", "which": "^4.0.0" }, "engines": { @@ -3450,19 +4481,19 @@ } }, "node_modules/npm/node_modules/@sigstore/bundle": { - "version": "2.2.0", + "version": "2.3.1", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/protobuf-specs": "^0.3.0" + "@sigstore/protobuf-specs": "^0.3.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@sigstore/core": { - "version": "1.0.0", + "version": "1.1.0", "dev": true, "inBundle": true, "license": "Apache-2.0", @@ -3471,23 +4502,23 @@ } }, "node_modules/npm/node_modules/@sigstore/protobuf-specs": { - "version": "0.3.0", + "version": "0.3.1", "dev": true, "inBundle": true, "license": "Apache-2.0", "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@sigstore/sign": { - "version": "2.2.3", + "version": "2.3.0", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/bundle": "^2.2.0", + "@sigstore/bundle": "^2.3.0", "@sigstore/core": "^1.0.0", - "@sigstore/protobuf-specs": "^0.3.0", + "@sigstore/protobuf-specs": "^0.3.1", "make-fetch-happen": "^13.0.0" }, "engines": { @@ -3495,7 +4526,7 @@ } }, "node_modules/npm/node_modules/@sigstore/tuf": { - "version": "2.3.1", + "version": "2.3.2", "dev": true, "inBundle": true, "license": "Apache-2.0", @@ -3508,14 +4539,14 @@ } }, "node_modules/npm/node_modules/@sigstore/verify": { - "version": "1.1.0", + "version": "1.2.0", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/bundle": "^2.2.0", - "@sigstore/core": "^1.0.0", - "@sigstore/protobuf-specs": "^0.3.0" + "@sigstore/bundle": "^2.3.1", + "@sigstore/core": "^1.1.0", + "@sigstore/protobuf-specs": "^0.3.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" @@ -3553,7 +4584,7 @@ } }, "node_modules/npm/node_modules/agent-base": { - "version": "7.1.0", + "version": "7.1.1", "dev": true, "inBundle": true, "license": "MIT", @@ -3610,15 +4641,6 @@ "inBundle": true, "license": "MIT" }, - "node_modules/npm/node_modules/are-we-there-yet": { - "version": "4.0.2", - "dev": true, - "inBundle": true, - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/npm/node_modules/balanced-match": { "version": "1.0.2", "dev": true, @@ -3641,12 +4663,15 @@ } }, "node_modules/npm/node_modules/binary-extensions": { - "version": "2.2.0", + "version": "2.3.0", "dev": true, "inBundle": true, "license": "MIT", "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/npm/node_modules/brace-expansion": { @@ -3659,7 +4684,7 @@ } }, "node_modules/npm/node_modules/builtins": { - "version": "5.0.1", + "version": "5.1.0", "dev": true, "inBundle": true, "license": "MIT", @@ -3727,7 +4752,7 @@ } }, "node_modules/npm/node_modules/cidr-regex": { - "version": "4.0.3", + "version": "4.0.5", "dev": true, "inBundle": true, "license": "BSD-2-Clause", @@ -3760,30 +4785,6 @@ "node": ">= 10" } }, - "node_modules/npm/node_modules/cli-table3": { - "version": "0.6.3", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "string-width": "^4.2.0" - }, - "engines": { - "node": "10.* || >= 12.*" - }, - "optionalDependencies": { - "@colors/colors": "1.5.0" - } - }, - "node_modules/npm/node_modules/clone": { - "version": "1.0.4", - "dev": true, - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, "node_modules/npm/node_modules/cmd-shim": { "version": "6.0.2", "dev": true, @@ -3811,40 +4812,12 @@ "inBundle": true, "license": "MIT" }, - "node_modules/npm/node_modules/color-support": { - "version": "1.1.3", - "dev": true, - "inBundle": true, - "license": "ISC", - "bin": { - "color-support": "bin.js" - } - }, - "node_modules/npm/node_modules/columnify": { - "version": "1.6.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "strip-ansi": "^6.0.1", - "wcwidth": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/npm/node_modules/common-ancestor-path": { "version": "1.0.1", "dev": true, "inBundle": true, "license": "ISC" }, - "node_modules/npm/node_modules/console-control-strings": { - "version": "1.1.0", - "dev": true, - "inBundle": true, - "license": "ISC" - }, "node_modules/npm/node_modules/cross-spawn": { "version": "7.0.3", "dev": true, @@ -3909,18 +4882,6 @@ "inBundle": true, "license": "MIT" }, - "node_modules/npm/node_modules/defaults": { - "version": "1.0.4", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "clone": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/npm/node_modules/diff": { "version": "5.2.0", "dev": true, @@ -4019,36 +4980,17 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/npm/node_modules/gauge": { - "version": "5.0.1", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^4.0.1", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/npm/node_modules/glob": { - "version": "10.3.10", + "version": "10.3.12", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", + "jackspeak": "^2.3.6", "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" + "minipass": "^7.0.4", + "path-scurry": "^1.10.2" }, "bin": { "glob": "dist/esm/bin.mjs" @@ -4066,14 +5008,8 @@ "inBundle": true, "license": "ISC" }, - "node_modules/npm/node_modules/has-unicode": { - "version": "2.0.1", - "dev": true, - "inBundle": true, - "license": "ISC" - }, "node_modules/npm/node_modules/hasown": { - "version": "2.0.1", + "version": "2.0.2", "dev": true, "inBundle": true, "license": "MIT", @@ -4172,7 +5108,7 @@ } }, "node_modules/npm/node_modules/ini": { - "version": "4.1.1", + "version": "4.1.2", "dev": true, "inBundle": true, "license": "ISC", @@ -4181,15 +5117,15 @@ } }, "node_modules/npm/node_modules/init-package-json": { - "version": "6.0.0", + "version": "6.0.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { + "@npmcli/package-json": "^5.0.0", "npm-package-arg": "^11.0.0", "promzard": "^1.0.0", - "read": "^2.0.0", - "read-package-json": "^7.0.0", + "read": "^3.0.1", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4", "validate-npm-package-name": "^5.0.0" @@ -4230,12 +5166,12 @@ } }, "node_modules/npm/node_modules/is-cidr": { - "version": "5.0.3", + "version": "5.0.5", "dev": true, "inBundle": true, "license": "BSD-2-Clause", "dependencies": { - "cidr-regex": "4.0.3" + "cidr-regex": "^4.0.4" }, "engines": { "node": ">=14" @@ -4338,52 +5274,50 @@ "license": "MIT" }, "node_modules/npm/node_modules/libnpmaccess": { - "version": "8.0.2", + "version": "8.0.4", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "npm-package-arg": "^11.0.1", - "npm-registry-fetch": "^16.0.0" + "npm-package-arg": "^11.0.2", + "npm-registry-fetch": "^16.2.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmdiff": { - "version": "6.0.7", + "version": "6.1.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/arborist": "^7.2.1", - "@npmcli/disparity-colors": "^3.0.0", - "@npmcli/installed-package-contents": "^2.0.2", - "binary-extensions": "^2.2.0", + "@npmcli/installed-package-contents": "^2.1.0", + "binary-extensions": "^2.3.0", "diff": "^5.1.0", - "minimatch": "^9.0.0", - "npm-package-arg": "^11.0.1", - "pacote": "^17.0.4", - "tar": "^6.2.0" + "minimatch": "^9.0.4", + "npm-package-arg": "^11.0.2", + "pacote": "^18.0.1", + "tar": "^6.2.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmexec": { - "version": "7.0.8", + "version": "8.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/arborist": "^7.2.1", - "@npmcli/run-script": "^7.0.2", + "@npmcli/run-script": "^8.0.0", "ci-info": "^4.0.0", - "npm-package-arg": "^11.0.1", - "npmlog": "^7.0.1", - "pacote": "^17.0.4", - "proc-log": "^3.0.0", - "read": "^2.0.0", + "npm-package-arg": "^11.0.2", + "pacote": "^18.0.1", + "proc-log": "^4.2.0", + "read": "^3.0.1", "read-package-json-fast": "^3.0.2", "semver": "^7.3.7", "walk-up-path": "^3.0.1" @@ -4393,7 +5327,7 @@ } }, "node_modules/npm/node_modules/libnpmfund": { - "version": "5.0.5", + "version": "5.0.8", "dev": true, "inBundle": true, "license": "ISC", @@ -4405,57 +5339,57 @@ } }, "node_modules/npm/node_modules/libnpmhook": { - "version": "10.0.1", + "version": "10.0.3", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^16.0.0" + "npm-registry-fetch": "^16.2.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmorg": { - "version": "6.0.2", + "version": "6.0.4", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^16.0.0" + "npm-registry-fetch": "^16.2.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmpack": { - "version": "6.0.7", + "version": "7.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/arborist": "^7.2.1", - "@npmcli/run-script": "^7.0.2", - "npm-package-arg": "^11.0.1", - "pacote": "^17.0.4" + "@npmcli/run-script": "^8.0.0", + "npm-package-arg": "^11.0.2", + "pacote": "^18.0.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmpublish": { - "version": "9.0.4", + "version": "9.0.6", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "ci-info": "^4.0.0", "normalize-package-data": "^6.0.0", - "npm-package-arg": "^11.0.1", - "npm-registry-fetch": "^16.0.0", - "proc-log": "^3.0.0", + "npm-package-arg": "^11.0.2", + "npm-registry-fetch": "^16.2.1", + "proc-log": "^4.2.0", "semver": "^7.3.7", "sigstore": "^2.2.0", "ssri": "^10.0.5" @@ -4465,40 +5399,40 @@ } }, "node_modules/npm/node_modules/libnpmsearch": { - "version": "7.0.1", + "version": "7.0.3", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "npm-registry-fetch": "^16.0.0" + "npm-registry-fetch": "^16.2.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmteam": { - "version": "6.0.1", + "version": "6.0.3", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^16.0.0" + "npm-registry-fetch": "^16.2.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmversion": { - "version": "5.0.2", + "version": "6.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/git": "^5.0.3", - "@npmcli/run-script": "^7.0.2", + "@npmcli/git": "^5.0.6", + "@npmcli/run-script": "^8.0.0", "json-parse-even-better-errors": "^3.0.0", - "proc-log": "^3.0.0", + "proc-log": "^4.2.0", "semver": "^7.3.7" }, "engines": { @@ -4537,7 +5471,7 @@ } }, "node_modules/npm/node_modules/minimatch": { - "version": "9.0.3", + "version": "9.0.4", "dev": true, "inBundle": true, "license": "ISC", @@ -4745,7 +5679,7 @@ } }, "node_modules/npm/node_modules/node-gyp": { - "version": "10.0.1", + "version": "10.1.0", "dev": true, "inBundle": true, "license": "MIT", @@ -4768,6 +5702,15 @@ "node": "^16.14.0 || >=18.0.0" } }, + "node_modules/npm/node_modules/node-gyp/node_modules/proc-log": { + "version": "3.0.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/npm/node_modules/nopt": { "version": "7.2.0", "dev": true, @@ -4841,13 +5784,13 @@ } }, "node_modules/npm/node_modules/npm-package-arg": { - "version": "11.0.1", + "version": "11.0.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "hosted-git-info": "^7.0.0", - "proc-log": "^3.0.0", + "proc-log": "^4.0.0", "semver": "^7.3.5", "validate-npm-package-name": "^5.0.0" }, @@ -4883,31 +5826,32 @@ } }, "node_modules/npm/node_modules/npm-profile": { - "version": "9.0.0", + "version": "9.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "npm-registry-fetch": "^16.0.0", - "proc-log": "^3.0.0" + "proc-log": "^4.0.0" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/npm-registry-fetch": { - "version": "16.1.0", + "version": "16.2.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { + "@npmcli/redact": "^1.1.0", "make-fetch-happen": "^13.0.0", "minipass": "^7.0.2", "minipass-fetch": "^3.0.0", "minipass-json-stream": "^1.0.1", "minizlib": "^2.1.2", "npm-package-arg": "^11.0.0", - "proc-log": "^3.0.0" + "proc-log": "^4.0.0" }, "engines": { "node": "^16.14.0 || >=18.0.0" @@ -4922,21 +5866,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm/node_modules/npmlog": { - "version": "7.0.1", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "are-we-there-yet": "^4.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^5.0.0", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, "node_modules/npm/node_modules/p-map": { "version": "4.0.0", "dev": true, @@ -4953,15 +5882,16 @@ } }, "node_modules/npm/node_modules/pacote": { - "version": "17.0.6", + "version": "18.0.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/git": "^5.0.0", "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/package-json": "^5.1.0", "@npmcli/promise-spawn": "^7.0.0", - "@npmcli/run-script": "^7.0.0", + "@npmcli/run-script": "^8.0.0", "cacache": "^18.0.0", "fs-minipass": "^3.0.0", "minipass": "^7.0.2", @@ -4969,10 +5899,8 @@ "npm-packlist": "^8.0.0", "npm-pick-manifest": "^9.0.0", "npm-registry-fetch": "^16.0.0", - "proc-log": "^3.0.0", + "proc-log": "^4.0.0", "promise-retry": "^2.0.1", - "read-package-json": "^7.0.0", - "read-package-json-fast": "^3.0.0", "sigstore": "^2.2.0", "ssri": "^10.0.0", "tar": "^6.1.11" @@ -5008,12 +5936,12 @@ } }, "node_modules/npm/node_modules/path-scurry": { - "version": "1.10.1", + "version": "1.10.2", "dev": true, "inBundle": true, "license": "BlueOak-1.0.0", "dependencies": { - "lru-cache": "^9.1.1 || ^10.0.0", + "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { @@ -5024,7 +5952,7 @@ } }, "node_modules/npm/node_modules/postcss-selector-parser": { - "version": "6.0.15", + "version": "6.0.16", "dev": true, "inBundle": true, "license": "MIT", @@ -5037,7 +5965,16 @@ } }, "node_modules/npm/node_modules/proc-log": { - "version": "3.0.0", + "version": "4.2.0", + "dev": true, + "inBundle": true, + "license": "ISC", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm/node_modules/proggy": { + "version": "2.0.0", "dev": true, "inBundle": true, "license": "ISC", @@ -5083,12 +6020,12 @@ } }, "node_modules/npm/node_modules/promzard": { - "version": "1.0.0", + "version": "1.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "read": "^2.0.0" + "read": "^3.0.1" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" @@ -5103,12 +6040,12 @@ } }, "node_modules/npm/node_modules/read": { - "version": "2.1.0", + "version": "3.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "mute-stream": "~1.0.0" + "mute-stream": "^1.0.0" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" @@ -5123,21 +6060,6 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/npm/node_modules/read-package-json": { - "version": "7.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "glob": "^10.2.2", - "json-parse-even-better-errors": "^3.0.0", - "normalize-package-data": "^6.0.0", - "npm-normalize-package-bin": "^3.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, "node_modules/npm/node_modules/read-package-json-fast": { "version": "3.0.2", "dev": true, @@ -5194,12 +6116,6 @@ "node": ">=10" } }, - "node_modules/npm/node_modules/set-blocking": { - "version": "2.0.0", - "dev": true, - "inBundle": true, - "license": "ISC" - }, "node_modules/npm/node_modules/shebang-command": { "version": "2.0.0", "dev": true, @@ -5234,17 +6150,17 @@ } }, "node_modules/npm/node_modules/sigstore": { - "version": "2.2.2", + "version": "2.3.0", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { - "@sigstore/bundle": "^2.2.0", + "@sigstore/bundle": "^2.3.1", "@sigstore/core": "^1.0.0", - "@sigstore/protobuf-specs": "^0.3.0", - "@sigstore/sign": "^2.2.3", + "@sigstore/protobuf-specs": "^0.3.1", + "@sigstore/sign": "^2.3.0", "@sigstore/tuf": "^2.3.1", - "@sigstore/verify": "^1.1.0" + "@sigstore/verify": "^1.2.0" }, "engines": { "node": "^16.14.0 || >=18.0.0" @@ -5261,7 +6177,7 @@ } }, "node_modules/npm/node_modules/socks": { - "version": "2.8.0", + "version": "2.8.3", "dev": true, "inBundle": true, "license": "MIT", @@ -5270,17 +6186,17 @@ "smart-buffer": "^4.2.0" }, "engines": { - "node": ">= 16.0.0", + "node": ">= 10.0.0", "npm": ">= 3.0.0" } }, "node_modules/npm/node_modules/socks-proxy-agent": { - "version": "8.0.2", + "version": "8.0.3", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "agent-base": "^7.0.2", + "agent-base": "^7.1.1", "debug": "^4.3.4", "socks": "^2.7.1" }, @@ -5298,6 +6214,16 @@ "spdx-license-ids": "^3.0.0" } }, + "node_modules/npm/node_modules/spdx-correct/node_modules/spdx-expression-parse": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, "node_modules/npm/node_modules/spdx-exceptions": { "version": "2.5.0", "dev": true, @@ -5305,7 +6231,7 @@ "license": "CC-BY-3.0" }, "node_modules/npm/node_modules/spdx-expression-parse": { - "version": "3.0.1", + "version": "4.0.0", "dev": true, "inBundle": true, "license": "MIT", @@ -5399,7 +6325,7 @@ } }, "node_modules/npm/node_modules/tar": { - "version": "6.2.0", + "version": "6.2.1", "dev": true, "inBundle": true, "license": "ISC", @@ -5523,6 +6449,16 @@ "spdx-expression-parse": "^3.0.0" } }, + "node_modules/npm/node_modules/validate-npm-package-license/node_modules/spdx-expression-parse": { + "version": "3.0.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, "node_modules/npm/node_modules/validate-npm-package-name": { "version": "5.0.0", "dev": true, @@ -5541,15 +6477,6 @@ "inBundle": true, "license": "ISC" }, - "node_modules/npm/node_modules/wcwidth": { - "version": "1.0.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "defaults": "^1.0.3" - } - }, "node_modules/npm/node_modules/which": { "version": "4.0.0", "dev": true, @@ -5574,15 +6501,6 @@ "node": ">=16" } }, - "node_modules/npm/node_modules/wide-align": { - "version": "1.1.5", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, "node_modules/npm/node_modules/wrap-ansi": { "version": "8.1.0", "dev": true, @@ -5711,6 +6629,42 @@ "node": ">=0.10.0" } }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -5796,9 +6750,9 @@ } }, "node_modules/p-map": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.1.tgz", - "integrity": "sha512-2wnaR0XL/FDOj+TgpDuRb2KTjLnu3Fma6b1ZUwGY7LcqenMcvP/YFpjpbPKY6WVGsbuJZRuoUz8iPrt8ORnAFw==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.2.tgz", + "integrity": "sha512-z4cYYMMdKHzw4O5UkWJImbZynVIo0lSGTXc7bzB1e/rrDqkgGUNysK/o4bTr+0+xKvvLoTyGqYC4Fgljy9qe1Q==", "dev": true, "engines": { "node": ">=18" @@ -5903,6 +6857,12 @@ "node": ">=8" } }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", @@ -5937,6 +6897,15 @@ "node": ">=4" } }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -5984,6 +6953,23 @@ "rc": "cli.js" } }, + "node_modules/read-package-up": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/read-package-up/-/read-package-up-11.0.0.tgz", + "integrity": "sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==", + "dev": true, + "dependencies": { + "find-up-simple": "^1.0.0", + "read-pkg": "^9.0.0", + "type-fest": "^4.6.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/read-pkg": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", @@ -6021,18 +7007,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/read-pkg-up/node_modules/type-fest": { - "version": "4.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.11.0.tgz", - "integrity": "sha512-DPsoHKtnCUqqoB5Y4OPyat7ObSLz1XOkhHTmz+gOkz2p1xs+BBneTvHWriTwc313eozfBWh8b45EpaV3ZrrPPQ==", - "dev": true, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/read-pkg/node_modules/parse-json": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.1.0.tgz", @@ -6050,18 +7024,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/read-pkg/node_modules/type-fest": { - "version": "4.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.11.0.tgz", - "integrity": "sha512-DPsoHKtnCUqqoB5Y4OPyat7ObSLz1XOkhHTmz+gOkz2p1xs+BBneTvHWriTwc313eozfBWh8b45EpaV3ZrrPPQ==", - "dev": true, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/readable-stream": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", @@ -6086,6 +7048,24 @@ "esprima": "~4.0.0" } }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/registry-auth-token": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.2.tgz", @@ -6149,305 +7129,103 @@ "queue-microtask": "^1.2.2" } }, - "node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/semantic-release": { - "version": "23.0.7", - "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-23.0.7.tgz", - "integrity": "sha512-PFxXQE57zrYiCbWKkdsVUF08s0SifEw3WhDhrN47ZEUWQiLl21FI9Dg/H8g7i/lPx0IkF6u7PjJbgxPceXKBeg==", - "dev": true, - "dependencies": { - "@semantic-release/commit-analyzer": "^12.0.0", - "@semantic-release/error": "^4.0.0", - "@semantic-release/github": "^10.0.0", - "@semantic-release/npm": "^12.0.0", - "@semantic-release/release-notes-generator": "^13.0.0", - "aggregate-error": "^5.0.0", - "cosmiconfig": "^9.0.0", - "debug": "^4.0.0", - "env-ci": "^11.0.0", - "execa": "^8.0.0", - "figures": "^6.0.0", - "find-versions": "^6.0.0", - "get-stream": "^6.0.0", - "git-log-parser": "^1.2.0", - "hook-std": "^3.0.0", - "hosted-git-info": "^7.0.0", - "import-from-esm": "^1.3.1", - "lodash-es": "^4.17.21", - "marked": "^12.0.0", - "marked-terminal": "^7.0.0", - "micromatch": "^4.0.2", - "p-each-series": "^3.0.0", - "p-reduce": "^3.0.0", - "read-pkg-up": "^11.0.0", - "resolve-from": "^5.0.0", - "semver": "^7.3.2", - "semver-diff": "^4.0.0", - "signale": "^1.2.1", - "yargs": "^17.5.1" - }, - "bin": { - "semantic-release": "bin/semantic-release.js" - }, - "engines": { - "node": ">=20.8.1" - } - }, - "node_modules/semantic-release/node_modules/@octokit/auth-token": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-5.0.1.tgz", - "integrity": "sha512-RTmWsLfig8SBoiSdgvCht4BXl1CHU89Co5xiQ5JF19my/sIRDFCQ1RPrmK0exgqUZuNm39C/bV8+/83+MJEjGg==", - "dev": true, - "engines": { - "node": ">= 18" - } - }, - "node_modules/semantic-release/node_modules/@octokit/core": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.0.1.tgz", - "integrity": "sha512-MIpPQXu8Y8GjHwXM81JLveiV+DHJZtLMcB5nKekBGOl3iAtk0HT3i12Xl8Biybu+bCS1+k4qbuKEq5d0RxNRnQ==", - "dev": true, - "dependencies": { - "@octokit/auth-token": "^5.0.0", - "@octokit/graphql": "^8.0.0", - "@octokit/request": "^9.0.0", - "@octokit/request-error": "^6.0.1", - "@octokit/types": "^12.0.0", - "before-after-hook": "^3.0.2", - "universal-user-agent": "^7.0.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/semantic-release/node_modules/@octokit/endpoint": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.0.0.tgz", - "integrity": "sha512-emBcNDxBdC1y3+knJonS5zhUB/CG6TihubxM2U1/pG/Z1y3a4oV0Gzz3lmkCvWWQI6h3tqBAX9MgCBFp+M68Jw==", - "dev": true, - "dependencies": { - "@octokit/types": "^12.0.0", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/semantic-release/node_modules/@octokit/graphql": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.0.1.tgz", - "integrity": "sha512-lLDb6LhC1gBj2CxEDa5Xk10+H/boonhs+3Mi6jpRyetskDKNHe6crMeKmUE2efoLofMP8ruannLlCUgpTFmVzQ==", - "dev": true, - "dependencies": { - "@octokit/request": "^9.0.0", - "@octokit/types": "^12.0.0", - "universal-user-agent": "^7.0.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/semantic-release/node_modules/@octokit/plugin-paginate-rest": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-10.0.0.tgz", - "integrity": "sha512-G1Z67qOiFneKDJyMafHQkWnKm1kU3FfbRZLzxgsFg4dOa3pRNdABbdk+xo/oev6P88lnbt7GKdBNB6dJZuPphA==", - "dev": true, - "dependencies": { - "@octokit/types": "^12.6.0" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "@octokit/core": ">=6" - } - }, - "node_modules/semantic-release/node_modules/@octokit/plugin-retry": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-7.0.3.tgz", - "integrity": "sha512-T9l5Z7XnDZ7dkyNmhJPSUq0YjbqUT/xn4yQbhcSuv4WGC/LqM73/mKwkl68VDPoLw20e8oz4L7qQopWt9v6sow==", - "dev": true, - "dependencies": { - "@octokit/request-error": "^6.0.0", - "@octokit/types": "^12.0.0", - "bottleneck": "^2.15.3" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "@octokit/core": ">=6" - } - }, - "node_modules/semantic-release/node_modules/@octokit/plugin-throttling": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-9.0.3.tgz", - "integrity": "sha512-DReKamrLBJOzld73dmmxV2H137QKJfsxszAczEZXeAJQ/Po6bzQacKajPdodA6T1jfmP9+waImus+d/R2j+R7Q==", - "dev": true, - "dependencies": { - "@octokit/types": "^12.6.0", - "bottleneck": "^2.15.3" - }, - "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "@octokit/core": "^6.0.0" - } - }, - "node_modules/semantic-release/node_modules/@octokit/request": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.0.1.tgz", - "integrity": "sha512-kL+cAcbSl3dctYLuJmLfx6Iku2MXXy0jszhaEIjQNaCp4zjHXrhVAHeuaRdNvJjW9qjl3u1MJ72+OuBP0YW/pg==", - "dev": true, - "dependencies": { - "@octokit/endpoint": "^10.0.0", - "@octokit/request-error": "^6.0.1", - "@octokit/types": "^12.0.0", - "universal-user-agent": "^7.0.2" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/semantic-release/node_modules/@octokit/request-error": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.0.2.tgz", - "integrity": "sha512-WtRVpoHcNXs84+s9s/wqfHaxM68NGMg8Av7h59B50OVO0PwwMx+2GgQ/OliUd0iQBSNWgR6N8afi/KjSHbXHWw==", - "dev": true, - "dependencies": { - "@octokit/types": "^12.0.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/semantic-release/node_modules/@semantic-release/commit-analyzer": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-12.0.0.tgz", - "integrity": "sha512-qG+md5gdes+xa8zP7lIo1fWE17zRdO8yMCaxh9lyL65TQleoSv8WHHOqRURfghTytUh+NpkSyBprQ5hrkxOKVQ==", + "node_modules/safe-array-concat": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", "dev": true, "dependencies": { - "conventional-changelog-angular": "^7.0.0", - "conventional-commits-filter": "^4.0.0", - "conventional-commits-parser": "^5.0.0", - "debug": "^4.0.0", - "import-from-esm": "^1.0.3", - "lodash-es": "^4.17.21", - "micromatch": "^4.0.2" + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" }, "engines": { - "node": ">=20.8.1" + "node": ">=0.4" }, - "peerDependencies": { - "semantic-release": ">=20.1.0" - } - }, - "node_modules/semantic-release/node_modules/@semantic-release/error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz", - "integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==", - "dev": true, - "engines": { - "node": ">=18" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/semantic-release/node_modules/@semantic-release/github": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-10.0.2.tgz", - "integrity": "sha512-SP5ihhv/uQa8vPuWKmbJrrzfv8lRUkDFC6qwgaWoorrflN1DEW0IGCa9w/PxUp8Ad3dbvXZPmpXdGiP3eyTzhg==", - "dev": true, - "dependencies": { - "@octokit/core": "^6.0.0", - "@octokit/plugin-paginate-rest": "^10.0.0", - "@octokit/plugin-retry": "^7.0.0", - "@octokit/plugin-throttling": "^9.0.0", - "@semantic-release/error": "^4.0.0", - "aggregate-error": "^5.0.0", - "debug": "^4.3.4", - "dir-glob": "^3.0.1", - "globby": "^14.0.0", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.0", - "issue-parser": "^7.0.0", - "lodash-es": "^4.17.21", - "mime": "^4.0.0", - "p-filter": "^4.0.0", - "url-join": "^5.0.0" - }, - "engines": { - "node": ">=20.8.1" - }, - "peerDependencies": { - "semantic-release": ">=20.1.0" - } + "node_modules/safe-array-concat/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true }, - "node_modules/semantic-release/node_modules/@semantic-release/npm": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-12.0.0.tgz", - "integrity": "sha512-72TVYQCH9NvVsO/y13eF8vE4bNnfls518+4KcFwJUKi7AtA/ZXoNgSg9gTTfw5eMZMkiH0izUrpGXgZE/cSQhA==", + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/safe-regex-test": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", "dev": true, "dependencies": { - "@semantic-release/error": "^4.0.0", - "aggregate-error": "^5.0.0", - "execa": "^8.0.0", - "fs-extra": "^11.0.0", - "lodash-es": "^4.17.21", - "nerf-dart": "^1.0.0", - "normalize-url": "^8.0.0", - "npm": "^10.5.0", - "rc": "^1.2.8", - "read-pkg": "^9.0.0", - "registry-auth-token": "^5.0.0", - "semver": "^7.1.2", - "tempy": "^3.0.0" + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" }, "engines": { - "node": ">=20.8.1" + "node": ">= 0.4" }, - "peerDependencies": { - "semantic-release": ">=20.1.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/semantic-release/node_modules/@semantic-release/release-notes-generator": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-13.0.0.tgz", - "integrity": "sha512-LEeZWb340keMYuREMyxrODPXJJ0JOL8D/mCl74B4LdzbxhtXV2LrPN2QBEcGJrlQhoqLO0RhxQb6masHytKw+A==", + "node_modules/semantic-release": { + "version": "23.0.8", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-23.0.8.tgz", + "integrity": "sha512-yZkuWcTTfh5h/DrR4Q4QvJSARJdb6wjwn/sN0qKMYEkvwaVFek8YWfrgtL8oWaRdl0fLte0Y1wWMzLbwoaII1g==", "dev": true, "dependencies": { - "conventional-changelog-angular": "^7.0.0", - "conventional-changelog-writer": "^7.0.0", - "conventional-commits-filter": "^4.0.0", - "conventional-commits-parser": "^5.0.0", + "@semantic-release/commit-analyzer": "^12.0.0", + "@semantic-release/error": "^4.0.0", + "@semantic-release/github": "^10.0.0", + "@semantic-release/npm": "^12.0.0", + "@semantic-release/release-notes-generator": "^13.0.0", + "aggregate-error": "^5.0.0", + "cosmiconfig": "^9.0.0", "debug": "^4.0.0", - "get-stream": "^7.0.0", - "import-from-esm": "^1.0.3", - "into-stream": "^7.0.0", + "env-ci": "^11.0.0", + "execa": "^8.0.0", + "figures": "^6.0.0", + "find-versions": "^6.0.0", + "get-stream": "^6.0.0", + "git-log-parser": "^1.2.0", + "hook-std": "^3.0.0", + "hosted-git-info": "^7.0.0", + "import-from-esm": "^1.3.1", "lodash-es": "^4.17.21", - "read-pkg-up": "^11.0.0" + "marked": "^12.0.0", + "marked-terminal": "^7.0.0", + "micromatch": "^4.0.2", + "p-each-series": "^3.0.0", + "p-reduce": "^3.0.0", + "read-package-up": "^11.0.0", + "resolve-from": "^5.0.0", + "semver": "^7.3.2", + "semver-diff": "^4.0.0", + "signale": "^1.2.1", + "yargs": "^17.5.1" + }, + "bin": { + "semantic-release": "bin/semantic-release.js" }, "engines": { "node": ">=20.8.1" - }, - "peerDependencies": { - "semantic-release": ">=20.1.0" } }, - "node_modules/semantic-release/node_modules/@semantic-release/release-notes-generator/node_modules/get-stream": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-7.0.1.tgz", - "integrity": "sha512-3M8C1EOFN6r8AMUhwUAACIoXZJEOufDU5+0gFFN5uNs6XYOralD2Pqkl7m046va6x77FwposWXbAhPPIOus7mQ==", + "node_modules/semantic-release/node_modules/@semantic-release/error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz", + "integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==", "dev": true, "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=18" } }, "node_modules/semantic-release/node_modules/aggregate-error": { @@ -6466,12 +7244,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/semantic-release/node_modules/before-after-hook": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-3.0.2.tgz", - "integrity": "sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==", - "dev": true - }, "node_modules/semantic-release/node_modules/clean-stack": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz", @@ -6534,22 +7306,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/semantic-release/node_modules/find-versions": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-6.0.0.tgz", - "integrity": "sha512-2kCCtc+JvcZ86IGAz3Z2Y0A1baIz9fL31pH/0S1IqZr9Iwnjq8izfPtrCyQKO6TLMPELLsQMre7VDqeIKCsHkA==", - "dev": true, - "dependencies": { - "semver-regex": "^4.0.5", - "super-regex": "^1.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/semantic-release/node_modules/human-signals": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", @@ -6583,22 +7339,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/semantic-release/node_modules/issue-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-7.0.0.tgz", - "integrity": "sha512-jgAw78HO3gs9UrKqJNQvfDj9Ouy8Mhu40fbEJ8yXff4MW8+/Fcn9iFjyWUQ6SKbX8ipPk3X5A3AyfYHRu6uVLw==", - "dev": true, - "dependencies": { - "lodash.capitalize": "^4.2.1", - "lodash.escaperegexp": "^4.1.2", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.uniqby": "^4.7.0" - }, - "engines": { - "node": "^18.17 || >=20.6.1" - } - }, "node_modules/semantic-release/node_modules/mimic-fn": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", @@ -6689,12 +7429,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/semantic-release/node_modules/universal-user-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", - "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==", - "dev": true - }, "node_modules/semver": { "version": "7.6.0", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", @@ -6749,6 +7483,38 @@ "node": ">=10" } }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -6770,6 +7536,24 @@ "node": ">=8" } }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/signal-exit": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", @@ -6915,6 +7699,55 @@ "node": ">=8" } }, + "node_modules/string.prototype.trim": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -7144,10 +7977,15 @@ } }, "node_modules/traverse": { - "version": "0.6.8", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.8.tgz", - "integrity": "sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA==", + "version": "0.6.9", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.9.tgz", + "integrity": "sha512-7bBrcF+/LQzSgFmT0X5YclVqQxtv7TDJ1f8Wj7ibBu/U6BMLeOpUxuZjV7rMc44UtKxlnMFigdhFAIszSX1DMg==", "dev": true, + "dependencies": { + "gopd": "^1.0.1", + "typedarray.prototype.slice": "^1.0.3", + "which-typed-array": "^1.1.15" + }, "engines": { "node": ">= 0.4" }, @@ -7156,17 +7994,110 @@ } }, "node_modules/type-fest": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", - "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.17.0.tgz", + "integrity": "sha512-9flrz1zkfLRH3jO3bLflmTxryzKMxVa7841VeMgBaNQGY6vH4RCcpN/sQLB7mQQYh1GZ5utT2deypMuCy4yicw==", "dev": true, "engines": { - "node": ">=14.16" + "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/typed-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typedarray.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typedarray.prototype.slice/-/typedarray.prototype.slice-1.0.3.tgz", + "integrity": "sha512-8WbVAQAUlENo1q3c3zZYuy5k9VzBQvp8AX9WOtbvyWlLM1v5JaSRmjubLjzHF4JFtptjH/5c/i95yaElvcjC0A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-errors": "^1.3.0", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-offset": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/uglify-js": { "version": "3.17.4", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", @@ -7180,6 +8111,21 @@ "node": ">=0.8.0" } }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/unicode-emoji-modifier-base": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz", @@ -7217,9 +8163,9 @@ } }, "node_modules/universal-user-agent": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz", - "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-7.0.2.tgz", + "integrity": "sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==", "dev": true }, "node_modules/universalify": { @@ -7271,6 +8217,41 @@ "node": ">= 8" } }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/wordwrap": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", diff --git a/pubspec.lock b/pubspec.lock index ef959471d3..59fd3b9836 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -29,10 +29,10 @@ packages: dependency: transitive description: name: args - sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596 + sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a" url: "https://pub.dev" source: hosted - version: "2.4.2" + version: "2.5.0" async: dependency: transitive description: @@ -109,10 +109,10 @@ packages: dependency: transitive description: name: built_value - sha256: fedde275e0a6b798c3296963c5cd224e3e1b55d0e478d5b7e65e6b540f363a0e + sha256: c7913a9737ee4007efedaffc968c049fd0f3d0e49109e778edc10de9426005cb url: "https://pub.dev" source: hosted - version: "8.9.1" + version: "8.9.2" characters: dependency: transitive description: @@ -157,10 +157,10 @@ packages: dependency: "direct main" description: name: connectivity_plus - sha256: e9feae83b1849f61bad9f6f33ee00646e3410d54ce0821e02f262f9901dad3c9 + sha256: db7a4e143dc72cc3cb2044ef9b052a7ebfe729513e6a82943bc3526f784365b8 url: "https://pub.dev" source: hosted - version: "6.0.1" + version: "6.0.3" connectivity_plus_platform_interface: dependency: transitive description: @@ -197,10 +197,10 @@ packages: dependency: transitive description: name: csv - sha256: "63ed2871dd6471193dffc52c0e6c76fb86269c00244d244297abbb355c84a86e" + sha256: c6aa2679b2a18cb57652920f674488d89712efaf4d3fdf2e537215b35fc19d6c url: "https://pub.dev" source: hosted - version: "5.1.1" + version: "6.0.0" dart_style: dependency: transitive description: @@ -230,10 +230,10 @@ packages: dependency: "direct main" description: name: device_info_plus - sha256: "77f757b789ff68e4eaf9c56d1752309bd9f7ad557cb105b938a7f8eb89e59110" + sha256: eead12d1a1ed83d8283ab4c2f3fca23ac4082f29f25f29dff0f758f57d06ec91 url: "https://pub.dev" source: hosted - version: "9.1.2" + version: "10.1.0" device_info_plus_platform_interface: dependency: transitive description: @@ -246,10 +246,10 @@ packages: dependency: "direct main" description: name: dio - sha256: "49af28382aefc53562459104f64d16b9dfd1e8ef68c862d5af436cc8356ce5a8" + sha256: "11e40df547d418cc0c4900a9318b26304e665da6fa4755399a9ff9efd09034b5" url: "https://pub.dev" source: hosted - version: "5.4.1" + version: "5.4.3+1" dio_cache_interceptor: dependency: "direct main" description: @@ -332,10 +332,10 @@ packages: dependency: "direct main" description: name: flutter_cache_manager - sha256: "8207f27539deb83732fdda03e259349046a39a4c767269285f449ade355d54ba" + sha256: "395d6b7831f21f3b989ebedbb785545932adb9afe2622c1ffacf7f4b53a7e544" url: "https://pub.dev" source: hosted - version: "3.3.1" + version: "3.3.2" flutter_file_dialog: dependency: "direct main" description: @@ -356,10 +356,10 @@ packages: dependency: "direct main" description: name: flutter_local_notifications - sha256: f9a05409385b77b06c18f200a41c7c2711ebf7415669350bb0f8474c07bd40d1 + sha256: "8cdc719114ab1c86c64bb7a86d3a679674c3637edd229e3a994797d4a1504ce4" url: "https://pub.dev" source: hosted - version: "17.0.0" + version: "17.1.0" flutter_local_notifications_linux: dependency: transitive description: @@ -372,10 +372,10 @@ packages: dependency: transitive description: name: flutter_local_notifications_platform_interface - sha256: "7cf643d6d5022f3baed0be777b0662cce5919c0a7b86e700299f22dc4ae660ef" + sha256: "340abf67df238f7f0ef58f4a26d2a83e1ab74c77ab03cd2b2d5018ac64db30b7" url: "https://pub.dev" source: hosted - version: "7.0.0+1" + version: "7.1.0" flutter_localizations: dependency: "direct main" description: flutter @@ -385,10 +385,10 @@ packages: dependency: "direct main" description: name: flutter_markdown - sha256: "31c12de79262b5431c5492e9c89948aa789158435f707d3519a7fdef6af28af7" + sha256: "9921f9deda326f8a885e202b1e35237eadfc1345239a0f6f0f1ff287e047547f" url: "https://pub.dev" source: hosted - version: "0.6.22+1" + version: "0.7.1" flutter_test: dependency: transitive description: flutter @@ -403,10 +403,10 @@ packages: dependency: "direct main" description: name: fluttertoast - sha256: dfdde255317af381bfc1c486ed968d5a43a2ded9c931e87cbecd88767d6a71c1 + sha256: "81b68579e23fcbcada2db3d50302813d2371664afe6165bc78148050ab94bf66" url: "https://pub.dev" source: hosted - version: "8.2.4" + version: "8.2.5" font_awesome_flutter: dependency: "direct main" description: @@ -427,10 +427,10 @@ packages: dependency: transitive description: name: frontend_server_client - sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612" + sha256: f64a0333a82f30b0cca061bc3d143813a486dc086b574bfb233b7c1372427694 url: "https://pub.dev" source: hosted - version: "3.2.0" + version: "4.0.0" get: dependency: transitive description: @@ -443,10 +443,10 @@ packages: dependency: transitive description: name: get_it - sha256: e6017ce7fdeaf218dc51a100344d8cb70134b80e28b760f8bb23c242437bafd7 + sha256: d85128a5dae4ea777324730dc65edd9c9f43155c109d5cc0a69cab74139fbac1 url: "https://pub.dev" source: hosted - version: "7.6.7" + version: "7.7.0" glob: dependency: transitive description: @@ -499,18 +499,18 @@ packages: dependency: "direct main" description: name: injectable - sha256: cd3c422e13270c81f64ab73c80406b2b2ed563fe59d0ff2093eb7eee63d0bbeb + sha256: "3d98967224a5fdd4094a61bf53ed9616c3fbcf3e090bf83e7cb7d436d0c20041" url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.4.1" injectable_generator: dependency: "direct dev" description: name: injectable_generator - sha256: f9d3c05f0938403f79ad6c6d23ec8e37a7a05ad980b1bf9399493f3e41845788 + sha256: "2ca3ada337eac0ef6b82f8049c970ddb63947738fdf32ac6cbef8d1567d7ba05" url: "https://pub.dev" source: hosted - version: "2.4.1" + version: "2.6.1" intl: dependency: "direct main" description: @@ -531,10 +531,10 @@ packages: dependency: transitive description: name: js - sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3 + sha256: c1b2e9b5ea78c45e1a0788d29606ba27dc5f71f019f32ca5140f61ef071838cf url: "https://pub.dev" source: hosted - version: "0.6.7" + version: "0.7.1" json2yaml: dependency: transitive description: @@ -547,26 +547,26 @@ packages: dependency: "direct main" description: name: json_annotation - sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467 + sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1" url: "https://pub.dev" source: hosted - version: "4.8.1" + version: "4.9.0" json_serializable: dependency: "direct dev" description: name: json_serializable - sha256: aa1f5a8912615733e0fdc7a02af03308933c93235bdc8d50d0b0c8a8ccb0b969 + sha256: ea1432d167339ea9b5bb153f0571d0039607a873d6e04e0117af043f14a1fd4b url: "https://pub.dev" source: hosted - version: "6.7.1" + version: "6.8.0" language_code: dependency: "direct main" description: name: language_code - sha256: "45b5320eedf35075176a6398b5d46c408c423be293280f1a95a92c216e7de40b" + sha256: "7272519879a86e64fb5f183716ba10cefeb2f191e6e0aa043e0259d0ca0aa122" url: "https://pub.dev" source: hosted - version: "0.5.1" + version: "0.5.3+2" leak_tracker: dependency: transitive description: @@ -628,10 +628,10 @@ packages: dependency: transitive description: name: markdown - sha256: "1b134d9f8ff2da15cb298efe6cd8b7d2a78958c1b00384ebcbdf13fe340a6c90" + sha256: ef2a1298144e3f985cc736b22e0ccdaf188b5b3970648f2d9dc13efd1d9df051 url: "https://pub.dev" source: hosted - version: "7.2.1" + version: "7.2.2" matcher: dependency: transitive description: @@ -692,18 +692,18 @@ packages: dependency: "direct main" description: name: package_info_plus - sha256: cb44f49b6e690fa766f023d5b22cac6b9affe741dd792b6ac7ad4fabe0d7b097 + sha256: "2c582551839386fa7ddbc7770658be7c0f87f388a4bff72066478f597c34d17f" url: "https://pub.dev" source: hosted - version: "6.0.0" + version: "7.0.0" package_info_plus_platform_interface: dependency: transitive description: name: package_info_plus_platform_interface - sha256: "9bc8ba46813a4cc42c66ab781470711781940780fd8beddd0c3da62506d3a6c6" + sha256: f49918f3433a3146047372f9d4f1f847511f2acd5cd030e1f44fe5a50036b70e url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.0" path: dependency: transitive description: @@ -716,18 +716,18 @@ packages: dependency: "direct main" description: name: path_provider - sha256: b27217933eeeba8ff24845c34003b003b2b22151de3c908d0e679e8fe1aa078b + sha256: c9e7d3a4cd1410877472158bee69963a4579f78b68c65a2b7d40d1a7a88bb161 url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.3" path_provider_android: dependency: transitive description: name: path_provider_android - sha256: "477184d672607c0a3bf68fbbf601805f92ef79c82b64b4d6eb318cbca4c48668" + sha256: a248d8146ee5983446bf03ed5ea8f6533129a12b11f12057ad1b4a67a2b3b41d url: "https://pub.dev" source: hosted - version: "2.2.2" + version: "2.2.4" path_provider_foundation: dependency: transitive description: @@ -796,10 +796,10 @@ packages: dependency: transitive description: name: permission_handler_platform_interface - sha256: "23dfba8447c076ab5be3dee9ceb66aad345c4a648f0cac292c77b1eb0e800b78" + sha256: "48d4fcf201a1dad93ee869ab0d4101d084f49136ec82a8a06ed9cfeacab9fd20" url: "https://pub.dev" source: hosted - version: "4.2.0" + version: "4.2.1" permission_handler_windows: dependency: transitive description: @@ -902,34 +902,34 @@ packages: dependency: "direct main" description: name: share_plus - sha256: "05ec043470319bfbabe0adbc90d3a84cbff0426b9d9f3a6e2ad3e131fa5fa629" + sha256: ef3489a969683c4f3d0239010cc8b7a2a46543a8d139e111c06c558875083544 url: "https://pub.dev" source: hosted - version: "8.0.2" + version: "9.0.0" share_plus_platform_interface: dependency: transitive description: name: share_plus_platform_interface - sha256: "251eb156a8b5fa9ce033747d73535bf53911071f8d3b6f4f0b578505ce0d4496" + sha256: "0f9e4418835d1b2c3ae78fdb918251959106cefdbc4dd43526e182f80e82f6d4" url: "https://pub.dev" source: hosted - version: "3.4.0" + version: "4.0.0" shared_preferences: dependency: "direct main" description: name: shared_preferences - sha256: "81429e4481e1ccfb51ede496e916348668fd0921627779233bd24cc3ff6abd02" + sha256: d3bbe5553a986e83980916ded2f0b435ef2e1893dfaa29d5a7a790d0eca12180 url: "https://pub.dev" source: hosted - version: "2.2.2" + version: "2.2.3" shared_preferences_android: dependency: transitive description: name: shared_preferences_android - sha256: "8568a389334b6e83415b6aae55378e158fbc2314e074983362d20c562780fb06" + sha256: "1ee8bf911094a1b592de7ab29add6f826a7331fb854273d55918693d5364a1f2" url: "https://pub.dev" source: hosted - version: "2.2.1" + version: "2.2.2" shared_preferences_foundation: dependency: transitive description: @@ -1003,10 +1003,10 @@ packages: dependency: "direct main" description: name: slang - sha256: "5e08ac915ac27a3508863f37734280d30c3713d56746cd2e4a5da77413da4b95" + sha256: ad2a3974fa705017d40e59f9fce5ba738ce78a40c13247bf655d1760d3af018f url: "https://pub.dev" source: hosted - version: "3.30.1" + version: "3.30.2" slang_flutter: dependency: "direct main" description: @@ -1051,18 +1051,18 @@ packages: dependency: transitive description: name: sqflite - sha256: a9016f495c927cb90557c909ff26a6d92d9bd54fc42ba92e19d4e79d61e798c6 + sha256: "5ce2e1a15e822c3b4bfb5400455775e421da7098eed8adc8f26298ada7c9308c" url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.3.3" sqflite_common: dependency: transitive description: name: sqflite_common - sha256: "28d8c66baee4968519fb8bd6cdbedad982d6e53359091f0b74544a9f32ec72d5" + sha256: "3da423ce7baf868be70e2c0976c28a1bb2f73644268b7ffa7d2e08eab71f16a4" url: "https://pub.dev" source: hosted - version: "2.5.3" + version: "2.5.4" stack_trace: dependency: transitive description: @@ -1091,10 +1091,10 @@ packages: dependency: "direct main" description: name: stacked_services - sha256: b91f8f35043f80961f4d80cd25ec3677f035461b9e7ee12b04727911ed7f53f7 + sha256: "5cb55065d85c395da3d37ec0e52ace7f6e367c0b8477aace8c8479009e02cb41" url: "https://pub.dev" source: hosted - version: "1.4.0" + version: "1.5.0" stacked_shared: dependency: transitive description: @@ -1163,10 +1163,10 @@ packages: dependency: "direct main" description: name: timezone - sha256: "1cfd8ddc2d1cfd836bc93e67b9be88c3adaeca6f40a00ca999104c30693cdca0" + sha256: a6ccda4a69a442098b602c44e61a1e2b4bf6f5516e875bbf0f427d5df14745d5 url: "https://pub.dev" source: hosted - version: "0.9.2" + version: "0.9.3" timing: dependency: transitive description: @@ -1195,18 +1195,18 @@ packages: dependency: "direct main" description: name: url_launcher - sha256: "0ecc004c62fd3ed36a2ffcbe0dd9700aee63bd7532d0b642a488b1ec310f492e" + sha256: "6ce1e04375be4eed30548f10a315826fd933c1e493206eab82eed01f438c8d2e" url: "https://pub.dev" source: hosted - version: "6.2.5" + version: "6.2.6" url_launcher_android: dependency: transitive description: name: url_launcher_android - sha256: d4ed0711849dd8e33eb2dd69c25db0d0d3fdc37e0a62e629fe32f57a22db2745 + sha256: "360a6ed2027f18b73c8d98e159dda67a61b7f2e0f6ec26e86c3ada33b0621775" url: "https://pub.dev" source: hosted - version: "6.3.0" + version: "6.3.1" url_launcher_ios: dependency: transitive description: @@ -1243,10 +1243,10 @@ packages: dependency: transitive description: name: url_launcher_web - sha256: "3692a459204a33e04bc94f5fb91158faf4f2c8903281ddd82915adecdb1a901d" + sha256: "8d9e750d8c9338601e709cd0885f95825086bd8b642547f26bda435aade95d8a" url: "https://pub.dev" source: hosted - version: "2.3.0" + version: "2.3.1" url_launcher_windows: dependency: transitive description: @@ -1259,10 +1259,10 @@ packages: dependency: transitive description: name: uuid - sha256: cd210a09f7c18cbe5a02511718e0334de6559871052c90a90c0cca46a4aa81c8 + sha256: "814e9e88f21a176ae1359149021870e87f7cddaf633ab678a5d2b0bff7fd1ba8" url: "https://pub.dev" source: hosted - version: "4.3.3" + version: "4.4.0" vector_math: dependency: transitive description: @@ -1283,18 +1283,18 @@ packages: dependency: "direct main" description: name: wakelock_plus - sha256: "104d94837bb28c735894dcd592877e990149c380e6358b00c04398ca1426eed4" + sha256: c8b7cc80f045533b40a0e6c9109905494e3cf32c0fbd5c62616998e0de44003f url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.2.4" wakelock_plus_platform_interface: dependency: transitive description: name: wakelock_plus_platform_interface - sha256: "582f2f7aecc7376332d961a0dd1efa9378ce117657e0ade55d9ff72699a55e82" + sha256: "422d1cdbb448079a8a62a5a770b69baa489f8f7ca21aef47800c726d404f9d16" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.2.1" watcher: dependency: transitive description: @@ -1315,26 +1315,26 @@ packages: dependency: transitive description: name: web_socket_channel - sha256: "1d8e795e2a8b3730c41b8a98a2dff2e0fb57ae6f0764a1c46ec5915387d257b2" + sha256: "58c6666b342a38816b2e7e50ed0f1e261959630becd4c879c4f26bfa14aa5a42" url: "https://pub.dev" source: hosted - version: "2.4.4" + version: "2.4.5" win32: dependency: transitive description: name: win32 - sha256: "464f5674532865248444b4c3daca12bd9bf2d7c47f759ce2617986e7229494a8" + sha256: "0eaf06e3446824099858367950a813472af675116bf63f008a4c2a75ae13e9cb" url: "https://pub.dev" source: hosted - version: "5.2.0" + version: "5.5.0" win32_registry: dependency: transitive description: name: win32_registry - sha256: "41fd8a189940d8696b1b810efb9abcf60827b6cbfab90b0c43e8439e3a39d85a" + sha256: "10589e0d7f4e053f2c61023a31c9ce01146656a70b7b7f0828c0b46d7da2a9bb" url: "https://pub.dev" source: hosted - version: "1.1.2" + version: "1.1.3" xdg_directories: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 0479fb8848..2cbaaf0362 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -10,17 +10,17 @@ environment: sdk: '>=3.0.0 <4.0.0' dependencies: - animations: ^2.0.7 - collection: ^1.17.0 - connectivity_plus: ^6.0.1 + animations: ^2.0.11 + collection: ^1.18.0 + connectivity_plus: ^6.0.3 device_apps: git: url: https://github.com/ponces/flutter_plugin_device_apps ref: 0609662324b9e00931fccfa87e9e1b00b7610907 # Branch: revanced-manager - device_info_plus: ^9.1.0 - dio: ^5.0.0 - dio_cache_interceptor: ^3.4.0 - dynamic_color: ^1.6.3 + device_info_plus: ^10.1.0 + dio: ^5.4.3+1 + dio_cache_interceptor: ^3.5.0 + dynamic_color: ^1.7.0 dynamic_themes: ^1.1.0 expandable: ^5.0.1 flutter: @@ -29,25 +29,25 @@ dependencies: git: # remove once https://github.com/JulianAssmann/flutter_background/pull/79 is merged url: https://github.com/BenjaminHalko/flutter_background ref: 560d21c4148b53933313573e7eafca0b0eb9aadf # Branch: specify-namespace - flutter_cache_manager: ^3.3.0 + flutter_cache_manager: ^3.3.2 flutter_file_dialog: ^3.0.2 - flutter_local_notifications: ^17.0.0 + flutter_local_notifications: ^17.1.0 flutter_localizations: sdk: flutter - flutter_markdown: ^0.6.22+1 - fluttertoast: ^8.2.4 - font_awesome_flutter: ^10.4.0 + flutter_markdown: ^0.7.1 + fluttertoast: ^8.2.5 + font_awesome_flutter: ^10.7.0 google_fonts: ^6.2.1 - injectable: ^2.1.1 - intl: ^0.18.0 - json_annotation: ^4.8.1 - language_code: ^0.5.1 + injectable: ^2.4.1 + intl: ^0.18.1 + json_annotation: ^4.9.0 + language_code: ^0.5.3+2 logcat: git: url: https://github.com/BenjaminHalko/logcat ref: 4a6d5e0e22292c8eb160cfb9365b9ea29735fd43 # Branch: master - package_info_plus: ^6.0.0 - path_provider: ^2.0.14 + package_info_plus: ^7.0.0 + path_provider: ^2.1.3 permission_handler: ^11.3.1 root: git: @@ -57,26 +57,26 @@ dependencies: git: # remove once https://github.com/flutter-moum/flutter_screenshot_callback/pull/81 is merged url: https://github.com/BenjaminHalko/flutter_screenshot_callback ref: 1a1616ac91e16cd1f3dd170a81febf27ffce3587 # Branch: master - share_plus: ^8.0.2 - shared_preferences: ^2.1.0 + share_plus: ^9.0.0 + shared_preferences: ^2.2.3 skeletons: ^0.0.3 - slang: ^3.25.0 - slang_flutter: ^3.25.0 - stacked: ^3.2.0 - stacked_generator: ^1.1.0 - stacked_services: ^1.0.0 - synchronized: ^3.1.0 - timeago: ^3.3.0 - timezone: ^0.9.0 - url_launcher: ^6.1.10 - wakelock_plus: ^1.1.3 + slang: ^3.30.2 + slang_flutter: ^3.30.0 + stacked: ^3.4.2 + stacked_generator: ^1.6.0 + stacked_services: ^1.5.0 + synchronized: ^3.1.0+1 + timeago: ^3.6.1 + timezone: ^0.9.3 + url_launcher: ^6.2.6 + wakelock_plus: ^1.2.4 dev_dependencies: analyzer: ^6.4.1 build_runner: 2.4.9 flutter_lints: ^3.0.2 - injectable_generator: ^2.1.5 - json_serializable: ^6.7.1 + injectable_generator: ^2.6.1 + json_serializable: ^6.8.0 flutter: uses-material-design: true From 4a72267d4120341031afb8fccd822e052ad706b6 Mon Sep 17 00:00:00 2001 From: oSumAtrIX Date: Sun, 28 Apr 2024 23:40:28 +0200 Subject: [PATCH 050/127] fix: Download latest integrations non-pre-release --- lib/services/github_api.dart | 66 ++------------------------- lib/services/manager_api.dart | 8 ++-- lib/ui/views/home/home_viewmodel.dart | 2 +- 3 files changed, 10 insertions(+), 66 deletions(-) diff --git a/lib/services/github_api.dart b/lib/services/github_api.dart index 0c0080b9e6..0d68637ff3 100644 --- a/lib/services/github_api.dart +++ b/lib/services/github_api.dart @@ -23,39 +23,6 @@ class GithubAPI { Future?> getLatestRelease( String repoName, - ) async { - try { - final response = await _dio.get( - '/repos/$repoName/releases', - ); - return response.data[0]; - } on Exception catch (e) { - if (kDebugMode) { - print(e); - } - return null; - } - } - - Future?> getPatchesRelease( - String repoName, - String version, - ) async { - try { - final response = await _dio.get( - '/repos/$repoName/releases/tags/$version', - ); - return response.data; - } on Exception catch (e) { - if (kDebugMode) { - print(e); - } - return null; - } - } - - Future?> getLatestPatchesRelease( - String repoName, ) async { try { final response = await _dio.get( @@ -108,32 +75,7 @@ class GithubAPI { } } - Future getLatestReleaseFile( - String extension, - String repoName, - ) async { - try { - final Map? release = await getLatestRelease(repoName); - if (release != null) { - final Map? asset = - (release['assets'] as List).firstWhereOrNull( - (asset) => (asset['name'] as String).endsWith(extension), - ); - if (asset != null) { - return await _downloadManager.getSingleFile( - asset['browser_download_url'], - ); - } - } - } on Exception catch (e) { - if (kDebugMode) { - print(e); - } - } - return null; - } - - Future getPatchesReleaseFile( + Future getReleaseFile( String extension, String repoName, String version, @@ -145,8 +87,10 @@ class GithubAPI { url, ); } - final Map? release = - await getPatchesRelease(repoName, version); + final response = await _dio.get( + '/repos/$repoName/releases/tags/$version', + ); + final Map? release = response.data; if (release != null) { final Map? asset = (release['assets'] as List).firstWhereOrNull( diff --git a/lib/services/manager_api.dart b/lib/services/manager_api.dart index 8851858724..ce146a6433 100644 --- a/lib/services/manager_api.dart +++ b/lib/services/manager_api.dart @@ -422,7 +422,7 @@ class ManagerAPI { final String repoName = !isUsingAlternativeSources() ? defaultPatchesRepo : getPatchesRepo(); final String currentVersion = await getCurrentPatchesVersion(); final String url = getPatchesDownloadURL(); - return await _githubAPI.getPatchesReleaseFile( + return await _githubAPI.getReleaseFile( '.jar', repoName, currentVersion, @@ -441,7 +441,7 @@ class ManagerAPI { final String repoName = !isUsingAlternativeSources() ? defaultIntegrationsRepo : getIntegrationsRepo(); final String currentVersion = await getCurrentIntegrationsVersion(); final String url = getIntegrationsDownloadURL(); - return await _githubAPI.getPatchesReleaseFile( + return await _githubAPI.getReleaseFile( '.apk', repoName, currentVersion, @@ -470,7 +470,7 @@ class ManagerAPI { ); } else { final release = - await _githubAPI.getLatestPatchesRelease(getPatchesRepo()); + await _githubAPI.getLatestRelease(getPatchesRepo()); if (release != null) { final DateTime timestamp = DateTime.parse(release['created_at'] as String); @@ -519,7 +519,7 @@ class ManagerAPI { ); } else { final release = - await _githubAPI.getLatestPatchesRelease(getPatchesRepo()); + await _githubAPI.getLatestRelease(getPatchesRepo()); if (release != null) { return release['tag_name']; } else { diff --git a/lib/ui/views/home/home_viewmodel.dart b/lib/ui/views/home/home_viewmodel.dart index 3327c42b4b..2d33ed26a1 100644 --- a/lib/ui/views/home/home_viewmodel.dart +++ b/lib/ui/views/home/home_viewmodel.dart @@ -480,7 +480,7 @@ class HomeViewModel extends BaseViewModel { } Future?> getLatestPatchesRelease() { - return _githubAPI.getLatestPatchesRelease(_managerAPI.defaultPatchesRepo); + return _githubAPI.getLatestRelease(_managerAPI.defaultPatchesRepo); } Future getLatestPatchesReleaseTime() { From 1aa1bd84cfc9a9142f72537dcd03880bdf9b4ee0 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Sun, 28 Apr 2024 21:49:47 +0000 Subject: [PATCH 051/127] chore(release): 1.21.0-dev.2 [skip ci] # [1.21.0-dev.2](https://github.com/ReVanced/revanced-manager/compare/v1.21.0-dev.1...v1.21.0-dev.2) (2024-04-28) ### Bug Fixes * Download latest integrations non-pre-release ([4a72267](https://github.com/ReVanced/revanced-manager/commit/4a72267d4120341031afb8fccd822e052ad706b6)) --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 2cbaaf0362..4ce0d975b4 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -4,7 +4,7 @@ homepage: https://github.com/ReVanced/revanced-manager publish_to: 'none' -version: 1.21.0-dev.1+101800017 +version: 1.21.0-dev.2+101800018 environment: sdk: '>=3.0.0 <4.0.0' From 1adc673c44662a924628b762a68de831ed2a67f6 Mon Sep 17 00:00:00 2001 From: ReVanced Bot Date: Mon, 29 Apr 2024 05:24:25 +0200 Subject: [PATCH 052/127] chore: Sync translations (#1842) --- assets/i18n/strings_ar_SA.i18n.json | 49 ++++----- assets/i18n/strings_bg_BG.i18n.json | 149 +++++++++++++++++++++++++--- assets/i18n/strings_bn_BD.i18n.json | 9 +- assets/i18n/strings_cs_CZ.i18n.json | 85 +++++++++++++++- assets/i18n/strings_da_DK.i18n.json | 105 +++++++++++++++++++- assets/i18n/strings_es_AR.i18n.json | 2 +- assets/i18n/strings_es_MX.i18n.json | 12 +-- assets/i18n/strings_fi_FI.i18n.json | 7 ++ assets/i18n/strings_hu_HU.i18n.json | 110 ++++++++++---------- assets/i18n/strings_id_ID.i18n.json | 10 +- assets/i18n/strings_it_IT.i18n.json | 8 +- assets/i18n/strings_ja_JP.i18n.json | 26 ++++- assets/i18n/strings_ko_KR.i18n.json | 12 +-- assets/i18n/strings_pl_PL.i18n.json | 2 +- assets/i18n/strings_pt_BR.i18n.json | 121 +++++++++++++++++++--- assets/i18n/strings_ru_RU.i18n.json | 4 +- assets/i18n/strings_sr_CS.i18n.json | 18 ++-- assets/i18n/strings_sr_SP.i18n.json | 18 ++-- assets/i18n/strings_tr_TR.i18n.json | 2 +- assets/i18n/strings_uk_UA.i18n.json | 58 +++++------ assets/i18n/strings_zh_CN.i18n.json | 2 +- assets/i18n/strings_zh_TW.i18n.json | 62 ++++++------ 22 files changed, 651 insertions(+), 220 deletions(-) diff --git a/assets/i18n/strings_ar_SA.i18n.json b/assets/i18n/strings_ar_SA.i18n.json index 8dfed7ea75..e4bec8bee5 100755 --- a/assets/i18n/strings_ar_SA.i18n.json +++ b/assets/i18n/strings_ar_SA.i18n.json @@ -16,7 +16,7 @@ "noShowAgain": "لا تعرض هذا مرة أخرى", "add": "إضافة", "remove": "إزالة", - "showChangelogButton": "إظهار سجل التغييرات", + "showChangelogButton": "عرض سجل التغييرات", "showUpdateButton": "عرض التحديث", "navigationView": { "dashboardTab": "لوحة التحكم", @@ -30,7 +30,7 @@ "patchedSubtitle": "التطبيقات المعدلة", "changeLaterSubtitle": "يمكنك تغيير هذا في الإعدادات في وقت لاحق.", "noUpdates": "لا توجد تحديثات متاحة", - "WIP": "العمل قيد التقدم...", + "WIP": "العمل قيد التنفيذ...", "noInstallations": "لا توجد تطبيقات معدلة مثبتة", "installUpdate": "هل تريد الاستمرار في تثبيت التحديث؟", "updateSheetTitle": "تحديث ReVanced Manager", @@ -38,17 +38,17 @@ "updatePatchesSheetTitle": "تحديث تعديلات ReVanced", "updateChangelogTitle": "سجل التغييرات", "updateDialogText": "يتوفر تحديث جديد لـ ${file}.\n\nالإصدار المثبت حاليًا هو ${version}.", - "downloadConsentDialogTitle": "تحميل الملفات المطلوبة؟", - "downloadConsentDialogText": "يحتاج مدير ReVanced إلى تنزيل الملفات الضرورية ليعمل بشكل صحيح.", + "downloadConsentDialogTitle": "تنزيل الملفات اللازمة؟", + "downloadConsentDialogText": "يحتاج مدير ReVanced إلى تنزيل الملفات اللازمة ليعمل بشكل صحيح.", "downloadConsentDialogText2": "سيؤدي هذا إلى توصيلك بـ ${url}.", - "checkUpdateDialogTitle": "التحقق من وجود تحديثات؟", - "checkUpdateDialogText": "هل تريد أن يقوم مدير ReVanced بالتحقق من وجود تحديثات تلقائياً؟", + "checkUpdateDialogTitle": "التحقق من توفر تحديثات؟", + "checkUpdateDialogText": "هل تريد أن يقوم مدير ReVanced بالتحقق من توفر تحديثات تلقائيًا؟", "notificationTitle": "تم تنزيل التحديث", - "notificationText": "انقر لتثبيت التحديث", - "downloadingMessage": "جارٍ تحميل التحديث...", + "notificationText": "اضغط لتثبيت التحديث", + "downloadingMessage": "جارٍ تنزيل التحديث...", "downloadedMessage": "تم تنزيل التحديث", "installingMessage": "جارٍ تثبيت التحديث...", - "errorDownloadMessage": "تعذر تحميل التحديث", + "errorDownloadMessage": "تعذر تنزيل التحديث", "errorInstallMessage": "تعذّر تثبيت التحديث", "noConnection": "لا يوجد اتصال بالإنترنت", "updatesDisabled": "تحديث تطبيق تم تعديله معطل حاليًا. أعد تعديل التطبيق مرة أخرى." @@ -71,17 +71,17 @@ "requiredOptionDialogText": "يجب ضبط بعض خيارات التعديل." }, "appSelectorCard": { - "widgetTitle": "اختر تطبيق", + "widgetTitle": "حدد تطبيق", "widgetTitleSelected": "التطبيق المحدد", "widgetSubtitle": "لم يتم تحديد أي تطبيق", "noAppsLabel": "لم يتم العثور على تطبيقات", "currentVersion": "الحالي", - "suggestedVersion": "المقترحة", + "suggestedVersion": "المقترح", "anyVersion": "أي إصدار" }, "patchSelectorCard": { "widgetTitle": "حدد التعديلات", - "widgetTitleSelected": "التعديلات التي تم اختيارها", + "widgetTitleSelected": "التعديلات التي تم تحديدها", "widgetSubtitle": "حدد تطبيق أولاً", "widgetEmptySubtitle": "لم يتم تحديد أي تعديلات" }, @@ -90,12 +90,12 @@ "widgetSubtitle": "تابعونا!" }, "appSelectorView": { - "viewTitle": "اختر تطبيق", + "viewTitle": "حدد تطبيق", "searchBarHint": "البحث عن تطبيق", "storageButton": "التخزين", - "selectFromStorageButton": "اختيار من التخزين", + "selectFromStorageButton": "تحديد من التخزين", "errorMessage": "لا يمكن استخدام التطبيق المحدد", - "downloadToast": "خاصية التحميل غير متوفرة بعد", + "downloadToast": "خاصية التنزيل غير متوفرة بعد", "requireSuggestedAppVersionDialogText": "الإصدار من التطبيق الذي حددته لا يتطابق مع الإصدار المقترح الذي يمكن أن يؤدي إلى مشاكل غير متوقعة. الرجاء استخدام الإصدار المقترح.\n\nالإصدار المحدد: ${selected}\nالإصدار المقترح: ${suggested}\n\nللاستمرار على أي حال، قم بتعطيل \"طلب إصدار التطبيق المقترح\" في الإعدادات.", "featureNotAvailable": "الميزة غير مُدمَجة بعد", "featureNotAvailableText": "هذا التطبيق عبارة عن ملف Spilt APK ولا يمكن تعديله وتثبيته بشكل موثوق إلا عن طريق التثبيت باستخدام أذونات Root. ومع ذلك، يمكنك تعديل وتثبيت ملف APK كاملًا عن طريق تحديده من وحدة التخزين." @@ -132,7 +132,7 @@ "requiredOptionNull": "يجب تعيين الخيارات التالية:\n\n${options}" }, "patchItem": { - "unsupportedDialogText": "قد يؤدي تحديد هذا التعديل إلى حدوث أخطاء في عملية التعديل.\n\nإصدار التطبيق: ${packageVersion}\nالإصدارات المدعومة حالياً:\n${supportedVersions}", + "unsupportedDialogText": "قد يؤدي تحديد هذا التعديل إلى حدوث أخطاء في عملية التعديل.\n\nإصدار التطبيق: ${packageVersion}\nالإصدارات المدعومة حاليًا:\n${supportedVersions}", "unsupportedPatchVersion": "التعديل غير مدعوم لإصدار التطبيق هذا.", "unsupportedRequiredOption": "يحتوي هذا التعديل على خيار مطلوب لا يدعمه هذا التطبيق", "patchesChangeWarningDialogText": "يوصى باستخدام تحديد التعديل وخياراته الافتراضية. قد يؤدي تغييرها إلى حدوث مشكلات غير متوقعة.\n\nستحتاج إلى تشغيل \"السماح بتغيير تحديد التعديل\" في الإعدادات قبل تغيير أي تحديد تعديل.", @@ -141,14 +141,14 @@ "installerView": { "widgetTitle": "المثبت", "installType": "تحديد نوع التثبيت", - "installTypeDescription": "حدد نوع التثبيت للمتابعة.", + "installTypeDescription": "تحديد نوع التثبيت للمتابعة.", "installButton": "تثبيت", "installRootType": "تحميل", "installNonRootType": "عادي", "warning": "قم بتعطيل التحديثات التلقائية للتطبيق المعدل لتجنب المشكلات غير المتوقعة.", "pressBackAgain": "اضغط رجوع مرة اخرى للإلغاء", "openButton": "فتح", - "shareButton": "شارك ملف", + "shareButton": "شارك مِلَفّ", "notificationTitle": "ReVanced Manager يقوم بعملية التعديل", "notificationText": "انقر للعودة إلى المثبت", "exportApkButtonTooltip": "تصدير APK المعدل", @@ -164,7 +164,7 @@ "debugSectionTitle": "تصحيح الأخطاء", "advancedSectionTitle": "إعدادات متقدمة", "exportSectionTitle": "استيراد و تصدير", - "dataSectionTitle": "مصادر البيانات", + "dataSectionTitle": "مصدر البيانات", "themeModeLabel": "مظهر التطبيق", "systemThemeLabel": "النظام", "lightThemeLabel": "فاتح (ابيض)", @@ -173,7 +173,7 @@ "dynamicThemeHint": "استمتع بتجربة أقرب إلى جهازك", "languageLabel": "اللغة", "languageUpdated": "تم تحديث اللغة", - "englishOption": "الإنجليزية", + "englishOption": "English", "sourcesLabel": "مصادر بديلة", "sourcesLabelHint": "قم بتكوين المصادر البديلة لتعديلات ReVanced وتكاملات ReVanced", "sourcesIntegrationsLabel": "مصدر الـدمج", @@ -200,7 +200,7 @@ "autoUpdatePatchesLabel": "تحديث التعديلات تلقائيًا", "autoUpdatePatchesHint": "تحديث التعديلات تلقائيًا إلى الإصدار الأحدث", "showUpdateDialogLabel": "عرض مربع حوار التحديث", - "showUpdateDialogHint": "إظهار مربع حوار عندما يتوفر تحديث جديد", + "showUpdateDialogHint": "عرض مربع حوار عندما يتوفر تحديث جديد", "universalPatchesLabel": "عرض التعديلات العامة", "universalPatchesHint": "عرض جميع التطبيقات والتعديلات العامة (قد تؤدي إلى إبطاء قائمة التطبيقات)", "versionCompatibilityCheckLabel": "التحقق من توافق الإصدار", @@ -255,11 +255,14 @@ "widgetTitle": "معلومات التطبيق", "openButton": "فتح", "uninstallButton": "إلغاء التثبيت", + "unmountButton": "إلغاء التحميل", "rootDialogTitle": "خطأ", + "unmountDialogText": "هل أنت متأكد أنك تريد إلغاء تحميل هذا التطبيق؟", "uninstallDialogText": "هل أنت متأكد من أنك تريد إلغاء تثبيت هذا التطبيق؟", "rootDialogText": "تم تثبيت التطبيق بأذونات المستخدم المتميز، لكن ReVanced Manager ليس لديه أذونات حاليًا.\nالرجاء منح أذونات المستخدم المتميز أولاً.", "packageNameLabel": "اسم الحُزْمَة", "installTypeLabel": "نوع التثبيت", + "mountTypeLabel": "تحميل", "regularTypeLabel": "عادي", "patchedDateLabel": "تاريخ التعديل", "appliedPatchesLabel": "التعديلات المطبقة", @@ -271,8 +274,8 @@ "widgetTitle": "المساهمون" }, "installErrorDialog": { - "mount_version_mismatch": "نسخة غير متطابقة", - "mount_no_root": "لا توجد صلاحيات روت", + "mount_version_mismatch": "الإصدار غير متطابق", + "mount_no_root": "لا توجد صلاحيات Root", "mount_missing_installation": "التثبيت غير متوفر", "status_failure_blocked": "التثبيت محظور", "install_failed_verification_failure": "فشل التحقق", diff --git a/assets/i18n/strings_bg_BG.i18n.json b/assets/i18n/strings_bg_BG.i18n.json index 559eba54d0..3d5bea0252 100755 --- a/assets/i18n/strings_bg_BG.i18n.json +++ b/assets/i18n/strings_bg_BG.i18n.json @@ -5,13 +5,13 @@ "quitButton": "Изход", "updateButton": "Актуализация", "enabledLabel": "Активирано", - "disabledLabel": "Изключено", + "disabledLabel": "Деактивирано", "installed": "Инсталирана версия: ${version}", "suggested": "Предложена версия: ${version}", "yesButton": "Да", "noButton": "Не", "warning": "Внимание", - "options": "Настроики", + "options": "Опции", "notice": "Известие", "noShowAgain": "Не показвай повече", "add": "Добави", @@ -29,9 +29,22 @@ "updatesSubtitle": "Актуализации", "patchedSubtitle": "Модифицирани приложения", "changeLaterSubtitle": "Можете да промените това в настройките на по-късен етап.", + "noUpdates": "Няма налични актуализации", + "WIP": "В процес на разработка...", "noInstallations": "Няма инсталирани модифицирани приложения", "installUpdate": "Продължете към инсталирането на актуализациите?", + "updateSheetTitle": "Актуализирай ReVanced Manager", + "updateDialogTitle": "Налична е нова актуализация", + "updatePatchesSheetTitle": "Актуализирай ReVanced модификациите", "updateChangelogTitle": "Списък с промени", + "updateDialogText": "Налична е актуализация за ${file}.\n\nНастоящата инсталирана версия е ${version}.", + "downloadConsentDialogTitle": "Да се изтеглят ли необходимите файлове?", + "downloadConsentDialogText": "ReVanced Manager трябва да изтегли необходими файлове, за да работи правилно.", + "downloadConsentDialogText2": "Това ще ви свърже към ${url}.", + "checkUpdateDialogTitle": "Да се провери ли за актуализации?", + "checkUpdateDialogText": "Бихте ли желали ReVanced Manager автоматично да проверява за актуализации?", + "notificationTitle": "Актуализацията е изтеглена", + "notificationText": "Натиснете за да инсталирате актуализацията", "downloadingMessage": "Изтегляне на актуализация...", "downloadedMessage": "Актуализацията е изтеглена", "installingMessage": "Инсталиране на актуализация...", @@ -52,14 +65,19 @@ }, "patcherView": { "widgetTitle": "Модификатор", - "patchButton": "Модифицирайте" + "patchButton": "Модифицирайте", + "armv7WarningDialogText": "Все още не се поддържат модификации за ARMv7 устройства. Продължете въпреки това?", + "removedPatchesWarningDialogText": "Следните модификации са били премахнати след като са били употребени за последно от вас.\n\n${patches}\n\nПродължете въпреки това?", + "requiredOptionDialogText": "Опциите на някои модификации трябва да бъдат зададени." }, "appSelectorCard": { "widgetTitle": "Изберете приложение", "widgetTitleSelected": "Избрани приложения", + "widgetSubtitle": "Няма избрано приложение", "noAppsLabel": "Няма намерени приложения", "currentVersion": "Текуща", - "suggestedVersion": "Препоръчана" + "suggestedVersion": "Препоръчана", + "anyVersion": "Всички версии" }, "patchSelectorCard": { "widgetTitle": "Изберете модификации", @@ -72,11 +90,15 @@ "widgetSubtitle": "Открийте ни онлайн!" }, "appSelectorView": { + "viewTitle": "Изберете приложение", + "searchBarHint": "Търсене на приложение", "storageButton": "Хранилище", "selectFromStorageButton": "Избери от хранилище", "errorMessage": "Избраното приложение не може да се използва", "downloadToast": "Функцията за изтегляне все още не е налична", - "featureNotAvailable": "Функцията не е внедрена" + "requireSuggestedAppVersionDialogText": "Избраната от вас версия на приложението не съответства на препоръчаната версия, което може да доведе до непредвидени проблеми. Моля, използвайте препоръчаната версия.\n\nИзбрана версия: ${selected}\nПрепоръчана версия: ${suggested}\n\nАко желаете да продължите въпреки това, деактивирайте \"Изискване на препоръчана версия на приложението\" в настройките.", + "featureNotAvailable": "Функцията не е внедрена", + "featureNotAvailableText": "Това приложение е разделено APK и не може да бъде актуализирано и инсталирано надеждно, освен ако не бъде монтирано с административни права. Въпреки това, можете да актуализирате и инсталирате цяло APK, като го изберете от хранилището." }, "patchesSelectorView": { "viewTitle": "Изберете модификации", @@ -85,29 +107,54 @@ "newPatches": "Нови модификации", "patches": "Модификации", "doneButton": "Готово", + "defaultChip": "По подразбиране", "defaultTooltip": "Изберете всички модификации по подразбиране", + "noneChip": "Нито една", "noneTooltip": "Отмяна на всички модификации", - "noPatchesFound": "Няма налични модификации за избраното приложение" + "loadPatchesSelection": "Заредете избраните модификации", + "noSavedPatches": "Няма запазени избрани модификации за настоящото приложение.\nНатиснете Готово за да запазите текущия избор.", + "noPatchesFound": "Няма налични модификации за избраното приложение", + "setRequiredOption": "Някои модификации изискват опциите им да бъдат зададени:\n\n${patches}\n\nМоля задайте тези опции преди да продължите." }, "patchOptionsView": { "customValue": "Стойност по избор", + "resetOptionsTooltip": "Нулиране опциите на модификациите", + "viewTitle": "Опции за модификациите", "saveOptions": "Запази", "addOptions": "Добави опции", "deselectPatch": "Отмяна на всички модификации", - "selectFolder": "Изберете папка" + "tooltip": "Повече опции за въвеждане", + "selectFilePath": "Изберете път към файла", + "selectFolder": "Изберете папка", + "selectOption": "Изберете опция", + "requiredOption": "Тази опция е задължителна", + "unsupportedOption": "Тази опция не се поддържа", + "requiredOptionNull": "Следните опции трябва да бъдат зададени:\n\n${options}" }, "patchItem": { - "unsupportedDialogText": "Изборът на тази модификация може да доведе до грешки.\n\nВерсия: ${packageVersion}\nПоддържани версии: ${supportedVersions}" + "unsupportedDialogText": "Изборът на тази модификация може да доведе до грешки.\n\nВерсия: ${packageVersion}\nПоддържани версии: ${supportedVersions}", + "unsupportedPatchVersion": "Модифицирането на избраната версия на приложението не се поддържа.", + "unsupportedRequiredOption": "Настоящата модификация съдържа задължителна опция, която не се поддържа от избраното приложение", + "patchesChangeWarningDialogText": "Препоръчително е да използвате избраните модификации и опции по подразбиране. Всяка промяна може да доведе до неочаквани проблеми.\n\nАко все пак желаете да да промените избраните модификации, първо трябва да изключите \"Позволи промяна в избраните модификации\" от настройките.", + "patchesChangeWarningDialogButton": "Използвайте избора по подразбиране" }, "installerView": { "widgetTitle": "Инсталатор", + "installType": "Изберете вида на инсталацията", + "installTypeDescription": "Изберете с кой вид инсталация да продължите.", "installButton": "Инсталиране", "installRootType": "Монтирай", "installNonRootType": "Нормален", + "warning": "Деактивирайте автоматичните актуализации на модифираното приложение, за да избегнете неочаквани проблеми.", + "pressBackAgain": "Натиснете \"назад\" отново, за да откажете", "openButton": "Отвори", "shareButton": "Сподели файла", "notificationTitle": "ReVanced Мениджър модифицира", "notificationText": "Натиснете за да се върнете при инсталатора", + "exportApkButtonTooltip": "Експортиране на модифицираното APK", + "exportLogButtonTooltip": "Експорт на дневника", + "screenshotDetected": "Беше направена снимка на екрана. Ако се опитвате да споделите дневника, моля направете го в текстов формат.\n\nДа се копира ли дневника в клипборда?", + "copiedToClipboard": "Дневникът беше копиран в клипборда", "noExit": "Инсталаторът все още работи, не може да излезе..." }, "settingsView": { @@ -117,6 +164,7 @@ "debugSectionTitle": "Отстраняване на грешки", "advancedSectionTitle": "Разширени", "exportSectionTitle": "Импортиране и експортиране", + "dataSectionTitle": "Източници на данни", "themeModeLabel": "Тема на приложението", "systemThemeLabel": "Система", "lightThemeLabel": "Светъл", @@ -124,46 +172,98 @@ "dynamicThemeLabel": "Материална Тема", "dynamicThemeHint": "Насладете се на преживяване по-близо до устройството си", "languageLabel": "Език", + "languageUpdated": "Езикът е обновен", "englishOption": "Английски", + "sourcesLabel": "Алтернативни източници", + "sourcesLabelHint": "Конфигурирайте алтернативните източници за ReVanced Patches и ReVanced Integrations", "sourcesIntegrationsLabel": "Източник на интеграциите", + "useAlternativeSources": "Използвайте алтернативни източници", + "useAlternativeSourcesHint": "Използвайте алтернативни източници за ReVanced Patches и ReVanced Integrations вместо тези от ППИ-я (API)", "sourcesResetDialogTitle": "Нулиране", "sourcesResetDialogText": "Искате ли да възстановите източниците до стойностите им по подразбиране?", + "apiURLResetDialogText": "Сигурни ли сте, че искате да възстановите адреса на ППИ (API) до стойността му по подразбиране?", + "sourcesUpdateNote": "Забележка: Това автоматично ще изтегли ReVanced Patches и ReVanced Integrations от алтернативните източници.\n\nТова ще ви свърже с алтернативния източник.", "apiURLLabel": "API линк", + "apiURLHint": "Конфигуриране на URL адреса на ППИ (API) на ReVanced Manager", "selectApiURL": "API линк", "orgPatchesLabel": "Организация на модификациите", "sourcesPatchesLabel": "Източник на модификациите", "orgIntegrationsLabel": "Организация на интеграциите", "contributorsLabel": "Хора, които допринесоха", "contributorsHint": "Списък с хората, допринесли за ReVanced", - "logsLabel": "Сподели логовете", + "logsLabel": "Сподели дневника", + "logsHint": "Споделете дневника на ReVanced Manager", + "enablePatchesSelectionLabel": "Позволи промяна в избраните модификации", + "enablePatchesSelectionHint": "Не предотвратявай избирането или премахването на модификации", + "enablePatchesSelectionWarningText": "Промяната на избора на модификациите може да доведе до неочаквани проблеми.\n\nРазрешавате ли въпреки това?", + "disablePatchesSelectionWarningText": "Предстои да забраните промени в избора на модификации.\nИзбраните модификации по подразбиране ще бъдат възстановени.\n\nЗабранявате ли въпреки това?", + "autoUpdatePatchesLabel": "Автоматична актуализация на модификациите", + "autoUpdatePatchesHint": "Автоматично актуализира модификациите до последната им версия", + "showUpdateDialogLabel": "Показване на диалоговия прозорец за актуализиране", + "showUpdateDialogHint": "Показва диалогов прозорец, когато е налична нова актуализация", "universalPatchesLabel": "Покажи универсални модификации", + "universalPatchesHint": "Показване на всички приложения и универсални пачове (може да забави списъка с приложения)", + "versionCompatibilityCheckLabel": "Проверка на съвместимост на версиите", + "versionCompatibilityCheckHint": "Предотвратява избирането на модификации, които не са съвместими с избраната версия на приложението", + "requireSuggestedAppVersionLabel": "Изискване на препоръчана версия на приложението", + "requireSuggestedAppVersionHint": "Предотвратяване на избора на приложение с версия, която не е препоръчана", + "requireSuggestedAppVersionDialogText": "Избирането на приложение, чиято версия не е препоръчана, може да доведе до неочаквани проблеми.\n\nИскате ли да продължите все пак?", "aboutLabel": "Относно", "snackbarMessage": "Копирано", "restartAppForChanges": "Рестартирайте приложението, за да се приложат промените", "deleteTempDirLabel": "Изтриване на временни файлове", "deleteTempDirHint": "Изтриване на неизползвани временни файлове", "deletedTempDir": "Временните файлове са изтрити", + "exportPatchesLabel": "Експортиране на избраните актуализации", + "exportPatchesHint": "Експортиране на избраните модификации в JSON файл", "exportedPatches": "Избраните модификации са експортирани", "noExportFileFound": "Няма избрани модификации за експортиране", "importPatchesLabel": "Импортиране на избраните модификации", "importPatchesHint": "Импортиране на избраните модификации от JSON файл", "importedPatches": "Избраните модификации са импортирани", - "deletedLogs": "Логовете са изтрити", + "resetStoredPatchesLabel": "Възстановяване на избраните модификации по подразбиране", + "resetStoredPatchesHint": "Нулиране на избраните запазени модификации", + "resetStoredPatchesDialogTitle": "Да се нулират ли избраните модификации?", + "resetStoredPatchesDialogText": "Избраните модификации ще бъдат нулирани.", + "resetStoredPatches": "Избраните модификации бяха нулирани", + "resetStoredOptionsLabel": "Нулиране на избраните модификации", + "resetStoredOptionsHint": "Нулиране на всички избрани опции за модификациите", + "resetStoredOptionsDialogTitle": "Да се нулират ли избраните опции за модификациите?", + "resetStoredOptionsDialogText": "Нулиране на опциите за модификациите ще премахне всички запазени опции.", + "resetStoredOptions": "Опциите бяха нулирани", + "deleteLogsLabel": "Изчистване на дневника", + "deleteLogsHint": "Изтриване на всички дневници, събрани от ReVanced Manager", + "deletedLogs": "Дневникът е изтрит", + "regenerateKeystoreLabel": "Регенериране на keystore-а", + "regenerateKeystoreHint": "Регенериране на keystore-а, който се използва за подписване на приложението", + "regenerateKeystoreDialogTitle": "Да се регенерира ли keystore-а?", + "regenerateKeystoreDialogText": "Модифицираните приложения, подписани със стария keystore, вече няма да могат да бъдат актуализирани.", + "regeneratedKeystore": "Keystore-ът беше регенериран", "exportKeystoreLabel": "Експортирай Keystore-а", + "exportKeystoreHint": "Експортиране на keystore-а, който се използва за подписване на приложенията", "exportedKeystore": "Keystore беше експортиран", "noKeystoreExportFileFound": "Няма Keystore за експортиране", "importKeystoreLabel": "Импортирай Keystore", + "importKeystoreHint": "Импортиране на keystore, който да бъде използван за подписване на приложенията", "importedKeystore": "Keystorе е импортиран", - "jsonSelectorErrorMessage": "Избраният JSON файл не може да се изплозва" + "selectKeystorePassword": "Парола за keystore-а", + "selectKeystorePasswordHint": "Изберете парола за keystore-а, който се използва за подписване на приложенията", + "jsonSelectorErrorMessage": "Избраният JSON файл не може да се изплозва", + "keystoreSelectorErrorMessage": "Избранията keystore файл не може да бъде използва" }, "appInfoView": { "widgetTitle": "Информация за приложението", "openButton": "Отвори", "uninstallButton": "Деинсталирай", + "unmountButton": "Демонтиране", "rootDialogTitle": "Грешка", + "unmountDialogText": "Сигурни ли сте, че искате да демонтирате това приложение?", + "uninstallDialogText": "Сигурни ли сте, че искате да деиснталирате това приложение?", "rootDialogText": "Приложението е инсталирано с superuser разрешения, но в момента ReVanced Manager няма разрешения. Моля, първо дайте superuser разрешения.", "packageNameLabel": "Име на пакета", "installTypeLabel": "Тип инсталация", + "mountTypeLabel": "Монтиране", + "regularTypeLabel": "Нормален", "patchedDateLabel": "Дата на модификацията", "appliedPatchesLabel": "Приложени модификации", "patchedDateHint": "на ${date} в ${time}", @@ -173,5 +273,30 @@ "contributorsView": { "widgetTitle": "Хора, които допринесоха" }, - "installErrorDialog": {} + "installErrorDialog": { + "mount_version_mismatch": "Несъответствие на версиите", + "mount_no_root": "Няма Root достъп", + "mount_missing_installation": "Инсталацията не беше намерене", + "status_failure_blocked": "Инсталацията беше блокирана", + "install_failed_verification_failure": "Проверката беше неуспешна", + "status_failure_invalid": "Инсталацията е невалидна", + "install_failed_version_downgrade": "Версията не може да бъде понижена", + "status_failure_conflict": "Имаше конфликт по време на инсталацията", + "status_failure_storage": "Имаше проблем с хранилището по време на инсталацията", + "status_failure_incompatible": "Инсталацията е несъвместима", + "status_failure_timeout": "Настъпи таймаут по време на инсталацията", + "status_unknown": "Инсталацията беше неуспешна", + "mount_version_mismatch_description": "Инсталацията се провали поради това, че инсталираното приложение е с различна версия от тази на модифицираното приложение.\n\nИнсталирайте версията на приложението, което монтирате, и опитайте отново.", + "mount_no_root_description": "Инсталацията се провали поради липса на Root достъп.\n\nМоля позволете Root достъп на ReVanced Manager и опитайте отново.", + "mount_missing_installation_description": "Инсталацията се провали поради това, че немодифицираното приложение не е инсталирано на това устройство, за да може да се монтира върху него.\n\nИнсталирайте неподправеното приложение, преди да го монтирате, и опитайте отново.", + "status_failure_timeout_description": "Инсталацията отне твърде много време.\n\nИскате ли да опитате отново?", + "status_failure_storage_description": "Инсталацията се провали поради недостатъчно място в хранилището.\n\nОсвободете малко място и опитайте отново.", + "status_failure_invalid_description": "Инсталацията се провали поради невалидност на модифицираното приложение.\n\nДеинсталирайте приложението и опитайте отново?", + "status_failure_incompatible_description": "Приложението е несъвместимо с това устройство.\n\nСвържете се с разработчика на приложението и поискайте поддръжка.", + "status_failure_conflict_description": "Инсталацията беше възпрепятствана от съществуваща инсталация на това приложение.\n\nДеинсталирайте инсталираното приложение и опитайте отново?", + "status_failure_blocked_description": "Инсталацията беше блокирана от ${packageName}.\n\nПроменете настройките си за сигурност и опитайте отново.", + "install_failed_verification_failure_description": "Инсталацията се провали поради проблем с проверката.\n\nПроменете настройките си за сигурност и опитайте отново.", + "install_failed_version_downgrade_description": "Инсталацията се провали поради това, че модифицираното приложение е с по-ниска версия от инсталираното приложение.\n\nДеинсталирайте приложението и опитайте отново?", + "status_unknown_description": "Инсталацията не е успешна поради неизвестна причина. Моля, опитайте отново." + } } \ No newline at end of file diff --git a/assets/i18n/strings_bn_BD.i18n.json b/assets/i18n/strings_bn_BD.i18n.json index 3d0bba7a60..79bf487440 100755 --- a/assets/i18n/strings_bn_BD.i18n.json +++ b/assets/i18n/strings_bn_BD.i18n.json @@ -290,6 +290,13 @@ "mount_no_root_description": "রুট প্রবেশাধিকারের অনুমতি না দেয়ার কারণে ইনস্টলেশন ব্যর্থ হয়েছে।\n\nReVanced Manager এর রুট প্রবেশাধিকার অনুমতি দিন এবং আবার চেষ্টা করুন।", "mount_missing_installation_description": "এটির উপর মাউন্ট করার জন্য এই ডিভাইসে আনপ্যাচড অ্যাপ ইনস্টল না হওয়ার কারণে ইনস্টলেশন ব্যর্থ হয়েছে.\n\nমাউন্ট করার আগে আনপ্যাচড অ্যাপ ইনস্টল করুন এবং আবার চেষ্টা করুন.", "status_failure_timeout_description": "ইন্সটলেশন শেষ হতে অনেক সময় লেগেছে.\n\nআপনি আবার চেষ্টা করতে চান?", - "status_failure_storage_description": "অপর্যাপ্ত সঞ্চয়স্থানের কারণে ইনস্টলেশন ব্যর্থ হয়েছে.\n\nকিছু জায়গা খালি করুন এবং আবার চেষ্টা করুন." + "status_failure_storage_description": "অপর্যাপ্ত সঞ্চয়স্থানের কারণে ইনস্টলেশন ব্যর্থ হয়েছে.\n\nকিছু জায়গা খালি করুন এবং আবার চেষ্টা করুন.", + "status_failure_invalid_description": "প্যাচ করা অ্যাপটি অবৈধ হওয়ার কারণে ইনস্টলেশন ব্যর্থ হয়েছে.\n\nঅ্যাপটি আনইনস্টল করে আবার চেষ্টা করবেন?", + "status_failure_incompatible_description": "অ্যাপটি এই ডিভাইসের সাথে বেমানান.\n\nঅ্যাপের বিকাশকারীর সাথে যোগাযোগ করুন এবং সহায়তার জন্য জিজ্ঞাসা করুন.", + "status_failure_conflict_description": "ইনস্টলেশনটি অ্যাপটির বিদ্যমান ইনস্টলেশন দ্বারা প্রতিরোধ করা হয়েছে.\n\nইনস্টল করা অ্যাপটি আনইনস্টল করে আবার চেষ্টা করবেন?", + "status_failure_blocked_description": "ইনস্টলেশনটি ${packageName} দ্বারা ব্লক করা হয়েছে.\n\nআপনার নিরাপত্তা সেটিংস সামঞ্জস্য করুন এবং আবার চেষ্টা করুন.", + "install_failed_verification_failure_description": "একটি যাচাইকরণ সমস্যার কারণে ইনস্টলেশন ব্যর্থ হয়েছে.\n\nআপনার নিরাপত্তা সেটিংস সামঞ্জস্য করুন এবং আবার চেষ্টা করুন.", + "install_failed_version_downgrade_description": "প্যাচ করা অ্যাপ ইনস্টল করা অ্যাপের চেয়ে কম সংস্করণ হওয়ায় ইনস্টলেশন ব্যর্থ হয়েছে.\n\nঅ্যাপটি আনইনস্টল করে আবার চেষ্টা করবেন?", + "status_unknown_description": "একটি অজানা কারণে ইনস্টলেশন ব্যর্থ হয়েছে. অনুগ্রহপূর্বক আবার চেষ্টা করুন." } } \ No newline at end of file diff --git a/assets/i18n/strings_cs_CZ.i18n.json b/assets/i18n/strings_cs_CZ.i18n.json index e0a71066fb..55149c7d9d 100755 --- a/assets/i18n/strings_cs_CZ.i18n.json +++ b/assets/i18n/strings_cs_CZ.i18n.json @@ -97,7 +97,8 @@ "errorMessage": "Vybranou aplikaci nelze použít", "downloadToast": "Funkce stahování zatím není dostupná", "requireSuggestedAppVersionDialogText": "Vybraná verze aplikace se neshoduje s navrhovanou verzí, což může vést k neočekávaným problémům. Prosím použijte navrhovanou verzi.\n\nVybraná verze: ${selected}\nNavrhovaná verze: ${suggested}\n\nChcete-li přesto pokračovat, zakažte v nastavení \"Vyžadovat navrhovanou verzi aplikace\".", - "featureNotAvailable": "Funkce není implementována" + "featureNotAvailable": "Funkce není implementována", + "featureNotAvailableText": "Tato aplikace je rozdělená APK a může být spolehlivě nainstalována pouze připojením oprávnění root. Nicméně, můžete opravit a nainstalovat plnou APK výběrem z úložiště." }, "patchesSelectorView": { "viewTitle": "Vybrat patche", @@ -111,7 +112,9 @@ "noneChip": "Žádné", "noneTooltip": "Zrušit výběr všech patchů", "loadPatchesSelection": "Načíst výběr záplat", - "noPatchesFound": "Pro vybranou aplikaci nebyly nalezeny žádné záplaty" + "noSavedPatches": "Žádný uložený výběr patch pro vybranou aplikaci.\nStisknutím Dokončeno uložíte aktuální výběr.", + "noPatchesFound": "Pro vybranou aplikaci nebyly nalezeny žádné záplaty", + "setRequiredOption": "Některé záplaty vyžadují nastavení:\n\n${patches}\n\nPřed pokračováním je prosím nastavte." }, "patchOptionsView": { "customValue": "Vlastní hodnota", @@ -130,17 +133,26 @@ }, "patchItem": { "unsupportedDialogText": "Výběrem této záplaty může dojít k chybám.\n\nVerze aplikace: ${packageVersion}\nAktuálně podporované verze:\n${supportedVersions}", - "unsupportedPatchVersion": "Záplata není podporována touto verzí aplikace." + "unsupportedPatchVersion": "Záplata není podporována touto verzí aplikace.", + "unsupportedRequiredOption": "Tato oprava obsahuje požadovanou volbu, která není touto aplikací podporována", + "patchesChangeWarningDialogText": "Doporučuje se použít výchozí záplatový výběr a možnosti. Změna může vést k neočekávaným problémům.\n\nPřed změnou jakéhokoli výběru patch budete muset zapnout \"Povolit změnu výběru patch\" v nastavení.", + "patchesChangeWarningDialogButton": "Použít výchozí výběr" }, "installerView": { "widgetTitle": "Instalátor", "installType": "Zvolte instalační typ", + "installTypeDescription": "Vyberte typ instalace pro pokračování.", "installButton": "Instalovat", + "installRootType": "Připojit", "installNonRootType": "Běžný", + "warning": "Zakažte automatické aktualizace upravené aplikace, abyste se vyhnuli neočekávaným problémům.", + "pressBackAgain": "Stiskněte znovu pro zrušení", "openButton": "Otevřít", "shareButton": "Sdílet soubor", "notificationTitle": "ReVanced Manager patchuje", "notificationText": "Klepnutím se vrátíte do instalátoru", + "exportApkButtonTooltip": "Exportovat upravený APK", + "exportLogButtonTooltip": "Exportovat protokol", "screenshotDetected": "Byl zjištěn snímek obrazovky. Pokud se pokoušíte sdílet záznam, sdílejte prosím textovou kopii.\n\nKopírovat záznam do schránky?", "copiedToClipboard": "Záznamy byly zkopírovány do schránky", "noExit": "Instalační program je stále spuštěn, nelze ukončit..." @@ -149,18 +161,31 @@ "widgetTitle": "Nastavení", "appearanceSectionTitle": "Vzhled", "teamSectionTitle": "Tým", + "debugSectionTitle": "Ladění", "advancedSectionTitle": "Pokročilé", "exportSectionTitle": "Import a export", + "dataSectionTitle": "Zdroje údajů", "themeModeLabel": "Vzhled aplikace", "systemThemeLabel": "Systém", "lightThemeLabel": "Světlý", "darkThemeLabel": "Tmavý motiv", + "dynamicThemeLabel": "Váš materiál", "dynamicThemeHint": "Vychutnejte si zážitek blíže k vašemu zařízení", "languageLabel": "Jazyk", "languageUpdated": "Jazyk aktualizován", "englishOption": "Angličtina", + "sourcesLabel": "Alternativní zdroje", + "sourcesLabelHint": "Konfigurace alternativních zdrojů pro vylepšené úpravy a zdokonalené integrace", "sourcesIntegrationsLabel": "Zdroj integrace", + "useAlternativeSources": "Použít alternativní zdroje", + "useAlternativeSourcesHint": "Použít alternativní zdroje pro vylepšené úpravy a vylepšené integrace namísto API", "sourcesResetDialogTitle": "Obnovit", + "sourcesResetDialogText": "Jste si jisti, že chcete obnovit zdroje na jejich výchozí hodnoty?", + "apiURLResetDialogText": "Jste si jisti, že chcete resetovat URL API na výchozí hodnotu?", + "sourcesUpdateNote": "Poznámka: Toto automaticky stáhne reVanced Patches and ReVanced Integrations z alternativních zdrojů.\n\nToto vás připojí k alternativnímu zdroji.", + "apiURLLabel": "API URL", + "apiURLHint": "Konfigurace URL API ReVanced Manager", + "selectApiURL": "API URL", "orgPatchesLabel": "Organizace patchů", "sourcesPatchesLabel": "Zdroj patchů", "orgIntegrationsLabel": "Autor integrace", @@ -168,7 +193,20 @@ "contributorsHint": "Seznam přispěvatelů ReVanced", "logsLabel": "Sdílet záznamy", "logsHint": "Sdílet záznamy Revanced Manageru", + "enablePatchesSelectionLabel": "Povolit změnu výběru patch", + "enablePatchesSelectionHint": "Nezabraňte výběru nebo odebírání záplatek", + "enablePatchesSelectionWarningText": "Změna výběru záplatů může způsobit neočekávané problémy.\n\nPřesto povolit?", + "disablePatchesSelectionWarningText": "Chystáte se zakázat změnu výběru záplat.\nVýchozí výběr záplatů bude obnoven.\n\npřesto zakázat?", + "autoUpdatePatchesLabel": "Automaticky aktualizovat záplaty", + "autoUpdatePatchesHint": "Automaticky aktualizovat záplaty na nejnovější verzi", + "showUpdateDialogLabel": "Zobrazit dialogové okno aktualizace", + "showUpdateDialogHint": "Zobrazit dialogové okno, když je dostupná nová aktualizace", + "universalPatchesLabel": "Zobrazit univerzální záplaty", + "universalPatchesHint": "Zobrazit všechny aplikace a univerzální záplaty (může zpomalit seznam aplikací)", "versionCompatibilityCheckLabel": "Kontrola kompatibility verzí", + "versionCompatibilityCheckHint": "Zabránit výběru záplat, které nejsou kompatibilní s vybranou verzí aplikace", + "requireSuggestedAppVersionLabel": "Vyžadovat navrhovanou verzi aplikace", + "requireSuggestedAppVersionHint": "Zabránit výběru aplikace s verzí, která není navržena", "requireSuggestedAppVersionDialogText": "Vybrání aplikace s verzí, která není doporčena může způsobit nečekané problémy.\n\nChcete přesto pokračovat?", "aboutLabel": "O aplikaci", "snackbarMessage": "Zkopírováno do schránky", @@ -176,25 +214,55 @@ "deleteTempDirLabel": "Odstranit dočasné soubory", "deleteTempDirHint": "Odstranit nepoužívané dočasné soubory", "deletedTempDir": "Dočasné soubory byly smazány", + "exportPatchesLabel": "Exportovat záplatu", + "exportPatchesHint": "Exportovat výběr patch do souboru JSON", + "exportedPatches": "Výběr patch exportován", + "noExportFileFound": "Není vybrána žádná oprava k exportu", + "importPatchesLabel": "Importovat výběr patch", + "importPatchesHint": "Importovat výběr patch ze souboru JSON", + "importedPatches": "Výběr patch importován", + "resetStoredPatchesLabel": "Resetovat výběr opravy", + "resetStoredPatchesHint": "Resetovat uloženou opravu", + "resetStoredPatchesDialogTitle": "Obnovit výběr patche?", + "resetStoredPatchesDialogText": "Výchozí výběr záplatů bude obnoven.", + "resetStoredPatches": "Výběr patch byl obnoven", + "resetStoredOptionsLabel": "Resetovat možnosti opravy", + "resetStoredOptionsHint": "Obnovit všechny možnosti opravy", + "resetStoredOptionsDialogTitle": "Obnovit možnosti oprav?", + "resetStoredOptionsDialogText": "Obnovení možností opravy odstraní všechny uložené možnosti.", "resetStoredOptions": "Možnosti byly resetovány", "deleteLogsLabel": "Vymazat záznamy", "deleteLogsHint": "Odstranit shromážděné záznamy ReVanced Manageru", "deletedLogs": "Záznamy byly smazány", + "regenerateKeystoreLabel": "Obnovit úložiště klíčů", + "regenerateKeystoreHint": "Znovu vygenerovat úložiště klíčů používané k podpisu aplikací", + "regenerateKeystoreDialogTitle": "Obnovit úložiště klíčů?", + "regenerateKeystoreDialogText": "Upravené aplikace podepsané staré úložiště klíčů již nebudou moci být aktualizovány.", + "regeneratedKeystore": "Obnovena úložiště klíčů", "exportKeystoreLabel": "Exportovat úložiště klíčů", + "exportKeystoreHint": "Exportovat úložiště klíčů používané k podpisu aplikací", "exportedKeystore": "Úložiště klíčů exportováno", "noKeystoreExportFileFound": "Žádný úložiště klíčů k exportu", "importKeystoreLabel": "Importovat úložiště klíčů", + "importKeystoreHint": "Importovat úložiště klíčů používané k podpisu aplikací", "importedKeystore": "Úložiště klíčů importováno", - "jsonSelectorErrorMessage": "Vybraný JSON soubor nelze použít" + "selectKeystorePassword": "Heslo úložiště klíčů", + "selectKeystorePasswordHint": "Vyberte heslo úložiště klíčů použité k podpisu aplikací", + "jsonSelectorErrorMessage": "Vybraný JSON soubor nelze použít", + "keystoreSelectorErrorMessage": "Nelze použít vybraný soubor úložiště klíčů" }, "appInfoView": { "widgetTitle": "Informace o aplikaci", "openButton": "Otevřít", "uninstallButton": "Odinstalovat", + "unmountButton": "Odpojit", "rootDialogTitle": "Chyba", + "unmountDialogText": "Opravdu chcete odpojit tuto aplikaci?", + "uninstallDialogText": "Opravdu chcete odinstalovat tuto aplikaci?", "rootDialogText": "Aplikace byla nainstalována s oprávněním superuser, ale aktuálně ReVanced Manager nemá žádná oprávnění.\nProsím nejprve udělte oprávnění superuser.", "packageNameLabel": "Název balíčku", "installTypeLabel": "Typ instalace", + "mountTypeLabel": "Připojit", "regularTypeLabel": "Běžný", "patchedDateLabel": "Datum patchování", "appliedPatchesLabel": "Použité patche", @@ -207,16 +275,25 @@ }, "installErrorDialog": { "mount_version_mismatch": "Verse neshodná", + "mount_no_root": "Žádný root přístup", "mount_missing_installation": "Instalace nebyla nalezena", "status_failure_blocked": "Instalace blokovaná", "install_failed_verification_failure": "Ověření selhalo", "status_failure_invalid": "Instalace neplatná", + "install_failed_version_downgrade": "Nelze ponížit", + "status_failure_conflict": "Konflikt instalace", "status_failure_storage": "Instalace má problém s uložistěm", + "status_failure_incompatible": "Instalace není kompatibilní", "status_failure_timeout": "Instalaci vypršel čas", "status_unknown": "Instalace selhala", + "mount_version_mismatch_description": "Instalace se nezdařila kvůli tomu, že nainstalovaná aplikace je jinou verzí než upravená aplikace.\n\nNainstalujte verzi aplikace, kterou připojujete a zkuste to znovu.", "mount_no_root_description": "Instalace selhala, protože oprávněni root nebyly udělené.\n\nDejte Revanced Manageru oprávnění root a zkuste znovu.", + "mount_missing_installation_description": "Instalace se nezdařila z důvodu neopravené aplikace pro připojení na toto zařízení.\n\nNainstalujte si neupravenou aplikaci před připojením a zkuste to znovu.", + "status_failure_timeout_description": "Dokončení instalace trvalo příliš dlouho.\n\nChcete to zkusit znovu?", "status_failure_storage_description": "Instalace selhala kvůli nedostatku místa v uložisti.\n\nUvolňete místo a zkuste znovu.", + "status_failure_invalid_description": "Instalace se nezdařila, protože patchnutá aplikace je neplatná.\n\nOdinstalovat tuto aplikaci a zkusit znovu?", "status_failure_incompatible_description": "Aplikace není kompatibilní s tímto zařízením.\n\nKontaktujte vývojáře aplikace a požádejte o podporu.", + "status_failure_conflict_description": "Instalace byla zabráněna existující instalací aplikace.\n\nOdinstalovat nainstalovanou aplikaci a zkuste to znovu?", "status_failure_blocked_description": "Instalace byla zablokována ${packageName}.\n\nUpravte nastavení zabezpečení a zkute to znovu.", "install_failed_verification_failure_description": "Instalace se nezdařila kvůli problému s ověřováním.\n\nUpravte nastavení zabezpečení a zkuste to znovu.", "install_failed_version_downgrade_description": "Instalace se nezdařila kvůli tomu, že již nainstalovaná verze je novější.\n\nOdinstalovat tuto aplikaci a zkusit znovu?", diff --git a/assets/i18n/strings_da_DK.i18n.json b/assets/i18n/strings_da_DK.i18n.json index f18f22583c..2ccaa87845 100755 --- a/assets/i18n/strings_da_DK.i18n.json +++ b/assets/i18n/strings_da_DK.i18n.json @@ -1,7 +1,11 @@ { + "okButton": "OK", "cancelButton": "Afbryd", + "dismissButton": "Luk", "quitButton": "Luk", "updateButton": "Opdatér", + "enabledLabel": "Aktiveret", + "disabledLabel": "Deaktiveret", "installed": "Installeret: ${version}", "suggested": "Foreslået: ${version}", "yesButton": "Ja", @@ -12,8 +16,11 @@ "noShowAgain": "Vis ikke igen", "add": "Tilføj", "remove": "Fjern", + "showChangelogButton": "Vis ændringslog", + "showUpdateButton": "Vis opdatering", "navigationView": { "dashboardTab": "Oversigt", + "patcherTab": "Patcher", "settingsTab": "Indstillinger" }, "homeView": { @@ -21,10 +28,25 @@ "widgetTitle": "Oversigt", "updatesSubtitle": "Opdateringer", "patchedSubtitle": "Patchede applikationer", + "changeLaterSubtitle": "Du kan ændre dette i indstillingerne senere.", + "noUpdates": "Ingen tilgængelige opdateringer", + "WIP": "Arbejdet er i gang...", "noInstallations": "Ingen patchede apps installeret", "installUpdate": "Fortsæt med at installere opdateringen?", + "updateSheetTitle": "Opdater ReVanced Manager", + "updateDialogTitle": "Ny opdatering tilgængelig", + "updatePatchesSheetTitle": "Opdater ReVanced Patches", "updateChangelogTitle": "Ændringslog", + "updateDialogText": "En ny opdatering er tilgængelig for ${file}.\n\nDen installerede version er ${version}.", + "downloadConsentDialogTitle": "Download nødvendige filer?", + "downloadConsentDialogText": "ReVanced Manager har brug for at downloade nødvendige filer for at fungere korrekt.", + "downloadConsentDialogText2": "Dette vil forbinde dig til ${url}.", + "checkUpdateDialogTitle": "Søg efter opdateringer?", + "checkUpdateDialogText": "Ønsker du at ReVanced Manager skal søge efter opdateringer automatisk?", + "notificationTitle": "Opdatering downloadet", + "notificationText": "Tryk for at installere opdateringen", "downloadingMessage": "Henter opdatering...", + "downloadedMessage": "Opdatering downloadet", "installingMessage": "Installerer opdatering...", "errorDownloadMessage": "Opdatering kan ikke hentes", "errorInstallMessage": "Opdatering kunne ikke installeres", @@ -36,15 +58,26 @@ }, "latestCommitCard": { "loadingLabel": "Indlæser...", - "timeagoLabel": "${time} siden" + "timeagoLabel": "${time} siden", + "patcherLabel": "Patcher: ", + "managerLabel": "Manager: ", + "updateButton": "Opdater Manager" }, "patcherView": { + "widgetTitle": "Patcher", + "patchButton": "Patch", + "armv7WarningDialogText": "Patching på ARMv7-enheder understøttes ikke endnu, og kan derfor fejle. Fortsæt alligevel?", + "removedPatchesWarningDialogText": "Følgende patches er blevet fjernet siden sidste gang du brugte dem.\n\n${patches}\n\nFortsæt alligevel?", "requiredOptionDialogText": "Nogle patch muligheder skal indstilles." }, "appSelectorCard": { + "widgetTitle": "Vælg en app", + "widgetTitleSelected": "Valgte app", + "widgetSubtitle": "Ingen app valgt", "noAppsLabel": "Ingen applikationer fundet", "currentVersion": "Nuværende", - "suggestedVersion": "Anbefalet" + "suggestedVersion": "Anbefalet", + "anyVersion": "Enhver version" }, "patchSelectorCard": { "widgetTitle": "Vælg patches", @@ -57,19 +90,26 @@ "widgetSubtitle": "Vi er online!" }, "appSelectorView": { + "viewTitle": "Vælg en app", + "searchBarHint": "Søg efter app", "storageButton": "Lager", "selectFromStorageButton": "Vælg fra lager", "errorMessage": "Kunne ikke bruge valgte applikation", "downloadToast": "Download-funktionen er ikke tilgængelig endnu", - "featureNotAvailable": "Funktion ikke implementeret" + "requireSuggestedAppVersionDialogText": "Versionen af den valgte app matcher ikke den foreslåede version, som kan føre til uventede problemer. Brug venligst den foreslåede version.\n\nValgt version: ${selected}\nForeslået version: ${suggested}\n\nFor at fortsætte alligevel, deaktiver \"Kræv foreslået app-version\" i indstillingerne.", + "featureNotAvailable": "Funktion ikke implementeret", + "featureNotAvailableText": "Denne app er en split APK og kan kun patches og installeres pålideligt ved montering med root-tilladelser. Du kan dog patche og installere en fuld APK ved at vælge det fra lager." }, "patchesSelectorView": { "viewTitle": "Vælg patches", "searchBarHint": "Søg efter patches", "universalPatches": "Universelle patches", "newPatches": "Nye patches", + "patches": "Patches", "doneButton": "Udført", + "defaultChip": "Standard", "defaultTooltip": "Vælg alle standard patches", + "noneChip": "Ingen", "noneTooltip": "Fravælg alle patches", "loadPatchesSelection": "Indlæs patch valg", "noSavedPatches": "Ingen gemte patches til den valgte app.\nTryk på Udført for at gemme det aktuelle valg.", @@ -86,21 +126,29 @@ "tooltip": "Flere input-indstillinger", "selectFilePath": "Vælg fil sti", "selectFolder": "Vælg mappe", + "selectOption": "Vælg indstilling", "requiredOption": "Denne indstilling er påkrævet", "unsupportedOption": "Denne indstilling understøttes ikke", "requiredOptionNull": "Følgende indstillinger skal indstilles:\n\n${options}" }, "patchItem": { "unsupportedDialogText": "Valg af denne patch kan medføre patching-fejl.\n\nApp version: ${packageVersion}\nUnderstøttede versioner:\n${supportedVersions}", + "unsupportedPatchVersion": "Patch er ikke understøttet i denne app-version.", "unsupportedRequiredOption": "Denne patch indeholder en nødvendig mulighed, der ikke understøttes af denne app", + "patchesChangeWarningDialogText": "Det anbefales at bruge standard patchvalg og indstillinger. Ændring af dem kan resultere i uventede problemer.\n\nDu skal aktivere \"Tillad ændring af patchvalg\" i indstillinger, før du ændrer et patchvalg.", "patchesChangeWarningDialogButton": "Brug standardvalg" }, "installerView": { + "widgetTitle": "Installationsprogram", "installType": "Vælg installationstype", + "installTypeDescription": "Vælg den installationstype der skal fortsættes med.", "installButton": "Installér", "installRootType": "Montér", + "installNonRootType": "Almindelig", + "warning": "Deaktiver automatiske opdateringer til den patchede app for at undgå uventede problemer.", "pressBackAgain": "Tryk tilbage igen for at annullere", "openButton": "Åbn", + "shareButton": "Del fil", "notificationTitle": "ReVanced Manager patcher", "notificationText": "Tryk for at gå tilbage til installationsprogrammet", "exportApkButtonTooltip": "Eksporter patched APK", @@ -116,16 +164,28 @@ "debugSectionTitle": "Fejlfinding", "advancedSectionTitle": "Avanceret", "exportSectionTitle": "Import & eksport", + "dataSectionTitle": "Datakilder", "themeModeLabel": "App tema", + "systemThemeLabel": "System", "lightThemeLabel": "Lyst", "darkThemeLabel": "Mørk tilstand", "dynamicThemeLabel": "Materiale Dig", "dynamicThemeHint": "Nyd en oplevelse tættere på din enhed", "languageLabel": "Sprog", + "languageUpdated": "Sprog opdateret", + "englishOption": "Engelsk", + "sourcesLabel": "Alternative kilder", + "sourcesLabelHint": "Konfigurer de alternative kilder til ReVanced Patches og ReVanced Integrations", "sourcesIntegrationsLabel": "Kilde til Integrationer", + "useAlternativeSources": "Brug alternative kilder", + "useAlternativeSourcesHint": "Brug alternative kilder til ReVanced Patches og ReVanced Integrations i stedet for API'en", "sourcesResetDialogTitle": "Nulstil", "sourcesResetDialogText": "Er du sikker på, at du vil nulstille dine kilder til deres standardværdier?", "apiURLResetDialogText": "Er du sikker på, at du vil nulstille API URL til dens standardværdi?", + "sourcesUpdateNote": "Bemærk: Dette vil automatisk downloade ReVanced Patches og ReVanced Integrations fra de alternative kilder.\n\nDette vil forbinde dig til den alternative kilde.", + "apiURLLabel": "API URL", + "apiURLHint": "Konfigurer API-URL'en til ReVanced Manager", + "selectApiURL": "API URL", "orgPatchesLabel": "Organisation for Patches", "sourcesPatchesLabel": "Kilde til Patches", "orgIntegrationsLabel": "Organisation for Integrationer", @@ -134,13 +194,20 @@ "logsLabel": "Del logs", "logsHint": "Del ReVanced Manager logs", "enablePatchesSelectionLabel": "Tillad skift af patch valg", + "enablePatchesSelectionHint": "Forhindrer ikke valg eller fravalg af patches", "enablePatchesSelectionWarningText": "Ændring af valg af patches kan forårsage uventede problemer.\n\nAktiver alligevel?", "disablePatchesSelectionWarningText": "Du er ved at deaktivere ændring af valg af patches.\nStandard valg af patches vil blive gendannet.\n\nDeaktiver alligevel?", "autoUpdatePatchesLabel": "Opdatér patches automatisk", "autoUpdatePatchesHint": "Opdater automatisk patches til den seneste version", + "showUpdateDialogLabel": "Vis opdateringsdialog", + "showUpdateDialogHint": "Vis en dialog når en ny opdatering er tilgængelig", "universalPatchesLabel": "Vis universelle patches", "universalPatchesHint": "Vis alle apps og universelle patches (kan forsinke listen over apps)", "versionCompatibilityCheckLabel": "Versions kompatibilitetskontrol", + "versionCompatibilityCheckHint": "Forhindre valg af patches der ikke er kompatible med den valgte app-version", + "requireSuggestedAppVersionLabel": "Kræv foreslået app-version", + "requireSuggestedAppVersionHint": "Undgå at vælge en app med en version der ikke er den foreslåede", + "requireSuggestedAppVersionDialogText": "Hvis du vælger en app der ikke er den foreslåede version kan det forårsage uventede problemer. \n\nVil du fortsætte alligevel?", "aboutLabel": "Om", "snackbarMessage": "Kopieret til udklipsholder", "restartAppForChanges": "Genstart appen for at anvende ændringer", @@ -188,10 +255,15 @@ "widgetTitle": "Appinfo", "openButton": "Åbn", "uninstallButton": "Afinstallér", + "unmountButton": "Afmonter", "rootDialogTitle": "Fejl", + "unmountDialogText": "Er du sikker på, at du vil afmontere denne app?", + "uninstallDialogText": "Er du sikker på, at du vil afinstallere denne app?", "rootDialogText": "App blev installeret med superbruger tilladelser, men i øjeblikket har ReVanced Manager ingen tilladelser.\nGiv superbruger tilladelser først.", "packageNameLabel": "Pakkenavn", "installTypeLabel": "Installationstype", + "mountTypeLabel": "Montér", + "regularTypeLabel": "Almindelig", "patchedDateLabel": "Dato for patching", "appliedPatchesLabel": "Anvendte patches", "patchedDateHint": "${date} kl. ${time}", @@ -201,5 +273,30 @@ "contributorsView": { "widgetTitle": "Medvirkende" }, - "installErrorDialog": {} + "installErrorDialog": { + "mount_version_mismatch": "Versionsmatch inkonsistens", + "mount_no_root": "Ingen rod-adgang", + "mount_missing_installation": "Installation ikke fundet", + "status_failure_blocked": "Installation blokeret", + "install_failed_verification_failure": "Bekræftelse mislykkedes", + "status_failure_invalid": "Installation ugyldig", + "install_failed_version_downgrade": "Kan ikke nedgradere", + "status_failure_conflict": "Installation konflikt", + "status_failure_storage": "Problemer med installationslagring", + "status_failure_incompatible": "Installation inkompatibel", + "status_failure_timeout": "Tidsudløb for installation", + "status_unknown": "Installation mislykkedes", + "mount_version_mismatch_description": "Installationen mislykkedes, fordi den installerede app er en anden version end den lappede app.\n\nInstaller versionen af den app, du monterer og prøv igen.", + "mount_no_root_description": "Installationen mislykkedes, fordi root-adgang ikke blev givet.\n\nTildel root-adgang til ReVanced Manager og prøv igen.", + "mount_missing_installation_description": "Installationen mislykkedes, fordi den unpatched app ikke blev installeret på denne enhed for at montere over den.\n\nInstaller den unpatched app før du monterer og prøv igen.", + "status_failure_timeout_description": "Installationen tog for lang tid at afslutte.\n\nVil du prøve igen?", + "status_failure_storage_description": "Installationen mislykkedes på grund af utilstrækkelig opbevaring.\n\nFrigør lidt plads og prøv igen.", + "status_failure_invalid_description": "Installationen mislykkedes på grund af den programrettede app er ugyldig.\n\nAfinstaller app'en og prøv igen?", + "status_failure_incompatible_description": "Appen er inkompatibel med denne enhed.\n\nKontakt udvikleren af appen og bed om support.", + "status_failure_conflict_description": "Installationen blev forhindret af en eksisterende installation af appen.\n\nAfinstaller den installerede app og prøv igen?", + "status_failure_blocked_description": "Installationen blev blokeret af ${packageName}.\n\nJuster dine sikkerhedsindstillinger og prøv igen.", + "install_failed_verification_failure_description": "Installationen mislykkedes på grund af et bekræftelsesproblem.\n\nJuster dine sikkerhedsindstillinger og prøv igen.", + "install_failed_version_downgrade_description": "Installationen mislykkedes, fordi den lappede app er en lavere version end den installerede app.\n\nAfinstaller app'en og prøv igen?", + "status_unknown_description": "Installationen mislykkedes på grund af en ukendt årsag. Prøv venligst igen." + } } \ No newline at end of file diff --git a/assets/i18n/strings_es_AR.i18n.json b/assets/i18n/strings_es_AR.i18n.json index b4163fb541..4dd4a11934 100755 --- a/assets/i18n/strings_es_AR.i18n.json +++ b/assets/i18n/strings_es_AR.i18n.json @@ -59,7 +59,7 @@ "latestCommitCard": { "loadingLabel": "Cargando...", "timeagoLabel": "Hace ${time}", - "patcherLabel": "Patcher: ", + "patcherLabel": "Parcheador: ", "managerLabel": "Manager: ", "updateButton": "Actualizar Manager" }, diff --git a/assets/i18n/strings_es_MX.i18n.json b/assets/i18n/strings_es_MX.i18n.json index e15d0e3236..14e249fdf5 100755 --- a/assets/i18n/strings_es_MX.i18n.json +++ b/assets/i18n/strings_es_MX.i18n.json @@ -41,7 +41,7 @@ "downloadConsentDialogTitle": "¿Descargar archivos necesarios?", "downloadConsentDialogText": "ReVanced Manager necesita descargar los archivos necesarios para funcionar correctamente.", "downloadConsentDialogText2": "Esto te conectará a ${url}.", - "checkUpdateDialogTitle": "Comprobar actualizaciones", + "checkUpdateDialogTitle": "¿Buscar actualizaciones?", "checkUpdateDialogText": "¿Quieres que ReVanced Manager compruebe si hay actualizaciones automáticamente?", "notificationTitle": "Actualización descargada", "notificationText": "Toca para instalar la actualización", @@ -91,14 +91,14 @@ }, "appSelectorView": { "viewTitle": "Seleccionar una aplicación", - "searchBarHint": "Buscar...", + "searchBarHint": "Buscar app", "storageButton": "Almacenamiento", "selectFromStorageButton": "Seleccionar desde almacenamiento", "errorMessage": "No se puede usar la aplicación seleccionada", "downloadToast": "La función de descarga aún no está disponible", "requireSuggestedAppVersionDialogText": "La versión de la aplicación que has seleccionado no coincide con la versión sugerida, lo que podría causar errores inesperados. Por favor, utiliza la versión sugerida.\n\nVersión seleccionada: ${selected}\nVersión sugerida: ${suggested}\n\nPara continuar de todas formas, desactiva \"Requerir versión sugerida de la aplicación\" en la configuración.", "featureNotAvailable": "Característica no implementada", - "featureNotAvailableText": "Esta aplicación está instalada en formato AAB (Android App Bundle) y solo se puede parchear e instalar de forma fiable mediante el montaje con acceso root. Sin embargo, puedes parchear e instalar una aplicación en formato APK seleccionándola desde el almacenamiento." + "featureNotAvailableText": "Esta aplicación es un APK dividido y solo puede ser parcheada e instalada de forma fiable mediante el montaje con permisos de root. Sin embargo, puedes parchear e instalar un APK completo seleccionándolo del almacenamiento." }, "patchesSelectorView": { "viewTitle": "Selecciona parches", @@ -143,7 +143,7 @@ "installType": "Seleccione el tipo de instalación", "installTypeDescription": "Selecciona el tipo de instalación con el que quieres continuar.", "installButton": "Instalar", - "installRootType": "Montar (requiere acceso root)", + "installRootType": "Montar", "installNonRootType": "Normal", "warning": "Desactiva las actualizaciones para la aplicación parcheada para evitar problemas inesperados.", "pressBackAgain": "Vuelve a presionar atrás para cancelar", @@ -196,7 +196,7 @@ "enablePatchesSelectionLabel": "Permitir cambiar la selección de parches", "enablePatchesSelectionHint": "No prevenir la selección o deselección de parches", "enablePatchesSelectionWarningText": "Cambiar la selección de parches puede cauar problemas inespereados.\n\n¿Quieres activarlo de todas formas?", - "disablePatchesSelectionWarningText": "Estás a punto de desactivar el cambiar la selección de parches.\nSe restaurará la selección de parches por defecto.", + "disablePatchesSelectionWarningText": "Estás a punto de desactivar cambiar la selección de parches.\nLa selección predeterminada de parches se restaurará.\n\n¿Deshabilitar de todos modos?", "autoUpdatePatchesLabel": "Actualizar parches automáticamente", "autoUpdatePatchesHint": "Actualiza los parches a la última versión automáticamente", "showUpdateDialogLabel": "Mostrar diálogo de actualización", @@ -262,7 +262,7 @@ "rootDialogText": "La aplicación se instaló con permisos de root, pero actualmente ReVanced Manager no tiene permisos root.\nPor favor, conceda primero los permisos de root.", "packageNameLabel": "Nombre del paquete", "installTypeLabel": "Tipo de instalación", - "mountTypeLabel": "Montar (requiere acceso root)", + "mountTypeLabel": "Montar", "regularTypeLabel": "Normal", "patchedDateLabel": "Fecha de parcheo", "appliedPatchesLabel": "Parches aplicados", diff --git a/assets/i18n/strings_fi_FI.i18n.json b/assets/i18n/strings_fi_FI.i18n.json index 301cf86b86..1ce2a346d4 100755 --- a/assets/i18n/strings_fi_FI.i18n.json +++ b/assets/i18n/strings_fi_FI.i18n.json @@ -164,6 +164,7 @@ "debugSectionTitle": "Vianselvitys", "advancedSectionTitle": "Lisäasetukset", "exportSectionTitle": "Tuonti/vienti", + "dataSectionTitle": "Tietolähteet", "themeModeLabel": "Sovelluksen teema", "systemThemeLabel": "Järjestelmä", "lightThemeLabel": "Vaalea", @@ -173,11 +174,17 @@ "languageLabel": "Kieli", "languageUpdated": "Kieli on vaihdettu", "englishOption": "Englanti", + "sourcesLabel": "Vaihtoehtoiset lähteet", + "sourcesLabelHint": "Määritä käytöstä poistettujen kohteiden ja käytöstä poistettujen integraatioiden vaihtoehtoiset lähteet", "sourcesIntegrationsLabel": "Integraatioiden lähde", + "useAlternativeSources": "Käytä vaihtoehtoisia lähteitä", + "useAlternativeSourcesHint": "Käytä vaihtoehtoisia lähteitä ReVanced Patches ja ReVanced Integrations sijasta API", "sourcesResetDialogTitle": "Palauta", "sourcesResetDialogText": "Haluatko varmasti palauttaa oletuslähteet?", "apiURLResetDialogText": "Haluatko varmasti palauttaa oletusarvoisen API:n URL-osoitteen?", + "sourcesUpdateNote": "Huomautus: Tämä lataa automaattisesti ReVanced Patches ja ReVanced Integrations vaihtoehtoisista lähteistä.\n\nTämä yhdistää sinut vaihtoehtoiseen lähdekoodiin.", "apiURLLabel": "API:n URL-osoite", + "apiURLHint": "Määritä reVanced Manager API URL", "selectApiURL": "API:n URL-osoite", "orgPatchesLabel": "Paikkauksien organisaatio", "sourcesPatchesLabel": "Paikkauksien lähde", diff --git a/assets/i18n/strings_hu_HU.i18n.json b/assets/i18n/strings_hu_HU.i18n.json index ccc9e4888a..40381a145c 100755 --- a/assets/i18n/strings_hu_HU.i18n.json +++ b/assets/i18n/strings_hu_HU.i18n.json @@ -30,19 +30,19 @@ "patchedSubtitle": "Patchelt alkalmazások", "changeLaterSubtitle": "Ezt később módosíthatja a beállításokban.", "noUpdates": "Nincs elérhető frissítés", - "WIP": "Folyamatban van...", + "WIP": "Folyamatban...", "noInstallations": "Nincs telepítve patchelt alkalmazás", "installUpdate": "Folytatja a frissítés telepítését?", "updateSheetTitle": "ReVanced Manager frissítése", "updateDialogTitle": "Új frissítés elérhető", "updatePatchesSheetTitle": "ReVanced Patchek frissítése", - "updateChangelogTitle": "Újdonságok", + "updateChangelogTitle": "Változásnapló", "updateDialogText": "Új frissítés érhető el a következőhöz: ${file}.\n\nA jelenleg telepített verzió: ${version}.", "downloadConsentDialogTitle": "Letölti a szükséges fájlokat?", "downloadConsentDialogText": "A ReVanced Managernek le kell töltenie a szükséges fájlokat a megfelelő működéshez.", - "downloadConsentDialogText2": "Ezzel összekapcsolja a következővel: ${url}.", + "downloadConsentDialogText2": "Csatlakozni fog ehhez: ${url}.", "checkUpdateDialogTitle": "Frissítések keresése?", - "checkUpdateDialogText": "Szeretné, hogy a ReVanced Kezelő automatikusan ellenőrizze a frissítéseket?", + "checkUpdateDialogText": "Szeretné, hogy a ReVanced Manager automatikusan ellenőrizze a frissítéseket?", "notificationTitle": "Frissítés letöltve", "notificationText": "Koppintson a frissítés telepítéséhez", "downloadingMessage": "Frissítés letöltése...", @@ -60,7 +60,7 @@ "loadingLabel": "Betöltés...", "timeagoLabel": "Frissítve: ${time}", "patcherLabel": "Patchelő: ", - "managerLabel": "Kezelő: ", + "managerLabel": "Manager: ", "updateButton": "Manager frissítése" }, "patcherView": { @@ -82,8 +82,8 @@ "patchSelectorCard": { "widgetTitle": "Patchek kiválasztása", "widgetTitleSelected": "Kiválasztott patchek", - "widgetSubtitle": "Először válassz egy alkalmazást", - "widgetEmptySubtitle": "Nem választottál patch-et" + "widgetSubtitle": "Először válasszon egy alkalmazást", + "widgetEmptySubtitle": "Nem választott patchet" }, "socialMediaCard": { "widgetTitle": "Közösségi oldalak", @@ -111,8 +111,8 @@ "defaultTooltip": "Összes alapértelmezett patch kiválasztása", "noneChip": "Semmi", "noneTooltip": "Összes patch kijelölésének törlése", - "loadPatchesSelection": "Patch kiválasztás betöltése", - "noSavedPatches": "Nincs mentett patch a kiválasztott alkalmazáshoz.\nNyomja meg a Kész gombot az aktuális kijelölés mentéséhez.", + "loadPatchesSelection": "Patch kijelölés betöltése", + "noSavedPatches": "Nincs mentett patch kijelölés a kiválasztott alkalmazáshoz.\nNyomja meg a Kész gombot az aktuális kijelölés mentéséhez.", "noPatchesFound": "A kiválasztott alkalmazáshoz nem találhatóak patchek", "setRequiredOption": "Néhány patchhez be kell állítani a következő beállításokat:\n\n${patches}\n\nKérjük, állítsa be őket a folytatás előtt." }, @@ -122,7 +122,7 @@ "viewTitle": "Patch beállítások", "saveOptions": "Mentés", "addOptions": "Opciók hozzáadása", - "deselectPatch": "Patchek kijelölésének törlése", + "deselectPatch": "Patch kijelölésének törlése", "tooltip": "További beviteli lehetőségek", "selectFilePath": "Válassza ki a fájl elérési útját", "selectFolder": "Mappa kiválasztása", @@ -132,10 +132,10 @@ "requiredOptionNull": "A következő opciókat kell beállítani:\n\n${options}" }, "patchItem": { - "unsupportedDialogText": "Ezt a patchet nem biztos hogy sikerül alkalmazni, mert más verzióhoz készült.\n\nAlkalmazás verzió: ${packageVersion}\nJelenleg támogatott verziók:\n${supportedVersions}", - "unsupportedPatchVersion": "A Patch nem támogatott ehhez az alkalmazásverzióhoz.", - "unsupportedRequiredOption": "Ez a Patch egy kötelező beállítást tartalmaz, amelyet ez az alkalmazás nem támogat", - "patchesChangeWarningDialogText": "Javasoljuk, hogy az alapértelmezett patch lehetőséget és opciókat használja. Ezek megváltoztatása váratlan problémákat okozhat.\n\nMielőtt bármilyen patchet módosítana, be kell kapcsolnia a „Patch módosításának engedélyezése” lehetőséget a beállításokban.", + "unsupportedDialogText": "Ezt a patchet nem biztos hogy sikerül alkalmazni, mert más verzióhoz készült.\n\nAlkalmazás verzió: ${packageVersion}\nTámogatott verziók:\n${supportedVersions}", + "unsupportedPatchVersion": "A patch nem támogatott ehhez az alkalmazásverzióhoz.", + "unsupportedRequiredOption": "Ez a patch egy kötelező beállítást tartalmaz, amelyet ez az alkalmazás nem támogat", + "patchesChangeWarningDialogText": "Javasoljuk, hogy az alapértelmezett patch kijelölést és beállításait használja. Ezek megváltoztatása váratlan problémákat okozhat.\n\nMielőtt bármilyen patchet módosítana, be kell kapcsolnia a „Patch kijelölés módosításánák engedélyezése” lehetőséget a beállításokban.", "patchesChangeWarningDialogButton": "Használja az alapértelmezett kijelölést" }, "installerView": { @@ -143,19 +143,19 @@ "installType": "Válassza ki a telepítés típusát", "installTypeDescription": "Válassza ki a telepítés típusát a folytatáshoz.", "installButton": "Telepítés", - "installRootType": "Felcsatolás", + "installRootType": "Csatolás", "installNonRootType": "Hagyományos", "warning": "A váratlan problémák elkerülése érdekében tiltsa le a patchelt alkalmazás automatikus frissítéseit.", - "pressBackAgain": "A visszavonáshoz nyomja meg ismét a vissza gombot", + "pressBackAgain": "A visszavonáshoz nyomja meg a vissza gombot ismét", "openButton": "Megnyitás", "shareButton": "Fájl megosztása", "notificationTitle": "A ReVanced Manager jelenleg patchel", - "notificationText": "Koppints a telepítőhöz való visszalépéshez", + "notificationText": "Koppintson a telepítőhöz való visszalépéshez", "exportApkButtonTooltip": "Patchelt apk exportálása", "exportLogButtonTooltip": "Napló exportálása", - "screenshotDetected": "Képernyőképet észleltünk. Ha megpróbálja megosztani a naplót, kérjük, ossza meg helyette egy szöveges másolatot.\n\nVágólapra másolja a naplót?", - "copiedToClipboard": "Napló átmásolva a vágólapra", - "noExit": "A telepítő még fut, most nem lehet visszalépni..." + "screenshotDetected": "Képernyőképet észleltünk. Ha megpróbálja megosztani a naplót, kérjük osszon meg helyette egy szöveges másolatot.\n\nA vágólapra másolja a naplót?", + "copiedToClipboard": "A napló vágólapra másolva", + "noExit": "A telepítő még fut, nem lehet kilépni..." }, "settingsView": { "widgetTitle": "Beállítások", @@ -169,8 +169,8 @@ "systemThemeLabel": "Rendszer", "lightThemeLabel": "Világos", "darkThemeLabel": "Sötét", - "dynamicThemeLabel": "Közel Hozzád", - "dynamicThemeHint": "Élvezd az eszközödhöz közelibb élményt", + "dynamicThemeLabel": "Material You", + "dynamicThemeHint": "Élvezze az eszközéhez közelibb élményt", "languageLabel": "Nyelv", "languageUpdated": "Nyelv frissítve", "englishOption": "Angol", @@ -182,10 +182,10 @@ "sourcesResetDialogTitle": "Visszaállítás", "sourcesResetDialogText": "Biztosan vissza szeretné állítani a forrásokat az alapértelmezett értékekre?", "apiURLResetDialogText": "Biztosan vissza szeretné állítani az API URL-jét az alapértelmezett értékre?", - "sourcesUpdateNote": "Megjegyzés: Ez automatikusan letölti a ReVanced Patch-eket és a ReVanced Integrációkat az alternatív forrásokból.\n\nEzzel csatlakozik az alternatív forráshoz.", + "sourcesUpdateNote": "Megjegyzés: Ez automatikusan letölti a ReVanced Patcheket és a ReVanced Integrációkat az alternatív forrásokból.\n\nEzzel csatlakozik az alternatív forráshoz.", "apiURLLabel": "API URL", "apiURLHint": "Konfigurálja a ReVanced Manager API URL-jét", - "selectApiURL": "API címe", + "selectApiURL": "API link", "orgPatchesLabel": "Patchek - szervezet", "sourcesPatchesLabel": "Patchek - forrás", "orgIntegrationsLabel": "Integrációk - szervezet", @@ -193,10 +193,10 @@ "contributorsHint": "A ReVanced közreműködőinek listája", "logsLabel": "Naplók megosztása", "logsHint": "ReVanced Manager naplók megosztása", - "enablePatchesSelectionLabel": "Engedélyezze a patch kiválasztásának módosítását", - "enablePatchesSelectionHint": "Ne akadályozza meg a patchek kiválasztását vagy megszüntetését", - "enablePatchesSelectionWarningText": "A patchek kiválasztásának megváltoztatása váratlan problémákat okozhat.\n\nMindenképpen engedélyezi?", - "disablePatchesSelectionWarningText": "Arra készül, hogy letiltja a patchek kiválasztásának módosítását.\nA patchek alapértelmezett kiválasztása visszaáll.\n\nMindenképpen letiltja?", + "enablePatchesSelectionLabel": "Patch kijelölés módosításánák engedélyezése", + "enablePatchesSelectionHint": "Ne akadályozza meg a patchek kijelölését vagy a kijelölés megszüntetését", + "enablePatchesSelectionWarningText": "A patchek kijelölésének megváltoztatása váratlan problémákat okozhat.\n\nMindenképpen engedélyezi?", + "disablePatchesSelectionWarningText": "Arra készül, hogy letiltja a patchek kijelölésének módosítását.\nA patchek alapértelmezett kijelölése visszaáll.\n\nMindenképpen letiltja?", "autoUpdatePatchesLabel": "Patchek automatikus frissítése", "autoUpdatePatchesHint": "A patchek automatikus frissítése a legújabb verzióra", "showUpdateDialogLabel": "Frissítési panel megjelenítése", @@ -205,34 +205,34 @@ "universalPatchesHint": "Az összes alkalmazás és univerzális patch megjelenítése (lassíthatja az alkalmazáslistát)", "versionCompatibilityCheckLabel": "Verziókompatibilitás ellenőrzése", "versionCompatibilityCheckHint": "Akadályozza meg a kiválasztott alkalmazásverzióval nem kompatibilis patchek kiválasztását", - "requireSuggestedAppVersionLabel": "Javasolt alkalmazás verzió kötelező", + "requireSuggestedAppVersionLabel": "Javasolt alkalmazásverzió szükséges", "requireSuggestedAppVersionHint": "Akadályozza meg, hogy olyan alkalmazást válasszon ki, amelynek verziója nem a javasolt", - "requireSuggestedAppVersionDialogText": "Egy nem a javasolt verziótól eltérő alkalmazás kiválasztása váratlan problémákat okozhat.\n\nMindenképpen folytatni szeretné?", + "requireSuggestedAppVersionDialogText": "A javasolt verziótól eltérő alkalmazás kiválasztása váratlan problémákat okozhat.\n\nMindenképpen folytatni szeretné?", "aboutLabel": "Rólunk", "snackbarMessage": "Vágólapra másolva", - "restartAppForChanges": "Indítsd újra az alkalmazást a változások alkalmazásához", + "restartAppForChanges": "Indítsa újra az alkalmazást a változások alkalmazásához", "deleteTempDirLabel": "Ideiglenes fájlok törlése", "deleteTempDirHint": "Nem használt ideiglenes fájlok törlése", "deletedTempDir": "Ideiglenes fájlok törölve", - "exportPatchesLabel": "Kiválasztott patch exportálása", - "exportPatchesHint": "Exportálja a kiválasztott patchet JSON-fájlba", - "exportedPatches": "A patchek kiválasztása exportálva", - "noExportFileFound": "Nincs exportálandó patch", - "importPatchesLabel": "Patch kiválasztás importálása", - "importPatchesHint": "Importálja a kiválasztott patchet egy JSON-fájlból", - "importedPatches": "Patch kiválasztás importálva", - "resetStoredPatchesLabel": "Patch kiválasztás visszaállítása", - "resetStoredPatchesHint": "Állítsa vissza a tárolt patch kiválasztását", - "resetStoredPatchesDialogTitle": "Patch kiválasztás visszaállítása?", - "resetStoredPatchesDialogText": "A patchek alapértelmezett kiválasztása visszaáll.", - "resetStoredPatches": "A patchek kiválasztása visszaállításra került", + "exportPatchesLabel": "Kijelölt patchek exportálása", + "exportPatchesHint": "Exportálja a kijelölt patcheket egy JSON-fájlba", + "exportedPatches": "Kijelölt patchek exportálva", + "noExportFileFound": "Nincs exportálandó patch kijelölés", + "importPatchesLabel": "Kijelölt patchek importálása", + "importPatchesHint": "Importálja a kijelölt patcheket egy JSON-fájlból", + "importedPatches": "Patch kijelölés importálva", + "resetStoredPatchesLabel": "Patch kijelölés visszaállítása", + "resetStoredPatchesHint": "Mentett patch kijelölés visszaállítása", + "resetStoredPatchesDialogTitle": "Visszaállítja a kijelölt patcheket?", + "resetStoredPatchesDialogText": "A patchek alapértelmezett kijelölése visszaáll.", + "resetStoredPatches": "A patchek kijelölése visszaállításra került", "resetStoredOptionsLabel": "Patch beállítások visszaállítása", "resetStoredOptionsHint": "Állítsa vissza az összes patch opciót", "resetStoredOptionsDialogTitle": "Patch beállítások visszaállítása?", - "resetStoredOptionsDialogText": "Patch beállítások visszaállítása eltávolítja az összes mentett opciót.", + "resetStoredOptionsDialogText": "A patch beállítások visszaállítása eltávolítja az összes mentett opciót.", "resetStoredOptions": "Az opciók visszaállításra kerültek", - "deleteLogsLabel": "Napló ürítése", - "deleteLogsHint": "Az összegyűjtött ReVanced Manager naplók törlése", + "deleteLogsLabel": "Naplók törlése", + "deleteLogsHint": "A ReVanced Manager naplóinak törlése", "deletedLogs": "Naplók törölve", "regenerateKeystoreLabel": "Kulcstár újragenerálása", "regenerateKeystoreHint": "Újragenerálja az alkalmazások aláírásához használt kulcstárolót", @@ -248,39 +248,39 @@ "importedKeystore": "Kulcstároló importálva", "selectKeystorePassword": "Kulcstár jelszó", "selectKeystorePasswordHint": "Válassza ki az alkalmazások aláírásához használt kulcstároló jelszavát", - "jsonSelectorErrorMessage": "A kiválasztott JSON nem hasznalható", + "jsonSelectorErrorMessage": "A kiválasztott JSON fájl nem használható", "keystoreSelectorErrorMessage": "A kiválasztott kulcstároló fájl nem használható" }, "appInfoView": { "widgetTitle": "Alkalmazás információ", "openButton": "Megnyitás", "uninstallButton": "Eltávolítás", - "unmountButton": "Lecsatolás", + "unmountButton": "Leválasztás", "rootDialogTitle": "Hiba", "unmountDialogText": "Biztosan le szeretné választani ezt az alkalmazást?", "uninstallDialogText": "Biztosan eltávolítja ezt az alkalmazást?", - "rootDialogText": "A patchelt alkalmazás root jogosultsággal lett telepítve, de a Managernek már nincs ilyen jogosultsága.\nKérlek, engedélyezd a root hozzáférést a Managernek.", + "rootDialogText": "A patchelt alkalmazás root jogosultsággal lett telepítve, de a Managernek már nincs ilyen jogosultsága.\nKérjük először engedélyezze a root jogosultságot.", "packageNameLabel": "Csomagnév", "installTypeLabel": "Telepítés módja", - "mountTypeLabel": "Felcsatolás", + "mountTypeLabel": "Csatolás", "regularTypeLabel": "Hagyományos", "patchedDateLabel": "Patchelve", "appliedPatchesLabel": "Alkalmazott patchek", "patchedDateHint": "${date} ${time}-kor", - "appliedPatchesHint": "${quantity} alkalmazott patchek", - "updateNotImplemented": "Ez a funkció még nem készült el" + "appliedPatchesHint": "${quantity} alkalmazott patch", + "updateNotImplemented": "Ez a funkció még nem elérhető" }, "contributorsView": { "widgetTitle": "Közreműködők" }, "installErrorDialog": { "mount_version_mismatch": "Verzió ütközés", - "mount_no_root": "Nincs Root hozzáférés", + "mount_no_root": "Nincs root hozzáférés", "mount_missing_installation": "A telepítés nem található", "status_failure_blocked": "A telepítés blokkolva", "install_failed_verification_failure": "Az ellenőrzés sikertelen", "status_failure_invalid": "A telepítés érvénytelen", - "install_failed_version_downgrade": "Nem lehet visszaminősíteni", + "install_failed_version_downgrade": "Nem lehet visszafejleszteni", "status_failure_conflict": "Telepítési ütközés", "status_failure_storage": "Telepítési tárolási probléma", "status_failure_incompatible": "A telepítés nem kompatibilis", @@ -296,7 +296,7 @@ "status_failure_conflict_description": "A telepítést az alkalmazás meglévő példánya akadályozta meg.\n\nTávolítsa el a telepített alkalmazást, és próbálja újra?", "status_failure_blocked_description": "A telepítést blokkolta: ${packageName}\n\nMódosítsa a biztonsági beállításokat, és próbálja újra.", "install_failed_verification_failure_description": "A telepítés ellenőrzési probléma miatt nem sikerült.\n\nMódosítsa a biztonsági beállításokat, és próbálja újra.", - "install_failed_version_downgrade_description": "A telepítés meghiúsult, mert a patchelt alkalmazás régebbi verziója volt, mint a telepített alkalmazás.\n\nTávolítsa el az alkalmazást, és próbálja újra?", + "install_failed_version_downgrade_description": "A telepítés meghiúsult, mert a patchelt alkalmazás régebbi verzió, mint a telepített alkalmazás.\n\nTávolítsa el az alkalmazást, és próbálja újra?", "status_unknown_description": "A telepítés ismeretlen ok miatt meghiúsult. Kérem próbálja újra." } } \ No newline at end of file diff --git a/assets/i18n/strings_id_ID.i18n.json b/assets/i18n/strings_id_ID.i18n.json index 77f4c89285..936bfaf81f 100755 --- a/assets/i18n/strings_id_ID.i18n.json +++ b/assets/i18n/strings_id_ID.i18n.json @@ -3,9 +3,9 @@ "cancelButton": "Batal", "dismissButton": "Abaikan", "quitButton": "Keluar", - "updateButton": "Memperbarui", + "updateButton": "Perbarui", "enabledLabel": "Aktif", - "disabledLabel": "Tidak Aktif", + "disabledLabel": "Nonaktif", "installed": "Terpasang: ${version}", "suggested": "Disarankan: ${version}", "yesButton": "Iya", @@ -16,7 +16,7 @@ "noShowAgain": "Jangan tampilkan lagi", "add": "Tambah", "remove": "Hapus", - "showChangelogButton": "Tampilkan daftar perubahan", + "showChangelogButton": "Tampilkan log perubahan", "showUpdateButton": "Tampilkan pembaruan", "navigationView": { "dashboardTab": "Dasbor", @@ -27,7 +27,7 @@ "refreshSuccess": "Berhasil Memuat Ulang", "widgetTitle": "Dasbor", "updatesSubtitle": "Pembaruan", - "patchedSubtitle": "Aplikasi yang dimodifikasi", + "patchedSubtitle": "Aplikasi tertambal", "changeLaterSubtitle": "Anda dapat mengubahnya di pengaturan nanti.", "noUpdates": "Tidak ada pembaruan", "WIP": "Sedang dikerjakan...", @@ -67,7 +67,7 @@ "widgetTitle": "Penambal", "patchButton": "Tambalan", "armv7WarningDialogText": "Menambal pada perangkat ARMv7 belum didukung dan mungkin gagal. Lanjutkan saja?", - "removedPatchesWarningDialogText": "Patch berikut ini telah dihapus sejak terakhir kali Anda menggunakannya.\n\n${patches}\n\nTetap lanjutkan?", + "removedPatchesWarningDialogText": "Patch berikut telah dihapus sejak terakhir kali Anda menggunakannya.\n\n${patches}\n\nTetap lanjut?", "requiredOptionDialogText": "Beberapa opsi patch harus diatur." }, "appSelectorCard": { diff --git a/assets/i18n/strings_it_IT.i18n.json b/assets/i18n/strings_it_IT.i18n.json index 8807b57679..99aeebfc55 100755 --- a/assets/i18n/strings_it_IT.i18n.json +++ b/assets/i18n/strings_it_IT.i18n.json @@ -28,11 +28,11 @@ "widgetTitle": "Dashboard", "updatesSubtitle": "Aggiornamenti", "patchedSubtitle": "Applicazioni patchate", - "changeLaterSubtitle": "È possibile modificare questa impostazione nelle impostazioni in un secondo momento.", + "changeLaterSubtitle": "Questo sarà modificabile nelle impostazioni in un secondo momento.", "noUpdates": "Nessun aggiornamento disponibile", "WIP": "Lavori in corso...", "noInstallations": "Nessuna applicazione patchata è stata installata", - "installUpdate": "Proseguire ad installare l'aggiornamento?", + "installUpdate": "Proseguire con l'installazione dell'aggiornamento?", "updateSheetTitle": "Aggiorna ReVanced Manager", "updateDialogTitle": "Nuovo aggiornamento disponibile", "updatePatchesSheetTitle": "Aggiorna le patch ReVanced", @@ -65,7 +65,7 @@ }, "patcherView": { "widgetTitle": "Patcher", - "patchButton": "Patcha", + "patchButton": "Patch", "armv7WarningDialogText": "Il patching sui dispositivi ARMv7 non è ancora supportato 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?", "requiredOptionDialogText": "Alcune opzioni di patch devono essere impostate." @@ -93,7 +93,7 @@ "viewTitle": "Seleziona un'app", "searchBarHint": "Cerca app", "storageButton": "Memoria interna", - "selectFromStorageButton": "Seleziona dalla memoria", + "selectFromStorageButton": "Seleziona dalla memoria interna", "errorMessage": "Impossibile utilizzare l'applicazione selezionata", "downloadToast": "La funzione di Download non è ancora disponibile", "requireSuggestedAppVersionDialogText": "La versione dell'app selezionata non corrisponde a quella suggerita, il che può causare problemi imprevisti. Si prega di utilizzare la versione suggerita.\n\nVersione selezionata: ${selected}\nVersione suggerita: ${suggested}\n\nPer continuare comunque, disattiva \"Richiedi versione consigliata dell'app\" nelle impostazioni.", diff --git a/assets/i18n/strings_ja_JP.i18n.json b/assets/i18n/strings_ja_JP.i18n.json index 236151cb47..bdf36f1bda 100755 --- a/assets/i18n/strings_ja_JP.i18n.json +++ b/assets/i18n/strings_ja_JP.i18n.json @@ -204,6 +204,7 @@ "universalPatchesLabel": "共通パッチの表示", "universalPatchesHint": "すべてのアプリと共通パッチを表示します(アプリ一覧の読み込みが遅くなる可能性があります)", "versionCompatibilityCheckLabel": "バージョンの互換性の確認", + "versionCompatibilityCheckHint": "選択したアプリのバージョンと互換性のないパッチの選択を防止", "requireSuggestedAppVersionLabel": "推奨するアプリバージョンの要求", "requireSuggestedAppVersionDialogText": "推奨されているバージョンではないアプリを選択すると、予期しない問題が発生する可能性があります。\n\nこのまま続行しますか?", "aboutLabel": "情報", @@ -253,8 +254,10 @@ "widgetTitle": "アプリ情報", "openButton": "開く", "uninstallButton": "アンインストール", + "unmountButton": "マウント解除", "rootDialogTitle": "エラー", "unmountDialogText": "このアプリをアンマウントしてもよろしいですか?", + "uninstallDialogText": "本当にこのアプリをアンインストールしますか?", "rootDialogText": "アプリはスーパーユーザー権限でインストールされましたが、現在 ReVanced Manager にはその権限がありません。 スーパーユーザー権限を付与してください。", "packageNameLabel": "パッケージ名", "installTypeLabel": "インストールの種類", @@ -270,8 +273,29 @@ "widgetTitle": "貢献者" }, "installErrorDialog": { + "mount_version_mismatch": "バージョンが一致しません", + "mount_no_root": "ルート権限がありません", + "mount_missing_installation": "インストールが見つかりませんでした", + "status_failure_blocked": "インストールはブロックされました", "install_failed_verification_failure": "検証に失敗しました", "status_failure_invalid": "インストールは無効です", - "install_failed_version_downgrade": "ダウングレードできません" + "install_failed_version_downgrade": "ダウングレードできません", + "status_failure_conflict": "インストールが競合しています", + "status_failure_storage": "インストールストレージの問題", + "status_failure_incompatible": "インストールは互換性がありません", + "status_failure_timeout": "インストール・タイムアウト", + "status_unknown": "インストールに失敗しました", + "mount_version_mismatch_description": "インストールされたアプリがパッチを当てたアプリとは異なるバージョンであるため、インストールに失敗しました。\n\nマウントしているアプリのバージョンをインストールし、再度お試しください。", + "mount_no_root_description": "ルートアクセスが許可されていないためインストールに失敗しました。\n\nReVanced Managerへのルートアクセスを許可し、もう一度お試しください。", + "mount_missing_installation_description": "パッチが適用されていないアプリがマウントされていないためインストールに失敗しました。\n\nマウントする前にパッチが適用されていないアプリをインストールし、もう一度お試しください。", + "status_failure_timeout_description": "インストールに時間がかかりすぎました。\n\nもう一度やり直しますか?", + "status_failure_storage_description": "ストレージが不足しているためインストールに失敗しました。\n\n空き領域を解放して再度お試し下さい。", + "status_failure_invalid_description": "パッチ適用されたアプリが無効なためインストールに失敗しました。\n\nアプリをアンインストールしてもう一度お試しください。", + "status_failure_incompatible_description": "アプリはこのデバイスと互換性がありません。\n\nアプリの開発者に連絡してサポートを求めてください。", + "status_failure_conflict_description": "インストールはアプリの既存のインストールによって中止されました。\n\nインストールされたアプリをアンインストールし、もう一度やり直してください。", + "status_failure_blocked_description": "インストールは ${packageName} によってブロックされました。\n\nセキュリティ設定を調整して、もう一度お試しください。", + "install_failed_verification_failure_description": "認証の問題によりインストールに失敗しました。\n\nセキュリティ設定を調整して、もう一度お試しください。", + "install_failed_version_downgrade_description": "インストールに失敗しました。パッチを当てたアプリがインストールされたアプリよりも低いバージョンであるためです。\n\nアプリをアンインストールしてもう一度お試しください。", + "status_unknown_description": "不明な理由によりインストールに失敗しました。もう一度やり直してください。" } } \ No newline at end of file diff --git a/assets/i18n/strings_ko_KR.i18n.json b/assets/i18n/strings_ko_KR.i18n.json index 8405a4ca3e..4af98ec6b7 100755 --- a/assets/i18n/strings_ko_KR.i18n.json +++ b/assets/i18n/strings_ko_KR.i18n.json @@ -28,7 +28,7 @@ "widgetTitle": "Dashboard", "updatesSubtitle": "업데이트", "patchedSubtitle": "설치된 앱", - "changeLaterSubtitle": "나중에 설정에서 바꿀 수 있습니다.", + "changeLaterSubtitle": "나중에 설정에서 변경할 수 있습니다.", "noUpdates": "새 업데이트가 없습니다.", "WIP": "개발 중 입니다...", "noInstallations": "아직 설치된 ReVanced 앱이 없습니다.", @@ -44,7 +44,7 @@ "checkUpdateDialogTitle": "업데이트를 확인하시겠습니까?", "checkUpdateDialogText": "ReVanced Manager가 자동으로 업데이트를 확인하도록 하시겠습니까?", "notificationTitle": "업데이트를 다운로드했습니다.", - "notificationText": "업데이트를 설치하려면 탭하세요.", + "notificationText": "업데이트를 설치하려면 여기를 누르세요.", "downloadingMessage": "업데이트 다운로드 중...", "downloadedMessage": "업데이트를 다운로드 완료했습니다.", "installingMessage": "업데이트 설치 중...", @@ -106,10 +106,10 @@ "universalPatches": "공용 패치", "newPatches": "새 패치", "patches": "패치", - "doneButton": "완료", + "doneButton": "선택완료", "defaultChip": "기본값", "defaultTooltip": "모든 기본 패치 선택", - "noneChip": "없음", + "noneChip": "선택안함", "noneTooltip": "모든 패치 선택 해제", "loadPatchesSelection": "패치 선택목록 가져오기", "noSavedPatches": "선택한 앱에 적용할 패치가 저장되지 않았습니다.\n완료를 눌러서 현재 선택목록을 저장하세요.", @@ -150,7 +150,7 @@ "openButton": "열기", "shareButton": "파일 공유", "notificationTitle": "ReVanced Manager가 패치 중입니다.", - "notificationText": "설치 관리자로 돌아가려면 탭하세요.", + "notificationText": "설치 관리자로 돌아가려면 여기를 누르세요.", "exportApkButtonTooltip": "패치한 APK 내보내기", "exportLogButtonTooltip": "로그 내보내기", "screenshotDetected": "스크린샷이 감지되었습니다. 로그를 공유할 목적이라면, 대신 텍스트 사본으로 공유해주세요.\n\n로그를 클립보드에 복사하시겠습니까?", @@ -184,7 +184,7 @@ "apiURLResetDialogText": "정말 API URL을 기본값으로 되돌릴까요?", "sourcesUpdateNote": "알림: 변경하면 대체 소스에서 ReVanced Patches 및 ReVanced Integrations이 자동으로 다운로드됩니다. \n\n그 이후에는 대체 소스로 연결됩니다.", "apiURLLabel": "API URL", - "apiURLHint": "ReVanced Manager의 API URL를 설정할 수 있습니다.", + "apiURLHint": "ReVanced Manager의 API URL를 설정할 수 있습니다.\\n만약 Dashboad의 업데이트 항목이 \\'Loading\\'이라면 ReVanced API 접근 제한이므로 다른 기기에서 시도하거나 1시간 정도 후에 다시 시도하세요.", "selectApiURL": "API URL", "orgPatchesLabel": "Patches 구성", "sourcesPatchesLabel": "Patches 소스", diff --git a/assets/i18n/strings_pl_PL.i18n.json b/assets/i18n/strings_pl_PL.i18n.json index 1f11854d51..c6dc008513 100755 --- a/assets/i18n/strings_pl_PL.i18n.json +++ b/assets/i18n/strings_pl_PL.i18n.json @@ -1,5 +1,5 @@ { - "okButton": "OK", + "okButton": "OK ", "cancelButton": "Anuluj", "dismissButton": "Odrzuć", "quitButton": "Wyjdź", diff --git a/assets/i18n/strings_pt_BR.i18n.json b/assets/i18n/strings_pt_BR.i18n.json index 7367d436a2..6dae3a9f32 100755 --- a/assets/i18n/strings_pt_BR.i18n.json +++ b/assets/i18n/strings_pt_BR.i18n.json @@ -1,8 +1,11 @@ { - "okButton": "Aceitar", + "okButton": "OK", "cancelButton": "Cancelar", + "dismissButton": "Descartar", "quitButton": "Sair", "updateButton": "Atualizar", + "enabledLabel": "Ativado", + "disabledLabel": "Desativado", "installed": "Instalado: ${version}", "suggested": "Sugerido: ${version}", "yesButton": "Sim", @@ -10,10 +13,10 @@ "warning": "Atenção", "options": "Opções", "notice": "Nota", - "noShowAgain": "Não mostre novamente", + "noShowAgain": "Não mostrar novamente", "add": "Adicionar", "remove": "Remover", - "showChangelogButton": "Mostrar registro de alterações", + "showChangelogButton": "Mostrar alterações", "showUpdateButton": "Mostrar atualização", "navigationView": { "dashboardTab": "Painel", @@ -21,23 +24,27 @@ "settingsTab": "Configurações" }, "homeView": { - "refreshSuccess": "Recarregado/Atualizado com sucesso", + "refreshSuccess": "Atualizado com sucesso", "widgetTitle": "Painel", "updatesSubtitle": "Atualizações", - "patchedSubtitle": "Aplicativos modificados/Patcheados", - "changeLaterSubtitle": "Você pode ajustar essa opção em Configurações mais tarde.", - "noInstallations": "Nenhum aplicativo modificado instalado", + "patchedSubtitle": "Aplicativos patcheados", + "changeLaterSubtitle": "Você pode ajustar essa opção nas configurações mais tarde.", + "noUpdates": "Nenhuma atualização encontrada", + "WIP": "Trabalho em progresso...", + "noInstallations": "Nenhum aplicativo patcheado instalado", "installUpdate": "Continuar a instalação da atualização?", "updateSheetTitle": "Atualizar o ReVanced Manager", "updateDialogTitle": "Nova atualização disponível", - "updatePatchesSheetTitle": "Atualizar o ReVanced Patches", - "updateChangelogTitle": "Mudanças", + "updatePatchesSheetTitle": "Atualizar os patches do ReVanced", + "updateChangelogTitle": "Alterações", "updateDialogText": "Uma nova atualização está disponível para ${file}.\n\nA versão atualmente instalada é a ${version}.", "downloadConsentDialogTitle": "Baixar os arquivos necessários?", "downloadConsentDialogText": "O ReVanced Manager precisará baixar os arquivos necessários para funcionar corretamente.", "downloadConsentDialogText2": "Isso irá te conectar em ${url}.", "checkUpdateDialogTitle": "Procurar atualizações?", "checkUpdateDialogText": "Você quer que o ReVanced Manager procure atualizações automaticamente?", + "notificationTitle": "Atualização baixada", + "notificationText": "Toque para instalar a atualização", "downloadingMessage": "Baixando atualização...", "downloadedMessage": "Atualização baixada", "installingMessage": "Instalando atualização...", @@ -51,18 +58,26 @@ }, "latestCommitCard": { "loadingLabel": "Carregando...", - "timeagoLabel": "há ${time}" + "timeagoLabel": "há ${time}", + "patcherLabel": "Patcher: ", + "managerLabel": "Gerenciador: ", + "updateButton": "Gerenciador de Atualizações" }, "patcherView": { "widgetTitle": "Patcher", "patchButton": "Patch", "armv7WarningDialogText": "Realizar patches em dispositivos ARMv7 ainda não é suportado 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?", "requiredOptionDialogText": "Algumas opções de patch tiveram que ser definidas." }, "appSelectorCard": { + "widgetTitle": "Selecione um aplicativo", + "widgetTitleSelected": "Aplicativo selecionado", + "widgetSubtitle": "Nenhum aplicativo selecionado", "noAppsLabel": "Nenhum aplicativo foi encontrado", "currentVersion": "Atual", - "suggestedVersion": "Sugeridos/sugestões" + "suggestedVersion": "Sugeridos/sugestões", + "anyVersion": "Qualquer versão" }, "patchSelectorCard": { "widgetTitle": "Selecionar patches", @@ -72,14 +87,18 @@ }, "socialMediaCard": { "widgetTitle": "Redes sociais", - "widgetSubtitle": "Nós estamos online!" + "widgetSubtitle": "Estamos online!" }, "appSelectorView": { + "viewTitle": "Selecione um aplicativo", + "searchBarHint": "Pesquisar aplicativo", "storageButton": "Armazenamento", "selectFromStorageButton": "Selecionar no armazenamento", "errorMessage": "Não foi possível usar o app selecionado", "downloadToast": "A função de download não está disponível no momento", - "featureNotAvailable": "Recurso não implementado" + "requireSuggestedAppVersionDialogText": "The version of the app you have selected does not match the suggested version which can lead to unexpected issues. Please use the suggested version.\n\nSelected version: ${selected}\nSuggested version: ${suggested}\n\nTo continue anyway, disable \"Require suggested app version\" in the settings.", + "featureNotAvailable": "Recurso não implementado", + "featureNotAvailableText": "Este aplicativo é um APK dividido e só pode ser patcheado e instalado de forma confiável ao ser montado com permissões de root. No entanto, você pode patchear e instalar um APK completo ao selecioná-lo do armazenamento." }, "patchesSelectorView": { "viewTitle": "Selecionar patches", @@ -88,7 +107,9 @@ "newPatches": "Novos patches", "patches": "Patches", "doneButton": "Concluído", + "defaultChip": "Padrão", "defaultTooltip": "Selecionar todos os patches padrões", + "noneChip": "Nenhum", "noneTooltip": "Desmarcar todos os patches", "loadPatchesSelection": "Carregar o patch selecionado", "noSavedPatches": "Não há patches salvos para esse aplicativo selecionado.\nAperte \"Concluir\" para salvar a seleção atual.", @@ -105,21 +126,29 @@ "tooltip": "Mais opções de entrada", "selectFilePath": "Selecione o caminho do arquivo", "selectFolder": "Selecione a pasta", + "selectOption": "Selecione uma opção", "requiredOption": "Essa opção é necessária", "unsupportedOption": "Essa opção não é suportada", "requiredOptionNull": "As seguintes opções precisam ser definidas:\n\n${options}" }, "patchItem": { "unsupportedDialogText": "Selecionar esse patch pode resultar em erros de patchs\n\nVersão do app: ${packageVersion}\nVersões suportadas: ${supportedVersions}", + "unsupportedPatchVersion": "O patch não é suportado para esta versão do aplicativo.", "unsupportedRequiredOption": "Esse patch contém uma opção necessária que não é suportada por esse app", + "patchesChangeWarningDialogText": "É recomendado usar a seleção de patch padrão e as opções. Alterá-las pode resultar em problemas inesperados.\n\nVocê precisará ativar \"Permitir alteração na seleção de patch\" nas configurações antes de alterar qualquer seleção de patch.", "patchesChangeWarningDialogButton": "Use a seleção padrão" }, "installerView": { + "widgetTitle": "Instalador", "installType": "Selecione o tipo de instalação", + "installTypeDescription": "Selecione o tipo de instalação para continuar.", "installButton": "Instalar", "installRootType": "Montar", + "installNonRootType": "Regular", + "warning": "Desative as atualizações automáticas do aplicativo patcheado para evitar problemas inesperados.", "pressBackAgain": "Pressione voltar mais uma vez para cancelar", "openButton": "Abrir", + "shareButton": "Share file", "notificationTitle": "ReVanced manager está aplicando os patches", "notificationText": "Toque para voltar ao instalador", "exportApkButtonTooltip": "Exportar APK com o patch aplicado", @@ -135,17 +164,27 @@ "debugSectionTitle": "Depurando", "advancedSectionTitle": "Avançado", "exportSectionTitle": "Importar e exportar", + "dataSectionTitle": "Data sources", "themeModeLabel": "Tema do aplicativo", "systemThemeLabel": "Sistema", "lightThemeLabel": "Claro", - "darkThemeLabel": "Modo escuro", + "darkThemeLabel": "Escuro", "dynamicThemeLabel": "Material You", "dynamicThemeHint": "Aproveite uma experiência mais próxima do tema de seu dispositivo", "languageLabel": "Idioma", + "languageUpdated": "Idioma atualizado", + "englishOption": "English", + "sourcesLabel": "Fontes alternativas", + "sourcesLabelHint": "Conigure as fontes alternativas para ReVanced Patches e ReVanced Integrations", "sourcesIntegrationsLabel": "Fonte das integrações", + "useAlternativeSources": "Usar fontes alternativas", + "useAlternativeSourcesHint": "Use alternative sources for ReVanced Patches and ReVanced Integrations instead of the API", "sourcesResetDialogTitle": "Redefinir", "sourcesResetDialogText": "Você tem certeza que deseja redefinir as fontes para os valores padrão?", + "apiURLResetDialogText": "Are you sure you want to reset your API URL to its default value?", + "sourcesUpdateNote": "Nota: Isso irá baixar automaticamente os Patches ReVanced e as Integrações ReVanced de fontes alternativas.\n\nIsso irá conectá-lo à fonte alternativa.", "apiURLLabel": "URL da API", + "apiURLHint": "Configure the API URL of ReVanced Manager", "selectApiURL": "URL da API", "orgPatchesLabel": "Organização dos patches", "sourcesPatchesLabel": "Fonte dos patches", @@ -155,13 +194,20 @@ "logsLabel": "Compartilhar logs", "logsHint": "Compartilhar logs do ReVanced Manager", "enablePatchesSelectionLabel": "Permitir alterar a seleção de patch", + "enablePatchesSelectionHint": "Não evite selecionar ou desmarcar patches", "enablePatchesSelectionWarningText": "Alterar a seleção dos patches pode causar problemas inesperados.\n\nAtivar mesmo assim?", "disablePatchesSelectionWarningText": "Você irá desabilitar a mudança da pré-seleção dos patches.\nA seleção padrão dos patches será restaurada.\n\nDesabilitar mesmo assim?", "autoUpdatePatchesLabel": "Atualizar patches automaticamente", + "autoUpdatePatchesHint": "Atualize automaticamente os patches para a versão mais recente", + "showUpdateDialogLabel": "Show update dialog", + "showUpdateDialogHint": "Show a dialog when a new update is available", "universalPatchesLabel": "Mostrar patches universais", "universalPatchesHint": "Mostra todos os aplicativos e patches universais (pode deixar a lista de aplicativos mais lenta)", "versionCompatibilityCheckLabel": "Verificar compatibilidade de versão", + "versionCompatibilityCheckHint": "Prevent selecting patches that are not compatible with the selected app version", "requireSuggestedAppVersionLabel": "Requer a versão sugerida do app", + "requireSuggestedAppVersionHint": "Evite selecionar um aplicativo com uma versão diferente da sugerida", + "requireSuggestedAppVersionDialogText": "Selecionar um aplicativo que não seja a versão sugerida pode causar problemas inesperados.\n\nVocê quer prosseguir mesmo assim?", "aboutLabel": "Sobre", "snackbarMessage": "Copiado para a área de transferência", "restartAppForChanges": "Reinicie o aplicativo para aplicar as mudanças", @@ -171,19 +217,34 @@ "exportPatchesLabel": "Exportar a seleção do patch", "exportPatchesHint": "Exportar a seleção do patch para um arquivo JSON", "exportedPatches": "Seleção do patch exportada", + "noExportFileFound": "Não há seleção de patch para exportar.", + "importPatchesLabel": "Importar seleção de patch", + "importPatchesHint": "Importar seleção de patch de um arquivo JSON", + "importedPatches": "Seleção de patch importada", + "resetStoredPatchesLabel": "Redefinir seleção de patch", + "resetStoredPatchesHint": "Redefinir a seleção de patch armazenada", + "resetStoredPatchesDialogTitle": "Redefinir seleção de patch?", + "resetStoredPatchesDialogText": "A seleção padrão de patches será restaurada.", + "resetStoredPatches": "A seleção de patch foi redefinida", + "resetStoredOptionsLabel": "Redefinir opções de patch", "resetStoredOptionsHint": "Resetar todas as opções de patch", + "resetStoredOptionsDialogTitle": "Reset patch options?", + "resetStoredOptionsDialogText": "Resetting patch options will remove all saved options.", "resetStoredOptions": "As opções foram resetadas", "deleteLogsLabel": "Limpar registros", + "deleteLogsHint": "Delete collected ReVanced Manager logs", "deletedLogs": "Registros apagados", "regenerateKeystoreLabel": "Regerar keystore", "regenerateKeystoreHint": "Regenerar o keystore usado para assinar aplicativos", "regenerateKeystoreDialogTitle": "Regerar keystore?", + "regenerateKeystoreDialogText": "Aplicativos patcheados assinados com o keystore antigo não poderão mais ser atualizados.", "regeneratedKeystore": "Keystore regerado", "exportKeystoreLabel": "Exportar keystore", "exportKeystoreHint": "Exportar o keystore usado para assinar aplicativos", "exportedKeystore": "Keystore exportado", "noKeystoreExportFileFound": "Nenhum keystore para exportar", "importKeystoreLabel": "Importar keystore", + "importKeystoreHint": "Import a keystore used to sign apps", "importedKeystore": "Keystore importado", "selectKeystorePassword": "Senha do keystore", "selectKeystorePasswordHint": "Selecione a senha de keystore usada para assinar aplicativos", @@ -194,10 +255,15 @@ "widgetTitle": "Informações do aplicativo", "openButton": "Abrir", "uninstallButton": "Desisntalar", + "unmountButton": "Unmount", "rootDialogTitle": "Erro", + "unmountDialogText": "Are you sure you want to unmount this app?", + "uninstallDialogText": "Are you sure you want to uninstall this app?", "rootDialogText": "O aplicativo foi instalado com permissões de superusuário, mas atualmente o ReVanced Manager não tem permissões.\nPor favor, conceda as permissões de superusuário primeiro.", "packageNameLabel": "Nome do pacote", "installTypeLabel": "Tipo de instalação", + "mountTypeLabel": "Mount", + "regularTypeLabel": "Regular", "patchedDateLabel": "Data de patcheamento", "appliedPatchesLabel": "Patches aplicados", "patchedDateHint": "${date} às ${time}", @@ -207,5 +273,30 @@ "contributorsView": { "widgetTitle": "Contribuidores" }, - "installErrorDialog": {} + "installErrorDialog": { + "mount_version_mismatch": "Diferença de versão", + "mount_no_root": "Sem acesso root", + "mount_missing_installation": "Instalação não encontrada", + "status_failure_blocked": "Instalação bloqueada", + "install_failed_verification_failure": "Verificação falhou", + "status_failure_invalid": "Instalação inválida", + "install_failed_version_downgrade": "Não é possível rebaixar", + "status_failure_conflict": "Conflito de instalação", + "status_failure_storage": "Problema de armazenamento da instalação", + "status_failure_incompatible": "Instalação incompatível", + "status_failure_timeout": "Tempo limite de instalação", + "status_unknown": "Falha na instalação", + "mount_version_mismatch_description": "A instalação falhou devido ao aplicativo instalado ser uma versão diferente do aplicativo patcheado.\n\nInstale a versão do aplicativo que você está montando e tente novamente.", + "mount_no_root_description": "A instalação falhou devido ao acesso root não ter sido concedido.\n\nConceda acesso root ao Gerenciador ReVanced e tente novamente.", + "mount_missing_installation_description": "A instalação falhou devido ao aplicativo não patcheado não estar instalado neste dispositivo para ser montado sobre ele.\n\nInstale o aplicativo não patcheado antes de montar e tente novamente.", + "status_failure_timeout_description": "A instalação demorou muito para terminar.\n\nVocê gostaria de tentar novamente?", + "status_failure_storage_description": "A instalação falhou devido a falta de espaço de armazenamento.\n\nLibere algum espaço e tente novamente.", + "status_failure_invalid_description": "A instalação falhou devido ao aplicativo patcheado ser inválido.\n\nDesinstale o aplicativo e tente novamente.", + "status_failure_incompatible_description": "O aplicativo é incompatível com este dispositivo.\n\nEntre em contato com o desenvolvedor do aplicativo e peça suporte.", + "status_failure_conflict_description": "A instalação foi impedida por uma instalação existente do aplicativo.\n\nDesinstale o aplicativo instalado 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.\n\nAjuste suas configurações de segurança e tente novamente.", + "install_failed_version_downgrade_description": "A instalação falhou devido ao aplicativo patcheado ser uma versão mais baixa que o aplicativo instalado.\n\nDesinstale o aplicativo e tente novamente.", + "status_unknown_description": "A instalação falhou por um motivo desconhecido. Por favor, tente novamente." + } } \ No newline at end of file diff --git a/assets/i18n/strings_ru_RU.i18n.json b/assets/i18n/strings_ru_RU.i18n.json index 04a7fe2119..cf52323006 100755 --- a/assets/i18n/strings_ru_RU.i18n.json +++ b/assets/i18n/strings_ru_RU.i18n.json @@ -159,7 +159,7 @@ }, "settingsView": { "widgetTitle": "Настройки", - "appearanceSectionTitle": "Оформление", + "appearanceSectionTitle": "Внешний вид", "teamSectionTitle": "Команда", "debugSectionTitle": "Отладка", "advancedSectionTitle": "Дополнительные", @@ -175,7 +175,7 @@ "languageUpdated": "Язык обновлен", "englishOption": "Английский", "sourcesLabel": "Альтернативные источники", - "sourcesLabelHint": "Настройте альтернативные источники для патчей и интеграций ReVanced", + "sourcesLabelHint": "Настроить альтернативные источники для патчей и интеграций ReVanced", "sourcesIntegrationsLabel": "Репозиторий интеграций", "useAlternativeSources": "Использовать альтернативные источники", "useAlternativeSourcesHint": "Использовать альтернативные источники для патчей и интеграций ReVanced вместо API", diff --git a/assets/i18n/strings_sr_CS.i18n.json b/assets/i18n/strings_sr_CS.i18n.json index d011035299..e5f912dd92 100755 --- a/assets/i18n/strings_sr_CS.i18n.json +++ b/assets/i18n/strings_sr_CS.i18n.json @@ -16,8 +16,8 @@ "noShowAgain": "Ne prikazuj ponovo", "add": "Dodaj", "remove": "Ukloni", - "showChangelogButton": "Prikaži evidenciju promena", - "showUpdateButton": "Prikaži ažuriranje", + "showChangelogButton": "Vidi evidenciju promena", + "showUpdateButton": "Vidi ažuriranje", "navigationView": { "dashboardTab": "Kontrolna tabla", "patcherTab": "Pečer", @@ -77,7 +77,7 @@ "noAppsLabel": "Nijedna aplikacija nije pronađena", "currentVersion": "Trenutna verzija", "suggestedVersion": "Preporučena verzija", - "anyVersion": "Bilo koja verzija" + "anyVersion": "Sve verzije" }, "patchSelectorCard": { "widgetTitle": "Izaberi pečeve", @@ -178,7 +178,7 @@ "sourcesLabelHint": "Konfigurišite alternativne izvore za ReVanced pečeve i ReVanced integracije", "sourcesIntegrationsLabel": "Izvor integracija", "useAlternativeSources": "Koristi alternativne izvore", - "useAlternativeSourcesHint": "Koristite alternativne izvore za ReVanced pečeve i ReVanced integracije umesto API-ja", + "useAlternativeSourcesHint": "Korišćenje alternativnih izvora za ReVanced pečeve i ReVanced integracije umesto API-ja", "sourcesResetDialogTitle": "Resetovanje", "sourcesResetDialogText": "Želite li zaista da vratite izvore na podrazumevane vrednosti?", "apiURLResetDialogText": "Želite li zaista da vratite URL API-ja na podrazumevanu vrednost?", @@ -226,10 +226,10 @@ "resetStoredPatchesDialogTitle": "Resetovati izbor pečeva?", "resetStoredPatchesDialogText": "Podrazumevani izbor pečeva će biti vraćen.", "resetStoredPatches": "Izbor pečeva je resetovan", - "resetStoredOptionsLabel": "Resetuj opcije peča", - "resetStoredOptionsHint": "Resetujte sve opcije peča", - "resetStoredOptionsDialogTitle": "Resetovati opcije peča?", - "resetStoredOptionsDialogText": "Resetovanjem opcija peča uklanjate sve sačuvane opcije.", + "resetStoredOptionsLabel": "Resetuj opcije pečeva", + "resetStoredOptionsHint": "Resetujte sve opcije pečeva", + "resetStoredOptionsDialogTitle": "Resetovati opcije pečeva?", + "resetStoredOptionsDialogText": "Resetovanjem opcija pečeva uklanjate sve sačuvane opcije.", "resetStoredOptions": "Opcije su resetovane", "deleteLogsLabel": "Izbriši evidencije", "deleteLogsHint": "Izbrišite prikupljene evidencije ReVanced Managera", @@ -252,7 +252,7 @@ "keystoreSelectorErrorMessage": "Nije moguće koristiti izabrani fajl sa skladištem ključeva" }, "appInfoView": { - "widgetTitle": "Informacije o aplikaciji", + "widgetTitle": "O aplikaciji", "openButton": "Otvori", "uninstallButton": "Deinstaliraj", "unmountButton": "Demontiraj", diff --git a/assets/i18n/strings_sr_SP.i18n.json b/assets/i18n/strings_sr_SP.i18n.json index 0cac96030e..2c462c20d9 100755 --- a/assets/i18n/strings_sr_SP.i18n.json +++ b/assets/i18n/strings_sr_SP.i18n.json @@ -16,8 +16,8 @@ "noShowAgain": "Не приказуј поново", "add": "Додај", "remove": "Уклони", - "showChangelogButton": "Прикажи евиденцију промена", - "showUpdateButton": "Прикажи ажурирање", + "showChangelogButton": "Види евиденцију промена", + "showUpdateButton": "Види ажурирање", "navigationView": { "dashboardTab": "Контролна табла", "patcherTab": "Печер", @@ -77,7 +77,7 @@ "noAppsLabel": "Ниједна апликација није пронађена", "currentVersion": "Тренутна верзија", "suggestedVersion": "Препоручена верзија", - "anyVersion": "Било која верзија" + "anyVersion": "Све верзије" }, "patchSelectorCard": { "widgetTitle": "Изабери печеве", @@ -178,7 +178,7 @@ "sourcesLabelHint": "Конфигуришите алтернативне изворе за ReVanced печеве и ReVanced интеграције", "sourcesIntegrationsLabel": "Извор интеграција", "useAlternativeSources": "Користи алтернативне изворе", - "useAlternativeSourcesHint": "Користите алтернативне изворе за ReVanced печеве и ReVanced интеграције уместо API-ја", + "useAlternativeSourcesHint": "Коришћење алтернативних извора за ReVanced печеве и ReVanced интеграције уместо API-ја", "sourcesResetDialogTitle": "Ресетовање", "sourcesResetDialogText": "Желите ли заиста да вратите изворе на подразумеване вредности?", "apiURLResetDialogText": "Желите ли заиста да вратите URL API-ја на подразумевану вредност?", @@ -226,10 +226,10 @@ "resetStoredPatchesDialogTitle": "Ресетовати избор печева?", "resetStoredPatchesDialogText": "Подразумевани избор печева ће бити враћен.", "resetStoredPatches": "Избор печева је ресетован", - "resetStoredOptionsLabel": "Ресетуј опције печа", - "resetStoredOptionsHint": "Ресетујте све опције печа", - "resetStoredOptionsDialogTitle": "Ресетовати опције печа?", - "resetStoredOptionsDialogText": "Ресетовањем опција печа уклањате све сачуване опције.", + "resetStoredOptionsLabel": "Ресетуј опције печева", + "resetStoredOptionsHint": "Ресетујте све опције печева", + "resetStoredOptionsDialogTitle": "Ресетовати опције печева?", + "resetStoredOptionsDialogText": "Ресетовањем опција печева уклањате све сачуване опције.", "resetStoredOptions": "Опције су ресетоване", "deleteLogsLabel": "Избриши евиденције", "deleteLogsHint": "Избришите прикупљене евиденције ReVanced Manager-а", @@ -252,7 +252,7 @@ "keystoreSelectorErrorMessage": "Није могуће користити изабрани фајл са складиштем кључева" }, "appInfoView": { - "widgetTitle": "Информације о апликацији", + "widgetTitle": "О апликацији", "openButton": "Отвори", "uninstallButton": "Деинсталирај", "unmountButton": "Демонтирај", diff --git a/assets/i18n/strings_tr_TR.i18n.json b/assets/i18n/strings_tr_TR.i18n.json index 996823e9e7..6f448bec84 100755 --- a/assets/i18n/strings_tr_TR.i18n.json +++ b/assets/i18n/strings_tr_TR.i18n.json @@ -161,7 +161,7 @@ "widgetTitle": "Ayarlar", "appearanceSectionTitle": "Görünüm", "teamSectionTitle": "Ekip", - "debugSectionTitle": "Hata ayıklama", + "debugSectionTitle": "Debug", "advancedSectionTitle": "Gelişmiş", "exportSectionTitle": "İçe ve dışa aktar", "dataSectionTitle": "Veri kaynakları", diff --git a/assets/i18n/strings_uk_UA.i18n.json b/assets/i18n/strings_uk_UA.i18n.json index e42f48c72d..ace559bff0 100755 --- a/assets/i18n/strings_uk_UA.i18n.json +++ b/assets/i18n/strings_uk_UA.i18n.json @@ -5,14 +5,14 @@ "quitButton": "Вийти", "updateButton": "Оновити", "enabledLabel": "Увімкнено", - "disabledLabel": "Вимкнено", + "disabledLabel": "Вимкнуто", "installed": "Установлено: ${version}", "suggested": "Запропоновано: ${version}", "yesButton": "Так", "noButton": "Ні", "warning": "Увага", "options": "Налаштування", - "notice": "Нотатки", + "notice": "Примітка", "noShowAgain": "Не показувати знову", "add": "Додати", "remove": "Прибрати", @@ -35,7 +35,7 @@ "installUpdate": "Продовжити встановлення оновлення?", "updateSheetTitle": "Оновити ReVanced Manager", "updateDialogTitle": "Доступне нове оновлення", - "updatePatchesSheetTitle": "Оновити патчі ReVanced", + "updatePatchesSheetTitle": "Оновити ReVanced Patches", "updateChangelogTitle": "Список змін", "updateDialogText": "Доступне нове оновлення для ${file}.\n\nВстановлена версія ${version}.", "downloadConsentDialogTitle": "Завантажити необхідні файли?", @@ -51,10 +51,10 @@ "errorDownloadMessage": "Неможливо завантажити оновлення", "errorInstallMessage": "Не вдалося встановити оновлення", "noConnection": "Немає з’єднання з інтернетом", - "updatesDisabled": "Оновлення застосунку з виправленнями наразі вимкнено. Перезапустіть застосунок ще раз." + "updatesDisabled": "Оновлення пропатченого застосунку наразі вимкнено. Пропатчіть застосунок ще раз." }, "applicationItem": { - "infoButton": "Відомості" + "infoButton": "Інформація" }, "latestCommitCard": { "loadingLabel": "Завантаження...", @@ -71,18 +71,18 @@ "requiredOptionDialogText": "Потрібно встановити деякі параметри патчу." }, "appSelectorCard": { - "widgetTitle": "Виберіть додаток", - "widgetTitleSelected": "Обраний застосунок", - "widgetSubtitle": "Застосунок не обрано", + "widgetTitle": "Вибрати застосунок", + "widgetTitleSelected": "Вибраний застосунок", + "widgetSubtitle": "Застосунок не вибрано", "noAppsLabel": "Не знайдено жодного застосунку", "currentVersion": "Поточна версія", "suggestedVersion": "Запропоновано", "anyVersion": "Будь-яка версія" }, "patchSelectorCard": { - "widgetTitle": "Обрати патчі", - "widgetTitleSelected": "Обрані патчі", - "widgetSubtitle": "Спочатку оберіть застосунок", + "widgetTitle": "Вибрати патчі", + "widgetTitleSelected": "Вибрані патчі", + "widgetSubtitle": "Спочатку виберіть застосунок", "widgetEmptySubtitle": "Патчі не вибрано" }, "socialMediaCard": { @@ -90,35 +90,35 @@ "widgetSubtitle": "Ми в мережі!" }, "appSelectorView": { - "viewTitle": "Виберіть застосунок", + "viewTitle": "Вибір застосунку", "searchBarHint": "Пошук застосунку", "storageButton": "Сховище", "selectFromStorageButton": "Вибрати зі сховища", - "errorMessage": "Неможливо використати обраний застосунок", + "errorMessage": "Неможливо використати вибраний застосунок", "downloadToast": "Функція завантаження поки що недоступна", - "requireSuggestedAppVersionDialogText": "Обрана вами версія застосунку не відповідає запропонованій версії, це може призвести до неочікуваних проблем. Будь ласка, використовуйте запропоновану версію.\n\nОбрана версія: v${selected}\nЗапропонована версія: v${suggested}\n\nЩоб продовжити, вимкніть \"Вимагати запропоновану версію застосунку\" в налаштуваннях.", + "requireSuggestedAppVersionDialogText": "Вибрана Вами версія застосунку не відповідає запропонованій версії, це може призвести до неочікуваних проблем. Будь ласка, використовуйте запропоновану версію.\n\nВибрана версія: v${selected}\nЗапропонована версія: v${suggested}\n\nЩоб продовжити, вимкніть \"Вимагати запропоновану версію застосунку\" в налаштуваннях.", "featureNotAvailable": "Функція не реалізована", - "featureNotAvailableText": "Цей застосунок є розділеним файлом APK, і він може бути пропатчений та надійно встановлений лише за допомогою монтування з правами root. Однак ви можете виправити та встановити повний APK, вибравши його зі сховища." + "featureNotAvailableText": "Цей застосунок є розділеним файлом APK, і він може бути пропатчений та надійно встановлений лише за допомогою монтування з правами root. Однак ви можете пропатчити та встановити повний APK, вибравши його зі сховища." }, "patchesSelectorView": { - "viewTitle": "Обрати патчі", + "viewTitle": "Вибір патчів", "searchBarHint": "Пошук патчів", "universalPatches": "Універсальні патчі", "newPatches": "Нові патчі", "patches": "Патчі", "doneButton": "Готово", "defaultChip": "За замовчуванням", - "defaultTooltip": "Обрати всі стандартні патчі", - "noneChip": "Скинути", - "noneTooltip": "Зняти вибір з усіх патчів", + "defaultTooltip": "Вибрати всі стандартні патчі", + "noneChip": "Скинути вибір", + "noneTooltip": "Скинути вибір з усіх патчів", "loadPatchesSelection": "Ввантажити вибір патчів", - "noSavedPatches": "Немає збереженого вибору патчів для вибраного застосунку.\nНатисніть «Готово», щоб зберегти поточний вибір.", + "noSavedPatches": "Немає збереженого вибору патчів для вибраного застосунку.\nНатисніть \"Готово\", щоб зберегти поточний вибір.", "noPatchesFound": "Для цього застосунку немає патчів", "setRequiredOption": "Деякі патчі вимагають встановлення параметрів:\n\n${patches}\n\n Будь ласка, встановіть їх перед продовженням." }, "patchOptionsView": { "customValue": "Власне значення", - "resetOptionsTooltip": "Скинути параметр патчу", + "resetOptionsTooltip": "Скинути параметри патчу", "viewTitle": "Параметри патчу", "saveOptions": "Зберегти", "addOptions": "Додати параметри", @@ -126,7 +126,7 @@ "tooltip": "Більше варіантів вводу", "selectFilePath": "Оберіть шлях до файлу", "selectFolder": "Оберіть теку", - "selectOption": "Обрати параметр", + "selectOption": "Вибрати параметр", "requiredOption": "Цей параметр є обов’язковим", "unsupportedOption": "Цей параметр не підтримується", "requiredOptionNull": "Необхідно встановити наступні параметри:\n\n${options}" @@ -153,8 +153,8 @@ "notificationText": "Натисніть, щоб повернутися до інсталятора", "exportApkButtonTooltip": "Експортувати пропатчений APK", "exportLogButtonTooltip": "Експортувати журнал", - "screenshotDetected": "Виявлено знімок екрана. Якщо ви намагаєтеся поділитися журналом, будь ласка, надішліть його текстову копію.\n\nСкопіювати журнал у буфер обміну?", - "copiedToClipboard": "Скопійовано журнал до буфера обміну", + "screenshotDetected": "Виявлено знімок екрана. Якщо ви намагаєтеся поділитися журналом, будь ласка, діліться його текстовою копією.\n\nСкопіювати журнал у буфер обміну?", + "copiedToClipboard": "Журнал скопійовано до буфера обміну", "noExit": "Інсталятор все ще працює, неможливо вийти..." }, "settingsView": { @@ -175,16 +175,16 @@ "languageUpdated": "Мову застосунку оновлено", "englishOption": "Англійська", "sourcesLabel": "Альтернативні джерела", - "sourcesLabelHint": "Налаштуйте альтернативні джерела для ReVanced Patches та ReVanced Integrations", + "sourcesLabelHint": "Налаштувати альтернативні джерела для ReVanced Patches та ReVanced Integrations", "sourcesIntegrationsLabel": "Integrations source", "useAlternativeSources": "Використовувати альтернативні джерела", "useAlternativeSourcesHint": "Використовувати альтернативні джерела для ReVanced Patches та ReVanced Integrations замість API", "sourcesResetDialogTitle": "Скинути", "sourcesResetDialogText": "Ви дійсно бажаєте відновити стандартні значення джерел?", - "apiURLResetDialogText": "Ви дійсно хочете скинути API URL на стандартне значення?", + "apiURLResetDialogText": "Ви дійсно бажаєте відновити API URL до стандартного значення?", "sourcesUpdateNote": "Примітка. Це автоматично завантажить ReVanced Patches і ReVanced Integrations з альтернативних джерел.\n\nЦе під'єднає вас до альтернативного джерела.", "apiURLLabel": "URL-адреса API", - "apiURLHint": "Налаштуйте API URL для ReVanced Manager", + "apiURLHint": "Налаштувати API URL для ReVanced Manager", "selectApiURL": "URL-адреса API", "orgPatchesLabel": "Patches organization", "sourcesPatchesLabel": "Patches source", @@ -196,7 +196,7 @@ "enablePatchesSelectionLabel": "Дозволити зміну вибору патчів", "enablePatchesSelectionHint": "Не перешкоджати вибору або скасуванню вибору патчів", "enablePatchesSelectionWarningText": "Зміна вибору патчів може спричинити несподівані проблеми.\n\nУвімкнути все одно?", - "disablePatchesSelectionWarningText": "Ви збираєтеся вимкнути зміну вибору патчів.\nБуде відновлено типовий вибір патчів.\n\nВсе одно вимкнути?", + "disablePatchesSelectionWarningText": "Ви збираєтеся вимкнути зміну вибору патчів.\nБуде відновлено стандартний вибір патчів.\n\nВсе одно вимкнути?", "autoUpdatePatchesLabel": "Автоматичне оновлення патчів", "autoUpdatePatchesHint": "Автоматично оновлювати патчі до останньої версії", "showUpdateDialogLabel": "Показувати вікно оновлення", @@ -260,7 +260,7 @@ "unmountDialogText": "Ви впевнені, що бажаєте розмонтувати цей додаток?", "uninstallDialogText": "Ви впевнені, що бажаєте видалити цей застосунок?", "rootDialogText": "Застосунок було встановлено з правами суперкористувача, але наразі ReVanced Manager не має таких прав.\nБудь ласка, спочатку надайте права суперкористувача.", - "packageNameLabel": "Назва пакету", + "packageNameLabel": "Ім'я пакету", "installTypeLabel": "Тип встановлення", "mountTypeLabel": "Монтувати", "regularTypeLabel": "Звичайний", diff --git a/assets/i18n/strings_zh_CN.i18n.json b/assets/i18n/strings_zh_CN.i18n.json index 6910ce8d62..b298f1abea 100755 --- a/assets/i18n/strings_zh_CN.i18n.json +++ b/assets/i18n/strings_zh_CN.i18n.json @@ -58,7 +58,7 @@ }, "latestCommitCard": { "loadingLabel": "正在加载…", - "timeagoLabel": "${time}前", + "timeagoLabel": "${time} 前", "patcherLabel": "补丁程序: ", "managerLabel": "管理器: ", "updateButton": "更新管理器" diff --git a/assets/i18n/strings_zh_TW.i18n.json b/assets/i18n/strings_zh_TW.i18n.json index 6cd6d0bc8b..fc5dc8e7b3 100755 --- a/assets/i18n/strings_zh_TW.i18n.json +++ b/assets/i18n/strings_zh_TW.i18n.json @@ -7,7 +7,7 @@ "enabledLabel": "已啟用", "disabledLabel": "已停用", "installed": "已安裝: ${version}", - "suggested": "建議: ${version}", + "suggested": "建議版本:${version}", "yesButton": "是", "noButton": "否", "warning": "警告", @@ -28,15 +28,15 @@ "widgetTitle": "儀表板", "updatesSubtitle": "更新", "patchedSubtitle": "已修補的應用程式", - "changeLaterSubtitle": "您可以稍後在設定中更改此項。", + "changeLaterSubtitle": "您稍後可以在設定中變更此項。", "noUpdates": "沒有可用的更新", - "WIP": "進行中…", + "WIP": "進行中……", "noInstallations": "未安裝已修補的應用程式", "installUpdate": "是否要繼續安裝更新?", "updateSheetTitle": "更新 ReVanced Manager", "updateDialogTitle": "有可用的更新", "updatePatchesSheetTitle": "更新 ReVanced 的修補檔", - "updateChangelogTitle": "更新日誌", + "updateChangelogTitle": "更新記錄檔", "updateDialogText": "${file} 有新的更新可用。\n\n當前安裝的版本是 ${version}。", "downloadConsentDialogTitle": "需要下載必要檔案嗎?", "downloadConsentDialogText": "ReVanced Manager 需要下載必要檔案才能正常工作。", @@ -45,9 +45,9 @@ "checkUpdateDialogText": "您希望 ReVanced Manager 自動檢查更新嗎?", "notificationTitle": "更新已下載", "notificationText": "點擊安裝更新", - "downloadingMessage": "正在下載更新…", + "downloadingMessage": "正在下載更新……", "downloadedMessage": "更新已下載", - "installingMessage": "正在安裝更新…", + "installingMessage": "正在安裝更新……", "errorDownloadMessage": "無法下載更新", "errorInstallMessage": "無法安裝更新", "noConnection": "沒有網際網路連線", @@ -57,11 +57,11 @@ "infoButton": "資訊" }, "latestCommitCard": { - "loadingLabel": "正在載入...", + "loadingLabel": "正在載入……", "timeagoLabel": "${time} 前", "patcherLabel": "修補工具: ", - "managerLabel": "管理工具: ", - "updateButton": "更新管理工具" + "managerLabel": "Manager:", + "updateButton": "更新 Manager" }, "patcherView": { "widgetTitle": "修補工具", @@ -71,7 +71,7 @@ "requiredOptionDialogText": "某些修補檔選項需要設定。" }, "appSelectorCard": { - "widgetTitle": "選擇一個應用程式", + "widgetTitle": "選擇應用程式", "widgetTitleSelected": "已選擇的應用程式", "widgetSubtitle": "未選擇任何應用程式", "noAppsLabel": "找不到應用程式", @@ -90,13 +90,13 @@ "widgetSubtitle": "掃榻以待,歡迎造訪!" }, "appSelectorView": { - "viewTitle": "選擇一個應用程式", + "viewTitle": "選擇應用程式", "searchBarHint": "搜尋應用程式", "storageButton": "儲存空間", "selectFromStorageButton": "從儲存空間中選取", "errorMessage": "無法使用所選的應用程式", "downloadToast": "下載功能尚不可用", - "requireSuggestedAppVersionDialogText": "您選擇的應用程式版本與建議版本不符,可能會導致意外問題。請使用建議的版本。\n\n選擇的版本:${selected}\n建議的版本:${suggested}\n\n要無視此警告繼續,請在設定中禁用「要求使用建議的應用程式版本」。", + "requireSuggestedAppVersionDialogText": "您選擇的應用程式版本與建議版本不符,可能會導致意外問題。請使用建議的版本。\n\n已選擇版本:${selected}\n建議版本:${suggested}\n\n要無視此警告繼續,請在設定中停用「要求使用建議的應用程式版本」。", "featureNotAvailable": "功能尚未實作", "featureNotAvailableText": "此應用程式為分割 APK,只能通過具有 root 權限的掛載來可靠地進行修補和安裝。不過,您可以通過從儲存中選擇來修補和安裝完整 APK。" }, @@ -145,23 +145,23 @@ "installButton": "安裝", "installRootType": "掛載", "installNonRootType": "普通", - "warning": "禁用已修補應用程式的自動更新,以避免意外問題。", + "warning": "停用已修補應用程式的自動更新,以避免意外問題。", "pressBackAgain": "再次按「返回」以取消操作", "openButton": "開啟", "shareButton": "分享檔案", "notificationTitle": "ReVanced Manager 正在修補", "notificationText": "輕觸以返回安裝程式", "exportApkButtonTooltip": "匯出已修補的 APK 檔案", - "exportLogButtonTooltip": "匯出日誌", - "screenshotDetected": "偵測到螢幕截圖。若您試圖分享日誌,請改為複製文字版本。\n\n是否將日誌複製到剪貼簿?", - "copiedToClipboard": "日誌已複製到剪貼簿", - "noExit": "安裝程式仍在執行,無法結束..." + "exportLogButtonTooltip": "匯出記錄檔", + "screenshotDetected": "偵測到螢幕截圖。若您試圖分享記錄檔,請改為複製文字版本。\n\n是否將記錄檔複製到剪貼簿?", + "copiedToClipboard": "已複製記錄檔到剪貼簿", + "noExit": "安裝程式仍在執行,無法結束……" }, "settingsView": { "widgetTitle": "設定", "appearanceSectionTitle": "外觀", "teamSectionTitle": "團隊", - "debugSectionTitle": "偵錯", + "debugSectionTitle": "除錯", "advancedSectionTitle": "進階", "exportSectionTitle": "匯入和匯出", "dataSectionTitle": "資料來源", @@ -169,13 +169,13 @@ "systemThemeLabel": "系統預設", "lightThemeLabel": "亮色模式", "darkThemeLabel": "深色模式", - "dynamicThemeLabel": "質感設計", + "dynamicThemeLabel": "Material You", "dynamicThemeHint": "享受更貼近您裝置的使用體驗", "languageLabel": "語言", "languageUpdated": "已更新語言", "englishOption": "英文", "sourcesLabel": "替代來源", - "sourcesLabelHint": "設定 ReVanced 補丁和 ReVanced 整合的替代來源", + "sourcesLabelHint": "設定 ReVanced 修補和 ReVanced 整合的替代來源", "sourcesIntegrationsLabel": "整合來源", "useAlternativeSources": "使用替代來源", "useAlternativeSourcesHint": "改用 ReVanced 修補檔和 ReVanced 整合的替代來源,而不是 API", @@ -183,9 +183,9 @@ "sourcesResetDialogText": "確定要將來源資訊重設為預設值嗎?", "apiURLResetDialogText": "確定要重設 API URL 至預設值嗎?", "sourcesUpdateNote": "注意:這將會自動從替代來源下載 ReVanced 修補檔和 ReVanced 整合。\n\n這將連接您到替代來源。", - "apiURLLabel": "API 鏈接", - "apiURLHint": "設定 ReVanced 管理器的 API URL", - "selectApiURL": "API 鏈接", + "apiURLLabel": "API URL", + "apiURLHint": "設定 ReVanced Manager 的 API URL", + "selectApiURL": "API URL", "orgPatchesLabel": "修補檔組織", "sourcesPatchesLabel": "修補檔來源", "orgIntegrationsLabel": "整合組織", @@ -196,18 +196,18 @@ "enablePatchesSelectionLabel": "允許變更修補選項", "enablePatchesSelectionHint": "不要阻止選擇或取消選擇修補檔", "enablePatchesSelectionWarningText": "變更的修補選項可能導致意外問題。\n\n確定要繼續啟用嗎?", - "disablePatchesSelectionWarningText": "即將禁用修補選項的變更功能,並恢復到預設選項。\n\n仍然要禁用嗎?", + "disablePatchesSelectionWarningText": "即將停用修補選項的變更功能,並還原到預設選項。\n\n仍然要停用嗎?", "autoUpdatePatchesLabel": "自動更新修補檔", "autoUpdatePatchesHint": "自動更新修補檔至最新版本", "showUpdateDialogLabel": "顯示更新對話框", - "showUpdateDialogHint": "當有新更新可用時,顯示一個對話框", + "showUpdateDialogHint": "當有新更新可用時,顯示對話框", "universalPatchesLabel": "顯示通用修補檔", "universalPatchesHint": "顯示所有應用程式和通用修補檔(可能會拖慢應用程式列表的速度)", "versionCompatibilityCheckLabel": "檢查版本相容性", "versionCompatibilityCheckHint": "防止選擇與所選應用程式版本不相容的修補檔", "requireSuggestedAppVersionLabel": "要求使用建議的應用程式版本", "requireSuggestedAppVersionHint": "防止選擇非建議版本的應用程式", - "requireSuggestedAppVersionDialogText": "目前選取的應用程式並非建議版本,可能造成未預期的狀況發生。\n\n確定仍要繼續執行嗎?", + "requireSuggestedAppVersionDialogText": "目前選取的應用程式並非建議版本,可能導致意外問題。\n\n確定仍要繼續執行嗎?", "aboutLabel": "關於", "snackbarMessage": "已複製到剪貼簿", "restartAppForChanges": "重新啟動應用程式以套用變更", @@ -224,13 +224,13 @@ "resetStoredPatchesLabel": "重設修補選取", "resetStoredPatchesHint": "重設已儲存的修補選取", "resetStoredPatchesDialogTitle": "確定要重設修補選取嗎?", - "resetStoredPatchesDialogText": "將恢復為預設的修補檔選項。", + "resetStoredPatchesDialogText": "將還原為預設的修補檔選項。", "resetStoredPatches": "已重設修補選取", "resetStoredOptionsLabel": "重設修補選項", "resetStoredOptionsHint": "重設所有修補選項", "resetStoredOptionsDialogTitle": "確定要重設修補選項嗎?", "resetStoredOptionsDialogText": "重設修補檔選項將移除所有已儲存的設定。", - "resetStoredOptions": "所有選項已重設", + "resetStoredOptions": "已重設所有選項", "deleteLogsLabel": "清除記錄檔", "deleteLogsHint": "刪除已收集的 ReVanced Manager 記錄檔", "deletedLogs": "已刪除記錄檔", @@ -287,12 +287,12 @@ "status_failure_timeout": "安裝逾時", "status_unknown": "安裝失敗", "mount_version_mismatch_description": "安裝失敗是由於安裝的應用程式與已修補的應用程式版本不同。\n\n請安裝您正在掛載的應用程式的版本,然後重試。", - "mount_no_root_description": "安裝失敗是因為沒有授予 root 存取權限。\n\n請授予 ReVanced 管理器 root 存取權限,然後重試。", - "mount_missing_installation_description": "安裝失敗是因為未在此設備上安裝未修補的應用程式,無法進行掛載。\n\n請在掛載前安裝未修補的應用程式,然後重試。", + "mount_no_root_description": "安裝失敗是因為沒有授予 root 存取權限。\n\n請授予 ReVanced Manager root 存取權限,然後重試。", + "mount_missing_installation_description": "安裝失敗是因為未在此裝置上安裝未修補的應用程式,無法進行掛載。\n\n請在掛載前安裝未修補的應用程式,然後重試。", "status_failure_timeout_description": "安裝耗時太長。\n\n您想要再試一次嗎?", "status_failure_storage_description": "安裝失敗是因為儲存空間不足。\n\n請釋放一些空間,然後重試。", "status_failure_invalid_description": "安裝失敗是因為已修補的應用程式無效。\n\n請解除安裝應用程式,然後重試?", - "status_failure_incompatible_description": "此應用程式與此設備不相容。\n\n請聯繫應用程式開發者,並尋求支援。", + "status_failure_incompatible_description": "此應用程式與此裝置不相容。\n\n請聯絡應用程式開發者,並尋求支援。", "status_failure_conflict_description": "安裝被應用程式的現有安裝阻止。\n\n請解除安裝已安裝的應用程式,然後重試?", "status_failure_blocked_description": "安裝被 ${packageName} 阻止。\n\n請調整您的安全設定,然後重試。", "install_failed_verification_failure_description": "安裝失敗是因為驗證問題。\n\n請調整您的安全設定,然後重試。", From 3ac08512f3c55011c7019bcb95c53b6eeaff7e01 Mon Sep 17 00:00:00 2001 From: ReVanced Bot Date: Mon, 6 May 2024 16:24:51 +0200 Subject: [PATCH 053/127] chore: Sync translations (#1888) Co-authored-by: Pun Butrach --- assets/i18n/strings_bn_BD.i18n.json | 10 ++-- assets/i18n/strings_ja_JP.i18n.json | 79 +++++++++++++++-------------- assets/i18n/strings_zh_TW.i18n.json | 14 ++--- 3 files changed, 52 insertions(+), 51 deletions(-) diff --git a/assets/i18n/strings_bn_BD.i18n.json b/assets/i18n/strings_bn_BD.i18n.json index 79bf487440..f3e1e66725 100755 --- a/assets/i18n/strings_bn_BD.i18n.json +++ b/assets/i18n/strings_bn_BD.i18n.json @@ -1,9 +1,9 @@ { "okButton": "ঠিক আছে", - "cancelButton": "বাতিল", + "cancelButton": "বাতিল করুন", "dismissButton": "বাতিল করুন", "quitButton": "কাটুন", - "updateButton": "আপডেট", + "updateButton": "হালনাগাদ করুন", "enabledLabel": "সক্রিয় রয়েছে", "disabledLabel": "নিষ্ক্রিয় হয়েছে", "installed": "ইনস্টলকৃত: ${version}", @@ -16,7 +16,7 @@ "noShowAgain": "পুনরায় দেখাবেন না", "add": "যুক্ত করুন", "remove": "অপসারণ করুন", - "showChangelogButton": "চেঞ্জলগ দেখান", + "showChangelogButton": "পরিবর্তনসূচী দেখান", "showUpdateButton": "আপডেট দেখান", "navigationView": { "dashboardTab": "ড্যাশবোর্ড", @@ -50,7 +50,7 @@ "installingMessage": "আপডেট ইনস্টল করা হচ্ছে...", "errorDownloadMessage": "আপডেট ডাউনলোড করতে সফল হয় নি", "errorInstallMessage": "আপডেট ইনস্টল করতে সফল হয় নি", - "noConnection": "কোনো ইন্টারনেট সংযোগ নেই", + "noConnection": "কোন ইন্টারনেট সংযোগ নেই", "updatesDisabled": "প্যাচ করা অ্যাপকে আপডেট করা বর্তমানে সম্ভব নয়। অ্যাপটি পুনরায় প্যাচ করুন।" }, "applicationItem": { @@ -288,7 +288,7 @@ "status_unknown": "ইনস্টলেশন ব্যর্থ হয়েছে", "mount_version_mismatch_description": "প্যাচ অ্যাপ ও ইনস্টলকৃত অ্যাপের সংস্করণ ভিন্ন হওয়ার কারণে ইনস্টলেশন ব্যর্থ হয়েছে।\n\nআপনি যে সংস্করণটি মাউন্ট করতে চাচ্ছেন তা আগে ইনস্টল করুন অতঃপর আবার চেষ্টা করুন।", "mount_no_root_description": "রুট প্রবেশাধিকারের অনুমতি না দেয়ার কারণে ইনস্টলেশন ব্যর্থ হয়েছে।\n\nReVanced Manager এর রুট প্রবেশাধিকার অনুমতি দিন এবং আবার চেষ্টা করুন।", - "mount_missing_installation_description": "এটির উপর মাউন্ট করার জন্য এই ডিভাইসে আনপ্যাচড অ্যাপ ইনস্টল না হওয়ার কারণে ইনস্টলেশন ব্যর্থ হয়েছে.\n\nমাউন্ট করার আগে আনপ্যাচড অ্যাপ ইনস্টল করুন এবং আবার চেষ্টা করুন.", + "mount_missing_installation_description": "এটির উপর মাউন্ট করার জন্য এই ডিভাইসে আনপ্যাচড অ্যাপ ইনস্টল না হওয়ার কারণে ইনস্টলেশন ব্যর্থ হয়েছে।\n\nমাউন্ট করার আগে আনপ্যাচড অ্যাপ ইনস্টল করুন এবং আবার চেষ্টা করুন।", "status_failure_timeout_description": "ইন্সটলেশন শেষ হতে অনেক সময় লেগেছে.\n\nআপনি আবার চেষ্টা করতে চান?", "status_failure_storage_description": "অপর্যাপ্ত সঞ্চয়স্থানের কারণে ইনস্টলেশন ব্যর্থ হয়েছে.\n\nকিছু জায়গা খালি করুন এবং আবার চেষ্টা করুন.", "status_failure_invalid_description": "প্যাচ করা অ্যাপটি অবৈধ হওয়ার কারণে ইনস্টলেশন ব্যর্থ হয়েছে.\n\nঅ্যাপটি আনইনস্টল করে আবার চেষ্টা করবেন?", diff --git a/assets/i18n/strings_ja_JP.i18n.json b/assets/i18n/strings_ja_JP.i18n.json index bdf36f1bda..ec4a150ba5 100755 --- a/assets/i18n/strings_ja_JP.i18n.json +++ b/assets/i18n/strings_ja_JP.i18n.json @@ -2,7 +2,7 @@ "okButton": "OK", "cancelButton": "キャンセル", "dismissButton": "取り消し", - "quitButton": "中止", + "quitButton": "終了", "updateButton": "更新", "enabledLabel": "有効", "disabledLabel": "無効", @@ -11,13 +11,13 @@ "yesButton": "はい", "noButton": "いいえ", "warning": "警告", - "options": "オプション", + "options": "設定", "notice": "お知らせ", "noShowAgain": "今後は表示しない", "add": "追加", "remove": "削除", - "showChangelogButton": "更新履歴を確認", - "showUpdateButton": "アップデート内容を見せる", + "showChangelogButton": "更新履歴を表示", + "showUpdateButton": "更新を表示", "navigationView": { "dashboardTab": "一覧", "patcherTab": "パッチャー", @@ -28,29 +28,29 @@ "widgetTitle": "一覧", "updatesSubtitle": "更新", "patchedSubtitle": "パッチ済みのアプリ", - "changeLaterSubtitle": "この設定はあとでも変更できます", - "noUpdates": "利用可能なアップデートはありません", + "changeLaterSubtitle": "この設定は後から変更できます", + "noUpdates": "利用可能な更新はありません", "WIP": "制作中", "noInstallations": "パッチ済みのアプリはインストールされていません", "installUpdate": "更新を適用しますか?", - "updateSheetTitle": "ReVanced Managerをアップデート", + "updateSheetTitle": "ReVanced Managerを更新", "updateDialogTitle": "新しいアップデートが利用可能", "updatePatchesSheetTitle": "ReVancedパッチを更新", "updateChangelogTitle": "変更履歴", - "updateDialogText": "新しいアップデートが${file} 向けにあります。\n現在のインストールされているバージョンは${version} です。", + "updateDialogText": "${file} の更新が利用可能です。\n現在のバージョン: ${version} ", "downloadConsentDialogTitle": "必要なファイルをダウンロードしますか?", - "downloadConsentDialogText": "ReVanced Managerは正常に動作するために必要なファイルをダウンロードする必要があります。", - "downloadConsentDialogText2": "これにより${url} に接続します", - "checkUpdateDialogTitle": "アップデートを確認しますか?", - "checkUpdateDialogText": "ReVanced Managerのアップデートを自動チェックしますか?", - "notificationTitle": "アップデートをダウンロードしました", + "downloadConsentDialogText": "ReVanced Managerを正常に動作させるためのファイルをダウンロードする必要があります。", + "downloadConsentDialogText2": "${url} に接続します。", + "checkUpdateDialogTitle": "更新を確認しますか?", + "checkUpdateDialogText": "ReVanced Managerの更新を自動的に確認しますか?", + "notificationTitle": "更新データをダウンロードしました", "notificationText": "タップしてアップデートをインストール", "downloadingMessage": "更新データをダウンロードしています...", "downloadedMessage": "アップデートのダウンロードが完了しました", "installingMessage": "更新を適用しています...", - "errorDownloadMessage": "更新データをダウンロードできません", + "errorDownloadMessage": "更新データをダウンロードできませんでした", "errorInstallMessage": "更新を適用できませんでした", - "noConnection": "インターネット接続がありません", + "noConnection": "インターネットに接続されていません", "updatesDisabled": "パッチ済みアプリのアップデートは無効になっています。もう一度パッチし直してください" }, "applicationItem": { @@ -72,7 +72,7 @@ }, "appSelectorCard": { "widgetTitle": "アプリを選択", - "widgetTitleSelected": "選択済のアプリ", + "widgetTitleSelected": "選択したアプリ", "widgetSubtitle": "アプリが選択されていません", "noAppsLabel": "アプリが見つかりません", "currentVersion": "選択", @@ -87,16 +87,16 @@ }, "socialMediaCard": { "widgetTitle": "SNS", - "widgetSubtitle": "私たちは活動しています!" + "widgetSubtitle": "私たちはここにいます!" }, "appSelectorView": { "viewTitle": "アプリを選択", "searchBarHint": "アプリを検索", "storageButton": "APKファイルを選択", "selectFromStorageButton": "ストレージから選択", - "errorMessage": "選択されたアプリは使用できません", + "errorMessage": "選択したアプリは使用できません", "downloadToast": "現在、ダウンロード機能は利用できません", - "requireSuggestedAppVersionDialogText": "選択されたアプリのバージョンは推奨バージョン外です。\n推奨バージョンのアプリを選択してください。\n選択されたバージョン ${selected}\n推奨バージョン ${suggested}\n\n選択されたバージョンを使用する場合、設定から「推奨バージョンの使用を強制」を無効にしてください。", + "requireSuggestedAppVersionDialogText": "選択したアプリのバージョンは推奨バージョンではありません。予期せぬ問題が発生する可能性があります。\n推奨バージョンを選択してください。\n\n選択されたバージョン ${selected}\n推奨バージョン ${suggested}\n\n選択されたバージョンを使用する場合、設定から「推奨バージョンの使用を強制」を無効にしてください。", "featureNotAvailable": "この機能は未実装です", "featureNotAvailableText": "このアプリは分割された APK であり、root 権限でマウントすることによってのみ確実にパッチを適用してインストールできます。 ただし、ストレージから選択することで完全な APK をパッチしてインストールすることができます。" }, @@ -128,14 +128,14 @@ "selectFolder": "フォルダーを選択", "selectOption": "オプションを選択", "requiredOption": "このオプションは必須です", - "unsupportedOption": "このオプションはサポートされていません", + "unsupportedOption": "この設定はサポートされていません", "requiredOptionNull": "以下のオプションを設定する必要があります:\n\n${options}" }, "patchItem": { "unsupportedDialogText": "このパッチを選択するとエラーが発生する可能性があります。\n\n現在のバージョン: ${packageVersion}\nサポートされているバージョン: ${supportedVersions}", "unsupportedPatchVersion": "このアプリのバージョンではパッチはサポートされていません.", - "unsupportedRequiredOption": "このパッチには、このアプリではサポートされていない必須オプションが含まれています", - "patchesChangeWarningDialogText": "デフォルトのパッチの選択とオプションを使用することを推奨します。変更すると予期せぬ問題が発生する可能性があります。\n\nパッチの選択を続ける場合、設定で「パッチの選択の変更を許可」をオンにする必要があります。", + "unsupportedRequiredOption": "このパッチには、このアプリではサポートされていない必須設定が含まれています", + "patchesChangeWarningDialogText": "デフォルトのパッチ選択とオプションの使用を推奨します。変更すると予期せぬ問題が発生する可能性があります。\n\nパッチ選択を続ける場合、設定で「パッチ選択の変更を許可」をオンにする必要があります。", "patchesChangeWarningDialogButton": "デフォルトの選択を使用" }, "installerView": { @@ -174,7 +174,7 @@ "languageLabel": "言語", "languageUpdated": "言語が更新されました", "englishOption": "英語", - "sourcesLabel": "他のソース", + "sourcesLabel": "代替ソース", "sourcesLabelHint": "ReVanded PatchesとReVanced Integrationsの代替ソースを設定", "sourcesIntegrationsLabel": "Integrations のソース", "useAlternativeSources": "他のソースを使用", @@ -193,10 +193,10 @@ "contributorsHint": "ReVancedの貢献者一覧", "logsLabel": "ログを共有", "logsHint": "ReVanced Manager のログを共有します", - "enablePatchesSelectionLabel": "パッチの選択の変更を許可", - "enablePatchesSelectionHint": "パッチの選択と解除を防止しない", + "enablePatchesSelectionLabel": "パッチ選択の変更を許可", + "enablePatchesSelectionHint": "パッチの選択・解除を禁止しません", "enablePatchesSelectionWarningText": "パッチの選択を変更すると、予期せぬ問題が起こる可能性があります。\n\n有効にしますか?", - "disablePatchesSelectionWarningText": "パッチの選択の変更を無効にしようとしています。\nデフォルトのパッチの選択が復元されます。\n\n無効にしますか?", + "disablePatchesSelectionWarningText": "パッチ選択の変更を無効にしようとしています。\nデフォルトのパッチの選択が復元されます。\n\n無効にしますか?", "autoUpdatePatchesLabel": "パッチの自動アップデート", "autoUpdatePatchesHint": "パッチを自動的に最新バージョンに更新する", "showUpdateDialogLabel": "アップデートの通知を表示", @@ -205,31 +205,32 @@ "universalPatchesHint": "すべてのアプリと共通パッチを表示します(アプリ一覧の読み込みが遅くなる可能性があります)", "versionCompatibilityCheckLabel": "バージョンの互換性の確認", "versionCompatibilityCheckHint": "選択したアプリのバージョンと互換性のないパッチの選択を防止", - "requireSuggestedAppVersionLabel": "推奨するアプリバージョンの要求", - "requireSuggestedAppVersionDialogText": "推奨されているバージョンではないアプリを選択すると、予期しない問題が発生する可能性があります。\n\nこのまま続行しますか?", + "requireSuggestedAppVersionLabel": "推奨バージョンの使用を強制", + "requireSuggestedAppVersionHint": "推奨されていないバージョンのアプリを選択できないようにします", + "requireSuggestedAppVersionDialogText": "推奨バージョンではないアプリを選択すると、予期しない問題が発生する可能性があります。\n\nこのまま続行しますか?", "aboutLabel": "情報", "snackbarMessage": "クリップボードにコピーしました", "restartAppForChanges": "変更を適用するにはアプリを再起動してください", "deleteTempDirLabel": "一時ファイルを削除", "deleteTempDirHint": "未使用の一時ファイルを削除", "deletedTempDir": "一時ファイルを削除しました", - "exportPatchesLabel": "パッチの選択をエクスポート", - "exportPatchesHint": "パッチの選択を JSON ファイルにエクスポートする", - "exportedPatches": "パッチの選択をエクスポートしました", + "exportPatchesLabel": "パッチ選択をエクスポート", + "exportPatchesHint": "パッチ選択を JSON ファイルにエクスポートします", + "exportedPatches": "パッチ選択をエクスポートしました", "noExportFileFound": "エクスポートするパッチの選択がありません", - "importPatchesLabel": "パッチの選択をインポート", - "importPatchesHint": "パッチの選択を JSON ファイルからインポートする", - "importedPatches": "パッチの選択をインポートしました", + "importPatchesLabel": "パッチ選択をインポート", + "importPatchesHint": "パッチ選択を JSON ファイルからインポートします", + "importedPatches": "パッチ選択をインポートしました", "resetStoredPatchesLabel": "パッチの選択をリセット", "resetStoredPatchesHint": "保存されたパッチの選択をリセットする", "resetStoredPatchesDialogTitle": "パッチの選択をリセット", "resetStoredPatchesDialogText": "デフォルトのパッチの選択が復元されます。", "resetStoredPatches": "パッチの選択をリセットしました", "resetStoredOptionsLabel": "パッチオプションをリセット", - "resetStoredOptionsHint": "すべてのパッチオプションをリセットする", - "resetStoredOptionsDialogTitle": "パッチオプションをリセットしますか?", - "resetStoredOptionsDialogText": "パッチオプションをリセットすると、保存されたすべてのオプションが削除されます。", - "resetStoredOptions": "オプションをリセットしました", + "resetStoredOptionsHint": "すべてのパッチ設定をリセット", + "resetStoredOptionsDialogTitle": "パッチ設定をリセットしますか?", + "resetStoredOptionsDialogText": "パッチ設定をリセットすると、保存されたすべてのオプションが削除されます。", + "resetStoredOptions": "設定をリセットしました", "deleteLogsLabel": "ログを削除", "deleteLogsHint": "収集された ReVanced Manager のログを削除します", "deletedLogs": "ログを削除しました", @@ -247,7 +248,7 @@ "importedKeystore": "キーストアをインポートしました", "selectKeystorePassword": "キーストアのパスワード", "selectKeystorePasswordHint": "アプリの署名に使用するキーストアのパスワードを入力してください", - "jsonSelectorErrorMessage": "選択された JSON ファイルは使用できません", + "jsonSelectorErrorMessage": "選択したJSON ファイルは使用できません", "keystoreSelectorErrorMessage": "選択したキーストアファイルは使用できません" }, "appInfoView": { diff --git a/assets/i18n/strings_zh_TW.i18n.json b/assets/i18n/strings_zh_TW.i18n.json index fc5dc8e7b3..59f843fc22 100755 --- a/assets/i18n/strings_zh_TW.i18n.json +++ b/assets/i18n/strings_zh_TW.i18n.json @@ -13,7 +13,7 @@ "warning": "警告", "options": "選項", "notice": "提示", - "noShowAgain": "不要再顯示此內容", + "noShowAgain": "不再顯示此內容", "add": "新增", "remove": "移除", "showChangelogButton": "顯示更新記錄", @@ -24,7 +24,7 @@ "settingsTab": "設定" }, "homeView": { - "refreshSuccess": "重新整理成功", + "refreshSuccess": "重新整理完成", "widgetTitle": "儀表板", "updatesSubtitle": "更新", "patchedSubtitle": "已修補的應用程式", @@ -39,8 +39,8 @@ "updateChangelogTitle": "更新記錄檔", "updateDialogText": "${file} 有新的更新可用。\n\n當前安裝的版本是 ${version}。", "downloadConsentDialogTitle": "需要下載必要檔案嗎?", - "downloadConsentDialogText": "ReVanced Manager 需要下載必要檔案才能正常工作。", - "downloadConsentDialogText2": "這將連接您至 ${url}。", + "downloadConsentDialogText": "ReVanced Manager 需要下載必要檔案才能正常執行。", + "downloadConsentDialogText2": "這將連結您至 ${url}。", "checkUpdateDialogTitle": "檢查更新?", "checkUpdateDialogText": "您希望 ReVanced Manager 自動檢查更新嗎?", "notificationTitle": "更新已下載", @@ -95,10 +95,10 @@ "storageButton": "儲存空間", "selectFromStorageButton": "從儲存空間中選取", "errorMessage": "無法使用所選的應用程式", - "downloadToast": "下載功能尚不可用", + "downloadToast": "下載功能暫時無法使用", "requireSuggestedAppVersionDialogText": "您選擇的應用程式版本與建議版本不符,可能會導致意外問題。請使用建議的版本。\n\n已選擇版本:${selected}\n建議版本:${suggested}\n\n要無視此警告繼續,請在設定中停用「要求使用建議的應用程式版本」。", "featureNotAvailable": "功能尚未實作", - "featureNotAvailableText": "此應用程式為分割 APK,只能通過具有 root 權限的掛載來可靠地進行修補和安裝。不過,您可以通過從儲存中選擇來修補和安裝完整 APK。" + "featureNotAvailableText": "此應用程式為分割 APK,只能通過具有 root 權限的掛載來可靠地進行修補和安裝。不過,您可以透過從儲存空間中選擇來修補和安裝完整 APK。" }, "patchesSelectorView": { "viewTitle": "選取修補檔", @@ -167,7 +167,7 @@ "dataSectionTitle": "資料來源", "themeModeLabel": "應用程式主題", "systemThemeLabel": "系統預設", - "lightThemeLabel": "亮色模式", + "lightThemeLabel": "淺色模式", "darkThemeLabel": "深色模式", "dynamicThemeLabel": "Material You", "dynamicThemeHint": "享受更貼近您裝置的使用體驗", From 612a3bab49083206b6dc9c74e881b7d91501554c Mon Sep 17 00:00:00 2001 From: validcube Date: Tue, 7 May 2024 20:50:26 +0700 Subject: [PATCH 054/127] build: Safely upgrade dependencies --- .../gradle/wrapper/gradle-wrapper.properties | 4 +- pubspec.lock | 52 +++++++++---------- pubspec.yaml | 4 +- 3 files changed, 30 insertions(+), 30 deletions(-) diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 0ce4687fc6..f05034e346 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip -distributionSha256Sum=9631d53cf3e74bfa726893aee1f8994fee4e060c401335946dba2156f440f24c +distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip +distributionSha256Sum=544c35d6bd849ae8a5ed0bcea39ba677dc40f49df7d1835561582da2009b961d networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/pubspec.lock b/pubspec.lock index 59fd3b9836..1f51813465 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -356,10 +356,10 @@ packages: dependency: "direct main" description: name: flutter_local_notifications - sha256: "8cdc719114ab1c86c64bb7a86d3a679674c3637edd229e3a994797d4a1504ce4" + sha256: "40e6fbd2da7dcc7ed78432c5cdab1559674b4af035fddbfb2f9a8f9c2112fcef" url: "https://pub.dev" source: hosted - version: "17.1.0" + version: "17.1.2" flutter_local_notifications_linux: dependency: transitive description: @@ -499,10 +499,10 @@ packages: dependency: "direct main" description: name: injectable - sha256: "3d98967224a5fdd4094a61bf53ed9616c3fbcf3e090bf83e7cb7d436d0c20041" + sha256: fb722c86cf8233008e4db41c696a6145721f45dc8aeba91103e3128c3d63c9c6 url: "https://pub.dev" source: hosted - version: "2.4.1" + version: "2.4.0" injectable_generator: dependency: "direct dev" description: @@ -515,10 +515,10 @@ packages: dependency: "direct main" description: name: intl - sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d" + sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf url: "https://pub.dev" source: hosted - version: "0.18.1" + version: "0.19.0" io: dependency: transitive description: @@ -571,26 +571,26 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa" + sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" url: "https://pub.dev" source: hosted - version: "10.0.0" + version: "10.0.4" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0 + sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.3" leak_tracker_testing: dependency: transitive description: name: leak_tracker_testing - sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47 + sha256: "6ba465d5d76e67ddf503e1161d1f4a6bc42306f9d66ca1e8f079a47290fb06d3" url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "3.0.1" lints: dependency: transitive description: @@ -652,10 +652,10 @@ packages: dependency: transitive description: name: meta - sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04 + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.11.0" + version: "1.12.0" mime: dependency: transitive description: @@ -772,10 +772,10 @@ packages: dependency: transitive description: name: permission_handler_android - sha256: "1acac6bae58144b442f11e66621c062aead9c99841093c38f5bcdcc24c1c3474" + sha256: "8bb852cd759488893805c3161d0b2b5db55db52f773dbb014420b304055ba2c5" url: "https://pub.dev" source: hosted - version: "12.0.5" + version: "12.0.6" permission_handler_apple: dependency: transitive description: @@ -934,10 +934,10 @@ packages: dependency: transitive description: name: shared_preferences_foundation - sha256: "7708d83064f38060c7b39db12aefe449cb8cdc031d6062280087bc4cdb988f5c" + sha256: "0a8a893bf4fd1152f93fec03a415d11c27c74454d96e2318a7ac38dd18683ab7" url: "https://pub.dev" source: hosted - version: "2.3.5" + version: "2.4.0" shared_preferences_linux: dependency: transitive description: @@ -1051,10 +1051,10 @@ packages: dependency: transitive description: name: sqflite - sha256: "5ce2e1a15e822c3b4bfb5400455775e421da7098eed8adc8f26298ada7c9308c" + sha256: a43e5a27235518c03ca238e7b4732cf35eabe863a369ceba6cbefa537a66f16d url: "https://pub.dev" source: hosted - version: "2.3.3" + version: "2.3.3+1" sqflite_common: dependency: transitive description: @@ -1147,10 +1147,10 @@ packages: dependency: transitive description: name: test_api - sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" + sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" url: "https://pub.dev" source: hosted - version: "0.6.1" + version: "0.7.0" timeago: dependency: "direct main" description: @@ -1275,18 +1275,18 @@ packages: dependency: transitive description: name: vm_service - sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957 + sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" url: "https://pub.dev" source: hosted - version: "13.0.0" + version: "14.2.1" wakelock_plus: dependency: "direct main" description: name: wakelock_plus - sha256: c8b7cc80f045533b40a0e6c9109905494e3cf32c0fbd5c62616998e0de44003f + sha256: "14758533319a462ffb5aa3b7ddb198e59b29ac3b02da14173a1715d65d4e6e68" url: "https://pub.dev" source: hosted - version: "1.2.4" + version: "1.2.5" wakelock_plus_platform_interface: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 4ce0d975b4..9790b4b621 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -38,8 +38,8 @@ dependencies: fluttertoast: ^8.2.5 font_awesome_flutter: ^10.7.0 google_fonts: ^6.2.1 - injectable: ^2.4.1 - intl: ^0.18.1 + injectable: ^2.4.0 + intl: ^0.19.0 json_annotation: ^4.9.0 language_code: ^0.5.3+2 logcat: From 6b03f3a169f6c9d889b3b835668383ff98682e14 Mon Sep 17 00:00:00 2001 From: validcube Date: Tue, 7 May 2024 20:51:01 +0700 Subject: [PATCH 055/127] fix: Change problematic translation string --- assets/i18n/strings_ko_KR.i18n.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/i18n/strings_ko_KR.i18n.json b/assets/i18n/strings_ko_KR.i18n.json index 4af98ec6b7..63548201f6 100755 --- a/assets/i18n/strings_ko_KR.i18n.json +++ b/assets/i18n/strings_ko_KR.i18n.json @@ -184,7 +184,7 @@ "apiURLResetDialogText": "정말 API URL을 기본값으로 되돌릴까요?", "sourcesUpdateNote": "알림: 변경하면 대체 소스에서 ReVanced Patches 및 ReVanced Integrations이 자동으로 다운로드됩니다. \n\n그 이후에는 대체 소스로 연결됩니다.", "apiURLLabel": "API URL", - "apiURLHint": "ReVanced Manager의 API URL를 설정할 수 있습니다.\\n만약 Dashboad의 업데이트 항목이 \\'Loading\\'이라면 ReVanced API 접근 제한이므로 다른 기기에서 시도하거나 1시간 정도 후에 다시 시도하세요.", + "apiURLHint": "ReVanced Manager의 API URL를 설정할 수 있습니다.", "selectApiURL": "API URL", "orgPatchesLabel": "Patches 구성", "sourcesPatchesLabel": "Patches 소스", From 200483d733ed6ff1798479c50c42a81c2ae8ad85 Mon Sep 17 00:00:00 2001 From: validcube Date: Tue, 7 May 2024 20:51:34 +0700 Subject: [PATCH 056/127] ci: Always validate Dart file during translation --- .github/workflows/sync_crowdin.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/sync_crowdin.yml b/.github/workflows/sync_crowdin.yml index f750dd7ecc..a32d26ea8b 100644 --- a/.github/workflows/sync_crowdin.yml +++ b/.github/workflows/sync_crowdin.yml @@ -49,6 +49,10 @@ jobs: sudo chmod 777 *.json dart nuke.dart >> $GITHUB_STEP_SUMMARY + - name: Validation of Translation Strings + run: | + dart analyze lib/gen/strings.g.dart + - name: Commit translations run: | git config user.name revanced-bot From 3ceb63be1dc5013c7c17fa0cbafd8eaaec9df8f7 Mon Sep 17 00:00:00 2001 From: validcube Date: Tue, 7 May 2024 20:53:43 +0700 Subject: [PATCH 057/127] build: Downgrade intl to 0.18.1 1.19.0 is for beta channel atm --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 9790b4b621..922b6fa0bc 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -39,7 +39,7 @@ dependencies: font_awesome_flutter: ^10.7.0 google_fonts: ^6.2.1 injectable: ^2.4.0 - intl: ^0.19.0 + intl: ^0.18.1 json_annotation: ^4.9.0 language_code: ^0.5.3+2 logcat: From fa6ad214f93f60d2fd5360efaea8c06cb62d608d Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Tue, 7 May 2024 14:01:16 +0000 Subject: [PATCH 058/127] chore(release): 1.21.0-dev.3 [skip ci] # [1.21.0-dev.3](https://github.com/ReVanced/revanced-manager/compare/v1.21.0-dev.2...v1.21.0-dev.3) (2024-05-07) ### Bug Fixes * Change problematic translation string ([6b03f3a](https://github.com/ReVanced/revanced-manager/commit/6b03f3a169f6c9d889b3b835668383ff98682e14)) --- pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pubspec.yaml b/pubspec.yaml index 922b6fa0bc..5ba61cc81b 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -4,7 +4,7 @@ homepage: https://github.com/ReVanced/revanced-manager publish_to: 'none' -version: 1.21.0-dev.2+101800018 +version: 1.21.0-dev.3+101800019 environment: sdk: '>=3.0.0 <4.0.0' From cc85b393dc3340d358182540f2ad91ffdc83c87d Mon Sep 17 00:00:00 2001 From: KobeW50 <84587632+KobeW50@users.noreply.github.com> Date: Fri, 17 May 2024 14:18:29 -0400 Subject: [PATCH 059/127] docs: Fix punctuation in issue forms (#1909) --- .github/ISSUE_TEMPLATE/bug_report.yml | 2 +- .github/ISSUE_TEMPLATE/feature_request.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 9262e7bb3a..78431c64c5 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -122,5 +122,5 @@ body: required: true - label: All requested information has been provided properly. required: true - - label: The bug is only related to ReVanced Manager + - label: The bug is only related to ReVanced Manager. required: true diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index 73cc7976d2..44d6cfb6a7 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -102,5 +102,5 @@ body: required: true - label: I have chosen an appropriate title. required: true - - label: The feature request is only related to ReVanced Manager + - label: The feature request is only related to ReVanced Manager. required: true From 2c3e2e639f9f9b981f2438fef3c1e2f52f130a6d Mon Sep 17 00:00:00 2001 From: kitadai31 <90122968+kitadai31@users.noreply.github.com> Date: Sun, 19 May 2024 02:52:13 +0900 Subject: [PATCH 060/127] fix: Cache external API calls (#1911) --- lib/services/github_api.dart | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/lib/services/github_api.dart b/lib/services/github_api.dart index 0d68637ff3..277ad0de97 100644 --- a/lib/services/github_api.dart +++ b/lib/services/github_api.dart @@ -6,12 +6,14 @@ import 'package:injectable/injectable.dart'; import 'package:revanced_manager/app/app.locator.dart'; import 'package:revanced_manager/services/download_manager.dart'; import 'package:revanced_manager/services/manager_api.dart'; +import 'package:synchronized/synchronized.dart'; @lazySingleton class GithubAPI { late final Dio _dio; late final ManagerAPI _managerAPI = locator(); late final DownloadManager _downloadManager = locator(); + final Map _lockMap = {}; Future initialize(String repoUrl) async { _dio = _downloadManager.initDio(repoUrl); @@ -21,11 +23,21 @@ class GithubAPI { await _downloadManager.clearAllCache(); } + Future _dioGetSynchronously(String path) async { + // Create a new Lock for each path + if (!_lockMap.containsKey(path)) { + _lockMap[path] = Lock(); + } + return _lockMap[path]!.synchronized(() async { + return await _dio.get(path); + }); + } + Future?> getLatestRelease( String repoName, ) async { try { - final response = await _dio.get( + final response = await _dioGetSynchronously( '/repos/$repoName/releases/latest', ); return response.data; @@ -41,7 +53,7 @@ class GithubAPI { String repoName, ) async { try { - final response = await _dio.get( + final response = await _dioGetSynchronously( '/repos/$repoName/releases', ); final Map releases = response.data[0]; @@ -87,7 +99,7 @@ class GithubAPI { url, ); } - final response = await _dio.get( + final response = await _dioGetSynchronously( '/repos/$repoName/releases/tags/$version', ); final Map? release = response.data; From f03af17f71fc500501378dfc4ad0b5fdc9b6f575 Mon Sep 17 00:00:00 2001 From: KobeW50 <84587632+KobeW50@users.noreply.github.com> Date: Sat, 18 May 2024 14:33:18 -0400 Subject: [PATCH 061/127] docs: Fix issue template mistakes (#1910) --- .github/ISSUE_TEMPLATE/bug_report.yml | 4 ++-- .github/ISSUE_TEMPLATE/feature_request.yml | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 78431c64c5..8c2e8a01fb 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -99,14 +99,14 @@ body: - type: textarea attributes: label: ReVanced Manager logs - description: Export logs in ReVanced Manager settings. + description: Export logs from the ReVanced Manager settings. render: shell validations: required: true - type: textarea attributes: label: Patch logs - description: Export logs in "Patcher" screen. + description: Export logs from the "Patcher" screen. render: shell validations: required: false diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index 44d6cfb6a7..c03e645f32 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -79,7 +79,6 @@ body: description: | - Describe your feature in detail - Add images, videos, links, examples, references, etc. if possible - - Add the target application name in case you request a new patch - type: textarea attributes: label: Motivation From e83fbb864e993f7ead914c04586d3c5af04ea646 Mon Sep 17 00:00:00 2001 From: Pun Butrach Date: Sun, 19 May 2024 18:46:49 +0700 Subject: [PATCH 062/127] ci: Run slang first before validating translation --- .github/workflows/sync_crowdin.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/sync_crowdin.yml b/.github/workflows/sync_crowdin.yml index a32d26ea8b..bc2f651105 100644 --- a/.github/workflows/sync_crowdin.yml +++ b/.github/workflows/sync_crowdin.yml @@ -51,6 +51,8 @@ jobs: - name: Validation of Translation Strings run: | + dart pub get + dart run slang dart analyze lib/gen/strings.g.dart - name: Commit translations From 8b21ec1ea3bc2b068843765ca457432e1afdd991 Mon Sep 17 00:00:00 2001 From: Pun Butrach Date: Sun, 19 May 2024 18:54:48 +0700 Subject: [PATCH 063/127] ci: Switch to Flutter instead --- .github/workflows/sync_crowdin.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/sync_crowdin.yml b/.github/workflows/sync_crowdin.yml index bc2f651105..02ca74b42a 100644 --- a/.github/workflows/sync_crowdin.yml +++ b/.github/workflows/sync_crowdin.yml @@ -20,8 +20,10 @@ jobs: with: fetch-depth: 0 - - name: Setup Dart - uses: dart-lang/setup-dart@v1 + - name: Setup Flutter + uses: subosito/flutter-action@v2 + with: + cache: true - name: Sync translations from Crowdin uses: crowdin/github-action@v1 From 5f762c544244b9c6931784c06468639b1c79d64e Mon Sep 17 00:00:00 2001 From: validcube Date: Sun, 19 May 2024 18:37:57 +0700 Subject: [PATCH 064/127] build: Update Dart dependencies Signed-off-by: validcube --- pubspec.lock | 16 ++++++++-------- pubspec.yaml | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/pubspec.lock b/pubspec.lock index 1f51813465..a1c39cc83a 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -499,10 +499,10 @@ packages: dependency: "direct main" description: name: injectable - sha256: fb722c86cf8233008e4db41c696a6145721f45dc8aeba91103e3128c3d63c9c6 + sha256: "3c8355a29d11ff28c0311bed754649761f345ef7a13ff66a714380954af51226" url: "https://pub.dev" source: hosted - version: "2.4.0" + version: "2.4.2" injectable_generator: dependency: "direct dev" description: @@ -732,10 +732,10 @@ packages: dependency: transitive description: name: path_provider_foundation - sha256: "5a7999be66e000916500be4f15a3633ebceb8302719b47b9cc49ce924125350f" + sha256: f234384a3fdd67f989b4d54a5d73ca2a6c422fa55ae694381ae0f4375cd1ea16 url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.4.0" path_provider_linux: dependency: transitive description: @@ -1211,10 +1211,10 @@ packages: dependency: transitive description: name: url_launcher_ios - sha256: "9149d493b075ed740901f3ee844a38a00b33116c7c5c10d7fb27df8987fb51d5" + sha256: "7068716403343f6ba4969b4173cbf3b84fc768042124bc2c011e5d782b24fe89" url: "https://pub.dev" source: hosted - version: "6.2.5" + version: "6.3.0" url_launcher_linux: dependency: transitive description: @@ -1227,10 +1227,10 @@ packages: dependency: transitive description: name: url_launcher_macos - sha256: b7244901ea3cf489c5335bdacda07264a6e960b1c1b1a9f91e4bc371d9e68234 + sha256: "9a1a42d5d2d95400c795b2914c36fdcb525870c752569438e4ebb09a2b5d90de" url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.2.0" url_launcher_platform_interface: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 5ba61cc81b..d9474a805f 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -39,7 +39,7 @@ dependencies: font_awesome_flutter: ^10.7.0 google_fonts: ^6.2.1 injectable: ^2.4.0 - intl: ^0.18.1 + intl: 0.19.0 json_annotation: ^4.9.0 language_code: ^0.5.3+2 logcat: From 8fc5fb6a80ef5091598ced5df09be497c5af78ba Mon Sep 17 00:00:00 2001 From: oSumAtrIX Date: Sun, 26 May 2024 00:43:38 +0200 Subject: [PATCH 065/127] docs: Improve issue templates --- .github/ISSUE_TEMPLATE/bug_report.yml | 4 ++-- .github/ISSUE_TEMPLATE/feature_request.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 8c2e8a01fb..7808c795d1 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -70,7 +70,7 @@ body: Before creating a new bug report, please keep the following in mind: - - **Do not submit a duplicate bug report**: You can review existing bug reports [here](https://github.com/ReVanced/revanced-manager/labels/Bug%20report). + - **Do not submit a duplicate bug report**: Search for existing bug reports [here](https://github.com/ReVanced/revanced-manager/issues?q=label%3A%22Bug+report%22). - **Review the contribution guidelines**: Make sure your bug report adheres to it. You can find the guidelines [here](https://github.com/ReVanced/revanced-manager/blob/main/CONTRIBUTING.md). - **Do not use the issue page for support**: If you need help or have questions, check out other platforms on [revanced.app](https://revanced.app). - type: textarea @@ -116,7 +116,7 @@ body: label: Acknowledgements description: Your bug report will be closed if you don't follow the checklist below. options: - - label: This issue is not a duplicate of an existing bug report. + - label: I have checked all open and closed bug reports and this is not a duplicate. required: true - label: I have chosen an appropriate title. required: true diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index c03e645f32..f52fe568c8 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -70,7 +70,7 @@ body: Before creating a new feature request, please keep the following in mind: - - **Do not submit a duplicate feature request**: You can review existing feature requests [here](https://github.com/ReVanced/revanced-manager//labels/Feature%20request). + - **Do not submit a duplicate feature request**: Search for existing feature requests [here](https://github.com/ReVanced/revanced-manager/issues?q=label%3A%22Feature+request%22). - **Review the contribution guidelines**: Make sure your feature request adheres to it. You can find the guidelines [here](https://github.com/ReVanced/revanced-manager/blob/main/CONTRIBUTING.md). - **Do not use the issue page for support**: If you need help or have questions, check out other platforms on [revanced.app](https://revanced.app). - type: textarea @@ -97,7 +97,7 @@ body: label: Acknowledgements description: Your feature request will be closed if you don't follow the checklist below. options: - - label: This issue is not a duplicate of an existing feature request. + - label: I have checked all open and closed feature requests and this is not a duplicate. required: true - label: I have chosen an appropriate title. required: true From 9084c71aa37fa7a2bd18580b3be4c9707cbfaa3a Mon Sep 17 00:00:00 2001 From: oSumAtrIX Date: Sun, 26 May 2024 01:10:24 +0200 Subject: [PATCH 066/127] build: Bump dependencies --- .../gradle/wrapper/gradle-wrapper.properties | 2 +- android/settings.gradle | 4 +- package-lock.json | 763 +++++++++--------- package.json | 2 +- 4 files changed, 387 insertions(+), 384 deletions(-) diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index f05034e346..f18dc82d73 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists +distributionSha256Sum=544c35d6bd849 distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip -distributionSha256Sum=544c35d6bd849ae8a5ed0bcea39ba677dc40f49df7d1835561582da2009b961d networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/android/settings.gradle b/android/settings.gradle index 02488bfc00..d5a7fb5f37 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -18,8 +18,8 @@ pluginManagement { plugins { id "dev.flutter.flutter-plugin-loader" version "1.0.0" - id "com.android.application" version "8.1.2" apply false - id "org.jetbrains.kotlin.android" version "1.9.23" apply false + id "com.android.application" version "8.4.1" apply false + id "org.jetbrains.kotlin.android" version "2.0.0" apply false } include ":app" diff --git a/package-lock.json b/package-lock.json index 23808057db..bffec61a79 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,16 +10,16 @@ "@semantic-release/changelog": "^6.0.3", "@semantic-release/exec": "^6.0.3", "@semantic-release/git": "^10.0.1", - "semantic-release": "^23.0.7" + "semantic-release": "^23.0.8" } }, "node_modules/@babel/code-frame": { - "version": "7.24.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", - "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.6.tgz", + "integrity": "sha512-ZJhac6FkEd1yhG2AHOmfcXG4ceoLltoCVJjN5XsWN9BifBQr+cHJbWi0h68HZuSORq+3WtJ2z0hwF2NG1b5kcA==", "dev": true, "dependencies": { - "@babel/highlight": "^7.24.2", + "@babel/highlight": "^7.24.6", "picocolors": "^1.0.0" }, "engines": { @@ -27,21 +27,21 @@ } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.6.tgz", + "integrity": "sha512-4yA7s865JHaqUdRbnaxarZREuPTHrjpDT+pXoAZ1yhyo6uFnIEpS8VMu16siFOHDpZNKYv5BObhsB//ycbICyw==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.24.2", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", - "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.6.tgz", + "integrity": "sha512-2YnuOp4HAk2BsBrJJvYCbItHx0zWscI1C3zgWkz+wDyD9I7GIVrfnLyrR4Y1VR+7p+chAEcrgRQYZAGIKMV7vQ==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-validator-identifier": "^7.24.6", "chalk": "^2.4.2", "js-tokens": "^4.0.0", "picocolors": "^1.0.0" @@ -163,18 +163,18 @@ } }, "node_modules/@octokit/openapi-types": { - "version": "22.1.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.1.0.tgz", - "integrity": "sha512-pGUdSP+eEPfZiQHNkZI0U01HLipxncisdJQB4G//OAmfeO8sqTQ9KRa0KF03TUPCziNsoXUrTg4B2Q1EX++T0Q==", + "version": "22.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", + "integrity": "sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==", "dev": true }, "node_modules/@octokit/plugin-paginate-rest": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.2.0.tgz", - "integrity": "sha512-Nd3hCJbr5GUwTgV6j2dMONIigoqNwJRm+yvA5BYb1dnGBTmVUrGYGNwYsGl2hN+xtDAYpqxDiz8vysh/NqEN+A==", + "version": "11.3.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.0.tgz", + "integrity": "sha512-n4znWfRinnUQF6TPyxs7EctSAA3yVSP4qlJP2YgI3g9d4Ae2n5F3XDOjbUluKRxPU3rfsgpOboI4O4VtPc6Ilg==", "dev": true, "dependencies": { - "@octokit/types": "^13.4.1" + "@octokit/types": "^13.5.0" }, "engines": { "node": ">= 18" @@ -201,9 +201,9 @@ } }, "node_modules/@octokit/plugin-throttling": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-9.2.1.tgz", - "integrity": "sha512-n6EK4/1Npva54sAFDdpUxAbO14FbzudJ/k7DZPjQuLYOvNTWj4DGeH//J9ZCVoLkAlvRWV5sWKLaICsmGvqg2g==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-9.3.0.tgz", + "integrity": "sha512-B5YTToSRTzNSeEyssnrT7WwGhpIdbpV9NKIs3KyTWHX6PhpYn7gqF/+lL3BvsASBM3Sg5BAUYk7KZx5p/Ec77w==", "dev": true, "dependencies": { "@octokit/types": "^13.0.0", @@ -244,12 +244,12 @@ } }, "node_modules/@octokit/types": { - "version": "13.4.1", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.4.1.tgz", - "integrity": "sha512-Y73oOAzRBAUzR/iRAbGULzpNkX8vaxKCqEtg6K74Ff3w9f5apFnWtE/2nade7dMWWW3bS5Kkd6DJS4HF04xreg==", + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.5.0.tgz", + "integrity": "sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ==", "dev": true, "dependencies": { - "@octokit/openapi-types": "^22.1.0" + "@octokit/openapi-types": "^22.2.0" } }, "node_modules/@pnpm/config.env-replace": { @@ -1084,6 +1084,12 @@ "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==", "dev": true }, + "node_modules/@sec-ant/readable-stream": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", + "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", + "dev": true + }, "node_modules/@semantic-release/changelog": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/@semantic-release/changelog/-/changelog-6.0.3.tgz", @@ -1175,9 +1181,9 @@ } }, "node_modules/@semantic-release/github": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-10.0.3.tgz", - "integrity": "sha512-nSJQboKrG4xBn7hHpRMrK8lt5DgqJg50ZMz9UbrsfTxuRk55XVoQEadbGZ2L9M0xZAC6hkuwkDhQJKqfPU35Fw==", + "version": "10.0.5", + "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-10.0.5.tgz", + "integrity": "sha512-hmuCDkfru/Uc9+ZBNOSremAupu6BCslvOVDiG0wYcL8TQodCycp6uvwDyeym1H0M4l3ob9c0s0xMBiZjjXQ2yA==", "dev": true, "dependencies": { "@octokit/core": "^6.0.0", @@ -1269,14 +1275,14 @@ } }, "node_modules/@semantic-release/npm": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-12.0.0.tgz", - "integrity": "sha512-72TVYQCH9NvVsO/y13eF8vE4bNnfls518+4KcFwJUKi7AtA/ZXoNgSg9gTTfw5eMZMkiH0izUrpGXgZE/cSQhA==", + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-12.0.1.tgz", + "integrity": "sha512-/6nntGSUGK2aTOI0rHPwY3ZjgY9FkXmEHbW9Kr+62NVOsyqpKKeP0lrCH+tphv+EsNdJNmqqwijTEnVWUMQ2Nw==", "dev": true, "dependencies": { "@semantic-release/error": "^4.0.0", "aggregate-error": "^5.0.0", - "execa": "^8.0.0", + "execa": "^9.0.0", "fs-extra": "^11.0.0", "lodash-es": "^4.17.21", "nerf-dart": "^1.0.0", @@ -1304,6 +1310,18 @@ "node": ">=18" } }, + "node_modules/@semantic-release/npm/node_modules/@sindresorhus/merge-streams": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", + "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@semantic-release/npm/node_modules/aggregate-error": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", @@ -1348,47 +1366,54 @@ } }, "node_modules/@semantic-release/npm/node_modules/execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-9.1.0.tgz", + "integrity": "sha512-lSgHc4Elo2m6bUDhc3Hl/VxvUDJdQWI40RZ4KMY9bKRc+hgMOT7II/JjbNDhI8VnMtrCb7U/fhpJIkLORZozWw==", "dev": true, "dependencies": { + "@sindresorhus/merge-streams": "^4.0.0", "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", + "figures": "^6.1.0", + "get-stream": "^9.0.0", + "human-signals": "^7.0.0", + "is-plain-obj": "^4.1.0", + "is-stream": "^4.0.1", + "npm-run-path": "^5.2.0", + "pretty-ms": "^9.0.0", "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" + "strip-final-newline": "^4.0.0", + "yoctocolors": "^2.0.0" }, "engines": { - "node": ">=16.17" + "node": ">=18" }, "funding": { "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, "node_modules/@semantic-release/npm/node_modules/get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", + "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", "dev": true, + "dependencies": { + "@sec-ant/readable-stream": "^0.4.1", + "is-stream": "^4.0.1" + }, "engines": { - "node": ">=16" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@semantic-release/npm/node_modules/human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-7.0.0.tgz", + "integrity": "sha512-74kytxOUSvNbjrT9KisAbaTZ/eJwD/LrbM/kh5j0IhPuJzwuA19dWvniFGwBzN9rVjg+O/e+F310PjObDXS+9Q==", "dev": true, "engines": { - "node": ">=16.17.0" + "node": ">=18.18.0" } }, "node_modules/@semantic-release/npm/node_modules/indent-string": { @@ -1404,24 +1429,12 @@ } }, "node_modules/@semantic-release/npm/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@semantic-release/npm/node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", "dev": true, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -1442,21 +1455,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@semantic-release/npm/node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dev": true, - "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@semantic-release/npm/node_modules/path-key": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", @@ -1482,12 +1480,12 @@ } }, "node_modules/@semantic-release/npm/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", + "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", "dev": true, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -1713,12 +1711,12 @@ "dev": true }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -1927,9 +1925,9 @@ } }, "node_modules/cli-table3": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.4.tgz", - "integrity": "sha512-Lm3L0p+/npIQWNIiyF/nAn7T5dnOwR3xNTHXYEBFBFVPXzCVNZ5lqEC/1eo/EVfpDsQ1I+TX4ORPQgp+UI0CRw==", + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz", + "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==", "dev": true, "dependencies": { "string-width": "^4.2.0" @@ -2680,9 +2678,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" @@ -2774,9 +2772,9 @@ } }, "node_modules/function-timeout": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/function-timeout/-/function-timeout-1.0.1.tgz", - "integrity": "sha512-6yPMImFFuaMPNaTMTBuolA8EanHJWF5Vju0NHpObRURT105J6x1Mf2a7J4P7Sqk2xDxv24N5L0RatEhTBhNmdA==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/function-timeout/-/function-timeout-1.0.2.tgz", + "integrity": "sha512-939eZS4gJ3htTHAldmyyuzlrD58P03fHG49v2JfFXbV6OhvZKRC9j2yAtdHw/zrp2zXHuv05zMIy40F0ge7spA==", "dev": true, "engines": { "node": ">=18" @@ -2905,12 +2903,13 @@ } }, "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", "dev": true, "dependencies": { - "define-properties": "^1.1.3" + "define-properties": "^1.2.1", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -3093,9 +3092,9 @@ } }, "node_modules/hosted-git-info": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz", - "integrity": "sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", + "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", "dev": true, "dependencies": { "lru-cache": "^10.0.1" @@ -3187,9 +3186,9 @@ } }, "node_modules/import-meta-resolve": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.0.0.tgz", - "integrity": "sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.1.0.tgz", + "integrity": "sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==", "dev": true, "funding": { "type": "github", @@ -3438,6 +3437,18 @@ "node": ">=8" } }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-regex": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", @@ -3787,9 +3798,9 @@ "dev": true }, "node_modules/lru-cache": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.1.tgz", - "integrity": "sha512-tS24spDe/zXhWbNPErCHs/AGOzbKGHT+ybSBqmdLm8WZ1xXLWvH8Qn71QPAlqVhd0qUTWjy+Kl9JmISgDdEjsA==", + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", + "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", "dev": true, "engines": { "node": "14 || >=16.14" @@ -3867,12 +3878,12 @@ } }, "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", "dev": true, "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { @@ -3957,9 +3968,9 @@ } }, "node_modules/normalize-package-data": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.0.tgz", - "integrity": "sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.1.tgz", + "integrity": "sha512-6rvCfeRW+OEZagAB4lMLSNuTNYZWLVtKccK79VSTf//yTY5VOCgcpH80O+bZK8Neps7pUnd5G+QlMg1yV/2iZQ==", "dev": true, "dependencies": { "hosted-git-info": "^7.0.0", @@ -3984,9 +3995,9 @@ } }, "node_modules/npm": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/npm/-/npm-10.6.0.tgz", - "integrity": "sha512-KC70Su2ZnO9v4i2t+M0sQcsRERk++XcYbK9fy4bLWzUCV2nELhSN7UAkoe42P4HQTg2LyQxcfntgYS89OEaOsA==", + "version": "10.8.0", + "resolved": "https://registry.npmjs.org/npm/-/npm-10.8.0.tgz", + "integrity": "sha512-wh93uRczgp7HDnPMiLXcCkv2hagdJS0zJ9KT/31d0FoXP02+qgN2AOwpaW85fxRWkinl2rELfPw+CjBXW48/jQ==", "bundleDependencies": [ "@isaacs/string-locale-compare", "@npmcli/arborist", @@ -4043,7 +4054,6 @@ "pacote", "parse-conflict-json", "proc-log", - "proggy", "qrcode-terminal", "read", "semver", @@ -4059,74 +4069,80 @@ "write-file-atomic" ], "dev": true, + "workspaces": [ + "docs", + "smoke-tests", + "mock-globals", + "mock-registry", + "workspaces/*" + ], "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/arborist": "^7.2.1", - "@npmcli/config": "^8.0.2", - "@npmcli/fs": "^3.1.0", + "@npmcli/arborist": "^7.5.2", + "@npmcli/config": "^8.3.2", + "@npmcli/fs": "^3.1.1", "@npmcli/map-workspaces": "^3.0.6", "@npmcli/package-json": "^5.1.0", - "@npmcli/promise-spawn": "^7.0.1", - "@npmcli/redact": "^1.1.0", - "@npmcli/run-script": "^8.0.0", - "@sigstore/tuf": "^2.3.2", + "@npmcli/promise-spawn": "^7.0.2", + "@npmcli/redact": "^2.0.0", + "@npmcli/run-script": "^8.1.0", + "@sigstore/tuf": "^2.3.3", "abbrev": "^2.0.0", "archy": "~1.0.0", - "cacache": "^18.0.2", + "cacache": "^18.0.3", "chalk": "^5.3.0", "ci-info": "^4.0.0", "cli-columns": "^4.0.0", "fastest-levenshtein": "^1.0.16", "fs-minipass": "^3.0.3", - "glob": "^10.3.12", + "glob": "^10.3.15", "graceful-fs": "^4.2.11", - "hosted-git-info": "^7.0.1", + "hosted-git-info": "^7.0.2", "ini": "^4.1.2", - "init-package-json": "^6.0.2", + "init-package-json": "^6.0.3", "is-cidr": "^5.0.5", - "json-parse-even-better-errors": "^3.0.1", - "libnpmaccess": "^8.0.1", - "libnpmdiff": "^6.0.3", - "libnpmexec": "^7.0.4", - "libnpmfund": "^5.0.1", - "libnpmhook": "^10.0.0", - "libnpmorg": "^6.0.1", - "libnpmpack": "^6.0.3", - "libnpmpublish": "^9.0.2", - "libnpmsearch": "^7.0.0", - "libnpmteam": "^6.0.0", - "libnpmversion": "^5.0.1", - "make-fetch-happen": "^13.0.0", + "json-parse-even-better-errors": "^3.0.2", + "libnpmaccess": "^8.0.6", + "libnpmdiff": "^6.1.2", + "libnpmexec": "^8.1.1", + "libnpmfund": "^5.0.10", + "libnpmhook": "^10.0.5", + "libnpmorg": "^6.0.6", + "libnpmpack": "^7.0.2", + "libnpmpublish": "^9.0.8", + "libnpmsearch": "^7.0.5", + "libnpmteam": "^6.0.5", + "libnpmversion": "^6.0.2", + "make-fetch-happen": "^13.0.1", "minimatch": "^9.0.4", - "minipass": "^7.0.4", + "minipass": "^7.1.1", "minipass-pipeline": "^1.2.4", "ms": "^2.1.2", "node-gyp": "^10.1.0", - "nopt": "^7.2.0", - "normalize-package-data": "^6.0.0", + "nopt": "^7.2.1", + "normalize-package-data": "^6.0.1", "npm-audit-report": "^5.0.0", "npm-install-checks": "^6.3.0", "npm-package-arg": "^11.0.2", - "npm-pick-manifest": "^9.0.0", - "npm-profile": "^9.0.1", - "npm-registry-fetch": "^16.2.1", - "npm-user-validate": "^2.0.0", + "npm-pick-manifest": "^9.0.1", + "npm-profile": "^10.0.0", + "npm-registry-fetch": "^17.0.1", + "npm-user-validate": "^2.0.1", "p-map": "^4.0.0", - "pacote": "^18.0.2", + "pacote": "^18.0.6", "parse-conflict-json": "^3.0.1", "proc-log": "^4.2.0", - "proggy": "^2.0.0", "qrcode-terminal": "^0.12.0", "read": "^3.0.1", - "semver": "^7.6.0", + "semver": "^7.6.2", "spdx-expression-parse": "^4.0.0", - "ssri": "^10.0.5", + "ssri": "^10.0.6", "supports-color": "^9.4.0", "tar": "^6.2.1", "text-table": "~0.2.0", "tiny-relative-date": "^1.3.0", "treeverse": "^3.0.0", - "validate-npm-package-name": "^5.0.0", + "validate-npm-package-name": "^5.0.1", "which": "^4.0.0", "write-file-atomic": "^5.0.1" }, @@ -4240,35 +4256,36 @@ } }, "node_modules/npm/node_modules/@npmcli/arborist": { - "version": "7.5.0", + "version": "7.5.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/fs": "^3.1.0", + "@npmcli/fs": "^3.1.1", "@npmcli/installed-package-contents": "^2.1.0", "@npmcli/map-workspaces": "^3.0.2", - "@npmcli/metavuln-calculator": "^7.1.0", + "@npmcli/metavuln-calculator": "^7.1.1", "@npmcli/name-from-folder": "^2.0.0", "@npmcli/node-gyp": "^3.0.0", "@npmcli/package-json": "^5.1.0", "@npmcli/query": "^3.1.0", - "@npmcli/redact": "^1.1.0", - "@npmcli/run-script": "^8.0.0", - "bin-links": "^4.0.1", - "cacache": "^18.0.0", + "@npmcli/redact": "^2.0.0", + "@npmcli/run-script": "^8.1.0", + "bin-links": "^4.0.4", + "cacache": "^18.0.3", "common-ancestor-path": "^1.0.1", - "hosted-git-info": "^7.0.1", - "json-parse-even-better-errors": "^3.0.0", + "hosted-git-info": "^7.0.2", + "json-parse-even-better-errors": "^3.0.2", "json-stringify-nice": "^1.1.4", + "lru-cache": "^10.2.2", "minimatch": "^9.0.4", - "nopt": "^7.0.0", + "nopt": "^7.2.1", "npm-install-checks": "^6.2.0", "npm-package-arg": "^11.0.2", - "npm-pick-manifest": "^9.0.0", - "npm-registry-fetch": "^16.2.1", - "pacote": "^18.0.1", + "npm-pick-manifest": "^9.0.1", + "npm-registry-fetch": "^17.0.1", + "pacote": "^18.0.6", "parse-conflict-json": "^3.0.0", "proc-log": "^4.2.0", "proggy": "^2.0.0", @@ -4276,7 +4293,7 @@ "promise-call-limit": "^3.0.1", "read-package-json-fast": "^3.0.2", "semver": "^7.3.7", - "ssri": "^10.0.5", + "ssri": "^10.0.6", "treeverse": "^3.0.0", "walk-up-path": "^3.0.1" }, @@ -4288,7 +4305,7 @@ } }, "node_modules/npm/node_modules/@npmcli/config": { - "version": "8.3.0", + "version": "8.3.2", "dev": true, "inBundle": true, "license": "ISC", @@ -4296,7 +4313,7 @@ "@npmcli/map-workspaces": "^3.0.2", "ci-info": "^4.0.0", "ini": "^4.1.2", - "nopt": "^7.0.0", + "nopt": "^7.2.1", "proc-log": "^4.2.0", "read-package-json-fast": "^3.0.2", "semver": "^7.3.5", @@ -4307,7 +4324,7 @@ } }, "node_modules/npm/node_modules/@npmcli/fs": { - "version": "3.1.0", + "version": "3.1.1", "dev": true, "inBundle": true, "license": "ISC", @@ -4319,7 +4336,7 @@ } }, "node_modules/npm/node_modules/@npmcli/git": { - "version": "5.0.6", + "version": "5.0.7", "dev": true, "inBundle": true, "license": "ISC", @@ -4369,7 +4386,7 @@ } }, "node_modules/npm/node_modules/@npmcli/metavuln-calculator": { - "version": "7.1.0", + "version": "7.1.1", "dev": true, "inBundle": true, "license": "ISC", @@ -4421,7 +4438,7 @@ } }, "node_modules/npm/node_modules/@npmcli/promise-spawn": { - "version": "7.0.1", + "version": "7.0.2", "dev": true, "inBundle": true, "license": "ISC", @@ -4445,7 +4462,7 @@ } }, "node_modules/npm/node_modules/@npmcli/redact": { - "version": "1.1.0", + "version": "2.0.0", "dev": true, "inBundle": true, "license": "ISC", @@ -4454,7 +4471,7 @@ } }, "node_modules/npm/node_modules/@npmcli/run-script": { - "version": "8.0.0", + "version": "8.1.0", "dev": true, "inBundle": true, "license": "ISC", @@ -4502,7 +4519,7 @@ } }, "node_modules/npm/node_modules/@sigstore/protobuf-specs": { - "version": "0.3.1", + "version": "0.3.2", "dev": true, "inBundle": true, "license": "Apache-2.0", @@ -4511,7 +4528,7 @@ } }, "node_modules/npm/node_modules/@sigstore/sign": { - "version": "2.3.0", + "version": "2.3.1", "dev": true, "inBundle": true, "license": "Apache-2.0", @@ -4519,20 +4536,22 @@ "@sigstore/bundle": "^2.3.0", "@sigstore/core": "^1.0.0", "@sigstore/protobuf-specs": "^0.3.1", - "make-fetch-happen": "^13.0.0" + "make-fetch-happen": "^13.0.1", + "proc-log": "^4.2.0", + "promise-retry": "^2.0.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/@sigstore/tuf": { - "version": "2.3.2", + "version": "2.3.3", "dev": true, "inBundle": true, "license": "Apache-2.0", "dependencies": { "@sigstore/protobuf-specs": "^0.3.0", - "tuf-js": "^2.2.0" + "tuf-js": "^2.2.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" @@ -4562,13 +4581,13 @@ } }, "node_modules/npm/node_modules/@tufjs/models": { - "version": "2.0.0", + "version": "2.0.1", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { "@tufjs/canonical-json": "2.0.0", - "minimatch": "^9.0.3" + "minimatch": "^9.0.4" }, "engines": { "node": "^16.14.0 || >=18.0.0" @@ -4648,7 +4667,7 @@ "license": "MIT" }, "node_modules/npm/node_modules/bin-links": { - "version": "4.0.3", + "version": "4.0.4", "dev": true, "inBundle": true, "license": "ISC", @@ -4683,17 +4702,8 @@ "balanced-match": "^1.0.0" } }, - "node_modules/npm/node_modules/builtins": { - "version": "5.1.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "dependencies": { - "semver": "^7.0.0" - } - }, "node_modules/npm/node_modules/cacache": { - "version": "18.0.2", + "version": "18.0.3", "dev": true, "inBundle": true, "license": "ISC", @@ -4786,7 +4796,7 @@ } }, "node_modules/npm/node_modules/cmd-shim": { - "version": "6.0.2", + "version": "6.0.3", "dev": true, "inBundle": true, "license": "ISC", @@ -4981,7 +4991,7 @@ } }, "node_modules/npm/node_modules/glob": { - "version": "10.3.12", + "version": "10.3.15", "dev": true, "inBundle": true, "license": "ISC", @@ -4990,13 +5000,13 @@ "jackspeak": "^2.3.6", "minimatch": "^9.0.1", "minipass": "^7.0.4", - "path-scurry": "^1.10.2" + "path-scurry": "^1.11.0" }, "bin": { "glob": "dist/esm/bin.mjs" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -5021,7 +5031,7 @@ } }, "node_modules/npm/node_modules/hosted-git-info": { - "version": "7.0.1", + "version": "7.0.2", "dev": true, "inBundle": true, "license": "ISC", @@ -5078,7 +5088,7 @@ } }, "node_modules/npm/node_modules/ignore-walk": { - "version": "6.0.4", + "version": "6.0.5", "dev": true, "inBundle": true, "license": "ISC", @@ -5117,7 +5127,7 @@ } }, "node_modules/npm/node_modules/init-package-json": { - "version": "6.0.2", + "version": "6.0.3", "dev": true, "inBundle": true, "license": "ISC", @@ -5147,12 +5157,6 @@ "node": ">= 12" } }, - "node_modules/npm/node_modules/ip-address/node_modules/sprintf-js": { - "version": "1.1.3", - "dev": true, - "inBundle": true, - "license": "BSD-3-Clause" - }, "node_modules/npm/node_modules/ip-regex": { "version": "5.0.0", "dev": true, @@ -5235,7 +5239,7 @@ "license": "MIT" }, "node_modules/npm/node_modules/json-parse-even-better-errors": { - "version": "3.0.1", + "version": "3.0.2", "dev": true, "inBundle": true, "license": "MIT", @@ -5274,31 +5278,31 @@ "license": "MIT" }, "node_modules/npm/node_modules/libnpmaccess": { - "version": "8.0.4", + "version": "8.0.6", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "npm-package-arg": "^11.0.2", - "npm-registry-fetch": "^16.2.1" + "npm-registry-fetch": "^17.0.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmdiff": { - "version": "6.1.0", + "version": "6.1.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^7.2.1", + "@npmcli/arborist": "^7.5.2", "@npmcli/installed-package-contents": "^2.1.0", "binary-extensions": "^2.3.0", "diff": "^5.1.0", "minimatch": "^9.0.4", "npm-package-arg": "^11.0.2", - "pacote": "^18.0.1", + "pacote": "^18.0.6", "tar": "^6.2.1" }, "engines": { @@ -5306,16 +5310,16 @@ } }, "node_modules/npm/node_modules/libnpmexec": { - "version": "8.0.0", + "version": "8.1.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^7.2.1", - "@npmcli/run-script": "^8.0.0", + "@npmcli/arborist": "^7.5.2", + "@npmcli/run-script": "^8.1.0", "ci-info": "^4.0.0", "npm-package-arg": "^11.0.2", - "pacote": "^18.0.1", + "pacote": "^18.0.6", "proc-log": "^4.2.0", "read": "^3.0.1", "read-package-json-fast": "^3.0.2", @@ -5327,111 +5331,111 @@ } }, "node_modules/npm/node_modules/libnpmfund": { - "version": "5.0.8", + "version": "5.0.10", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^7.2.1" + "@npmcli/arborist": "^7.5.2" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmhook": { - "version": "10.0.3", + "version": "10.0.5", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^16.2.1" + "npm-registry-fetch": "^17.0.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmorg": { - "version": "6.0.4", + "version": "6.0.6", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^16.2.1" + "npm-registry-fetch": "^17.0.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmpack": { - "version": "7.0.0", + "version": "7.0.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/arborist": "^7.2.1", - "@npmcli/run-script": "^8.0.0", + "@npmcli/arborist": "^7.5.2", + "@npmcli/run-script": "^8.1.0", "npm-package-arg": "^11.0.2", - "pacote": "^18.0.1" + "pacote": "^18.0.6" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmpublish": { - "version": "9.0.6", + "version": "9.0.8", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "ci-info": "^4.0.0", - "normalize-package-data": "^6.0.0", + "normalize-package-data": "^6.0.1", "npm-package-arg": "^11.0.2", - "npm-registry-fetch": "^16.2.1", + "npm-registry-fetch": "^17.0.1", "proc-log": "^4.2.0", "semver": "^7.3.7", "sigstore": "^2.2.0", - "ssri": "^10.0.5" + "ssri": "^10.0.6" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmsearch": { - "version": "7.0.3", + "version": "7.0.5", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "npm-registry-fetch": "^16.2.1" + "npm-registry-fetch": "^17.0.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmteam": { - "version": "6.0.3", + "version": "6.0.5", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^16.2.1" + "npm-registry-fetch": "^17.0.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" } }, "node_modules/npm/node_modules/libnpmversion": { - "version": "6.0.0", + "version": "6.0.2", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/git": "^5.0.6", - "@npmcli/run-script": "^8.0.0", - "json-parse-even-better-errors": "^3.0.0", + "@npmcli/git": "^5.0.7", + "@npmcli/run-script": "^8.1.0", + "json-parse-even-better-errors": "^3.0.2", "proc-log": "^4.2.0", "semver": "^7.3.7" }, @@ -5440,7 +5444,7 @@ } }, "node_modules/npm/node_modules/lru-cache": { - "version": "10.2.0", + "version": "10.2.2", "dev": true, "inBundle": true, "license": "ISC", @@ -5449,7 +5453,7 @@ } }, "node_modules/npm/node_modules/make-fetch-happen": { - "version": "13.0.0", + "version": "13.0.1", "dev": true, "inBundle": true, "license": "ISC", @@ -5463,6 +5467,7 @@ "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "negotiator": "^0.6.3", + "proc-log": "^4.2.0", "promise-retry": "^2.0.1", "ssri": "^10.0.0" }, @@ -5486,7 +5491,7 @@ } }, "node_modules/npm/node_modules/minipass": { - "version": "7.0.4", + "version": "7.1.1", "dev": true, "inBundle": true, "license": "ISC", @@ -5507,7 +5512,7 @@ } }, "node_modules/npm/node_modules/minipass-fetch": { - "version": "3.0.4", + "version": "3.0.5", "dev": true, "inBundle": true, "license": "MIT", @@ -5712,7 +5717,7 @@ } }, "node_modules/npm/node_modules/nopt": { - "version": "7.2.0", + "version": "7.2.1", "dev": true, "inBundle": true, "license": "ISC", @@ -5727,7 +5732,7 @@ } }, "node_modules/npm/node_modules/normalize-package-data": { - "version": "6.0.0", + "version": "6.0.1", "dev": true, "inBundle": true, "license": "BSD-2-Clause", @@ -5751,7 +5756,7 @@ } }, "node_modules/npm/node_modules/npm-bundled": { - "version": "3.0.0", + "version": "3.0.1", "dev": true, "inBundle": true, "license": "ISC", @@ -5811,7 +5816,7 @@ } }, "node_modules/npm/node_modules/npm-pick-manifest": { - "version": "9.0.0", + "version": "9.0.1", "dev": true, "inBundle": true, "license": "ISC", @@ -5826,25 +5831,25 @@ } }, "node_modules/npm/node_modules/npm-profile": { - "version": "9.0.1", + "version": "10.0.0", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "npm-registry-fetch": "^16.0.0", + "npm-registry-fetch": "^17.0.1", "proc-log": "^4.0.0" }, "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=18.0.0" } }, "node_modules/npm/node_modules/npm-registry-fetch": { - "version": "16.2.1", + "version": "17.0.1", "dev": true, "inBundle": true, "license": "ISC", "dependencies": { - "@npmcli/redact": "^1.1.0", + "@npmcli/redact": "^2.0.0", "make-fetch-happen": "^13.0.0", "minipass": "^7.0.2", "minipass-fetch": "^3.0.0", @@ -5858,7 +5863,7 @@ } }, "node_modules/npm/node_modules/npm-user-validate": { - "version": "2.0.0", + "version": "2.0.1", "dev": true, "inBundle": true, "license": "BSD-2-Clause", @@ -5882,7 +5887,7 @@ } }, "node_modules/npm/node_modules/pacote": { - "version": "18.0.2", + "version": "18.0.6", "dev": true, "inBundle": true, "license": "ISC", @@ -5898,7 +5903,7 @@ "npm-package-arg": "^11.0.0", "npm-packlist": "^8.0.0", "npm-pick-manifest": "^9.0.0", - "npm-registry-fetch": "^16.0.0", + "npm-registry-fetch": "^17.0.0", "proc-log": "^4.0.0", "promise-retry": "^2.0.1", "sigstore": "^2.2.0", @@ -5906,7 +5911,7 @@ "tar": "^6.1.11" }, "bin": { - "pacote": "lib/bin.js" + "pacote": "bin/index.js" }, "engines": { "node": "^16.14.0 || >=18.0.0" @@ -5936,7 +5941,7 @@ } }, "node_modules/npm/node_modules/path-scurry": { - "version": "1.10.2", + "version": "1.11.1", "dev": true, "inBundle": true, "license": "BlueOak-1.0.0", @@ -5945,7 +5950,7 @@ "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -6020,7 +6025,7 @@ } }, "node_modules/npm/node_modules/promzard": { - "version": "1.0.1", + "version": "1.0.2", "dev": true, "inBundle": true, "license": "ISC", @@ -6090,13 +6095,10 @@ "optional": true }, "node_modules/npm/node_modules/semver": { - "version": "7.6.0", + "version": "7.6.2", "dev": true, "inBundle": true, "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -6104,18 +6106,6 @@ "node": ">=10" } }, - "node_modules/npm/node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "inBundle": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/npm/node_modules/shebang-command": { "version": "2.0.0", "dev": true, @@ -6246,8 +6236,14 @@ "inBundle": true, "license": "CC0-1.0" }, + "node_modules/npm/node_modules/sprintf-js": { + "version": "1.1.3", + "dev": true, + "inBundle": true, + "license": "BSD-3-Clause" + }, "node_modules/npm/node_modules/ssri": { - "version": "10.0.5", + "version": "10.0.6", "dev": true, "inBundle": true, "license": "ISC", @@ -6396,14 +6392,14 @@ } }, "node_modules/npm/node_modules/tuf-js": { - "version": "2.2.0", + "version": "2.2.1", "dev": true, "inBundle": true, "license": "MIT", "dependencies": { - "@tufjs/models": "2.0.0", + "@tufjs/models": "2.0.1", "debug": "^4.3.4", - "make-fetch-happen": "^13.0.0" + "make-fetch-happen": "^13.0.1" }, "engines": { "node": "^16.14.0 || >=18.0.0" @@ -6460,13 +6456,10 @@ } }, "node_modules/npm/node_modules/validate-npm-package-name": { - "version": "5.0.0", + "version": "5.0.1", "dev": true, "inBundle": true, "license": "ISC", - "dependencies": { - "builtins": "^5.0.0" - }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } @@ -6809,6 +6802,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/parse-ms": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz", + "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/parse5": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", @@ -6858,9 +6863,9 @@ } }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", "dev": true }, "node_modules/picomatch": { @@ -6906,6 +6911,21 @@ "node": ">= 0.4" } }, + "node_modules/pretty-ms": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.0.0.tgz", + "integrity": "sha512-E9e9HJ9R9NasGOgPaPE8VMeiPKAyWR5jcFpNnwIejslIhWqdqOrb2wShBsncMPUb+BcCd2OPYfh7p2W6oemTng==", + "dev": true, + "dependencies": { + "parse-ms": "^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -7177,9 +7197,9 @@ } }, "node_modules/semantic-release": { - "version": "23.0.8", - "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-23.0.8.tgz", - "integrity": "sha512-yZkuWcTTfh5h/DrR4Q4QvJSARJdb6wjwn/sN0qKMYEkvwaVFek8YWfrgtL8oWaRdl0fLte0Y1wWMzLbwoaII1g==", + "version": "23.1.1", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-23.1.1.tgz", + "integrity": "sha512-qqJDBhbtHsjUEMsojWKGuL5lQFCJuPtiXKEIlFKyTzDDGTAE/oyvznaP8GeOr5PvcqBJ6LQz4JCENWPLeehSpA==", "dev": true, "dependencies": { "@semantic-release/commit-analyzer": "^12.0.0", @@ -7191,7 +7211,7 @@ "cosmiconfig": "^9.0.0", "debug": "^4.0.0", "env-ci": "^11.0.0", - "execa": "^8.0.0", + "execa": "^9.0.0", "figures": "^6.0.0", "find-versions": "^6.0.0", "get-stream": "^6.0.0", @@ -7228,6 +7248,18 @@ "node": ">=18" } }, + "node_modules/semantic-release/node_modules/@sindresorhus/merge-streams": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", + "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/semantic-release/node_modules/aggregate-error": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", @@ -7272,47 +7304,54 @@ } }, "node_modules/semantic-release/node_modules/execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-9.1.0.tgz", + "integrity": "sha512-lSgHc4Elo2m6bUDhc3Hl/VxvUDJdQWI40RZ4KMY9bKRc+hgMOT7II/JjbNDhI8VnMtrCb7U/fhpJIkLORZozWw==", "dev": true, "dependencies": { + "@sindresorhus/merge-streams": "^4.0.0", "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", + "figures": "^6.1.0", + "get-stream": "^9.0.0", + "human-signals": "^7.0.0", + "is-plain-obj": "^4.1.0", + "is-stream": "^4.0.1", + "npm-run-path": "^5.2.0", + "pretty-ms": "^9.0.0", "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" + "strip-final-newline": "^4.0.0", + "yoctocolors": "^2.0.0" }, "engines": { - "node": ">=16.17" + "node": ">=18" }, "funding": { "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, "node_modules/semantic-release/node_modules/execa/node_modules/get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", + "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", "dev": true, + "dependencies": { + "@sec-ant/readable-stream": "^0.4.1", + "is-stream": "^4.0.1" + }, "engines": { - "node": ">=16" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/semantic-release/node_modules/human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-7.0.0.tgz", + "integrity": "sha512-74kytxOUSvNbjrT9KisAbaTZ/eJwD/LrbM/kh5j0IhPuJzwuA19dWvniFGwBzN9rVjg+O/e+F310PjObDXS+9Q==", "dev": true, "engines": { - "node": ">=16.17.0" + "node": ">=18.18.0" } }, "node_modules/semantic-release/node_modules/indent-string": { @@ -7328,24 +7367,12 @@ } }, "node_modules/semantic-release/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/semantic-release/node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", "dev": true, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -7366,21 +7393,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/semantic-release/node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dev": true, - "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/semantic-release/node_modules/p-reduce": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-3.0.0.tgz", @@ -7418,25 +7430,22 @@ } }, "node_modules/semantic-release/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", + "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", "dev": true, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -7471,18 +7480,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", @@ -7652,9 +7649,9 @@ } }, "node_modules/spdx-license-ids": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz", - "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==", + "version": "3.0.18", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz", + "integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==", "dev": true }, "node_modules/split2": { @@ -7994,9 +7991,9 @@ } }, "node_modules/type-fest": { - "version": "4.17.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.17.0.tgz", - "integrity": "sha512-9flrz1zkfLRH3jO3bLflmTxryzKMxVa7841VeMgBaNQGY6vH4RCcpN/sQLB7mQQYh1GZ5utT2deypMuCy4yicw==", + "version": "4.18.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.18.3.tgz", + "integrity": "sha512-Q08/0IrpvM+NMY9PA2rti9Jb+JejTddwmwmVQGskAlhtcrw1wsRzoR6ode6mR+OAabNa75w/dxedSUY2mlphaQ==", "dev": true, "engines": { "node": ">=16" @@ -8332,12 +8329,6 @@ "node": ">=10" } }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/yargs": { "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", @@ -8364,6 +8355,18 @@ "engines": { "node": ">=12" } + }, + "node_modules/yoctocolors": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.0.2.tgz", + "integrity": "sha512-Ct97huExsu7cWeEjmrXlofevF8CvzUglJ4iGUet5B8xn1oumtAZBpHU4GzYuoE6PVqcZ5hghtBrSlhwHuR1Jmw==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } } } diff --git a/package.json b/package.json index 9a62a41ab1..8238f945f7 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,6 @@ "@semantic-release/changelog": "^6.0.3", "@semantic-release/exec": "^6.0.3", "@semantic-release/git": "^10.0.1", - "semantic-release": "^23.0.7" + "semantic-release": "^23.0.8" } } From afdba00722f8ded828284c1feb114d29b06953c0 Mon Sep 17 00:00:00 2001 From: yonggamer <24843208+yonggamer@users.noreply.github.com> Date: Tue, 28 May 2024 04:31:48 +0200 Subject: [PATCH 067/127] build: Fix invalid Gradle wrapper checksum (#1919) --- android/gradle/wrapper/gradle-wrapper.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index f18dc82d73..381baa9cef 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionSha256Sum=544c35d6bd849 +distributionSha256Sum=544c35d6bd849ae8a5ed0bcea39ba677dc40f49df7d1835561582da2009b961d distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip networkTimeout=10000 validateDistributionUrl=true From e0a6de2c2b70327e9a518a8a4470bd70a3942e48 Mon Sep 17 00:00:00 2001 From: Pun Butrach Date: Tue, 28 May 2024 11:36:31 +0700 Subject: [PATCH 068/127] fix: SecurityException when patching application (#1856) --- pubspec.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pubspec.yaml b/pubspec.yaml index d9474a805f..decab2ae83 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -26,9 +26,9 @@ dependencies: flutter: sdk: flutter flutter_background: - git: # remove once https://github.com/JulianAssmann/flutter_background/pull/79 is merged - url: https://github.com/BenjaminHalko/flutter_background - ref: 560d21c4148b53933313573e7eafca0b0eb9aadf # Branch: specify-namespace + git: # remove once https://github.com/JulianAssmann/flutter_background/pull/83 is merged + url: https://github.com/validcube/flutter_background + ref: 900a81501f1f0e4996fe9e2cbf55f1ea8df08b49 # Branch: specify-namespace flutter_cache_manager: ^3.3.2 flutter_file_dialog: ^3.0.2 flutter_local_notifications: ^17.1.0 From c13827e8e16042e6d50a54467aefac2b4ed21cfd Mon Sep 17 00:00:00 2001 From: Snehith <112557710+snehithssv@users.noreply.github.com> Date: Sat, 15 Jun 2024 15:51:47 +0530 Subject: [PATCH 069/127] fix: Follow language update immediately (#1944) Co-authored-by: surya-technovert --- .../settingsFragment/settings_update_language.dart | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/ui/views/settings/settingsFragment/settings_update_language.dart b/lib/ui/views/settings/settingsFragment/settings_update_language.dart index 2494a6f4c5..f56d8d34fd 100644 --- a/lib/ui/views/settings/settingsFragment/settings_update_language.dart +++ b/lib/ui/views/settings/settingsFragment/settings_update_language.dart @@ -3,6 +3,7 @@ import 'package:flutter/material.dart'; import 'package:language_code/language_code.dart'; import 'package:revanced_manager/app/app.locator.dart'; +import 'package:revanced_manager/app/app.router.dart'; import 'package:revanced_manager/gen/strings.g.dart'; import 'package:revanced_manager/services/manager_api.dart'; import 'package:revanced_manager/services/toast.dart'; @@ -10,8 +11,10 @@ import 'package:revanced_manager/ui/views/settings/settings_viewmodel.dart'; import 'package:revanced_manager/ui/widgets/settingsView/settings_tile_dialog.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:stacked/stacked.dart'; +import 'package:stacked_services/stacked_services.dart'; final _settingViewModel = SettingsViewModel(); +final _navigationService = NavigationService(); class SUpdateLanguage extends BaseViewModel { final Toast _toast = locator(); @@ -108,10 +111,9 @@ class SUpdateLanguage extends BaseViewModel { child: Text(t.cancelButton), ), TextButton( - onPressed: () { - // TODO(nullcube): Translation will not update until we refresh the page. + onPressed: () async { updateLocale(selectedLanguageCode.value.languageTag); - Navigator.of(context).pop(); + await _navigationService.navigateToNavigationView(); }, child: Text(t.okButton), ), From 46f6a49a7acfdad5d091d4ed3efa3e612a064a4f Mon Sep 17 00:00:00 2001 From: Pun Butrach Date: Sat, 15 Jun 2024 17:36:25 +0700 Subject: [PATCH 070/127] ci: Always run on dev branch only --- .github/workflows/sync_crowdin.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/sync_crowdin.yml b/.github/workflows/sync_crowdin.yml index 02ca74b42a..0a2f7e8da9 100644 --- a/.github/workflows/sync_crowdin.yml +++ b/.github/workflows/sync_crowdin.yml @@ -5,6 +5,7 @@ on: schedule: - cron: 00 12 * * 1 push: + branches: dev paths: - assets/i18n/*.json - assets/i18n/*.dart From fc525602448001a442d2f2dfe09c431eed80cd7b Mon Sep 17 00:00:00 2001 From: kitadai31 <90122968+kitadai31@users.noreply.github.com> Date: Wed, 19 Jun 2024 16:44:09 +0900 Subject: [PATCH 071/127] fix: Update dialog shows dev version & loading gets stuck in certain circumstances (#1792) Signed-off-by: validcube Co-authored-by: validcube --- lib/services/github_api.dart | 35 ++-- lib/ui/views/home/home_viewmodel.dart | 24 +-- .../homeView/update_confirmation_sheet.dart | 176 +++++++++--------- 3 files changed, 114 insertions(+), 121 deletions(-) diff --git a/lib/services/github_api.dart b/lib/services/github_api.dart index 277ad0de97..b4ab03a669 100644 --- a/lib/services/github_api.dart +++ b/lib/services/github_api.dart @@ -49,36 +49,27 @@ class GithubAPI { } } - Future?> getLatestManagerRelease( - String repoName, - ) async { + Future getManagerChangelogs() async { try { final response = await _dioGetSynchronously( - '/repos/$repoName/releases', + '/repos/${_managerAPI.defaultManagerRepo}/releases?per_page=50', ); - final Map releases = response.data[0]; - int updates = 0; + final buffer = StringBuffer(); final String currentVersion = await _managerAPI.getCurrentManagerVersion(); - while (response.data[updates]['tag_name'] != currentVersion) { - updates++; - } - for (int i = 1; i < updates; i++) { - if (response.data[i]['prerelease']) { + for (final release in response.data) { + if (release['tag_name'] == currentVersion) { + if (buffer.isEmpty) { + buffer.writeln(release['body']); + } + break; + } + if (release['prerelease']) { continue; } - releases.update( - 'body', - (value) => - value + - '\n' + - '# ' + - response.data[i]['tag_name'] + - '\n' + - response.data[i]['body'], - ); + buffer.writeln(release['body']); } - return releases; + return buffer.toString(); } on Exception catch (e) { if (kDebugMode) { print(e); diff --git a/lib/ui/views/home/home_viewmodel.dart b/lib/ui/views/home/home_viewmodel.dart index 2d33ed26a1..8b7c1816d4 100644 --- a/lib/ui/views/home/home_viewmodel.dart +++ b/lib/ui/views/home/home_viewmodel.dart @@ -39,7 +39,8 @@ class HomeViewModel extends BaseViewModel { List patchedInstalledApps = []; String _currentManagerVersion = ''; String _currentPatchesVersion = ''; - String? _latestManagerVersion = ''; + String? latestManagerVersion; + String? latestPatchesVersion; File? downloadedApk; Future initialize(BuildContext context) async { @@ -50,7 +51,6 @@ class HomeViewModel extends BaseViewModel { await forceRefresh(context); return; } - _latestManagerVersion = await _managerAPI.getLatestManagerVersion(); _currentPatchesVersion = await _managerAPI.getCurrentPatchesVersion(); if (_managerAPI.showUpdateDialog() && await hasManagerUpdates()) { showUpdateDialog(context, false); @@ -131,21 +131,21 @@ class HomeViewModel extends BaseViewModel { if (!_managerAPI.releaseBuild) { return false; } - _latestManagerVersion = + latestManagerVersion = await _managerAPI.getLatestManagerVersion() ?? _currentManagerVersion; - if (_latestManagerVersion != _currentManagerVersion) { + if (latestManagerVersion != _currentManagerVersion) { return true; } return false; } Future hasPatchesUpdates() async { - final String? latestVersion = await _managerAPI.getLatestPatchesVersion(); - if (latestVersion != null) { + latestPatchesVersion = await _managerAPI.getLatestPatchesVersion(); + if (latestPatchesVersion != null) { try { final int latestVersionInt = - int.parse(latestVersion.replaceAll(RegExp('[^0-9]'), '')); + int.parse(latestPatchesVersion!.replaceAll(RegExp('[^0-9]'), '')); final int currentVersionInt = int.parse(_currentPatchesVersion.replaceAll(RegExp('[^0-9]'), '')); return latestVersionInt > currentVersionInt; @@ -475,12 +475,14 @@ class HomeViewModel extends BaseViewModel { ); } - Future?> getLatestManagerRelease() { - return _githubAPI.getLatestManagerRelease(_managerAPI.defaultManagerRepo); + Future getManagerChangelogs() { + return _githubAPI.getManagerChangelogs(); } - Future?> getLatestPatchesRelease() { - return _githubAPI.getLatestRelease(_managerAPI.defaultPatchesRepo); + Future getLatestPatchesChangelog() async { + final release = + await _githubAPI.getLatestRelease(_managerAPI.defaultPatchesRepo); + return release?['body']; } Future getLatestPatchesReleaseTime() { diff --git a/lib/ui/widgets/homeView/update_confirmation_sheet.dart b/lib/ui/widgets/homeView/update_confirmation_sheet.dart index 388c38aa93..21f37c247f 100644 --- a/lib/ui/widgets/homeView/update_confirmation_sheet.dart +++ b/lib/ui/widgets/homeView/update_confirmation_sheet.dart @@ -14,6 +14,7 @@ class UpdateConfirmationSheet extends StatelessWidget { final bool isPatches; final bool changelog; + @override Widget build(BuildContext context) { final HomeViewModel model = locator(); @@ -25,100 +26,99 @@ class UpdateConfirmationSheet extends StatelessWidget { builder: (_, scrollController) => SingleChildScrollView( controller: scrollController, child: SafeArea( - child: FutureBuilder?>( - future: !isPatches - ? model.getLatestManagerRelease() - : model.getLatestPatchesRelease(), - builder: (_, snapshot) { - if (!snapshot.hasData) { - return const SizedBox( - height: 300, - child: Center( - child: CircularProgressIndicator(), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + if (!changelog) + Padding( + padding: const EdgeInsets.only( + top: 40.0, + left: 24.0, + right: 24.0, + bottom: 20.0, ), - ); - } - - return Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - if (!changelog) - Padding( - padding: const EdgeInsets.only( - top: 40.0, - left: 24.0, - right: 24.0, - bottom: 20.0, - ), - child: Row( - children: [ - Expanded( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, + child: Row( + children: [ + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + isPatches + ? t.homeView.updatePatchesSheetTitle + : t.homeView.updateSheetTitle, + style: const TextStyle( + fontSize: 24, + fontWeight: FontWeight.bold, + ), + ), + const SizedBox(height: 4.0), + Row( children: [ + Icon( + Icons.new_releases_outlined, + color: + Theme.of(context).colorScheme.secondary, + ), + const SizedBox(width: 8.0), Text( isPatches - ? t.homeView.updatePatchesSheetTitle - : t.homeView.updateSheetTitle, - style: const TextStyle( - fontSize: 24, - fontWeight: FontWeight.bold, + ? model.latestPatchesVersion ?? 'Unknown' + : model.latestManagerVersion ?? 'Unknown', + style: TextStyle( + fontSize: 20, + fontWeight: FontWeight.w500, + color: + Theme.of(context).colorScheme.secondary, ), ), - const SizedBox(height: 4.0), - Row( - children: [ - Icon( - Icons.new_releases_outlined, - color: Theme.of(context) - .colorScheme - .secondary, - ), - const SizedBox(width: 8.0), - Text( - snapshot.data!['tag_name'] ?? 'Unknown', - style: TextStyle( - fontSize: 20, - fontWeight: FontWeight.w500, - color: Theme.of(context) - .colorScheme - .secondary, - ), - ), - ], - ), ], ), - ), - FilledButton( - onPressed: () { - Navigator.of(context).pop(); - isPatches - ? model.updatePatches(context) - : model.updateManager(context); - }, - child: Text(t.updateButton), - ), - ], + ], + ), ), - ), - Padding( - padding: const EdgeInsets.only( - top: 12.0, - left: 24.0, - bottom: 12.0, - ), - child: Text( - t.homeView.updateChangelogTitle, - style: TextStyle( - fontSize: changelog ? 24 : 20, - fontWeight: FontWeight.w500, - color: - Theme.of(context).colorScheme.onSecondaryContainer, + FilledButton( + onPressed: () { + Navigator.of(context).pop(); + isPatches + ? model.updatePatches(context) + : model.updateManager(context); + }, + child: Text(t.updateButton), ), - ), + ], ), - Container( + ), + Padding( + padding: const EdgeInsets.only( + top: 12.0, + left: 24.0, + bottom: 12.0, + ), + child: Text( + t.homeView.updateChangelogTitle, + style: TextStyle( + fontSize: changelog ? 24 : 20, + fontWeight: FontWeight.w500, + color: Theme.of(context).colorScheme.onSecondaryContainer, + ), + ), + ), + FutureBuilder( + future: !isPatches + ? model.getManagerChangelogs() + : model.getLatestPatchesChangelog(), + builder: (_, snapshot) { + if (!snapshot.hasData) { + return Padding( + padding: EdgeInsets.only(top: changelog ? 96 : 24), + child: const Center( + child: CircularProgressIndicator(), + ), + ); + } + + return Container( margin: const EdgeInsets.symmetric(horizontal: 24.0), decoration: BoxDecoration( color: Theme.of(context).colorScheme.secondaryContainer, @@ -139,12 +139,12 @@ class UpdateConfirmationSheet extends StatelessWidget { shrinkWrap: true, physics: const NeverScrollableScrollPhysics(), padding: const EdgeInsets.all(20.0), - data: snapshot.data!['body'] ?? '', + data: snapshot.data ?? '', ), - ), - ], - ); - }, + ); + }, + ), + ], ), ), ), From 5c68d513a38dcca1b884429c28f5bb32697bf37d Mon Sep 17 00:00:00 2001 From: aAbed <39409020+TheAabedKhan@users.noreply.github.com> Date: Mon, 24 Jun 2024 22:22:16 +0545 Subject: [PATCH 072/127] feat: Add ability to set `null` in patch options (#1947) --- assets/i18n/strings.i18n.json | 6 +- lib/services/manager_api.dart | 1 - .../patch_options/patch_options_view.dart | 52 +--- .../patch_options_viewmodel.dart | 138 ++--------- .../patches_selector_viewmodel.dart | 1 - .../patch_options_fields.dart | 231 ++++++++++-------- 6 files changed, 153 insertions(+), 276 deletions(-) diff --git a/assets/i18n/strings.i18n.json b/assets/i18n/strings.i18n.json index 3884b01ebf..516ed5c6f6 100755 --- a/assets/i18n/strings.i18n.json +++ b/assets/i18n/strings.i18n.json @@ -118,16 +118,18 @@ }, "patchOptionsView": { "customValue": "Custom value", + "setToNull": "Set to null", + "nullValue": "This option value is currently null", "resetOptionsTooltip": "Reset patch options", "viewTitle": "Patch options", "saveOptions": "Save", "addOptions": "Add options", - "deselectPatch": "Deselect patch", + "unselectPatch": "Unselect patch", "tooltip": "More input options", "selectFilePath": "Select file path", "selectFolder": "Select folder", "selectOption": "Select option", - "requiredOption": "This option is required", + "requiredOption": "Setting this option is required", "unsupportedOption": "This option is not supported", "requiredOptionNull": "The following options have to be set:\n\n${options}" }, diff --git a/lib/services/manager_api.dart b/lib/services/manager_api.dart index ce146a6433..bc136208fd 100644 --- a/lib/services/manager_api.dart +++ b/lib/services/manager_api.dart @@ -31,7 +31,6 @@ class ManagerAPI { final String cliRepo = 'revanced-cli'; late SharedPreferences _prefs; List patches = []; - List