Add support for RTL languages and ar_ar translation
This commit is contained in:
parent
7715215b9e
commit
aca3bc870b
61
core.js
61
core.js
@ -12,27 +12,29 @@ var has_changes_to_write = 0;
|
|||||||
var lang_orig_text = {};
|
var lang_orig_text = {};
|
||||||
var lang_cur = {};
|
var lang_cur = {};
|
||||||
var lang_disabled = true;
|
var lang_disabled = true;
|
||||||
|
var lang_cur_direction = "ltr";
|
||||||
var gj = 0;
|
var gj = 0;
|
||||||
var gu = 0;
|
var gu = 0;
|
||||||
|
|
||||||
// Alphabetical order
|
// Alphabetical order
|
||||||
var available_langs = {
|
var available_langs = {
|
||||||
"bg_bg": { "name": "Български", "file": "bg_bg.json"},
|
"ar_ar": { "name": "العربية", "file": "ar_ar.json", "direction": "rtl"},
|
||||||
"cz_cz": { "name": "Čeština", "file": "cz_cz.json"},
|
"bg_bg": { "name": "Български", "file": "bg_bg.json", "direction": "ltr"},
|
||||||
"de_de": { "name": "Deutsch", "file": "de_de.json"},
|
"cz_cz": { "name": "Čeština", "file": "cz_cz.json", "direction": "ltr"},
|
||||||
"es_es": { "name": "Español", "file": "es_es.json"},
|
"de_de": { "name": "Deutsch", "file": "de_de.json", "direction": "ltr"},
|
||||||
"fr_fr": { "name": "Français", "file": "fr_fr.json"},
|
"es_es": { "name": "Español", "file": "es_es.json", "direction": "ltr"},
|
||||||
"hu_hu": { "name": "Magyar", "file": "hu_hu.json"},
|
"fr_fr": { "name": "Français", "file": "fr_fr.json", "direction": "ltr"},
|
||||||
"it_it": { "name": "Italiano", "file": "it_it.json"},
|
"hu_hu": { "name": "Magyar", "file": "hu_hu.json", "direction": "ltr"},
|
||||||
"jp_jp": { "name": "日本語", "file": "jp_jp.json"},
|
"it_it": { "name": "Italiano", "file": "it_it.json", "direction": "ltr"},
|
||||||
"ko_kr": { "name": "한국어", "file": "ko_kr.json"},
|
"jp_jp": { "name": "日本語", "file": "jp_jp.json", "direction": "ltr"},
|
||||||
"nl_nl": { "name": "Nederlands", "file": "nl_nl.json"},
|
"ko_kr": { "name": "한국어", "file": "ko_kr.json", "direction": "ltr"},
|
||||||
"pl_pl": { "name": "Polski", "file": "pl_pl.json"},
|
"nl_nl": { "name": "Nederlands", "file": "nl_nl.json", "direction": "ltr"},
|
||||||
"pt_br": { "name": "Português do Brasil", "file": "pt_br.json"},
|
"pl_pl": { "name": "Polski", "file": "pl_pl.json", "direction": "ltr"},
|
||||||
"ru_ru": { "name": "Русский", "file": "ru_ru.json"},
|
"pt_br": { "name": "Português do Brasil", "file": "pt_br.json", "direction": "ltr"},
|
||||||
"tr_tr": { "name": "Türkçe", "file": "tr_tr.json"},
|
"ru_ru": { "name": "Русский", "file": "ru_ru.json", "direction": "ltr"},
|
||||||
"zh_cn": { "name": "中文", "file": "zh_cn.json"},
|
"tr_tr": { "name": "Türkçe", "file": "tr_tr.json", "direction": "ltr"},
|
||||||
"zh_tw": { "name": "中文(繁)", "file": "zh_tw.json"}
|
"zh_cn": { "name": "中文", "file": "zh_cn.json", "direction": "ltr"},
|
||||||
|
"zh_tw": { "name": "中文(繁)", "file": "zh_tw.json", "direction": "ltr"}
|
||||||
};
|
};
|
||||||
|
|
||||||
function buf2hex(buffer) {
|
function buf2hex(buffer) {
|
||||||
@ -1738,7 +1740,7 @@ function lang_init() {
|
|||||||
var ljson = available_langs[nlang];
|
var ljson = available_langs[nlang];
|
||||||
if(ljson !== undefined) {
|
if(ljson !== undefined) {
|
||||||
la("lang_init", {"l": nlang});
|
la("lang_init", {"l": nlang});
|
||||||
lang_translate(ljson["file"], nlang);
|
lang_translate(ljson["file"], nlang, ljson["direction"]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1761,7 +1763,8 @@ function lang_set(l, skip_modal=false) {
|
|||||||
lang_reset_page();
|
lang_reset_page();
|
||||||
} else {
|
} else {
|
||||||
var file = available_langs[l]["file"];
|
var file = available_langs[l]["file"];
|
||||||
lang_translate(file, l);
|
var direction = available_langs[l]["direction"];
|
||||||
|
lang_translate(file, l, direction);
|
||||||
}
|
}
|
||||||
|
|
||||||
createCookie("force_lang", l);
|
createCookie("force_lang", l);
|
||||||
@ -1772,6 +1775,7 @@ function lang_set(l, skip_modal=false) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function lang_reset_page() {
|
function lang_reset_page() {
|
||||||
|
lang_set_direction("ltr", "en_us");
|
||||||
var items = document.getElementsByClassName('ds-i18n');
|
var items = document.getElementsByClassName('ds-i18n');
|
||||||
for(i=0; i<items.length; i++) {
|
for(i=0; i<items.length; i++) {
|
||||||
var item = items[i];
|
var item = items[i];
|
||||||
@ -1782,6 +1786,24 @@ function lang_reset_page() {
|
|||||||
document.title = lang_orig_text[".title"];
|
document.title = lang_orig_text[".title"];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function lang_set_direction(new_direction, lang_name) {
|
||||||
|
var lang_prefix = lang_name.split("_")[0]
|
||||||
|
$("html").attr("lang", lang_prefix);
|
||||||
|
|
||||||
|
if(new_direction == lang_cur_direction)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if(new_direction == "rtl") {
|
||||||
|
$('#bootstrap-css').attr('integrity', 'sha384-dpuaG1suU0eT09tx5plTaGMLBsfDLzUCCUXOY2j/LSvXYuG6Bqs43ALlhIqAJVRb');
|
||||||
|
$('#bootstrap-css').attr('href', 'https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.rtl.min.css');
|
||||||
|
} else {
|
||||||
|
$('#bootstrap-css').attr('integrity', 'sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH');
|
||||||
|
$('#bootstrap-css').attr('href', 'https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css');
|
||||||
|
}
|
||||||
|
$("html").attr("dir", new_direction);
|
||||||
|
lang_cur_direction = new_direction;
|
||||||
|
}
|
||||||
|
|
||||||
function l(text) {
|
function l(text) {
|
||||||
if(lang_disabled)
|
if(lang_disabled)
|
||||||
return text;
|
return text;
|
||||||
@ -1795,9 +1817,10 @@ function l(text) {
|
|||||||
return text;
|
return text;
|
||||||
}
|
}
|
||||||
|
|
||||||
function lang_translate(target_file, target_lang) {
|
function lang_translate(target_file, target_lang, target_direction) {
|
||||||
lang_cur = {}
|
lang_cur = {}
|
||||||
$.getJSON("lang/" + target_file, function(data) {
|
$.getJSON("lang/" + target_file, function(data) {
|
||||||
|
lang_set_direction(target_direction, target_lang);
|
||||||
$.each( data, function( key, val ) {
|
$.each( data, function( key, val ) {
|
||||||
if(lang_cur[key] !== undefined) {
|
if(lang_cur[key] !== undefined) {
|
||||||
console.log("Warn: already exists " + key);
|
console.log("Warn: already exists " + key);
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<title>DualShock Calibration GUI</title>
|
<title>DualShock Calibration GUI</title>
|
||||||
|
|
||||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css"
|
<link id="bootstrap-css" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css"
|
||||||
rel="stylesheet"
|
rel="stylesheet"
|
||||||
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH"
|
integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH"
|
||||||
crossorigin="anonymous">
|
crossorigin="anonymous">
|
||||||
@ -20,6 +20,7 @@
|
|||||||
integrity="sha384-h/hnnw1Bi4nbpD6kE7nYfCXzovi622sY5WBxww8ARKwpdLj5kUWjRuyiXaD1U2JT"
|
integrity="sha384-h/hnnw1Bi4nbpD6kE7nYfCXzovi622sY5WBxww8ARKwpdLj5kUWjRuyiXaD1U2JT"
|
||||||
crossorigin="anonymous">
|
crossorigin="anonymous">
|
||||||
|
|
||||||
|
|
||||||
<script src="https://code.jquery.com/jquery-3.7.1.min.js"
|
<script src="https://code.jquery.com/jquery-3.7.1.min.js"
|
||||||
integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo="
|
integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo="
|
||||||
crossorigin="anonymous"></script>
|
crossorigin="anonymous"></script>
|
||||||
@ -606,7 +607,7 @@ dl.row dd { font-family: monospace; }
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
<footer>
|
<footer>
|
||||||
<div class="d-flex flex-column flex-sm-row justify-content-between py-4 my-4 border-top" id="footbody">
|
<div class="d-flex flex-column flex-sm-row justify-content-between py-4 my-4 border-top" id="footbody">
|
||||||
<p><a target="_blank" href="https://github.com/dualshock-tools/dualshock-tools.github.io/commits/main/"><span class="ds-i18n">Version</span> 1.7</a> (2024-10-18) - <a href="#" class="ds-i18n" onclick="show_donate_modal();">Support this project</a> <span id="authorMsg"></span></p>
|
<p><a target="_blank" href="https://github.com/dualshock-tools/dualshock-tools.github.io/commits/main/"><span class="ds-i18n">Version</span> 1.8</a> (2024-11-17) - <a href="#" class="ds-i18n" onclick="show_donate_modal();">Support this project</a> <span id="authorMsg"></span></p>
|
||||||
|
|
||||||
<ul class="list-unstyled d-flex">
|
<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="mailto:ds4@the.al" target="_blank"><svg class="bi" width="24" height="24"><use xlink:href="#mail"/></svg></a></li>
|
||||||
|
192
lang/ar_ar.json
Normal file
192
lang/ar_ar.json
Normal file
@ -0,0 +1,192 @@
|
|||||||
|
{
|
||||||
|
".authorMsg": "الترجمة من طرف سجاد رحيم Sajjad Rahim",
|
||||||
|
"DualShock Calibration GUI": "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": "قطع الاتصال",
|
||||||
|
"Calibrate stick center": "معايرة تمركز العصا",
|
||||||
|
"Calibrate stick range": "معايرة مدى العصا",
|
||||||
|
"Reset controller": "إعادة ضبط يد التحكم",
|
||||||
|
"Sections below are not useful, just some debug infos or manual commands": "الأقسام أدناه ليست مفيدة، فقط بعض معلومات التصحيح أو أوامر يدوية",
|
||||||
|
"NVS Status": "حالة الـNVS",
|
||||||
|
"Unknown": "غير معلوم",
|
||||||
|
"Debug buttons": "أزرار تصحيح الأخطاء",
|
||||||
|
"Query NVS status": "حالة إستعلام NVS",
|
||||||
|
"NVS unlock": "فتح قفل الـNVS",
|
||||||
|
"NVS lock": "قفل الـNVS",
|
||||||
|
"Fast calibrate stick center (OLD)": "معايرة سريعة لتمركز العصا (الطريقة القديمة)",
|
||||||
|
"Stick center calibration": "معايرة تمركز العصا",
|
||||||
|
"Welcome": "مرحبًا",
|
||||||
|
"Step 1": "الخطوة الأولى",
|
||||||
|
"Step 2": "الخطوة الثانية",
|
||||||
|
"Step 3": "الخطوة الثالثة",
|
||||||
|
"Step 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>. لا تغلق هذه الصفحة أو تقطع اتصال يد التحكم حتى الاكتمال.",
|
||||||
|
"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": "نوع الجهاز",
|
||||||
|
"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 الإصدار الأول",
|
||||||
|
"Sony DualShock 4 V2": "Sony DualShock 4 الإصدار الثاني",
|
||||||
|
"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.": "يبدو أن يد التحكم هذه مقلدة. عطلت جميع الوظائف.",
|
||||||
|
"Error: ": "خطأ،",
|
||||||
|
"My handle on discord is: the_al": "معرفي على ديسكورد هو، 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": "مرحباً بك في Calibration GUI",
|
||||||
|
"Just few things to know before you can start:": "بعض الأشياء التي يجب أن تعرفها قبل أن تبدأ",
|
||||||
|
"This website is not affiliated with Sony, PlayStation & co.": "هذا الموقع غير مرتبط بـ Sony، PlayStation & 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.": "خلف الكواليس،هذا الموقع جاء بفضل بسنة من الجهد المتفاني في هندسة العكسية ليد تحكم 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.": "لا، هذه الخدمة ببساطة تعبر عن شغفي وحماسي ليد التحكم.",
|
||||||
|
"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.": "إضافة دعم لإعادة معايرة IMUs.",
|
||||||
|
"Additionally, explore the possibility of reviving non-functioning DualShock controllers (further discussion available on Discord for interested parties).": "وإضافة إلى ذلك، استكشاف إمكانية تصليح يد تحكم DualShock التي لا تعمل (يوجد ناقشات بشأن لك على الديسكورد للأطراف المهتمة).",
|
||||||
|
"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": "التحقق من الدوران",
|
||||||
|
"Can I reset a permanent calibration to previous calibration?": "هل يمكنني إعادة تعيين معايرة دائمة إلى المعايرة السابقة؟",
|
||||||
|
"No.": "لا.",
|
||||||
|
"Can you overwrite a permanent calibration?": "هل يمكنك استبدال معايرة دائمة؟",
|
||||||
|
"Yes. Simply do another permanent calibration.": "نعم. ببساطة قم بمعايرة دائمة أخرى.",
|
||||||
|
"Does this software resolve stickdrift?": "هل هذا البرنامج يحلّ انحراف العصا؟",
|
||||||
|
"Stickdrift is caused by a physical defect; namely dirt, worn potentiometer or in some cases a worn spring.": "انحراف العصا خلل مادي، مثل الأتربة أو تلف في المقاومة المتغيرة أو في بعض الحالات تلف في النابض.",
|
||||||
|
"This software will not fix stick drift on its own if you already experience that. What it will help with, is ensuring the new joystick(s) will function properly after replacing the old one(s) to work well with.": "هذا البرنامَج لن يصلح انحراف العصا بنفسه إذا كنت قد واجهت خلل مقدّمًا. سيساعد على ضمان أن تعمل عصا التحكم الجديدة بشكل سليم بعد استبدال العصا القديمة للعمل بشكل جيد.",
|
||||||
|
"I have noticed some controllers out of the box have worse factory calibration than if I would recalibrate them. Especially true for circularity of SCUF controllers with a unique shell.": "لاحظت أن بعض ايدي التحكم لديها معايرة مصنع أسوأ مما لو قمت بإعادة معايرتهم. وينطبق ذلك بصفة خاصة على الدوران في ايدي التحكم المقدمة من SCUF ذو الغطاء المميز.",
|
||||||
|
"(Dualsense) Will updating the firmware reset calibration?": "(Dualsense) هل تحديث البرمجيات يسبب إعادة ضبط المعايرة؟",
|
||||||
|
"After range calibration, joysticks always go in corners.": "بعد معايرة المدى, العصا دائما ستتحرك في الزوايا.",
|
||||||
|
"This issue happens because you have clicked \"Done\" immediately after starting a range calibration.": "تحدث هذه المشكلة لأنك قمت بالنقر على \"تم\" مباشرة بعد بدء معايرة النطاق.",
|
||||||
|
"Please read the instructions.": "يُرجى قراءة التعليمات.",
|
||||||
|
"You have to rotate the joysticks before you press \"Done\".": "عليك تدوير عصا التحكم قبل أن تضغط على \"تم\".",
|
||||||
|
"Make sure to touch the edges of the joystick frame and rotate slowly, preferably in each direction - clockwise and anti-clockwise.": "تحقق من لمس حواف إطار عصا التحكم وتدويرها ببطء، ويفضل أن يكون ذلك في اتجاه عقارب الساعة وعلى عكس اتجاه عقرب الساعة.",
|
||||||
|
"Only after you have done that, you click on \"Done\".": "فقط بعد أن تقوم بذلك، انقر فوق \"تم\".",
|
||||||
|
"Changes saved successfully": "تم حفظ التغييرات بنجاح",
|
||||||
|
"Error while saving changes:": "حدث خطأ أثناء حفظ التغييرات:",
|
||||||
|
"Save changes permanently": "حفظ التغييرات بشكل دائم",
|
||||||
|
"Reboot controller": "إعادة تشغيل عصا التحكم",
|
||||||
|
"Controller Info": "معلومات عصا التحكم",
|
||||||
|
"Debug Info": "معلومات التصحيح",
|
||||||
|
"Software": "البرمجيات",
|
||||||
|
"Hardware": "العتاد",
|
||||||
|
"FW Build Date": "تاريخ إنشاء البرمجيات",
|
||||||
|
"FW Type": "نوع البرمجيات",
|
||||||
|
"FW Series": "سلسلة البرمجيات",
|
||||||
|
"FW Version": "إصدار البرمجيات",
|
||||||
|
"FW Update": "تحديث البرمجيات",
|
||||||
|
"FW Update Info": "معلومات تحديث البرمجيات",
|
||||||
|
"SBL FW Version": "إصدار برمجيات SPL",
|
||||||
|
"Venom FW Version": "إصدار برمجيات Venom ",
|
||||||
|
"Spider FW Version": "إصدار برمجيات Spider",
|
||||||
|
"Touchpad FW Version": "إصدار برمجيات الـTouchpad",
|
||||||
|
"Serial Number": "الرقم التسلسلي",
|
||||||
|
"MCU Unique ID": "معرف MCU",
|
||||||
|
"PCBA ID": "PCBA ID",
|
||||||
|
"Battery Barcode": "رمز البطارية الشريطي",
|
||||||
|
"VCM Left Barcode": "VCM Left Barcode",
|
||||||
|
"VCM Right Barcode": "VCM Right Barcode",
|
||||||
|
"HW Model": "نوع العتاد",
|
||||||
|
"Touchpad ID": "Touchpad ID",
|
||||||
|
"Bluetooth Address": "عنوان البلوتوث",
|
||||||
|
"Show all": "عرض الكل",
|
||||||
|
"": ""
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user