Compare commits

..

14 Commits
v1.2 ... v1.4

Author SHA1 Message Date
dualshock-tools
3ad7b18516 Add battery indicator 2024-08-14 12:28:58 +02:00
dualshock-tools
225ba206bc Add support for BDM-050 2024-08-13 10:35:46 +02:00
NGC224K
e93eeddbda Update ko_kr.json 2024-07-15 11:29:43 +02:00
NGC224K
22d50ebce8 Update core.js
한국어 추가
2024-07-15 11:29:43 +02:00
NGC224K
d2fa963132 Add files via upload 2024-07-15 11:29:43 +02:00
NGC224K
bb7eb2d4d7 Create ko_kr.json
Add Korean translation
2024-07-15 11:29:43 +02:00
dualshock-tools
5320bb018b Fixed hu_hu lang 2024-07-03 10:58:22 +02:00
dualshock-tools
c927d24133 Convert cz_cz from dos to unix 2024-07-03 10:56:46 +02:00
dualshock-tools
eab28d4a2c Fix cz_cz language 2024-07-03 10:56:11 +02:00
dualshock-tools
cc7b646d93 Add cz_cz translation 2024-07-02 09:23:11 +02:00
dualshock-tools
b4f4aa8b30 Improved pl_pl translation 2024-06-24 18:03:22 +02:00
dualshock-tools
ca88ac20b6 Fix alloc-size for 0xa0 request 2024-06-24 18:03:09 +02:00
dualshock-tools
346add9b3e Add zh_tw translation 2024-06-21 11:06:55 +02:00
Yyiyun
580df44de5 Update zh_cn.json 2024-06-19 11:03:13 +02:00
8 changed files with 705 additions and 52 deletions

185
core.js
View File

