GrassClipper/resources/js/translation.js

78 lines
2.7 KiB
JavaScript
Raw Normal View History

async function doTranslation() {
const config = await getCfg()
// See if the localization file exists
const localizations = await filesystem.readDirectory(`${NL_CWD}/languages`)
// Use english if the selected file does not exist
const selectedLanguage = localizations.find(f => f.entry === `${config.language}.json`)
// Use english if the selected file does not exist
if (!selectedLanguage) {
config.language = 'en'
}
const localization = await filesystem.readFile(`${NL_CWD}/languages/${config.language}.json`)
2022-04-24 07:32:17 +00:00
const engLocale = await filesystem.readFile(`${NL_CWD}/languages/en.json`)
engLocaleObj = JSON.parse(engLocale)
localeObj = JSON.parse(localization)
const set = (id, localeString) => document.getElementById(id).innerHTML = localeObj[localeString] || engLocaleObj[localeString]
// Begin filling in values
set('titleSection', localeObj.appName)
2022-04-23 06:10:25 +00:00
const verSpan = document.createElement('span')
verSpan.id = 'version'
verSpan.innerHTML = ` v${NL_APPVERSION}`
document.querySelector('#titleSection').appendChild(verSpan)
// Play buttons
set('playOfficial', 'playOfficial')
set('playPrivate', 'playPrivate')
set('serverLaunch', 'launchLocalServer')
// File select buttons
set('gameFolderSet', 'gameFolderSet')
set('grasscutterFileSet', 'grasscutterFileSet')
// Private options
2022-04-23 06:48:15 +00:00
document.querySelector('#ip').placeholder = localeObj.ipPlaceholder
2022-04-24 07:32:17 +00:00
document.querySelector('#port').placeholder = localeObj.portPlaceholder
// Settings
set('fullSettingsTitle', 'settingsTitle')
set('scriptsTitle', 'scriptsSectionTitle')
set('killswitchTitle', 'killswitchOption')
set('killswitchSubtitle', 'killswitchSubtitle')
set('proxyTitle', 'proxyOption')
set('proxyInstall', 'proxyInstallBtn')
set('proxySubtitle', 'proxySubtitle')
set('updateBtn', 'updateOption')
set('updateTitle', 'updateOption')
set('updateSubtitle', 'updateSubtitle')
set('languageTitle', 'languageOption')
set('languageSubtitle', 'languageSubtitle')
set('serverLaunchTitle', 'enableServerLauncherOption')
set('serverSubtitle', 'enableServerLauncherSubtitle')
2022-04-25 03:01:52 +00:00
set('httpsTitle', 'httpsOption')
set('httpsSubtitle', 'httpsSubtitle')
// Intro popup
const popup = document.getElementById('firstTimeNotice')
const introSpan = popup.querySelector('span')
const boldIntroSpan = document.createElement('span')
boldIntroSpan.innerHTML = localeObj.introSen1 + '\n'
boldIntroSpan.classList.add('boldTitle')
introSpan.appendChild(boldIntroSpan)
introSpan.innerHTML += localeObj.introSen2 + '<br>'
introSpan.innerHTML += localeObj.introSen3 + '<br>'
introSpan.innerHTML += localeObj.introSen4 + '<br>'
set('firstTimeInstallBtn', 'proxyInstallBtn')
set('firstTimeDenyBtn', 'proxyInstallDeny')
}