You've already forked ReZygisk
mirror of
https://github.com/PerformanC/ReZygisk.git
synced 2025-09-06 06:37:01 +00:00
Historically "zygisksu" is the ZygiskOnKernelSU (known as Zygisk Next) module id, which due to ReZygisk being a fork of Zygisk Next, was used by it. To avoid conflicts in systems like MMRL, we decided to change it to "rezygisk". This, however, will allow both to be installed in the same system, although causing problems, as a side effect. The old module, with the old module id, must be uninstalled while the new one is installed. closes #113
63 lines
2.9 KiB
JavaScript
63 lines
2.9 KiB
JavaScript
import { exec } from './kernelsu.js'
|
|
|
|
import { setError } from './main.js'
|
|
import { translateActionsPage } from './translate/actions.js'
|
|
import { translateHomePage } from './translate/home.js'
|
|
import { translateModulesPage } from './translate/modules.js'
|
|
import { translateSettingsPage } from './translate/settings.js'
|
|
|
|
export async function setNewLanguage(locate, initialize) {
|
|
const main_html = document.getElementById('main_html')
|
|
const old_translations = await getTranslations(initialize ? 'en_US' : localStorage.getItem('/system/language'))
|
|
const new_translations = await getTranslations(locate)
|
|
|
|
if (locate.includes('ar_')) main_html.setAttribute("dir", "rtl");
|
|
else main_html.setAttribute("dir", "none");
|
|
|
|
translateHomePage(old_translations, new_translations)
|
|
translateModulesPage(new_translations)
|
|
translateActionsPage(old_translations, new_translations)
|
|
translateSettingsPage(new_translations)
|
|
|
|
/* INFO: navbar info */
|
|
document.getElementById('nav_home_title').innerHTML = new_translations.page.home.header
|
|
document.getElementById('nav_modules_title').innerHTML = new_translations.page.modules.header
|
|
document.getElementById('nav_actions_title').innerHTML = new_translations.page.actions.header
|
|
document.getElementById('nav_settings_title').innerHTML = new_translations.page.settings.header
|
|
|
|
/* INFO: Language small page */
|
|
document.getElementById('small_panel_lang_title').innerHTML = new_translations.smallPage.language.header
|
|
|
|
/* INFO: Theme small page */
|
|
document.getElementById('small_panel_theme_title').innerHTML = new_translations.smallPage.theme.header
|
|
document.getElementById('small_panel_theme_dark_option').innerHTML = new_translations.smallPage.theme.dark
|
|
document.getElementById('small_panel_theme_light_option').innerHTML = new_translations.smallPage.theme.light
|
|
document.getElementById('small_panel_theme_system_option').innerHTML = new_translations.smallPage.theme.system
|
|
|
|
/* INFO: Error history small page */
|
|
document.getElementById('errorh_copy').innerHTML = new_translations.smallPage.errorh.buttons.copy
|
|
document.getElementById('errorh_clear_all').innerHTML = new_translations.smallPage.errorh.buttons.clear
|
|
document.getElementById('small_panel_errorh_title').innerHTML = new_translations.smallPage.errorh.header
|
|
document.getElementById('errorh_panel').placeholder = new_translations.smallPage.errorh.placeholder
|
|
}
|
|
|
|
export async function getTranslations(locate) {
|
|
const translateData = await fetch(`./lang/${locate}.json`)
|
|
.catch((err) => setError('WebUI', err.stack ? err.stack : err.message))
|
|
|
|
return translateData.json()
|
|
}
|
|
|
|
export async function getAvailableLanguages() {
|
|
const lsCmd = await exec('ls /data/adb/modules/rezygisk/webroot/lang')
|
|
|
|
if (lsCmd.errno !== 0) return setError('WebUI', lsCmd.stderr)
|
|
|
|
const languages = []
|
|
lsCmd.stdout.split('\n').forEach((lang) => {
|
|
if (lang.length !== 0)
|
|
languages.push(lang.replace('.json', ''))
|
|
})
|
|
|
|
return languages
|
|
} |