diff --git a/.github/workflows/sync_crowdin.yml b/.github/workflows/sync_crowdin.yml index a802dfe019..2e2afb3193 100644 --- a/.github/workflows/sync_crowdin.yml +++ b/.github/workflows/sync_crowdin.yml @@ -25,7 +25,7 @@ jobs: uses: subosito/flutter-action@v2 with: cache: true - flutter-version: 3.24.x + flutter-version: 3.27.x - name: Sync translations from Crowdin uses: crowdin/github-action@v1 @@ -47,26 +47,22 @@ jobs: CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }} - # There has to be a better way to do this - - name: Normalization of Translation Strings + - name: Validation of synced translations run: | dart pub get - cd assets/i18n - sudo chmod 766 *.json - cd ../.. - dart run slang analyze - dart run slang clean + dart run slang validate + + - name: Normalization of Translation Strings + run: | dart run slang normalize - cd assets/i18n - dart nuke.dart >> $GITHUB_STEP_SUMMARY - cd ../.. dart run slang flutter analyze lib/gen/strings.g.dart --no-fatal-infos --no-fatal-warnings + # There will be no way flutter analyze will fail... right? - name: Commit translations run: | git config user.name revanced-bot git config user.email github@revanced.app sudo chown -R $USER:$USER .git - git commit -m "chore: Remove empty values from JSON" assets/i18n/strings_*.json + git commit -m "chore: Remove empty values from JSON" assets/i18n/*.i18n.json git push origin HEAD:feat/translations diff --git a/assets/i18n/README.md b/assets/i18n/README.md index 5ad11681aa..298e1848f2 100644 --- a/assets/i18n/README.md +++ b/assets/i18n/README.md @@ -1,14 +1,14 @@ -# Nuke:tm: - -> ![CAUTION] -> Some of the code are licensed under BSD 3-Clause License, please check inside the code file for more information. - -## Usage - -Move to your desire directory and run - -```bash -dart nuke.dart -``` - -and it will remove all the empty keys from the JSON files in the current folder. +# Nuke:tm: + +> ![CAUTION] +> Some of the code are licensed under BSD 3-Clause License, please check inside the code file for more information. + +## Usage + +Move to your desire directory and run + +```bash +dart nuke.dart +``` + +and it will remove all the empty keys from the JSON files in the current folder. diff --git a/assets/i18n/strings_as_IN.i18n.json b/assets/i18n/af_ZA.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_as_IN.i18n.json rename to assets/i18n/af_ZA.i18n.json index 4d40483d85..8f33ad5121 --- a/assets/i18n/strings_as_IN.i18n.json +++ b/assets/i18n/af_ZA.i18n.json @@ -16,4 +16,4 @@ "appInfoView": {}, "contributorsView": {}, "installErrorDialog": {} -} \ No newline at end of file +} diff --git a/assets/i18n/strings_af_ZA.i18n.json b/assets/i18n/am_ET.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_af_ZA.i18n.json rename to assets/i18n/am_ET.i18n.json index 4d40483d85..8f33ad5121 --- a/assets/i18n/strings_af_ZA.i18n.json +++ b/assets/i18n/am_ET.i18n.json @@ -16,4 +16,4 @@ "appInfoView": {}, "contributorsView": {}, "installErrorDialog": {} -} \ No newline at end of file +} diff --git a/assets/i18n/strings_ar_SA.i18n.json b/assets/i18n/ar_SA.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_ar_SA.i18n.json rename to assets/i18n/ar_SA.i18n.json index 15a444a8a6..c4ac5f2e98 --- a/assets/i18n/strings_ar_SA.i18n.json +++ b/assets/i18n/ar_SA.i18n.json @@ -295,4 +295,4 @@ "install_failed_version_downgrade_description": "فشل التثبيت نظرًا لكون التطبيق المعدل إصدارًا أقل من التطبيق المثبت.\n\nهل تريد إلغاء تثبيت التطبيق والمحاولة مرة أخرى؟", "status_unknown_description": "فشل التثبيت لسبب غير معروف. الرجاء المحاولة مرة أخرى." } -} \ No newline at end of file +} diff --git a/assets/i18n/strings_am_ET.i18n.json b/assets/i18n/as_IN.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_am_ET.i18n.json rename to assets/i18n/as_IN.i18n.json index 4d40483d85..8f33ad5121 --- a/assets/i18n/strings_am_ET.i18n.json +++ b/assets/i18n/as_IN.i18n.json @@ -16,4 +16,4 @@ "appInfoView": {}, "contributorsView": {}, "installErrorDialog": {} -} \ No newline at end of file +} diff --git a/assets/i18n/strings_az_AZ.i18n.json b/assets/i18n/az_AZ.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_az_AZ.i18n.json rename to assets/i18n/az_AZ.i18n.json index 851dd545ee..b47478da47 --- a/assets/i18n/strings_az_AZ.i18n.json +++ b/assets/i18n/az_AZ.i18n.json @@ -295,4 +295,4 @@ "install_failed_version_downgrade_description": "Yamaqlanmış tətbiq, quraşdırılmış tətbiqdən daha aşağı versiyaya sahib olduğu üçün quraşdırma uğursuz oldu.\n\nTətbiqi silib yenidən sınayırsınız?", "status_unknown_description": "Naməlum səbəbə görə quraşdırma uğursuz oldu. Lütfən yenidən sınayın." } -} \ No newline at end of file +} diff --git a/assets/i18n/strings_be_BY.i18n.json b/assets/i18n/be_BY.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_be_BY.i18n.json rename to assets/i18n/be_BY.i18n.json index 7b6bcf1fd0..b45cd1391a --- a/assets/i18n/strings_be_BY.i18n.json +++ b/assets/i18n/be_BY.i18n.json @@ -283,4 +283,4 @@ "install_failed_version_downgrade_description": "Збой усталявання, бо выпраўленая праграма мае больш новую версію, чым усталяваная праграма.\n\nВыдаліць праграму і паспрабаваць яшчэ раз?", "status_unknown_description": "Збой усталявання, бо адбылася невядомая памылка. Паўтарыце спробу яшчэ раз." } -} \ No newline at end of file +} diff --git a/assets/i18n/strings_bg_BG.i18n.json b/assets/i18n/bg_BG.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_bg_BG.i18n.json rename to assets/i18n/bg_BG.i18n.json index e69970f630..7bf52518e4 --- a/assets/i18n/strings_bg_BG.i18n.json +++ b/assets/i18n/bg_BG.i18n.json @@ -295,4 +295,4 @@ "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/bn_BD.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_bn_BD.i18n.json rename to assets/i18n/bn_BD.i18n.json index 488d3d9a82..bda909c6de --- a/assets/i18n/strings_bn_BD.i18n.json +++ b/assets/i18n/bn_BD.i18n.json @@ -276,4 +276,4 @@ "install_failed_version_downgrade_description": "প্যাচ করা অ্যাপ ইনস্টল করা অ্যাপের চেয়ে কম সংস্করণ হওয়ায় ইনস্টলেশন ব্যর্থ হয়েছে.\n\nঅ্যাপটি আনইনস্টল করে আবার চেষ্টা করবেন?", "status_unknown_description": "একটি অজানা কারণে ইনস্টলেশন ব্যর্থ হয়েছে. অনুগ্রহপূর্বক আবার চেষ্টা করুন." } -} \ No newline at end of file +} diff --git a/assets/i18n/strings_bs_BA.i18n.json b/assets/i18n/bs_BA.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_bs_BA.i18n.json rename to assets/i18n/bs_BA.i18n.json index 4d40483d85..8f33ad5121 --- a/assets/i18n/strings_bs_BA.i18n.json +++ b/assets/i18n/bs_BA.i18n.json @@ -16,4 +16,4 @@ "appInfoView": {}, "contributorsView": {}, "installErrorDialog": {} -} \ No newline at end of file +} diff --git a/assets/i18n/strings_ca_ES.i18n.json b/assets/i18n/ca_ES.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_ca_ES.i18n.json rename to assets/i18n/ca_ES.i18n.json index efa5852db2..a086324689 --- a/assets/i18n/strings_ca_ES.i18n.json +++ b/assets/i18n/ca_ES.i18n.json @@ -168,4 +168,4 @@ "widgetTitle": "Col·laboradors" }, "installErrorDialog": {} -} \ No newline at end of file +} diff --git a/assets/i18n/strings_cs_CZ.i18n.json b/assets/i18n/cs_CZ.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_cs_CZ.i18n.json rename to assets/i18n/cs_CZ.i18n.json index 09fbd381bf..29068c2adc --- a/assets/i18n/strings_cs_CZ.i18n.json +++ b/assets/i18n/cs_CZ.i18n.json @@ -295,4 +295,4 @@ "install_failed_version_downgrade_description": "Instalace se nezdařila kvůli tomu, že již nainstalovaná verze je novější.\n\nOdinstalovat tuto aplikaci a zkusit znovu?", "status_unknown_description": "Instalace se nezdařila z neznámých důvodů. Prosím zkuste to znovu." } -} \ No newline at end of file +} diff --git a/assets/i18n/strings_da_DK.i18n.json b/assets/i18n/da_DK.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_da_DK.i18n.json rename to assets/i18n/da_DK.i18n.json index c6f2afc005..8e11795ca2 --- a/assets/i18n/strings_da_DK.i18n.json +++ b/assets/i18n/da_DK.i18n.json @@ -295,4 +295,4 @@ "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_de_DE.i18n.json b/assets/i18n/de_DE.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_de_DE.i18n.json rename to assets/i18n/de_DE.i18n.json index c9f6dab86f..3980e531a4 --- a/assets/i18n/strings_de_DE.i18n.json +++ b/assets/i18n/de_DE.i18n.json @@ -295,4 +295,4 @@ "install_failed_version_downgrade_description": "Die Installation ist fehlgeschlagen, da die gepatchte App eine niedrigere Version als die installierte App ist.\n\nDie App deinstallieren und erneut versuchen?", "status_unknown_description": "Die Installation ist aus einem unbekannten Grund fehlgeschlagen. Bitte versuchen Sie es erneut." } -} \ No newline at end of file +} diff --git a/assets/i18n/strings_el_GR.i18n.json b/assets/i18n/el_GR.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_el_GR.i18n.json rename to assets/i18n/el_GR.i18n.json index b2b271e0cf..3eb4366d9a --- a/assets/i18n/strings_el_GR.i18n.json +++ b/assets/i18n/el_GR.i18n.json @@ -295,4 +295,4 @@ "install_failed_version_downgrade_description": "Η εγκατάσταση απέτυχε διότι η τροποποιημένη εφαρμογή έχει χαμηλότερη έκδοση από την εγκατεστημένη εφαρμογή.\n\nΑπεγκατάσταση εφαρμογής και προσπάθεια ξανά;", "status_unknown_description": "Η εγκατάσταση απέτυχε για κάποιον άγνωστο λόγο.\nΠαρακαλώ δοκιμάστε ξανά." } -} \ No newline at end of file +} diff --git a/assets/i18n/strings.i18n.json b/assets/i18n/en.i18n.json old mode 100755 new mode 100644 similarity index 98% rename from assets/i18n/strings.i18n.json rename to assets/i18n/en.i18n.json index e491e3e899..5e1f7cac27 --- a/assets/i18n/strings.i18n.json +++ b/assets/i18n/en.i18n.json @@ -1,298 +1,298 @@ -{ - "okButton": "OK", - "cancelButton": "Cancel", - "dismissButton": "Dismiss", - "quitButton": "Quit", - "updateButton": "Update", - "suggested": "Suggested: ${version}", - "yesButton": "Yes", - "noButton": "No", - "warning": "Warning", - "notice": "Notice", - "noShowAgain": "Don't show this again", - "add": "Add", - "remove": "Remove", - "showChangelogButton": "Show changelog", - "showUpdateButton": "Show update", - "navigationView": { - "dashboardTab": "Dashboard", - "patcherTab": "Patcher", - "settingsTab": "Settings" - }, - "homeView": { - "refreshSuccess": "Refreshed successfully", - "widgetTitle": "Dashboard", - "updatesSubtitle": "Updates", - "lastPatchedAppSubtitle": "Last patched app", - "patchedSubtitle": "Installed apps", - "changeLaterSubtitle": "You can change this in the settings at a later time.", - "noSavedAppFound": "No app found", - "noInstallations": "No patched apps installed", - "installUpdate": "Continue to install the update?", - "updateSheetTitle": "Update ReVanced Manager", - "updateDialogTitle": "New update available", - "updatePatchesSheetTitle": "Update ReVanced Patches", - "updateChangelogTitle": "Changelog", - "updateDialogText": "A new update is available for ${file}.\n\nThe currently installed version is ${version}.", - "downloadConsentDialogTitle": "Download necessary files?", - "downloadConsentDialogText": "ReVanced Manager needs to download necessary files to work properly.", - "downloadConsentDialogText2": "This will connect you to ${url}.", - "downloadingMessage": "Downloading update...", - "downloadedMessage": "Update downloaded", - "installingMessage": "Installing update...", - "errorDownloadMessage": "Unable to download update", - "errorInstallMessage": "Unable to install update", - "noConnection": "No internet connection" - }, - "applicationItem": { - "infoButton": "Info" - }, - "latestCommitCard": { - "loadingLabel": "Loading...", - "timeagoLabel": "${time} ago" - }, - "patcherView": { - "widgetTitle": "Patcher", - "patchButton": "Patch", - "incompatibleArchWarningDialogText": "Patching on this architecture is not yet supported and might fail. Continue anyways?", - "removedPatchesWarningDialogText": "Removed patches since the last time you patched this app:\n\n${patches}\n\n${newPatches}Continue anyways?", - "addedPatchesDialogText": "Added patches since the last time you patched this app:\n\n${addedPatches}\n\n", - "requiredOptionDialogText": "Some patch options have to be set." - }, - "appSelectorCard": { - "widgetTitle": "Select an app", - "widgetTitleSelected": "Selected app", - "widgetSubtitle": "No app selected", - "noAppsLabel": "No applications found", - "anyVersion": "Any version" - }, - "patchSelectorCard": { - "widgetTitle": "Select patches", - "widgetTitleSelected": "Selected patches", - "widgetSubtitle": "Select an application first", - "widgetEmptySubtitle": "No patches selected" - }, - "socialMediaCard": { - "widgetTitle": "Socials", - "widgetSubtitle": "We are online!" - }, - "appSelectorView": { - "viewTitle": "Select an app", - "searchBarHint": "Search app", - "storageButton": "Storage", - "selectFromStorageButton": "Select from storage", - "errorMessage": "Unable to use selected application", - "downloadToast": "Download function is not available yet", - "requireSuggestedAppVersionDialogText": "The version of the app you have selected does not match the suggested version which can lead to unexpected issues. Please use the suggested version.\n\nSelected version: ${selected}\nSuggested version: ${suggested}\n\nTo continue anyway, disable \"Require suggested app version\" in the settings.", - "featureNotAvailable": "Feature not implemented", - "featureNotAvailableText": "This app is a split APK and can only be patched and installed reliably by mounting with root permissions. However, you can patch and install a full APK by selecting it from storage." - }, - "patchesSelectorView": { - "viewTitle": "Select patches", - "searchBarHint": "Search patches", - "universalPatches": "Universal patches", - "newPatches": "New patches", - "patches": "Patches", - "doneButton": "Done", - "defaultChip": "Default", - "defaultTooltip": "Select all default patches", - "noneChip": "None", - "noneTooltip": "Deselect all patches", - "loadPatchesSelection": "Load patch selection", - "noSavedPatches": "No saved patch selection for the selected app.\nPress Done to save the current selection.", - "noPatchesFound": "No patches found for the selected app", - "setRequiredOption": "Some patches require options to be set:\n\n${patches}\n\nPlease set them before continuing." - }, - "patchOptionsView": { - "customValue": "Custom value", - "setToNull": "Set to null", - "nullValue": "This option value is currently null", - "viewTitle": "Patch options", - "saveOptions": "Save", - "unselectPatch": "Unselect patch", - "tooltip": "More input options", - "selectFilePath": "Select file path", - "selectFolder": "Select folder", - "requiredOption": "Setting this option is required", - "unsupportedOption": "This option is not supported", - "requiredOptionNull": "The following options have to be set:\n\n${options}" - }, - "patchItem": { - "unsupportedDialogText": "Selecting this patch may result in patching errors.\n\nApp version: ${packageVersion}\nSupported versions:\n${supportedVersions}", - "unsupportedPatchVersion": "Patch is not supported for this app version.", - "unsupportedRequiredOption": "This patch contains a required option that is not supported by this app", - "patchesChangeWarningDialogText": "It is recommended to use the default patch selection and options. Changing them may result in unexpected issues.\n\nYou'll need to turn on \"Allow changing patch selection\" in the settings before changing any patch selection.", - "patchesChangeWarningDialogButton": "Use default selection" - }, - "installerView": { - "installType": "Select install type", - "installTypeDescription": "Select the installation type to continue with.", - "installButton": "Install", - "installRootType": "Mount", - "installNonRootType": "Regular", - "warning": "Disable auto updates for the patched app to avoid unexpected issues.", - "pressBackAgain": "Press back again to cancel", - "openButton": "Open", - "notificationTitle": "ReVanced Manager is patching", - "notificationText": "Tap to return to the installer", - "exportApkButtonTooltip": "Export patched APK", - "exportLogButtonTooltip": "Export log", - "screenshotDetected": "A screenshot has been detected. If you are trying to share the log, please share a text copy instead.\n\nCopy log to clipboard?", - "copiedToClipboard": "Copied log to clipboard", - "noExit": "Installer is still running, cannot exit..." - }, - "settingsView": { - "widgetTitle": "Settings", - "appearanceSectionTitle": "Appearance", - "teamSectionTitle": "Team", - "debugSectionTitle": "Debugging", - "advancedSectionTitle": "Advanced", - "exportSectionTitle": "Import & export", - "dataSectionTitle": "Data sources", - "themeModeLabel": "App theme", - "systemThemeLabel": "System", - "lightThemeLabel": "Light", - "darkThemeLabel": "Dark", - "dynamicThemeLabel": "Material You", - "dynamicThemeHint": "Enjoy an experience closer to your device", - "languageLabel": "Language", - "languageUpdated": "Language updated", - "sourcesLabel": "Alternative sources", - "sourcesLabelHint": "Configure the alternative sources for ReVanced Patches", - "useAlternativeSources": "Use alternative sources", - "useAlternativeSourcesHint": "Use alternative sources for ReVanced Patches instead of the API", - "sourcesResetDialogTitle": "Reset", - "sourcesResetDialogText": "Are you sure you want to reset your sources to their default values?", - "apiURLResetDialogText": "Are you sure you want to reset your API URL to its default value?", - "sourcesUpdateNote": "Note: This will automatically download ReVanced Patches from the alternative sources.\n\nThis will connect you to the alternative source.", - "apiURLLabel": "API URL", - "apiURLHint": "Configure the API URL of ReVanced Manager", - "selectApiURL": "API URL", - "orgPatchesLabel": "Patches organization", - "sourcesPatchesLabel": "Patches source", - "contributorsLabel": "Contributors", - "contributorsHint": "A list of contributors of ReVanced", - "logsLabel": "Share logs", - "logsHint": "Share ReVanced Manager logs", - "enablePatchesSelectionLabel": "Allow changing patch selection", - "enablePatchesSelectionHint": "Do not prevent selecting or deselecting patches", - "enablePatchesSelectionWarningText": "Changing the selection of patches may cause unexpected issues.\n\nEnable anyways?", - "disablePatchesSelectionWarningText": "You are about to disable changing the selection of patches.\nThe default selection of patches will be restored.\n\nDisable anyways?", - "autoUpdatePatchesLabel": "Auto update patches", - "autoUpdatePatchesHint": "Automatically update patches to the latest version", - "showUpdateDialogLabel": "Show update dialog", - "showUpdateDialogHint": "Show a dialog when a new update is available", - "universalPatchesLabel": "Show universal patches", - "universalPatchesHint": "Display all apps and universal patches (may slow down the app list)", - "lastPatchedAppLabel": "Save patched app", - "lastPatchedAppHint": "Save the last patch to install or export later", - "versionCompatibilityCheckLabel": "Version compatibility check", - "versionCompatibilityCheckHint": "Prevent selecting patches that are not compatible with the selected app version", - "requireSuggestedAppVersionLabel": "Require suggested app version", - "requireSuggestedAppVersionHint": "Prevent selecting an app with a version that is not the suggested", - "requireSuggestedAppVersionDialogText": "Selecting an app that is not the suggested version may cause unexpected issues.\n\nDo you want to proceed anyways?", - "aboutLabel": "About", - "snackbarMessage": "Copied to clipboard", - "restartAppForChanges": "Restart the app to apply changes", - "deleteTempDirLabel": "Delete temporary files", - "deleteTempDirHint": "Delete unused temporary files", - "deletedTempDir": "Temporary files deleted", - "exportSettingsLabel": "Export settings", - "exportSettingsHint": "Export settings to a JSON file", - "exportedSettings": "Settings exported", - "importSettingsLabel": "Import settings", - "importSettingsHint": "Import settings from a JSON file", - "importedSettings": "Settings imported", - "exportPatchesLabel": "Export patch selection", - "exportPatchesHint": "Export patch selection to a JSON file", - "exportedPatches": "Patch selection exported", - "noExportFileFound": "No patch selection to export", - "importPatchesLabel": "Import patch selection", - "importPatchesHint": "Import patch selection from a JSON file", - "importedPatches": "Patch selection imported", - "resetStoredPatchesLabel": "Reset patch selection", - "resetStoredPatchesHint": "Reset the stored patch selection", - "resetStoredPatchesDialogTitle": "Reset patch selection?", - "resetStoredPatchesDialogText": "The default selection of patches will be restored.", - "resetStoredPatches": "Patch selection has been reset", - "resetStoredOptionsLabel": "Reset patch options", - "resetStoredOptionsHint": "Reset all patch options", - "resetStoredOptionsDialogTitle": "Reset patch options?", - "resetStoredOptionsDialogText": "Resetting patch options will remove all saved options.", - "resetStoredOptions": "Options have been reset", - "deleteLogsLabel": "Clear logs", - "deleteLogsHint": "Delete collected ReVanced Manager logs", - "deletedLogs": "Logs deleted", - "regenerateKeystoreLabel": "Regenerate keystore", - "regenerateKeystoreHint": "Regenerate the keystore used to sign apps", - "regenerateKeystoreDialogTitle": "Regenerate keystore?", - "regenerateKeystoreDialogText": "Patched apps signed with the old keystore will no longer be able to be updated.", - "regeneratedKeystore": "Keystore regenerated", - "exportKeystoreLabel": "Export keystore", - "exportKeystoreHint": "Export the keystore used to sign apps", - "exportedKeystore": "Keystore exported", - "noKeystoreExportFileFound": "No keystore to export", - "importKeystoreLabel": "Import keystore", - "importKeystoreHint": "Import a keystore used to sign apps", - "importedKeystore": "Keystore imported", - "selectKeystorePassword": "Keystore password", - "selectKeystorePasswordHint": "Select keystore password used to sign apps", - "jsonSelectorErrorMessage": "Unable to use selected JSON file", - "keystoreSelectorErrorMessage": "Unable to use selected keystore file" - }, - "appInfoView": { - "widgetTitle": "App info", - "openButton": "Open", - "installButton": "Install", - "uninstallButton": "Uninstall", - "unmountButton": "Unmount", - "exportButton": "Export", - "deleteButton": "Delete", - "rootDialogTitle": "Error", - "lastPatchedAppDescription": "This is a backup of the app that was last patched.", - "unmountDialogText": "Are you sure you want to unmount this app?", - "uninstallDialogText": "Are you sure you want to uninstall this app?", - "rootDialogText": "App was installed with superuser permissions, but currently ReVanced Manager has no permissions.\nPlease grant superuser permissions first.", - "removeAppDialogTitle": "Delete app?", - "removeAppDialogText": "Are you sure you want to delete this backup?", - "packageNameLabel": "Package name", - "installTypeLabel": "Installation type", - "mountTypeLabel": "Mount", - "regularTypeLabel": "Regular", - "patchedDateLabel": "Patched date", - "appliedPatchesLabel": "Applied patches", - "sizeLabel": "File size", - "patchedDateHint": "${date} at ${time}", - "appliedPatchesHint": "${quantity} applied patches", - "updateNotImplemented": "This feature has not been implemented yet" - }, - "contributorsView": { - "widgetTitle": "Contributors" - }, - "installErrorDialog": { - "mount_version_mismatch": "Version mismatch", - "mount_no_root": "No root access", - "mount_missing_installation": "Installation not found", - "status_failure_blocked": "Installation blocked", - "install_failed_verification_failure": "Verification failed", - "status_failure_invalid": "Installation invalid", - "install_failed_version_downgrade": "Can't downgrade", - "status_failure_conflict": "Installation conflict", - "status_failure_storage": "Installation storage issue", - "status_failure_incompatible": "Installation incompatible", - "status_failure_timeout": "Installation timeout", - "status_unknown": "Installation failed", - "mount_version_mismatch_description": "The installation failed due to the installed app being a different version than the patched app.\n\nInstall the version of the app you are mounting and try again.", - "mount_no_root_description": "The installation failed due to root access not being granted.\n\nGrant root access to ReVanced Manager and try again.", - "mount_missing_installation_description": "The installation failed due to the unpatched app not being installed on this device in order to mount over it.\n\nInstall the unpatched app before mounting and try again.", - "status_failure_timeout_description": "The installation took too long to finish.\n\nWould you like to try again?", - "status_failure_storage_description": "The installation failed due to insufficient storage.\n\nFree up some space and try again.", - "status_failure_invalid_description": "The installation failed due to the patched app being invalid.\n\nUninstall the app and try again?", - "status_failure_incompatible_description": "The app is incompatible with this device.\n\nUse an APK that is supported by this device and try again.", - "status_failure_conflict_description": "The installation was prevented by an existing installation of the app.\n\nUninstall the installed app and try again?", - "status_failure_blocked_description": "The installation was blocked by ${packageName}.\n\nAdjust your security settings and try again.", - "install_failed_verification_failure_description": "The installation failed due to a verification issue.\n\nAdjust your security settings and try again.", - "install_failed_version_downgrade_description": "The installation failed due to the patched app being a lower version than the installed app.\n\nUninstall the app and try again?", - "status_unknown_description": "The installation failed due to an unknown reason. Please try again." - } -} +{ + "okButton": "OK", + "cancelButton": "Cancel", + "dismissButton": "Dismiss", + "quitButton": "Quit", + "updateButton": "Update", + "suggested": "Suggested: ${version}", + "yesButton": "Yes", + "noButton": "No", + "warning": "Warning", + "notice": "Notice", + "noShowAgain": "Don't show this again", + "add": "Add", + "remove": "Remove", + "showChangelogButton": "Show changelog", + "showUpdateButton": "Show update", + "navigationView": { + "dashboardTab": "Dashboard", + "patcherTab": "Patcher", + "settingsTab": "Settings" + }, + "homeView": { + "refreshSuccess": "Refreshed successfully", + "widgetTitle": "Dashboard", + "updatesSubtitle": "Updates", + "lastPatchedAppSubtitle": "Last patched app", + "patchedSubtitle": "Installed apps", + "changeLaterSubtitle": "You can change this in the settings at a later time.", + "noSavedAppFound": "No app found", + "noInstallations": "No patched apps installed", + "installUpdate": "Continue to install the update?", + "updateSheetTitle": "Update ReVanced Manager", + "updateDialogTitle": "New update available", + "updatePatchesSheetTitle": "Update ReVanced Patches", + "updateChangelogTitle": "Changelog", + "updateDialogText": "A new update is available for ${file}.\n\nThe currently installed version is ${version}.", + "downloadConsentDialogTitle": "Download necessary files?", + "downloadConsentDialogText": "ReVanced Manager needs to download necessary files to work properly.", + "downloadConsentDialogText2": "This will connect you to ${url}.", + "downloadingMessage": "Downloading update...", + "downloadedMessage": "Update downloaded", + "installingMessage": "Installing update...", + "errorDownloadMessage": "Unable to download update", + "errorInstallMessage": "Unable to install update", + "noConnection": "No internet connection" + }, + "applicationItem": { + "infoButton": "Info" + }, + "latestCommitCard": { + "loadingLabel": "Loading...", + "timeagoLabel": "${time} ago" + }, + "patcherView": { + "widgetTitle": "Patcher", + "patchButton": "Patch", + "incompatibleArchWarningDialogText": "Patching on this architecture is not yet supported and might fail. Continue anyways?", + "removedPatchesWarningDialogText": "Removed patches since the last time you patched this app:\n\n${patches}\n\n${newPatches}Continue anyways?", + "addedPatchesDialogText": "Added patches since the last time you patched this app:\n\n${addedPatches}\n\n", + "requiredOptionDialogText": "Some patch options have to be set." + }, + "appSelectorCard": { + "widgetTitle": "Select an app", + "widgetTitleSelected": "Selected app", + "widgetSubtitle": "No app selected", + "noAppsLabel": "No applications found", + "anyVersion": "Any version" + }, + "patchSelectorCard": { + "widgetTitle": "Select patches", + "widgetTitleSelected": "Selected patches", + "widgetSubtitle": "Select an application first", + "widgetEmptySubtitle": "No patches selected" + }, + "socialMediaCard": { + "widgetTitle": "Socials", + "widgetSubtitle": "We are online!" + }, + "appSelectorView": { + "viewTitle": "Select an app", + "searchBarHint": "Search app", + "storageButton": "Storage", + "selectFromStorageButton": "Select from storage", + "errorMessage": "Unable to use selected application", + "downloadToast": "Download function is not available yet", + "requireSuggestedAppVersionDialogText": "The version of the app you have selected does not match the suggested version which can lead to unexpected issues. Please use the suggested version.\n\nSelected version: ${selected}\nSuggested version: ${suggested}\n\nTo continue anyway, disable \"Require suggested app version\" in the settings.", + "featureNotAvailable": "Feature not implemented", + "featureNotAvailableText": "This app is a split APK and can only be patched and installed reliably by mounting with root permissions. However, you can patch and install a full APK by selecting it from storage." + }, + "patchesSelectorView": { + "viewTitle": "Select patches", + "searchBarHint": "Search patches", + "universalPatches": "Universal patches", + "newPatches": "New patches", + "patches": "Patches", + "doneButton": "Done", + "defaultChip": "Default", + "defaultTooltip": "Select all default patches", + "noneChip": "None", + "noneTooltip": "Deselect all patches", + "loadPatchesSelection": "Load patch selection", + "noSavedPatches": "No saved patch selection for the selected app.\nPress Done to save the current selection.", + "noPatchesFound": "No patches found for the selected app", + "setRequiredOption": "Some patches require options to be set:\n\n${patches}\n\nPlease set them before continuing." + }, + "patchOptionsView": { + "customValue": "Custom value", + "setToNull": "Set to null", + "nullValue": "This option value is currently null", + "viewTitle": "Patch options", + "saveOptions": "Save", + "unselectPatch": "Unselect patch", + "tooltip": "More input options", + "selectFilePath": "Select file path", + "selectFolder": "Select folder", + "requiredOption": "Setting this option is required", + "unsupportedOption": "This option is not supported", + "requiredOptionNull": "The following options have to be set:\n\n${options}" + }, + "patchItem": { + "unsupportedDialogText": "Selecting this patch may result in patching errors.\n\nApp version: ${packageVersion}\nSupported versions:\n${supportedVersions}", + "unsupportedPatchVersion": "Patch is not supported for this app version.", + "unsupportedRequiredOption": "This patch contains a required option that is not supported by this app", + "patchesChangeWarningDialogText": "It is recommended to use the default patch selection and options. Changing them may result in unexpected issues.\n\nYou'll need to turn on \"Allow changing patch selection\" in the settings before changing any patch selection.", + "patchesChangeWarningDialogButton": "Use default selection" + }, + "installerView": { + "installType": "Select install type", + "installTypeDescription": "Select the installation type to continue with.", + "installButton": "Install", + "installRootType": "Mount", + "installNonRootType": "Regular", + "warning": "Disable auto updates for the patched app to avoid unexpected issues.", + "pressBackAgain": "Press back again to cancel", + "openButton": "Open", + "notificationTitle": "ReVanced Manager is patching", + "notificationText": "Tap to return to the installer", + "exportApkButtonTooltip": "Export patched APK", + "exportLogButtonTooltip": "Export log", + "screenshotDetected": "A screenshot has been detected. If you are trying to share the log, please share a text copy instead.\n\nCopy log to clipboard?", + "copiedToClipboard": "Copied log to clipboard", + "noExit": "Installer is still running, cannot exit..." + }, + "settingsView": { + "widgetTitle": "Settings", + "appearanceSectionTitle": "Appearance", + "teamSectionTitle": "Team", + "debugSectionTitle": "Debugging", + "advancedSectionTitle": "Advanced", + "exportSectionTitle": "Import & export", + "dataSectionTitle": "Data sources", + "themeModeLabel": "App theme", + "systemThemeLabel": "System", + "lightThemeLabel": "Light", + "darkThemeLabel": "Dark", + "dynamicThemeLabel": "Material You", + "dynamicThemeHint": "Enjoy an experience closer to your device", + "languageLabel": "Language", + "languageUpdated": "Language updated", + "sourcesLabel": "Alternative sources", + "sourcesLabelHint": "Configure the alternative sources for ReVanced Patches", + "useAlternativeSources": "Use alternative sources", + "useAlternativeSourcesHint": "Use alternative sources for ReVanced Patches instead of the API", + "sourcesResetDialogTitle": "Reset", + "sourcesResetDialogText": "Are you sure you want to reset your sources to their default values?", + "apiURLResetDialogText": "Are you sure you want to reset your API URL to its default value?", + "sourcesUpdateNote": "Note: This will automatically download ReVanced Patches from the alternative sources.\n\nThis will connect you to the alternative source.", + "apiURLLabel": "API URL", + "apiURLHint": "Configure the API URL of ReVanced Manager", + "selectApiURL": "API URL", + "orgPatchesLabel": "Patches organization", + "sourcesPatchesLabel": "Patches source", + "contributorsLabel": "Contributors", + "contributorsHint": "A list of contributors of ReVanced", + "logsLabel": "Share logs", + "logsHint": "Share ReVanced Manager logs", + "enablePatchesSelectionLabel": "Allow changing patch selection", + "enablePatchesSelectionHint": "Do not prevent selecting or deselecting patches", + "enablePatchesSelectionWarningText": "Changing the selection of patches may cause unexpected issues.\n\nEnable anyways?", + "disablePatchesSelectionWarningText": "You are about to disable changing the selection of patches.\nThe default selection of patches will be restored.\n\nDisable anyways?", + "autoUpdatePatchesLabel": "Auto update patches", + "autoUpdatePatchesHint": "Automatically update patches to the latest version", + "showUpdateDialogLabel": "Show update dialog", + "showUpdateDialogHint": "Show a dialog when a new update is available", + "universalPatchesLabel": "Show universal patches", + "universalPatchesHint": "Display all apps and universal patches (may slow down the app list)", + "lastPatchedAppLabel": "Save patched app", + "lastPatchedAppHint": "Save the last patch to install or export later", + "versionCompatibilityCheckLabel": "Version compatibility check", + "versionCompatibilityCheckHint": "Prevent selecting patches that are not compatible with the selected app version", + "requireSuggestedAppVersionLabel": "Require suggested app version", + "requireSuggestedAppVersionHint": "Prevent selecting an app with a version that is not the suggested", + "requireSuggestedAppVersionDialogText": "Selecting an app that is not the suggested version may cause unexpected issues.\n\nDo you want to proceed anyways?", + "aboutLabel": "About", + "snackbarMessage": "Copied to clipboard", + "restartAppForChanges": "Restart the app to apply changes", + "deleteTempDirLabel": "Delete temporary files", + "deleteTempDirHint": "Delete unused temporary files", + "deletedTempDir": "Temporary files deleted", + "exportSettingsLabel": "Export settings", + "exportSettingsHint": "Export settings to a JSON file", + "exportedSettings": "Settings exported", + "importSettingsLabel": "Import settings", + "importSettingsHint": "Import settings from a JSON file", + "importedSettings": "Settings imported", + "exportPatchesLabel": "Export patch selection", + "exportPatchesHint": "Export patch selection to a JSON file", + "exportedPatches": "Patch selection exported", + "noExportFileFound": "No patch selection to export", + "importPatchesLabel": "Import patch selection", + "importPatchesHint": "Import patch selection from a JSON file", + "importedPatches": "Patch selection imported", + "resetStoredPatchesLabel": "Reset patch selection", + "resetStoredPatchesHint": "Reset the stored patch selection", + "resetStoredPatchesDialogTitle": "Reset patch selection?", + "resetStoredPatchesDialogText": "The default selection of patches will be restored.", + "resetStoredPatches": "Patch selection has been reset", + "resetStoredOptionsLabel": "Reset patch options", + "resetStoredOptionsHint": "Reset all patch options", + "resetStoredOptionsDialogTitle": "Reset patch options?", + "resetStoredOptionsDialogText": "Resetting patch options will remove all saved options.", + "resetStoredOptions": "Options have been reset", + "deleteLogsLabel": "Clear logs", + "deleteLogsHint": "Delete collected ReVanced Manager logs", + "deletedLogs": "Logs deleted", + "regenerateKeystoreLabel": "Regenerate keystore", + "regenerateKeystoreHint": "Regenerate the keystore used to sign apps", + "regenerateKeystoreDialogTitle": "Regenerate keystore?", + "regenerateKeystoreDialogText": "Patched apps signed with the old keystore will no longer be able to be updated.", + "regeneratedKeystore": "Keystore regenerated", + "exportKeystoreLabel": "Export keystore", + "exportKeystoreHint": "Export the keystore used to sign apps", + "exportedKeystore": "Keystore exported", + "noKeystoreExportFileFound": "No keystore to export", + "importKeystoreLabel": "Import keystore", + "importKeystoreHint": "Import a keystore used to sign apps", + "importedKeystore": "Keystore imported", + "selectKeystorePassword": "Keystore password", + "selectKeystorePasswordHint": "Select keystore password used to sign apps", + "jsonSelectorErrorMessage": "Unable to use selected JSON file", + "keystoreSelectorErrorMessage": "Unable to use selected keystore file" + }, + "appInfoView": { + "widgetTitle": "App info", + "openButton": "Open", + "installButton": "Install", + "uninstallButton": "Uninstall", + "unmountButton": "Unmount", + "exportButton": "Export", + "deleteButton": "Delete", + "rootDialogTitle": "Error", + "lastPatchedAppDescription": "This is a backup of the app that was last patched.", + "unmountDialogText": "Are you sure you want to unmount this app?", + "uninstallDialogText": "Are you sure you want to uninstall this app?", + "rootDialogText": "App was installed with superuser permissions, but currently ReVanced Manager has no permissions.\nPlease grant superuser permissions first.", + "removeAppDialogTitle": "Delete app?", + "removeAppDialogText": "Are you sure you want to delete this backup?", + "packageNameLabel": "Package name", + "installTypeLabel": "Installation type", + "mountTypeLabel": "Mount", + "regularTypeLabel": "Regular", + "patchedDateLabel": "Patched date", + "appliedPatchesLabel": "Applied patches", + "sizeLabel": "File size", + "patchedDateHint": "${date} at ${time}", + "appliedPatchesHint": "${quantity} applied patches", + "updateNotImplemented": "This feature has not been implemented yet" + }, + "contributorsView": { + "widgetTitle": "Contributors" + }, + "installErrorDialog": { + "mount_version_mismatch": "Version mismatch", + "mount_no_root": "No root access", + "mount_missing_installation": "Installation not found", + "status_failure_blocked": "Installation blocked", + "install_failed_verification_failure": "Verification failed", + "status_failure_invalid": "Installation invalid", + "install_failed_version_downgrade": "Can't downgrade", + "status_failure_conflict": "Installation conflict", + "status_failure_storage": "Installation storage issue", + "status_failure_incompatible": "Installation incompatible", + "status_failure_timeout": "Installation timeout", + "status_unknown": "Installation failed", + "mount_version_mismatch_description": "The installation failed due to the installed app being a different version than the patched app.\n\nInstall the version of the app you are mounting and try again.", + "mount_no_root_description": "The installation failed due to root access not being granted.\n\nGrant root access to ReVanced Manager and try again.", + "mount_missing_installation_description": "The installation failed due to the unpatched app not being installed on this device in order to mount over it.\n\nInstall the unpatched app before mounting and try again.", + "status_failure_timeout_description": "The installation took too long to finish.\n\nWould you like to try again?", + "status_failure_storage_description": "The installation failed due to insufficient storage.\n\nFree up some space and try again.", + "status_failure_invalid_description": "The installation failed due to the patched app being invalid.\n\nUninstall the app and try again?", + "status_failure_incompatible_description": "The app is incompatible with this device.\n\nUse an APK that is supported by this device and try again.", + "status_failure_conflict_description": "The installation was prevented by an existing installation of the app.\n\nUninstall the installed app and try again?", + "status_failure_blocked_description": "The installation was blocked by ${packageName}.\n\nAdjust your security settings and try again.", + "install_failed_verification_failure_description": "The installation failed due to a verification issue.\n\nAdjust your security settings and try again.", + "install_failed_version_downgrade_description": "The installation failed due to the patched app being a lower version than the installed app.\n\nUninstall the app and try again?", + "status_unknown_description": "The installation failed due to an unknown reason. Please try again." + } +} diff --git a/assets/i18n/strings_es_AR.i18n.json b/assets/i18n/es_AR.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_es_AR.i18n.json rename to assets/i18n/es_AR.i18n.json index 6344e05913..bba6a25926 --- a/assets/i18n/strings_es_AR.i18n.json +++ b/assets/i18n/es_AR.i18n.json @@ -276,4 +276,4 @@ "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_ES.i18n.json b/assets/i18n/es_ES.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_es_ES.i18n.json rename to assets/i18n/es_ES.i18n.json index 0ff2f5b02c..c1fc3a1164 --- a/assets/i18n/strings_es_ES.i18n.json +++ b/assets/i18n/es_ES.i18n.json @@ -295,4 +295,4 @@ "install_failed_version_downgrade_description": "La instalación ha fallado debido a que la app parcheada es una versión inferior a la instalada.\n\n¿Desinstalar la app y volver a intentarlo?", "status_unknown_description": "La instalación ha fallado debido a una razón desconocida. Por favor, inténtalo de nuevo." } -} \ No newline at end of file +} diff --git a/assets/i18n/strings_es_MX.i18n.json b/assets/i18n/es_MX.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_es_MX.i18n.json rename to assets/i18n/es_MX.i18n.json index f66d2c8250..7b9aa3c2c1 --- a/assets/i18n/strings_es_MX.i18n.json +++ b/assets/i18n/es_MX.i18n.json @@ -276,4 +276,4 @@ "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_et_EE.i18n.json b/assets/i18n/et_EE.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_et_EE.i18n.json rename to assets/i18n/et_EE.i18n.json index eb9906e3c1..70557ee54d --- a/assets/i18n/strings_et_EE.i18n.json +++ b/assets/i18n/et_EE.i18n.json @@ -153,4 +153,4 @@ "widgetTitle": "Panustajad" }, "installErrorDialog": {} -} \ No newline at end of file +} diff --git a/assets/i18n/eu_ES.i18n.json b/assets/i18n/eu_ES.i18n.json new file mode 100644 index 0000000000..8f33ad5121 --- /dev/null +++ b/assets/i18n/eu_ES.i18n.json @@ -0,0 +1,19 @@ +{ + "navigationView": {}, + "homeView": {}, + "applicationItem": {}, + "latestCommitCard": {}, + "patcherView": {}, + "appSelectorCard": {}, + "patchSelectorCard": {}, + "socialMediaCard": {}, + "appSelectorView": {}, + "patchesSelectorView": {}, + "patchOptionsView": {}, + "patchItem": {}, + "installerView": {}, + "settingsView": {}, + "appInfoView": {}, + "contributorsView": {}, + "installErrorDialog": {} +} diff --git a/assets/i18n/strings_fa_IR.i18n.json b/assets/i18n/fa_IR.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_fa_IR.i18n.json rename to assets/i18n/fa_IR.i18n.json index cde8ade9e8..b7deb2736d --- a/assets/i18n/strings_fa_IR.i18n.json +++ b/assets/i18n/fa_IR.i18n.json @@ -133,4 +133,4 @@ "widgetTitle": "مشارکت کنندگان" }, "installErrorDialog": {} -} \ No newline at end of file +} diff --git a/assets/i18n/strings_fi_FI.i18n.json b/assets/i18n/fi_FI.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_fi_FI.i18n.json rename to assets/i18n/fi_FI.i18n.json index 7ff2af5440..a8af0b00c0 --- a/assets/i18n/strings_fi_FI.i18n.json +++ b/assets/i18n/fi_FI.i18n.json @@ -294,4 +294,4 @@ "install_failed_version_downgrade_description": "Asennus epäonnistui, koska paikatun sovelluksen versio on asennettua vanhempi.\n\nPoistetaanko sovelluksen asennus ja yritetään uudelleen?", "status_unknown_description": "Asennus epäonnistui tuntemattomasta syystä. Yritä uudelleen." } -} \ No newline at end of file +} diff --git a/assets/i18n/strings_fil_PH.i18n.json b/assets/i18n/fil_PH.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_fil_PH.i18n.json rename to assets/i18n/fil_PH.i18n.json index dbaab77297..a0457a9545 --- a/assets/i18n/strings_fil_PH.i18n.json +++ b/assets/i18n/fil_PH.i18n.json @@ -195,4 +195,4 @@ "widgetTitle": "Mga nag-ambag" }, "installErrorDialog": {} -} \ No newline at end of file +} diff --git a/assets/i18n/strings_fr_FR.i18n.json b/assets/i18n/fr_FR.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_fr_FR.i18n.json rename to assets/i18n/fr_FR.i18n.json index 32a13cafb0..1b89cf8c1e --- a/assets/i18n/strings_fr_FR.i18n.json +++ b/assets/i18n/fr_FR.i18n.json @@ -295,4 +295,4 @@ "install_failed_version_downgrade_description": "L'installation a échoué car l'application corrigée a une version inférieure à l'application installée.\n\nDésinstaller l'application et réessayer ?", "status_unknown_description": "L'installation a échoué pour une raison inconnue. Veuillez réessayer." } -} \ No newline at end of file +} diff --git a/assets/i18n/strings_ga_IE.i18n.json b/assets/i18n/ga_IE.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_ga_IE.i18n.json rename to assets/i18n/ga_IE.i18n.json index 525e35b389..2e102e46a2 --- a/assets/i18n/strings_ga_IE.i18n.json +++ b/assets/i18n/ga_IE.i18n.json @@ -295,4 +295,4 @@ "install_failed_version_downgrade_description": "Theip ar an suiteáil toisc gur leagan níos ísle é an aip paiteáilte ná an aip suiteáilte.\n\nDíshuiteáil an aip agus bain triail as arís?", "status_unknown_description": "Theip ar an suiteáil mar gheall ar chúis anaithnid. Bain triail as arís." } -} \ No newline at end of file +} diff --git a/assets/i18n/gl_ES.i18n.json b/assets/i18n/gl_ES.i18n.json new file mode 100644 index 0000000000..8f33ad5121 --- /dev/null +++ b/assets/i18n/gl_ES.i18n.json @@ -0,0 +1,19 @@ +{ + "navigationView": {}, + "homeView": {}, + "applicationItem": {}, + "latestCommitCard": {}, + "patcherView": {}, + "appSelectorCard": {}, + "patchSelectorCard": {}, + "socialMediaCard": {}, + "appSelectorView": {}, + "patchesSelectorView": {}, + "patchOptionsView": {}, + "patchItem": {}, + "installerView": {}, + "settingsView": {}, + "appInfoView": {}, + "contributorsView": {}, + "installErrorDialog": {} +} diff --git a/assets/i18n/gu_IN.i18n.json b/assets/i18n/gu_IN.i18n.json new file mode 100644 index 0000000000..8f33ad5121 --- /dev/null +++ b/assets/i18n/gu_IN.i18n.json @@ -0,0 +1,19 @@ +{ + "navigationView": {}, + "homeView": {}, + "applicationItem": {}, + "latestCommitCard": {}, + "patcherView": {}, + "appSelectorCard": {}, + "patchSelectorCard": {}, + "socialMediaCard": {}, + "appSelectorView": {}, + "patchesSelectorView": {}, + "patchOptionsView": {}, + "patchItem": {}, + "installerView": {}, + "settingsView": {}, + "appInfoView": {}, + "contributorsView": {}, + "installErrorDialog": {} +} diff --git a/assets/i18n/strings_he_IL.i18n.json b/assets/i18n/he_IL.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_he_IL.i18n.json rename to assets/i18n/he_IL.i18n.json index 6d7f7695f5..dde614f67b --- a/assets/i18n/strings_he_IL.i18n.json +++ b/assets/i18n/he_IL.i18n.json @@ -257,4 +257,4 @@ "install_failed_version_downgrade_description": "ההתקנה נכשלה בגלל שהאפליקציה המתוקנת היא גרסה נמוכה יותר מהאפליקציה המותקנת.\n\nלהסיר את האפליקציה ולנסות שוב?", "status_unknown_description": "ההתקנה נכשלה מסיבה לא ידועה. בבקשה נסה שוב." } -} \ No newline at end of file +} diff --git a/assets/i18n/strings_hi_IN.i18n.json b/assets/i18n/hi_IN.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_hi_IN.i18n.json rename to assets/i18n/hi_IN.i18n.json index f02b78bb89..f8a5f280ed --- a/assets/i18n/strings_hi_IN.i18n.json +++ b/assets/i18n/hi_IN.i18n.json @@ -144,4 +144,4 @@ "widgetTitle": "योगदान कर्ता" }, "installErrorDialog": {} -} \ No newline at end of file +} diff --git a/assets/i18n/strings_hr_HR.i18n.json b/assets/i18n/hr_HR.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_hr_HR.i18n.json rename to assets/i18n/hr_HR.i18n.json index b5d5a8c7f5..251707c6a6 --- a/assets/i18n/strings_hr_HR.i18n.json +++ b/assets/i18n/hr_HR.i18n.json @@ -133,4 +133,4 @@ "widgetTitle": "Pridonositelji" }, "installErrorDialog": {} -} \ No newline at end of file +} diff --git a/assets/i18n/strings_hu_HU.i18n.json b/assets/i18n/hu_HU.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_hu_HU.i18n.json rename to assets/i18n/hu_HU.i18n.json index f54d4c81f5..7458a435b4 --- a/assets/i18n/strings_hu_HU.i18n.json +++ b/assets/i18n/hu_HU.i18n.json @@ -295,4 +295,4 @@ "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_hy_AM.i18n.json b/assets/i18n/hy_AM.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_hy_AM.i18n.json rename to assets/i18n/hy_AM.i18n.json index c3bef81754..37c1a926e8 --- a/assets/i18n/strings_hy_AM.i18n.json +++ b/assets/i18n/hy_AM.i18n.json @@ -70,4 +70,4 @@ }, "contributorsView": {}, "installErrorDialog": {} -} \ No newline at end of file +} diff --git a/assets/i18n/strings_id_ID.i18n.json b/assets/i18n/id_ID.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_id_ID.i18n.json rename to assets/i18n/id_ID.i18n.json index ad5ebf078d..5fef380c5f --- a/assets/i18n/strings_id_ID.i18n.json +++ b/assets/i18n/id_ID.i18n.json @@ -295,4 +295,4 @@ "install_failed_version_downgrade_description": "Pemasangan gagal karena aplikasi tambalan memiliki versi yang lebih rendah daripada aplikasi yang sudah terpasang.\n\nCopot pemasangan aplikasi dan coba lagi?", "status_unknown_description": "Pemasangan gagal karena alasan yang tidak diketahui. Silakan coba lagi." } -} \ No newline at end of file +} diff --git a/assets/i18n/strings_is_IS.i18n.json b/assets/i18n/is_IS.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_is_IS.i18n.json rename to assets/i18n/is_IS.i18n.json index 3b760b9a8e..0daae48d16 --- a/assets/i18n/strings_is_IS.i18n.json +++ b/assets/i18n/is_IS.i18n.json @@ -142,4 +142,4 @@ "widgetTitle": "Framlagsaðilar" }, "installErrorDialog": {} -} \ No newline at end of file +} diff --git a/assets/i18n/strings_it_IT.i18n.json b/assets/i18n/it_IT.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_it_IT.i18n.json rename to assets/i18n/it_IT.i18n.json index 6fbb592093..b84d2ec9fa --- a/assets/i18n/strings_it_IT.i18n.json +++ b/assets/i18n/it_IT.i18n.json @@ -295,4 +295,4 @@ "install_failed_version_downgrade_description": "L'installazione è fallita perché l'app patchata ha una versione minore dell'app installata.\n\nDisinstallare l'app e riprovare?", "status_unknown_description": "L'installazione è fallita per un motivo sconosciuto. Riprova." } -} \ No newline at end of file +} diff --git a/assets/i18n/strings_ja_JP.i18n.json b/assets/i18n/ja_JP.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_ja_JP.i18n.json rename to assets/i18n/ja_JP.i18n.json index f4ea008656..78525c4203 --- a/assets/i18n/strings_ja_JP.i18n.json +++ b/assets/i18n/ja_JP.i18n.json @@ -295,4 +295,4 @@ "install_failed_version_downgrade_description": "インストールに失敗しました。パッチを当てたアプリがインストールされたアプリよりも低いバージョンであるためです。\n\nアプリをアンインストールしてもう一度お試しください。", "status_unknown_description": "不明な理由によりインストールに失敗しました。もう一度やり直してください。" } -} \ No newline at end of file +} diff --git a/assets/i18n/ka_GE.i18n.json b/assets/i18n/ka_GE.i18n.json new file mode 100644 index 0000000000..8f33ad5121 --- /dev/null +++ b/assets/i18n/ka_GE.i18n.json @@ -0,0 +1,19 @@ +{ + "navigationView": {}, + "homeView": {}, + "applicationItem": {}, + "latestCommitCard": {}, + "patcherView": {}, + "appSelectorCard": {}, + "patchSelectorCard": {}, + "socialMediaCard": {}, + "appSelectorView": {}, + "patchesSelectorView": {}, + "patchOptionsView": {}, + "patchItem": {}, + "installerView": {}, + "settingsView": {}, + "appInfoView": {}, + "contributorsView": {}, + "installErrorDialog": {} +} diff --git a/assets/i18n/strings_kk_KZ.i18n.json b/assets/i18n/kk_KZ.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_kk_KZ.i18n.json rename to assets/i18n/kk_KZ.i18n.json index de3ea40060..adf3e5526e --- a/assets/i18n/strings_kk_KZ.i18n.json +++ b/assets/i18n/kk_KZ.i18n.json @@ -79,4 +79,4 @@ "widgetTitle": "Үлес қосушылар" }, "installErrorDialog": {} -} \ No newline at end of file +} diff --git a/assets/i18n/strings_km_KH.i18n.json b/assets/i18n/km_KH.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_km_KH.i18n.json rename to assets/i18n/km_KH.i18n.json index 93c81aa05e..d46e6ec6c1 --- a/assets/i18n/strings_km_KH.i18n.json +++ b/assets/i18n/km_KH.i18n.json @@ -49,4 +49,4 @@ "appInfoView": {}, "contributorsView": {}, "installErrorDialog": {} -} \ No newline at end of file +} diff --git a/assets/i18n/kn_IN.i18n.json b/assets/i18n/kn_IN.i18n.json new file mode 100644 index 0000000000..8f33ad5121 --- /dev/null +++ b/assets/i18n/kn_IN.i18n.json @@ -0,0 +1,19 @@ +{ + "navigationView": {}, + "homeView": {}, + "applicationItem": {}, + "latestCommitCard": {}, + "patcherView": {}, + "appSelectorCard": {}, + "patchSelectorCard": {}, + "socialMediaCard": {}, + "appSelectorView": {}, + "patchesSelectorView": {}, + "patchOptionsView": {}, + "patchItem": {}, + "installerView": {}, + "settingsView": {}, + "appInfoView": {}, + "contributorsView": {}, + "installErrorDialog": {} +} diff --git a/assets/i18n/strings_ko_KR.i18n.json b/assets/i18n/ko_KR.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_ko_KR.i18n.json rename to assets/i18n/ko_KR.i18n.json index e48229c9ab..d4bbc8deaf --- a/assets/i18n/strings_ko_KR.i18n.json +++ b/assets/i18n/ko_KR.i18n.json @@ -295,4 +295,4 @@ "install_failed_version_downgrade_description": "패치된 앱의 버전이 설치된 앱의 버전보다 낮아서 설치에 실패하였습니다.\n\n앱을 제거한 후에 다시 시도하시겠습니까?", "status_unknown_description": "알 수 없는 이유로 설치에 실패하였습니다. 다시 시도하세요." } -} \ No newline at end of file +} diff --git a/assets/i18n/ky_KG.i18n.json b/assets/i18n/ky_KG.i18n.json new file mode 100644 index 0000000000..8f33ad5121 --- /dev/null +++ b/assets/i18n/ky_KG.i18n.json @@ -0,0 +1,19 @@ +{ + "navigationView": {}, + "homeView": {}, + "applicationItem": {}, + "latestCommitCard": {}, + "patcherView": {}, + "appSelectorCard": {}, + "patchSelectorCard": {}, + "socialMediaCard": {}, + "appSelectorView": {}, + "patchesSelectorView": {}, + "patchOptionsView": {}, + "patchItem": {}, + "installerView": {}, + "settingsView": {}, + "appInfoView": {}, + "contributorsView": {}, + "installErrorDialog": {} +} diff --git a/assets/i18n/lo_LA.i18n.json b/assets/i18n/lo_LA.i18n.json new file mode 100644 index 0000000000..8f33ad5121 --- /dev/null +++ b/assets/i18n/lo_LA.i18n.json @@ -0,0 +1,19 @@ +{ + "navigationView": {}, + "homeView": {}, + "applicationItem": {}, + "latestCommitCard": {}, + "patcherView": {}, + "appSelectorCard": {}, + "patchSelectorCard": {}, + "socialMediaCard": {}, + "appSelectorView": {}, + "patchesSelectorView": {}, + "patchOptionsView": {}, + "patchItem": {}, + "installerView": {}, + "settingsView": {}, + "appInfoView": {}, + "contributorsView": {}, + "installErrorDialog": {} +} diff --git a/assets/i18n/strings_lt_LT.i18n.json b/assets/i18n/lt_LT.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_lt_LT.i18n.json rename to assets/i18n/lt_LT.i18n.json index d9da3ae62a..9f096fdeac --- a/assets/i18n/strings_lt_LT.i18n.json +++ b/assets/i18n/lt_LT.i18n.json @@ -218,4 +218,4 @@ "installErrorDialog": { "install_failed_verification_failure": "Patikrinimas nepavyko" } -} \ No newline at end of file +} diff --git a/assets/i18n/strings_lv_LV.i18n.json b/assets/i18n/lv_LV.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_lv_LV.i18n.json rename to assets/i18n/lv_LV.i18n.json index 6bdcd1af55..f79afc0858 --- a/assets/i18n/strings_lv_LV.i18n.json +++ b/assets/i18n/lv_LV.i18n.json @@ -208,4 +208,4 @@ "install_failed_version_downgrade_description": "Instalācija neizdevās, jo lāpītā lietotne ir vecākas versijas nekā instalētā lietotne.\n\nAtinstalēt lietotni un mēģināt vēlreiz?", "status_unknown_description": "Instalācija neizdevās nezināma iemesla dēļ. Lūdzu mēģiniet vēlreiz." } -} \ No newline at end of file +} diff --git a/assets/i18n/mk_MK.i18n.json b/assets/i18n/mk_MK.i18n.json new file mode 100644 index 0000000000..8f33ad5121 --- /dev/null +++ b/assets/i18n/mk_MK.i18n.json @@ -0,0 +1,19 @@ +{ + "navigationView": {}, + "homeView": {}, + "applicationItem": {}, + "latestCommitCard": {}, + "patcherView": {}, + "appSelectorCard": {}, + "patchSelectorCard": {}, + "socialMediaCard": {}, + "appSelectorView": {}, + "patchesSelectorView": {}, + "patchOptionsView": {}, + "patchItem": {}, + "installerView": {}, + "settingsView": {}, + "appInfoView": {}, + "contributorsView": {}, + "installErrorDialog": {} +} diff --git a/assets/i18n/ml_IN.i18n.json b/assets/i18n/ml_IN.i18n.json new file mode 100644 index 0000000000..8f33ad5121 --- /dev/null +++ b/assets/i18n/ml_IN.i18n.json @@ -0,0 +1,19 @@ +{ + "navigationView": {}, + "homeView": {}, + "applicationItem": {}, + "latestCommitCard": {}, + "patcherView": {}, + "appSelectorCard": {}, + "patchSelectorCard": {}, + "socialMediaCard": {}, + "appSelectorView": {}, + "patchesSelectorView": {}, + "patchOptionsView": {}, + "patchItem": {}, + "installerView": {}, + "settingsView": {}, + "appInfoView": {}, + "contributorsView": {}, + "installErrorDialog": {} +} diff --git a/assets/i18n/mn_MN.i18n.json b/assets/i18n/mn_MN.i18n.json new file mode 100644 index 0000000000..8f33ad5121 --- /dev/null +++ b/assets/i18n/mn_MN.i18n.json @@ -0,0 +1,19 @@ +{ + "navigationView": {}, + "homeView": {}, + "applicationItem": {}, + "latestCommitCard": {}, + "patcherView": {}, + "appSelectorCard": {}, + "patchSelectorCard": {}, + "socialMediaCard": {}, + "appSelectorView": {}, + "patchesSelectorView": {}, + "patchOptionsView": {}, + "patchItem": {}, + "installerView": {}, + "settingsView": {}, + "appInfoView": {}, + "contributorsView": {}, + "installErrorDialog": {} +} diff --git a/assets/i18n/mr_IN.i18n.json b/assets/i18n/mr_IN.i18n.json new file mode 100644 index 0000000000..8f33ad5121 --- /dev/null +++ b/assets/i18n/mr_IN.i18n.json @@ -0,0 +1,19 @@ +{ + "navigationView": {}, + "homeView": {}, + "applicationItem": {}, + "latestCommitCard": {}, + "patcherView": {}, + "appSelectorCard": {}, + "patchSelectorCard": {}, + "socialMediaCard": {}, + "appSelectorView": {}, + "patchesSelectorView": {}, + "patchOptionsView": {}, + "patchItem": {}, + "installerView": {}, + "settingsView": {}, + "appInfoView": {}, + "contributorsView": {}, + "installErrorDialog": {} +} diff --git a/assets/i18n/strings_ms_MY.i18n.json b/assets/i18n/ms_MY.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_ms_MY.i18n.json rename to assets/i18n/ms_MY.i18n.json index 04500bc59a..48ad21cac6 --- a/assets/i18n/strings_ms_MY.i18n.json +++ b/assets/i18n/ms_MY.i18n.json @@ -106,4 +106,4 @@ "widgetTitle": "Penyumbang" }, "installErrorDialog": {} -} \ No newline at end of file +} diff --git a/assets/i18n/strings_my_MM.i18n.json b/assets/i18n/my_MM.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_my_MM.i18n.json rename to assets/i18n/my_MM.i18n.json index ca9e6fed73..b565ea8838 --- a/assets/i18n/strings_my_MM.i18n.json +++ b/assets/i18n/my_MM.i18n.json @@ -21,4 +21,4 @@ "appInfoView": {}, "contributorsView": {}, "installErrorDialog": {} -} \ No newline at end of file +} diff --git a/assets/i18n/strings_nb_NO.i18n.json b/assets/i18n/nb_NO.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_nb_NO.i18n.json rename to assets/i18n/nb_NO.i18n.json index 5650ba5533..641a0560a6 --- a/assets/i18n/strings_nb_NO.i18n.json +++ b/assets/i18n/nb_NO.i18n.json @@ -293,4 +293,4 @@ "install_failed_version_downgrade_description": "Installasjonen mislyktes på grunn av at den patchede appen var en lavere versjon enn den installerte appen.\n\nAvinstaller appen og prøv igjen?", "status_unknown_description": "Installasjonen mislyktes av en ukjent årsak. Vennligst prøv igjen." } -} \ No newline at end of file +} diff --git a/assets/i18n/ne_IN.i18n.json b/assets/i18n/ne_IN.i18n.json new file mode 100644 index 0000000000..8f33ad5121 --- /dev/null +++ b/assets/i18n/ne_IN.i18n.json @@ -0,0 +1,19 @@ +{ + "navigationView": {}, + "homeView": {}, + "applicationItem": {}, + "latestCommitCard": {}, + "patcherView": {}, + "appSelectorCard": {}, + "patchSelectorCard": {}, + "socialMediaCard": {}, + "appSelectorView": {}, + "patchesSelectorView": {}, + "patchOptionsView": {}, + "patchItem": {}, + "installerView": {}, + "settingsView": {}, + "appInfoView": {}, + "contributorsView": {}, + "installErrorDialog": {} +} diff --git a/assets/i18n/strings_nl_NL.i18n.json b/assets/i18n/nl_NL.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_nl_NL.i18n.json rename to assets/i18n/nl_NL.i18n.json index c99f75d6dc..a29ca26114 --- a/assets/i18n/strings_nl_NL.i18n.json +++ b/assets/i18n/nl_NL.i18n.json @@ -295,4 +295,4 @@ "install_failed_version_downgrade_description": "De installatie is mislukt omdat de aangepaste app een lagere versie is dan de geïnstalleerde app.\n\nVerwijder de app en probeer het opnieuw?", "status_unknown_description": "De installatie is mislukt door een onbekende reden. Probeer het opnieuw." } -} \ No newline at end of file +} diff --git a/assets/i18n/strings_no_NO.i18n.json b/assets/i18n/no_NO.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_no_NO.i18n.json rename to assets/i18n/no_NO.i18n.json index c4bccf30a5..7c36c5378f --- a/assets/i18n/strings_no_NO.i18n.json +++ b/assets/i18n/no_NO.i18n.json @@ -64,4 +64,4 @@ "contributorsLabel": "Medvirkende", "contributorsHint": "En liste med bidragsytere til ReVanced" } -} \ No newline at end of file +} diff --git a/assets/i18n/nuke.dart b/assets/i18n/nuke.dart index 7b8c3a1ae1..2dce15f009 100644 --- a/assets/i18n/nuke.dart +++ b/assets/i18n/nuke.dart @@ -1,79 +1,79 @@ -// ignore_for_file: avoid_print - -import 'dart:convert'; -import 'dart:io'; - -T? removeBlankEntries(T? json) { - // This function is protected by BSD 3-Clause License - // Changes made to this section are allow removing of '' values from JSON - - /* - https://pub.dev/documentation/swiss_knife/latest/swiss_knife/removeEmptyEntries.html - - Copyright 2014, the Dart project authors. All rights reserved. - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following - disclaimer in the documentation and/or other materials provided - with the distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived - from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - if (json == null) { - return null; - } - if (json is List) { - json.removeWhere((e) => e == null); - json.forEach(removeBlankEntries); - } else if (json is Map) { - json.removeWhere( - (key, value) => key == null || value == null || value == '', - ); - json.values.forEach(removeBlankEntries); - } - return json; -} - -Future processJsonFiles() async { - final Directory directory = Directory.current; - final List files = directory.listSync(); - - for (final file in files) { - try { - if (file is File && file.path.endsWith('.json')) { - final String contents = await file.readAsString(); - final dynamic json = jsonDecode(contents); - final dynamic processedJson = removeBlankEntries(json); - - file.writeAsString( - const JsonEncoder.withIndent(' ').convert(processedJson), - ); - print('🥞 Task successful on: ${file.path}'); - } - } catch (e) { - print('💥 Task failed on: ${file.path}: $e'); - } - } -} - -void main() async { - processJsonFiles(); -} +// ignore_for_file: avoid_print + +import 'dart:convert'; +import 'dart:io'; + +T? removeBlankEntries(T? json) { + // This function is protected by BSD 3-Clause License + // Changes made to this section are allow removing of '' values from JSON + + /* + https://pub.dev/documentation/swiss_knife/latest/swiss_knife/removeEmptyEntries.html + + Copyright 2014, the Dart project authors. All rights reserved. + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following + disclaimer in the documentation and/or other materials provided + with the distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + if (json == null) { + return null; + } + if (json is List) { + json.removeWhere((e) => e == null); + json.forEach(removeBlankEntries); + } else if (json is Map) { + json.removeWhere( + (key, value) => key == null || value == null || value == '', + ); + json.values.forEach(removeBlankEntries); + } + return json; +} + +Future processJsonFiles() async { + final Directory directory = Directory.current; + final List files = directory.listSync(); + + for (final file in files) { + try { + if (file is File && file.path.endsWith('.json')) { + final String contents = await file.readAsString(); + final dynamic json = jsonDecode(contents); + final dynamic processedJson = removeBlankEntries(json); + + file.writeAsString( + const JsonEncoder.withIndent(' ').convert(processedJson), + ); + print('🥞 Task successful on: ${file.path}'); + } + } catch (e) { + print('💥 Task failed on: ${file.path}: $e'); + } + } +} + +void main() async { + processJsonFiles(); +} diff --git a/assets/i18n/strings_or_IN.i18n.json b/assets/i18n/or_IN.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_or_IN.i18n.json rename to assets/i18n/or_IN.i18n.json index d84fd2c51a..c92f4d8898 --- a/assets/i18n/strings_or_IN.i18n.json +++ b/assets/i18n/or_IN.i18n.json @@ -60,4 +60,4 @@ }, "contributorsView": {}, "installErrorDialog": {} -} \ No newline at end of file +} diff --git a/assets/i18n/pa_IN.i18n.json b/assets/i18n/pa_IN.i18n.json new file mode 100644 index 0000000000..8f33ad5121 --- /dev/null +++ b/assets/i18n/pa_IN.i18n.json @@ -0,0 +1,19 @@ +{ + "navigationView": {}, + "homeView": {}, + "applicationItem": {}, + "latestCommitCard": {}, + "patcherView": {}, + "appSelectorCard": {}, + "patchSelectorCard": {}, + "socialMediaCard": {}, + "appSelectorView": {}, + "patchesSelectorView": {}, + "patchOptionsView": {}, + "patchItem": {}, + "installerView": {}, + "settingsView": {}, + "appInfoView": {}, + "contributorsView": {}, + "installErrorDialog": {} +} diff --git a/assets/i18n/pa_PK.i18n.json b/assets/i18n/pa_PK.i18n.json new file mode 100644 index 0000000000..8f33ad5121 --- /dev/null +++ b/assets/i18n/pa_PK.i18n.json @@ -0,0 +1,19 @@ +{ + "navigationView": {}, + "homeView": {}, + "applicationItem": {}, + "latestCommitCard": {}, + "patcherView": {}, + "appSelectorCard": {}, + "patchSelectorCard": {}, + "socialMediaCard": {}, + "appSelectorView": {}, + "patchesSelectorView": {}, + "patchOptionsView": {}, + "patchItem": {}, + "installerView": {}, + "settingsView": {}, + "appInfoView": {}, + "contributorsView": {}, + "installErrorDialog": {} +} diff --git a/assets/i18n/strings_pl_PL.i18n.json b/assets/i18n/pl_PL.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_pl_PL.i18n.json rename to assets/i18n/pl_PL.i18n.json index 457b19b0aa..1a9e5ca3b6 --- a/assets/i18n/strings_pl_PL.i18n.json +++ b/assets/i18n/pl_PL.i18n.json @@ -295,4 +295,4 @@ "install_failed_version_downgrade_description": "Instalacja nie powiodła się z powodu niższej wersji załatanej od zainstalowanej aplikacji.\n\nCzy chcesz odinstalować aplikację i spróbować ponownie?", "status_unknown_description": "Instalacja nie powiodła się z nieznanego powodu. Spróbuj ponownie." } -} \ No newline at end of file +} diff --git a/assets/i18n/strings_pt_BR.i18n.json b/assets/i18n/pt_BR.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_pt_BR.i18n.json rename to assets/i18n/pt_BR.i18n.json index f1a238ee57..69053ed8da --- a/assets/i18n/strings_pt_BR.i18n.json +++ b/assets/i18n/pt_BR.i18n.json @@ -295,4 +295,4 @@ "install_failed_version_downgrade_description": "A instalação falhou porque o app patcheado era uma versão mais baixa que o app instalado.\n\nDesinstalar o app e tentar de novo?", "status_unknown_description": "A instalação falhou devido a um motivo desconhecido. Por favor, tente novamente." } -} \ No newline at end of file +} diff --git a/assets/i18n/strings_pt_PT.i18n.json b/assets/i18n/pt_PT.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_pt_PT.i18n.json rename to assets/i18n/pt_PT.i18n.json index 4c160f1818..52270a49e4 --- a/assets/i18n/strings_pt_PT.i18n.json +++ b/assets/i18n/pt_PT.i18n.json @@ -295,4 +295,4 @@ "install_failed_version_downgrade_description": "A instalação falhou porque a aplicação com o patch era de versão inferior à aplicação instalada.\n\nDesinstalar a aplicação e tentar de novo?", "status_unknown_description": "A instalação falhou por razões desconhecidas. Por favor, tenta novamente." } -} \ No newline at end of file +} diff --git a/assets/i18n/strings_ro_RO.i18n.json b/assets/i18n/ro_RO.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_ro_RO.i18n.json rename to assets/i18n/ro_RO.i18n.json index d6b26d5fd0..f1fa2e4b56 --- a/assets/i18n/strings_ro_RO.i18n.json +++ b/assets/i18n/ro_RO.i18n.json @@ -295,4 +295,4 @@ "install_failed_version_downgrade_description": "Instalarea a eșuat deoarece aplicația modificată este o versiune mai mică decât aplicația instalată.\n\nDezinstalați aplicația și încercați din nou?", "status_unknown_description": "Instalarea a eșuat din cauza unui motiv necunoscut. Vă rugăm să încercați din nou." } -} \ No newline at end of file +} diff --git a/assets/i18n/strings_ru_RU.i18n.json b/assets/i18n/ru_RU.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_ru_RU.i18n.json rename to assets/i18n/ru_RU.i18n.json index c9c43c9009..5d90dd4d0a --- a/assets/i18n/strings_ru_RU.i18n.json +++ b/assets/i18n/ru_RU.i18n.json @@ -295,4 +295,4 @@ "install_failed_version_downgrade_description": "Установка не удалась, поскольку пропатченное приложение имело более раннюю версию, чем установленное приложение.\n\nУдалить приложение и попробовать еще раз?", "status_unknown_description": "Установка не удалась по неизвестной причине. Пожалуйста, попробуйте еще раз." } -} \ No newline at end of file +} diff --git a/assets/i18n/si_LK.i18n.json b/assets/i18n/si_LK.i18n.json new file mode 100644 index 0000000000..8f33ad5121 --- /dev/null +++ b/assets/i18n/si_LK.i18n.json @@ -0,0 +1,19 @@ +{ + "navigationView": {}, + "homeView": {}, + "applicationItem": {}, + "latestCommitCard": {}, + "patcherView": {}, + "appSelectorCard": {}, + "patchSelectorCard": {}, + "socialMediaCard": {}, + "appSelectorView": {}, + "patchesSelectorView": {}, + "patchOptionsView": {}, + "patchItem": {}, + "installerView": {}, + "settingsView": {}, + "appInfoView": {}, + "contributorsView": {}, + "installErrorDialog": {} +} diff --git a/assets/i18n/strings_sk_SK.i18n.json b/assets/i18n/sk_SK.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_sk_SK.i18n.json rename to assets/i18n/sk_SK.i18n.json index 68a7f642e3..1451741f9d --- a/assets/i18n/strings_sk_SK.i18n.json +++ b/assets/i18n/sk_SK.i18n.json @@ -158,4 +158,4 @@ "widgetTitle": "Prispievatelia" }, "installErrorDialog": {} -} \ No newline at end of file +} diff --git a/assets/i18n/strings_sl_SI.i18n.json b/assets/i18n/sl_SI.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_sl_SI.i18n.json rename to assets/i18n/sl_SI.i18n.json index bfc45970f7..6192f0cebb --- a/assets/i18n/strings_sl_SI.i18n.json +++ b/assets/i18n/sl_SI.i18n.json @@ -230,4 +230,4 @@ "install_failed_version_downgrade_description": "Namestitev je spodletela, ker je popravljena aplikacija nižje različice kot nameščena aplikacija.\n\nOdstranim aplikacijo in poskusim ponovno?", "status_unknown_description": "Namestitev je spodletela iz neznanega razloga. Prosimo, da poskusite ponovno." } -} \ No newline at end of file +} diff --git a/assets/i18n/strings_sq_AL.i18n.json b/assets/i18n/sq_AL.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_sq_AL.i18n.json rename to assets/i18n/sq_AL.i18n.json index e95b7dbdd4..b0e6c01b0c --- a/assets/i18n/strings_sq_AL.i18n.json +++ b/assets/i18n/sq_AL.i18n.json @@ -109,4 +109,4 @@ "widgetTitle": "Kontribuesit" }, "installErrorDialog": {} -} \ No newline at end of file +} diff --git a/assets/i18n/strings_sr_CS.i18n.json b/assets/i18n/sr_CS.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_sr_CS.i18n.json rename to assets/i18n/sr_CS.i18n.json index 1b6acf101e..8585b79085 --- a/assets/i18n/strings_sr_CS.i18n.json +++ b/assets/i18n/sr_CS.i18n.json @@ -295,4 +295,4 @@ "install_failed_version_downgrade_description": "Instalacija nije uspela jer je verzija pečovane aplikacije niža od instalirane.\n\nDeinstalirati aplikaciju i pokušati ponovo?", "status_unknown_description": "Instalacija nije uspela iz nepoznatog razloga. Pokušajte ponovo." } -} \ No newline at end of file +} diff --git a/assets/i18n/strings_sr_SP.i18n.json b/assets/i18n/sr_SP.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_sr_SP.i18n.json rename to assets/i18n/sr_SP.i18n.json index f6cbbe1571..50d26c6222 --- a/assets/i18n/strings_sr_SP.i18n.json +++ b/assets/i18n/sr_SP.i18n.json @@ -295,4 +295,4 @@ "install_failed_version_downgrade_description": "Инсталација није успела јер је верзија печоване апликације нижа од инсталиране.\n\nДеинсталирати апликацију и покушати поново?", "status_unknown_description": "Инсталација није успела из непознатог разлога. Покушајте поново." } -} \ No newline at end of file +} diff --git a/assets/i18n/strings_eu_ES.i18n.json b/assets/i18n/strings_eu_ES.i18n.json deleted file mode 100755 index 4d40483d85..0000000000 --- a/assets/i18n/strings_eu_ES.i18n.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "navigationView": {}, - "homeView": {}, - "applicationItem": {}, - "latestCommitCard": {}, - "patcherView": {}, - "appSelectorCard": {}, - "patchSelectorCard": {}, - "socialMediaCard": {}, - "appSelectorView": {}, - "patchesSelectorView": {}, - "patchOptionsView": {}, - "patchItem": {}, - "installerView": {}, - "settingsView": {}, - "appInfoView": {}, - "contributorsView": {}, - "installErrorDialog": {} -} \ No newline at end of file diff --git a/assets/i18n/strings_gl_ES.i18n.json b/assets/i18n/strings_gl_ES.i18n.json deleted file mode 100755 index 4d40483d85..0000000000 --- a/assets/i18n/strings_gl_ES.i18n.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "navigationView": {}, - "homeView": {}, - "applicationItem": {}, - "latestCommitCard": {}, - "patcherView": {}, - "appSelectorCard": {}, - "patchSelectorCard": {}, - "socialMediaCard": {}, - "appSelectorView": {}, - "patchesSelectorView": {}, - "patchOptionsView": {}, - "patchItem": {}, - "installerView": {}, - "settingsView": {}, - "appInfoView": {}, - "contributorsView": {}, - "installErrorDialog": {} -} \ No newline at end of file diff --git a/assets/i18n/strings_gu_IN.i18n.json b/assets/i18n/strings_gu_IN.i18n.json deleted file mode 100755 index 4d40483d85..0000000000 --- a/assets/i18n/strings_gu_IN.i18n.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "navigationView": {}, - "homeView": {}, - "applicationItem": {}, - "latestCommitCard": {}, - "patcherView": {}, - "appSelectorCard": {}, - "patchSelectorCard": {}, - "socialMediaCard": {}, - "appSelectorView": {}, - "patchesSelectorView": {}, - "patchOptionsView": {}, - "patchItem": {}, - "installerView": {}, - "settingsView": {}, - "appInfoView": {}, - "contributorsView": {}, - "installErrorDialog": {} -} \ No newline at end of file diff --git a/assets/i18n/strings_ka_GE.i18n.json b/assets/i18n/strings_ka_GE.i18n.json deleted file mode 100755 index 4d40483d85..0000000000 --- a/assets/i18n/strings_ka_GE.i18n.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "navigationView": {}, - "homeView": {}, - "applicationItem": {}, - "latestCommitCard": {}, - "patcherView": {}, - "appSelectorCard": {}, - "patchSelectorCard": {}, - "socialMediaCard": {}, - "appSelectorView": {}, - "patchesSelectorView": {}, - "patchOptionsView": {}, - "patchItem": {}, - "installerView": {}, - "settingsView": {}, - "appInfoView": {}, - "contributorsView": {}, - "installErrorDialog": {} -} \ No newline at end of file diff --git a/assets/i18n/strings_kn_IN.i18n.json b/assets/i18n/strings_kn_IN.i18n.json deleted file mode 100755 index 4d40483d85..0000000000 --- a/assets/i18n/strings_kn_IN.i18n.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "navigationView": {}, - "homeView": {}, - "applicationItem": {}, - "latestCommitCard": {}, - "patcherView": {}, - "appSelectorCard": {}, - "patchSelectorCard": {}, - "socialMediaCard": {}, - "appSelectorView": {}, - "patchesSelectorView": {}, - "patchOptionsView": {}, - "patchItem": {}, - "installerView": {}, - "settingsView": {}, - "appInfoView": {}, - "contributorsView": {}, - "installErrorDialog": {} -} \ No newline at end of file diff --git a/assets/i18n/strings_ky_KG.i18n.json b/assets/i18n/strings_ky_KG.i18n.json deleted file mode 100755 index 4d40483d85..0000000000 --- a/assets/i18n/strings_ky_KG.i18n.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "navigationView": {}, - "homeView": {}, - "applicationItem": {}, - "latestCommitCard": {}, - "patcherView": {}, - "appSelectorCard": {}, - "patchSelectorCard": {}, - "socialMediaCard": {}, - "appSelectorView": {}, - "patchesSelectorView": {}, - "patchOptionsView": {}, - "patchItem": {}, - "installerView": {}, - "settingsView": {}, - "appInfoView": {}, - "contributorsView": {}, - "installErrorDialog": {} -} \ No newline at end of file diff --git a/assets/i18n/strings_lo_LA.i18n.json b/assets/i18n/strings_lo_LA.i18n.json deleted file mode 100755 index 4d40483d85..0000000000 --- a/assets/i18n/strings_lo_LA.i18n.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "navigationView": {}, - "homeView": {}, - "applicationItem": {}, - "latestCommitCard": {}, - "patcherView": {}, - "appSelectorCard": {}, - "patchSelectorCard": {}, - "socialMediaCard": {}, - "appSelectorView": {}, - "patchesSelectorView": {}, - "patchOptionsView": {}, - "patchItem": {}, - "installerView": {}, - "settingsView": {}, - "appInfoView": {}, - "contributorsView": {}, - "installErrorDialog": {} -} \ No newline at end of file diff --git a/assets/i18n/strings_mk_MK.i18n.json b/assets/i18n/strings_mk_MK.i18n.json deleted file mode 100755 index 4d40483d85..0000000000 --- a/assets/i18n/strings_mk_MK.i18n.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "navigationView": {}, - "homeView": {}, - "applicationItem": {}, - "latestCommitCard": {}, - "patcherView": {}, - "appSelectorCard": {}, - "patchSelectorCard": {}, - "socialMediaCard": {}, - "appSelectorView": {}, - "patchesSelectorView": {}, - "patchOptionsView": {}, - "patchItem": {}, - "installerView": {}, - "settingsView": {}, - "appInfoView": {}, - "contributorsView": {}, - "installErrorDialog": {} -} \ No newline at end of file diff --git a/assets/i18n/strings_ml_IN.i18n.json b/assets/i18n/strings_ml_IN.i18n.json deleted file mode 100755 index 4d40483d85..0000000000 --- a/assets/i18n/strings_ml_IN.i18n.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "navigationView": {}, - "homeView": {}, - "applicationItem": {}, - "latestCommitCard": {}, - "patcherView": {}, - "appSelectorCard": {}, - "patchSelectorCard": {}, - "socialMediaCard": {}, - "appSelectorView": {}, - "patchesSelectorView": {}, - "patchOptionsView": {}, - "patchItem": {}, - "installerView": {}, - "settingsView": {}, - "appInfoView": {}, - "contributorsView": {}, - "installErrorDialog": {} -} \ No newline at end of file diff --git a/assets/i18n/strings_mn_MN.i18n.json b/assets/i18n/strings_mn_MN.i18n.json deleted file mode 100755 index 4d40483d85..0000000000 --- a/assets/i18n/strings_mn_MN.i18n.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "navigationView": {}, - "homeView": {}, - "applicationItem": {}, - "latestCommitCard": {}, - "patcherView": {}, - "appSelectorCard": {}, - "patchSelectorCard": {}, - "socialMediaCard": {}, - "appSelectorView": {}, - "patchesSelectorView": {}, - "patchOptionsView": {}, - "patchItem": {}, - "installerView": {}, - "settingsView": {}, - "appInfoView": {}, - "contributorsView": {}, - "installErrorDialog": {} -} \ No newline at end of file diff --git a/assets/i18n/strings_mr_IN.i18n.json b/assets/i18n/strings_mr_IN.i18n.json deleted file mode 100755 index 4d40483d85..0000000000 --- a/assets/i18n/strings_mr_IN.i18n.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "navigationView": {}, - "homeView": {}, - "applicationItem": {}, - "latestCommitCard": {}, - "patcherView": {}, - "appSelectorCard": {}, - "patchSelectorCard": {}, - "socialMediaCard": {}, - "appSelectorView": {}, - "patchesSelectorView": {}, - "patchOptionsView": {}, - "patchItem": {}, - "installerView": {}, - "settingsView": {}, - "appInfoView": {}, - "contributorsView": {}, - "installErrorDialog": {} -} \ No newline at end of file diff --git a/assets/i18n/strings_ne_IN.i18n.json b/assets/i18n/strings_ne_IN.i18n.json deleted file mode 100755 index 4d40483d85..0000000000 --- a/assets/i18n/strings_ne_IN.i18n.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "navigationView": {}, - "homeView": {}, - "applicationItem": {}, - "latestCommitCard": {}, - "patcherView": {}, - "appSelectorCard": {}, - "patchSelectorCard": {}, - "socialMediaCard": {}, - "appSelectorView": {}, - "patchesSelectorView": {}, - "patchOptionsView": {}, - "patchItem": {}, - "installerView": {}, - "settingsView": {}, - "appInfoView": {}, - "contributorsView": {}, - "installErrorDialog": {} -} \ No newline at end of file diff --git a/assets/i18n/strings_pa_IN.i18n.json b/assets/i18n/strings_pa_IN.i18n.json deleted file mode 100755 index 4d40483d85..0000000000 --- a/assets/i18n/strings_pa_IN.i18n.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "navigationView": {}, - "homeView": {}, - "applicationItem": {}, - "latestCommitCard": {}, - "patcherView": {}, - "appSelectorCard": {}, - "patchSelectorCard": {}, - "socialMediaCard": {}, - "appSelectorView": {}, - "patchesSelectorView": {}, - "patchOptionsView": {}, - "patchItem": {}, - "installerView": {}, - "settingsView": {}, - "appInfoView": {}, - "contributorsView": {}, - "installErrorDialog": {} -} \ No newline at end of file diff --git a/assets/i18n/strings_pa_PK.i18n.json b/assets/i18n/strings_pa_PK.i18n.json deleted file mode 100755 index 4d40483d85..0000000000 --- a/assets/i18n/strings_pa_PK.i18n.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "navigationView": {}, - "homeView": {}, - "applicationItem": {}, - "latestCommitCard": {}, - "patcherView": {}, - "appSelectorCard": {}, - "patchSelectorCard": {}, - "socialMediaCard": {}, - "appSelectorView": {}, - "patchesSelectorView": {}, - "patchOptionsView": {}, - "patchItem": {}, - "installerView": {}, - "settingsView": {}, - "appInfoView": {}, - "contributorsView": {}, - "installErrorDialog": {} -} \ No newline at end of file diff --git a/assets/i18n/strings_si_LK.i18n.json b/assets/i18n/strings_si_LK.i18n.json deleted file mode 100755 index 4d40483d85..0000000000 --- a/assets/i18n/strings_si_LK.i18n.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "navigationView": {}, - "homeView": {}, - "applicationItem": {}, - "latestCommitCard": {}, - "patcherView": {}, - "appSelectorCard": {}, - "patchSelectorCard": {}, - "socialMediaCard": {}, - "appSelectorView": {}, - "patchesSelectorView": {}, - "patchOptionsView": {}, - "patchItem": {}, - "installerView": {}, - "settingsView": {}, - "appInfoView": {}, - "contributorsView": {}, - "installErrorDialog": {} -} \ No newline at end of file diff --git a/assets/i18n/strings_tl_PH.i18n.json b/assets/i18n/strings_tl_PH.i18n.json deleted file mode 100755 index 4d40483d85..0000000000 --- a/assets/i18n/strings_tl_PH.i18n.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "navigationView": {}, - "homeView": {}, - "applicationItem": {}, - "latestCommitCard": {}, - "patcherView": {}, - "appSelectorCard": {}, - "patchSelectorCard": {}, - "socialMediaCard": {}, - "appSelectorView": {}, - "patchesSelectorView": {}, - "patchOptionsView": {}, - "patchItem": {}, - "installerView": {}, - "settingsView": {}, - "appInfoView": {}, - "contributorsView": {}, - "installErrorDialog": {} -} \ No newline at end of file diff --git a/assets/i18n/strings_ur_IN.i18n.json b/assets/i18n/strings_ur_IN.i18n.json deleted file mode 100755 index 4d40483d85..0000000000 --- a/assets/i18n/strings_ur_IN.i18n.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "navigationView": {}, - "homeView": {}, - "applicationItem": {}, - "latestCommitCard": {}, - "patcherView": {}, - "appSelectorCard": {}, - "patchSelectorCard": {}, - "socialMediaCard": {}, - "appSelectorView": {}, - "patchesSelectorView": {}, - "patchOptionsView": {}, - "patchItem": {}, - "installerView": {}, - "settingsView": {}, - "appInfoView": {}, - "contributorsView": {}, - "installErrorDialog": {} -} \ No newline at end of file diff --git a/assets/i18n/strings_zu_ZA.i18n.json b/assets/i18n/strings_zu_ZA.i18n.json deleted file mode 100755 index 4d40483d85..0000000000 --- a/assets/i18n/strings_zu_ZA.i18n.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "navigationView": {}, - "homeView": {}, - "applicationItem": {}, - "latestCommitCard": {}, - "patcherView": {}, - "appSelectorCard": {}, - "patchSelectorCard": {}, - "socialMediaCard": {}, - "appSelectorView": {}, - "patchesSelectorView": {}, - "patchOptionsView": {}, - "patchItem": {}, - "installerView": {}, - "settingsView": {}, - "appInfoView": {}, - "contributorsView": {}, - "installErrorDialog": {} -} \ No newline at end of file diff --git a/assets/i18n/strings_sv_SE.i18n.json b/assets/i18n/sv_SE.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_sv_SE.i18n.json rename to assets/i18n/sv_SE.i18n.json index 2c1e2b69fd..5cba6e73f8 --- a/assets/i18n/strings_sv_SE.i18n.json +++ b/assets/i18n/sv_SE.i18n.json @@ -295,4 +295,4 @@ "install_failed_version_downgrade_description": "Installationen misslyckades på grund av att den patchade appen var en lägre version än den installerade appen.\n\nAvinstallera appen och försök igen?", "status_unknown_description": "Installationen misslyckades på grund av en okänd anledning. Försök igen." } -} \ No newline at end of file +} diff --git a/assets/i18n/strings_sw_KE.i18n.json b/assets/i18n/sw_KE.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_sw_KE.i18n.json rename to assets/i18n/sw_KE.i18n.json index 1ef228dcf3..69a002f681 --- a/assets/i18n/strings_sw_KE.i18n.json +++ b/assets/i18n/sw_KE.i18n.json @@ -18,4 +18,4 @@ "appInfoView": {}, "contributorsView": {}, "installErrorDialog": {} -} \ No newline at end of file +} diff --git a/assets/i18n/strings_ta_IN.i18n.json b/assets/i18n/ta_IN.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_ta_IN.i18n.json rename to assets/i18n/ta_IN.i18n.json index b7de32f772..835ddf5eb0 --- a/assets/i18n/strings_ta_IN.i18n.json +++ b/assets/i18n/ta_IN.i18n.json @@ -168,4 +168,4 @@ "widgetTitle": "பங்களிப்பாளர்கள்" }, "installErrorDialog": {} -} \ No newline at end of file +} diff --git a/assets/i18n/strings_te_IN.i18n.json b/assets/i18n/te_IN.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_te_IN.i18n.json rename to assets/i18n/te_IN.i18n.json index 0671403cc5..a9b1e30fa4 --- a/assets/i18n/strings_te_IN.i18n.json +++ b/assets/i18n/te_IN.i18n.json @@ -102,4 +102,4 @@ "installErrorDialog": { "install_failed_verification_failure": "ధృవీకరణ విఫలమైంది" } -} \ No newline at end of file +} diff --git a/assets/i18n/strings_th_TH.i18n.json b/assets/i18n/th_TH.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_th_TH.i18n.json rename to assets/i18n/th_TH.i18n.json index ba02e8be78..08605171b6 --- a/assets/i18n/strings_th_TH.i18n.json +++ b/assets/i18n/th_TH.i18n.json @@ -148,4 +148,4 @@ "widgetTitle": "ผู้ช่วยเหลือโปรเจกต์" }, "installErrorDialog": {} -} \ No newline at end of file +} diff --git a/assets/i18n/tl_PH.i18n.json b/assets/i18n/tl_PH.i18n.json new file mode 100644 index 0000000000..8f33ad5121 --- /dev/null +++ b/assets/i18n/tl_PH.i18n.json @@ -0,0 +1,19 @@ +{ + "navigationView": {}, + "homeView": {}, + "applicationItem": {}, + "latestCommitCard": {}, + "patcherView": {}, + "appSelectorCard": {}, + "patchSelectorCard": {}, + "socialMediaCard": {}, + "appSelectorView": {}, + "patchesSelectorView": {}, + "patchOptionsView": {}, + "patchItem": {}, + "installerView": {}, + "settingsView": {}, + "appInfoView": {}, + "contributorsView": {}, + "installErrorDialog": {} +} diff --git a/assets/i18n/strings_tr_TR.i18n.json b/assets/i18n/tr_TR.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_tr_TR.i18n.json rename to assets/i18n/tr_TR.i18n.json index b5e6c145d9..e924397a0e --- a/assets/i18n/strings_tr_TR.i18n.json +++ b/assets/i18n/tr_TR.i18n.json @@ -295,4 +295,4 @@ "install_failed_version_downgrade_description": "Yamalanmış uygulamanın sürümünün, kurulu uygulamadan daha düşük olması nedeniyle kurulum başarısız oldu.\n\nUygulamayı kaldırıp tekrar denemek ister misiniz?", "status_unknown_description": "Bilinmeyen bir nedenden dolayı kurulum başarısız oldu. Lütfen tekrar deneyin." } -} \ No newline at end of file +} diff --git a/assets/i18n/strings_uk_UA.i18n.json b/assets/i18n/uk_UA.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_uk_UA.i18n.json rename to assets/i18n/uk_UA.i18n.json index 3906dbd2ce..0768de6d50 --- a/assets/i18n/strings_uk_UA.i18n.json +++ b/assets/i18n/uk_UA.i18n.json @@ -295,4 +295,4 @@ "install_failed_version_downgrade_description": "Встановлення не вдалося через те, що пропатчений застосунок мав старішу версію, ніж встановлений.\n\nВидалити застосунок та повторити спробу?", "status_unknown_description": "Встановлення не вдалося через невідому причину. Будь ласка спробуйте ще раз." } -} \ No newline at end of file +} diff --git a/assets/i18n/ur_IN.i18n.json b/assets/i18n/ur_IN.i18n.json new file mode 100644 index 0000000000..8f33ad5121 --- /dev/null +++ b/assets/i18n/ur_IN.i18n.json @@ -0,0 +1,19 @@ +{ + "navigationView": {}, + "homeView": {}, + "applicationItem": {}, + "latestCommitCard": {}, + "patcherView": {}, + "appSelectorCard": {}, + "patchSelectorCard": {}, + "socialMediaCard": {}, + "appSelectorView": {}, + "patchesSelectorView": {}, + "patchOptionsView": {}, + "patchItem": {}, + "installerView": {}, + "settingsView": {}, + "appInfoView": {}, + "contributorsView": {}, + "installErrorDialog": {} +} diff --git a/assets/i18n/strings_ur_PK.i18n.json b/assets/i18n/ur_PK.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_ur_PK.i18n.json rename to assets/i18n/ur_PK.i18n.json index 7ab2fbd5d5..d088d35705 --- a/assets/i18n/strings_ur_PK.i18n.json +++ b/assets/i18n/ur_PK.i18n.json @@ -43,4 +43,4 @@ "appSelectorCard": { "noAppsLabel": "کوئی ایپلیکیشن نہیں ملی" } -} \ No newline at end of file +} diff --git a/assets/i18n/strings_uz_UZ.i18n.json b/assets/i18n/uz_UZ.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_uz_UZ.i18n.json rename to assets/i18n/uz_UZ.i18n.json index 81e736f2c9..208df63483 --- a/assets/i18n/strings_uz_UZ.i18n.json +++ b/assets/i18n/uz_UZ.i18n.json @@ -82,4 +82,4 @@ "widgetTitle": "Yordamchilar" }, "installErrorDialog": {} -} \ No newline at end of file +} diff --git a/assets/i18n/strings_vi_VN.i18n.json b/assets/i18n/vi_VN.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_vi_VN.i18n.json rename to assets/i18n/vi_VN.i18n.json index b622a50814..f591bffb6f --- a/assets/i18n/strings_vi_VN.i18n.json +++ b/assets/i18n/vi_VN.i18n.json @@ -284,4 +284,4 @@ "install_failed_version_downgrade_description": "Việc cài đặt đã thất bại do ứng dụng đã vá có phiên bản nhỏ hơn ứng dụng đã cài đặt.\n\nGỡ cài đặt ứng dụng và thử lại?", "status_unknown_description": "Việc cài đặt đã thất bại do một lý do chưa rõ. Xin thử lại." } -} \ No newline at end of file +} diff --git a/assets/i18n/strings_zh_CN.i18n.json b/assets/i18n/zh_CN.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_zh_CN.i18n.json rename to assets/i18n/zh_CN.i18n.json index 7115dc6ae7..d6db85eb9b --- a/assets/i18n/strings_zh_CN.i18n.json +++ b/assets/i18n/zh_CN.i18n.json @@ -292,4 +292,4 @@ "install_failed_version_downgrade_description": "由于修补的应用程序版本低于已安装的应用程序,安装失败。\n\n卸载该应用程序并重试?", "status_unknown_description": "由于未知原因,安装失败。请重试。" } -} \ No newline at end of file +} diff --git a/assets/i18n/strings_zh_HK.i18n.json b/assets/i18n/zh_HK.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_zh_HK.i18n.json rename to assets/i18n/zh_HK.i18n.json index eb669dd5b5..0b9cd9688f --- a/assets/i18n/strings_zh_HK.i18n.json +++ b/assets/i18n/zh_HK.i18n.json @@ -153,4 +153,4 @@ "contributorsView": { "widgetTitle": "貢獻者" } -} \ No newline at end of file +} diff --git a/assets/i18n/strings_zh_TW.i18n.json b/assets/i18n/zh_TW.i18n.json old mode 100755 new mode 100644 similarity index 99% rename from assets/i18n/strings_zh_TW.i18n.json rename to assets/i18n/zh_TW.i18n.json index 6e05cffb85..6a082b093c --- a/assets/i18n/strings_zh_TW.i18n.json +++ b/assets/i18n/zh_TW.i18n.json @@ -295,4 +295,4 @@ "install_failed_version_downgrade_description": "安裝失敗是因為已修補的應用程式版本低於已安裝的應用程式。\n\n請解除安裝應用程式,然後重試?", "status_unknown_description": "由於未知原因導致安裝失敗。請重試。" } -} \ No newline at end of file +} diff --git a/assets/i18n/zu_ZA.i18n.json b/assets/i18n/zu_ZA.i18n.json new file mode 100644 index 0000000000..8f33ad5121 --- /dev/null +++ b/assets/i18n/zu_ZA.i18n.json @@ -0,0 +1,19 @@ +{ + "navigationView": {}, + "homeView": {}, + "applicationItem": {}, + "latestCommitCard": {}, + "patcherView": {}, + "appSelectorCard": {}, + "patchSelectorCard": {}, + "socialMediaCard": {}, + "appSelectorView": {}, + "patchesSelectorView": {}, + "patchOptionsView": {}, + "patchItem": {}, + "installerView": {}, + "settingsView": {}, + "appInfoView": {}, + "contributorsView": {}, + "installErrorDialog": {} +} diff --git a/crowdin.yml b/crowdin.yml index be87274481..d54cb50fa5 100644 --- a/crowdin.yml +++ b/crowdin.yml @@ -3,6 +3,6 @@ api_token_env: "CROWDIN_PERSONAL_TOKEN" preserve_hierarchy: false files: - - source: /assets/i18n/strings.i18n.json - translation: /assets/i18n/strings_%locale_with_underscore%.i18n.json + - source: /assets/i18n/en.i18n.json + translation: /assets/i18n/%locale_with_underscore%.i18n.json skip_untranslated_strings: true