find dict once

This commit is contained in:
dutlist 2024-06-26 07:51:32 +02:00 committed by AMelonInsideLemon
parent 955b39bf9e
commit 50ae9463da
2 changed files with 60 additions and 74 deletions

View File

@ -1,5 +1,5 @@
import { RequestHandler } from "express"; import { RequestHandler } from "express";
import { getString } from "@/src/services/itemDataService"; import { getDict, getString } from "@/src/services/itemDataService";
import { import {
ExportArcanes, ExportArcanes,
ExportGear, ExportGear,
@ -19,18 +19,18 @@ interface ListedItem {
const getItemListsController: RequestHandler = (req, res) => { const getItemListsController: RequestHandler = (req, res) => {
const weapons = []; const weapons = [];
const miscitems = []; const miscitems = [];
const lang = req.query.lang?.toString(); const dict = getDict(req.query.dict?.toString());
for (const [uniqueName, item] of Object.entries(ExportWeapons)) { for (const [uniqueName, item] of Object.entries(ExportWeapons)) {
if (item.productCategory !== "OperatorAmps") { if (item.productCategory !== "OperatorAmps") {
if (item.totalDamage !== 0) { if (item.totalDamage !== 0) {
weapons.push({ weapons.push({
uniqueName, uniqueName,
name: getString(item.name, lang) name: getString(item.name, dict)
}); });
} else if (!item.excludeFromCodex) { } else if (!item.excludeFromCodex) {
miscitems.push({ miscitems.push({
uniqueName: "MiscItems:" + uniqueName, uniqueName: "MiscItems:" + uniqueName,
name: getString(item.name, lang) name: getString(item.name, dict)
}); });
} }
} }
@ -38,13 +38,13 @@ const getItemListsController: RequestHandler = (req, res) => {
for (const [uniqueName, item] of Object.entries(ExportResources)) { for (const [uniqueName, item] of Object.entries(ExportResources)) {
miscitems.push({ miscitems.push({
uniqueName: "MiscItems:" + uniqueName, uniqueName: "MiscItems:" + uniqueName,
name: getString(item.name, lang) name: getString(item.name, dict)
}); });
} }
for (const [uniqueName, item] of Object.entries(ExportGear)) { for (const [uniqueName, item] of Object.entries(ExportGear)) {
miscitems.push({ miscitems.push({
uniqueName: "Consumables:" + uniqueName, uniqueName: "Consumables:" + uniqueName,
name: getString(item.name, lang) name: getString(item.name, dict)
}); });
} }
@ -53,7 +53,7 @@ const getItemListsController: RequestHandler = (req, res) => {
for (const [uniqueName, upgrade] of Object.entries(ExportUpgrades)) { for (const [uniqueName, upgrade] of Object.entries(ExportUpgrades)) {
mods.push({ mods.push({
uniqueName, uniqueName,
name: getString(upgrade.name, lang), name: getString(upgrade.name, dict),
fusionLimit: upgrade.fusionLimit fusionLimit: upgrade.fusionLimit
}); });
if (upgrade.isStarter || upgrade.isFrivolous || upgrade.upgradeEntries) { if (upgrade.isStarter || upgrade.isFrivolous || upgrade.upgradeEntries) {
@ -63,7 +63,7 @@ const getItemListsController: RequestHandler = (req, res) => {
for (const [uniqueName, arcane] of Object.entries(ExportArcanes)) { for (const [uniqueName, arcane] of Object.entries(ExportArcanes)) {
mods.push({ mods.push({
uniqueName, uniqueName,
name: getString(arcane.name, lang) name: getString(arcane.name, dict)
}); });
} }
@ -73,7 +73,7 @@ const getItemListsController: RequestHandler = (req, res) => {
.map(([uniqueName, warframe]) => { .map(([uniqueName, warframe]) => {
return { return {
uniqueName, uniqueName,
name: getString(warframe.name, lang) name: getString(warframe.name, dict)
}; };
}), }),
weapons, weapons,

View File

@ -89,70 +89,56 @@ export const getSuitByUniqueName = (uniqueName: string): IPowersuit | undefined
return ExportWarframes[uniqueName]; return ExportWarframes[uniqueName];
}; };
export const getString = (key: string, lang: string | undefined): string => { export const getString = (key: string, dict: Record<string, string>): string => {
let dict;
switch (lang) {
case "de":
dict = dict_de;
break;
case "es":
dict = dict_es;
break;
case "fr":
dict = dict_fr;
break;
case "it":
dict = dict_it;
break;
case "ja":
dict = dict_ja;
break;
case "ko":
dict = dict_ko;
break;
case "pl":
dict = dict_pl;
break;
case "pt":
dict = dict_pt;
break;
case "ru":
dict = dict_ru;
break;
case "tc":
dict = dict_tc;
break;
case "th":
dict = dict_th;
break;
case "tr":
dict = dict_tr;
break;
case "uk":
dict = dict_uk;
break;
case "zh":
dict = dict_zh;
break;
case "en":
default:
dict = dict_en;
break;
}
return dict[key] ?? key; return dict[key] ?? key;
}; };
export const getDict = (lang: string | undefined) =>{
switch (lang) {
case "de":
return dict_de;
case "es":
return dict_es;
case "fr":
return dict_fr;
case "it":
return dict_it;
case "ja":
return dict_ja;
case "ko":
return dict_ko;
case "pl":
return dict_pl;
case "pt":
return dict_pt;
case "ru":
return dict_ru;
case "tc":
return dict_tc;
case "th":
return dict_th;
case "tr":
return dict_tr;
case "uk":
return dict_uk;
case "zh":
return dict_zh;
case "en":
default:
return dict_en;
}
}