Skip to content

Commit

Permalink
feat: implement chs, cht, fr, de, id, ko, pt, th and vi languages
Browse files Browse the repository at this point in the history
  • Loading branch information
dvaJi committed Apr 22, 2021
1 parent 8f6fab8 commit e8f0824
Show file tree
Hide file tree
Showing 4,540 changed files with 539,086 additions and 706 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
"build": "tsdx build",
"generate": "node ./scripts/generate.js",
"check-missing": "npm run generate && npm run build && node ./scripts/check-missing.js",
"format-data": "prettier --write \"data/**/*.json\"",
"format-data": "prettier --write \"src/data/**/*.json\"",
"test": "tsdx test",
"test:coverage": "tsdx test --coverage",
"lint": "tsdx lint",
Expand Down
27 changes: 21 additions & 6 deletions scripts/check-missing.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,27 +20,42 @@ const data = {
english: new GenshinData({ language: 'english' }),
spanish: new GenshinData({ language: 'spanish' }),
japanese: new GenshinData({ language: 'japanese' }),
'chinese-simplified': new GenshinData({ language: 'chinese-simplified' }),
'chinese-traditional': new GenshinData({ language: 'chinese-traditional' }),
french: new GenshinData({ language: 'french' }),
german: new GenshinData({ language: 'german' }),
indonesian: new GenshinData({ language: 'indonesian' }),
korean: new GenshinData({ language: 'korean' }),
portuguese: new GenshinData({ language: 'portuguese' }),
russian: new GenshinData({ language: 'russian' }),
thai: new GenshinData({ language: 'thai' }),
vietnamese: new GenshinData({ language: 'vietnamese' }),
};

async function main() {
const keys = Object.keys(data).filter(k => k !== 'english');
for (const method of METHODS) {
const dataEN = await data.english[method]();
const dataES = await data.spanish[method]();
const dataJA = await data.japanese[method]();
const comp = compareData(dataEN, method);
comp(dataES, 'ES');
comp(dataJA, 'JA');

for (const key of keys) {
const dataLang = await data[key][method]();
comp(dataLang, key);
}
}
}

