30 lines
1.2 KiB
Plaintext
30 lines
1.2 KiB
Plaintext
按照此伪代码编写一个Node.js脚本,要求:
|
||
1. 尽量不使用第三方库,adm-zip 除外(用来解析jar包)
|
||
2. 使用双引号代替单引号
|
||
3. 使用引号
|
||
|
||
伪代码:
|
||
|
||
const errorMods = new Array();
|
||
遍历读取 ./mods_translated/*.jar (*.jar等同于*.zip压缩包) {
|
||
输出 `正在读取 ${*.jar}`
|
||
const modId = JSON.parse(读取jar内部的 ./fabric.mod.json).id;
|
||
|
||
if (./mods_translated/*.jar 内存在文件 `/assets/${modId}/lang/en_us.json`){
|
||
const enLang = JSON.parse(读取 ./mods_translated/*.jar 内的 `/assets/${modId}/lang/en_us.json`);
|
||
const zhLang = JSON.parse(读取 ./mods_translated/*.jar 内的 `/assets/${modId}/lang/zh_cn.json`);
|
||
|
||
对比 enLang 和 zhLang 的 keys 是否相同,如果不同 则 errorMods.append(*.jar)
|
||
|
||
遍历 enLang 和 zhLang 的每一个 key {
|
||
const enTags: Array<string> = enLang[key]字符串内所有的 "%+字母" 格式的字符串
|
||
const zhTags: Array<string> = zhLang[key]字符串内所有的 "%+字母" 格式的字符串
|
||
排序 enTags 和 zhTags
|
||
if (enTags和zhTags不相同 ){
|
||
errorMods.append(*.jar)
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
console.log(errorMods) |