You've already forked ReZygisk
mirror of
https://github.com/PerformanC/ReZygisk.git
synced 2025-09-06 06:37:01 +00:00
fix: infinite loading; add: translate on set
This commit fixes the infinite loading area and adds the feature that it will already change all phrases on set, without the need of restart.
This commit is contained in:
@@ -67,11 +67,11 @@
|
||||
</div>
|
||||
<div class="brightc content">
|
||||
<div class="brightc lock" style="font-size: 1.1em">Zygote64</div>
|
||||
<div class="brightc desc lockd" id="is_zygote64_injected" style="font-size: 0.9em; margin-top: 3px;">Unknown</div>
|
||||
<div class="brightc desc lockd" id="zygote32_status" style="font-size: 0.9em; margin-top: 3px;">Unknown</div>
|
||||
</div>
|
||||
<div class="brightc content lock">
|
||||
<div class="brightc lock" style="font-size: 1.1em">Zygote32</div>
|
||||
<div class="brightc desc lockd" id="is_zygote32_injected" style="font-size: 0.9em; margin-top: 3px;">Unknown</div>
|
||||
<div class="brightc desc lockd" id="zygote64_status" style="font-size: 0.9em; margin-top: 3px;">Unknown</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
export const en_US = {
|
||||
langName: 'English (United States)',
|
||||
langModal: {
|
||||
header: "Choose your new language"
|
||||
header: 'Choose your new language'
|
||||
},
|
||||
infoCard: {
|
||||
status: {
|
||||
@@ -25,7 +25,7 @@ export const en_US = {
|
||||
arch: 'Arch: '
|
||||
},
|
||||
settings: {
|
||||
header: "Settings",
|
||||
header: 'Settings',
|
||||
daemonButton: {
|
||||
start: 'Start',
|
||||
stop: 'Stop',
|
||||
@@ -38,5 +38,5 @@ export const en_US = {
|
||||
ls: 'Error while listing files in zygisk folder of module',
|
||||
cat: 'Error while reading module.prop from module',
|
||||
find: 'Error while finding zygisk modules'
|
||||
},
|
||||
}
|
||||
}
|
||||
@@ -9,5 +9,5 @@ export const lang = {
|
||||
pt_BR,
|
||||
ro_RO,
|
||||
ru_RU,
|
||||
vi_VN,
|
||||
vi_VN
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
export const pt_BR = {
|
||||
langName: 'Português (Brasil)',
|
||||
langModal: {
|
||||
header: "Choose your new language"
|
||||
header: 'Escolha sua nova língua'
|
||||
},
|
||||
infoCard: {
|
||||
status: {
|
||||
@@ -25,7 +25,7 @@ export const pt_BR = {
|
||||
arch: 'Arquitetura: '
|
||||
},
|
||||
settings: {
|
||||
header: "Configurações",
|
||||
header: 'Configurações',
|
||||
daemonButton: {
|
||||
start: 'Iniciar',
|
||||
stop: 'Parar',
|
||||
@@ -38,5 +38,5 @@ export const pt_BR = {
|
||||
ls: 'Erro ao listar arquivos na pasta zygisk do módulo',
|
||||
cat: 'Erro ao ler module.prop do módulo',
|
||||
find: 'Erro ao encontrar módulos que usam o zygisk'
|
||||
},
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
export const ro_RO = {
|
||||
langName: 'Română (România)',
|
||||
langModal: {
|
||||
header: "Alegeți limba prestabilită"
|
||||
header: 'Alegeți limba prestabilită'
|
||||
},
|
||||
infoCard: {
|
||||
status: {
|
||||
@@ -25,7 +25,7 @@ export const ro_RO = {
|
||||
arch: 'Arhitectură: '
|
||||
},
|
||||
settings: {
|
||||
header: "Setări",
|
||||
header: 'Setări',
|
||||
daemonButton: {
|
||||
start: 'Start',
|
||||
stop: 'Stop',
|
||||
@@ -38,5 +38,5 @@ export const ro_RO = {
|
||||
ls: 'Eroare în timpul listării fișierelor din folderul Zygisk al modulului',
|
||||
cat: 'Eroare în timpul citirii fișierului module.prop din modul',
|
||||
find: 'Eroare la găsirea modulelor Zygisk'
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
export const ru_RU = {
|
||||
langName: 'Русский (Россия)',
|
||||
langModal: {
|
||||
header: "Выберите Ваш новый язык"
|
||||
header: 'Выберите Ваш новый язык'
|
||||
},
|
||||
infoCard: {
|
||||
status: {
|
||||
@@ -25,10 +25,10 @@ export const ru_RU = {
|
||||
arch: 'Архи-ра: '
|
||||
},
|
||||
settings: {
|
||||
header: "Настройки",
|
||||
header: 'Настройки',
|
||||
daemonButton: {
|
||||
start: 'Старт',
|
||||
stop: 'Пауза,
|
||||
stop: 'Пауза',
|
||||
exit: 'Стоп'
|
||||
}
|
||||
},
|
||||
@@ -38,5 +38,5 @@ export const ru_RU = {
|
||||
ls: 'Ошибка перечисления файлов в zygisk папке модуля',
|
||||
cat: 'Ошибка чтения module.prop модуля',
|
||||
find: 'Ошибка обнаружения zygisk модулей'
|
||||
},
|
||||
}
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
export const vi_VN = {
|
||||
langName: 'Tiếng Việt',
|
||||
langModal: {
|
||||
header: "Chọn ngôn ngữ mới của bạn"
|
||||
header: 'Chọn ngôn ngữ mới của bạn'
|
||||
},
|
||||
infoCard: {
|
||||
status: {
|
||||
@@ -25,11 +25,19 @@ export const vi_VN = {
|
||||
arch: 'Loại: '
|
||||
},
|
||||
settings: {
|
||||
header: "Cài đặt",
|
||||
header: 'Cài đặt',
|
||||
daemonButton: {
|
||||
start: 'Chạy',
|
||||
stop: 'Dừng',
|
||||
exit: 'Thoát'
|
||||
}
|
||||
},
|
||||
/* INFO: Not translated */
|
||||
cmdErrors: {
|
||||
ptrace64: 'Error while executing zygisk-ptrace64',
|
||||
ptrace32: 'Error while executing zygisk-ptrace32',
|
||||
ls: 'Error while listing files in zygisk folder of module',
|
||||
cat: 'Error while reading module.prop from module',
|
||||
find: 'Error while finding zygisk modules'
|
||||
}
|
||||
}
|
||||
@@ -18,8 +18,16 @@ const daemon64_exit_button = document.getElementById('daemon64_exit_button')
|
||||
/* INFO: lang modal */
|
||||
const lang_modal_title = document.getElementById('lang_modal_title')
|
||||
|
||||
/* INFO: Variable fields */
|
||||
const rezygisk_state = document.getElementById('rezygisk_state')
|
||||
|
||||
const zygote32_status_div = document.getElementById('zygote32_status')
|
||||
const zygote64_status_div = document.getElementById('zygote64_status')
|
||||
|
||||
export function setNewLang(locate) {
|
||||
const old_translations = lang[localStorage.getItem('/system/language')]
|
||||
const new_lang = lang[locate]
|
||||
|
||||
/* INFO: info card */
|
||||
version_info_title.innerHTML = new_lang.infoCard.version
|
||||
root_info_title.innerHTML = new_lang.infoCard.root
|
||||
@@ -28,13 +36,85 @@ export function setNewLang(locate) {
|
||||
/* INFO: settings card */
|
||||
settings_card_title.innerHTML = new_lang.settings.header
|
||||
/* INFO: daemon32 small card */
|
||||
daemon32_stop_button.innerHTML = new_lang.settings.daemonButton.stop
|
||||
daemon32_start_button.innerHTML = new_lang.settings.daemonButton.start
|
||||
daemon32_exit_button.innerHTML = new_lang.settings.daemonButton.exit
|
||||
if (daemon32_stop_button) { /* INFO: Not all devices have 32-bit support */
|
||||
daemon32_stop_button.innerHTML = new_lang.settings.daemonButton.stop
|
||||
daemon32_start_button.innerHTML = new_lang.settings.daemonButton.start
|
||||
daemon32_exit_button.innerHTML = new_lang.settings.daemonButton.exit
|
||||
}
|
||||
/* INFO: daemon64 small card */
|
||||
daemon64_stop_button.innerHTML = new_lang.settings.daemonButton.stop
|
||||
daemon64_start_button.innerHTML = new_lang.settings.daemonButton.start
|
||||
daemon64_exit_button.innerHTML = new_lang.settings.daemonButton.exit
|
||||
if (daemon64_stop_button) { /* INFO: Not all devices have 64-bit support */
|
||||
daemon64_stop_button.innerHTML = new_lang.settings.daemonButton.stop
|
||||
daemon64_start_button.innerHTML = new_lang.settings.daemonButton.start
|
||||
daemon64_exit_button.innerHTML = new_lang.settings.daemonButton.exit
|
||||
}
|
||||
/* INFO: lang modal */
|
||||
lang_modal_title.innerHTML = new_lang.langModal.header
|
||||
|
||||
/* INFO: Translate variables */
|
||||
switch (rezygisk_state.innerHTML) {
|
||||
case old_translations.infoCard.status.ok: {
|
||||
rezygisk_state.innerHTML = new_lang.infoCard.status.ok
|
||||
|
||||
break
|
||||
}
|
||||
case old_translations.infoCard.status.partially: {
|
||||
rezygisk_state.innerHTML = new_lang.infoCard.status.partially
|
||||
|
||||
break
|
||||
}
|
||||
case old_translations.infoCard.status.notWorking: {
|
||||
rezygisk_state.innerHTML = new_lang.infoCard.status.notWorking
|
||||
|
||||
break
|
||||
}
|
||||
case old_translations.infoCard.status.unknown: {
|
||||
rezygisk_state.innerHTML = new_lang.infoCard.status.unknown
|
||||
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
if (zygote32_status_div) {
|
||||
switch (zygote32_status_div.innerHTML) {
|
||||
case old_translations.infoCard.zygote.injected: {
|
||||
zygote32_status_div.innerHTML = new_lang.infoCard.zygote.injected
|
||||
|
||||
break
|
||||
}
|
||||
case old_translations.infoCard.zygote.notInjected: {
|
||||
zygote32_status_div.innerHTML = new_lang.infoCard.zygote.notInjected
|
||||
|
||||
break
|
||||
}
|
||||
case old_translations.infoCard.zygote.unknown: {
|
||||
zygote32_status_div.innerHTML = new_lang.infoCard.zygote.unknown
|
||||
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (zygote64_status_div) {
|
||||
switch (zygote64_status_div.innerHTML) {
|
||||
case old_translations.infoCard.zygote.injected: {
|
||||
zygote64_status_div.innerHTML = new_lang.infoCard.zygote.injected
|
||||
|
||||
break
|
||||
}
|
||||
case old_translations.infoCard.zygote.notInjected: {
|
||||
zygote64_status_div.innerHTML = new_lang.infoCard.zygote.notInjected
|
||||
|
||||
break
|
||||
}
|
||||
case old_translations.infoCard.zygote.unknown: {
|
||||
zygote64_status_div.innerHTML = new_lang.infoCard.zygote.unknown
|
||||
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export function getTranslations(locate) {
|
||||
return lang[locate]
|
||||
}
|
||||
@@ -16,11 +16,12 @@ for (const lang_key of key_list) {
|
||||
</div>`
|
||||
}
|
||||
|
||||
document.addEventListener('click', function (event) {
|
||||
if (!event.target.getAttribute('lang_section')) return
|
||||
document.addEventListener('click', (event) => {
|
||||
if (!event.target.getAttribute('lang_section')) return;
|
||||
|
||||
setNewLang(event.target.id)
|
||||
|
||||
target.style.display = 'none'
|
||||
localStorage.setItem('/cache/modal/language/state', 'closed')
|
||||
localStorage.setItem('/system/language', event.target.id)
|
||||
}, false);
|
||||
}, false)
|
||||
@@ -1,5 +1,5 @@
|
||||
import { fullScreen, exec, toast } from './kernelsu.js'
|
||||
import { setNewLang } from './language.js'
|
||||
import { setNewLang, getTranslations } from './language.js'
|
||||
|
||||
(async () => {
|
||||
const EXPECTED = 1
|
||||
@@ -9,6 +9,11 @@ import { setNewLang } from './language.js'
|
||||
|
||||
let sys_lang = localStorage.getItem('/system/language')
|
||||
|
||||
if (!sys_lang) sys_lang = setLangData('en_US')
|
||||
if (sys_lang !== 'en_US') setNewLang(sys_lang)
|
||||
|
||||
const translations = getTranslations(sys_lang)
|
||||
|
||||
const loading_screen = document.getElementById('loading_screen')
|
||||
|
||||
const rootCss = document.querySelector(':root')
|
||||
@@ -32,9 +37,6 @@ import { setNewLang } from './language.js'
|
||||
let zygote64_status = EXPECTED
|
||||
let zygote32_status = EXPECTED
|
||||
|
||||
if (!sys_lang) sys_lang = setLangData("en_US")
|
||||
if (sys_lang !== "en_US") setNewLang(sys_lang)
|
||||
|
||||
const ptrace64Cmd = await exec('/data/adb/modules/zygisksu/bin/zygisk-ptrace64 info')
|
||||
|
||||
if (ptrace64Cmd.errno === 0) {
|
||||
@@ -44,14 +46,18 @@ import { setNewLang } from './language.js'
|
||||
code_version.innerHTML = lines[0].split('Tracer ')[1].split('-')[0]
|
||||
root_impl.innerHTML = lines[4].split(': ')[1]
|
||||
|
||||
zygote64_status_div.innerHTML = lines[5].split(': ')[1] === 'yes' ? 'Injected' : 'Not Injected'
|
||||
if (lines[5].split(': ')[1] === 'yes') {
|
||||
zygote64_status_div.innerHTML = translations.infoCard.zygote.injected
|
||||
} else {
|
||||
zygote64_status_div.innerHTML = translations.infoCard.zygote.notInjected
|
||||
|
||||
if (zygote64_status_div.innerHTML === 'Not Injected') zygote64_status = UNEXPECTED_FAIL
|
||||
zygote64_status = UNEXPECTED_FAIL
|
||||
}
|
||||
} else if (ptrace64Cmd.stderr.includes('cannot execute binary file: Exec format error')) {
|
||||
zygote64_div.remove()
|
||||
daemon64_div.remove()
|
||||
} else {
|
||||
toast(`zygisk-ptrace64 error (${ptrace64Cmd.errno}): ${ptrace64Cmd.stderr}`)
|
||||
toast(`${translations.cmdErrors.ptrace64} (${ptrace64Cmd.errno}): ${ptrace64Cmd.stderr}`)
|
||||
|
||||
zygote64_status = UNEXPECTED_FAIL
|
||||
}
|
||||
@@ -65,32 +71,36 @@ import { setNewLang } from './language.js'
|
||||
code_version.innerHTML = lines[0].split('Tracer ')[1].split('-')[0]
|
||||
root_impl.innerHTML = lines[4].split(': ')[1]
|
||||
|
||||
zygote32_status_div.innerHTML = lines[5].split(': ')[1] === 'yes' ? 'Injected' : 'Not Injected'
|
||||
if (lines[5].split(': ')[1] === 'yes') {
|
||||
zygote32_status_div.innerHTML = translations.infoCard.zygote.injected
|
||||
} else {
|
||||
zygote32_status_div.innerHTML = translations.infoCard.zygote.notInjected
|
||||
|
||||
if (zygote32_status_div.innerHTML === 'Not Injected') zygote32_status = UNEXPECTED_FAIL
|
||||
zygote32_status = UNEXPECTED_FAIL
|
||||
}
|
||||
} else if (ptrace32Cmd.stderr.includes('not executable: 32-bit ELF file')) {
|
||||
zygote32_div.remove()
|
||||
daemon32_div.remove()
|
||||
} else {
|
||||
toast(`zygisk-ptrace32 error (${ptrace32Cmd.errno}): ${ptrace32Cmd.stderr}`)
|
||||
toast(`${translations.cmdErrors.ptrace32} (${ptrace32Cmd.errno}): ${ptrace32Cmd.stderr}`)
|
||||
|
||||
zygote32_status = UNEXPECTED_FAIL
|
||||
}
|
||||
|
||||
if (zygote32_status === EXPECTED && zygote64_status === EXPECTED) {
|
||||
rezygisk_state.innerHTML = 'ReZygisk is fully functioning!'
|
||||
rezygisk_state.innerHTML = translations.infoCard.status.ok
|
||||
|
||||
rezygisk_settings.removeAttribute('style')
|
||||
rootCss.style.setProperty('--bright', '#3a4857')
|
||||
rezygisk_icon_state.innerHTML = '<img class="brightc" src="assets/tick.svg">'
|
||||
} else if (zygote64_status === EXPECTED ^ zygote32_status.innerHTML === EXPECTED) {
|
||||
rezygisk_state.innerHTML = 'ReZygisk is partially functioning!'
|
||||
rezygisk_state.innerHTML = translations.infoCard.status.partially
|
||||
|
||||
rezygisk_settings.removeAttribute('style')
|
||||
rootCss.style.setProperty('--bright', '#766000')
|
||||
rezygisk_icon_state.innerHTML = '<img class="brightc" src="assets/warn.svg">'
|
||||
} else {
|
||||
rezygisk_state.innerHTML = 'ReZygisk is not functioning!'
|
||||
rezygisk_state.innerHTML = translations.infoCard.status.notWorking
|
||||
}
|
||||
|
||||
const modules_card = document.getElementById('modules_card')
|
||||
@@ -114,7 +124,7 @@ import { setNewLang } from './language.js'
|
||||
|
||||
const lsZygiskCmd = await exec(`ls ${module}/zygisk`)
|
||||
if (lsZygiskCmd.errno !== 0) {
|
||||
toast(`ls ${module}/zygisk error (${lsZygiskCmd.errno}): ${lsZygiskCmd.stderr}`)
|
||||
toast(`${translations.cmdErrors.js} ${module} (${lsZygiskCmd.errno}): ${lsZygiskCmd.stderr}`)
|
||||
|
||||
continue
|
||||
}
|
||||
@@ -134,14 +144,14 @@ import { setNewLang } from './language.js'
|
||||
modules_list.innerHTML +=
|
||||
`<div class="dimc ${index !== modules.length ? 'spliter' : ''}" style="padding-top: 13px; padding-bottom: 13px;">
|
||||
<div class="dimc" style="font-size: 1.1em;">${name}</div>
|
||||
<div class="dimc desc" style="font-size: 0.9em; margin-top: 3px;">Arch: ${bitsUsed.join(' / ')}</div>
|
||||
<div class="dimc desc" style="font-size: 0.9em; margin-top: 3px;">${translations.moduleCard.arch}: ${bitsUsed.join(' / ')}</div>
|
||||
</div>`
|
||||
} else {
|
||||
toast(`cat ${module} error (${catCmd.errno}): ${catCmd.stderr}`)
|
||||
toast(`${translations.cmdErrors.cat} ${module} (${catCmd.errno}): ${catCmd.stderr}`)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
toast(`find error (${findModulesCmd.errno}): ${findModulesCmd.stderr}`)
|
||||
toast(`${translations.cmdErrors.find}: ${findModulesCmd.stderr}`)
|
||||
}
|
||||
})()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user