function compareData(original, collectionName) {
const originalIds = original.map(c => c.id);
console.log(`[EN] Total ${collectionName}:`, original.length);

return (loc, lang) => {
return (loc = [], lang) => {
const locIds = loc.map(c => c.id);
const missings = originalIds.filter(c => !locIds.includes(c));
console.log(`[${lang}] Missing ${collectionName}: ${missings.length}:`, missings);
console.log(
`[${lang}] Missing ${collectionName}: ${missings.length}:`,
missings
);
};
}

Expand Down
16 changes: 15 additions & 1 deletion scripts/generate.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,21 @@ const path = require('path');

const GENERATED_PATH = path.join(__dirname, '..', 'src', 'data');

const languages = ['english', 'japanese', 'spanish'];
const languages = [
'english',
'japanese',
'spanish',
'chinese-simplified',
'chinese-traditional',
'french',
'german',
'indonesian',
'korean',
'portuguese',
'russian',
'thai',
'vietnamese',
];
const folders = [
'artifacts',
'characters',
Expand Down
33 changes: 33 additions & 0 deletions src/data/chinese-simplified/artifacts/adventurer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"id": "adventurer",
"name": "冒险家",
"min_rarity": 1,
"max_rarity": 3,
"2pc": "生命值上限提高1000点。",
"4pc": "开启各类宝箱后的5秒内,持续恢复30%生命值。",
"goblet": {
"id": "adventurers_golden_goblet",
"name": "冒险家金杯",
"description": "冒险家某次出征的战利品,虽然有缺口,仍然是值得骄傲的猎获。"
},
"plume": {
"id": "adventurers_tail_feather",
"name": "冒险家尾羽",
"description": "异国的奇妙鸟类的羽毛,在这片大陆上非常罕见。"
},
"circlet": {
"id": "adventurers_bandana",
"name": "冒险家头带",
"description": "束在额前的饰带,吸满了汗液、覆盖着尘土。但脏污难以遮掩冒险家的骄傲。"
},
"flower": {
"id": "adventurers_flower",
"name": "冒险家之花",
"description": "从深邃的古都寻得的绝境求生的小花,被当做骄傲的勋章佩在胸前。"
},
"sands": {
"id": "adventurers_pocket_watch",
"name": "冒险家怀表",
"description": "常在不见天日的巨渊还是失落的古都流连的冒险家,会经常忘记时间。"
}
}
33 changes: 33 additions & 0 deletions src/data/chinese-simplified/artifacts/archaic_petra.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"id": "archaic_petra",
"name": "悠古的磐岩",
"min_rarity": 4,
"max_rarity": 5,
"2pc": "获得15%岩元素伤害加成。",
"4pc": "获得结晶反应形成的晶片时,队伍中所有角色获得35%对应元素伤害加成,持续10秒。同时只能通过该效果获得一种元素伤害加成。",
"goblet": {
"id": "goblet_of_chiseled_crag",
"name": "巉岩琢塑之樽",
"description": "华丽而不失庄重的酒樽,千年前曾满盛玉露。"
},
"plume": {
"id": "feather_of_jagged_peaks",
"name": "嵯峨群峰之翼",
"description": "来自矶岩巨鸢的刚羽,玄石的羽尖有时会凝结有清冷的露珠。"
},
"circlet": {
"id": "mask_of_solitude_basalt",
"name": "不动玄石之相",
"description": "玄岩精雕而成的庄严面具,空洞的双眼永远冰冷地凝视着前方。"
},
"flower": {
"id": "flower_of_creviced_cliff",
"name": "磐陀裂生之花",
"description": "盛开于磐陀巨岩的金石之花。花瓣随风轻摇,似有生机。"
},
"sands": {
"id": "sundial_of_enduring_jade",
"name": "星罗圭璧之晷",
"description": "以整块圭璧雕琢而成的日晷,纹路层叠星罗,沉默地记录着失去的时间。"
}
}
33 changes: 33 additions & 0 deletions src/data/chinese-simplified/artifacts/berserker.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"id": "berserker",
"name": "战狂",
"min_rarity": 3,
"max_rarity": 4,
"2pc": "暴击率提高12%。",
"4pc": "生命值低于70%时,暴击率额外提升24%。",
"goblet": {
"id": "berserkers_bone_goblet",
"name": "战狂的骨杯",
"description": "用不知名的巨大兽类的骨头制成的杯。是某次厮杀后得到的猎获。"
},
"plume": {
"id": "berserkers_indigo_feather",
"name": "战狂的翎羽",
"description": "原本传说中报丧之鸟的黯蓝尾羽,一部分被染成了红色。"
},
"circlet": {
"id": "berserkers_battle_mask",
"name": "战狂的鬼面",
"description": "在不顾生死的厮杀中一半破碎的骇人铁面具。"
},
"flower": {
"id": "berserkers_rose",
"name": "战狂的蔷薇",
"description": "被染红的精致花朵,与狂战士的气质微妙地相符。"
},
"sands": {
"id": "berserkers_timepiece",
"name": "战狂的时计",
"description": "永远无情流动着的器物。提醒着狂战士自己在战场上的时限,和在人世间的时限。"
}
}
33 changes: 33 additions & 0 deletions src/data/chinese-simplified/artifacts/blizzard_strayer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"id": "blizzard_strayer",
"name": "冰风迷途的勇士",
"min_rarity": 4,
"max_rarity": 5,
"2pc": "获得15%冰元素伤害加成。",
"4pc": "攻击处于冰元素影响下的敌人时,暴击率提高20%;若敌人处于冻结状态下,则暴击率额外提高20%。",
"goblet": {
"id": "frostweaved_dignity",
"name": "遍结寒霜的傲骨",
"description": "用寒冰雕制成的杯盏,如冬天一般坚利。曾经的主人从中啜饮过不冻之酒。"
},
"plume": {
"id": "icebreakers_resolve",
"name": "摧冰而行的执望",
"description": "散布寒冬的鸟羽,仿佛能感受到猛禽在雪原与冰峰之上呼号翱翔的振翅之风。"
},
"circlet": {
"id": "broken_rimes_echo",
"name": "破冰踏雪的回音",
"description": "梦想征服冰雪的古代英雄冠冕,是驱使它的故主直面刻骨寒冬的勇气之证。"
},
"flower": {
"id": "snowswept_memory",
"name": "历经风雪的思念",
"description": "早已绝迹的冰川之花,霜结着点点冰露。孤高的勇士也曾为这朵鲜花折腰。"
},
"sands": {
"id": "frozen_homelands_demise",
"name": "冰雪故园的终期",
"description": "等待勇士归来的故国人民所用的时计。其中流淌的并不是沙,而是不化的冰屑。"
}
}
33 changes: 33 additions & 0 deletions src/data/chinese-simplified/artifacts/bloodstained_chivalry.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"id": "bloodstained_chivalry",
"name": "染血的骑士道",
"min_rarity": 4,
"max_rarity": 5,
"2pc": "造成的物理伤害提高25%。",
"4pc": "击败敌人后的10秒内,施放重击时不消耗体力,且重击造成的伤害提升50%。",
"goblet": {
"id": "bloodstained_chevaliers_goblet",
"name": "染血骑士之杯",
"description": "染血骑士持有的黯淡金属杯皿。外壁因为烟熏与凝结的血变得漆黑如夜。"
},
"plume": {
"id": "bloodstained_black_plume",
"name": "染血的黑之羽",
"description": "黏在骑士斗篷上的鸦羽。因为反复沾染大量的黑血已经被彻底染成墨色。"
},
"circlet": {
"id": "bloodstained_iron_mask",
"name": "染血的铁假面",
"description": "骑士用来遮掩自己面目的铁面具,关于面具下的容貌几何曾有无数猜想。"
},
"flower": {
"id": "bloodstained_flower_of_iron",
"name": "染血的铁之心",
"description": "被血染黑,变得如钢铁一般坚硬的干花。对故主而言,是某种纪念品吧。"
},
"sands": {
"id": "bloodstained_final_hour",
"name": "骑士染血之时",
"description": "骑士曾经使用过的时计。其中的液体已经完全凝结了,失去了计时功能。"
}
}
33 changes: 33 additions & 0 deletions src/data/chinese-simplified/artifacts/brave_heart.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"id": "brave_heart",
"name": "勇士之心",
"min_rarity": 3,
"max_rarity": 4,
"2pc": "攻击力提高18%。",
"4pc": "对生命值高于50%的敌人,造成的伤害增加30%。",
"goblet": {
"id": "outset_of_the_brave",
"name": "勇士的壮行",
"description": "木制的粗糙容器,其中空洞洞地盛满了回忆。"
},
"plume": {
"id": "prospect_of_the_brave",
"name": "勇士的期许",
"description": "明亮的鸣禽翎羽。能带来小小的勇气。"
},
"circlet": {
"id": "crown_of_the_brave",
"name": "勇士的冠冕",
"description": "粗略编成的草环。对一些人而言,就像王者的金冠一样贵重吧。"
},
"flower": {
"id": "medal_of_the_brave",
"name": "勇士的勋章",
"description": "别在胸前的朴实小花,是一次冒险后得到的纪念品。"
},
"sands": {
"id": "fortitude_of_the_brave",
"name": "勇士的坚毅",
"description": "老旧的微型沙漏,不具有实用性。与岁月一样不可捉摸。"
}
}
33 changes: 33 additions & 0 deletions src/data/chinese-simplified/artifacts/crimson_witch_of_flames.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"id": "crimson_witch_of_flames",
"name": "炽烈的炎之魔女",
"min_rarity": 4,
"max_rarity": 5,
"2pc": "获得15%火元素伤害加成。",
"4pc": "超载、燃烧反应造成的伤害提升40%,蒸发、融化反应的加成系数提高15%。施放元素战技后的10秒内,2件套的效果提高50%,该效果最多叠加3次。",
"goblet": {
"id": "witchs_heart_flames",
"name": "魔女的心之火",
"description": "曾经梦想烧尽世间魔物的炎之魔女留下的流火之甕。瓶中火永不熄灭,一如其人。"
},
"plume": {
"id": "witchs_everburning_plume",
"name": "魔女常燃之羽",
"description": "曾经梦想烧尽世间魔物的魔女触碰过的鸟羽,在恒常的燃烧中挥发着烈焰的温度。"
},
"circlet": {
"id": "witchs_scorching_hat",
"name": "焦灼的魔女帽",
"description": "曾经梦想烧尽世间魔物的炎之魔女曾经戴过的帽子。宽大的帽檐能遮挡她的视线。"
},
"flower": {
"id": "witchs_flower_of_blaze",
"name": "魔女的炎之花",
"description": "曾经梦想烧尽世间魔物的魔女触碰过的花朵。无名的火舌温暖地舔舐触碰它的人。"
},
"sands": {
"id": "witchs_end_time",
"name": "魔女破灭之时",
"description": "曾经梦想烧尽世间魔物的魔女佩戴的时计。其中流淌着的是魔女献给火焰的岁月。"
}
}
33 changes: 33 additions & 0 deletions src/data/chinese-simplified/artifacts/defenders_will.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"id": "defenders_will",
"name": "守护之心",
"min_rarity": 3,
"max_rarity": 4,
"2pc": "防御力提高30%。",
"4pc": "队伍里每有不同一种元素类型的自己的角色,自身获得30%相应的元素抗性。",
"goblet": {
"id": "guardians_vessel",
"name": "守护之皿",
"description": "金属的容器。可以用来装某种能排遣漫长守望带来的孤独的液体。"
},
"plume": {
"id": "guardians_sigil",
"name": "守护徽印",
"description": "象征着某人「渴望成为坚盾」的羽形别针。"
},
"circlet": {
"id": "guardians_band",
"name": "守护束带",
"description": "被夜色染得靛青的织物。能在紧急时充当绷带。"
},
"flower": {
"id": "guardians_flower",
"name": "守护之花",
"description": "守护者珍视的鸢尾花。并没有机会送给倾心的人。"
},
"sands": {
"id": "guardians_clock",
"name": "守护座钟",
"description": "展示当前时间的小道具,在没有月亮的黑夜里是唯一的时间参照。"
}
}
33 changes: 33 additions & 0 deletions src/data/chinese-simplified/artifacts/gambler.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"id": "gambler",
"name": "赌徒",
"min_rarity": 3,
"max_rarity": 4,
"2pc": "元素战技造成的伤害提升20%。",
"4pc": "击败敌人时,有100%概率清除元素战技的冷却时间。该效果每15秒至多触发一次。",
"goblet": {
"id": "gamblers_dice_cup",
"name": "赌徒的骰盅",
"description": "是特制的、用于单一用途的容器,但其中并没有欺诈用的机关。"
},
"plume": {
"id": "gamblers_feather_accessory",
"name": "赌徒的羽饰",
"description": "大型鸟的尾羽,其中能藏得下能改天逆命的牌。"
},
"circlet": {
"id": "gamblers_earrings",
"name": "赌徒的耳环",
"description": "能让人冷静评估局势与风险,避免危机的翠蓝耳环。"
},
"flower": {
"id": "gamblers_brooch",
"name": "赌徒的胸花",
"description": "华丽的大花朵,其中能藏得下自己事前准备好的骰子。"
},
"sands": {
"id": "gamblers_pocket_watch",
"name": "赌徒的怀表",
"description": "破碎的怀表,曾经为它的主人挡下了致命的攻击。"
}
}
Loading

0 comments on commit e8f0824

Please sign in to comment.