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()
 | |
| 
 | |
| 
 | |
| 
 |