improve: translations detection

This commit allows ReZygisk WebUI to dynamically fetch translations.
This commit is contained in:
ThePedroo
2024-10-20 16:53:33 -03:00
parent f4968599cf
commit 73acecaa9d
3 changed files with 23 additions and 17 deletions

View File

@@ -1,3 +1,5 @@
import { fullScreen, exec, toast } from './kernelsu.js'
import { setError } from './main.js'
import { translateActionPage } from './translate/action.js'
import { translateHomePage } from './translate/home.js'
@@ -42,14 +44,16 @@ export async function getTranslations(locate) {
}
/* INFO: This list is in alphabetical order. */
export const avaliableLanguages = [
'de_DE', /* INFO: Translated by @Blazzycrafter */
'en_US', /* INFO: Translated by @PerformanC (The PerformanC Organization) */
'ja_JP', /* INFO: Translated by @Fyphen1223 */
'pt_BR', /* INFO: Translated by @ThePedroo */
'ro_RO', /* INFO: Translated by @ExtremeXT */
'ru_RU', /* INFO: Translated by @Emulond & @AJleKcAHgP68 */
'vi_VN', /* INFO: Translated by @RainyXeon */
'zh_CN', /* INFO: Translated by @Meltartica & @SheepChef */
'zh_TW' /* INFO: Translated by @Meltartica */
]
export async function getAvailableLanguages() {
const lsCmd = await exec('ls /data/adb/modules/zygisksu/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
}

View File

@@ -1,4 +1,5 @@
import { fullScreen, exec, toast } from './kernelsu.js'
import { setNewLanguage, getTranslations } from './language.js'
export function setError(place, issue) {

View File

@@ -1,15 +1,16 @@
import {
avaliableLanguages,
getTranslations,
setNewLanguage
setNewLanguage,
getAvailableLanguages
} from '../language.js'
import { smallPageDisabler } from '../smallPageDesabler.js'
/* INFO: Initial setup */
let index = 0
function setAvaliableLanguage() {
const langKey = avaliableLanguages[index]
async function setAvailableLanguage() {
const availableLanguages = await getAvailableLanguages()
const langKey = availableLanguages[index]
index += 1
@@ -21,10 +22,10 @@ function setAvaliableLanguage() {
`
})
.finally(() => {
if (index !== avaliableLanguages.length) setAvaliableLanguage()
if (index !== avaliableLanguages.length) setAvailableLanguage()
})
}
setAvaliableLanguage()
setAvailableLanguage()
/* INFO: Event setup */
document.getElementById('lang_page_toggle').addEventListener('click', () => {