langloader, index, preloader: Fix lang() not accessible on ejs
This commit is contained in:
parent
b23c9d0317
commit
3334a49a3e
@ -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')
|
||||||
}
|
}
|
@ -26,12 +26,12 @@ DistroAPI['instanceDir'] = ConfigManager.getInstanceDirectory()
|
|||||||
LangLoader.setupLanguage()
|
LangLoader.setupLanguage()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param {HeliosDistribution} data
|
* @param {HeliosDistribution} data
|
||||||
*/
|
*/
|
||||||
function onDistroLoad(data){
|
function onDistroLoad(data){
|
||||||
if(data != null){
|
if(data != null){
|
||||||
|
|
||||||
// Resolve the selected server if its value has yet to be set.
|
// Resolve the selected server if its value has yet to be set.
|
||||||
if(ConfigManager.getSelectedServer() == null || data.getServerById(ConfigManager.getSelectedServer()) == null){
|
if(ConfigManager.getSelectedServer() == null || data.getServerById(ConfigManager.getSelectedServer()) == null){
|
||||||
logger.info('Determining default selected server..')
|
logger.info('Determining default selected server..')
|
||||||
@ -57,7 +57,7 @@ DistroAPI.getDistribution()
|
|||||||
onDistroLoad(null)
|
onDistroLoad(null)
|
||||||
})
|
})
|
||||||
|
|
||||||
// Clean up temp dir incase previous launches ended unexpectedly.
|
// Clean up temp dir incase previous launches ended unexpectedly.
|
||||||
fs.remove(path.join(os.tmpdir(), ConfigManager.getTempNativeFolder()), (err) => {
|
fs.remove(path.join(os.tmpdir(), ConfigManager.getTempNativeFolder()), (err) => {
|
||||||
if(err){
|
if(err){
|
||||||
logger.warn('Error while cleaning natives directory', err)
|
logger.warn('Error while cleaning natives directory', err)
|
||||||
|
11
index.js
11
index.js
@ -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())
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user