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

View File

@ -89,70 +89,56 @@ export const getSuitByUniqueName = (uniqueName: string): IPowersuit | undefined
return ExportWarframes[uniqueName];
};
export const getString = (key: string, lang: string | undefined): 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;
}
export const getString = (key: string, dict: Record<string, string>): string => {
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;
}
}