langloader, index, preloader: Fix lang() not accessible on ejs

This commit is contained in:
busybox11 2024-09-15 04:19:40 +02:00
parent b23c9d0317
commit 3334a49a3e
No known key found for this signature in database
3 changed files with 20 additions and 8 deletions

View File

@ -1,10 +1,13 @@
const fs = require('fs-extra') const fs = require('fs-extra')
const path = require('path') const path = require('path')
const toml = require('toml')
const merge = require('lodash.merge')
let lang let lang
exports.loadLanguage = function(id){ exports.loadLanguage = function(id){
lang = JSON.parse(fs.readFileSync(path.join(__dirname, '..', 'lang', `${id}.json`))) || {} try { lang = merge(lang || {}, toml.parse(fs.readFileSync(path.join(__dirname, '..', 'lang', `${id}.toml`))) || {}) } catch (err) { console.log(err) }
try { lang = merge(lang || {}, JSON.parse(fs.readFileSync(path.join(__dirname, '..', 'lang', `${id}.json`))) || {}) } catch (err) { console.log(err) }
} }
exports.query = function(id){ exports.query = function(id){
@ -28,8 +31,8 @@ exports.setupLanguage = function(){
// Load Language Files // Load Language Files
exports.loadLanguage('en_US') exports.loadLanguage('en_US')
// Uncomment this when translations are ready // Uncomment this when translations are ready
// exports.loadLanguage('fr_FR') exports.loadLanguage('fr_FR')
// Load Custom Language File for Launcher Customizer // Load Custom Language File for Launcher Customizer
exports.loadLanguage('_custom') // exports.loadLanguage('_custom')
} }

View File

@ -11,6 +11,10 @@ const path = require('path')
const semver = require('semver') const semver = require('semver')
const { pathToFileURL } = require('url') const { pathToFileURL } = require('url')
const { AZURE_CLIENT_ID, MSFT_OPCODE, MSFT_REPLY_TYPE, MSFT_ERROR, SHELL_OPCODE } = require('./app/assets/js/ipcconstants') const { AZURE_CLIENT_ID, MSFT_OPCODE, MSFT_REPLY_TYPE, MSFT_ERROR, SHELL_OPCODE } = require('./app/assets/js/ipcconstants')
const LangLoader = require('./app/assets/js/langloader')
// Setup Lang
LangLoader.setupLanguage()
// Setup auto updater. // Setup auto updater.
function initAutoUpdater(event, data) { function initAutoUpdater(event, data) {
@ -236,7 +240,12 @@ function createWindow() {
}) })
remoteMain.enable(win.webContents) remoteMain.enable(win.webContents)
ejse.data('bkid', Math.floor((Math.random() * fs.readdirSync(path.join(__dirname, 'app', 'assets', 'images', 'backgrounds')).length)))
const data = {
bkid: Math.floor((Math.random() * fs.readdirSync(path.join(__dirname, 'app', 'assets', 'images', 'backgrounds')).length)),
lang: (str, placeHolders) => LangLoader.queryEJS(str, placeHolders)
}
Object.entries(data).forEach(([key, val]) => ejse.data(key, val))
win.loadURL(pathToFileURL(path.join(__dirname, 'app', 'app.ejs')).toString()) win.loadURL(pathToFileURL(path.join(__dirname, 'app', 'app.ejs')).toString())