关于 i18n-toolkit 的使用

文章前言

永远把别人对你的批评记在心里,别人的表扬,就把它忘了。Hello 大家好~!我是南宫墨言QAQ

本文主要是记录自己关于 nangongmoyan-i18n-toolkit 多语言工具包的使用过程,特地记录下与诸位分享,文中如有记录不正确的地方,欢迎大家在评论区指出,谢谢

观看到文章最后的话,如果觉得不错,可以点个关注或者点个赞哦!感谢~❤️

文章主体

感谢各位观者的耐心观看,nangongmoyan-i18n-toolkit 使用正片即将开始,且听南宫墨言QAQ娓娓道来

在正式使用 之前,我们需要进行 Google sheet 授权来活的一些相关配置

Google Sheets 授权

1. Create Google Cloud Project(新建 Google Cloud 项目)

链接:https://console.cloud.google.com/projectcreate

create

success created

2. Enable Google Sheets API And Apps Script API(启用Google Sheets API And Apps Script API)

Enable Google Sheets API

Enable Apps Script API

链接:https://console.cloud.google.com/apis/credentials/consent

3.1. Select User Type(选择用户类型)

这边我选择External(任何拥有 Google 帐户的测试用户均可使用)

3.2. Edit app registration(填写相关信息)

3.3. Add Scopes(添加授权范围)

  • Checked All Google Sheets API (所有都勾选上)
  • Checked All Apps Script API (所有都勾选上)

3.4. Summary(概括)

4. Create Credential(创建凭证)

链接:https://console.cloud.google.com/apis/credentials

5. Create Google Sheets (创建 Google Sheets)

链接:https://docs.google.com/spreadsheets/u/0/

5.1. Blank spreadsheets(创建空白电子表格)

5.2. Add Apps Script (添加脚本)

将下面脚本添加进去

ini 复制代码
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到项目根目录

json 复制代码
{
  "apiKey": "上面第四步生成的key",
  "outputDir": "i18n", // 输出目录
  "spreadsheetId": "<google表格url中很长的那一段>",
  "tableIndex": 0, // 谷歌表格第一个子表
  "langues": ["zh-CN", "en-US"] // 支持的语言
}

7. 表格填写

当在对应语言下面填入相关内容,第一列会根据脚本自动生成一个hash值

实际使用

接下来这边起一个react项目进行演示:

lua 复制代码
npx create-react-app i18n-toolkit-demo

安装工具包

复制代码
npm install nangongmoyan-i18n-toolkit

添加i18n.config.json配置文件

json 复制代码
{
  "apiKey": "上面第四步生成的key",
  "outputDir": "i18n", // 输出目录
  "spreadsheetId": "<google表格url中很长的那一段>",
  "tableIndex": 0, // 谷歌表格第一个子表
  "langues": ["zh-CN", "en-US"] // 支持的语言
}

在package.json中的scripts中添加

json 复制代码
"intl": "nangongmoyan-i18n-toolkit"

命令行执行npm run intl

arduino 复制代码
npm run intl

就会将对应语言的json文件下载下来:

页面显示

点击 changeLanguage 会切换成另外一个语言

上面demo链接, 本地执行npm start就可以看到效果

结尾营业

看官都看到这了,如果觉得不错,可不可以不吝啬你的小手手帮忙点个关注或者点个赞

相关推荐
工控丫丫9 小时前
帆软看板中经常使用的公式函数及经常搭的组合
前端·javascript·数据库
jerrywus10 小时前
我用 GPT-6.1-sol 做了台会讲解的 3D 售货机:60 罐饮料,一口没喝上
前端·agent·claude
孟陬11 小时前
Foobar 技术周刊#159:当看不懂代码时,如何高效排障调试。脏页陷阱:一条只读查询,写入数 TB 数据。推测解码:大模型加速利器
前端·人工智能·后端
Zhao-Jichao11 小时前
AI Prompting for Everyone 课程笔记 - P17 图像生成 Imaging Generation
前端
Highcharts.js12 小时前
智能数据分析组件Orbit 正式发布与快速上手体验教程
前端·人工智能·信息可视化·数据分析系统·highcharts·orbit·智能可视化
螺丝钉tina13 小时前
[Playwright ][16]Playwright + TypeScript API 自动化测试实战:API测试
前端·javascript·typescript
小天源13 小时前
智叟云集系统 · 架构与职责分层
服务器·前端·数据库
Highcharts.js15 小时前
React 中原生支持使用 JSX 组件配置自定义表格 Highcharts Grid
前端·javascript·react.js·前端框架·jsx·highcharts·自定义表格
薛定谔的猫-菜鸟程序员15 小时前
Electron开发超详细教程(从入门到放弃)
前端·javascript·electron
最强小杰16 小时前
DeepSeek V4 Flash + Codex CLI 接入教程:原生 Responses API 适配,从配置到跑通收藏这篇就够了(2026)
java·前端·python·ai