diff --git a/js/translations.js b/js/translations.js
index fe0dc8a..07b8956 100644
--- a/js/translations.js
+++ b/js/translations.js
@@ -11,6 +11,7 @@ const available_langs = {
"de_de": { "name": "Deutsch", "file": "de_de.json", "direction": "ltr"},
"es_es": { "name": "Español", "file": "es_es.json", "direction": "ltr"},
"fr_fr": { "name": "Français", "file": "fr_fr.json", "direction": "ltr"},
+ "fa_fa": { "name": "فارسی", "file": "fa_fa.json", "direction": "rtl"},
"hu_hu": { "name": "Magyar", "file": "hu_hu.json", "direction": "ltr"},
"it_it": { "name": "Italiano", "file": "it_it.json", "direction": "ltr"},
"jp_jp": { "name": "日本語", "file": "jp_jp.json", "direction": "ltr"},
diff --git a/lang/fa_fa.json b/lang/fa_fa.json
new file mode 100644
index 0000000..42e50b2
--- /dev/null
+++ b/lang/fa_fa.json
@@ -0,0 +1,98 @@
+{
+ ".authorMsg": "ترجمه توسط آرش رسول زاده",
+ "DualShock Calibration GUI": "رابط کاربری کالیبراسیون DualShock",
+ "Unsupported browser. Please use a web browser with WebHID support (e.g. Chrome).": "مرورگر پشتیبانی نمیشود. لطفاً از مرورگری با پشتیبانی WebHID استفاده کنید (مثل Chrome).",
+ "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, once the calibration is running, it cannot be canceled. Do not close this page or disconnect your controller until is completed.": "لطفاً توجه داشته باشید، پس از شروع کالیبراسیون، نمیتوان آن را لغو کرد. تا پایان فرآیند، صفحه را نبندید و کنترلر را قطع نکنید.",
+ "Press Start to begin calibration.": "برای شروع کالیبراسیون روی شروع کلیک کنید.",
+ "Please move both sticks to the top-left corner and release them.": "لطفاً هر دو استیک را به بالا سمت چپ حرکت داده و رها کنید.",
+ "When the sticks are back in the center, press Continue.": "پس از بازگشت استیکها به مرکز، روی ادامه کلیک کنید.",
+ "Please move both sticks to the top-right corner and release them.": "لطفاً هر دو استیک را به بالا سمت راست حرکت داده و رها کنید.",
+ "Please move both sticks to the bottom-left corner and release them.": "لطفاً هر دو استیک را به پایین سمت چپ حرکت داده و رها کنید.",
+ "Please move both sticks to the bottom-right corner and release them.": "لطفاً هر دو استیک را به پایین سمت راست حرکت داده و رها کنید.",
+ "Calibration completed successfully!": "کالیبراسیون با موفقیت انجام شد!",
+ "Next": "بعدی",
+ "Recentering the controller sticks.": "بازتنظیم مرکز استیکهای کنترلر در حال انجام است.",
+ "Please do not close this window and do not disconnect your controller. ": "لطفاً این پنجره را نبندید و کنترلر را قطع نکنید.",
+ "Range calibration": "کالیبراسیون محدوده",
+ "The controller is now sampling data!": "کنترلر اکنون در حال نمونهبرداری از دادههاست!",
+ "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": "خطا ۱",
+ "Error 2": "خطا ۲",
+ "Error 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": "سونی DualShock 4 نسخه ۱",
+ "Sony DualShock 4 V2": "سونی DualShock 4 نسخه ۲",
+ "Sony DualSense": "سونی DualSense",
+ "Sony DualSense Edge": "سونی DualSense Edge",
+ "Connected invalid device: ": "دستگاه متصل نامعتبر است: ",
+ "The device appears to be a DS4 clone. All functionalities are disabled.": "به نظر میرسد این کنترلر یک کپی از DS4 است. تمام عملکردها غیرفعال هستند.",
+ "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": "به رابط کاربری کالیبراسیون خوش آمدید",
+ "Just few things to know before you can start:": "چند نکته قبل از شروع:",
+ "This website is not affiliated with 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": "بستن"
+}