Compare commits

..

33 Commits
v0.9 ... 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
dualshock-tools
7b13ccdd18 Add joystick information 2024-06-18 11:34:05 +02:00
dualshock-tools
d67e5003df Improved pl_pl translation 2024-06-02 11:08:55 +02:00
dualshock-tools
f57e1dc4ec Updated pl_pl translation 2024-06-02 11:07:11 +02:00
dualshock-tools
cbd6237ddd Add popup to update DualSense firmware if too old 2024-06-02 11:02:30 +02:00
dualshock-tools
5f7480e028 Detect if the controller is connected via USB 2024-05-30 16:04:48 +02:00
dualshock-tools
9e48207fcc Improved pl_pl translation 2024-05-30 10:01:47 +02:00
Marekk2k
86fc8624be Update core.js
Adding Polish language (email)
2024-05-29 12:02:43 +02:00
dualshock-tools
b179d4c446 Add pl_pl translation 2024-05-29 12:02:19 +02:00
dualshock-tools
e98f41b858 Updated discord link 2024-05-29 11:54:30 +02:00
dualshock-tools
20075c4552 fix JDM-040 condition 2024-05-14 21:05:35 +02:00
dualshock-tools
d5e9bade48 Updated controller model detection 2024-05-14 07:19:41 +02:00
dualshock-tools
3112784087 fix fr_fr 2024-05-13 22:49:44 +02:00
dualshock-tools
26c406b19a Removed duplicate translation 2024-05-13 20:57:33 +02:00
dualshock-tools
fadb822d6e Improved hu_hu translation 2024-05-03 23:26:13 +02:00
dualshock-tools
1c36ead286 Fixed pt_br translator name 2024-04-29 23:35:51 +02:00
dualshock-tools
ecd904c70e Add pt_br translation 2024-04-28 10:29:57 +02:00
dualshock-tools
d38f69c45a Add empty translations to es_es and hu_hu 2024-04-28 10:28:45 +02:00
dualshock-tools
5ed9b14616 Disable rare message for 0x74 and 0x93 2024-04-28 10:20:45 +02:00
dualshock-tools
ad38ee688c Update board detection 2024-04-27 14:50:27 +02:00
17 changed files with 1708 additions and 256 deletions

