mirror of https://github.com/Requarks/wiki.git
Nick
5 years ago
12 changed files with 151 additions and 23 deletions
Split View
Diff Options
-
30client/components/common/nav-header.vue
-
8config.sample.yml
-
2dev/templates/master.pug
-
4server/app/data.yml
-
1server/core/kernel.js
-
6server/core/scheduler.js
-
76server/core/sideloader.js
-
2server/core/telemetry.js
-
2server/graph/resolvers/localization.js
-
16server/master.js
-
25server/models/locales.js
-
2server/views/master.pug
@ -0,0 +1,76 @@ |
|||
const fs = require('fs-extra') |
|||
const path = require('path') |
|||
const _ = require('lodash') |
|||
|
|||
/* global WIKI */ |
|||
|
|||
module.exports = { |
|||
async init () { |
|||
if (!WIKI.config.offline) { |
|||
return |
|||
} |
|||
|
|||
const sideloadExists = await fs.pathExists(path.join(WIKI.ROOTPATH, 'data/sideload')) |
|||
|
|||
if (!sideloadExists) { |
|||
return |
|||
} |
|||
|
|||
WIKI.logger.info('Sideload directory detected. Looking for packages...') |
|||
|
|||
try { |
|||
await this.importLocales() |
|||
} catch (err) { |
|||
WIKI.logger.warn(err) |
|||
} |
|||
}, |
|||
async importLocales() { |
|||
const localeExists = await fs.pathExists(path.join(WIKI.ROOTPATH, 'data/sideload/locales.json')) |
|||
if (localeExists) { |
|||
WIKI.logger.info('Found locales master file. Importing locale packages...') |
|||
let importedLocales = 0 |
|||
|
|||
const locales = await fs.readJson(path.join(WIKI.ROOTPATH, 'data/sideload/locales.json')) |
|||
if (locales && _.has(locales, 'data.localization.locales')) { |
|||
for (const locale of locales.data.localization.locales) { |
|||
try { |
|||
const localeData = await fs.readJson(path.join(WIKI.ROOTPATH, `data/sideload/${locale.code}.json`)) |
|||
if (localeData) { |
|||
WIKI.logger.info(`Importing ${locale.name} locale package...`) |
|||
|
|||
let lcObj = {} |
|||
_.forOwn(localeData, (value, key) => { |
|||
if (_.includes(key, '::')) { return } |
|||
if (_.isEmpty(value)) { value = key } |
|||
_.set(lcObj, key.replace(':', '.'), value) |
|||
}) |
|||
|
|||
const localeExists = await WIKI.models.locales.query().select('code').where('code', locale.code).first() |
|||
if (localeExists) { |
|||
await WIKI.models.locales.query().update({ |
|||
code: locale.code, |
|||
strings: lcObj, |
|||
isRTL: locale.isRTL, |
|||
name: locale.name, |
|||
nativeName: locale.nativeName |
|||
}).where('code', locale.code) |
|||
} else { |
|||
await WIKI.models.locales.query().insert({ |
|||
code: locale.code, |
|||
strings: lcObj, |
|||
isRTL: locale.isRTL, |
|||
name: locale.name, |
|||
nativeName: locale.nativeName |
|||
}) |
|||
} |
|||
importedLocales++ |
|||
} |
|||
} catch (err) { |
|||
// skip
|
|||
} |
|||
} |
|||
WIKI.logger.info(`Imported ${importedLocales} locale packages: [COMPLETED]`) |
|||
} |
|||
} |
|||
} |
|||
} |
Write
Preview
Loading…
Cancel
Save