You've already forked Tricky-Addon-Update-Target-List
mirror of
https://github.com/KOWX712/Tricky-Addon-Update-Target-List.git
synced 2025-09-06 06:37:09 +00:00
Compare commits
87 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9cc603f36a | ||
|
|
4dfa542940 | ||
|
|
176a4c1654 | ||
|
|
e91bd510e9 | ||
|
|
976ff21141 | ||
|
|
ae12fe8b28 | ||
|
|
36325fc241 | ||
|
|
9b4cf45887 | ||
|
|
276d5fc4fc | ||
|
|
f1de41bd2f | ||
|
|
aa7b5b7573 | ||
|
|
c9ae860ae2 | ||
|
|
1b8fff9347 | ||
|
|
f904ed2bec | ||
|
|
023af806b1 | ||
|
|
311124f3cf | ||
|
|
18a9d41fde | ||
|
|
3668cfe033 | ||
|
|
df0dfefaa2 | ||
|
|
c21aa9994b | ||
|
|
b58397da61 | ||
|
|
e4f1c7fcc8 | ||
|
|
9c8cb9b6c2 | ||
|
|
8d2cb81ae6 | ||
|
|
7220ab62b4 | ||
|
|
c1860c0d0b | ||
|
|
425b8f72bf | ||
|
|
a1df41bd01 | ||
|
|
46e4e68dc2 | ||
|
|
453198c888 | ||
|
|
b3bf8bdde8 | ||
|
|
b0025ea5d5 | ||
|
|
38848fa891 | ||
|
|
4cd2083b94 | ||
|
|
a20d991ae0 | ||
|
|
8d53dde8a1 | ||
|
|
bff0e1f0d5 | ||
|
|
184d50840c | ||
|
|
4da0590440 | ||
|
|
700419a56c | ||
|
|
05efb7e4a1 | ||
|
|
2a3c0a99dc | ||
|
|
a37c777572 | ||
|
|
07d2d808f1 | ||
|
|
2e07ba36db | ||
|
|
478025f38b | ||
|
|
2ff4eec61e | ||
|
|
1acb97d1b6 | ||
|
|
97bd0083c1 | ||
|
|
6f8d45aac0 | ||
|
|
c38813cd62 | ||
|
|
f1c600df7a | ||
|
|
4806eee8ea | ||
|
|
196cba0424 | ||
|
|
b67def1a37 | ||
|
|
118c614afd | ||
|
|
2e5e5139ee | ||
|
|
8b3910f1e6 | ||
|
|
f018e9ba59 | ||
|
|
6d8fa7fb87 | ||
|
|
ea2711dcdc | ||
|
|
3930a0c29d | ||
|
|
cb7016a21e | ||
|
|
b21ed9b662 | ||
|
|
491f3f88ed | ||
|
|
1fe8bbc26e | ||
|
|
a2b548e278 | ||
|
|
fb9c39845b | ||
|
|
592c1a1dd7 | ||
|
|
cda2d6ada0 | ||
|
|
be06ec45c7 | ||
|
|
cdeacae5bc | ||
|
|
56afd639a4 | ||
|
|
357289b558 | ||
|
|
7058c3cbca | ||
|
|
4947d00f9d | ||
|
|
90f7e79f1e | ||
|
|
cb7e3ad92a | ||
|
|
88348ca26a | ||
|
|
3a06a13f36 | ||
|
|
82b8756867 | ||
|
|
cd10bd2d92 | ||
|
|
bf366b5c33 | ||
|
|
3e222e22f3 | ||
|
|
8fad013c97 | ||
|
|
a96127d6fd | ||
|
|
0f70e0daa6 |
2
.gitattributes
vendored
2
.gitattributes
vendored
@@ -2,5 +2,5 @@
|
||||
** text eol=lf
|
||||
|
||||
# Denote all files that are truly binary and should not be modified.
|
||||
module/bin/**/** binary
|
||||
module/bin/*/* binary
|
||||
*.png binary
|
||||
|
||||
5
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
5
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
blank_issues_enabled: true
|
||||
contact_links:
|
||||
- name: View existing translations
|
||||
url: https://crowdin.com/project/TA_utl
|
||||
about: You can modify existing translations in Crowdin.
|
||||
38
.github/ISSUE_TEMPLATE/language_request.yml
vendored
Normal file
38
.github/ISSUE_TEMPLATE/language_request.yml
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
name: Language request
|
||||
description: Request a language to be added in WebUI
|
||||
title: "New language request: "
|
||||
labels: []
|
||||
body:
|
||||
- type: input
|
||||
id: langauge
|
||||
attributes:
|
||||
label: Langauge
|
||||
placeholder: English
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: input
|
||||
id: region
|
||||
attributes:
|
||||
label: Region (Optional)
|
||||
placeholder: United States
|
||||
validations:
|
||||
required: false
|
||||
|
||||
- type: checkboxes
|
||||
id: confirmation
|
||||
attributes:
|
||||
label: Confirmations
|
||||
description: Make sure check the latest canary version to see if the language is already available before submitting issue.
|
||||
options:
|
||||
- label: This language is not already available in WebUI
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: optional
|
||||
attributes:
|
||||
label: Upload translated file (optional)
|
||||
description: Upload translated file based on template.xml if you have translated it
|
||||
placeholder: translate the template in module/webui/locales/template.xml (compress in zip format before upload)
|
||||
validations:
|
||||
required: false
|
||||
71
.github/workflows/build.yml
vendored
71
.github/workflows/build.yml
vendored
@@ -11,6 +11,9 @@ on:
|
||||
- 'module/**'
|
||||
workflow_dispatch:
|
||||
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: build
|
||||
@@ -24,27 +27,61 @@ jobs:
|
||||
fetch-depth: 0
|
||||
fetch-tags: true
|
||||
|
||||
- name: Update dependency
|
||||
- name: Update translation template
|
||||
run: |
|
||||
curl -Ls https://cdn.jsdelivr.net/npm/marked/marked.min.js > module/webui/scripts/assets/marked.min.js
|
||||
# Translation template
|
||||
cp -f module/webui/locales/strings/en.xml module/webui/locales/template.xml
|
||||
|
||||
# Commit if found changes
|
||||
if ! git diff --exit-code module/webui/scripts/assets/marked.min.js > /dev/null; then
|
||||
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
||||
git config --global user.name "github-actions[bot]"
|
||||
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
||||
git config --global user.name "github-actions[bot]"
|
||||
|
||||
# Force push translation template if changed
|
||||
if git status --porcelain | grep 'module/webui/locales/template.xml'; then
|
||||
git add module/webui/locales/template.xml
|
||||
git commit --amend --no-edit
|
||||
fi
|
||||
|
||||
- name: Update dependency
|
||||
if: github.event_name != 'pull_request'
|
||||
run: |
|
||||
# marked.js
|
||||
curl -Ls https://cdn.jsdelivr.net/npm/marked/marked.min.js > module/webui/scripts/assets/marked.min.js
|
||||
|
||||
# OpenSSL
|
||||
gh release download -R KOWX712/openssl-static-build -p "*.tar.gz" -O openssl.tar.gz
|
||||
tar -xzf openssl.tar.gz
|
||||
mv openssl-arm64 module/bin/arm64-v8a/openssl
|
||||
mv openssl-arm32 module/bin/armeabi-v7a/openssl
|
||||
|
||||
# Commit if found changes
|
||||
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
||||
git config --global user.name "github-actions[bot]"
|
||||
|
||||
# Commit marked.min.js if changed
|
||||
if git status --porcelain | grep 'module/webui/scripts/assets/marked.min.js'; then
|
||||
git add module/webui/scripts/assets/marked.min.js
|
||||
git commit -m "deps: update marked.min.js"
|
||||
git push
|
||||
fi
|
||||
|
||||
# Commit OpenSSL files if changed
|
||||
if git status --porcelain | grep -E 'module/bin/arm64-v8a|module/bin/armeabi-v7a'; then
|
||||
git add module/bin/arm64-v8a/openssl module/bin/armeabi-v7a/openssl
|
||||
git commit -m "deps: update OpenSSL binaries"
|
||||
fi
|
||||
|
||||
# Push all commits
|
||||
git push --force
|
||||
|
||||
- name: Extract Module Info
|
||||
id: extract_info
|
||||
run: |
|
||||
MODULE_VERSION=$(grep '^version=' module/module.prop | sed 's/version=//')
|
||||
COMMIT_NUM=$(git rev-list --count HEAD)
|
||||
BUILD_COUNT=${{ github.run_number }}
|
||||
ARTIFACT_NAME="TrickyAddonModule-${MODULE_VERSION}-${COMMIT_NUM}${BUILD_COUNT}-canary"
|
||||
ARTIFACT_NAME="TrickyAddonModule-${MODULE_VERSION}-${COMMIT_NUM}-canary"
|
||||
sed -i "s/^version=.*/& (${COMMIT_NUM}${BUILD_COUNT}-canary)/" module/module.prop
|
||||
sed -i "s/^versionCode=.*/versionCode=${COMMIT_NUM}/" module/module.prop
|
||||
echo "MODULE_VERSION=${MODULE_VERSION}" >> $GITHUB_ENV
|
||||
echo "ARTIFACT_NAME=${ARTIFACT_NAME}" >> $GITHUB_ENV
|
||||
echo "VERSION=${MODULE_VERSION}" >> $GITHUB_ENV
|
||||
@@ -75,12 +112,12 @@ jobs:
|
||||
name: release
|
||||
runs-on: ubuntu-latest
|
||||
needs: build
|
||||
if: ${{ needs.build.outputs.version_tag_exists == 'false' }}
|
||||
if: ${{ needs.build.outputs.version_tag_exists == 'false' && github.event_name != 'pull_request' }}
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 2
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Set release variables
|
||||
id: set_release_variables
|
||||
@@ -107,6 +144,20 @@ jobs:
|
||||
echo "EOF" >> $GITHUB_ENV
|
||||
echo "PRERELEASE=$PRERELEASE" >> $GITHUB_ENV
|
||||
|
||||
- name: Update update.json
|
||||
run: |
|
||||
COMMIT_NUM=$(git rev-list --count HEAD)
|
||||
sed -i "s/\"versionCode\":.*/\"versionCode\": ${COMMIT_NUM},/" update.json
|
||||
sed -i "s/^versionCode=.*/versionCode=${COMMIT_NUM}/" module/module.prop
|
||||
|
||||
git config --global user.email "leecc0503@gmail.com"
|
||||
git config --global user.name "KOWX712"
|
||||
git remote set-url origin "https://${{ secrets.GH_TOKEN }}@github.com/${{ github.repository }}.git"
|
||||
|
||||
git add update.json module/module.prop
|
||||
git commit --amend --no-edit
|
||||
git push --force
|
||||
|
||||
- name: Compress module folder
|
||||
run: |
|
||||
cd module && zip -r "../${{ env.ZIP_NAME }}" ./*
|
||||
@@ -121,4 +172,4 @@ jobs:
|
||||
name: ${{ env.CURRENT_TAG }}
|
||||
body: ${{ env.RELEASE_NOTES }}
|
||||
draft: false
|
||||
prerelease: ${{ env.PRERELEASE }}
|
||||
prerelease: ${{ env.PRERELEASE }}
|
||||
|
||||
38
.github/workflows/crowdin.yml
vendored
Normal file
38
.github/workflows/crowdin.yml
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
name: crowdin
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
paths:
|
||||
- 'module/webui/locales/strings/*.xml'
|
||||
schedule:
|
||||
- cron: '0 0 * * *'
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
synchronize-with-crowdin:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Crowdin Action
|
||||
uses: crowdin/github-action@v2
|
||||
with:
|
||||
upload_sources: true
|
||||
upload_translations: true
|
||||
download_translations: true
|
||||
skip_untranslated_files: false
|
||||
skip_untranslated_strings: true
|
||||
|
||||
create_pull_request: true
|
||||
localization_branch_name: crowdin_branch
|
||||
pull_request_labels: 'enhancement, translation'
|
||||
pull_request_title: 'opt: sync translation from Crowdin'
|
||||
|
||||
config: 'crowdin.yml'
|
||||
crowdin_branch_name: main
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
|
||||
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
|
||||
CROWDIN_API_TOKEN: ${{ secrets.CROWDIN_API_TOKEN }}
|
||||
31
.github/workflows/json-lint.yml
vendored
31
.github/workflows/json-lint.yml
vendored
@@ -1,31 +0,0 @@
|
||||
name: pr_jsonlint
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
paths:
|
||||
- 'module/webui/locales/*.json'
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 18
|
||||
|
||||
- name: Install JSON linter
|
||||
run: npm install -g jsonlint
|
||||
|
||||
- name: Lint JSON files
|
||||
run: |
|
||||
for file in $(find module/webui/locales -name "*.json"); do
|
||||
echo "Checking $file"
|
||||
if ! jsonlint "$file"; then
|
||||
echo "Error in $file"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1,3 +1,4 @@
|
||||
__MACOSX
|
||||
.DS_Store
|
||||
applist.json
|
||||
applist.json
|
||||
changelog_draft.md
|
||||
|
||||
@@ -16,7 +16,7 @@ Configure Tricky Store target.txt with KSU WebUI.
|
||||
|
||||
### Magisk
|
||||
- Action button to open WebUI
|
||||
- Support [KSUWebUIStandalone](https://github.com/5ec1cff/KsuWebUIStandalone) and [MMRL](https://github.com/MMRLApp/MMRL)
|
||||
- Support [KSUWebUIStandalone](https://github.com/5ec1cff/KsuWebUIStandalone) and [WebUI X](https://github.com/MMRLApp/WebUI-X-Portable)
|
||||
- Automatic KSUWebUIStandalone install if none of them are installed.
|
||||
|
||||
### What Can This Module Do
|
||||
@@ -35,7 +35,7 @@ Configure Tricky Store target.txt with KSU WebUI.
|
||||
| Periodically add all app to target.txt | ❌ |
|
||||
|
||||
## Localization
|
||||
- Read [Translation Guide](https://github.com/KOWX712/Tricky-Addon-Update-Target-List/blob/main/module/webui/locales/A-translate.md)
|
||||
- Read [Translation Guide](https://github.com/KOWX712/Tricky-Addon-Update-Target-List/blob/main/module/webui/locales/GUIDE.md)
|
||||
|
||||
## Acknowledgement
|
||||
- [j-hc/zygisk-detach](https://github.com/j-hc/zygisk-detach) - KSU WebUI template
|
||||
|
||||
22
changelog.md
22
changelog.md
@@ -8,9 +8,29 @@ GitHub release: [Tricky Addon: Update Target List](https://github.com/KOWX712/Tr
|
||||
Telegram channel: [KOW's Little World](https://t.me/kowchannel)
|
||||
|
||||
## Changelog
|
||||
### v4.1
|
||||
- **WebUI:** Added right-to-left language support in UI.
|
||||
- **WebUI:** Fixed 'Failed to fetch applist' in certain condition.
|
||||
- **Script:** Added auto security patch support for pif.prop.
|
||||
- **WebUI:** Added support for Dakkshesh's TrickyStore fork [(GitHub@beakthoven/TrickyStore)](https://github.com/beakthoven/TrickyStore).
|
||||
- **WebUI:** Added device props support for qwq233's TrickyStore fork (this will not modify system prop automatically).
|
||||
- **WebUI:** Added German (#78, @xxOrdulu52xx), Bengali, Persian translation.
|
||||
- **WebUI:** Updated Turkish, Italian, Japanese, Arabic translation. (@cvnertnc, @GRgabrix, @reindex-ot, @ZG089)
|
||||
|
||||
### v4.0
|
||||
- **WebUI:** Fixed `Failed to fetch security patch` issue in most condition.
|
||||
- **WebUI:** Added support for [qwq233's TrickyStore fork](https://github.com/qwq233/TrickyStore).
|
||||
- **WebUI:** Provide option to download latest canary version in about menu.
|
||||
- **action:** Removed MMRL from action redirect WebUI since MMRL no longer provide built-in WebUI. (#66, @ThanhCN0)
|
||||
- **WebUI:** Unknown keybox option no longer rely on internet connection.
|
||||
- **WebUI:** Fixed built-in update mechanism might fail in some condition. (@backslashxx)
|
||||
- **WebUI:** Translation service now is available on crowdin, view [translation guide](https://github.com/KOWX712/Tricky-Addon-Update-Target-List/blob/main/module/webui/locales/GUIDE.md) for more detail. You can reach our crowdin website in the WebUI language menu too.
|
||||
- **WebUI:** Added Ukrainian (#43, @StepanSad), Greek (#61, @Goku818) translation.
|
||||
- **WebUI:** Updated Japanese, Indonesian, Arabic, Polish, French, Portuguese, Ukrainian translation. (@reindex-ot, @Rem01Gaming, @ZG089, @Bladius2024, @GhostFRR, @SecretGogeta, [crowdin@IlliaS](https://crowdin.com/profile/illias))
|
||||
|
||||
### v3.9
|
||||
- **WebUI:** Optmized app loading speed, fixed all known freezing issue.
|
||||
- **WebUI:** Added custom keybox option, similar to AOSP keybox, remvoed AOSP keybox fallback when no valid keybox available.
|
||||
- **WebUI:** Added unknown keybox option, similar to AOSP keybox, removed AOSP keybox fallback when no valid keybox available.
|
||||
- **MMRL:** Added app icon support, enjoy with latest [MMRL](https://github.com/MMRLApp/MMRL/releases/latest) or [WebUI X](https://github.com/MMRLApp/WebUI-X-Portable/releases/latest).
|
||||
- **Action:** Added support for Magisk action redirect WebUI X.
|
||||
- **Script:** Get actual vbmeta size before resetprop.
|
||||
|
||||
6
crowdin.yml
Normal file
6
crowdin.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
project_id_env: CROWDIN_PROJECT_ID
|
||||
api_token_env: CROWDIN_API_TOKEN
|
||||
preserve_hierarchy: 1
|
||||
files:
|
||||
- source: /module/webui/locales/strings/en.xml
|
||||
translation: /module/webui/locales/strings/%locale%.xml
|
||||
@@ -18,9 +18,9 @@ manual_download() {
|
||||
download() {
|
||||
PATH=/data/adb/magisk:/data/data/com.termux/files/usr/bin:$PATH
|
||||
if command -v curl >/dev/null 2>&1; then
|
||||
timeout 10 curl -Ls "$1"
|
||||
curl --connect-timeout 10 -Ls "$1"
|
||||
else
|
||||
timeout 10 busybox wget --no-check-certificate -qO- "$1"
|
||||
busybox wget -T 10 --no-check-certificate -qO- "$1"
|
||||
fi
|
||||
PATH="$ORG_PATH"
|
||||
}
|
||||
@@ -49,9 +49,6 @@ get_webui() {
|
||||
if pm path io.github.a13e300.ksuwebui >/dev/null 2>&1; then
|
||||
echo "- Launching WebUI in KSUWebUIStandalone..."
|
||||
am start -n "io.github.a13e300.ksuwebui/.WebUIActivity" -e id "tricky_store"
|
||||
elif pm path com.dergoogler.mmrl >/dev/null 2>&1; then
|
||||
echo "- Launching WebUI in MMRL WebUI..."
|
||||
am start -n "com.dergoogler.mmrl/.ui.activity.webui.WebUIActivity" -e MOD_ID "tricky_store"
|
||||
elif pm path com.dergoogler.mmrl.wx > /dev/null 2>&1; then
|
||||
echo "- Launching WebUI in WebUI X..."
|
||||
am start -n "com.dergoogler.mmrl.wx/.ui.activity.webui.WebUIActivity" -e MOD_ID "tricky_store"
|
||||
|
||||
Binary file not shown.
BIN
module/bin/arm64-v8a/openssl
Executable file
BIN
module/bin/arm64-v8a/openssl
Executable file
Binary file not shown.
Binary file not shown.
BIN
module/bin/armeabi-v7a/openssl
Executable file
BIN
module/bin/armeabi-v7a/openssl
Executable file
Binary file not shown.
@@ -3,7 +3,6 @@
|
||||
# This file is the backend of JavaScript
|
||||
|
||||
MODPATH=${0%/*}
|
||||
ORG_PATH="$PATH"
|
||||
SKIPLIST="$MODPATH/tmp/skiplist"
|
||||
XPOSED="$MODPATH/tmp/xposed"
|
||||
|
||||
@@ -21,9 +20,9 @@ aapt() { "$MODPATH/aapt" "$@"; }
|
||||
# curl, has ssl on android, we use it if found
|
||||
download() {
|
||||
if command -v curl >/dev/null 2>&1; then
|
||||
timeout 10 curl -Ls "$1"
|
||||
curl --connect-timeout 10 -Ls "$1"
|
||||
else
|
||||
timeout 10 busybox wget --no-check-certificate -qO- "$1"
|
||||
busybox wget -T 10 --no-check-certificate -qO- "$1"
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -57,7 +56,9 @@ check_update() {
|
||||
[ -f "$MODDIR/disable" ] && rm -f "$MODDIR/disable"
|
||||
LOCAL_VERSION=$(grep '^versionCode=' "$MODPATH/update/module.prop" | awk -F= '{print $2}')
|
||||
if [ "$REMOTE_VERSION" -gt "$LOCAL_VERSION" ] && [ ! -f "/data/adb/modules/TA_utl/update" ]; then
|
||||
if [ "$MAGISK" = "true" ]; then
|
||||
if [ "$CANARY" = "true" ]; then
|
||||
exit 1
|
||||
elif [ "$MAGISK" = "true" ]; then
|
||||
[ -d "/data/adb/modules/TA_utl" ] && rm -rf "/data/adb/modules/TA_utl"
|
||||
cp -rf "$MODPATH/update" "/data/adb/modules/TA_utl"
|
||||
else
|
||||
@@ -82,19 +83,26 @@ get_update() {
|
||||
}
|
||||
|
||||
install_update() {
|
||||
if command -v magisk >/dev/null 2>&1; then
|
||||
magisk --install-module "$MODPATH/tmp/module.zip" || exit 1
|
||||
elif command -v apd >/dev/null 2>&1; then
|
||||
apd module install "$MODPATH/tmp/module.zip" || exit 1
|
||||
elif command -v ksud >/dev/null 2>&1; then
|
||||
ksud module install "$MODPATH/tmp/module.zip" || exit 1
|
||||
else
|
||||
exit 1
|
||||
fi
|
||||
zip_file="$MODPATH/tmp/module.zip"
|
||||
. "$MODPATH/manager.sh"
|
||||
|
||||
rm -f "$MODPATH/tmp/module.zip"
|
||||
rm -f "$MODPATH/tmp/changelog.md"
|
||||
rm -f "$MODPATH/tmp/version"
|
||||
case $MANAGER in
|
||||
APATCH)
|
||||
apd module install "$zip_file" || exit 1
|
||||
;;
|
||||
KSU)
|
||||
ksud module install "$zip_file" || exit 1
|
||||
;;
|
||||
MAGISK)
|
||||
magisk --install-module "$zip_file" || exit 1
|
||||
;;
|
||||
*)
|
||||
rm -f "$zip_file" "$MODPATH/tmp/changelog.md" "$MODPATH/tmp/version" || true
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
rm -f "$zip_file" "$MODPATH/tmp/changelog.md" "$MODPATH/tmp/version" || true
|
||||
}
|
||||
|
||||
release_note() {
|
||||
@@ -110,12 +118,24 @@ release_note() {
|
||||
}
|
||||
|
||||
set_security_patch() {
|
||||
# Find pif.json
|
||||
[ -f "/data/adb/modules/playintegrityfix/pif.json" ] && PIF="/data/adb/modules/playintegrityfix/pif.json"
|
||||
[ -f "/data/adb/pif.json" ] && PIF="/data/adb/pif.json"
|
||||
[ -f "/data/adb/modules/playintegrityfix/custom.pif.json" ] && PIF="/data/adb/modules/playintegrityfix/custom.pif.json"
|
||||
|
||||
security_patch=$(grep '"SECURITY_PATCH"' "$PIF" | sed 's/.*: "//; s/".*//')
|
||||
# Look for security patch from PIF
|
||||
if [ -f "/data/adb/modules/playintegrityfix/pif.json" ]; then
|
||||
PIF="/data/adb/modules/playintegrityfix/pif.json"
|
||||
[ -f "/data/adb/pif.json" ] && PIF="/data/adb/pif.json"
|
||||
elif [ -f "/data/adb/modules/playintegrityfix/pif.prop" ]; then
|
||||
PIF="/data/adb/modules/playintegrityfix/pif.prop"
|
||||
[ -f "/data/adb/pif.prop" ] && PIF="/data/adb/pif.prop"
|
||||
elif [ -f "/data/adb/modules/playintegrityfix/custom.pif.json" ]; then
|
||||
PIF="/data/adb/modules/playintegrityfix/custom.pif.json"
|
||||
fi
|
||||
|
||||
if [ -n "$PIF" ]; then
|
||||
if echo "$PIF" | grep -q "prop"; then
|
||||
security_patch=$(grep 'SECURITY_PATCH' "$PIF" | cut -d'=' -f2 | tr -d '\n')
|
||||
else
|
||||
security_patch=$(grep '"SECURITY_PATCH"' "$PIF" | sed 's/.*: "//; s/".*//')
|
||||
fi
|
||||
fi
|
||||
[ -z "$security_patch" ] && security_patch=$(getprop ro.build.version.security_patch) # Fallback
|
||||
|
||||
formatted_security_patch=$(echo "$security_patch" | sed 's/-//g')
|
||||
@@ -123,13 +143,27 @@ set_security_patch() {
|
||||
TODAY=$(date +%Y%m%d)
|
||||
if [ -n "$formatted_security_patch" ] && [ "$TODAY" -lt "$security_patch_after_1y" ]; then
|
||||
TS_version=$(grep "versionCode=" "/data/adb/modules/tricky_store/module.prop" | cut -d'=' -f2)
|
||||
if [ "$TS_version" -lt 158 ]; then
|
||||
resetprop ro.vendor.build.security_patch "$security_patch"
|
||||
resetprop ro.build.version.security_patch "$security_patch"
|
||||
else
|
||||
# James Clef's TrickyStore fork (GitHub@qwq233/TrickyStore)
|
||||
if grep -q "James" "/data/adb/modules/tricky_store/module.prop" && ! grep -q "beakthoven" "/data/adb/modules/tricky_store/module.prop"; then
|
||||
SECURITY_PATCH_FILE="/data/adb/tricky_store/devconfig.toml"
|
||||
if grep -q "^securityPatch" "$SECURITY_PATCH_FILE"; then
|
||||
sed -i "s/^securityPatch .*/securityPatch = \"$security_patch\"/" "$SECURITY_PATCH_FILE"
|
||||
else
|
||||
if ! grep -q "^\\[deviceProps\\]" "$SECURITY_PATCH_FILE"; then
|
||||
echo "securityPatch = \"$security_patch\"" >> "$SECURITY_PATCH_FILE"
|
||||
else
|
||||
sed -i "s/^\[deviceProps\]/securityPatch = \"$security_patch\"\n&/" "$SECURITY_PATCH_FILE"
|
||||
fi
|
||||
fi
|
||||
# Dakkshesh's fork (GitHub@beakthoven/TrickyStore) or Official TrickyStore which supports custom security patch
|
||||
elif [ "$TS_version" -ge 158 ] || grep -q "beakthoven" "/data/adb/modules/tricky_store/module.prop"; then
|
||||
SECURITY_PATCH_FILE="/data/adb/tricky_store/security_patch.txt"
|
||||
printf "system=prop\nboot=%s\nvendor=%s\n" "$security_patch" "$security_patch" > "$SECURITY_PATCH_FILE"
|
||||
chmod 644 "$SECURITY_PATCH_FILE"
|
||||
# Other
|
||||
else
|
||||
resetprop ro.vendor.build.security_patch "$security_patch"
|
||||
resetprop ro.build.version.security_patch "$security_patch"
|
||||
fi
|
||||
else
|
||||
echo "not set"
|
||||
@@ -137,11 +171,81 @@ set_security_patch() {
|
||||
}
|
||||
|
||||
get_latest_security_patch() {
|
||||
security_patch=$(download "https://source.android.com/docs/security/bulletin/pixel" | grep -o "<td>[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}</td>" | head -n 1 | sed 's/<td>\(.*\)<\/td>/\1/')
|
||||
[ -n "$security_patch" ] && echo "$security_patch" || exit 1
|
||||
security_patch=$(download "https://source.android.com/docs/security/bulletin/pixel" |
|
||||
sed -n 's/.*<td>\([0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}\)<\/td>.*/\1/p' |
|
||||
head -n 1)
|
||||
|
||||
if [ -n "$security_patch" ]; then
|
||||
echo "$security_patch"
|
||||
exit 0
|
||||
elif ! ping -c 1 -W 5 "source.android.com" >/dev/null 2>&1; then
|
||||
echo "Connection failed" >&2
|
||||
fi
|
||||
exit 1
|
||||
}
|
||||
|
||||
unknown_kb() {
|
||||
# adapted from https://github.com/TMLP-Team/keyboxGenerator/blob/main/keyboxGenerator_v2.0.py
|
||||
ECKEY="eckey.pem"
|
||||
CERT="cert.pem"
|
||||
RSAKEY="rsakey.pem"
|
||||
KEYBOX="keybox.xml"
|
||||
|
||||
# gen ec_key
|
||||
openssl ecparam -name prime256v1 -genkey -noout -out "$ECKEY" || exit 1
|
||||
|
||||
# gen cert
|
||||
openssl req -new -x509 -key "$ECKEY" -out "$CERT" -days 3650 -subj "/CN=Generated" || exit 1
|
||||
|
||||
# gen rsa key
|
||||
openssl genrsa -out "$RSAKEY" 2048 || exit 1
|
||||
|
||||
# convert rsa key to PKCS#1
|
||||
openssl rsa -in "$RSAKEY" -out "$RSAKEY" -traditional || exit 1
|
||||
|
||||
# Generate keybox XML
|
||||
cat << KEYBOX_EOF > "$KEYBOX"
|
||||
<?xml version="1.0"?>
|
||||
<AndroidAttestation>
|
||||
<NumberOfKeyboxes>1</NumberOfKeyboxes>
|
||||
<Keybox DeviceID="sw">
|
||||
<Key algorithm="ecdsa">
|
||||
<PrivateKey format="pem">
|
||||
$(sed 's/^/ /' "$ECKEY")
|
||||
</PrivateKey>
|
||||
<CertificateChain>
|
||||
<NumberOfCertificates>1</NumberOfCertificates>
|
||||
<Certificate format="pem">
|
||||
$(sed 's/^/ /' "$CERT")
|
||||
</Certificate>
|
||||
</CertificateChain>
|
||||
</Key>
|
||||
<Key algorithm="rsa">
|
||||
<PrivateKey format="pem">
|
||||
$(sed 's/^/ /' "$RSAKEY")
|
||||
</PrivateKey>
|
||||
</Key>
|
||||
</Keybox>
|
||||
</AndroidAttestation>
|
||||
KEYBOX_EOF
|
||||
|
||||
# cleanup
|
||||
rm -f $ECKEY $CERT $RSAKEY
|
||||
|
||||
if [ -f $KEYBOX ]; then
|
||||
mv /data/adb/tricky_store/keybox.xml /data/adb/tricky_store/keybox.xml.bak
|
||||
mv "$KEYBOX" /data/adb/tricky_store/keybox.xml
|
||||
else
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
--download)
|
||||
shift
|
||||
download $@
|
||||
exit
|
||||
;;
|
||||
--xposed)
|
||||
get_xposed
|
||||
exit
|
||||
@@ -186,4 +290,8 @@ case "$1" in
|
||||
get_latest_security_patch
|
||||
exit
|
||||
;;
|
||||
--unknown-kb)
|
||||
unknown_kb
|
||||
exit
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -17,8 +17,9 @@ initialize() {
|
||||
|
||||
# Set aapt binary
|
||||
cp "$MODPATH/module.prop" "$COMPATH/update/module.prop"
|
||||
mv "$MODPATH/bin/$(getprop ro.product.cpu.abi)/aapt" "$COMPATH/aapt"
|
||||
mv "$MODPATH/bin/$(getprop ro.product.cpu.abi)/"* "$COMPATH/"
|
||||
set_perm $COMPATH/aapt 0 2000 0755
|
||||
set_perm $COMPATH/openssl 0 2000 0755
|
||||
rm -rf "$MODPATH/bin"
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
id=TA_utl
|
||||
name=Tricky Addon - Update Target List
|
||||
version=v3.9
|
||||
versionCode=390
|
||||
version=v4.1
|
||||
versionCode=572
|
||||
author=KOWX712
|
||||
description=A WebUI to conifgure tricky store target.txt
|
||||
updateJson=https://raw.githubusercontent.com/KOWX712/Tricky-Addon-Update-Target-List/main/update.json
|
||||
|
||||
@@ -17,3 +17,10 @@ fi
|
||||
|
||||
[ -L "$TS/webroot" ] && rm -f "$TS/webroot"
|
||||
[ -L "$TS/action.sh" ] && rm -f "$TS/action.sh"
|
||||
|
||||
# detect root manager
|
||||
[ "$APATCH" = "true" ] && MANAGER="APATCH"
|
||||
[ "$KSU" = "true" ] && MANAGER="KSU"
|
||||
[ ! "$APATCH" = "true" ] && [ ! "$KSU" = "true" ] && MANAGER="MAGISK"
|
||||
echo "MANAGER=$MANAGER" > "$MODPATH/common/manager.sh"
|
||||
chmod 755 "$MODPATH/common/manager.sh"
|
||||
|
||||
@@ -108,12 +108,12 @@ echo "# This file is generated from service.sh to speed up load time" > "$OUTPUT
|
||||
# Get list of third party apps and specific system apps, then cache app name
|
||||
# Check Xposed module
|
||||
{
|
||||
pm list packages -3 2>/dev/null
|
||||
pm list packages -s | grep -E "$SYSTEM_APP" 2>/dev/null || true
|
||||
} | awk -F: '{print $2}' | while read -r PACKAGE; do
|
||||
pm list packages -3 </dev/null 2>&1 | cat | awk -F: '{print $2}' 2>/dev/null
|
||||
pm list packages -s </dev/null 2>&1 | cat | awk -F: '{print $2}' | grep -Ex "$SYSTEM_APP" 2>/dev/null || true
|
||||
} | while read -r PACKAGE; do
|
||||
# Get APK path for the package
|
||||
APK_PATH=$(pm path "$PACKAGE" 2>/dev/null | head -n1 | awk -F: '{print $2}')
|
||||
APP_NAME=$(aapt dump badging "$APK_PATH" 2>/dev/null | grep "application-label:" | sed "s/application-label://g; s/'//g")
|
||||
APP_NAME=$(aapt dump badging "$APK_PATH" 2>/dev/null | grep "application-label:" | sed "s/application-label://g; s/'//g" | tr -d '\n')
|
||||
[ -z "$APP_NAME" ] && APP_NAME="$PACKAGE"
|
||||
echo " {\"app_name\": \"$APP_NAME\", \"package_name\": \"$PACKAGE\"}," >> "$OUTPUT_APP"
|
||||
|
||||
|
||||
@@ -25,67 +25,64 @@
|
||||
<body>
|
||||
<!-- Header -->
|
||||
<div class="header">
|
||||
<div id="title" data-i18n="header.title"></div><span id="module-version"></span>
|
||||
<div id="title" data-i18n="header_title"></div><span id="module-version"></span>
|
||||
<button id="help-button" class="help-button">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="21px" viewBox="0 -1060 960 990" width="21px" fill="#6E6E6E"><path d="M478-240q21 0 35.5-14.5T528-290q0-21-14.5-35.5T478-340q-21 0-35.5 14.5T428-290q0 21 14.5 35.5T478-240Zm-36-154h74q0-33 7.5-52t42.5-52q26-26 41-49.5t15-56.5q0-56-41-86t-97-30q-57 0-92.5 30T342-618l66 26q5-18 22.5-39t53.5-21q32 0 48 17.5t16 38.5q0 20-12 37.5T506-526q-44 39-54 59t-10 73Zm38 314q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z" /></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="21px" viewBox="0 -960 960 960" width="21px"><path d="M478-240q21 0 35.5-14.5T528-290q0-21-14.5-35.5T478-340q-21 0-35.5 14.5T428-290q0 21 14.5 35.5T478-240Zm-36-154h74q0-33 7.5-52t42.5-52q26-26 41-49.5t15-56.5q0-56-41-86t-97-30q-57 0-92.5 30T342-618l66 26q5-18 22.5-39t53.5-21q32 0 48 17.5t16 38.5q0 20-12 37.5T506-526q-44 39-54 59t-10 73Zm38 314q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z" /></svg>
|
||||
</button>
|
||||
<div class="no-connection">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 -920 960 960" width="20px" fill="#6E6E6E"><path d="M790-56 414-434q-47 11-87.5 33T254-346l-84-86q32-32 69-56t79-42l-90-90q-41 21-76.5 46.5T84-516L0-602q32-32 66.5-57.5T140-708l-84-84 56-56 736 736-58 56Zm-310-64q-42 0-71-29.5T380-220q0-42 29-71t71-29q42 0 71 29t29 71q0 41-29 70.5T480-120Zm236-238-29-29-29-29-144-144q81 8 151.5 41T790-432l-74 74Zm160-158q-77-77-178.5-120.5T480-680q-21 0-40.5 1.5T400-674L298-776q44-12 89.5-18t92.5-6q142 0 265 53t215 145l-84 86Z" /></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 -960 960 960" width="20px"><path d="M790-56 414-434q-47 11-87.5 33T254-346l-84-86q32-32 69-56t79-42l-90-90q-41 21-76.5 46.5T84-516L0-602q32-32 66.5-57.5T140-708l-84-84 56-56 736 736-58 56Zm-310-64q-42 0-71-29.5T380-220q0-42 29-71t71-29q42 0 71 29t29 71q0 41-29 70.5T480-120Zm236-238-29-29-29-29-144-144q81 8 151.5 41T790-432l-74 74Zm160-158q-77-77-178.5-120.5T480-680q-21 0-40.5 1.5T400-674L298-776q44-12 89.5-18t92.5-6q142 0 265 53t215 145l-84 86Z" /></svg>
|
||||
</div>
|
||||
<div class="language-dropdown">
|
||||
<button class="language-button">
|
||||
<i class="language-icon">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="22px" viewBox="0 -960 960 960" width="22px"><path d="M480-80q-82 0-155-31.5t-127.5-86Q143-252 111.5-325T80-480q0-83 31.5-155.5t86-127Q252-817 325-848.5T480-880q83 0 155.5 31.5t127 86q54.5 54.5 86 127T880-480q0 82-31.5 155t-86 127.5q-54.5 54.5-127 86T480-80Zm0-82q26-36 45-75t31-83H404q12 44 31 83t45 75Zm-104-16q-18-33-31.5-68.5T322-320H204q29 50 72.5 87t99.5 55Zm208 0q56-18 99.5-55t72.5-87H638q-9 38-22.5 73.5T584-178ZM170-400h136q-3-20-4.5-39.5T300-480q0-21 1.5-40.5T306-560H170q-5 20-7.5 39.5T160-480q0 21 2.5 40.5T170-400Zm216 0h188q3-20 4.5-39.5T580-480q0-21-1.5-40.5T574-560H386q-3 20-4.5 39.5T380-480q0 21 1.5 40.5T386-400Zm268 0h136q5-20 7.5-39.5T800-480q0-21-2.5-40.5T790-560H654q3 20 4.5 39.5T660-480q0 21-1.5 40.5T654-400Zm-16-240h118q-29-50-72.5-87T584-782q18 33 31.5 68.5T638-640Zm-234 0h152q-12-44-31-83t-45-75q-26 36-45 75t-31 83Zm-200 0h118q9-38 22.5-73.5T376-782q-56 18-99.5 55T204-640Z"/></svg>
|
||||
</i>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="22px" viewBox="0 -960 960 960" width="22px"><path d="M480-80q-82 0-155-31.5t-127.5-86Q143-252 111.5-325T80-480q0-83 31.5-155.5t86-127Q252-817 325-848.5T480-880q83 0 155.5 31.5t127 86q54.5 54.5 86 127T880-480q0 82-31.5 155t-86 127.5q-54.5 54.5-127 86T480-80Zm0-82q26-36 45-75t31-83H404q12 44 31 83t45 75Zm-104-16q-18-33-31.5-68.5T322-320H204q29 50 72.5 87t99.5 55Zm208 0q56-18 99.5-55t72.5-87H638q-9 38-22.5 73.5T584-178ZM170-400h136q-3-20-4.5-39.5T300-480q0-21 1.5-40.5T306-560H170q-5 20-7.5 39.5T160-480q0 21 2.5 40.5T170-400Zm216 0h188q3-20 4.5-39.5T580-480q0-21-1.5-40.5T574-560H386q-3 20-4.5 39.5T380-480q0 21 1.5 40.5T386-400Zm268 0h136q5-20 7.5-39.5T800-480q0-21-2.5-40.5T790-560H654q3 20 4.5 39.5T660-480q0 21-1.5 40.5T654-400Zm-16-240h118q-29-50-72.5-87T584-782q18 33 31.5 68.5T638-640Zm-234 0h152q-12-44-31-83t-45-75q-26 36-45 75t-31 83Zm-200 0h118q9-38 22.5-73.5T376-782q-56 18-99.5 55T204-640Z"/></svg>
|
||||
</button>
|
||||
<div class="language-menu"></div>
|
||||
<div class="language-menu blur-box"></div>
|
||||
<div id="language-overlay" class="language-overlay"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Loading Element -->
|
||||
<div class="loading" data-i18n="loading.loading"></div>
|
||||
<div class="loading" data-i18n="loading_loading"></div>
|
||||
|
||||
<!-- Prompt Element -->
|
||||
<div id="prompt" class="prompt"></div>
|
||||
|
||||
<!-- Floating Button Element -->
|
||||
<div class="floating-card">
|
||||
<button class="floating-btn ripple-element" id="save" data-i18n="functional_button.save_and_update_button"></button>
|
||||
<button class="floating-btn ripple-element" id="save" data-i18n="functional_button_save_and_update_button"></button>
|
||||
</div>
|
||||
|
||||
<!-- Menu Options -->
|
||||
<div class="search-menu-container">
|
||||
<div class="search-card ripple-element">
|
||||
<div class="search-card ripple-element blur-box">
|
||||
<span class="search-icon">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="19px" viewBox="0 -960 960 960" width="24px" fill="#6E6E6E"><path d="M784-120 532-372q-30 24-69 38t-83 14q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l252 252-56 56ZM380-400q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z" /></svg>
|
||||
</span>
|
||||
<input type="text" class="search-input" id="search" placeholder="" data-i18n="search_bar.search_placeholder">
|
||||
<input type="text" class="search-input" id="search" placeholder="" data-i18n="search_bar_search_placeholder">
|
||||
<button class="clear-btn" id="clear-btn">✕</button>
|
||||
</div>
|
||||
<div class="menu">
|
||||
<input type="checkbox" id="menu-toggle" class="menu-toggle">
|
||||
<label for="menu-toggle" class="menu-button ripple-element" id="menu-button">
|
||||
<label for="menu-toggle" class="menu-button ripple-element blur-box" id="menu-button">
|
||||
<i class="menu-icon">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -1060 960 960" width="24px"><path d="M120-240v-80h720v80H120Zm0-200v-80h720v80H120Zm0-200v-80h720v80H120Z"/></svg>
|
||||
</i>
|
||||
</label>
|
||||
<div id="menu-options" class="menu-options">
|
||||
<div id="menu-options" class="menu-options blur-box">
|
||||
<ul>
|
||||
<li class="ripple-element" id="refresh" data-i18n="menu.refresh"></li>
|
||||
<li class="ripple-element" id="select-all" data-i18n="menu.select_all"></li>
|
||||
<li class="ripple-element" id="deselect-all" data-i18n="menu.deselect_all"></li>
|
||||
<li class="ripple-element" id="select-denylist" data-i18n="menu.select_denylist"></li>
|
||||
<li class="ripple-element" id="deselect-unnecessary" data-i18n="menu.deselect_unnecessary"></li>
|
||||
<li class="ripple-element" id="add-system-app" data-i18n="menu.add_system_app"></li>
|
||||
<li class="ripple-element" id="aospkb" data-i18n="menu.set_aosp_keybox"></li>
|
||||
<li class="ripple-element" id="devicekb" data-i18n="menu.set_unknow_keybox"></li>
|
||||
<li class="ripple-element" id="validkb" data-i18n="menu.set_valid_keybox"></li>
|
||||
<li class="ripple-element" id="customkb" data-i18n="menu.set_custom_keybox"></li>
|
||||
<li class="ripple-element" id="boot-hash" data-i18n="menu.set_verified_boot_hash"></li>
|
||||
<li class="ripple-element" id="security-patch" data-i18n="menu.set_security_patch"></li>
|
||||
<li class="ripple-element" id="shortcut" data-i18n="menu.shortcut"></li>
|
||||
<li class="ripple-element" id="about" data-i18n="menu.about"></li>
|
||||
<li class="ripple-element" id="refresh" data-i18n="menu_refresh"></li>
|
||||
<li class="ripple-element" id="select-all" data-i18n="menu_select_all"></li>
|
||||
<li class="ripple-element" id="deselect-all" data-i18n="menu_deselect_all"></li>
|
||||
<li class="ripple-element" id="select-denylist" data-i18n="menu_select_denylist"></li>
|
||||
<li class="ripple-element" id="deselect-unnecessary" data-i18n="menu_deselect_unnecessary"></li>
|
||||
<li class="ripple-element" id="add-system-app" data-i18n="menu_add_system_app"></li>
|
||||
<li class="ripple-element" id="aospkb" data-i18n="menu_set_aosp_keybox"></li>
|
||||
<li class="ripple-element" id="devicekb" data-i18n="menu_set_unknown_keybox"></li>
|
||||
<li class="ripple-element" id="validkb" data-i18n="menu_set_valid_keybox"></li>
|
||||
<li class="ripple-element" id="customkb" data-i18n="menu_set_custom_keybox"></li>
|
||||
<li class="ripple-element" id="boot-hash" data-i18n="menu_set_verified_boot_hash"></li>
|
||||
<li class="ripple-element" id="security-patch" data-i18n="menu_set_security_patch"></li>
|
||||
<li class="ripple-element" id="about" data-i18n="menu_about"></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@@ -95,8 +92,8 @@
|
||||
<!-- Applist Display -->
|
||||
<div id="apps-list"></div>
|
||||
<div class="update-card ripple-element" id="update-card">
|
||||
<p id="update-available" data-i18n="update.update_available"></p>
|
||||
<p id="redirect-to-release" data-i18n="update.redirect_to_release"></p>
|
||||
<p id="update-available" data-i18n="update_update_available"></p>
|
||||
<p id="redirect-to-release" data-i18n="update_redirect_to_release"></p>
|
||||
</div>
|
||||
<div class="mode-overlay"></div>
|
||||
<template id="app-template">
|
||||
@@ -145,49 +142,49 @@
|
||||
|
||||
<!-- Help Overlay -->
|
||||
<div id="help-overlay" class="help-overlay overlay">
|
||||
<div class="help-menu overlay-content">
|
||||
<div class="help-menu overlay-content blur-box">
|
||||
<button id="close-help" class="close-btn">✕</button>
|
||||
<div class="help-content">
|
||||
<div class="help-content-header" data-i18n="help.help_instructions"></div>
|
||||
<div class="help-content-header" data-i18n="help_help_instructions"></div>
|
||||
<div class="instruction">
|
||||
<strong data-i18n="help.save_and_update"></strong>
|
||||
<p data-i18n="help.save_and_update_description"></p>
|
||||
<strong data-i18n="help_save_and_update"></strong>
|
||||
<p data-i18n="help_save_and_update_description"></p>
|
||||
</div>
|
||||
<div class="instruction">
|
||||
<strong data-i18n="help.refresh"></strong>
|
||||
<p data-i18n="help.refresh_description"></p>
|
||||
<strong data-i18n="help_refresh"></strong>
|
||||
<p data-i18n="help_refresh_description"></p>
|
||||
</div>
|
||||
<div class="instruction">
|
||||
<strong data-i18n="help.select_deselect"></strong>
|
||||
<p data-i18n="help.select_description"></p>
|
||||
<strong data-i18n="help_select_deselect"></strong>
|
||||
<p data-i18n="help_select_description"></p>
|
||||
</div>
|
||||
<div class="instruction">
|
||||
<strong data-i18n="help.select_denylist"></strong>
|
||||
<p data-i18n="help.select_denylist_description"></p>
|
||||
<strong data-i18n="help_select_denylist"></strong>
|
||||
<p data-i18n="help_select_denylist_description"></p>
|
||||
</div>
|
||||
<div class="instruction">
|
||||
<strong data-i18n="help.deselect_unnecessary"></strong>
|
||||
<p data-i18n="help.deselect_unnecessary_description"></p>
|
||||
<strong data-i18n="help_deselect_unnecessary"></strong>
|
||||
<p data-i18n="help_deselect_unnecessary_description"></p>
|
||||
</div>
|
||||
<div class="instruction">
|
||||
<strong data-i18n="help.add_system_app"></strong>
|
||||
<p data-i18n="help.add_system_app_description"></p>
|
||||
<strong data-i18n="help_add_system_app"></strong>
|
||||
<p data-i18n="help_add_system_app_description"></p>
|
||||
</div>
|
||||
<div class="instruction">
|
||||
<strong data-i18n="help.set_keybox"></strong>
|
||||
<p data-i18n="help.set_keybox_description"></p>
|
||||
<strong data-i18n="help_set_keybox"></strong>
|
||||
<p data-i18n="help_set_keybox_description"></p>
|
||||
</div>
|
||||
<div class="instruction">
|
||||
<strong data-i18n="help.set_custom_keybox"></strong>
|
||||
<p data-i18n="help.set_custom_keybox_description"></p>
|
||||
<strong data-i18n="help_set_custom_keybox"></strong>
|
||||
<p data-i18n="help_set_custom_keybox_description"></p>
|
||||
</div>
|
||||
<div class="instruction">
|
||||
<strong data-i18n="help.set_security_patch"></strong>
|
||||
<p data-i18n="help.set_security_patch_description"></p>
|
||||
<strong data-i18n="help_set_security_patch"></strong>
|
||||
<p data-i18n="help_set_security_patch_description"></p>
|
||||
</div>
|
||||
<div class="instruction">
|
||||
<strong data-i18n="help.set_verified_boot_hash"></strong>
|
||||
<p data-i18n="help.set_verified_boot_hash_description"></p>
|
||||
<strong data-i18n="help_set_verified_boot_hash"></strong>
|
||||
<p data-i18n="help_set_verified_boot_hash_description"></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -195,35 +192,39 @@
|
||||
|
||||
<!-- BootHash Input Overlay -->
|
||||
<div id="boot-hash-overlay" class="boot-hash-overlay overlay">
|
||||
<div id="boot-hash-card" class="boot-hash-card overlay-content">
|
||||
<div class="boot-hash-title" data-i18n="boot_hash.title"></div>
|
||||
<textarea id="boot-hash-input" class="boot-hash-input" placeholder="Paste your verified Boot Hash here" data-i18n="boot_hash.input_placeholder" oninput="window.trimInput(this)"></textarea>
|
||||
<button id="boot-hash-save-button" class="boot-hash-save-button ripple-element" data-i18n="boot_hash.save_button"></button>
|
||||
<div id="boot-hash-card" class="boot-hash-card overlay-content blur-box">
|
||||
<div class="boot-hash-title" data-i18n="boot_hash_title"></div>
|
||||
<textarea id="boot-hash-input" class="boot-hash-input" placeholder="Paste your verified Boot Hash here" data-i18n="boot_hash_input_placeholder" oninput="window.trimInput(this)"></textarea>
|
||||
<button id="boot-hash-save-button" class="boot-hash-save-button ripple-element" data-i18n="boot_hash_save_button"></button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- About Overlay -->
|
||||
<div id="about-overlay" class="about-overlay overlay">
|
||||
<div class="about-menu overlay-content">
|
||||
<div class="about-menu overlay-content blur-box">
|
||||
<button id="close-about" class="close-btn">✕</button>
|
||||
<div class="about-title">
|
||||
<p id="module_name_line1" data-i18n="about.module_name_line1"></p>
|
||||
<p id="module_name_line2" data-i18n="about.module_name_line2"></p>
|
||||
<p><span id="authored" data-i18n="about.by"></span> KOWX712</p>
|
||||
<p id="module_name_line1" data-i18n="about_module_name_line1"></p>
|
||||
<p id="module_name_line2" data-i18n="about_module_name_line2"></p>
|
||||
<p><span id="authored" data-i18n="about_by"></span> KOWX712</p>
|
||||
</div>
|
||||
<div id="disclaimer" data-i18n="about.disclaimer"></div>
|
||||
<div id="disclaimer" data-i18n="about_disclaimer"></div>
|
||||
<div class="link">
|
||||
<i class="link-icon ripple-element" id="telegram" aria-hidden="true">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 0 496 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M248 8C111 8 0 119 0 256S111 504 248 504 496 393 496 256 385 8 248 8zM363 176.7c-3.7 39.2-19.9 134.4-28.1 178.3-3.5 18.6-10.3 24.8-16.9 25.4-14.4 1.3-25.3-9.5-39.3-18.7-21.8-14.3-34.2-23.2-55.3-37.2-24.5-16.1-8.6-25 5.3-39.5 3.7-3.8 67.1-61.5 68.3-66.7 .2-.7 .3-3.1-1.2-4.4s-3.6-.8-5.1-.5q-3.3 .7-104.6 69.1-14.8 10.2-26.9 9.9c-8.9-.2-25.9-5-38.6-9.1-15.5-5-27.9-7.7-26.8-16.3q.8-6.7 18.5-13.7 108.4-47.2 144.6-62.3c68.9-28.6 83.2-33.6 92.5-33.8 2.1 0 6.6 .5 9.6 2.9a10.5 10.5 0 0 1 3.5 6.7A43.8 43.8 0 0 1 363 176.7z"/></svg>
|
||||
<span id="link-text" data-i18n="about.telegram_channel"></span>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M248 8C111 8 0 119 0 256S111 504 248 504 496 393 496 256 385 8 248 8zM363 176.7c-3.7 39.2-19.9 134.4-28.1 178.3-3.5 18.6-10.3 24.8-16.9 25.4-14.4 1.3-25.3-9.5-39.3-18.7-21.8-14.3-34.2-23.2-55.3-37.2-24.5-16.1-8.6-25 5.3-39.5 3.7-3.8 67.1-61.5 68.3-66.7 .2-.7 .3-3.1-1.2-4.4s-3.6-.8-5.1-.5q-3.3 .7-104.6 69.1-14.8 10.2-26.9 9.9c-8.9-.2-25.9-5-38.6-9.1-15.5-5-27.9-7.7-26.8-16.3q.8-6.7 18.5-13.7 108.4-47.2 144.6-62.3c68.9-28.6 83.2-33.6 92.5-33.8 2.1 0 6.6 .5 9.6 2.9a10.5 10.5 0 0 1 3.5 6.7A43.8 43.8 0 0 1 363 176.7z"/></svg>
|
||||
<span id="link-text" data-i18n="about_telegram_channel"></span>
|
||||
</i>
|
||||
<i class="link-icon ripple-element" id="github" aria-hidden="true">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 0 496 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3 .3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5 .3-6.2 2.3zm44.2-1.7c-2.9 .7-4.9 2.6-4.6 4.9 .3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3 .7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3 .3 2.9 2.3 3.9 1.6 1 3.6 .7 4.3-.7 .7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3 .7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3 .7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
|
||||
<span id="link-text" data-i18n="about.github"></span>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 0 512 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3 .3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5 .3-6.2 2.3zm44.2-1.7c-2.9 .7-4.9 2.6-4.6 4.9 .3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3 .7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3 .3 2.9 2.3 3.9 1.6 1 3.6 .7 4.3-.7 .7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3 .7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3 .7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg>
|
||||
<span id="link-text">GitHub</span>
|
||||
</i>
|
||||
<i class="link-icon ripple-element" id="canary" aria-hidden="true">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 -960 960 960" width="20px"><path d="M200-120q-51 0-72.5-45.5T138-250l222-270v-240h-40q-17 0-28.5-11.5T280-800q0-17 11.5-28.5T320-840h320q17 0 28.5 11.5T680-800q0 17-11.5 28.5T640-760h-40v240l222 270q32 39 10.5 84.5T760-120H200Zm0-80h560L520-492v-268h-80v268L200-200Zm280-280Z"/></svg>
|
||||
<span id="link-text" data-i18n="about_canary_update"></span>
|
||||
</i>
|
||||
</div>
|
||||
<div class="acknowledgment">
|
||||
<p id="acknowledgment" data-i18n="about.acknowledgment"></p>
|
||||
<p id="acknowledgment" data-i18n="about_acknowledgment"></p>
|
||||
<p>j-hc/zygisk-detach: WebUI template</p>
|
||||
<p>markedjs/marked: Markdown Support</p>
|
||||
</div>
|
||||
@@ -232,14 +233,14 @@
|
||||
|
||||
<!-- Update Overlay -->
|
||||
<div class="update-overlay overlay">
|
||||
<div class="update-menu overlay-content">
|
||||
<div class="update-menu overlay-content blur-box">
|
||||
<button id="close-update" class="close-btn">✕</button>
|
||||
<div class="update-content">
|
||||
<h1 data-i18n="update.changelog"></h1>
|
||||
<h1 data-i18n="update_changelog"></h1>
|
||||
<div class="changelog"></div>
|
||||
<div class="update-button-container">
|
||||
<button class="install ripple-element" data-i18n="update.install"></button>
|
||||
<button class="reboot ripple-element" data-i18n="update.reboot"></button>
|
||||
<button class="install ripple-element" data-i18n="update_install"></button>
|
||||
<button class="reboot ripple-element" data-i18n="update_reboot"></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -247,7 +248,7 @@
|
||||
|
||||
<!-- File Selector Overlay -->
|
||||
<div class="file-selector-overlay overlay">
|
||||
<div class="file-selector overlay-content">
|
||||
<div class="file-selector overlay-content blur-box">
|
||||
<div class="file-selector-header">
|
||||
<button class="back-button">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="22px" viewBox="40 -1050 900 960" width="22px"><path d="M400-93.85 13.85-480 400-866.15l56.77 56.77L127.38-480l329.39 329.38L400-93.85Z"/></svg>
|
||||
@@ -261,9 +262,10 @@
|
||||
|
||||
<!-- Security Patch Overlay -->
|
||||
<div id="security-patch-overlay" class="security-patch-overlay overlay">
|
||||
<div id="security-patch-card" class="security-patch-card overlay-content">
|
||||
<div class="security-patch-header" data-i18n="security_patch.title"></div>
|
||||
<div id="security-patch-card" class="security-patch-card overlay-content blur-box">
|
||||
<div class="security-patch-header" data-i18n="security_patch_title"></div>
|
||||
<div class="security-patch-content">
|
||||
<!-- Usual input -->
|
||||
<div id="normal-mode-inputs" class="normal-mode-inputs">
|
||||
<div class="input-group">
|
||||
<label id="security_patch-all">All</label>
|
||||
@@ -271,6 +273,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Advanced input -->
|
||||
<div id="advanced-mode-inputs" class="advanced-mode-inputs hidden">
|
||||
<div class="input-group">
|
||||
<label id="security_patch-system">System</label>
|
||||
@@ -278,14 +281,67 @@
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<label id="security_patch-boot">Boot</label>
|
||||
<input type="text" id="boot-patch" placeholder="2025-01-01" autocapitalize="none" oninput="formatDate(this, 'boot')" maxlength="10">
|
||||
<input type="text" id="boot-patch" placeholder="2025-01-01" autocapitalize="none" oninput="formatDate(this)" maxlength="10">
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<label id="security_patch-vendor">Vendor</label>
|
||||
<input type="text" id="vendor-patch" placeholder="2025-01-01" autocapitalize="none" oninput="formatDate(this, 'vendor')" maxlength="10">
|
||||
<input type="text" id="vendor-patch" placeholder="2025-01-01" autocapitalize="none" oninput="formatDate(this)" maxlength="10">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- James' fork input -->
|
||||
<div id="devconfig-mode-inputs" class="normal-mode-inputs hidden">
|
||||
<div class="input-group">
|
||||
<label>Security Patch</label>
|
||||
<input type="text" id="devconfig-securityPatch" placeholder="2025-01-01" autocapitalize="none" oninput="formatDate(this)" maxlength="10">
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<label>OS Version</label>
|
||||
<input type="text" id="devconfig-osVersion" placeholder="34" maxlength="2" autocapitalize="none">
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<br>
|
||||
<label>Device Property</label>
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<label>brand</label>
|
||||
<input type="text" id="devconfig-brand" placeholder="google" autocapitalize="none">
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<label>device</label>
|
||||
<input type="text" id="devconfig-device" placeholder="oriole" autocapitalize="none">
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<label>product</label>
|
||||
<input type="text" id="devconfig-product" placeholder="oriole_beta" autocapitalize="none">
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<label>manufacturer</label>
|
||||
<input type="text" id="devconfig-manufacturer" placeholder="Google" autocapitalize="none">
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<label>model</label>
|
||||
<input type="text" id="devconfig-model" placeholder="Pixel 6" autocapitalize="none">
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<label>serial</label>
|
||||
<input type="text" id="devconfig-serial" placeholder="5e043839" autocapitalize="none">
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<label>meid</label>
|
||||
<input type="text" id="devconfig-meid" placeholder="32b6af4d93aca6" autocapitalize="none">
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<label>imei</label>
|
||||
<input type="text" id="devconfig-imei" placeholder="73598126407" autocapitalize="none">
|
||||
</div>
|
||||
<div class="input-group">
|
||||
<label>imei2</label>
|
||||
<input type="text" id="devconfig-imei2" placeholder="77983102465" autocapitalize="none">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Advanced Toggle -->
|
||||
<div class="advanced-toggle">
|
||||
<input type="checkbox" class="checkbox" id="advanced-mode" />
|
||||
<label for="advanced-mode" class="custom-checkbox">
|
||||
@@ -295,14 +351,14 @@
|
||||
</svg>
|
||||
</span>
|
||||
</label>
|
||||
<label for="advanced-mode" data-i18n="security_patch.advanced_mode"></label>
|
||||
<label for="advanced-mode" data-i18n="security_patch_advanced_mode"></label>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<button id="get-patch" class="get-button ripple-element" data-i18n="security_patch.get_date"></button>
|
||||
<button id="get-patch" class="get-button ripple-element" data-i18n="security_patch_get_date"></button>
|
||||
<div class="button-container">
|
||||
<button id="auto-config" class="auto-button ripple-element" data-i18n="security_patch.auto"></button>
|
||||
<button id="save-patch" class="save-button ripple-element" data-i18n="security_patch.save"></button>
|
||||
<button id="auto-config" class="auto-button ripple-element" data-i18n="security_patch_auto"></button>
|
||||
<button id="save-patch" class="save-button ripple-element" data-i18n="security_patch_save"></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -311,12 +367,12 @@
|
||||
|
||||
<!-- Add System App Overlay -->
|
||||
<div id="add-system-app-overlay" class="add-system-app-overlay overlay">
|
||||
<div id="add-system-app-card" class="add-system-app-card overlay-content">
|
||||
<div class="add-system-app-title" data-i18n="add_system_app.title"></div>
|
||||
<div id="add-system-app-card" class="add-system-app-card overlay-content blur-box">
|
||||
<div class="add-system-app-title" data-i18n="add_system_app_title"></div>
|
||||
<div class="add-system-app-content">
|
||||
<input type="text" id="system-app-input" placeholder="com.example.app" autocapitalize="none">
|
||||
<button id="add-system-app-button" class="add-system-app-button ripple-element" data-i18n="add_system_app.add"></button>
|
||||
<h3 class="current-system-app-list" data-i18n="add_system_app.current_list"></h3>
|
||||
<button id="add-system-app-button" class="add-system-app-button ripple-element" data-i18n="add_system_app_add"></button>
|
||||
<h3 class="current-system-app-list" data-i18n="add_system_app_current_list"></h3>
|
||||
<div class="current-system-app-list-content"></div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -324,12 +380,12 @@
|
||||
|
||||
<!-- Uninstall Confirmation Overlay -->
|
||||
<div class="uninstall-confirmation-overlay overlay" id="uninstall-confirmation-overlay">
|
||||
<div class="uninstall-confirmation overlay-content">
|
||||
<div class="uninstall-confirmation-title" data-i18n="confirmation.uninstall_title"></div>
|
||||
<p data-i18n="confirmation.uninstall_message"></p>
|
||||
<div class="uninstall-confirmation overlay-content blur-box">
|
||||
<div class="uninstall-confirmation-title" data-i18n="confirmation_uninstall_title"></div>
|
||||
<p data-i18n="confirmation_uninstall_message"></p>
|
||||
<div class="uninstall-confirmation-button-container">
|
||||
<button class="uninstall-confirmation-button ripple-element" id="cancel-uninstall" data-i18n="confirmation.uninstall_cancel"></button>
|
||||
<button class="uninstall-confirmation-button ripple-element" id="confirm-uninstall" data-i18n="confirmation.uninstall_confirm"></button>
|
||||
<button class="uninstall-confirmation-button ripple-element" id="cancel-uninstall" data-i18n="confirmation_uninstall_cancel"></button>
|
||||
<button class="uninstall-confirmation-button ripple-element" id="confirm-uninstall" data-i18n="confirmation_uninstall_confirm"></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -338,7 +394,7 @@
|
||||
<div class="footer">
|
||||
<div class="uninstall-container ripple-element hidden-uninstall">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 -960 960 960" width="24px"><path d="M280-120q-33 0-56.5-23.5T200-200v-520h-40v-80h200v-40h240v40h200v80h-40v520q0 33-23.5 56.5T680-120H280Zm400-600H280v520h400v-520ZM360-280h80v-360h-80v360Zm160 0h80v-360h-80v360ZM280-720v520-520Z" /></svg>
|
||||
<span data-i18n="functional_button.uninstall_webui"></span>
|
||||
<span data-i18n="functional_button_uninstall_webui"></span>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
@@ -1,136 +0,0 @@
|
||||
{
|
||||
"language": "English",
|
||||
"system_default": "System Default",
|
||||
"header": {
|
||||
"title": "Tricky Addon"
|
||||
},
|
||||
"help": {
|
||||
"help_instructions": "Instructions",
|
||||
"save_and_update": "Save",
|
||||
"save_and_update_description": "Save current configure to target.txt.",
|
||||
"refresh": "Refresh",
|
||||
"refresh_description": "Refresh app list and exclude list.",
|
||||
"select_deselect": "Select & Deselect All",
|
||||
"select_description": "Select or deselect all apps in the current interface.",
|
||||
"select_denylist": "Select From DenyList",
|
||||
"select_denylist_description": "Available in Magisk only, select apps that are in the DenyList. Recommended.",
|
||||
"deselect_unnecessary": "Deselect Unnecessary",
|
||||
"deselect_unnecessary_description": "Unnecessary category: Xposed module, root manager, root-related apps, and general apps that never check bootloader status. This option requires Internet connection.",
|
||||
"add_system_app": "Add System App",
|
||||
"add_system_app_description": "Add specific system app to app list.",
|
||||
"set_keybox": "Set AOSP & Valid Keybox",
|
||||
"set_keybox_description": "Replace tricky store keybox.xml. AOSP keybox will be replaced if there's no more valid keybox. Valid keybox option requires Internet connection.",
|
||||
"set_custom_keybox": "Set Custom Keybox",
|
||||
"set_custom_keybox_description": "Import keybox from your device storage. Only support xml file.",
|
||||
"set_security_patch": "Set Security Patch",
|
||||
"set_security_patch_description": "Set custom security patch spoof. Auto config will use security patch from PIF module. Leave blank and save to disable auto config.",
|
||||
"set_verified_boot_hash": "Set Verified Boot Hash",
|
||||
"set_verified_boot_hash_description": "Get verifiedBootHash value from Key Attestation Demo. Fix abnormal boot state by resetting ro.boot.vbmeta.digest."
|
||||
},
|
||||
"update": {
|
||||
"update_available": "A new version is ready",
|
||||
"redirect_to_release": "tap to download the latest version",
|
||||
"changelog": "Changelog",
|
||||
"install": "Install",
|
||||
"reboot": "Reboot"
|
||||
},
|
||||
"search_bar": {
|
||||
"search_placeholder": "Search"
|
||||
},
|
||||
"functional_button": {
|
||||
"save_and_update_button": "Save",
|
||||
"uninstall_webui": "Uninstall WebUI"
|
||||
},
|
||||
"loading": {
|
||||
"loading": "Loading..."
|
||||
},
|
||||
"menu": {
|
||||
"refresh": "Refresh",
|
||||
"select_all": "Select All",
|
||||
"deselect_all": "Deselect All",
|
||||
"select_denylist": "Select From DenyList",
|
||||
"deselect_unnecessary": "Deselect Unnecessary",
|
||||
"add_system_app": "Add System App",
|
||||
"set_aosp_keybox": "Set AOSP Keybox",
|
||||
"set_unknow_keybox": "Set Unknown Keybox",
|
||||
"set_valid_keybox": "Set Valid Keybox",
|
||||
"set_custom_keybox": "Set Custom Keybox",
|
||||
"set_verified_boot_hash": "Set Verified Boot Hash",
|
||||
"set_security_patch": "Set Security Patch",
|
||||
"about": "About",
|
||||
"shortcut": "Create home screen shortcut"
|
||||
},
|
||||
"boot_hash": {
|
||||
"title": "Boot Hash",
|
||||
"input_placeholder": "Paste your verified Boot Hash here",
|
||||
"save_button": "Save"
|
||||
},
|
||||
"about": {
|
||||
"module_name_line1": "Tricky Addon",
|
||||
"module_name_line2": "Update Target List",
|
||||
"by": "by",
|
||||
"telegram_channel": "Telegram Channel",
|
||||
"github": "GitHub",
|
||||
"disclaimer": "This module is not a part of the Tricky Store module. DO NOT report any issues to Tricky Store if encountered.",
|
||||
"acknowledgment": "Acknowledgment"
|
||||
},
|
||||
"prompt": {
|
||||
"no_internet": "Please check your Internet connection",
|
||||
"aosp_key_set": "AOSP keybox set successfully",
|
||||
"key_set_error": "Failed to update keybox",
|
||||
"unknown_key_set": "Unknown keybox set successfully",
|
||||
"valid_key_set": "Valid keybox set successfully",
|
||||
"no_valid": "No valid keybox found.",
|
||||
"boot_hash_set": "Verified Boot Hash saved successfully",
|
||||
"boot_hash_set_error": "Failed to update Verified Boot Hash",
|
||||
"saved_target": "Config saved to target.txt",
|
||||
"save_error": "Failed to save config",
|
||||
"uninstall_prompt": "WebUI will be removed after reboot",
|
||||
"uninstall_failed": "Failed to uninstall WebUI",
|
||||
"new_update": "A new update is available!",
|
||||
"downloading": "Downloading new update...",
|
||||
"downloaded": "Download completed",
|
||||
"download_fail": "Fail to download update",
|
||||
"installing": "Installing update...",
|
||||
"installed": "Installed successfully, reboot now.",
|
||||
"install_fail": "Fail to install, please update manually",
|
||||
"rebooting": "Rebooting...",
|
||||
"reboot_fail": "Fail to reboot, please reboot manually",
|
||||
"custom_key_set": "Custom keybox set successfully",
|
||||
"custom_key_set_error": "Failed to set custom keybox",
|
||||
"no_file_selected": "No file selected",
|
||||
"system_app_not_found": "System app not found",
|
||||
"system_app_error": "Failed to add system app",
|
||||
"shortcut_created": "Home screen shortcut created"
|
||||
},
|
||||
"security_patch": {
|
||||
"title": "Security Patch",
|
||||
"advanced_mode": "Advanced",
|
||||
"get_date": "Get Security Patch Date",
|
||||
"auto": "Auto",
|
||||
"save": "Save",
|
||||
"fetching": "Fetching...",
|
||||
"fetched": "Done",
|
||||
"get_failed": "Failed to fetch security patch date",
|
||||
"auto_success": "Auto config enabled successfully",
|
||||
"auto_failed": "Failed to enable auto config",
|
||||
"save_success": "Security patch saved successfully",
|
||||
"save_failed": "Failed to save security patch",
|
||||
"value_empty": "Security patch configuration is disabled",
|
||||
"invalid_all": "Invalid format",
|
||||
"invalid_boot": "Invalid boot format",
|
||||
"invalid_system": "Invalid system format",
|
||||
"invalid_vendor": "Invalid vendor format"
|
||||
},
|
||||
"add_system_app": {
|
||||
"title": "Add System App",
|
||||
"add": "Add",
|
||||
"current_list": "Current System App List"
|
||||
},
|
||||
"confirmation": {
|
||||
"uninstall_title": "Confirm Uninstall?",
|
||||
"uninstall_message": "Are you sure you want to uninstall Tricky Addon",
|
||||
"uninstall_cancel": "Cancel",
|
||||
"uninstall_confirm": "Confirm"
|
||||
}
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
# Translation Guide
|
||||
## Fix Bad Translation
|
||||
1. Fork this repository.
|
||||
2. Find your language string file in `/module/webui/locales/`.
|
||||
3. Edit the string value with translated incorrectly.
|
||||
4. Create a Pull Request.
|
||||
|
||||
---
|
||||
## Add a New Language
|
||||
### Simple
|
||||
- Contact me in Telegram to add a new translation langauge.
|
||||
|
||||
### Advanced
|
||||
1. Fork this repository.
|
||||
2. Make a copy of `/module/webui/locales/A-template.json`
|
||||
3. Rename it to `language_code-COUNTRY_CODE.json`, e.g., `en-US.json`.
|
||||
4. Translate the string value inside.
|
||||
5. Add the language code to `/module/webui/locales/available-lang.json`, this step is necessary for displaying the language in the WebUI.
|
||||
6. Create a Pull Request.
|
||||
89
module/webui/locales/CONTRIBUTOR.md
Normal file
89
module/webui/locales/CONTRIBUTOR.md
Normal file
@@ -0,0 +1,89 @@
|
||||
# Translation Contributor List
|
||||
|
||||
## Arabic
|
||||
|
||||
- [ZG089](https://github.com/ZG089)
|
||||
|
||||
---
|
||||
|
||||
## Azerbaijani
|
||||
|
||||
- [mnasibzade](https://github.com/mnasibzade)
|
||||
|
||||
---
|
||||
|
||||
## Chinese (Simplified)
|
||||
|
||||
- [xiaokuqwq](https://github.com/xiaokuqwq)
|
||||
|
||||
---
|
||||
|
||||
## French
|
||||
|
||||
- [anaelle-dev](https://github.com/anaelle-dev)
|
||||
- [GhostFRR](https://github.com/GhostFRR)
|
||||
|
||||
---
|
||||
|
||||
## German
|
||||
|
||||
- [xxOrdulu52xx](https://github.com/xxOrdulu52xx)
|
||||
|
||||
---
|
||||
|
||||
## Greek
|
||||
|
||||
- [Goku818](https://github.com/Goku818)
|
||||
|
||||
---
|
||||
|
||||
## Indonesian
|
||||
|
||||
- [chisewaguri](https://github.com/chisewaguri)
|
||||
- [Rem01Gaming](https://github.com/Rem01Gaming)
|
||||
|
||||
---
|
||||
|
||||
## Italian
|
||||
|
||||
- [luigimak](https://github.com/luigimak)
|
||||
- [GRgabrix](https://github.com/GRgabrix)
|
||||
|
||||
---
|
||||
|
||||
## Japanese
|
||||
|
||||
- [reindex-ot](https://github.com/reindex-ot)
|
||||
|
||||
---
|
||||
|
||||
### Polish
|
||||
|
||||
- [Bladius2024](https://github.com/Bladius2024)
|
||||
|
||||
---
|
||||
|
||||
## Portuguese (Brazilian)
|
||||
|
||||
- [JeanxPereira](https://github.com/JeanxPereira)
|
||||
- [SecretGogeta](https://github.com/SecretGogeta)
|
||||
|
||||
---
|
||||
|
||||
## Spanish
|
||||
|
||||
- [Keinta15](https://github.com/Keinta15)
|
||||
|
||||
---
|
||||
|
||||
## Turkish
|
||||
|
||||
- [berkmirsatk](https://github.com/berkmirsatk)
|
||||
- [cvnertnc](https://github.com/cvnertnc)
|
||||
|
||||
---
|
||||
|
||||
## Ukrainian
|
||||
|
||||
- [StepanSad](https://github.com/StepanSad)
|
||||
- [IlliaS](https://github.com/IlliaS)
|
||||
13
module/webui/locales/GUIDE.md
Normal file
13
module/webui/locales/GUIDE.md
Normal file
@@ -0,0 +1,13 @@
|
||||
# Translation Guide
|
||||
|
||||
## Update Existing Language
|
||||
|
||||
- Update translation in [Crowdin](https://crowdin.com/project/TA_utl).
|
||||
- Add your name to [translation contibutor list](https://github.com/KOWX712/Tricky-Addon-Update-Target-List/blob/main/module/webui/locales/CONTRIBUTOR.md) (Issue/Pull Request).
|
||||
|
||||
---
|
||||
|
||||
## Add a New Language
|
||||
|
||||
- Create you translation based on [template](https://github.com/KOWX712/Tricky-Addon-Update-Target-List/blob/main/module/webui/locales/template.xml).
|
||||
- Create an [issues](https://github.com/KOWX712/Tricky-Addon-Update-Target-List/issues/new/choose) for language request and upload translated file in zip format (compressed).
|
||||
@@ -1,136 +0,0 @@
|
||||
{
|
||||
"language": "العربية",
|
||||
"system_default": "الإعدادات الافتراضية للنظام",
|
||||
"header": {
|
||||
"title": "Tricky Addon"
|
||||
},
|
||||
"help": {
|
||||
"help_instructions": "تعليمات",
|
||||
"save_and_update": "حفظ",
|
||||
"save_and_update_description": "حفظ الإعدادات الحالية إلى target.txt.",
|
||||
"refresh": "تحديث",
|
||||
"refresh_description": "تحديث قائمة التطبيقات وقائمة الاستبعاد.",
|
||||
"select_deselect": "تحديد وإلغاء تحديد الكل",
|
||||
"select_description": "تحديد أو إلغاء تحديد جميع التطبيقات في الواجهة الحالية.",
|
||||
"select_denylist": "تحديد من قائمة الرفض",
|
||||
"select_denylist_description": "متاح في Magisk فقط، حدد التطبيقات الموجودة في قائمة الرفض. موصى به.",
|
||||
"deselect_unnecessary": "إلغاء تحديد غير الضروري",
|
||||
"deselect_unnecessary_description": "فئة غير ضرورية: وحدة Xposed، مدير الجذر، التطبيقات المتعلقة بالجذر، والتطبيقات العامة التي لا تتحقق أبدًا من حالة bootloader. يتطلب هذا الخيار اتصالاً بالإنترنت.",
|
||||
"add_system_app": "إضافة تطبيق نظام",
|
||||
"add_system_app_description": "إضافة تطبيق نظام محدد إلى قائمة التطبيقات.",
|
||||
"set_keybox": "تعيين AOSP و Keybox صالح",
|
||||
"set_keybox_description": "استبدال tricky store keybox.xml. سيتم استبدال keybox AOSP إذا لم يكن هناك keybox صالح آخر. يتطلب خيار keybox الصالح اتصالاً بالإنترنت.",
|
||||
"set_custom_keybox": "تعيين Keybox مخصص",
|
||||
"set_custom_keybox_description": "استيراد keybox من تخزين جهازك. يدعم فقط ملف xml.",
|
||||
"set_security_patch": "تعيين تصحيح الأمان",
|
||||
"set_security_patch_description": "تعيين تصحيح أمان مخصص. سيستخدم التكوين التلقائي تصحيح الأمان من وحدة PIF. اتركه فارغًا واحفظه لتعطيل التكوين التلقائي.",
|
||||
"set_verified_boot_hash": "تعيين تجزئة التمهيد الموثوق",
|
||||
"set_verified_boot_hash_description": "احصل على قيمة verifiedBootHash من عرض إثبات المفتاح. إصلاح حالة التمهيد غير الطبيعية عن طريق إعادة تعيين ro.boot.vbmeta.digest."
|
||||
},
|
||||
"update": {
|
||||
"update_available": "إصدار جديد جاهز",
|
||||
"redirect_to_release": "اضغط لتنزيل أحدث إصدار",
|
||||
"changelog": "سجل التغييرات",
|
||||
"install": "تثبيت",
|
||||
"reboot": "إعادة تشغيل"
|
||||
},
|
||||
"search_bar": {
|
||||
"search_placeholder": "بحث"
|
||||
},
|
||||
"functional_button": {
|
||||
"save_and_update_button": "حفظ",
|
||||
"uninstall_webui": "إلغاء تثبيت WebUI"
|
||||
},
|
||||
"loading": {
|
||||
"loading": "جارٍ التحميل..."
|
||||
},
|
||||
"menu": {
|
||||
"refresh": "تحديث",
|
||||
"select_all": "تحديد الكل",
|
||||
"deselect_all": "إلغاء تحديد الكل",
|
||||
"select_denylist": "تحديد من قائمة الرفض",
|
||||
"deselect_unnecessary": "إلغاء تحديد غير الضروري",
|
||||
"add_system_app": "إضافة تطبيق نظام",
|
||||
"set_aosp_keybox": "تعيين Keybox AOSP",
|
||||
"set_unknow_keybox": "تعيين Keybox غير معروف",
|
||||
"set_valid_keybox": "تعيين Keybox صالح",
|
||||
"set_custom_keybox": "تعيين Keybox مخصص",
|
||||
"set_verified_boot_hash": "تعيين تجزئة التمهيد الموثوق",
|
||||
"set_security_patch": "تعيين تصحيح الأمان",
|
||||
"about": "حول",
|
||||
"shortcut": "إنشاء اختصار على الشاشة الرئيسية"
|
||||
},
|
||||
"boot_hash": {
|
||||
"title": "تجزئة التمهيد",
|
||||
"input_placeholder": "الصق تجزئة التمهيد الموثوق هنا",
|
||||
"save_button": "حفظ"
|
||||
},
|
||||
"about": {
|
||||
"module_name_line1": "Tricky Addon",
|
||||
"module_name_line2": "تحديث قائمة الأهداف",
|
||||
"by": "بواسطة",
|
||||
"telegram_channel": "قناة التليجرام",
|
||||
"github": "GitHub",
|
||||
"disclaimer": "هذه الوحدة ليست جزءًا من وحدة Tricky Store. لا تقم بالإبلاغ عن أي مشاكل إلى Tricky Store إذا واجهت أيًا منها.",
|
||||
"acknowledgment": "شكر وتقدير"
|
||||
},
|
||||
"prompt": {
|
||||
"no_internet": "يرجى التحقق من اتصالك بالإنترنت",
|
||||
"aosp_key_set": "تم تعيين keybox AOSP بنجاح",
|
||||
"key_set_error": "فشل في تحديث keybox",
|
||||
"unknown_key_set": "تم تعيين Keybox غير معروف بنجاح",
|
||||
"valid_key_set": "تم تعيين keybox صالح بنجاح",
|
||||
"no_valid": "لم يتم العثور على keybox صالح.",
|
||||
"boot_hash_set": "تم حفظ تجزئة التمهيد الموثوق بنجاح",
|
||||
"boot_hash_set_error": "فشل في تحديث تجزئة التمهيد الموثوق",
|
||||
"saved_target": "تم حفظ التكوين إلى target.txt",
|
||||
"save_error": "فشل في حفظ التكوين",
|
||||
"uninstall_prompt": "سيتم إزالة WebUI بعد إعادة التشغيل",
|
||||
"uninstall_failed": "فشل في إلغاء تثبيت WebUI",
|
||||
"new_update": "تحديث جديد متاح!",
|
||||
"downloading": "جارٍ تنزيل التحديث الجديد...",
|
||||
"downloaded": "اكتمل التنزيل",
|
||||
"download_fail": "فشل في تنزيل التحديث",
|
||||
"installing": "جارٍ تثبيت التحديث...",
|
||||
"installed": "تم التثبيت بنجاح، أعد التشغيل الآن.",
|
||||
"install_fail": "فشل في التثبيت، يرجى التحديث يدويًا",
|
||||
"rebooting": "جارٍ إعادة التشغيل...",
|
||||
"reboot_fail": "فشل في إعادة التشغيل، يرجى إعادة التشغيل يدويًا",
|
||||
"custom_key_set": "تم تعيين keybox مخصص بنجاح",
|
||||
"custom_key_set_error": "فشل في تعيين keybox مخصص",
|
||||
"no_file_selected": "لم يتم اختيار أي ملف",
|
||||
"system_app_not_found": "لم يتم العثور على تطبيق النظام",
|
||||
"system_app_error": "فشل في إضافة تطبيق النظام",
|
||||
"shortcut_created": "تم إنشاء اختصار على الشاشة الرئيسية"
|
||||
},
|
||||
"security_patch": {
|
||||
"title": "تصحيح الأمان",
|
||||
"advanced_mode": "متقدم",
|
||||
"get_date": "الحصول على تاريخ تصحيح الأمان",
|
||||
"auto": "تلقائي",
|
||||
"save": "حفظ",
|
||||
"fetching": "جارٍ التحميل...",
|
||||
"fetched": "تم",
|
||||
"get_failed": "فشل في جلب تاريخ تصحيح الأمان",
|
||||
"auto_success": "تم تفعيل التكوين التلقائي بنجاح",
|
||||
"auto_failed": "فشل في تفعيل التكوين التلقائي",
|
||||
"save_success": "تم حفظ تصحيح الأمان بنجاح",
|
||||
"save_failed": "فشل في حفظ تصحيح الأمان",
|
||||
"value_empty": "تم تعطيل تكوين تصحيح الأمان",
|
||||
"invalid_all": "تنسيق غير صالح",
|
||||
"invalid_boot": "تنسيق تمهيد غير صالح",
|
||||
"invalid_system": "تنسيق نظام غير صالح",
|
||||
"invalid_vendor": "تنسيق بائع غير صالح"
|
||||
},
|
||||
"add_system_app": {
|
||||
"title": "إضافة تطبيق نظام",
|
||||
"add": "إضافة",
|
||||
"current_list": "قائمة تطبيقات النظام الحالية"
|
||||
},
|
||||
"confirmation": {
|
||||
"uninstall_title": "تأكيد إلغاء التثبيت؟",
|
||||
"uninstall_message": "هل أنت متأكد أنك تريد إلغاء تثبيت Tricky Addon",
|
||||
"uninstall_cancel": "إلغاء",
|
||||
"uninstall_confirm": "تأكيد"
|
||||
}
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
{
|
||||
"languages": [
|
||||
"ar-EG",
|
||||
"en-US",
|
||||
"es-ES",
|
||||
"fr-FR",
|
||||
"id-ID",
|
||||
"it-IT",
|
||||
"ja-JP",
|
||||
"pt-BR",
|
||||
"pl-PL",
|
||||
"ru-RU",
|
||||
"tl-PH",
|
||||
"tr-TR",
|
||||
"az-AZ",
|
||||
"zh-CN",
|
||||
"zh-TW"
|
||||
]
|
||||
}
|
||||
@@ -1,136 +0,0 @@
|
||||
{
|
||||
"language": "Azərbaycanca",
|
||||
"system_default": "Sistem Varsayılanı",
|
||||
"header": {
|
||||
"title": "Tricky Addon"
|
||||
},
|
||||
"help": {
|
||||
"help_instructions": "Təlimatlar",
|
||||
"save_and_update": "Yadda saxla",
|
||||
"save_and_update_description": "Cari konfiqurasiyanı target.txt faylına yadda saxla.",
|
||||
"refresh": "Təzələ",
|
||||
"refresh_description": "Proqram siyahısını və istisna siyahısını təzələ.",
|
||||
"select_deselect": "Hamısını seç və seçimi ləğv et",
|
||||
"select_description": "Cari interfeysdəki bütün tətbiqləri seç və ya seçimdən çıxar.",
|
||||
"select_denylist": "DenyList-dən seç",
|
||||
"select_denylist_description": "Yalnız Magisk-də mövcuddur, DenyList-də olan tətbiqləri seçin. Tövsiyə olunur.",
|
||||
"deselect_unnecessary": "Lazımsızları seçmə",
|
||||
"deselect_unnecessary_description": "Lazımsız kateqoriya: Xposed modulu, kök meneceri, kök ilə əlaqəli tətbiqlər və heç vaxt bootloader statusunu yoxlamayan ümumi tətbiqlər. Bu seçim İnternet bağlantısı tələb edir.",
|
||||
"add_system_app": "Sistem Tətbiqi Əlavə et",
|
||||
"add_system_app_description": "Müəyyən bir sistem tətbiqini tətbiq siyahısına əlavə et.",
|
||||
"set_keybox": "AOSP & Etibarlı Keybox təyin et",
|
||||
"set_keybox_description": "Tricky store keybox.xml-ni dəyişdir. Əgər etibarlı keybox yoxdursa, AOSP keybox dəyişdiriləcək. Etibarlı keybox seçimi İnternet bağlantısı tələb edir.",
|
||||
"set_custom_keybox": "Özəl Keybox təyin et",
|
||||
"set_custom_keybox_description": "Keybox-u cihaz yaddaşından idxal et. Yalnız xml faylını dəstəkləyir.",
|
||||
"set_security_patch": "Təhlükəsizlik Təkmilləşdirməsini təyin et",
|
||||
"set_security_patch_description": "Xüsusi təhlükəsizlik təkmilləşdirməsini dəyişdir. Avtomatik konfiqurasiya, PIF modulundan təhlükəsizlik təkmilləşdirməsini istifadə edəcək. Avtomatik konfiqurasiyanı dayandırmaq üçün boş buraxın və yadda saxlayın.",
|
||||
"set_verified_boot_hash": "Təsdiqlənmiş Boot Hash təyin et",
|
||||
"set_verified_boot_hash_description": "Key Attestation Demo-dan verifiedBootHash dəyərini əldə et. ro.boot.vbmeta.digest-ni sıfırlayaraq qeyri-adi boot vəziyyətini düzəlt."
|
||||
},
|
||||
"update": {
|
||||
"update_available": "Yeni versiya mövcuddur",
|
||||
"redirect_to_release": "Ən son versiyanı yükləmək üçün klikləyin",
|
||||
"changelog": "Dəyişikliklər",
|
||||
"install": "Yüklə",
|
||||
"reboot": "Yenidən başladın"
|
||||
},
|
||||
"search_bar": {
|
||||
"search_placeholder": "Axtar"
|
||||
},
|
||||
"functional_button": {
|
||||
"save_and_update_button": "Yadda saxla",
|
||||
"uninstall_webui": "WebUI-ni sil"
|
||||
},
|
||||
"loading": {
|
||||
"loading": "Yüklənir..."
|
||||
},
|
||||
"menu": {
|
||||
"refresh": "Təzələ",
|
||||
"select_all": "Hamısını seç",
|
||||
"deselect_all": "Hamısının seçimini ləğv et",
|
||||
"select_denylist": "DenyList-dən seç",
|
||||
"deselect_unnecessary": "Lazımsızları seçmə",
|
||||
"add_system_app": "Sistem Tətbiqi Əlavə et",
|
||||
"set_aosp_keybox": "AOSP Keybox təyin et",
|
||||
"set_unknow_keybox": "Naməlum Keybox təyin et",
|
||||
"set_valid_keybox": "Etibarlı Keybox təyin et",
|
||||
"set_custom_keybox": "Özəl Keybox təyin et",
|
||||
"set_verified_boot_hash": "Təsdiqlənmiş Boot Hash təyin et",
|
||||
"set_security_patch": "Təhlükəsizlik Təkmilləşdirməsini təyin et",
|
||||
"about": "Haqqında",
|
||||
"shortcut": "Ana ekran qısayolu yarat"
|
||||
},
|
||||
"boot_hash": {
|
||||
"title": "Boot Hash",
|
||||
"input_placeholder": "Təsdiqlənmiş Boot Hash-ı buraya yapışdırın",
|
||||
"save_button": "Yadda saxla"
|
||||
},
|
||||
"about": {
|
||||
"module_name_line1": "Tricky Addon",
|
||||
"module_name_line2": "Hədəf Siyahısını Yenilə",
|
||||
"by": "tərəfindən",
|
||||
"telegram_channel": "Telegram Kanalı",
|
||||
"github": "GitHub",
|
||||
"disclaimer": "Bu mod, Tricky Store modulunun bir hissəsi deyil. Qarşılaşılan hər hansı bir problemi Tricky Store-a bildirməyin.",
|
||||
"acknowledgment": "Təşəkkür"
|
||||
},
|
||||
"prompt": {
|
||||
"no_internet": "İnternet bağlantınızı yoxlayın",
|
||||
"aosp_key_set": "AOSP keybox uğurla təyin olundu",
|
||||
"key_set_error": "Keybox-u yeniləmək mümkün olmadı",
|
||||
"unknown_key_set": "Naməlum keybox uğurla təyin olundu",
|
||||
"valid_key_set": "Etibarlı keybox uğurla təyin olundu",
|
||||
"no_valid": "Etibarlı keybox tapılmadı.",
|
||||
"boot_hash_set": "Təsdiqlənmiş Boot Hash uğurla yadda saxlanıldı",
|
||||
"boot_hash_set_error": "Təsdiqlənmiş Boot Hash yenilənə bilmədi",
|
||||
"saved_target": "Konfiqurasiya target.txt-yə yadda saxlanıldı",
|
||||
"save_error": "Konfiqurasiyanı yadda saxlamaq mümkün olmadı",
|
||||
"uninstall_prompt": "WebUI yenidən başladıqdan sonra silinəcək",
|
||||
"uninstall_failed": "WebUI-ni silmək mümkün olmadı",
|
||||
"new_update": "Yeni bir yeniləmə mövcuddur!",
|
||||
"downloading": "Yeni yeniləməni yükləyir...",
|
||||
"downloaded": "Yükləmə tamamlandı",
|
||||
"download_fail": "Yeniləməni yükləmək mümkün olmadı",
|
||||
"installing": "Yeniləmə quraşdırılır...",
|
||||
"installed": "Uğurla quraşdırıldı, indi yenidən başladın.",
|
||||
"install_fail": "Quraşdırmaq mümkün olmadı, zəhmət olmasa əl ilə yeniləyin",
|
||||
"rebooting": "Yenidən başladılır...",
|
||||
"reboot_fail": "Yenidən başlatmaq mümkün olmadı, zəhmət olmasa əl ilə yenidən başlayın",
|
||||
"custom_key_set": "Özəl keybox uğurla təyin olundu",
|
||||
"custom_key_set_error": "Özəl keybox təyin oluna bilmədi",
|
||||
"no_file_selected": "Fayl seçilməyib",
|
||||
"system_app_not_found": "Sistem tətbiqi tapılmadı",
|
||||
"system_app_error": "Sistem tətbiqini əlavə etmək mümkün olmadı",
|
||||
"shortcut_created": "Ana ekran qısayolu yaradıldı"
|
||||
},
|
||||
"security_patch": {
|
||||
"title": "Təhlükəsizlik Təkmilləşdirməsi",
|
||||
"advanced_mode": "Ətraflı",
|
||||
"get_date": "Təhlükəsizlik Təkmilləşdirməsinin Tarixini Al",
|
||||
"auto": "Avtomatik",
|
||||
"save": "Yadda saxla",
|
||||
"fetching": "Yığılır...",
|
||||
"fetched": "Tamam",
|
||||
"get_failed": "Təhlükəsizlik təkmilləşdirməsinin tarixini almaq mümkün olmadı",
|
||||
"auto_success": "Avtomatik konfiqurasiya uğurla aktivləşdirildi",
|
||||
"auto_failed": "Avtomatik konfiqurasiyanı aktivləşdirmək mümkün olmadı",
|
||||
"save_success": "Təhlükəsizlik təkmilləşdirməsi uğurla yadda saxlanıldı",
|
||||
"save_failed": "Təhlükəsizlik təkmilləşdirməsini yadda saxlamaq mümkün olmadı",
|
||||
"value_empty": "Təhlükəsizlik təkmilləşdirməsi konfiqurasiyası deaktivdir",
|
||||
"invalid_all": "Yanlış format",
|
||||
"invalid_boot": "Yanlış boot formatı",
|
||||
"invalid_system": "Yanlış sistem formatı",
|
||||
"invalid_vendor": "Yanlış vendor formatı"
|
||||
},
|
||||
"add_system_app": {
|
||||
"title": "Sistem Tətbiqi Əlavə et",
|
||||
"add": "Əlavə et",
|
||||
"current_list": "Cari Sistem Tətbiqi Siyahısı"
|
||||
},
|
||||
"confirmation": {
|
||||
"uninstall_title": "Silinməni Təsdiqləyirsiniz?",
|
||||
"uninstall_message": "Tricky Addon-u silmək istədiyinizə əminsinizmi?",
|
||||
"uninstall_cancel": "İmtina et",
|
||||
"uninstall_confirm": "Təsdiqlə"
|
||||
}
|
||||
}
|
||||
@@ -1,136 +0,0 @@
|
||||
{
|
||||
"language": "English",
|
||||
"system_default": "System Default",
|
||||
"header": {
|
||||
"title": "Tricky Addon"
|
||||
},
|
||||
"help": {
|
||||
"help_instructions": "Instructions",
|
||||
"save_and_update": "Save",
|
||||
"save_and_update_description": "Save current configure to target.txt.",
|
||||
"refresh": "Refresh",
|
||||
"refresh_description": "Refresh app list and exclude list.",
|
||||
"select_deselect": "Select & Deselect All",
|
||||
"select_description": "Select or deselect all apps in the current interface.",
|
||||
"select_denylist": "Select From DenyList",
|
||||
"select_denylist_description": "Available in Magisk only, select apps that are in the DenyList. Recommended.",
|
||||
"deselect_unnecessary": "Deselect Unnecessary",
|
||||
"deselect_unnecessary_description": "Unnecessary category: Xposed module, root manager, root-related apps, and general apps that never check bootloader status. This option requires Internet connection.",
|
||||
"add_system_app": "Add System App",
|
||||
"add_system_app_description": "Add specific system app to app list.",
|
||||
"set_keybox": "Set AOSP & Valid Keybox",
|
||||
"set_keybox_description": "Replace tricky store keybox.xml. AOSP keybox will be replaced if there's no more valid keybox. Valid keybox option requires Internet connection.",
|
||||
"set_custom_keybox": "Set Custom Keybox",
|
||||
"set_custom_keybox_description": "Import keybox from your device storage. Only support xml file.",
|
||||
"set_security_patch": "Set Security Patch",
|
||||
"set_security_patch_description": "Set custom security patch spoof. Auto config will use security patch from PIF module. Leave blank and save to disable auto config.",
|
||||
"set_verified_boot_hash": "Set Verified Boot Hash",
|
||||
"set_verified_boot_hash_description": "Get verifiedBootHash value from Key Attestation Demo. Fix abnormal boot state by resetting ro.boot.vbmeta.digest."
|
||||
},
|
||||
"update": {
|
||||
"update_available": "A new version is ready",
|
||||
"redirect_to_release": "tap to download the latest version",
|
||||
"changelog": "Changelog",
|
||||
"install": "Install",
|
||||
"reboot": "Reboot"
|
||||
},
|
||||
"search_bar": {
|
||||
"search_placeholder": "Search"
|
||||
},
|
||||
"functional_button": {
|
||||
"save_and_update_button": "Save",
|
||||
"uninstall_webui": "Uninstall WebUI"
|
||||
},
|
||||
"loading": {
|
||||
"loading": "Loading..."
|
||||
},
|
||||
"menu": {
|
||||
"refresh": "Refresh",
|
||||
"select_all": "Select All",
|
||||
"deselect_all": "Deselect All",
|
||||
"select_denylist": "Select From DenyList",
|
||||
"deselect_unnecessary": "Deselect Unnecessary",
|
||||
"add_system_app": "Add System App",
|
||||
"set_aosp_keybox": "Set AOSP Keybox",
|
||||
"set_unknow_keybox": "Set Unknown Keybox",
|
||||
"set_valid_keybox": "Set Valid Keybox",
|
||||
"set_custom_keybox": "Set Custom Keybox",
|
||||
"set_verified_boot_hash": "Set Verified Boot Hash",
|
||||
"set_security_patch": "Set Security Patch",
|
||||
"about": "About",
|
||||
"shortcut": "Create home screen shortcut"
|
||||
},
|
||||
"boot_hash": {
|
||||
"title": "Boot Hash",
|
||||
"input_placeholder": "Paste your verified Boot Hash here",
|
||||
"save_button": "Save"
|
||||
},
|
||||
"about": {
|
||||
"module_name_line1": "Tricky Addon",
|
||||
"module_name_line2": "Update Target List",
|
||||
"by": "by",
|
||||
"telegram_channel": "Telegram Channel",
|
||||
"github": "GitHub",
|
||||
"disclaimer": "This module is not a part of the Tricky Store module. DO NOT report any issues to Tricky Store if encountered.",
|
||||
"acknowledgment": "Acknowledgment"
|
||||
},
|
||||
"prompt": {
|
||||
"no_internet": "Please check your Internet connection",
|
||||
"aosp_key_set": "AOSP keybox set successfully",
|
||||
"key_set_error": "Failed to update keybox",
|
||||
"unknown_key_set": "Unknown keybox set successfully",
|
||||
"valid_key_set": "Valid keybox set successfully",
|
||||
"no_valid": "No valid keybox found.",
|
||||
"boot_hash_set": "Verified Boot Hash saved successfully",
|
||||
"boot_hash_set_error": "Failed to update Verified Boot Hash",
|
||||
"saved_target": "Config saved to target.txt",
|
||||
"save_error": "Failed to save config",
|
||||
"uninstall_prompt": "WebUI will be removed after reboot",
|
||||
"uninstall_failed": "Failed to uninstall WebUI",
|
||||
"new_update": "A new update is available!",
|
||||
"downloading": "Downloading new update...",
|
||||
"downloaded": "Download completed",
|
||||
"download_fail": "Fail to download update",
|
||||
"installing": "Installing update...",
|
||||
"installed": "Installed successfully, reboot now.",
|
||||
"install_fail": "Fail to install, please update manually",
|
||||
"rebooting": "Rebooting...",
|
||||
"reboot_fail": "Fail to reboot, please reboot manually",
|
||||
"custom_key_set": "Custom keybox set successfully",
|
||||
"custom_key_set_error": "Failed to set custom keybox",
|
||||
"no_file_selected": "No file selected",
|
||||
"system_app_not_found": "System app not found",
|
||||
"system_app_error": "Failed to add system app",
|
||||
"shortcut_created": "Home screen shortcut created"
|
||||
},
|
||||
"security_patch": {
|
||||
"title": "Security Patch",
|
||||
"advanced_mode": "Advanced",
|
||||
"get_date": "Get Security Patch Date",
|
||||
"auto": "Auto",
|
||||
"save": "Save",
|
||||
"fetching": "Fetching...",
|
||||
"fetched": "Done",
|
||||
"get_failed": "Failed to fetch security patch date",
|
||||
"auto_success": "Auto config enabled successfully",
|
||||
"auto_failed": "Failed to enable auto config",
|
||||
"save_success": "Security patch saved successfully",
|
||||
"save_failed": "Failed to save security patch",
|
||||
"value_empty": "Security patch configuration is disabled",
|
||||
"invalid_all": "Invalid format",
|
||||
"invalid_boot": "Invalid boot format",
|
||||
"invalid_system": "Invalid system format",
|
||||
"invalid_vendor": "Invalid vendor format"
|
||||
},
|
||||
"add_system_app": {
|
||||
"title": "Add System App",
|
||||
"add": "Add",
|
||||
"current_list": "Current System App List"
|
||||
},
|
||||
"confirmation": {
|
||||
"uninstall_title": "Confirm Uninstall?",
|
||||
"uninstall_message": "Are you sure you want to uninstall Tricky Addon",
|
||||
"uninstall_cancel": "Cancel",
|
||||
"uninstall_confirm": "Confirm"
|
||||
}
|
||||
}
|
||||
@@ -1,136 +0,0 @@
|
||||
{
|
||||
"language": "Español",
|
||||
"system_default": "Predeterminado del sistema",
|
||||
"header": {
|
||||
"title": "Tricky Addon"
|
||||
},
|
||||
"help": {
|
||||
"help_instructions": "Instrucciones",
|
||||
"save_and_update": "Guardar",
|
||||
"save_and_update_description": "Guardar la configuración actual en target.txt.",
|
||||
"refresh": "Actualizar",
|
||||
"refresh_description": "Actualizar lista de aplicaciones y lista de exclusión.",
|
||||
"select_deselect": "Seleccionar y Deseleccionar Todo",
|
||||
"select_description": "Seleccionar o deseleccionar todas las aplicaciones en la interfaz actual.",
|
||||
"select_denylist": "Seleccionar desde DenyList",
|
||||
"select_denylist_description": "Disponible solo en Magisk, selecciona aplicaciones que están en la DenyList. Recomendado.",
|
||||
"deselect_unnecessary": "Deseleccionar innecesarios",
|
||||
"deselect_unnecessary_description": "Categorías innecesarias: módulos Xposed, gestores de root, aplicaciones relacionadas con root y aplicaciones generales que nunca verifican el estado del bootloader. Esta opción requiere conexión a Internet.",
|
||||
"add_system_app": "Agregar Aplicación del Sistema",
|
||||
"add_system_app_description": "Agregar una aplicación del sistema específica a la lista de aplicaciones.",
|
||||
"set_keybox": "Configurar AOSP y Keybox Válido",
|
||||
"set_keybox_description": "Reemplazar el archivo keybox.xml de Tricky Store. El AOSP Keybox será reemplazado si no hay un keybox válido. Esta opción requiere conexión a Internet.",
|
||||
"set_custom_keybox": "Establecer Keybox Personalizado",
|
||||
"set_custom_keybox_description": "Importar keybox desde el almacenamiento de tu dispositivo. Solo soporta archivos xml.",
|
||||
"set_security_patch": "Configurar Parche de Seguridad",
|
||||
"set_security_patch_description": "Configurar parche de seguridad personalizado. La configuración automática usará el parche de seguridad de PIF. Deja en blanco y guarda para deshabilitar la configuración automática.",
|
||||
"set_verified_boot_hash": "Configurar Boot Hash Verificado",
|
||||
"set_verified_boot_hash_description": "Obtén el valor de verifiedBootHash del Key Attestation Demo. Corrige un estado de arranque anormal reiniciando ro.boot.vbmeta.digest."
|
||||
},
|
||||
"update": {
|
||||
"update_available": "Una nueva versión está lista",
|
||||
"redirect_to_release": "toca para descargar la última versión",
|
||||
"changelog": "Registro de cambios",
|
||||
"install": "Instalar",
|
||||
"reboot": "Reiniciar"
|
||||
},
|
||||
"search_bar": {
|
||||
"search_placeholder": "Buscar"
|
||||
},
|
||||
"functional_button": {
|
||||
"save_and_update_button": "Guardar",
|
||||
"uninstall_webui": "Desinstalar WebUI"
|
||||
},
|
||||
"loading": {
|
||||
"loading": "Cargando..."
|
||||
},
|
||||
"menu": {
|
||||
"refresh": "Actualizar",
|
||||
"select_all": "Seleccionar Todo",
|
||||
"deselect_all": "Deseleccionar Todo",
|
||||
"select_denylist": "Seleccionar desde DenyList",
|
||||
"deselect_unnecessary": "Deseleccionar innecesarios",
|
||||
"add_system_app": "Agregar Aplicación del Sistema",
|
||||
"set_aosp_keybox": "Configurar AOSP Keybox",
|
||||
"set_unknow_keybox": "Configurar Keybox Desconocido",
|
||||
"set_valid_keybox": "Configurar Keybox Válido",
|
||||
"set_custom_keybox": "Establecer Keybox Personalizado",
|
||||
"set_security_patch": "Configurar Parche de Seguridad",
|
||||
"set_verified_boot_hash": "Configurar Boot Hash Verificado",
|
||||
"about": "Acerca de",
|
||||
"shortcut": "Crear acceso directo en la pantalla de inicio"
|
||||
},
|
||||
"boot_hash": {
|
||||
"title": "Boot Hash",
|
||||
"input_placeholder": "Pega aquí tu Boot Hash verificado",
|
||||
"save_button": "Guardar"
|
||||
},
|
||||
"about": {
|
||||
"module_name_line1": "Tricky Addon",
|
||||
"module_name_line2": "Actualizar Lista de Objetivos",
|
||||
"by": "por",
|
||||
"telegram_channel": "Canal de Telegram",
|
||||
"github": "GitHub",
|
||||
"disclaimer": "Este módulo no es parte del módulo Tricky Store. NO reportes problemas al autor de Tricky Store si los encuentras.",
|
||||
"acknowledgment": "Agradecimientos"
|
||||
},
|
||||
"prompt": {
|
||||
"no_internet": "Por favor, verifica tu conexión a Internet",
|
||||
"aosp_key_set": "AOSP Keybox configurado correctamente",
|
||||
"key_set_error": "Error al actualizar el Keybox",
|
||||
"unknown_key_set": "Keybox desconocido configurado correctamente",
|
||||
"valid_key_set": "Keybox válido configurado correctamente",
|
||||
"no_valid": "No se encontró un keybox válido.",
|
||||
"boot_hash_set": "Boot Hash verificado guardado correctamente",
|
||||
"boot_hash_set_error": "Error al actualizar el Boot Hash verificado",
|
||||
"saved_target": "Configuración guardada en target.txt",
|
||||
"save_error": "Error al guardar la configuración",
|
||||
"uninstall_prompt": "El WebUI se eliminará después de reiniciar",
|
||||
"uninstall_failed": "Error al desinstalar el WebUI",
|
||||
"new_update": "¡Una nueva actualización está disponible!",
|
||||
"downloading": "Descargando nueva actualización...",
|
||||
"downloaded": "Descarga completada",
|
||||
"download_fail": "Error al descargar la actualización",
|
||||
"installing": "Instalando actualización...",
|
||||
"installed": "Instalado con éxito, reinicia ahora.",
|
||||
"install_fail": "Error al instalar, actualiza manualmente",
|
||||
"rebooting": "Reiniciando...",
|
||||
"reboot_fail": "Error al reiniciar, reinicia manualmente",
|
||||
"custom_key_set": "Keybox personalizado establecido con éxito",
|
||||
"custom_key_set_error": "Error al establecer el keybox personalizado",
|
||||
"no_file_selected": "Ningún archivo seleccionado",
|
||||
"system_app_not_found": "Aplicación del sistema no encontrada",
|
||||
"system_app_error": "Error al agregar la aplicación del sistema",
|
||||
"shortcut_created": "Acceso directo creado en la pantalla de inicio"
|
||||
},
|
||||
"security_patch": {
|
||||
"title": "Parche de Seguridad",
|
||||
"advanced_mode": "Avanzado",
|
||||
"get_date": "Obtener Fecha del Parche de Seguridad",
|
||||
"auto": "Automático",
|
||||
"save": "Guardar",
|
||||
"fetching": "Obteniendo...",
|
||||
"fetched": "Completado",
|
||||
"get_failed": "Error al obtener la fecha del parche de seguridad",
|
||||
"auto_success": "Configuración automática habilitada con éxito",
|
||||
"auto_failed": "Error al habilitar la configuración automática",
|
||||
"save_success": "Parche de seguridad guardado con éxito",
|
||||
"save_failed": "Error al guardar el parche de seguridad",
|
||||
"value_empty": "La configuración del parche de seguridad está deshabilitada",
|
||||
"invalid_all": "Formato inválido",
|
||||
"invalid_boot": "Formato de boot inválido",
|
||||
"invalid_system": "Formato de system inválido",
|
||||
"invalid_vendor": "Formato de vendor inválido"
|
||||
},
|
||||
"add_system_app": {
|
||||
"title": "Añadir aplicación del sistema",
|
||||
"add": "Añadir",
|
||||
"current_list": "Lista actual de aplicaciones del sistema"
|
||||
},
|
||||
"confirmation": {
|
||||
"uninstall_title": "¿Confirmar desinstalación?",
|
||||
"uninstall_message": "¿Está seguro de que desea desinstalar Tricky Addon",
|
||||
"uninstall_cancel": "Cancelar",
|
||||
"uninstall_confirm": "Confirmar"
|
||||
}
|
||||
}
|
||||
@@ -1,136 +0,0 @@
|
||||
{
|
||||
"language": "Français",
|
||||
"system_default": "Langage système",
|
||||
"header": {
|
||||
"title": "Tricky Addon"
|
||||
},
|
||||
"help": {
|
||||
"help_instructions": "Instructions",
|
||||
"save_and_update": "Enregistrer",
|
||||
"save_and_update_description": "Enregistrer la configuration actuelle dans target.txt.",
|
||||
"refresh": "Actualiser",
|
||||
"refresh_description": "Actualiser la liste des applications et la liste d'exclusions.",
|
||||
"select_deselect": "Tout sélectionner & désélectionner",
|
||||
"select_description": "Sélectionner ou désélectionner toutes les applications de l'interface actuelle.",
|
||||
"select_DenyList": "Sélectionner depuis la DenyList",
|
||||
"select_DenyList_description": "Disponible uniquement sur Magisk, sélectionner les applications présentes dans la DenyList. Recommandé.",
|
||||
"deselect_unnecessary": "Désélectionner les applications inutiles",
|
||||
"deselect_unnecessary_description": "Catégorie inutile : module Xposed, gestionnaire root, applications liées au root et applications générales ne vérifiant jamais l'état du bootloader. Cette option nécessite une connexion Internet.",
|
||||
"add_system_app": "Ajouter une application système",
|
||||
"add_system_app_description": "Ajouter une application système spécifique à la liste.",
|
||||
"set_keybox": "Définir une Keybox AOSP & Valide",
|
||||
"set_keybox_description": "Remplacer le fichier keybox.xml de Tricky Store. La keybox AOSP sera remplacée s'il n'y a plus de keybox valide. L'option keybox valide nécessite une connexion Internet.",
|
||||
"set_custom_keybox": "Définir une Keybox personnalisée",
|
||||
"set_custom_keybox_description": "Importer une keybox depuis le stockage de votre appareil. Seuls les fichiers XML sont pris en charge.",
|
||||
"set_security_patch": "Définir le patch de sécurité",
|
||||
"set_security_patch_description": "Définir un patch de sécurité personnalisé. La configuration automatique utilisera le patch de sécurité du module PIF. Laisser vide et enregistrer pour désactiver la configuration automatique.",
|
||||
"set_verified_boot_hash": "Définir le hash Verified Boot",
|
||||
"set_verified_boot_hash_description": "Obtenir la valeur verifiedBootHash depuis Key Attestation Demo. Corriger un état de démarrage anormal en réinitialisant ro.boot.vbmeta.digest."
|
||||
},
|
||||
"update": {
|
||||
"update_available": "Une nouvelle version est disponible",
|
||||
"redirect_to_release": "appuyer pour télécharger la dernière version",
|
||||
"changelog": "Journal des modifications",
|
||||
"install": "Installer",
|
||||
"reboot": "Redémarrer"
|
||||
},
|
||||
"search_bar": {
|
||||
"search_placeholder": "Rechercher"
|
||||
},
|
||||
"functional_button": {
|
||||
"save_and_update_button": "Enregistrer",
|
||||
"uninstall_webui": "Désinstaller la WebUI"
|
||||
},
|
||||
"loading": {
|
||||
"loading": "Chargement…"
|
||||
},
|
||||
"menu": {
|
||||
"refresh": "Actualiser",
|
||||
"select_all": "Tout sélectionner",
|
||||
"deselect_all": "Tout désélectionner",
|
||||
"select_DenyList": "Sélectionner depuis la DenyList",
|
||||
"deselect_unnecessary": "Désélectionner les applications inutiles",
|
||||
"add_system_app": "Ajouter une application système",
|
||||
"set_aosp_keybox": "Définir une Keybox AOSP",
|
||||
"set_unknow_keybox": "Définir une Keybox inconnue",
|
||||
"set_valid_keybox": "Définir une Keybox valide",
|
||||
"set_custom_keybox": "Définir une Keybox personnalisée",
|
||||
"set_verified_boot_hash": "Définir le hash Verified Boot",
|
||||
"set_security_patch": "Définir le patch de sécurité",
|
||||
"about": "À propos",
|
||||
"shortcut": "Créer un raccourci sur l'écran d'accueil"
|
||||
},
|
||||
"boot_hash": {
|
||||
"title": "Hash de démarrage",
|
||||
"input_placeholder": "Collez votre hash Verified Boot ici",
|
||||
"save_button": "Enregistrer"
|
||||
},
|
||||
"about": {
|
||||
"module_name_line1": "Tricky Addon",
|
||||
"module_name_line2": "Mettre à jour la liste cible",
|
||||
"by": "par",
|
||||
"telegram_channel": "Canal Telegram",
|
||||
"github": "GitHub",
|
||||
"disclaimer": "Ce module ne fait pas partie du module Tricky Store. NE signalez PAS de problèmes à Tricky Store en cas d'erreur.",
|
||||
"acknowledgment": "Remerciements"
|
||||
},
|
||||
"prompt": {
|
||||
"no_internet": "Veuillez vérifier votre connexion Internet",
|
||||
"aosp_key_set": "Keybox AOSP définie avec succès",
|
||||
"key_set_error": "Échec de la mise à jour de la Keybox",
|
||||
"unknown_key_set": "Keybox inconnue définie avec succès",
|
||||
"valid_key_set": "Keybox valide définie avec succès",
|
||||
"no_valid": "Aucune Keybox valide trouvée.",
|
||||
"boot_hash_set": "Hash Verified Boot enregistré avec succès",
|
||||
"boot_hash_set_error": "Échec de la mise à jour du hash Verified Boot",
|
||||
"saved_target": "Configuration enregistrée dans target.txt",
|
||||
"save_error": "Échec de l'enregistrement de la configuration",
|
||||
"uninstall_prompt": "La WebUI sera supprimée après le redémarrage",
|
||||
"uninstall_failed": "Échec de la désinstallation de la WebUI",
|
||||
"new_update": "Une nouvelle mise à jour est disponible !",
|
||||
"downloading": "Téléchargement de la mise à jour…",
|
||||
"downloaded": "Téléchargement terminé",
|
||||
"download_fail": "Échec du téléchargement de la mise à jour",
|
||||
"installing": "Installation de la mise à jour…",
|
||||
"installed": "Installation réussie, redémarrez maintenant.",
|
||||
"install_fail": "Échec de l'installation, veuillez mettre à jour manuellement",
|
||||
"rebooting": "Redémarrage…",
|
||||
"reboot_fail": "Échec du redémarrage, veuillez redémarrer manuellement",
|
||||
"custom_key_set": "Keybox personnalisée définie avec succès",
|
||||
"custom_key_set_error": "Échec de la définition de la Keybox personnalisée",
|
||||
"no_file_selected": "Aucun fichier sélectionné",
|
||||
"system_app_not_found": "Application système introuvable",
|
||||
"system_app_error": "Échec de l'ajout de l'application système",
|
||||
"shortcut_created": "Raccourci créé sur l'écran d'accueil"
|
||||
},
|
||||
"security_patch": {
|
||||
"title": "Patch de sécurité",
|
||||
"advanced_mode": "Avancé",
|
||||
"get_date": "Obtenir la date du patch de sécurité",
|
||||
"auto": "Automatique",
|
||||
"save": "Enregistrer",
|
||||
"fetching": "Récupération…",
|
||||
"fetched": "Terminé",
|
||||
"get_failed": "Échec de la récupération de la date du patch de sécurité",
|
||||
"auto_success": "Configuration automatique activée avec succès",
|
||||
"auto_failed": "Échec de l'activation de la configuration automatique",
|
||||
"save_success": "Patch de sécurité enregistré avec succès",
|
||||
"save_failed": "Échec de l'enregistrement du patch de sécurité",
|
||||
"value_empty": "Configuration du patch de sécurité désactivée",
|
||||
"invalid_all": "Format invalide",
|
||||
"invalid_boot": "Format de démarrage invalide",
|
||||
"invalid_system": "Format du système invalide",
|
||||
"invalid_vendor": "Format du fournisseur invalide"
|
||||
},
|
||||
"add_system_app": {
|
||||
"title": "Ajouter une application système",
|
||||
"add": "Ajouter",
|
||||
"current_list": "Liste des applications système actuelles"
|
||||
},
|
||||
"confirmation": {
|
||||
"uninstall_title": "Confirmer la désinstallation ?",
|
||||
"uninstall_message": "Êtes-vous sûr(e) de vouloir désinstaller Tricky Addon",
|
||||
"uninstall_cancel": "Annuler",
|
||||
"uninstall_confirm": "Confirmer"
|
||||
}
|
||||
}
|
||||
@@ -1,136 +0,0 @@
|
||||
{
|
||||
"language": "Bahasa Indonesia",
|
||||
"system_default": "Default Sistem",
|
||||
"header": {
|
||||
"title": "Tricky Addon"
|
||||
},
|
||||
"help": {
|
||||
"help_instructions": "Panduan",
|
||||
"save_and_update": "Simpan",
|
||||
"save_and_update_description": "Simpan konfigurasi saat ini ke target.txt.",
|
||||
"refresh": "Segarkan",
|
||||
"refresh_description": "Perbarui daftar aplikasi dan daftar pengecualian.",
|
||||
"select_deselect": "Pilih & Batalkan Pilihan Semua",
|
||||
"select_description": "Pilih atau batalkan pilihan semua aplikasi yang ditampilkan.",
|
||||
"select_denylist": "Pilih dari Denylist",
|
||||
"select_denylist_description": "Hanya untuk Magisk, pilih aplikasi yang ada di Denylist. Disarankan.",
|
||||
"deselect_unnecessary": "Batalkan Pilihan yang Tidak Perlu",
|
||||
"deselect_unnecessary_description": "Kategori tidak perlu: Modul Xposed, pengelola root, aplikasi terkait root, dan aplikasi yang tidak pernah memeriksa status bootloader. Opsi ini memerlukan koneksi internet.",
|
||||
"add_system_app": "Tambahkan Aplikasi Sistem",
|
||||
"add_system_app_description": "Tambahkan aplikasi sistem tertentu ke daftar aplikasi.",
|
||||
"set_keybox": "Ganti Keybox AOSP & Valid",
|
||||
"set_keybox_description": "Ganti file keybox.xml bawaan. Jika tidak ada keybox valid, maka keybox AOSP akan digunakan. Opsi ini memerlukan koneksi internet.",
|
||||
"set_custom_keybox": "Gunakan Keybox Kustom",
|
||||
"set_custom_keybox_description": "Impor keybox dari penyimpanan perangkat. Hanya mendukung file XML.",
|
||||
"set_security_patch": "Atur Patch Keamanan",
|
||||
"set_security_patch_description": "Sesuaikan patch keamanan. Konfigurasi otomatis akan menggunakan patch dari modul PIF. Kosongkan dan simpan untuk menonaktifkan konfigurasi otomatis.",
|
||||
"set_verified_boot_hash": "Atur Verified Boot Hash",
|
||||
"set_verified_boot_hash_description": "Ambil nilai verifiedBootHash dari aplikasi Key Attestation Demo. Perbaiki status boot yang bermasalah dengan mereset ro.boot.vbmeta.digest."
|
||||
},
|
||||
"update": {
|
||||
"update_available": "Versi baru tersedia!",
|
||||
"redirect_to_release": "Ketuk untuk mengunduh versi terbaru",
|
||||
"changelog": "Catatan Perubahan",
|
||||
"install": "Pasang",
|
||||
"reboot": "Mulai Ulang"
|
||||
},
|
||||
"search_bar": {
|
||||
"search_placeholder": "Cari"
|
||||
},
|
||||
"functional_button": {
|
||||
"save_and_update_button": "Simpan",
|
||||
"uninstall_webui": "Copot Pemasangan WebUI"
|
||||
},
|
||||
"loading": {
|
||||
"loading": "Memuat..."
|
||||
},
|
||||
"menu": {
|
||||
"refresh": "Segarkan",
|
||||
"select_all": "Pilih Semua",
|
||||
"deselect_all": "Batalkan Semua Pilihan",
|
||||
"select_denylist": "Pilih dari Denylist",
|
||||
"deselect_unnecessary": "Batalkan Pilihan yang Tidak Perlu",
|
||||
"add_system_app": "Tambahkan Aplikasi Sistem",
|
||||
"set_aosp_keybox": "Gunakan Keybox AOSP",
|
||||
"set_unknow_keybox": "Gunakan Keybox Tidak Dikenal",
|
||||
"set_valid_keybox": "Gunakan Keybox Valid",
|
||||
"set_custom_keybox": "Gunakan Keybox Kustom",
|
||||
"set_verified_boot_hash": "Atur Verified Boot Hash",
|
||||
"set_security_patch": "Atur Patch Keamanan",
|
||||
"about": "Tentang",
|
||||
"shortcut": "Buat pintasan di layar utama"
|
||||
},
|
||||
"boot_hash": {
|
||||
"title": "Verified Boot Hash",
|
||||
"input_placeholder": "Tempel Verified Boot Hash Anda di sini",
|
||||
"save_button": "Simpan"
|
||||
},
|
||||
"about": {
|
||||
"module_name_line1": "Tricky Addon",
|
||||
"module_name_line2": "Perbarui Daftar Target",
|
||||
"by": "oleh",
|
||||
"telegram_channel": "Saluran Telegram",
|
||||
"github": "GitHub",
|
||||
"disclaimer": "Modul ini bukan bagian dari Tricky Store. Jangan laporkan masalah ke Tricky Store jika mengalami kendala.",
|
||||
"acknowledgment": "Pengakuan"
|
||||
},
|
||||
"prompt": {
|
||||
"no_internet": "Periksa koneksi internet Anda",
|
||||
"aosp_key_set": "Keybox AOSP berhasil digunakan",
|
||||
"key_set_error": "Gagal memperbarui keybox",
|
||||
"unknown_key_set": "Keybox tidak dikenal berhasil digunakan",
|
||||
"valid_key_set": "Keybox valid berhasil digunakan",
|
||||
"no_valid": "Tidak ada keybox valid.",
|
||||
"boot_hash_set": "Verified Boot Hash berhasil disimpan",
|
||||
"boot_hash_set_error": "Gagal memperbarui Verified Boot Hash",
|
||||
"saved_target": "Konfigurasi disimpan ke target.txt",
|
||||
"save_error": "Gagal menyimpan konfigurasi",
|
||||
"uninstall_prompt": "WebUI akan dicopot setelah perangkat dimulai ulang",
|
||||
"uninstall_failed": "Gagal mencopot pemasangan WebUI",
|
||||
"new_update": "Pembaruan baru tersedia!",
|
||||
"downloading": "Mengunduh pembaruan...",
|
||||
"downloaded": "Unduhan selesai",
|
||||
"download_fail": "Gagal mengunduh pembaruan",
|
||||
"installing": "Memasang pembaruan...",
|
||||
"installed": "Pembaruan berhasil dipasang, mulai ulang sekarang.",
|
||||
"install_fail": "Gagal memasang, silakan perbarui secara manual",
|
||||
"rebooting": "Memulai ulang...",
|
||||
"reboot_fail": "Gagal memulai ulang, silakan lakukan secara manual",
|
||||
"custom_key_set": "Keybox kustom berhasil digunakan",
|
||||
"custom_key_set_error": "Gagal menggunakan keybox kustom",
|
||||
"no_file_selected": "Tidak ada file yang dipilih",
|
||||
"system_app_not_found": "Aplikasi sistem tidak ditemukan",
|
||||
"system_app_error": "Gagal menambahkan aplikasi sistem",
|
||||
"shortcut_created": "Pintasan layar utama telah dibuat"
|
||||
},
|
||||
"security_patch": {
|
||||
"title": "Patch Keamanan",
|
||||
"advanced_mode": "Mode Lanjutan",
|
||||
"get_date": "Ambil Tanggal Patch Keamanan",
|
||||
"auto": "Otomatis",
|
||||
"save": "Simpan",
|
||||
"fetching": "Mengambil...",
|
||||
"fetched": "Selesai",
|
||||
"get_failed": "Gagal mengambil tanggal patch keamanan",
|
||||
"auto_success": "Konfigurasi otomatis berhasil diaktifkan",
|
||||
"auto_failed": "Gagal mengaktifkan konfigurasi otomatis",
|
||||
"save_success": "Patch keamanan berhasil disimpan",
|
||||
"save_failed": "Gagal menyimpan patch keamanan",
|
||||
"value_empty": "Konfigurasi patch keamanan dinonaktifkan",
|
||||
"invalid_all": "Format tidak valid",
|
||||
"invalid_boot": "Format boot tidak valid",
|
||||
"invalid_system": "Format sistem tidak valid",
|
||||
"invalid_vendor": "Format vendor tidak valid"
|
||||
},
|
||||
"add_system_app": {
|
||||
"title": "Tambah Aplikasi Sistem",
|
||||
"add": "Tambah",
|
||||
"current_list": "Daftar Aplikasi Sistem Saat Ini"
|
||||
},
|
||||
"confirmation": {
|
||||
"uninstall_title": "Konfirmasi Hapus?",
|
||||
"uninstall_message": "Apakah Anda yakin ingin menghapus Tricky Addon",
|
||||
"uninstall_cancel": "Batal",
|
||||
"uninstall_confirm": "Konfirmasi"
|
||||
}
|
||||
}
|
||||
@@ -1,136 +0,0 @@
|
||||
{
|
||||
"language": "Italiano",
|
||||
"system_default": "Predefinito di sistema",
|
||||
"header": {
|
||||
"title": "Tricky Addon"
|
||||
},
|
||||
"help": {
|
||||
"help_instructions": "Istruzioni",
|
||||
"save_and_update": "Salva",
|
||||
"save_and_update_description": "Salva la configurazione corrente in target.txt.",
|
||||
"refresh": "Aggiorna",
|
||||
"refresh_description": "Aggiorna l'elenco delle app e l'elenco delle esclusioni.",
|
||||
"select_deselect": "Seleziona & Deseleziona Tutto",
|
||||
"select_description": "Seleziona o deseleziona tutte le app nell'interfaccia corrente.",
|
||||
"select_denylist": "Seleziona da DenyList",
|
||||
"select_denylist_description": "Disponibile solo in Magisk, seleziona le app presenti nella DenyList. Consigliato.",
|
||||
"deselect_unnecessary": "Deseleziona Non necessari",
|
||||
"deselect_unnecessary_description": "Categoria non necessaria: modulo Xposed, root manager, app correlate al root e app generali che non controllano mai lo stato del bootloader. Questa opzione richiede una connessione a Internet.",
|
||||
"add_system_app": "Aggiungi App di Sistema",
|
||||
"add_system_app_description": "Aggiungi app di sistema specifiche all'elenco delle app.",
|
||||
"set_keybox": "Imposta AOSP & Keybox Valida",
|
||||
"set_keybox_description": "Sostituisci tricky store keybox.xml. La keybox AOSP verrà sostituita se non ci sono più keybox valide. L'opzione valida per la keybox richiede una connessione Internet.",
|
||||
"set_custom_keybox": "Imposta Keybox Personalizzata",
|
||||
"set_custom_keybox_description": "Importa keybox dalla memoria del tuo dispositivo. Supporta solo file xml.",
|
||||
"set_security_patch": "Imposta Patch di Sicurezza",
|
||||
"set_security_patch_description": "Imposta spoofing patch di sicurezza personalizzato. La configurazione automatica utilizzerà la patch di sicurezza dal modulo PIF. Lascia vuoto e salva per disabilitare la configurazione automatica.",
|
||||
"set_verified_boot_hash": "Imposta Boot Hash Verificato",
|
||||
"set_verified_boot_hash_description": "Ottieni il valore verifiedBootHash da Key Attestation Demo. Correggi lo stato di avvio anomalo reimpostando ro.boot.vbmeta.digest."
|
||||
},
|
||||
"update": {
|
||||
"update_available": "È pronta una nuova versione",
|
||||
"redirect_to_release": "tocca per scaricare l'ultima versione",
|
||||
"changelog": "Changelog",
|
||||
"install": "Installa",
|
||||
"reboot": "Riavvio"
|
||||
},
|
||||
"search_bar": {
|
||||
"search_placeholder": "Ricerca"
|
||||
},
|
||||
"functional_button": {
|
||||
"save_and_update_button": "Salva",
|
||||
"uninstall_webui": "Disinstalla WebUI"
|
||||
},
|
||||
"loading": {
|
||||
"loading": "Caricamento..."
|
||||
},
|
||||
"menu": {
|
||||
"refresh": "Aggiorna",
|
||||
"select_all": "Seleziona Tutto",
|
||||
"deselect_all": "Deseleziona tutto",
|
||||
"select_denylist": "Seleziona da DenyList",
|
||||
"deselect_unnecessary": "Deseleziona Non necessari",
|
||||
"add_system_app": "Aggiungi App di Sistema",
|
||||
"set_aosp_keybox": "Imposta Keybox AOSP",
|
||||
"set_unknow_keybox": "Imposta Keybox Sconosciuta",
|
||||
"set_valid_keybox": "Imposta Keybox Valida",
|
||||
"set_custom_keybox": "Imposta Keybox Personalizzata",
|
||||
"set_verified_boot_hash": "Imposta Boot Hash Verificato",
|
||||
"set_security_patch": "Imposta Patch di Sicurezza",
|
||||
"about": "About",
|
||||
"shortcut": "Crea collegamento nella schermata iniziale"
|
||||
},
|
||||
"boot_hash": {
|
||||
"title": "Boot Hash",
|
||||
"input_placeholder": "Incolla qui il tuo Boot Hash verificato",
|
||||
"save_button": "Salva"
|
||||
},
|
||||
"about": {
|
||||
"module_name_line1": "Tricky Addon",
|
||||
"module_name_line2": "Aggiorna Target List",
|
||||
"by": "by",
|
||||
"telegram_channel": "Canale Telegram",
|
||||
"github": "GitHub",
|
||||
"disclaimer": "Questo modulo non fa parte del modulo Tricky Store. NON segnalare eventuali problemi a Tricky Store se riscontrati.",
|
||||
"acknowledgment": "Riconoscimento"
|
||||
},
|
||||
"prompt": {
|
||||
"no_internet": "Controlla la tua connessione Internet",
|
||||
"aosp_key_set": "Keybox AOSP impostata correttamente",
|
||||
"key_set_error": "Impossibile aggiornare keybox",
|
||||
"unknown_key_set": "Keybox sconosciuta impostata correttamente",
|
||||
"valid_key_set": "Keybox valida impostata correttamente",
|
||||
"no_valid": "Nessuna keybox valida trovata.",
|
||||
"boot_hash_set": "Boot Hash Verificato salvato correttamente",
|
||||
"boot_hash_set_error": "Impossibile aggiornare Boot Hash Verificato",
|
||||
"saved_target": "Configurazione salvata in target.txt",
|
||||
"save_error": "Impossibile salvare la configurazione",
|
||||
"uninstall_prompt": "WebUI verrà rimosso dopo il riavvio",
|
||||
"uninstall_failed": "Impossibile disinstallare WebUI",
|
||||
"new_update": "È disponibile un nuovo aggiornamento!",
|
||||
"downloading": "Download nuovo aggiornamento...",
|
||||
"downloaded": "Download completato",
|
||||
"download_fail": "Impossibile scaricare l'aggiornamento",
|
||||
"installing": "Installazione aggiornamento...",
|
||||
"installed": "Installato correttamente, riavvia ora.",
|
||||
"install_fail": "Installazione non riuscita, aggiorna manualmente",
|
||||
"rebooting": "Riavvio...",
|
||||
"reboot_fail": "Impossibile riavviare, riavvia manualmente",
|
||||
"custom_key_set": "Keybox personalizzata impostata correttamente",
|
||||
"custom_key_set_error": "Impossibile impostare keybox personalizzata",
|
||||
"no_file_selected": "Nessun file selezionato",
|
||||
"system_app_not_found": "App di sistema non trovata",
|
||||
"system_app_error": "Impossibile aggiungere l'app di sistema",
|
||||
"shortcut_created": "Collegamento creato nella schermata iniziale"
|
||||
},
|
||||
"security_patch": {
|
||||
"title": "Patch di sicurezza",
|
||||
"advanced_mode": "Avanzato",
|
||||
"get_date": "Ottieni data patch di sicurezza",
|
||||
"auto": "Auto",
|
||||
"save": "Salva",
|
||||
"fetching": "Recupero...",
|
||||
"fetched": "Fatto",
|
||||
"get_failed": "Impossibile recuperare la data della patch di sicurezza",
|
||||
"auto_success": "Configurazione automatica abilitata correttamente",
|
||||
"auto_failed": "Impossibile abilitare la configurazione automatica",
|
||||
"save_success": "Patch di sicurezza salvata correttamente",
|
||||
"save_failed": "Impossibile salvare la patch di sicurezza",
|
||||
"value_empty": "La configurazione della patch di sicurezza è disabilitata",
|
||||
"invalid_all": "Formato non valido",
|
||||
"invalid_boot": "Formato boot non valido",
|
||||
"invalid_system": "Formato system non valido",
|
||||
"invalid_vendor": "Formato vendor non valido"
|
||||
},
|
||||
"add_system_app": {
|
||||
"title": "Aggiungi app di sistema",
|
||||
"add": "Aggiungi",
|
||||
"current_list": "Elenco attuale delle app di sistema"
|
||||
},
|
||||
"confirmation": {
|
||||
"uninstall_title": "Confermi disinstallazione?",
|
||||
"uninstall_message": "Sei sicuro di voler disinstallare Tricky Addon",
|
||||
"uninstall_cancel": "Annulla",
|
||||
"uninstall_confirm": "Conferma"
|
||||
}
|
||||
}
|
||||
@@ -1,136 +0,0 @@
|
||||
{
|
||||
"language": "日本語",
|
||||
"system_default": "システムデフォルト",
|
||||
"header": {
|
||||
"title": "Tricky Addon"
|
||||
},
|
||||
"help": {
|
||||
"help_instructions": "使い方",
|
||||
"save_and_update": "保存",
|
||||
"save_and_update_description": "現在の設定を target.txt に保存します。",
|
||||
"refresh": "更新",
|
||||
"refresh_description": "アプリリストと除外リストを更新します。",
|
||||
"select_deselect": "すべてを選択と解除",
|
||||
"select_description": "現在のインターフェースのすべてのアプリを選択または解除します。",
|
||||
"select_denylist": "DenyList から選択",
|
||||
"select_denylist_description": "Magisk の環境でのみ使用可能です。Deny List 内のアプリを選択します(推奨)。",
|
||||
"deselect_unnecessary": "不要な選択を解除",
|
||||
"deselect_unnecessary_description": "不要なカテゴリー: Xposed モジュール、root マネージャー、root 関連アプリ、Bootloader の状態を確認しない一般的なアプリです。このオプションはインターネット接続が必要です。",
|
||||
"add_system_app": "システムアプリを追加",
|
||||
"add_system_app_description": "特定のシステムアプリをアプリリストに追加します。",
|
||||
"set_keybox": "AOSP と 有効な Keybox",
|
||||
"set_keybox_description": "Tricky Store の keybox.xml を置き換えます。有効な Keybox がなくなった場合は、AOSP Keybox に置き換えられます。インターネット接続が必要です。",
|
||||
"set_custom_keybox": "カスタム Keybox を設定",
|
||||
"set_custom_keybox_description": "デバイスのストレージからカスタム Keybox ファイルをインポートします。xml ファイルのみ対応。",
|
||||
"set_security_patch": "セキュリティパッチを設定",
|
||||
"set_security_patch_description": "カスタムセキュリティパッチの設定。自動設定は PIF モジュールのセキュリティパッチを使用します。空白のまま保存すると自動設定を無効にします。",
|
||||
"set_verified_boot_hash": "確認付きブートハッシュを設定",
|
||||
"set_verified_boot_hash_description": "Key Attestation Demo から確認付きブートハッシュの値を取得します。ro.boot.vbmeta.digest をリセットして異常なブート状態を修正します。"
|
||||
},
|
||||
"update": {
|
||||
"update_available": "新しいバージョンの準備完了",
|
||||
"redirect_to_release": "タップで最新のバージョンをダウンロード",
|
||||
"changelog": "変更履歴",
|
||||
"install": "インストール",
|
||||
"reboot": "再起動"
|
||||
},
|
||||
"search_bar": {
|
||||
"search_placeholder": "検索"
|
||||
},
|
||||
"functional_button": {
|
||||
"save_and_update_button": "保存",
|
||||
"uninstall_webui": "WebUI をアンインストール"
|
||||
},
|
||||
"loading": {
|
||||
"loading": "読み込み中..."
|
||||
},
|
||||
"menu": {
|
||||
"refresh": "更新",
|
||||
"select_all": "すべて選択",
|
||||
"deselect_all": "すべての選択を解除",
|
||||
"select_denylist": "DenyList から選択",
|
||||
"deselect_unnecessary": "不要な選択を解除",
|
||||
"add_system_app": "システムアプリを追加",
|
||||
"set_aosp_keybox": "AOSP Keybox を設定",
|
||||
"set_unknow_keybox": "不明な Keybox を設定",
|
||||
"set_valid_keybox": "有効な Keybox を設定",
|
||||
"set_custom_keybox": "カスタム Keybox を設定",
|
||||
"set_verified_boot_hash": "確認付きブートハッシュを設定",
|
||||
"set_security_patch": "セキュリティパッチを設定",
|
||||
"about": "このアドオンについて",
|
||||
"shortcut": "ホーム画面にショートカットを作成"
|
||||
},
|
||||
"boot_hash": {
|
||||
"title": "ブートハッシュ",
|
||||
"input_placeholder": "確認付きブートハッシュをここに貼り付け",
|
||||
"save_button": "保存"
|
||||
},
|
||||
"about": {
|
||||
"module_name_line1": "Tricky Addon",
|
||||
"module_name_line2": "ターゲットリストを更新",
|
||||
"by": "開発者: ",
|
||||
"telegram_channel": "Telegram チャンネル",
|
||||
"github": "GitHub",
|
||||
"disclaimer": "このモジュールは、Tricky Store モジュールの一部ではありません。Tricky Store 公式に問題を報告しないでください。",
|
||||
"acknowledgment": "謝辞"
|
||||
},
|
||||
"prompt": {
|
||||
"no_internet": "インターネット接続を確認してください。",
|
||||
"aosp_key_set": "AOSP Keybox の設定に成功しました。",
|
||||
"key_set_error": "Keybox の更新に失敗しました。",
|
||||
"unknown_key_set": "不明な Keybox の設定に成功しました。",
|
||||
"valid_key_set": "有効な Keybox の設定に成功しました。",
|
||||
"no_valid": "有効な Keybox がありません。",
|
||||
"boot_hash_set": "確認付きブートハッシュの更新に成功しました。",
|
||||
"boot_hash_set_error": "確認付きブートハッシュの更新に失敗しました。",
|
||||
"saved_target": "設定を target.txt に保存しました。",
|
||||
"save_error": "設定の保存に失敗しました。",
|
||||
"uninstall_prompt": "WebUI は再起動後に削除されます。",
|
||||
"uninstall_failed": "WebUI のアンインストールに失敗しました。",
|
||||
"new_update": "新しいバージョンがあります!",
|
||||
"downloading": "新しい更新をダウンロード中...",
|
||||
"downloaded": "ダウンロードが完了しました",
|
||||
"download_fail": "更新のダウンロードに失敗しました",
|
||||
"installing": "更新をインストール中...",
|
||||
"installed": "正常にインストールされました。再起動してください。",
|
||||
"install_fail": "インストールに失敗しました。手動で更新してください。",
|
||||
"rebooting": "再起動中...",
|
||||
"reboot_fail": "再起動に失敗しました。手動で再起動してください。",
|
||||
"custom_key_set": "カスタム Keybox の設定に成功しました",
|
||||
"custom_key_set_error": "カスタム Keybox の設定に失敗しました",
|
||||
"no_file_selected": "ファイルが選択されていません",
|
||||
"system_app_not_found": "システムアプリが見つかりません",
|
||||
"system_app_error": "システムアプリの追加に失敗しました",
|
||||
"shortcut_created": "ホーム画面にショートカットが作成されました"
|
||||
},
|
||||
"security_patch": {
|
||||
"title": "セキュリティパッチ",
|
||||
"advanced_mode": "高度",
|
||||
"get_date": "セキュリティパッチの日付を取得",
|
||||
"auto": "自動",
|
||||
"save": "保存",
|
||||
"fetching": "取得中...",
|
||||
"fetched": "完了",
|
||||
"get_failed": "セキュリティパッチの日付を取得できませんでした",
|
||||
"auto_success": "自動設定が有効化されました",
|
||||
"auto_failed": "自動設定が有効化できませんでした",
|
||||
"save_success": "セキュリティパッチが正常に保存されました",
|
||||
"save_failed": "セキュリティパッチの保存に失敗しました",
|
||||
"value_empty": "セキュリティパッチの設定は無効です",
|
||||
"invalid_all": "無効な形式です",
|
||||
"invalid_boot": "無効な boot 形式です",
|
||||
"invalid_system": "無効な system 形式です",
|
||||
"invalid_vendor": "無効な vendor 形式です"
|
||||
},
|
||||
"add_system_app": {
|
||||
"title": "システムアプリを追加",
|
||||
"add": "追加",
|
||||
"current_list": "現在のシステムアプリリスト"
|
||||
},
|
||||
"confirmation": {
|
||||
"uninstall_title": "アンインストールの確認",
|
||||
"uninstall_message": "Tricky Addonをアンインストールしてもよろしいですか",
|
||||
"uninstall_cancel": "キャンセル",
|
||||
"uninstall_confirm": "確認"
|
||||
}
|
||||
}
|
||||
22
module/webui/locales/languages.json
Normal file
22
module/webui/locales/languages.json
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"ar": "العربية",
|
||||
"az": "Azərbaycanca",
|
||||
"bn": "বাংলা",
|
||||
"de": "Deutsch",
|
||||
"el": "Ελληνικά",
|
||||
"en": "English",
|
||||
"es-ES": "Español",
|
||||
"fa": "فارسی",
|
||||
"fr": "Français",
|
||||
"id": "Bahasa Indonesia",
|
||||
"it": "Italiano",
|
||||
"ja": "日本語",
|
||||
"pt-BR": "Português",
|
||||
"pl": "Polski",
|
||||
"ru": "Русский",
|
||||
"tl": "Filipino",
|
||||
"tr": "Türkçe",
|
||||
"uk": "Українська",
|
||||
"zh-CN": "简体中文",
|
||||
"zh-TW": "繁體中文"
|
||||
}
|
||||
@@ -1,136 +0,0 @@
|
||||
{
|
||||
"language": "Polski",
|
||||
"system_default": "Domyślne systemowe",
|
||||
"header": {
|
||||
"title": "Tricky Addon"
|
||||
},
|
||||
"help": {
|
||||
"help_instructions": "Instrukcja",
|
||||
"save_and_update": "Zapisz",
|
||||
"save_and_update_description": "Zapisz bieżącą konfigurację do target.txt.",
|
||||
"refresh": "Odśwież",
|
||||
"refresh_description": "Odśwież listę aplikacji i listę wykluczeń.",
|
||||
"select_deselect": "Zaznacz i odznacz wszystko",
|
||||
"select_description": "Zaznacz lub odznacz wszystkie aplikacje w bieżącym interfejsie.",
|
||||
"select_denylist": "Wybierz z listy odrzuconych",
|
||||
"select_denylist_description": "Dostępne tylko w Magisk, wybrane aplikacje, które są na DenyList. Zalecane.",
|
||||
"deselect_unnecessary": "Odznacz niepotrzebne",
|
||||
"deselect_unnecessary_description": "Kategoria niepotrzebna: moduł Xposed, menedżer root, aplikacje związane z rootem i ogólne aplikacje, które nigdy nie sprawdzają stanu bootloadera. Ta opcja wymaga połączenia internetowego.",
|
||||
"add_system_app": "Dodaj aplikację systemową",
|
||||
"add_system_app_description": "Dodaj konkretną aplikację systemową do listy aplikacji.",
|
||||
"set_keybox": "Ustaw AOSP i prawidłowy klucz",
|
||||
"set_keybox_description": "Zastąp tricky store keybox.xml. Klucz AOSP zostanie zastąpiony, jeśli nie będzie już prawidłowego klucza. Opcja pobrania prawidłowego klucza wymaga połączenia internetowego.",
|
||||
"set_custom_keybox": "Ustaw niestandardowy klucz",
|
||||
"set_custom_keybox_description": "Importuj klucz z pamięci urządzenia. Obsługuje tylko pliki xml.",
|
||||
"set_security_patch": "Ustaw poprawkę bezpieczeństwa",
|
||||
"set_security_patch_description": "Ustaw niestandardową poprawkę bezpieczeństwa. Automatyczna konfiguracja użyje poprawki bezpieczeństwa z modułu PIF. Pozostaw puste i zapisz, aby wyłączyć automatyczną konfigurację.",
|
||||
"set_verified_boot_hash": "Ustaw zweryfikowany skrót rozruchowy",
|
||||
"set_verified_boot_hash_description": "Pobierz wartość verifiedBootHash z Key Attestation Demo. Napraw nieprawidłowy stan rozruchu, resetując ro.boot.vbmeta.digest."
|
||||
},
|
||||
"update": {
|
||||
"update_available": "Nowa wersja jest gotowa",
|
||||
"redirect_to_release": "dotknij, aby pobrać najnowszą wersję",
|
||||
"changelog": "Dziennik zmian",
|
||||
"install": "Zainstaluj",
|
||||
"reboot": "Odśwież"
|
||||
},
|
||||
"search_bar": {
|
||||
"search_placeholder": "Szukaj"
|
||||
},
|
||||
"functional_button": {
|
||||
"save_and_update_button": "Zapisz",
|
||||
"uninstall_webui": "Odinstaluj WebUI"
|
||||
},
|
||||
"loading": {
|
||||
"loading": "Ładowanie..."
|
||||
},
|
||||
"menu": {
|
||||
"refresh": "Odśwież ",
|
||||
"select_all": "Zaznacz wszystko",
|
||||
"deselect_all": "Odznacz wszystko",
|
||||
"select_denylist": "Wybierz z listy odrzuconych",
|
||||
"deselect_unnecessary": "Odznacz niepotrzebne",
|
||||
"add_system_app": "Dodaj aplikację systemową",
|
||||
"set_aosp_keybox": "Ustaw klucz AOSP",
|
||||
"set_unknow_keybox": "Ustaw nieznany klucz",
|
||||
"set_valid_keybox": "Ustaw ważny klucz",
|
||||
"set_custom_keybox": "Ustaw niestandardowy klucz ",
|
||||
"set_verified_boot_hash": "Ustaw zweryfikowany skrót rozruchowy",
|
||||
"set_security_patch": "Ustaw poprawkę bezpieczeństwa",
|
||||
"about": "O",
|
||||
"shortcut": "Utwórz skrót na ekranie głównym"
|
||||
},
|
||||
"boot_hash": {
|
||||
"title": "Hash rozruchu",
|
||||
"input_placeholder": "Wklej tutaj zweryfikowany skrót rozruchowy",
|
||||
"save_button": "Zapisz"
|
||||
},
|
||||
"about": {
|
||||
"module_name_line1": "Tricky Addon",
|
||||
"module_name_line2": "Aktualizacja listy celów",
|
||||
"by": "wydany przez:",
|
||||
"telegram_channel": "Kanał Telegram",
|
||||
"github": "GitHub",
|
||||
"disclaimer": "Ten moduł nie jest częścią modułu Tricky Store. NIE zgłaszaj żadnych problemów do Tricky Store, jeśli je napotkasz.",
|
||||
"acknowledgment": "Podziękowania dla:"
|
||||
},
|
||||
"prompt": {
|
||||
"no_internet": "Sprawdź swoje połączenie internetowe",
|
||||
"aosp_key_set": "Klucz AOSP ustawiony pomyślnie",
|
||||
"key_set_error": "Nie udało się zaktualizować klucza",
|
||||
"unknown_key_set": "Nieznany klucz został pomyślnie ustawiony",
|
||||
"valid_key_set": "Prawidłowy klucz został pomyślnie ustawiony",
|
||||
"no_valid": "Nie znaleziono prawidłowego klucza.",
|
||||
"boot_hash_set": "Zweryfikowano skrót rozruchowy, który został pomyślnie zapisany",
|
||||
"boot_hash_set_error": "Nie udało się zaktualizować zweryfikowanego skrótu rozruchowego",
|
||||
"saved_target": "Konfiguracja zapisana w pliku target.txt",
|
||||
"save_error": "Nie udało się zapisać konfiguracji",
|
||||
"uninstall_prompt": "WebUI zostanie usunięty po ponownym uruchomieniu",
|
||||
"uninstall_failed": "Nie udało się odinstalować WebUI",
|
||||
"new_update": "Dostępna jest nowa aktualizacja!",
|
||||
"downloading": "Pobieranie nowej aktualizacji...",
|
||||
"downloaded": "Pobieranie ukończone",
|
||||
"download_fail": "Nie udało się pobrać aktualizacji",
|
||||
"installing": "Instalowanie aktualizacji...",
|
||||
"installed": "Instalacja przebiegła pomyślnie, uruchom ponownie.",
|
||||
"install_fail": "Nie udało się zainstalować, zaktualizuj instrukcję",
|
||||
"rebooting": "Ponowne uruchomienie...",
|
||||
"reboot_fail": "Nie udało się ponownie uruchomić, proszę ponownie uruchomić ręcznie",
|
||||
"custom_key_set": "Niestandardowe klucz został pomyślnie ustawiony",
|
||||
"custom_key_set_error": "Nie udało się ustawić niestandardowego klucza",
|
||||
"no_file_selected": "Nie wybrano pliku",
|
||||
"system_app_not_found": "Aplikacja systemowa nie znaleziona",
|
||||
"system_app_error": "Nie udało się dodać aplikacji systemowej",
|
||||
"shortcut_created": "Skrót na ekranie głównym został utworzony"
|
||||
},
|
||||
"security_patch": {
|
||||
"title": "Poprawka bezpieczeństwa",
|
||||
"advanced_mode": "Zaawansowany",
|
||||
"get_date": "Pobierz datę poprawki zabezpieczeń",
|
||||
"auto": "Automatyczny",
|
||||
"save": "Zapisz",
|
||||
"fetching": "Pobieranie...",
|
||||
"fetched": "Zrobione",
|
||||
"get_failed": "Nie udało się pobrać daty poprawki zabezpieczeń",
|
||||
"auto_success": "Konfiguracja automatyczna włączona pomyślnie",
|
||||
"auto_failed": "Nie udało się włączyć automatycznej konfiguracji",
|
||||
"save_success": "Poprawka zabezpieczeń została pomyślnie zapisana",
|
||||
"save_failed": "Nie udało się zapisać poprawki zabezpieczeń",
|
||||
"value_empty": "Konfiguracja poprawki zabezpieczeń jest wyłączona",
|
||||
"invalid_all": "Nieprawidłowy format",
|
||||
"invalid_boot": "Nieprawidłowy format rozruchu",
|
||||
"invalid_system": "Nieprawidłowy format systemu",
|
||||
"invalid_vendor": "Nieprawidłowy format dostawcy"
|
||||
},
|
||||
"add_system_app": {
|
||||
"title": "Dodaj aplikację systemową",
|
||||
"add": "Dodaj",
|
||||
"current_list": "Aktualna lista aplikacji systemowych"
|
||||
},
|
||||
"confirmation": {
|
||||
"uninstall_title": "Potwierdzić odinstalowanie?",
|
||||
"uninstall_message": "Czy na pewno chcesz odinstalować Tricky Addon",
|
||||
"uninstall_cancel": "Anuluj",
|
||||
"uninstall_confirm": "Potwierdź"
|
||||
}
|
||||
}
|
||||
@@ -1,136 +0,0 @@
|
||||
{
|
||||
"language": "English",
|
||||
"system_default": "System Default",
|
||||
"header": {
|
||||
"title": "Tricky Addon"
|
||||
},
|
||||
"help": {
|
||||
"help_instructions": "Instruções",
|
||||
"save_and_update": "Salvar",
|
||||
"save_and_update_description": "Salve a configuração atual para Target.txt.",
|
||||
"refresh": "Atualizar",
|
||||
"refresh_description": "Atualizar a lista de aplicativos e excluir a lista.",
|
||||
"select_deselect": "Selecione e desmarque tudo",
|
||||
"select_description": "Selecione ou desmarque todos os aplicativos na interface atual.",
|
||||
"select_denylist": "Selecione no DenyList",
|
||||
"select_denylist_description": "Disponível apenas no Magisk, selecione aplicativos que estão no DenyList. Recomendado.",
|
||||
"deselect_unnecessary": "Desmarque desnecessário",
|
||||
"deselect_unnecessary_description": "Categoria desnecessária: Módulo Xposed, gereciador root, apps relacionado a root, e aplicativos gerais que nunca verificam o status do bootloader. Esta opção requer conexão à Internet.",
|
||||
"add_system_app": "Adicionar app do sistema",
|
||||
"add_system_app_description": "Adicionar app do sistema específico à lista de aplicativos.",
|
||||
"set_keybox": "Definir AOSP & Keybox Válida",
|
||||
"set_keybox_description": "Substitua keybox.xml de tricky store. AOSP keybox será substituído se não houver mais a keybox válida. A opção Keybox válida requer conexão à Internet.",
|
||||
"set_custom_keybox": "Definir uma Keybox personalizada",
|
||||
"set_custom_keybox_description": "Importar Keybox do armazenamento do seu dispositivo. Suporta apenas o arquivo XML.",
|
||||
"set_security_patch": "Definir patch de segurança",
|
||||
"set_security_patch_description": "Definir spoof de patch de segurança personalizado. Config automática usará o patch de segurança do módulo PIF. Deixe em branco e salve para desativar a configuração automática.",
|
||||
"set_verified_boot_hash": "Definir Hash de boot verificado",
|
||||
"set_verified_boot_hash_description": "Obter valor de verifiedBootHash de Key Attestation Demo. Corrige abnormal boot state Redefinindo ro.boot.vbmeta.digest. "
|
||||
},
|
||||
"update": {
|
||||
"update_available": "Uma nova versão está Disponível",
|
||||
"redirect_to_release": "Toque para baixar a versão mais recente",
|
||||
"changelog": "Changelog",
|
||||
"install": "Instalar",
|
||||
"reboot": "Reiniciar"
|
||||
},
|
||||
"search_bar": {
|
||||
"search_placeholder": "Buscar"
|
||||
},
|
||||
"functional_button": {
|
||||
"save_and_update_button": "Salvar",
|
||||
"uninstall_webui": "Desinstalar WebUI"
|
||||
},
|
||||
"loading": {
|
||||
"loading": "Carregando..."
|
||||
},
|
||||
"menu": {
|
||||
"refresh": "Atualizar",
|
||||
"select_all": "Selecionar tudo",
|
||||
"deselect_all": "Desmarcar tudo",
|
||||
"select_denylist": "Selecione de denylist",
|
||||
"deselect_unnecessary": "Desmarcar desnecessário",
|
||||
"add_system_app": "Adicionar app do sistema",
|
||||
"set_aosp_keybox": "Definir AOSP Keybox",
|
||||
"set_unknow_keybox": "Definir Keybox Desconhecido",
|
||||
"set_valid_keybox": "Definir Keybox Válida",
|
||||
"set_custom_keybox": "Definir Keybox Custom",
|
||||
"set_verified_boot_hash": "Definir Hash de Boot Verificado",
|
||||
"set_security_patch": "Definir Patch de segurança",
|
||||
"about": "Sobre",
|
||||
"shortcut": "Criar atalho na tela inicial"
|
||||
},
|
||||
"boot_hash": {
|
||||
"title": "Boot Hash",
|
||||
"input_placeholder": "Cole o seu Boot Hash verificado aqui",
|
||||
"save_button": "Salvar"
|
||||
},
|
||||
"about": {
|
||||
"module_name_line1": "Tricky Addon",
|
||||
"module_name_line2": "Atualizar lista de destino",
|
||||
"by": "por",
|
||||
"telegram_channel": "Canal do Telegram",
|
||||
"github": "GitHub",
|
||||
"disclaimer": "Este módulo não faz parte do módulo Tricky Store. Não relate nenhum problema à Tricky Store, se encontrada.",
|
||||
"acknowledgment": "Reconhecimento"
|
||||
},
|
||||
"prompt": {
|
||||
"no_internet": "Por favor, verifique sua conexão com a Internet",
|
||||
"aosp_key_set": "AOSP keybox definida com sucesso",
|
||||
"key_set_error": "Falha ao atualizar o Keybox",
|
||||
"unknown_key_set": "Keybox desconhecido definido com sucesso",
|
||||
"valid_key_set": "Keybox válida definida com sucesso",
|
||||
"no_valid": "Nenhuma Keybox válida encontrada.",
|
||||
"boot_hash_set": "Hash de Boot Verificado salvo com sucesso",
|
||||
"boot_hash_set_error": "Falha ao atualizar Hash de Boot Verificado",
|
||||
"saved_target": "Config salvo para Target.txt",
|
||||
"save_error": "Falha ao salvar a configuração",
|
||||
"uninstall_prompt": "WebUI será removido após a reinicialização",
|
||||
"uninstall_failed": "Falhou em desinstalar WebUI",
|
||||
"new_update": "Nova atualização está disponível!",
|
||||
"downloading": "Baixando uma nova atualização ...",
|
||||
"downloaded": "Download concluído",
|
||||
"download_fail": "Falha ao baixar atualização",
|
||||
"installing": "Instalando a atualização ...",
|
||||
"installed": "Instalado com sucesso, reinicie agora.",
|
||||
"install_fail": "Falha ao instalar, atualize manualmente",
|
||||
"rebooting": "Reiniciando...",
|
||||
"reboot_fail": "Falha ao reiniciar, reinicie manualmente",
|
||||
"custom_key_set": "keybox custom definida com sucesso",
|
||||
"custom_key_set_error": "Falha ao definir keybox customizada",
|
||||
"no_file_selected": "Nenhum arquivo selecionado",
|
||||
"system_app_not_found": "App do sistema não encontrado",
|
||||
"system_app_error": "Falha ao adicionar app do sistema",
|
||||
"shortcut_created": "Atalho na tela inicial criado com sucesso"
|
||||
},
|
||||
"security_patch": {
|
||||
"title": "Patch de segurança",
|
||||
"advanced_mode": "Avançado",
|
||||
"get_date": "Obter data do Patch de Segurança",
|
||||
"auto": "Auto",
|
||||
"save": "Salvar",
|
||||
"fetching": "Buscar...",
|
||||
"fetched": "Feito",
|
||||
"get_failed": "Falha ao buscar a data do patch de segurança",
|
||||
"auto_success": "Configuração automática habilitada com sucesso",
|
||||
"auto_failed": "Falha ao ativar a configuração automática",
|
||||
"save_success": "Patch de segurança salvo com sucesso",
|
||||
"save_failed": "Falha ao salvar o patch de segurança",
|
||||
"value_empty": "A configuração do patch de segurança está desativada",
|
||||
"invalid_all": "Formato inválido",
|
||||
"invalid_boot": "Formato de boot inválido",
|
||||
"invalid_system": "Formato do sistema inválido",
|
||||
"invalid_vendor": "Formato de vendor inválido"
|
||||
},
|
||||
"add_system_app": {
|
||||
"title": "Adicionar app do sistema",
|
||||
"add": "Adicionar",
|
||||
"current_list": "Lista de aplicativos do sistema atual"
|
||||
},
|
||||
"confirmation": {
|
||||
"uninstall_title": "Confirmar desinstalar?",
|
||||
"uninstall_message": "Tem certeza que deseja desinstalar Tricky Addon",
|
||||
"uninstall_cancel": "Cancelar",
|
||||
"uninstall_confirm": "Confirmar"
|
||||
}
|
||||
}
|
||||
@@ -1,136 +0,0 @@
|
||||
{
|
||||
"language": "Русский",
|
||||
"system_default": "Системный по умолчанию",
|
||||
"header": {
|
||||
"title": "Tricky Addon"
|
||||
},
|
||||
"help": {
|
||||
"help_instructions": "Инструкции",
|
||||
"save_and_update": "Сохранить",
|
||||
"save_and_update_description": "Сохранить текущую конфигурацию в target.txt.",
|
||||
"refresh": "Обновить",
|
||||
"refresh_description": "Обновить список приложений и список исключений.",
|
||||
"select_deselect": "Выбрать и отменить выбор всех",
|
||||
"select_description": "Выбрать или отменить выбор всех приложений в текущем интерфейсе.",
|
||||
"select_denylist": "Выбрать из DenyList",
|
||||
"select_denylist_description": "Доступно только в Magisk, выберите приложения, которые находятся в DenyList. Рекомендуется.",
|
||||
"deselect_unnecessary": "Отменить выбор ненужных",
|
||||
"deselect_unnecessary_description": "Ненужные категории: модули Xposed, менеджеры root, приложения, связанные с root, и общие приложения, которые никогда не проверяют статус загрузчика. Этот параметр требует подключения к интернету.",
|
||||
"add_system_app": "Добавить системное приложение",
|
||||
"add_system_app_description": "Добавить конкретное системное приложение в список приложений.",
|
||||
"set_keybox": "Установить AOSP и действующий Keybox",
|
||||
"set_keybox_description": "Замените tricky store keybox.xml. AOSP keybox будет заменен, если не будет найден действующий keybox. Опция с действующим keybox требует подключения к интернету.",
|
||||
"set_custom_keybox": "Установить пользовательский Keybox",
|
||||
"set_custom_keybox_description": "Импортируйте файл keybox из вашего устройства в хранилище. Поддерживаются только xml файлы.",
|
||||
"set_security_patch": "Установить Security Patch",
|
||||
"set_security_patch_description": "Установите пользовательский патч безопасности. Автоматическая настройка будет использовать патч безопасности из модуля PIF. Оставьте пустым и сохраните, чтобы отключить автоматическую настройку.",
|
||||
"set_verified_boot_hash": "Установить Verified Boot Hash",
|
||||
"set_verified_boot_hash_description": "Получите значение verifiedBootHash из Key Attestation Demo. Исправьте аномальное состояние загрузки, сбросив ro.boot.vbmeta.digest."
|
||||
},
|
||||
"update": {
|
||||
"update_available": "Доступна новая версия",
|
||||
"redirect_to_release": "нажмите, чтобы скачать последнюю версию",
|
||||
"changelog": "Список изменений",
|
||||
"install": "Установить",
|
||||
"reboot": "Перезагрузить"
|
||||
},
|
||||
"search_bar": {
|
||||
"search_placeholder": "Поиск"
|
||||
},
|
||||
"functional_button": {
|
||||
"save_and_update_button": "Сохранить",
|
||||
"uninstall_webui": "Удалить WebUI"
|
||||
},
|
||||
"loading": {
|
||||
"loading": "Загрузка..."
|
||||
},
|
||||
"menu": {
|
||||
"refresh": "Обновить",
|
||||
"select_all": "Выбрать все",
|
||||
"deselect_all": "Отменить выбор всех",
|
||||
"select_denylist": "Выбрать из DenyList",
|
||||
"deselect_unnecessary": "Отменить выбор ненужных",
|
||||
"add_system_app": "Добавить системное приложение",
|
||||
"set_aosp_keybox": "Установить AOSP Keybox",
|
||||
"set_unknow_keybox": "Установить неизвестный Keybox",
|
||||
"set_valid_keybox": "Установить действующий Keybox",
|
||||
"set_custom_keybox": "Установить пользовательский Keybox",
|
||||
"set_security_patch": "Установить Security Patch",
|
||||
"set_verified_boot_hash": "Установить Verified Boot Hash",
|
||||
"about": "О программе",
|
||||
"shortcut": "Создать ярлык на главном экране"
|
||||
},
|
||||
"boot_hash": {
|
||||
"title": "Boot Hash",
|
||||
"input_placeholder": "Вставьте свой проверенный Boot Hash сюда",
|
||||
"save_button": "Сохранить"
|
||||
},
|
||||
"about": {
|
||||
"module_name_line1": "Tricky Addon",
|
||||
"module_name_line2": "Обновить список целей",
|
||||
"by": "от",
|
||||
"telegram_channel": "Канал в Telegram",
|
||||
"github": "GitHub",
|
||||
"disclaimer": "Этот WebUI не является частью Tricky Store, НЕ сообщайте автору Tricky Store о любых возникающих проблемах.",
|
||||
"acknowledgment": "Благодарности"
|
||||
},
|
||||
"prompt": {
|
||||
"no_internet": "Пожалуйста, проверьте ваше подключение к интернету",
|
||||
"aosp_key_set": "AOSP keybox успешно установлен",
|
||||
"key_set_error": "Не удалось обновить keybox",
|
||||
"unknown_key_set": "Неизвестный keybox успешно установлен",
|
||||
"valid_key_set": "Действующий keybox успешно установлен",
|
||||
"no_valid": "Не найден действующий keybox.",
|
||||
"boot_hash_set": "Verified Boot Hash успешно сохранен",
|
||||
"boot_hash_set_error": "Не удалось обновить Verified Boot Hash",
|
||||
"saved_target": "Конфигурация сохранена в target.txt",
|
||||
"save_error": "Не удалось сохранить конфигурацию",
|
||||
"uninstall_prompt": "WebUI будет удален после перезагрузки",
|
||||
"uninstall_failed": "Не удалось удалить WebUI",
|
||||
"new_update": "Доступно новое обновление!",
|
||||
"downloading": "Загрузка нового обновления...",
|
||||
"downloaded": "Загрузка завершена",
|
||||
"download_fail": "Не удалось загрузить обновление",
|
||||
"installing": "Установка обновления...",
|
||||
"installed": "Успешно установлено, перезагрузите устройство.",
|
||||
"install_fail": "Не удалось установить, обновите вручную",
|
||||
"rebooting": "Перезагрузка...",
|
||||
"reboot_fail": "Не удалось перезагрузить, перезагрузите вручную",
|
||||
"custom_key_set": "Пользовательский keybox успешно установлен",
|
||||
"custom_key_set_error": "Не удалось установить пользовательский keybox",
|
||||
"no_file_selected": "Файл не выбран",
|
||||
"system_app_not_found": "Системное приложение не найдено",
|
||||
"system_app_error": "Не удалось добавить системное приложение",
|
||||
"shortcut_created": "Ярлык на главном экране создан"
|
||||
},
|
||||
"security_patch": {
|
||||
"title": "Патч безопасности",
|
||||
"advanced_mode": "Расширенный",
|
||||
"get_date": "Получить дату патча безопасности",
|
||||
"auto": "Авто",
|
||||
"save": "Сохранить",
|
||||
"fetching": "Получение...",
|
||||
"fetched": "Готово",
|
||||
"get_failed": "Не удалось получить дату патча безопасности",
|
||||
"auto_success": "Автоматическая конфигурация успешно включена",
|
||||
"auto_failed": "Не удалось включить автоматическую конфигурацию",
|
||||
"save_success": "Патч безопасности успешно сохранен",
|
||||
"save_failed": "Не удалось сохранить патч безопасности",
|
||||
"value_empty": "Конфигурация патча безопасности отключена",
|
||||
"invalid_all": "Неверный формат",
|
||||
"invalid_boot": "Неверный формат boot",
|
||||
"invalid_system": "Неверный формат system",
|
||||
"invalid_vendor": "Неверный формат vendor"
|
||||
},
|
||||
"add_system_app": {
|
||||
"title": "Добавить системное приложение",
|
||||
"add": "Добавить",
|
||||
"current_list": "Текущий список системных приложений"
|
||||
},
|
||||
"confirmation": {
|
||||
"uninstall_title": "Подтвердить удаление?",
|
||||
"uninstall_message": "Вы уверены, что хотите удалить Tricky Addon",
|
||||
"uninstall_cancel": "Отмена",
|
||||
"uninstall_confirm": "Подтвердить"
|
||||
}
|
||||
}
|
||||
125
module/webui/locales/strings/ar.xml
Normal file
125
module/webui/locales/strings/ar.xml
Normal file
@@ -0,0 +1,125 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="system_default">الإعدادات الافتراضية للنظام</string>
|
||||
<string name="more_language">المزيد</string>
|
||||
<!-- Header -->
|
||||
<string name="header_title">Tricky Addon</string>
|
||||
<!-- Help Menu-->
|
||||
<string name="help_help_instructions">تعليمات</string>
|
||||
<string name="help_save_and_update">حفظ</string>
|
||||
<string name="help_save_and_update_description">حفظ الإعدادات الحالية إلى target.txt.</string>
|
||||
<string name="help_refresh">تحديث</string>
|
||||
<string name="help_refresh_description">تحديث قائمة التطبيقات وقائمة الاستبعاد.</string>
|
||||
<string name="help_select_deselect">تحديد وإلغاء تحديد الكل</string>
|
||||
<string name="help_select_description">تحديد أو إلغاء تحديد جميع التطبيقات في الواجهة الحالية.</string>
|
||||
<string name="help_select_denylist">تحديد من قائمة الرفض</string>
|
||||
<string name="help_select_denylist_description">متاح في Magisk فقط، حدد التطبيقات الموجودة في قائمة الرفض. موصى به.</string>
|
||||
<string name="help_deselect_unnecessary">إلغاء تحديد غير الضروري</string>
|
||||
<string name="help_deselect_unnecessary_description">فئة غير ضرورية: وحدة Xposed، مدير الجذر، التطبيقات المتعلقة بالجذر، والتطبيقات العامة التي لا تتحقق أبدًا من حالة bootloader. يتطلب هذا الخيار اتصالاً بالإنترنت.</string>
|
||||
<string name="help_add_system_app">إضافة تطبيق نظام</string>
|
||||
<string name="help_add_system_app_description">إضافة تطبيق نظام محدد إلى قائمة التطبيقات.</string>
|
||||
<string name="help_set_keybox">تعيين AOSP و Keybox صالح</string>
|
||||
<string name="help_set_keybox_description">استبدال tricky store keybox.xml. يتطلب خيار keybox الصالح اتصالاً بالإنترنت.</string>
|
||||
<string name="help_set_custom_keybox">تعيين Keybox مخصص</string>
|
||||
<string name="help_set_custom_keybox_description">استيراد keybox من تخزين جهازك. يدعم فقط ملف xml.</string>
|
||||
<string name="help_set_security_patch">تعيين تصحيح الأمان</string>
|
||||
<string name="help_set_security_patch_description">تعيين تصحيح أمان مخصص. سيستخدم التكوين التلقائي تصحيح الأمان من وحدة PIF. اتركه فارغًا واحفظه لتعطيل التكوين التلقائي.</string>
|
||||
<string name="help_set_verified_boot_hash">تعيين تجزئة التمهيد الموثوق</string>
|
||||
<string name="help_set_verified_boot_hash_description">احصل على قيمة verifiedBootHash من عرض إثبات المفتاح. إصلاح حالة التمهيد غير الطبيعية عن طريق إعادة تعيين ro.boot.vbmeta.digest.</string>
|
||||
<!-- Update -->
|
||||
<string name="update_update_available">إصدار جديد جاهز</string>
|
||||
<string name="update_redirect_to_release">اضغط لتنزيل أحدث إصدار</string>
|
||||
<string name="update_changelog">سجل التغييرات</string>
|
||||
<string name="update_install">تثبيت</string>
|
||||
<string name="update_reboot">إعادة تشغيل</string>
|
||||
<!-- Search -->
|
||||
<string name="search_bar_search_placeholder">بحث</string>
|
||||
<!-- Functional Button -->
|
||||
<string name="functional_button_save_and_update_button">حفظ</string>
|
||||
<string name="functional_button_uninstall_webui">إلغاء تثبيت WebUI</string>
|
||||
<!-- Loading -->
|
||||
<string name="loading_loading">جارٍ التحميل...</string>
|
||||
<!-- Menu -->
|
||||
<string name="menu_refresh">تحديث</string>
|
||||
<string name="menu_select_all">تحديد الكل</string>
|
||||
<string name="menu_deselect_all">إلغاء تحديد الكل</string>
|
||||
<string name="menu_select_denylist">تحديد من قائمة الرفض</string>
|
||||
<string name="menu_deselect_unnecessary">إلغاء تحديد غير الضروري</string>
|
||||
<string name="menu_add_system_app">إضافة تطبيق نظام</string>
|
||||
<string name="menu_set_aosp_keybox">تعيين Keybox AOSP</string>
|
||||
<string name="menu_set_unknown_keybox">تعيين Keybox غير معروف</string>
|
||||
<string name="menu_set_valid_keybox">تعيين Keybox صالح</string>
|
||||
<string name="menu_set_custom_keybox">تعيين Keybox مخصص</string>
|
||||
<string name="menu_set_verified_boot_hash">تعيين تجزئة التمهيد الموثوق</string>
|
||||
<string name="menu_set_security_patch">تعيين تصحيح الأمان</string>
|
||||
<string name="menu_about">حول</string>
|
||||
<!-- Boot Hash -->
|
||||
<string name="boot_hash_title">تجزئة التمهيد</string>
|
||||
<string name="boot_hash_input_placeholder">الصق تجزئة التمهيد الموثوق هنا</string>
|
||||
<string name="boot_hash_save_button">حفظ</string>
|
||||
<!-- About -->
|
||||
<string name="about_module_name_line1">Tricky Addon</string>
|
||||
<string name="about_module_name_line2">تحديث قائمة الأهداف</string>
|
||||
<string name="about_by">بواسطة</string>
|
||||
<string name="about_telegram_channel">قناة التليجرام</string>
|
||||
<string name="about_canary_update">تحديث إلى أحدث إصدار تجريبي</string>
|
||||
<string name="about_disclaimer">هذه الوحدة ليست جزءًا من وحدة Tricky Store. لا تقم بالإبلاغ عن أي مشاكل إلى Tricky Store إذا واجهت أيًا منها.</string>
|
||||
<string name="about_acknowledgment">شكر وتقدير</string>
|
||||
<!-- Prompt -->
|
||||
<string name="prompt_no_internet">يرجى التحقق من اتصالك بالإنترنت</string>
|
||||
<string name="prompt_aosp_key_set">تم تعيين keybox AOSP بنجاح</string>
|
||||
<string name="prompt_key_set_error">فشل في تحديث keybox</string>
|
||||
<string name="prompt_unknown_key_set">تم تعيين Keybox غير معروف بنجاح</string>
|
||||
<string name="prompt_valid_key_set">تم تعيين keybox صالح بنجاح</string>
|
||||
<string name="prompt_no_valid">لم يتم العثور على keybox صالح.</string>
|
||||
<string name="prompt_boot_hash_set">تم حفظ تجزئة التمهيد الموثوق بنجاح</string>
|
||||
<string name="prompt_boot_hash_set_error">فشل في تحديث تجزئة التمهيد الموثوق</string>
|
||||
<string name="prompt_saved_target">تم حفظ التكوين إلى target.txt</string>
|
||||
<string name="prompt_save_error">فشل في حفظ التكوين</string>
|
||||
<string name="prompt_uninstall_prompt">سيتم إزالة WebUI بعد إعادة التشغيل</string>
|
||||
<string name="prompt_uninstall_failed">فشل في إلغاء تثبيت WebUI</string>
|
||||
<string name="prompt_checking_update">جار التحقق من التحديثات...</string>
|
||||
<string name="prompt_new_update">تحديث جديد متاح!</string>
|
||||
<string name="prompt_no_update">لا توجد تحديثات متوفرة حاليا</string>
|
||||
<string name="prompt_downloading">جارٍ تنزيل التحديث الجديد...</string>
|
||||
<string name="prompt_downloaded">اكتمل التنزيل</string>
|
||||
<string name="prompt_download_fail">فشل في تنزيل التحديث</string>
|
||||
<string name="prompt_installing">جارٍ تثبيت التحديث...</string>
|
||||
<string name="prompt_installed">تم التثبيت بنجاح، أعد التشغيل الآن.</string>
|
||||
<string name="prompt_install_fail">فشل في التثبيت، يرجى التحديث يدويًا</string>
|
||||
<string name="prompt_rebooting">جارٍ إعادة التشغيل...</string>
|
||||
<string name="prompt_reboot_fail">فشل في إعادة التشغيل، يرجى إعادة التشغيل يدويًا</string>
|
||||
<string name="prompt_custom_key_set">تم تعيين keybox مخصص بنجاح</string>
|
||||
<string name="prompt_custom_key_set_error">فشل في تعيين keybox مخصص</string>
|
||||
<string name="prompt_no_file_selected">لم يتم اختيار أي ملف</string>
|
||||
<string name="prompt_system_app_not_found">لم يتم العثور على تطبيق النظام</string>
|
||||
<string name="prompt_system_app_error">فشل في إضافة تطبيق النظام</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">تصحيح الأمان</string>
|
||||
<string name="security_patch_advanced_mode">متقدم</string>
|
||||
<string name="security_patch_get_date">الحصول على تاريخ تصحيح الأمان</string>
|
||||
<string name="security_patch_auto">تلقائي</string>
|
||||
<string name="security_patch_save">حفظ</string>
|
||||
<string name="security_patch_fetching">جارٍ التحميل...</string>
|
||||
<string name="security_patch_fetched">تم</string>
|
||||
<string name="security_patch_get_failed">فشل في جلب تاريخ تصحيح الأمان</string>
|
||||
<string name="security_patch_unable_to_connect">غير قادر على الاتصال ب source.android.com</string>
|
||||
<string name="security_patch_auto_success">تم تفعيل التكوين التلقائي بنجاح</string>
|
||||
<string name="security_patch_auto_failed">فشل في تفعيل التكوين التلقائي</string>
|
||||
<string name="security_patch_save_success">تم حفظ تصحيح الأمان بنجاح</string>
|
||||
<string name="security_patch_save_failed">فشل في حفظ تصحيح الأمان</string>
|
||||
<string name="security_patch_value_empty">تم تعطيل تكوين تصحيح الأمان</string>
|
||||
<string name="security_patch_invalid_all">تنسيق غير صالح</string>
|
||||
<string name="security_patch_invalid_boot">تنسيق تمهيد غير صالح</string>
|
||||
<string name="security_patch_invalid_system">تنسيق نظام غير صالح</string>
|
||||
<string name="security_patch_invalid_vendor">تنسيق بائع غير صالح</string>
|
||||
<!-- Add System App -->
|
||||
<string name="add_system_app_title">إضافة تطبيق نظام</string>
|
||||
<string name="add_system_app_add">إضافة</string>
|
||||
<string name="add_system_app_current_list">قائمة تطبيقات النظام الحالية</string>
|
||||
<!-- Uninstall confirmation -->
|
||||
<string name="confirmation_uninstall_title">تأكيد إلغاء التثبيت؟</string>
|
||||
<string name="confirmation_uninstall_message">هل أنت متأكد أنك تريد إلغاء تثبيت Tricky Addon</string>
|
||||
<string name="confirmation_uninstall_cancel">إلغاء</string>
|
||||
<string name="confirmation_uninstall_confirm">تأكيد</string>
|
||||
</resources>
|
||||
120
module/webui/locales/strings/az.xml
Normal file
120
module/webui/locales/strings/az.xml
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="system_default">Sistem Varsayılanı</string>
|
||||
<!-- Header -->
|
||||
<string name="header_title">Tricky Addon</string>
|
||||
<!-- Help Menu-->
|
||||
<string name="help_help_instructions">Təlimatlar</string>
|
||||
<string name="help_save_and_update">Yadda saxla</string>
|
||||
<string name="help_save_and_update_description">Cari konfiqurasiyanı target.txt faylına yadda saxla.</string>
|
||||
<string name="help_refresh">Təzələ</string>
|
||||
<string name="help_refresh_description">Proqram siyahısını və istisna siyahısını təzələ.</string>
|
||||
<string name="help_select_deselect">Hamısını seç və seçimi ləğv et</string>
|
||||
<string name="help_select_description">Cari interfeysdəki bütün tətbiqləri seç və ya seçimdən çıxar.</string>
|
||||
<string name="help_select_denylist">DenyList-dən seç</string>
|
||||
<string name="help_select_denylist_description">Yalnız Magisk-də mövcuddur, DenyList-də olan tətbiqləri seçin. Tövsiyə olunur.</string>
|
||||
<string name="help_deselect_unnecessary">Lazımsızları seçmə</string>
|
||||
<string name="help_deselect_unnecessary_description">Lazımsız kateqoriya: Xposed modulu, kök meneceri, kök ilə əlaqəli tətbiqlər və heç vaxt bootloader statusunu yoxlamayan ümumi tətbiqlər. Bu seçim İnternet bağlantısı tələb edir.</string>
|
||||
<string name="help_add_system_app">Sistem Tətbiqi Əlavə et</string>
|
||||
<string name="help_add_system_app_description">Müəyyən bir sistem tətbiqini tətbiq siyahısına əlavə et.</string>
|
||||
<string name="help_set_keybox">AOSP & Etibarlı Keybox təyin et</string>
|
||||
<string name="help_set_keybox_description">Tricky store keybox.xml-ni dəyişdir. Etibarlı keybox seçimi İnternet bağlantısı tələb edir.</string>
|
||||
<string name="help_set_custom_keybox">Özəl Keybox təyin et</string>
|
||||
<string name="help_set_custom_keybox_description">Keybox-u cihaz yaddaşından idxal et. Yalnız xml faylını dəstəkləyir.</string>
|
||||
<string name="help_set_security_patch">Təhlükəsizlik Təkmilləşdirməsini təyin et</string>
|
||||
<string name="help_set_security_patch_description">Xüsusi təhlükəsizlik təkmilləşdirməsini dəyişdir. Avtomatik konfiqurasiya, PIF modulundan təhlükəsizlik təkmilləşdirməsini istifadə edəcək. Avtomatik konfiqurasiyanı dayandırmaq üçün boş buraxın və yadda saxlayın.</string>
|
||||
<string name="help_set_verified_boot_hash">Təsdiqlənmiş Boot Hash təyin et</string>
|
||||
<string name="help_set_verified_boot_hash_description">Key Attestation Demo-dan verifiedBootHash dəyərini əldə et. ro.boot.vbmeta.digest-ni sıfırlayaraq qeyri-adi boot vəziyyətini düzəlt.</string>
|
||||
<!-- Update -->
|
||||
<string name="update_update_available">Yeni versiya mövcuddur</string>
|
||||
<string name="update_redirect_to_release">Ən son versiyanı yükləmək üçün klikləyin</string>
|
||||
<string name="update_changelog">Dəyişikliklər</string>
|
||||
<string name="update_install">Yüklə</string>
|
||||
<string name="update_reboot">Yenidən başladın</string>
|
||||
<!-- Search -->
|
||||
<string name="search_bar_search_placeholder">Axtar</string>
|
||||
<!-- Functional Button -->
|
||||
<string name="functional_button_save_and_update_button">Yadda saxla</string>
|
||||
<string name="functional_button_uninstall_webui">WebUI-ni sil</string>
|
||||
<!-- Loading -->
|
||||
<string name="loading_loading">Yüklənir...</string>
|
||||
<!-- Menu -->
|
||||
<string name="menu_refresh">Təzələ</string>
|
||||
<string name="menu_select_all">Hamısını seç</string>
|
||||
<string name="menu_deselect_all">Hamısının seçimini ləğv et</string>
|
||||
<string name="menu_select_denylist">DenyList-dən seç</string>
|
||||
<string name="menu_deselect_unnecessary">Lazımsızları seçmə</string>
|
||||
<string name="menu_add_system_app">Sistem Tətbiqi Əlavə et</string>
|
||||
<string name="menu_set_aosp_keybox">AOSP Keybox təyin et</string>
|
||||
<string name="menu_set_unknown_keybox">Naməlum Keybox təyin et</string>
|
||||
<string name="menu_set_valid_keybox">Etibarlı Keybox təyin et</string>
|
||||
<string name="menu_set_custom_keybox">Özəl Keybox təyin et</string>
|
||||
<string name="menu_set_verified_boot_hash">Təsdiqlənmiş Boot Hash təyin et</string>
|
||||
<string name="menu_set_security_patch">Təhlükəsizlik Təkmilləşdirməsini təyin et</string>
|
||||
<string name="menu_about">Haqqında</string>
|
||||
<!-- Boot Hash -->
|
||||
<string name="boot_hash_title">Boot Hash</string>
|
||||
<string name="boot_hash_input_placeholder">Təsdiqlənmiş Boot Hash-ı buraya yapışdırın</string>
|
||||
<string name="boot_hash_save_button">Yadda saxla</string>
|
||||
<!-- About -->
|
||||
<string name="about_module_name_line1">Tricky Addon</string>
|
||||
<string name="about_module_name_line2">Hədəf Siyahısını Yenilə</string>
|
||||
<string name="about_by">tərəfindən</string>
|
||||
<string name="about_telegram_channel">Telegram Kanalı</string>
|
||||
<string name="about_disclaimer">Bu mod, Tricky Store modulunun bir hissəsi deyil. Qarşılaşılan hər hansı bir problemi Tricky Store-a bildirməyin.</string>
|
||||
<string name="about_acknowledgment">Təşəkkür</string>
|
||||
<!-- Prompt -->
|
||||
<string name="prompt_no_internet">İnternet bağlantınızı yoxlayın</string>
|
||||
<string name="prompt_aosp_key_set">AOSP keybox uğurla təyin olundu</string>
|
||||
<string name="prompt_key_set_error">Keybox-u yeniləmək mümkün olmadı</string>
|
||||
<string name="prompt_unknown_key_set">Naməlum keybox uğurla təyin olundu</string>
|
||||
<string name="prompt_valid_key_set">Etibarlı keybox uğurla təyin olundu</string>
|
||||
<string name="prompt_no_valid">Etibarlı keybox tapılmadı.</string>
|
||||
<string name="prompt_boot_hash_set">Təsdiqlənmiş Boot Hash uğurla yadda saxlanıldı</string>
|
||||
<string name="prompt_boot_hash_set_error">Təsdiqlənmiş Boot Hash yenilənə bilmədi</string>
|
||||
<string name="prompt_saved_target">Konfiqurasiya target.txt-yə yadda saxlanıldı</string>
|
||||
<string name="prompt_save_error">Konfiqurasiyanı yadda saxlamaq mümkün olmadı</string>
|
||||
<string name="prompt_uninstall_prompt">WebUI yenidən başladıqdan sonra silinəcək</string>
|
||||
<string name="prompt_uninstall_failed">WebUI-ni silmək mümkün olmadı</string>
|
||||
<string name="prompt_new_update">Yeni bir yeniləmə mövcuddur!</string>
|
||||
<string name="prompt_downloading">Yeni yeniləməni yükləyir...</string>
|
||||
<string name="prompt_downloaded">Yükləmə tamamlandı</string>
|
||||
<string name="prompt_download_fail">Yeniləməni yükləmək mümkün olmadı</string>
|
||||
<string name="prompt_installing">Yeniləmə quraşdırılır...</string>
|
||||
<string name="prompt_installed">Uğurla quraşdırıldı, indi yenidən başladın.</string>
|
||||
<string name="prompt_install_fail">Quraşdırmaq mümkün olmadı, zəhmət olmasa əl ilə yeniləyin</string>
|
||||
<string name="prompt_rebooting">Yenidən başladılır...</string>
|
||||
<string name="prompt_reboot_fail">Yenidən başlatmaq mümkün olmadı, zəhmət olmasa əl ilə yenidən başlayın</string>
|
||||
<string name="prompt_custom_key_set">Özəl keybox uğurla təyin olundu</string>
|
||||
<string name="prompt_custom_key_set_error">Özəl keybox təyin oluna bilmədi</string>
|
||||
<string name="prompt_no_file_selected">Fayl seçilməyib</string>
|
||||
<string name="prompt_system_app_not_found">Sistem tətbiqi tapılmadı</string>
|
||||
<string name="prompt_system_app_error">Sistem tətbiqini əlavə etmək mümkün olmadı</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">Təhlükəsizlik Təkmilləşdirməsi</string>
|
||||
<string name="security_patch_advanced_mode">Ətraflı</string>
|
||||
<string name="security_patch_get_date">Təhlükəsizlik Təkmilləşdirməsinin Tarixini Al</string>
|
||||
<string name="security_patch_auto">Avtomatik</string>
|
||||
<string name="security_patch_save">Yadda saxla</string>
|
||||
<string name="security_patch_fetching">Yığılır...</string>
|
||||
<string name="security_patch_fetched">Tamam</string>
|
||||
<string name="security_patch_get_failed">Təhlükəsizlik təkmilləşdirməsinin tarixini almaq mümkün olmadı</string>
|
||||
<string name="security_patch_auto_success">Avtomatik konfiqurasiya uğurla aktivləşdirildi</string>
|
||||
<string name="security_patch_auto_failed">Avtomatik konfiqurasiyanı aktivləşdirmək mümkün olmadı</string>
|
||||
<string name="security_patch_save_success">Təhlükəsizlik təkmilləşdirməsi uğurla yadda saxlanıldı</string>
|
||||
<string name="security_patch_save_failed">Təhlükəsizlik təkmilləşdirməsini yadda saxlamaq mümkün olmadı</string>
|
||||
<string name="security_patch_value_empty">Təhlükəsizlik təkmilləşdirməsi konfiqurasiyası deaktivdir</string>
|
||||
<string name="security_patch_invalid_all">Yanlış format</string>
|
||||
<string name="security_patch_invalid_boot">Yanlış boot formatı</string>
|
||||
<string name="security_patch_invalid_system">Yanlış sistem formatı</string>
|
||||
<string name="security_patch_invalid_vendor">Yanlış vendor formatı</string>
|
||||
<!-- Add System App -->
|
||||
<string name="add_system_app_title">Sistem Tətbiqi Əlavə et</string>
|
||||
<string name="add_system_app_add">Əlavə et</string>
|
||||
<string name="add_system_app_current_list">Cari Sistem Tətbiqi Siyahısı</string>
|
||||
<!-- Uninstall confirmation -->
|
||||
<string name="confirmation_uninstall_title">Silinməni Təsdiqləyirsiniz?</string>
|
||||
<string name="confirmation_uninstall_message">Tricky Addon-u silmək istədiyinizə əminsinizmi?</string>
|
||||
<string name="confirmation_uninstall_cancel">İmtina et</string>
|
||||
<string name="confirmation_uninstall_confirm">Təsdiqlə</string>
|
||||
</resources>
|
||||
120
module/webui/locales/strings/bn.xml
Normal file
120
module/webui/locales/strings/bn.xml
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="system_default">সিস্টেম পূর্ব-নির্ধারিত</string>
|
||||
<string name="more_language">আরো</string>
|
||||
<!-- Header -->
|
||||
<!-- Help Menu-->
|
||||
<string name="help_help_instructions">নির্দেশনা</string>
|
||||
<string name="help_save_and_update">সেভ করুন</string>
|
||||
<string name="help_save_and_update_description">বর্তমান কনফিগারেশন target.txt এ সেভ করুন।</string>
|
||||
<string name="help_refresh">রিফ্রেশ</string>
|
||||
<string name="help_refresh_description">অ্যাপ তালিকা এবং এক্সক্লুড তালিকা রিফ্রেশ করুন।</string>
|
||||
<string name="help_select_deselect">সব নির্বাচন করুন এবং নির্বাচন প্রত্যাহার করুন</string>
|
||||
<string name="help_select_description">বর্তমান ইন্টারফেসে সব অ্যাপ নির্বাচন করুন বা নির্বাচন প্রত্যাহার করুন।</string>
|
||||
<string name="help_select_denylist">DenyList থেকে নির্বাচন করুন</string>
|
||||
<string name="help_select_denylist_description">শুধুমাত্র Magisk এ উপলব্ধ, DenyList এ থাকা অ্যাপগুলি নির্বাচন করুন। সুপারিশকৃত।</string>
|
||||
<string name="help_deselect_unnecessary">অপ্রয়োজনীয় নির্বাচন প্রত্যাহার করুন</string>
|
||||
<string name="help_deselect_unnecessary_description">অপ্রয়োজনীয় বিভাগ: Xposed মডিউল, root ম্যানেজার, root-সম্পর্কিত অ্যাপ, এবং সাধারণ অ্যাপ যা কখনও bootloader স্ট্যাটাস চেক করে না। এই অপশন ইন্টারনেট সংযোগ প্রয়োজন।</string>
|
||||
<string name="help_add_system_app">সিস্টেম অ্যাপ যোগ করুন</string>
|
||||
<string name="help_add_system_app_description">অ্যাপ তালিকায় নির্দিষ্ট সিস্টেম অ্যাপ যোগ করুন।</string>
|
||||
<string name="help_set_keybox">AOSP এবং Valid Keybox সেট করুন</string>
|
||||
<string name="help_set_keybox_description">Tricky store keybox.xml প্রতিস্থাপন করুন। Valid keybox অপশন ইন্টারনেট সংযোগ প্রয়োজন এবং সবসময় উপলব্ধ নয়।</string>
|
||||
<string name="help_set_custom_keybox">Custom Keybox সেট করুন</string>
|
||||
<string name="help_set_custom_keybox_description">আপনার ডিভাইস স্টোরেজ থেকে keybox ইমপোর্ট করুন। শুধুমাত্র xml ফাইল সমর্থন করে।</string>
|
||||
<string name="help_set_security_patch">Security Patch সেট করুন</string>
|
||||
<string name="help_set_security_patch_description">Custom security patch spoof সেট করুন। Auto config PIF মডিউল থেকে security patch ব্যবহার করবে। খালি রাখুন এবং সেভ করুন auto config নিষ্ক্রিয় করতে।</string>
|
||||
<string name="help_set_verified_boot_hash">Verified Boot Hash সেট করুন</string>
|
||||
<string name="help_set_verified_boot_hash_description">Key Attestation Demo থেকে verifiedBootHash মান পান। ro.boot.vbmeta.digest রিসেট করে অস্বাভাবিক boot state ঠিক করুন।</string>
|
||||
<!-- Update -->
|
||||
<string name="update_update_available">একটি নতুন সংস্করণ প্রস্তুত</string>
|
||||
<string name="update_redirect_to_release">সর্বশেষ সংস্করণ ডাউনলোড করতে ট্যাপ করুন</string>
|
||||
<string name="update_changelog">পরিবর্তন তালিকা</string>
|
||||
<string name="update_install">ইনস্টল করুন</string>
|
||||
<string name="update_reboot">রিবুট</string>
|
||||
<!-- Search -->
|
||||
<string name="search_bar_search_placeholder">খুঁজুন</string>
|
||||
<!-- Functional Button -->
|
||||
<string name="functional_button_save_and_update_button">সেভ করুন</string>
|
||||
<string name="functional_button_uninstall_webui">WebUI আনইনস্টল করুন</string>
|
||||
<!-- Loading -->
|
||||
<string name="loading_loading">লোড হচ্ছে...</string>
|
||||
<!-- Menu -->
|
||||
<string name="menu_refresh">রিফ্রেশ</string>
|
||||
<string name="menu_select_all">সব নির্বাচন করুন</string>
|
||||
<string name="menu_deselect_all">সমস্ত নির্বাচন প্রত্যাহার করুন</string>
|
||||
<string name="menu_select_denylist">DenyList থেকে নির্বাচন করুন</string>
|
||||
<string name="menu_deselect_unnecessary">অপ্রয়োজনীয় নির্বাচন প্রত্যাহার করুন</string>
|
||||
<string name="menu_add_system_app">সিস্টেম অ্যাপ যোগ করুন</string>
|
||||
<string name="menu_set_aosp_keybox">AOSP Keybox সেট করুন</string>
|
||||
<string name="menu_set_unknown_keybox">Unknown Keybox সেট করুন</string>
|
||||
<string name="menu_set_valid_keybox">Valid Keybox সেট করুন</string>
|
||||
<string name="menu_set_custom_keybox">Custom Keybox সেট করুন</string>
|
||||
<string name="menu_set_verified_boot_hash">Verified Boot Hash সেট করুন</string>
|
||||
<string name="menu_set_security_patch">Security Patch সেট করুন</string>
|
||||
<string name="menu_about">সম্পর্কে</string>
|
||||
<!-- Boot Hash -->
|
||||
<string name="boot_hash_input_placeholder">আপনার verified Boot Hash এখানে পেস্ট করুন</string>
|
||||
<string name="boot_hash_save_button">সেভ করুন</string>
|
||||
<!-- About -->
|
||||
<string name="about_by">দ্বারা</string>
|
||||
<string name="about_telegram_channel">টেলিগ্রাম চ্যানেল</string>
|
||||
<string name="about_canary_update">সর্বশেষ canary সংস্করণে আপডেট করুন</string>
|
||||
<string name="about_disclaimer">এই মডিউলটি Tricky Store মডিউলের অংশ নয়। সমস্যা হলে Tricky Store এ রিপোর্ট করবেন না।</string>
|
||||
<string name="about_acknowledgment">কৃতজ্ঞতা স্বীকার</string>
|
||||
<!-- Prompt -->
|
||||
<string name="prompt_no_internet">অনুগ্রহ করে আপনার ইন্টারনেট সংযোগ চেক করুন।</string>
|
||||
<string name="prompt_aosp_key_set">AOSP keybox সফলভাবে সেট হয়েছে</string>
|
||||
<string name="prompt_key_set_error">Keybox আপডেট করতে ব্যর্থ</string>
|
||||
<string name="prompt_unknown_key_set">Unknown keybox সফলভাবে সেট হয়েছে</string>
|
||||
<string name="prompt_valid_key_set">Valid keybox সফলভাবে সেট হয়েছে</string>
|
||||
<string name="prompt_no_valid">কোন valid keybox পাওয়া যায়নি।</string>
|
||||
<string name="prompt_boot_hash_set">Verified Boot Hash সফলভাবে সেভ হয়েছে</string>
|
||||
<string name="prompt_boot_hash_set_error">Verified Boot Hash আপডেট করতে ব্যর্থ</string>
|
||||
<string name="prompt_saved_target">কনফিগ target.txt এ সেভ হয়েছে</string>
|
||||
<string name="prompt_save_error">কনফিগ সেভ করতে ব্যর্থ</string>
|
||||
<string name="prompt_uninstall_prompt">রিবুটের পর WebUI সরানো হবে</string>
|
||||
<string name="prompt_uninstall_failed">WebUI আনইনস্টল করতে ব্যর্থ</string>
|
||||
<string name="prompt_checking_update">হালনাগাদের জন্য পরীক্ষা করা হচ্ছে...</string>
|
||||
<string name="prompt_new_update">একটি নতুন আপডেট উপলব্ধ</string>
|
||||
<string name="prompt_no_update">বর্তমানে কোন আপডেট উপলব্ধ নেই</string>
|
||||
<string name="prompt_downloading">নতুন আপডেট ডাউনলোড হচ্ছে...</string>
|
||||
<string name="prompt_downloaded">ডাউনলোড সম্পন্ন হয়েছে</string>
|
||||
<string name="prompt_download_fail">আপডেট ডাউনলোড করতে ব্যর্থ</string>
|
||||
<string name="prompt_installing">আপডেট ইন্সটল হচ্ছে...</string>
|
||||
<string name="prompt_installed">সফলভাবে ইন্সটল হয়েছে, এখন রিবুট করুন।</string>
|
||||
<string name="prompt_install_fail">ইন্সটল করতে ব্যর্থ, অনুগ্রহ করে ম্যানুয়ালি আপডেট করুন</string>
|
||||
<string name="prompt_rebooting">রিবুট হচ্ছে...</string>
|
||||
<string name="prompt_reboot_fail">রিবুট করতে ব্যর্থ, অনুগ্রহ করে ম্যানুয়ালি রিবুট করুন</string>
|
||||
<string name="prompt_custom_key_set">Custom keybox সফলভাবে সেট হয়েছে</string>
|
||||
<string name="prompt_custom_key_set_error">Custom keybox সেট করতে ব্যর্থ</string>
|
||||
<string name="prompt_no_file_selected">কোনো ফাইল সিলেক্ট করা হয় নি</string>
|
||||
<string name="prompt_system_app_not_found">সিস্টেম অ্যাপ পাওয়া যায়নি</string>
|
||||
<string name="prompt_system_app_error">সিস্টেম অ্যাপ যোগ করতে ব্যর্থ</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_advanced_mode">অগ্রসর</string>
|
||||
<string name="security_patch_get_date">Security Patch Date পান</string>
|
||||
<string name="security_patch_auto">অটো</string>
|
||||
<string name="security_patch_save">সেভ করুন</string>
|
||||
<string name="security_patch_fetching">আনয়ন হচ্ছে...</string>
|
||||
<string name="security_patch_fetched">সম্পন্ন</string>
|
||||
<string name="security_patch_get_failed">Security patch date আনয়ন করতে ব্যর্থ</string>
|
||||
<string name="security_patch_unable_to_connect">source.android.com এর সাথে সংযোগ করতে অক্ষম</string>
|
||||
<string name="security_patch_auto_success">Auto config সফলভাবে সক্রিয় হয়েছে</string>
|
||||
<string name="security_patch_auto_failed">Auto config সক্রিয় করতে ব্যর্থ</string>
|
||||
<string name="security_patch_save_success">Security patch সফলভাবে সেভ হয়েছে</string>
|
||||
<string name="security_patch_save_failed">Security patch সেভ করতে ব্যর্থ</string>
|
||||
<string name="security_patch_value_empty">Security patch কনফিগারেশন নিষ্ক্রিয়</string>
|
||||
<string name="security_patch_invalid_all">অবৈধ ফর্ম্যাট</string>
|
||||
<string name="security_patch_invalid_boot">অবৈধ boot ফর্ম্যাট</string>
|
||||
<string name="security_patch_invalid_system">অবৈধ system ফর্ম্যাট</string>
|
||||
<string name="security_patch_invalid_vendor">অবৈধ vendor ফর্ম্যাট</string>
|
||||
<!-- Add System App -->
|
||||
<string name="add_system_app_title">সিস্টেম অ্যাপ যোগ করুন</string>
|
||||
<string name="add_system_app_add">যোগ করুন</string>
|
||||
<string name="add_system_app_current_list">বর্তমান সিস্টেম অ্যাপ তালিকা</string>
|
||||
<!-- Uninstall confirmation -->
|
||||
<string name="confirmation_uninstall_title">আনইনস্টল নিশ্চিত করুন?</string>
|
||||
<string name="confirmation_uninstall_message">আপনি কি নিশ্চিত যে আপনি Tricky Addon আনইনস্টল করতে চান</string>
|
||||
<string name="confirmation_uninstall_cancel">ক্যানসেল করুন</string>
|
||||
<string name="confirmation_uninstall_confirm">নিশ্চিত করুন</string>
|
||||
</resources>
|
||||
123
module/webui/locales/strings/de.xml
Normal file
123
module/webui/locales/strings/de.xml
Normal file
@@ -0,0 +1,123 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="system_default">Systemstandard</string>
|
||||
<string name="more_language">Mehr</string>
|
||||
<!-- Header -->
|
||||
<!-- Help Menu-->
|
||||
<string name="help_help_instructions">Anleitung</string>
|
||||
<string name="help_save_and_update">Speichern</string>
|
||||
<string name="help_save_and_update_description">Aktuelle Konfiguration in target.txt speichern.</string>
|
||||
<string name="help_refresh">Aktualisieren</string>
|
||||
<string name="help_refresh_description">App-Liste und Ausschlussliste aktualisieren.</string>
|
||||
<string name="help_select_deselect">Alle auswählen & abwählen</string>
|
||||
<string name="help_select_description">Alle Apps in der aktuellen Ansicht auswählen oder abwählen.</string>
|
||||
<string name="help_select_denylist">Aus DenyList auswählen</string>
|
||||
<string name="help_select_denylist_description">Nur in Magisk verfügbar, wähle Apps aus der DenyList aus. Empfohlen.</string>
|
||||
<string name="help_deselect_unnecessary">Unnötige abwählen</string>
|
||||
<string name="help_deselect_unnecessary_description">Unnötige Kategorie: Xposed-Module, Root-Manager, Root-bezogene Apps und allgemeine Apps, die den Bootloader-Status nie prüfen. Diese Option benötigt eine Internetverbindung.</string>
|
||||
<string name="help_add_system_app">System-App hinzufügen</string>
|
||||
<string name="help_add_system_app_description">Füge eine bestimmte System-App zur App-Liste hinzu.</string>
|
||||
<string name="help_set_keybox">AOSP- & gültige Keybox setzen</string>
|
||||
<string name="help_set_keybox_description">Ersetze tricky store keybox.xml. Die gültige Keybox-Option benötigt eine Internetverbindung und ist nicht immer verfügbar.</string>
|
||||
<string name="help_set_custom_keybox">Benutzerdefinierte Keybox setzen</string>
|
||||
<string name="help_set_custom_keybox_description">Importiere eine Keybox aus dem Gerätespeicher. Nur XML-Dateien werden unterstützt.</string>
|
||||
<string name="help_set_security_patch">Sicherheitspatch setzen</string>
|
||||
<string name="help_set_security_patch_description">Benutzerdefiniertes Sicherheitspatch-Spoofing setzen. Auto-Konfiguration verwendet den Sicherheitspatch vom PIF-Modul. Leer lassen und speichern, um Auto-Konfiguration zu deaktivieren.</string>
|
||||
<string name="help_set_verified_boot_hash">Verifizierten Boot-Hash setzen</string>
|
||||
<string name="help_set_verified_boot_hash_description">Wert „verifiedBootHash“ aus der Key Attestation Demo abrufen. Behebt einen abnormalen Bootzustand durch Zurücksetzen von ro.boot.vbmeta.digest.</string>
|
||||
<!-- Update -->
|
||||
<string name="update_update_available">Eine neue Version ist verfügbar</string>
|
||||
<string name="update_redirect_to_release">Tippe, um die neueste Version herunterzuladen</string>
|
||||
<string name="update_changelog">Änderungsprotokoll</string>
|
||||
<string name="update_install">Installieren</string>
|
||||
<string name="update_reboot">Neustart</string>
|
||||
<!-- Search -->
|
||||
<string name="search_bar_search_placeholder">Suchen</string>
|
||||
<!-- Functional Button -->
|
||||
<string name="functional_button_save_and_update_button">Speichern</string>
|
||||
<string name="functional_button_uninstall_webui">WebUI deinstallieren</string>
|
||||
<!-- Loading -->
|
||||
<string name="loading_loading">Lädt...</string>
|
||||
<!-- Menu -->
|
||||
<string name="menu_refresh">Aktualisieren</string>
|
||||
<string name="menu_select_all">Alle auswählen</string>
|
||||
<string name="menu_deselect_all">Auswahl aufheben</string>
|
||||
<string name="menu_select_denylist">Aus DenyList auswählen</string>
|
||||
<string name="menu_deselect_unnecessary">Unnötige abwählen</string>
|
||||
<string name="menu_add_system_app">System-App hinzufügen</string>
|
||||
<string name="menu_set_aosp_keybox">AOSP-Keybox setzen</string>
|
||||
<string name="menu_set_unknown_keybox">Unbekannte Keybox setzen</string>
|
||||
<string name="menu_set_valid_keybox">Gültige Keybox setzen</string>
|
||||
<string name="menu_set_custom_keybox">Benutzerdefinierte Keybox setzen</string>
|
||||
<string name="menu_set_verified_boot_hash">Verifizierten Boot-Hash setzen</string>
|
||||
<string name="menu_set_security_patch">Sicherheitspatch setzen</string>
|
||||
<string name="menu_about">Über</string>
|
||||
<!-- Boot Hash -->
|
||||
<string name="boot_hash_title">Boot-Hash</string>
|
||||
<string name="boot_hash_input_placeholder">Füge hier deinen verifizierten Boot-Hash ein</string>
|
||||
<string name="boot_hash_save_button">Speichern</string>
|
||||
<!-- About -->
|
||||
<string name="about_module_name_line2">Ziel-Liste aktualisieren</string>
|
||||
<string name="about_by">von</string>
|
||||
<string name="about_telegram_channel">Telegram-Kanal</string>
|
||||
<string name="about_canary_update">Auf die neueste Canary-Version aktualisieren</string>
|
||||
<string name="about_disclaimer">Dieses Modul ist kein Teil des Tricky Store Moduls. BITTE melde keine Probleme an Tricky Store.</string>
|
||||
<string name="about_acknowledgment">Danksagung</string>
|
||||
<!-- Prompt -->
|
||||
<string name="prompt_no_internet">Bitte überprüfe deine Internetverbindung</string>
|
||||
<string name="prompt_aosp_key_set">AOSP-Keybox erfolgreich gesetzt</string>
|
||||
<string name="prompt_key_set_error">Fehler beim Aktualisieren der Keybox</string>
|
||||
<string name="prompt_unknown_key_set">Unbekannte Keybox erfolgreich gesetzt</string>
|
||||
<string name="prompt_valid_key_set">Gültige Keybox erfolgreich gesetzt</string>
|
||||
<string name="prompt_no_valid">Keine gültige Keybox gefunden.</string>
|
||||
<string name="prompt_boot_hash_set">Verifizierter Boot-Hash erfolgreich gespeichert</string>
|
||||
<string name="prompt_boot_hash_set_error">Fehler beim Speichern des verifizierten Boot-Hash</string>
|
||||
<string name="prompt_saved_target">Konfiguration in target.txt gespeichert</string>
|
||||
<string name="prompt_save_error">Fehler beim Speichern der Konfiguration</string>
|
||||
<string name="prompt_uninstall_prompt">WebUI wird nach dem Neustart entfernt</string>
|
||||
<string name="prompt_uninstall_failed">Fehler bei der Deinstallation der WebUI</string>
|
||||
<string name="prompt_checking_update">Suche nach Updates...</string>
|
||||
<string name="prompt_new_update">Ein neues Update ist verfügbar!</string>
|
||||
<string name="prompt_no_update">Derzeit sind keine Updates verfügbar</string>
|
||||
<string name="prompt_downloading">Neues Update wird heruntergeladen...</string>
|
||||
<string name="prompt_downloaded">Download abgeschlossen</string>
|
||||
<string name="prompt_download_fail">Fehler beim Herunterladen des Updates</string>
|
||||
<string name="prompt_installing">Update wird installiert...</string>
|
||||
<string name="prompt_installed">Erfolgreich installiert, jetzt neu starten.</string>
|
||||
<string name="prompt_install_fail">Fehler bei der Installation, bitte manuell aktualisieren</string>
|
||||
<string name="prompt_rebooting">Neustart...</string>
|
||||
<string name="prompt_reboot_fail">Neustart fehlgeschlagen, bitte manuell neu starten</string>
|
||||
<string name="prompt_custom_key_set">Benutzerdefinierte Keybox erfolgreich gesetzt</string>
|
||||
<string name="prompt_custom_key_set_error">Fehler beim Setzen der benutzerdefinierten Keybox</string>
|
||||
<string name="prompt_no_file_selected">Keine Datei ausgewählt</string>
|
||||
<string name="prompt_system_app_not_found">System-App nicht gefunden</string>
|
||||
<string name="prompt_system_app_error">Fehler beim Hinzufügen der System-App</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">Sicherheitspatch</string>
|
||||
<string name="security_patch_advanced_mode">Erweitert</string>
|
||||
<string name="security_patch_get_date">Sicherheitspatch-Datum abrufen</string>
|
||||
<string name="security_patch_auto">Automatisch</string>
|
||||
<string name="security_patch_save">Speichern</string>
|
||||
<string name="security_patch_fetching">Abrufen...</string>
|
||||
<string name="security_patch_fetched">Fertig</string>
|
||||
<string name="security_patch_get_failed">Fehler beim Abrufen des Sicherheitspatch-Datums</string>
|
||||
<string name="security_patch_unable_to_connect">Keine Verbindung zu source.android.com möglich</string>
|
||||
<string name="security_patch_auto_success">Automatische Konfiguration erfolgreich aktiviert</string>
|
||||
<string name="security_patch_auto_failed">Fehler beim Aktivieren der automatischen Konfiguration</string>
|
||||
<string name="security_patch_save_success">Sicherheitspatch erfolgreich gespeichert</string>
|
||||
<string name="security_patch_save_failed">Fehler beim Speichern des Sicherheitspatch</string>
|
||||
<string name="security_patch_value_empty">Sicherheitspatch-Konfiguration ist deaktiviert</string>
|
||||
<string name="security_patch_invalid_all">Ungültiges Format</string>
|
||||
<string name="security_patch_invalid_boot">Ungültiges Boot-Format</string>
|
||||
<string name="security_patch_invalid_system">Ungültiges System-Format</string>
|
||||
<string name="security_patch_invalid_vendor">Ungültiges Vendor-Format</string>
|
||||
<!-- Add System App -->
|
||||
<string name="add_system_app_title">System-App hinzufügen</string>
|
||||
<string name="add_system_app_add">Hinzufügen</string>
|
||||
<string name="add_system_app_current_list">Aktuelle Liste der System-Apps</string>
|
||||
<!-- Uninstall confirmation -->
|
||||
<string name="confirmation_uninstall_title">Deinstallation bestätigen?</string>
|
||||
<string name="confirmation_uninstall_message">Möchtest du Tricky Addon wirklich deinstallieren?</string>
|
||||
<string name="confirmation_uninstall_cancel">Abbrechen</string>
|
||||
<string name="confirmation_uninstall_confirm">Bestätigen</string>
|
||||
</resources>
|
||||
120
module/webui/locales/strings/el.xml
Normal file
120
module/webui/locales/strings/el.xml
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="system_default">Προεπιλογή Συστήματος</string>
|
||||
<!-- Header -->
|
||||
<string name="header_title">Tricky Addon</string>
|
||||
<!-- Help Menu-->
|
||||
<string name="help_help_instructions">Οδηγίες</string>
|
||||
<string name="help_save_and_update">Αποθήκευση</string>
|
||||
<string name="help_save_and_update_description">Αποθήκευσε την τρέχουσα ρύθμιση στο target.txt.</string>
|
||||
<string name="help_refresh">Ανανέωση</string>
|
||||
<string name="help_refresh_description">Ανανέωσε τη λίστα εφαρμογών και τη λίστα αποκλεισμού.</string>
|
||||
<string name="help_select_deselect">Επιλογή & Αποεπιλογή Όλων</string>
|
||||
<string name="help_select_description">Επίλεξε ή αποεπίλεξε όλες τις εφαρμογές στην τρέχουσα οθόνη.</string>
|
||||
<string name="help_select_denylist">Επίλεξε από DenyList</string>
|
||||
<string name="help_select_denylist_description">Διαθέσιμο μόνο στο Magisk, επίλεξε εφαρμογές που είναι στη DenyList. Συνιστάται.</string>
|
||||
<string name="help_deselect_unnecessary">Αποεπίλεξε άχρηστα</string>
|
||||
<string name="help_deselect_unnecessary_description">Άχρηστη κατηγορία: Xposed module, root manager, root-related apps, και γενικές εφαρμογές που ποτέ δεν ελέγχουν κατάσταση bootloader. Απαιτεί σύνδεση Internet.</string>
|
||||
<string name="help_add_system_app">Πρόσθεσε Εφαρμογή Συστήματος</string>
|
||||
<string name="help_add_system_app_description">Πρόσθεσε συγκεκριμένη εφαρμογή συστήματος στη λίστα εφαρμογών.</string>
|
||||
<string name="help_set_keybox">Όρισε AOSP & Έγκυρο Keybox</string>
|
||||
<string name="help_set_keybox_description">Αντικατέστησε το tricky store keybox.xml. Η επιλογή valid keybox απαιτεί σύνδεση Internet.</string>
|
||||
<string name="help_set_custom_keybox">Όρισε Custom Keybox</string>
|
||||
<string name="help_set_custom_keybox_description">Εισήγαγε keybox από τη συσκευή σου. Υποστηρίζεται μόνο αρχείο xml.</string>
|
||||
<string name="help_set_security_patch">Όρισε Security Patch</string>
|
||||
<string name="help_set_security_patch_description">Όρισε spoof για custom security patch. Η αυτόματη ρύθμιση χρησιμοποιεί το security patch από το PIF module. Άφησε κενό και αποθήκευσε για απενεργοποίηση αυτόματης ρύθμισης.</string>
|
||||
<string name="help_set_verified_boot_hash">Όρισε Verified Boot Hash</string>
|
||||
<string name="help_set_verified_boot_hash_description">Πάρε την τιμή verifiedBootHash από το Key Attestation Demo. Διόρθωσε την ανώμαλη κατάσταση εκκίνησης επαναφέροντας το ro.boot.vbmeta.digest.</string>
|
||||
<!-- Update -->
|
||||
<string name="update_update_available">Μια νέα έκδοση είναι έτοιμη</string>
|
||||
<string name="update_redirect_to_release">πάτησε για να κατεβάσεις την τελευταία έκδοση</string>
|
||||
<string name="update_changelog">Αλλαγές</string>
|
||||
<string name="update_install">Εγκατάσταση</string>
|
||||
<string name="update_reboot">Επανεκκίνηση</string>
|
||||
<!-- Search -->
|
||||
<string name="search_bar_search_placeholder">Αναζήτηση</string>
|
||||
<!-- Functional Button -->
|
||||
<string name="functional_button_save_and_update_button">Αποθήκευση</string>
|
||||
<string name="functional_button_uninstall_webui">Απεγκατάσταση WebUI</string>
|
||||
<!-- Loading -->
|
||||
<string name="loading_loading">Φόρτωση...</string>
|
||||
<!-- Menu -->
|
||||
<string name="menu_refresh">Ανανέωση</string>
|
||||
<string name="menu_select_all">Επίλεξε Όλα</string>
|
||||
<string name="menu_deselect_all">Αποεπίλεξε Όλα</string>
|
||||
<string name="menu_select_denylist">Επίλεξε από DenyList</string>
|
||||
<string name="menu_deselect_unnecessary">Αποεπίλεξε Άχρηστα</string>
|
||||
<string name="menu_add_system_app">Πρόσθεσε Εφαρμογή Συστήματος</string>
|
||||
<string name="menu_set_aosp_keybox">Όρισε AOSP Keybox</string>
|
||||
<string name="menu_set_unknown_keybox">Όρισε Unknown Keybox</string>
|
||||
<string name="menu_set_valid_keybox">Όρισε Valid Keybox</string>
|
||||
<string name="menu_set_custom_keybox">Όρισε Custom Keybox</string>
|
||||
<string name="menu_set_verified_boot_hash">Όρισε Verified Boot Hash</string>
|
||||
<string name="menu_set_security_patch">Όρισε Security Patch</string>
|
||||
<string name="menu_about">Σχετικά</string>
|
||||
<!-- Boot Hash -->
|
||||
<string name="boot_hash_title">Boot Hash</string>
|
||||
<string name="boot_hash_input_placeholder">Επικόλλησε εδώ το Verified Boot Hash σου</string>
|
||||
<string name="boot_hash_save_button">Αποθήκευση</string>
|
||||
<!-- About -->
|
||||
<string name="about_module_name_line1">Tricky Addon</string>
|
||||
<string name="about_module_name_line2">Ενημέρωση Λίστας Στόχων</string>
|
||||
<string name="about_by">από</string>
|
||||
<string name="about_telegram_channel">Κανάλι Telegram</string>
|
||||
<string name="about_disclaimer">Αυτό το module δεν είναι μέρος του Tricky Store module. ΜΗΝ αναφέρετε προβλήματα στο Tricky Store αν προκύψουν.</string>
|
||||
<string name="about_acknowledgment">Ευχαριστίες</string>
|
||||
<!-- Prompt -->
|
||||
<string name="prompt_no_internet">Έλεγξε τη σύνδεση Internet</string>
|
||||
<string name="prompt_aosp_key_set">Το AOSP keybox ορίστηκε με επιτυχία</string>
|
||||
<string name="prompt_key_set_error">Αποτυχία ενημέρωσης keybox</string>
|
||||
<string name="prompt_unknown_key_set">Το Unknown keybox ορίστηκε με επιτυχία</string>
|
||||
<string name="prompt_valid_key_set">Το Valid keybox ορίστηκε με επιτυχία</string>
|
||||
<string name="prompt_no_valid">Δεν βρέθηκε έγκυρο keybox.</string>
|
||||
<string name="prompt_boot_hash_set">Το Verified Boot Hash αποθηκεύτηκε με επιτυχία</string>
|
||||
<string name="prompt_boot_hash_set_error">Αποτυχία ενημέρωσης Verified Boot Hash</string>
|
||||
<string name="prompt_saved_target">Η ρύθμιση αποθηκεύτηκε στο target.txt</string>
|
||||
<string name="prompt_save_error">Αποτυχία αποθήκευσης ρύθμισης</string>
|
||||
<string name="prompt_uninstall_prompt">Το WebUI θα αφαιρεθεί μετά την επανεκκίνηση</string>
|
||||
<string name="prompt_uninstall_failed">Αποτυχία απεγκατάστασης WebUI</string>
|
||||
<string name="prompt_new_update">Υπάρχει νέα ενημέρωση!</string>
|
||||
<string name="prompt_downloading">Κατεβάζω νέα ενημέρωση...</string>
|
||||
<string name="prompt_downloaded">Η λήψη ολοκληρώθηκε</string>
|
||||
<string name="prompt_download_fail">Αποτυχία λήψης ενημέρωσης</string>
|
||||
<string name="prompt_installing">Εγκαθιστώ ενημέρωση...</string>
|
||||
<string name="prompt_installed">Εγκαταστάθηκε με επιτυχία, επανεκκίνηση τώρα.</string>
|
||||
<string name="prompt_install_fail">Αποτυχία εγκατάστασης, κάνε ενημέρωση χειροκίνητα</string>
|
||||
<string name="prompt_rebooting">Επανεκκίνηση...</string>
|
||||
<string name="prompt_reboot_fail">Αποτυχία επανεκκίνησης, κάνε επανεκκίνηση χειροκίνητα</string>
|
||||
<string name="prompt_custom_key_set">Το Custom keybox ορίστηκε με επιτυχία</string>
|
||||
<string name="prompt_custom_key_set_error">Αποτυχία ορισμού custom keybox</string>
|
||||
<string name="prompt_no_file_selected">Δεν επιλέχθηκε αρχείο</string>
|
||||
<string name="prompt_system_app_not_found">Η εφαρμογή συστήματος δεν βρέθηκε</string>
|
||||
<string name="prompt_system_app_error">Αποτυχία προσθήκης εφαρμογής συστήματος</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">Security Patch</string>
|
||||
<string name="security_patch_advanced_mode">Προχωρημένο</string>
|
||||
<string name="security_patch_get_date">Πάρε Ημερομηνία Security Patch</string>
|
||||
<string name="security_patch_auto">Αυτόματο</string>
|
||||
<string name="security_patch_save">Αποθήκευση</string>
|
||||
<string name="security_patch_fetching">Φόρτωση...</string>
|
||||
<string name="security_patch_fetched">Ολοκληρώθηκε</string>
|
||||
<string name="security_patch_get_failed">Αποτυχία λήψης ημερομηνίας security patch</string>
|
||||
<string name="security_patch_auto_success">Η αυτόματη ρύθμιση ενεργοποιήθηκε με επιτυχία</string>
|
||||
<string name="security_patch_auto_failed">Αποτυχία ενεργοποίησης αυτόματης ρύθμισης</string>
|
||||
<string name="security_patch_save_success">Το security patch αποθηκεύτηκε με επιτυχία</string>
|
||||
<string name="security_patch_save_failed">Αποτυχία αποθήκευσης security patch</string>
|
||||
<string name="security_patch_value_empty">Η ρύθμιση security patch είναι απενεργοποιημένη</string>
|
||||
<string name="security_patch_invalid_all">Μη έγκυρη μορφή</string>
|
||||
<string name="security_patch_invalid_boot">Μη έγκυρη μορφή boot</string>
|
||||
<string name="security_patch_invalid_system">Μη έγκυρη μορφή system</string>
|
||||
<string name="security_patch_invalid_vendor">Μη έγκυρη μορφή vendor</string>
|
||||
<!-- Add System App -->
|
||||
<string name="add_system_app_title">Πρόσθεσε Εφαρμογή Συστήματος</string>
|
||||
<string name="add_system_app_add">Πρόσθεσε</string>
|
||||
<string name="add_system_app_current_list">Τρέχουσα Λίστα Εφαρμογών Συστήματος</string>
|
||||
<!-- Uninstall confirmation -->
|
||||
<string name="confirmation_uninstall_title">Επιβεβαίωση Απεγκατάστασης;</string>
|
||||
<string name="confirmation_uninstall_message">Είσαι σίγουρος ότι θέλεις να απεγκαταστήσεις το Tricky Addon;</string>
|
||||
<string name="confirmation_uninstall_cancel">Άκυρο</string>
|
||||
<string name="confirmation_uninstall_confirm">Επιβεβαίωση</string>
|
||||
</resources>
|
||||
126
module/webui/locales/strings/en.xml
Normal file
126
module/webui/locales/strings/en.xml
Normal file
@@ -0,0 +1,126 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="system_default">System Default</string>
|
||||
<string name="more_language">More</string>
|
||||
<!-- Header -->
|
||||
<string name="header_title">Tricky Addon</string>
|
||||
<!-- Help Menu-->
|
||||
<string name="help_help_instructions">Instructions</string>
|
||||
<string name="help_save_and_update">Save</string>
|
||||
<string name="help_save_and_update_description">Save current configure to target.txt.</string>
|
||||
<string name="help_refresh">Refresh</string>
|
||||
<string name="help_refresh_description">Refresh app list and exclude list.</string>
|
||||
<string name="help_select_deselect">Select & Deselect All</string>
|
||||
<string name="help_select_description">Select or deselect all apps in the current interface.</string>
|
||||
<string name="help_select_denylist">Select From DenyList</string>
|
||||
<string name="help_select_denylist_description">Available in Magisk only, select apps that are in the DenyList. Recommended.</string>
|
||||
<string name="help_deselect_unnecessary">Deselect Unnecessary</string>
|
||||
<string name="help_deselect_unnecessary_description">Unnecessary category: Xposed module, root manager, root-related apps, and general apps that never check bootloader status. This option requires Internet connection.</string>
|
||||
<string name="help_add_system_app">Add System App</string>
|
||||
<string name="help_add_system_app_description">Add specific system app to app list.</string>
|
||||
<string name="help_set_keybox">Set AOSP & Valid Keybox</string>
|
||||
<string name="help_set_keybox_description">Replace tricky store keybox.xml. Valid keybox option requires Internet connection and not always available.</string>
|
||||
<string name="help_set_custom_keybox">Set Custom Keybox</string>
|
||||
<string name="help_set_custom_keybox_description">Import keybox from your device storage. Only support xml file.</string>
|
||||
<string name="help_set_security_patch">Set Security Patch</string>
|
||||
<string name="help_set_security_patch_description">Set custom security patch spoof. Auto config will use security patch from PIF module. Leave blank and save to disable auto config.</string>
|
||||
<string name="help_set_verified_boot_hash">Set Verified Boot Hash</string>
|
||||
<string name="help_set_verified_boot_hash_description">Get verifiedBootHash value from Key Attestation Demo. Fix abnormal boot state by resetting ro.boot.vbmeta.digest.</string>
|
||||
<!-- Update -->
|
||||
<string name="update_update_available">A new version is ready</string>
|
||||
<string name="update_redirect_to_release">tap to download the latest version</string>
|
||||
<string name="update_changelog">Changelog</string>
|
||||
<string name="update_install">Install</string>
|
||||
<string name="update_reboot">Reboot</string>
|
||||
<!-- Search -->
|
||||
<string name="search_bar_search_placeholder">Search</string>
|
||||
<!-- Functional Button -->
|
||||
<string name="functional_button_save_and_update_button">Save</string>
|
||||
<string name="functional_button_uninstall_webui">Uninstall WebUI</string>
|
||||
<!-- Loading -->
|
||||
<string name="loading_loading">Loading...</string>
|
||||
<!-- Menu -->
|
||||
<string name="menu_refresh">Refresh</string>
|
||||
<string name="menu_select_all">Select All</string>
|
||||
<string name="menu_deselect_all">Deselect All</string>
|
||||
<string name="menu_select_denylist">Select From DenyList</string>
|
||||
<string name="menu_deselect_unnecessary">Deselect Unnecessary</string>
|
||||
<string name="menu_add_system_app">Add System App</string>
|
||||
<string name="menu_set_aosp_keybox">Set AOSP Keybox</string>
|
||||
<string name="menu_set_unknown_keybox">Set Unknown Keybox</string>
|
||||
<string name="menu_set_valid_keybox">Set Valid Keybox</string>
|
||||
<string name="menu_set_custom_keybox">Set Custom Keybox</string>
|
||||
<string name="menu_set_verified_boot_hash">Set Verified Boot Hash</string>
|
||||
<string name="menu_set_security_patch">Set Security Patch</string>
|
||||
<string name="menu_set_devconfig">Set DevConfig</string>
|
||||
<string name="menu_about">About</string>
|
||||
<!-- Boot Hash -->
|
||||
<string name="boot_hash_title">Boot Hash</string>
|
||||
<string name="boot_hash_input_placeholder">Paste your verified Boot Hash here</string>
|
||||
<string name="boot_hash_save_button">Save</string>
|
||||
<!-- About -->
|
||||
<string name="about_module_name_line1">Tricky Addon</string>
|
||||
<string name="about_module_name_line2">Update Target List</string>
|
||||
<string name="about_by">by</string>
|
||||
<string name="about_telegram_channel">Telegram Channel</string>
|
||||
<string name="about_canary_update">Update to latest canary version</string>
|
||||
<string name="about_disclaimer">This module is not a part of the Tricky Store module. DO NOT report any issues to Tricky Store if encountered.</string>
|
||||
<string name="about_acknowledgment">Acknowledgment</string>
|
||||
<!-- Prompt -->
|
||||
<string name="prompt_no_internet">Please check your Internet connection</string>
|
||||
<string name="prompt_aosp_key_set">AOSP keybox set successfully</string>
|
||||
<string name="prompt_key_set_error">Failed to update keybox</string>
|
||||
<string name="prompt_unknown_key_set">Unknown keybox set successfully</string>
|
||||
<string name="prompt_valid_key_set">Valid keybox set successfully</string>
|
||||
<string name="prompt_no_valid">No valid keybox found.</string>
|
||||
<string name="prompt_boot_hash_set">Verified Boot Hash saved successfully</string>
|
||||
<string name="prompt_boot_hash_set_error">Failed to update Verified Boot Hash</string>
|
||||
<string name="prompt_saved_target">Config saved to target.txt</string>
|
||||
<string name="prompt_save_error">Failed to save config</string>
|
||||
<string name="prompt_uninstall_prompt">WebUI will be removed after reboot</string>
|
||||
<string name="prompt_uninstall_failed">Failed to uninstall WebUI</string>
|
||||
<string name="prompt_checking_update">Checking update...</string>
|
||||
<string name="prompt_new_update">A new update is available!</string>
|
||||
<string name="prompt_no_update">There are currently no updates available</string>
|
||||
<string name="prompt_downloading">Downloading new update...</string>
|
||||
<string name="prompt_downloaded">Download completed</string>
|
||||
<string name="prompt_download_fail">Fail to download update</string>
|
||||
<string name="prompt_installing">Installing update...</string>
|
||||
<string name="prompt_installed">Installed successfully, reboot now.</string>
|
||||
<string name="prompt_install_fail">Fail to install, please update manually</string>
|
||||
<string name="prompt_rebooting">Rebooting...</string>
|
||||
<string name="prompt_reboot_fail">Fail to reboot, please reboot manually</string>
|
||||
<string name="prompt_custom_key_set">Custom keybox set successfully</string>
|
||||
<string name="prompt_custom_key_set_error">Failed to set custom keybox</string>
|
||||
<string name="prompt_no_file_selected">No file selected</string>
|
||||
<string name="prompt_system_app_not_found">System app not found</string>
|
||||
<string name="prompt_system_app_error">Failed to add system app</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">Security Patch</string>
|
||||
<string name="security_patch_advanced_mode">Advanced</string>
|
||||
<string name="security_patch_get_date">Get Security Patch Date</string>
|
||||
<string name="security_patch_auto">Auto</string>
|
||||
<string name="security_patch_save">Save</string>
|
||||
<string name="security_patch_fetching">Fetching...</string>
|
||||
<string name="security_patch_fetched">Done</string>
|
||||
<string name="security_patch_get_failed">Failed to fetch security patch date</string>
|
||||
<string name="security_patch_unable_to_connect">Unable to connect to source.android.com</string>
|
||||
<string name="security_patch_auto_success">Auto config enabled successfully</string>
|
||||
<string name="security_patch_auto_failed">Failed to enable auto config</string>
|
||||
<string name="security_patch_save_success">Security patch saved successfully</string>
|
||||
<string name="security_patch_save_failed">Failed to save security patch</string>
|
||||
<string name="security_patch_value_empty">Security patch configuration is disabled</string>
|
||||
<string name="security_patch_invalid_all">Invalid format</string>
|
||||
<string name="security_patch_invalid_boot">Invalid boot format</string>
|
||||
<string name="security_patch_invalid_system">Invalid system format</string>
|
||||
<string name="security_patch_invalid_vendor">Invalid vendor format</string>
|
||||
<!-- Add System App -->
|
||||
<string name="add_system_app_title">Add System App</string>
|
||||
<string name="add_system_app_add">Add</string>
|
||||
<string name="add_system_app_current_list">Current System App List</string>
|
||||
<!-- Uninstall confirmation -->
|
||||
<string name="confirmation_uninstall_title">Confirm Uninstall?</string>
|
||||
<string name="confirmation_uninstall_message">Are you sure you want to uninstall Tricky Addon</string>
|
||||
<string name="confirmation_uninstall_cancel">Cancel</string>
|
||||
<string name="confirmation_uninstall_confirm">Confirm</string>
|
||||
</resources>
|
||||
120
module/webui/locales/strings/es-ES.xml
Normal file
120
module/webui/locales/strings/es-ES.xml
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="system_default">Predeterminado del sistema</string>
|
||||
<!-- Header -->
|
||||
<string name="header_title">Tricky Addon</string>
|
||||
<!-- Help Menu-->
|
||||
<string name="help_help_instructions">Instrucciones</string>
|
||||
<string name="help_save_and_update">Guardar</string>
|
||||
<string name="help_save_and_update_description">Guardar la configuración actual en target.txt.</string>
|
||||
<string name="help_refresh">Actualizar</string>
|
||||
<string name="help_refresh_description">Actualizar lista de aplicaciones y lista de exclusión.</string>
|
||||
<string name="help_select_deselect">Seleccionar y Deseleccionar Todo</string>
|
||||
<string name="help_select_description">Seleccionar o deseleccionar todas las aplicaciones en la interfaz actual.</string>
|
||||
<string name="help_select_denylist">Seleccionar desde DenyList</string>
|
||||
<string name="help_select_denylist_description">Disponible solo en Magisk, selecciona aplicaciones que están en la DenyList. Recomendado.</string>
|
||||
<string name="help_deselect_unnecessary">Deseleccionar innecesarios</string>
|
||||
<string name="help_deselect_unnecessary_description">Categorías innecesarias: módulos Xposed, gestores de root, aplicaciones relacionadas con root y aplicaciones generales que nunca verifican el estado del bootloader. Esta opción requiere conexión a Internet.</string>
|
||||
<string name="help_add_system_app">Agregar Aplicación del Sistema</string>
|
||||
<string name="help_add_system_app_description">Agregar una aplicación del sistema específica a la lista de aplicaciones.</string>
|
||||
<string name="help_set_keybox">Configurar AOSP y Keybox Válido</string>
|
||||
<string name="help_set_keybox_description">Reemplazar el archivo keybox.xml de Tricky Store. Esta opción requiere conexión a Internet.</string>
|
||||
<string name="help_set_custom_keybox">Establecer Keybox Personalizado</string>
|
||||
<string name="help_set_custom_keybox_description">Importar keybox desde el almacenamiento de tu dispositivo. Solo soporta archivos xml.</string>
|
||||
<string name="help_set_security_patch">Configurar Parche de Seguridad</string>
|
||||
<string name="help_set_security_patch_description">Configurar parche de seguridad personalizado. La configuración automática usará el parche de seguridad de PIF. Deja en blanco y guarda para deshabilitar la configuración automática.</string>
|
||||
<string name="help_set_verified_boot_hash">Configurar Boot Hash Verificado</string>
|
||||
<string name="help_set_verified_boot_hash_description">Obtén el valor de verifiedBootHash del Key Attestation Demo. Corrige un estado de arranque anormal reiniciando ro.boot.vbmeta.digest.</string>
|
||||
<!-- Update -->
|
||||
<string name="update_update_available">Una nueva versión está lista</string>
|
||||
<string name="update_redirect_to_release">toca para descargar la última versión</string>
|
||||
<string name="update_changelog">Registro de cambios</string>
|
||||
<string name="update_install">Instalar</string>
|
||||
<string name="update_reboot">Reiniciar</string>
|
||||
<!-- Search -->
|
||||
<string name="search_bar_search_placeholder">Buscar</string>
|
||||
<!-- Functional Button -->
|
||||
<string name="functional_button_save_and_update_button">Guardar</string>
|
||||
<string name="functional_button_uninstall_webui">Desinstalar WebUI</string>
|
||||
<!-- Loading -->
|
||||
<string name="loading_loading">Cargando...</string>
|
||||
<!-- Menu -->
|
||||
<string name="menu_refresh">Actualizar</string>
|
||||
<string name="menu_select_all">Seleccionar Todo</string>
|
||||
<string name="menu_deselect_all">Deseleccionar Todo</string>
|
||||
<string name="menu_select_denylist">Seleccionar desde DenyList</string>
|
||||
<string name="menu_deselect_unnecessary">Deseleccionar innecesarios</string>
|
||||
<string name="menu_add_system_app">Agregar Aplicación del Sistema</string>
|
||||
<string name="menu_set_aosp_keybox">Configurar AOSP Keybox</string>
|
||||
<string name="menu_set_unknown_keybox">Configurar Keybox Desconocido</string>
|
||||
<string name="menu_set_valid_keybox">Configurar Keybox Válido</string>
|
||||
<string name="menu_set_custom_keybox">Establecer Keybox Personalizado</string>
|
||||
<string name="menu_set_verified_boot_hash">Configurar Boot Hash Verificado</string>
|
||||
<string name="menu_set_security_patch">Configurar Parche de Seguridad</string>
|
||||
<string name="menu_about">Acerca de</string>
|
||||
<!-- Boot Hash -->
|
||||
<string name="boot_hash_title">Boot Hash</string>
|
||||
<string name="boot_hash_input_placeholder">Pega aquí tu Boot Hash verificado</string>
|
||||
<string name="boot_hash_save_button">Guardar</string>
|
||||
<!-- About -->
|
||||
<string name="about_module_name_line1">Tricky Addon</string>
|
||||
<string name="about_module_name_line2">Actualizar Lista de Objetivos</string>
|
||||
<string name="about_by">por</string>
|
||||
<string name="about_telegram_channel">Canal de Telegram</string>
|
||||
<string name="about_disclaimer">Este módulo no es parte del módulo Tricky Store. NO reportes problemas al autor de Tricky Store si los encuentras.</string>
|
||||
<string name="about_acknowledgment">Agradecimientos</string>
|
||||
<!-- Prompt -->
|
||||
<string name="prompt_no_internet">Por favor, verifica tu conexión a Internet</string>
|
||||
<string name="prompt_aosp_key_set">AOSP Keybox configurado correctamente</string>
|
||||
<string name="prompt_key_set_error">Error al actualizar el Keybox</string>
|
||||
<string name="prompt_unknown_key_set">Keybox desconocido configurado correctamente</string>
|
||||
<string name="prompt_valid_key_set">Keybox válido configurado correctamente</string>
|
||||
<string name="prompt_no_valid">No se encontró un keybox válido.</string>
|
||||
<string name="prompt_boot_hash_set">Boot Hash verificado guardado correctamente</string>
|
||||
<string name="prompt_boot_hash_set_error">Error al actualizar el Boot Hash verificado</string>
|
||||
<string name="prompt_saved_target">Configuración guardada en target.txt</string>
|
||||
<string name="prompt_save_error">Error al guardar la configuración</string>
|
||||
<string name="prompt_uninstall_prompt">El WebUI se eliminará después de reiniciar</string>
|
||||
<string name="prompt_uninstall_failed">Error al desinstalar el WebUI</string>
|
||||
<string name="prompt_new_update">¡Una nueva actualización está disponible!</string>
|
||||
<string name="prompt_downloading">Descargando nueva actualización...</string>
|
||||
<string name="prompt_downloaded">Descarga completada</string>
|
||||
<string name="prompt_download_fail">Error al descargar la actualización</string>
|
||||
<string name="prompt_installing">Instalando actualización...</string>
|
||||
<string name="prompt_installed">Instalado con éxito, reinicia ahora.</string>
|
||||
<string name="prompt_install_fail">Error al instalar, actualiza manualmente</string>
|
||||
<string name="prompt_rebooting">Reiniciando...</string>
|
||||
<string name="prompt_reboot_fail">Error al reiniciar, reinicia manualmente</string>
|
||||
<string name="prompt_custom_key_set">Keybox personalizado establecido con éxito</string>
|
||||
<string name="prompt_custom_key_set_error">Error al establecer el keybox personalizado</string>
|
||||
<string name="prompt_no_file_selected">Ningún archivo seleccionado</string>
|
||||
<string name="prompt_system_app_not_found">Aplicación del sistema no encontrada</string>
|
||||
<string name="prompt_system_app_error">Error al agregar la aplicación del sistema</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">Parche de Seguridad</string>
|
||||
<string name="security_patch_advanced_mode">Avanzado</string>
|
||||
<string name="security_patch_get_date">Obtener Fecha del Parche de Seguridad</string>
|
||||
<string name="security_patch_auto">Automático</string>
|
||||
<string name="security_patch_save">Guardar</string>
|
||||
<string name="security_patch_fetching">Obteniendo...</string>
|
||||
<string name="security_patch_fetched">Completado</string>
|
||||
<string name="security_patch_get_failed">Error al obtener la fecha del parche de seguridad</string>
|
||||
<string name="security_patch_auto_success">Configuración automática habilitada con éxito</string>
|
||||
<string name="security_patch_auto_failed">Error al habilitar la configuración automática</string>
|
||||
<string name="security_patch_save_success">Parche de seguridad guardado con éxito</string>
|
||||
<string name="security_patch_save_failed">Error al guardar el parche de seguridad</string>
|
||||
<string name="security_patch_value_empty">La configuración del parche de seguridad está deshabilitada</string>
|
||||
<string name="security_patch_invalid_all">Formato inválido</string>
|
||||
<string name="security_patch_invalid_boot">Formato de boot inválido</string>
|
||||
<string name="security_patch_invalid_system">Formato de system inválido</string>
|
||||
<string name="security_patch_invalid_vendor">Formato de vendor inválido</string>
|
||||
<!-- Add System App -->
|
||||
<string name="add_system_app_title">Añadir aplicación del sistema</string>
|
||||
<string name="add_system_app_add">Añadir</string>
|
||||
<string name="add_system_app_current_list">Lista actual de aplicaciones del sistema</string>
|
||||
<!-- Uninstall confirmation -->
|
||||
<string name="confirmation_uninstall_title">¿Confirmar desinstalación?</string>
|
||||
<string name="confirmation_uninstall_message">¿Está seguro de que desea desinstalar Tricky Addon</string>
|
||||
<string name="confirmation_uninstall_cancel">Cancelar</string>
|
||||
<string name="confirmation_uninstall_confirm">Confirmar</string>
|
||||
</resources>
|
||||
120
module/webui/locales/strings/fa.xml
Normal file
120
module/webui/locales/strings/fa.xml
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="system_default">پیش فرض سیستم</string>
|
||||
<string name="more_language">بیشتر</string>
|
||||
<!-- Header -->
|
||||
<!-- Help Menu-->
|
||||
<string name="help_help_instructions">راهنما</string>
|
||||
<string name="help_save_and_update">ذخیره</string>
|
||||
<string name="help_save_and_update_description">پیکربندی فعلی را در target.txt ذخیره کنید.</string>
|
||||
<string name="help_refresh">تازه سازی</string>
|
||||
<string name="help_refresh_description">لیست برنامهها و لیست حذف را تازه کنید.</string>
|
||||
<string name="help_select_deselect">انتخاب همه و لغو انتخاب</string>
|
||||
<string name="help_select_description">همه برنامهها را در رابط فعلی انتخاب کنید یا لغو انتخاب کنید.</string>
|
||||
<string name="help_select_denylist">انتخاب از DenyList</string>
|
||||
<string name="help_select_denylist_description">فقط در Magisk موجود است، برنامههایی که در DenyList هستند را انتخاب کنید. توصیه شده.</string>
|
||||
<string name="help_deselect_unnecessary">لغو انتخاب غیرضروری</string>
|
||||
<string name="help_deselect_unnecessary_description">دسته غیرضروری: ماژول Xposed، مدیر root، برنامههای مرتبط با root، و برنامههای عمومی که هرگز وضعیت bootloader را بررسی نمیکنند. این گزینه نیاز به اتصال اینترنت دارد.</string>
|
||||
<string name="help_add_system_app">افزودن برنامه سیستمی</string>
|
||||
<string name="help_add_system_app_description">برنامه سیستمی خاص را به لیست برنامهها اضافه کنید.</string>
|
||||
<string name="help_set_keybox">تنظیم AOSP و Valid Keybox</string>
|
||||
<string name="help_set_keybox_description">keybox.xml ذخیره tricky را جایگزین کنید. گزینه Valid keybox نیاز به اتصال اینترنت دارد و همیشه موجود نیست.</string>
|
||||
<string name="help_set_custom_keybox">تنظیم Custom Keybox</string>
|
||||
<string name="help_set_custom_keybox_description">keybox را از ذخیرهسازی دستگاه خود وارد کنید. فقط فایل xml پشتیبانی میشود.</string>
|
||||
<string name="help_set_security_patch">تنظیم Security Patch</string>
|
||||
<string name="help_set_security_patch_description">Custom security patch spoof تنظیم کنید. Auto config از security patch ماژول PIF استفاده خواهد کرد. خالی بگذارید و ذخیره کنید تا auto config غیرفعال شود.</string>
|
||||
<string name="help_set_verified_boot_hash">تنظیم Verified Boot Hash</string>
|
||||
<string name="help_set_verified_boot_hash_description">مقدار verifiedBootHash را از Key Attestation Demo دریافت کنید. وضعیت boot غیرعادی را با بازنشانی ro.boot.vbmeta.digest برطرف کنید.</string>
|
||||
<!-- Update -->
|
||||
<string name="update_update_available">نسخه جدید آماده است</string>
|
||||
<string name="update_redirect_to_release">برای دانلود آخرین نسخه ضربه بزنید</string>
|
||||
<string name="update_changelog">تاریخچه تغییرات</string>
|
||||
<string name="update_install">نصب</string>
|
||||
<string name="update_reboot">راهاندازی مجدد</string>
|
||||
<!-- Search -->
|
||||
<string name="search_bar_search_placeholder">جُستجو</string>
|
||||
<!-- Functional Button -->
|
||||
<string name="functional_button_save_and_update_button">ذخیره</string>
|
||||
<string name="functional_button_uninstall_webui">حذف WebUI</string>
|
||||
<!-- Loading -->
|
||||
<string name="loading_loading">در حال بارگیری...</string>
|
||||
<!-- Menu -->
|
||||
<string name="menu_refresh">رفرش</string>
|
||||
<string name="menu_select_all">انتخاب همه</string>
|
||||
<string name="menu_deselect_all">لغو انتخاب همه</string>
|
||||
<string name="menu_select_denylist">انتخاب از DenyList</string>
|
||||
<string name="menu_deselect_unnecessary">لغو انتخاب غیرضروری</string>
|
||||
<string name="menu_add_system_app">افزودن برنامه سیستمی</string>
|
||||
<string name="menu_set_aosp_keybox">تنظیم AOSP Keybox</string>
|
||||
<string name="menu_set_unknown_keybox">تنظیم Unknown Keybox</string>
|
||||
<string name="menu_set_valid_keybox">تنظیم Valid Keybox</string>
|
||||
<string name="menu_set_custom_keybox">تنظیم Custom Keybox</string>
|
||||
<string name="menu_set_verified_boot_hash">تنظیم Verified Boot Hash</string>
|
||||
<string name="menu_set_security_patch">تنظیم Security Patch</string>
|
||||
<string name="menu_about">درباره</string>
|
||||
<!-- Boot Hash -->
|
||||
<string name="boot_hash_input_placeholder">Verified Boot Hash خود را اینجا بچسبانید</string>
|
||||
<string name="boot_hash_save_button">ذخیره</string>
|
||||
<!-- About -->
|
||||
<string name="about_by">از</string>
|
||||
<string name="about_telegram_channel">کانال تلگرام</string>
|
||||
<string name="about_canary_update">بهروزرسانی به آخرین نسخه canary</string>
|
||||
<string name="about_disclaimer">این ماژول بخشی از ماژول Tricky Store نیست. در صورت بروز مشکل، به Tricky Store گزارش ندهید.</string>
|
||||
<string name="about_acknowledgment">تقدیر و تشکر</string>
|
||||
<!-- Prompt -->
|
||||
<string name="prompt_no_internet">اتصال به اینترنت خود را بررسی کنید</string>
|
||||
<string name="prompt_aosp_key_set">AOSP keybox با موفقیت تنظیم شد</string>
|
||||
<string name="prompt_key_set_error">بهروزرسانی keybox ناموفق بود</string>
|
||||
<string name="prompt_unknown_key_set">Unknown keybox با موفقیت تنظیم شد</string>
|
||||
<string name="prompt_valid_key_set">Valid keybox با موفقیت تنظیم شد</string>
|
||||
<string name="prompt_no_valid">هیچ valid keybox یافت نشد.</string>
|
||||
<string name="prompt_boot_hash_set">Verified Boot Hash با موفقیت ذخیره شد</string>
|
||||
<string name="prompt_boot_hash_set_error">بهروزرسانی Verified Boot Hash ناموفق بود</string>
|
||||
<string name="prompt_saved_target">پیکربندی در target.txt ذخیره شد</string>
|
||||
<string name="prompt_save_error">ذخیره پیکربندی ناموفق بود</string>
|
||||
<string name="prompt_uninstall_prompt">WebUI پس از راهاندازی مجدد حذف خواهد شد</string>
|
||||
<string name="prompt_uninstall_failed">حذف WebUI ناموفق بود</string>
|
||||
<string name="prompt_checking_update">بررسی به روز رسانی...</string>
|
||||
<string name="prompt_new_update">یک بروزرسانی جدید دردسترس میباشد!</string>
|
||||
<string name="prompt_no_update">در حال حاضر هیچ بهروزرسانی موجود نیست</string>
|
||||
<string name="prompt_downloading">دانلود بهروزرسانی جدید...</string>
|
||||
<string name="prompt_downloaded">بارگیری کامل شد</string>
|
||||
<string name="prompt_download_fail">به روزرسانی بارگیری نشد</string>
|
||||
<string name="prompt_installing">در حال نصب بهروزرسانی...</string>
|
||||
<string name="prompt_installed">با موفقیت نصب شد، اکنون راهاندازی مجدد کنید.</string>
|
||||
<string name="prompt_install_fail">نصب ناموفق بود، لطفاً به صورت دستی بهروزرسانی کنید</string>
|
||||
<string name="prompt_rebooting">در حال راه اندازی مجدد…</string>
|
||||
<string name="prompt_reboot_fail">راهاندازی مجدد ناموفق بود، لطفاً به صورت دستی راهاندازی مجدد کنید</string>
|
||||
<string name="prompt_custom_key_set">Custom keybox با موفقیت تنظیم شد</string>
|
||||
<string name="prompt_custom_key_set_error">تنظیم Custom keybox ناموفق بود</string>
|
||||
<string name="prompt_no_file_selected">هیچ پروندهای گزیده نشده</string>
|
||||
<string name="prompt_system_app_not_found">برنامه سیستمی یافت نشد</string>
|
||||
<string name="prompt_system_app_error">افزودن برنامه سیستمی ناموفق بود</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_advanced_mode">پیشرفته</string>
|
||||
<string name="security_patch_get_date">دریافت تاریخ Security Patch</string>
|
||||
<string name="security_patch_auto">خودکار</string>
|
||||
<string name="security_patch_save">ذخیره</string>
|
||||
<string name="security_patch_fetching">در حال دریافت...</string>
|
||||
<string name="security_patch_fetched">انجام شده</string>
|
||||
<string name="security_patch_get_failed">دریافت تاریخ security patch ناموفق بود</string>
|
||||
<string name="security_patch_unable_to_connect">عدم امکان اتصال به source.android.com</string>
|
||||
<string name="security_patch_auto_success">Auto config با موفقیت فعال شد</string>
|
||||
<string name="security_patch_auto_failed">فعالسازی Auto config ناموفق بود</string>
|
||||
<string name="security_patch_save_success">Security patch با موفقیت ذخیره شد</string>
|
||||
<string name="security_patch_save_failed">ذخیره Security patch ناموفق بود</string>
|
||||
<string name="security_patch_value_empty">پیکربندی Security patch غیرفعال است</string>
|
||||
<string name="security_patch_invalid_all">قالب نامعتبر</string>
|
||||
<string name="security_patch_invalid_boot">قالب boot نامعتبر</string>
|
||||
<string name="security_patch_invalid_system">قالب system نامعتبر</string>
|
||||
<string name="security_patch_invalid_vendor">قالب vendor نامعتبر</string>
|
||||
<!-- Add System App -->
|
||||
<string name="add_system_app_title">افزودن برنامه سیستمی</string>
|
||||
<string name="add_system_app_add">افزودن</string>
|
||||
<string name="add_system_app_current_list">لیست فعلی برنامههای سیستمی</string>
|
||||
<!-- Uninstall confirmation -->
|
||||
<string name="confirmation_uninstall_title">تأیید حذف؟</string>
|
||||
<string name="confirmation_uninstall_message">آیا مطمئن هستید که میخواهید Tricky Addon را حذف کنید</string>
|
||||
<string name="confirmation_uninstall_cancel">لغو</string>
|
||||
<string name="confirmation_uninstall_confirm">تایید</string>
|
||||
</resources>
|
||||
125
module/webui/locales/strings/fr.xml
Normal file
125
module/webui/locales/strings/fr.xml
Normal file
@@ -0,0 +1,125 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="system_default">Langage système</string>
|
||||
<string name="more_language">Plus</string>
|
||||
<!-- Header -->
|
||||
<string name="header_title">Tricky Addon</string>
|
||||
<!-- Help Menu-->
|
||||
<string name="help_help_instructions">Instructions</string>
|
||||
<string name="help_save_and_update">Enregistrer</string>
|
||||
<string name="help_save_and_update_description">Enregistrer la configuration actuelle dans target.txt.</string>
|
||||
<string name="help_refresh">Actualiser</string>
|
||||
<string name="help_refresh_description">Actualiser la liste des applications et la liste d'exclusions.</string>
|
||||
<string name="help_select_deselect">Tout sélectionner & désélectionner</string>
|
||||
<string name="help_select_description">Sélectionner ou désélectionner toutes les applications de l'interface actuelle.</string>
|
||||
<string name="help_select_denylist">Sélectionner depuis la DenyList</string>
|
||||
<string name="help_select_denylist_description">Disponible uniquement sur Magisk, sélectionner les applications présentes dans la DenyList. Recommandé.</string>
|
||||
<string name="help_deselect_unnecessary">Désélectionner les applications inutiles</string>
|
||||
<string name="help_deselect_unnecessary_description">Catégorie inutile : module Xposed, gestionnaire root, applications liées au root et applications générales ne vérifiant jamais l'état du bootloader. Cette option nécessite une connexion Internet.</string>
|
||||
<string name="help_add_system_app">Ajouter une application système</string>
|
||||
<string name="help_add_system_app_description">Ajouter une application système spécifique à la liste.</string>
|
||||
<string name="help_set_keybox">Définir une Keybox AOSP & Valide</string>
|
||||
<string name="help_set_keybox_description">Remplacer le fichier keybox.xml de Tricky Store. L'option keybox valide nécessite une connexion Internet.</string>
|
||||
<string name="help_set_custom_keybox">Définir une Keybox personnalisée</string>
|
||||
<string name="help_set_custom_keybox_description">Importer une keybox depuis le stockage de votre appareil. Seuls les fichiers XML sont pris en charge.</string>
|
||||
<string name="help_set_security_patch">Définir le patch de sécurité</string>
|
||||
<string name="help_set_security_patch_description">Définir un patch de sécurité personnalisé. La configuration automatique utilisera le patch de sécurité du module PIF. Laisser vide et enregistrer pour désactiver la configuration automatique.</string>
|
||||
<string name="help_set_verified_boot_hash">Définir le hash Verified Boot</string>
|
||||
<string name="help_set_verified_boot_hash_description">Obtenir la valeur verifiedBootHash depuis Key Attestation Demo. Corriger un état de démarrage anormal en réinitialisant ro.boot.vbmeta.digest.</string>
|
||||
<!-- Update -->
|
||||
<string name="update_update_available">Une nouvelle version est disponible</string>
|
||||
<string name="update_redirect_to_release">appuyer pour télécharger la dernière version</string>
|
||||
<string name="update_changelog">Journal des modifications</string>
|
||||
<string name="update_install">Installer</string>
|
||||
<string name="update_reboot">Redémarrer</string>
|
||||
<!-- Search -->
|
||||
<string name="search_bar_search_placeholder">Rechercher</string>
|
||||
<!-- Functional Button -->
|
||||
<string name="functional_button_save_and_update_button">Enregistrer</string>
|
||||
<string name="functional_button_uninstall_webui">Désinstaller la WebUI</string>
|
||||
<!-- Loading -->
|
||||
<string name="loading_loading">Chargement…</string>
|
||||
<!-- Menu -->
|
||||
<string name="menu_refresh">Actualiser</string>
|
||||
<string name="menu_select_all">Tout sélectionner</string>
|
||||
<string name="menu_deselect_all">Tout désélectionner</string>
|
||||
<string name="menu_select_denylist">Sélectionner depuis la DenyList</string>
|
||||
<string name="menu_deselect_unnecessary">Désélectionner les applications inutiles</string>
|
||||
<string name="menu_add_system_app">Ajouter une application système</string>
|
||||
<string name="menu_set_aosp_keybox">Définir une Keybox AOSP</string>
|
||||
<string name="menu_set_unknown_keybox">Définir une Keybox inconnue</string>
|
||||
<string name="menu_set_valid_keybox">Définir une Keybox valide</string>
|
||||
<string name="menu_set_custom_keybox">Définir une Keybox personnalisée</string>
|
||||
<string name="menu_set_verified_boot_hash">Définir le hash Verified Boot</string>
|
||||
<string name="menu_set_security_patch">Définir le patch de sécurité</string>
|
||||
<string name="menu_about">À propos</string>
|
||||
<!-- Boot Hash -->
|
||||
<string name="boot_hash_title">Hash de démarrage</string>
|
||||
<string name="boot_hash_input_placeholder">Collez votre hash Verified Boot ici</string>
|
||||
<string name="boot_hash_save_button">Enregistrer</string>
|
||||
<!-- About -->
|
||||
<string name="about_module_name_line1">Tricky Addon</string>
|
||||
<string name="about_module_name_line2">Mettre à jour la liste cible</string>
|
||||
<string name="about_by">par</string>
|
||||
<string name="about_telegram_channel">Canal Telegram</string>
|
||||
<string name="about_canary_update">Mettre à jour vers la dernière version canary</string>
|
||||
<string name="about_disclaimer">Ce module ne fait pas partie du module Tricky Store. NE signalez PAS de problèmes à Tricky Store en cas d'erreur.</string>
|
||||
<string name="about_acknowledgment">Remerciements</string>
|
||||
<!-- Prompt -->
|
||||
<string name="prompt_no_internet">Veuillez vérifier votre connexion Internet</string>
|
||||
<string name="prompt_aosp_key_set">Keybox AOSP définie avec succès</string>
|
||||
<string name="prompt_key_set_error">Échec de la mise à jour de la Keybox</string>
|
||||
<string name="prompt_unknown_key_set">Keybox inconnue définie avec succès</string>
|
||||
<string name="prompt_valid_key_set">Keybox valide définie avec succès</string>
|
||||
<string name="prompt_no_valid">Aucune Keybox valide trouvée.</string>
|
||||
<string name="prompt_boot_hash_set">Hash Verified Boot enregistré avec succès</string>
|
||||
<string name="prompt_boot_hash_set_error">Échec de la mise à jour du hash Verified Boot</string>
|
||||
<string name="prompt_saved_target">Configuration enregistrée dans target.txt</string>
|
||||
<string name="prompt_save_error">Échec de l'enregistrement de la configuration</string>
|
||||
<string name="prompt_uninstall_prompt">La WebUI sera supprimée après le redémarrage</string>
|
||||
<string name="prompt_uninstall_failed">Échec de la désinstallation de la WebUI</string>
|
||||
<string name="prompt_checking_update">Vérification de la mise à jour...</string>
|
||||
<string name="prompt_new_update">Une nouvelle mise à jour est disponible !</string>
|
||||
<string name="prompt_no_update">Il aucune mise à jour disponible pour le moment</string>
|
||||
<string name="prompt_downloading">Téléchargement de la mise à jour…</string>
|
||||
<string name="prompt_downloaded">Téléchargement terminé</string>
|
||||
<string name="prompt_download_fail">Échec du téléchargement de la mise à jour</string>
|
||||
<string name="prompt_installing">Installation de la mise à jour…</string>
|
||||
<string name="prompt_installed">Installation réussie, redémarrez maintenant.</string>
|
||||
<string name="prompt_install_fail">Échec de l'installation, veuillez mettre à jour manuellement</string>
|
||||
<string name="prompt_rebooting">Redémarrage…</string>
|
||||
<string name="prompt_reboot_fail">Échec du redémarrage, veuillez redémarrer manuellement</string>
|
||||
<string name="prompt_custom_key_set">Keybox personnalisée définie avec succès</string>
|
||||
<string name="prompt_custom_key_set_error">Échec de la définition de la Keybox personnalisée</string>
|
||||
<string name="prompt_no_file_selected">Aucun fichier sélectionné</string>
|
||||
<string name="prompt_system_app_not_found">Application système introuvable</string>
|
||||
<string name="prompt_system_app_error">Échec de l'ajout de l'application système</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">Patch de sécurité</string>
|
||||
<string name="security_patch_advanced_mode">Avancé</string>
|
||||
<string name="security_patch_get_date">Obtenir la date du patch de sécurité</string>
|
||||
<string name="security_patch_auto">Automatique</string>
|
||||
<string name="security_patch_save">Enregistrer</string>
|
||||
<string name="security_patch_fetching">Récupération…</string>
|
||||
<string name="security_patch_fetched">Terminé</string>
|
||||
<string name="security_patch_get_failed">Échec de la récupération de la date du patch de sécurité</string>
|
||||
<string name="security_patch_unable_to_connect">Impossible de se connecter à source.android.com</string>
|
||||
<string name="security_patch_auto_success">Configuration automatique activée avec succès</string>
|
||||
<string name="security_patch_auto_failed">Échec de l'activation de la configuration automatique</string>
|
||||
<string name="security_patch_save_success">Patch de sécurité enregistré avec succès</string>
|
||||
<string name="security_patch_save_failed">Échec de l'enregistrement du patch de sécurité</string>
|
||||
<string name="security_patch_value_empty">Configuration du patch de sécurité désactivée</string>
|
||||
<string name="security_patch_invalid_all">Format invalide</string>
|
||||
<string name="security_patch_invalid_boot">Format de démarrage invalide</string>
|
||||
<string name="security_patch_invalid_system">Format du système invalide</string>
|
||||
<string name="security_patch_invalid_vendor">Format du fournisseur invalide</string>
|
||||
<!-- Add System App -->
|
||||
<string name="add_system_app_title">Ajouter une application système</string>
|
||||
<string name="add_system_app_add">Ajouter</string>
|
||||
<string name="add_system_app_current_list">Liste des applications système actuelles</string>
|
||||
<!-- Uninstall confirmation -->
|
||||
<string name="confirmation_uninstall_title">Confirmer la désinstallation ?</string>
|
||||
<string name="confirmation_uninstall_message">Êtes-vous sûr(e) de vouloir désinstaller Tricky Addon</string>
|
||||
<string name="confirmation_uninstall_cancel">Annuler</string>
|
||||
<string name="confirmation_uninstall_confirm">Confirmer</string>
|
||||
</resources>
|
||||
121
module/webui/locales/strings/id.xml
Normal file
121
module/webui/locales/strings/id.xml
Normal file
@@ -0,0 +1,121 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="system_default">Default Sistem</string>
|
||||
<!-- Header -->
|
||||
<string name="header_title">Tricky Addon</string>
|
||||
<!-- Help Menu-->
|
||||
<string name="help_help_instructions">Panduan</string>
|
||||
<string name="help_save_and_update">Simpan</string>
|
||||
<string name="help_save_and_update_description">Simpan konfigurasi saat ini ke target.txt.</string>
|
||||
<string name="help_refresh">Segarkan</string>
|
||||
<string name="help_refresh_description">Perbarui daftar aplikasi dan daftar pengecualian.</string>
|
||||
<string name="help_select_deselect">Pilih & Batalkan Pilihan Semua</string>
|
||||
<string name="help_select_description">Pilih atau batalkan pilihan semua aplikasi yang ditampilkan.</string>
|
||||
<string name="help_select_denylist">Pilih dari Denylist</string>
|
||||
<string name="help_select_denylist_description">Hanya untuk Magisk, pilih aplikasi yang ada di Denylist. Disarankan.</string>
|
||||
<string name="help_deselect_unnecessary">Batalkan Pilihan yang Tidak Perlu</string>
|
||||
<string name="help_deselect_unnecessary_description">Kategori tidak perlu: Modul Xposed, pengelola root, aplikasi terkait root, dan aplikasi yang tidak pernah memeriksa status bootloader. Opsi ini memerlukan koneksi internet.</string>
|
||||
<string name="help_add_system_app">Tambahkan Aplikasi Sistem</string>
|
||||
<string name="help_add_system_app_description">Tambahkan aplikasi sistem tertentu ke daftar aplikasi.</string>
|
||||
<string name="help_set_keybox">Ganti Keybox AOSP & Valid</string>
|
||||
<string name="help_set_keybox_description">Ganti file keybox.xml bawaan. Opsi ini memerlukan koneksi internet.</string>
|
||||
<string name="help_set_custom_keybox">Gunakan Keybox Kustom</string>
|
||||
<string name="help_set_custom_keybox_description">Impor keybox dari penyimpanan perangkat. Hanya mendukung file XML.</string>
|
||||
<string name="help_set_security_patch">Atur Patch Keamanan</string>
|
||||
<string name="help_set_security_patch_description">Sesuaikan patch keamanan. Konfigurasi otomatis akan menggunakan patch dari modul PIF. Kosongkan dan simpan untuk menonaktifkan konfigurasi otomatis.</string>
|
||||
<string name="help_set_verified_boot_hash">Atur Verified Boot Hash</string>
|
||||
<string name="help_set_verified_boot_hash_description">Ambil nilai verifiedBootHash dari aplikasi Key Attestation Demo. Perbaiki status boot yang bermasalah dengan mereset ro.boot.vbmeta.digest.</string>
|
||||
<!-- Update -->
|
||||
<string name="update_update_available">Versi baru tersedia!</string>
|
||||
<string name="update_redirect_to_release">Ketuk untuk mengunduh versi terbaru</string>
|
||||
<string name="update_changelog">Catatan Perubahan</string>
|
||||
<string name="update_install">Pasang</string>
|
||||
<string name="update_reboot">Mulai Ulang</string>
|
||||
<!-- Search -->
|
||||
<string name="search_bar_search_placeholder">Cari</string>
|
||||
<!-- Functional Button -->
|
||||
<string name="functional_button_save_and_update_button">Simpan</string>
|
||||
<string name="functional_button_uninstall_webui">Copot Pemasangan WebUI</string>
|
||||
<!-- Loading -->
|
||||
<string name="loading_loading">Memuat...</string>
|
||||
<!-- Menu -->
|
||||
<string name="menu_refresh">Segarkan</string>
|
||||
<string name="menu_select_all">Pilih Semua</string>
|
||||
<string name="menu_deselect_all">Batalkan Semua Pilihan</string>
|
||||
<string name="menu_select_denylist">Pilih dari Denylist</string>
|
||||
<string name="menu_deselect_unnecessary">Batalkan Pilihan yang Tidak Perlu</string>
|
||||
<string name="menu_add_system_app">Tambahkan Aplikasi Sistem</string>
|
||||
<string name="menu_set_aosp_keybox">Gunakan Keybox AOSP</string>
|
||||
<string name="menu_set_unknown_keybox">Gunakan Keybox Tidak Dikenal</string>
|
||||
<string name="menu_set_valid_keybox">Gunakan Keybox Valid</string>
|
||||
<string name="menu_set_custom_keybox">Gunakan Keybox Kustom</string>
|
||||
<string name="menu_set_verified_boot_hash">Atur Verified Boot Hash</string>
|
||||
<string name="menu_set_security_patch">Atur Patch Keamanan</string>
|
||||
<string name="menu_about">Tentang</string>
|
||||
<!-- Boot Hash -->
|
||||
<string name="boot_hash_title">Verified Boot Hash</string>
|
||||
<string name="boot_hash_input_placeholder">Tempel Verified Boot Hash Anda di sini</string>
|
||||
<string name="boot_hash_save_button">Simpan</string>
|
||||
<!-- About -->
|
||||
<string name="about_module_name_line1">Tricky Addon</string>
|
||||
<string name="about_module_name_line2">Perbarui Daftar Target</string>
|
||||
<string name="about_by">oleh</string>
|
||||
<string name="about_telegram_channel">Saluran Telegram</string>
|
||||
<string name="about_disclaimer">Modul ini bukan bagian dari Tricky Store. Jangan laporkan masalah ke Tricky Store jika mengalami kendala.</string>
|
||||
<string name="about_acknowledgment">Pengakuan</string>
|
||||
<!-- Prompt -->
|
||||
<string name="prompt_no_internet">Periksa koneksi internet Anda</string>
|
||||
<string name="prompt_aosp_key_set">Keybox AOSP berhasil digunakan</string>
|
||||
<string name="prompt_key_set_error">Gagal memperbarui keybox</string>
|
||||
<string name="prompt_unknown_key_set">Keybox tidak dikenal berhasil digunakan</string>
|
||||
<string name="prompt_valid_key_set">Keybox valid berhasil digunakan</string>
|
||||
<string name="prompt_no_valid">Tidak ada keybox valid.</string>
|
||||
<string name="prompt_boot_hash_set">Verified Boot Hash berhasil disimpan</string>
|
||||
<string name="prompt_boot_hash_set_error">Gagal memperbarui Verified Boot Hash</string>
|
||||
<string name="prompt_saved_target">Konfigurasi disimpan ke target.txt</string>
|
||||
<string name="prompt_save_error">Gagal menyimpan konfigurasi</string>
|
||||
<string name="prompt_uninstall_prompt">WebUI akan dicopot setelah perangkat dimulai ulang</string>
|
||||
<string name="prompt_uninstall_failed">Gagal mencopot pemasangan WebUI</string>
|
||||
<string name="prompt_new_update">Pembaruan baru tersedia!</string>
|
||||
<string name="prompt_downloading">Mengunduh pembaruan...</string>
|
||||
<string name="prompt_downloaded">Unduhan selesai</string>
|
||||
<string name="prompt_download_fail">Gagal mengunduh pembaruan</string>
|
||||
<string name="prompt_installing">Memasang pembaruan...</string>
|
||||
<string name="prompt_installed">Pembaruan berhasil dipasang, mulai ulang sekarang.</string>
|
||||
<string name="prompt_install_fail">Gagal memasang, silakan perbarui secara manual</string>
|
||||
<string name="prompt_rebooting">Memulai ulang...</string>
|
||||
<string name="prompt_reboot_fail">Gagal memulai ulang, silakan lakukan secara manual</string>
|
||||
<string name="prompt_custom_key_set">Keybox kustom berhasil digunakan</string>
|
||||
<string name="prompt_custom_key_set_error">Gagal menggunakan keybox kustom</string>
|
||||
<string name="prompt_no_file_selected">Tidak ada file yang dipilih</string>
|
||||
<string name="prompt_system_app_not_found">Aplikasi sistem tidak ditemukan</string>
|
||||
<string name="prompt_system_app_error">Gagal menambahkan aplikasi sistem</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">Patch Keamanan</string>
|
||||
<string name="security_patch_advanced_mode">Mode Lanjutan</string>
|
||||
<string name="security_patch_get_date">Ambil Tanggal Patch Keamanan</string>
|
||||
<string name="security_patch_auto">Otomatis</string>
|
||||
<string name="security_patch_save">Simpan</string>
|
||||
<string name="security_patch_fetching">Mengambil...</string>
|
||||
<string name="security_patch_fetched">Selesai</string>
|
||||
<string name="security_patch_get_failed">Gagal mengambil tanggal patch keamanan</string>
|
||||
<string name="security_patch_unable_to_connect">Tidak dapat terhubung ke source.android.com</string>
|
||||
<string name="security_patch_auto_success">Konfigurasi otomatis berhasil diaktifkan</string>
|
||||
<string name="security_patch_auto_failed">Gagal mengaktifkan konfigurasi otomatis</string>
|
||||
<string name="security_patch_save_success">Patch keamanan berhasil disimpan</string>
|
||||
<string name="security_patch_save_failed">Gagal menyimpan patch keamanan</string>
|
||||
<string name="security_patch_value_empty">Konfigurasi patch keamanan dinonaktifkan</string>
|
||||
<string name="security_patch_invalid_all">Format tidak valid</string>
|
||||
<string name="security_patch_invalid_boot">Format boot tidak valid</string>
|
||||
<string name="security_patch_invalid_system">Format sistem tidak valid</string>
|
||||
<string name="security_patch_invalid_vendor">Format vendor tidak valid</string>
|
||||
<!-- Add System App -->
|
||||
<string name="add_system_app_title">Tambah Aplikasi Sistem</string>
|
||||
<string name="add_system_app_add">Tambah</string>
|
||||
<string name="add_system_app_current_list">Daftar Aplikasi Sistem Saat Ini</string>
|
||||
<!-- Uninstall confirmation -->
|
||||
<string name="confirmation_uninstall_title">Konfirmasi Hapus?</string>
|
||||
<string name="confirmation_uninstall_message">Apakah Anda yakin ingin menghapus Tricky Addon</string>
|
||||
<string name="confirmation_uninstall_cancel">Batal</string>
|
||||
<string name="confirmation_uninstall_confirm">Konfirmasi</string>
|
||||
</resources>
|
||||
125
module/webui/locales/strings/it.xml
Normal file
125
module/webui/locales/strings/it.xml
Normal file
@@ -0,0 +1,125 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="system_default">Predefinito di sistema</string>
|
||||
<string name="more_language">Altro</string>
|
||||
<!-- Header -->
|
||||
<string name="header_title">Tricky Addon</string>
|
||||
<!-- Help Menu-->
|
||||
<string name="help_help_instructions">Istruzioni</string>
|
||||
<string name="help_save_and_update">Salva</string>
|
||||
<string name="help_save_and_update_description">Salva la configurazione corrente in target.txt.</string>
|
||||
<string name="help_refresh">Aggiorna</string>
|
||||
<string name="help_refresh_description">Aggiorna l'elenco delle app e l'elenco delle esclusioni.</string>
|
||||
<string name="help_select_deselect">Seleziona & Deseleziona Tutto</string>
|
||||
<string name="help_select_description">Seleziona o deseleziona tutte le app nell'interfaccia corrente.</string>
|
||||
<string name="help_select_denylist">Seleziona da DenyList</string>
|
||||
<string name="help_select_denylist_description">Disponibile solo in Magisk, seleziona le app presenti nella DenyList. Consigliato.</string>
|
||||
<string name="help_deselect_unnecessary">Deseleziona Non necessari</string>
|
||||
<string name="help_deselect_unnecessary_description">Categoria non necessaria: modulo Xposed, root manager, app correlate al root e app generali che non controllano mai lo stato del bootloader. Questa opzione richiede una connessione a Internet.</string>
|
||||
<string name="help_add_system_app">Aggiungi App di Sistema</string>
|
||||
<string name="help_add_system_app_description">Aggiungi app di sistema specifiche all'elenco delle app.</string>
|
||||
<string name="help_set_keybox">Imposta AOSP & Keybox Valida</string>
|
||||
<string name="help_set_keybox_description">Sostituisci tricky store keybox.xml. L'opzione valida per la keybox richiede una connessione Internet.</string>
|
||||
<string name="help_set_custom_keybox">Imposta Keybox Personalizzata</string>
|
||||
<string name="help_set_custom_keybox_description">Importa keybox dalla memoria del tuo dispositivo. Supporta solo file xml.</string>
|
||||
<string name="help_set_security_patch">Imposta Patch di Sicurezza</string>
|
||||
<string name="help_set_security_patch_description">Imposta spoofing patch di sicurezza personalizzato. La configurazione automatica utilizzerà la patch di sicurezza dal modulo PIF. Lascia vuoto e salva per disabilitare la configurazione automatica.</string>
|
||||
<string name="help_set_verified_boot_hash">Imposta Boot Hash Verificato</string>
|
||||
<string name="help_set_verified_boot_hash_description">Ottieni il valore verifiedBootHash da Key Attestation Demo. Correggi lo stato di avvio anomalo reimpostando ro.boot.vbmeta.digest.</string>
|
||||
<!-- Update -->
|
||||
<string name="update_update_available">È pronta una nuova versione</string>
|
||||
<string name="update_redirect_to_release">tocca per scaricare l'ultima versione</string>
|
||||
<string name="update_changelog">Registro delle modifiche</string>
|
||||
<string name="update_install">Installa</string>
|
||||
<string name="update_reboot">Riavvio</string>
|
||||
<!-- Search -->
|
||||
<string name="search_bar_search_placeholder">Ricerca</string>
|
||||
<!-- Functional Button -->
|
||||
<string name="functional_button_save_and_update_button">Salva</string>
|
||||
<string name="functional_button_uninstall_webui">Disinstalla WebUI</string>
|
||||
<!-- Loading -->
|
||||
<string name="loading_loading">Caricamento...</string>
|
||||
<!-- Menu -->
|
||||
<string name="menu_refresh">Aggiorna</string>
|
||||
<string name="menu_select_all">Seleziona Tutto</string>
|
||||
<string name="menu_deselect_all">Deseleziona tutto</string>
|
||||
<string name="menu_select_denylist">Seleziona da DenyList</string>
|
||||
<string name="menu_deselect_unnecessary">Deseleziona Non necessari</string>
|
||||
<string name="menu_add_system_app">Aggiungi App di Sistema</string>
|
||||
<string name="menu_set_aosp_keybox">Imposta Keybox AOSP</string>
|
||||
<string name="menu_set_unknown_keybox">Imposta Keybox Sconosciuta</string>
|
||||
<string name="menu_set_valid_keybox">Imposta Keybox Valida</string>
|
||||
<string name="menu_set_custom_keybox">Imposta Keybox Personalizzata</string>
|
||||
<string name="menu_set_verified_boot_hash">Imposta Boot Hash Verificato</string>
|
||||
<string name="menu_set_security_patch">Imposta Patch di Sicurezza</string>
|
||||
<string name="menu_about">Informazioni</string>
|
||||
<!-- Boot Hash -->
|
||||
<string name="boot_hash_title">Boot Hash</string>
|
||||
<string name="boot_hash_input_placeholder">Incolla qui il tuo Boot Hash verificato</string>
|
||||
<string name="boot_hash_save_button">Salva</string>
|
||||
<!-- About -->
|
||||
<string name="about_module_name_line1">Tricky Addon</string>
|
||||
<string name="about_module_name_line2">Aggiorna Target List</string>
|
||||
<string name="about_by">by</string>
|
||||
<string name="about_telegram_channel">Canale Telegram</string>
|
||||
<string name="about_canary_update">Aggiornato all'ultima versione canary</string>
|
||||
<string name="about_disclaimer">Questo modulo non fa parte del modulo Tricky Store. NON segnalare eventuali problemi a Tricky Store se riscontrati.</string>
|
||||
<string name="about_acknowledgment">Riconoscimento</string>
|
||||
<!-- Prompt -->
|
||||
<string name="prompt_no_internet">Controlla la tua connessione Internet</string>
|
||||
<string name="prompt_aosp_key_set">Keybox AOSP impostata correttamente</string>
|
||||
<string name="prompt_key_set_error">Impossibile aggiornare keybox</string>
|
||||
<string name="prompt_unknown_key_set">Keybox sconosciuta impostata correttamente</string>
|
||||
<string name="prompt_valid_key_set">Keybox valida impostata correttamente</string>
|
||||
<string name="prompt_no_valid">Nessuna keybox valida trovata.</string>
|
||||
<string name="prompt_boot_hash_set">Boot Hash Verificato salvato correttamente</string>
|
||||
<string name="prompt_boot_hash_set_error">Impossibile aggiornare Boot Hash Verificato</string>
|
||||
<string name="prompt_saved_target">Configurazione salvata in target.txt</string>
|
||||
<string name="prompt_save_error">Impossibile salvare la configurazione</string>
|
||||
<string name="prompt_uninstall_prompt">WebUI verrà rimosso dopo il riavvio</string>
|
||||
<string name="prompt_uninstall_failed">Impossibile disinstallare WebUI</string>
|
||||
<string name="prompt_checking_update">Controllo aggiornamento...</string>
|
||||
<string name="prompt_new_update">È disponibile un nuovo aggiornamento!</string>
|
||||
<string name="prompt_no_update">Al momento non ci sono aggiornamenti disponibili</string>
|
||||
<string name="prompt_downloading">Download nuovo aggiornamento...</string>
|
||||
<string name="prompt_downloaded">Download completato</string>
|
||||
<string name="prompt_download_fail">Impossibile scaricare l'aggiornamento</string>
|
||||
<string name="prompt_installing">Installazione aggiornamento...</string>
|
||||
<string name="prompt_installed">Installato correttamente, riavvia ora.</string>
|
||||
<string name="prompt_install_fail">Installazione non riuscita, aggiorna manualmente</string>
|
||||
<string name="prompt_rebooting">Riavvio...</string>
|
||||
<string name="prompt_reboot_fail">Impossibile riavviare, riavvia manualmente</string>
|
||||
<string name="prompt_custom_key_set">Keybox personalizzata impostata correttamente</string>
|
||||
<string name="prompt_custom_key_set_error">Impossibile impostare keybox personalizzata</string>
|
||||
<string name="prompt_no_file_selected">Nessun file selezionato</string>
|
||||
<string name="prompt_system_app_not_found">App di sistema non trovata</string>
|
||||
<string name="prompt_system_app_error">Impossibile aggiungere l'app di sistema</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">Patch di sicurezza</string>
|
||||
<string name="security_patch_advanced_mode">Avanzato</string>
|
||||
<string name="security_patch_get_date">Ottieni data patch di sicurezza</string>
|
||||
<string name="security_patch_auto">Auto</string>
|
||||
<string name="security_patch_save">Salva</string>
|
||||
<string name="security_patch_fetching">Recupero...</string>
|
||||
<string name="security_patch_fetched">Fatto</string>
|
||||
<string name="security_patch_get_failed">Impossibile recuperare la data della patch di sicurezza</string>
|
||||
<string name="security_patch_unable_to_connect">Impossibile connettersi a source.android.com</string>
|
||||
<string name="security_patch_auto_success">Configurazione automatica abilitata correttamente</string>
|
||||
<string name="security_patch_auto_failed">Impossibile abilitare la configurazione automatica</string>
|
||||
<string name="security_patch_save_success">Patch di sicurezza salvata correttamente</string>
|
||||
<string name="security_patch_save_failed">Impossibile salvare la patch di sicurezza</string>
|
||||
<string name="security_patch_value_empty">La configurazione della patch di sicurezza è disabilitata</string>
|
||||
<string name="security_patch_invalid_all">Formato non valido</string>
|
||||
<string name="security_patch_invalid_boot">Formato boot non valido</string>
|
||||
<string name="security_patch_invalid_system">Formato system non valido</string>
|
||||
<string name="security_patch_invalid_vendor">Formato vendor non valido</string>
|
||||
<!-- Add System App -->
|
||||
<string name="add_system_app_title">Aggiungi app di sistema</string>
|
||||
<string name="add_system_app_add">Aggiungi</string>
|
||||
<string name="add_system_app_current_list">Elenco attuale delle app di sistema</string>
|
||||
<!-- Uninstall confirmation -->
|
||||
<string name="confirmation_uninstall_title">Confermi disinstallazione?</string>
|
||||
<string name="confirmation_uninstall_message">Sei sicuro di voler disinstallare Tricky Addon</string>
|
||||
<string name="confirmation_uninstall_cancel">Annulla</string>
|
||||
<string name="confirmation_uninstall_confirm">Conferma</string>
|
||||
</resources>
|
||||
125
module/webui/locales/strings/ja.xml
Normal file
125
module/webui/locales/strings/ja.xml
Normal file
@@ -0,0 +1,125 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="system_default">システムのデフォルト</string>
|
||||
<string name="more_language">詳細</string>
|
||||
<!-- Header -->
|
||||
<string name="header_title">Tricky Addon</string>
|
||||
<!-- Help Menu-->
|
||||
<string name="help_help_instructions">使い方</string>
|
||||
<string name="help_save_and_update">保存</string>
|
||||
<string name="help_save_and_update_description">現在の設定を target.txt に保存します。</string>
|
||||
<string name="help_refresh">更新</string>
|
||||
<string name="help_refresh_description">アプリリストと除外リストを更新します。</string>
|
||||
<string name="help_select_deselect">すべてを選択と解除</string>
|
||||
<string name="help_select_description">現在のインターフェースのすべてのアプリを選択または解除します。</string>
|
||||
<string name="help_select_denylist">DenyList から選択</string>
|
||||
<string name="help_select_denylist_description">Magisk の環境でのみ使用可能です。DenyList 内のアプリを選択します(推奨)。</string>
|
||||
<string name="help_deselect_unnecessary">不要な選択を解除</string>
|
||||
<string name="help_deselect_unnecessary_description">不要なカテゴリー: Xposed モジュール、root マネージャー、root 関連アプリ、Bootloader の状態を確認しない一般的なアプリです。このオプションはインターネット接続が必要です。</string>
|
||||
<string name="help_add_system_app">システムアプリを追加</string>
|
||||
<string name="help_add_system_app_description">特定のシステムアプリをアプリリストに追加します。</string>
|
||||
<string name="help_set_keybox">AOSP と有効な Keybox</string>
|
||||
<string name="help_set_keybox_description">Tricky Store の keybox.xml を置き換えます。インターネット接続が必要です。</string>
|
||||
<string name="help_set_custom_keybox">カスタム Keybox を設定</string>
|
||||
<string name="help_set_custom_keybox_description">デバイスのストレージからカスタム Keybox ファイルをインポートします。インポートは xml ファイルのみ対応しています。</string>
|
||||
<string name="help_set_security_patch">セキュリティパッチを設定</string>
|
||||
<string name="help_set_security_patch_description">カスタムセキュリティパッチの設定です。自動設定は PIF モジュールのセキュリティパッチを使用します。空白のまま保存すると自動設定を無効にします。</string>
|
||||
<string name="help_set_verified_boot_hash">確認付きブートハッシュを設定</string>
|
||||
<string name="help_set_verified_boot_hash_description">Key Attestation Demo から確認付きブートハッシュの値を取得します。ro.boot.vbmeta.digest をリセットして異常なブート状態を修正します。</string>
|
||||
<!-- Update -->
|
||||
<string name="update_update_available">新しいバージョンの準備完了</string>
|
||||
<string name="update_redirect_to_release">タップで最新のバージョンをダウンロード</string>
|
||||
<string name="update_changelog">変更履歴</string>
|
||||
<string name="update_install">インストール</string>
|
||||
<string name="update_reboot">再起動</string>
|
||||
<!-- Search -->
|
||||
<string name="search_bar_search_placeholder">検索</string>
|
||||
<!-- Functional Button -->
|
||||
<string name="functional_button_save_and_update_button">保存</string>
|
||||
<string name="functional_button_uninstall_webui">WebUI をアンインストール</string>
|
||||
<!-- Loading -->
|
||||
<string name="loading_loading">読み込み中...</string>
|
||||
<!-- Menu -->
|
||||
<string name="menu_refresh">更新</string>
|
||||
<string name="menu_select_all">すべて選択</string>
|
||||
<string name="menu_deselect_all">すべての選択を解除</string>
|
||||
<string name="menu_select_denylist">DenyList から選択</string>
|
||||
<string name="menu_deselect_unnecessary">不要な選択を解除</string>
|
||||
<string name="menu_add_system_app">システムアプリを追加</string>
|
||||
<string name="menu_set_aosp_keybox">AOSP Keybox を設定</string>
|
||||
<string name="menu_set_unknown_keybox">不明な Keybox を設定</string>
|
||||
<string name="menu_set_valid_keybox">有効な Keybox を設定</string>
|
||||
<string name="menu_set_custom_keybox">カスタム Keybox を設定</string>
|
||||
<string name="menu_set_verified_boot_hash">確認付きブートハッシュを設定</string>
|
||||
<string name="menu_set_security_patch">セキュリティパッチを設定</string>
|
||||
<string name="menu_about">このアドオンについて</string>
|
||||
<!-- Boot Hash -->
|
||||
<string name="boot_hash_title">ブートハッシュ</string>
|
||||
<string name="boot_hash_input_placeholder">確認付きブートハッシュをここに貼り付け</string>
|
||||
<string name="boot_hash_save_button">保存</string>
|
||||
<!-- About -->
|
||||
<string name="about_module_name_line1">Tricky Addon</string>
|
||||
<string name="about_module_name_line2">ターゲットリストを更新</string>
|
||||
<string name="about_by">開発者: </string>
|
||||
<string name="about_telegram_channel">Telegram チャンネル</string>
|
||||
<string name="about_canary_update">最新の Canary バージョンに更新</string>
|
||||
<string name="about_disclaimer">このモジュールは、Tricky Store モジュールの一部ではありません。Tricky Store 公式に問題を報告しないでください。</string>
|
||||
<string name="about_acknowledgment">謝辞</string>
|
||||
<!-- Prompt -->
|
||||
<string name="prompt_no_internet">インターネット接続を確認してください。</string>
|
||||
<string name="prompt_aosp_key_set">AOSP Keybox の設定に成功しました。</string>
|
||||
<string name="prompt_key_set_error">Keybox の更新に失敗しました。</string>
|
||||
<string name="prompt_unknown_key_set">不明な Keybox の設定に成功しました。</string>
|
||||
<string name="prompt_valid_key_set">有効な Keybox の設定に成功しました。</string>
|
||||
<string name="prompt_no_valid">有効な Keybox がありません。</string>
|
||||
<string name="prompt_boot_hash_set">確認付きブートハッシュの更新に成功しました。</string>
|
||||
<string name="prompt_boot_hash_set_error">確認付きブートハッシュの更新に失敗しました。</string>
|
||||
<string name="prompt_saved_target">設定を target.txt に保存しました。</string>
|
||||
<string name="prompt_save_error">設定の保存に失敗しました。</string>
|
||||
<string name="prompt_uninstall_prompt">WebUI を再起動後に削除されます。</string>
|
||||
<string name="prompt_uninstall_failed">WebUI のアンインストールに失敗しました。</string>
|
||||
<string name="prompt_checking_update">更新を確認しています...</string>
|
||||
<string name="prompt_new_update">新しいバージョンがあります!</string>
|
||||
<string name="prompt_no_update">利用可能な更新はありません。</string>
|
||||
<string name="prompt_downloading">新しい更新をダウンロード中...</string>
|
||||
<string name="prompt_downloaded">ダウンロードが完了しました</string>
|
||||
<string name="prompt_download_fail">更新のダウンロードに失敗しました</string>
|
||||
<string name="prompt_installing">更新をインストール中...</string>
|
||||
<string name="prompt_installed">正常にインストールされました。再起動してください。</string>
|
||||
<string name="prompt_install_fail">インストールに失敗しました。手動で更新してください。</string>
|
||||
<string name="prompt_rebooting">再起動中...</string>
|
||||
<string name="prompt_reboot_fail">再起動に失敗しました。手動で再起動してください。</string>
|
||||
<string name="prompt_custom_key_set">カスタム Keybox の設定に成功しました</string>
|
||||
<string name="prompt_custom_key_set_error">カスタム Keybox の設定に失敗しました</string>
|
||||
<string name="prompt_no_file_selected">ファイルが選択されていません</string>
|
||||
<string name="prompt_system_app_not_found">システムアプリが見つかりません</string>
|
||||
<string name="prompt_system_app_error">システムアプリの追加に失敗しました</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">セキュリティパッチ</string>
|
||||
<string name="security_patch_advanced_mode">高度</string>
|
||||
<string name="security_patch_get_date">セキュリティパッチの日付を取得</string>
|
||||
<string name="security_patch_auto">自動</string>
|
||||
<string name="security_patch_save">保存</string>
|
||||
<string name="security_patch_fetching">取得中...</string>
|
||||
<string name="security_patch_fetched">完了</string>
|
||||
<string name="security_patch_get_failed">セキュリティパッチの日付を取得できませんでした</string>
|
||||
<string name="security_patch_unable_to_connect">source.android.com に接続できません</string>
|
||||
<string name="security_patch_auto_success">自動設定が有効化されました</string>
|
||||
<string name="security_patch_auto_failed">自動設定が有効化できませんでした</string>
|
||||
<string name="security_patch_save_success">セキュリティパッチが正常に保存されました</string>
|
||||
<string name="security_patch_save_failed">セキュリティパッチの保存に失敗しました</string>
|
||||
<string name="security_patch_value_empty">セキュリティパッチの設定は無効です</string>
|
||||
<string name="security_patch_invalid_all">無効な形式です</string>
|
||||
<string name="security_patch_invalid_boot">無効な boot 形式です</string>
|
||||
<string name="security_patch_invalid_system">無効な system 形式です</string>
|
||||
<string name="security_patch_invalid_vendor">無効な vendor 形式です</string>
|
||||
<!-- Add System App -->
|
||||
<string name="add_system_app_title">システムアプリを追加</string>
|
||||
<string name="add_system_app_add">追加</string>
|
||||
<string name="add_system_app_current_list">現在のシステムアプリリスト</string>
|
||||
<!-- Uninstall confirmation -->
|
||||
<string name="confirmation_uninstall_title">アンインストールしますか?</string>
|
||||
<string name="confirmation_uninstall_message">Tricky Addon をアンインストールしてもよろしいですか</string>
|
||||
<string name="confirmation_uninstall_cancel">キャンセル</string>
|
||||
<string name="confirmation_uninstall_confirm">確認</string>
|
||||
</resources>
|
||||
125
module/webui/locales/strings/pl.xml
Normal file
125
module/webui/locales/strings/pl.xml
Normal file
@@ -0,0 +1,125 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="system_default">Domyślne ustawienia systemu</string>
|
||||
<string name="more_language">Więcej języków</string>
|
||||
<!-- Header -->
|
||||
<string name="header_title">Tricky Addon</string>
|
||||
<!-- Help Menu-->
|
||||
<string name="help_help_instructions">Instrukcje</string>
|
||||
<string name="help_save_and_update">Zapisz</string>
|
||||
<string name="help_save_and_update_description">Zapisywanie obecnej konfiguracji do pliku target.txt.</string>
|
||||
<string name="help_refresh">Odśwież</string>
|
||||
<string name="help_refresh_description">Odśwież listę aplikacji i wykluczeń.</string>
|
||||
<string name="help_select_deselect">Zaznacz i odznacz wszystko</string>
|
||||
<string name="help_select_description">Zaznacz lub odznacz wszystkie aplikacje w bieżącym interfejsie.</string>
|
||||
<string name="help_select_denylist">Wybierz z listy odrzuconych</string>
|
||||
<string name="help_select_denylist_description">Dostępne tylko w Magisk, wybrane aplikacje, które są na liście odrzuconych. Zalecane.</string>
|
||||
<string name="help_deselect_unnecessary">Odznacz niepotrzebne</string>
|
||||
<string name="help_deselect_unnecessary_description">Kategoria niepotrzebne: moduł Xposed, menedżer root, aplikacje związane z rootem i ogólne aplikacje, które nigdy nie sprawdzają stanu bootloadera. Ta opcja wymaga połączenia internetowego.</string>
|
||||
<string name="help_add_system_app">Dodaj aplikację systemową</string>
|
||||
<string name="help_add_system_app_description">Dodaj konkretną aplikację systemową do listy aplikacji.</string>
|
||||
<string name="help_set_keybox">Ustaw działający klucz AOSP</string>
|
||||
<string name="help_set_keybox_description">Zastąp klucz keybox.xml. Funkcja wymaga połączenia internetowego.</string>
|
||||
<string name="help_set_custom_keybox">Ustaw niestandardowy klucz</string>
|
||||
<string name="help_set_custom_keybox_description">Importuj klucz z pamięci urządzenia. Obsługuje tylko pliki xml.</string>
|
||||
<string name="help_set_security_patch">Ustaw poprawkę zabezpieczeń</string>
|
||||
<string name="help_set_security_patch_description">Ustaw niestandardową poprawkę zabezpieczeń. Automatyczna konfiguracja użyje poprawki bezpieczeństwa z modułu PIF. Pozostaw puste i zapisz, aby wyłączyć automatyczną konfigurację.</string>
|
||||
<string name="help_set_verified_boot_hash">Ustaw zweryfikowany skrót rozruchowy</string>
|
||||
<string name="help_set_verified_boot_hash_description">Pobierz zweryfikowaną wartość skrótu rozruchowego z Key Attestation. Napraw nieprawidłowy stan rozruchu, resetując ro.boot.vbmeta.digest.</string>
|
||||
<!-- Update -->
|
||||
<string name="update_update_available">Nowa wersja jest dostępna!</string>
|
||||
<string name="update_redirect_to_release">dotknij, aby pobrać najnowszą wersję</string>
|
||||
<string name="update_changelog">Historia zmian</string>
|
||||
<string name="update_install">Zainstaluj</string>
|
||||
<string name="update_reboot">Uruchom ponownie</string>
|
||||
<!-- Search -->
|
||||
<string name="search_bar_search_placeholder">Szukaj</string>
|
||||
<!-- Functional Button -->
|
||||
<string name="functional_button_save_and_update_button">Zapisz</string>
|
||||
<string name="functional_button_uninstall_webui">Odinstaluj WebUI</string>
|
||||
<!-- Loading -->
|
||||
<string name="loading_loading">Ładowanie...</string>
|
||||
<!-- Menu -->
|
||||
<string name="menu_refresh">Odśwież</string>
|
||||
<string name="menu_select_all">Zaznacz wszystko</string>
|
||||
<string name="menu_deselect_all">Odznacz wszystko</string>
|
||||
<string name="menu_select_denylist">Wybierz z listy odrzuconych</string>
|
||||
<string name="menu_deselect_unnecessary">Odznacz niepotrzebne</string>
|
||||
<string name="menu_add_system_app">Dodaj aplikację systemową</string>
|
||||
<string name="menu_set_aosp_keybox">Ustaw klucz AOSP</string>
|
||||
<string name="menu_set_unknown_keybox">Ustaw nieznany klucz</string>
|
||||
<string name="menu_set_valid_keybox">Ustaw działający klucz</string>
|
||||
<string name="menu_set_custom_keybox">Ustaw niestandardowy klucz</string>
|
||||
<string name="menu_set_verified_boot_hash">Ustaw zweryfikowany skrót rozruchowy</string>
|
||||
<string name="menu_set_security_patch">Ustaw poprawkę zabezpieczeń</string>
|
||||
<string name="menu_about">O Tricky Addon</string>
|
||||
<!-- Boot Hash -->
|
||||
<string name="boot_hash_title">Skrót rozruchowy</string>
|
||||
<string name="boot_hash_input_placeholder">Wklej tutaj zweryfikowany skrót rozruchowy</string>
|
||||
<string name="boot_hash_save_button">Zapisz</string>
|
||||
<!-- About -->
|
||||
<string name="about_module_name_line1">Tricky Addon</string>
|
||||
<string name="about_module_name_line2">Uaktualnij listę celów</string>
|
||||
<string name="about_by">wydany przez:</string>
|
||||
<string name="about_telegram_channel">Kanał na Telegramie</string>
|
||||
<string name="about_canary_update">Aktualizacja do najnowszej wersji Canary</string>
|
||||
<string name="about_disclaimer">Ten moduł nie jest częścią modułu Tricky Store. Nie zgłaszaj żadnych problemów do Tricky Store, jeśli je napotkasz.</string>
|
||||
<string name="about_acknowledgment">Podziękowania dla:</string>
|
||||
<!-- Prompt -->
|
||||
<string name="prompt_no_internet">Sprawdź swoje połączenie internetowe</string>
|
||||
<string name="prompt_aosp_key_set">Klucz AOSP ustawiony pomyślnie</string>
|
||||
<string name="prompt_key_set_error">Nie udało się zaktualizować klucza</string>
|
||||
<string name="prompt_unknown_key_set">Nieznany klucz ustawiony pomyślnie</string>
|
||||
<string name="prompt_valid_key_set">Działający klucz ustawiony pomyślnie</string>
|
||||
<string name="prompt_no_valid">Nie znaleziono działającego klucza</string>
|
||||
<string name="prompt_boot_hash_set">Zweryfikowany skrót rozruchowy zapisany pomyślnie</string>
|
||||
<string name="prompt_boot_hash_set_error">Nie udało się zaktualizować zweryfikowanego skrótu rozruchowego</string>
|
||||
<string name="prompt_saved_target">Konfiguracja zapisana do pliku target.txt</string>
|
||||
<string name="prompt_save_error">Nie udało się zapisać konfiguracji</string>
|
||||
<string name="prompt_uninstall_prompt">WebUI zostanie odinstalowany po ponownym uruchomieniu</string>
|
||||
<string name="prompt_uninstall_failed">Nie udało się odinstalować WebUI</string>
|
||||
<string name="prompt_checking_update">Sprawdzanie aktualizacji...</string>
|
||||
<string name="prompt_new_update">Nowa aktualizacja jest dostępna!</string>
|
||||
<string name="prompt_no_update">Obecnie nie ma dostępnych aktualizacji</string>
|
||||
<string name="prompt_downloading">Pobieranie nowej aktualizacji...</string>
|
||||
<string name="prompt_downloaded">Pobieranie zakończone</string>
|
||||
<string name="prompt_download_fail">Nie udało się pobrać aktualizacji</string>
|
||||
<string name="prompt_installing">Instalowanie aktualizacji...</string>
|
||||
<string name="prompt_installed">Zainstalowano pomyślnie, uruchom ponownie.</string>
|
||||
<string name="prompt_install_fail">Nie udało się zainstalować, zaktualizuj ręcznie</string>
|
||||
<string name="prompt_rebooting">Ponowne uruchamienie...</string>
|
||||
<string name="prompt_reboot_fail">Nie udało się ponownie uruchomić, proszę wykonać to ręcznie</string>
|
||||
<string name="prompt_custom_key_set">Niestandardowy klucz ustawiony pomyślnie</string>
|
||||
<string name="prompt_custom_key_set_error">Nie udało się ustawić niestandardowego klucza</string>
|
||||
<string name="prompt_no_file_selected">Nie wybrano pliku</string>
|
||||
<string name="prompt_system_app_not_found">Nie znaleziono aplikacji systemowej</string>
|
||||
<string name="prompt_system_app_error">Nie udało się dodać aplikacji systemowej</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">Poprawka zabezpieczeń</string>
|
||||
<string name="security_patch_advanced_mode">Zaawansowane</string>
|
||||
<string name="security_patch_get_date">Pobierz datę poprawki zabezpieczeń</string>
|
||||
<string name="security_patch_auto">Automatycznie</string>
|
||||
<string name="security_patch_save">Zapisz</string>
|
||||
<string name="security_patch_fetching">Pobieranie...</string>
|
||||
<string name="security_patch_fetched">Gotowe</string>
|
||||
<string name="security_patch_get_failed">Nie udało się pobrać daty poprawki zabezpieczeń</string>
|
||||
<string name="security_patch_unable_to_connect">Nie można połączyć się z source.android.com</string>
|
||||
<string name="security_patch_auto_success">Automatyczna konfiguracja włączona pomyślnie</string>
|
||||
<string name="security_patch_auto_failed">Nie udało się włączyć automatycznej konfiguracji</string>
|
||||
<string name="security_patch_save_success">Poprawka zabezpieczeń zapisana pomyślnie</string>
|
||||
<string name="security_patch_save_failed">Nie udało się zapisać poprawki zabezpieczeń</string>
|
||||
<string name="security_patch_value_empty">Konfiguracja poprawki zabezpieczeń jest wyłączona</string>
|
||||
<string name="security_patch_invalid_all">Nieprawidłowy format</string>
|
||||
<string name="security_patch_invalid_boot">Nieprawidłowy format rozruchu</string>
|
||||
<string name="security_patch_invalid_system">Nieprawidłowy format systemu</string>
|
||||
<string name="security_patch_invalid_vendor">Nieprawidłowy format dostawcy</string>
|
||||
<!-- Add System App -->
|
||||
<string name="add_system_app_title">Dodaj aplikację systemową</string>
|
||||
<string name="add_system_app_add">Dodaj</string>
|
||||
<string name="add_system_app_current_list">Aktualna lista aplikacji systemowych</string>
|
||||
<!-- Uninstall confirmation -->
|
||||
<string name="confirmation_uninstall_title">Potwierdzić odinstalowanie?</string>
|
||||
<string name="confirmation_uninstall_message">Czy na pewno chcesz odinstalować Tricky Addon?</string>
|
||||
<string name="confirmation_uninstall_cancel">Anuluj</string>
|
||||
<string name="confirmation_uninstall_confirm">Potwierdź</string>
|
||||
</resources>
|
||||
125
module/webui/locales/strings/pt-BR.xml
Normal file
125
module/webui/locales/strings/pt-BR.xml
Normal file
@@ -0,0 +1,125 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="system_default">System Default</string>
|
||||
<string name="more_language">Mais</string>
|
||||
<!-- Header -->
|
||||
<string name="header_title">Tricky Addon</string>
|
||||
<!-- Help Menu-->
|
||||
<string name="help_help_instructions">Instruções</string>
|
||||
<string name="help_save_and_update">Salvar</string>
|
||||
<string name="help_save_and_update_description">Salve a configuração atual para Target.txt.</string>
|
||||
<string name="help_refresh">Atualizar</string>
|
||||
<string name="help_refresh_description">Atualizar a lista de aplicativos e excluir a lista.</string>
|
||||
<string name="help_select_deselect">Selecione e desmarque tudo</string>
|
||||
<string name="help_select_description">Selecione ou desmarque todos os aplicativos na interface atual.</string>
|
||||
<string name="help_select_denylist">Selecione no DenyList</string>
|
||||
<string name="help_select_denylist_description">Disponível apenas no Magisk, selecione aplicativos que estão no DenyList. Recomendado.</string>
|
||||
<string name="help_deselect_unnecessary">Desmarque desnecessário</string>
|
||||
<string name="help_deselect_unnecessary_description">Categoria desnecessária: Módulo Xposed, gereciador root, apps relacionado a root, e aplicativos gerais que nunca verificam o status do bootloader. Esta opção requer conexão à Internet.</string>
|
||||
<string name="help_add_system_app">Adicionar app do sistema</string>
|
||||
<string name="help_add_system_app_description">Adicionar app do sistema específico à lista de aplicativos.</string>
|
||||
<string name="help_set_keybox">Definir AOSP & Keybox Válida</string>
|
||||
<string name="help_set_keybox_description">Substitua keybox.xml de tricky store. A opção Keybox válida requer conexão à Internet.</string>
|
||||
<string name="help_set_custom_keybox">Definir uma Keybox personalizada</string>
|
||||
<string name="help_set_custom_keybox_description">Importar Keybox do armazenamento do seu dispositivo. Suporta apenas o arquivo XML.</string>
|
||||
<string name="help_set_security_patch">Definir patch de segurança</string>
|
||||
<string name="help_set_security_patch_description">Definir spoof de patch de segurança personalizado. Config automática usará o patch de segurança do módulo PIF. Deixe em branco e salve para desativar a configuração automática.</string>
|
||||
<string name="help_set_verified_boot_hash">Definir Hash de boot verificado</string>
|
||||
<string name="help_set_verified_boot_hash_description">Obter valor de verifiedBootHash de Key Attestation Demo. Corrige abnormal boot state Redefinindo ro.boot.vbmeta.digest. </string>
|
||||
<!-- Update -->
|
||||
<string name="update_update_available">Uma nova versão está Disponível</string>
|
||||
<string name="update_redirect_to_release">Toque para baixar a versão mais recente</string>
|
||||
<string name="update_changelog">Changelog</string>
|
||||
<string name="update_install">Instalar</string>
|
||||
<string name="update_reboot">Reiniciar</string>
|
||||
<!-- Search -->
|
||||
<string name="search_bar_search_placeholder">Buscar</string>
|
||||
<!-- Functional Button -->
|
||||
<string name="functional_button_save_and_update_button">Salvar</string>
|
||||
<string name="functional_button_uninstall_webui">Desinstalar WebUI</string>
|
||||
<!-- Loading -->
|
||||
<string name="loading_loading">Carregando...</string>
|
||||
<!-- Menu -->
|
||||
<string name="menu_refresh">Atualizar</string>
|
||||
<string name="menu_select_all">Selecionar tudo</string>
|
||||
<string name="menu_deselect_all">Desmarcar tudo</string>
|
||||
<string name="menu_select_denylist">Selecione de denylist</string>
|
||||
<string name="menu_deselect_unnecessary">Desmarcar desnecessário</string>
|
||||
<string name="menu_add_system_app">Adicionar app do sistema</string>
|
||||
<string name="menu_set_aosp_keybox">Definir AOSP Keybox</string>
|
||||
<string name="menu_set_unknown_keybox">Definir Keybox Desconhecido</string>
|
||||
<string name="menu_set_valid_keybox">Definir Keybox Válida</string>
|
||||
<string name="menu_set_custom_keybox">Definir Keybox Custom</string>
|
||||
<string name="menu_set_verified_boot_hash">Definir Hash de Boot Verificado</string>
|
||||
<string name="menu_set_security_patch">Definir Patch de segurança</string>
|
||||
<string name="menu_about">Sobre</string>
|
||||
<!-- Boot Hash -->
|
||||
<string name="boot_hash_title">Boot Hash</string>
|
||||
<string name="boot_hash_input_placeholder">Cole o seu Boot Hash verificado aqui</string>
|
||||
<string name="boot_hash_save_button">Salvar</string>
|
||||
<!-- About -->
|
||||
<string name="about_module_name_line1">Tricky Addon</string>
|
||||
<string name="about_module_name_line2">Atualizar lista de destino</string>
|
||||
<string name="about_by">por</string>
|
||||
<string name="about_telegram_channel">Canal do Telegram</string>
|
||||
<string name="about_canary_update">Atualizado para última versão canária</string>
|
||||
<string name="about_disclaimer">Este módulo não faz parte do módulo Tricky Store. Não relate nenhum problema à Tricky Store, se encontrada.</string>
|
||||
<string name="about_acknowledgment">Reconhecimento</string>
|
||||
<!-- Prompt -->
|
||||
<string name="prompt_no_internet">Por favor, verifique sua conexão com a Internet</string>
|
||||
<string name="prompt_aosp_key_set">AOSP keybox definida com sucesso</string>
|
||||
<string name="prompt_key_set_error">Falha ao atualizar o Keybox</string>
|
||||
<string name="prompt_unknown_key_set">Keybox desconhecido definido com sucesso</string>
|
||||
<string name="prompt_valid_key_set">Keybox válida definida com sucesso</string>
|
||||
<string name="prompt_no_valid">Nenhuma Keybox válida encontrada.</string>
|
||||
<string name="prompt_boot_hash_set">Hash de Boot Verificado salvo com sucesso</string>
|
||||
<string name="prompt_boot_hash_set_error">Falha ao atualizar Hash de Boot Verificado</string>
|
||||
<string name="prompt_saved_target">Config salvo para Target.txt</string>
|
||||
<string name="prompt_save_error">Falha ao salvar a configuração</string>
|
||||
<string name="prompt_uninstall_prompt">WebUI será removido após a reinicialização</string>
|
||||
<string name="prompt_uninstall_failed">Falhou em desinstalar WebUI</string>
|
||||
<string name="prompt_checking_update">Procurando atualizações...</string>
|
||||
<string name="prompt_new_update">Nova atualização está disponível!</string>
|
||||
<string name="prompt_no_update">No momento não há atualizações disponíveis</string>
|
||||
<string name="prompt_downloading">Baixando uma nova atualização ...</string>
|
||||
<string name="prompt_downloaded">Download concluído</string>
|
||||
<string name="prompt_download_fail">Falha ao baixar atualização</string>
|
||||
<string name="prompt_installing">Instalando a atualização ...</string>
|
||||
<string name="prompt_installed">Instalado com sucesso, reinicie agora.</string>
|
||||
<string name="prompt_install_fail">Falha ao instalar, atualize manualmente</string>
|
||||
<string name="prompt_rebooting">Reiniciando...</string>
|
||||
<string name="prompt_reboot_fail">Falha ao reiniciar, reinicie manualmente</string>
|
||||
<string name="prompt_custom_key_set">keybox custom definida com sucesso</string>
|
||||
<string name="prompt_custom_key_set_error">Falha ao definir keybox customizada</string>
|
||||
<string name="prompt_no_file_selected">Nenhum arquivo selecionado</string>
|
||||
<string name="prompt_system_app_not_found">App do sistema não encontrado</string>
|
||||
<string name="prompt_system_app_error">Falha ao adicionar app do sistema</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">Patch de segurança</string>
|
||||
<string name="security_patch_advanced_mode">Avançado</string>
|
||||
<string name="security_patch_get_date">Obter data do Patch de Segurança</string>
|
||||
<string name="security_patch_auto">Auto</string>
|
||||
<string name="security_patch_save">Salvar</string>
|
||||
<string name="security_patch_fetching">Buscar...</string>
|
||||
<string name="security_patch_fetched">Feito</string>
|
||||
<string name="security_patch_get_failed">Falha ao buscar a data do patch de segurança</string>
|
||||
<string name="security_patch_unable_to_connect">Não foi possível conectar á source.android.com</string>
|
||||
<string name="security_patch_auto_success">Configuração automática habilitada com sucesso</string>
|
||||
<string name="security_patch_auto_failed">Falha ao ativar a configuração automática</string>
|
||||
<string name="security_patch_save_success">Patch de segurança salvo com sucesso</string>
|
||||
<string name="security_patch_save_failed">Falha ao salvar o patch de segurança</string>
|
||||
<string name="security_patch_value_empty">A configuração do patch de segurança está desativada</string>
|
||||
<string name="security_patch_invalid_all">Formato inválido</string>
|
||||
<string name="security_patch_invalid_boot">Formato de boot inválido</string>
|
||||
<string name="security_patch_invalid_system">Formato do sistema inválido</string>
|
||||
<string name="security_patch_invalid_vendor">Formato de vendor inválido</string>
|
||||
<!-- Add System App -->
|
||||
<string name="add_system_app_title">Adicionar app do sistema</string>
|
||||
<string name="add_system_app_add">Adicionar</string>
|
||||
<string name="add_system_app_current_list">Lista de aplicativos do sistema atual</string>
|
||||
<!-- Uninstall confirmation -->
|
||||
<string name="confirmation_uninstall_title">Confirmar desinstalar?</string>
|
||||
<string name="confirmation_uninstall_message">Tem certeza que deseja desinstalar Tricky Addon</string>
|
||||
<string name="confirmation_uninstall_cancel">Cancelar</string>
|
||||
<string name="confirmation_uninstall_confirm">Confirmar</string>
|
||||
</resources>
|
||||
120
module/webui/locales/strings/ru.xml
Normal file
120
module/webui/locales/strings/ru.xml
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="system_default">Системный по умолчанию</string>
|
||||
<!-- Header -->
|
||||
<string name="header_title">Tricky Addon</string>
|
||||
<!-- Help Menu-->
|
||||
<string name="help_help_instructions">Инструкции</string>
|
||||
<string name="help_save_and_update">Сохранить</string>
|
||||
<string name="help_save_and_update_description">Сохранить текущую конфигурацию в target.txt.</string>
|
||||
<string name="help_refresh">Обновить</string>
|
||||
<string name="help_refresh_description">Обновить список приложений и список исключений.</string>
|
||||
<string name="help_select_deselect">Выбрать и отменить выбор всех</string>
|
||||
<string name="help_select_description">Выбрать или отменить выбор всех приложений в текущем интерфейсе.</string>
|
||||
<string name="help_select_denylist">Выбрать из DenyList</string>
|
||||
<string name="help_select_denylist_description">Доступно только в Magisk, выберите приложения, которые находятся в DenyList. Рекомендуется.</string>
|
||||
<string name="help_deselect_unnecessary">Отменить выбор ненужных</string>
|
||||
<string name="help_deselect_unnecessary_description">Ненужные категории: модули Xposed, менеджеры root, приложения, связанные с root, и общие приложения, которые никогда не проверяют статус загрузчика. Этот параметр требует подключения к интернету.</string>
|
||||
<string name="help_add_system_app">Добавить системное приложение</string>
|
||||
<string name="help_add_system_app_description">Добавить конкретное системное приложение в список приложений.</string>
|
||||
<string name="help_set_keybox">Установить AOSP & и действующий keybox</string>
|
||||
<string name="help_set_keybox_description">Замените tricky store keybox.xml. Опция с действующим keybox требует подключения к интернету.</string>
|
||||
<string name="help_set_custom_keybox">Установить свой keybox</string>
|
||||
<string name="help_set_custom_keybox_description">Импортируйте файл keybox из памяти своего устройства. Поддерживаются только файлы XML.</string>
|
||||
<string name="help_set_security_patch">Установить патч безопасности</string>
|
||||
<string name="help_set_security_patch_description">Установите пользовательский патч безопасности. Автоматическая настройка будет использовать патч безопасности из модуля PIF. Оставьте пустым и сохраните, чтобы отключить автоматическую настройку.</string>
|
||||
<string name="help_set_verified_boot_hash">Установить verified boot hash</string>
|
||||
<string name="help_set_verified_boot_hash_description">Получите значение verifiedBootHash из Key Attestation Demo. Исправьте аномальное состояние загрузки, сбросив ro.boot.vbmeta.digest.</string>
|
||||
<!-- Update -->
|
||||
<string name="update_update_available">Доступна новая версия</string>
|
||||
<string name="update_redirect_to_release">нажмите, чтобы скачать последнюю версию</string>
|
||||
<string name="update_changelog">Список изменений</string>
|
||||
<string name="update_install">Установить</string>
|
||||
<string name="update_reboot">Перезагрузить</string>
|
||||
<!-- Search -->
|
||||
<string name="search_bar_search_placeholder">Поиск</string>
|
||||
<!-- Functional Button -->
|
||||
<string name="functional_button_save_and_update_button">Сохранить</string>
|
||||
<string name="functional_button_uninstall_webui">Удалить WebUI</string>
|
||||
<!-- Loading -->
|
||||
<string name="loading_loading">Загрузка...</string>
|
||||
<!-- Menu -->
|
||||
<string name="menu_refresh">Обновить</string>
|
||||
<string name="menu_select_all">Выбрать все</string>
|
||||
<string name="menu_deselect_all">Отменить выбор всех</string>
|
||||
<string name="menu_select_denylist">Выбрать из DenyList</string>
|
||||
<string name="menu_deselect_unnecessary">Отменить выбор ненужных</string>
|
||||
<string name="menu_add_system_app">Добавить системное приложение</string>
|
||||
<string name="menu_set_aosp_keybox">Установить keybox AOSP</string>
|
||||
<string name="menu_set_unknown_keybox">Установить неизвестный keybox</string>
|
||||
<string name="menu_set_valid_keybox">Установить действующий Keybox</string>
|
||||
<string name="menu_set_custom_keybox">Установить свой keybox</string>
|
||||
<string name="menu_set_verified_boot_hash">Установить verified boot hash</string>
|
||||
<string name="menu_set_security_patch">Установить security patch</string>
|
||||
<string name="menu_about">О программе</string>
|
||||
<!-- Boot Hash -->
|
||||
<string name="boot_hash_title">Boot Hash</string>
|
||||
<string name="boot_hash_input_placeholder">Вставьте свой проверенный Boot Hash сюда</string>
|
||||
<string name="boot_hash_save_button">Сохранить</string>
|
||||
<!-- About -->
|
||||
<string name="about_module_name_line1">Tricky Addon</string>
|
||||
<string name="about_module_name_line2">Обновить список целей</string>
|
||||
<string name="about_by">от</string>
|
||||
<string name="about_telegram_channel">Канал в Telegram</string>
|
||||
<string name="about_disclaimer">Этот WebUI не является частью Tricky Store, НЕ сообщайте автору Tricky Store о любых возникающих проблемах.</string>
|
||||
<string name="about_acknowledgment">Благодарности</string>
|
||||
<!-- Prompt -->
|
||||
<string name="prompt_no_internet">Пожалуйста, проверьте ваше подключение к интернету</string>
|
||||
<string name="prompt_aosp_key_set">AOSP keybox успешно установлен</string>
|
||||
<string name="prompt_key_set_error">Не удалось обновить keybox</string>
|
||||
<string name="prompt_unknown_key_set">Неизвестный keybox успешно установлен</string>
|
||||
<string name="prompt_valid_key_set">Действующий keybox успешно установлен</string>
|
||||
<string name="prompt_no_valid">Не найден действующий keybox.</string>
|
||||
<string name="prompt_boot_hash_set">Verified Boot Hash успешно сохранен</string>
|
||||
<string name="prompt_boot_hash_set_error">Не удалось обновить Verified Boot Hash</string>
|
||||
<string name="prompt_saved_target">Конфигурация сохранена в target.txt</string>
|
||||
<string name="prompt_save_error">Не удалось сохранить конфигурацию</string>
|
||||
<string name="prompt_uninstall_prompt">WebUI будет удален после перезагрузки</string>
|
||||
<string name="prompt_uninstall_failed">Не удалось удалить WebUI</string>
|
||||
<string name="prompt_new_update">Доступно новое обновление!</string>
|
||||
<string name="prompt_downloading">Загрузка нового обновления...</string>
|
||||
<string name="prompt_downloaded">Загрузка завершена</string>
|
||||
<string name="prompt_download_fail">Не удалось загрузить обновление</string>
|
||||
<string name="prompt_installing">Установка обновления...</string>
|
||||
<string name="prompt_installed">Успешно установлено, перезагрузите устройство.</string>
|
||||
<string name="prompt_install_fail">Не удалось установить, обновите вручную</string>
|
||||
<string name="prompt_rebooting">Перезагрузка...</string>
|
||||
<string name="prompt_reboot_fail">Не удалось перезагрузить, перезагрузите вручную</string>
|
||||
<string name="prompt_custom_key_set">Пользовательский keybox успешно установлен</string>
|
||||
<string name="prompt_custom_key_set_error">Не удалось установить пользовательский keybox</string>
|
||||
<string name="prompt_no_file_selected">Файл не выбран</string>
|
||||
<string name="prompt_system_app_not_found">Системное приложение не найдено</string>
|
||||
<string name="prompt_system_app_error">Не удалось добавить системное приложение</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">Патч безопасности</string>
|
||||
<string name="security_patch_advanced_mode">Расширенный</string>
|
||||
<string name="security_patch_get_date">Получить дату патча безопасности</string>
|
||||
<string name="security_patch_auto">Авто</string>
|
||||
<string name="security_patch_save">Сохранить</string>
|
||||
<string name="security_patch_fetching">Получение...</string>
|
||||
<string name="security_patch_fetched">Готово</string>
|
||||
<string name="security_patch_get_failed">Не удалось получить дату патча безопасности</string>
|
||||
<string name="security_patch_auto_success">Автоматическая конфигурация успешно включена</string>
|
||||
<string name="security_patch_auto_failed">Не удалось включить автоматическую конфигурацию</string>
|
||||
<string name="security_patch_save_success">Патч безопасности успешно сохранен</string>
|
||||
<string name="security_patch_save_failed">Не удалось сохранить патч безопасности</string>
|
||||
<string name="security_patch_value_empty">Конфигурация патча безопасности отключена</string>
|
||||
<string name="security_patch_invalid_all">Неверный формат</string>
|
||||
<string name="security_patch_invalid_boot">Неверный формат boot</string>
|
||||
<string name="security_patch_invalid_system">Неверный формат system</string>
|
||||
<string name="security_patch_invalid_vendor">Неверный формат vendor</string>
|
||||
<!-- Add System App -->
|
||||
<string name="add_system_app_title">Добавить системное приложение</string>
|
||||
<string name="add_system_app_add">Добавить</string>
|
||||
<string name="add_system_app_current_list">Текущий список системных приложений</string>
|
||||
<!-- Uninstall confirmation -->
|
||||
<string name="confirmation_uninstall_title">Подтвердить удаление?</string>
|
||||
<string name="confirmation_uninstall_message">Вы уверены, что хотите удалить Tricky Addon</string>
|
||||
<string name="confirmation_uninstall_cancel">Отмена</string>
|
||||
<string name="confirmation_uninstall_confirm">Подтвердить</string>
|
||||
</resources>
|
||||
120
module/webui/locales/strings/tl.xml
Normal file
120
module/webui/locales/strings/tl.xml
Normal file
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="system_default">Default ng Sistema</string>
|
||||
<!-- Header -->
|
||||
<string name="header_title">Tricky Addon</string>
|
||||
<!-- Help Menu-->
|
||||
<string name="help_help_instructions">Mga Tagubilin</string>
|
||||
<string name="help_save_and_update">I-save</string>
|
||||
<string name="help_save_and_update_description">I-save ang kasalukuyang configuration sa target.txt.</string>
|
||||
<string name="help_refresh">I-refresh</string>
|
||||
<string name="help_refresh_description">I-refresh ang listahan ng apps at exclude list.</string>
|
||||
<string name="help_select_deselect">Piliin & Huwag Pumili ng Lahat</string>
|
||||
<string name="help_select_description">Piliin o huwag piliin ang lahat ng apps sa kasalukuyang interface.</string>
|
||||
<string name="help_select_denylist">Piliin mula sa DenyList</string>
|
||||
<string name="help_select_denylist_description">Available lang sa Magisk, piliin ang mga app na nasa DenyList. Inirerekomenda.</string>
|
||||
<string name="help_deselect_unnecessary">Huwag Pumili ng Hindi Kinakailangan</string>
|
||||
<string name="help_deselect_unnecessary_description">Hindi kinakailangang kategorya: Xposed module, root manager, root-related apps, at mga karaniwang apps na hindi kailanman nire-refresh ang bootloader status. Nangangailangan ng koneksyon sa internet.</string>
|
||||
<string name="help_add_system_app">Magdagdag ng System App</string>
|
||||
<string name="help_add_system_app_description">Magdagdag ng tiyak na system app sa listahan ng apps.</string>
|
||||
<string name="help_set_keybox">I-set ang AOSP at Valid Keybox</string>
|
||||
<string name="help_set_keybox_description">Palitan ang tricky store keybox. Nangangailangan ng koneksyon sa internet ang valid keybox option.</string>
|
||||
<string name="help_set_custom_keybox">I-set ang Custom Keybox</string>
|
||||
<string name="help_set_custom_keybox_description">Mag-import ng custom keybox mula sa iyong device storage. Sumusuporta lamang ng xml file.</string>
|
||||
<string name="help_set_security_patch">I-set ang Security Patch</string>
|
||||
<string name="help_set_security_patch_description">I-set ang custom security patch. Ang auto config ay mag-use ng security patch mula sa PIF module. I-leave blank at i-save para i-disable ang auto config.</string>
|
||||
<string name="help_set_verified_boot_hash">I-set ang Verified Boot Hash</string>
|
||||
<string name="help_set_verified_boot_hash_description">Kunin ang verifiedBootHash mula sa Key Attestation Demo. Ayusin ang abnormal na boot state sa pamamagitan ng pag-reset ng ro.boot.vbmeta.digest.</string>
|
||||
<!-- Update -->
|
||||
<string name="update_update_available">Handa na ang bagong bersyon</string>
|
||||
<string name="update_redirect_to_release">i-tap para i-download ang pinakabagong bersyon</string>
|
||||
<string name="update_changelog">Mga Pagbabago</string>
|
||||
<string name="update_install">I-install</string>
|
||||
<string name="update_reboot">I-reboot</string>
|
||||
<!-- Search -->
|
||||
<string name="search_bar_search_placeholder">Maghanap</string>
|
||||
<!-- Functional Button -->
|
||||
<string name="functional_button_save_and_update_button">I-save</string>
|
||||
<string name="functional_button_uninstall_webui">I-uninstall ang WebUI</string>
|
||||
<!-- Loading -->
|
||||
<string name="loading_loading">Naglo-load...</string>
|
||||
<!-- Menu -->
|
||||
<string name="menu_refresh">I-refresh</string>
|
||||
<string name="menu_select_all">Piliin Lahat</string>
|
||||
<string name="menu_deselect_all">Huwag Pumili ng Lahat</string>
|
||||
<string name="menu_select_denylist">Piliin mula sa DenyList</string>
|
||||
<string name="menu_deselect_unnecessary">Huwag Pumili ng Hindi Kinakailangan</string>
|
||||
<string name="menu_add_system_app">Magdagdag ng System App</string>
|
||||
<string name="menu_set_aosp_keybox">I-set ang AOSP Keybox</string>
|
||||
<string name="menu_set_unknown_keybox">I-set ang Hindi Kilalang Keybox</string>
|
||||
<string name="menu_set_valid_keybox">I-set ang Valid Keybox</string>
|
||||
<string name="menu_set_custom_keybox">I-set ang Custom Keybox</string>
|
||||
<string name="menu_set_verified_boot_hash">I-set ang Verified Boot Hash</string>
|
||||
<string name="menu_set_security_patch">I-set ang Security Patch</string>
|
||||
<string name="menu_about">Tungkol</string>
|
||||
<!-- Boot Hash -->
|
||||
<string name="boot_hash_title">Boot Hash</string>
|
||||
<string name="boot_hash_input_placeholder">I-paste ang iyong verified Boot Hash dito</string>
|
||||
<string name="boot_hash_save_button">I-save</string>
|
||||
<!-- About -->
|
||||
<string name="about_module_name_line1">Tricky Addon</string>
|
||||
<string name="about_module_name_line2">I-update ang Target List</string>
|
||||
<string name="about_by">ni</string>
|
||||
<string name="about_telegram_channel">Telegram Channel</string>
|
||||
<string name="about_disclaimer">Ang WebUI na ito ay hindi bahagi ng Tricky Store, HUWAG i-report sa may-akda ng Tricky Store kung makaranas ka ng anumang isyu.</string>
|
||||
<string name="about_acknowledgment">Pagkilala</string>
|
||||
<!-- Prompt -->
|
||||
<string name="prompt_no_internet">Pakitingnan ang iyong koneksyon sa Internet</string>
|
||||
<string name="prompt_aosp_key_set">Matagumpay na na-set ang AOSP Keybox</string>
|
||||
<string name="prompt_key_set_error">Nabigong i-update ang keybox</string>
|
||||
<string name="prompt_unknown_key_set">Matagumpay na na-set ang Hindi Kilalang Keybox</string>
|
||||
<string name="prompt_valid_key_set">Matagumpay na na-set ang Valid Keybox</string>
|
||||
<string name="prompt_no_valid">Walang valid na keybox na natagpuan.</string>
|
||||
<string name="prompt_boot_hash_set">Matagumpay na na-save ang Verified Boot Hash</string>
|
||||
<string name="prompt_boot_hash_set_error">Nabigong i-update ang Verified Boot Hash</string>
|
||||
<string name="prompt_saved_target">Na-save ang configuration sa target.txt</string>
|
||||
<string name="prompt_save_error">Nabigong i-save ang config</string>
|
||||
<string name="prompt_uninstall_prompt">Mawawala ang WebUI pagkatapos ng reboot</string>
|
||||
<string name="prompt_uninstall_failed">Nabigong i-uninstall ang WebUI</string>
|
||||
<string name="prompt_new_update">May bagong update na available!</string>
|
||||
<string name="prompt_downloading">Nagda-download ng bagong update...</string>
|
||||
<string name="prompt_downloaded">Natapos ang pag-download</string>
|
||||
<string name="prompt_download_fail">Nabigo ang pag-download ng update</string>
|
||||
<string name="prompt_installing">Nag-i-install ng update...</string>
|
||||
<string name="prompt_installed">Matagumpay na na-install, mag-reboot na ngayon.</string>
|
||||
<string name="prompt_install_fail">Nabigo ang pag-install, pakisubukang mag-update nang manu-mano</string>
|
||||
<string name="prompt_rebooting">Nag-re-reboot...</string>
|
||||
<string name="prompt_reboot_fail">Nabigo ang pag-reboot, pakisubukang mag-reboot nang manu-mano</string>
|
||||
<string name="prompt_custom_key_set">Matagumpay na na-set ang Custom Keybox</string>
|
||||
<string name="prompt_custom_key_set_error">Nabigong i-set ang Custom Keybox</string>
|
||||
<string name="prompt_no_file_selected">Walang napiling file</string>
|
||||
<string name="prompt_system_app_not_found">Walang natagpuan na system app</string>
|
||||
<string name="prompt_system_app_error">Nabigong dagdag ang system app</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">Security Patch</string>
|
||||
<string name="security_patch_advanced_mode">Advanced</string>
|
||||
<string name="security_patch_get_date">Kunin ang Petsa ng Security Patch</string>
|
||||
<string name="security_patch_auto">Auto</string>
|
||||
<string name="security_patch_save">I-save</string>
|
||||
<string name="security_patch_fetching">Kumukuha...</string>
|
||||
<string name="security_patch_fetched">Tapos na</string>
|
||||
<string name="security_patch_get_failed">Hindi makuha ang petsa ng security patch</string>
|
||||
<string name="security_patch_auto_success">Matagumpay na na-enable ang auto config</string>
|
||||
<string name="security_patch_auto_failed">Nabigong i-enable ang auto config</string>
|
||||
<string name="security_patch_save_success">Matagumpay na na-save ang security patch</string>
|
||||
<string name="security_patch_save_failed">Nabigong i-save ang security patch</string>
|
||||
<string name="security_patch_value_empty">Naka-disable ang configuration ng security patch</string>
|
||||
<string name="security_patch_invalid_all">Invalid format</string>
|
||||
<string name="security_patch_invalid_boot">Invalid boot format</string>
|
||||
<string name="security_patch_invalid_system">Invalid system format</string>
|
||||
<string name="security_patch_invalid_vendor">Invalid vendor format</string>
|
||||
<!-- Add System App -->
|
||||
<string name="add_system_app_title">Magdagdag ng System App</string>
|
||||
<string name="add_system_app_add">Idagdag</string>
|
||||
<string name="add_system_app_current_list">Kasalukuyang Listahan ng System App</string>
|
||||
<!-- Uninstall confirmation -->
|
||||
<string name="confirmation_uninstall_title">Kumpirmahin ang Pag-uninstall?</string>
|
||||
<string name="confirmation_uninstall_message">Sigurado ka bang gusto mong i-uninstall ang Tricky Addon</string>
|
||||
<string name="confirmation_uninstall_cancel">Kanselahin</string>
|
||||
<string name="confirmation_uninstall_confirm">Kumpirmahin</string>
|
||||
</resources>
|
||||
125
module/webui/locales/strings/tr.xml
Normal file
125
module/webui/locales/strings/tr.xml
Normal file
@@ -0,0 +1,125 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="system_default">Sistem Varsayılanı</string>
|
||||
<string name="more_language">Daha Fazla</string>
|
||||
<!-- Header -->
|
||||
<string name="header_title">Tricky Addon</string>
|
||||
<!-- Help Menu-->
|
||||
<string name="help_help_instructions">Talimatlar</string>
|
||||
<string name="help_save_and_update">Kaydet</string>
|
||||
<string name="help_save_and_update_description">Mevcut yapılandırmayı target.txt dosyasına kaydet.</string>
|
||||
<string name="help_refresh">Yenile</string>
|
||||
<string name="help_refresh_description">Uygulama ve hariç tutma listesini yenile.</string>
|
||||
<string name="help_select_deselect">Tümünü Seç & Seçimi Kaldır</string>
|
||||
<string name="help_select_description">Mevcut arayüzdeki tüm uygulamaları seç veya seçimini kaldır.</string>
|
||||
<string name="help_select_denylist">Reddetme Listesinden Seç</string>
|
||||
<string name="help_select_denylist_description">Yalnızca Magisk'te mevcut, Reddetme Listesindeki uygulamaları seç. Tavsiye edilir.</string>
|
||||
<string name="help_deselect_unnecessary">Gereksizleri Seçme</string>
|
||||
<string name="help_deselect_unnecessary_description">Gereksiz kategori: Xposed modülü, root yöneticisi, root ile ilgili uygulamalar ve asla bootloader durumunu kontrol etmeyen genel uygulamalar. Bu seçenek internet bağlantısı gerektirir.</string>
|
||||
<string name="help_add_system_app">Sistem Uygulaması Ekle</string>
|
||||
<string name="help_add_system_app_description">Belirli bir sistem uygulamasını uygulama listesine ekleyin.</string>
|
||||
<string name="help_set_keybox">AOSP & Geçerli Keybox Ayarla</string>
|
||||
<string name="help_set_keybox_description">Tricky Store'daki keybox.xml dosyasını değiştirir. Geçerli keybox seçeneği internet bağlantısı gerektirir.</string>
|
||||
<string name="help_set_custom_keybox">Özel Keybox Ayarla</string>
|
||||
<string name="help_set_custom_keybox_description">Cihaz depolamasından bir keybox dosyasını içe aktarın. Sadece xml dosyaları desteklenir.</string>
|
||||
<string name="help_set_security_patch">Güvenlik Yaması Ayarla</string>
|
||||
<string name="help_set_security_patch_description">Özel güvenlik yamasını ayarlayın. Otomatik yapılandırma PIF modülünün güvenlik yamasını kullanacaktır. Boş bırakın ve kaydedin ki otomatik yapılandırma devre dışı bırakılsın.</string>
|
||||
<string name="help_set_verified_boot_hash">Doğrulanmış Boot Hash Ayarla</string>
|
||||
<string name="help_set_verified_boot_hash_description">Key Attestation Demo'dan verifiedBootHash değerini alın. Abnormal boot durumunu ro.boot.vbmeta.digest'i sıfırlayarak düzeltin.</string>
|
||||
<!-- Update -->
|
||||
<string name="update_update_available">Yeni bir sürüm hazır</string>
|
||||
<string name="update_redirect_to_release">Son sürümü indirmek için dokunun</string>
|
||||
<string name="update_changelog">Değişiklik Günlüğü</string>
|
||||
<string name="update_install">Yükle</string>
|
||||
<string name="update_reboot">Yeniden Başlat</string>
|
||||
<!-- Search -->
|
||||
<string name="search_bar_search_placeholder">Ara</string>
|
||||
<!-- Functional Button -->
|
||||
<string name="functional_button_save_and_update_button">Kaydet</string>
|
||||
<string name="functional_button_uninstall_webui">WebUI'ı Kaldır</string>
|
||||
<!-- Loading -->
|
||||
<string name="loading_loading">Yükleniyor...</string>
|
||||
<!-- Menu -->
|
||||
<string name="menu_refresh">Yenile</string>
|
||||
<string name="menu_select_all">Tümünü Seç</string>
|
||||
<string name="menu_deselect_all">Tüm Seçimleri Kaldır</string>
|
||||
<string name="menu_select_denylist">Reddetme Listesinden Seç</string>
|
||||
<string name="menu_deselect_unnecessary">Gereksizleri Seçme</string>
|
||||
<string name="menu_add_system_app">Sistem Uygulaması Ekle</string>
|
||||
<string name="menu_set_aosp_keybox">AOSP Keybox Ayarla</string>
|
||||
<string name="menu_set_unknown_keybox">Bilinmeyen Keybox Ayarla</string>
|
||||
<string name="menu_set_valid_keybox">Geçerli Keybox Ayarla</string>
|
||||
<string name="menu_set_custom_keybox">Özel Keybox Ayarla</string>
|
||||
<string name="menu_set_verified_boot_hash">Doğrulanmış Boot Hash Ayarla</string>
|
||||
<string name="menu_set_security_patch">Güvenlik Yaması Ayarla</string>
|
||||
<string name="menu_about">Hakkında</string>
|
||||
<!-- Boot Hash -->
|
||||
<string name="boot_hash_title">Boot Hash</string>
|
||||
<string name="boot_hash_input_placeholder">Doğrulanmış Boot Hash'inizi buraya yapıştırın</string>
|
||||
<string name="boot_hash_save_button">Kaydet</string>
|
||||
<!-- About -->
|
||||
<string name="about_module_name_line1">Tricky Addon</string>
|
||||
<string name="about_module_name_line2">Target List'i Güncelle</string>
|
||||
<string name="about_by">tarafından</string>
|
||||
<string name="about_telegram_channel">Telegram Kanalı</string>
|
||||
<string name="about_canary_update">En son canary sürümüne güncelleyin</string>
|
||||
<string name="about_disclaimer">Bu modül, Tricky Store modülünün bir parçası değildir. Herhangi bir sorun yaşarsanız, lütfen bunu Tricky Store'a rapor etmeyin.</string>
|
||||
<string name="about_acknowledgment">Teşekkürler</string>
|
||||
<!-- Prompt -->
|
||||
<string name="prompt_no_internet">Lütfen internet bağlantınızı kontrol edin</string>
|
||||
<string name="prompt_aosp_key_set">AOSP keybox başarıyla ayarlandı</string>
|
||||
<string name="prompt_key_set_error">Keybox güncellenemedi</string>
|
||||
<string name="prompt_unknown_key_set">Bilinmeyen keybox başarıyla ayarlandı</string>
|
||||
<string name="prompt_valid_key_set">Geçerli keybox başarıyla ayarlandı</string>
|
||||
<string name="prompt_no_valid">Geçerli keybox bulunamadı.</string>
|
||||
<string name="prompt_boot_hash_set">Doğrulanmış Boot Hash başarıyla kaydedildi</string>
|
||||
<string name="prompt_boot_hash_set_error">Doğrulanmış Boot Hash güncellenemedi</string>
|
||||
<string name="prompt_saved_target">Yapılandırma target.txt dosyasına kaydedildi</string>
|
||||
<string name="prompt_save_error">Yapılandırma kaydedilemedi</string>
|
||||
<string name="prompt_uninstall_prompt">WebUI yeniden başlatma sonrasında kaldırılacak</string>
|
||||
<string name="prompt_uninstall_failed">WebUI kaldırılamadı</string>
|
||||
<string name="prompt_checking_update">Güncelleme kontrol ediliyor...</string>
|
||||
<string name="prompt_new_update">Yeni bir güncelleme mevcut!</string>
|
||||
<string name="prompt_no_update">Şu anda hiçbir güncelleme mevcut değil</string>
|
||||
<string name="prompt_downloading">Yeni güncelleme indiriliyor...</string>
|
||||
<string name="prompt_downloaded">İndirme tamamlandı</string>
|
||||
<string name="prompt_download_fail">Güncelleme indirilemedi</string>
|
||||
<string name="prompt_installing">Güncelleme yükleniyor...</string>
|
||||
<string name="prompt_installed">Başarıyla yüklendi, şimdi yeniden başlatın.</string>
|
||||
<string name="prompt_install_fail">Yükleme başarısız oldu, lütfen manuel olarak güncelleyin</string>
|
||||
<string name="prompt_rebooting">Yeniden başlatılıyor...</string>
|
||||
<string name="prompt_reboot_fail">Yeniden başlatma başarısız, lütfen manuel olarak yeniden başlatın</string>
|
||||
<string name="prompt_custom_key_set">Özel keybox başarıyla ayarlandı</string>
|
||||
<string name="prompt_custom_key_set_error">Özel keybox ayarlanamadı</string>
|
||||
<string name="prompt_no_file_selected">Dosya seçilmedi</string>
|
||||
<string name="prompt_system_app_not_found">Sistem uygulaması bulunamadı</string>
|
||||
<string name="prompt_system_app_error">Sistem uygulaması ekleme hatası</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">Güvenlik Yaması</string>
|
||||
<string name="security_patch_advanced_mode">Gelişmiş</string>
|
||||
<string name="security_patch_get_date">Güvenlik Yaması Tarihini Al</string>
|
||||
<string name="security_patch_auto">Otomatik</string>
|
||||
<string name="security_patch_save">Kaydet</string>
|
||||
<string name="security_patch_fetching">Alınıyor...</string>
|
||||
<string name="security_patch_fetched">Tamamlandı</string>
|
||||
<string name="security_patch_get_failed">Güvenlik yaması tarihi alınamadı</string>
|
||||
<string name="security_patch_unable_to_connect">Source.android.com\'a bağlanılamıyor</string>
|
||||
<string name="security_patch_auto_success">Otomatik yapılandırma başarıyla etkinleştirildi</string>
|
||||
<string name="security_patch_auto_failed">Otomatik yapılandırma etkinleştirilemedi</string>
|
||||
<string name="security_patch_save_success">Güvenlik yaması başarıyla kaydedildi</string>
|
||||
<string name="security_patch_save_failed">Güvenlik yaması kaydedilemedi</string>
|
||||
<string name="security_patch_value_empty">Güvenlik yaması yapılandırması devre dışı bırakıldı</string>
|
||||
<string name="security_patch_invalid_all">Geçersiz format</string>
|
||||
<string name="security_patch_invalid_boot">Geçersiz boot formatı</string>
|
||||
<string name="security_patch_invalid_system">Geçersiz system formatı</string>
|
||||
<string name="security_patch_invalid_vendor">Geçersiz vendor formatı</string>
|
||||
<!-- Add System App -->
|
||||
<string name="add_system_app_title">Sistem Uygulaması Ekle</string>
|
||||
<string name="add_system_app_add">Ekle</string>
|
||||
<string name="add_system_app_current_list">Mevcut Sistem Uygulamaları Listesi</string>
|
||||
<!-- Uninstall confirmation -->
|
||||
<string name="confirmation_uninstall_title">Kaldırma İşlemi Onaylansın mı?</string>
|
||||
<string name="confirmation_uninstall_message">Tricky Addon'u kaldırmak istediğinizden emin misiniz</string>
|
||||
<string name="confirmation_uninstall_cancel">İptal</string>
|
||||
<string name="confirmation_uninstall_confirm">Onayla</string>
|
||||
</resources>
|
||||
124
module/webui/locales/strings/uk.xml
Normal file
124
module/webui/locales/strings/uk.xml
Normal file
@@ -0,0 +1,124 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="system_default">System Default</string>
|
||||
<!-- Header -->
|
||||
<string name="header_title">Tricky Addon</string>
|
||||
<!-- Help Menu-->
|
||||
<string name="help_help_instructions">Вказівки</string>
|
||||
<string name="help_save_and_update">Зберегти</string>
|
||||
<string name="help_save_and_update_description">Зберегти поточну конфігурацію до файлу target.txt</string>
|
||||
<string name="help_refresh">Оновити</string>
|
||||
<string name="help_refresh_description">Оновити список застосунків та перелік виключень.</string>
|
||||
<string name="help_select_deselect">Виділити та прибрати виділення всіх</string>
|
||||
<string name="help_select_description">Вибрати чи прибрати виділення всіх застосунків у поточному інтерфейсі.</string>
|
||||
<string name="help_select_denylist">Виберіть із DenyList</string>
|
||||
<string name="help_select_denylist_description">Доступно лише у Magisk, обрати застосунки, які входять до DenyList. Рекомендовано.</string>
|
||||
<string name="help_deselect_unnecessary">Зняти виділення з необов'язкових</string>
|
||||
<string name="help_deselect_unnecessary_description">Необов'язкова категорія: Модуль Xposed, рут-менеджер, програми, пов'язані з рутом, і загальні програми, які ніколи не перевіряють стан завантажувача. Ця опція вимагає підключення до інтернету.</string>
|
||||
<string name="help_add_system_app">Додати системний застосунок</string>
|
||||
<string name="help_add_system_app_description">Додати конкретний системний застосунок до списку.</string>
|
||||
<string name="help_set_keybox">Встановити AOSP та валідний ключ</string>
|
||||
<string name="help_set_keybox_description">Замінити tricky store keybox.xml. Для використання валідного ключа потрібне з'єднання з інтернетом.</string>
|
||||
<string name="help_set_custom_keybox">Встановити власний ключ</string>
|
||||
<string name="help_set_custom_keybox_description">Імпортувати ключі зі сховища вашого пристрою. Підтримуються лише xml файли.</string>
|
||||
<string name="help_set_security_patch">Встановити патч безпеки</string>
|
||||
<string name="help_set_security_patch_description">Встановити власну підміну патчу безпеки. Автоконфігурація використовуватиме патч безпеки з модуля PIF. Залиште порожнім і збережіть, щоб вимкнути автоконфігурацію.</string>
|
||||
<string name="help_set_verified_boot_hash">Встановити перевірений хеш завантаження</string>
|
||||
<string name="help_set_verified_boot_hash_description">Отримати значення verifiedBootHash з Key Attestation Demo. Виправляє ненормальний стан завантаження шляхом скидання ro.boot.vbmeta.digest.</string>
|
||||
<!-- Update -->
|
||||
<string name="update_update_available">Нова версія готова</string>
|
||||
<string name="update_redirect_to_release">натисніть, щоб завантажити найновішу версію</string>
|
||||
<string name="update_changelog">Список змін</string>
|
||||
<string name="update_install">Встановити</string>
|
||||
<string name="update_reboot">Перезавантажити</string>
|
||||
<!-- Search -->
|
||||
<string name="search_bar_search_placeholder">Пошук</string>
|
||||
<!-- Functional Button -->
|
||||
<string name="functional_button_save_and_update_button">Зберегти</string>
|
||||
<string name="functional_button_uninstall_webui">Деінсталювати WebUI</string>
|
||||
<!-- Loading -->
|
||||
<string name="loading_loading">Завантаження...</string>
|
||||
<!-- Menu -->
|
||||
<string name="menu_refresh">Оновити</string>
|
||||
<string name="menu_select_all">Вибрати все</string>
|
||||
<string name="menu_deselect_all">Прибрати усі позначки</string>
|
||||
<string name="menu_select_denylist">Вибрати із DenyList</string>
|
||||
<string name="menu_deselect_unnecessary">Прибрати необов'язкові</string>
|
||||
<string name="menu_add_system_app">Додати системний застосунок</string>
|
||||
<string name="menu_set_aosp_keybox">Встановити AOSP ключ</string>
|
||||
<string name="menu_set_unknown_keybox">Встановити невідомий ключ</string>
|
||||
<string name="menu_set_valid_keybox">Встановити валідний ключ</string>
|
||||
<string name="menu_set_custom_keybox">Встановити користувацький ключ</string>
|
||||
<string name="menu_set_verified_boot_hash">Встановити перевірений хеш завантаження</string>
|
||||
<string name="menu_set_security_patch">Встановити патч безпеки</string>
|
||||
<string name="menu_about">Деталі</string>
|
||||
<!-- Boot Hash -->
|
||||
<string name="boot_hash_title">Хеш завантаження</string>
|
||||
<string name="boot_hash_input_placeholder">Вставте перевірений хеш завантаження сюди</string>
|
||||
<string name="boot_hash_save_button">Зберегти</string>
|
||||
<!-- About -->
|
||||
<string name="about_module_name_line1">Tricky Addon</string>
|
||||
<string name="about_module_name_line2">Оновити Target List</string>
|
||||
<string name="about_by">by</string>
|
||||
<string name="about_telegram_channel">Телеґрам-канал</string>
|
||||
<string name="about_canary_update">Оновити до останньої canary версії</string>
|
||||
<string name="about_disclaimer">Цей модуль не є частиною модуля Tricky Store. НЕ повідомляйте Tricky Store про будь-які проблеми, якщо вони виникли.</string>
|
||||
<string name="about_acknowledgment">Подяка</string>
|
||||
<!-- Prompt -->
|
||||
<string name="prompt_no_internet">Будь ласка, перевірте своє інтернет-з'єднання</string>
|
||||
<string name="prompt_aosp_key_set">Ключ AOSP успішно встановлено</string>
|
||||
<string name="prompt_key_set_error">Не вдалося оновити ключ</string>
|
||||
<string name="prompt_unknown_key_set">Невідомий ключ успішно встановлено</string>
|
||||
<string name="prompt_valid_key_set">Валідний ключ успішно встановлений</string>
|
||||
<string name="prompt_no_valid">Не знайдено жодного дійсного ключа.</string>
|
||||
<string name="prompt_boot_hash_set">Перевірений хеш завантаження успішно збережено</string>
|
||||
<string name="prompt_boot_hash_set_error">Не вдалося оновити перевірений хеш завантаження</string>
|
||||
<string name="prompt_saved_target">Конфігурацію збережено до файлу target.txt</string>
|
||||
<string name="prompt_save_error">Не вдалося зберегти конфігурацію</string>
|
||||
<string name="prompt_uninstall_prompt">WebUI буде видалено після перезавантаження</string>
|
||||
<string name="prompt_uninstall_failed">Не вдалося видалити WebUI</string>
|
||||
<string name="prompt_checking_update">Перевірка оновлень...</string>
|
||||
<string name="prompt_new_update">Доступне нове оновлення!</string>
|
||||
<string name="prompt_no_update">Наразі немає доступних оновлень</string>
|
||||
<string name="prompt_downloading">Завантажуємо нове оновлення...</string>
|
||||
<string name="prompt_downloaded">Завантаження завершено</string>
|
||||
<string name="prompt_download_fail">Не вдається завантажити оновлення</string>
|
||||
<string name="prompt_installing">Встановлюємо оновлення...</string>
|
||||
<string name="prompt_installed">Успішно встановлено, тепер перезавантажте пристрій.</string>
|
||||
<string name="prompt_install_fail">Не вдалося встановити, будь ласка, оновіть вручну</string>
|
||||
<string name="prompt_rebooting">Перезавантаження...</string>
|
||||
<string name="prompt_reboot_fail">Не вдається перезавантажити, будь ласка, перезавантажте вручну</string>
|
||||
<string name="prompt_custom_key_set">Успішне встановлення користувацького ключа</string>
|
||||
<string name="prompt_custom_key_set_error">Не вдалося встановити користувальницький ключ</string>
|
||||
<string name="prompt_no_file_selected">Не вибрано жодного файлу</string>
|
||||
<string name="prompt_system_app_not_found">Системний застосунок не знайдено</string>
|
||||
<string name="prompt_system_app_error">Не вдалося додати системний застосунок</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">Патч безпеки</string>
|
||||
<string name="security_patch_advanced_mode">Розширені</string>
|
||||
<string name="security_patch_get_date">Отримати дату патчу безпеки</string>
|
||||
<string name="security_patch_auto">Авто</string>
|
||||
<string name="security_patch_save">Зберегти</string>
|
||||
<string name="security_patch_fetching">Робимо запит...</string>
|
||||
<string name="security_patch_fetched">Готово</string>
|
||||
<string name="security_patch_get_failed">Не вдалося отримати дату патчу безпеки</string>
|
||||
<string name="security_patch_unable_to_connect">Не вдалося під\'єднатися до source.android.com</string>
|
||||
<string name="security_patch_auto_success">Автоконфігурацію успішно увімкнено</string>
|
||||
<string name="security_patch_auto_failed">Не вдалося увімкнути автоконфігурацію</string>
|
||||
<string name="security_patch_save_success">Успішно збережено патч безпеки</string>
|
||||
<string name="security_patch_save_failed">Не вдалося зберегти патч безпеки</string>
|
||||
<string name="security_patch_value_empty">Конфігурацію патчу безпеки вимкнено</string>
|
||||
<string name="security_patch_invalid_all">Неправильний формат</string>
|
||||
<string name="security_patch_invalid_boot">Неправильний формат завантаження</string>
|
||||
<string name="security_patch_invalid_system">Неправильний формат системи</string>
|
||||
<string name="security_patch_invalid_vendor">Неправильний формат виробника</string>
|
||||
<!-- Add System App -->
|
||||
<string name="add_system_app_title">Додати системний застосунок</string>
|
||||
<string name="add_system_app_add">Add</string>
|
||||
<string name="add_system_app_current_list">Поточний список системних застосунків</string>
|
||||
<!-- Uninstall confirmation -->
|
||||
<string name="confirmation_uninstall_title">Підтверджуєте видалення?</string>
|
||||
<string name="confirmation_uninstall_message">Ви дійсно хочете видалити Tricky Addon?</string>
|
||||
<string name="confirmation_uninstall_cancel">Скасувати</string>
|
||||
<string name="confirmation_uninstall_confirm">Підтвердити</string>
|
||||
</resources>
|
||||
125
module/webui/locales/strings/zh-CN.xml
Normal file
125
module/webui/locales/strings/zh-CN.xml
Normal file
@@ -0,0 +1,125 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="system_default">系统默认</string>
|
||||
<string name="more_language">更多</string>
|
||||
<!-- Header -->
|
||||
<string name="header_title">TS 插件</string>
|
||||
<!-- Help Menu-->
|
||||
<string name="help_help_instructions">使用指南</string>
|
||||
<string name="help_save_and_update">保存</string>
|
||||
<string name="help_save_and_update_description">保存当前配置到目标列表(target.txt)。</string>
|
||||
<string name="help_refresh">刷新</string>
|
||||
<string name="help_refresh_description">刷新应用列表和排除列表。</string>
|
||||
<string name="help_select_deselect">全选 & 取消全选</string>
|
||||
<string name="help_select_description">选择或取消选择当前界面中的所有应用。</string>
|
||||
<string name="help_select_denylist">从排除列表中选择</string>
|
||||
<string name="help_select_denylist_description">仅适用于 Magisk,选择在排除列表中的应用。推荐使用。</string>
|
||||
<string name="help_deselect_unnecessary">取消选择非必要应用</string>
|
||||
<string name="help_deselect_unnecessary_description">非必要分类:Xposed 模块、root 管理器、与 root 相关的应用,以及从不检查 bootloader 状态的通用应用。此功能需连网使用。</string>
|
||||
<string name="help_add_system_app">添加系统应用</string>
|
||||
<string name="help_add_system_app_description">添加特定系统应用到应用列表。</string>
|
||||
<string name="help_set_keybox">设置 AOSP & 有效密钥</string>
|
||||
<string name="help_set_keybox_description">替换 Tricky Store 的密钥(keybox.xml)。有效密钥选项需连网使用,不保证能一直提供。</string>
|
||||
<string name="help_set_custom_keybox">设置自定义密钥</string>
|
||||
<string name="help_set_custom_keybox_description">从设备存储导入自定义密钥。仅支持 xml 文件。</string>
|
||||
<string name="help_set_security_patch">设置安全补丁</string>
|
||||
<string name="help_set_security_patch_description">设置自定义安全补丁。自动配置将使用 PIF 模块的安全补丁。留空保存则禁用自动配置。</string>
|
||||
<string name="help_set_verified_boot_hash">设置哈希值</string>
|
||||
<string name="help_set_verified_boot_hash_description">从 Key Attestation Demo 获取 verifiedBootHash(哈希值)。通过重置 ro.boot.vbmeta.digest 修复异常 boot 状态。</string>
|
||||
<!-- Update -->
|
||||
<string name="update_update_available">发现新的版本</string>
|
||||
<string name="update_redirect_to_release">点击下载最新版本</string>
|
||||
<string name="update_changelog">更新日志</string>
|
||||
<string name="update_install">安装</string>
|
||||
<string name="update_reboot">重启</string>
|
||||
<!-- Search -->
|
||||
<string name="search_bar_search_placeholder">搜索</string>
|
||||
<!-- Functional Button -->
|
||||
<string name="functional_button_save_and_update_button">保存</string>
|
||||
<string name="functional_button_uninstall_webui">卸载 WebUI</string>
|
||||
<!-- Loading -->
|
||||
<string name="loading_loading">加载中...</string>
|
||||
<!-- Menu -->
|
||||
<string name="menu_refresh">刷新</string>
|
||||
<string name="menu_select_all">全选</string>
|
||||
<string name="menu_deselect_all">取消全选</string>
|
||||
<string name="menu_select_denylist">从排除列表中选择</string>
|
||||
<string name="menu_deselect_unnecessary">取消选择非必要应用</string>
|
||||
<string name="menu_add_system_app">添加系统应用</string>
|
||||
<string name="menu_set_aosp_keybox">设置 AOSP 密钥</string>
|
||||
<string name="menu_set_unknown_keybox">设置未知密钥</string>
|
||||
<string name="menu_set_valid_keybox">设置有效密钥</string>
|
||||
<string name="menu_set_custom_keybox">设置自定义密钥</string>
|
||||
<string name="menu_set_verified_boot_hash">设置哈希值</string>
|
||||
<string name="menu_set_security_patch">设置安全补丁</string>
|
||||
<string name="menu_about">关于</string>
|
||||
<!-- Boot Hash -->
|
||||
<string name="boot_hash_title">哈希值</string>
|
||||
<string name="boot_hash_input_placeholder">在此粘贴您的哈希值</string>
|
||||
<string name="boot_hash_save_button">保存</string>
|
||||
<!-- About -->
|
||||
<string name="about_module_name_line1">TS插件</string>
|
||||
<string name="about_module_name_line2">更新目标列表</string>
|
||||
<string name="about_by">作者:</string>
|
||||
<string name="about_telegram_channel">TG频道</string>
|
||||
<string name="about_canary_update">下载最新测试版</string>
|
||||
<string name="about_disclaimer">此 WebUI 不是 Tricky Store 的一部分,遇到任何问题请勿向 Tricky Store 作者反馈。</string>
|
||||
<string name="about_acknowledgment">特别鸣谢</string>
|
||||
<!-- Prompt -->
|
||||
<string name="prompt_no_internet">请检查您的网络连接</string>
|
||||
<string name="prompt_aosp_key_set">成功设置 AOSP 密钥</string>
|
||||
<string name="prompt_key_set_error">更新密钥失败</string>
|
||||
<string name="prompt_unknown_key_set">成功设置未知密钥</string>
|
||||
<string name="prompt_valid_key_set">成功设置有效密钥</string>
|
||||
<string name="prompt_no_valid">未找到有效密钥。</string>
|
||||
<string name="prompt_boot_hash_set">哈希值重置成功</string>
|
||||
<string name="prompt_boot_hash_set_error">哈希值重置失败</string>
|
||||
<string name="prompt_saved_target">成功保存配置</string>
|
||||
<string name="prompt_save_error">保存配置失败</string>
|
||||
<string name="prompt_uninstall_prompt">WebUI 将在重启后被移除</string>
|
||||
<string name="prompt_uninstall_failed">卸载 WebUI 失败</string>
|
||||
<string name="prompt_checking_update">正在检测更新...</string>
|
||||
<string name="prompt_new_update">发现新的版本!</string>
|
||||
<string name="prompt_no_update">当前已是最新版本</string>
|
||||
<string name="prompt_downloading">正在下载...</string>
|
||||
<string name="prompt_downloaded">下载完成</string>
|
||||
<string name="prompt_download_fail">下载失败</string>
|
||||
<string name="prompt_installing">正常安装...</string>
|
||||
<string name="prompt_installed">安装完成,重启生效</string>
|
||||
<string name="prompt_install_fail">安装失败,请手动更新</string>
|
||||
<string name="prompt_rebooting">正在重启...</string>
|
||||
<string name="prompt_reboot_fail">重启失败,请手动重启</string>
|
||||
<string name="prompt_custom_key_set">成功设置自定义密钥</string>
|
||||
<string name="prompt_custom_key_set_error">设置自定义密钥失败</string>
|
||||
<string name="prompt_no_file_selected">未选择文件</string>
|
||||
<string name="prompt_system_app_not_found">未找到该系统应用</string>
|
||||
<string name="prompt_system_app_error">系统应用添加失败</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">安全补丁</string>
|
||||
<string name="security_patch_advanced_mode">高级</string>
|
||||
<string name="security_patch_get_date">获取安全补丁日期</string>
|
||||
<string name="security_patch_auto">自动</string>
|
||||
<string name="security_patch_save">保存</string>
|
||||
<string name="security_patch_fetching">获取中...</string>
|
||||
<string name="security_patch_fetched">完成</string>
|
||||
<string name="security_patch_get_failed">获取安全补丁日期失败</string>
|
||||
<string name="security_patch_unable_to_connect">无法连接至 source.android.com</string>
|
||||
<string name="security_patch_auto_success">自动配置成功启用</string>
|
||||
<string name="security_patch_auto_failed">无法启用自动配置</string>
|
||||
<string name="security_patch_save_success">安全补丁成功保存</string>
|
||||
<string name="security_patch_save_failed">保存安全补丁失败</string>
|
||||
<string name="security_patch_value_empty">安全补丁配置已禁用</string>
|
||||
<string name="security_patch_invalid_all">无效格式</string>
|
||||
<string name="security_patch_invalid_boot">无效 boot 格式</string>
|
||||
<string name="security_patch_invalid_system">无效 system 格式</string>
|
||||
<string name="security_patch_invalid_vendor">无效 vendor 格式</string>
|
||||
<!-- Add System App -->
|
||||
<string name="add_system_app_title">添加系统应用</string>
|
||||
<string name="add_system_app_add">添加</string>
|
||||
<string name="add_system_app_current_list">当前系统应用列表</string>
|
||||
<!-- Uninstall confirmation -->
|
||||
<string name="confirmation_uninstall_title">确认卸载?</string>
|
||||
<string name="confirmation_uninstall_message">您确定要卸载 TS 插件吗</string>
|
||||
<string name="confirmation_uninstall_cancel">取消</string>
|
||||
<string name="confirmation_uninstall_confirm">确认</string>
|
||||
</resources>
|
||||
125
module/webui/locales/strings/zh-TW.xml
Normal file
125
module/webui/locales/strings/zh-TW.xml
Normal file
@@ -0,0 +1,125 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="system_default">系統預設</string>
|
||||
<string name="more_language">更多</string>
|
||||
<!-- Header -->
|
||||
<string name="header_title">TS 插件</string>
|
||||
<!-- Help Menu-->
|
||||
<string name="help_help_instructions">使用指南</string>
|
||||
<string name="help_save_and_update">保存</string>
|
||||
<string name="help_save_and_update_description">保存當前配置到目標列表(target.txt)。</string>
|
||||
<string name="help_refresh">刷新</string>
|
||||
<string name="help_refresh_description">刷新應用列表和排除列表。</string>
|
||||
<string name="help_select_deselect">全選 & 取消全選</string>
|
||||
<string name="help_select_description">選擇或取消選擇當前界面中的所有應用。</string>
|
||||
<string name="help_select_denylist">從排除列表中選擇</string>
|
||||
<string name="help_select_denylist_description">僅適用於 Magisk,選擇在排除列表中的應用。推薦使用。</string>
|
||||
<string name="help_deselect_unnecessary">取消選擇非必要應用</string>
|
||||
<string name="help_deselect_unnecessary_description">非必要分類:Xposed 模組、root 管理器、與 root 相關的應用,以及從不檢查 bootloader 狀態的通用應用。此功能需連網使用。</string>
|
||||
<string name="help_add_system_app">添加系統應用</string>
|
||||
<string name="help_add_system_app_description">添加特定系統應用到應用列表。</string>
|
||||
<string name="help_set_keybox">設置 AOSP & 有效密鑰</string>
|
||||
<string name="help_set_keybox_description">替換 Tricky Store 的密鑰(keybox.xml)。有效密鑰選項需連網使用,不保證能一直提供。</string>
|
||||
<string name="help_set_custom_keybox">設置自定義密鑰</string>
|
||||
<string name="help_set_custom_keybox_description">從設備存儲導入自定義密鑰。僅支持 xml 文件。</string>
|
||||
<string name="help_set_security_patch">設置安全補丁</string>
|
||||
<string name="help_set_security_patch_description">設置自定義安全補丁。自動配置將使用 PIF 模組的安全補丁。留空保存則禁用自動配置。</string>
|
||||
<string name="help_set_verified_boot_hash">設置哈希值</string>
|
||||
<string name="help_set_verified_boot_hash_description">從 Key Attestation Demo 獲取 verifiedBootHash(哈希值)。通過重置 ro.boot.vbmeta.digest 修復異常 boot 狀態。</string>
|
||||
<!-- Update -->
|
||||
<string name="update_update_available">發現新版本</string>
|
||||
<string name="update_redirect_to_release">點擊下載最新版本</string>
|
||||
<string name="update_changelog">更新日誌</string>
|
||||
<string name="update_install">安裝</string>
|
||||
<string name="update_reboot">重啟</string>
|
||||
<!-- Search -->
|
||||
<string name="search_bar_search_placeholder">搜索</string>
|
||||
<!-- Functional Button -->
|
||||
<string name="functional_button_save_and_update_button">保存</string>
|
||||
<string name="functional_button_uninstall_webui">卸載 WebUI</string>
|
||||
<!-- Loading -->
|
||||
<string name="loading_loading">加載中...</string>
|
||||
<!-- Menu -->
|
||||
<string name="menu_refresh">刷新</string>
|
||||
<string name="menu_select_all">全選</string>
|
||||
<string name="menu_deselect_all">取消全選</string>
|
||||
<string name="menu_select_denylist">從排除列表中選擇</string>
|
||||
<string name="menu_deselect_unnecessary">取消選擇非必要應用</string>
|
||||
<string name="menu_add_system_app">添加系統應用</string>
|
||||
<string name="menu_set_aosp_keybox">設置 AOSP 密鑰</string>
|
||||
<string name="menu_set_unknown_keybox">設置未知密鑰</string>
|
||||
<string name="menu_set_valid_keybox">設置有效密鑰</string>
|
||||
<string name="menu_set_custom_keybox">設置自定義密鑰</string>
|
||||
<string name="menu_set_verified_boot_hash">設置哈希值</string>
|
||||
<string name="menu_set_security_patch">設置安全補丁</string>
|
||||
<string name="menu_about">關於</string>
|
||||
<!-- Boot Hash -->
|
||||
<string name="boot_hash_title">哈希值</string>
|
||||
<string name="boot_hash_input_placeholder">在此貼上您的哈希值</string>
|
||||
<string name="boot_hash_save_button">保存</string>
|
||||
<!-- About -->
|
||||
<string name="about_module_name_line1">TS 插件</string>
|
||||
<string name="about_module_name_line2">更新目標列表</string>
|
||||
<string name="about_by">作者:</string>
|
||||
<string name="about_telegram_channel">Telegram 頻道</string>
|
||||
<string name="about_canary_update">下載最新測試版</string>
|
||||
<string name="about_disclaimer">此 WebUI 並非 Tricky Store 的一部分,如遇任何問題請勿向 Tricky Store 作者反饋。</string>
|
||||
<string name="about_acknowledgment">特別鳴謝</string>
|
||||
<!-- Prompt -->
|
||||
<string name="prompt_no_internet">請檢查您的網絡連接</string>
|
||||
<string name="prompt_aosp_key_set">成功設置 AOSP 密鑰</string>
|
||||
<string name="prompt_key_set_error">更新密鑰失敗</string>
|
||||
<string name="prompt_unknown_key_set">成功設置未知密鑰</string>
|
||||
<string name="prompt_valid_key_set">成功設置有效密鑰</string>
|
||||
<string name="prompt_no_valid">未找到有效密鑰。</string>
|
||||
<string name="prompt_boot_hash_set">哈希值重置成功</string>
|
||||
<string name="prompt_boot_hash_set_error">哈希值重置失敗</string>
|
||||
<string name="prompt_saved_target">成功保存配置</string>
|
||||
<string name="prompt_save_error">保存配置失敗</string>
|
||||
<string name="prompt_uninstall_prompt">WebUI 將在重啟後被移除</string>
|
||||
<string name="prompt_uninstall_failed">卸載 WebUI 失敗</string>
|
||||
<string name="prompt_checking_update">正在檢測更新...</string>
|
||||
<string name="prompt_new_update">發現新版本!</string>
|
||||
<string name="prompt_no_update">當前已是最新版本</string>
|
||||
<string name="prompt_downloading">正在下載...</string>
|
||||
<string name="prompt_downloaded">下載完成</string>
|
||||
<string name="prompt_download_fail">下載失敗</string>
|
||||
<string name="prompt_installing">正在安裝...</string>
|
||||
<string name="prompt_installed">安裝完成,重啟生效</string>
|
||||
<string name="prompt_install_fail">安裝失敗,請手動更新</string>
|
||||
<string name="prompt_rebooting">正在重啟...</string>
|
||||
<string name="prompt_reboot_fail">重啟失敗,請手動重啟</string>
|
||||
<string name="prompt_custom_key_set">成功設置自定義密鑰</string>
|
||||
<string name="prompt_custom_key_set_error">設置自定義密鑰失敗</string>
|
||||
<string name="prompt_no_file_selected">未選擇文件</string>
|
||||
<string name="prompt_system_app_not_found">未找到該系統應用</string>
|
||||
<string name="prompt_system_app_error">系統應用添加失敗</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">安全補丁</string>
|
||||
<string name="security_patch_advanced_mode">進階</string>
|
||||
<string name="security_patch_get_date">獲取安全補丁日期</string>
|
||||
<string name="security_patch_auto">自動</string>
|
||||
<string name="security_patch_save">保存</string>
|
||||
<string name="security_patch_fetching">獲取中...</string>
|
||||
<string name="security_patch_fetched">完成</string>
|
||||
<string name="security_patch_get_failed">獲取安全補丁日期失敗</string>
|
||||
<string name="security_patch_unable_to_connect">無法連線至 source.android.com</string>
|
||||
<string name="security_patch_auto_success">自動配置成功啟用</string>
|
||||
<string name="security_patch_auto_failed">無法啟用自動配置</string>
|
||||
<string name="security_patch_save_success">安全補丁成功保存</string>
|
||||
<string name="security_patch_save_failed">保存安全補丁失敗</string>
|
||||
<string name="security_patch_value_empty">安全補丁配置已禁用</string>
|
||||
<string name="security_patch_invalid_all">無效格式</string>
|
||||
<string name="security_patch_invalid_boot">無效 boot 格式</string>
|
||||
<string name="security_patch_invalid_system">無效 system 格式</string>
|
||||
<string name="security_patch_invalid_vendor">無效 vendor 格式</string>
|
||||
<!-- Add System App -->
|
||||
<string name="add_system_app_title">添加系統應用</string>
|
||||
<string name="add_system_app_add">添加</string>
|
||||
<string name="add_system_app_current_list">當前系統應用列表</string>
|
||||
<!-- Uninstall confirmation -->
|
||||
<string name="confirmation_uninstall_title">確認卸載?</string>
|
||||
<string name="confirmation_uninstall_message">您確定要卸載 TS 插件嗎</string>
|
||||
<string name="confirmation_uninstall_cancel">取消</string>
|
||||
<string name="confirmation_uninstall_confirm">確認</string>
|
||||
</resources>
|
||||
126
module/webui/locales/template.xml
Normal file
126
module/webui/locales/template.xml
Normal file
@@ -0,0 +1,126 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="system_default">System Default</string>
|
||||
<string name="more_language">More</string>
|
||||
<!-- Header -->
|
||||
<string name="header_title">Tricky Addon</string>
|
||||
<!-- Help Menu-->
|
||||
<string name="help_help_instructions">Instructions</string>
|
||||
<string name="help_save_and_update">Save</string>
|
||||
<string name="help_save_and_update_description">Save current configure to target.txt.</string>
|
||||
<string name="help_refresh">Refresh</string>
|
||||
<string name="help_refresh_description">Refresh app list and exclude list.</string>
|
||||
<string name="help_select_deselect">Select & Deselect All</string>
|
||||
<string name="help_select_description">Select or deselect all apps in the current interface.</string>
|
||||
<string name="help_select_denylist">Select From DenyList</string>
|
||||
<string name="help_select_denylist_description">Available in Magisk only, select apps that are in the DenyList. Recommended.</string>
|
||||
<string name="help_deselect_unnecessary">Deselect Unnecessary</string>
|
||||
<string name="help_deselect_unnecessary_description">Unnecessary category: Xposed module, root manager, root-related apps, and general apps that never check bootloader status. This option requires Internet connection.</string>
|
||||
<string name="help_add_system_app">Add System App</string>
|
||||
<string name="help_add_system_app_description">Add specific system app to app list.</string>
|
||||
<string name="help_set_keybox">Set AOSP & Valid Keybox</string>
|
||||
<string name="help_set_keybox_description">Replace tricky store keybox.xml. Valid keybox option requires Internet connection and not always available.</string>
|
||||
<string name="help_set_custom_keybox">Set Custom Keybox</string>
|
||||
<string name="help_set_custom_keybox_description">Import keybox from your device storage. Only support xml file.</string>
|
||||
<string name="help_set_security_patch">Set Security Patch</string>
|
||||
<string name="help_set_security_patch_description">Set custom security patch spoof. Auto config will use security patch from PIF module. Leave blank and save to disable auto config.</string>
|
||||
<string name="help_set_verified_boot_hash">Set Verified Boot Hash</string>
|
||||
<string name="help_set_verified_boot_hash_description">Get verifiedBootHash value from Key Attestation Demo. Fix abnormal boot state by resetting ro.boot.vbmeta.digest.</string>
|
||||
<!-- Update -->
|
||||
<string name="update_update_available">A new version is ready</string>
|
||||
<string name="update_redirect_to_release">tap to download the latest version</string>
|
||||
<string name="update_changelog">Changelog</string>
|
||||
<string name="update_install">Install</string>
|
||||
<string name="update_reboot">Reboot</string>
|
||||
<!-- Search -->
|
||||
<string name="search_bar_search_placeholder">Search</string>
|
||||
<!-- Functional Button -->
|
||||
<string name="functional_button_save_and_update_button">Save</string>
|
||||
<string name="functional_button_uninstall_webui">Uninstall WebUI</string>
|
||||
<!-- Loading -->
|
||||
<string name="loading_loading">Loading...</string>
|
||||
<!-- Menu -->
|
||||
<string name="menu_refresh">Refresh</string>
|
||||
<string name="menu_select_all">Select All</string>
|
||||
<string name="menu_deselect_all">Deselect All</string>
|
||||
<string name="menu_select_denylist">Select From DenyList</string>
|
||||
<string name="menu_deselect_unnecessary">Deselect Unnecessary</string>
|
||||
<string name="menu_add_system_app">Add System App</string>
|
||||
<string name="menu_set_aosp_keybox">Set AOSP Keybox</string>
|
||||
<string name="menu_set_unknown_keybox">Set Unknown Keybox</string>
|
||||
<string name="menu_set_valid_keybox">Set Valid Keybox</string>
|
||||
<string name="menu_set_custom_keybox">Set Custom Keybox</string>
|
||||
<string name="menu_set_verified_boot_hash">Set Verified Boot Hash</string>
|
||||
<string name="menu_set_security_patch">Set Security Patch</string>
|
||||
<string name="menu_set_devconfig">Set DevConfig</string>
|
||||
<string name="menu_about">About</string>
|
||||
<!-- Boot Hash -->
|
||||
<string name="boot_hash_title">Boot Hash</string>
|
||||
<string name="boot_hash_input_placeholder">Paste your verified Boot Hash here</string>
|
||||
<string name="boot_hash_save_button">Save</string>
|
||||
<!-- About -->
|
||||
<string name="about_module_name_line1">Tricky Addon</string>
|
||||
<string name="about_module_name_line2">Update Target List</string>
|
||||
<string name="about_by">by</string>
|
||||
<string name="about_telegram_channel">Telegram Channel</string>
|
||||
<string name="about_canary_update">Update to latest canary version</string>
|
||||
<string name="about_disclaimer">This module is not a part of the Tricky Store module. DO NOT report any issues to Tricky Store if encountered.</string>
|
||||
<string name="about_acknowledgment">Acknowledgment</string>
|
||||
<!-- Prompt -->
|
||||
<string name="prompt_no_internet">Please check your Internet connection</string>
|
||||
<string name="prompt_aosp_key_set">AOSP keybox set successfully</string>
|
||||
<string name="prompt_key_set_error">Failed to update keybox</string>
|
||||
<string name="prompt_unknown_key_set">Unknown keybox set successfully</string>
|
||||
<string name="prompt_valid_key_set">Valid keybox set successfully</string>
|
||||
<string name="prompt_no_valid">No valid keybox found.</string>
|
||||
<string name="prompt_boot_hash_set">Verified Boot Hash saved successfully</string>
|
||||
<string name="prompt_boot_hash_set_error">Failed to update Verified Boot Hash</string>
|
||||
<string name="prompt_saved_target">Config saved to target.txt</string>
|
||||
<string name="prompt_save_error">Failed to save config</string>
|
||||
<string name="prompt_uninstall_prompt">WebUI will be removed after reboot</string>
|
||||
<string name="prompt_uninstall_failed">Failed to uninstall WebUI</string>
|
||||
<string name="prompt_checking_update">Checking update...</string>
|
||||
<string name="prompt_new_update">A new update is available!</string>
|
||||
<string name="prompt_no_update">There are currently no updates available</string>
|
||||
<string name="prompt_downloading">Downloading new update...</string>
|
||||
<string name="prompt_downloaded">Download completed</string>
|
||||
<string name="prompt_download_fail">Fail to download update</string>
|
||||
<string name="prompt_installing">Installing update...</string>
|
||||
<string name="prompt_installed">Installed successfully, reboot now.</string>
|
||||
<string name="prompt_install_fail">Fail to install, please update manually</string>
|
||||
<string name="prompt_rebooting">Rebooting...</string>
|
||||
<string name="prompt_reboot_fail">Fail to reboot, please reboot manually</string>
|
||||
<string name="prompt_custom_key_set">Custom keybox set successfully</string>
|
||||
<string name="prompt_custom_key_set_error">Failed to set custom keybox</string>
|
||||
<string name="prompt_no_file_selected">No file selected</string>
|
||||
<string name="prompt_system_app_not_found">System app not found</string>
|
||||
<string name="prompt_system_app_error">Failed to add system app</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">Security Patch</string>
|
||||
<string name="security_patch_advanced_mode">Advanced</string>
|
||||
<string name="security_patch_get_date">Get Security Patch Date</string>
|
||||
<string name="security_patch_auto">Auto</string>
|
||||
<string name="security_patch_save">Save</string>
|
||||
<string name="security_patch_fetching">Fetching...</string>
|
||||
<string name="security_patch_fetched">Done</string>
|
||||
<string name="security_patch_get_failed">Failed to fetch security patch date</string>
|
||||
<string name="security_patch_unable_to_connect">Unable to connect to source.android.com</string>
|
||||
<string name="security_patch_auto_success">Auto config enabled successfully</string>
|
||||
<string name="security_patch_auto_failed">Failed to enable auto config</string>
|
||||
<string name="security_patch_save_success">Security patch saved successfully</string>
|
||||
<string name="security_patch_save_failed">Failed to save security patch</string>
|
||||
<string name="security_patch_value_empty">Security patch configuration is disabled</string>
|
||||
<string name="security_patch_invalid_all">Invalid format</string>
|
||||
<string name="security_patch_invalid_boot">Invalid boot format</string>
|
||||
<string name="security_patch_invalid_system">Invalid system format</string>
|
||||
<string name="security_patch_invalid_vendor">Invalid vendor format</string>
|
||||
<!-- Add System App -->
|
||||
<string name="add_system_app_title">Add System App</string>
|
||||
<string name="add_system_app_add">Add</string>
|
||||
<string name="add_system_app_current_list">Current System App List</string>
|
||||
<!-- Uninstall confirmation -->
|
||||
<string name="confirmation_uninstall_title">Confirm Uninstall?</string>
|
||||
<string name="confirmation_uninstall_message">Are you sure you want to uninstall Tricky Addon</string>
|
||||
<string name="confirmation_uninstall_cancel">Cancel</string>
|
||||
<string name="confirmation_uninstall_confirm">Confirm</string>
|
||||
</resources>
|
||||
@@ -1,136 +0,0 @@
|
||||
{
|
||||
"language": "Filipino",
|
||||
"system_default": "Default ng Sistema",
|
||||
"header": {
|
||||
"title": "Tricky Addon"
|
||||
},
|
||||
"help": {
|
||||
"help_instructions": "Mga Tagubilin",
|
||||
"save_and_update": "I-save",
|
||||
"save_and_update_description": "I-save ang kasalukuyang configuration sa target.txt.",
|
||||
"refresh": "I-refresh",
|
||||
"refresh_description": "I-refresh ang listahan ng apps at exclude list.",
|
||||
"select_deselect": "Piliin & Huwag Pumili ng Lahat",
|
||||
"select_description": "Piliin o huwag piliin ang lahat ng apps sa kasalukuyang interface.",
|
||||
"select_denylist": "Piliin mula sa DenyList",
|
||||
"select_denylist_description": "Available lang sa Magisk, piliin ang mga app na nasa DenyList. Inirerekomenda.",
|
||||
"deselect_unnecessary": "Huwag Pumili ng Hindi Kinakailangan",
|
||||
"deselect_unnecessary_description": "Hindi kinakailangang kategorya: Xposed module, root manager, root-related apps, at mga karaniwang apps na hindi kailanman nire-refresh ang bootloader status. Nangangailangan ng koneksyon sa internet.",
|
||||
"add_system_app": "Magdagdag ng System App",
|
||||
"add_system_app_description": "Magdagdag ng tiyak na system app sa listahan ng apps.",
|
||||
"set_keybox": "I-set ang AOSP at Valid Keybox",
|
||||
"set_keybox_description": "Palitan ang tricky store keybox. Palitan ang AOSP keybox kung walang valid keybox. Nangangailangan ng koneksyon sa internet ang valid keybox option.",
|
||||
"set_custom_keybox": "I-set ang Custom Keybox",
|
||||
"set_custom_keybox_description": "Mag-import ng custom keybox mula sa iyong device storage. Sumusuporta lamang ng xml file.",
|
||||
"set_security_patch": "I-set ang Security Patch",
|
||||
"set_security_patch_description": "I-set ang custom security patch. Ang auto config ay mag-use ng security patch mula sa PIF module. I-leave blank at i-save para i-disable ang auto config.",
|
||||
"set_verified_boot_hash": "I-set ang Verified Boot Hash",
|
||||
"set_verified_boot_hash_description": "Kunin ang verifiedBootHash mula sa Key Attestation Demo. Ayusin ang abnormal na boot state sa pamamagitan ng pag-reset ng ro.boot.vbmeta.digest."
|
||||
},
|
||||
"update": {
|
||||
"update_available": "Handa na ang bagong bersyon",
|
||||
"redirect_to_release": "i-tap para i-download ang pinakabagong bersyon",
|
||||
"changelog": "Mga Pagbabago",
|
||||
"install": "I-install",
|
||||
"reboot": "I-reboot"
|
||||
},
|
||||
"search_bar": {
|
||||
"search_placeholder": "Maghanap"
|
||||
},
|
||||
"functional_button": {
|
||||
"save_and_update_button": "I-save",
|
||||
"uninstall_webui": "I-uninstall ang WebUI"
|
||||
},
|
||||
"loading": {
|
||||
"loading": "Naglo-load..."
|
||||
},
|
||||
"menu": {
|
||||
"refresh": "I-refresh",
|
||||
"select_all": "Piliin Lahat",
|
||||
"deselect_all": "Huwag Pumili ng Lahat",
|
||||
"select_denylist": "Piliin mula sa DenyList",
|
||||
"deselect_unnecessary": "Huwag Pumili ng Hindi Kinakailangan",
|
||||
"add_system_app": "Magdagdag ng System App",
|
||||
"set_aosp_keybox": "I-set ang AOSP Keybox",
|
||||
"set_unknow_keybox": "I-set ang Hindi Kilalang Keybox",
|
||||
"set_valid_keybox": "I-set ang Valid Keybox",
|
||||
"set_custom_keybox": "I-set ang Custom Keybox",
|
||||
"set_verified_boot_hash": "I-set ang Verified Boot Hash",
|
||||
"set_security_patch": "I-set ang Security Patch",
|
||||
"about": "Tungkol",
|
||||
"shortcut": "Gumawa ng shortcut sa home screen"
|
||||
},
|
||||
"boot_hash": {
|
||||
"title": "Boot Hash",
|
||||
"input_placeholder": "I-paste ang iyong verified Boot Hash dito",
|
||||
"save_button": "I-save"
|
||||
},
|
||||
"about": {
|
||||
"module_name_line1": "Tricky Addon",
|
||||
"module_name_line2": "I-update ang Target List",
|
||||
"by": "ni",
|
||||
"telegram_channel": "Telegram Channel",
|
||||
"github": "GitHub",
|
||||
"disclaimer": "Ang WebUI na ito ay hindi bahagi ng Tricky Store, HUWAG i-report sa may-akda ng Tricky Store kung makaranas ka ng anumang isyu.",
|
||||
"acknowledgment": "Pagkilala"
|
||||
},
|
||||
"prompt": {
|
||||
"no_internet": "Pakitingnan ang iyong koneksyon sa Internet",
|
||||
"aosp_key_set": "Matagumpay na na-set ang AOSP Keybox",
|
||||
"key_set_error": "Nabigong i-update ang keybox",
|
||||
"unknown_key_set": "Matagumpay na na-set ang Hindi Kilalang Keybox",
|
||||
"valid_key_set": "Matagumpay na na-set ang Valid Keybox",
|
||||
"no_valid": "Walang valid na keybox na natagpuan.",
|
||||
"boot_hash_set": "Matagumpay na na-save ang Verified Boot Hash",
|
||||
"boot_hash_set_error": "Nabigong i-update ang Verified Boot Hash",
|
||||
"saved_target": "Na-save ang configuration sa target.txt",
|
||||
"save_error": "Nabigong i-save ang config",
|
||||
"uninstall_prompt": "Mawawala ang WebUI pagkatapos ng reboot",
|
||||
"uninstall_failed": "Nabigong i-uninstall ang WebUI",
|
||||
"new_update": "May bagong update na available!",
|
||||
"downloading": "Nagda-download ng bagong update...",
|
||||
"downloaded": "Natapos ang pag-download",
|
||||
"download_fail": "Nabigo ang pag-download ng update",
|
||||
"installing": "Nag-i-install ng update...",
|
||||
"installed": "Matagumpay na na-install, mag-reboot na ngayon.",
|
||||
"install_fail": "Nabigo ang pag-install, pakisubukang mag-update nang manu-mano",
|
||||
"rebooting": "Nag-re-reboot...",
|
||||
"reboot_fail": "Nabigo ang pag-reboot, pakisubukang mag-reboot nang manu-mano",
|
||||
"custom_key_set": "Matagumpay na na-set ang Custom Keybox",
|
||||
"custom_key_set_error": "Nabigong i-set ang Custom Keybox",
|
||||
"no_file_selected": "Walang napiling file",
|
||||
"system_app_not_found": "Walang natagpuan na system app",
|
||||
"system_app_error": "Nabigong dagdag ang system app",
|
||||
"shortcut_created": "Matagumpay na nagawa ang shortcut sa home screen"
|
||||
},
|
||||
"security_patch": {
|
||||
"title": "Security Patch",
|
||||
"advanced_mode": "Advanced",
|
||||
"get_date": "Kunin ang Petsa ng Security Patch",
|
||||
"auto": "Auto",
|
||||
"save": "I-save",
|
||||
"fetching": "Kumukuha...",
|
||||
"fetched": "Tapos na",
|
||||
"get_failed": "Hindi makuha ang petsa ng security patch",
|
||||
"auto_success": "Matagumpay na na-enable ang auto config",
|
||||
"auto_failed": "Nabigong i-enable ang auto config",
|
||||
"save_success": "Matagumpay na na-save ang security patch",
|
||||
"save_failed": "Nabigong i-save ang security patch",
|
||||
"value_empty": "Naka-disable ang configuration ng security patch",
|
||||
"invalid_all": "Invalid format",
|
||||
"invalid_boot": "Invalid boot format",
|
||||
"invalid_system": "Invalid system format",
|
||||
"invalid_vendor": "Invalid vendor format"
|
||||
},
|
||||
"add_system_app": {
|
||||
"title": "Magdagdag ng System App",
|
||||
"add": "Idagdag",
|
||||
"current_list": "Kasalukuyang Listahan ng System App"
|
||||
},
|
||||
"confirmation": {
|
||||
"uninstall_title": "Kumpirmahin ang Pag-uninstall?",
|
||||
"uninstall_message": "Sigurado ka bang gusto mong i-uninstall ang Tricky Addon",
|
||||
"uninstall_cancel": "Kanselahin",
|
||||
"uninstall_confirm": "Kumpirmahin"
|
||||
}
|
||||
}
|
||||
@@ -1,136 +0,0 @@
|
||||
{
|
||||
"language": "Türkçe",
|
||||
"system_default": "Sistem Varsayılanı",
|
||||
"header": {
|
||||
"title": "Tricky Addon"
|
||||
},
|
||||
"help": {
|
||||
"help_instructions": "Talimatlar",
|
||||
"save_and_update": "Kaydet",
|
||||
"save_and_update_description": "Mevcut yapılandırmayı target.txt dosyasına kaydet.",
|
||||
"refresh": "Yenile",
|
||||
"refresh_description": "Uygulama ve hariç tutma listesini yenile.",
|
||||
"select_deselect": "Tümünü Seç & Seçimi Kaldır",
|
||||
"select_description": "Mevcut arayüzdeki tüm uygulamaları seç veya seçimini kaldır.",
|
||||
"select_denylist": "Reddetme Listesinden Seç",
|
||||
"select_denylist_description": "Yalnızca Magisk'te mevcut, Reddetme Listesindeki uygulamaları seç. Tavsiye edilir.",
|
||||
"deselect_unnecessary": "Gereksizleri Seçme",
|
||||
"deselect_unnecessary_description": "Gereksiz kategori: Xposed modülü, root yöneticisi, root ile ilgili uygulamalar ve asla bootloader durumunu kontrol etmeyen genel uygulamalar. Bu seçenek internet bağlantısı gerektirir.",
|
||||
"add_system_app": "Sistem Uygulaması Ekle",
|
||||
"add_system_app_description": "Belirli bir sistem uygulamasını uygulama listesine ekleyin.",
|
||||
"set_keybox": "AOSP & Geçerli Keybox Ayarla",
|
||||
"set_keybox_description": "Tricky Store'daki keybox.xml dosyasını değiştirir. Eğer geçerli bir keybox yoksa AOSP keybox ile değiştirilecektir. Geçerli keybox seçeneği internet bağlantısı gerektirir.",
|
||||
"set_custom_keybox": "Özel Keybox Ayarla",
|
||||
"set_custom_keybox_description": "Cihaz depolamasından bir keybox dosyasını içe aktarın. Sadece xml dosyaları desteklenir.",
|
||||
"set_security_patch": "Güvenlik Yaması Ayarla",
|
||||
"set_security_patch_description": "Özel güvenlik yamasını ayarlayın. Otomatik yapılandırma PIF modülünün güvenlik yamasını kullanacaktır. Boş bırakın ve kaydedin ki otomatik yapılandırma devre dışı bırakılsın.",
|
||||
"set_verified_boot_hash": "Doğrulanmış Boot Hash Ayarla",
|
||||
"set_verified_boot_hash_description": "Key Attestation Demo'dan verifiedBootHash değerini alın. Abnormal boot durumunu ro.boot.vbmeta.digest'i sıfırlayarak düzeltin."
|
||||
},
|
||||
"update": {
|
||||
"update_available": "Yeni bir sürüm hazır",
|
||||
"redirect_to_release": "Son sürümü indirmek için dokunun",
|
||||
"changelog": "Değişiklik Günlüğü",
|
||||
"install": "Yükle",
|
||||
"reboot": "Yeniden Başlat"
|
||||
},
|
||||
"search_bar": {
|
||||
"search_placeholder": "Ara"
|
||||
},
|
||||
"functional_button": {
|
||||
"save_and_update_button": "Kaydet",
|
||||
"uninstall_webui": "WebUI'ı Kaldır"
|
||||
},
|
||||
"loading": {
|
||||
"loading": "Yükleniyor..."
|
||||
},
|
||||
"menu": {
|
||||
"refresh": "Yenile",
|
||||
"select_all": "Tümünü Seç",
|
||||
"deselect_all": "Tüm Seçimleri Kaldır",
|
||||
"select_denylist": "Reddetme Listesinden Seç",
|
||||
"deselect_unnecessary": "Gereksizleri Seçme",
|
||||
"add_system_app": "Sistem Uygulaması Ekle",
|
||||
"set_aosp_keybox": "AOSP Keybox Ayarla",
|
||||
"set_unknow_keybox": "Bilinmeyen Keybox Ayarla",
|
||||
"set_valid_keybox": "Geçerli Keybox Ayarla",
|
||||
"set_custom_keybox": "Özel Keybox Ayarla",
|
||||
"set_security_patch": "Güvenlik Yaması Ayarla",
|
||||
"set_verified_boot_hash": "Doğrulanmış Boot Hash Ayarla",
|
||||
"about": "Hakkında",
|
||||
"shortcut": "Ana ekrana kısayol oluştur"
|
||||
},
|
||||
"boot_hash": {
|
||||
"title": "Boot Hash",
|
||||
"input_placeholder": "Doğrulanmış Boot Hash'inizi buraya yapıştırın",
|
||||
"save_button": "Kaydet"
|
||||
},
|
||||
"about": {
|
||||
"module_name_line1": "Tricky Addon",
|
||||
"module_name_line2": "Target List'i Güncelle",
|
||||
"by": "tarafından",
|
||||
"telegram_channel": "Telegram Kanalı",
|
||||
"github": "GitHub",
|
||||
"disclaimer": "Bu modül, Tricky Store modülünün bir parçası değildir. Herhangi bir sorun yaşarsanız, lütfen bunu Tricky Store'a rapor etmeyin.",
|
||||
"acknowledgment": "Teşekkürler"
|
||||
},
|
||||
"prompt": {
|
||||
"no_internet": "Lütfen internet bağlantınızı kontrol edin",
|
||||
"aosp_key_set": "AOSP keybox başarıyla ayarlandı",
|
||||
"key_set_error": "Keybox güncellenemedi",
|
||||
"unknown_key_set": "Bilinmeyen keybox başarıyla ayarlandı",
|
||||
"valid_key_set": "Geçerli keybox başarıyla ayarlandı",
|
||||
"no_valid": "Geçerli keybox bulunamadı.",
|
||||
"boot_hash_set": "Doğrulanmış Boot Hash başarıyla kaydedildi",
|
||||
"boot_hash_set_error": "Doğrulanmış Boot Hash güncellenemedi",
|
||||
"saved_target": "Yapılandırma target.txt dosyasına kaydedildi",
|
||||
"save_error": "Yapılandırma kaydedilemedi",
|
||||
"uninstall_prompt": "WebUI yeniden başlatma sonrasında kaldırılacak",
|
||||
"uninstall_failed": "WebUI kaldırılamadı",
|
||||
"new_update": "Yeni bir güncelleme mevcut!",
|
||||
"downloading": "Yeni güncelleme indiriliyor...",
|
||||
"downloaded": "İndirme tamamlandı",
|
||||
"download_fail": "Güncelleme indirilemedi",
|
||||
"installing": "Güncelleme yükleniyor...",
|
||||
"installed": "Başarıyla yüklendi, şimdi yeniden başlatın.",
|
||||
"install_fail": "Yükleme başarısız oldu, lütfen manuel olarak güncelleyin",
|
||||
"rebooting": "Yeniden başlatılıyor...",
|
||||
"reboot_fail": "Yeniden başlatma başarısız, lütfen manuel olarak yeniden başlatın",
|
||||
"custom_key_set": "Özel keybox başarıyla ayarlandı",
|
||||
"custom_key_set_error": "Özel keybox ayarlanamadı",
|
||||
"no_file_selected": "Dosya seçilmedi",
|
||||
"system_app_not_found": "Sistem uygulaması bulunamadı",
|
||||
"system_app_error": "Sistem uygulaması ekleme hatası",
|
||||
"shortcut_created": "Ana ekran kısayolu oluşturuldu"
|
||||
},
|
||||
"security_patch": {
|
||||
"title": "Güvenlik Yaması",
|
||||
"advanced_mode": "Gelişmiş",
|
||||
"get_date": "Güvenlik Yaması Tarihini Al",
|
||||
"auto": "Otomatik",
|
||||
"save": "Kaydet",
|
||||
"fetching": "Alınıyor...",
|
||||
"fetched": "Tamamlandı",
|
||||
"get_failed": "Güvenlik yaması tarihi alınamadı",
|
||||
"auto_success": "Otomatik yapılandırma başarıyla etkinleştirildi",
|
||||
"auto_failed": "Otomatik yapılandırma etkinleştirilemedi",
|
||||
"save_success": "Güvenlik yaması başarıyla kaydedildi",
|
||||
"save_failed": "Güvenlik yaması kaydedilemedi",
|
||||
"value_empty": "Güvenlik yaması yapılandırması devre dışı bırakıldı",
|
||||
"invalid_all": "Geçersiz format",
|
||||
"invalid_boot": "Geçersiz boot formatı",
|
||||
"invalid_system": "Geçersiz system formatı",
|
||||
"invalid_vendor": "Geçersiz vendor formatı"
|
||||
},
|
||||
"add_system_app": {
|
||||
"title": "Sistem Uygulaması Ekle",
|
||||
"add": "Ekle",
|
||||
"current_list": "Mevcut Sistem Uygulamaları Listesi"
|
||||
},
|
||||
"confirmation": {
|
||||
"uninstall_title": "Kaldırma İşlemi Onaylansın mı?",
|
||||
"uninstall_message": "Tricky Addon'u kaldırmak istediğinizden emin misiniz",
|
||||
"uninstall_cancel": "İptal",
|
||||
"uninstall_confirm": "Onayla"
|
||||
}
|
||||
}
|
||||
@@ -1,136 +0,0 @@
|
||||
{
|
||||
"language": "简体中文",
|
||||
"system_default": "系统默认",
|
||||
"header": {
|
||||
"title": "TS 插件"
|
||||
},
|
||||
"help": {
|
||||
"help_instructions": "使用指南",
|
||||
"save_and_update": "保存",
|
||||
"save_and_update_description": "保存当前配置到目标列表(target.txt)。",
|
||||
"refresh": "刷新",
|
||||
"refresh_description": "刷新应用列表和排除列表。",
|
||||
"select_deselect": "全选 & 取消全选",
|
||||
"select_description": "选择或取消选择当前界面中的所有应用。",
|
||||
"select_denylist": "从排除列表中选择",
|
||||
"select_denylist_description": "仅适用于 Magisk,选择在排除列表中的应用。推荐使用。",
|
||||
"deselect_unnecessary": "取消选择非必要应用",
|
||||
"deselect_unnecessary_description": "非必要分类:Xposed 模块、root 管理器、与 root 相关的应用,以及从不检查 bootloader 状态的通用应用。此功能需连网使用。",
|
||||
"add_system_app": "添加系统应用",
|
||||
"add_system_app_description": "添加特定系统应用到应用列表。",
|
||||
"set_keybox": "设置 AOSP & 有效密钥",
|
||||
"set_keybox_description": "替换 Tricky Store 的密钥(keybox.xml)。如果没有有效密钥,将替换为 AOSP 密钥。有效密钥选项需连网使用。",
|
||||
"set_custom_keybox": "设置自定义密钥",
|
||||
"set_custom_keybox_description": "从设备存储导入自定义密钥。仅支持 xml 文件。",
|
||||
"set_security_patch": "设置安全补丁",
|
||||
"set_security_patch_description": "设置自定义安全补丁。自动配置将使用 PIF 模块的安全补丁。留空保存则禁用自动配置。",
|
||||
"set_verified_boot_hash": "设置哈希值",
|
||||
"set_verified_boot_hash_description": "从 Key Attestation Demo 获取 verifiedBootHash(哈希值)。通过重置 ro.boot.vbmeta.digest 修复异常 boot 状态。"
|
||||
},
|
||||
"update": {
|
||||
"update_available": "发现新的版本",
|
||||
"redirect_to_release": "点击下载最新版本",
|
||||
"changelog": "更新日志",
|
||||
"install": "安装",
|
||||
"reboot": "重启"
|
||||
},
|
||||
"search_bar": {
|
||||
"search_placeholder": "搜索"
|
||||
},
|
||||
"functional_button": {
|
||||
"save_and_update_button": "保存",
|
||||
"uninstall_webui": "卸载 WebUI"
|
||||
},
|
||||
"loading": {
|
||||
"loading": "加载中..."
|
||||
},
|
||||
"menu": {
|
||||
"refresh": "刷新",
|
||||
"select_all": "全选",
|
||||
"deselect_all": "取消全选",
|
||||
"select_denylist": "从排除列表中选择",
|
||||
"deselect_unnecessary": "取消选择非必要应用",
|
||||
"add_system_app": "添加系统应用",
|
||||
"set_aosp_keybox": "设置 AOSP 密钥",
|
||||
"unknown_key_set": "设置未知密钥",
|
||||
"set_valid_keybox": "设置有效密钥",
|
||||
"set_custom_keybox": "设置自定义密钥",
|
||||
"set_security_patch": "设置安全补丁",
|
||||
"set_verified_boot_hash": "设置哈希值",
|
||||
"about": "关于",
|
||||
"shortcut": "创建桌面快捷方式"
|
||||
},
|
||||
"boot_hash": {
|
||||
"title": "哈希值",
|
||||
"input_placeholder": "在此粘贴您的哈希值",
|
||||
"save_button": "保存"
|
||||
},
|
||||
"about": {
|
||||
"module_name_line1": "TS插件",
|
||||
"module_name_line2": "更新目标列表",
|
||||
"by": "作者:",
|
||||
"telegram_channel": "TG频道",
|
||||
"github": "GitHub",
|
||||
"disclaimer": "此 WebUI 不是 Tricky Store 的一部分,遇到任何问题请勿向 Tricky Store 作者反馈。",
|
||||
"acknowledgment": "特别鸣谢"
|
||||
},
|
||||
"prompt": {
|
||||
"no_internet": "请检查您的网络连接",
|
||||
"aosp_key_set": "成功设置 AOSP 密钥",
|
||||
"key_set_error": "更新密钥失败",
|
||||
"unknown_key_set": "成功设置未知密钥",
|
||||
"valid_key_set": "成功设置有效密钥",
|
||||
"no_valid": "未找到有效密钥。",
|
||||
"boot_hash_set": "哈希值重置成功",
|
||||
"boot_hash_set_error": "哈希值重置失败",
|
||||
"saved_target": "成功保存配置",
|
||||
"save_error": "保存配置失败",
|
||||
"uninstall_prompt": "WebUI 将在重启后被移除",
|
||||
"uninstall_failed": "卸载 WebUI 失败",
|
||||
"new_update": "发现新的版本!",
|
||||
"downloading": "正在下载...",
|
||||
"downloaded": "下载完成",
|
||||
"download_fail": "下载失败",
|
||||
"installing": "正常安装...",
|
||||
"installed": "安装完成,重启生效",
|
||||
"install_fail": "安装失败,请手动更新",
|
||||
"rebooting": "正在重启...",
|
||||
"reboot_fail": "重启失败,请手动重启",
|
||||
"custom_key_set": "成功设置自定义密钥",
|
||||
"custom_key_set_error": "设置自定义密钥失败",
|
||||
"no_file_selected": "未选择文件",
|
||||
"system_app_not_found": "未找到该系统应用",
|
||||
"system_app_error": "系统应用添加失败",
|
||||
"shortcut_created": "桌面快捷方式已创建"
|
||||
},
|
||||
"security_patch": {
|
||||
"title": "安全补丁",
|
||||
"advanced_mode": "高级",
|
||||
"get_date": "获取安全补丁日期",
|
||||
"auto": "自动",
|
||||
"save": "保存",
|
||||
"fetching": "获取中...",
|
||||
"fetched": "完成",
|
||||
"get_failed": "获取安全补丁日期失败",
|
||||
"auto_success": "自动配置成功启用",
|
||||
"auto_failed": "无法启用自动配置",
|
||||
"save_success": "安全补丁成功保存",
|
||||
"save_failed": "保存安全补丁失败",
|
||||
"value_empty": "安全补丁配置已禁用",
|
||||
"invalid_all": "无效格式",
|
||||
"invalid_boot": "无效 boot 格式",
|
||||
"invalid_system": "无效 system 格式",
|
||||
"invalid_vendor": "无效 vendor 格式"
|
||||
},
|
||||
"add_system_app": {
|
||||
"title": "添加系统应用",
|
||||
"add": "添加",
|
||||
"current_list": "当前系统应用列表"
|
||||
},
|
||||
"confirmation": {
|
||||
"uninstall_title": "确认卸载?",
|
||||
"uninstall_message": "您确定要卸载 TS 插件吗",
|
||||
"uninstall_cancel": "取消",
|
||||
"uninstall_confirm": "确认"
|
||||
}
|
||||
}
|
||||
@@ -1,136 +0,0 @@
|
||||
{
|
||||
"language": "繁體中文",
|
||||
"system_default": "系統預設",
|
||||
"header": {
|
||||
"title": "TS 插件"
|
||||
},
|
||||
"help": {
|
||||
"help_instructions": "使用指南",
|
||||
"save_and_update": "保存",
|
||||
"save_and_update_description": "保存當前配置到目標列表(target.txt)。",
|
||||
"refresh": "刷新",
|
||||
"refresh_description": "刷新應用列表和排除列表。",
|
||||
"select_deselect": "全選 & 取消全選",
|
||||
"select_description": "選擇或取消選擇當前界面中的所有應用。",
|
||||
"select_denylist": "從排除列表中選擇",
|
||||
"select_denylist_description": "僅適用於 Magisk,選擇在排除列表中的應用。推薦使用。",
|
||||
"deselect_unnecessary": "取消選擇非必要應用",
|
||||
"deselect_unnecessary_description": "非必要分類:Xposed 模組、root 管理器、與 root 相關的應用,以及從不檢查 bootloader 狀態的通用應用。此功能需連網使用。",
|
||||
"add_system_app": "添加系統應用",
|
||||
"add_system_app_description": "添加特定系統應用到應用列表。",
|
||||
"set_keybox": "設置 AOSP & 有效密鑰",
|
||||
"set_keybox_description": "替換 Tricky Store 的密鑰(keybox.xml)。如果沒有有效密鑰,將替換為 AOSP 密鑰。有效密鑰選項需連網使用。",
|
||||
"set_custom_keybox": "設置自定義密鑰",
|
||||
"set_custom_keybox_description": "從設備存儲導入自定義密鑰。僅支持 xml 文件。",
|
||||
"set_security_patch": "設置安全補丁",
|
||||
"set_security_patch_description": "設置自定義安全補丁。自動配置將使用 PIF 模組的安全補丁。留空保存則禁用自動配置。",
|
||||
"set_verified_boot_hash": "設置哈希值",
|
||||
"set_verified_boot_hash_description": "從 Key Attestation Demo 獲取 verifiedBootHash(哈希值)。通過重置 ro.boot.vbmeta.digest 修復異常 boot 狀態。"
|
||||
},
|
||||
"update": {
|
||||
"update_available": "發現新版本",
|
||||
"redirect_to_release": "點擊下載最新版本",
|
||||
"changelog": "更新日誌",
|
||||
"install": "安裝",
|
||||
"reboot": "重啟"
|
||||
},
|
||||
"search_bar": {
|
||||
"search_placeholder": "搜索"
|
||||
},
|
||||
"functional_button": {
|
||||
"save_and_update_button": "保存",
|
||||
"uninstall_webui": "卸載 WebUI"
|
||||
},
|
||||
"loading": {
|
||||
"loading": "加載中..."
|
||||
},
|
||||
"menu": {
|
||||
"refresh": "刷新",
|
||||
"select_all": "全選",
|
||||
"deselect_all": "取消全選",
|
||||
"select_denylist": "從排除列表中選擇",
|
||||
"deselect_unnecessary": "取消選擇非必要應用",
|
||||
"add_system_app": "添加系統應用",
|
||||
"set_aosp_keybox": "設置 AOSP 密鑰",
|
||||
"set_unknow_keybox": "設置未知密鑰",
|
||||
"set_valid_keybox": "設置有效密鑰",
|
||||
"set_custom_keybox": "設置自定義密鑰",
|
||||
"set_security_patch": "設置安全補丁",
|
||||
"set_verified_boot_hash": "設置哈希值",
|
||||
"about": "關於",
|
||||
"shortcut": "建立主畫面捷徑"
|
||||
},
|
||||
"boot_hash": {
|
||||
"title": "哈希值",
|
||||
"input_placeholder": "在此貼上您的哈希值",
|
||||
"save_button": "保存"
|
||||
},
|
||||
"about": {
|
||||
"module_name_line1": "TS 插件",
|
||||
"module_name_line2": "更新目標列表",
|
||||
"by": "作者:",
|
||||
"telegram_channel": "Telegram 頻道",
|
||||
"github": "GitHub",
|
||||
"disclaimer": "此 WebUI 並非 Tricky Store 的一部分,如遇任何問題請勿向 Tricky Store 作者反饋。",
|
||||
"acknowledgment": "特別鳴謝"
|
||||
},
|
||||
"prompt": {
|
||||
"no_internet": "請檢查您的網絡連接",
|
||||
"aosp_key_set": "成功設置 AOSP 密鑰",
|
||||
"key_set_error": "更新密鑰失敗",
|
||||
"unknown_key_set": "成功設置未知密鑰",
|
||||
"valid_key_set": "成功設置有效密鑰",
|
||||
"no_valid": "未找到有效密鑰。",
|
||||
"boot_hash_set": "哈希值重置成功",
|
||||
"boot_hash_set_error": "哈希值重置失敗",
|
||||
"saved_target": "成功保存配置",
|
||||
"save_error": "保存配置失敗",
|
||||
"uninstall_prompt": "WebUI 將在重啟後被移除",
|
||||
"uninstall_failed": "卸載 WebUI 失敗",
|
||||
"new_update": "發現新版本!",
|
||||
"downloading": "正在下載...",
|
||||
"downloaded": "下載完成",
|
||||
"download_fail": "下載失敗",
|
||||
"installing": "正在安裝...",
|
||||
"installed": "安裝完成,重啟生效",
|
||||
"install_fail": "安裝失敗,請手動更新",
|
||||
"rebooting": "正在重啟...",
|
||||
"reboot_fail": "重啟失敗,請手動重啟",
|
||||
"custom_key_set": "成功設置自定義密鑰",
|
||||
"custom_key_set_error": "設置自定義密鑰失敗",
|
||||
"no_file_selected": "未選擇文件",
|
||||
"system_app_not_found": "未找到該系統應用",
|
||||
"system_app_error": "系統應用添加失敗",
|
||||
"shortcut_created": "主畫面捷徑已建立"
|
||||
},
|
||||
"security_patch": {
|
||||
"title": "安全補丁",
|
||||
"advanced_mode": "進階",
|
||||
"get_date": "獲取安全補丁日期",
|
||||
"auto": "自動",
|
||||
"save": "保存",
|
||||
"fetching": "獲取中...",
|
||||
"fetched": "完成",
|
||||
"get_failed": "獲取安全補丁日期失敗",
|
||||
"auto_success": "自動配置成功啟用",
|
||||
"auto_failed": "無法啟用自動配置",
|
||||
"save_success": "安全補丁成功保存",
|
||||
"save_failed": "保存安全補丁失敗",
|
||||
"value_empty": "安全補丁配置已禁用",
|
||||
"invalid_all": "無效格式",
|
||||
"invalid_boot": "無效 boot 格式",
|
||||
"invalid_system": "無效 system 格式",
|
||||
"invalid_vendor": "無效 vendor 格式"
|
||||
},
|
||||
"add_system_app": {
|
||||
"title": "添加系統應用",
|
||||
"add": "添加",
|
||||
"current_list": "當前系統應用列表"
|
||||
},
|
||||
"confirmation": {
|
||||
"uninstall_title": "確認卸載?",
|
||||
"uninstall_message": "您確定要卸載 TS 插件嗎",
|
||||
"uninstall_cancel": "取消",
|
||||
"uninstall_confirm": "確認"
|
||||
}
|
||||
}
|
||||
@@ -1,9 +1,12 @@
|
||||
import { linkRedirect } from './main.js';
|
||||
import { linkRedirect, basePath, showPrompt } from './main.js';
|
||||
import { spawn } from './assets/kernelsu.js';
|
||||
|
||||
const aboutOverlay = document.getElementById('about-overlay');
|
||||
const aboutContent = document.querySelector('.about-menu');
|
||||
const closeAbout = document.getElementById('close-about');
|
||||
|
||||
let isDownloading = false;
|
||||
|
||||
// Function to show about overlay
|
||||
document.getElementById("about").addEventListener("click", () => {
|
||||
// Show about menu
|
||||
@@ -32,9 +35,93 @@ aboutOverlay.addEventListener('click', (event) => {
|
||||
});
|
||||
|
||||
// Event listener for link redirect
|
||||
document.getElementById('telegram').addEventListener('click', function() {
|
||||
document.getElementById('telegram').addEventListener('click', () => {
|
||||
linkRedirect('https://t.me/kowchannel');
|
||||
});
|
||||
document.getElementById('github').addEventListener('click', function() {
|
||||
document.getElementById('github').addEventListener('click', () => {
|
||||
linkRedirect('https://github.com/KOWX712/Tricky-Addon-Update-Target-List');
|
||||
});
|
||||
});
|
||||
|
||||
// Update to latest canary verison
|
||||
document.getElementById('canary').addEventListener('click', () => {
|
||||
if (isDownloading) return;
|
||||
isDownloading = true;
|
||||
|
||||
showPrompt("prompt_checking_update", true, 10000);
|
||||
let htmlContent = '';
|
||||
const link = "https://nightly.link/KOWX712/Tricky-Addon-Update-Target-List/workflows/build/main?preview"
|
||||
const output = spawn('sh', [`${basePath}/common/get_extra.sh`, '--download', `${link}`],
|
||||
{ env: { PATH: "$PATH:/data/adb/ap/bin:/data/adb/ksu/bin:/data/adb/magisk" } });
|
||||
output.stdout.on('data', (data) => {
|
||||
htmlContent += data;
|
||||
});
|
||||
output.on('exit', async (code) => {
|
||||
if (code === 0) {
|
||||
const parser = new DOMParser();
|
||||
const doc = parser.parseFromString(htmlContent, "text/html");
|
||||
const zipURL = doc.querySelector('a[href$=".zip"]')?.href;
|
||||
|
||||
if (zipURL) {
|
||||
// Extract versionCode
|
||||
const parts = zipURL.split("-");
|
||||
const version = parts.length >= 2 ? parts[parts.length - 2] : null;
|
||||
|
||||
// Check local version
|
||||
const output = spawn('sh', [`${basePath}/common/get_extra.sh`, '--check-update', `${version}`], { env: { CANARY: "true" } });
|
||||
output.on('exit', (code) => {
|
||||
if (code === 0) {
|
||||
showPrompt("prompt_no_update");
|
||||
isDownloading = false;
|
||||
} else if (code === 1) {
|
||||
downloadUpdate(zipURL);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
console.error("No link found.");
|
||||
}
|
||||
} else {
|
||||
console.error("Error fetching ZIP link");
|
||||
isDownloading = false;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
/**
|
||||
* Funtion to download update
|
||||
* @param {string} link - link of file to download
|
||||
* @returns {void}
|
||||
*/
|
||||
function downloadUpdate(link) {
|
||||
showPrompt("prompt_downloading", true, 20000);
|
||||
const download = spawn('sh', [`${basePath}/common/get_extra.sh`, '--get-update', `${link}`],
|
||||
{ env: { PATH: "$PATH:/data/adb/ap/bin:/data/adb/ksu/bin:/data/adb/magisk:/data/data/com.termux/files/usr/bin" } });
|
||||
download.on('exit', (code) => {
|
||||
if (code === 0) {
|
||||
installUpdate();
|
||||
} else {
|
||||
showPrompt("prompt_download_fail", false);
|
||||
isDownloading = false;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Funtion to install update
|
||||
* @returns {void}
|
||||
*/
|
||||
function installUpdate() {
|
||||
showPrompt("prompt_installing");
|
||||
const output = spawn('sh', [`${basePath}/common/get_extra.sh`, '--install-update'],
|
||||
{ env: { PATH: "$PATH:/data/adb/ap/bin:/data/adb/ksu/bin:/data/adb/magisk" } });
|
||||
output.stderr.on('data', (data) => {
|
||||
console.error('Error during installation:', data);
|
||||
});
|
||||
output.on('exit', (code) => {
|
||||
if (code === 0) {
|
||||
showPrompt("prompt_installed");
|
||||
} else {
|
||||
showPrompt("prompt_install_fail", false);
|
||||
}
|
||||
isDownloading = false;
|
||||
});
|
||||
}
|
||||
|
||||
@@ -32,29 +32,46 @@ export async function fetchAppList() {
|
||||
});
|
||||
|
||||
// Fetch cached applist
|
||||
const response = await fetch('applist.json');
|
||||
const appList = await response.json();
|
||||
const appNameMap = appList.reduce((map, app) => {
|
||||
map[app.package_name] = app.app_name;
|
||||
return map;
|
||||
}, {});
|
||||
let appList = [], appNameMap = {};
|
||||
try {
|
||||
const response = await fetch('applist.json');
|
||||
appList = await response.json();
|
||||
appNameMap = appList.reduce((map, app) => {
|
||||
map[app.package_name] = app.app_name;
|
||||
return map;
|
||||
}, {});
|
||||
} catch (error) {
|
||||
console.warn("Failed to fetch applist.json:", error);
|
||||
appList = [];
|
||||
appNameMap = {};
|
||||
}
|
||||
|
||||
// Get installed packages
|
||||
let appEntries = [], installedPackages = [];
|
||||
const output = spawn('sh', [`${basePath}/common/get_extra.sh`, '--applist']);
|
||||
const output = spawn('sh', [`${basePath}/common/get_extra.sh`, '--applist'], { cwd: "/data/local/tmp" });
|
||||
output.stdout.on('data', (data) => {
|
||||
if (data.trim() === "") return;
|
||||
installedPackages.push(data);
|
||||
});
|
||||
output.stderr.on('data', (data) => {
|
||||
console.error("Error fetching applist: ", data);
|
||||
});
|
||||
output.on('exit', async () => {
|
||||
// Create appEntries array contain { appName, packageName }
|
||||
appEntries = await Promise.all(installedPackages.map(async (packageName) => {
|
||||
if (appNameMap[packageName]) {
|
||||
if (appNameMap[packageName] && appNameMap[packageName].trim() !== '') {
|
||||
return {
|
||||
appName: appNameMap[packageName],
|
||||
appName: appNameMap[packageName].trim(),
|
||||
packageName
|
||||
};
|
||||
}
|
||||
if (typeof ksu.getPackagesInfo === 'function') {
|
||||
const info = JSON.parse(ksu.getPackagesInfo(`[${packageName}]`));
|
||||
return {
|
||||
appName: info[0].appLabel,
|
||||
packageName
|
||||
}
|
||||
}
|
||||
if (typeof $packageManager !== 'undefined') {
|
||||
const info = $packageManager.getApplicationInfo(packageName, 0, 0);
|
||||
return {
|
||||
@@ -67,7 +84,7 @@ export async function fetchAppList() {
|
||||
{ env: { PATH: `$PATH:${basePath}/common:/data/data/com.termux/files/usr/bin` } });
|
||||
output.stdout.on('data', (data) => {
|
||||
resolve({
|
||||
appName: data,
|
||||
appName: data.trim() === '' ? packageName : data.trim(),
|
||||
packageName
|
||||
});
|
||||
});
|
||||
@@ -98,6 +115,10 @@ function renderAppList(data) {
|
||||
loadingIndicator.style.display = "none";
|
||||
hideFloatingBtn(false);
|
||||
if (updateCard) appListContainer.appendChild(updateCard);
|
||||
let showIcon = false;
|
||||
if (typeof $packageManager !== 'undefined' || typeof ksu.getPackagesIcons === 'function') {
|
||||
showIcon = true;
|
||||
}
|
||||
|
||||
// Append app
|
||||
const appendApps = (index) => {
|
||||
@@ -108,9 +129,7 @@ function renderAppList(data) {
|
||||
setupModeMenu();
|
||||
updateCheckboxColor();
|
||||
applyRippleEffect();
|
||||
if (typeof $packageManager !== 'undefined') {
|
||||
setupIconIntersectionObserver();
|
||||
}
|
||||
if (showIcon) setupIconIntersectionObserver();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -140,7 +159,7 @@ function renderAppList(data) {
|
||||
|
||||
const nameElement = appElement.querySelector(".name");
|
||||
nameElement.innerHTML = `
|
||||
<div class="app-icon-container" style="display:${typeof $packageManager !== 'undefined' ? 'flex' : 'none'};">
|
||||
<div class="app-icon-container" style="display:${showIcon ? 'flex' : 'none'};">
|
||||
<div class="loader" data-package="${packageName}"></div>
|
||||
<img src="" class="app-icon" data-package="${packageName}" />
|
||||
</div>
|
||||
@@ -198,7 +217,14 @@ function loadIcons(packageName) {
|
||||
imgElement.src = iconCache.get(packageName);
|
||||
loader.style.display = 'none';
|
||||
imgElement.style.opacity = '1';
|
||||
} else {
|
||||
} else if (typeof ksu.getPackagesIcons === 'function') {
|
||||
const app = JSON.parse(ksu.getPackagesIcons(`[${packageName}]`, 100));
|
||||
console.log(app);
|
||||
iconCache.set(packageName, app[0].icon);
|
||||
imgElement.src = app[0].icon;
|
||||
loader.style.display = 'none';
|
||||
imgElement.style.opacity = '1';
|
||||
} else if (typeof $packageManager !== 'undefined') {
|
||||
const stream = $packageManager.getApplicationIcon(packageName, 0, 0);
|
||||
wrapInputStream(stream)
|
||||
.then(r => r.arrayBuffer())
|
||||
|
||||
@@ -33,7 +33,11 @@ export function exec(command, options = {}) {
|
||||
delete window[successName];
|
||||
}
|
||||
try {
|
||||
ksu.exec(command, JSON.stringify(options), callbackFuncName);
|
||||
if (typeof ksu !== 'undefined') {
|
||||
ksu.exec(command, JSON.stringify(options), callbackFuncName);
|
||||
} else {
|
||||
resolve({ errno: 1, stdout: "", stderr: "ksu is not defined" });
|
||||
}
|
||||
} catch (error) {
|
||||
reject(error);
|
||||
cleanup(callbackFuncName);
|
||||
@@ -96,7 +100,14 @@ export function spawn(command, args = [], options = {}) {
|
||||
window[callbackName] = child;
|
||||
child.on("exit", () => delete window[callbackName]);
|
||||
try {
|
||||
ksu.spawn(command, JSON.stringify(args), JSON.stringify(options), callbackName);
|
||||
if (typeof ksu !== 'undefined') {
|
||||
ksu.spawn(command, JSON.stringify(args), JSON.stringify(options), callbackName);
|
||||
} else {
|
||||
setTimeout(() => {
|
||||
child.emit("error", "ksu is not defined");
|
||||
child.emit("exit", 1);
|
||||
}, 0);
|
||||
}
|
||||
} catch (error) {
|
||||
child.emit("error", error);
|
||||
delete window[callbackName];
|
||||
@@ -111,7 +122,11 @@ export function spawn(command, args = [], options = {}) {
|
||||
*/
|
||||
export function toast(message) {
|
||||
try {
|
||||
ksu.toast(message);
|
||||
if (typeof ksu !== 'undefined') {
|
||||
ksu.toast(message);
|
||||
} else {
|
||||
console.log(message);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Error displaying toast:", error);
|
||||
}
|
||||
|
||||
67
module/webui/scripts/assets/marked.min.js
vendored
67
module/webui/scripts/assets/marked.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -53,7 +53,7 @@ saveButton.addEventListener("click", async () => {
|
||||
}
|
||||
`, { env: { PATH: "/data/adb/ap/bin:/data/adb/ksu/bin:/data/adb/magisk:$PATH" } })
|
||||
.then(() => {
|
||||
showPrompt("prompt.boot_hash_set");
|
||||
showPrompt("prompt_boot_hash_set");
|
||||
closeBootHashMenu();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -1,12 +1,46 @@
|
||||
import { applyRippleEffect } from './main.js';
|
||||
import { applyRippleEffect, linkRedirect } from './main.js';
|
||||
|
||||
const languageButton = document.querySelector('.language-button');
|
||||
const languageMenu = document.querySelector('.language-menu');
|
||||
const languageOptions = document.querySelectorAll('.language-option');
|
||||
const languageOverlay = document.getElementById('language-overlay');
|
||||
const rtlLang = [
|
||||
'ar', // Arabic
|
||||
'fa', // Persian
|
||||
'he', // Hebrew
|
||||
'ur', // Urdu
|
||||
'ps', // Pashto
|
||||
'sd', // Sindhi
|
||||
'ku', // Kurdish
|
||||
'yi', // Yiddish
|
||||
'dv', // Dhivehi
|
||||
];
|
||||
|
||||
export let translations = {};
|
||||
let availableLanguages = ['en-US'];
|
||||
let baseTranslations = {};
|
||||
let availableLanguages = ['en'];
|
||||
let languageNames = {};
|
||||
|
||||
/**
|
||||
* Parse XML translation file into a JavaScript object
|
||||
* @param {string} xmlText - The XML content as string
|
||||
* @returns {Object} - Parsed translations
|
||||
*/
|
||||
function parseTranslationsXML(xmlText) {
|
||||
const parser = new DOMParser();
|
||||
const xmlDoc = parser.parseFromString(xmlText, 'text/xml');
|
||||
const strings = xmlDoc.getElementsByTagName('string');
|
||||
const translations = {};
|
||||
|
||||
for (let i = 0; i < strings.length; i++) {
|
||||
const string = strings[i];
|
||||
const name = string.getAttribute('name');
|
||||
const value = string.textContent;
|
||||
translations[name] = value;
|
||||
}
|
||||
|
||||
return translations;
|
||||
}
|
||||
|
||||
/**
|
||||
* Detect user's default language
|
||||
@@ -18,10 +52,10 @@ async function detectUserLanguage() {
|
||||
|
||||
try {
|
||||
// Fetch available languages
|
||||
const availableResponse = await fetch('locales/available-lang.json');
|
||||
const availableResponse = await fetch('locales/languages.json');
|
||||
const availableData = await availableResponse.json();
|
||||
availableLanguages = availableData.languages;
|
||||
await generateLanguageMenu();
|
||||
availableLanguages = Object.keys(availableData);
|
||||
languageNames = availableData;
|
||||
|
||||
// Fetch preferred language
|
||||
const prefered_language_code = localStorage.getItem('trickyAddonLanguage');
|
||||
@@ -34,11 +68,12 @@ async function detectUserLanguage() {
|
||||
} else if (availableLanguages.includes(langCode)) {
|
||||
return langCode;
|
||||
} else {
|
||||
return 'en-US';
|
||||
localStorage.removeItem('trickyAddonLanguage');
|
||||
return 'en';
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error detecting user language:', error);
|
||||
return 'en-US';
|
||||
return 'en';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,9 +82,48 @@ async function detectUserLanguage() {
|
||||
* @returns {Promise<void>}
|
||||
*/
|
||||
export async function loadTranslations() {
|
||||
const lang = await detectUserLanguage();
|
||||
const response = await fetch(`locales/${lang}.json`);
|
||||
translations = await response.json();
|
||||
try {
|
||||
// load Englsih as base translations
|
||||
const baseResponse = await fetch('locales/strings/en.xml');
|
||||
const baseXML = await baseResponse.text();
|
||||
baseTranslations = parseTranslationsXML(baseXML);
|
||||
|
||||
// load user's language if available
|
||||
const lang = await detectUserLanguage();
|
||||
if (lang !== 'en') {
|
||||
const response = await fetch(`locales/strings/${lang}.xml`);
|
||||
const userXML = await response.text();
|
||||
const userTranslations = parseTranslationsXML(userXML);
|
||||
translations = { ...baseTranslations, ...userTranslations };
|
||||
} else {
|
||||
translations = baseTranslations;
|
||||
}
|
||||
|
||||
// Support for rtl language
|
||||
const isRTL = rtlLang.includes(lang.split('-')[0]);
|
||||
if (isRTL) {
|
||||
document.documentElement.setAttribute('dir', 'rtl');
|
||||
document.documentElement.setAttribute('lang', lang);
|
||||
|
||||
// Load extra rtl css
|
||||
fetch('styles/rtl_styles.css')
|
||||
.then(res => res.text())
|
||||
.then(css => {
|
||||
const style = document.createElement('style');
|
||||
style.textContent = css;
|
||||
document.head.appendChild(style);
|
||||
});
|
||||
} else {
|
||||
document.documentElement.setAttribute('dir', 'ltr');
|
||||
document.documentElement.setAttribute('lang', lang);
|
||||
}
|
||||
|
||||
// Generate language menu
|
||||
await generateLanguageMenu();
|
||||
} catch (error) {
|
||||
console.error('Error loading translations:', error);
|
||||
translations = baseTranslations;
|
||||
}
|
||||
applyTranslations();
|
||||
applyRippleEffect();
|
||||
}
|
||||
@@ -60,8 +134,8 @@ export async function loadTranslations() {
|
||||
*/
|
||||
function applyTranslations() {
|
||||
document.querySelectorAll("[data-i18n]").forEach((el) => {
|
||||
const keyString = el.getAttribute("data-i18n");
|
||||
const translation = keyString.split('.').reduce((acc, key) => acc && acc[key], translations);
|
||||
const key = el.getAttribute("data-i18n");
|
||||
const translation = translations[key];
|
||||
if (translation) {
|
||||
if (el.hasAttribute("placeholder")) {
|
||||
el.setAttribute("placeholder", translation);
|
||||
@@ -111,10 +185,10 @@ export function setupLanguageMenu() {
|
||||
languageMenu.addEventListener("click", async (e) => {
|
||||
if (e.target.classList.contains("language-option")) {
|
||||
const lang = e.target.getAttribute("data-lang");
|
||||
localStorage.setItem('trickyAddonLanguage', lang);
|
||||
closeLanguageMenu();
|
||||
await new Promise(resolve => setTimeout(resolve, 200));
|
||||
loadTranslations(lang);
|
||||
if (lang) {
|
||||
localStorage.setItem('trickyAddonLanguage', lang);
|
||||
window.location.reload();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -134,18 +208,12 @@ async function generateLanguageMenu() {
|
||||
defaultButton.setAttribute('data-i18n', 'system_default');
|
||||
languageMenu.appendChild(defaultButton);
|
||||
|
||||
const languagePromises = availableLanguages.map(async (lang) => {
|
||||
try {
|
||||
const response = await fetch(`locales/${lang}.json`);
|
||||
const data = await response.json();
|
||||
return { lang, name: data.language || lang };
|
||||
} catch (error) {
|
||||
console.error(`Error fetching language name for ${lang}:`, error);
|
||||
return { lang, name: lang };
|
||||
}
|
||||
});
|
||||
const languageData = await Promise.all(languagePromises);
|
||||
const sortedLanguages = languageData.sort((a, b) => a.name.localeCompare(b.name));
|
||||
// Create and sort language entries
|
||||
const sortedLanguages = Object.entries(languageNames)
|
||||
.map(([lang, name]) => ({ lang, name }))
|
||||
.sort((a, b) => a.name.localeCompare(b.name));
|
||||
|
||||
// Add language buttons
|
||||
sortedLanguages.forEach(({ lang, name }) => {
|
||||
const button = document.createElement('button');
|
||||
button.classList.add('language-option', 'ripple-element');
|
||||
@@ -153,4 +221,11 @@ async function generateLanguageMenu() {
|
||||
button.textContent = name;
|
||||
languageMenu.appendChild(button);
|
||||
});
|
||||
|
||||
// Add translation guide button
|
||||
const moreBtn = document.createElement('button');
|
||||
moreBtn.classList.add('language-option', 'ripple-element');
|
||||
moreBtn.textContent = translations.more_language;
|
||||
moreBtn.onclick = () => linkRedirect('https://github.com/KOWX712/Tricky-Addon-Update-Target-List/blob/main/module/webui/locales/GUIDE.md');
|
||||
languageMenu.appendChild(moreBtn);
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ const floatingBtn = document.querySelector('.floating-btn');
|
||||
export let basePath;
|
||||
export const appsWithExclamation = [];
|
||||
export const appsWithQuestion = [];
|
||||
const ADDITIONAL_APPS = [ "android", "com.google.android.gms", "io.github.vvb2060.keyattestation", "io.github.vvb2060.mahoshojo", "icu.nullptr.nativetest" ]; // Always keep default apps in target.txt
|
||||
const ADDITIONAL_APPS = []; // Deprecated
|
||||
|
||||
// Variables
|
||||
let e = 0;
|
||||
@@ -27,8 +27,12 @@ let isRefreshing = false;
|
||||
|
||||
// Function to set basePath
|
||||
async function getBasePath() {
|
||||
const { errno } = await exec('[ -d /data/adb/modules/.TA_utl ]');
|
||||
basePath = errno === 0 ? "/data/adb/modules/.TA_utl" : "/data/adb/modules/TA_utl";
|
||||
try {
|
||||
const { errno } = await exec('[ -d /data/adb/modules/.TA_utl ]');
|
||||
basePath = errno === 0 ? "/data/adb/modules/.TA_utl" : "/data/adb/modules/TA_utl";
|
||||
} catch (error) {
|
||||
console.error("Error getting base path:", error);
|
||||
}
|
||||
}
|
||||
|
||||
// Function to load the version from module.prop
|
||||
@@ -64,13 +68,23 @@ function checkTrickyStoreVersion() {
|
||||
const securityPatchElement = document.getElementById('security-patch');
|
||||
exec(`
|
||||
TS_version=$(grep "versionCode=" "/data/adb/modules/tricky_store/module.prop" | cut -d'=' -f2)
|
||||
[ "$TS_version" -ge 158 ]
|
||||
`).then(({ errno }) => {
|
||||
if (errno === 0) {
|
||||
if grep -q "James" "/data/adb/modules/tricky_store/module.prop"; then
|
||||
echo 0
|
||||
elif [ "$TS_version" -ge 158 ]; then
|
||||
echo 0
|
||||
else
|
||||
echo $TS_version
|
||||
fi
|
||||
`).then(({ stdout }) => {
|
||||
if (stdout.trim() === "0") {
|
||||
securityPatchElement.style.display = "flex";
|
||||
} else {
|
||||
console.log("Tricky Store version is lower than 158, or fail to check Tricky store version.");
|
||||
console.log("Tricky Store version:", stdout.trim());
|
||||
}
|
||||
}).catch(error => {
|
||||
// debug usage
|
||||
console.error("Error checking Tricky Store version:", error);
|
||||
securityPatchElement.style.display = "flex";
|
||||
});
|
||||
}
|
||||
|
||||
@@ -85,8 +99,7 @@ function checkMagisk() {
|
||||
|
||||
// Function to show the prompt with a success or error message
|
||||
export function showPrompt(key, isSuccess = true, duration = 3000) {
|
||||
const message = key.split('.').reduce((acc, k) => acc && acc[k], translations) || key;
|
||||
prompt.textContent = message;
|
||||
prompt.textContent = translations[key];
|
||||
prompt.classList.toggle('error', !isSuccess);
|
||||
if (window.promptTimeout) {
|
||||
clearTimeout(window.promptTimeout);
|
||||
@@ -140,10 +153,10 @@ document.getElementById("save").addEventListener("click", () => {
|
||||
for (const app of appsWithQuestion) {
|
||||
exec(`sed -i 's/^${app}$/${app}?/' /data/adb/tricky_store/target.txt`);
|
||||
}
|
||||
showPrompt("prompt.saved_target");
|
||||
showPrompt("prompt_saved_target");
|
||||
refreshAppList();
|
||||
} else {
|
||||
showPrompt("prompt.save_error", false);
|
||||
showPrompt("prompt_save_error", false);
|
||||
}
|
||||
});
|
||||
});
|
||||
@@ -179,9 +192,9 @@ document.querySelector(".uninstall-container").addEventListener("click", () => {
|
||||
exec(`sh ${basePath}/common/get_extra.sh --uninstall`)
|
||||
.then(({ errno }) => {
|
||||
if (errno === 0) {
|
||||
showPrompt("prompt.uninstall_prompt");
|
||||
showPrompt("prompt_uninstall_prompt");
|
||||
} else {
|
||||
showPrompt("prompt.uninstall_failed", false);
|
||||
showPrompt("prompt_uninstall_failed", false);
|
||||
}
|
||||
});
|
||||
})
|
||||
@@ -192,14 +205,6 @@ function checkMMRL() {
|
||||
if (window.$tricky_store && Object.keys($tricky_store).length > 0) {
|
||||
// Set status bars theme based on device theme
|
||||
$tricky_store.setLightStatusBars(!window.matchMedia('(prefers-color-scheme: dark)').matches)
|
||||
|
||||
// Create home screen shortcut
|
||||
const shortcutButton = document.getElementById('shortcut');
|
||||
shortcutButton.style.display = 'flex';
|
||||
shortcutButton.addEventListener('click', () => {
|
||||
$tricky_store.createShortcut();
|
||||
showPrompt("prompt.shortcut_created", true);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -256,16 +261,26 @@ export function applyRippleEffect() {
|
||||
ripple.style.animationDuration = `${duration}s`;
|
||||
ripple.style.transition = `opacity ${duration}s ease`;
|
||||
|
||||
// Adaptive color
|
||||
const computedStyle = window.getComputedStyle(element);
|
||||
const bgColor = computedStyle.backgroundColor || "rgba(0, 0, 0, 0)";
|
||||
// Get effective background color (traverse up if transparent)
|
||||
const getEffectiveBackgroundColor = (el) => {
|
||||
while (el && el !== document.documentElement) {
|
||||
const bg = window.getComputedStyle(el).backgroundColor;
|
||||
if (bg && bg !== "rgba(0, 0, 0, 0)" && bg !== "transparent") {
|
||||
return bg;
|
||||
}
|
||||
el = el.parentElement;
|
||||
}
|
||||
return "rgba(255, 255, 255, 1)";
|
||||
};
|
||||
|
||||
const bgColor = getEffectiveBackgroundColor(element);
|
||||
const isDarkColor = (color) => {
|
||||
const rgb = color.match(/\d+/g);
|
||||
if (!rgb) return false;
|
||||
const [r, g, b] = rgb.map(Number);
|
||||
return (r * 0.299 + g * 0.587 + b * 0.114) < 96; // Luma formula
|
||||
};
|
||||
ripple.style.backgroundColor = isDarkColor(bgColor) ? "rgba(255, 255, 255, 0.2)" : "";
|
||||
ripple.style.backgroundColor = isDarkColor(bgColor) ? "rgba(255, 255, 255, 0.2)" : "rgba(0, 0, 0, 0.2)";
|
||||
|
||||
// Append ripple if not scrolling
|
||||
await new Promise(resolve => setTimeout(resolve, 80));
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { exec, toast } from './assets/kernelsu.js';
|
||||
import { exec, spawn, toast } from './assets/kernelsu.js';
|
||||
import { basePath, showPrompt, applyRippleEffect, refreshAppList } from './main.js';
|
||||
|
||||
// Function to check or uncheck all app
|
||||
@@ -115,7 +115,7 @@ export async function setupSystemAppMenu() {
|
||||
exec(`pm list packages -s | grep -q ${packageName}`)
|
||||
.then(({ errno }) => {
|
||||
if (errno !== 0) {
|
||||
showPrompt("prompt.system_app_not_found", false);
|
||||
showPrompt("prompt_system_app_not_found", false);
|
||||
} else {
|
||||
exec(`
|
||||
touch "/data/adb/tricky_store/system_app"
|
||||
@@ -193,7 +193,7 @@ KB_EOF
|
||||
async function aospkb() {
|
||||
const { stdout } = await exec(`xxd -r -p ${basePath}/common/.default | base64 -d`);
|
||||
const result = setKeybox(stdout);
|
||||
showPrompt(result ? "prompt.aosp_key_set" : "prompt.key_set_error", result);
|
||||
showPrompt(result ? "prompt_aosp_key_set" : "prompt_key_set_error", result);
|
||||
}
|
||||
|
||||
// aosp kb eventlistener
|
||||
@@ -203,10 +203,9 @@ document.getElementById("aospkb").addEventListener("click", async () => aospkb()
|
||||
* Fetch encoded keybox and decode
|
||||
* @param {String} link - link to fetch
|
||||
* @param {String} fallbackLink - fallback link
|
||||
* @param {Boolean} valid - fetching valid kb or not, default = false
|
||||
* @returns {void}
|
||||
*/
|
||||
async function fetchkb(link, fallbackLink, valid = false) {
|
||||
async function fetchkb(link, fallbackLink) {
|
||||
fetch(link)
|
||||
.then(response => {
|
||||
if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`);
|
||||
@@ -221,7 +220,7 @@ async function fetchkb(link, fallbackLink, valid = false) {
|
||||
})
|
||||
.then(data => {
|
||||
if (!data.trim()) {
|
||||
showPrompt(valid ? "prompt.no_valid" : "prompt.key_set_error", false);
|
||||
showPrompt("prompt_no_valid", false);
|
||||
return;
|
||||
}
|
||||
try {
|
||||
@@ -230,7 +229,7 @@ async function fetchkb(link, fallbackLink, valid = false) {
|
||||
const source = atob(decodedHex);
|
||||
const result = setKeybox(source);
|
||||
if (result) {
|
||||
showPrompt(valid ? "prompt.valid_key_set" : "prompt.unknown_key_set");
|
||||
showPrompt("prompt_valid_key_set");
|
||||
} else {
|
||||
throw new Error("Failed to copy valid keybox");
|
||||
}
|
||||
@@ -239,24 +238,24 @@ async function fetchkb(link, fallbackLink, valid = false) {
|
||||
}
|
||||
})
|
||||
.catch(async error => {
|
||||
showPrompt("prompt.no_internet", false);
|
||||
showPrompt("prompt_no_internet", false);
|
||||
});
|
||||
}
|
||||
|
||||
// unkown kb eventlistener
|
||||
document.getElementById("devicekb").addEventListener("click", async () => {
|
||||
fetchkb(
|
||||
"https://raw.githubusercontent.com/KOWX712/Tricky-Addon-Update-Target-List/bot/.device",
|
||||
"https://raw.gitmirror.com/KOWX712/Tricky-Addon-Update-Target-List/bot/.device"
|
||||
)
|
||||
const output = spawn("sh", [`${basePath}/common/get_extra.sh`, "--unknown-kb"],
|
||||
{ cwd: "/data/local/tmp", env: { PATH: `$PATH:${basePath}/common`, OPENSSL_CONF: "/dev/null" }});
|
||||
output.on('exit', (code) => {
|
||||
showPrompt(code === 0 ? "prompt_unknown_key_set" : "prompt_key_set_error", code === 0);
|
||||
});
|
||||
});
|
||||
|
||||
// valid kb eventlistener
|
||||
document.getElementById("validkb").addEventListener("click", () => {
|
||||
fetchkb(
|
||||
"https://raw.githubusercontent.com/KOWX712/Tricky-Addon-Update-Target-List/main/.extra",
|
||||
"https://raw.gitmirror.com/KOWX712/Tricky-Addon-Update-Target-List/main/.extra",
|
||||
true
|
||||
"https://raw.gitmirror.com/KOWX712/Tricky-Addon-Update-Target-List/main/.extra"
|
||||
)
|
||||
});
|
||||
|
||||
@@ -339,7 +338,7 @@ async function listFiles(path, skipAnimation = false) {
|
||||
} else {
|
||||
const { stdout } = await exec(`cat "${item.path}"`);
|
||||
const result = setKeybox(stdout);
|
||||
showPrompt(result ? "prompt.custom_key_set" : "prompt.custom_key_set_error", result);
|
||||
showPrompt(result ? "prompt_custom_key_set" : "prompt_custom_key_set_error", result);
|
||||
closeCustomKeyboxSelector();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1,19 +1,40 @@
|
||||
import { exec, spawn } from './assets/kernelsu.js';
|
||||
import { basePath, showPrompt } from './main.js';
|
||||
import { translations } from './language.js';
|
||||
|
||||
let jamesFork = false;
|
||||
|
||||
const overlay = document.getElementById('security-patch-overlay');
|
||||
const overlayContent = document.querySelector('.security-patch-card');
|
||||
const advancedToggleElement = document.querySelector('.advanced-toggle');
|
||||
const advancedToggle = document.getElementById('advanced-mode');
|
||||
const normalInputs = document.getElementById('normal-mode-inputs');
|
||||
const advancedInputs = document.getElementById('advanced-mode-inputs');
|
||||
const devconfigInputs = document.getElementById('devconfig-mode-inputs');
|
||||
const allPatchInput = document.getElementById('all-patch');
|
||||
const bootPatchInput = document.getElementById('boot-patch');
|
||||
const systemPatchInput = document.getElementById('system-patch');
|
||||
const vendorPatchInput = document.getElementById('vendor-patch');
|
||||
const devconfigPatchInput = document.getElementById('devconfig-securityPatch');
|
||||
const getButton = document.getElementById('get-patch');
|
||||
const autoButton = document.getElementById('auto-config');
|
||||
const saveButton = document.getElementById('save-patch');
|
||||
|
||||
// Configurable options in james' fork
|
||||
const devconfigOption = [
|
||||
'securityPatch',
|
||||
'osVersion',
|
||||
'brand',
|
||||
'device',
|
||||
'product',
|
||||
'manufacturer',
|
||||
'model',
|
||||
'serial',
|
||||
'meid',
|
||||
'imei',
|
||||
'imei2'
|
||||
];
|
||||
|
||||
// Hide security patch dialog
|
||||
const hideSecurityPatchDialog = () => {
|
||||
document.body.classList.remove("no-scroll");
|
||||
@@ -24,25 +45,31 @@ const hideSecurityPatchDialog = () => {
|
||||
}, 200);
|
||||
}
|
||||
|
||||
// Function to handle security patch operation
|
||||
/**
|
||||
* Save the security patch configuration to file
|
||||
* @param {string} mode - 'disable',
|
||||
'manual'
|
||||
* @param {string} value - The security patch value to save, if mode is 'manual'.
|
||||
*/
|
||||
function handleSecurityPatch(mode, value = null) {
|
||||
if (mode === 'disable') {
|
||||
exec(`
|
||||
rm -f /data/adb/tricky_store/security_patch_auto_config || true
|
||||
rm -f /data/adb/tricky_store/security_patch.txt || true
|
||||
rm -f /data/adb/tricky_store/devconfig.toml || true
|
||||
`).then(({ errno }) => {
|
||||
const result = errno === 0;
|
||||
showPrompt(result ? 'security_patch.value_empty' : 'security_patch.save_failed', result);
|
||||
return result;
|
||||
showPrompt('security_patch_value_empty');
|
||||
return errno === 0;
|
||||
});
|
||||
} else if (mode === 'manual') {
|
||||
const configFile = jamesFork ? '/data/adb/tricky_store/devconfig.toml' : '/data/adb/tricky_store/security_patch.txt';
|
||||
exec(`
|
||||
rm -f /data/adb/tricky_store/security_patch_auto_config || true
|
||||
echo "${value}" > /data/adb/tricky_store/security_patch.txt
|
||||
chmod 644 /data/adb/tricky_store/security_patch.txt
|
||||
${jamesFork ? '' : 'rm -f /data/adb/tricky_store/security_patch_auto_config || true'}
|
||||
echo "${value}" > ${configFile}
|
||||
chmod 644 ${configFile}
|
||||
`).then(({ errno }) => {
|
||||
const result = errno === 0;
|
||||
showPrompt(result ? 'security_patch.save_success' : 'security_patch.save_failed', result);
|
||||
showPrompt(result ? 'security_patch_save_success' : 'security_patch_save_failed', result);
|
||||
return result;
|
||||
});
|
||||
}
|
||||
@@ -53,7 +80,23 @@ async function loadCurrentConfig() {
|
||||
let allValue, systemValue, bootValue, vendorValue;
|
||||
try {
|
||||
const { errno } = await exec('[ -f /data/adb/tricky_store/security_patch_auto_config ]');
|
||||
if (errno === 0) {
|
||||
if (jamesFork) {
|
||||
const { stdout } = await exec('cat /data/adb/tricky_store/devconfig.toml');
|
||||
if (stdout.trim() !== '') {
|
||||
const lines = stdout.split('\n');
|
||||
for (const line of lines) {
|
||||
for (const option of devconfigOption) {
|
||||
if (line.startsWith(`${option} =`)) {
|
||||
const value = line.split('=')[1].trim().replace(/"/g, '');
|
||||
document.getElementById(`devconfig-${option}`).value = value;
|
||||
}
|
||||
if (!stdout.includes(option)) {
|
||||
document.getElementById(`devconfig-${option}`).value = '';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (errno === 0) {
|
||||
allValue = null;
|
||||
systemValue = null;
|
||||
bootValue = null;
|
||||
@@ -62,8 +105,8 @@ async function loadCurrentConfig() {
|
||||
// Read values from tricky_store if manual mode
|
||||
const { stdout } = await exec('cat /data/adb/tricky_store/security_patch.txt');
|
||||
if (stdout.trim() !== '') {
|
||||
const trickyLines = stdout.split('\n');
|
||||
for (const line of trickyLines) {
|
||||
const lines = stdout.split('\n');
|
||||
for (const line of lines) {
|
||||
if (line.startsWith('all=')) {
|
||||
allValue = line.split('=')[1] || null;
|
||||
if (allValue !== null) allPatchInput.value = allValue;
|
||||
@@ -101,6 +144,7 @@ async function loadCurrentConfig() {
|
||||
|
||||
// Function to check advanced mode
|
||||
function checkAdvanced(shouldCheck) {
|
||||
if (jamesFork) return;
|
||||
if (shouldCheck) {
|
||||
advancedToggle.checked = true;
|
||||
normalInputs.classList.add('hidden');
|
||||
@@ -113,7 +157,7 @@ function checkAdvanced(shouldCheck) {
|
||||
}
|
||||
|
||||
// Unified date formatting function
|
||||
window.formatDate = function(input, type) {
|
||||
window.formatDate = function(input) {
|
||||
let value = input.value.replace(/-/g, '');
|
||||
let formatted = value.slice(0, 4);
|
||||
|
||||
@@ -191,6 +235,16 @@ function isValid8Digit(value) {
|
||||
|
||||
// Initialize event listeners
|
||||
export function securityPatch() {
|
||||
exec(`grep -q "James" "/data/adb/modules/tricky_store/module.prop" && ! grep -q "beakthoven" "/data/adb/modules/tricky_store/module.prop"`)
|
||||
.then(({ errno }) => {
|
||||
if (errno === 0) {
|
||||
jamesFork = true;
|
||||
document.getElementById('security-patch').textContent = translations.menu_set_devconfig;
|
||||
advancedToggleElement.style.display = 'none';
|
||||
normalInputs.classList.add('hidden');
|
||||
devconfigInputs.classList.remove('hidden');
|
||||
}
|
||||
});
|
||||
document.getElementById("security-patch").addEventListener("click", () => {
|
||||
setTimeout(() => {
|
||||
document.body.classList.add("no-scroll");
|
||||
@@ -221,7 +275,7 @@ export function securityPatch() {
|
||||
const output = spawn('sh', [`${basePath}/common/get_extra.sh`, '--security-patch']);
|
||||
output.stdout.on('data', (data) => {
|
||||
if (data.includes("not set")) {
|
||||
showPrompt('security_patch.auto_failed', false);
|
||||
showPrompt('security_patch_auto_failed', false);
|
||||
}
|
||||
});
|
||||
output.on('exit', (code) => {
|
||||
@@ -234,9 +288,9 @@ export function securityPatch() {
|
||||
vendorPatchInput.value = '';
|
||||
|
||||
checkAdvanced(false);
|
||||
showPrompt('security_patch.auto_success');
|
||||
showPrompt('security_patch_auto_success');
|
||||
} else {
|
||||
showPrompt('security_patch.auto_failed', false);
|
||||
showPrompt('security_patch_auto_failed', false);
|
||||
}
|
||||
hideSecurityPatchDialog();
|
||||
loadCurrentConfig();
|
||||
@@ -245,7 +299,48 @@ export function securityPatch() {
|
||||
|
||||
// Save button
|
||||
saveButton.addEventListener('click', async () => {
|
||||
if (!advancedToggle.checked) {
|
||||
if (jamesFork) {
|
||||
const devconfig = new Map();
|
||||
for (const option of devconfigOption) {
|
||||
const input = document.getElementById(`devconfig-${option}`);
|
||||
if (input.value.trim() === '') continue;
|
||||
devconfig.set(option, input.value.trim());
|
||||
}
|
||||
|
||||
if (devconfig.size === 0) {
|
||||
handleSecurityPatch('disable');
|
||||
hideSecurityPatchDialog();
|
||||
return;
|
||||
}
|
||||
|
||||
if (!devconfig.has('securityPatch')) {
|
||||
exec('rm -f /data/adb/tricky_store/security_patch_auto_config || true');
|
||||
}
|
||||
|
||||
// Separate top-level and deviceProps
|
||||
const topLevelKeys = ['securityPatch', 'osVersion'];
|
||||
const topLevel = [];
|
||||
const deviceProps = [];
|
||||
|
||||
for (const [key, value] of devconfig.entries()) {
|
||||
if (topLevelKeys.includes(key)) {
|
||||
if (key === 'osVersion') {
|
||||
topLevel.push(`${key} = ${value}`);
|
||||
} else {
|
||||
topLevel.push(`${key} = \\"${value}\\"`);
|
||||
}
|
||||
} else {
|
||||
deviceProps.push(`${key} = \\"${value}\\"`);
|
||||
}
|
||||
}
|
||||
|
||||
let config = topLevel.join('\n');
|
||||
if (deviceProps.length > 0) {
|
||||
config += `\n[deviceProps]\n` + deviceProps.join('\n');
|
||||
}
|
||||
|
||||
handleSecurityPatch('manual', config);
|
||||
} else if (!advancedToggle.checked) {
|
||||
// Normal mode validation
|
||||
const allValue = allPatchInput.value.trim();
|
||||
if (!allValue) {
|
||||
@@ -255,7 +350,7 @@ export function securityPatch() {
|
||||
return;
|
||||
}
|
||||
if (!isValid8Digit(allValue)) {
|
||||
showPrompt('security_patch.invalid_all', false);
|
||||
showPrompt('security_patch_invalid_all', false);
|
||||
return;
|
||||
}
|
||||
const value = `all=${allValue}`;
|
||||
@@ -280,17 +375,17 @@ export function securityPatch() {
|
||||
}
|
||||
|
||||
if (systemValue && !isValid6Digit(systemValue)) {
|
||||
showPrompt('security_patch.invalid_system', false);
|
||||
showPrompt('security_patch_invalid_system', false);
|
||||
return;
|
||||
}
|
||||
|
||||
if (bootValue && !isValidDateFormat(bootValue)) {
|
||||
showPrompt('security_patch.invalid_boot', false);
|
||||
showPrompt('security_patch_invalid_boot', false);
|
||||
return;
|
||||
}
|
||||
|
||||
if (vendorValue && !isValidDateFormat(vendorValue)) {
|
||||
showPrompt('security_patch.invalid_vendor', false);
|
||||
showPrompt('security_patch_invalid_vendor', false);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -298,33 +393,42 @@ export function securityPatch() {
|
||||
systemValue ? `system=${systemValue}` : '',
|
||||
bootValue ? `boot=${bootValue}` : '',
|
||||
vendorValue ? `vendor=${vendorValue}` : ''
|
||||
].filter(Boolean);
|
||||
const value = config.filter(Boolean).join('\n');
|
||||
const result = handleSecurityPatch('manual', value);
|
||||
].filter(Boolean).join('\n');
|
||||
const result = handleSecurityPatch('manual', config);
|
||||
if (result) {
|
||||
// Reset inputs
|
||||
allPatchInput.value = '';
|
||||
}
|
||||
}
|
||||
overlayContent.scrollTop = 0;
|
||||
hideSecurityPatchDialog();
|
||||
loadCurrentConfig();
|
||||
});
|
||||
|
||||
// Get button
|
||||
getButton.addEventListener('click', async () => {
|
||||
showPrompt('security_patch.fetching');
|
||||
const output = spawn('sh', [`${basePath}/common/get_extra.sh`, '--get-security-patch']);
|
||||
showPrompt('security_patch_fetching');
|
||||
const output = spawn('sh', [`${basePath}/common/get_extra.sh`, '--get-security-patch'],
|
||||
{ cwd: "/data/local/tmp", env: { PATH: "/data/adb/ap/bin:/data/adb/ksu/bin:/data/adb/magisk:/data/data/com.termux/files/usr/bin:$PATH" }});
|
||||
output.stdout.on('data', (data) => {
|
||||
showPrompt('security_patch.fetched', true, 1000);
|
||||
showPrompt('security_patch_fetched', true, 1000);
|
||||
checkAdvanced(true);
|
||||
|
||||
allPatchInput.value = data.replace(/-/g, '');
|
||||
systemPatchInput.value = 'prop';
|
||||
bootPatchInput.value = data;
|
||||
vendorPatchInput.value = data;
|
||||
devconfigPatchInput.value = data;
|
||||
});
|
||||
output.stderr.on('data', (data) => {
|
||||
if (data.includes("failed")) {
|
||||
showPrompt('security_patch_unable_to_connect', false);
|
||||
} else {
|
||||
console.error(data);
|
||||
}
|
||||
});
|
||||
output.on('exit', (code) => {
|
||||
if (code !== 0) showPrompt('security_patch.get_failed', false);
|
||||
if (code !== 0) showPrompt('security_patch_get_failed', false);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@@ -55,14 +55,14 @@ export async function updateCheck() {
|
||||
const output = spawn('sh', [`${basePath}/common/get_extra.sh`, '--check-update', `${remoteVersionCode}`]);
|
||||
output.stdout.on('data', (data) => {
|
||||
if (data.includes("update")) {
|
||||
showPrompt("prompt.new_update", true, 1500);
|
||||
showPrompt("prompt_new_update", true, 1500);
|
||||
updateCard.style.display = "flex";
|
||||
setupUpdateMenu();
|
||||
}
|
||||
});
|
||||
} catch (error) {
|
||||
console.error("Error fetching JSON or executing command:", error);
|
||||
showPrompt("prompt.no_internet", false);
|
||||
showPrompt("prompt_no_internet", false);
|
||||
noConnection.style.display = "flex";
|
||||
}
|
||||
}
|
||||
@@ -123,7 +123,7 @@ function setupUpdateMenu() {
|
||||
rebootButton.style.display = "flex";
|
||||
openUpdateMenu();
|
||||
} else if (stdout.trim().includes("noChangelog")) {
|
||||
showPrompt("prompt.downloading");
|
||||
showPrompt("prompt_downloading");
|
||||
await downloadFile(changelogURL, "changelog.md");
|
||||
renderChangelog();
|
||||
openUpdateMenu();
|
||||
@@ -138,10 +138,10 @@ function setupUpdateMenu() {
|
||||
download.on('exit', (code) => {
|
||||
downloading = false;
|
||||
if (code === 0) {
|
||||
showPrompt("prompt.downloaded");
|
||||
showPrompt("prompt_downloaded");
|
||||
installButton.style.display = "flex";
|
||||
} else {
|
||||
showPrompt("prompt.download_fail", false);
|
||||
showPrompt("prompt_download_fail", false);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
@@ -159,19 +159,19 @@ function setupUpdateMenu() {
|
||||
|
||||
// Install button
|
||||
installButton.addEventListener('click', async () => {
|
||||
showPrompt("prompt.installing");
|
||||
showPrompt("prompt_installing");
|
||||
const output = spawn('sh', [`${basePath}/common/get_extra.sh`, '--install-update'],
|
||||
{ env: { PATH: "$PATH:/data/adb/ap/bin:/data/adb/ksu/bin:/data/adb/magisk" } });
|
||||
output.stderr.on('data', (data) => {
|
||||
console.error('Error during installation:', data);
|
||||
})
|
||||
});
|
||||
output.on('exit', (code) => {
|
||||
if (code === 0) {
|
||||
showPrompt("prompt.installed");
|
||||
showPrompt("prompt_installed");
|
||||
installButton.style.display = "none";
|
||||
rebootButton.style.display = "flex";
|
||||
} else {
|
||||
showPrompt("prompt.install_fail", false);
|
||||
showPrompt("prompt_install_fail", false);
|
||||
}
|
||||
});
|
||||
});
|
||||
@@ -179,11 +179,11 @@ function setupUpdateMenu() {
|
||||
// Reboot button
|
||||
rebootButton.addEventListener('click', async () => {
|
||||
try {
|
||||
showPrompt("prompt.rebooting");
|
||||
showPrompt("prompt_rebooting");
|
||||
await new Promise(resolve => setTimeout(resolve, 1000));
|
||||
await exec("svc power reboot");
|
||||
} catch (error) {
|
||||
showPrompt("prompt.reboot_fail", false);
|
||||
showPrompt("prompt_reboot_fail", false);
|
||||
console.error('Fail to reboot:', error);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
.about-menu p {
|
||||
margin: 0;
|
||||
font-size: 16px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#module_name_line1 {
|
||||
@@ -53,39 +52,34 @@
|
||||
}
|
||||
|
||||
.link-icon {
|
||||
display: inline-block;
|
||||
font-size: 17px;
|
||||
font-weight: bold;
|
||||
min-height: calc(1em + 20px);
|
||||
padding: 3px 10px;
|
||||
color: #fff;
|
||||
user-select: none;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
font-style: normal;
|
||||
border-radius: 8px;
|
||||
box-sizing: border-box;
|
||||
margin-bottom: 5px;
|
||||
transition: background-color 0.2s ease;
|
||||
}
|
||||
|
||||
.link-icon svg {
|
||||
padding-bottom: 3px;
|
||||
vertical-align: bottom;
|
||||
height: 17px;
|
||||
svg {
|
||||
fill: #fff;
|
||||
padding-right: 3px;
|
||||
}
|
||||
}
|
||||
|
||||
#telegram {
|
||||
font-size: 18px;
|
||||
padding: 3px 10px;
|
||||
background-color: #38A7ED;
|
||||
color: #fff;
|
||||
fill: #fff;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
#github {
|
||||
font-size: 18px;
|
||||
padding: 3px 10px;
|
||||
background-color: #606060;
|
||||
color: #fff;
|
||||
fill: #fff;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
#link-text {
|
||||
font-size: 17px;
|
||||
font-weight: bold;
|
||||
}
|
||||
#canary {
|
||||
background-color: #821284;
|
||||
}
|
||||
|
||||
@@ -255,7 +255,7 @@
|
||||
.app-icon {
|
||||
height: 100%;
|
||||
opacity: 0;
|
||||
transition: opacity 1s ease;
|
||||
transition: opacity 0.3s ease;
|
||||
}
|
||||
|
||||
@keyframes shimmer {
|
||||
@@ -273,7 +273,6 @@
|
||||
display: inline-block;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
.checkbox {
|
||||
|
||||
@@ -68,16 +68,15 @@
|
||||
align-items: center;
|
||||
padding: 10px;
|
||||
border-radius: 8px;
|
||||
background-color: var(--bg-secondary);
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.file-item svg {
|
||||
flex-shrink: 0;
|
||||
margin-right: 10px;
|
||||
fill: var(--text-secondary);
|
||||
svg {
|
||||
flex-shrink: 0;
|
||||
margin-right: 10px;
|
||||
fill: var(--text-secondary);
|
||||
}
|
||||
}
|
||||
|
||||
.file-item span {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
@import url('https://mui.kernelsu.org/mmrl/insets.css');
|
||||
@import url('https://mui.kernelsu.org/mmrl/colors.css');
|
||||
@import url('https://mui.kernelsu.org/internal/insets.css');
|
||||
@import url('https://mui.kernelsu.org/internal/colors.css');
|
||||
|
||||
:root {
|
||||
--top-inset: var(--window-inset-top, 0px);
|
||||
@@ -237,6 +237,10 @@ body {
|
||||
background-color: var(--btn-primary);
|
||||
}
|
||||
|
||||
.blur-box {
|
||||
backdrop-filter: blur(10px);
|
||||
}
|
||||
|
||||
.ripple-element {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
.header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
justify-content: flex-start;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
@@ -27,26 +27,34 @@
|
||||
}
|
||||
|
||||
.no-connection {
|
||||
padding: 0;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
display: none;
|
||||
margin-right: 0px;
|
||||
background: none;
|
||||
border: none;
|
||||
|
||||
svg {
|
||||
fill: var(--border-color);
|
||||
}
|
||||
}
|
||||
|
||||
.language-dropdown {
|
||||
margin-left: auto;
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.language-button {
|
||||
padding-top: 5px;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
background: none;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.language-icon {
|
||||
fill: var(--text-primary);
|
||||
svg {
|
||||
fill: var(--text-primary);
|
||||
}
|
||||
}
|
||||
|
||||
.language-menu {
|
||||
@@ -78,7 +86,7 @@
|
||||
padding: 8px 10px;
|
||||
text-align: center;
|
||||
color: var(--text-primary);
|
||||
background-color: var(--bg-secondary);
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
font-size: 16px;
|
||||
width: 100%;
|
||||
@@ -121,10 +129,16 @@
|
||||
}
|
||||
|
||||
.help-button {
|
||||
padding-left: 5px;
|
||||
margin-right: auto;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 5px;
|
||||
background: none;
|
||||
border: none;
|
||||
|
||||
svg {
|
||||
fill: var(--border-color);
|
||||
}
|
||||
}
|
||||
|
||||
.help-overlay {
|
||||
@@ -139,7 +153,6 @@
|
||||
background-color: var(--bg-secondary);
|
||||
padding: 30px;
|
||||
border-radius: 15px;
|
||||
text-align: left;
|
||||
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
@@ -148,7 +161,9 @@
|
||||
flex-direction: column;
|
||||
gap: 20px;
|
||||
max-height: calc(85vh - 60px);
|
||||
padding-bottom: 20px;
|
||||
overflow-y: auto;
|
||||
mask-image: linear-gradient(black 0%, black calc(100% - 20px), transparent 100%);
|
||||
}
|
||||
|
||||
.help-content-header {
|
||||
@@ -162,4 +177,4 @@
|
||||
|
||||
.instruction p {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
57
module/webui/styles/rtl_styles.css
Normal file
57
module/webui/styles/rtl_styles.css
Normal file
@@ -0,0 +1,57 @@
|
||||
#module-version,
|
||||
#title {
|
||||
padding-left: unset;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
.language-dropdown {
|
||||
margin-left: unset;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.language-menu {
|
||||
right: unset;
|
||||
left: 5px;
|
||||
transform-origin: top left;
|
||||
}
|
||||
|
||||
.close-btn {
|
||||
right: unset;
|
||||
left: 12px;
|
||||
}
|
||||
|
||||
.search-icon {
|
||||
left: unset;
|
||||
right: 15px;
|
||||
}
|
||||
|
||||
.search-card {
|
||||
left: unset;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.menu {
|
||||
right: unset;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.menu-options {
|
||||
right: unset;
|
||||
left: 0;
|
||||
transform: translateX(-120%);
|
||||
}
|
||||
|
||||
.app-icon-container {
|
||||
margin-right: unset;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.link-icon svg {
|
||||
padding-right: unset;
|
||||
padding-left: 3px;
|
||||
}
|
||||
|
||||
.file-item svg {
|
||||
margin-right: unset;
|
||||
margin-left: 10px;
|
||||
}
|
||||
@@ -37,7 +37,7 @@
|
||||
position: absolute;
|
||||
border: none;
|
||||
color: var(--text-primary);
|
||||
background-color: var(--bg-secondary);
|
||||
background-color: transparent;
|
||||
font-size: 17px;
|
||||
outline: none;
|
||||
left: 10px;
|
||||
@@ -113,7 +113,6 @@
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
#shortcut,
|
||||
#select-denylist,
|
||||
#security-patch {
|
||||
display: none;
|
||||
@@ -133,8 +132,6 @@
|
||||
|
||||
.menu-options li {
|
||||
padding: 12px 15px;
|
||||
text-align: left;
|
||||
background-color: var(--bg-secondary);
|
||||
}
|
||||
|
||||
.menu-options li::after {
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
|
||||
width: calc(90% - 60px);
|
||||
max-width: 300px;
|
||||
max-height: calc(80% - 60px);
|
||||
max-height: calc(60% - 60px);
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
|
||||
@@ -24,6 +24,10 @@
|
||||
"name": "KernelSU Next",
|
||||
"package-name": "com.rifsxd.ksunext"
|
||||
},
|
||||
{
|
||||
"name": "SukiSU Ultra",
|
||||
"package-name": "com.sukisu.ultra"
|
||||
},
|
||||
{
|
||||
"name": "Apatch",
|
||||
"package-name": "me.bmax.apatch"
|
||||
@@ -68,6 +72,10 @@
|
||||
{
|
||||
"name": "MMRL",
|
||||
"package-name": "com.dergoogler.mmrl"
|
||||
},
|
||||
{
|
||||
"name": "WebUI X",
|
||||
"package-name": "com.dergoogler.mmrl.wx"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
8
update.json
Executable file → Normal file
8
update.json
Executable file → Normal file
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"versionCode": 390,
|
||||
"version": "v3.9",
|
||||
"zipUrl": "https://github.com/KOWX712/Tricky-Addon-Update-Target-List/releases/download/v3.9/TrickyAddonModule-v3.9.zip",
|
||||
"versionCode": 572,
|
||||
"version": "v4.1",
|
||||
"zipUrl": "https://github.com/KOWX712/Tricky-Addon-Update-Target-List/releases/download/v4.1/TrickyAddonModule-v4.1.zip",
|
||||
"changelog": "https://raw.githubusercontent.com/KOWX712/Tricky-Addon-Update-Target-List/main/changelog.md"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user