51 lines
1.3 KiB
JavaScript
51 lines
1.3 KiB
JavaScript
/* eslint-disable */
|
|
let xlsx = require('node-xlsx')
|
|
let fs = require('fs')
|
|
if (!fs.existsSync('./i18n.xlsx')) {
|
|
console.log('缺少国际化文件\<i18n.xlsx\>,请检查')
|
|
return
|
|
}
|
|
let sheets = xlsx.parse('./i18n.xlsx')
|
|
let xfsheets = xlsx.parse('./xfi18n.xlsx')
|
|
let varoptions = process.argv
|
|
let lang = varoptions[2].split('=')[1]
|
|
let keyCol = parseInt(varoptions[3].split('=')[1]) - 1
|
|
let valCol = parseInt(varoptions[4].split('=')[1]) - 1
|
|
|
|
async function init () {
|
|
try {
|
|
if (!fs.existsSync('./src/lang')) {
|
|
fs.mkdirSync('./src/lang')
|
|
} else {
|
|
}
|
|
let txt = '/* eslint-disable */\nexport default {\n'
|
|
let xftxt = '/* eslint-disable */\nexport default {\n'
|
|
sheets[0].data.forEach((v, i) => {
|
|
if (!i) return
|
|
if (!v[keyCol]) return
|
|
txt += `\t\t'${v[keyCol]}': \`${v[valCol]}\`,\n`
|
|
})
|
|
xfsheets[0].data.forEach((v, i) => {
|
|
if (!i) return
|
|
if (!v[keyCol]) return
|
|
xftxt += `\t\t'${v[keyCol]}': \`${v[valCol]}\`,\n`
|
|
})
|
|
txt = txt + '}'
|
|
xftxt = xftxt + '}'
|
|
fs.writeFileSync(`./src/lang/${lang}.js`, txt, {
|
|
encoding: 'utf8'
|
|
})
|
|
fs.writeFileSync(`./src/lang/xf${lang}.js`, xftxt, {
|
|
encoding: 'utf8'
|
|
})
|
|
console.log(`${lang}语言国际化配置生成成功`)
|
|
} catch (e) {
|
|
console.log(e)
|
|
}
|
|
}
|
|
|
|
init()
|
|
|
|
|
|
|