@@ -1,7 +1,10 @@
var device = null;
var devname = "";
var mode = 0;
var disable_btn = false;
// bitmask: 1: clone, 2: update ds5 firmware, 4: battery low, 8: ds-edge not supported
var disable_btn = 0;
var last_disable_btn = 0;
var lang_orig_text = {};
var lang_cur = {};
@@ -12,17 +15,20 @@ var gu = 0;
// Alphabetical order
var available_langs = {
"bg_bg": { "name": "Български", "file": "bg_bg.json"},
"cz_cz": { "name": "Čeština", "file": "cz_cz.json"},
"de_de": { "name": "Deutsch", "file": "de_de.json"},
"es_es": { "name": "Español", "file": "es_es.json"},
"fr_fr": { "name": "Français", "file": "fr_fr.json"},
"hu_hu": { "name": "Magyar", "file": "hu_hu.json"},
"it_it": { "name": "Italiano", "file": "it_it.json"},
"ko_kr": { "name": "한국어", "file": "ko_kr.json"},
"jp_jp": { "name": "日本語", "file": "jp_jp.json"},
"pl_pl": { "name": "Polski", "file": "pl_pl.json"},
"pt_br": { "name": "Português do Brasil", "file": "pt_br.json"},
"ru_ru": { "name": "Русский", "file": "ru_ru.json"},
"tr_tr": { "name": "Türkçe", "file": "tr_tr.json"},
"zh_cn": { "name": "中文", "file": "zh_cn.json"},
"zh_tw": { "name": "中文(繁)", "file": "zh_tw.json"},
};
function buf2hex(buffer) {
@@ -51,6 +57,8 @@ function ds5_hw_to_bm(hw_ver) {
return "BDM-030";
} else if(a == 0x06) {
return "BDM-040";
} else if(a == 0x07) {
return "BDM-050";
} else {
return l("Unknown");
}
@@ -89,11 +97,18 @@ function is_rare(hw_ver) {
async function ds4_info() {
try {
var ooc = l("unknown");
var is_clone = false;
const view = lf("ds4_info", await device.receiveFeatureReport(0xa3));
var cmd = view.getUint8(0, true);
if(cmd != 0xa3 || view.buffer.byteLength != 49) {
return false;
if(cmd != 0xa3 || view.buffer.byteLength < 49) {
if(view.buffer.byteLength != 49) {
ooc = l("clone");
is_clone = true;
}
}
var k1 = new TextDecoder().decode(view.buffer.slice(1, 0x10));
@@ -105,19 +120,16 @@ async function ds4_info() {
var hw_ver_minor= view.getUint16(0x23, true)
var sw_ver_major= view.getUint32(0x25, true)
var sw_ver_minor= view.getUint16(0x25+4, true)
var ooc = l("unknown");
ooc = l("original");
var is_clone = false;
try {
const view = await device.receiveFeatureReport(0x81);
ooc = l("original");
if(!is_clone) {
const view = await device.receiveFeatureReport(0x81);
ooc = l("original");
}
} catch(e) {
la("clone");
is_clone = true;
ooc = "<font color='red'><b>" + l("clone") + "</b></font>";
disable_btn = true;
disable_btn |= 1;
}
clear_info();
@@ -140,7 +152,7 @@ async function ds4_info() {
}
} catch(e) {
ooc = "<font color='red'><b>" + l("clone") + "</b></font>";
disable_btn = true;
disable_btn |= 1;
}
return true;
}
@@ -148,7 +160,7 @@ async function ds4_info() {
async function ds4_reset() {
la("ds4_reset");
try {
await device.sendFeatureReport(0xa0, alloc_req(0x80, [4,1,0]))
await device.sendFeatureReport(0xa0, alloc_req(0xa0, [4,1,0]))
} catch(error) {
}
}
@@ -511,7 +523,7 @@ async function ds5_info() {
old_controller = build_date.search(/ 2020| 2021/);
if(old_controller != -1) {
la("ds5_info_error", {"r": "old"})
disable_btn = true;
disable_btn |= 2;
return true;
}
@@ -779,7 +791,7 @@ async function disconnect() {
mode = 0;
device.close();
device = null;
disable_btn = false;
disable_btn = 0;
reset_circularity();
$("#offlinebar").show();
$("#onlinebar").hide();
@@ -1113,6 +1125,46 @@ function refresh_sticks() {
setTimeout(timeout_ok, 20);
}
var last_bat_txt = "";
var last_bat_disable = null;
function bat_percent_to_text(bat_charge, is_charging, is_error) {
var icon_txt = "";
if(bat_charge < 20) {
icon_txt = 'fa-battery-empty';
} else if(bat_charge < 40) {
icon_txt = 'fa-battery-quarter';
} else if(bat_charge < 60) {
icon_txt = 'fa-battery-half';
} else if(bat_charge < 80) {
icon_txt = 'fa-battery-three-quarters';
} else {
icon_txt = 'fa-battery-full';
}
var icon_full = '<i class="fa-solid ' + icon_txt + '"></i>';
var bolt_txt = '';
if(is_charging)
bolt_txt = '<i class="fa-solid fa-bolt"></i>';
bat_txt = bat_charge + "%" + ' ' + bolt_txt + ' ' + icon_full;
if(is_error) {
bat_txt = '<font color="red">' + l("error") + '</font>';
}
return bat_txt;
}
function update_battery_status(bat_capacity, cable_connected, is_charging, is_error) {
var bat_txt = bat_percent_to_text(bat_capacity, is_charging);
var can_use_tool = (bat_capacity >= 30 && cable_connected && !is_error);
if(bat_txt != last_bat_txt) {
$("#d-bat").html(bat_txt);
last_bat_txt = bat_txt;
}
}
function process_ds4_input(data) {
var lx = data.data.getUint8(0);
var ly = data.data.getUint8(1);
@@ -1132,8 +1184,46 @@ function process_ds4_input(data) {
ll_updated = true;
refresh_sticks();
}
// Read battery
var bat = data.data.getUint8(29);
var bat_data = bat & 0x0f;
var bat_status = (bat >> 4) & 1;
var bat_capacity = 0;
var cable_connected = false;
var is_charging = false;
var is_error = false;
if(bat_status == 1) {
cable_connected = true;
if(bat_data < 10) {
bat_capacity = Math.min(bat_data * 10 + 5, 100);
is_charging = true;
} else if(bat_data == 10) {
bat_capacity = 100;
is_charging = true;
} else if(bat_data == 11) {
bat_capacity = 100;
// charged
} else {
// error
bat_capacity = 0;
is_error = true;
}
} else {
cable_connected = false;
if(bat_data < 10) {
bat_capacity = bat_data * 10 + 5;
} else {
bat_capacity = 100;
}
}
update_battery_status(bat_capacity, cable_connected, is_charging, is_error);
}
function process_ds_input(data) {
var lx = data.data.getUint8(0);
var ly = data.data.getUint8(1);
@@ -1153,6 +1243,30 @@ function process_ds_input(data) {
ll_updated = true;
refresh_sticks();
}
var bat = data.data.getUint8(52);
var bat_charge = bat & 0x0f;
var bat_status = bat >> 4;
var bat_capacity = 0;
var cable_connected = false;
var is_charging = false;
var is_error = false;
if(bat_status == 0) {
bat_capacity = Math.min(bat_charge * 10 + 5, 100);
} else if(bat_status == 1) {
bat_capacity = Math.max(bat_charge * 10 + 5, 100);
is_charging = true;
cable_connected = true;
} else if(bat_status == 2) {
bat_capacity = 100;
cable_connected = true;
} else {
is_error = true;
}
update_battery_status(bat_capacity, cable_connected, is_charging, is_error);
}
async function continue_connection(report) {
@@ -1197,7 +1311,7 @@ async function continue_connection(report) {
connected = true;
mode = 0;
devname = l("Sony DualSense Edge");
disable_btn = true;
disable_btn |= 8;
}
} else {
$("#btnconnect").prop("disabled", false);
@@ -1223,17 +1337,8 @@ async function continue_connection(report) {
return;
}
if(disable_btn) {
if(device.productId == 0x0ce6) {
show_popup(l("This DualSense controller has outdated firmware.") + "<br>" + l("Please update the firmware and try again."), true);
} else if(device.productId == 0x0df2) {
show_popup(l("Calibration of the DualSense Edge is not currently supported."));
} else {
show_popup(l("The device appears to be a DS4 clone. All functionalities are disabled."));
}
}
$(".ds-btn").prop("disabled", disable_btn);
if(disable_btn != 0)
update_disable_btn();
$("#btnconnect").prop("disabled", false);
$("#connectspinner").hide();
@@ -1245,10 +1350,36 @@ async function continue_connection(report) {
}
}
function update_disable_btn() {
if(disable_btn == last_disable_btn)
return;
if(disable_btn == 0) {
$(".ds-btn").prop("disabled", false);
last_disable_btn = 0;
return;
}
$(".ds-btn").prop("disabled", true);
// show only one popup
if(disable_btn & 1 && !(last_disable_btn & 1)) {
show_popup(l("The device appears to be a DS4 clone. All functionalities are disabled."));
} else if(disable_btn & 2 && !(last_disable_btn & 2)) {
show_popup(l("This DualSense controller has outdated firmware.") + "<br>" + l("Please update the firmware and try again."), true);
} else if(disable_btn & 8 && !(last_disable_btn & 8)) {
show_popup(l("Calibration of the DualSense Edge is not currently supported."));
} else if(disable_btn & 4 && !(last_disable_btn & 4)) {
show_popup(l("Please charge controller battery over 30% to use this tool."));
}
last_disable_btn = disable_btn;
}
async function connect() {
gj = crypto.randomUUID();
reset_circularity();
la("begin");
last_bat_txt = "";
try {
$("#btnconnect").prop("disabled", true);
$("#connectspinner").show();

View File

@@ -10,9 +10,14 @@
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH"
crossorigin="anonymous">
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.6.0/css/fontawesome.min.css"
integrity="sha384-NvKbDTEnL+A8F/AA5Tc5kmMLSJHUO868P+lDtTpJIeQdGYaUIuLr4lVGOEA1OcMy"
crossorigin="anonymous">
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.4.2/css/fontawesome.min.css"
integrity="sha384-BY+fdrpOd3gfeRvTSMT+VUZmA728cfF9Z2G42xpaRkUGu2i3DyzpTURDo5A6CaLK"
href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.6.0/css/all.min.css"
integrity="sha384-h/hnnw1Bi4nbpD6kE7nYfCXzovi622sY5WBxww8ARKwpdLj5kUWjRuyiXaD1U2JT"
crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.7.1.min.js"
@@ -97,7 +102,14 @@
</div>
<div id="onlinebar" class="vstack p-2" style="display: none;">
<div class="hstack gap-2"><p><b class="ds-i18n">Connected to:</b></p><p id="devname"></p></div>
<div class="row">
<div class="col-sm-9 hstack">
<p><b class="ds-i18n">Connected to:</b></p>&nbsp;<p id="devname"></p>
</div>
<div class="col-sm-3">
<p id="d-bat" style="text-align: right;"></p>
</div>
</div>
<button type="button" class="btn btn-outline-secondary ds-i18n" onclick="disconnect()">Disconnect</button><br>
</div>
@@ -508,7 +520,7 @@
<div class="container">
<footer>
<div class="d-flex flex-column flex-sm-row justify-content-between py-4 my-4 border-top" id="footbody">
<p><span class="ds-i18n">Version</span> 1.2 (2024-06-18) - <a href="#" class="ds-i18n" onclick="show_donate_modal();">Support this project</a>&nbsp;<span id="authorMsg"></span></p>
<p><span class="ds-i18n">Version</span> 1.4 (2024-08-14) - <a href="#" class="ds-i18n" onclick="show_donate_modal();">Support this project</a>&nbsp;<span id="authorMsg"></span></p>
<ul class="list-unstyled d-flex">
<li class="ms-3"><a class="link-body-emphasis" href="mailto:ds4@the.al" target="_blank"><svg class="bi" width="24" height="24"><use xlink:href="#mail"/></svg></a></li>

173
lang/cz_cz.json Normal file
View File

@@ -0,0 +1,173 @@
{
".authorMsg": "Překlad od Rowan_CZE <a href='https://beardedvillains.cz/'>Bearded Villains Czech Republic</a>",
"DualShock Calibration GUI": "DualShock Calibration GUI",
"Unsupported browser. Please use a web browser with WebHID support (e.g. Chrome).": "Nepodporovaný prohlížeč. Použijte prosím webový prohlížeč s podporou WebHID (např. Chrome).",
"Connect a DualShock 4 or a DualSense controller to your computer and press Connect.": "Připojte k počítači ovladač DualShock 4 nebo DualSense a stiskněte Připojit.",
"Connect": "Připojit",
"Connected to:": "Připojeno:",
"Disconnect": "Odpojit",
"Firmware Info": "Informace o firmwaru",
"Calibrate stick center": "Kalibrujte střed páčky",
"Calibrate stick range (permanent)": "Kalibrace dosahu páčky (trvalý)",
"Calibrate stick range (temporary)": "Kalibrace dosahu páčky (dočasný)",
"Reset controller": "Resetujte ovladač",
"Sections below are not useful, just some debug infos or manual commands": "Sekce níže nejsou užitečné, jen některé informace o ladění nebo ruční příkazy",
"NVS Status": "Status NVS",
"Unknown": "Neznámý",
"BD Addr": "Adresa BD",
"Debug buttons": "Tlačítka ladění",
"Query NVS status": "Dotaz na stav NVS",
"NVS unlock": "Odblokuj NVS",
"NVS lock": "Zablokuj NVS",
"Get BDAddr": "Získejte BDAddr",
"Fast calibrate stick center (OLD)": "Rychlá kalibrace středu páčky (OLD)",
"Stick center calibration": "Kalibrace středu páčky",
"Welcome": "Vítej",
"Step 1": "Krok 1",
"Step 2": "Krok 2",
"Step 3": "Krok 3",
"Step 4": "Krok 4",
"Completed": "Zakończono",
"Welcome to the stick center-calibration wizard!": "Vítejte v průvodci kalibrací středu páček!",
"This tool will guide you in re-centering the analog sticks of your controller. It consists in four steps: you will be asked to move both sticks in a direction and release them.": "Tento nástroj vás provede opětovným vycentrováním analogových pák vašeho ovladače. Skládá se ze čtyř kroků: budete požádáni, abyste pohnuli oběma pákami ve směru a uvolnili je.",
"Please be aware that, <i>once the calibration is running, it cannot be canceled</i>. Do not close this page or disconnect your controller until is completed.": "Mějte prosím na paměti, že <i>jakmile je kalibrace spuštěna, nelze ji zrušit</i>. Nezavírejte tuto stránku ani neodpojujte ovladač, dokud nebude dokončena.",
"Calibration storage": "Kalibrační úložiště",
"By default the calibration is only saved in a volatile storage, so that if you (or this tool) mess something up, a reset of the controller is enough to make it work again.": "Ve výchozím nastavení se kalibrace ukládá pouze do nestálého úložiště, takže pokud vy (nebo tento nástroj) něco pokazíte, stačí reset ovladače, aby znovu fungoval.",
"If you wish to store the calibration permanently in the controller, tick the checkbox below:": "Jeżeli chcesz trwale zapisać kalibrację w sterowniku zaznacz pole poniżej:",
"Write changes permanently in the controller": "Zapisovat změny trvale do ovladače",
"<small>Warning: <font color=\"red\">Do not store the calibration permanently if the controller battery is low or disconnected. It will damage your controller.</font></small>": "<small>Upozornění: <font color=\"red\">Neuchovávejte kalibraci trvale, pokud je baterie ovladače vybitá nebo odpojená. Poškodí váš ovladač.</font></small>",
"Press <b>Start</b> to begin calibration.": "Stisknutím tlačítka <b>Start</b> zahájíte kalibraci.",
"Please move both sticks to the <b>top-left corner</b> and release them.": "Přesuňte prosím obě páčky do <b>levého horního rohu</b> a uvolněte je.",
"When the sticks are back in the center, press <b>Continue</b>.": "Když jsou tyče zpět ve středu, stiskněte <b>Pokračovat</b>.",
"Please move both sticks to the <b>top-right corner</b> and release them.": "Přesuňte prosím obě páčky do <b>pravého horního rohu</b> a uvolněte je.",
"Please move both sticks to the <b>bottom-left corner</b> and release them.": "Přesuňte prosím obě páčky do <b>levého dolního rohu</b> a uvolněte je.",
"Please move both sticks to the <b>bottom-right corner</b> and release them.": "Přesuňte prosím obě páčky do <b>pravého dolního rohu</b> a uvolněte je.",
"Calibration completed successfully!": "KKalibrace úspěšně dokončena!",
"Next": "Další",
"Recentering the controller sticks. ": "Vycentrování páček. ",
"Please do not close this window and do not disconnect your controller. ": "Nezavírejte toto okno a neodpojujte ovladač. ",
"Range calibration": "Kalibrace rozsahu",
"<b>The controller is now sampling data!</b>": "<b>Regulátor nyní vzorkuje data!</b>",
"Rotate the sticks slowly to cover the whole range. Press \"Done\" when completed.": "Pomalu otáčejte páčkami, abyste pokryli celý rozsah. Po dokončení stiskněte \"Hotovo\".",
"Done": "Hotovo",
"Hi, thank you for using this software.": "Dobrý den, děkujeme, že používáte tento software.",
"If you're finding it helpful and you want to support my efforts, feel free to": "Pokud to považujete za užitečné a chcete mé úsilí podpořit, neváhejte",
"buy me a coffee": "Kup mi kávu",
"! :)": "! :)",
"Do you have any suggestion or issue? Drop me a message via email or discord.": "Máte nějaký návrh nebo problém? Napište mi zprávu na e-mail nebo diskord.",
"Cheers!": "Na zdraví!",
"Support this project": "Podpořte tento projekt",
"unknown": "Neznámý",
"original": "Original",
"clone": "Klon",
"locked": "Uzamčeno",
"unlocked": "Odemčeno",
"error": "Chyba",
"Build Date:": "Build Date:",
"HW Version:": "Verze HW:",
"SW Version:": "Verze SW:",
"Device Type:": "Typ zařízení:",
"Firmware Type:": "Typ firmwaru:",
"SW Series:": "Řada SW:",
"HW Info:": "Informace o HW:",
"SW Version:": "Verze SW:",
"UPD Version:": "Verze UTD:",
"FW Version1:": "FW Verze 1:",
"FW Version2:": "FW Verze 2:",
"FW Version3:": "FW Verze 3:",
"Range calibration completed": "Kalibrace rozsahu dokončena",
"Range calibration failed: ": "Kalibrace rozsahu se nezdařila: ",
"Cannot unlock NVS": "Nelze odemknout NVS",
"Cannot relock NVS": "Nelze znovu zamknout NVS",
"Error 1": "Chyba 1",
"Error 2": "Chyba 2",
"Error 3": "Chyba 3",
"Stick calibration failed: ": "Kalibrace páček se nezdařila: ",
"Stick calibration completed": "Kalibrace páček dokončena",
"NVS Lock failed: ": "Zámek NVS se nezdařil: ",
"NVS Unlock failed: ": "Odemknutí NVS se nezdařilo: ",
"Please connect only one controller at time.": "Připojte vždy pouze jeden ovladač.",
"Sony DualShock 4 V1": "Sony DualShock 4 V1",
"Sony DualShock 4 V2": "Sony DualShock 4 V2",
"Sony DualSense": "Sony DualSense",
"Sony DualSense Edge": "Sony DualSense Edge",
"Connected invalid device: ": "Připojené neplatné zařízení: ",
"Calibration of the DualSense Edge is not currently supported.": "Kalibrace zařízení DualSense Edge není aktuálně podporována.",
"The device appears to be a DS4 clone. All functionalities are disabled.": "Zdá se, že zařízení je klon DS4. Všechny funkce jsou deaktivovány.",
"Error: ": "Chyba: ",
"My handle on discord is: the_al": "Můj Discord to: the_al",
"Initializing...": "Inicializace...",
"Storing calibration...": "Uložení kalibrace...",
"Sampling...": "Vzorkování...",
"Calibration in progress": "Probíhá kalibrace",
"Start": "Start",
"Continue": "Pokračovat",
"You can check the calibration with the": "Kalibraci můžete zkontrolovat pomocí",
"Have a nice day :)": "Hezký den :)",
"Welcome to the Calibration GUI": "Vítejte v GUI kalibrace",
"Just few things to know before you can start:": "Jen pár věcí, které byste měli vědět, než začnete",
"This website is not affiliated with Sony, PlayStation &amp; co.": "Tato webová stránka není přidružena k Sony, PlayStation &amp; co.",
"This service is provided without warranty. Use at your own risk.": "Tato služba je poskytována bez záruky. Použití na vlastní nebezpečí.",
"Keep the internal battery of the controller connected and ensure it is well charged. If the battery dies during operations, the controller will be damaged and rendered unusable.": "Udržujte vnitřní baterii ovladače připojenou a ujistěte se, že je dobře nabitá. Pokud se baterie během provozu vybije, ovladač se poškodí a stane se nepoužitelným.",
"Before doing the permanent calibration, try the temporary one to ensure that everything is working well.": "Před provedením trvalé kalibrace vyzkoušejte dočasnou, abyste se ujistili, že vše funguje dobře.",
"Understood": "Pochopil",
"Version": "Verze",
"Frequently Asked Questions": "Často kladené otázky",
"Close": "Zavřít",
"Welcome to the F.A.Q. section! Below, you'll find answers to some of the most commonly asked questions about this website. If you have any other inquiries or need further assistance, feel free to reach out to me directly. Your feedback and questions are always welcome!": "Vítejte v F.A.Q. sekce! Níže naleznete odpovědi na některé z nejčastěji kladených otázek o tomto webu. Pokud máte nějaké další dotazy nebo potřebujete další pomoc, neváhejte se na mě obrátit přímo. Vaše názory a dotazy jsou vždy vítány!",
"How does it work?": "Jak to funguje?",
"Behind the scenes, this website is the culmination of one year of dedicated effort in reverse-engineering DualShock controllers for fun/hobby from a random guy on the internet.": "V zákulisí je tato webová stránka vyvrcholením jednoho roku oddaného úsilí v reverzním inženýrství ovladačů DualShock pro zábavu/hobby od náhodného kluka na internetu.",
"Through": "Přes",
"this research": "tento výzkum",
", it was discovered that there exist some undocumented commands on DualShock controllers that can be sent via USB and are used during factory assembly process. If these commands are sent, the controller starts the recalibration of analog sticks.": ", bylo zjištěno, že na ovladačích DualShock existují některé nezdokumentované příkazy, které lze odeslat přes USB a používají se během výrobního procesu montáže. Pokud jsou tyto příkazy odeslány, ovladač zahájí rekalibraci analogových ovladačů.",
"While the primary focus of this research wasn't initially centered on recalibration, it became apparent that a service offering this capability could greatly benefit numerous individuals. And thus, here we are.": "I když primární zaměření tohoto výzkumu nebylo zpočátku zaměřeno na rekalibraci, ukázalo se, že služba nabízející tuto schopnost může být velkým přínosem pro mnoho jednotlivců. A tak jsme tady.",
"Does the calibration remain effective during gameplay on PS4/PS5?": "Zůstává kalibrace účinná během hraní na PS4/PS5?",
"Yes, if you tick the checkbox \"Write changes permanently in the controller\". In that case, the calibration is flashed directly in the controller firmware. This ensures that it remains in place regardless of the console it's connected to.": "Ano, pokud zaškrtnete políčko \"Zapsat změny trvale do ovladače\". V takovém případě se kalibrace zobrazí přímo ve firmwaru regulátoru. To zajišťuje, že zůstane na svém místě bez ohledu na konzolu, ke které je připojen.",
"Is this an officially endorsed service?": "Je to oficiálně schválená služba?",
"No, this service is simply a creation by a DualShock enthusiast.": "Ne, tato služba je jednoduše výtvorem nadšence pro DualShock.",
"Does this website detects if a controller is a clone?": "Detekuje tento web, zda je ovladač klon?",
"Yes, only DualShock4 at the moment. This happened because I accidentally purchased some clones, spent time identifying the differences and added this functionality to prevent future deception.": "Ano, momentálně pouze DualShock4. Stalo se to proto, že jsem omylem zakoupil nějaké klony, strávil čas identifikací rozdílů a přidal tuto funkci, abych zabránil budoucímu podvodu.",
"Unfortunately, the clones cannot be calibrated anyway, because they only clone the behavior of a DualShock4 during a normal gameplay, not all the undocumented functionalities.": "Bohužel klony stejně nelze zkalibrovat, protože klonují pouze chování DualShocku4 při běžném hraní, ne všechny nezdokumentované funkce.",
"If you want to extend this detection functionality to DualSense, please ship me a fake DualSense and you'll see it in few weeks.": "Pokud chcete rozšířit tuto funkci detekce na DualSense, pošlete mi prosím falešný DualSense a uvidíte ho za několik týdnů.",
"What development is in plan?": "Jaký vývoj je v plánu?",
"I maintain two separate to-do lists for this project, although the priority has yet to be established.": "Pro tento projekt udržuji dva samostatné seznamy úkolů, ačkoli priorita ještě nebyla stanovena.",
"The first list is about enhancing support for DualShock4 and DualSense controllers:": "První seznam se týká vylepšení podpory pro ovladač DualShock4 a DualSense:",
"Implement calibration of L2/R2 triggers.": "Proveďte kalibraci spouštěčů L2/R2.",
"Improve detection of clones, particularly beneficial for those seeking to purchase used controllers with assurance of authenticity.": "Zlepšete detekci klonů, což je zvláště výhodné pro ty, kteří chtějí koupit použité ovladače s jistotou pravosti.",
"Enhance user interface (e.g. provide additional controller information)": "Vylepšení uživatelského rozhraní (např. poskytnutí dalších informací o ovladači)",
"Add support for recalibrating IMUs.": "Přidejte podporu pro rekalibraci IMU.",
"Additionally, explore the possibility of reviving non-functioning DualShock controllers (further discussion available on Discord for interested parties).": "Kromě toho prozkoumejte možnost oživení nefunkčních ovladačů DualShock (další diskuze je pro zainteresované strany k dispozici na Discordu).",
"The second list contains new controllers I aim to support:": "Druhý seznam obsahuje nové ovladače, které se snažím podporovat:",
"DualSense Edge": "DualSense Edge",
"DualShock 3": "DualShock 3",
"XBox Controllers": "Ovládač Xbox",
"Each of these tasks presents both immense interest and significant time investment. To provide context, supporting a new controller typically demands 6-12 months of full-time research, alongside a stroke of good fortune.": "Každý z těchto úkolů představuje obrovský zájem a značnou časovou investici. Aby bylo možné poskytnout kontext, podpora nového ovladače obvykle vyžaduje 612 měsíců výzkumu na plný úvazek a štěstí.",
"I love this service, it helped me! How can I contribute?": "Miluji tuto službu, pomohla mi! Jak mohu přispět?",
"I'm glad to hear that you found this helpful! If you're interested in contributing, here are a few ways you can help me:": "Těší mě, že vám to pomohlo! Pokud máte zájem přispět, zde je několik způsobů, jak mi můžete pomoci:",
"Consider making a": "Zvažte vytvoření a ",
"donation": "Příspěvek",
"to support my late-night caffeine-fueled reverse-engineering efforts.": "na podporu mého nočního úsilí o reverzní inženýrství poháněné kofeinem.",
"Ship me a controller you would love to add (send me an email for organization).": "Zašlete mi ovladač, který byste rádi přidali (zašlete mi e-mail pro organizaci).",
"Translate this website in your language": "Přeložte tento web do svého jazyka",
", to help more people like you!": ", pomoci více lidem, jako jste vy!",
"This website uses analytics to improve the service.": "Tento web používá analýzy ke zlepšení služeb.",
"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",
"Please connect the device using a USB cable.": "Připojte zařízení pomocí kabelu USB.",
"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",
"Err R:": "Chyba R",
"Err L:": "Chyba L",
"Check circularity": "Zkontrolujte rozsah",
"": ""
}

View File

@@ -158,13 +158,14 @@
"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 neki:",
"Please connect the device using a USB cable.": "Kérjük, csatlakoztassa az eszközt USB-kábellel.",
"Board model detection thanks to": "Az alaplapfelismerési funkciőért köszönet illeti:",
"Please connect the device using a USB cable.": "Kérlek csatlakoztasd az eszközt USB kábel használatával.",
"This DualSense controller has outdated firmware.": "Ennek a DualSense vezérlőnek elavult a firmware-e.",
"Please update the firmware and try again.": "Kérjük, frissítse a firmware-t, és próbálja újra.",
"Joystick Info": "Joystick Információ",
"Err R:": "Hiba J:",
"Err L:": "Hiba B:",
"Check circularity": "Ellenőrizze a körkörösséget",
"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ó",
"Err R:": "Hibaarány J:",
"Err L:": "Hibaarány B:",
"Check circularity": "Körkörösség ellenőrzése",
"": ""
}

170
lang/ko_kr.json Normal file
View File

@@ -0,0 +1,170 @@
{
".authorMsg": "한국어 번역(제타)",
"DualShock Calibration GUI": "듀얼쇼크 캘리브레이션 GUI",
"Unsupported browser. Please use a web browser with WebHID support (e.g. Chrome).": "지원되지 않는 브라우저입니다. WebHID를 지원하는 웹 브라우저(예: Chrome)를 사용하십시오. ",
"Connect a DualShock 4 or a DualSense controller to your computer and press Connect.": "듀얼쇼크4 또는 듀얼센스 컨트롤러를 컴퓨터에 연결하고 [연결] 버튼을 누릅니다.",
"Connect": "연결",
"Connected to:": "연결 대상:",
"Disconnect": "연결 끊기",
"Firmware Info": "펌웨어 정보",
"Calibrate stick center": "스틱 중앙을 캘리브레이션",
"Calibrate stick range (permanent)": "스틱 범위 캘리브레이션 (영구)",
"Calibrate stick range (temporary)": "스틱 범위 캘리브레이션 (임시)",
"Reset controller": "컨트롤러 재설정",
"Sections below are not useful, just some debug infos or manual commands": "다음 섹션은 디버그 정보 및 수동 명령어만 제공하므로 도움이 되지 않습니다.",
"NVS Status": "NVS 상태",
"Unknown": "Unknown",
"BD Addr": "BD 주소",
"Debug buttons": "디버그 버튼",
"Query NVS status": "NVS 상태 조회",
"NVS unlock": "NVS 잠금 해제",
"NVS lock": "NVS 잠금 설정",
"Get BDAddr": "BD 주소 받기",
"Fast calibrate stick center (OLD)": "스틱 중앙을 빠르게 캘리브레이션 (OLD)",
"Stick center calibration": "스틱 중앙의 캘리브레이션",
"Welcome": "환영합니다",
"Step 1": "단계1",
"Step 2": "단계2",
"Step 3": "단계3",
"Step 4": "단계4",
"Completed": "완료",
"Welcome to the stick center-calibration wizard!": "스틱 중앙 캘리브레이션 마법사에 오신 것을 환영합니다!",
"This tool will guide you in re-centering the analog sticks of your controller. It consists in four steps: you will be asked to move both sticks in a direction and release them.": "이 도구는 컨트롤러의 아날로그 스틱을 다시 중앙에 위치하도록 안내하며, 4단계로 구성되어 두 스틱을 특정 방향으로 움직인 후 해제하라는 메시지가 표시됩니다.",
"Please be aware that, <i>once the calibration is running, it cannot be canceled</i>. Do not close this page or disconnect your controller until is completed.": "캘리브레이션이 실행되면, <i>취소할 수 없습니다</i>. 완료될 때까지 이 페이지를 닫거나 컨트롤러를 분리하지 마십시오.",
"Calibration storage": "캘리브레이션 저장소",
"By default the calibration is only saved in a volatile storage, so that if you (or this tool) mess something up, a reset of the controller is enough to make it work again.": "기본적으로 캘리브레이션은 휘발성 저장소에만 저장되기 때문에 문제가 발생하면 컨트롤러를 재설정하는 것만으로 다시 작동할 수 있습니다.",
"If you wish to store the calibration permanently in the controller, tick the checkbox below:": "컨트롤러에 캘리브레이션을 영구적으로 저장하려면 아래 체크박스에 체크 표시를 하십시오.",
"Write changes permanently in the controller": "변경 사항을 컨트롤러에 영구적으로 기록",
"<small>Warning: <font color=\"red\">Do not store the calibration permanently if the controller battery is low or disconnected. It will damage your controller.</font></small>": "<small>경고: <font color='red'>컨트롤러의 배터리가 부족하거나 연결이 끊어진 경우 캘리브레이션을 영구적으로 저장하지 마십시오. 컨트롤러가 손상될 수 있습니다. </font></small> 경고: </font></small> 경고: <font color='red'",
"Press <b>Start</b> to begin calibration.": "캘리브레이션을 시작하려면 <b>시작</b>을 눌러 캘리브레이션을 시작하십시오.",
"Please move both sticks to the <b>top-left corner</b> and release them.": "두 스틱을 <b>왼쪽 상단 모서리</b>로 이동한 후 놓아주세요.",
"When the sticks are back in the center, press <b>Continue</b>.": "스틱이 중앙으로 돌아오면 <b>계속하기</b> 버튼을 누릅니다.",
"Please move both sticks to the <b>top-right corner</b> and release them.": "두 스틱을 <b>오른쪽 상단 모서리</b>로 이동한 후 놓아주세요.",
"Please move both sticks to the <b>bottom-left corner</b> and release them.": "두 스틱을 <b>왼쪽 하단 모서리</b>로 이동한 후 놓아주세요.",
"Please move both sticks to the <b>bottom-right corner</b> and release them.": "두 스틱을 <b>오른쪽 하단 모서리</b>로 이동한 후 놓아주세요.",
"Calibration completed successfully!": "캘리브레이션이 성공적으로 완료되었습니다!",
"Next": "다음",
"Recentering the controller sticks. ": "컨트롤러의 스틱을 다시 중심을 잡고 있습니다. ",
"Please do not close this window and do not disconnect your controller. ": "이 창을 닫지 말고 컨트롤러를 분리하지 마십시오. ",
"Range calibration": "범위 캘리브레이션",
"<b>The controller is now sampling data!</b>": "<b>컨트롤러는 현재 데이터를 샘플링하고 있습니다!</b>",
"Rotate the sticks slowly to cover the whole range. Press \"Done\" when completed.": "스틱을 천천히 돌려서 전체 범위를 커버하세요. 완료되면 '완료'를 누르세요.",
"Done": "완료",
"Hi, thank you for using this software.": "안녕하세요, 이 소프트웨어를 사용해 주셔서 감사합니다.",
"If you're finding it helpful and you want to support my efforts, feel free to": "도움이 될 것 같거나 저의 노력을 지원하고 싶으시다면, 언제든지 연락주세요.",
"buy me a coffee": "커피를 사주세요",
"! :)": " :)",
"Do you have any suggestion or issue? Drop me a message via email or discord.": "제안이나 의견이 있으신가요? 이메일이나 디스코드로 알려주세요.",
"Cheers!": "건배!",
"Support this project": "이 프로젝트 지원",
"unknown": "불명",
"original": "오리지날",
"clone": "클론",
"locked": "잠김",
"unlocked": "잠김 해제",
"error": "에러",
"Build Date:": "빌드 날짜:",
"HW Version:": "HW 버전:",
"SW Version:": "SW 버전:",
"Device Type:": "장치 타입:",
"Firmware Type:": "펌웨어 타입:",
"SW Series:": "SW 시리즈:",
"HW Info:": "HW 정보:",
"SW Version:": "SW 버전:",
"UPD Version:": "UPD 버전:",
"FW Version1:": "FW버전1:",
"FW Version2:": "FW버전2:",
"FW Version3:": "FW버전3:",
"Range calibration completed": "범위 캘리브레이션이 완료되었습니다.",
"Range calibration failed: ": "범위 캘리브레이션에 실패했습니다:",
"Cannot unlock NVS": "NVS를 잠금 해제할 수 없습니다",
"Cannot relock NVS": "NVS를 다시 잠글 수 없습니다",
"Error 1": "에러 1",
"Error 2": "에러 2",
"Error 3": "에러 3",
"Stick calibration failed: ": "스틱을 캘리브레이션하지 못했습니다:",
"Stick calibration completed": "스틱 캘리브레이션이 완료되었습니다.",
"NVS Lock failed: ": "NVS 잠금에 실패했습니다:",
"NVS Unlock failed: ": "NVS 잠금 해제에 실패했습니다:",
"Please connect only one controller at time.": "한 번에 하나의 컨트롤러만 연결하십시오.",
"Sony DualShock 4 V1": "Sony DualShock 4 V1",
"Sony DualShock 4 V2": "Sony DualShock 4 V2",
"Sony DualSense": "Sony DualSense",
"Sony DualSense Edge": "Sony DualSense Edge",
"Connected invalid device: ": "연결된 비활성화 된 장치:",
"Calibration of the DualSense Edge is not currently supported.": "현재 DualSense Edge의 캘리브레이션은 지원되지 않습니다.",
"The device appears to be a DS4 clone. All functionalities are disabled.": "이 장치는 DS4의 복제품인 것 같습니다. 모든 기능이 비활성화되어 있습니다.",
"Error: ": "에러:",
"My handle on discord is: the_al": "Discord의 내 핸들은: the_al입니다.",
"Initializing...": "초기화...",
"Storing calibration...": "캘리브레이션 저장 중...",
"Sampling...": "샘플링...",
"Calibration in progress": "캘리브레이션 진행 중",
"Start": "시작",
"Continue": "진행",
"You can check the calibration with the": "캘리브레이션은 다음에서 확인할 수 있습니다.",
"Have a nice day :)": "좋은 하루 되세요! :)",
"Welcome to the Calibration GUI": "캘리브레이션 GUI에 오신 것을 환영합니다",
"Just few things to know before you can start:": "시작하기 전에 알아야 할 사항:",
"This website is not affiliated with Sony, PlayStation &amp; co.": "이 웹사이트는 소니, 플레이스테이션 등과 무관합니다.",
"This service is provided without warranty. Use at your own risk.": "이 서비스는 무보증으로 제공됩니다. 자기 책임하에 사용하시기 바랍니다.",
"Keep the internal battery of the controller connected and ensure it is well charged. If the battery dies during operations, the controller will be damaged and rendered unusable.": "컨트롤러의 내장 배터리를 연결하고 충분히 충전되었는지 확인하십시오. 작동 중 배터리가 방전되면 컨트롤러가 손상되어 사용할 수 없습니다.",
"Before doing the permanent calibration, try the temporary one to ensure that everything is working well.": "영구 캘리브레이션을 하기 전에 임시 캘리브레이션을 통해 모든 것이 제대로 작동하는지 확인하십시오.",
"Understood": "알았다능",
"Version": "버전",
"Frequently Asked Questions": "자주 묻는 질문",
"Close": "닫기",
"Welcome to the F.A.Q. section! Below, you'll find answers to some of the most commonly asked questions about this website. If you have any other inquiries or need further assistance, feel free to reach out to me directly. Your feedback and questions are always welcome!": "자주 묻는 질문 섹션에 오신 것을 환영합니다! 아래는 이 웹사이트와 관련하여 가장 자주 묻는 질문에 대한 답변입니다. 기타 문의 사항이 있거나 추가 지원이 필요한 경우 직접 문의하시기 바랍니다. 우리는 항상 귀하의 의견과 질문을 환영합니다!",
"How does it work?": "어떻게 작동하나요?",
"Behind the scenes, this website is the culmination of one year of dedicated effort in reverse-engineering DualShock controllers for fun/hobby from a random guy on the internet.": "이 웹사이트는 1년 동안 인터넷에서 무작위 사람들이 재미와 취미를 위해 듀얼쇼크 컨트롤러를 리버스 엔지니어링하는 데 전념한 결과물이다.",
"Through": "를 통해",
"this research": "이 연구",
", it was discovered that there exist some undocumented commands on DualShock controllers that can be sent via USB and are used during factory assembly process. If these commands are sent, the controller starts the recalibration of analog sticks.": "DualShock 컨트롤러에는 USB를 통해 전송되고 공장 조립 과정에서 사용되는 몇 가지 문서화되지 않은 명령이 존재한다는 것을 발견했다. 이러한 명령이 전송되면 컨트롤러는 아날로그 스틱의 재보정을 시작합니다.",
"While the primary focus of this research wasn't initially centered on recalibration, it became apparent that a service offering this capability could greatly benefit numerous individuals. And thus, here we are.": "이 연구의 주요 초점은 처음에는 재보정에 초점을 맞추지 않았지만, 이 기능을 제공하는 서비스가 많은 사람들에게 큰 혜택을 줄 수 있다는 것이 밝혀졌습니다. 그 결과 여기 있습니다.",
"Does the calibration remain effective during gameplay on PS4/PS5?": "PS4/PS5에서 게임 플레이 중에도 캘리브레이션이 가능한가요?",
"Yes, if you tick the checkbox \"Write changes permanently in the controller\". In that case, the calibration is flashed directly in the controller firmware. This ensures that it remains in place regardless of the console it's connected to.": "예, <컨트롤러에 변경 사항을 영구적으로 기록> 확인란을 선택합니다. 이 경우 캘리브레이션이 컨트롤러 펌웨어에 직접 플래시됩니다. 이렇게 하면 연결된 콘솔에 관계없이 그 자리에 그대로 유지됩니다.",
"Is this an officially endorsed service?": "공식적으로 승인된 서비스인가요?",
"No, this service is simply a creation by a DualShock enthusiast.": "아니요, 이 서비스는 단순히 DualShock 애호가들이 만든 서비스입니다.",
"Does this website detects if a controller is a clone?": "이 웹 사이트는 컨트롤러가 복제되었는지 여부를 감지합니까?",
"Yes, only DualShock4 at the moment. This happened because I accidentally purchased some clones, spent time identifying the differences and added this functionality to prevent future deception.": "예, 현재 DualShock4에만 있습니다. 이것은 내가 우연히 몇 개의 클론을 구입하고 차이점을 파악하는 데 시간을 보냈고 향후 오해를 방지하기 위해이 기능을 추가했기 때문입니다.",
"Unfortunately, the clones cannot be calibrated anyway, because they only clone the behavior of a DualShock4 during a normal gameplay, not all the undocumented functionalities.": "안타깝게도 클론은 어느 쪽이든 캘리브레이션할 수 없습니다. 왜냐하면 그들은 정상적인 게임 플레이 중 DualShock4의 동작만 복제하고, 문서화되지 않은 모든 기능을 복제하지 않기 때문입니다.",
"If you want to extend this detection functionality to DualSense, please ship me a fake DualSense and you'll see it in few weeks.": "이 감지 기능을 DualSense로 확장하고 싶다면 가짜 DualSense를 보내주세요. 몇 주 안에 구현됩니다.",
"What development is in plan?": "어떤 개발 계획이 있습니까?",
"I maintain two separate to-do lists for this project, although the priority has yet to be established.": "이 프로젝트에서는 아직 우선순위가 정해지지 않았지만, 두 개의 별도 ToDo 리스트를 관리하고 있다.",
"The first list is about enhancing support for DualShock4 and DualSense controllers:": "첫 번째 목록은 DualShock4 및 DualSense 컨트롤러에 대한 지원 강화에 관한 것이다.", "Implement calibration of L2/R2 triggers.": "L2/R2 트리거의 캘리브레이션을 구현한다.",
"Improve detection of clones, particularly beneficial for those seeking to purchase used controllers with assurance of authenticity.": "클론 탐지를 개선하고 특히 정품이 보장되는 중고 컨트롤러를 구매하려는 사람들에게 유용합니다.",
"Enhance user interface (e.g. provide additional controller information)": "사용자 인터페이스 개선(예: 추가 컨트롤러 정보 제공)",
"Add support for recalibrating IMUs.": "IMU 재보정 지원을 추가한다.",
"Additionally, explore the possibility of reviving non-functioning DualShock controllers (further discussion available on Discord for interested parties).": "또한, 작동하지 않는 DualShock 컨트롤러의 부활 가능성을 모색합니다(관심 있는 분들은 Discord에서 더 많은 논의가 가능합니다).",
"The second list contains new controllers I aim to support:": "두 번째 목록에는 지원되는 새로운 컨트롤러가 포함되어 있습니다:",
"DualSense Edge": "DualSense Edge",
"DualShock 3": "DualShock 3",
"XBox Controllers": "Xbox 컨트롤러",
"Each of these tasks presents both immense interest and significant time investment. To provide context, supporting a new controller typically demands 6-12 months of full-time research, alongside a stroke of good fortune.": "이러한 각 작업은 매우 흥미롭고 많은 시간을 투자해야 합니다. 맥락을 제공하기 위해 새로운 컨트롤러를 지원하려면 일반적으로 6~12개월의 풀타임 연구와 행운이 필요합니다.",
"I love this service, it helped me! How can I contribute?": "이 서비스가 마음에 들어요, 도움이 되었어요! 어떻게 기여할 수 있나요?",
"I'm glad to hear that you found this helpful! If you're interested in contributing, here are a few ways you can help me:": "이 글이 도움이 되셨다니 다행입니다! 기여하고 싶다면, 다음은 당신이 나를 도울 수있는 몇 가지 방법입니다:",
"Consider making a": "다음 사항을 고려하십시오.",
"donation": "후원",
"to support my late-night caffeine-fueled reverse-engineering efforts.": "밤늦게까지 카페인으로 지탱된 리버스 엔지니어링 작업을 지원하기 위해.",
"Ship me a controller you would love to add (send me an email for organization).": "추가하고 싶은 컨트롤러를 보내주세요 (조직을 위해 이메일을 보내주세요)." , "Translate this website in your language": "이 웹사이트를 당신의 언어로 번역하세요",
", to help more people like you!": "당신과 같은 많은 사람들을 돕기 위해!",
"This website uses analytics to improve the service.": "이 웹사이트는 서비스 개선을 위해 분석을 사용하고 있습니다.",
"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": "기판 모델 감지에 감사드립니다",
"Please connect the device using a USB cable.": "장치를 USB 케이블로 연결하십시오.",
"This DualSense controller has outdated firmware.": "이 DualSense 컨트롤러의 펌웨어가 오래되었습니다.",
"Please update the firmware and try again.": "펌웨어를 업데이트한 후 다시 시도해 보세요.",
"Joystick Info": "조이스틱 정보",
"Err R:": "오류 오른쪽:",
"Err L:": "오류 왼쪽:",
"Check circularity": "원형 확인",
"": ""
}

View File

@@ -8,7 +8,7 @@
"Disconnect": "Rozłącz",
"Firmware Info": "Informacje o Firmware",
"Calibrate stick center": "Skalibruj centralny punkt drążków",
"Calibrate stick range (permanent)": "Skalibruj maksymalny zasięg drążków (na stałe)",
"Calibrate stick range (permanent)": "Skalibruj maksymalny zasięg drążków (stale)",
"Calibrate stick range (temporary)": "Skalibruj maksymalny zasięg drążków (chwilowo)",
"Reset controller": "Zresetuj kontroler",
"Sections below are not useful, just some debug infos or manual commands": "Poniższe sekcje nie są przydatne, zawierają jedynie informacje dotyczące debugowania lub ręcznych poleceń",
@@ -162,12 +162,12 @@
"Board model detection thanks to": "Podziękowania dla osoby która wykryła model płytki",
"Please connect the device using a USB cable.": "Proszę podłącz urządzenie przy pomocy kabla USB.",
"This DualSense controller has outdated firmware.": "",
"Please update the firmware and try again.": "",
"Joystick Info": "",
"Err R:": "",
"Err L:": "",
"Check circularity": "",
"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",
"Err R:": "Błędność R",
"Err L:": "Błędność L",
"Check circularity": "Sprawdź okrężność",
"": ""
}

View File

@@ -161,13 +161,13 @@
"Please let me know if the board model of your controller is not detected correctly.": "如果您的手柄的主板型号没有被正确检测,请告诉我。",
"Board model detection thanks to": "主板型号检测功能需要感谢",
"Please connect the device using a USB cable.": "",
"This DualSense controller has outdated firmware.": "",
"Please update the firmware and try again.": "",
"Joystick Info": "",
"Err R:": "",
"Err L:": "",
"Check circularity": "",
"Please connect the device using a USB cable.": "请使用USB线连接设备。",
"This DualSense controller has outdated firmware.": "该DualSense手柄的固件已过时。",
"Please update the firmware and try again.": "请更新固件后重试。",
"Joystick Info": "摇杆信息",
"Err R:": "右摇杆错误率",
"Err L:": "左摇杆错误率",
"Check circularity": "检查摇杆外圈圆度。",
"": ""
}

166
lang/zh_tw.json Normal file
View File

@@ -0,0 +1,166 @@
{
".authorMsg": "- 中文(繁體)翻譯由 JEFF 提供",
"DualShock Calibration GUI": "手把校準界面",
"Unsupported browser. Please use a web browser with WebHID support (e.g. Chrome).": "不支持的瀏覽器。請使用支持 WebHID 的瀏覽器 (例如 Chrome)。",
"Connect a DualShock 4 or a DualSense controller to your computer and press Connect.": "將 DualShock 4 或 DualSense 手把連結到您的電腦,然後按下連結。",
"Connect": "連結",
"Connected to:": "連結至:",
"Disconnect": "斷開連結",
"Firmware Info": "韌體資訊",
"Calibrate stick center": "校準搖桿中心",
"Calibrate stick range (permanent)": "校準搖桿外圈 (永久)",
"Calibrate stick range (temporary)": "校準搖桿外圈 (臨時)",
"Reset controller": "重置手把",
"Sections below are not useful, just some debug infos or manual commands": "以下部分沒有用處,只是一些除錯資訊或手動命令",
"NVS Status": "NVS 狀態",
"Unknown": "未知",
"BD Addr": "BD 地址",
"Debug buttons": "除錯按钮",
"Query NVS status": "查詢 NVS 狀態",
"NVS unlock": "解鎖 NVS",
"NVS lock": "鎖定 NVS",
"Get BDAddr": "獲取 BD 地址",
"Fast calibrate stick center (OLD)": "快速校準搖桿中心 (舊版)",
"Stick center calibration": "搖桿中心校準",
"Welcome": "歡迎",
"Step 1": "步驟 1",
"Step 2": "步驟 2",
"Step 3": "步驟 3",
"Step 4": "步驟 4",
"Completed": "已完成",
"Welcome to the stick center-calibration wizard!": "歡迎使用搖桿中心校準嚮導!",
"This tool will guide you in re-centering the analog sticks of your controller. It consists in four steps: you will be asked to move both sticks in a direction and release them.": "此工具將指導您重新定位手把的模擬搖桿。 它包括四個步驟:您將被要求將兩個搖桿移動到一個方向並釋放它們。",
"Please be aware that, <i>once the calibration is running, it cannot be canceled</i>. Do not close this page or disconnect your controller until is completed.": "請注意,<i>一旦校準开始,就無法取消</i>。 在完成之前,請不要關閉此頁面或斷開手把的連結。",
"Calibration storage": "校準儲存",
"By default the calibration is only saved in a volatile storage, so that if you (or this tool) mess something up, a reset of the controller is enough to make it work again.": "默認情況下,校準僅保存在隨機存取記憶體中,因此,如果您(或此工具)出錯,重新設置手把就足以使其再次工作。",
"If you wish to store the calibration permanently in the controller, tick the checkbox below:": "如果您希望永久保存校準數據到手把中,請在下方的複選框中打勾:",
"Write changes permanently in the controller": "將變更永久寫入手把中",
"<small>Warning: <font color=\"red\">Do not store the calibration permanently if the controller battery is low or disconnected. It will damage your controller.</font></small>": "<small>警告:<font color='red'>如果手把電池電量低或斷開連結,請勿永久儲存校準數據。這將損壞您的手把。</font></small>",
"Press <b>Start</b> to begin calibration.": "按 <b>開始</b> 開始校準。",
"Please move both sticks to the <b>top-left corner</b> and release them.": "請將兩個搖桿移到 <b>左上角</b> 並釋放它們。",
"When the sticks are back in the center, press <b>Continue</b>.": "當搖桿回到中心位置時,按 <b>繼續</b>。",
"Please move both sticks to the <b>top-right corner</b> and release them.": "請將兩個搖桿移到 <b>右上角</b> 並釋放它們。",
"Please move both sticks to the <b>bottom-left corner</b> and release them.": "請將兩個搖桿移到 <b>左下角</b> 並釋放它們。",
"Please move both sticks to the <b>bottom-right corner</b> and release them.": "請將兩個搖桿移到 <b>右下角</b> 並釋放它們。",
"Calibration completed successfully!": "校準成功完成!",
"Next": "下一步",
"Recentering the controller sticks. ": "重新定位手把摇杆。 ",
"Please do not close this window and do not disconnect your controller. ": "請不要關閉此窗口,也不要斷開手把的連接。 ",
"Range calibration": "摇杆外圈校準",
"<b>The controller is now sampling data!</b>": "<b>手把現在正在採樣數據!</b>",
"Rotate the sticks slowly to cover the whole range. Press \"Done\" when completed.": "緩慢轉動搖桿以覆蓋整個範圍。 完成後按 \"完成\"。",
"Done": "完成",
"Hi, thank you for using this software.": "嗨,感謝您使用此軟體。",
"If you're finding it helpful and you want to support my efforts, feel free to": "如果您覺得有幫助,想支持我的努力,請隨時",
"buy me a coffee": "請我喝咖啡",
"! :)": "! :)",
"Do you have any suggestion or issue? Drop me a message via email or discord.": "您有任何建議或問題嗎?透過電子郵件或 Discord 給我留言。",
"Cheers!": "乾杯!",
"Support this project": "支持此項目",
"unknown": "未知設備",
"original": "原廠正品",
"clone": "克隆盜版",
"locked": "已鎖定",
"unlocked": "已解鎖",
"error": "錯誤",
"Build Date:": "建置日期:",
"HW Version:": "硬體版本:",
"SW Version:": "軟體版本:",
"Device Type:": "設備類型:",
"Firmware Type:": "韌體類型:",
"SW Series:": "軟體系列:",
"HW Info:": "硬件資訊:",
"SW Version:": "軟體版本:",
"UPD Version:": "更新版本:",
"FW Version1:": "韌體版本1:",
"FW Version2:": "韌體版本2:",
"FW Version3:": "韌體版本3:",
"Range calibration completed": "搖桿外圈校準已完成",
"Range calibration failed: ": "搖桿外圈校準失敗: ",
"Cannot unlock NVS": "無法解鎖 NVS",
"Cannot relock NVS": "無法重新鎖定 NVS",
"Error 1": "錯誤 1",
"Error 2": "錯誤 2",
"Error 3": "錯誤 3",
"Stick calibration failed: ": "摇杆校準失敗: ",
"Stick calibration completed": "摇杆校準完成",
"NVS Lock failed: ": "NVS 鎖定失敗: ",
"NVS Unlock failed: ": "NVS 解鎖失敗: ",
"Please connect only one controller at time.": "請一次只連接一個手把。",
"Sony DualShock 4 V1": "Sony DualShock 4 V1",
"Sony DualShock 4 V2": "Sony DualShock 4 V2",
"Sony DualSense": "Sony DualSense",
"Sony DualSense Edge": "Sony DualSense Edge",
"Connected invalid device: ": "連接了無效設備: ",
"Calibration of the DualSense Edge is not currently supported.": "目前不支援對 DualSense Edge 的校準。",
"The device appears to be a DS4 clone. All functionalities are disabled.": "該設備似乎是 DS4 盜版。所有功能均已停用。",
"Error: ": "錯誤: ",
"My handle on discord is: the_al": "我的 Discord 用戶名是: the_al",
"Initializing...": "初始化...",
"Storing calibration...": "正在儲存校準...",
"Sampling...": "採樣中...",
"Calibration in progress": "校準進行中",
"Start": "開始",
"Continue": "繼續",
"You can check the calibration with the": "您可以透過以下方式檢查校準",
"Have a nice day :)": "祝您有美好的一天! :)",
"Welcome to the Calibration GUI": "歡迎使用校準 GUI",
"Just few things to know before you can start:": "在開始之前,有幾件事情要了解:",
"This website is not affiliated with Sony, PlayStation &amp; co.": "此網站與 Sony、PlayStation 等無關。",
"This service is provided without warranty. Use at your own risk.": "此服務不附帶任何保固。使用需自負風險。",
"Keep the internal battery of the controller connected and ensure it is well charged. If the battery dies during operations, the controller will be damaged and rendered unusable.": "保持手把的內部電池連接,並確保其充電充足。如果在操作過程中電池電量耗盡,手把將受損並無法使用。",
"Before doing the permanent calibration, try the temporary one to ensure that everything is working well.": "在進行永久校準之前,先嘗試臨時校準以確保一切正常。",
"Understood": "知道了",
"Version": "版本",
"Frequently Asked Questions": "常見問題",
"Close": "關閉",
"Welcome to the F.A.Q. section! Below, you'll find answers to some of the most commonly asked questions about this website. If you have any other inquiries or need further assistance, feel free to reach out to me directly. Your feedback and questions are always welcome!": "歡迎來到常見問題的解答部分!在下面,您將找到關於本網站常見問題的答案。如果您有任何其他疑問或需要進一步協助,請隨時直接與我聯繫。您的回饋和問題都是受歡迎的!",
"How does it work?": "它是如何工作的?",
"Behind the scenes, this website is the culmination of one year of dedicated effort in reverse-engineering DualShock controllers for fun/hobby from a random guy on the internet.": "在幕後這個網站是一個來自網路上一個普通人花了一年時間來為了娛樂和愛好而逆向DualShock手把的努力結晶。",
"Through": "通過",
"this research": "這項研究",
", it was discovered that there exist some undocumented commands on DualShock controllers that can be sent via USB and are used during factory assembly process. If these commands are sent, the controller starts the recalibration of analog sticks.": "透過這項研究發現DualShock手把上存在一些未記錄的命令可以透過USB發送並在工廠組裝過程中使用。如果發送了這些命令手把將開始重新校準模擬搖桿。",
"While the primary focus of this research wasn't initially centered on recalibration, it became apparent that a service offering this capability could greatly benefit numerous individuals. And thus, here we are.": "雖然最初這項研究的主要焦點並不是集中在重新校準上,但很明顯,提供這種能力的服務可以極大地惠及許多人。顯而易見,我們也在這其中。",
"Does the calibration remain effective during gameplay on PS4/PS5?": "在PS4/PS5上使用時校準是否仍然有效",
"Yes, if you tick the checkbox \"Write changes permanently in the controller\". In that case, the calibration is flashed directly in the controller firmware. This ensures that it remains in place regardless of the console it's connected to.": "是的,如果您勾選了「在手把中永久寫入變更」複選框。在這種情況下,校準直接刷新到手把韌體中。這確保了它無論連接到哪個遊戲機都會生效。",
"Is this an officially endorsed service?": "這是官方認可的工具嗎?",
"No, this service is simply a creation by a DualShock enthusiast.": "不這個工具只是一個DualShock愛好者的創作。",
"Does this website detects if a controller is a clone?": "這個網站能偵測到手把是否是正品嗎?",
"Yes, only DualShock4 at the moment. This happened because I accidentally purchased some clones, spent time identifying the differences and added this functionality to prevent future deception.": "是的目前只有DualShock4。這是因為我不小心買到了一些盜版因此花了一些時間鑑別了它們的差異並添加了這個功能以防止未來被騙。",
"Unfortunately, the clones cannot be calibrated anyway, because they only clone the behavior of a DualShock4 during a normal gameplay, not all the undocumented functionalities.": "不幸的是盜版無論如何都不能進行校準因為它們只複製了在正常遊戲過程中DualShock4的功能部分而不是所有未記錄的功能。",
"If you want to extend this detection functionality to DualSense, please ship me a fake DualSense and you'll see it in few weeks.": "如果您想將此檢測功能擴展到DualSense請寄給我一個假的DualSense您將在幾週內看到結果。",
"What development is in plan?": "有什麼發展計畫嗎?",
"I maintain two separate to-do lists for this project, although the priority has yet to be established.": "我為這個項目維護兩個單獨的待辦事項列表,儘管優先順序尚未確定。",
"The first list is about enhancing support for DualShock4 and DualSense controllers:": "第一個清單是關於增強對DualShock4和DualSense手把的支援",
"Implement calibration of L2/R2 triggers.": "實現L2/R2扳機的校準。",
"Improve detection of clones, particularly beneficial for those seeking to purchase used controllers with assurance of authenticity.": "改進盜版的檢測,對那些希望購買原廠正品的二手手把的人特別有益。",
"Enhance user interface (e.g. provide additional controller information)": "增強使用者資訊介面(例如提供額外的手把資訊)",
"Add support for recalibrating IMUs.": "新增支援重新校準IMU陀螺儀。",
"Additionally, explore the possibility of reviving non-functioning DualShock controllers (further discussion available on Discord for interested parties).": "此外探討復活不工作的DualShock手把的可能性對此有興趣的人可在Discord上進一步的討論。",
"The second list contains new controllers I aim to support:": "第二個清單包含我打算支援的新手把:",
"DualSense Edge": "DualSense Edge",
"DualShock 3": "DualShock 3",
"XBox Controllers": "XBox 手把",
"Each of these tasks presents both immense interest and significant time investment. To provide context, supporting a new controller typically demands 6-12 months of full-time research, alongside a stroke of good fortune.": "每項任務都需要巨大的興趣和顯著的時間投入。為了提供支持相容於新的手把通常需要6-12個月的全職研究同時還需要一點好運才能做到。",
"I love this service, it helped me! How can I contribute?": "我喜歡這個工具,它幫助了我!我如何做出貢獻?",
"I'm glad to hear that you found this helpful! If you're interested in contributing, here are a few ways you can help me:": "很高興聽到本工具對您有幫助!如果您有興趣做出貢獻,以下是您可以幫助我的幾種方式:",
"Consider making a": "考慮完成一項",
"donation": "捐贈",
"to support my late-night caffeine-fueled reverse-engineering efforts.": "以支持我的深夜因一杯咖啡而激發對逆向工程努力。",
"Ship me a controller you would love to add (send me an email for organization).": "給我寄一個您想添加的手把(發送電子郵件給我進行安排)。",
"Translate this website in your language": "將這個網站翻譯成您的語言",
", to help more people like you!": "以幫助更多像您一樣的人!",
"This website uses analytics to improve the service.": "該網站使用分析工具來改善服務。",
"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": "主機板型號檢測功能需要感謝",
"Please connect the device using a USB cable.": "請使用USB線連接設備。",
"This DualSense controller has outdated firmware.": "該DualSense手把的韌體已過時。",
"Please update the firmware and try again.": "請更新韌體後重試。",
"Joystick Info": "搖桿資訊",
"Err R:": "右搖桿錯誤率",
"Err L:": "左搖桿錯誤率",
"Check circularity": "檢查搖桿外圈圓度。",
"": ""
}