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)
|