diff --git a/module/build.gradle.kts b/module/build.gradle.kts index 479de88..09e4d3a 100644 --- a/module/build.gradle.kts +++ b/module/build.gradle.kts @@ -167,6 +167,7 @@ androidComponents.onVariants { variant -> set.add(Pair(root.file("webroot/js/main.js").asFile, null)) set.add(Pair(root.file("webroot/js/kernelsu.js").asFile, null)) set.add(Pair(root.file("webroot/js/theme.js").asFile, null)) + set.add(Pair(root.file("webroot/js/language.js").asFile, null)) set.add(Pair(root.file("webroot/js/list/module.js").asFile, null)) set.add(Pair(root.file("webroot/js/list/settings.js").asFile, null)) @@ -178,11 +179,7 @@ androidComponents.onVariants { variant -> set.add(Pair(root.file("webroot/js/modal/lang.js").asFile, null)) - set.add(Pair(root.file("webroot/fonts/ProductSans-Regular.ttf").asFile, null)) - set.add(Pair(root.file("webroot/fonts/ProductSans-Italic.ttf").asFile, null)) - set.add(Pair(root.file("webroot/css/index.css").asFile, null)) - set.add(Pair(root.file("webroot/css/fonts.css").asFile, null)) set.add(Pair(root.file("webroot/assets/mark.svg").asFile, null)) set.add(Pair(root.file("webroot/assets/tick.svg").asFile, null)) diff --git a/module/src/customize.sh b/module/src/customize.sh index 61eb25e..315a119 100644 --- a/module/src/customize.sh +++ b/module/src/customize.sh @@ -118,6 +118,7 @@ extract "$ZIPFILE" 'webroot/index.html' "$MODPATH/webroot" true extract "$ZIPFILE" 'webroot/js/main.js' "$MODPATH/webroot/js" true extract "$ZIPFILE" 'webroot/js/kernelsu.js' "$MODPATH/webroot/js" true extract "$ZIPFILE" 'webroot/js/theme.js' "$MODPATH/webroot/js" true +extract "$ZIPFILE" 'webroot/js/language.js' "$MODPATH/webroot/js" true extract "$ZIPFILE" 'webroot/js/list/module.js' "$MODPATH/webroot/js/list" true extract "$ZIPFILE" 'webroot/js/list/settings.js' "$MODPATH/webroot/js/list" true @@ -129,11 +130,7 @@ extract "$ZIPFILE" 'webroot/js/lang/index.js' "$MODPATH/webroot/js/lang" true extract "$ZIPFILE" 'webroot/js/modal/lang.js' "$MODPATH/webroot/js/modal" true -extract "$ZIPFILE" 'webroot/fonts/ProductSans-Regular.ttf' "$MODPATH/webroot/fonts" true -extract "$ZIPFILE" 'webroot/fonts/ProductSans-Italic.ttf' "$MODPATH/webroot/fonts" true - extract "$ZIPFILE" 'webroot/css/index.css' "$MODPATH/webroot/css" true -extract "$ZIPFILE" 'webroot/css/fonts.css' "$MODPATH/webroot/css" true extract "$ZIPFILE" 'webroot/assets/mark.svg' "$MODPATH/webroot/assets" true extract "$ZIPFILE" 'webroot/assets/tick.svg' "$MODPATH/webroot/assets" true diff --git a/webroot/css/fonts.css b/webroot/css/fonts.css deleted file mode 100644 index 560cf65..0000000 --- a/webroot/css/fonts.css +++ /dev/null @@ -1,9 +0,0 @@ -@font-face { - font-family: "ProductSans Regular"; - src: url("../fonts/ProductSans-Regular.ttf"); -} - -@font-face { - font-family: "ProductSans Italic"; - src: url("../fonts/ProductSans-Regular.ttf"); -} \ No newline at end of file diff --git a/webroot/css/index.css b/webroot/css/index.css index 1fee8d2..7a13755 100644 --- a/webroot/css/index.css +++ b/webroot/css/index.css @@ -18,7 +18,7 @@ * { background-color: var(--background); color: var(--font); - font-family: 'ProductSans Regular', 'ProductSans Italic', sans-serif + font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif } body { diff --git a/webroot/fonts/ProductSans-Italic.ttf b/webroot/fonts/ProductSans-Italic.ttf deleted file mode 100644 index 5b44037..0000000 Binary files a/webroot/fonts/ProductSans-Italic.ttf and /dev/null differ diff --git a/webroot/fonts/ProductSans-Regular.ttf b/webroot/fonts/ProductSans-Regular.ttf deleted file mode 100644 index e2c69c3..0000000 Binary files a/webroot/fonts/ProductSans-Regular.ttf and /dev/null differ diff --git a/webroot/index.html b/webroot/index.html index 9f673bb..ac6f4c4 100644 --- a/webroot/index.html +++ b/webroot/index.html @@ -11,7 +11,6 @@ - @@ -26,7 +25,7 @@
-

Choose your new language

+

Choose your new language

@@ -59,20 +58,20 @@
-
Version
+
Version
Unknown
-
Root Implementation
+
Root Implementation
Unknown
-
+
Zygote64
-
Unknown
+
Unknown
-
+
Zygote32
-
Unknown
+
Unknown
@@ -84,7 +83,7 @@
-
Modules
+
Modules
@@ -108,7 +107,7 @@
-
+
Settings
@@ -120,21 +119,21 @@
-
+
Daemon (32 bit)
-
Stop
-
Start
-
Exit
+
Stop
+
Start
+
Exit
-
+
Daemon (64 bit)
-
Stop
-
Start
-
Exit
+
Stop
+
Start
+
Exit
diff --git a/webroot/js/lang/en_US.js b/webroot/js/lang/en_US.js index b5d3447..4775056 100644 --- a/webroot/js/lang/en_US.js +++ b/webroot/js/lang/en_US.js @@ -1,5 +1,10 @@ +/* INFO: Translated by @PerformanC (The PerformanC Organization) */ + export const en_US = { langName: 'English (United States)', + langModal: { + header: "Choose your new language" + }, infoCard: { status: { unknown: 'ReZygisk is at an unknown state!', @@ -20,6 +25,7 @@ export const en_US = { arch: 'Arch: ' }, settings: { + header: "Settings", daemonButton: { start: 'Start', stop: 'Stop', diff --git a/webroot/js/lang/index.js b/webroot/js/lang/index.js index 45436bc..537f343 100644 --- a/webroot/js/lang/index.js +++ b/webroot/js/lang/index.js @@ -3,7 +3,7 @@ import { vi_VN } from './vi_VN.js' import { pt_BR } from './pt_BR.js' export const lang = { - vi_VN, en_US, - pt_BR + pt_BR, + vi_VN, } \ No newline at end of file diff --git a/webroot/js/lang/pt_BR.js b/webroot/js/lang/pt_BR.js index f2c7903..61db5f3 100644 --- a/webroot/js/lang/pt_BR.js +++ b/webroot/js/lang/pt_BR.js @@ -1,5 +1,10 @@ +/* INFO: Translated by @ThePedroo */ + export const pt_BR = { langName: 'Português (Brasil)', + langModal: { + header: "Choose your new language" + }, infoCard: { status: { unknown: 'ReZygisk está em um estado desconhecido!', @@ -20,6 +25,7 @@ export const pt_BR = { arch: 'Arquitetura: ' }, settings: { + header: "Configurações", daemonButton: { start: 'Iniciar', stop: 'Parar', diff --git a/webroot/js/lang/vi_VN.js b/webroot/js/lang/vi_VN.js index ecb465b..d564ea8 100644 --- a/webroot/js/lang/vi_VN.js +++ b/webroot/js/lang/vi_VN.js @@ -1,5 +1,10 @@ +/* INFO: Translated by @RainyXeon */ + export const vi_VN = { langName: 'Tiếng Việt', + langModal: { + header: "Chọn ngôn ngữ mới của bạn" + }, infoCard: { status: { unknown: 'ReZygisk đang ở trạng thái không xác định!', @@ -20,6 +25,7 @@ export const vi_VN = { arch: 'Loại: ' }, settings: { + header: "Cài đặt", daemonButton: { start: 'Chạy', stop: 'Dừng', diff --git a/webroot/js/language.js b/webroot/js/language.js new file mode 100644 index 0000000..8f97f27 --- /dev/null +++ b/webroot/js/language.js @@ -0,0 +1,40 @@ +import { lang } from './lang/index.js' + +/* INFO: info card */ +const version_info_title = document.getElementById('version_info_title') +const root_info_title = document.getElementById('root_info_title') +/* INFO: module card */ +const module_card_title = document.getElementById('module_card_title') +/* INFO: settings card */ +const settings_card_title = document.getElementById('settings_card_title') +/* INFO: daemon32 small card */ +const daemon32_stop_button = document.getElementById('daemon32_stop_button') +const daemon32_start_button = document.getElementById('daemon32_start_button') +const daemon32_exit_button = document.getElementById('daemon32_exit_button') +/* INFO: daemon64 small card */ +const daemon64_stop_button = document.getElementById('daemon64_stop_button') +const daemon64_start_button = document.getElementById('daemon64_start_button') +const daemon64_exit_button = document.getElementById('daemon64_exit_button') +/* INFO: lang modal */ +const lang_modal_title = document.getElementById('lang_modal_title') + +export function setNewLang(locate) { + const new_lang = lang[locate] + /* INFO: info card */ + version_info_title.innerHTML = new_lang.infoCard.version + root_info_title.innerHTML = new_lang.infoCard.root + /* INFO: module card */ + module_card_title.innerHTML = new_lang.moduleCard.header + /* 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 + /* 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 + /* INFO: lang modal */ + lang_modal_title.innerHTML = new_lang.langModal.header +} \ No newline at end of file diff --git a/webroot/js/list/lang.js b/webroot/js/list/lang.js index 4a71faa..71e49b1 100644 --- a/webroot/js/list/lang.js +++ b/webroot/js/list/lang.js @@ -1,6 +1,8 @@ import { lang } from '../lang/index.js' +import { setNewLang } from '../language.js' const lang_list = document.getElementById('lang_modal_list') +const target = document.getElementById('lang_modal') const key_list = Object.keys(lang) let index = 0 @@ -9,7 +11,16 @@ for (const lang_key of key_list) { const value = lang[lang_key] lang_list.innerHTML += ` -
+
${value.langName}
` -} \ No newline at end of file +} + +document.addEventListener('click', function (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); \ No newline at end of file diff --git a/webroot/js/list/module.js b/webroot/js/list/module.js index 4780bd1..e89da62 100644 --- a/webroot/js/list/module.js +++ b/webroot/js/list/module.js @@ -2,7 +2,7 @@ const button = document.getElementById('modules_header') const icon = document.getElementById('module_expand_icon') const card = document.getElementById('modules_card') -let sys_module_mode = localStorage.getItem('system-module-mode') +let sys_module_mode = localStorage.getItem('/cache/list/module/state') sys_module_mode = setData('closed') button.addEventListener('click', () => { @@ -20,7 +20,7 @@ button.addEventListener('click', () => { }) function setData(mode) { - localStorage.setItem('system-module-mode', mode) + localStorage.setItem('/cache/list/module/state', mode) - return localStorage.getItem('system-module-mode') + return localStorage.getItem('/cache/list/module/state') } \ No newline at end of file diff --git a/webroot/js/list/settings.js b/webroot/js/list/settings.js index ee0a8b8..e5edaaf 100644 --- a/webroot/js/list/settings.js +++ b/webroot/js/list/settings.js @@ -2,8 +2,8 @@ const button = document.getElementById('settings_header') const icon = document.getElementById('settings_expand_icon') const card = document.getElementById('rezygisk_settings') -let sys_module_mode = localStorage.getItem('system-settings-expand-mode') -setData('closed') +let sys_module_mode = localStorage.getItem('/cache/list/settings/state') +sys_module_mode = setData('closed') button.addEventListener('click', () => { if (sys_module_mode === 'closed') { @@ -20,7 +20,7 @@ button.addEventListener('click', () => { }) function setData(mode) { - localStorage.setItem('system-settings-expand-mode', mode) + localStorage.setItem('/cache/list/settings/state', mode) - return localStorage.getItem('system-settings-expand-mode') + return localStorage.getItem('/cache/list/settings/state') } \ No newline at end of file diff --git a/webroot/js/main.js b/webroot/js/main.js index ab9e692..d8db64f 100644 --- a/webroot/js/main.js +++ b/webroot/js/main.js @@ -1,11 +1,14 @@ import { fullScreen, exec, toast } from './kernelsu.js' - -const EXPECTED = 1 -const UNEXPECTED_FAIL = 2 +import { setNewLang } from './language.js' (async () => { + const EXPECTED = 1 + const UNEXPECTED_FAIL = 2 + fullScreen(true) + let sys_lang = localStorage.getItem('/system/language') + const loading_screen = document.getElementById('loading_screen') const rootCss = document.querySelector(':root') @@ -29,6 +32,9 @@ const UNEXPECTED_FAIL = 2 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) { @@ -137,4 +143,10 @@ const UNEXPECTED_FAIL = 2 } else { toast(`find error (${findModulesCmd.errno}): ${findModulesCmd.stderr}`) } -})() \ No newline at end of file +})() + +function setLangData(mode) { + localStorage.setItem('/system/language', mode) + + return localStorage.getItem('/system/language') +} \ No newline at end of file diff --git a/webroot/js/modal/lang.js b/webroot/js/modal/lang.js index 458e373..5c814ec 100644 --- a/webroot/js/modal/lang.js +++ b/webroot/js/modal/lang.js @@ -2,7 +2,7 @@ const button = document.getElementById('lang_switcher') const target = document.getElementById('lang_modal') const close_button = document.getElementById('lang_modal_close') -let sys_module_mode = localStorage.getItem('lang-modal') +let sys_module_mode = localStorage.getItem('/cache/modal/language/state') sys_module_mode = setData('closed') button.addEventListener('click', () => { @@ -18,7 +18,7 @@ close_button.addEventListener('click', () => { }) function setData(mode) { - localStorage.setItem('lang-modal', mode) + localStorage.setItem('/cache/modal/language/state', mode) - return localStorage.getItem('lang-modal') + return localStorage.getItem('/cache/modal/language/state') } \ No newline at end of file diff --git a/webroot/js/theme.js b/webroot/js/theme.js index accad91..3fd6416 100644 --- a/webroot/js/theme.js +++ b/webroot/js/theme.js @@ -40,7 +40,7 @@ const settings_icon = document.getElementById('setting_icon') const lang_switcher = document.getElementById('lang_switcher') const close_icons = document.getElementsByClassName('close_icon') -let sys_theme = localStorage.getItem('system-theme') +let sys_theme = localStorage.getItem('/system/theme') if (!sys_theme) sys_theme = setData('dark') if (sys_theme === 'light') setLight() @@ -101,7 +101,7 @@ function setLight() { } function setData(mode) { - localStorage.setItem('system-theme', mode) + localStorage.setItem('/system/theme', mode) - return localStorage.getItem('system-theme') + return localStorage.getItem('/system/theme') } \ No newline at end of file