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
41 Commits
a1df41bd01
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8237a5f6fd | ||
|
|
d9c05cb0e8 | ||
|
|
c8dbbce80c | ||
|
|
422d05e97b | ||
|
|
070f8a7597 | ||
|
|
8cb83690d6 | ||
|
|
ad3e1f7bb1 | ||
|
|
ddac4adf7d | ||
|
|
f1665c54e9 | ||
|
|
b4aa08cf3f | ||
|
|
b5d4efb292 | ||
|
|
0a9750902d | ||
|
|
2f5dd03530 | ||
|
|
3d9d2843fe | ||
|
|
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 |
2
.github/ISSUE_TEMPLATE/language_request.yml
vendored
2
.github/ISSUE_TEMPLATE/language_request.yml
vendored
@@ -33,6 +33,6 @@ body:
|
||||
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 (optional)
|
||||
placeholder: translate the template in module/webui/locales/template.xml (compress in zip format before upload)
|
||||
validations:
|
||||
required: false
|
||||
|
||||
11
.github/workflows/build.yml
vendored
11
.github/workflows/build.yml
vendored
@@ -11,6 +11,9 @@ on:
|
||||
- 'module/**'
|
||||
workflow_dispatch:
|
||||
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: build
|
||||
@@ -19,7 +22,7 @@ jobs:
|
||||
version_tag_exists: ${{ steps.check_tag.outputs.version_tag_exists }}
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
fetch-depth: 0
|
||||
fetch-tags: true
|
||||
@@ -43,10 +46,10 @@ jobs:
|
||||
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
|
||||
curl -LSs https://cdn.jsdelivr.net/npm/marked/marked.min.js > module/webui/scripts/assets/marked.min.js || echo "Failed to download marked.min.js"
|
||||
|
||||
# OpenSSL
|
||||
wget -q $(curl -Ls https://api.github.com/repos/KOWX712/openssl-static-build/releases/latest | jq -r '.assets[].browser_download_url') -O openssl.tar.gz
|
||||
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
|
||||
@@ -112,7 +115,7 @@ jobs:
|
||||
if: ${{ needs.build.outputs.version_tag_exists == 'false' && github.event_name != 'pull_request' }}
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
|
||||
7
.github/workflows/crowdin.yml
vendored
7
.github/workflows/crowdin.yml
vendored
@@ -1,4 +1,4 @@
|
||||
name: Crowdin Action
|
||||
name: crowdin
|
||||
|
||||
on:
|
||||
push:
|
||||
@@ -6,7 +6,7 @@ on:
|
||||
paths:
|
||||
- 'module/webui/locales/strings/*.xml'
|
||||
schedule:
|
||||
- cron: '0 0 * * *'
|
||||
- cron: '0 0 * * 0'
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
@@ -14,14 +14,13 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
|
||||
- name: Crowdin Action
|
||||
uses: crowdin/github-action@v2
|
||||
with:
|
||||
upload_sources: true
|
||||
upload_translations: true
|
||||
auto_approve_imported: true
|
||||
download_translations: true
|
||||
skip_untranslated_files: false
|
||||
skip_untranslated_strings: true
|
||||
|
||||
35
.github/workflows/generate.yml
vendored
35
.github/workflows/generate.yml
vendored
@@ -1,35 +0,0 @@
|
||||
name: generate
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 0 * * *"
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
generate:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: 'bot'
|
||||
|
||||
- name: Generate and encode
|
||||
run: |
|
||||
curl -Ls https://raw.githubusercontent.com/KOWX712/keyboxGenerator/main/keyboxGenerator_v2.0.py | python3
|
||||
base64 -w 0 "keybox.xml" | xxd -p | tr -d '\n' > .device
|
||||
|
||||
- name: Commit changes
|
||||
run: |
|
||||
git config --global user.name "github-actions[bot]"
|
||||
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
||||
git add .device
|
||||
LAST_COMMIT_MSG=$(git log -1 --pretty=%B)
|
||||
if [[ "$LAST_COMMIT_MSG" == "Update .device" ]]; then
|
||||
git commit --amend --no-edit
|
||||
git push --force
|
||||
else
|
||||
git commit -m "Update .device"
|
||||
git push
|
||||
fi
|
||||
@@ -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
|
||||
|
||||
@@ -8,6 +8,15 @@ 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).
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -118,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')
|
||||
@@ -131,19 +143,23 @@ 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)
|
||||
# Official TrickyStore which supports custom security patch
|
||||
if [ "$TS_version" -ge 158 ]; 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"
|
||||
# James Clef's TrickyStore fork (GitHub@qwq233/TrickyStore)
|
||||
elif grep -q "James" "/data/adb/modules/tricky_store/module.prop"; then
|
||||
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
|
||||
echo "securityPatch = \"$security_patch\"" >> "$SECURITY_PATCH_FILE"
|
||||
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"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
id=TA_utl
|
||||
name=Tricky Addon - Update Target List
|
||||
version=v4.0
|
||||
versionCode=538
|
||||
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
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -82,7 +82,6 @@
|
||||
<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>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -291,14 +290,54 @@
|
||||
</div>
|
||||
|
||||
<!-- James' fork input -->
|
||||
<div id="james-mode-inputs" class="normal-mode-inputs hidden">
|
||||
<div id="devconfig-mode-inputs" class="normal-mode-inputs hidden">
|
||||
<div class="input-group">
|
||||
<label id="security_patch-james">Security Patch</label>
|
||||
<input type="text" id="james-patch" placeholder="2025-01-01" autocapitalize="none" oninput="formatDate(this)" maxlength="10">
|
||||
<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 id="os-james">OS Version</label>
|
||||
<input type="text" id="james-os" placeholder="34" maxlength="2" autocapitalize="none">
|
||||
<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>
|
||||
|
||||
|
||||
110
module/webui/locales/CONTRIBUTOR.md
Normal file
110
module/webui/locales/CONTRIBUTOR.md
Normal file
@@ -0,0 +1,110 @@
|
||||
# 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)
|
||||
- [Mesazane](https://github.com/mesazane)
|
||||
|
||||
---
|
||||
|
||||
## Italian
|
||||
|
||||
- [luigimak](https://github.com/luigimak)
|
||||
- [GRgabrix](https://github.com/GRgabrix)
|
||||
|
||||
---
|
||||
|
||||
## Japanese
|
||||
|
||||
- [reindex-ot](https://github.com/reindex-ot)
|
||||
|
||||
---
|
||||
|
||||
## Korean
|
||||
|
||||
- [dhlrunner](https://github.com/dhlrunner)
|
||||
|
||||
---
|
||||
|
||||
## Polish
|
||||
|
||||
- [Bladius2024](https://github.com/Bladius2024)
|
||||
|
||||
---
|
||||
|
||||
## Portuguese (Brazilian)
|
||||
|
||||
- [JeanxPereira](https://github.com/JeanxPereira)
|
||||
- [SecretGogeta](https://github.com/SecretGogeta)
|
||||
|
||||
---
|
||||
|
||||
## Russian
|
||||
|
||||
- [Andfi](https://crowdin.com/profile/andfi)
|
||||
|
||||
---
|
||||
|
||||
## 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)
|
||||
- [Валентин Паник](https://crowdin.com/profile/panikvalentin)
|
||||
|
||||
---
|
||||
|
||||
## Vietnamese
|
||||
|
||||
- [doanvtamhuynh](https://github.com/doanvtamhuynh)
|
||||
- [SaleOff](https://github.com/SaleOff)
|
||||
@@ -3,11 +3,11 @@
|
||||
## Update Existing Language
|
||||
|
||||
- Update translation in [Crowdin](https://crowdin.com/project/TA_utl).
|
||||
- Since crowdin didn't preserve authorship, you can also leave a message in comment section of the pull request that opened by crowdin bot so I can give credit.
|
||||
- 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.
|
||||
- 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,20 +1,24 @@
|
||||
{
|
||||
"ar": "العربية",
|
||||
"az": "Azərbaycanca",
|
||||
"bn": "বাংলা",
|
||||
"de": "Deutsch",
|
||||
"el": "Ελληνικά",
|
||||
"en": "English",
|
||||
"es": "Español",
|
||||
"es-ES": "Español",
|
||||
"fa": "فارسی",
|
||||
"fr": "Français",
|
||||
"id": "Bahasa Indonesia",
|
||||
"it": "Italiano",
|
||||
"ja": "日本語",
|
||||
"pt": "Português",
|
||||
"ko": "한국어",
|
||||
"pt-BR": "Português",
|
||||
"pl": "Polski",
|
||||
"ru": "Русский",
|
||||
"tl": "Filipino",
|
||||
"tr": "Türkçe",
|
||||
"uk": "Українська",
|
||||
"vi": "Tiếng Việt",
|
||||
"zh-CN": "简体中文",
|
||||
"zh-TW": "繁體中文"
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<?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-->
|
||||
@@ -52,7 +53,6 @@
|
||||
<string name="menu_set_verified_boot_hash">تعيين تجزئة التمهيد الموثوق</string>
|
||||
<string name="menu_set_security_patch">تعيين تصحيح الأمان</string>
|
||||
<string name="menu_about">حول</string>
|
||||
<string name="menu_shortcut">إنشاء اختصار على الشاشة الرئيسية</string>
|
||||
<!-- Boot Hash -->
|
||||
<string name="boot_hash_title">تجزئة التمهيد</string>
|
||||
<string name="boot_hash_input_placeholder">الصق تجزئة التمهيد الموثوق هنا</string>
|
||||
@@ -62,6 +62,7 @@
|
||||
<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 -->
|
||||
@@ -77,7 +78,9 @@
|
||||
<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>
|
||||
@@ -91,7 +94,6 @@
|
||||
<string name="prompt_no_file_selected">لم يتم اختيار أي ملف</string>
|
||||
<string name="prompt_system_app_not_found">لم يتم العثور على تطبيق النظام</string>
|
||||
<string name="prompt_system_app_error">فشل في إضافة تطبيق النظام</string>
|
||||
<string name="prompt_shortcut_created">تم إنشاء اختصار على الشاشة الرئيسية</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">تصحيح الأمان</string>
|
||||
<string name="security_patch_advanced_mode">متقدم</string>
|
||||
|
||||
@@ -52,7 +52,6 @@
|
||||
<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>
|
||||
<string name="menu_shortcut">Ana ekran qısayolu yarat</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>
|
||||
@@ -91,7 +90,6 @@
|
||||
<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>
|
||||
<string name="prompt_shortcut_created">Ana ekran qısayolu yaradıldı</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>
|
||||
|
||||
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>
|
||||
@@ -3,7 +3,6 @@
|
||||
<string name="system_default">Systemstandard</string>
|
||||
<string name="more_language">Mehr</string>
|
||||
<!-- Header -->
|
||||
<string name="header_title">Tricky Addon</string>
|
||||
<!-- Help Menu-->
|
||||
<string name="help_help_instructions">Anleitung</string>
|
||||
<string name="help_save_and_update">Speichern</string>
|
||||
@@ -53,13 +52,11 @@
|
||||
<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>
|
||||
<string name="menu_shortcut">Verknüpfung auf dem Startbildschirm erstellen</string>
|
||||
<!-- Boot-Hash -->
|
||||
<!-- 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_line1">Tricky Addon</string>
|
||||
<string name="about_module_name_line2">Ziel-Liste aktualisieren</string>
|
||||
<string name="about_by">von</string>
|
||||
<string name="about_telegram_channel">Telegram-Kanal</string>
|
||||
@@ -95,7 +92,6 @@
|
||||
<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>
|
||||
<string name="prompt_shortcut_created">Verknüpfung auf dem Startbildschirm erstellt</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">Sicherheitspatch</string>
|
||||
<string name="security_patch_advanced_mode">Erweitert</string>
|
||||
|
||||
@@ -52,7 +52,6 @@
|
||||
<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>
|
||||
<string name="menu_shortcut">Δημιουργία συντόμευσης στην αρχική οθόνη</string>
|
||||
<!-- Boot Hash -->
|
||||
<string name="boot_hash_title">Boot Hash</string>
|
||||
<string name="boot_hash_input_placeholder">Επικόλλησε εδώ το Verified Boot Hash σου</string>
|
||||
@@ -91,7 +90,6 @@
|
||||
<string name="prompt_no_file_selected">Δεν επιλέχθηκε αρχείο</string>
|
||||
<string name="prompt_system_app_not_found">Η εφαρμογή συστήματος δεν βρέθηκε</string>
|
||||
<string name="prompt_system_app_error">Αποτυχία προσθήκης εφαρμογής συστήματος</string>
|
||||
<string name="prompt_shortcut_created">Η συντόμευση στην αρχική οθόνη δημιουργήθηκε</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">Security Patch</string>
|
||||
<string name="security_patch_advanced_mode">Προχωρημένο</string>
|
||||
|
||||
@@ -52,8 +52,8 @@
|
||||
<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>
|
||||
<string name="menu_shortcut">Create home screen shortcut</string>
|
||||
<!-- Boot Hash -->
|
||||
<string name="boot_hash_title">Boot Hash</string>
|
||||
<string name="boot_hash_input_placeholder">Paste your verified Boot Hash here</string>
|
||||
@@ -95,7 +95,6 @@
|
||||
<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>
|
||||
<string name="prompt_shortcut_created">Home screen shortcut created</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">Security Patch</string>
|
||||
<string name="security_patch_advanced_mode">Advanced</string>
|
||||
|
||||
@@ -52,7 +52,6 @@
|
||||
<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>
|
||||
<string name="menu_shortcut">Crear acceso directo en la pantalla de inicio</string>
|
||||
<!-- Boot Hash -->
|
||||
<string name="boot_hash_title">Boot Hash</string>
|
||||
<string name="boot_hash_input_placeholder">Pega aquí tu Boot Hash verificado</string>
|
||||
@@ -91,7 +90,6 @@
|
||||
<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>
|
||||
<string name="prompt_shortcut_created">Acceso directo creado en la pantalla de inicio</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">Parche de Seguridad</string>
|
||||
<string name="security_patch_advanced_mode">Avanzado</string>
|
||||
|
||||
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>
|
||||
@@ -53,7 +53,6 @@
|
||||
<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>
|
||||
<string name="menu_shortcut">Créer un raccourci sur l'écran d'accueil</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>
|
||||
@@ -95,7 +94,6 @@
|
||||
<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>
|
||||
<string name="prompt_shortcut_created">Raccourci créé sur l'écran d'accueil</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">Patch de sécurité</string>
|
||||
<string name="security_patch_advanced_mode">Avancé</string>
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="system_default">Default Sistem</string>
|
||||
<string name="more_language">Lainnya</string>
|
||||
<!-- Header -->
|
||||
<string name="header_title">Tricky Addon</string>
|
||||
<!-- Help Menu-->
|
||||
@@ -51,8 +52,8 @@
|
||||
<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_set_devconfig">Atur Konfigurasi Pengembang</string>
|
||||
<string name="menu_about">Tentang</string>
|
||||
<string name="menu_shortcut">Buat pintasan di layar utama</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>
|
||||
@@ -62,6 +63,7 @@
|
||||
<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_canary_update">Perbarui ke versi Canary terbaru</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 -->
|
||||
@@ -77,7 +79,9 @@
|
||||
<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_checking_update">Memeriksa pembaruan...</string>
|
||||
<string name="prompt_new_update">Pembaruan baru tersedia!</string>
|
||||
<string name="prompt_no_update">Saat ini tidak ada pembaruan yang 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>
|
||||
@@ -91,7 +95,6 @@
|
||||
<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>
|
||||
<string name="prompt_shortcut_created">Pintasan layar utama telah dibuat</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">Patch Keamanan</string>
|
||||
<string name="security_patch_advanced_mode">Mode Lanjutan</string>
|
||||
|
||||
@@ -53,7 +53,6 @@
|
||||
<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>
|
||||
<string name="menu_shortcut">Crea collegamento nella schermata iniziale</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>
|
||||
@@ -95,7 +94,6 @@
|
||||
<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>
|
||||
<string name="prompt_shortcut_created">Collegamento creato nella schermata iniziale</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">Patch di sicurezza</string>
|
||||
<string name="security_patch_advanced_mode">Avanzato</string>
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<?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-->
|
||||
@@ -51,8 +52,8 @@
|
||||
<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_set_devconfig">DevConfig を設定</string>
|
||||
<string name="menu_about">このアドオンについて</string>
|
||||
<string name="menu_shortcut">ホーム画面にショートカットを作成</string>
|
||||
<!-- Boot Hash -->
|
||||
<string name="boot_hash_title">ブートハッシュ</string>
|
||||
<string name="boot_hash_input_placeholder">確認付きブートハッシュをここに貼り付け</string>
|
||||
@@ -62,6 +63,7 @@
|
||||
<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 -->
|
||||
@@ -75,9 +77,11 @@
|
||||
<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_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>
|
||||
@@ -91,7 +95,6 @@
|
||||
<string name="prompt_no_file_selected">ファイルが選択されていません</string>
|
||||
<string name="prompt_system_app_not_found">システムアプリが見つかりません</string>
|
||||
<string name="prompt_system_app_error">システムアプリの追加に失敗しました</string>
|
||||
<string name="prompt_shortcut_created">ホーム画面にショートカットが作成されました</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">セキュリティパッチ</string>
|
||||
<string name="security_patch_advanced_mode">高度</string>
|
||||
|
||||
120
module/webui/locales/strings/ko.xml
Normal file
120
module/webui/locales/strings/ko.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 모듈, 루트 관리자, 루트 관련 앱, 및 부트로더 상태를 절대 확인하지 않는 일반 앱을 선택 해제합니다. 이 옵션은 인터넷 연결이 필요합니다.</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">Verified Boot 해시 설정</string>
|
||||
<string name="help_set_verified_boot_hash_description">Key Attestation Demo에서 검증된 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">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">Verified Boot 해시 설정</string>
|
||||
<string name="menu_set_security_patch">보안 패치 설정</string>
|
||||
<string name="menu_set_devconfig">DevConfig 설정</string>
|
||||
<string name="menu_about">정보</string>
|
||||
<!-- Boot Hash -->
|
||||
<string name="boot_hash_title">부트 해시</string>
|
||||
<string name="boot_hash_input_placeholder">여기에 검증된 Boot Hash 값을 입력하세요.</string>
|
||||
<string name="boot_hash_save_button">저장</string>
|
||||
<!-- About -->
|
||||
<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">Verified Boot 해쉬가 성공적으로 설정되었습니다.</string>
|
||||
<string name="prompt_boot_hash_set_error">Verified Boot 설정에 실패했습니다.</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">잘못된 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>
|
||||
@@ -53,7 +53,6 @@
|
||||
<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>
|
||||
<string name="menu_shortcut">Utwórz skrót do ekranu głównego</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>
|
||||
@@ -95,7 +94,6 @@
|
||||
<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>
|
||||
<string name="prompt_shortcut_created">Utworzono skrót do ekranu głównego</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">Poprawka zabezpieczeń</string>
|
||||
<string name="security_patch_advanced_mode">Zaawansowane</string>
|
||||
|
||||
@@ -53,7 +53,6 @@
|
||||
<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>
|
||||
<string name="menu_shortcut">Criar atalho na tela inicial</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>
|
||||
@@ -95,7 +94,6 @@
|
||||
<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>
|
||||
<string name="prompt_shortcut_created">Atalho na tela inicial criado com sucesso</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">Patch de segurança</string>
|
||||
<string name="security_patch_advanced_mode">Avançado</string>
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<?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-->
|
||||
@@ -17,13 +18,13 @@
|
||||
<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">Установить 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">Установить Security Patch</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">Установить 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>
|
||||
@@ -45,14 +46,14 @@
|
||||
<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_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_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_set_devconfig">Установить DevConfig</string>
|
||||
<string name="menu_about">О программе</string>
|
||||
<string name="menu_shortcut">Создать ярлык на главном экране</string>
|
||||
<!-- Boot Hash -->
|
||||
<string name="boot_hash_title">Boot Hash</string>
|
||||
<string name="boot_hash_input_placeholder">Вставьте свой проверенный Boot Hash сюда</string>
|
||||
@@ -62,6 +63,7 @@
|
||||
<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">Этот WebUI не является частью Tricky Store, НЕ сообщайте автору Tricky Store о любых возникающих проблемах.</string>
|
||||
<string name="about_acknowledgment">Благодарности</string>
|
||||
<!-- Prompt -->
|
||||
@@ -77,7 +79,9 @@
|
||||
<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>
|
||||
@@ -91,7 +95,6 @@
|
||||
<string name="prompt_no_file_selected">Файл не выбран</string>
|
||||
<string name="prompt_system_app_not_found">Системное приложение не найдено</string>
|
||||
<string name="prompt_system_app_error">Не удалось добавить системное приложение</string>
|
||||
<string name="prompt_shortcut_created">Ярлык на главном экране создан</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">Патч безопасности</string>
|
||||
<string name="security_patch_advanced_mode">Расширенный</string>
|
||||
@@ -101,6 +104,7 @@
|
||||
<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>
|
||||
|
||||
@@ -52,7 +52,6 @@
|
||||
<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>
|
||||
<string name="menu_shortcut">Gumawa ng shortcut sa home screen</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>
|
||||
@@ -91,7 +90,6 @@
|
||||
<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>
|
||||
<string name="prompt_shortcut_created">Matagumpay na nagawa ang shortcut sa home screen</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">Security Patch</string>
|
||||
<string name="security_patch_advanced_mode">Advanced</string>
|
||||
|
||||
@@ -53,7 +53,6 @@
|
||||
<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>
|
||||
<string name="menu_shortcut">Ana ekrana kısayol oluştur</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>
|
||||
@@ -95,7 +94,6 @@
|
||||
<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>
|
||||
<string name="prompt_shortcut_created">Ana ekran kısayolu oluşturuldu</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">Güvenlik Yaması</string>
|
||||
<string name="security_patch_advanced_mode">Gelişmiş</string>
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="system_default">System Default</string>
|
||||
<string name="more_language">Більше</string>
|
||||
<!-- Header -->
|
||||
<string name="header_title">Tricky Addon</string>
|
||||
<!-- Help Menu-->
|
||||
@@ -51,8 +52,8 @@
|
||||
<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_set_devconfig">Встановити конфігурацію розробника</string>
|
||||
<string name="menu_about">Деталі</string>
|
||||
<string name="menu_shortcut">Створити значок на домашньому екрані</string>
|
||||
<!-- Boot Hash -->
|
||||
<string name="boot_hash_title">Хеш завантаження</string>
|
||||
<string name="boot_hash_input_placeholder">Вставте перевірений хеш завантаження сюди</string>
|
||||
@@ -94,7 +95,6 @@
|
||||
<string name="prompt_no_file_selected">Не вибрано жодного файлу</string>
|
||||
<string name="prompt_system_app_not_found">Системний застосунок не знайдено</string>
|
||||
<string name="prompt_system_app_error">Не вдалося додати системний застосунок</string>
|
||||
<string name="prompt_shortcut_created">Створено значок на домашньому екрані</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">Патч безпеки</string>
|
||||
<string name="security_patch_advanced_mode">Розширені</string>
|
||||
|
||||
123
module/webui/locales/strings/vi.xml
Normal file
123
module/webui/locales/strings/vi.xml
Normal file
@@ -0,0 +1,123 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="system_default">Mặc định hệ thống</string>
|
||||
<string name="more_language">Thêm</string>
|
||||
<!-- Header -->
|
||||
<!-- Help Menu-->
|
||||
<string name="help_help_instructions">Hướng dẫn</string>
|
||||
<string name="help_save_and_update">Lưu</string>
|
||||
<string name="help_save_and_update_description">Lưu cấu hình hiện tại vào target.txt</string>
|
||||
<string name="help_refresh">Làm mới</string>
|
||||
<string name="help_refresh_description">Làm mới danh sách ứng dụng và danh sách loại trừ</string>
|
||||
<string name="help_select_deselect">Chọn & Bỏ chọn tất cả</string>
|
||||
<string name="help_select_description">Chọn hoặc bỏ chọn tất cả ứng dụng trong giao diện hiện tại</string>
|
||||
<string name="help_select_denylist">Chọn từ DenyList</string>
|
||||
<string name="help_select_denylist_description">Chỉ khả dụng trong Magisk, chọn ứng dụng nằm trong DenyList. Khuyến nghị sử dụng</string>
|
||||
<string name="help_deselect_unnecessary">Bỏ chọn không cần thiết</string>
|
||||
<string name="help_deselect_unnecessary_description">Danh mục không cần thiết: Trình quản lý root, module Xposed, ứng dụng liên quan đến root và các ứng dụng thông thường không bao giờ kiểm tra trạng thái bootloader. Tùy chọn này yêu cầu kết nối Internet</string>
|
||||
<string name="help_add_system_app">Thêm ứng dụng hệ thống</string>
|
||||
<string name="help_add_system_app_description">Thêm ứng dụng hệ thống cụ thể vào danh sách ứng dụng</string>
|
||||
<string name="help_set_keybox">Đặt AOSP & Keybox hợp lệ</string>
|
||||
<string name="help_set_keybox_description">Thay thế keybox.xml của Tricky Store. Tùy chọn Keybox hợp lệ yêu cầu kết nối Internet và không phải lúc nào cũng khả dụng</string>
|
||||
<string name="help_set_custom_keybox">Đặt Keybox tùy chỉnh</string>
|
||||
<string name="help_set_custom_keybox_description">Nhập Keybox từ bộ nhớ thiết bị của bạn. Chỉ hỗ trợ tệp xml</string>
|
||||
<string name="help_set_security_patch">Đặt bản vá bảo mật</string>
|
||||
<string name="help_set_security_patch_description">Đặt spoof bản vá bảo mật tùy chỉnh. Cấu hình tự động sẽ sử dụng bản vá bảo mật từ module PIF. Để trống và lưu để tắt cấu hình tự động</string>
|
||||
<string name="help_set_verified_boot_hash">Đặt Verified Boot Hash</string>
|
||||
<string name="help_set_verified_boot_hash_description">Lấy giá trị verifiedBootHash từ Key Attestation Demo. Sửa trạng thái boot bất thường bằng cách đặt lại ro.boot.vbmeta.digest</string>
|
||||
<!-- Update -->
|
||||
<string name="update_update_available">Đã có phiên bản mới</string>
|
||||
<string name="update_redirect_to_release">Nhấn để tải phiên bản mới nhất</string>
|
||||
<string name="update_changelog">Nhật ký thay đổi</string>
|
||||
<string name="update_install">Cài đặt</string>
|
||||
<string name="update_reboot">Khởi động lại</string>
|
||||
<!-- Search -->
|
||||
<string name="search_bar_search_placeholder">Tìm kiếm</string>
|
||||
<!-- Functional Button -->
|
||||
<string name="functional_button_save_and_update_button">Lưu</string>
|
||||
<string name="functional_button_uninstall_webui">Gỡ cài đặt WebUI</string>
|
||||
<!-- Loading -->
|
||||
<string name="loading_loading">Đang tải...</string>
|
||||
<!-- Menu -->
|
||||
<string name="menu_refresh">Làm mới</string>
|
||||
<string name="menu_select_all">Chọn tất cả</string>
|
||||
<string name="menu_deselect_all">Bỏ chọn tất cả</string>
|
||||
<string name="menu_select_denylist">Chọn từ DenyList</string>
|
||||
<string name="menu_deselect_unnecessary">Bỏ chọn không cần thiết</string>
|
||||
<string name="menu_add_system_app">Thêm ứng dụng hệ thống</string>
|
||||
<string name="menu_set_aosp_keybox">Đặt AOSP Keybox</string>
|
||||
<string name="menu_set_unknown_keybox">Đặt Keybox không xác định</string>
|
||||
<string name="menu_set_valid_keybox">Đặt Keybox hợp lệ</string>
|
||||
<string name="menu_set_custom_keybox">Đặt Keybox tùy chỉnh</string>
|
||||
<string name="menu_set_verified_boot_hash">Đặt Verified Boot Hash</string>
|
||||
<string name="menu_set_security_patch">Đặt bản vá bảo mật</string>
|
||||
<string name="menu_set_devconfig">Đặt DevConfig</string>
|
||||
<string name="menu_about">Giới thiệu</string>
|
||||
<!-- Boot Hash -->
|
||||
<string name="boot_hash_input_placeholder">Dán Verified Boot Hash của bạn vào đây</string>
|
||||
<string name="boot_hash_save_button">Lưu</string>
|
||||
<!-- About -->
|
||||
<string name="about_module_name_line2">Cập nhật danh sách mục tiêu</string>
|
||||
<string name="about_by">Bởi</string>
|
||||
<string name="about_telegram_channel">Kênh Telegram</string>
|
||||
<string name="about_canary_update">Cập nhật lên phiên bản canary mới nhất</string>
|
||||
<string name="about_disclaimer">Module này không phải là một phần của module Tricky Store. KHÔNG báo cáo bất kỳ vấn đề nào cho Tricky Store nếu gặp phải</string>
|
||||
<string name="about_acknowledgment">Lời cảm ơn</string>
|
||||
<!-- Prompt -->
|
||||
<string name="prompt_no_internet">Vui lòng kiểm tra kết nối Internet của bạn</string>
|
||||
<string name="prompt_aosp_key_set">Đã đặt AOSP keybox thành công</string>
|
||||
<string name="prompt_key_set_error">Không thể cập nhật keybox</string>
|
||||
<string name="prompt_unknown_key_set">Đã đặt keybox không xác định thành công</string>
|
||||
<string name="prompt_valid_key_set">Đã đặt keybox hợp lệ thành công</string>
|
||||
<string name="prompt_no_valid">Không tìm thấy Keybox hợp lệ</string>
|
||||
<string name="prompt_boot_hash_set">Đã lưu Verified Boot Hash thành công</string>
|
||||
<string name="prompt_boot_hash_set_error">Không thể cập nhật Verified Boot Hash</string>
|
||||
<string name="prompt_saved_target">Đã lưu cấu hình vào target.txt</string>
|
||||
<string name="prompt_save_error">Không thể lưu cấu hình</string>
|
||||
<string name="prompt_uninstall_prompt">WebUI sẽ bị Gỡ cài đặt sau khi khởi động lại</string>
|
||||
<string name="prompt_uninstall_failed">Không thể Gỡ cài đặt WebUI</string>
|
||||
<string name="prompt_checking_update">Đang kiểm tra cập nhật...</string>
|
||||
<string name="prompt_new_update">Có bản cập nhật mới!</string>
|
||||
<string name="prompt_no_update">Hiện không có bản cập nhật nào</string>
|
||||
<string name="prompt_downloading">Đang tải bản cập nhật mới...</string>
|
||||
<string name="prompt_downloaded">Tải xuống hoàn tất</string>
|
||||
<string name="prompt_download_fail">Không thể tải bản cập nhật</string>
|
||||
<string name="prompt_installing">Đang cài đặt bản cập nhật...</string>
|
||||
<string name="prompt_installed">Cài đặt thành công, khởi động lại ngay.</string>
|
||||
<string name="prompt_install_fail">Không thể cài đặt, vui lòng cập nhật thủ công</string>
|
||||
<string name="prompt_rebooting">Đang khởi động lại...</string>
|
||||
<string name="prompt_reboot_fail">Không thể khởi động lại, vui lòng khởi động lại thủ công</string>
|
||||
<string name="prompt_custom_key_set">Đã đặt keybox tùy chỉnh thành công</string>
|
||||
<string name="prompt_custom_key_set_error">Không thể đặt keybox tùy chỉnh</string>
|
||||
<string name="prompt_no_file_selected">Chưa chọn tệp nào</string>
|
||||
<string name="prompt_system_app_not_found">Không tìm thấy ứng dụng hệ thống</string>
|
||||
<string name="prompt_system_app_error">Không thể thêm ứng dụng hệ thống</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">Bản vá bảo mật</string>
|
||||
<string name="security_patch_advanced_mode">Nâng cao</string>
|
||||
<string name="security_patch_get_date">Lấy ngày bản vá bảo mật</string>
|
||||
<string name="security_patch_auto">Tự động</string>
|
||||
<string name="security_patch_save">Lưu</string>
|
||||
<string name="security_patch_fetching">Đang lấy...</string>
|
||||
<string name="security_patch_fetched">Hoàn tất</string>
|
||||
<string name="security_patch_get_failed">Không thể lấy ngày bản vá bảo mật</string>
|
||||
<string name="security_patch_unable_to_connect">Không thể kết nối tới source.android.com</string>
|
||||
<string name="security_patch_auto_success">Bật cấu hình tự động thành công</string>
|
||||
<string name="security_patch_auto_failed">Không thể bật cấu hình tự động</string>
|
||||
<string name="security_patch_save_success">Đã lưu bản vá bảo mật thành công</string>
|
||||
<string name="security_patch_save_failed">Không thể lưu bản vá bảo mật</string>
|
||||
<string name="security_patch_value_empty">Đã tắt cấu hình bản vá bảo mật</string>
|
||||
<string name="security_patch_invalid_all">Định dạng không hợp lệ</string>
|
||||
<string name="security_patch_invalid_boot">Định dạng boot không hợp lệ</string>
|
||||
<string name="security_patch_invalid_system">Định dạng system không hợp lệ</string>
|
||||
<string name="security_patch_invalid_vendor">Định dạng vendor không hợp lệ</string>
|
||||
<!-- Add System App -->
|
||||
<string name="add_system_app_title">Thêm ứng dụng hệ thống</string>
|
||||
<string name="add_system_app_add">Thêm</string>
|
||||
<string name="add_system_app_current_list">Danh sách ứng dụng hệ thống hiện tại</string>
|
||||
<!-- Uninstall confirmation -->
|
||||
<string name="confirmation_uninstall_title">Xác nhận gỡ cài đặt?</string>
|
||||
<string name="confirmation_uninstall_message">Bạn có chắc muốn Gỡ cài đặt Tricky Addon không?</string>
|
||||
<string name="confirmation_uninstall_cancel">Hủy</string>
|
||||
<string name="confirmation_uninstall_confirm">Xác nhận</string>
|
||||
</resources>
|
||||
@@ -53,7 +53,6 @@
|
||||
<string name="menu_set_verified_boot_hash">设置哈希值</string>
|
||||
<string name="menu_set_security_patch">设置安全补丁</string>
|
||||
<string name="menu_about">关于</string>
|
||||
<string name="menu_shortcut">创建桌面快捷方式</string>
|
||||
<!-- Boot Hash -->
|
||||
<string name="boot_hash_title">哈希值</string>
|
||||
<string name="boot_hash_input_placeholder">在此粘贴您的哈希值</string>
|
||||
@@ -95,7 +94,6 @@
|
||||
<string name="prompt_no_file_selected">未选择文件</string>
|
||||
<string name="prompt_system_app_not_found">未找到该系统应用</string>
|
||||
<string name="prompt_system_app_error">系统应用添加失败</string>
|
||||
<string name="prompt_shortcut_created">桌面快捷方式已创建</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">安全补丁</string>
|
||||
<string name="security_patch_advanced_mode">高级</string>
|
||||
|
||||
@@ -53,7 +53,6 @@
|
||||
<string name="menu_set_verified_boot_hash">設置哈希值</string>
|
||||
<string name="menu_set_security_patch">設置安全補丁</string>
|
||||
<string name="menu_about">關於</string>
|
||||
<string name="menu_shortcut">建立主畫面捷徑</string>
|
||||
<!-- Boot Hash -->
|
||||
<string name="boot_hash_title">哈希值</string>
|
||||
<string name="boot_hash_input_placeholder">在此貼上您的哈希值</string>
|
||||
@@ -95,7 +94,6 @@
|
||||
<string name="prompt_no_file_selected">未選擇文件</string>
|
||||
<string name="prompt_system_app_not_found">未找到該系統應用</string>
|
||||
<string name="prompt_system_app_error">系統應用添加失敗</string>
|
||||
<string name="prompt_shortcut_created">主畫面捷徑已建立</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">安全補丁</string>
|
||||
<string name="security_patch_advanced_mode">進階</string>
|
||||
|
||||
@@ -52,8 +52,8 @@
|
||||
<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>
|
||||
<string name="menu_shortcut">Create home screen shortcut</string>
|
||||
<!-- Boot Hash -->
|
||||
<string name="boot_hash_title">Boot Hash</string>
|
||||
<string name="boot_hash_input_placeholder">Paste your verified Boot Hash here</string>
|
||||
@@ -95,7 +95,6 @@
|
||||
<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>
|
||||
<string name="prompt_shortcut_created">Home screen shortcut created</string>
|
||||
<!-- Security Patch -->
|
||||
<string name="security_patch_title">Security Patch</string>
|
||||
<string name="security_patch_advanced_mode">Advanced</string>
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import { linkRedirect, basePath, showPrompt } from './main.js';
|
||||
import { translations } from './language.js';
|
||||
import { spawn, toast } from './assets/kernelsu.js';
|
||||
import { spawn } from './assets/kernelsu.js';
|
||||
|
||||
const aboutOverlay = document.getElementById('about-overlay');
|
||||
const aboutContent = document.querySelector('.about-menu');
|
||||
|
||||
@@ -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.stderr.emit("data", "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);
|
||||
}
|
||||
|
||||
@@ -101,23 +101,8 @@ export async function loadTranslations() {
|
||||
|
||||
// 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);
|
||||
}
|
||||
|
||||
document.documentElement.setAttribute('dir', isRTL ? 'rtl' : 'ltr');
|
||||
|
||||
// Generate language menu
|
||||
await generateLanguageMenu();
|
||||
} catch (error) {
|
||||
|
||||
@@ -68,7 +68,7 @@ function checkTrickyStoreVersion() {
|
||||
const securityPatchElement = document.getElementById('security-patch');
|
||||
exec(`
|
||||
TS_version=$(grep "versionCode=" "/data/adb/modules/tricky_store/module.prop" | cut -d'=' -f2)
|
||||
if grep -q "James" "/data/adb/modules/tricky_store/module.prop"; then
|
||||
if grep -qE "James|beakthoven" "/data/adb/modules/tricky_store/module.prop"; then
|
||||
echo 0
|
||||
elif [ "$TS_version" -ge 158 ]; then
|
||||
echo 0
|
||||
@@ -123,7 +123,7 @@ export function linkRedirect(link) {
|
||||
.then(({ errno }) => {
|
||||
if (errno !== 0) toast("Failed to open link");
|
||||
});
|
||||
},100);
|
||||
}, 100);
|
||||
}
|
||||
|
||||
// Save configure and preserve ! and ? in target.txt
|
||||
@@ -205,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);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import { exec, spawn } from './assets/kernelsu.js';
|
||||
import { basePath, showPrompt } from './main.js';
|
||||
import { translations } from './language.js';
|
||||
|
||||
let jamesFork = false;
|
||||
|
||||
@@ -9,17 +10,31 @@ 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 jamesInputs = document.getElementById('james-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 jamesPatchInput = document.getElementById('james-patch');
|
||||
const jamesOsInput = document.getElementById('james-os');
|
||||
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");
|
||||
@@ -32,7 +47,8 @@ const hideSecurityPatchDialog = () => {
|
||||
|
||||
/**
|
||||
* Save the security patch configuration to file
|
||||
* @param {string} mode - 'disable', 'manual'
|
||||
* @param {string} mode - 'disable',
|
||||
'manual'
|
||||
* @param {string} value - The security patch value to save, if mode is 'manual'.
|
||||
*/
|
||||
function handleSecurityPatch(mode, value = null) {
|
||||
@@ -69,13 +85,14 @@ async function loadCurrentConfig() {
|
||||
if (stdout.trim() !== '') {
|
||||
const lines = stdout.split('\n');
|
||||
for (const line of lines) {
|
||||
if (line.startsWith('securityPatch =')) {
|
||||
const jamesPatchValue = line.split('=')[1].trim().replace(/"/g, '');
|
||||
if (jamesPatchValue !== '') jamesPatchInput.value = jamesPatchValue;
|
||||
}
|
||||
if (line.startsWith('osVersion =')) {
|
||||
const jamesOsVersionValue = line.split('=')[1].trim().replace(/"/g, '');
|
||||
if (jamesOsVersionValue !== '') jamesOsInput.value = jamesOsVersionValue;
|
||||
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 = '';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -218,13 +235,14 @@ function isValid8Digit(value) {
|
||||
|
||||
// Initialize event listeners
|
||||
export function securityPatch() {
|
||||
exec(`grep -q "James" "/data/adb/modules/tricky_store/module.prop"`)
|
||||
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');
|
||||
jamesInputs.classList.remove('hidden');
|
||||
devconfigInputs.classList.remove('hidden');
|
||||
}
|
||||
});
|
||||
document.getElementById("security-patch").addEventListener("click", () => {
|
||||
@@ -282,19 +300,45 @@ export function securityPatch() {
|
||||
// Save button
|
||||
saveButton.addEventListener('click', async () => {
|
||||
if (jamesFork) {
|
||||
const securityPatchValue = jamesPatchInput.value.trim();
|
||||
const osVersionValue = jamesOsInput.value.trim();
|
||||
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 (!securityPatchValue) handleSecurityPatch('disable');
|
||||
if (!securityPatchValue && !osVersionValue) {
|
||||
if (devconfig.size === 0) {
|
||||
handleSecurityPatch('disable');
|
||||
hideSecurityPatchDialog();
|
||||
return;
|
||||
}
|
||||
|
||||
const config = [
|
||||
securityPatchValue ? `securityPatch = \\"${securityPatchValue}\\"` : '',
|
||||
osVersionValue ? `osVersion = ${osVersionValue}` : ''
|
||||
].filter(Boolean).join('\n');
|
||||
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
|
||||
@@ -356,6 +400,7 @@ export function securityPatch() {
|
||||
allPatchInput.value = '';
|
||||
}
|
||||
}
|
||||
overlayContent.scrollTop = 0;
|
||||
hideSecurityPatchDialog();
|
||||
loadCurrentConfig();
|
||||
});
|
||||
@@ -373,7 +418,7 @@ export function securityPatch() {
|
||||
systemPatchInput.value = 'prop';
|
||||
bootPatchInput.value = data;
|
||||
vendorPatchInput.value = data;
|
||||
jamesPatchInput.value = data;
|
||||
devconfigPatchInput.value = data;
|
||||
});
|
||||
output.stderr.on('data', (data) => {
|
||||
if (data.includes("failed")) {
|
||||
|
||||
@@ -72,6 +72,11 @@
|
||||
}
|
||||
}
|
||||
|
||||
[dir="rtl"] .link-icon svg {
|
||||
padding-right: unset;
|
||||
padding-left: 3px;
|
||||
}
|
||||
|
||||
#telegram {
|
||||
background-color: #38A7ED;
|
||||
}
|
||||
|
||||
@@ -240,6 +240,11 @@
|
||||
position: relative;
|
||||
}
|
||||
|
||||
[dir="rtl"] .app-icon-container {
|
||||
margin-right: unset;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.loader {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
|
||||
@@ -79,6 +79,11 @@
|
||||
}
|
||||
}
|
||||
|
||||
[dir="rtl"] .file-item svg {
|
||||
margin-right: unset;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.file-item span {
|
||||
flex-grow: 1;
|
||||
overflow: hidden;
|
||||
|
||||
@@ -1,41 +1,45 @@
|
||||
@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);
|
||||
--bottom-inset: var(--window-inset-bottom, 0px);
|
||||
|
||||
/* Background colors */
|
||||
--bg-primary: var(--background, #F5F5F5);
|
||||
--bg-secondary: var(--tonalSurface, #fff);
|
||||
--bg-input: var(--surfaceBright, #F5F5F5);
|
||||
--bg-primary: var(--background, #fbf8ff);
|
||||
--bg-secondary: var(--tonalSurface, #f3f0f9);
|
||||
--bg-input: var(--surfaceBright, #fbf8ff);
|
||||
|
||||
/* Text colors */
|
||||
--text-primary: var(--onSurface, #000);
|
||||
--text-primary: var(--onSurface, #1b1b21);
|
||||
--text-secondary: var(--onSurfaceVariant, #757575);
|
||||
|
||||
/* Border colors */
|
||||
--border-color: var(--outlineVariant, #ccc);
|
||||
--border-color: var(--outlineVariant, #c7c5d0);
|
||||
|
||||
/* Button colors */
|
||||
--btn-primary: var(--primary, #007bff);
|
||||
--btn-primary: var(--primary, #565992);
|
||||
--btn-primary-text: var(--onPrimary, #fff);
|
||||
--btn-uninstall: var(--error, #FF3636);
|
||||
--btn-uninstall: #f26767;
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
:root {
|
||||
/* Background colors */
|
||||
--bg-primary: var(--background, #151515);
|
||||
--bg-secondary: var(--tonalSurface, #292929);
|
||||
--bg-input: var(--surfaceBright, #1b1b1b);
|
||||
--bg-primary: var(--background, #131318);
|
||||
--bg-secondary: var(--tonalSurface, #1c1c24);
|
||||
--bg-input: var(--surfaceBright, #2c2c30);
|
||||
|
||||
/* Text colors */
|
||||
--text-primary: var(--onSurface, #fff);
|
||||
--text-primary: var(--onSurface, #e4e1e9);
|
||||
--text-secondary: var(--onSurfaceVariant, #C2C2C2);
|
||||
|
||||
/* Border colors */
|
||||
--border-color: var(--outlineVariant, #636363);
|
||||
--border-color: var(--outlineVariant, #46464f);
|
||||
|
||||
/* Button colors */
|
||||
--btn-primary: var(--primary, #bfc2ff);
|
||||
--btn-primary-text: var(--onPrimary, #272b60);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -111,6 +115,11 @@ body {
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
[dir="rtl"] .close-btn {
|
||||
right: unset;
|
||||
left: 12px;
|
||||
}
|
||||
|
||||
.prompt {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
|
||||
@@ -26,6 +26,12 @@
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
[dir="rtl"] #module-version,
|
||||
[dir="rtl"] #title {
|
||||
padding-left: unset;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
.no-connection {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
@@ -45,6 +51,11 @@
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
[dir="rtl"] .language-dropdown {
|
||||
margin-left: unset;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.language-button {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
@@ -76,6 +87,12 @@
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
[dir="rtl"] .language-menu {
|
||||
right: unset;
|
||||
left: 5px;
|
||||
transform-origin: top left;
|
||||
}
|
||||
|
||||
.language-menu.show {
|
||||
opacity: 1;
|
||||
transform: translateY(0) scale(1);
|
||||
|
||||
@@ -1,57 +0,0 @@
|
||||
#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;
|
||||
}
|
||||
@@ -26,6 +26,11 @@
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
[dir="rtl"] .search-card {
|
||||
left: unset;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
.search-icon {
|
||||
position: absolute;
|
||||
padding-top: 5px;
|
||||
@@ -33,6 +38,11 @@
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
[dir="rtl"] .search-icon {
|
||||
left: unset;
|
||||
right: 15px;
|
||||
}
|
||||
|
||||
.search-input {
|
||||
position: absolute;
|
||||
border: none;
|
||||
@@ -65,6 +75,11 @@
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
[dir="rtl"] .menu {
|
||||
right: unset;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.menu-toggle {
|
||||
display: none;
|
||||
}
|
||||
@@ -113,7 +128,12 @@
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
#shortcut,
|
||||
[dir="rtl"] .menu-options {
|
||||
right: unset;
|
||||
left: 0;
|
||||
transform: translateX(-120%);
|
||||
}
|
||||
|
||||
#select-denylist,
|
||||
#security-patch {
|
||||
display: none;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"versionCode": 538,
|
||||
"version": "v4.0",
|
||||
"zipUrl": "https://github.com/KOWX712/Tricky-Addon-Update-Target-List/releases/download/v4.0/TrickyAddonModule-v4.0.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