709
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 = {};
@@ -9,21 +12,27 @@ var lang_disabled = true;
var gj = 0;
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) {
return [...new Uint8Array(buffer)] .map(x => x.toString(16).padStart(2, '0')) .join('');
return [...new Uint8Array(buffer)].map(x => x.toString(16).padStart(2, '0')) .join('');
}
function dec2hex(i) {
@@ -48,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");
}
@@ -61,12 +72,14 @@ function ds4_hw_to_bm(hw_ver) {
return "JDM-011";
} else if(a == 0x54) {
return "JDM-030";
} else if(a == 0x64) {
} else if(a >= 0x64 && a <= 0x74) {
return "JDM-040";
} else if(a > 0x80 && a < 0x84) {
} else if((a > 0x80 && a < 0x84) || a == 0x93) {
return "JDM-020";
} else if(a == 0xa4) {
return "JDM-050";
} else if(a == 0xb0) {
return "JDM-055 (Scuf?)";
} else if(a == 0xb4) {
return "JDM-055";
} else {
@@ -78,16 +91,24 @@ function ds4_hw_to_bm(hw_ver) {
function is_rare(hw_ver) {
a = hw_ver >> 8;
return (a == 0x74 || a == 0x93 || a == 0xb0 || a == 0xa0);
b = a >> 4;
return ((b == 7 && a > 0x74) || (b == 9 && a != 0x93) || a == 0xa0);
}
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));
@@ -99,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();
@@ -134,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;
}
@@ -142,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) {
}
}
@@ -463,46 +481,59 @@ async function ds4_nvunlock() {
}
async function ds5_info() {
const view = lf("ds5_info", await device.receiveFeatureReport(0x20));
try {
const view = lf("ds5_info", await device.receiveFeatureReport(0x20));
var cmd = view.getUint8(0, true);
if(cmd != 0x20 || view.buffer.byteLength != 64)
var cmd = view.getUint8(0, true);
if(cmd != 0x20 || view.buffer.byteLength != 64)
return false;
var build_date = new TextDecoder().decode(view.buffer.slice(1, 1+11));
var build_time = new TextDecoder().decode(view.buffer.slice(12, 20));
var fwtype = view.getUint16(20, true);
var swseries = view.getUint16(22, true);
var hwinfo = view.getUint32(24, true);
var fwversion = view.getUint32(28, true);
var deviceinfo = new TextDecoder().decode(view.buffer.slice(32, 32+12));
var updversion = view.getUint16(44, true);
var unk = view.getUint16(46, true);
var fwversion1 = view.getUint32(50, true);
var fwversion2 = view.getUint32(54, true);
var fwversion3 = view.getUint32(58, true);
clear_info();
append_info(l("Build Date:"), build_date + " " + build_time);
append_info(l("Firmware Type:"), "0x" + dec2hex(fwtype));
append_info(l("SW Series:"), "0x" + dec2hex(swseries));
append_info(l("HW Info:"), "0x" + dec2hex32(hwinfo));
append_info(l("SW Version:"), "0x" + dec2hex32(fwversion));
append_info(l("UPD Version:"), "0x" + dec2hex(updversion));
append_info(l("FW Version1:"), "0x" + dec2hex32(fwversion1));
append_info(l("FW Version2:"), "0x" + dec2hex32(fwversion2));
append_info(l("FW Version3:"), "0x" + dec2hex32(fwversion3));
b_info = '&nbsp;<a class="link-body-emphasis" href="#" onclick="board_model_info()">' +
'<svg class="bi" width="1.3em" height="1.3em"><use xlink:href="#info"/></svg></a>';
append_info(l("Board Model:"), ds5_hw_to_bm(hwinfo) + b_info);
old_controller = build_date.search(/ 2020| 2021/);
if(old_controller != -1) {
la("ds5_info_error", {"r": "old"})
disable_btn |= 2;
return true;
}
await ds5_nvstatus();
await ds5_getbdaddr();
} catch(e) {
la("ds5_info_error", {"r": e})
show_popup(l("Cannot read controller information"));
return false;
var build_date = new TextDecoder().decode(view.buffer.slice(1, 1+11));
var build_time = new TextDecoder().decode(view.buffer.slice(12, 20));
var fwtype = view.getUint16(20, true);
var swseries = view.getUint16(22, true);
var hwinfo = view.getUint32(24, true);
var fwversion = view.getUint32(28, true);
var deviceinfo = new TextDecoder().decode(view.buffer.slice(32, 32+12));
var updversion = view.getUint16(44, true);
var unk = view.getUint16(46, true);
var fwversion1 = view.getUint32(50, true);
var fwversion2 = view.getUint32(54, true);
var fwversion3 = view.getUint32(58, true);
clear_info();
append_info(l("Build Date:"), build_date + " " + build_time);
append_info(l("Firmware Type:"), "0x" + dec2hex(fwtype));
append_info(l("SW Series:"), "0x" + dec2hex(swseries));
append_info(l("HW Info:"), "0x" + dec2hex32(hwinfo));
append_info(l("SW Version:"), "0x" + dec2hex32(fwversion));
append_info(l("UPD Version:"), "0x" + dec2hex(updversion));
append_info(l("FW Version1:"), "0x" + dec2hex32(fwversion1));
append_info(l("FW Version2:"), "0x" + dec2hex32(fwversion2));
append_info(l("FW Version3:"), "0x" + dec2hex32(fwversion3));
b_info = '&nbsp;<a class="link-body-emphasis" href="#" onclick="board_model_info()">' +
'<svg class="bi" width="1.3em" height="1.3em"><use xlink:href="#info"/></svg></a>';
append_info(l("Board Model:"), ds5_hw_to_bm(hwinfo) + b_info);
await ds5_nvstatus();
await ds5_getbdaddr();
}
return true;
}
@@ -760,11 +791,13 @@ async function disconnect() {
mode = 0;
device.close();
device = null;
disable_btn = false;
disable_btn = 0;
reset_circularity();
$("#offlinebar").show();
$("#onlinebar").hide();
$("#mainmenu").hide();
$("#d-nvstatus").text = l("Unknown");
$("#d-bdaddr").text = l("Unknown");
close_calibrate_window();
}
@@ -824,6 +857,8 @@ function gboot() {
window.addEventListener('DOMContentLoaded', function() {
lang_init();
welcome_modal();
$("#checkCircularity").on('change', on_circ_check_change);
on_circ_check_change();
});
if (!("hid" in navigator)) {
@@ -852,9 +887,499 @@ function alloc_req(id, data=[]) {
return out;
}
var last_lx = 0, last_ly = 0, last_rx = 0, last_ry = 0;
var ll_updated = false;
var ll_data=new Array(48);
var rr_data=new Array(48);
var enable_circ_test = false;
function reset_circularity() {
for(i=0;i<ll_data.length;i++) ll_data[i] = 0;
for(i=0;i<rr_data.length;i++) rr_data[i] = 0;
enable_circ_test = false;
ll_updated = false;
$("#checkCircularity").prop('checked', false);
refresh_stick_pos();
}
function refresh_stick_pos() {
var c = document.getElementById("stickCanvas");
var ctx = c.getContext("2d");
var sz = 60;
var hb = 20 + sz;
var yb = 15 + sz;
var w = c.width;
ctx.clearRect(0, 0, c.width, c.height);
ctx.lineWidth = 1;
ctx.fillStyle = '#ffffff';
ctx.strokeStyle = '#000000';
// Left circle
ctx.beginPath();
ctx.arc(hb, yb, sz, 0, 2 * Math.PI);
ctx.closePath();
ctx.fill();
ctx.stroke();
// Right circle
ctx.beginPath();
ctx.arc(w - hb, yb, sz, 0, 2 * Math.PI);
ctx.closePath();
ctx.fill();
ctx.stroke();
function cc_to_color(cc) {
var dd = Math.sqrt(Math.pow((1.0 - cc), 2));
if(cc <= 1.0)
hh = 220 - 220 * Math.min(1.0, Math.max(0, (dd - 0.05)) / 0.1);
else
hh = (245 + (360-245) * Math.min(1.0, Math.max(0, (dd - 0.05)) / 0.15)) % 360;
return hh;
}
if(enable_circ_test) {
var MAX_N = ll_data.length;
for(i=0;i<MAX_N;i++) {
var kd = ll_data[i];
var kd1 = ll_data[(i+1) % ll_data.length];
if (kd === undefined || kd1 === undefined) continue;
var ka = i * Math.PI * 2 / MAX_N;
var ka1 = ((i+1)%MAX_N) * 2 * Math.PI / MAX_N;
var kx = Math.cos(ka) * kd;
var ky = Math.sin(ka) * kd;
var kx1 = Math.cos(ka1) * kd1;
var ky1 = Math.sin(ka1) * kd1;
ctx.beginPath();
ctx.moveTo(hb, yb);
ctx.lineTo(hb+kx*sz, yb+ky*sz);
ctx.lineTo(hb+kx1*sz, yb+ky1*sz);
ctx.lineTo(hb, yb);
ctx.closePath();
var cc = (kd + kd1) / 2;
var hh = cc_to_color(cc);
ctx.fillStyle = 'hsla(' + parseInt(hh) + ', 100%, 50%, 0.5)';
ctx.fill();
}
for(i=0;i<MAX_N;i++) {
var kd = rr_data[i];
var kd1 = rr_data[(i+1) % rr_data.length];
if (kd === undefined || kd1 === undefined) continue;
var ka = i * Math.PI * 2 / MAX_N;
var ka1 = ((i+1)%MAX_N) * 2 * Math.PI / MAX_N;
var kx = Math.cos(ka) * kd;
var ky = Math.sin(ka) * kd;
var kx1 = Math.cos(ka1) * kd1;
var ky1 = Math.sin(ka1) * kd1;
ctx.beginPath();
ctx.moveTo(w-hb, yb);
ctx.lineTo(w-hb+kx*sz, yb+ky*sz);
ctx.lineTo(w-hb+kx1*sz, yb+ky1*sz);
ctx.lineTo(w-hb, yb);
ctx.closePath();
var cc = (kd + kd1) / 2;
var hh = cc_to_color(cc);
ctx.fillStyle = 'hsla(' + parseInt(hh) + ', 100%, 50%, 0.5)';
ctx.fill();
}
}
ctx.strokeStyle = '#aaaaaa';
ctx.beginPath();
ctx.moveTo(hb-sz, yb);
ctx.lineTo(hb+sz, yb);
ctx.closePath();
ctx.stroke();
ctx.beginPath();
ctx.moveTo(w-hb-sz, yb);
ctx.lineTo(w-hb+sz, yb);
ctx.closePath();
ctx.stroke();
ctx.beginPath();
ctx.moveTo(hb, yb-sz);
ctx.lineTo(hb, yb+sz);
ctx.closePath();
ctx.stroke();
ctx.beginPath();
ctx.moveTo(w-hb, yb-sz);
ctx.lineTo(w-hb, yb+sz);
ctx.closePath();
ctx.stroke();
var plx = last_lx;
var ply = last_ly;
var prx = last_rx;
var pry = last_ry;
if(enable_circ_test) {
var pld = Math.sqrt(plx*plx + ply*ply);
var pla = (parseInt(Math.round(Math.atan2(ply, plx) * MAX_N / 2.0 / Math.PI)) + MAX_N) % MAX_N;
var old = ll_data[pla];
if(old === undefined) old = 0;
ll_data[pla] = Math.max(old, pld);
var prd = Math.sqrt(prx*prx + pry*pry);
var pra = (parseInt(Math.round(Math.atan2(pry, prx) * MAX_N / 2.0 / Math.PI)) + MAX_N) % MAX_N;
var old = rr_data[pra];
if(old === undefined) old = 0;
rr_data[pra] = Math.max(old, prd);
}
ctx.fillStyle = '#000000';
ctx.strokeStyle = '#000000';
ctx.beginPath();
ctx.arc(hb+plx*sz,yb+ply*sz,4, 0, 2*Math.PI);
ctx.fill();
ctx.beginPath();
ctx.moveTo(hb, yb);
ctx.lineTo(hb+plx*sz, yb+ply*sz);
ctx.stroke();
ctx.beginPath();
ctx.arc(w-hb+prx*sz, yb+pry*sz,4, 0, 2*Math.PI);
ctx.fill();
ctx.beginPath();
ctx.moveTo(w-hb, yb);
ctx.lineTo(w-hb+prx*sz, yb+pry*sz);
ctx.stroke();
var lbl = "", lbx = "";
$("#lx-lbl").text(float_to_str(plx));
$("#ly-lbl").text(float_to_str(ply));
$("#rx-lbl").text(float_to_str(prx));
$("#ry-lbl").text(float_to_str(pry));
if(enable_circ_test) {
var ofl = 0, ofr = 0, lcounter = 0, rcounter = 0;
ofl = 0; ofr = 0;
for (i=0;i<ll_data.length;i++)
if(ll_data[i] > 0.2) {
lcounter += 1;
ofl += Math.pow(ll_data[i] - 1, 2);
}
for (i=0;i<rr_data.length;i++) {
if(ll_data[i] > 0.2) {
rcounter += 1;
ofr += Math.pow(rr_data[i] - 1, 2);
}
}
if(lcounter > 0)
ofl = Math.sqrt(ofl / lcounter) * 100;
if(rcounter > 0)
ofr = Math.sqrt(ofr / rcounter) * 100;
el = ofl.toFixed(2) + "%";
er = ofr.toFixed(2) + "%";
$("#el-lbl").text(el);
$("#er-lbl").text(er);
}
}
function circ_checked() { return $("#checkCircularity").is(':checked') }
function on_circ_check_change() {
enable_circ_test = circ_checked();
for(i=0;i<ll_data.length;i++) ll_data[i] = 0;
for(i=0;i<rr_data.length;i++) rr_data[i] = 0;
if(enable_circ_test) {
$("#circ-data").show();
} else {
$("#circ-data").hide();
}
refresh_stick_pos();
}
function float_to_str(f) {
if(f < 0.004 && f >= -0.004) return "+0.00";
return (f<0?"":"+") + f.toFixed(2);
}
var on_delay = false;
function timeout_ok() {
on_delay = false;
if(ll_updated)
refresh_stick_pos();
}
function refresh_sticks() {
if(on_delay)
return;
refresh_stick_pos();
on_delay = true;
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);
var rx = data.data.getUint8(2);
var ry = data.data.getUint8(3);
var new_lx = Math.round((lx - 127.5) / 128 * 100) / 100;
var new_ly = Math.round((ly - 127.5) / 128 * 100) / 100;
var new_rx = Math.round((rx - 127.5) / 128 * 100) / 100;
var new_ry = Math.round((ry - 127.5) / 128 * 100) / 100;
if(last_lx != new_lx || last_ly != new_ly || last_rx != new_rx || last_ry != new_ry) {
last_lx = new_lx;
last_ly = new_ly;
last_rx = new_rx;
last_ry = new_ry;
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);
var rx = data.data.getUint8(2);
var ry = data.data.getUint8(3);
var new_lx = Math.round((lx - 127.5) / 128 * 100) / 100;
var new_ly = Math.round((ly - 127.5) / 128 * 100) / 100;
var new_rx = Math.round((rx - 127.5) / 128 * 100) / 100;
var new_ry = Math.round((ry - 127.5) / 128 * 100) / 100;
if(last_lx != new_lx || last_ly != new_ly || last_rx != new_rx || last_ry != new_ry) {
last_lx = new_lx;
last_ly = new_ly;
last_rx = new_rx;
last_ry = new_ry;
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) {
try {
device.oninputreport = null;
var reportLen = report.data.byteLength;
var connected = false;
// Detect if the controller is connected via USB
if(reportLen != 63) {
$("#btnconnect").prop("disabled", false);
$("#connectspinner").hide();
disconnect();
show_popup(l("Please connect the device using a USB cable."))
return;
}
if(device.productId == 0x05c4) {
if(await ds4_info()) {
connected = true;
mode = 1;
devname = l("Sony DualShock 4 V1");
device.oninputreport = process_ds4_input;
}
} else if(device.productId == 0x09cc) {
if(await ds4_info()) {
connected = true;
mode = 1;
devname = l("Sony DualShock 4 V2");
device.oninputreport = process_ds4_input;
}
} else if(device.productId == 0x0ce6) {
if(await ds5_info()) {
connected = true;
mode = 2;
devname = l("Sony DualSense");
device.oninputreport = process_ds_input;
}
} else if(device.productId == 0x0df2) {
if(await ds5_info()) {
connected = true;
mode = 0;
devname = l("Sony DualSense Edge");
disable_btn |= 8;
}
} else {
$("#btnconnect").prop("disabled", false);
$("#connectspinner").hide();
show_popup(l("Connected invalid device: ") + dec2hex(device.vendorId) + ":" + dec2hex(device.productId))
disconnect();
return;
}
if(connected) {
$("#devname").text(devname + " (" + dec2hex(device.vendorId) + ":" + dec2hex(device.productId) + ")");
$("#offlinebar").hide();
$("#onlinebar").show();
$("#mainmenu").show();
$("#resetBtn").show();
$("#d-nvstatus").text = l("Unknown");
$("#d-bdaddr").text = l("Unknown");
} else {
show_popup(l("Connected invalid device: ") + l("Error 1"));
$("#btnconnect").prop("disabled", false);
$("#connectspinner").hide();
disconnect();
return;
}
if(disable_btn != 0)
update_disable_btn();
$("#btnconnect").prop("disabled", false);
$("#connectspinner").hide();
} catch(error) {
$("#btnconnect").prop("disabled", false);
$("#connectspinner").hide();
show_popup(l("Error: ") + error);
return;
}
}
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();
@@ -888,63 +1413,9 @@ async function connect() {
device = devices[0]
la("connect", {"p": device.productId, "v": device.vendorId});
var connected = false
if(device.productId == 0x05c4) {
if(await ds4_info()) {
connected = true
mode = 1;
devname = l("Sony DualShock 4 V1");
}
} else if(device.productId == 0x09cc) {
if(await ds4_info()) {
connected = true
mode = 1;
devname = l("Sony DualShock 4 V2");
}
} else if(device.productId == 0x0ce6) {
if(await ds5_info()) {
connected = true
mode = 2;
devname = l("Sony DualSense");
}
} else if(device.productId == 0x0df2) {
if(await ds5_info()) {
connected = true
mode = 0;
devname = l("Sony DualSense Edge");
disable_btn = true;
}
} else {
$("#btnconnect").prop("disabled", false);
$("#connectspinner").hide();
show_popup(l("Connected invalid device: ") + dec2hex(device.vendorId) + ":" + dec2hex(device.productId))
disconnect();
return;
}
if(connected) {
$("#devname").text(devname + " (" + dec2hex(device.vendorId) + ":" + dec2hex(device.productId) + ")");
$("#offlinebar").hide();
$("#onlinebar").show();
$("#mainmenu").show();
$("#resetBtn").show();
$("#d-nvstatus").text = l("Unknown");
$("#d-bdaddr").text = l("Unknown");
}
if(disable_btn) {
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);
$("#btnconnect").prop("disabled", false);
$("#connectspinner").hide();
device.oninputreport = continue_connection
} catch(error) {
$("#btnconnect").prop("disabled", false);
$("#connectspinner").hide();
@@ -1005,9 +1476,10 @@ async function multi_calib_sticks_begin(pc) {
async function multi_calib_sticks_end(pc) {
if(mode == 1)
return ds4_calibrate_sticks_end(pc);
await ds4_calibrate_sticks_end(pc);
else
return ds5_calibrate_sticks_end(pc);
await ds5_calibrate_sticks_end(pc);
on_circ_check_change();
}
async function multi_calib_sticks_sample() {
@@ -1038,9 +1510,10 @@ async function multi_calibrate_range(perm_ch) {
async function multi_calibrate_range_on_close() {
if(mode == 1)
ds4_calibrate_range_end(last_perm_ch);
await ds4_calibrate_range_end(last_perm_ch);
else
ds5_calibrate_range_end(last_perm_ch);
await ds5_calibrate_range_end(last_perm_ch);
on_circ_check_change();
}

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>
@@ -112,16 +124,67 @@
<br>
</div>
<div class="col-md-6 col-sm-12">
<div class="col-md-6 col-sm-12" style="min-width: 330px;">
<div class="vstack gap-2 p-2">
<button id="btnmcs2" type="button" class="btn btn-primary ds-btn ds-i18n" onclick="calib_open()">Calibrate stick center</button>
<div class="hstack gap-2">
<button type="button" class="btn btn-primary ds-btn ds-i18n" onclick="multi_calibrate_range(true)">Calibrate stick range (permanent)</button>
<button type="button" class="btn btn-primary ds-btn ds-i18n" onclick="multi_calibrate_range(false)">Calibrate stick range (temporary)</button>
<button type="button" class="ms-auto btn btn-primary ds-btn ds-i18n" onclick="multi_calibrate_range(false)">Calibrate stick range (temporary)</button>
</div>
<button type="button" class="btn btn-danger ds-btn ds-i18n" onclick="multi_reset()" id="resetBtn">Reset controller</button>
<div class="card text-bg-light" >
<div class="card-header ds-i18n">Joystick Info</div>
<div class="vstack px-2">
<center>
<canvas id="stickCanvas" width="300" height="150"></canvas>
</center>
</div>
<div class="px-2">
<div class="hstack">
<div class="vstack" style="text-align: center;">
<span>LX:</span>
<pre id="lx-lbl" style="min-width: 80px;"></pre>
</div>
<div class="vstack" style="text-align: center;">
<span>LY:</span>
<pre id="ly-lbl" style="min-width: 80px;"></pre>
</div>
<div class="vstack" style="text-align: center;">
<span>RX:</span>
<pre id="rx-lbl" style="min-width: 80px;"></pre>
</div>
<div class="vstack" style="text-align: center;">
<span>RY:</span>
<pre id="ry-lbl" style="min-width: 80px;"></pre>
</div>
</div>
</div>
<div class="px-2">
<center>
<input class="form-check-input" type="checkbox" value="" id="checkCircularity">
<label class="form-check-label ds-i18n" for="checkCircularity">Check circularity</label>
<div class="hstack" id="circ-data">
<div class="vstack" style="text-align: center;">
<span class="ds-i18n">Err R:</span>
<pre id="el-lbl" style="min-width: 80px;"></pre>
</div>
<div class="vstack" style="text-align: center;">
<span class="ds-i18n">Err L:</span>
<pre id="er-lbl" style="min-width: 80px;"></pre>
</div>
</div>
</center>
</div>
</div>
</div>
</div>
</div>
<div class="row">
@@ -457,11 +520,11 @@
<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> 0.9 (2024-04-25) - <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>
<li class="ms-3"><a class="link-body-emphasis" href="#" onclick="discord_popup()"><svg class="bi" width="24" height="24"><use xlink:href="#discord"/></svg></a></li>
<li class="ms-3"><a class="link-body-emphasis" href="https://discord.gg/w2P7Rrs2Yp" target="_blank"><svg class="bi" width="24" height="24"><use xlink:href="#discord"/></svg></a></li>
<li class="ms-3"><a class="link-body-emphasis" href="https://github.com/dualshock-tools/" target="_blank"><svg class="bi" width="24" height="24"><use xlink:href="#github"/></svg></a></li>
</ul>
</div>

View File

@@ -103,7 +103,6 @@
"Sampling...": "Проба...",
"Calibration in progress": "Калибрация в ход",
"Start": "Започни",
"Done": "Готово",
"Continue": "Продължи",
"You can check the calibration with the": "Можете да проверите калибрацията с",
"Have a nice day :)": "Приятен ден! :)",
@@ -155,12 +154,18 @@
"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!": ", за да помогнете на повече хора като вас!",
"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 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": "Проверка на кръговостта",
"": ""
}

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

@@ -103,7 +103,6 @@
"Sampling...": "Probenahme...",
"Calibration in progress": "Kalibrierung läuft",
"Start": "Start",
"Done": "Fertig",
"Continue": "Fortfahren",
"You can check the calibration with the": "Sie können die Kalibrierung mit dem",
"Have a nice day :)": "Einen schönen Tag noch! :)",
@@ -155,12 +154,18 @@
"Ship me a controller you would love to add (send me an email for organization).": "Schicken Sie mir einen Controller, den Sie gerne hinzufügen möchten (senden Sie mir eine E-Mail zur Organisation).",
"Translate this website in your language": "Übersetzen Sie diese Website in Ihre Sprache",
", to help more people like you!": ", um mehr Menschen wie Sie zu helfen!",
"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 website uses analytics to improve the service.": "Diese Website verwendet Analytics, um den Service zu verbessern.",
"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 lassen Sie mich wissen, wenn das Platinentyp Ihres Controllers nicht korrekt erkannt wird.",
"Board model detection thanks to": "Platinentyp-Erkennung dank",
"Please connect the device using a USB cable.": "Bitte verbinden Sie das Gerät mit einem USB-Kabel.",
"This DualSense controller has outdated firmware.": "Dieser DualSense-Controller hat eine veraltete Firmware.",
"Please update the firmware and try again.": "Bitte aktualisieren Sie die Firmware und versuchen Sie es erneut.",
"Joystick Info": "Joystick-Informationen",
"Err R:": "Fehler R:",
"Err L:": "Fehler L:",
"Check circularity": "Kreisförmigkeit prüfen",
"": ""
}

View File

@@ -103,7 +103,6 @@
"Sampling...": "Muestra...",
"Calibration in progress": "Calibración en proceso",
"Start": "Empezar",
"Done": "Listo",
"Continue": "Continuar",
"You can check the calibration with the": "Puedes verificar tu calibración con",
"Have a nice day :)": "Ten un buen dia! :)",
@@ -155,7 +154,18 @@
"Ship me a controller you would love to add (send me an email for organization).": "Enviame un mando que te gustaria añadir (envia el email para organizar).",
"Translate this website in your language": "Traduz esta web en tu idioma",
", to help more people like you!": ", para que ayude mas personas como tu!",
"This website uses analytics to improve the service.": "Este sitio web utiliza análisis para mejorar el servicio.",
"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",
"Please connect the device using a USB cable.": "Por favor, conecta el dispositivo usando un cable USB.",
"This DualSense controller has outdated firmware.": "Este controlador 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",
"Err R:": "Error D:",
"Err L:": "Error I:",
"Check circularity": "Comprobar circularidad",
"": ""
}

View File

@@ -48,8 +48,8 @@
"Please do not close this window and do not disconnect your controller. ": "Veuillez ne pas fermer cette fenêtre et ne déconnectez pas votre manette. ",
"Range calibration": "Calibrage de la portée du joystick",
"<b>;The controller is now sampling data!</b>;": "<b>;La manette est maintenant en train d'échantillonner les données !</b>;",
"Rotate the sticks slowly to cover the whole range. Press \"Done\" when completed.": "Faites tourner doucement les joysticks afin de couvrir toute leur portée. Appuyez sur \"Fait\" une fois terminé.",
"Done": "Fait",
"Rotate the sticks slowly to cover the whole range. Press \"Done\" when completed.": "Faites tourner doucement les joysticks afin de couvrir toute leur portée. Appuyez sur \"Terminer\" une fois terminé.",
"Done": "Terminer",
"Hi, thank you for using this software.": "Salut, merci d'avoir utilisé cet outil.",
"If you're finding it helpful and you want to support my efforts, feel free to": "Si vous le trouvez utile et que vous souhaitez soutenir mon travail, n'hésitez pas à",
"buy me a coffee": "m'offrir un café ",
@@ -103,7 +103,6 @@
"Sampling...": "Échantillonnage...",
"Calibration in progress": "Calibrage en cours",
"Start": "Démarrer",
"Done": "Terminer",
"Continue": "Continuer",
"You can check the calibration with the": "Vous pouvez vérifier le calibrage avec le:",
"Have a nice day :)": "Bonne journée :)",
@@ -115,52 +114,55 @@
"Before doing the permanent calibration, try the temporary one to ensure that everything is working well.": "Avant de procéder à un calibrage permanent, essayez de manière temporaire afin de vous assurer que tout fonctionne bien.",
"Understood": "Compris",
"Version": "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.": "",
"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.": "",
"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?": "",
"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.": "",
"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.": "",
"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.": "",
"If you want to extend this detection functionality to DualSense, please ship me a fake DualSense and you'll see it in few weeks.": "",
"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:": "",
"Implement calibration of L2/R2 triggers.": "",
"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.": "",
"Additionally, explore the possibility of reviving non-functioning DualShock controllers (further discussion available on Discord for interested parties).": "",
"The second list contains new controllers I aim to support:": "",
"DualSense Edge": "",
"DualShock 3": "",
"XBox Controllers": "",
"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.": "",
"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!": "",
"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": "",
"Frequently Asked Questions": "Foire Aux Questions",
"Close": "Fermer",
"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!": "Bienvenue dans la section FAQ ! Vous trouverez ci-dessous les réponses aux questions les plus fréquemment posées sur ce site. Si vous avez d'autres questions ou besoin d'aide, n'hésitez pas à me contacter directement. Vos commentaires et questions sont toujours les bienvenus !",
"How does it work?": "Comment ça fonctionne ?",
"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.": "En coulisses, ce site est le fruit d'une année d'efforts dédiés au rétro-engineering des manettes DualShock par un passionné anonyme sur Internet.",
"Through": "Grâce à",
"this research": "cette recherche",
", 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.": ", il a été découvert qu'il existe des commandes non documentées sur les manettes DualShock qui peuvent être envoyées via USB et utilisées lors du processus d'assemblage en usine. Si ces commandes sont envoyées, la manette commence la recalibration des sticks analogiques.",
"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.": "Bien que le but principal de cette recherche n'était pas initialement axé sur la recalibration, il est devenu évident qu'un service offrant cette capacité pourrait grandement bénéficier à de nombreuses personnes. Et nous y voilà.",
"Does the calibration remain effective during gameplay on PS4/PS5?": "La calibration reste-t-elle efficace pendant le jeu sur 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.": "Oui, si vous cochez la case \"Écrire les modifications de manière permanente dans la manette\". Dans ce cas, la calibration est directement enregistrée dans le firmware de la manette. Cela garantit qu'elle reste en place, quelle que soit la console à laquelle elle est connectée.",
"Is this an officially endorsed service?": "S'agit-il d'un service officiellement approuvé ?",
"No, this service is simply a creation by a DualShock enthusiast.": "Non, ce service est simplement une création d'un passionné de DualShock.",
"Does this website detects if a controller is a clone?": "Ce site détecte-t-il si une manette est un 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.": "Oui, uniquement la DualShock4 pour le moment. Cela est arrivé parce que j'ai accidentellement acheté des clones, j'ai passé du temps à identifier les différences et j'ai ajouté cette fonctionnalité pour éviter les futures déceptions.",
"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.": "Malheureusement, les clones ne peuvent pas être calibrés de toute façon, car ils ne copient que le comportement d'une DualShock4 pendant un jeu normal, pas toutes les fonctionnalités non documentées.",
"If you want to extend this detection functionality to DualSense, please ship me a fake DualSense and you'll see it in few weeks.": "Si vous souhaitez étendre cette fonctionnalité de détection à la DualSense, veuillez m'envoyer une fausse DualSense et vous la verrez dans quelques semaines.",
"What development is in plan?": "Quels développements sont prévus?",
"I maintain two separate to-do lists for this project, although the priority has yet to be established.": "Je maintiens deux listes de tâches séparées pour ce projet, bien que la priorité n'ait pas encore été établie.",
"The first list is about enhancing support for DualShock4 and DualSense controllers:": "La première liste concerne l'amélioration du support pour les manettes DualShock4 et DualSense :",
"Implement calibration of L2/R2 triggers.": "Mettre en œuvre la calibration des gâchettes L2/R2.",
"Improve detection of clones, particularly beneficial for those seeking to purchase used controllers with assurance of authenticity.": "Améliorer la détection des clones, particulièrement bénéfique pour ceux qui cherchent à acheter des manettes d'occasion avec une assurance d'authenticité.",
"Enhance user interface (e.g. provide additional controller information)": "Améliorer l'interface utilisateur (par exemple, fournir des informations supplémentaires sur la manette)",
"Add support for recalibrating IMUs.": "Ajouter le support pour recalibrer les IMU.",
"Additionally, explore the possibility of reviving non-functioning DualShock controllers (further discussion available on Discord for interested parties).": "De plus, explorer la possibilité de réanimer les manettes DualShock non fonctionnelles (discussion supplémentaire disponible sur Discord pour les parties intéressées).",
"The second list contains new controllers I aim to support:": "La deuxième liste contient les nouvelles manettes que je vise à supporter:",
"DualSense Edge": "DualSense Edge",
"DualShock 3": "DualShock 3",
"XBox Controllers": "Manettes 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.": "Chacune de ces tâches présente un immense intérêt et un investissement de temps significatif. Pour donner un contexte, supporter une nouvelle manette nécessite généralement 6 à 12 mois de recherche à plein temps, avec un peu de chance.",
"I love this service, it helped me! How can I contribute?": "J'adore ce service, il m'a aidé! Comment puis-je contribuer?",
"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:": "Je suis ravi d'apprendre que vous avez trouvé cela utile ! Si vous êtes intéressé à contribuer, voici quelques façons dont vous pouvez m'aider:",
"Consider making a": "Envisagez de faire un",
"donation": "don",
"to support my late-night caffeine-fueled reverse-engineering efforts.": "pour soutenir mes efforts de rétro-engineering alimentés par la caféine tard dans la nuit.",
"Ship me a controller you would love to add (send me an email for organization).": "Envoyez-moi une manette que vous aimeriez ajouter (envoyez-moi un e-mail pour l'organisation).",
"Translate this website in your language": "Traduisez ce site dans votre langue",
", to help more people like you!": ", pour aider plus de gens comme vous !",
"This website uses analytics to improve the service.": "Ce site utilise des analyses pour améliorer le service.",
"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 à",
"Please connect the device using a USB cable.": "Veuillez connecter l'appareil à l'aide d'un câble USB.",
"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",
"Err R:": "Err D:",
"Err L:": "Err G:",
"Check circularity": "Vérifier la circularité",
"": ""
}

View File

@@ -103,7 +103,6 @@
"Sampling...": "Mintavételezés...",
"Calibration in progress": "Kalibrálás folyamatban",
"Start": "Kezdés",
"Done": "Befejezés",
"Continue": "Folytatás",
"You can check the calibration with the": "Az újrakalibrálást ellenőrizheted az alábbi alkalmazással is:",
"Have a nice day :)": "További szép napot kívánunk! :)",
@@ -116,46 +115,57 @@
"Understood": "Megértettem és elfogadom",
"Version": "Verzió",
"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.": "",
"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.": "",
"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?": "",
"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.": "",
"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.": "",
"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.": "",
"If you want to extend this detection functionality to DualSense, please ship me a fake DualSense and you'll see it in few weeks.": "",
"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:": "",
"Implement calibration of L2/R2 triggers.": "",
"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.": "",
"Additionally, explore the possibility of reviving non-functioning DualShock controllers (further discussion available on Discord for interested parties).": "",
"The second list contains new controllers I aim to support:": "",
"DualSense Edge": "",
"DualShock 3": "",
"XBox Controllers": "",
"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.": "",
"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!": "",
"Frequently Asked Questions": "Gyakran Ismételt Kérdések",
"Close": "Bezár",
"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!": "Üdvözöllek a gyakran ismételt kérdések szekcióban! Az alábbiakban választ találsz a weboldallal kapcsolatban leggyakrabban feltett kérdésekre. Ha további kérdésed van, vagy további segítségre van szükséged, fordulj közvetlenül a szoftver készítőjéhez. Visszajelzésed és kérdéseid mindig szívesen fogadja!",
"How does it work?": "Hogyan működik ez a felület?",
"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.": "A színfalak mögött ez a weboldal több évnyi kutatás és erőfeszítés betetőzése a DualShock kontrollerek visszafejtése terén szórakozásból/hobbiból egy véletlenszerű sráctól az interneten.",
"Through": "A kutatás során",
"this research": "kiderült",
", 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.": ", hogy a DualShock kontrollereken vannak olyan nem dokumentált parancsok, amelyek USB-n keresztül küldhetők, és a gyártás során használatosak. Ha ezeket a parancsokat elküldjük, a kontroller elindítja az analóg karok újrakalibrálását.",
"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.": "Noha ennek a kutatásnak az elsődleges célja kezdetben nem az újrakalibrálásra irányult, nyilvánvalóvá vált, hogy egy ilyen lehetőség sokak számára hasznos lehet. És így, itt vagyunk.",
"Does the calibration remain effective during gameplay on PS4/PS5?": "A kalibráció maradandó és használható játék közben PS4/PS5 rendszeren?",
"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.": "Igen, ha bejelölöd a \"A változtatások végleges írása a kontrollerbe\" jelölőnégyzetet. Ebben az esetben a kalibrálás közvetlenül a kontroller firmware-ében jelenik meg. Ez biztosítja, hogy a helyén maradjon és aktív legyen, függetlenül attól, hogy melyik konzolhoz csatlakozik.",
"Is this an officially endorsed service?": "Ez egy hivatalosan jóváhagyott szolgáltatás?",
"No, this service is simply a creation by a DualShock enthusiast.": "Nem, ez a szolgáltatás egyszerűen egy DualShock kontroller rajongó által készített szolgáltatás.",
"Does this website detects if a controller is a clone?": "Ez a webhely érzékeli, hogy a csatlakoztatott kontroller klón?",
"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.": "Igen, jelenleg csak a DualShock 4 kontrollereken. Ez azért történt, mert a készítő véletlenül vásárolt néhány klónt, időt töltött a különbségek azonosításával, és hozzáadta ezt a funkciót, hogy megakadályozza a jövőbeni megtévesztést.",
"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.": "Sajnos a klónokat amúgy sem lehet kalibrálni, mert csak a DualShock 4 kontroller viselkedését klónozzák normál játék közben, nem az összes dokumentálatlan funkciót.",
"If you want to extend this detection functionality to DualSense, please ship me a fake DualSense and you'll see it in few weeks.": "Ha szeretnél segíteni ezt az észlelési funkciót kiterjeszteni a DualSense-re, küldj a fejlesztőnek egy hamis DualSense-t, és az alaklamzás néhány héten belül látni fogja.",
"What development is in plan?": "Milyen fejlesztés van tervben?",
"I maintain two separate to-do lists for this project, although the priority has yet to be established.": "A fejlesztő két külön listát vezet ehhez a projekthez, bár a prioritást még meg kell határozni.",
"The first list is about enhancing support for DualShock4 and DualSense controllers:": "Az első lista a DualShock 4 és DualSense kontrollerek támogatásának javításáról szól:",
"Implement calibration of L2/R2 triggers.": "Az L2/R2 ravaszok kalibrálásának lehetősége.",
"Improve detection of clones, particularly beneficial for those seeking to purchase used controllers with assurance of authenticity.": "A klón kontrollerek észlelésének javítása, különösen azok számára, akik megbízható, eredeti kontrollert szeretnének vásárolni.",
"Enhance user interface (e.g. provide additional controller information)": "A felhasználói felület fejlesztése (pl. további kontrollerinformációk megadása)",
"Add support for recalibrating IMUs.": "Az IMU-k újrakalibrálási lehetőségének hozzáadása.",
"Additionally, explore the possibility of reviving non-functioning DualShock controllers (further discussion available on Discord for interested parties).": "Ezenkívül a nem működő DualShock kontroller újjáélesztési lehetőségének vizsgálata (további megbeszélések elérhetők a Discord-on az érdeklődők számára).",
"The second list contains new controllers I aim to support:": "A második lista új kontrollereket tartalmaz, amelyeket a fejlesztő támogatni kíván:",
"DualSense Edge": "DualSense Edge",
"DualShock 3": "DualShock 3",
"XBox Controllers": "Xbox kontrollerek",
"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.": "Ezen feladatok mindegyike jelentős mennyiségű kutatást és időbefektetést jelent. A kontextus biztosítása érdekében egy új kontroller támogatása általában 6-12 hónapos teljes munkaidős kutatást igényel, egy csöpnyi szerencsével meghintve.",
"I love this service, it helped me! How can I contribute?": "Imádom ezt a szolgáltatást, segített! Hogyan tudok hozzájárulni?",
"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:": "Örülök, hogy ezt hasznosnak találtad! Ha érdekel a hozzájárulás, itt van néhány módszer, amellyel segíthetsz a fejlesztőnek:",
"Consider making a": "Fontold meg a",
"donation": "fejlesztő támogatását",
"to support my late-night caffeine-fueled reverse-engineering efforts.": ", hogy a hosszú éjszakákba nyúló koffeinbevitel biztosítva legyen a visszafejtési műveletek közben!",
"Ship me a controller you would love to add (send me an email for organization).": "Küldj a fejlesztőnek egy kontrollert, amelyet szívesen látnál a támogatott kontrollerek listájában (küldj e-mailt a fejlesztőnek).",
"Translate this website in your language": "Fordítsd le ezt a webhelyet a saját nyelvedre",
", to help more people like you!": ", hogy több hozzád hasonló embernek segítsen!",
"This website uses analytics to improve the service.": "Ez a weboldal analitikát használ a szolgáltatás javításához.",
"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:",
"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é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",
"": ""
}

View File

@@ -103,7 +103,6 @@
"Sampling...": "Campiono...",
"Calibration in progress": "Calibrazione in corso",
"Start": "Avvia",
"Done": "Fatto",
"Continue": "Continua",
"You can check the calibration with the": "Puoi controllare la calibrazione con il",
"Have a nice day :)": "Buona giornata! :)",
@@ -155,12 +154,18 @@
"Ship me a controller you would love to add (send me an email for organization).": "Spediscimi un controller che vorresti aggiungere (mandami un'email per l'organizzazione).",
"Translate this website in your language": "Traduci questo sito web nella tua lingua",
", to help more people like you!": ", per aiutare più persone come te!",
"This website uses analytics to improve the service.": "Questo sito web utilizza analytics per migliorare il servizio.",
"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",
"Please connect the device using a USB cable.": "Connetti il controller usando un cavo USB.",
"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",
"Err R:": "Err Dx:",
"Err L:": "Err Sx:",
"Check circularity": "Controlla circolarità",
"This website uses analytics to improve the service.": "Questo sito web utilizza analytics per migliorare il servizio.",
"": ""
}

