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; return dict[key] ?? key;
};
export const getDict = (lang: string | undefined) =>{
switch (lang) { switch (lang) {
case "de": case "de":
dict = dict_de; return dict_de;
break;
case "es": case "es":
dict = dict_es; return dict_es;
break;
case "fr": case "fr":
dict = dict_fr; return dict_fr;
break;
case "it": case "it":
dict = dict_it; return dict_it;
break;
case "ja": case "ja":
dict = dict_ja; return dict_ja;
break;
case "ko": case "ko":
dict = dict_ko; return dict_ko;
break;
case "pl": case "pl":
dict = dict_pl; return dict_pl;
break;
case "pt": case "pt":
dict = dict_pt; return dict_pt;
break;
case "ru": case "ru":
dict = dict_ru; return dict_ru;
break;
case "tc": case "tc":
dict = dict_tc; return dict_tc;
break;
case "th": case "th":
dict = dict_th; return dict_th;
break;
case "tr": case "tr":
dict = dict_tr; return dict_tr;
break;
case "uk": case "uk":
dict = dict_uk; return dict_uk;
break;
case "zh": case "zh":
dict = dict_zh; return dict_zh;
break;
case "en": case "en":
default: default:
dict = dict_en; return dict_en;
break;
} }
}
return dict[key] ?? key;
};