使用excel生成国际化多语言js文件的脚本

1、创建一个空文件夹

2、终端

cnpm install xlsx

3、在文件夹创建一个index.js

// 导入 Node.js 内置的 fs 模块
const fs = require('fs');
// 导入 xlsx 模块,用于处理 Excel 文件
const XLSX = require('xlsx');

// 读取 Excel 文件
function readExcelFile(filePath) {
  const workbook = XLSX.readFile(filePath);
  const sheetName = workbook.SheetNames[0];
  const worksheet = workbook.Sheets[sheetName];
  return XLSX.utils.sheet_to_json(worksheet);
}

// 生成多语言文件
function generateLanguageFiles(data, outputDir) {
  // 假设第一列是 key,后面的列为各种语言
  const keys = Object.keys(data[0]);
  const langKeys = keys.slice(1); // 跳过第一个 key 列

  langKeys.forEach(lang => {
    const content = {};
    data.forEach(row => {
      content[row[keys[0]]] = row[lang];
    });

    // 写入文件
    const fileName = `${outputDir}/${lang}.js`;
    const fileContent = `export default ${JSON.stringify(content)};`;

    fs.writeFileSync(fileName, fileContent);
  });
}

// 主函数
function main() {
  const filePath = 'path/to/your/excel/file.xlsx';
  const outputDir = 'path/to/output/directory';

  // 确保输出目录存在
  if (!fs.existsSync(outputDir)) {
    fs.mkdirSync(outputDir, { recursive: true });
  }

  try {
    const data = readExcelFile(filePath);
    generateLanguageFiles(data, outputDir);
    console.log('Language files generated successfully.');
  } catch (error) {
    console.error('Failed to generate language files:', error);
  }
}

// 运行主函数
main();

请确保替换 filePath 和 outputDir 变量中的路径为实际的路径。

我的测试代码:

 const filePath = 'D:/Users/admin/Desktop/lang.xlsx';
  const outputDir = 'D:/Users/admin/Desktop/initLang';

4、excel文件

这段代码假设你的 Excel 文件结构如下:

keyenzh
hellohello你好
worldworld世界

如我的lang.xlsx:
在这里插入图片描述

5、终端
在此文件夹下

node index.js

6、就会生成一个initLang文件夹
里面会有en.js、zh.js…文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值