View File

@@ -103,7 +103,6 @@
"Sampling...": "サンプリング...",
"Calibration in progress": "キャリブレーション進行中",
"Start": "開始",
"Done": "完了",
"Continue": "続行",
"You can check the calibration with the": "キャリブレーションは次で確認できます",
"Have a nice day :)": "良い1日を :)",
@@ -155,12 +154,19 @@
"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!": "、あなたのような多くの人々を助けるために!",
"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 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": "円形を確認",
"": ""
}

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": "원형 확인",
"": ""
}

173
lang/pl_pl.json Normal file
View File

@@ -0,0 +1,173 @@
{
".authorMsg": "Tłumaczenie na język polski wykonał - Marekk",
"DualShock Calibration GUI": "DualShock Calibration GUI",
"Unsupported browser. Please use a web browser with WebHID support (e.g. Chrome).": "Nie wspierana przeglądarka! Proszę użyć przeglądarki internetowej wpierającą WebHID (np. Chrome).",
"Connect a DualShock 4 or a DualSense controller to your computer and press Connect.": "Podłącz swój kontroler Dualshock 4, lub Dualsense do komputera, i wciśnij przycisk Połącz.",
"Connect": "Połącz",
"Connected to:": "Połączono z:",
"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 (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ń",
"NVS Status": "Status NVS",
"Unknown": "Nieznany",
"BD Addr": "Adres BD",
"Debug buttons": "Przyciski do debugowania",
"Query NVS status": "Zapytanie o status NVS",
"NVS unlock": "Odblokuj NVS",
"NVS lock": "Zablokuj NVS",
"Get BDAddr": "Zdobądź BDAddr",
"Fast calibrate stick center (OLD)": "Szybka kalibracja punktu drążków (stara wersja)",
"Stick center calibration": "Kalibracja centralna drążków",
"Welcome": "Witamy",
"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!": "Witamy w narzędziu kalibracyjnym centralnego punktu drążków!",
"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.": "To narzędzie pomoże Ci w ponownym wycentrowaniu drążków kontrolera. Składa się z czterech kroków: zostaniesz poproszony o przesunięcie obu drążków w określonych kierunkach, a następnie w ich puszczeniu.",
"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.": "Prosimy pamiętać, żeby po rozpoczęciu kalibracji nie anulować całej procedury. Nie zamykaj tej strony ani nie odłączaj kontrolera do czasu zakończenia.",
"Calibration storage": "Magazyn kalibracji",
"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.": "Domyślnie kalibracja zapisana jest jedynie w pamięci tymczasowej, więc w przypadku awarii (lub spowodowanej przez to narzędzie) wystarczy zresetować sterownik, aby ponownie zaczął działać.",
"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": "Zapisz zmiany na stałe w kontrolerze",
"<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>Uwaga: <font color=\"red\">Nie zapisuj trwale kalibracji, jeśli bateria kontrolera jest słaba lub została odłączona. W przeciwnym wypadku kontroler ulegnie całkowitemu uszkodzeniu.</font></small>",
"Press <b>Start</b> to begin calibration.": "Naciśnij <b>Start</b>, żeby rozpocząć kalibrację.",
"Please move both sticks to the <b>top-left corner</b> and release them.": "Proszę przesuń oba drążki maksymalnie do <b>Lewego górnego rogu</b> a następnie je puść.",
"When the sticks are back in the center, press <b>Continue</b>.": "Gdy drążki znajdą się z powrotem na środku, naciśnij <b>Kontynuuj</b>.",
"Please move both sticks to the <b>top-right corner</b> and release them.": "Proszę przesuń oba drążki maksymalnie do <b>Prawego górnego rogu</b> a następnie je puść.",
"Please move both sticks to the <b>bottom-left corner</b> and release them.": "Proszę przesuń oba drążki maksymalnie do <b>Lewego dolnego rogu</b> a następnie je puść.",
"Please move both sticks to the <b>bottom-right corner</b> and release them.": "Proszę przesuń oba drążki maksymalnie do <b>Prawego dolnego rogu</b> a następnie je puść.",
"Calibration completed successfully!": "Kalibracja została wykonana pomyślnie!",
"Next": "Dalej",
"Recentering the controller sticks. ": "Ponowne centrowanie drążków kontrolera. ",
"Please do not close this window and do not disconnect your controller. ": "Proszę nie zamykaj tego okna, ani nie odłączaj swojego kontrolera. ",
"Range calibration": "Kalibracja maksymalnego zasięgu drążków",
"<b>The controller is now sampling data!</b>": "<b>Kontroler zbiera teraz dane!</b>",
"Rotate the sticks slowly to cover the whole range. Press \"Done\" when completed.": "Obracaj powoli drążkami w ich maksymalnym możliwym zasięgu, a następnie je puść. Naciśnij \"Gotowe\", jeżeli skończyłeś.",
"Done": "Gotowe",
"Hi, thank you for using this software.": "Cześć, dzięki ci za użycie tego oprogramowania.",
"If you're finding it helpful and you want to support my efforts, feel free to": "Jeżeli uznałeś to narzędzie za pomocne, i chcesz wesprzeć mój wysiłek, nie krępuj się",
"buy me a coffee": "Kup mi kawę",
"! :)": "! :)",
"Do you have any suggestion or issue? Drop me a message via email or discord.": "Czy masz jakąś sugestię lub problem? Napisz do mnie wiadomość e-mailem lub na Discordzie.",
"Cheers!": "dzięki!",
"Support this project": "Wesprzyj projekt",
"unknown": "nieznany",
"original": "oryginał",
"clone": "klon",
"locked": "zablokowany",
"unlocked": "odblokowany",
"error": "błąd",
"Build Date:": "Data Produkcji:",
"HW Version:": "Wersja HW:",
"SW Version:": "Wersja SW:",
"Device Type:": "Rodzaj urządzenia:",
"Firmware Type:": "Rodzaj Firmware'u:",
"SW Series:": "Seria SW:",
"HW Info:": "Informacje o HW:",
"SW Version:": "Wersja SW:",
"UPD Version:": "Wersja UTD:",
"FW Version1:": "FW Wersja 1:",
"FW Version2:": "FW Wersja 2:",
"FW Version3:": "FW Wersja 3:",
"Range calibration completed": "Kalibracja maksymalnego zasięgu drążków została zakończona pomyślnie",
"Range calibration failed: ": "Kalibracja maksymalnego zasięgu drążków została nieuadana: ",
"Cannot unlock NVS": "Nie można odblokować NVS",
"Cannot relock NVS": "Nie można ponownie zablokować NVS",
"Error 1": "Błąd 1",
"Error 2": "Błąd 2",
"Error 3": "Błąd 3",
"Stick calibration failed: ": "Kalibracja drążków nie powiodła się: ",
"Stick calibration completed": "Kalibracja drążków powiodła się",
"NVS Lock failed: ": "Blokada NVS nie powiodła się: ",
"NVS Unlock failed: ": "Odblokowanie NVS nie powiodło się: ",
"Please connect only one controller at time.": "Proszę podłączyć tylko jeden kontoler.",
"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: ": "Podłączono nieznane urządzenie: ",
"Calibration of the DualSense Edge is not currently supported.": "Kalibracja kontrolera DualSense Edge nie jest obecnie jeszcze wspierana.",
"The device appears to be a DS4 clone. All functionalities are disabled.": "Wykryto urządzenie jako klon Dualshock 4. Wszystkie funkcje zostają wyłączone.",
"Error: ": "Błąd: ",
"My handle on discord is: the_al": "Mój Discord to: the_al",
"Initializing...": "Initializowanie...",
"Storing calibration...": "Zapisywanie kalibracji...",
"Sampling...": "Próbowanie...",
"Calibration in progress": "Kalibracja w toku",
"Start": "Start",
"Continue": "Kontynuuj",
"You can check the calibration with the": "Możesz sprawdzić kalibrację za pomocą",
"Have a nice day :)": "Życzę ci miłego dnia! :)",
"Welcome to the Calibration GUI": "Witamy w Calibration GUI",
"Just few things to know before you can start:": "O to kilka rzeczy o których musisz wiedzieć przed rozpoczęciem",
"This website is not affiliated with Sony, PlayStation &amp; co.": "Ta strona nie jest w żaden sposób spowiązana z Sony, PlayStation &amp; co.",
"This service is provided without warranty. Use at your own risk.": "Ta usługa nie świadczy, ani nie podlega żadnej gwarancji. Robisz to wszystko to na własne ryzyko.",
"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.": "Upewnij się przed procesem kalibracji, czy twoja bateria w kontrolerze jest dobrze naładowana. W przeciwnym razie gdy bateria się rozładuje, to wewnętrzny sterownik kontrolera może ulec całkowitemu uszkodzeniu",
"Before doing the permanent calibration, try the temporary one to ensure that everything is working well.": "Przed wykonaniem kalibracji stałej wypróbuj kalibrację tymczasową, aby upewnić się, że wszystko działa dobrze.",
"Understood": "Zrozumiano",
"Version": "Wersja",
"Frequently Asked Questions": "Często zadawane pytania",
"Close": "Zamknij",
"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!": "Witaj w sekcji FAQ! Poniżej znajdziesz odpowiedzi na niektóre z najczęściej zadawanych pytań dotyczących tej witryny. Jeśli masz inne pytania lub potrzebujesz dalszej pomocy, skontaktuj się ze mną bezpośrednio. Twoje opinie i pytania są zawsze mile widziane!",
"How does it work?": "Jak to działa?",
"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.": "Za kulisami ta witryna internetowa jest wynikiem całorocznych wysiłków związanych z inżynierią wsteczną kontrolerów DualShock dla zabawy/hobby jakiegoś przypadkowego faceta w Internecie.",
"Through": "Poprzez",
"this research": "badania",
", 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.": "odkryto, że w kontrolerach DualShock znajdują się pewne nieudokumentowane polecenia, które można wysyłać przez USB i wykorzystywać w procesie produkcyjnym. Po wysłaniu tych poleceń sterownik rozpoczyna ponowną kalibrację drążków.",
"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.": "Chociaż początkowo główny nacisk w tych badaniach nie skupiał się na ponownej kalibracji, stało się jasne, że usługa oferująca taką możliwość może przynieść ogromne korzyści wielu osobom. I tak oto jesteśmy.",
"Does the calibration remain effective during gameplay on PS4/PS5?": "Czy kalibracja pozostaje skuteczna podczas gry 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.": "Tak, jeśli zaznaczysz w checkbox \"Zapisz zmiany na stałe w kontrolerze\" W takim przypadku kalibracja zostanie wczytana bezpośrednio w oprogramowaniu sterownika. Dzięki temu pozostanie na swoim miejscu niezależnie od konsoli, do której jest podłączony.",
"Is this an officially endorsed service?": "Czy jest to oficjalnie zatwierdzona usługa?",
"No, this service is simply a creation by a DualShock enthusiast.": "Nie, ta usługa jest po prostu dziełem entuzjasty DualShock'a",
"Does this website detects if a controller is a clone?": "Czy ta witryna internetowa wykrywa, czy kontroler jest klonem?",
"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.": "Tak, obecnie tylko DualShock 4. Stało się tak, ponieważ przez przypadek kupiłem kilka klonów, spędziłem czas na identyfikowaniu różnic i dodałem tę funkcję, aby zapobiec przyszłym oszustwom.",
"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.": "Niestety klonów i tak nie da się skalibrować, ponieważ klonują jedynie zachowanie DualShocka 4 podczas normalnej rozgrywki, a nie wszystkie nieudokumentowane funkcje.",
"If you want to extend this detection functionality to DualSense, please ship me a fake DualSense and you'll see it in few weeks.": "Jeśli chcesz rozszerzyć tę funkcję wykrywania na DualSense, prześlij mi fałszywy DualSense, a zobaczysz go za kilka tygodni.",
"What development is in plan?": "Jakie masz dalsze plany na rozwój?",
"I maintain two separate to-do lists for this project, although the priority has yet to be established.": "Prowadzę dwie osobne listy rzeczy do zrobienia dla tego projektu, chociaż priorytet nie został jeszcze ustalony.",
"The first list is about enhancing support for DualShock4 and DualSense controllers:": "Pierwsza lista dotyczy ulepszenia obsługi kontrolerów DualShock 4 i DualSense:",
"Implement calibration of L2/R2 triggers.": "Implementacja funkcji kalibracji przycisków L2/R2.",
"Improve detection of clones, particularly beneficial for those seeking to purchase used controllers with assurance of authenticity.": "Usprawnienie do wykrywania klonów, co jest szczególnie korzystne dla osób chcących kupić używane kontrolery z gwarancją autentyczności.",
"Enhance user interface (e.g. provide additional controller information)": "Ulepszenie interfejsu użytkownika (np. dodatkowe informacje o kontrolerze)",
"Add support for recalibrating IMUs.": "Dodanie obsługi ponownej kalibracji IMU.",
"Additionally, explore the possibility of reviving non-functioning DualShock controllers (further discussion available on Discord for interested parties).": "Możliwość zbadania niedziałających kontrolerów DualShock w celu możliwości ich ożywienia (dalsza dyskusja dostępna na Discordzie dla zainteresowanych).",
"The second list contains new controllers I aim to support:": "Druga lista zawiera nowe kontrolery, które chcę wspierać:",
"DualSense Edge": "DualSense Edge",
"DualShock 3": "DualShock 3",
"XBox Controllers": "Kontroler 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żde z tych zadań oferuje zarówno ogromne zainteresowanie, jak i znaczną inwestycję czasową. Aby zapewnić pewien kontekst, obsługa nowego kontrolera zazwyczaj wymaga 612 miesięcy badań w pełnym wymiarze godzin i odrobiny szczęścia.",
"I love this service, it helped me! How can I contribute?": "Uwielbiam tę usługę, pomogła mi! Jak mogę się odwdzięczyć?",
"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:": "Miło mi słyszeć, że okazało się to pomocne! Jeśli jesteś zainteresowany wsparciem, oto kilka sposobów, w jakie możesz mi pomóc:",
"Consider making a": "Rozważ tworzenie ",
"donation": "Donacja",
"to support my late-night caffeine-fueled reverse-engineering efforts.": "aby wesprzeć moje nocne wysiłki w zakresie inżynierii wstecznej napędzane kofeiną.",
"Ship me a controller you would love to add (send me an email for organization).": "Wyślij mi kontroler, który chciałbyś dodać (wyślij mi e-mail do organizacji).",
"Translate this website in your language": "Przetłumacz tę stronę na swój język",
", to help more people like you!": ", aby pomóc większej ilości osób takich jak ty!",
"This website uses analytics to improve the service.": "Ta strona korzysta z analiz w celu ulepszenia usług.",
"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.": "Proszę daj mi znać jaki model płytki kontrolera nie został wykryty poprawnie",
"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.": "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ść",
"": ""
}

