nangongmoyan-i18n-toolkit是一个fork i18n-toolkit 项目而生成的多语言工具包
在正式使用之前,我们需要进行 Google Sheets 授权一些相关配置
链接:https://console.cloud.google.com/projectcreate
链接:https://console.cloud.google.com/apis/credentials/consent
这边我选择External(任何拥有 Google 帐户的测试用户均可使用)
- Checked All Google Sheets API (所有都勾选上)
- Checked All Apps Script API (所有都勾选上)
链接:https://console.cloud.google.com/apis/credentials
链接:https://docs.google.com/spreadsheets/u/0/
将下面脚本添加进去
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);
}
{
"apiKey": "上面第四步生成的key",
"outputDir": "i18n", // 输出目录
"spreadsheetId": "<google表格url中很长的那一段>",
"tableIndex": 0, // 谷歌表格第一个子表
"langues": ["zh-CN", "en-US"] // 支持的语言
}
当在对应语言下面填入相关内容,第一列会根据脚本自动生成一个hash值
npm install nangongmoyan-i18n-toolkit
yarn add nangongmoyan-i18n-toolkit
{
"apiKey": "上面第四步生成的key",
"outputDir": "i18n", // 输出目录
"spreadsheetId": "<google表格url中很长的那一段>",
"tableIndex": 0, // 谷歌表格第一个子表
"langues": ["zh-CN", "en-US"] // 支持的语言
}
"intl": "nangongmoyan-i18n-toolkit"
npm run intl
就会将对应语言的json文件下载下来:
- 安装VS Code 插件: i18n ally
- 显示英文
Tips:点击右下角红框可以选择在编辑器中显示对应语言的文本
- 显示中文
点击 changeLanguage 会切换成另外一个语言
上面demo链接, 本地执行npm start就可以看到效果