From 2f39c94f059ce382fc7a1579de3695152478fc84 Mon Sep 17 00:00:00 2001 From: czrps <123883861+czrps@users.noreply.github.com> Date: Tue, 2 Dec 2025 23:35:43 +0300 Subject: [PATCH 1/7] Update tr_tr.json MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Başlık çevirisi yapıldı --- lang/tr_tr.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lang/tr_tr.json b/lang/tr_tr.json index 85a315d..11fd20a 100644 --- a/lang/tr_tr.json +++ b/lang/tr_tr.json @@ -308,6 +308,6 @@ "skipped": "Atlanmış", "tests completed": "Tamamlanan Testler", "to increase the non-circularity.": "Dairesellikten sapmayı artırmak için.", - "Please connect a DualShock 4, a DualSense, DualSense Edge or VR2 controller to your computer and press Connect.": "", + "Please connect a DualShock 4, a DualSense, DualSense Edge or VR2 controller to your computer and press Connect.": "Lütfen bir DualShock 4, DualSense, DualSense Edge veya VR2 kontrolcüsünü bilgisayarınıza bağlayın ve ‘Bağlan’ butonuna basın.", "": "" -} \ No newline at end of file +} From fc14d5353b1f032c2dee38e09e38502855861ec7 Mon Sep 17 00:00:00 2001 From: sladkOy Date: Sat, 22 Nov 2025 13:27:35 +0200 Subject: [PATCH 2/7] Update ua_ua.json --- lang/ua_ua.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lang/ua_ua.json b/lang/ua_ua.json index 5aaa76e..f8002db 100644 --- a/lang/ua_ua.json +++ b/lang/ua_ua.json @@ -307,7 +307,7 @@ "skipped": "пропущено", "tests completed": "тестів завершено", "to increase the non-circularity.": "щоб збільшити неокруглість.", - "Please connect a DualShock 4, a DualSense, DualSense Edge or VR2 controller to your computer and press Connect.": "", - "The device appears to be a clone. All calibration functionality is disabled.": "", + "Please connect a DualShock 4, a DualSense, DualSense Edge or VR2 controller to your computer and press Connect.": "Під’єднайте контролер DualShock 4, DualSense, DualSense Edge або VR2 до комп’ютера та натисніть «Під’єднати».", + "The device appears to be a clone. All calibration functionality is disabled.": "Схоже, цей пристрій є підробкою. Усі функції калібрування вимкнено.", "": "" -} \ No newline at end of file +} From 13a6b0994e3625f76668ee2a76d1b29bc4b135dd Mon Sep 17 00:00:00 2001 From: sladkOy Date: Sat, 22 Nov 2025 13:34:21 +0200 Subject: [PATCH 3/7] Update ua_ua.json --- lang/ua_ua.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lang/ua_ua.json b/lang/ua_ua.json index f8002db..0cb0d7d 100644 --- a/lang/ua_ua.json +++ b/lang/ua_ua.json @@ -307,7 +307,7 @@ "skipped": "пропущено", "tests completed": "тестів завершено", "to increase the non-circularity.": "щоб збільшити неокруглість.", - "Please connect a DualShock 4, a DualSense, DualSense Edge or VR2 controller to your computer and press Connect.": "Під’єднайте контролер DualShock 4, DualSense, DualSense Edge або VR2 до комп’ютера та натисніть «Під’єднати».", + "Please connect a DualShock 4, a DualSense, DualSense Edge or VR2 controller to your computer and press Connect.": "Під’єднайте контролер DualShock 4, DualSense, DualSense Edge або VR2 до комп’ютера та натисніть «Підключити».", "The device appears to be a clone. All calibration functionality is disabled.": "Схоже, цей пристрій є підробкою. Усі функції калібрування вимкнено.", "": "" } From 420648d851a9441ec4729ba47c5063f5a193ca4b Mon Sep 17 00:00:00 2001 From: dualshock-tools Date: Sat, 6 Dec 2025 10:12:57 +0100 Subject: [PATCH 4/7] Updated hu_hu language --- lang/hu_hu.json | 191 +++++++++++++++++++++++++----------------------- 1 file changed, 98 insertions(+), 93 deletions(-) diff --git a/lang/hu_hu.json b/lang/hu_hu.json index f2c7da5..bded613 100644 --- a/lang/hu_hu.json +++ b/lang/hu_hu.json @@ -216,98 +216,103 @@ "Sterling Silver": "Sterling Silver", "Volcanic Red": "Volcanic Red", "White": "Fehér", - "10x zoom": "", - "Average circularity error: smaller is not always better! Aim for 7-9 %.": "", - "A reboot is needed to continue using this DualSense Edge. Please disconnect and reconnect your controller.": "", - "Adaptive Trigger": "", - "Adaptive triggers are only supported on DualSense controllers": "", - "Add test": "", - "Be gentle to avoid damage.": "", - "Buttons": "", - "Calibration": "", - "Center": "", - "Center (L1)": "", - "Chroma Indigo": "", - "Chroma Pearl": "", - "Chroma Teal": "", - "Circularity": "", - "Circularity (R1)": "", - "Controller does not support adaptive trigger control": "", - "Debug": "", - "Don't show again": "", - "Fail": "", - "Failed": "", - "Failed to connect to device": "", - "Failed to disable adaptive trigger": "", - "Failed to set speaker tone": "", - "Failed to set vibration": "", - "Feel for vibration in the controller.": "", - "Fortnite": "", - "Haptic Vibration": "", - "Headphone Jack": "", - "Increase non-circularity": "", - "Info": "", - "Instructions": "", - "Keep rotating the sticks even if you see no progress!": "", - "Learn more...": "", - "Lights": "", - "Listen for a tone from the controller speaker.": "", - "Long-press [circle] to skip ahead.": "", - "Microphone": "", - "Microphone Level:": "", - "Move the stick to select it for tuning, then without touching the stick use the D-pad buttons to adjust the center point. Flick it and adjust it again if it is off center or flickers.": "", - "No controller connected": "", - "No tests completed yet.": "", - "Normal": "", - "Not tested": "", - "Pass": "", - "Passed": "", - "Please connect a DualShock 4, a DualSense, DualSense Edge or VR2 controller to your computer and press Connect.": "", - "Please release the stick to center position before adjusting with D-pad buttons.": "", - "Plug in headphones to the 3.5mm jack": "", - "Press L2 and R2 triggers to feel the trigger resistance.": "", - "Press [circle] to close, or [square] to start over": "", - "Press [square] to Pass, [cross] to Fail, or [circle] to skip.": "", - "Press [square] to begin or [circle] to close": "", - "Press [triangle] to go back.": "", - "Press each button until they turn green.": "", - "Press the D-pad or face buttons in the direction you want the stick position to move.": "", - "Progress": "", - "Push the stick straight up/down/left/right as far as possible.": "", - "Quick Test": "", - "Quick calibrate": "", - "Range calibration appears to have failed. Please try again and make sure you rotate the sticks.": "", - "Repeat": "", - "Restart": "", - "Rotate the sticks slowly at least 2 times in one direction and 2 times in the other direction to cover the whole range.": "", - "Run through these tests to verify your controller's functionality.": "", - "Show raw numbers": "", - "Sony controllers come from the factory calibrated to have an average circularity error of nearly 10 %, and this is now what games expect. Too perfect circularity can make movements and aim feel stiff and unresponsive in some games.": "", - "Speaker": "", - "Spider-Man 2": "", - "Step size": "", - "Test Speaker": "", - "Test Summary": "", - "Test all buttons, or long-press [square] to Pass and [cross] to Fail, or [circle] to skip.": "", - "The Done button will unlock after at most 15 seconds. If you press Done without rotating the sticks, the calibration will be incomplete and you will need to repeat it.": "", - "The Last of Us": "", - "The device appears to be a clone. All calibration functionality is disabled.": "", - "The device is connected via Bluetooth. Disconnect and reconnect using a USB cable instead.": "", - "This test checks all controller buttons by requiring you to press each button up to three times.": "", - "This test checks the headphone jack functionality.": "", - "This test checks the reliability of the USB port.": "", - "This test will cycle through red, green, and blue colors on the controller lightbar, animate the player indicator lights, and flash the mute button.": "", - "This test will enable heavy resistance on both L2 and R2 triggers.": "", - "USB Connector": "", - "Watch the controller lights change colors, the player lights animate, and the mute button flash.": "", - "While holding the stick to be adjusted straight up/down/left/right, make adjustments until you see lightblue sectors in all four directions after circling the stick both left and right. Then use the": "", - "Wiggle the USB cable to see if the controller disconnects.": "", - "Your device might not be a genuine Sony controller. If it is not a clone then please report this issue.": "", - "failed": "", - "hide": "", - "passed": "", - "skipped": "", - "tests completed": "", - "to increase the non-circularity.": "", + "10x zoom": "10x nagyítás", + "Average circularity error: smaller is not always better! Aim for 7-9 %.": "Átlagos körkörösségi hiba: a kisebb nem mindig jobb! Célozd meg a 7-9%-ot.", + "A reboot is needed to continue using this DualSense Edge. Please disconnect and reconnect your controller.": "A DualSense Edge további használatához újraindítás szükséges. Kérlek, válaszd le, majd csatlakoztasd újra a kontrollert.", + "Adaptive Trigger": "Adaptív ravasz", + "Adaptive triggers are only supported on DualSense controllers": "Az adaptív ravaszok csak DualSense kontrollereken támogatottak", + "Add test": "Teszt hozzáadása", + "Be gentle to avoid damage.": "Légy óvatos, hogy elkerüld a sérülést.", + "Buttons": "Gombok", + "Calibration": "Kalibrálás", + "Center": "Közép", + "Center (L1)": "Közép (L1)", + "Chroma Indigo": "Chroma Indigó", + "Chroma Pearl": "Chroma Gyöngy", + "Chroma Teal": "Chroma Kékeszöld", + "Circularity": "Körkörösség", + "Circularity (R1)": "Körkörösség (R1)", + "Controller does not support adaptive trigger control": "A kontroller nem támogatja az adaptív ravasz vezérlését", + "Debug": "Hibakeresés", + "Don't show again": "Ne jelenjen meg újra", + "Fail": "Sikertelen", + "Failed": "Sikertelen", + "Failed to connect to device": "Nem sikerült csatlakozni az eszközhöz", + "Failed to disable adaptive trigger": "Nem sikerült letiltani az adaptív ravaszt", + "Failed to set speaker tone": "Nem sikerült beállítani a hangszóró hangját", + "Failed to set vibration": "Nem sikerült beállítani a rezgést", + "Feel for vibration in the controller.": "Érezd a rezgést a kontrollerben.", + "Fortnite": "Fortnite", + "Haptic Vibration": "Haptikus rezgés", + "Headphone Jack": "Fejhallgató-csatlakozó", + "Increase non-circularity": "Nem-körkörösség növelése", + "Info": "Infó", + "Instructions": "Utasítások", + "Keep rotating the sticks even if you see no progress!": "Forgasd tovább a karokat akkor is, ha nem látsz változást!", + "Learn more...": "Tudj meg többet...", + "Lights": "Fények", + "Listen for a tone from the controller speaker.": "Figyeld a hangjelzést a kontroller hangszórójából.", + "Long-press [circle] to skip ahead.": "Nyomd hosszan a [kör] gombot a kihagyáshoz.", + "Microphone": "Mikrofon", + "Microphone Level:": "Mikrofon szint:", + "Move the stick to select it for tuning, then without touching the stick use the D-pad buttons to adjust the center point. Flick it and adjust it again if it is off center or flickers.": "Mozgasd meg a kart a kiválasztáshoz, majd anélkül, hogy hozzáérnél, használd a D-pad (nyíl) gombokat a középpont beállításához. Pöccintsd meg, és állítsd be újra, ha nincs középen vagy ugrál.", + "No controller connected": "Nincs csatlakoztatva kontroller", + "No tests completed yet.": "Még nincsenek befejezett tesztek.", + "Normal": "Normál", + "Not tested": "Nincs tesztelve", + "Pass": "Sikeres", + "Passed": "Sikeres", + "Please connect a DualShock 4, a DualSense, DualSense Edge or VR2 controller to your computer and press Connect.": "Kérlek, csatlakoztass egy DualShock 4, DualSense, DualSense Edge vagy VR2 kontrollert a számítógépedhez, és kattints a Csatlakozás gombra.", + "Please release the stick to center position before adjusting with D-pad buttons.": "Kérlek, engedd el a kart középső állásba, mielőtt a D-pad gombokkal módosítanád.", + "Plug in headphones to the 3.5mm jack": "Csatlakoztass egy fejhallgatót a 3,5 mm-es jack aljzathoz", + "Press L2 and R2 triggers to feel the trigger resistance.": "Nyomd meg az L2 és R2 ravaszokat az ellenállás érzékeléséhez.", + "Press [circle] to close, or [square] to start over": "Nyomd meg a [kör] gombot a bezáráshoz, vagy a [négyzet] gombot az újrakezdéshez", + "Press [square] to Pass, [cross] to Fail, or [circle] to skip.": "Nyomd meg a [négyzet] gombot, ha Sikeres, a [kereszt] gombot, ha Sikertelen, vagy a [kör] gombot a kihagyáshoz.", + "Press [square] to begin or [circle] to close": "Nyomd meg a [négyzet] gombot a kezdéshez, vagy a [kör] gombot a bezáráshoz", + "Press [triangle] to go back.": "Nyomd meg a [háromszög] gombot a visszalépéshez.", + "Press each button until they turn green.": "Nyomj meg minden gombot, amíg zöldre nem váltanak.", + "Press the D-pad or face buttons in the direction you want the stick position to move.": "Nyomd a D-padot vagy az előlapi gombokat abba az irányba, amerre a kar pozícióját mozgatni szeretnéd.", + "Progress": "Folyamat", + "Push the stick straight up/down/left/right as far as possible.": "Told a kart egyenesen fel/le/balra/jobbra, ameddig csak lehet.", + "Quick Test": "Gyors teszt", + "Quick calibrate": "Gyors kalibrálás", + "Range calibration appears to have failed. Please try again and make sure you rotate the sticks.": "Úgy tűnik, a tartománykalibrálás sikertelen volt. Kérlek, próbáld újra, és győződj meg róla, hogy forgatod a karokat.", + "Repeat": "Ismétlés", + "Restart": "Újraindítás", + "Rotate the sticks slowly at least 2 times in one direction and 2 times in the other direction to cover the whole range.": "Forgasd a karokat lassan legalább kétszer az egyik irányba, és kétszer a másik irányba, hogy a teljes tartományt lefedd.", + "Run through these tests to verify your controller's functionality.": "Futtasd le ezeket a teszteket a kontroller működésének ellenőrzéséhez.", + "Show raw numbers": "Nyers adatok mutatása", + "Sony controllers come from the factory calibrated to have an average circularity error of nearly 10 %, and this is now what games expect. Too perfect circularity can make movements and aim feel stiff and unresponsive in some games.": "A Sony kontrollerek gyárilag közel 10%-os átlagos körkörösségi hibával érkeznek, és a játékok jelenleg ezt várják el. A túl tökéletes körkörösség miatt a mozgás és a célzás merevnek és érzéketlennek tűnhet bizonyos játékokban.", + "Speaker": "Hangszóró", + "Spider-Man 2": "Spider-Man 2", + "Step size": "Lépésköz", + "Test Speaker": "Hangszóró tesztelése", + "Test Summary": "Teszt összesítése", + "Test all buttons, or long-press [square] to Pass and [cross] to Fail, or [circle] to skip.": "Teszteld az összes gombot, vagy nyomd hosszan a [négyzet] gombot, ha Sikeres, a [kereszt] gombot, ha Sikertelen, vagy a [kör] gombot a kihagyáshoz.", + "The Done button will unlock after at most 15 seconds. If you press Done without rotating the sticks, the calibration will be incomplete and you will need to repeat it.": "A Kész gomb legfeljebb 15 másodperc múlva válik elérhetővé. Ha a karok forgatása nélkül nyomod meg a Kész gombot, a kalibrálás hiányos lesz, és meg kell ismételned.", + "The Last of Us": "The Last of Us", + "The device appears to be a clone. All calibration functionality is disabled.": "Az eszköz hamisítványnak tűnik. Minden kalibrációs funkció letiltásra került.", + "The device is connected via Bluetooth. Disconnect and reconnect using a USB cable instead.": "Az eszköz Bluetooth-on keresztül csatlakozik. Válaszd le, és csatlakoztasd inkább USB-kábellel.", + "This test checks all controller buttons by requiring you to press each button up to three times.": "Ez a teszt az összes kontrollergombot ellenőrzi; minden gombot akár háromszor is meg kell nyomnod.", + "This test checks the headphone jack functionality.": "Ez a teszt a fejhallgató-csatlakozó működését ellenőrzi.", + "This test checks the reliability of the USB port.": "Ez a teszt az USB-port megbízhatóságát ellenőrzi.", + "This test will activate the controller's vibration motors, first the heavy one, and then the light one.": "Ez a teszt aktiválja a kontroller rezgőmotorjait, először az erőset, majd a gyengét.", + "This test will cycle through red, green, and blue colors on the controller lightbar, animate the player indicator lights, and flash the mute button.": "Ez a teszt végigmegy a piros, zöld és kék színeken a fénysávon, animálja a játékosjelző fényeket, és villogtatja a némítás gombot.", + "This test will enable heavy resistance on both L2 and R2 triggers.": "Ez a teszt erős ellenállást kapcsol be mind az L2, mind az R2 ravaszon.", + "This test will play a tone through the controller's built-in speaker.": "Ez a teszt egy hangot játszik le a kontroller beépített hangszóróján keresztül.", + "This test will monitor the controller's microphone input levels.": "Ez a teszt figyeli a kontroller mikrofonjának bemeneti szintjeit.", + "Blow gently into the controller's microphone. You should see the audio level indicator respond.": "Fújj óvatosan a kontroller mikrofonjába. A hangerőszint-jelzőnek reagálnia kell.", + "Click \"Test Speaker\" to listen for the tone through the headphones": "Kattints a \"Hangszóró tesztelése\" gombra, hogy a fejhallgatón keresztül halld a hangot.", + "USB Connector": "USB csatlakozó", + "Watch the controller lights change colors, the player lights animate, and the mute button flash.": "Figyeld, ahogy a kontroller fényei színt váltanak, a játékosjelzők animálódnak, és a némítás gomb villog.", + "While holding the stick to be adjusted straight up/down/left/right, make adjustments until you see lightblue sectors in all four directions after circling the stick both left and right. Then use the": "Miközben a beállítandó kart egyenesen fel/le/balra/jobbra tartod, végezd el a módosításokat, amíg világoskék szektorokat nem látsz mind a négy irányban, miután a kart balra és jobbra is körbeforgattad. Ezután használd a", + "Wiggle the USB cable to see if the controller disconnects.": "Mozgasd meg az USB-kábelt, hogy lásd, szétkapcsol-e a kontroller.", + "Your device might not be a genuine Sony controller. If it is not a clone then please report this issue.": "Lehetséges, hogy az eszközöd nem eredeti Sony kontroller. Ha nem hamisítvány, kérlek, jelentsd ezt a problémát.", + "failed": "sikertelen", + "hide": "elrejtés", + "passed": "sikeres", + "skipped": "kihagyva", + "tests completed": "befejezett teszt", + "to increase the non-circularity.": "a nem-körkörösség növeléséhez.", "": "" } \ No newline at end of file From 6bea7dfec234498fb33d53d17f8ba570ab3d9805 Mon Sep 17 00:00:00 2001 From: Alain Carlucci Date: Sat, 6 Dec 2025 16:42:58 +0100 Subject: [PATCH 5/7] Add copy button for firmware information --- js/controllers/ds4-controller.js | 2 +- js/controllers/ds5-controller.js | 16 ++++---- js/core.js | 65 +++++++++++++------------------- lang/ar_ar.json | 4 +- lang/bg_bg.json | 4 +- lang/cz_cz.json | 4 +- lang/da_dk.json | 4 +- lang/de_de.json | 4 +- lang/es_es.json | 4 +- lang/fa_fa.json | 2 + lang/fr_fr.json | 4 +- lang/hu_hu.json | 4 +- lang/it_it.json | 6 +-- lang/jp_jp.json | 4 +- lang/ko_kr.json | 4 +- lang/nl_nl.json | 4 +- lang/pl_pl.json | 4 +- lang/pt_br.json | 4 +- lang/pt_pt.json | 4 +- lang/rs_rs.json | 4 +- lang/ru_ru.json | 4 +- lang/tr_tr.json | 6 +-- lang/ua_ua.json | 6 +-- lang/vi_vn.json | 4 +- lang/zh_cn.json | 4 +- lang/zh_tw.json | 4 +- 26 files changed, 85 insertions(+), 94 deletions(-) diff --git a/js/controllers/ds4-controller.js b/js/controllers/ds4-controller.js index 17c3a8a..a13e05e 100644 --- a/js/controllers/ds4-controller.js +++ b/js/controllers/ds4-controller.js @@ -178,7 +178,7 @@ class DS4Controller extends BaseController { if(!is_clone) { // Add Board Model (UI will append the info icon) - infoItems.push({ key: l("Board Model"), value: this.hwToBoardModel(hw_ver_minor), cat: "hw", addInfoIcon: 'board' }); + infoItems.push({ key: l("Board Model"), value: this.hwToBoardModel(hw_ver_minor), cat: "hw", addInfoIcon: 'board', copyable: true }); const bd_addr = await this.getBdAddr(); infoItems.push({ key: l("Bluetooth Address"), value: bd_addr, cat: "hw" }); diff --git a/js/controllers/ds5-controller.js b/js/controllers/ds5-controller.js index 9954f83..cd9b9b6 100644 --- a/js/controllers/ds5-controller.js +++ b/js/controllers/ds5-controller.js @@ -298,16 +298,16 @@ class DS5Controller extends BaseController { const serial_number = await this.getSystemInfo(1, 19, 17); const color = ds5_color(serial_number); const infoItems = [ - { key: l("Serial Number"), value: serial_number, cat: "hw" }, - { key: l("MCU Unique ID"), value: await this.getSystemInfo(1, 9, 9, false), cat: "hw", isExtra: true }, + { key: l("Serial Number"), value: serial_number, cat: "hw", copyable: true }, + { key: l("MCU Unique ID"), value: await this.getSystemInfo(1, 9, 9, false), cat: "hw", isExtra: true, copyable: true }, { key: l("PCBA ID"), value: reverse_str(await this.getSystemInfo(1, 17, 14)), cat: "hw", isExtra: true }, - { key: l("Battery Barcode"), value: await this.getSystemInfo(1, 24, 23), cat: "hw", isExtra: true }, - { key: l("VCM Left Barcode"), value: await this.getSystemInfo(1, 26, 16), cat: "hw", isExtra: true }, - { key: l("VCM Right Barcode"), value: await this.getSystemInfo(1, 28, 16), cat: "hw", isExtra: true }, + { key: l("Battery Barcode"), value: await this.getSystemInfo(1, 24, 23), cat: "hw", isExtra: true, copyable: true }, + { key: l("VCM Left Barcode"), value: await this.getSystemInfo(1, 26, 16), cat: "hw", isExtra: true, copyable: true }, + { key: l("VCM Right Barcode"), value: await this.getSystemInfo(1, 28, 16), cat: "hw", isExtra: true, copyable: true }, - { key: l("Color"), value: l(color), cat: "hw", addInfoIcon: 'color' }, + { key: l("Color"), value: l(color), cat: "hw", addInfoIcon: 'color', copyable: true }, - ...(is_edge ? [] : [{ key: l("Board Model"), value: this.hwToBoardModel(hwinfo), cat: "hw", addInfoIcon: 'board' }]), + ...(is_edge ? [] : [{ key: l("Board Model"), value: this.hwToBoardModel(hwinfo), cat: "hw", addInfoIcon: 'board', copyable: true }]), { key: l("FW Build Date"), value: build_date + " " + build_time, cat: "fw" }, { key: l("FW Type"), value: "0x" + dec2hex(fwtype), cat: "fw", isExtra: true }, @@ -320,7 +320,7 @@ class DS5Controller extends BaseController { { key: l("Venom FW Version"), value: "0x" + dec2hex32(fwversion2), cat: "fw", isExtra: true }, { key: l("Spider FW Version"), value: "0x" + dec2hex32(fwversion3), cat: "fw", isExtra: true }, - { key: l("Touchpad ID"), value: await this.getSystemInfo(5, 2, 8, false), cat: "hw", isExtra: true }, + { key: l("Touchpad ID"), value: await this.getSystemInfo(5, 2, 8, false), cat: "hw", isExtra: true, copyable: true }, { key: l("Touchpad FW Version"), value: await this.getSystemInfo(5, 4, 8, false), cat: "fw", isExtra: true }, ]; diff --git a/js/core.js b/js/core.js index 01e078a..143af14 100644 --- a/js/core.js +++ b/js/core.js @@ -885,20 +885,11 @@ function render_info_to_dom(infoItems) { if (!Array.isArray(infoItems)) return; // Add new info items - infoItems.forEach(({key, value, addInfoIcon, severity, isExtra, cat}) => { + infoItems.forEach(({key, value, addInfoIcon, severity, isExtra, cat, copyable}) => { if (!key) return; // Compose value with optional info icon let valueHtml = String(value ?? ""); - if (addInfoIcon === 'board') { - const icon = ' ' + - ''; - valueHtml += icon; - } else if (addInfoIcon === 'color') { - const icon = ' ' + - ''; - valueHtml += icon; - } // Apply severity formatting if requested if (severity) { @@ -908,25 +899,43 @@ function render_info_to_dom(infoItems) { } if (isExtra) { - append_info_extra(key, valueHtml, cat || "hw"); + appendInfoExtra(key, valueHtml, cat || "hw", copyable ?? false); } else { - append_info(key, valueHtml, cat || "hw"); + appendInfo(key, valueHtml, cat || "hw", copyable ?? false); } }); } -function append_info_extra(key, value, cat) { +function copyValueToClipboard(text) { + navigator.clipboard.writeText(text).then(function() { + infoAlert(l("The item has been copied to the clipboard."), 2000); + }).catch(function(err) { + errorAlert(l("Cannot copy text to the clipboard:") + " " + str(err)); + }); +} + +function genCopyString(value, copyable) { + if(!copyable) + return ''; + + const cleanStringRegex = value.match(/^[A-Za-z0-9_.-]+/); + const escapedValue = cleanStringRegex ? cleanStringRegex[0] : ""; + + return ' '; +} + +function appendInfoExtra(key, value, cat, copyable) { // TODO escape html - const s = '
' + key + '
' + value + '
'; + const s = '
' + key + '
' + value + genCopyString(value, copyable) + '
'; $("#fwinfoextra-" + cat).html($("#fwinfoextra-" + cat).html() + s); } -function append_info(key, value, cat) { +function appendInfo(key, value, cat, copyable) { // TODO escape html - const s = '
' + key + '
' + value + '
'; + const s = '
' + key + '
' + value + genCopyString(value, copyable) + '
'; $("#fwinfo").html($("#fwinfo").html() + s); - append_info_extra(key, value, cat); + appendInfoExtra(key, value, cat, copyable); } function show_popup(text, is_html = false) { @@ -964,25 +973,6 @@ function show_info_tab() { $('#info-tab').tab('show'); } -function discord_popup() { - la("discord_popup"); - show_popup(l("My handle on discord is: the_al")); -} - -function edge_color_info() { - la("cm_info"); - const text = l("Color detection thanks to") + ' romek77 from Poland.'; - show_popup(text, true); -} - -function board_model_info() { - la("bm_info"); - const l1 = l("This feature is experimental."); - const l2 = l("Please let me know if the board model of your controller is not detected correctly."); - const l3 = l("Board model detection thanks to") + ' Battle Beaver Customs.'; - show_popup(l3 + "

" + l1 + " " + l2, true); -} - // Alert Management Functions let alertCounter = 0; @@ -1068,6 +1058,7 @@ window.connect = connect; window.disconnect = disconnectSync; window.show_faq_modal = show_faq_modal; window.show_info_tab = show_info_tab; +window.copyValueToClipboard = copyValueToClipboard; window.calibrate_range = () => calibrate_range( controller, { ll_data, rr_data }, @@ -1112,8 +1103,6 @@ window.nvsunlock = nvsunlock; window.nvslock = nvslock; window.welcome_accepted = welcome_accepted; window.show_donate_modal = show_donate_modal; -window.board_model_info = board_model_info; -window.edge_color_info = edge_color_info; window.show_quick_test_modal = () => { show_quick_test_modal(controller).catch(error => { throw new Error("Failed to show quick test modal", { cause: error }); diff --git a/lang/ar_ar.json b/lang/ar_ar.json index f05e770..e50b960 100644 --- a/lang/ar_ar.json +++ b/lang/ar_ar.json @@ -126,7 +126,6 @@ "Board Model": "نوع اللوحة", "This feature is experimental.": "هذه الخاصية تجريبية.", "Please let me know if the board model of your controller is not detected correctly.": "من فضلك أخبرني إذا لم يتم اكتشاف نوع لوحة التحكم بشكل صحيح.", - "Board model detection thanks to": "كشف نوع اللوحة بفضل", "This DualSense controller has outdated firmware.": "يد تحكم DualSense هذه تستخدم برمجيات قديمة.", "Please update the firmware and try again.": "الرجاء حدث البرمجيات وحاول مرة أخرى.", "Joystick Info": "معلومات عصا التحكم", @@ -190,6 +189,7 @@ "Calibration": "", "Calibration is being stored in the stick modules.": "", "Cancel": "", + "Cannot copy text to the clipboard:": "", "Cannot lock": "", "Cannot store data into": "", "Cannot unlock": "", @@ -202,7 +202,6 @@ "Circularity (R1)": "", "Cobalt Blue": "", "Color": "", - "Color detection thanks to": "", "Controller does not support adaptive trigger control": "", "Cosmic Red": "", "Debug": "", @@ -283,6 +282,7 @@ "The Last of Us": "", "The device appears to be a clone. All calibration functionality is disabled.": "", "The device is connected via Bluetooth. Disconnect and reconnect using a USB cable instead.": "", + "The item has been copied to the clipboard.": "", "This involves temporarily disabling write protection by applying +1.8V to a specific test point on each module.": "", "This is only for advanced users. If you're not sure what you're doing, please do not attempt it.": "", "This test checks all controller buttons by requiring you to press each button up to three times.": "", diff --git a/lang/bg_bg.json b/lang/bg_bg.json index 938a983..0f6c29a 100644 --- a/lang/bg_bg.json +++ b/lang/bg_bg.json @@ -125,7 +125,6 @@ "Board Model": "Модел на платката", "This feature is experimental.": "Тази функция е експериментална.", "Please let me know if the board model of your controller is not detected correctly.": "Моля, уведомете ме, ако моделът на платката на вашия контролер не е разпознат правилно.", - "Board model detection thanks to": "Разпознаване на модела на платката благодарение на", "This DualSense controller has outdated firmware.": "Този контролер DualSense има остарял фърмуер.", "Please update the firmware and try again.": "Моля, актуализирайте фърмуера и опитайте отново.", "Joystick Info": "Информация за джойстика", @@ -167,6 +166,7 @@ "Calibration": "", "Calibration is being stored in the stick modules.": "", "Cancel": "", + "Cannot copy text to the clipboard:": "", "Cannot lock": "", "Cannot store data into": "", "Cannot unlock": "", @@ -179,7 +179,6 @@ "Circularity (R1)": "", "Cobalt Blue": "", "Color": "", - "Color detection thanks to": "", "Controller Info": "", "Controller does not support adaptive trigger control": "", "Cosmic Red": "", @@ -278,6 +277,7 @@ "The Last of Us": "", "The device appears to be a clone. All calibration functionality is disabled.": "", "The device is connected via Bluetooth. Disconnect and reconnect using a USB cable instead.": "", + "The item has been copied to the clipboard.": "", "This involves temporarily disabling write protection by applying +1.8V to a specific test point on each module.": "", "This is only for advanced users. If you're not sure what you're doing, please do not attempt it.": "", "This test checks all controller buttons by requiring you to press each button up to three times.": "", diff --git a/lang/cz_cz.json b/lang/cz_cz.json index 5584fc3..4ac838b 100644 --- a/lang/cz_cz.json +++ b/lang/cz_cz.json @@ -125,7 +125,6 @@ "Board Model": "Model základní desky", "This feature is experimental.": "Tato funkce je experimentální.", "Please let me know if the board model of your controller is not detected correctly.": "Prosím, dejte mi vědět, pokud model základní desky vašeho ovládače není správně detekován", - "Board model detection thanks to": "díky za detekci modelu základní desky", "This DualSense controller has outdated firmware.": "Tento ovladač DualSense má zastaralý firmware.", "Please update the firmware and try again.": "Aktualizujte firmware a zkuste to znovu.", "Joystick Info": "Informace o joysticku", @@ -152,6 +151,7 @@ "Can I reset a permanent calibration to previous calibration?": "", "Can you overwrite a permanent calibration?": "", "Cancel": "", + "Cannot copy text to the clipboard:": "", "Cannot lock": "", "Cannot store data into": "", "Cannot unlock": "", @@ -165,7 +165,6 @@ "Circularity (R1)": "", "Cobalt Blue": "", "Color": "", - "Color detection thanks to": "", "Controller Info": "", "Controller does not support adaptive trigger control": "", "Cosmic Red": "", @@ -274,6 +273,7 @@ "The Last of Us": "", "The device appears to be a clone. All calibration functionality is disabled.": "", "The device is connected via Bluetooth. Disconnect and reconnect using a USB cable instead.": "", + "The item has been copied to the clipboard.": "", "This involves temporarily disabling write protection by applying +1.8V to a specific test point on each module.": "", "This is only for advanced users. If you're not sure what you're doing, please do not attempt it.": "", "This issue happens because you have clicked \"Done\" immediately after starting a range calibration.": "", diff --git a/lang/da_dk.json b/lang/da_dk.json index d0ab51b..e128adb 100644 --- a/lang/da_dk.json +++ b/lang/da_dk.json @@ -127,7 +127,6 @@ "Board Model": "Board Model", "This feature is experimental.": "Denne funktion er eksperimentel.", "Please let me know if the board model of your controller is not detected correctly.": "Giv mig venligst besked, hvis board modellen på din controller ikke bliver registreret korrekt.", - "Board model detection thanks to": "Board model detektion, tak til", "This DualSense controller has outdated firmware.": "Denne DualSense controller har forældet firmware.", "Please update the firmware and try again.": "Opdater venligst firmwaren og prøv igen.", "Joystick Info": "Joystick Info", @@ -182,7 +181,6 @@ "Chroma Teal": "Chroma Teal", "Cobalt Blue": "Cobalt Blue", "Color": "Farve", - "Color detection thanks to": "Farvedetektering, tak til", "Cosmic Red": "Cosmic Red", "DualSense Edge Calibration": "DualSense Edge Kalibrering", "FW Update": "FW Opdatering", @@ -311,6 +309,8 @@ "skipped": "sprunget over", "tests completed": "tests er gennemført", "to increase the non-circularity.": "for at øge ikke-cirkulariteten.", + "Cannot copy text to the clipboard:": "", "Please connect a DualShock 4, a DualSense, DualSense Edge or VR2 controller to your computer and press Connect.": "", + "The item has been copied to the clipboard.": "", "": "" } \ No newline at end of file diff --git a/lang/de_de.json b/lang/de_de.json index c8336f1..011498b 100644 --- a/lang/de_de.json +++ b/lang/de_de.json @@ -126,7 +126,6 @@ "Board Model": "Platinentyp", "This feature is experimental.": "Diese Funktion ist experimentell.", "Please let me know if the board model of your controller is not detected correctly.": "Bitte lasse mich wissen, wenn das Platinentyp Ihres Controllers nicht korrekt erkannt wird.", - "Board model detection thanks to": "Platinentyp-Erkennung dank", "This DualSense controller has outdated firmware.": "Dieser DualSense-Controller hat eine veraltete Firmware.", "Please update the firmware and try again.": "Bitte aktualisiere die Firmware und versuche es erneut.", "Joystick Info": "Joystick-Informationen", @@ -182,6 +181,7 @@ "Buttons": "", "Calibration": "", "Calibration is being stored in the stick modules.": "", + "Cannot copy text to the clipboard:": "", "Cannot lock": "", "Cannot store data into": "", "Cannot unlock": "", @@ -194,7 +194,6 @@ "Circularity (R1)": "", "Cobalt Blue": "", "Color": "", - "Color detection thanks to": "", "Controller does not support adaptive trigger control": "", "Cosmic Red": "", "Debug": "", @@ -280,6 +279,7 @@ "The Last of Us": "", "The device appears to be a clone. All calibration functionality is disabled.": "", "The device is connected via Bluetooth. Disconnect and reconnect using a USB cable instead.": "", + "The item has been copied to the clipboard.": "", "This involves temporarily disabling write protection by applying +1.8V to a specific test point on each module.": "", "This is only for advanced users. If you're not sure what you're doing, please do not attempt it.": "", "This test checks all controller buttons by requiring you to press each button up to three times.": "", diff --git a/lang/es_es.json b/lang/es_es.json index 514af00..67fa405 100644 --- a/lang/es_es.json +++ b/lang/es_es.json @@ -125,7 +125,6 @@ "Board Model": "Modelo de la placa", "This feature is experimental.": "Esta función es experimental.", "Please let me know if the board model of your controller is not detected correctly.": "Por favor, avísame si el modelo de la placa de tu controlador no se detecta correctamente.", - "Board model detection thanks to": "Detección del modelo de la placa gracias a", "This DualSense controller has outdated firmware.": "Este mando DualSense tiene un firmware desactualizado.", "Please update the firmware and try again.": "Por favor, actualiza el firmware y vuelve a intentarlo.", "Joystick Info": "Información del joystick", @@ -152,6 +151,7 @@ "Can I reset a permanent calibration to previous calibration?": "", "Can you overwrite a permanent calibration?": "", "Cancel": "", + "Cannot copy text to the clipboard:": "", "Cannot lock": "", "Cannot store data into": "", "Cannot unlock": "", @@ -165,7 +165,6 @@ "Circularity (R1)": "", "Cobalt Blue": "", "Color": "", - "Color detection thanks to": "", "Controller Info": "", "Controller does not support adaptive trigger control": "", "Cosmic Red": "", @@ -274,6 +273,7 @@ "The Last of Us": "", "The device appears to be a clone. All calibration functionality is disabled.": "", "The device is connected via Bluetooth. Disconnect and reconnect using a USB cable instead.": "", + "The item has been copied to the clipboard.": "", "This involves temporarily disabling write protection by applying +1.8V to a specific test point on each module.": "", "This is only for advanced users. If you're not sure what you're doing, please do not attempt it.": "", "This issue happens because you have clicked \"Done\" immediately after starting a range calibration.": "", diff --git a/lang/fa_fa.json b/lang/fa_fa.json index 577ca65..f99cb5f 100644 --- a/lang/fa_fa.json +++ b/lang/fa_fa.json @@ -143,6 +143,7 @@ "Add test": "", "Be gentle to avoid damage.": "", "Buttons": "", + "Cannot copy text to the clipboard:": "", "Center": "", "Circularity": "", "Controller does not support adaptive trigger control": "", @@ -194,6 +195,7 @@ "Test all buttons, or long-press [square] to Pass and [cross] to Fail, or [circle] to skip.": "", "The Done button will unlock after at most 15 seconds. If you press Done without rotating the sticks, the calibration will be incomplete and you will need to repeat it.": "", "The device appears to be a clone. All calibration functionality is disabled.": "", + "The item has been copied to the clipboard.": "", "This test checks all controller buttons by requiring you to press each button up to three times.": "", "This test checks the headphone jack functionality.": "", "This test checks the reliability of the USB port.": "", diff --git a/lang/fr_fr.json b/lang/fr_fr.json index 6eb0a6c..d976dfd 100644 --- a/lang/fr_fr.json +++ b/lang/fr_fr.json @@ -125,7 +125,6 @@ "Board Model": "Modèle de carte", "This feature is experimental.": "Cette fonctionnalité est expérimentale.", "Please let me know if the board model of your controller is not detected correctly.": "Veuillez me faire savoir si le modèle de la carte de votre manette n'est pas détecté correctement.", - "Board model detection thanks to": "Détection du modèle de la carte grâce à", "This DualSense controller has outdated firmware.": "Cette manette DualSense a un firmware obsolète.", "Please update the firmware and try again.": "Veuillez mettre à jour le firmware et réessayer.", "Joystick Info": "Infos Joystick", @@ -152,6 +151,7 @@ "Can I reset a permanent calibration to previous calibration?": "", "Can you overwrite a permanent calibration?": "", "Cancel": "", + "Cannot copy text to the clipboard:": "", "Cannot lock": "", "Cannot store data into": "", "Cannot unlock": "", @@ -165,7 +165,6 @@ "Circularity (R1)": "", "Cobalt Blue": "", "Color": "", - "Color detection thanks to": "", "Controller Info": "", "Controller does not support adaptive trigger control": "", "Cosmic Red": "", @@ -274,6 +273,7 @@ "The Last of Us": "", "The device appears to be a clone. All calibration functionality is disabled.": "", "The device is connected via Bluetooth. Disconnect and reconnect using a USB cable instead.": "", + "The item has been copied to the clipboard.": "", "This involves temporarily disabling write protection by applying +1.8V to a specific test point on each module.": "", "This is only for advanced users. If you're not sure what you're doing, please do not attempt it.": "", "This issue happens because you have clicked \"Done\" immediately after starting a range calibration.": "", diff --git a/lang/hu_hu.json b/lang/hu_hu.json index bded613..ed98a73 100644 --- a/lang/hu_hu.json +++ b/lang/hu_hu.json @@ -126,7 +126,6 @@ "Board Model": "Alaplap verzió", "This feature is experimental.": "Ez egy kisérleti funkció", "Please let me know if the board model of your controller is not detected correctly.": "Kérlek értesítsd a fejlesztőt, ha az alaplap verziója nem egyezik meg a felimert verzióval!", - "Board model detection thanks to": "Az alaplapfelismerési funkciőért köszönet illeti:", "This DualSense controller has outdated firmware.": "Ennek a DualSense vezérlőnek elavult a firmware-e.", "Please update the firmware and try again.": "Kérlek frissítsd a firmware-t, és próbáld újra.", "Joystick Info": "Analógkar Információ", @@ -197,7 +196,6 @@ "Cannot store data into": "Adatok tárolása nem lehetséges ide:", "Cannot unlock": "Feloldás nem lehetséges", "Color": "Szín", - "Color detection thanks to": "A színészlelésért köszönet illeti:", "If the calibration is not stored permanently, please double-check the wirings of the hardware mod.": "Ha a kalibráció nem került véglegesen tárolásra, kérlek, ellenőrizd újra a hardvermódosítás vezetékezését!", "Left Module Barcode": "Bal modul vonalkódja", "Right Module Barcode": "Jobb modul vonalkódja", @@ -314,5 +312,7 @@ "skipped": "kihagyva", "tests completed": "befejezett teszt", "to increase the non-circularity.": "a nem-körkörösség növeléséhez.", + "Cannot copy text to the clipboard:": "", + "The item has been copied to the clipboard.": "", "": "" } \ No newline at end of file diff --git a/lang/it_it.json b/lang/it_it.json index a9bba2f..3087546 100644 --- a/lang/it_it.json +++ b/lang/it_it.json @@ -126,7 +126,6 @@ "Board Model": "Modello scheda", "This feature is experimental.": "Questa funzionalità è sperimentale.", "Please let me know if the board model of your controller is not detected correctly.": "Scrivimi se il modello della scheda del tuo controller non viene riconosciuto correttamente.", - "Board model detection thanks to": "Rilevamento del modello della scheda grazie a", "This DualSense controller has outdated firmware.": "Questo controller DualSense ha un firmware non aggiornato.", "Please update the firmware and try again.": "Aggiorna il firmware e riprova.", "Joystick Info": "Informazioni sui Joystick", @@ -197,7 +196,6 @@ "Cannot store data into": "Non riesco a salvare i dati nel", "Cannot unlock": "Non riesco a sbloccare il", "Color": "Colore", - "Color detection thanks to": "Riconoscimento colore grazie a", "If the calibration is not stored permanently, please double-check the wirings of the hardware mod.": "Se la calibrazione non è salvata permanentemente, controlla i cablaggi della mod hardware.", "Left Module Barcode": "Codice modulo sinistro", "Right Module Barcode": "Codice modulo destro", @@ -308,6 +306,8 @@ "tests completed": "test completati", "to increase the non-circularity.": "per aumentare la non-circolarità.", "Please connect a DualShock 4, a DualSense, DualSense Edge or VR2 controller to your computer and press Connect.": "Connetti un controller DualShock 4, DualSense, DualSense Edge o VR2 al computer e premi Connetti.", - "The device appears to be a clone. All calibration functionality is disabled.": "", + "Cannot copy text to the clipboard:": "Non posso copiare il testo negli appunti:", + "The device appears to be a clone. All calibration functionality is disabled.": "Il dispositivo sembra un clone. Le funzioni di calibrazione sono disattivate.", + "The item has been copied to the clipboard.": "Testo copiato negli appunti.", "": "" } diff --git a/lang/jp_jp.json b/lang/jp_jp.json index 435357d..d68aa18 100644 --- a/lang/jp_jp.json +++ b/lang/jp_jp.json @@ -125,7 +125,6 @@ "Board Model": "基板モデル", "This feature is experimental.": "この機能は実験的です。", "Please let me know if the board model of your controller is not detected correctly.": "コントローラーの基板モデルが正しく検出されない場合はお知らせください。", - "Board model detection thanks to": "基板モデルの検出には感謝します", "This DualSense controller has outdated firmware.": "このDualSenseコントローラーのファームウェアは古くなっています。", "Please update the firmware and try again.": "ファームウェアを更新してから再試行してください。", "Joystick Info": "ジョイスティック情報", @@ -155,6 +154,7 @@ "Calibration is being stored in the stick modules.": "", "Can I reset a permanent calibration to previous calibration?": "", "Can you overwrite a permanent calibration?": "", + "Cannot copy text to the clipboard:": "", "Cannot lock": "", "Cannot store data into": "", "Cannot unlock": "", @@ -168,7 +168,6 @@ "Circularity (R1)": "", "Cobalt Blue": "", "Color": "", - "Color detection thanks to": "", "Controller Info": "", "Controller does not support adaptive trigger control": "", "Cosmic Red": "", @@ -274,6 +273,7 @@ "The Last of Us": "", "The device appears to be a clone. All calibration functionality is disabled.": "", "The device is connected via Bluetooth. Disconnect and reconnect using a USB cable instead.": "", + "The item has been copied to the clipboard.": "", "This involves temporarily disabling write protection by applying +1.8V to a specific test point on each module.": "", "This is only for advanced users. If you're not sure what you're doing, please do not attempt it.": "", "This issue happens because you have clicked \"Done\" immediately after starting a range calibration.": "", diff --git a/lang/ko_kr.json b/lang/ko_kr.json index 2d25849..fee4357 100644 --- a/lang/ko_kr.json +++ b/lang/ko_kr.json @@ -125,7 +125,6 @@ "Board Model": "보드 모델", "This feature is experimental.": "이 기능은 실험적인 기능입니다.", "Please let me know if the board model of your controller is not detected correctly.": "컨트롤러의 보드 모델이 올바르게 감지되지 않으면 알려주세요.", - "Board model detection thanks to": "보드 모델 감지 도움:", "This DualSense controller has outdated firmware.": "이 DualSense 컨트롤러의 펌웨어가 오래되었습니다.", "Please update the firmware and try again.": "펌웨어를 업데이트한 후 다시 시도해주세요.", "Joystick Info": "조이스틱 정보", @@ -192,7 +191,6 @@ "Circularity (R1)": "원형성 (R1)", "Cobalt Blue": "코발트 블루", "Color": "색상", - "Color detection thanks to": "색상 감지 도움:", "Cosmic Red": "코스믹 레드", "Debug": "디버그", "DualSense Edge Calibration": "DualSense Edge 보정", @@ -240,6 +238,7 @@ "Add test": "", "Be gentle to avoid damage.": "", "Buttons": "", + "Cannot copy text to the clipboard:": "", "Center": "", "Circularity": "", "Controller does not support adaptive trigger control": "", @@ -292,6 +291,7 @@ "The Done button will unlock after at most 15 seconds. If you press Done without rotating the sticks, the calibration will be incomplete and you will need to repeat it.": "", "The device appears to be a clone. All calibration functionality is disabled.": "", "The device is connected via Bluetooth. Disconnect and reconnect using a USB cable instead.": "", + "The item has been copied to the clipboard.": "", "This test checks all controller buttons by requiring you to press each button up to three times.": "", "This test checks the headphone jack functionality.": "", "This test checks the reliability of the USB port.": "", diff --git a/lang/nl_nl.json b/lang/nl_nl.json index 4102e47..4efd994 100644 --- a/lang/nl_nl.json +++ b/lang/nl_nl.json @@ -125,7 +125,6 @@ "Board Model": "Board Model", "This feature is experimental.": "Deze functie is experimenteel.", "Please let me know if the board model of your controller is not detected correctly.": "Laat het me weten als het model van uw controller niet correct wordt gedetecteerd.", - "Board model detection thanks to": "Bordmodel detectie dankzij", "This DualSense controller has outdated firmware.": "Deze DualSense-controller heeft verouderde firmware.", "Please update the firmware and try again.": "Update de firmware en probeer het opnieuw.", "Joystick Info": "Joystick Info", @@ -152,6 +151,7 @@ "Can I reset a permanent calibration to previous calibration?": "", "Can you overwrite a permanent calibration?": "", "Cancel": "", + "Cannot copy text to the clipboard:": "", "Cannot lock": "", "Cannot store data into": "", "Cannot unlock": "", @@ -165,7 +165,6 @@ "Circularity (R1)": "", "Cobalt Blue": "", "Color": "", - "Color detection thanks to": "", "Controller Info": "", "Controller does not support adaptive trigger control": "", "Cosmic Red": "", @@ -274,6 +273,7 @@ "The Last of Us": "", "The device appears to be a clone. All calibration functionality is disabled.": "", "The device is connected via Bluetooth. Disconnect and reconnect using a USB cable instead.": "", + "The item has been copied to the clipboard.": "", "This involves temporarily disabling write protection by applying +1.8V to a specific test point on each module.": "", "This is only for advanced users. If you're not sure what you're doing, please do not attempt it.": "", "This issue happens because you have clicked \"Done\" immediately after starting a range calibration.": "", diff --git a/lang/pl_pl.json b/lang/pl_pl.json index 8a0cefd..d3b3714 100644 --- a/lang/pl_pl.json +++ b/lang/pl_pl.json @@ -126,7 +126,6 @@ "Board Model": "Model płytki", "This feature is experimental.": "Ta funkcja jest eksperymentalna.", "Please let me know if the board model of your controller is not detected correctly.": "Jeżeli model płytki został wykryty błędnie prosimy o kontakt", - "Board model detection thanks to": "Podziękowania dla osoby za funkcję wykrywania modelu płytki", "This DualSense controller has outdated firmware.": "Ten kontroler Dualsense posiada przestarzały firmware.", "Please update the firmware and try again.": "Proszę zaktualizuj firmware i spróbuj ponownie.", "Joystick Info": "Informacje o drążkach", @@ -189,7 +188,6 @@ "Cannot unlock": "Nie można odblokować", "Cobalt Blue": "Cobalt Blue", "Color": "Kolor", - "Color detection thanks to": "Podziękowania dla osoby za funkcję wykrywania kolorów", "Cosmic Red": "Cosmic Red", "DualSense Edge Calibration": "Kalibracja Dualsense Edge", "For more info or help, feel free to reach out on Discord.": "Aby uzyskać więcej informacji lub pomoc, skontaktuj się do nas na Discordzie", @@ -241,6 +239,7 @@ "Add test": "", "Be gentle to avoid damage.": "", "Buttons": "", + "Cannot copy text to the clipboard:": "", "Center": "", "Circularity": "", "Controller does not support adaptive trigger control": "", @@ -293,6 +292,7 @@ "The Done button will unlock after at most 15 seconds. If you press Done without rotating the sticks, the calibration will be incomplete and you will need to repeat it.": "", "The device appears to be a clone. All calibration functionality is disabled.": "", "The device is connected via Bluetooth. Disconnect and reconnect using a USB cable instead.": "", + "The item has been copied to the clipboard.": "", "This test checks all controller buttons by requiring you to press each button up to three times.": "", "This test checks the headphone jack functionality.": "", "This test checks the reliability of the USB port.": "", diff --git a/lang/pt_br.json b/lang/pt_br.json index ca1522e..e76ec40 100644 --- a/lang/pt_br.json +++ b/lang/pt_br.json @@ -125,7 +125,6 @@ "Board Model": "Modelo da Placa", "This feature is experimental.": "Esta funcionalidade é experimental.", "Please let me know if the board model of your controller is not detected correctly.": "Por favor, avise-me se o modelo da placa do seu controle não for detectado corretamente.", - "Board model detection thanks to": "Detecção do modelo da placa graças a", "This DualSense controller has outdated firmware.": "Este controle DualSense possui um firmware desatualizado.", "Please update the firmware and try again.": "Por favor, atualize o firmware e tente novamente.", "Joystick Info": "Informações do Joystick", @@ -167,6 +166,7 @@ "Calibration": "", "Calibration is being stored in the stick modules.": "", "Cancel": "", + "Cannot copy text to the clipboard:": "", "Cannot lock": "", "Cannot store data into": "", "Cannot unlock": "", @@ -179,7 +179,6 @@ "Circularity (R1)": "", "Cobalt Blue": "", "Color": "", - "Color detection thanks to": "", "Controller Info": "", "Controller does not support adaptive trigger control": "", "Cosmic Red": "", @@ -278,6 +277,7 @@ "The Last of Us": "", "The device appears to be a clone. All calibration functionality is disabled.": "", "The device is connected via Bluetooth. Disconnect and reconnect using a USB cable instead.": "", + "The item has been copied to the clipboard.": "", "This involves temporarily disabling write protection by applying +1.8V to a specific test point on each module.": "", "This is only for advanced users. If you're not sure what you're doing, please do not attempt it.": "", "This test checks all controller buttons by requiring you to press each button up to three times.": "", diff --git a/lang/pt_pt.json b/lang/pt_pt.json index 96c4a60..508663d 100644 --- a/lang/pt_pt.json +++ b/lang/pt_pt.json @@ -125,7 +125,6 @@ "Board Model": "Modelo da Placa", "This feature is experimental.": "Esta funcionalidade é experimental.", "Please let me know if the board model of your controller is not detected correctly.": "Por favor, avise-me se o modelo da placa do seu controlador não for detectado corretamente.", - "Board model detection thanks to": "Detecção do modelo da placa graças a", "This DualSense controller has outdated firmware.": "Este controlador DualSense possui um firmware desatualizado.", "Please update the firmware and try again.": "Por favor, atualize o firmware e tente novamente.", "Joystick Info": "Informações do Joystick", @@ -195,7 +194,6 @@ "Cannot store data into": "Não é possível armazenar dados em", "Cannot unlock": "Não é possível desbloquear", "Color": "Cor", - "Color detection thanks to": "Detecção de cor graças a", "FW Series": "Série do FW", "If the calibration is not stored permanently, please double-check the wirings of the hardware mod.": "Se a calibração não for armazenada permanentemente, verifique novamente os fios soldados na modificação de hardware.", "Left Module Barcode": "Código de barras do módulo esquerdo", @@ -290,6 +288,7 @@ "to increase the non-circularity.": "para aumentar a não circularidade.", "30th Anniversary": "", "Astro Bot": "", + "Cannot copy text to the clipboard:": "", "Chroma Indigo": "", "Chroma Pearl": "", "Chroma Teal": "", @@ -307,6 +306,7 @@ "Sterling Silver": "", "The Last of Us": "", "The device appears to be a clone. All calibration functionality is disabled.": "", + "The item has been copied to the clipboard.": "", "Volcanic Red": "", "White": "", "": "" diff --git a/lang/rs_rs.json b/lang/rs_rs.json index ed76a93..77ea0ca 100644 --- a/lang/rs_rs.json +++ b/lang/rs_rs.json @@ -126,7 +126,6 @@ "Board Model": "Model ploče", "This feature is experimental.": "Ova funkcionalnost je eksperimentalna.", "Please let me know if the board model of your controller is not detected correctly.": "Molimo vas da mi javite ako model ploče vašeg kontrolera nije tačno detektovan.", - "Board model detection thanks to": "Detekcija modela ploče zahvaljujući", "This DualSense controller has outdated firmware.": "Ovaj DualSense kontroler ima zastareli firmware.", "Please update the firmware and try again.": "Molimo vas da ažurirate firmware i pokušate ponovo.", "Joystick Info": "Informacije o džojstiku", @@ -193,6 +192,7 @@ "Buttons": "", "Calibration": "", "Calibration is being stored in the stick modules.": "", + "Cannot copy text to the clipboard:": "", "Cannot lock": "", "Cannot store data into": "", "Cannot unlock": "", @@ -205,7 +205,6 @@ "Circularity (R1)": "", "Cobalt Blue": "", "Color": "", - "Color detection thanks to": "", "Controller does not support adaptive trigger control": "", "Cosmic Red": "", "Debug": "", @@ -283,6 +282,7 @@ "The Last of Us": "", "The device appears to be a clone. All calibration functionality is disabled.": "", "The device is connected via Bluetooth. Disconnect and reconnect using a USB cable instead.": "", + "The item has been copied to the clipboard.": "", "This involves temporarily disabling write protection by applying +1.8V to a specific test point on each module.": "", "This is only for advanced users. If you're not sure what you're doing, please do not attempt it.": "", "This test checks all controller buttons by requiring you to press each button up to three times.": "", diff --git a/lang/ru_ru.json b/lang/ru_ru.json index b4eba28..d1a1f4f 100644 --- a/lang/ru_ru.json +++ b/lang/ru_ru.json @@ -125,7 +125,6 @@ "Board Model": "Модель платы", "This feature is experimental.": "Эта функция экспериментальная.", "Please let me know if the board model of your controller is not detected correctly.": "Пожалуйста, дайте знать, если модель платы вашего контроллера определена неправильно.", - "Board model detection thanks to": "Определение модели платы благодаря", "This DualSense controller has outdated firmware.": "Прошивка этого контроллера DualSense устарела.", "Please update the firmware and try again.": "Пожалуйста, обновите прошивку и попробуйте снова.", "Joystick Info": "Информация о джойстике", @@ -160,7 +159,6 @@ "Cannot store data into": "Не удалось сохранить данные", "Cannot unlock": "Не удалось разблокировать", "Color": "Цвет", - "Color detection thanks to": "За определение цвета спасибо", "Controller Info": "Инфо контроллера", "Debug Info": "Дебаг-информация", "Debug buttons": "Отладка кнопок", @@ -214,6 +212,7 @@ "Be gentle to avoid damage.": "", "Buttons": "", "Calibration": "", + "Cannot copy text to the clipboard:": "", "Center": "", "Center (L1)": "", "Chroma Indigo": "", @@ -291,6 +290,7 @@ "The Last of Us": "", "The device appears to be a clone. All calibration functionality is disabled.": "", "The device is connected via Bluetooth. Disconnect and reconnect using a USB cable instead.": "", + "The item has been copied to the clipboard.": "", "This test checks all controller buttons by requiring you to press each button up to three times.": "", "This test checks the headphone jack functionality.": "", "This test checks the reliability of the USB port.": "", diff --git a/lang/tr_tr.json b/lang/tr_tr.json index 11fd20a..5e258d7 100644 --- a/lang/tr_tr.json +++ b/lang/tr_tr.json @@ -126,7 +126,6 @@ "Board Model": "Kart Modeli", "This feature is experimental.": "Bu özellik deneysel.", "Please let me know if the board model of your controller is not detected correctly.": "Denetleyicinizin kart modeli doğru tespit edilmezse lütfen bana bildirin.", - "Board model detection thanks to": "Kart modeli tespiti sayesinde", "This DualSense controller has outdated firmware.": "Bu DualSense denetleyicisinin yazılımı güncel değil.", "Please update the firmware and try again.": "Lütfen yazılımı güncelleyin ve tekrar deneyin.", "Joystick Info": "Joystick Bilgisi", @@ -167,7 +166,6 @@ "Chroma Teal": "Kroma Turkuaz", "Cobalt Blue": "Kobalt Mavisi", "Color": "Renk", - "Color detection thanks to": "Renk tespiti sayesinde", "Controller Info": "Denetleyici Bilgisi", "Cosmic Red": "Kozmik Kırmızı", "Debug Info": "Hata Ayıklama Bilgisi", @@ -309,5 +307,7 @@ "tests completed": "Tamamlanan Testler", "to increase the non-circularity.": "Dairesellikten sapmayı artırmak için.", "Please connect a DualShock 4, a DualSense, DualSense Edge or VR2 controller to your computer and press Connect.": "Lütfen bir DualShock 4, DualSense, DualSense Edge veya VR2 kontrolcüsünü bilgisayarınıza bağlayın ve ‘Bağlan’ butonuna basın.", + "Cannot copy text to the clipboard:": "", + "The item has been copied to the clipboard.": "", "": "" -} +} \ No newline at end of file diff --git a/lang/ua_ua.json b/lang/ua_ua.json index 0cb0d7d..d3ffef0 100644 --- a/lang/ua_ua.json +++ b/lang/ua_ua.json @@ -126,7 +126,6 @@ "Board Model": "Модель плати", "This feature is experimental.": "Ця функція є експериментальною.", "Please let me know if the board model of your controller is not detected correctly.": "Будь ласка, повідомте, якщо модель плати вашого контролера визначена неправильно.", - "Board model detection thanks to": "Визначення моделі плати завдяки", "This DualSense controller has outdated firmware.": "Прошивка цього контролера DualSense застаріла.", "Please update the firmware and try again.": "Будь ласка, оновіть прошивку та спробуйте знову.", "Joystick Info": "Інформація про джойстик", @@ -200,7 +199,6 @@ "Cannot unlock": "Не вдалося розблокувати", "Cobalt Blue": "Кобальтово-синій", "Color": "Колір", - "Color detection thanks to": "Розпізнавання кольору завдяки", "Cosmic Red": "Космічний червоний", "Galactic Purple": "Галактичний пурпуровий", "God of War Ragnarok": "Обмежена серія God of War: Ragnarok", @@ -309,5 +307,7 @@ "to increase the non-circularity.": "щоб збільшити неокруглість.", "Please connect a DualShock 4, a DualSense, DualSense Edge or VR2 controller to your computer and press Connect.": "Під’єднайте контролер DualShock 4, DualSense, DualSense Edge або VR2 до комп’ютера та натисніть «Підключити».", "The device appears to be a clone. All calibration functionality is disabled.": "Схоже, цей пристрій є підробкою. Усі функції калібрування вимкнено.", + "Cannot copy text to the clipboard:": "", + "The item has been copied to the clipboard.": "", "": "" -} +} \ No newline at end of file diff --git a/lang/vi_vn.json b/lang/vi_vn.json index daf8bf8..23d07cf 100644 --- a/lang/vi_vn.json +++ b/lang/vi_vn.json @@ -127,7 +127,6 @@ "Board Model": "Mẫu bo mạch", "This feature is experimental.": "Tính năng này mang tính thử nghiệm.", "Please let me know if the board model of your controller is not detected correctly.": "Nếu mẫu bo mạch của tay cầm không được phát hiện chính xác, vui lòng cho tao biết.", - "Board model detection thanks to": "Phát hiện mẫu bo mạch nhờ", "This DualSense controller has outdated firmware.": "Tay cầm DualSense này có firmware đã lỗi thời.", "Please update the firmware and try again.": "Vui lòng cập nhật firmware và thử lại.", "Joystick Info": "Thông tin Joystick", @@ -199,7 +198,6 @@ "Cannot store data into": "Không thể lưu dữ liệu vào", "Cannot unlock": "Không thể mở khóa", "Color": "Màu sắc", - "Color detection thanks to": "Phát hiện màu sắc nhờ", "Left Module Barcode": "Mã vạch Mô-đun Trái", "Right Module Barcode": "Mã vạch Mô-đun Phải", "left module": "mô-đun trái", @@ -308,6 +306,8 @@ "skipped": "đã bỏ qua", "tests completed": "bài kiểm tra đã hoàn thành", "to increase the non-circularity.": "để tăng độ không tròn.", + "Cannot copy text to the clipboard:": "", "Please connect a DualShock 4, a DualSense, DualSense Edge or VR2 controller to your computer and press Connect.": "", + "The item has been copied to the clipboard.": "", "": "" } \ No newline at end of file diff --git a/lang/zh_cn.json b/lang/zh_cn.json index 9d834c8..26a34e8 100644 --- a/lang/zh_cn.json +++ b/lang/zh_cn.json @@ -126,7 +126,6 @@ "Board Model": "主板型号", "This feature is experimental.": "此功能为实验性质。", "Please let me know if the board model of your controller is not detected correctly.": "如果没有正确检测您手柄的主板型号,请告诉我。", - "Board model detection thanks to": "主板型号检测功能需要感谢", "This DualSense controller has outdated firmware.": "该DualSense手柄的固件已过时。", "Please update the firmware and try again.": "请更新固件后重试。", "Joystick Info": "摇杆信息", @@ -198,7 +197,6 @@ "Cannot store data into": "无法将数据存储到", "Cannot unlock": "无法解锁", "Color": "颜色", - "Color detection thanks to": "颜色检测由", "Left Module Barcode": "左侧模块条形码", "Right Module Barcode": "右侧模块条形码", "left module": "左侧模块", @@ -307,7 +305,9 @@ "skipped": "跳过", "tests completed": "测试已完成", "to increase the non-circularity.": "增加非圆度", + "Cannot copy text to the clipboard:": "", "Please connect a DualShock 4, a DualSense, DualSense Edge or VR2 controller to your computer and press Connect.": "", "The device appears to be a clone. All calibration functionality is disabled.": "", + "The item has been copied to the clipboard.": "", "": "" } \ No newline at end of file diff --git a/lang/zh_tw.json b/lang/zh_tw.json index 41b3a76..b497fcf 100644 --- a/lang/zh_tw.json +++ b/lang/zh_tw.json @@ -125,7 +125,6 @@ "Board Model": "主機板型號", "This feature is experimental.": "此功能為實驗性質。", "Please let me know if the board model of your controller is not detected correctly.": "如果您的手把的主機板型號沒有被正確檢測,請告訴我。", - "Board model detection thanks to": "主機板型號檢測功能需要感謝", "This DualSense controller has outdated firmware.": "該DualSense手把的韌體已過時。", "Please update the firmware and try again.": "請更新韌體後重試。", "Joystick Info": "搖桿資訊", @@ -193,7 +192,6 @@ "Cannot store data into": "無法將數據存儲到", "Cannot unlock": "無法解鎖", "Color": "顏色", - "Color detection thanks to": "顏色檢測由", "Left Module Barcode": "左側模塊條形碼", "MCU Unique ID": "MCU唯壹ID", "Right Module Barcode": "右側模塊條形碼", @@ -234,6 +232,7 @@ "Add test": "", "Be gentle to avoid damage.": "", "Buttons": "", + "Cannot copy text to the clipboard:": "", "Center": "", "Center (L1)": "", "Circularity": "", @@ -293,6 +292,7 @@ "The Done button will unlock after at most 15 seconds. If you press Done without rotating the sticks, the calibration will be incomplete and you will need to repeat it.": "", "The device appears to be a clone. All calibration functionality is disabled.": "", "The device is connected via Bluetooth. Disconnect and reconnect using a USB cable instead.": "", + "The item has been copied to the clipboard.": "", "This test checks all controller buttons by requiring you to press each button up to three times.": "", "This test checks the headphone jack functionality.": "", "This test checks the reliability of the USB port.": "", From acac70de5f23024eef7248fc525fd317691a519d Mon Sep 17 00:00:00 2001 From: Alain Carlucci Date: Sat, 6 Dec 2025 16:43:12 +0100 Subject: [PATCH 6/7] Add CREDITS.md file --- CREDITS.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 CREDITS.md diff --git a/CREDITS.md b/CREDITS.md new file mode 100644 index 0000000..f2bdc9e --- /dev/null +++ b/CREDITS.md @@ -0,0 +1,13 @@ +# Credits + +## Developers +- the_al +- Mathias Malmqvist + +## Special Thanks +- **Board model detection**: [Battle Beaver Customs](https://battlebeavercustoms.com/) +- **Color detection**: romek77 from Poland + +--- + +Thank you to everyone who contributed to this project, whether through code, testing, feedback, or translations. Your support makes this project possible! From ecb038f9f3143f5f166455ddc2e30176ebe543b0 Mon Sep 17 00:00:00 2001 From: Alain Carlucci Date: Sat, 6 Dec 2025 16:43:41 +0100 Subject: [PATCH 7/7] Bump to v2.21 --- index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.html b/index.html index c61b793..8a7a816 100644 --- a/index.html +++ b/index.html @@ -318,7 +318,7 @@