172
lang/pt_br.json Normal file
View File

@@ -0,0 +1,172 @@
{
".authorMsg": "- Tradução para o Português realizada por Padula, Diego A. :)",
"DualShock Calibration GUI": "GUI de Calibração DualShock",
"Unsupported browser. Please use a web browser with WebHID support (e.g. Chrome).": "Navegador não suportado. Por favor, use um navegador da web com suporte ao WebHID (por exemplo, Chrome).",
"Connect a DualShock 4 or a DualSense controller to your computer and press Connect.": "Conecte um controlador DualShock 4 ou DualSense ao seu computador e pressione Conectar.",
"Connect": "Conectar",
"Connected to:": "Conectado a:",
"Disconnect": "Desconectar",
"Firmware Info": "Informações do Firmware",
"Calibrate stick center": "Calibrar centro do Analog",
"Calibrate stick range (permanent)": "Calibrar o intervalo do Analog (permanente)",
"Calibrate stick range (temporary)": "Calibrar o intervalo do Analog (temporário)",
"Reset controller": "Redefinir controlador",
"Sections below are not useful, just some debug infos or manual commands": "As seções abaixo não são úteis, apenas algumas informações de depuração ou comandos manuais",
"NVS Status": "Status NVS",
"Unknown": "Desconhecido",
"BD Addr": "Endereço BD",
"Debug buttons": "Botões de depuração",
"Query NVS status": "Consultar status NVS",
"NVS unlock": "Desbloquear NVS",
"NVS lock": "Bloquear NVS",
"Get BDAddr": "Obter BDAddr",
"Fast calibrate stick center (OLD)": "Calibrar rapidamente o centro do Analog (Antigo)",
"Stick center calibration": "Calibração do centro do Analog",
"Welcome": "Bem-vindo",
"Step 1": "Passo 1",
"Step 2": "Passo 2",
"Step 3": "Passo 3",
"Step 4": "Passo 4",
"Completed": "Concluído",
"Welcome to the stick center-calibration wizard!": "Bem-vindo ao assistente de calibração do centro do Analog!",
"This tool will guide you in re-centering the analog sticks of your controller. It consists of four steps: you will be asked to move both sticks in a direction and release them.": "Esta ferramenta irá guiá-lo na recentragem dos sticks analógicos do seu controlador. Consiste em quatro etapas: será solicitado que mova ambos os sticks em uma direção e os solte.",
"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 it is completed.": "Esteja ciente de que, <i>uma vez que a calibração esteja em execução, ela não pode ser cancelada</i>. Não feche esta página ou desconecte seu controlador até que esteja concluído.",
"Calibration storage": "Calibração armazenada!",
"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.": "Por padrão, a calibração é armazenada apenas em um armazenamento volátil, para que, se você (ou esta ferramenta) bagunçar algo, uma redefinição do controlador seja suficiente para fazê-lo funcionar novamente.",
"If you wish to store the calibration permanently in the controller, tick the checkbox below:": "Se desejar armazenar a calibração permanentemente no controlador, marque a caixa de seleção abaixo:",
"Write changes permanently in the controller": "Gravar alterações permanentemente no controlador",
"<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>Aviso: <font color='red'>Não armazene a calibração permanentemente se a bateria do controlador estiver baixa ou desconectada. Isso danificará seu controlador.</font></small>",
"Press <b>Start</b> to begin calibration.": "Pressione <b>Iniciar</b> para iniciar a calibração.",
"Please move both sticks to the <b>top-left corner</b> and release them.": "Mova ambos os sticks para o <b>canto superior esquerdo</b> e solte-os.",
"When the sticks are back in the center, press <b>Continue</b>.": "Quando os sticks voltarem ao centro, pressione <b>Continuar</b>.",
"Please move both sticks to the <b>top-right corner</b> and release them.": "Mova ambos os sticks para o <b>canto superior direito</b> e solte-os.",
"Please move both sticks to the <b>bottom-left corner</b> and release them.": "Mova ambos os sticks para o <b>canto inferior esquerdo</b> e solte-os.",
"Please move both sticks to the <b>bottom-right corner</b> and release them.": "Mova ambos os sticks para o <b>canto inferior direito</b> e solte-os.",
"Calibration completed successfully!": "Calibração concluída com sucesso!",
"Next": "Próximo",
"Recentering the controller sticks. ": "Recentrando os sticks do controlador. ",
"Please do not close this window and do not disconnect your controller. ": "Por favor, não feche esta janela e não desconecte seu controlador. ",
"Range calibration": "Calibração do intervalo",
"<b>The controller is now sampling data!</b>": "<b>O controlador está agora a amostrar dados!</b>",
"Rotate the sticks slowly to cover the whole range. Press \"Done\" when completed.": "Gire os sticks lentamente para cobrir todo o intervalo. Pressione \"Concluído\" quando terminar.",
"Done": "Concluído",
"Hi, thank you for using this software.": "Olá, obrigado por usar este software.",
"If you're finding it helpful and you want to support my efforts, feel free to": "Se você achar útil e quiser apoiar meus esforços, sinta-se à vontade para",
"buy me a coffee": "me comprar um café",
"! :)": "! :)",
"Do you have any suggestion or issue? Drop me a message via email or discord.": "Tem alguma sugestão ou problema? Envie-me uma mensagem por e-mail ou discord.",
"Cheers!": "Saúde!",
"Support this project": "Apoie este projeto",
"unknown": "desconhecido",
"original": "original",
"clone": "clone",
"locked": "bloqueado",
"unlocked": "desbloqueado",
"error": "erro",
"Build Date:": "Data de Compilação:",
"HW Version:": "Versão HW:",
"SW Version:": "Versão SW:",
"Device Type:": "Tipo de Dispositivo:",
"Firmware Type:": "Tipo de Firmware:",
"SW Series:": "Série SW:",
"HW Info:": "Informações HW:",
"SW Version:": "Versão SW:",
"UPD Version:": "Versão UPD:",
"FW Version1:": "Versão FW1:",
"FW Version2:": "Versão FW2:",
"FW Version3:": "Versão FW3:",
"Range calibration completed": "Calibración de rango completada",
"Range calibration failed: ": "Calibración de rango fallida: ",
"Cannot unlock NVS": "No se puede desbloquear NVS",
"Cannot relock NVS": "No se puede bloquear NVS",
"Error 1": "Error 1",
"Error 2": "Error 2",
"Error 3": "Error 3",
"Stick calibration failed: ": "Calibración de stick fallida: ",
"Stick calibration completed": "Calibración de stick completada",
"NVS Lock failed: ": "Bloqueo de NVS fallido: ",
"NVS Unlock failed: ": "Desbloqueo de NVS fallido: ",
"Please connect only one controller at time.": "Por favor, conecta solo un controlador a la vez.",
"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: ": "Dispositivo conectado inválido: ",
"Calibration of the DualSense Edge is not currently supported.": "La calibración del DualSense Edge no está soportada actualmente.",
"The device appears to be a DS4 clone. All functionalities are disabled.": "El dispositivo parece ser un clon DS4. Todas las funcionalidades están deshabilitadas.",
"Error: ": "Error: ",
"My handle on discord is: the_al": "Mi nombre en discord es: the_al",
"Initializing...": "Inicializando...",
"Storing calibration...": "Guardando calibración...",
"Sampling...": "Muestreo...",
"Calibration in progress": "Calibración en progreso",
"Start": "Inicio",
"Continue": "Continuar",
"You can check the calibration with the": "Puedes verificar la calibración con",
"Have a nice day :)": "¡Que tengas un buen día! :)",
"Welcome to the Calibration GUI": "Bienvenido a la interfaz de calibración",
"Just few things to know before you can start:": "Solo algunas cosas para saber antes de comenzar:",
"This website is not affiliated with Sony, PlayStation &amp; co.": "Este sitio web no está afiliado con Sony, PlayStation &amp; co.",
"This service is provided without warranty. Use at your own risk.": "Este servicio se proporciona sin garantía. Úsalo bajo tu propio riesgo.",
"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.": "Mantén la batería interna del controlador conectada y asegúrate de que esté bien cargada. Si la batería se agota durante las operaciones, el controlador se dañará y quedará inutilizable.",
"Before doing the permanent calibration, try the temporary one to ensure that everything is working well.": "Antes de hacer la calibración permanente, prueba la temporal para asegurarte de que todo funcione bien.",
"Understood": "Entendido",
"Version": "Versión",
"Frequently Asked Questions": "Perguntas Frequentes",
"Close": "Fechar",
"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!": "Bem-vindo à seção de Perguntas Frequentes! Abaixo, você encontrará respostas para algumas das perguntas mais comuns sobre este site. Se tiver outras dúvidas ou precisar de mais assistência, sinta-se à vontade para entrar em contato diretamente comigo. Seus comentários e perguntas são sempre bem-vindos!",
"How does it work?": "Como funciona?",
"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.": "Nos bastidores, este site é o resultado de um ano de esforço dedicado à engenharia reversa dos controladores DualShock por diversão/hobby de um cara qualquer na internet.",
"Through": "Através",
"this research": "desta pesquisa",
", 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.": ", foi descoberto que existem alguns comandos não documentados nos controladores DualShock que podem ser enviados via USB e são usados durante o processo de montagem na fábrica. Se esses comandos forem enviados, o controlador inicia a recalibração dos sticks analógicos.",
"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.": "Embora o foco principal desta pesquisa não estivesse inicialmente centrado na recalibração, ficou evidente que um serviço oferecendo essa capacidade poderia beneficiar enormemente várias pessoas. E assim, aqui estamos.",
"Does the calibration remain effective during gameplay on PS4/PS5?": "A calibração permanece eficaz durante o jogo no 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.": "Sim, se você marcar a caixa de seleção \"Gravar mudanças permanentemente no controle\". Nesse caso, a calibração é gravada diretamente no firmware do controle. Isso garante que ela permaneça no lugar, independentemente do console ao qual está conectado.",
"Is this an officially endorsed service?": "Este é um serviço oficialmente endossado?",
"No, this service is simply a creation by a DualShock enthusiast.": "Não, este serviço é apenas uma criação de um entusiasta do DualShock.",
"Does this website detect if a controller is a clone?": "Este site detecta se um controle é um 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.": "Sim, apenas DualShock4 no momento. Isso aconteceu porque comprei alguns clones por acidente, passei tempo identificando as diferenças e adicionei essa funcionalidade para evitar futuras decepções.",
"Unfortunately, the clones cannot be calibrated anyway, because they only clone the behavior of a DualShock4 during normal gameplay, not all the undocumented functionalities.": "Infelizmente, os clones não podem ser calibrados de qualquer maneira, porque eles apenas clonam o comportamento de um DualShock4 durante o jogo normal, não todas as funcionalidades não documentadas.",
"If you want to extend this detection functionality to DualSense, please ship me a fake DualSense and you'll see it in few weeks.": "Se você quiser estender essa funcionalidade de detecção ao DualSense, por favor, me envie um DualSense falso e você verá isso em algumas semanas.",
"What development is in plan?": "Quais são os planos de desenvolvimento?",
"I maintain two separate to-do lists for this project, although the priority has yet to be established.": "Mantenho duas listas de tarefas separadas para este projeto, embora a prioridade ainda não tenha sido estabelecida.",
"The first list is about enhancing support for DualShock4 and DualSense controllers:": "A primeira lista é sobre aprimorar o suporte para os controladores DualShock4 e DualSense:",
"Implement calibration of L2/R2 triggers.": "Implementar a calibração dos gatilhos L2/R2.",
"Improve detection of clones, particularly beneficial for those seeking to purchase used controllers with assurance of authenticity.": "Melhorar a detecção de clones, especialmente benéfico para aqueles que buscam comprar controles usados com garantia de autenticidade.",
"Enhance user interface (e.g. provide additional controller information)": "Melhorar a interface do usuário (por exemplo, fornecer informações adicionais do controle)",
"Add support for recalibrating IMUs.": "Adicionar suporte para recalibrar IMUs.",
"Additionally, explore the possibility of reviving non-functioning DualShock controllers (further discussion available on Discord for interested parties).": "Além disso, explore a possibilidade de reviver controles DualShock que não estão funcionando (mais discussão disponível no Discord para partes interessadas).",
"The second list contains new controllers I aim to support:": "A segunda lista contém novos controles que pretendo dar suporte:",
"DualSense Edge": "DualSense Edge",
"DualShock 3": "DualShock 3",
"XBox Controllers": "Controles 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.": "Cada uma dessas tarefas apresenta um imenso interesse e um investimento significativo de tempo. Para contextualizar, dar suporte a um novo controle geralmente exige de 6 a 12 meses de pesquisa em tempo integral, além de um golpe de sorte.",
"I love this service, it helped me! How can I contribute?": "Adoro este serviço, ele me ajudou! Como posso contribuir?",
"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:": "Fico feliz em saber que você achou isso útil! Se você estiver interessado em contribuir, aqui estão algumas maneiras de me ajudar:",
"Consider making a": "Considere fazer uma ",
"donation": "doação",
"to support my late-night caffeine-fueled reverse-engineering efforts.": "para apoiar meus esforços de engenharia reversa impulsionados pela cafeína noturna.",
"Ship me a controller you would love to add (send me an email for organization).": "Envie-me um controle que você adoraria adicionar (envie-me um e-mail para organização).",
"Translate this website in your language": "Traduza este site para o seu idioma",
", to help more people like you!": ", para ajudar mais pessoas como você!",
"This website uses analytics to improve the service.": "Este site utiliza análises para melhorar o serviço.",
"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",
"Please connect the device using a USB cable.": "Por favor, conecte o dispositivo usando um cabo USB.",
"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",
"Err R:": "Erro D:",
"Err L:": "Erro E:",
"Check circularity": "Verificar circularidade",
"": ""
}

