diff --git a/static/webui/script.js b/static/webui/script.js
index 4414110dd..10209dadf 100644
--- a/static/webui/script.js
+++ b/static/webui/script.js
@@ -284,6 +284,8 @@ function fetchItemList() {
             document.getElementById("changeSyndicate").innerHTML = "";
             document.getElementById("changeSyndicate").appendChild(syndicateNone);
 
+            document.getElementById("valenceBonus-innateDamage").innerHTML = "";
+
             // prettier-ignore
             data.archonCrystalUpgrades = {
                 "/Lotus/Upgrades/Invigorations/ArchonCrystalUpgrades/ArchonCrystalUpgradeEquilibrium": loc("upgrade_Equilibrium").split("|VAL|").join("20"),
@@ -366,6 +368,16 @@ function fetchItemList() {
             };
             window.archonCrystalUpgrades = data.archonCrystalUpgrades;
 
+            data.innateDamages = {
+                InnateElectricityDamage: loc("damageType_Electricity"),
+                InnateFreezeDamage: loc("damageType_Freeze"),
+                InnateHeatDamage: loc("damageType_Fire"),
+                InnateImpactDamage: loc("damageType_Impact"),
+                InnateMagDamage: loc("damageType_Magnetic"),
+                InnateRadDamage: loc("damageType_Radiation"),
+                InnateToxinDamage: loc("damageType_Poison")
+            };
+
             // Add mods mising in data sources
             data.mods.push({
                 uniqueName: "/Lotus/Upgrades/Mods/Fusers/LegendaryModFuser",
@@ -450,6 +462,13 @@ function fetchItemList() {
                         option.value = name;
                         document.getElementById("datalist-" + type).appendChild(option);
                     });
+                } else if (type == "innateDamages") {
+                    Object.entries(items).forEach(([uniqueName, name]) => {
+                        const option = document.createElement("option");
+                        option.value = uniqueName;
+                        option.textContent = name;
+                        document.getElementById("valenceBonus-innateDamage").appendChild(option);
+                    });
                 } else if (type == "uniqueLevelCaps") {
                     uniqueLevelCaps = items;
                 } else if (type == "Syndicates") {
@@ -659,6 +678,12 @@ function updateInventory() {
                             }
                         }
 
+                        if (["Suits", "LongGuns", "Pistols", "Melee", "SpaceGuns", "SpaceMelee"].includes(category)) {
+                            const a = document.createElement("a");
+                            a.href = "/webui/detailedView?productCategory=" + category + "&itemId=" + item.ItemId.$oid;
+                            a.innerHTML = `
`;
+                            td.appendChild(a);
+                        }
                         if (item.XP < maxXP || anyExaltedMissingXP) {
                             const a = document.createElement("a");
                             a.href = "#";
@@ -721,13 +746,6 @@ function updateInventory() {
                                 a.title = loc("code_unmature");
                                 a.innerHTML = `
`;
                             }
-
-                            td.appendChild(a);
-                        }
-                        if (category == "Suits") {
-                            const a = document.createElement("a");
-                            a.href = "/webui/powersuit/" + item.ItemId.$oid;
-                            a.innerHTML = `
`;
                             td.appendChild(a);
                         }
                         {
@@ -1126,53 +1144,73 @@ function updateInventory() {
                 }
             });
 
-            // Populate powersuit route
-            if (single.getCurrentPath().substr(0, 17) == "/webui/powersuit/") {
-                const oid = single.getCurrentPath().substr(17);
-                const item = data.Suits.find(x => x.ItemId.$oid == oid);
+            // Populate detailedView route
+            if (single.getCurrentPath().substr(0, 19) == "/webui/detailedView") {
+                const urlParams = new URLSearchParams(window.location.search);
+                const oid = urlParams.get("itemId");
+                const category = urlParams.get("productCategory");
+                const item = data[category].find(x => x.ItemId.$oid == oid);
+
                 if (item) {
                     if (item.ItemName) {
-                        $("#powersuit-route h3").text(item.ItemName);
-                        $("#powersuit-route .text-body-secondary").text(itemMap[item.ItemType]?.name ?? item.ItemType);
+                        $("#detailedView-route h3").text(item.ItemName);
+                        $("#detailedView-route .text-body-secondary").text(
+                            itemMap[item.ItemType]?.name ?? item.ItemType
+                        );
                     } else {
-                        $("#powersuit-route h3").text(itemMap[item.ItemType]?.name ?? item.ItemType);
-                        $("#powersuit-route .text-body-secondary").text("");
+                        $("#detailedView-route h3").text(itemMap[item.ItemType]?.name ?? item.ItemType);
+                        $("#detailedView-route .text-body-secondary").text("");
                     }
 
-                    const uniqueUpgrades = {};
-                    (item.ArchonCrystalUpgrades ?? []).forEach(upgrade => {
-                        if (upgrade && upgrade.UpgradeType) {
-                            uniqueUpgrades[upgrade.UpgradeType] ??= 0;
-                            uniqueUpgrades[upgrade.UpgradeType] += 1;
-                        }
-                    });
+                    if (category == "Suits") {
+                        document.getElementById("archonShards-card").classList.remove("d-none");
 
-                    document.getElementById("crystals-list").innerHTML = "";
-                    Object.entries(uniqueUpgrades).forEach(([upgradeType, count]) => {
-                        const tr = document.createElement("tr");
-                        {
-                            const td = document.createElement("td");
-                            td.textContent = count + "x " + (archonCrystalUpgrades[upgradeType] ?? upgradeType);
-                            tr.appendChild(td);
-                        }
-                        {
-                            const td = document.createElement("td");
-                            td.classList = "text-end text-nowrap";
-                            {
-                                const a = document.createElement("a");
-                                a.href = "#";
-                                a.onclick = function (event) {
-                                    event.preventDefault();
-                                    doPopArchonCrystalUpgrade(upgradeType);
-                                };
-                                a.title = loc("code_remove");
-                                a.innerHTML = `
`;
-                                td.appendChild(a);
+                        const uniqueUpgrades = {};
+                        (item.ArchonCrystalUpgrades ?? []).forEach(upgrade => {
+                            if (upgrade && upgrade.UpgradeType) {
+                                uniqueUpgrades[upgrade.UpgradeType] ??= 0;
+                                uniqueUpgrades[upgrade.UpgradeType] += 1;
                             }
-                            tr.appendChild(td);
+                        });
+
+                        document.getElementById("crystals-list").innerHTML = "";
+                        Object.entries(uniqueUpgrades).forEach(([upgradeType, count]) => {
+                            const tr = document.createElement("tr");
+                            {
+                                const td = document.createElement("td");
+                                td.textContent = count + "x " + (archonCrystalUpgrades[upgradeType] ?? upgradeType);
+                                tr.appendChild(td);
+                            }
+                            {
+                                const td = document.createElement("td");
+                                td.classList = "text-end text-nowrap";
+                                {
+                                    const a = document.createElement("a");
+                                    a.href = "#";
+                                    a.onclick = function (event) {
+                                        event.preventDefault();
+                                        doPopArchonCrystalUpgrade(upgradeType);
+                                    };
+                                    a.title = loc("code_remove");
+                                    a.innerHTML = `
`;
+                                    td.appendChild(a);
+                                }
+                                tr.appendChild(td);
+                            }
+                            document.getElementById("crystals-list").appendChild(tr);
+                        });
+                    } else if (["LongGuns", "Pistols", "Melee", "SpaceGuns", "SpaceMelee"].includes(category)) {
+                        document.getElementById("valenceBonus-card").classList.remove("d-none");
+                        document.getElementById("valenceBonus-innateDamage").value = "";
+                        document.getElementById("valenceBonus-procent").value = 25;
+
+                        if (item.UpgradeFingerprint) {
+                            const buff = JSON.parse(item.UpgradeFingerprint).buffs[0];
+                            const buffValue = fromUpdradeFingerPrintVaule(buff.Value, 0.25);
+                            document.getElementById("valenceBonus-innateDamage").value = buff.Tag ?? "";
+                            document.getElementById("valenceBonus-procent").value = Math.round(buffValue * 1000) / 10;
                         }
-                        document.getElementById("crystals-list").appendChild(tr);
-                    });
+                    }
                 } else {
                     single.loadRoute("/webui/inventory");
                 }
@@ -2110,16 +2148,19 @@ function doAddMissingMaxRankMods() {
     });
 }
 
-// Powersuit Route
+// DetailedView Route
 
-single.getRoute("#powersuit-route").on("beforeload", function () {
+single.getRoute("#detailedView-route").on("beforeload", function () {
     this.element.querySelector("h3").textContent = "Loading...";
+    document.getElementById("archonShards-card").classList.add("d-none");
+    document.getElementById("valenceBonus-card").classList.add("d-none");
     if (window.didInitialInventoryUpdate) {
         updateInventory();
     }
 });
 
 function doPushArchonCrystalUpgrade() {
+    const urlParams = new URLSearchParams(window.location.search);
     const uniqueName = getKey(document.querySelector("[list='datalist-archonCrystalUpgrades']"));
     if (!uniqueName) {
         $("[list='datalist-archonCrystalUpgrades']").addClass("is-invalid").focus();
@@ -2130,7 +2171,7 @@ function doPushArchonCrystalUpgrade() {
             "/custom/pushArchonCrystalUpgrade?" +
                 window.authz +
                 "&oid=" +
-                single.getCurrentPath().substr(17) +
+                urlParams.get("itemId") +
                 "&type=" +
                 uniqueName +
                 "&count=" +
@@ -2143,14 +2184,10 @@ function doPushArchonCrystalUpgrade() {
 }
 
 function doPopArchonCrystalUpgrade(type) {
+    const urlParams = new URLSearchParams(window.location.search);
     revalidateAuthz().then(() => {
         $.get(
-            "/custom/popArchonCrystalUpgrade?" +
-                window.authz +
-                "&oid=" +
-                single.getCurrentPath().substr(17) +
-                "&type=" +
-                type
+            "/custom/popArchonCrystalUpgrade?" + window.authz + "&oid=" + urlParams.get("itemId") + "&type=" + type
         ).done(function () {
             updateInventory();
         });
@@ -2661,3 +2698,43 @@ document.querySelectorAll(".tags-input").forEach(input => {
     };
     input.oninput();
 });
+
+function fromUpdradeFingerPrintVaule(raw, min) {
+    const range = 0.6 - min;
+    return min + (raw * range) / 0x3fffffff;
+}
+
+function toUpdradeFingerPrintVaule(value, min) {
+    const range = 0.6 - min;
+    return Math.trunc(((value - min) * 0x3fffffff) / range);
+}
+
+function handleValenceBonusChange(event) {
+    event.preventDefault();
+    const urlParams = new URLSearchParams(window.location.search);
+    const action = event.submitter.value;
+    const Tag = document.getElementById("valenceBonus-innateDamage").value;
+    const Value = toUpdradeFingerPrintVaule(document.getElementById("valenceBonus-procent").value / 100, 0.25);
+    revalidateAuthz().then(() => {
+        $.post({
+            url: "/custom/updateFingerprint?" + window.authz,
+            contentType: "application/json",
+            data: JSON.stringify({
+                category: urlParams.get("productCategory"),
+                oid: urlParams.get("itemId"),
+                action,
+                upgradeType: "/Lotus/Weapons/Grineer/KuvaLich/Upgrades/InnateDamageRandomMod",
+                upgradeFingerprint: {
+                    buffs: [
+                        {
+                            Tag,
+                            Value
+                        }
+                    ]
+                }
+            })
+        }).done(function () {
+            updateInventory();
+        });
+    });
+}
diff --git a/static/webui/translations/de.js b/static/webui/translations/de.js
index 0179030c6..e6b12f579 100644
--- a/static/webui/translations/de.js
+++ b/static/webui/translations/de.js
@@ -2,7 +2,10 @@
 dict = {
     general_inventoryUpdateNote: `[UNTRANSLATED] Note: To see changes in-game, you need to resync your inventory, e.g. using the bootstrapper's /sync command, visiting a dojo/relay, or relogging.`,
     general_addButton: `Hinzufügen`,
+    general_setButton: `[UNTRANSLATED] Set`,
+    general_removeButton: `[UNTRANSLATED] Remove`,
     general_bulkActions: `Massenaktionen`,
+
     code_loginFail: `[UNTRANSLATED] Login failed. Double-check the email and password.`,
     code_regFail: `[UNTRANSLATED] Registration failed. Account already exists?`,
     code_changeNameConfirm: `In welchen Namen möchtest du deinen Account umbenennen?`,
@@ -112,9 +115,13 @@ dict = {
     currency_FusionPoints: `Endo`,
     currency_PrimeTokens: `Reines Aya`,
     currency_owned: `Du hast |COUNT|.`,
-    powersuit_archonShardsLabel: `Archon-Scherben-Slots`,
-    powersuit_archonShardsDescription: `Du kannst diese unbegrenzten Slots nutzen, um eine Vielzahl von Verbesserungen anzuwenden.`,
-    powersuit_archonShardsDescription2: `Hinweis: Jede Archon-Scherbe benötigt beim Laden etwas Zeit, um angewendet zu werden.`,
+
+    detailedView_archonShardsLabel: `Archon-Scherben-Slots`,
+    detailedView_archonShardsDescription: `Du kannst diese unbegrenzten Slots nutzen, um eine Vielzahl von Verbesserungen anzuwenden.`,
+    detailedView_archonShardsDescription2: `Hinweis: Jede Archon-Scherbe benötigt beim Laden etwas Zeit, um angewendet zu werden.`,
+    detailedView_valenceBonusLabel: `Valenz-Bonus`,
+    detailedView_valenceBonusDescription: `[UNTRANSLATED] You can set or remove the Valence Bonus from your weapon.`,
+
     mods_addRiven: `Riven hinzufügen`,
     mods_fingerprint: `Fingerabdruck`,
     mods_fingerprintHelp: `Benötigst du Hilfe mit dem Fingerabdruck?`,
@@ -291,6 +298,14 @@ dict = {
     upgrade_SwiftExecute: `[UNTRANSLATED] Speed of Mercy Kills increased by 50%`,
     upgrade_OnHackInvis: `[UNTRANSLATED] Invisible for 15 seconds after hacking`,
 
+    damageType_Electricity: `Elektrizität`,
+    damageType_Fire: `Hitze`,
+    damageType_Freeze: `Kälte`,
+    damageType_Impact: `Einschlag`,
+    damageType_Magnetic: `Magnetismus`,
+    damageType_Poison: `Gift`,
+    damageType_Radiation: `Strahlung`,
+
     theme_dark: `[UNTRANSLATED] Dark Theme`,
     theme_light: `[UNTRANSLATED] Light Theme`,
 
diff --git a/static/webui/translations/en.js b/static/webui/translations/en.js
index 36f0645be..c18e34d31 100644
--- a/static/webui/translations/en.js
+++ b/static/webui/translations/en.js
@@ -1,7 +1,10 @@
 dict = {
     general_inventoryUpdateNote: `Note: To see changes in-game, you need to resync your inventory, e.g. using the bootstrapper's /sync command, visiting a dojo/relay, or relogging.`,
     general_addButton: `Add`,
+    general_setButton: `Set`,
+    general_removeButton: `Remove`,
     general_bulkActions: `Bulk Actions`,
+
     code_loginFail: `Login failed. Double-check the email and password.`,
     code_regFail: `Registration failed. Account already exists?`,
     code_changeNameConfirm: `What would you like to change your account name to?`,
@@ -111,9 +114,13 @@ dict = {
     currency_FusionPoints: `Endo`,
     currency_PrimeTokens: `Regal Aya`,
     currency_owned: `You have |COUNT|.`,
-    powersuit_archonShardsLabel: `Archon Shard Slots`,
-    powersuit_archonShardsDescription: `You can use these unlimited slots to apply a wide range of upgrades.`,
-    powersuit_archonShardsDescription2: `Note that each archon shard takes some time to be applied when loading in.`,
+
+    detailedView_archonShardsLabel: `Archon Shard Slots`,
+    detailedView_archonShardsDescription: `You can use these unlimited slots to apply a wide range of upgrades.`,
+    detailedView_archonShardsDescription2: `Note that each archon shard takes some time to be applied when loading in.`,
+    detailedView_valenceBonusLabel: `Valence Bonus`,
+    detailedView_valenceBonusDescription: `You can set or remove the Valence Bonus from your weapon.`,
+
     mods_addRiven: `Add Riven`,
     mods_fingerprint: `Fingerprint`,
     mods_fingerprintHelp: `Need help with the fingerprint?`,
@@ -290,6 +297,14 @@ dict = {
     upgrade_SwiftExecute: `Speed of Mercy Kills increased by 50%`,
     upgrade_OnHackInvis: `Invisible for 15 seconds after hacking`,
 
+    damageType_Electricity: `Electricity`,
+    damageType_Fire: `Heat`,
+    damageType_Freeze: `Cold`,
+    damageType_Impact: `Impact`,
+    damageType_Magnetic: `Magnetic`,
+    damageType_Poison: `Toxin`,
+    damageType_Radiation: `Radiation`,
+
     theme_dark: `Dark Theme`,
     theme_light: `Light Theme`,
 
diff --git a/static/webui/translations/es.js b/static/webui/translations/es.js
index d8e561b16..fc56db1c2 100644
--- a/static/webui/translations/es.js
+++ b/static/webui/translations/es.js
@@ -2,7 +2,10 @@
 dict = {
     general_inventoryUpdateNote: `Para ver los cambios en el juego, necesitas volver a sincronizar tu inventario, por ejemplo, usando el comando /sync del bootstrapper, visitando un dojo o repetidor, o volviendo a iniciar sesión.`,
     general_addButton: `Agregar`,
+    general_setButton: `[UNTRANSLATED] Set`,
+    general_removeButton: `[UNTRANSLATED] Remove`,
     general_bulkActions: `Acciones masivas`,
+
     code_loginFail: `Error al iniciar sesión. Verifica el correo electrónico y la contraseña.`,
     code_regFail: `Error al registrar la cuenta. ¿Ya existe una cuenta con este correo?`,
     code_changeNameConfirm: `¿Qué nombre te gustaría ponerle a tu cuenta?`,
@@ -112,9 +115,13 @@ dict = {
     currency_FusionPoints: `Endo`,
     currency_PrimeTokens: `Aya Real`,
     currency_owned: `Tienes |COUNT|.`,
-    powersuit_archonShardsLabel: `Ranuras de Fragmento de Archón`,
-    powersuit_archonShardsDescription: `Puedes usar estas ranuras ilimitadas para aplicar una amplia variedad de mejoras`,
-    powersuit_archonShardsDescription2: `Ten en cuenta que cada fragmento de archón tarda un poco en aplicarse al cargar`,
+
+    detailedView_archonShardsLabel: `Ranuras de Fragmento de Archón`,
+    detailedView_archonShardsDescription: `Puedes usar estas ranuras ilimitadas para aplicar una amplia variedad de mejoras`,
+    detailedView_archonShardsDescription2: `Ten en cuenta que cada fragmento de archón tarda un poco en aplicarse al cargar`,
+    detailedView_valenceBonusLabel: `Bônus de Valência`,
+    detailedView_valenceBonusDescription: `[UNTRANSLATED] You can set or remove the Valence Bonus from your weapon.`,
+
     mods_addRiven: `Agregar Agrietado`,
     mods_fingerprint: `Huella digital`,
     mods_fingerprintHelp: `¿Necesitas ayuda con la huella digital?`,
@@ -291,6 +298,14 @@ dict = {
     upgrade_SwiftExecute: `Velocidad de ejecuciones aumentada en un 50%`,
     upgrade_OnHackInvis: `Invisible durante 15 segundos después de hackear`,
 
+    damageType_Electricity: `Eletricidade`,
+    damageType_Fire: `Ígneo`,
+    damageType_Freeze: `Glacial`,
+    damageType_Impact: `Colisivo`,
+    damageType_Magnetic: `Magnético`,
+    damageType_Poison: `Tóxico`,
+    damageType_Radiation: `Radioativo`,
+
     theme_dark: `[UNTRANSLATED] Dark Theme`,
     theme_light: `[UNTRANSLATED] Light Theme`,
 
diff --git a/static/webui/translations/fr.js b/static/webui/translations/fr.js
index 43e96c0f8..e35bc9ac5 100644
--- a/static/webui/translations/fr.js
+++ b/static/webui/translations/fr.js
@@ -2,7 +2,10 @@
 dict = {
     general_inventoryUpdateNote: `[UNTRANSLATED] Note: To see changes in-game, you need to resync your inventory, e.g. using the bootstrapper's /sync command, visiting a dojo/relay, or relogging.`,
     general_addButton: `Ajouter`,
+    general_setButton: `[UNTRANSLATED] Set`,
+    general_removeButton: `[UNTRANSLATED] Remove`,
     general_bulkActions: `Action groupée`,
+
     code_loginFail: `Connexion échouée. Vérifiez le mot de passe.`,
     code_regFail: `Enregistrement impossible. Compte existant?`,
     code_changeNameConfirm: `Nouveau nom du compte :`,
@@ -112,9 +115,13 @@ dict = {
     currency_FusionPoints: `Endo`,
     currency_PrimeTokens: `Aya Raffiné`,
     currency_owned: `|COUNT| possédés.`,
-    powersuit_archonShardsLabel: `Emplacements de fragments d'Archonte`,
-    powersuit_archonShardsDescription: `Slots illimités pour appliquer plusieurs améliorations`,
-    powersuit_archonShardsDescription2: `Un délai sera présent entre l'application des éclats et le chargement en jeu.`,
+
+    detailedView_archonShardsLabel: `Emplacements de fragments d'Archonte`,
+    detailedView_archonShardsDescription: `Slots illimités pour appliquer plusieurs améliorations`,
+    detailedView_archonShardsDescription2: `Un délai sera présent entre l'application des éclats et le chargement en jeu.`,
+    detailedView_valenceBonusLabel: `Bonus de Valence`,
+    detailedView_valenceBonusDescription: `[UNTRANSLATED] You can set or remove the Valence Bonus from your weapon.`,
+
     mods_addRiven: `Ajouter un riven`,
     mods_fingerprint: `Empreinte`,
     mods_fingerprintHelp: `Besoin d'aide pour l'empreinte ?`,
@@ -291,6 +298,14 @@ dict = {
     upgrade_SwiftExecute: `Vitesse des miséricordes augmentée de 50%`,
     upgrade_OnHackInvis: `Invisible pendant 15 secondes après un piratage`,
 
+    damageType_Electricity: `Électrique`,
+    damageType_Fire: `Feu`,
+    damageType_Freeze: `Glace`,
+    damageType_Impact: `Impact`,
+    damageType_Magnetic: `Magnétique`,
+    damageType_Poison: `Poison`,
+    damageType_Radiation: `Radiations`,
+
     theme_dark: `[UNTRANSLATED] Dark Theme`,
     theme_light: `[UNTRANSLATED] Light Theme`,
 
diff --git a/static/webui/translations/ru.js b/static/webui/translations/ru.js
index d2a7e36df..0666c75cd 100644
--- a/static/webui/translations/ru.js
+++ b/static/webui/translations/ru.js
@@ -2,7 +2,10 @@
 dict = {
     general_inventoryUpdateNote: `[UNTRANSLATED] Note: To see changes in-game, you need to resync your inventory, e.g. using the bootstrapper's /sync command, visiting a dojo/relay, or relogging.`,
     general_addButton: `Добавить`,
+    general_setButton: `Установить`,
+    general_removeButton: `Удалить`,
     general_bulkActions: `Массовые действия`,
+
     code_loginFail: `[UNTRANSLATED] Login failed. Double-check the email and password.`,
     code_regFail: `[UNTRANSLATED] Registration failed. Account already exists?`,
     code_changeNameConfirm: `Какое имя вы хотите установить для своей учетной записи?`,
@@ -112,9 +115,13 @@ dict = {
     currency_FusionPoints: `Эндо`,
     currency_PrimeTokens: `Королевские Айя`,
     currency_owned: `У тебя |COUNT|.`,
-    powersuit_archonShardsLabel: `Ячейки осколков архонта`,
-    powersuit_archonShardsDescription: `Вы можете использовать эти неограниченные ячейки для установки множества улучшений.`,
-    powersuit_archonShardsDescription2: `Обратите внимание: каждый фрагмент архонта применяется с задержкой при загрузке.`,
+
+    detailedView_archonShardsLabel: `Ячейки осколков архонта`,
+    detailedView_archonShardsDescription: `Вы можете использовать эти неограниченные ячейки для установки множества улучшений.`,
+    detailedView_archonShardsDescription2: `Обратите внимание: каждый фрагмент архонта применяется с задержкой при загрузке.`,
+    detailedView_valenceBonusLabel: `Бонус Валентности`,
+    detailedView_valenceBonusDescription: `Вы можете установить или убрать бонус валентности с вашего оружия.`,
+
     mods_addRiven: `Добавить Мод Разлома`,
     mods_fingerprint: `Отпечаток`,
     mods_fingerprintHelp: `Нужна помощь с отпечатком?`,
@@ -291,6 +298,14 @@ dict = {
     upgrade_SwiftExecute: `[UNTRANSLATED] Speed of Mercy Kills increased by 50%`,
     upgrade_OnHackInvis: `[UNTRANSLATED] Invisible for 15 seconds after hacking`,
 
+    damageType_Electricity: `Электричество`,
+    damageType_Fire: `Огонь`,
+    damageType_Freeze: `Холод`,
+    damageType_Impact: `Удар`,
+    damageType_Magnetic: `Магнит`,
+    damageType_Poison: `Токсин`,
+    damageType_Radiation: `Радиация`,
+
     theme_dark: `[UNTRANSLATED] Dark Theme`,
     theme_light: `[UNTRANSLATED] Light Theme`,
 
diff --git a/static/webui/translations/zh.js b/static/webui/translations/zh.js
index 602431cf1..a15bc3a8c 100644
--- a/static/webui/translations/zh.js
+++ b/static/webui/translations/zh.js
@@ -2,7 +2,10 @@
 dict = {
     general_inventoryUpdateNote: `注意:要在游戏中查看更改,您需要重新同步库存,例如使用引导程序的 /sync 命令、访问道场 / 中继站或重新登录`,
     general_addButton: `添加`,
+    general_setButton: `[UNTRANSLATED] Set`,
+    general_removeButton: `[UNTRANSLATED] Remove`,
     general_bulkActions: `批量操作`,
+
     code_loginFail: `登录失败。请检查邮箱和密码。`,
     code_regFail: `注册失败。账号已存在。`,
     code_changeNameConfirm: `您想将账户名称更改为什么?`,
@@ -112,9 +115,13 @@ dict = {
     currency_FusionPoints: `内融核心`,
     currency_PrimeTokens: `御品阿耶`,
     currency_owned: `当前拥有 |COUNT|。`,
-    powersuit_archonShardsLabel: `执刑官源力石槽位`,
-    powersuit_archonShardsDescription: `您可以使用这些无限插槽应用各种强化效果`,
-    powersuit_archonShardsDescription2: `请注意, 在加载时, 每个执政官源力石都需要一定的时间来生效。`,
+
+    detailedView_archonShardsLabel: `执刑官源力石槽位`,
+    detailedView_archonShardsDescription: `您可以使用这些无限插槽应用各种强化效果`,
+    detailedView_archonShardsDescription2: `请注意, 在加载时, 每个执政官源力石都需要一定的时间来生效。`,
+    detailedView_valenceBonusLabel: `效价加成`,
+    detailedView_valenceBonusDescription: `[UNTRANSLATED] You can set or remove the Valence Bonus from your weapon.`,
+
     mods_addRiven: `添加裂罅MOD`,
     mods_fingerprint: `印记`,
     mods_fingerprintHelp: `需要印记相关的帮助?`,
@@ -291,6 +298,14 @@ dict = {
     upgrade_SwiftExecute: `怜悯之击速度提升50%`,
     upgrade_OnHackInvis: `入侵后隐身15秒`,
 
+    damageType_Electricity: `电击`,
+    damageType_Fire: `火焰`,
+    damageType_Freeze: `冰冻`,
+    damageType_Impact: `冲击`,
+    damageType_Magnetic: `磁力`,
+    damageType_Poison: `毒素`,
+    damageType_Radiation: `辐射`,
+
     theme_dark: `[UNTRANSLATED] Dark Theme`,
     theme_light: `[UNTRANSLATED] Light Theme`,