const locale = (
  await (await fetch("https://oss-print.niimbot.com/public_resources/static_resources/languagePack/en.json")).json()
)["lang"];

const translateDeep = (obj) => {
  if (typeof obj === "object") {
    for (const key in obj) {
      if (typeof obj[key] === "object") {
        translateDeep(obj[key]);
      } else if (typeof obj[key] === "string" && key === "multilingualCode") {
        const translated = locale[obj[key]];
        obj["translated"] = translated ? translated["value"] : "TRANSLATION_NOT_FOUND";
      }
    }
  }
  return obj;
};

const devices = await (await fetch("https://oss-print.niimbot.com/public_resources/static_resources/devices.json")).json();

const translated = devices.map(translateDeep);

console.log(JSON.stringify(translated, null, 2));