添加中文怪物名

This commit is contained in:
枫谷剑仙 2019-06-15 03:12:40 +08:00
parent 59889d629a
commit c82e45b65a
7 changed files with 84 additions and 82 deletions

View File

@ -65,7 +65,7 @@ This is a Object for a language list item.
* `name` is the name shown in the list. * `name` is the name shown in the list.
* `i18n` is the language-tag for your language. * `i18n` is the language-tag for your language.
* `searchlist` is the search candidate list string order when you search monster in edit window. * `searchlist` is the search candidate list string order when you search monster in edit window.
Currently only `ja`,`en`,`ko` languages.(See `monsters-info`) Currently only `ja`,`en`,`ko`,`cht`,`chs` languages.(See `monsters-info`)
* `guideURL` is the game guide URL for your language, `$1` means monster ID. * `guideURL` is the game guide URL for your language, `$1` means monster ID.
1. Create your language's Localisation file `i18n.css` and `i18n.js`. 1. Create your language's Localisation file `i18n.css` and `i18n.js`.
Please refer to existing files. Please refer to existing files.

View File

@ -1,10 +1,10 @@
var languageList = [ var languageList = [
{ {
name:"中文(简体)",i18n:"zh",searchlist:["ja","en"], name:"中文(简体)",i18n:"zh",searchlist:["chs","ja"],
guideURL:"http://pad.skyozora.com/pets/$1" guideURL:"http://pad.skyozora.com/pets/$1"
}, },
{ {
name:"中文(繁體)",i18n:"zh-TW",searchlist:["ja","en"], name:"中文(繁體)",i18n:"zh-TW",searchlist:["cht","ja"],
guideURL:"http://pad.skyozora.com/pets/$1" guideURL:"http://pad.skyozora.com/pets/$1"
}, },
{ {

@ -1 +1 @@
Subproject commit 7cee91035fd37d1888afa85afb91c3c0cecd8b86 Subproject commit bb859646c0d6efb4a083f284bf788032886a61d2

View File

@ -45,7 +45,9 @@ function g(id)
} }
``` ```
命令行内执行如下代码 `CHT.json`与`CHS.json`信息来源于战友网,见子项目 https://github.com/Mapaler/Download-pad.skyozora.com
运行`提取整合怪物信息.bat`
Execute the following code in CMD Execute the following code in CMD
```bat ```bat
node.exe extractByNode.js node.exe extractByNode.js

View File

@ -1,85 +1,83 @@
var fs = require('fs'); var fs = require('fs');
console.log('正在读取日文怪物信息'); console.log('正在读取日文怪物信息');
fs.readFile('./ja.json',function(err,data){ var ja_json = fs.readFileSync("./ja.json", 'utf-8'); //使用同步读取
if(err){ var ja = JSON.parse(ja_json);//将字符串转换为json对象
return console.error(err); var msja = ja.card;
} console.log('正在读取英文怪物信息');
var ja_json = data.toString();//将二进制的数据转换为字符串 var en_json = fs.readFileSync("./en.json", 'utf-8'); //使用同步读取
var ja = JSON.parse(ja_json);//将字符串转换为json对象 var en = JSON.parse(en_json);//将字符串转换为json对象
var msja = ja.card; var msen = en.card;
console.log('正在读取韩文怪物信息');
var ko_json = fs.readFileSync("./ko.json", 'utf-8'); //使用同步读取
var ko = JSON.parse(ko_json);//将字符串转换为json对象
var msko = ko.card;
var mArr = [];
console.log('正在读取英文怪物信息'); for (var mi=0;mi<msja.length;mi++)
fs.readFile('./en.json',function(err,data){ {
if(err){ var m = msja[mi],m2 = msen[mi],m3 = msko[mi];
return console.error(err); if (m[0] != mi) //id超了都是些怪物了
{
break;
}else
{
if (m2[0] != m[0]){m2 = null;} //ID不一致时则没有内容
if (m3[0] != m[0]){m3 = null;} //ID不一致时则没有内容
//名字
var nameObj = {
ja:m[1],
//en:((m2 && !/^\*+/.test(m2[1]))?m2[1]:""), //没有数据,或者名字是星号都为空
//ko:((m3 && !/^\*+/.test(m3[1]))?m3[1]:""),
} }
var en_json = data.toString();//将二进制的数据转换为字符串 if (m2 && !/^\*+/.test(m2[1]))
var en = JSON.parse(en_json);//将字符串转换为json对象 nameObj.en = m2[1];
var msen = en.card; if (m3 && !/^\*+/.test(m3[1]))
nameObj.en = m3[1];
console.log('正在读取韩文怪物信息'); //类型
fs.readFile('./ko.json',function(err,data){ var type = [m[5]];
if(err){ if (m[6]!=-1) //第二个type
return console.error(err); type.push(m[6]);
} if (m[m.length-9]!=-1) //第三个type要倒着来
var ko_json = data.toString();//将二进制的数据转换为字符串 type.push(m[m.length-9]);
var ko = JSON.parse(ko_json);//将字符串转换为json对象
var msko = ko.card;
var mArr = [];
for (var mi=0;mi<msja.length;mi++)
{
var m = msja[mi],m2 = msen[mi],m3 = msko[mi];
if (m[0] != mi) //id超了都是些怪物了
{
break;
}else
{
if (m2[0] != m[0]){m2 = null;} //ID不一致时则没有内容
if (m3[0] != m[0]){m3 = null;} //ID不一致时则没有内容
//名字 var awokenCIdx = 58+m[57]*3; //awoken Count Index
var nameObj = { var awoken = m.slice(awokenCIdx+1,awokenCIdx+1+m[awokenCIdx]);
ja:m[1],
//en:((m2 && !/^\*+/.test(m2[1]))?m2[1]:""), //没有数据,或者名字是星号都为空
//ko:((m3 && !/^\*+/.test(m3[1]))?m3[1]:""),
}
if (m2 && !/^\*+/.test(m2[1]))
nameObj.en = m2[1];
if (m3 && !/^\*+/.test(m3[1]))
nameObj.en = m3[1];
//类型 var mon = {
var type = [m[5]]; id: m[0],
if (m[6]!=-1) //第二个type name: nameObj,
type.push(m[6]); ppt: [m[2],m[3]], //属性property
if (m[m.length-9]!=-1) //第三个type要倒着来 type: type,
type.push(m[m.length-9]); rare: m[7],
awoken: awoken,
var awokenCIdx = 58+m[57]*3; //awoken Count Index maxLevel: m[m.length-3]>0?110:m[10],
var awoken = m.slice(awokenCIdx+1,awokenCIdx+1+m[awokenCIdx]); assist: (m[m.length-5]>2 && [303,305,307,600,602].indexOf(m[0])<0)?1:0, //但是5种小企鹅是特殊情况
}
var mon = { mArr.push(mon);
id: m[0], }
name: nameObj, }
ppt: [m[2],m[3]], //属性property
type: type,
rare: m[7], console.log('正在读取繁体中文怪物信息');
awoken: awoken, var CHTtext = fs.readFileSync("CHT.json", 'utf-8'); //使用同步读取
maxLevel: m[m.length-3]>0?110:m[10], console.log('正在读取简体中文怪物信息');
assist: (m[m.length-5]>2 && [303,305,307,600,602].indexOf(m[0])<0)?1:0, //但是5种小企鹅是特殊情况 var CHStext = fs.readFileSync("CHS.json", 'utf-8'); //使用同步读取
} var CHT = JSON.parse(CHTtext);//将字符串转换为json对象
mArr.push(mon); var CHS = JSON.parse(CHStext);//将字符串转换为json对象
}
} CHT.forEach(function(cm,idx){
var str = JSON.stringify(mArr); var m = mArr[cm.id];
fs.writeFile('./mon.json',str,function(err){ m.name["cht"] = cm.name;
if(err){ m.name["chs"] = CHS[idx].name;
console.error(err); });
}
console.log('----------导出成功-------------'); var str = JSON.stringify(mArr);
}) fs.writeFile('./mon.json',str,function(err){
}) if(err){
}) console.error(err);
}
console.log('----------导出成功-------------');
}) })

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
node.exe extractByNode.js
pause