View File

@@ -103,7 +103,6 @@
"Sampling...": "Выборка...",
"Calibration in progress": "Калибровка в процессе",
"Start": "Старт",
"Done": "Готово",
"Continue": "Продолжить",
"You can check the calibration with the": "Вы можете проверить калибровку с помощью",
"Have a nice day :)": "Хорошего дня! :)",
@@ -155,12 +154,19 @@
"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!": ", чтобы помочь большему числу людей, подобных вам!",
"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 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

@@ -103,7 +103,6 @@
"Sampling...": "Örnekleme yapılıyor...",
"Calibration in progress": "Kalibrasyon devam ediyor",
"Start": "Başlat",
"Done": "Tamamlandı",
"Continue": "Devam",
"You can check the calibration with the": "Kalibrasyonu şununla kontrol edebilirsiniz:",
"Have a nice day :)": "İyi günler! :)",
@@ -155,12 +154,19 @@
"Ship me a controller you would love to add (send me an email for organization).": "Eklemek istediğiniz bir denetleyiciyi var ise bana gönderin (organizasyon için bana bir e-posta gönderin).",
"Translate this website in your language": "Bu web sitesini kendi dilinize çevirin",
", to help more people like you!": ", sizin gibi daha fazla insanın faydalanması için!",
"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 website uses analytics to improve the service.": "Bu web sitesi hizmeti iyileştirmek için analiz kullanıyor.",
"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",
"Please connect the device using a USB cable.": "Lütfen cihazı bir USB kablosu kullanarak bağlayın.",
"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",
"Err R:": "Hata D:",
"Err L:": "Hata S:",
"Check circularity": "Daireselliği kontrol et",
"": ""
}

View File

@@ -103,7 +103,6 @@
"Sampling...": "采样中...",
"Calibration in progress": "校准进行中",
"Start": "开始",
"Done": "完成",
"Continue": "继续",
"You can check the calibration with the": "您可以通过以下方式检查校准",
"Have a nice day :)": "祝您有美好的一天! :)",
@@ -155,12 +154,20 @@
"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": "主板型号检测功能需要感谢",
"This website uses analytics to improve the service.": "该网站使用分析工具来改善服务。",
"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": "檢查搖桿外圈圓度。",
"": ""
}