i18n-toolkit

i18n toolkit, Maintain i18n through online sheet


Keywords
i18n
License
MIT
Install
npm install i18n-toolkit@0.0.7

Documentation

Google sheet 授权步骤

1.新建 google cloud 项目 点击此处

2.启用 Google sheet API 、Apps Script API 服务 点击此处

3.在 OAuth 同意屏幕中添加测试用户并且在添加授权范围筛选 Google sheet API 、Apps Script API 全部勾选 点击此处

4.创建凭证选择 API 密钥, 添加 Google Sheets API 限制点击此处

5.创建 Google sheet,扩展程序 -> Apps 脚本 粘贴以下代码

function onEdit(e) {
  AutoGenerateKey(e.range.getRowIndex(), e.value);
}

// 自动生成hash key
function AutoGenerateKey(rowIndex, value) {
  if (value == undefined) return;
  var targetColumn = "A";
  var sheet = SpreadsheetApp.getActive();
  var keyRange = sheet.getRange(targetColumn + rowIndex);
  var keyValue = keyRange.getValue();
  if (!!keyValue) return;
  var dateStr = new Date().toISOString();
  var rawHash = Utilities.computeDigest(
    Utilities.DigestAlgorithm.MD5,
    value + dateStr
  );
  var txtHash = "";
  for (i = 0; i < rawHash.length; i++) {
    var hashVal = rawHash[i];
    if (hashVal < 0) {
      hashVal += 256;
    }
    if (hashVal.toString(16).length == 1) {
      txtHash += "0";
    }
    txtHash += hashVal.toString(16);
  }
  sheet.getRange(targetColumn + rowIndex).setValue(txtHash);
}

6.添加配置文件i18n.config.json到项目根目录

{
  "apiKey": "<你新增的API 密钥>",
  "outputDir": "i18n", // 输出目录
  "spreadsheetId": "<google表格url中很长的那一顿>",
  "tableIndex": 0, // 谷歌表格第一个子表
  "langues": ["zh-CN", "en-US"] // 支持的语言
}

7.执行 i18n-toolkit 拉取多语言文件i18n-toolkityarn i18n-toolkit