diff --git a/i18n/fa.json b/i18n/fa.json
new file mode 100644
index 00000000..9d89b83e
--- /dev/null
+++ b/i18n/fa.json
@@ -0,0 +1,235 @@
+{
+ "PrivateBin": "PrivateBin",
+ "%s is a minimalist, open source online pastebin where the server has zero knowledge of stored data. Data is encrypted/decrypted %sin the browser%s using 256 bits AES.": "%s یک سرویس اشتراک متن آنلاین، مینیمالیستی و متنباز است که سرور هیچ اطلاعی از دادههای ذخیره شده ندارد. دادهها %sدر مرورگر%s با استفاده از رمزنگاری AES 256 بیتی رمزگذاری/رمزگشایی میشوند.",
+ "More information on the project page.": "اطلاعات بیشتر در صفحهٔ پروژه.",
+ "Because ignorance is bliss": "چون نادانی مایهٔ خوشبختی است",
+ "Document does not exist, has expired or has been deleted.": "سند وجود ندارد، منقضی شده یا حذف شده است.",
+ "%s requires php %s or above to work. Sorry.": "%s برای کار کردن به php نسخهٔ %s یا بالاتر نیاز دارد. متأسفیم.",
+ "%s requires configuration section [%s] to be present in configuration file.": "%s نیاز دارد که بخش پیکربندی [%s] در فایل پیکربندی موجود باشد.",
+ "Please wait %d seconds between each post.": [
+ "لطفاً %d ثانیه بین هر ارسال صبر کنید.",
+ "لطفاً %d ثانیه بین هر ارسال صبر کنید.",
+ "لطفاً %d ثانیه بین هر ارسال صبر کنید.",
+ "لطفاً %d ثانیه بین هر ارسال صبر کنید.",
+ "لطفاً %d ثانیه بین هر ارسال صبر کنید.",
+ "لطفاً %d ثانیه بین هر ارسال صبر کنید."
+ ],
+ "Document is limited to %s of encrypted data.": "سند محدود به %s از دادههای رمزشده است.",
+ "Invalid data.": "داده نامعتبر است.",
+ "You are unlucky. Try again.": "شما شانس نیاوردید. دوباره تلاش کنید.",
+ "Error saving comment. Sorry.": "خطا در ذخیرهٔ نظر. متأسفیم.",
+ "Error saving document. Sorry.": "خطا در ذخیرهٔ سند. متأسفیم.",
+ "Invalid document ID.": "شناسهٔ سند نامعتبر است.",
+ "Document is not of burn-after-reading type.": "سند از نوع سوختپسازخواندن نیست.",
+ "Wrong deletion token. Document was not deleted.": "توکن حذف اشتباه است. سند حذف نشد.",
+ "Document was properly deleted.": "سند بهدرستی حذف شد.",
+ "JavaScript is required for %s to work. Sorry for the inconvenience.": "برای کار کردن %s به JavaScript نیاز است. بابت ناراحتی پوزش میطلبیم.",
+ "%s requires a modern browser to work.": "%s برای کار کردن به یک مرورگر مدرن نیاز دارد.",
+ "New": "جدید",
+ "Create": "ایجاد",
+ "Clone": "کپیبرداری",
+ "Raw text": "متن خام",
+ "Expires": "انقضا",
+ "Burn after reading": "سوخت پس از خواندن",
+ "Open discussion": "گفتگوی باز",
+ "Password (recommended)": "رمز عبور (توصیه میشود)",
+ "Discussion": "گفتگو",
+ "Toggle navigation": "تغییر وضعیت ناوبری",
+ "%d seconds": [
+ "%d ثانیه",
+ "%d ثانیه",
+ "%d ثانیه",
+ "%d ثانیه",
+ "%d ثانیه",
+ "%d ثانیه"
+ ],
+ "%d minutes": [
+ "%d دقیقه",
+ "%d دقیقه",
+ "%d دقیقه",
+ "%d دقیقه",
+ "%d دقیقه",
+ "%d دقیقه"
+ ],
+ "%d hours": [
+ "%d ساعت",
+ "%d ساعت",
+ "%d ساعت",
+ "%d ساعت",
+ "%d ساعت",
+ "%d ساعت"
+ ],
+ "%d days": [
+ "%d روز",
+ "%d روز",
+ "%d روز",
+ "%d روز",
+ "%d روز",
+ "%d روز"
+ ],
+ "%d weeks": [
+ "%d هفته",
+ "%d هفته",
+ "%d هفته",
+ "%d هفته",
+ "%d هفته",
+ "%d هفته"
+ ],
+ "%d months": [
+ "%d ماه",
+ "%d ماه",
+ "%d ماه",
+ "%d ماه",
+ "%d ماه",
+ "%d ماه"
+ ],
+ "%d years": [
+ "%d سال",
+ "%d سال",
+ "%d سال",
+ "%d سال",
+ "%d سال",
+ "%d سال"
+ ],
+ "Never": "هرگز",
+ "Note: This is a test service: Data may be deleted anytime. Kittens will die if you abuse this service.": "توجه: این یک سرویس آزمایشی است: دادهها ممکن است هر زمان حذف شوند. اگر از این سرویس سوءاستفاده کنید، بچهگربهها میمیرند.",
+ "This document will expire in %d seconds.": [
+ "این سند در %d ثانیه منقضی میشود.",
+ "این سند در %d ثانیه منقضی میشود.",
+ "این سند در %d ثانیه منقضی میشود.",
+ "این سند در %d ثانیه منقضی میشود.",
+ "این سند در %d ثانیه منقضی میشود.",
+ "این سند در %d ثانیه منقضی میشود."
+ ],
+ "This document will expire in %d minutes.": [
+ "این سند در %d دقیقه منقضی میشود.",
+ "این سند در %d دقیقه منقضی میشود.",
+ "این سند در %d دقیقه منقضی میشود.",
+ "این سند در %d دقیقه منقضی میشود.",
+ "این سند در %d دقیقه منقضی میشود.",
+ "این سند در %d دقیقه منقضی میشود."
+ ],
+ "This document will expire in %d hours.": [
+ "این سند در %d ساعت منقضی میشود.",
+ "این سند در %d ساعت منقضی میشود.",
+ "این سند در %d ساعت منقضی میشود.",
+ "این سند در %d ساعت منقضی میشود.",
+ "این سند در %d ساعت منقضی میشود.",
+ "این سند در %d ساعت منقضی میشود."
+ ],
+ "This document will expire in %d days.": [
+ "این سند در %d روز منقضی میشود.",
+ "این سند در %d روز منقضی میشود.",
+ "این سند در %d روز منقضی میشود.",
+ "این سند در %d روز منقضی میشود.",
+ "این سند در %d روز منقضی میشود.",
+ "این سند در %d روز منقضی میشود."
+ ],
+ "This document will expire in %d months.": [
+ "این سند در %d ماه منقضی میشود.",
+ "این سند در %d ماه منقضی میشود.",
+ "این سند در %d ماه منقضی میشود.",
+ "این سند در %d ماه منقضی میشود.",
+ "این سند در %d ماه منقضی میشود.",
+ "این سند در %d ماه منقضی میشود."
+ ],
+ "Please enter the password for this document:": "لطفاً رمز عبور این سند را وارد کنید:",
+ "Could not decrypt data (Wrong key?)": "رمزگشایی دادهها ممکن نیست (کلید اشتباه است؟)",
+ "Could not delete the document, it was not stored in burn after reading mode.": "حذف سند ممکن نیست، در حالت سوختپسازخواندن ذخیره نشده است.",
+ "FOR YOUR EYES ONLY. Don't close this window, this message can't be displayed again.": "فقط برای چشمان شما. این پنجره را نبندید، این پیام دوباره نمایش داده نمیشود.",
+ "Could not decrypt comment; Wrong key?": "رمزگشایی نظر ممکن نیست؛ کلید اشتباه است؟",
+ "Reply": "پاسخ",
+ "Anonymous": "ناشناس",
+ "Avatar generated from IP address": "آواتار از آدرس IP تولید شده است",
+ "Add comment": "افزودن نظر",
+ "Optional nickname…": "نام مستعار اختیاری…",
+ "Post comment": "ارسال نظر",
+ "Sending comment…": "در حال ارسال نظر…",
+ "Comment posted.": "نظر ارسال شد.",
+ "Could not refresh display: %s": "بهروزرسانی نمایش ممکن نیست: %s",
+ "unknown status": "وضعیت نامشخص",
+ "server error or not responding": "خطای سرور یا عدم پاسخدهی",
+ "Could not post comment: %s": "ارسال نظر ممکن نیست: %s",
+ "Sending document…": "در حال ارسال سند…",
+ "Your document is %s (Hit Ctrl+c to copy)": "سند شما %s است (برای کپیکردن Ctrl+c را فشار دهید)",
+ "Delete data": "حذف دادهها",
+ "Could not create document: %s": "ایجاد سند ممکن نیست: %s",
+ "Cannot decrypt document: Decryption key missing in URL (Did you use a redirector or an URL shortener which strips part of the URL?)": "رمزگشایی سند ممکن نیست: کلید رمزگشایی در URL موجود نیست (آیا از ریدایرکت یا کوتاهکنندهٔ URL استفاده کردهاید که بخشی از URL را حذف میکند؟)",
+ "B": "B",
+ "kB": "kB",
+ "MB": "MB",
+ "GB": "GB",
+ "TB": "TB",
+ "PB": "PB",
+ "EB": "EB",
+ "ZB": "ZB",
+ "YB": "YB",
+ "Format": "قالب",
+ "Plain Text": "متن ساده",
+ "Source Code": "کد منبع",
+ "Markdown": "Markdown",
+ "Download attachment": "دانلود پیوست",
+ "Cloned: '%s'": "کپیبرداری شد: '%s'",
+ "The cloned file '%s' was attached to this document.": "فایل کپی شده '%s' به این سند پیوست شد.",
+ "Attach a file": "پیوست فایل",
+ "alternatively drag & drop a file or paste an image from the clipboard": "یا یک فایل را بکشید و رها کنید یا یک تصویر از کلیپبورد بچسبانید",
+ "File too large, to display a preview. Please download the attachment.": "فایل برای نمایش پیشنمایش بیش از حد بزرگ است. لطفاً پیوست را دانلود کنید.",
+ "Remove attachment": "حذف پیوست",
+ "Your browser does not support uploading encrypted files. Please use a newer browser.": "مرورگر شما از بارگذاری فایلهای رمزشده پشتیبانی نمیکند. لطفاً از مرورگری جدیدتر استفاده کنید.",
+ "Invalid attachment.": "پیوست نامعتبر است.",
+ "Options": "گزینهها",
+ "Shorten URL": "کوتاهکردن URL",
+ "Editor": "ویرایشگر",
+ "Preview": "پیشنمایش",
+ "%s requires the PATH to end in a \"%s\". Please update the PATH in your index.php.": "%s نیاز دارد که PATH به \"%s\" ختم شود. لطفاً PATH را در فایل index.php خود بهروزرسانی کنید.",
+ "Decrypt": "رمزگشایی",
+ "Enter password": "رمز عبور را وارد کنید",
+ "Loading…": "در حال بارگذاری…",
+ "Decrypting document…": "در حال رمزگشایی سند…",
+ "Preparing new document…": "در حال آمادهسازی سند جدید…",
+ "In case this message never disappears please have a look at this FAQ for information to troubleshoot.": "در صورتی که این پیام هرگز ناپدید نشد، لطفاً به این سؤالات متداول برای رفع مشکل نگاهی بیندازید.",
+ "+++ no document text +++": "+++ متن سند وجود ندارد +++",
+ "Could not get document data: %s": "دریافت دادههای سند ممکن نیست: %s",
+ "QR code": "کد QR",
+ "This website is using an insecure HTTP connection! Please use it only for testing.": "این وبسایت از اتصال HTTP ناامن استفاده میکند! لطفاً فقط برای آزمایش از آن استفاده کنید.",
+ "For more information see this FAQ entry.": "برای اطلاعات بیشتر این مورد از سؤالات متداول را ببینید.",
+ "Your browser may require an HTTPS connection to support the WebCrypto API. Try switching to HTTPS.": "مرورگر شما ممکن است برای پشتیبانی از WebCrypto API به اتصال HTTPS نیاز داشته باشد. تغییر به HTTPS را امتحان کنید.",
+ "Your browser doesn't support WebAssembly, used for zlib compression. You can create uncompressed documents, but can't read compressed ones.": "مرورگر شما از WebAssembly که برای فشردهسازی zlib استفاده میشود، پشتیبانی نمیکند. میتوانید اسناد فشردهنشده ایجاد کنید، اما نمیتوانید اسناد فشردهشده را بخوانید.",
+ "waiting on user to provide a password": "در انتظار ارائهٔ رمز عبور توسط کاربر",
+ "Could not decrypt data. Did you enter a wrong password? Retry with the button at the top.": "رمزگشایی دادهها ممکن نیست. آیا رمز عبور اشتباهی وارد کردهاید؟ با دکمهٔ بالا دوباره تلاش کنید.",
+ "Retry": "تلاش مجدد",
+ "Showing raw text…": "نمایش متن خام…",
+ "Notice:": "توجه:",
+ "This link will expire after %s.": "این لینک پس از %s منقضی میشود.",
+ "This link can only be accessed once, do not use back or refresh button in your browser.": "این لینک فقط یک بار قابل دسترسی است، از دکمهٔ بازگشت یا بهروزرسانی در مرورگر خود استفاده نکنید.",
+ "Link:": "لینک:",
+ "Recipient may become aware of your timezone, convert time to UTC?": "گیرنده ممکن است از منطقهٔ زمانی شما آگاه شود، زمان به UTC تبدیل شود؟",
+ "Use Current Timezone": "استفاده از منطقهٔ زمانی فعلی",
+ "Convert To UTC": "تبدیل به UTC",
+ "Close": "بستن",
+ "Encrypted note on %s": "یادداشت رمزشده در %s",
+ "Visit this link to see the note. Giving the URL to anyone allows them to access the note, too.": "برای دیدن یادداشت از این لینک دیدن کنید. دادن URL به هر کسی به او اجازه میدهد که به یادداشت دسترسی داشته باشد.",
+ "URL shortener may expose your decrypt key in URL.": "کوتاهکنندهٔ URL ممکن است کلید رمزگشایی شما را در URL آشکار کند.",
+ "URL shortener is enabled by default.": "کوتاهکنندهٔ URL بهطور پیشفرض فعال است.",
+ "Save document": "ذخیرهٔ سند",
+ "Your IP is not authorized to create documents.": "IP شما برای ایجاد اسناد مجاز نیست.",
+ "Trying to shorten a URL that isn't pointing at our instance.": "تلاش برای کوتاهکردن URL ای که به نمونهٔ ما اشاره نمیکند.",
+ "Proxy error: Proxy URL is empty. This can be a configuration issue, like wrong or missing config keys.": "خطای پروکسی: URL پروکسی خالی است. این میتواند یک مشکل پیکربندی باشد، مثل کلیدهای پیکربندی اشتباه یا مفقود.",
+ "Proxy error: Error parsing proxy response. This can be a configuration issue, like wrong or missing config keys.": "خطای پروکسی: خطا در تجزیهٔ پاسخ پروکسی. این میتواند یک مشکل پیکربندی باشد، مثل کلیدهای پیکربندی اشتباه یا مفقود.",
+ "Proxy error: Bad response. This can be a configuration issue, like wrong or missing config keys or a temporary outage.": "خطای پروکسی: پاسخ نامعتبر. این میتواند یک مشکل پیکربندی باشد، مثل کلیدهای پیکربندی اشتباه یا مفقود یا قطعی موقت.",
+ "This secret message can only be displayed once. Would you like to see it now?": "این پیام محرمانه فقط یک بار قابل نمایش است. آیا میخواهید آن را اکنون ببینید؟",
+ "Yes, see it": "بله، نمایش بده",
+ "Dark Mode": "حالت تیره",
+ "Error compressing document, due to missing WebAssembly support.": "خطا در فشردهسازی سند، به دلیل نبود پشتیبانی WebAssembly.",
+ "Error decompressing document, your browser does not support WebAssembly. Please use another browser to view this document.": "خطا در رفع فشردهسازی سند، مرورگر شما از WebAssembly پشتیبانی نمیکند. لطفاً برای مشاهدهٔ این سند از مرورگر دیگری استفاده کنید.",
+ "Start over": "شروع دوباره",
+ "Document copied to clipboard": "سند در کلیپبورد کپی شد",
+ "To copy document press on the copy button or use the clipboard shortcut Ctrl+c/Cmd+c": "برای کپیکردن سند، دکمهٔ کپی را فشار دهید یا از میانبر کلیپبورد Ctrl+c/Cmd+c استفاده کنید",
+ "Copy link": "کپی لینک",
+ "Link copied to clipboard": "لینک در کلیپبورد کپی شد",
+ "Document text": "متن سند",
+ "Tabulator key serves as character (Hit Ctrl+m or Esc to toggle)": "کلید Tab بهعنوان کاراکتر عمل میکند (برای تغییر وضعیت Ctrl+m یا Esc را فشار دهید)",
+ "Show password": "نمایش رمز عبور",
+ "Hide password": "مخفیکردن رمز عبور",
+ "Theme": "تم"
+}
\ No newline at end of file
diff --git a/js/privatebin.js b/js/privatebin.js
index 1c2429c1..b2a62532 100644
--- a/js/privatebin.js
+++ b/js/privatebin.js
@@ -673,7 +673,7 @@ jQuery.PrivateBin = (function($) {
* @prop {string[]}
* @readonly
*/
- const supportedLanguages = ['ar', 'bg', 'ca', 'co', 'cs', 'de', 'el', 'es', 'et', 'fi', 'fr', 'he', 'hu', 'id', 'it', 'ja', 'jbo', 'lt', 'no', 'nl', 'pl', 'pt', 'oc', 'ro', 'ru', 'sk', 'sl', 'sv', 'th', 'tr', 'uk', 'zh'];
+ const supportedLanguages = ['ar', 'bg', 'ca', 'co', 'cs', 'de', 'el', 'es', 'et', 'fa', 'fi', 'fr', 'he', 'hu', 'id', 'it', 'ja', 'jbo', 'lt', 'no', 'nl', 'pl', 'pt', 'oc', 'ro', 'ru', 'sk', 'sl', 'sv', 'th', 'tr', 'uk', 'zh'];
/**
* built in language