diff --git a/fa/chat.json b/fa/chat.json
new file mode 100644
index 0000000..57ffd62
--- /dev/null
+++ b/fa/chat.json
@@ -0,0 +1,229 @@
+{
+ "modelLoaderPlaceholder": "مدلی را برای بارگذاری انتخاب کنید",
+ "systemPromptPlaceholder": "تنظیم پرامپت سیستم",
+ "userRoleText": "کاربر",
+ "assistantRoleText": "دستیار",
+ "addMessageButtonText": "افزودن",
+ "addMessageButtonText/toolTip": "افزودن یک پیام به زمینه بدون فعال کردن پیشبینی",
+ "sendMessageButtonText": "ارسال",
+ "sendMessageButtonText/toolTip": "ارسال پیام و تاریخچه گفتگو به مدل برای پردازش",
+ "ejectButtonText": "خارج کردن",
+ "unloadTooltip": "خارج کردن مدل از حافظه",
+ "cancelButtonText": "لغو",
+ "loadButtonText": "بارگذاری",
+ "advancedSegmentText": "پیشرفته",
+ "chatSegmentText": "گفتگو",
+ "chatSidebarTitle": "گفتگوها",
+ "newChatButton": "گفتگوی جدید",
+ "newFolderButton": "پوشه جدید",
+ "viewModeLabel": "حالت نمایش",
+ "noChatSelected": "هیچ گفتگویی انتخاب نشده است",
+ "chatViewOptions": "گزینههای نمایش گفتگو",
+ "uiControls/title": "تنظیمات نمایش",
+ "noChatSelectedPlaceholder": "یک گفتگو را انتخاب کنید",
+ "unnamedChat": "گفتگوی بدون نام",
+ "emptyFolder": "پوشه خالی است",
+
+ "tokenCount": "تعداد توکنها",
+ "messageTokenCount": "تعداد توکنهای ورودی",
+ "tokenCount/hint": "تعداد توکنها در پیام. با استفاده از توکنایزر مدل انتخاب شده شمارش میشود.\n\nنیاز به بارگذاری مدل دارد.",
+ "messageTokenCount/hint": "تعداد توکنها در پیام. با استفاده از توکنایزر مدل انتخاب شده شمارش میشود.\n\nشامل تخمین توکنها در فایلهای پیوست نمیشود.",
+
+ "notes": "یادداشتهای گفتگو",
+ "notes/add/first": "افزودن یادداشت",
+ "notes/add/another": "افزودن یادداشت دیگر",
+ "notes/hint": "ذخیره یادداشتها برای این گفتگو. یادداشتها فقط برای مرجع شما هستند و به مدل ارسال نمیشوند. همه تغییرات به صورت خودکار ذخیره میشوند.",
+ "notes/placeholder": "یادداشتهای خود را اینجا تایپ کنید...",
+ "notes/delete": "حذف یادداشت",
+ "notes/noteLabel": "یادداشت",
+ "notes/copyContent": "کپی کردن محتوای یادداشت",
+
+ "actions/sendMessage/error": "ارسال پیام ناموفق بود",
+ "actions/loadModel/error": "🥲 بارگذاری مدل ناموفق بود",
+ "actions/addFile": "[آزمایشی] افزودن فایل به این پیام\n(.pdf، متن ساده، یا .docx)",
+ "actions/changeRole": "تغییر بین نقشهای کاربر و دستیار.\n\nاین برای هدایت گفتگو در یک جهت خاص مفید است.\n\nمیتواند برای سناریوهای 'یادگیری چند شات' یا 'یادگیری در زمینه' استفاده شود",
+ "actions/addImage": "افزودن تصویر",
+ "actions/deleteMessage": "حذف پیام",
+ "actions/deleteMessage/confirmation": "آیا مطمئن هستید که میخواهید این پیام را حذف کنید؟",
+ "actions/copyMessage": "کپی کردن پیام",
+ "actions/editMessage": "ویرایش پیام",
+ "actions/editMessage/cannotEditPreprocessed": "نمیتوان پیامهای پیشپردازش شده را ویرایش کرد زیرا پس از اجرای پیشپردازشگر بازنویسی میشوند. برای ویرایش پیام، یا: \n\n - به پیام اصلی بروید و آن را ویرایش کنید، یا\n - پیشپردازشگر را تغییر دهید تا خروجی مورد نظر را تولید کند.",
+ "actions/regenerateMessage": "بازتولید پیام",
+ "actions/regenerateMessage/error": "بازتولید پیام ناموفق بود",
+ "actions/branchChat": "شاخهگذاری گفتگو پس از این پیام",
+ "actions/branchChat/error": "شاخهگذاری گفتگو ناموفق بود",
+ "actions/continueAssistantMessage": "ادامه پیام دستیار",
+ "actions/continueAssistantMessage/error": "ادامه پیام دستیار ناموفق بود",
+ "actions/predictNext": "تولید پاسخ AI",
+ "actions/predictNext/error": "تولید پاسخ AI ناموفق بود",
+ "actions/loadLastModel": "بارگذاری آخرین مدل استفاده شده",
+ "actions/loadLastModel/tooltip": "برای بارگذاری مدلی که آخرین بار با این گفتگو استفاده شده است کلیک کنید:\n\n{{lastModel}}",
+ "actions/loadLastModel/error": "بارگذاری آخرین مدل استفاده شده ناموفق بود.",
+ "actions/continueCurrentModel": "استفاده از مدل فعلی",
+ "actions/continueCurrentModel/tooltip": "مدل فعلی: {{currentModel}}",
+ "actions/changeToLastUsedModel": "بارگذاری {{lastModel}}",
+ "actions/changeToLastUsedModel/error": "تغییر به آخرین مدل استفاده شده ناموفق بود.",
+ "actions/changeToLastUsedModel/tooltip": "آخرین بار که پیامی در این گفتگو ارسال کردید از مدل دیگری استفاده کردید. برای خارج کردن مدل انتخاب شده فعلی ({{currentModel}}) و بارگذاری مدلی که آخرین بار با این گفتگو استفاده شده است کلیک کنید:\n\n{{lastModel}}",
+ "actions/switchToLastUsedModel": "تغییر به {{lastModel}}",
+ "actions/switchToLastUsedModel/tooltip": "برای تغییر به مدلی که آخرین بار با این گفتگو استفاده شده است کلیک کنید:\n\n{{lastModel}}",
+ "actions/loadModel": "بارگذاری یک مدل",
+ "actions/toggleViewingProcessed/currentlyFalse": "در حال مشاهده پیام اصلی. برای مشاهده پیام پیشپردازش شده کلیک کنید.",
+ "actions/toggleViewingProcessed/currentlyTrue": "در حال مشاهده پیام پیشپردازش شده. برای مشاهده پیام اصلی کلیک کنید.",
+ "actions/toggleViewingProcessed/hint": "قبل از ارسال پیام به مدل، ممکن است توسط یک پیشپردازشگر پیام پیشپردازش شود. برای تغییر بین مشاهده پیام اصلی و پیام پیشپردازش شده کلیک کنید. فقط پیام پیشپردازش شده به مدل ارسال میشود.",
+ "editMessageConfirm/title": "تغییرات را نگه دارید؟",
+ "editMessageConfirm/message": "شما تغییراتی در یک پیام ایجاد کردهاید. آیا میخواهید آنها را نگه دارید؟",
+ "editMessageConfirm/keepEditing": "ادامه ویرایش",
+ "editMessageConfirm/save": "ذخیره",
+ "editMessageConfirm/discard": "لغو تغییرات",
+ "tokenCount/totalNotAvailable": "توکنها: {{current}}",
+ "tokenCount/totalAvailable": "توکنها: {{current}}/{{total}}",
+ "tokenCount/totalAvailablePercentage": "زمینه {{percentage}}% پر است",
+ "tokenCount/contextOverflow": "زمینه پردازش نشده بزرگتر از حداکثر محدودیت توکن مدل است. بسته به سیاست سرریز زمینه شما، زمینه ممکن است کوتاه شود یا پیام ارسال نشود.",
+ "modelLoader/manualLoadParams/label": "انتخاب دستی پارامترهای بارگذاری مدل",
+ "modelLoader/manualLoadParams/hint/before": "(یا نگه دارید ",
+ "modelLoader/manualLoadParams/hint/after": ")",
+
+ "actions/move/error": "انتقال ناموفق بود",
+ "actions/rename/error": "تغییر نام ناموفق بود",
+ "actions/createChatAtRoot": "گفتگوی جدید...",
+ "actions/createChatAtRoot/error": "ایجاد گفتگو در ریشه ناموفق بود",
+ "actions/createFolderAtRoot": "پوشه جدید...",
+ "actions/createFolderAtRoot/error": "ایجاد پوشه در ریشه ناموفق بود",
+ "actions/createChat/error": "ایجاد گفتگو ناموفق بود",
+ "actions/deleteChat/errorTitle": "حذف گفتگو ناموفق بود",
+
+ "userFile/fileSizeLimit": "حداکثر اندازه فایل ",
+ "userFile/noImageSupport": "مدل از ورودی تصویر پشتیبانی نمیکند",
+ "userFile/errorPrefix": "خطا - ",
+ "userFile/supportedImagePrefix": "نوع تصویر پشتیبانی نشده - فقط ",
+ "userFile/supportedImageSuffix": " پشتیبانی میشوند",
+ "userFile/unsupportedFileType": "نوع فایل پشتیبانی نشده - فقط تصاویر، PDFها و فایلهای .txt پشتیبانی میشوند.",
+ "userFile/maxFilesPerMessage": "حداکثر تعداد فایلها در هر پیام رسید. نمیتوان بیش از {{files}} فایل اضافه کرد.",
+ "userFile/maxFileSizePerMessage": "حداکثر اندازه فایل در هر پیام رسید. نمیتوان فایلهای بزرگتر از {{size}} اضافه کرد.",
+ "userFile/maxFileSizePerConversation": "حداکثر اندازه فایل در هر گفتگو رسید. نمیتوان فایلهای بزرگتر از {{size}} اضافه کرد.",
+ "userFile/failedToUploadError/title": "بارگذاری فایل ناموفق بود",
+ "userFile/failedToAddFile/title": "افزودن فایل به گفتگو ناموفق بود",
+ "errorTitle": "خطا",
+ "userFile/chatTerminalDocumentsCount_one": "{{count}} سند در گفتگو",
+ "userFile/chatTerminalDocumentsCount_other": "{{count}} سند در گفتگو",
+
+ "prediction/busyModel/title": "مدل مشغول است",
+ "prediction/busyModel/message": "لطفاً صبر کنید تا مدل تمام شود و دوباره تلاش کنید",
+ "prediction/noModel/title": "مدلی انتخاب نشده است",
+ "prediction/modelLoading": "پیام در صف است، پس از بارگذاری مدل ارسال خواهد شد",
+ "prediction/noModel/message": "مدلی را برای ارسال پیام انتخاب کنید",
+ "prediction/unloadModel/error": "خارج کردن مدل ناموفق بود",
+
+ "retrieval/user/processingLabel": "AI در حال فکر کردن است...",
+ "retrieval/powerUser/intermediateStepsHidden": "مراحل میانی پنهان شدهاند. برای گسترش کلیک کنید.",
+ "retrieval/actions/clickToExpand": "برای گسترش مراحل میانی کلیک کنید",
+ "retrieval/actions/clickToCollapse": "برای جمع کردن مراحل میانی کلیک کنید",
+
+ "style": "ظاهر",
+
+ "style/viewMode/markdown": "Markdown",
+ "style/viewMode/plaintext": "متن ساده",
+ "style/viewMode/monospace": "تک فاصله",
+
+ "speculativeDecodingVisualization/toggle": "بصریسازی توکنهای پیشنویس پذیرفته شده",
+ "speculativeDecodingVisualization/fromDraftModel_one": "توکن پیشنویس پذیرفته شده",
+ "speculativeDecodingVisualization/fromDraftModel_other": "توکنهای پیشنویس پذیرفته شده",
+ "speculativeDecodingVisualization/cannotChangeViewMode": "انتخاب حالت نمایش هنگام بصریسازی توکنهای پیشنویس غیرفعال است.",
+
+ "style/fontSize/label": "اندازه فونت",
+ "style/fontSize/medium": "پیشفرض",
+ "style/fontSize/large": "بزرگ",
+ "style/fontSize/small": "کوچک",
+
+ "style/debugBlocks/label": "نمایش بلوکهای اطلاعات اشکالزدایی",
+
+ "style/thinkingUI/label": "گسترش بلوکهای استدلال به صورت پیشفرض",
+ "style/chatFullWidth/label": "گسترش محفظه گفتگو به عرض پنجره",
+
+ "messageBlocks": {
+ "expandBlockTooltip": "گسترش محتوا",
+ "collapseBlockTooltip": "جمع کردن محتوا",
+ "debug": {
+ "label": "اطلاعات اشکالزدایی",
+ "collapseTooltip": "جمع کردن بلوک اطلاعات اشکالزدایی",
+ "expandTooltip": "گسترش بلوک اطلاعات اشکالزدایی"
+ }
+ },
+
+ "topBarActions/duplicateChat": "تکرار",
+ "topBarActions/clearChat": "پاک کردن همه",
+ "topBarActions/clearChatConfirmation": "آیا مطمئن هستید که میخواهید همه پیامها را در این گفتگو پاک کنید؟",
+ "topBarActions/clearChatCancel": "لغو",
+ "topBarActions/clearChatDelete": "پاک کردن همه",
+
+ "noModels.indexing": "فایلهای مدل در حال فهرستبندی هستند... (این ممکن است کمی طول بکشد)",
+ "noModels.downloading": "دانلود اولین LLM شما...",
+ "noModels": "هنوز LLMی وجود ندارد! یکی را دانلود کنید تا شروع کنید!",
+
+ "plugins": {
+ "pluginTrigger": {
+ "noPlugins": "افزونه",
+ "multiplePlugins": "{{dynamicValue}} افزونه"
+ },
+ "pluginSelect": {
+ "title": "افزونهها",
+ "dropdown": {
+ "configure": "پیکربندی",
+ "disable": "غیرفعال کردن",
+ "fork": "شاخهگذاری",
+ "uninstall": "حذف نصب"
+ },
+ "actionButtons": {
+ "create": "+ ایجاد",
+ "import": "وارد کردن",
+ "discover": "کشف"
+ },
+ "recentlyCreated": {
+ "title": "افزونههای اخیراً ایجاد شده",
+ "placeholder": "افزونههایی که ایجاد میکنید اینجا ظاهر میشوند"
+ },
+ "startRunningDevelopmentPlugin/error": "شروع اجرای افزونه در حالت توسعه ناموفق بود",
+ "stopRunningDevelopmentPlugin/error": "توقف اجرای افزونه در حالت توسعه ناموفق بود"
+ },
+ "pluginConfiguration": {
+ "title": "پیکربندی افزونه",
+ "selectAPlugin": "یک افزونه را برای ویرایش تنظیمات آن انتخاب کنید",
+ "preprocessorAndGenerator": "این افزونه شامل یک پیشپردازشگر و تولیدکننده سفارشی است",
+ "generatorOnly": "این افزونه شامل یک تولیدکننده سفارشی است",
+ "preprocessorOnly": "این افزونه شامل یک پیشپردازشگر سفارشی است"
+ },
+ "instructions": {
+ "runTheFollowing": "برای اجرای افزونه خود، یک ترمینال باز کنید و وارد کنید",
+ "pushTo": "افزونه خود را با دیگران به اشتراک بگذارید با ارسال به هاب (اختیاری)",
+ "createdSuccessfully": "افزونه با موفقیت ایجاد شد",
+ "creatingPlugin": "ایجاد افزونه...",
+ "projectFilesTitle": "فایلهای پروژه",
+ "buttons": {
+ "documentation": "مستندات",
+ "dismiss": "رد کردن",
+ "publish": "انتشار",
+ "openInZed": "باز کردن در Zed",
+ "openInVscode": "باز کردن در VS Code",
+ "revealInFinder": "نمایش در Finder",
+ "openInFileExplorer": "باز کردن در File Explorer"
+ }
+ }
+ },
+
+ "genInfo": {
+ "tokensPerSecond": "{{tokensPerSecond}} توکن/ثانیه",
+ "predictedTokensCount": "{{predictedTokensCount}} توکن",
+ "timeToFirstTokenSec": "{{timeToFirstTokenSec}} ثانیه تا اولین توکن",
+ "stopReason": "دلیل توقف: {{stopReason}}",
+ "stopReason.userStopped": "کاربر متوقف کرد",
+ "stopReason.modelUnloaded": "مدل خارج شد",
+ "stopReason.failed": "تولید ناموفق بود",
+ "stopReason.eosFound": "توکن EOS یافت شد",
+ "stopReason.stopStringFound": "رشته توقف یافت شد",
+ "stopReason.toolCalls": "تماسهای ابزار",
+ "stopReason.maxPredictedTokensReached": "حداکثر توکنهای پیشبینی شده رسید",
+ "stopReason.contextLengthReached": "حداکثر طول متن رسید",
+ "speculativeDecodedBy": "مدل پیشنویس: {{decodedBy}}",
+ "speculativeDecodingStats": "{{accepted}}/{{total}} توکنهای پیشنویس پذیرفته شده ({{percentage}}%)"
+ }
+}
diff --git a/fa/config.json b/fa/config.json
new file mode 100644
index 0000000..cd0aaaf
--- /dev/null
+++ b/fa/config.json
@@ -0,0 +1,530 @@
+{
+ "noInstanceSelected": "هیچ نمونهای از مدل انتخاب نشده است",
+ "resetToDefault": "بازنشانی",
+ "showAdvancedSettings": "نمایش تنظیمات پیشرفته",
+ "showAll": "همه",
+ "basicSettings": "پایهای",
+ "configSubtitle": "بارگذاری یا ذخیره تنظیمات و آزمایش تغییر پارامترهای مدل",
+ "inferenceParameters/title": "پارامترهای پیشبینی",
+ "inferenceParameters/info": "با پارامترهایی که بر پیشبینی تأثیر میگذارند، آزمایش کنید.",
+ "generalParameters/title": "عمومی",
+ "samplingParameters/title": "نمونهگیری",
+ "basicTab": "پایهای",
+ "advancedTab": "پیشرفته",
+ "advancedTab/title": "🧪 تنظیمات پیشرفته",
+ "advancedTab/expandAll": "باز کردن همه",
+ "advancedTab/overridesTitle": "جایگزینی تنظیمات",
+ "advancedTab/noConfigsText": "هیچ تغییری ذخیره نشده است - برای مشاهده تغییرات، مقادیر بالا را ویرایش کنید.",
+ "loadInstanceFirst": "برای مشاهده پارامترهای قابل تنظیم، یک مدل بارگذاری کنید",
+ "noListedConfigs": "هیچ پارامتر قابل تنظیمی وجود ندارد",
+ "generationParameters/info": "با پارامترهای پایهای که بر تولید متن تأثیر میگذارند، آزمایش کنید.",
+ "loadParameters/title": "بارگذاری پارامترها",
+ "loadParameters/description": "تنظیماتی برای کنترل نحوهی راهاندازی و بارگذاری مدل در حافظه.",
+ "loadParameters/reload": "بارگذاری مجدد برای اعمال تغییرات",
+ "loadParameters/reload/error": "بارگذاری مجدد مدل ناموفق بود",
+ "discardChanges": "لغو تغییرات",
+ "loadModelToSeeOptions": "برای مشاهده گزینهها، یک مدل بارگذاری کنید",
+ "schematicsError.title": "طرح تنظیمات دارای خطا در فیلدهای زیر است:",
+ "manifestSections": {
+ "structuredOutput/title": "خروجی ساختاریافته",
+ "speculativeDecoding/title": "رمزگشایی احتمالی",
+ "sampling/title": "نمونهگیری",
+ "settings/title": "تنظیمات",
+ "toolUse/title": "استفاده از ابزار",
+ "promptTemplate/title": "الگوی ورودی"
+ },
+
+ "llm.prediction.systemPrompt/title": "پیام سیستمی",
+ "llm.prediction.systemPrompt/description": "از این قسمت برای ارائه دستورالعملهای زمینهای به مدل استفاده کنید، مانند مجموعهای از قوانین، محدودیتها یا الزامات کلی.",
+ "llm.prediction.systemPrompt/subTitle": "راهنماییهای مربوط به هوش مصنوعی",
+
+ "llm.prediction.temperature/title": "دما",
+ "llm.prediction.temperature/subTitle": "میزان تصادفی بودن در خروجی. مقدار ۰ همیشه نتیجه یکسانی تولید میکند، در حالی که مقادیر بالاتر خلاقیت و تنوع را افزایش میدهند.",
+ "llm.prediction.temperature/info": "از مستندات llama.cpp: «مقدار پیشفرض <{{dynamicValue}}> است که تعادل بین تصادفی بودن و تعیینپذیری را فراهم میکند. در حالت افراطی، دمای ۰ همیشه محتملترین توکن بعدی را انتخاب میکند، که منجر به خروجیهای یکسان در هر اجرا میشود.»",
+
+ "llm.prediction.llama.sampling/title": "نمونهگیری",
+
+ "llm.prediction.topKSampling/title": "نمونهگیری Top-K",
+ "llm.prediction.topKSampling/subTitle": "محدود کردن انتخاب توکن بعدی به k توکن محتمل برتر. عملکردی مشابه دما دارد.",
+ "llm.prediction.topKSampling/info": "از مستندات llama.cpp:\n\nنمونهگیری Top-K روشی برای تولید متن است که در آن توکن بعدی فقط از بین k توکن محتمل برتر انتخاب میشود.\n\nاین روش احتمال تولید توکنهای کماحتمال یا غیرمنطقی را کاهش میدهد اما ممکن است تنوع خروجی را نیز محدود کند.\n\nمقدار بالاتر برای k (مثلاً ۱۰۰) باعث افزایش تنوع متن میشود، در حالی که مقدار پایینتر (مثلاً ۱۰) خروجی را محافظهکارانهتر میکند.\n\n• مقدار پیشفرض <{{dynamicValue}}> است.",
+
+ "llm.prediction.llama.cpuThreads/title": "تعداد رشتههای پردازنده (CPU Threads)",
+ "llm.prediction.llama.cpuThreads/subTitle": "تعداد رشتههای پردازنده برای استفاده در حین استنتاج",
+ "llm.prediction.llama.cpuThreads/info": "تعداد رشتههایی که در طول پردازش استفاده میشوند. افزایش تعداد رشتهها همیشه به معنی عملکرد بهتر نیست. مقدار پیشفرض <{{dynamicValue}}> است.",
+
+ "llm.prediction.maxPredictedTokens/title": "محدودیت طول پاسخ",
+ "llm.prediction.maxPredictedTokens/subTitle": "امکان محدود کردن طول پاسخ مدل",
+ "llm.prediction.maxPredictedTokens/info": "حداکثر طول پاسخ چتبات را کنترل کنید. این گزینه را فعال کنید تا طول پاسخ محدود شود، یا غیرفعال کنید تا مدل خودش تصمیم بگیرد چه زمانی متوقف شود.",
+ "llm.prediction.maxPredictedTokens/inputLabel": "حداکثر طول پاسخ (بر حسب توکن)",
+ "llm.prediction.maxPredictedTokens/wordEstimate": "حدود {{maxWords}} کلمه",
+
+ "llm.prediction.repeatPenalty/title": "جریمه تکرار",
+ "llm.prediction.repeatPenalty/subTitle": "میزان کاهش احتمال تکرار یک توکن",
+ "llm.prediction.repeatPenalty/info": "از مستندات llama.cpp:\n\n«به جلوگیری از تولید متن تکراری یا یکنواخت کمک میکند.\n\nمقدار بالاتر (مثلاً ۱.۵) تکرارها را بیشتر جریمه میکند، در حالی که مقدار پایینتر (مثلاً ۰.۹) ملایمتر است.»\n\n• مقدار پیشفرض <{{dynamicValue}}> است.",
+
+ "llm.prediction.minPSampling/title": "نمونهگیری Min P",
+ "llm.prediction.minPSampling/subTitle": "حداقل احتمال پایه برای انتخاب یک توکن",
+ "llm.prediction.minPSampling/info": "از مستندات llama.cpp:\n\nحداقل احتمالی که یک توکن باید داشته باشد تا در خروجی در نظر گرفته شود، نسبت به محتملترین توکن. مقدار باید در بازه [۰, ۱] باشد.\n\n• مقدار پیشفرض <{{dynamicValue}}> است.",
+
+ "llm.prediction.topPSampling/title": "نمونهگیری Top-P",
+ "llm.prediction.topPSampling/subTitle": "حداقل احتمال انباشته برای انتخاب توکنهای بعدی. عملکردی مشابه دما دارد.",
+ "llm.prediction.topPSampling/info": "از مستندات llama.cpp:\n\nنمونهگیری Top-P که به عنوان نمونهگیری هستهای نیز شناخته میشود، یک روش تولید متن است که توکن بعدی را از بین مجموعهای از توکنها انتخاب میکند که مجموع احتمال آنها حداقل p است.\n\nاین روش تعادل بین تنوع و کیفیت را برقرار میکند.\n\nمقدار بالاتر (مثلاً ۰.۹۵) باعث تولید متن متنوعتر و مقدار پایینتر (مثلاً ۰.۵) باعث تولید متن محافظهکارانهتر میشود.\n\nمقدار باید در بازه (۰, ۱] باشد.\n\n• مقدار پیشفرض <{{dynamicValue}}> است.",
+
+ "llm.prediction.stopStrings/title": "عبارات توقف",
+ "llm.prediction.stopStrings/subTitle": "عباراتی که باعث توقف تولید متن توسط مدل میشوند",
+ "llm.prediction.stopStrings/info": "عبارات خاصی که در صورت مواجهه با آنها، مدل از ادامه تولید متن بازمیایستد.",
+ "llm.prediction.stopStrings/placeholder": "یک عبارت وارد کنید و ⏎ را فشار دهید.",
+
+ "llm.prediction.contextOverflowPolicy/title": "مدیریت سرریز حافظه",
+ "llm.prediction.contextOverflowPolicy/subTitle": "نحوه رفتار مدل در صورت بیش از حد بزرگ شدن مکالمه",
+ "llm.prediction.contextOverflowPolicy/info": "تعیین کنید که وقتی حجم مکالمه از حافظه کاری مدل (context) فراتر رفت، چه اقدامی انجام شود.",
+
+ "llm.prediction.seed/title": "مقدار اولیه (Seed)",
+
+ "llm.prediction.structured/title": "خروجی ساختاریافته",
+ "llm.prediction.structured/info": "خروجی ساختاریافته",
+ "llm.prediction.structured/description": "پیشرفته: میتوانید یک [JSON Schema](https://json-schema.org/learn/miscellaneous-examples) ارائه دهید تا مدل را مجبور به پیروی از یک قالب خروجی خاص کنید. برای اطلاعات بیشتر، [مستندات](https://lmstudio.ai/docs/advanced/structured-output) را بخوانید.",
+
+ "llm.prediction.tools/title": "استفاده از ابزار",
+ "llm.prediction.tools/description": "پیشرفته: میتوانید یک لیست JSON از ابزارهایی ارائه دهید که مدل بتواند از آنها درخواست کند. برای اطلاعات بیشتر، [مستندات](https://lmstudio.ai/docs/advanced/tool-use) را مطالعه کنید.",
+ "llm.prediction.tools/serverPageDescriptionAddon": "در هنگام استفاده از API سرور، این مقدار را به عنوان `tools` در بدنه درخواست ارسال کنید.",
+
+ "llm.prediction.promptTemplate/title": "قالب درخواست",
+ "llm.prediction.promptTemplate/subTitle": "فرمت ارسال پیامها به مدل. تغییر این مقدار ممکن است باعث رفتارهای غیرمنتظره شود، بنابراین قبل از تغییر، اطمینان حاصل کنید که میدانید چه کاری انجام میدهید.",
+
+ "llm.prediction.speculativeDecoding.numDraftTokensExact/title": "تعداد توکنهای پیشنویس",
+ "llm.prediction.speculativeDecoding.numDraftTokensExact/subTitle": "تعداد توکنهایی که باید با مدل پیشنویس در ازای هر توکن مدل اصلی تولید شوند. تعادل بین محاسبات و پاداش را پیدا کنید.",
+
+ "llm.prediction.reasoning.parsing/title": "تجزیه و تحلیل استدلال",
+ "llm.prediction.reasoning.parsing/subTitle": "نحوه پردازش بخشهای استدلال در خروجی مدل",
+
+ "llm.prediction.llama.frequencyPenalty/title": "جریمه فرکانس",
+ "llm.prediction.llama.presencePenalty/title": "جریمه حضور",
+ "llm.prediction.llama.tailFreeSampling/title": "نمونهبرداری بدون دنباله",
+ "llm.prediction.llama.locallyTypicalSampling/title": "نمونهبرداری معمولی محلی",
+ "llm.prediction.llama.xtcProbability/title": "احتمال نمونهبرداری XTC",
+ "llm.prediction.llama.xtcProbability/subTitle": "نمونهبردار XTC (حذف انتخابهای برتر) تنها با این احتمال در هر توکن تولیدی فعال میشود. نمونهبرداری XTC میتواند خلاقیت را افزایش داده و کلیشهها را کاهش دهد",
+ "llm.prediction.llama.xtcProbability/info": "نمونهبرداری XTC (حذف انتخابهای برتر) تنها با این احتمال در هر توکن تولیدی فعال میشود. این نمونهبرداری معمولاً خلاقیت را افزایش داده و کلیشهها را کاهش میدهد",
+ "llm.prediction.llama.xtcThreshold/title": "آستانه نمونهبرداری XTC",
+ "llm.prediction.llama.xtcThreshold/subTitle": "آستانه XTC (حذف انتخابهای برتر). با احتمال `xtc-probability`، جستجو برای توکنهایی با احتمالهای بین `xtc-threshold` و 0.5 انجام میشود و تمامی این توکنها به جز کمترین احتمالیها حذف میشوند",
+ "llm.prediction.llama.xtcThreshold/info": "آستانه XTC (حذف انتخابهای برتر). با احتمال `xtc-probability`، جستجو برای توکنهایی با احتمالهای بین `xtc-threshold` و 0.5 انجام میشود و تمامی این توکنها به جز کمترین احتمالیها حذف میشوند",
+ "llm.prediction.mlx.topKSampling/title": "نمونهبرداری برتر K",
+ "llm.prediction.mlx.topKSampling/subTitle": "محدود کردن توکن بعدی به یکی از توکنهای با بیشترین احتمال برتر K. مشابه دما عمل میکند",
+ "llm.prediction.mlx.topKSampling/info": "محدود کردن توکن بعدی به یکی از توکنهای با بیشترین احتمال برتر K. مشابه دما عمل میکند",
+ "llm.prediction.onnx.topKSampling/title": "نمونهبرداری برتر K",
+ "llm.prediction.onnx.topKSampling/subTitle": "محدود کردن توکن بعدی به یکی از توکنهای با بیشترین احتمال برتر K. مشابه دما عمل میکند",
+ "llm.prediction.onnx.topKSampling/info": "از مستندات ONNX:\n\nتعداد توکنهای با بالاترین احتمال لغتنامه که برای فیلتر کردن برتر K نگهداری میشوند\n\n• این فیلتر بهطور پیشفرض غیرفعال است",
+ "llm.prediction.onnx.repeatPenalty/title": "جریمه تکرار",
+ "llm.prediction.onnx.repeatPenalty/subTitle": "میزان جلوگیری از تکرار همان توکن",
+ "llm.prediction.onnx.repeatPenalty/info": "مقدار بالاتر، مدل را از تکرار خود جلوگیری میکند",
+ "llm.prediction.onnx.topPSampling/title": "نمونهبرداری برتر P",
+ "llm.prediction.onnx.topPSampling/subTitle": "حداقل احتمال تجمعی برای توکنهای ممکن بعدی. مشابه دما عمل میکند",
+ "llm.prediction.onnx.topPSampling/info": "از مستندات ONNX:\n\nفقط توکنهای با بالاترین احتمال که احتمالهایشان جمعاً به مقدار TopP یا بیشتر برسد، برای تولید نگهداری میشوند\n\n• این فیلتر بهطور پیشفرض غیرفعال است",
+ "llm.prediction.speculativeDecoding.minContinueDraftingProbability/title": "حد آستانه احتمال طراحی",
+ "llm.prediction.speculativeDecoding.minContinueDraftingProbability/subTitle": "ادامه طراحی تا زمانی که احتمال یک توکن زیر این آستانه برود. مقادیر بالاتر معمولاً به معنی ریسک کمتر و پاداش کمتر است",
+ "llm.prediction.speculativeDecoding.minDraftLengthToConsider/title": "حداقل اندازه پیشنویس برای در نظر گرفتن",
+ "llm.prediction.speculativeDecoding.minDraftLengthToConsider/subTitle": "پیشنویسهایی که کوچکتر از این مقدار باشند توسط مدل اصلی نادیده گرفته میشوند. مقادیر بالاتر معمولاً به معنی ریسک کمتر و پاداش کمتر است",
+ "llm.prediction.speculativeDecoding.maxTokensToDraft/title": "حداکثر اندازه پیشنویس",
+ "llm.prediction.speculativeDecoding.maxTokensToDraft/subTitle": "حداکثر تعداد توکنهای مجاز در پیشنویس. سقف اگر تمام احتمالات توکنها بیشتر از آستانه برود. مقادیر پایینتر معمولاً به معنی ریسک کمتر و پاداش کمتر است",
+ "llm.prediction.speculativeDecoding.draftModel/title": "مدل پیشنویس",
+
+ "llm.load.contextLength/title": "طول متن",
+ "llm.load.contextLength/subTitle": "حداکثر تعداد توکنهایی که مدل میتواند در یک درخواست به آنها توجه کند. برای روشهای بیشتری برای مدیریت این مورد، گزینههای \"پراکندگی مکالمه\" را در \"پارامترهای استنباط\" مشاهده کنید",
+ "llm.load.contextLength/info": "حداکثر تعداد توکنهایی که مدل میتواند یکباره در نظر بگیرد را مشخص میکند که بر میزان زمینهای که در طول پردازش حفظ میشود تأثیر میگذارد",
+ "llm.load.contextLength/warning": "تنظیم مقدار بالا برای طول متن میتواند تأثیر قابل توجهی بر استفاده از حافظه داشته باشد",
+ "llm.load.seed/title": "بذر",
+ "llm.load.seed/subTitle": "بذر برای تولید عدد تصادفی استفادهشده در تولید متن. مقدار -1 به معنی تصادفی بودن است",
+ "llm.load.seed/info": "بذر تصادفی: بذر برای تولید اعداد تصادفی را تنظیم میکند تا نتایج قابل بازتولید را تضمین کند",
+
+ "llm.load.llama.evalBatchSize/title": "اندازه دسته ارزیابی",
+ "llm.load.llama.evalBatchSize/subTitle": "تعداد توکنهای ورودی که به صورت همزمان پردازش میشوند. افزایش این مقدار باعث افزایش عملکرد با هزینه مصرف حافظه میشود",
+ "llm.load.llama.evalBatchSize/info": "تعداد مثالهایی که به صورت همزمان در یک دسته در حین ارزیابی پردازش میشوند، که بر سرعت و مصرف حافظه تأثیر میگذارد",
+ "llm.load.llama.ropeFrequencyBase/title": "پایه فرکانس RoPE",
+ "llm.load.llama.ropeFrequencyBase/subTitle": "پایه فرکانس سفارشی برای جاسازی موقعیتی چرخشی (RoPE). افزایش این مقدار میتواند عملکرد بهتری در طولهای زمینه بلندتر فراهم کند",
+ "llm.load.llama.ropeFrequencyBase/info": "[پیشرفته] پایه فرکانس برای رمزگذاری موقعیتی چرخشی را تنظیم میکند که بر نحوه جاسازی اطلاعات موقعیتی تأثیر میگذارد",
+ "llm.load.llama.ropeFrequencyScale/title": "مقیاس فرکانس RoPE",
+ "llm.load.llama.ropeFrequencyScale/subTitle": "طول زمینه با این ضریب مقیاس میشود تا زمینه مؤثر را با استفاده از RoPE گسترش دهد",
+ "llm.load.llama.ropeFrequencyScale/info": "[پیشرفته] مقیاسبندی فرکانس برای رمزگذاری موقعیتی چرخشی را تغییر میدهد تا جزئیات رمزگذاری موقعیتی را کنترل کند",
+ "llm.load.llama.acceleration.offloadRatio/title": "انتقال به GPU",
+ "llm.load.llama.acceleration.offloadRatio/subTitle": "تعداد لایههای مدل که برای شتابدهی GPU محاسبه میشوند",
+ "llm.load.llama.acceleration.offloadRatio/info": "تعداد لایههایی که باید به GPU منتقل شوند را تنظیم میکند",
+ "llm.load.llama.flashAttention/title": "توجه فوری",
+ "llm.load.llama.flashAttention/subTitle": "مصرف حافظه و زمان تولید را در برخی مدلها کاهش میدهد",
+ "llm.load.llama.flashAttention/info": "مکانیزمهای توجه را برای پردازش سریعتر و کارآمدتر تسریع میکند",
+ "llm.load.numExperts/title": "تعداد کارشناسان",
+ "llm.load.numExperts/subTitle": "تعداد کارشناسانی که باید در مدل استفاده شوند",
+ "llm.load.numExperts/info": "تعداد کارشناسانی که باید در مدل استفاده شوند",
+ "llm.load.llama.keepModelInMemory/title": "نگه داشتن مدل در حافظه",
+ "llm.load.llama.keepModelInMemory/subTitle": "حافظه سیستم را برای مدل رزرو میکند، حتی زمانی که به GPU منتقل میشود. عملکرد را بهبود میبخشد اما به RAM بیشتری نیاز دارد",
+ "llm.load.llama.keepModelInMemory/info": "مدل را از تعویض به دیسک جلوگیری میکند و دسترسی سریعتری را با هزینه مصرف بیشتر RAM فراهم میکند",
+ "llm.load.llama.useFp16ForKVCache/title": "استفاده از FP16 برای کش KV",
+ "llm.load.llama.useFp16ForKVCache/info": "مصرف حافظه را با ذخیره کش در دقت نیمه (FP16) کاهش میدهد",
+ "llm.load.llama.tryMmap/title": "استفاده از mmap()",
+ "llm.load.llama.tryMmap/subTitle": "زمان بارگذاری مدل را بهبود میبخشد. غیرفعال کردن این ممکن است عملکرد را زمانی که مدل از حافظه سیستم بزرگتر است، بهبود بخشد",
+ "llm.load.llama.tryMmap/info": "فایلهای مدل را مستقیماً از دیسک به حافظه بارگذاری میکند",
+ "llm.load.llama.cpuThreadPoolSize/title": "اندازه استخر رشته CPU",
+ "llm.load.llama.cpuThreadPoolSize/subTitle": "تعداد رشتههای CPU که برای استخر رشتهها برای محاسبات مدل تخصیص داده میشود",
+ "llm.load.llama.cpuThreadPoolSize/info": "تعداد رشتههای CPU که برای استخر رشتهها برای محاسبات مدل تخصیص داده میشود. افزایش تعداد رشتهها همیشه با عملکرد بهتر همراه نیست. مقدار پیشفرض <{{dynamicValue}}> است.",
+ "llm.load.llama.kCacheQuantizationType/title": "نوع کمیسازی کش K",
+ "llm.load.llama.kCacheQuantizationType/subTitle": "مقادیر پایینتر مصرف حافظه را کاهش میدهند اما ممکن است کیفیت را کاهش دهند. اثر این مقادیر در مدلهای مختلف متفاوت است.",
+ "llm.load.llama.vCacheQuantizationType/title": "نوع کمیسازی کش V",
+ "llm.load.llama.vCacheQuantizationType/subTitle": "مقادیر پایینتر مصرف حافظه را کاهش میدهند اما ممکن است کیفیت را کاهش دهند. اثر این مقادیر در مدلهای مختلف متفاوت است.",
+ "llm.load.llama.vCacheQuantizationType/turnedOnWarning": "⚠️ شما باید این مقدار را غیرفعال کنید اگر توجه فوری فعال نباشد",
+ "llm.load.llama.vCacheQuantizationType/disabledMessage": "فقط زمانی میتوان آن را فعال کرد که توجه فوری فعال باشد",
+ "llm.load.llama.vCacheQuantizationType/invalidF32MetalState": "⚠️ شما باید توجه فوری را هنگام استفاده از F32 غیرفعال کنید",
+
+ "llm.load.mlx.kvCacheBits/title": "کمیسازی کش KV",
+ "llm.load.mlx.kvCacheBits/subTitle": "تعداد بیتهایی که کش KV باید به آن کمیسازی شود",
+ "llm.load.mlx.kvCacheBits/info": "تعداد بیتهایی که کش KV باید به آن کمیسازی شود",
+ "llm.load.mlx.kvCacheBits/turnedOnWarning": "تنظیم طول زمینه زمانی که از کمیسازی کش KV استفاده میشود نادیده گرفته میشود",
+ "llm.load.mlx.kvCacheGroupSize/title": "کمیسازی کش KV: اندازه گروه",
+ "llm.load.mlx.kvCacheGroupSize/subTitle": "اندازه گروه در حین عملیات کمیسازی برای کش KV. اندازه گروه بزرگتر مصرف حافظه را کاهش میدهد اما ممکن است کیفیت را کاهش دهد",
+ "llm.load.mlx.kvCacheGroupSize/info": "تعداد بیتهایی که کش KV باید به آن کمیسازی شود",
+ "llm.load.mlx.kvCacheQuantizationStart/title": "کمیسازی کش KV: شروع کمیسازی زمانی که طول زمینه از این مقدار عبور کند",
+ "llm.load.mlx.kvCacheQuantizationStart/subTitle": "آستانه طول زمینه برای شروع کمیسازی کش KV",
+ "llm.load.mlx.kvCacheQuantizationStart/info": "آستانه طول زمینه برای شروع کمیسازی کش KV",
+ "llm.load.mlx.kvCacheQuantization/title": "کمیسازی کش KV",
+ "llm.load.mlx.kvCacheQuantization/subTitle": "کمیسازی کش KV مدل. این ممکن است منجر به تولید سریعتر و کاهش حجم حافظه شود،\nاما به قیمت کاهش کیفیت خروجی مدل.",
+ "llm.load.mlx.kvCacheQuantization/bits/title": "بیتهای کمیسازی کش KV",
+ "llm.load.mlx.kvCacheQuantization/bits/tooltip": "تعداد بیتها برای کمیسازی کش KV",
+ "llm.load.mlx.kvCacheQuantization/bits/bits": "بیتها",
+ "llm.load.mlx.kvCacheQuantization/groupSize/title": "استراتژی اندازه گروه",
+ "llm.load.mlx.kvCacheQuantization/groupSize/accuracy": "دقت",
+ "llm.load.mlx.kvCacheQuantization/groupSize/balanced": "متوازن",
+ "llm.load.mlx.kvCacheQuantization/groupSize/speedy": "سریع",
+ "llm.load.mlx.kvCacheQuantization/groupSize/tooltip": "پیشرفته: پیکربندی اندازه گروه 'matmul کمیسازی' \n\n• دقت = اندازه گروه 32\n• متوازن = اندازه گروه 64\n• سریع = اندازه گروه 128\n",
+ "llm.load.mlx.kvCacheQuantization/quantizedStart/title": "شروع کمیسازی زمانی که طول زمینه به این مقدار برسد",
+ "llm.load.mlx.kvCacheQuantization/quantizedStart/tooltip": "زمانی که طول زمینه به این تعداد توکن رسید،\nکمیسازی کش KV را شروع کنید",
+
+ "embedding.load.contextLength/title": "طول زمینه",
+ "embedding.load.contextLength/subTitle": "حداکثر تعداد توکنهایی که مدل میتواند در یک درخواست به آن توجه کند. برای روشهای بیشتر در مدیریت این موضوع، به گزینههای «انفجار مکالمه» در زیر \"پارامترهای استنتاج\" مراجعه کنید",
+ "embedding.load.contextLength/info": "تعداد حداکثری توکنهایی که مدل میتواند یکجا در نظر بگیرد، که بر میزان اطلاعات زمینهای که مدل در حین پردازش نگه میدارد تأثیر میگذارد",
+ "embedding.load.llama.ropeFrequencyBase/title": "پایه فرکانس RoPE",
+ "embedding.load.llama.ropeFrequencyBase/subTitle": "فرکانس پایه سفارشی برای جاسازی موقعیتی چرخشی (RoPE). افزایش این مقدار میتواند عملکرد بهتری در طولهای زمینه بالا فراهم کند",
+ "embedding.load.llama.ropeFrequencyBase/info": "[پیشرفته] پایه فرکانس برای رمزگذاری موقعیتی چرخشی را تنظیم میکند که بر نحوه جاسازی اطلاعات موقعیتی تأثیر میگذارد",
+ "embedding.load.llama.evalBatchSize/title": "اندازه دسته ارزیابی",
+ "embedding.load.llama.evalBatchSize/subTitle": "تعداد توکنهای ورودی که به صورت همزمان پردازش میشوند. افزایش این مقدار باعث افزایش عملکرد با هزینه مصرف حافظه میشود",
+ "embedding.load.llama.evalBatchSize/info": "تعداد توکنهایی که به صورت همزمان در یک دسته در حین ارزیابی پردازش میشوند",
+ "embedding.load.llama.ropeFrequencyScale/title": "مقیاس فرکانس RoPE",
+ "embedding.load.llama.ropeFrequencyScale/subTitle": "طول زمینه با این ضریب مقیاس میشود تا زمینه مؤثر را با استفاده از RoPE گسترش دهد",
+ "embedding.load.llama.ropeFrequencyScale/info": "[پیشرفته] مقیاسبندی فرکانس برای رمزگذاری موقعیتی چرخشی را تغییر میدهد تا جزئیات رمزگذاری موقعیتی را کنترل کند",
+ "embedding.load.llama.acceleration.offloadRatio/title": "انتقال به GPU",
+ "embedding.load.llama.acceleration.offloadRatio/subTitle": "تعداد لایههای مدل که برای شتابدهی GPU محاسبه میشوند",
+ "embedding.load.llama.acceleration.offloadRatio/info": "تعداد لایههایی که باید به GPU منتقل شوند را تنظیم میکند",
+ "embedding.load.llama.keepModelInMemory/title": "نگه داشتن مدل در حافظه",
+ "embedding.load.llama.keepModelInMemory/subTitle": "حافظه سیستم را برای مدل رزرو میکند، حتی زمانی که به GPU منتقل میشود. عملکرد را بهبود میبخشد اما به RAM بیشتری نیاز دارد",
+ "embedding.load.llama.keepModelInMemory/info": "مدل را از تعویض به دیسک جلوگیری میکند و دسترسی سریعتری را با هزینه مصرف بیشتر RAM فراهم میکند",
+ "embedding.load.llama.tryMmap/title": "استفاده از mmap()",
+ "embedding.load.llama.tryMmap/subTitle": "زمان بارگذاری مدل را بهبود میبخشد. غیرفعال کردن این ممکن است عملکرد را زمانی که مدل از حافظه سیستم بزرگتر است، بهبود بخشد",
+ "embedding.load.llama.tryMmap/info": "فایلهای مدل را مستقیماً از دیسک به حافظه بارگذاری میکند",
+ "embedding.load.seed/title": "بذر",
+ "embedding.load.seed/subTitle": "بذر برای تولید اعداد تصادفی که در تولید متن استفاده میشود. -1 به معنی بذر تصادفی است",
+ "embedding.load.seed/info": "بذر تصادفی: بذر برای تولید اعداد تصادفی تنظیم میشود تا نتایج تکرارپذیر حاصل شود",
+
+ "presetTooltip": {
+ "included/title": "مقادیر از پیش تنظیم شده",
+ "included/description": "فیلدهای زیر اعمال خواهند شد",
+ "included/empty": "هیچ فیلد از این پیشتنظیم در این زمینه اعمال نمیشود.",
+ "included/conflict": "از شما خواسته میشود که تصمیم بگیرید آیا این مقدار را اعمال کنید یا نه",
+ "separateLoad/title": "پیکربندی زمان بارگذاری",
+ "separateLoad/description.1": "پیشتنظیم شامل پیکربندی زمان بارگذاری زیر نیز هست. پیکربندی زمان بارگذاری برای مدل بهطور کلی است و برای اعمال آن نیاز به بارگذاری مجدد مدل دارد. نگه دارید",
+ "separateLoad/description.2": "برای اعمال به",
+ "separateLoad/description.3": ".",
+ "excluded/title": "ممکن است اعمال نشود",
+ "excluded/description": "فیلدهای زیر در پیشتنظیم گنجانده شدهاند اما در زمینه فعلی اعمال نمیشوند.",
+ "legacy/title": "پیشتنظیم قدیمی",
+ "legacy/description": "این پیشتنظیم یک پیشتنظیم قدیمی است. شامل فیلدهای زیر میشود که یا بهطور خودکار حالا مدیریت میشوند یا دیگر قابل اعمال نیستند.",
+ "button/publish": "انتشار در هاب",
+ "button/pushUpdate": "ارسال تغییرات به هاب",
+ "button/export": "صادرات"
+ },
+
+ "customInputs": {
+ "string": {
+ "emptyParagraph": "<خالی>"
+ },
+ "checkboxNumeric": {
+ "off": "خاموش"
+ },
+ "llamaCacheQuantizationType": {
+ "off": "خاموش"
+ },
+ "mlxKvCacheBits": {
+ "off": "خاموش"
+ },
+ "stringArray": {
+ "empty": "<خالی>"
+ },
+ "llmPromptTemplate": {
+ "type": "نوع",
+ "types.jinja/label": "قالب (Jinja)",
+ "jinja.bosToken/label": "توکن BOS",
+ "jinja.eosToken/label": "توکن EOS",
+ "jinja.template/label": "قالب",
+ "jinja/error": "خطا در تجزیه قالب Jinja: {{error}}",
+ "jinja/empty": "لطفاً یک قالب Jinja وارد کنید.",
+ "jinja/unlikelyToWork": "قالب Jinja که وارد کردهاید احتمالاً کار نخواهد کرد زیرا به متغیر \"messages\" ارجاع نمیدهد. لطفاً دوباره بررسی کنید که آیا قالب صحیح وارد شده است یا نه.",
+ "types.manual/label": "دستی",
+ "manual.subfield.beforeSystem/label": "قبل از سیستم",
+ "manual.subfield.beforeSystem/placeholder": "پیشوند سیستم را وارد کنید...",
+ "manual.subfield.afterSystem/label": "بعد از سیستم",
+ "manual.subfield.afterSystem/placeholder": "پسوند سیستم را وارد کنید...",
+ "manual.subfield.beforeUser/label": "قبل از کاربر",
+ "manual.subfield.beforeUser/placeholder": "پیشوند کاربر را وارد کنید...",
+ "manual.subfield.afterUser/label": "بعد از کاربر",
+ "manual.subfield.afterUser/placeholder": "پسوند کاربر را وارد کنید...",
+ "manual.subfield.beforeAssistant/label": "قبل از دستیار",
+ "manual.subfield.beforeAssistant/placeholder": "پیشوند دستیار را وارد کنید...",
+ "manual.subfield.afterAssistant/label": "بعد از دستیار",
+ "manual.subfield.afterAssistant/placeholder": "پسوند دستیار را وارد کنید...",
+ "stopStrings/label": "رشتههای توقف اضافی",
+ "stopStrings/subTitle": "رشتههای توقف خاص قالب که علاوه بر رشتههای توقف مشخص شده توسط کاربر استفاده خواهند شد."
+ },
+ "contextLength": {
+ "maxValueTooltip": "این بیشترین تعداد توکنهایی است که مدل برای پردازش آن آموزش دیده است. برای تنظیم طول زمینه به این مقدار، کلیک کنید",
+ "maxValueTextStart": "مدل تا",
+ "maxValueTextEnd": "توکن را پشتیبانی میکند",
+ "tooltipHint": "اگرچه یک مدل ممکن است تا تعداد خاصی از توکنها را پشتیبانی کند، اما ممکن است عملکرد کاهش یابد اگر منابع سیستم شما قادر به پردازش آن بار نباشد - هنگام افزایش این مقدار احتیاط کنید"
+ },
+ "contextOverflowPolicy": {
+ "stopAtLimit": "ایستادن در حد",
+ "stopAtLimitSub": "تولید را زمانی که حافظه مدل پر شود متوقف کنید",
+ "truncateMiddle": "حذف از وسط",
+ "truncateMiddleSub": "پیامها را از وسط مکالمه حذف میکند تا فضا برای پیامهای جدید ایجاد شود. مدل همچنان ابتدای مکالمه را به یاد میآورد",
+ "rollingWindow": "پنجره چرخشی",
+ "rollingWindowSub": "مدل همیشه جدیدترین پیامها را دریافت میکند، اما ممکن است ابتدای مکالمه را فراموش کند"
+ },
+ "llamaAccelerationOffloadRatio": {
+ "max": "حداکثر",
+ "off": "خاموش"
+ },
+ "llamaAccelerationSplitStrategy": {
+ "evenly": "یکنواخت",
+ "favorMainGpu": "ترجیح به GPU اصلی"
+ },
+ "speculativeDecodingDraftModel": {
+ "readMore": "بخوانید چگونه کار میکند",
+ "placeholder": "یک مدل پیشنویس سازگار را انتخاب کنید",
+ "noCompatible": "مدلهای پیشنویس سازگاری برای انتخاب مدل فعلی شما پیدا نشد",
+ "stillLoading": "در حال شناسایی مدلهای پیشنویس سازگار...",
+ "notCompatible": "مدل پیشنویس انتخاب شده () با انتخاب مدل فعلی () سازگار نیست.",
+ "off": "خاموش",
+ "loadModelToSeeOptions": "مدل را بارگذاری کنید تا گزینههای سازگار را مشاهده کنید",
+ "compatibleWithNumberOfModels": "برای حداقل {{dynamicValue}} از مدلهای شما توصیه شده است",
+ "recommendedForSomeModels": "برای برخی مدلها توصیه شده است",
+ "recommendedForLlamaModels": "برای مدلهای Llama توصیه شده است",
+ "recommendedForQwenModels": "برای مدلهای Qwen توصیه شده است",
+ "onboardingModal": {
+ "introducing": "معرفی",
+ "speculativeDecoding": "رمزگشایی احتمالی",
+ "firstStepBody": "شتابدهی به سرعت استنتاج برای مدلهای llama.cpp و MLX",
+ "secondStepTitle": "شتابدهی به سرعت استنتاج با رمزگشایی احتمالی",
+ "secondStepBody": "رمزگشایی احتمالی یک تکنیک است که شامل همکاری دو مدل است:\n - یک مدل \"اصلی\" بزرگتر\n - یک مدل \"پیشنویس\" کوچکتر\n\nدر طول تولید، مدل پیشنویس به سرعت توکنهایی را برای مدل اصلی پیشنهاد میدهد تا آنها را تأیید کند. تأیید توکنها فرآیندی سریعتر از تولید واقعی آنها است که منبع افزایش سرعت است. **به طور کلی، هرچه تفاوت اندازه بین مدل اصلی و مدل پیشنویس بیشتر باشد، سرعت بیشتر خواهد بود**.\n\nبرای حفظ کیفیت، مدل اصلی تنها توکنهایی را قبول میکند که با آنچه خود تولید کرده باشد تطابق داشته باشد، که این باعث میشود پاسخهای مدل بزرگتر با سرعتهای استنتاج سریعتر حفظ شود. هر دو مدل باید واژگان یکسانی داشته باشند.",
+ "draftModelRecommendationsTitle": "توصیههای مدل پیشنویس",
+ "basedOnCurrentModels": "بر اساس مدلهای فعلی شما",
+ "close": "بستن",
+ "next": "بعدی",
+ "done": "تمام"
+ },
+ "speculativeDecodingLoadModelToSeeOptions": "لطفاً ابتدا یک مدل بارگذاری کنید ",
+ "errorEngineNotSupported": "رمزگشایی احتمالی به حداقل نسخه {{minVersion}} از موتور {{engineName}} نیاز دارد. لطفاً موتور را بهروزرسانی کرده و مدل را دوباره بارگذاری کنید تا از این ویژگی استفاده کنید.",
+ "errorEngineNotSupported/noKey": "رمزگشایی احتمالی به حداقل نسخه {{minVersion}} از موتور {{engineName}} نیاز دارد. لطفاً موتور را بهروزرسانی کرده و مدل را دوباره بارگذاری کنید تا از این ویژگی استفاده کنید."
+ },
+ "llmReasoningParsing": {
+ "startString/label": "رشته شروع",
+ "startString/placeholder": "رشته شروع را وارد کنید...",
+ "endString/label": "رشته پایان",
+ "endString/placeholder": "رشته پایان را وارد کنید..."
+ }
+ },
+ "saveConflictResolution": {
+ "title": "انتخاب کنید که کدام مقادیر را در پیشتنظیم گنجانده شود",
+ "description": "مقادیر را انتخاب کرده و نگه دارید",
+ "instructions": "برای گنجاندن یک مقدار روی آن کلیک کنید",
+ "userValues": "مقدار قبلی",
+ "presetValues": "مقدار جدید",
+ "confirm": "تأیید",
+ "cancel": "لغو"
+ },
+ "applyConflictResolution": {
+ "title": "کدام مقادیر را نگه دارید؟",
+ "description": "شما تغییرات غیرمؤکد شدهای دارید که با پیشتنظیمهای وارد شده همپوشانی دارد",
+ "instructions": "برای نگه داشتن یک مقدار روی آن کلیک کنید",
+ "userValues": "مقدار کنونی",
+ "presetValues": "مقدار پیشتنظیم وارد شده",
+ "confirm": "تأیید",
+ "cancel": "لغو"
+ },
+ {
+ "empty": "<خالی>",
+ "noModelSelected": "مدلی انتخاب نشده است",
+ "apiIdentifier.label": "شناسه API",
+ "apiIdentifier.hint": "اختیاری است که شناسهای برای این مدل وارد کنید. این شناسه در درخواستهای API استفاده خواهد شد. برای استفاده از شناسه پیشفرض، آن را خالی بگذارید.",
+ "idleTTL.label": "بارگذاری خودکار در صورت بیفعالیت بودن (TTL)",
+ "idleTTL.hint": "اگر تنظیم شود، مدل پس از مدت زمانی که بیفعالیت بوده به طور خودکار بارگذاری میشود.",
+ "idleTTL.mins": "دقیقه",
+
+ "presets": {
+ "title": "پیشتنظیم",
+ "commitChanges": "اعمال تغییرات",
+ "commitChanges/description": "تغییرات خود را به پیشتنظیم اعمال کنید.",
+ "commitChanges.manual": "فیلدهای جدید شناسایی شدند. شما میتوانید انتخاب کنید که کدام تغییرات به پیشتنظیم اضافه شوند.",
+ "commitChanges.manual.hold.0": "نگه دارید",
+ "commitChanges.manual.hold.1": "برای انتخاب تغییراتی که باید به پیشتنظیم اعمال شوند.",
+ "commitChanges.saveAll.hold.0": "نگه دارید",
+ "commitChanges.saveAll.hold.1": "برای ذخیره تمام تغییرات.",
+ "commitChanges.saveInPreset.hold.0": "نگه دارید",
+ "commitChanges.saveInPreset.hold.1": "برای ذخیره فقط تغییرات فیلدهایی که در پیشتنظیم موجود هستند.",
+ "commitChanges/error": "در اعمال تغییرات به پیشتنظیم خطا رخ داده است.",
+ "commitChanges.manual/description": "انتخاب کنید که کدام تغییرات به پیشتنظیم اضافه شوند.",
+ "saveAs": "ذخیره به عنوان جدید...",
+ "presetNamePlaceholder": "نامی برای پیشتنظیم وارد کنید...",
+ "cannotCommitChangesLegacy": "این پیشتنظیم از نسخه قدیمی است و نمیتوان آن را تغییر داد. شما میتوانید با استفاده از گزینه \"ذخیره به عنوان جدید...\" یک کپی از آن ایجاد کنید.",
+ "cannotCommitChangesNoChanges": "تغییری برای اعمال وجود ندارد.",
+ "emptyNoUnsaved": "یک پیشتنظیم انتخاب کنید...",
+ "emptyWithUnsaved": "پیشتنظیم ذخیرهنشده",
+ "saveEmptyWithUnsaved": "ذخیره پیشتنظیم به عنوان...",
+ "saveConfirm": "ذخیره",
+ "saveCancel": "لغو",
+ "saving": "در حال ذخیره...",
+ "save/error": "در ذخیره پیشتنظیم خطا رخ داده است.",
+ "deselect": "لغو انتخاب پیشتنظیم",
+ "deselect/error": "در لغو انتخاب پیشتنظیم خطا رخ داده است.",
+ "select/error": "در انتخاب پیشتنظیم خطا رخ داده است.",
+ "delete/error": "در حذف پیشتنظیم خطا رخ داده است.",
+ "discardChanges": "دور انداختن تغییرات ذخیرهنشده",
+ "discardChanges/info": "تمام تغییرات اعمالنشده را دور بیندازید و پیشتنظیم را به حالت اولیه خود برگردانید.",
+ "newEmptyPreset": "+ پیشتنظیم جدید",
+ "importPreset": "وارد کردن",
+ "contextMenuSelect": "اعمال پیشتنظیم",
+ "contextMenuDelete": "حذف...",
+ "contextMenuShare": "انتشار...",
+ "contextMenuOpenInHub": "مشاهده در Hub",
+ "contextMenuPushChanges": "اعمال تغییرات به Hub",
+ "contextMenuPushingChanges": "در حال اعمال...",
+ "contextMenuPushedChanges": "تغییرات اعمال شد",
+ "contextMenuExport": "صادرات فایل",
+ "contextMenuRevealInExplorer": "نمایش در کاوشگر فایل",
+ "contextMenuRevealInFinder": "نمایش در Finder",
+ "share": {
+ "title": "انتشار پیشتنظیم",
+ "action": "پیشتنظیم خود را برای دیگران به اشتراک بگذارید تا آن را دانلود کنند، پسندیده یا فورک کنند.",
+ "presetOwnerLabel": "مالک",
+ "uploadAs": "پیشتنظیم شما به عنوان {{name}} ایجاد خواهد شد",
+ "presetNameLabel": "نام پیشتنظیم",
+ "descriptionLabel": "توضیحات (اختیاری)",
+ "loading": "در حال انتشار...",
+ "success": "پیشتنظیم با موفقیت منتشر شد",
+ "presetIsLive": "<نام پیشتنظیم /> اکنون در Hub زنده است!",
+ "close": "بستن",
+ "confirmViewOnWeb": "مشاهده در وب",
+ "confirmCopy": "کپی URL",
+ "confirmCopied": "کپی شد!",
+ "pushedToHub": "پیشتنظیم شما به Hub ارسال شد",
+ "descriptionPlaceholder": "توضیح وارد کنید...",
+ "willBePublic": "انتشار پیشتنظیم شما آن را عمومی خواهد کرد",
+ "publicSubtitle": "پیشتنظیم شما عمومی است. دیگران میتوانند آن را دانلود و فورک کنند در lmstudio.ai",
+ "confirmShareButton": "انتشار",
+ "error": "در انتشار پیشتنظیم خطا رخ داده است",
+ "createFreeAccount": "برای انتشار پیشتنظیمها یک حساب رایگان در Hub ایجاد کنید"
+ },
+ "update": {
+ "title": "اعمال تغییرات به Hub",
+ "title/success": "پیشتنظیم با موفقیت به روز شد",
+ "subtitle": "تغییرات را اعمال کنید و آنها را به Hub ارسال کنید",
+ "descriptionLabel": "توضیحات",
+ "descriptionPlaceholder": "توضیح وارد کنید...",
+ "loading": "در حال ارسال...",
+ "cancel": "لغو",
+ "createFreeAccount": "برای انتشار پیشتنظیمها یک حساب رایگان در Hub ایجاد کنید",
+ "error": "در ارسال تغییرات خطا رخ داده است",
+ "confirmUpdateButton": "ارسال"
+ },
+ "import": {
+ "title": "وارد کردن پیشتنظیم از فایل",
+ "dragPrompt": "فایلهای JSON پیشتنظیم را بکشید و رها کنید یا از کامپیوتر خود انتخاب کنید",
+ "remove": "حذف",
+ "cancel": "لغو",
+ "importPreset_zero": "وارد کردن پیشتنظیم",
+ "importPreset_one": "وارد کردن پیشتنظیم",
+ "importPreset_other": "وارد کردن {{count}} پیشتنظیم",
+ "selectDialog": {
+ "title": "فایل پیشتنظیم (.json) را انتخاب کنید",
+ "button": "وارد کردن"
+ },
+ "error": "در وارد کردن پیشتنظیم خطا رخ داده است",
+ "resultsModal": {
+ "titleSuccessSection_one": "1 پیشتنظیم با موفقیت وارد شد",
+ "titleSuccessSection_other": "{{count}} پیشتنظیم با موفقیت وارد شد",
+ "titleFailSection_zero": "",
+ "titleFailSection_one": "({{count}} ناموفق)",
+ "titleFailSection_other": "({{count}} ناموفق)",
+ "titleAllFailed": "وارد کردن پیشتنظیمها با شکست مواجه شد",
+ "importMore": "وارد کردن بیشتر",
+ "close": "تمام",
+ "successBadge": "موفق",
+ "alreadyExistsBadge": "پیشتنظیم قبلاً وجود دارد",
+ "errorBadge": "خطا",
+ "invalidFileBadge": "فایل نامعتبر",
+ "otherErrorBadge": "در وارد کردن پیشتنظیم خطا رخ داده است",
+ "errorViewDetailsButton": "مشاهده جزئیات",
+ "seeError": "مشاهده خطا",
+ "noName": "نام پیشتنظیم وجود ندارد",
+ "useInChat": "استفاده در چت"
+ },
+ "importFromUrl": {
+ "button": "وارد کردن از URL...",
+ "title": "وارد کردن از URL",
+ "back": "وارد کردن از فایل...",
+ "action": "URL پیشتنظیم را از Hub وارد کنید که میخواهید وارد کنید",
+ "invalidUrl": "URL نامعتبر است. لطفاً اطمینان حاصل کنید که URL صحیح را وارد میکنید.",
+ "tip": "شما میتوانید پیشتنظیم را مستقیماً با دکمه {{buttonName}} در LM Studio Hub نصب کنید",
+ "confirm": "وارد کردن",
+ "cancel": "لغو",
+ "loading": "در حال وارد کردن...",
+ "error": "در دانلود پیشتنظیم خطا رخ داده است."
+ }
+ },
+ "download": {
+ "title": "کشیدن از LM Studio Hub",
+ "subtitle": "ذخیره به پیشتنظیمهای شما. با این کار شما اجازه میدهید که از این پیشتنظیم در اپلیکیشن استفاده کنید",
+ "button": "کشیدن",
+ "button/loading": "در حال کشیدن...",
+ "cancel": "لغو",
+ "error": "در دانلود پیشتنظیم خطا رخ داده است."
+ },
+ "inclusiveness": {
+ "speculativeDecoding": "شامل در پیشتنظیم"
+ }
+ },
+
+ "flashAttentionWarning": "Flash Attention یک ویژگی آزمایشی است که ممکن است برای برخی از مدلها مشکلاتی ایجاد کند. اگر با مشکلی مواجه شدید، میتوانید آن را غیرفعال کنید.",
+ "llamaKvCacheQuantizationWarning": "KV Cache Quantization یک ویژگی آزمایشی است که ممکن است برای برخی از مدلها مشکلاتی ایجاد کند. برای فعالسازی V cache quantization، باید Flash Attention فعال باشد. اگر با مشکلی مواجه شدید، آن را به مقدار پیشفرض \"F16\" بازنشانی کنید.",
+
+ "seedUncheckedHint": "دانه تصادفی",
+ "ropeFrequencyBaseUncheckedHint": "خودکار",
+ "ropeFrequencyScaleUncheckedHint": "خودکار",
+
+ "hardware": {
+ "advancedGpuSettings": "تنظیمات پیشرفته GPU",
+ "advancedGpuSettings.info": "اگر مطمئن نیستید، این تنظیمات را به حالت پیشفرض رها کنید",
+ "advancedGpuSettings.reset": "بازنشانی به حالت پیشفرض",
+ "environmentVariables": {
+ "title": "متغیرهای محیطی",
+ "description": "متغیرهای محیطی فعال در طول عمر مدل.",
+ "key.placeholder": "متغیر را انتخاب کنید...",
+ "value.placeholder": "مقدار"
+ },
+ "mainGpu": {
+ "title": "GPU اصلی",
+ "description": "GPU ای که برای محاسبات مدل اولویت دارد.",
+ "placeholder": "GPU اصلی را انتخاب کنید..."
+ },
+ "splitStrategy": {
+ "title": "استراتژی تقسیم",
+ "description": "چگونه محاسبات مدل بین GPU ها تقسیم شود.",
+ "placeholder": "استراتژی تقسیم را انتخاب کنید..."
+ }
+ }
+
+ }
\ No newline at end of file
diff --git a/fa/developer.json b/fa/developer.json
new file mode 100644
index 0000000..0755c2f
--- /dev/null
+++ b/fa/developer.json
@@ -0,0 +1,169 @@
+{
+ "tabs/server": "سرور محلی",
+ "tabs/extensions": "اجرای مدلهای زبانی",
+ "loadSettings/title": "بارگذاری تنظیمات",
+ "modelSettings/placeholder": "مدلی را برای پیکربندی انتخاب کنید",
+
+ "loadedModels/noModels": "هیچ مدلی بارگذاری نشده است",
+
+ "serverOptions/title": "تنظیمات سرور",
+ "serverOptions/configurableTitle": "تنظیمات قابل پیکربندی",
+ "serverOptions/port/hint": "پورت شبکهای که سرور محلی از آن استفاده میکند را تنظیم کنید. به طور پیشفرض، LM Studio از پورت 1234 استفاده میکند. ممکن است نیاز به تغییر آن داشته باشید اگر پورت در حال استفاده باشد.",
+ "serverOptions/port/subtitle": "پورت برای گوش دادن",
+ "serverOptions/autostart/title": "راهاندازی خودکار سرور",
+ "serverOptions/autostart/hint": "سرور مدلهای زبان محلی LM Studio را هنگام راهاندازی برنامه یا سرویس به طور خودکار روشن کنید",
+ "serverOptions/port/integerWarning": "شماره پورت باید یک عدد صحیح باشد",
+ "serverOptions/port/invalidPortWarning": "پورت باید بین 1 و 65535 باشد",
+ "serverOptions/cors/title": "فعالسازی CORS",
+ "serverOptions/cors/hint1": "فعال کردن CORS (Cross-origin Resource Sharing) اجازه میدهد وبسایتهایی که بازدید میکنید درخواستهایی به سرور LM Studio ارسال کنند.",
+ "serverOptions/cors/hint2": "CORS ممکن است زمانی مورد نیاز باشد که از یک صفحه وب یا VS Code / افزونههای دیگر درخواست ارسال شود.",
+ "serverOptions/cors/subtitle": "اجازه درخواستهای متقابل از منابع",
+ "serverOptions/network/title": "ارائه سرور در شبکه محلی",
+ "serverOptions/network/subtitle": "افشای سرور به دستگاههای شبکه",
+ "serverOptions/network/hint1": "آیا اجازه میدهید ارتباطاتی از دستگاههای دیگر در شبکه برقرار شود؟",
+ "serverOptions/network/hint2": "اگر تیک نزنید، سرور تنها روی localhost گوش خواهد داد.",
+ "serverOptions/verboseLogging/title": "گزارشگیری دقیق",
+ "serverOptions/verboseLogging/subtitle": "فعالسازی گزارشگیری دقیق برای سرور محلی",
+ "serverOptions/contentLogging/title": "گزارشگیری درخواستها و پاسخها",
+ "serverOptions/contentLogging/subtitle": "تنظیمات گزارشگیری درخواستها / پاسخها در سرور محلی",
+ "serverOptions/contentLogging/hint": "آیا درخواستها و / یا پاسخها در فایل گزارش سرور محلی ثبت شوند؟",
+ "serverOptions/fileLoggingMode/title": "حالت گزارشگیری فایل",
+ "serverOptions/fileLoggingMode/off/title": "خاموش",
+ "serverOptions/fileLoggingMode/off/hint": "ایجاد فایل گزارش را متوقف کنید",
+ "serverOptions/fileLoggingMode/succinct/title": "مختصر",
+ "serverOptions/fileLoggingMode/succinct/hint": "محتوای مشابه کنسول را گزارشگیری کنید. درخواستهای طولانی کوتاه خواهند شد.",
+ "serverOptions/fileLoggingMode/full/title": "کامل",
+ "serverOptions/fileLoggingMode/full/hint": "درخواستهای طولانی کوتاه نشوند.",
+ "serverOptions/jitModelLoading/title": "بارگذاری مدل به موقع",
+ "serverOptions/jitModelLoading/hint": "هنگام فعال شدن، اگر درخواستی مدلی را مشخص کند که بارگذاری نشده است، به طور خودکار بارگذاری و استفاده خواهد شد. علاوه بر این، نقطه پایانی \"/v1/models\" مدلهایی که هنوز بارگذاری نشدهاند را شامل خواهد شد.",
+ "serverOptions/loadModel/error": "بارگذاری مدل شکست خورد",
+ "serverOptions/jitModelLoadingTTL/title": "بارگذاری خودکار مدلهای JIT غیر استفاده شده",
+ "serverOptions/jitModelLoadingTTL/hint": "مدلی که به موقع (JIT) بارگذاری شده باشد برای سرویسدهی به درخواست API، پس از مدتی (TTL) غیر فعال خواهد شد.",
+ "serverOptions/jitModelLoadingTTL/ttl/label": "حداکثر مدت زمان بیاستفاده",
+ "serverOptions/jitModelLoadingTTL/ttl/unit": "دقیقه",
+ "serverOptions/unloadPreviousJITModelOnLoad/title": "فقط مدل JIT آخر بارگذاری شده را نگه دارید",
+ "serverOptions/unloadPreviousJITModelOnLoad/hint": "اطمینان حاصل کنید که در هر زمان فقط یک مدل JIT بارگذاری شود (مدل قبلی بارگذاری شده تخلیه شود).",
+
+ "serverLogs/scrollToBottom": "پرش به پایین",
+ "serverLogs/clearLogs": "پاک کردن گزارشها ({{shortcut}})",
+ "serverLogs/openLogsFolder": "باز کردن پوشه گزارشهای سرور",
+
+ "runtimeSettings/title": "تنظیمات زمان اجرا",
+ "runtimeSettings/chooseRuntime/title": "انتخابهای پیشفرض",
+ "runtimeSettings/chooseRuntime/description": "یک زماناجرای پیشفرض برای هر فرمت مدل انتخاب کنید",
+ "runtimeSettings/chooseRuntime/showAllVersions/label": "نمایش همه نسخهها",
+ "runtimeSettings/chooseRuntime/showAllVersions/hint": "به طور پیشفرض، LM Studio فقط آخرین نسخه از هر زماناجرای سازگار را نمایش میدهد. این گزینه را فعال کنید تا تمام زمانهای اجرا موجود را مشاهده کنید.",
+ "runtimeSettings/chooseRuntime/select/placeholder": "یک زماناجرا انتخاب کنید",
+
+ "runtimeOptions/uninstall": "حذف نصب",
+ "runtimeOptions/uninstallDialog/title": "آیا {{runtimeName}} را حذف کنیم؟",
+ "runtimeOptions/uninstallDialog/body": "حذف این زماناجرا از سیستم آن را از سیستم حذف خواهد کرد. این عمل غیرقابل بازگشت است.",
+ "runtimeOptions/uninstallDialog/body/caveats": "برخی از فایلها ممکن است فقط پس از راهاندازی مجدد LM Studio حذف شوند.",
+ "runtimeOptions/uninstallDialog/error": "حذف زماناجرا شکست خورد",
+ "runtimeOptions/uninstallDialog/confirm": "ادامه و حذف نصب",
+ "runtimeOptions/uninstallDialog/cancel": "لغو",
+ "runtimeOptions/noCompatibleRuntimes": "هیچ زماناجرای سازگاری یافت نشد",
+ "runtimeOptions/downloadIncompatibleRuntime": "این زماناجرا مشخص شده که با ماشین شما سازگار نیست. احتمالاً کار نخواهد کرد.",
+ "runtimeOptions/noRuntimes": "هیچ زماناجرایی پیدا نشد",
+
+ "runtimes": {
+ "manageLMRuntimes": "مدیریت اجرای مدلهای زبان",
+ "includeOlderRuntimeVersions": "گنجاندن نسخههای قدیمیتر زماناجرای مدل",
+ "dismiss": "صرفنظر کردن",
+ "updateAvailableToast": {
+ "title": "بروزرسانی زماناجرای مدل زبان موجود است!"
+ },
+ "updatedToast": {
+ "title": " ✅ زماناجرای مدل زبان بروزرسانی شد: {{runtime}} → v{{version}}",
+ "preferencesUpdated": "مدلهای جدید بارگذاری شده با استفاده از زماناجرای بروزرسانی شده خواهند بود."
+ },
+ "noAvx2ErrorMessage": "تمامی زماناجرای مدلهای زبان فعلی به پشتیبانی از AVX2 نیاز دارند",
+ "downloadableRuntimes": {
+ "runtimeExtensionPacks": "بستههای افزونه زماناجرای مدل زبان",
+ "refresh": "بارگذاری مجدد",
+ "refreshing": "در حال بارگذاری مجدد...",
+ "filterSegment": {
+ "compatibleOnly": "فقط سازگار",
+ "all": "همه"
+ },
+ "card": {
+ "releaseNotes": "یادداشتهای نسخه",
+ "latestVersionInstalled": "آخرین نسخه نصب شده",
+ "updateAvailable": "بروزرسانی موجود"
+ }
+ },
+ "installedRuntimes": {
+ "manage": {
+ "title": "مدیریت زماناجرای فعال"
+ },
+ "dropdownOptions": {
+ "installedVersions": "مدیریت نسخهها",
+ "close": "بستن"
+ },
+ "tabs": {
+ "all": "همه",
+ "frameworks": "چارچوبهای من",
+ "engines": "موتورهای من"
+ },
+ "detailsModal": {
+ "installedVersions": "نسخههای نصب شده برای {{runtimeName}}",
+ "manifestJsonTitle": "فایل JSON Manifest (پیشرفته)",
+ "releaseNotesTitle": "یادداشتهای نسخه",
+ "noReleaseNotes": "یادداشت نسخهای برای این نسخه موجود نیست",
+ "back": "بازگشت",
+ "close": "بستن"
+ },
+ "noEngines": "هیچ موتوری نصب نشده است",
+ "noFrameworks": "هیچ چارچوبی نصب نشده است"
+ }
+ },
+
+ "inferenceParams/noParams": "هیچ پارامتر استنتاجی قابل پیکربندی برای این نوع مدل موجود نیست",
+
+ "quickDocs": {
+ "tabChipTitle": "اسناد سریع",
+ "newToolUsePopover": "قطعههای کد اکنون در \"اسناد سریع\" در دسترس هستند. اینجا را کلیک کنید تا با استفاده از ابزار آشنا شوید!",
+ "newToolUsePopoverTitle": "📚 اسناد سریع",
+ "learnMore": "ℹ️ 👾 برای یادگیری بیشتر در مورد نقاط پایانی سرور محلی LM Studio، به [مستندات](https://lmstudio.ai/docs) مراجعه کنید.",
+ "helloWorld": {
+ "title": "سلام، دنیا!"
+ },
+ "chat": {
+ "title": "چت"
+ },
+ "structuredOutput": {
+ "title": "خروجی ساختار یافته"
+ },
+ "imageInput": {
+ "title": "ورودی تصویر"
+ },
+ "embeddings": {
+ "title": "برداشتها"
+ },
+ "toolUse": {
+ "title": "استفاده از ابزار",
+ "tab": {
+ "saveAsPythonFile": "ذخیره به عنوان فایل پایتون",
+ "runTheScript": "اجرای اسکریپت:",
+ "savePythonFileCopyPaste": "ذخیره به عنوان فایل پایتون برای دستور کپی و چسباندن"
+ }
+ },
+ "newBadge": "جدید"
+ },
+
+ "endpoints/openaiCompatRest/title": "نقاط پایانی پشتیبانیشده (مشابه OpenAI)",
+ "endpoints/openaiCompatRest/getModels": "مدلهای بارگذاری شده کنونی را فهرست کنید",
+ "endpoints/openaiCompatRest/postCompletions": "حالت تکمیل متن. پیشبینی توکن(ها) بعدی با توجه به یک پرسش. توجه: OpenAI این نقطه پایانی را \"منسوخ شده\" در نظر میگیرد.",
+ "endpoints/openaiCompatRest/postChatCompletions": "تکمیلهای چت. ارسال تاریخچه چت به مدل برای پیشبینی پاسخ بعدی دستیار",
+ "endpoints/openaiCompatRest/postEmbeddings": "برداشتهای متن. ایجاد برداشتهای متن برای یک ورودی متنی دادهشده. یک رشته یا آرایهای از رشتهها را میگیرد.",
+
+ "model.createVirtualModelFromInstance": "ذخیره تنظیمات به عنوان یک مدل مجازی جدید",
+ "model.createVirtualModelFromInstance/error": "خطا در ذخیره تنظیمات به عنوان یک مدل مجازی جدید",
+
+ "model": {
+ "toolUseSectionTitle": "استفاده از ابزار",
+ "toolUseDescription": "این مدل شناسایی شده است که برای استفاده از ابزارها آموزش دیده است\n\nبرای اطلاعات بیشتر، اسناد سریع را باز کنید"
+ },
+
+ "apiConfigOptions/title": "پیکربندی API"
+}
diff --git a/fa/discover.json b/fa/discover.json
new file mode 100644
index 0000000..928737e
--- /dev/null
+++ b/fa/discover.json
@@ -0,0 +1,27 @@
+{
+ "collectionsColumn": "مجموعهها",
+ "collectionsColumn/collectionError": "خطا در بارگذاری جزئیات مجموعه، لطفاً دوباره از بالای صفحه برای بروزرسانی تلاش کنید",
+ "bookmarksColumn": "علامتگذاریها",
+ "searchBar/placeholder": "جستجو برای مدلها در Hugging Face...",
+ "searchBar/huggingFaceError": "خطا در دریافت نتایج از Hugging Face، لطفاً کمی بعد دوباره تلاش کنید",
+ "sortBy": "مرتبسازی بر اساس",
+ "searchSortKey.default/title": "بهترین تطابق",
+ "searchSortKey.likes/title": "بیشترین لایکها",
+ "searchSortKey.downloads/title": "بیشترین دانلودها",
+ "searchSortKey.lastModified/title": "بهروزرسانی اخیر",
+ "searchSortKey.createdAt/title": "ایجاد شده اخیراً",
+ "download.option.willFitEstimation.caveat": "ممکن است عوامل دیگری وجود داشته باشند که مانع بارگذاری آن شوند، مانند معماری مدل، صحت فایل مدل یا میزان حافظه موجود در رایانه شما.",
+ "download.option.willFitEstimation.fullGPUOffload/title": "انتقال کامل به GPU ممکن است",
+ "download.option.willFitEstimation.fullGPUOffload/description": "این مدل ممکن است به طور کامل در حافظه GPU شما قرار بگیرد. این میتواند زمان استنباط را به طور قابل توجهی تسریع کند.",
+ "download.option.willFitEstimation.partialGPUOffload/title": "انتقال جزئی به GPU ممکن است",
+ "download.option.willFitEstimation.partialGPUOffload/description": "این مدل ممکن است به طور جزئی در حافظه GPU شما قرار بگیرد. این معمولاً زمان استنباط را به طور قابل توجهی تسریع میکند.",
+ "download.option.willFitEstimation.fitWithoutGPU/title": "احتمالاً در حافظه جای میگیرد",
+ "download.option.willFitEstimation.fitWithoutGPU/description": "احتمالاً این مدل در حافظه دستگاه شما قرار میگیرد.",
+ "download.option.willFitEstimation.willNotFit/title": "احتمالاً خیلی بزرگ برای این دستگاه",
+ "download.option.willFitEstimation.willNotFit/description": "نیازهای حافظه برای استفاده موفق از این فایل مدل ممکن است از منابع موجود در دستگاه شما بیشتر باشد. دانلود این فایل توصیه نمیشود.",
+ "download.option.recommended/title": "توصیهشده",
+ "download.option.recommended/description": "با توجه به سختافزار شما، این گزینه توصیهشده است.",
+ "download.option.downloaded/title": "دانلود شده",
+ "download.option.downloading/title": "در حال دانلود ({{progressPercentile}}%)",
+ "feed.action.refresh": "بروزرسانی فید"
+}
diff --git a/fa/download.json b/fa/download.json
new file mode 100644
index 0000000..76d8f04
--- /dev/null
+++ b/fa/download.json
@@ -0,0 +1,23 @@
+{
+ "postDownloadActionExecutor.zipExtraction/status": "در حال استخراج...",
+ "finalizing": "در حال نهاییسازی دانلود... (این ممکن است چند لحظه طول بکشد)",
+ "noOptions": "هیچ گزینه سازگار برای دانلود موجود نیست",
+
+ "deeplink/confirmation/title": "دانلود مدل از Hugging Face 🤗",
+ "deeplink/confirmation/subtitle": "{{modelName}}",
+ "deeplink/confirmation/selectRecommended": "گزینه توصیهشده را انتخاب کنید",
+ "deeplink/confirmation/selectOption": "گزینه دانلود را انتخاب کنید",
+ "deeplink/confirmation/recommendedOption": "احتمالاً بهترین گزینه برای بیشتر کاربران",
+ "deeplink/confirmation/downloadButton": "دانلود",
+ "deeplink/confirmation/nevermindButton": "بیخیال",
+ "deeplink/confirmation/modelPresent/title": "مدل Hugging Face پیدا شد ✅",
+ "deeplink/confirmation/modelPresent/body": "خبر خوب! این فایل مدل هماکنون روی دستگاه شما موجود است.",
+ "deeplink/confirmation/loadInChat": "بارگذاری {{modelName}} در یک گفتوگوی جدید",
+ "deeplink/error/modelNotFound/title": "اوه اوه، نتواستیم این مدل را پیدا کنیم",
+ "deeplink/error/modelNotFound/body": "نام مدل را دوباره بررسی کنید و ممکن است بخواهید گزینه دانلود دیگری را امتحان کنید.",
+ "deeplink/actions/trySearching": "سعی کنید {{modelName}} را در Hugging Face جستجو کنید",
+
+ "downloadsPanel/title": "دانلودها",
+ "downloadsPanel/sectionTitle/ongoing": "در حال انجام",
+ "downloadsPanel/sectionTitle/completed": "اتمام شده"
+}
\ No newline at end of file
diff --git a/fa/models.json b/fa/models.json
new file mode 100644
index 0000000..7ef87a2
--- /dev/null
+++ b/fa/models.json
@@ -0,0 +1,93 @@
+{
+ "pageTitle": "مدلهای من",
+ "filterModels.placeholder": "فیلتر مدلها...",
+ "aggregate_one": "شما {{count}} مدل محلی دارید که {{size}} فضای دیسک را اشغال کرده است.",
+ "aggregate_other": "شما {{count}} مدل محلی دارید که {{size}} فضای دیسک را اشغال کرده است.",
+
+ "noModels.title": "مدلهای محلی شما در اینجا نمایش داده خواهند شد.",
+ "noModels.discoverButtonText.prefix": "روی دکمه",
+ "noModels.discoverButtonText.suffix": "در نوار کناری چپ کلیک کنید تا مدلهای جالب LLM را برای دانلود کشف کنید.",
+ "noModels.discoverModelsPrompt": "بروید و برخی مدلهای محلی LLM را کشف کنید!",
+
+ "modelsTable.arch/label": "معماری",
+ "modelsTable.params/label": "پارامترها",
+ "modelsTable.publisher/label": "ناشر",
+ "modelsTable.displayName/label": "نام",
+ "modelsTable.modelKey/label": "کلید مدل",
+ "modelsTable.size/label": "حجم",
+ "modelsTable.dateModified/label": "تاریخ اصلاح",
+ "modelsTable.actions/label": "اقدامات",
+
+ "modelsTable.quant/label": "کمیت",
+ "modelsTable.llms/label": "LLM",
+ "modelsTable.embeddingModels/label": "مدل جاسازی",
+
+ "action.model.delete": "حذف",
+ "action.model.delete.full": "حذف مدل",
+ "action.model.delete.confirmation/title": "حذف {{name}}",
+ "action.model.delete.confirmation/description": "آیا مطمئن هستید؟ این کار تمام فایلهای مرتبط با این مدل را از روی دستگاه شما به طور دائمی حذف خواهد کرد. این عمل برگشتناپذیر است.",
+ "action.model.delete.confirmation/confirm": "حذف",
+
+ "action.createVirtual": "ایجاد پیشتنظیم",
+ "action.createVirtual.details/title": "ایجاد پیشتنظیم",
+ "action.createVirtual.details/create": "ایجاد",
+ "action.createVirtual.details/cancel": "لغو",
+ "action.createVirtual.details.base/label": "مدل پایه",
+ "action.createVirtual.details.name/label": "نام",
+ "action.createVirtual.details.includeMachineDependent/label": "شامل پیکربندیهای وابسته به دستگاه",
+ "action.createVirtual.details.includeMachineDependent/hint": "آیا پیکربندیهای وابسته به دستگاه (مانند تنظیمات GPU) را در پیشتنظیم گنجانده شود؟ این کار برای به اشتراکگذاری توصیه نمیشود.",
+ "action.createVirtual.details.config/label": "پیکربندیهای اضافی",
+ "action.createVirtual.details.config.empty": "بدون پیکربندی اضافی",
+ "action.createVirtual.details/error": "ایجاد مدل مجازی با شکست مواجه شد.",
+
+ "loader.model.bundled": "پیوسته",
+ "action.cancel": "لغو",
+ "indexingOngoing": "در حال ایندکس کردن مدلها... این کار ممکن است چند ثانیه طول بکشد",
+ "index/error_one": "ایندکس کردن پوشه زیر با شکست مواجه شد:",
+ "index/error_other": "ایندکس کردن پوشههای زیر با شکست مواجه شد:",
+ "badModels/title_one": "ایندکس کردن مدل زیر با شکست مواجه شد:",
+ "badModels/title_other": "ایندکس کردن مدلهای زیر با شکست مواجه شد:",
+ "badModels.virtualModelIncorrectPlacement": "قرارگیری اشتباه مدل مجازی. باید در {{expected}} باشد. در {{actual}} پیدا شد.",
+ "badModels.virtualModelBadManifest": "منشور مدل مجازی نامعتبر (model.yaml):",
+ "unresolvedVirtualModels/title_one": "حل نشدن مدل مجازی زیر:",
+ "unresolvedVirtualModels/title_other": "حل نشدن مدلهای مجازی زیر:",
+ "unresolvedVirtualModels.missingModel": "مدل وابسته گم شده است: {{missing}}. مسیر وابستگی:\n{{chain}}",
+ "unresolvedVirtualModels.circular": "وابستگی دایرهای شناسایی شد.",
+
+ "modelsDirectory": "پوشه مدلها",
+ "modelsDirectory.change": "تغییر...",
+ "modelsDirectory.reset": "بازنشانی به مسیر پیشفرض",
+ "modelsDirectory.reveal.mac": "نمایش در Finder",
+ "modelsDirectory.reveal.nonMac": "باز کردن در File Explorer",
+ "modelsDirectory.forceReindex": "بروزرسانی",
+ "loadState/loaded": "بارگذاری شده",
+ "loadState/loading": "در حال بارگذاری",
+ "loadState/unloaded": "بارگذاری نشده",
+ "loadState/unloading": "در حال پاک کردن بار",
+ "loadState/idle": "بیکار",
+ "pinned": "این مدل سنجاق شده است. برای حذف سنجاق، راست کلیک کنید.",
+ "lastUsed": "آخرین بار استفاده شده",
+ "contextMenu/pin": "سنجاق به بالا",
+ "contextMenu/unpin": "حذف سنجاق",
+ "contextMenu/copyAbsolutePath": "کپی مسیر مطلق",
+ "contextMenu/copyModelName": "کپی مسیر مدل",
+ "contextMenu/copyModelDefaultIdentifier": "کپی شناسه پیشفرض مدل",
+ "contextMenu/showRawMetadata": "نمایش دادههای خام متادیتا",
+ "contextMenu/openOnHuggingFace": "باز کردن در Hugging Face",
+ "tooltip/moreActions": "عملیات بیشتر",
+ "tooltip/getInfo": "دریافت اطلاعات",
+ "tooltip/editModelDefaultConfig": "ویرایش پیکربندی پیشفرض مدل",
+ "tooltip/editModelDefaultConfig/override": "ویرایش پیکربندی پیشفرض مدل (* دارای پیکربندیهای اضافی)",
+ "tooltip/visionBadge": "این مدل میتواند ورودیهای تصویری را پردازش کند",
+ "tooltip/toolUseBadge": "این مدل برای استفاده از ابزار آموزش دیده است",
+
+ "visionBadge/label": "فعالسازی بینایی",
+ "toolUseBadge/label": "آموزش برای استفاده از ابزار",
+
+ "loader.action.load": "بارگذاری مدل",
+ "loader.action.clearChanges": "پاک کردن تغییرات",
+ "loader.action.cancel": "لغو",
+ "loader.info.clickOnModelToLoad": "روی یک مدل کلیک کنید تا آن را بارگذاری کنید",
+ "loader.info.configureLoadParameters": "پارامترهای بارگذاری مدل را پیکربندی کنید",
+ "loader.info.activeGeneratorWarning": "شما از یک افزونه با یک تولیدکننده سفارشی استفاده میکنید. مدل بارگذاری شده شما ممکن است یا نباشد تحت این افزونه اعمال شود، بسته به پیادهسازی تولیدکننده"
+}
diff --git a/fa/onboarding.json b/fa/onboarding.json
new file mode 100644
index 0000000..b9b6c79
--- /dev/null
+++ b/fa/onboarding.json
@@ -0,0 +1,42 @@
+{
+ "action.skipOnboarding": "رد کردن مراحل معرفی",
+ "action.next": "بعدی",
+ "action.back": "قبلی",
+ "action.finish": "پایان",
+
+ "dismissable_rag_modal": {
+ "description": "اکنون میتوانید با استفاده از مدل بازیابی با تقویت تولید (RAG) با اسناد خود چت کنید. اینجا نحوه عملکرد آن است:",
+ "instructions": {
+ "attach_files": {
+ "title": "فایلها را پیوست کنید",
+ "description": "حداکثر 5 فایل را در یک زمان آپلود کنید، با حداکثر اندازه ترکیبی 30 مگابایت. فرمتهای پشتیبانیشده شامل PDF، DOCX، TXT و CSV هستند."
+ },
+ "be_specific": {
+ "title": "خاص باشید",
+ "description": "هنگام پرسیدن سوالات، تا حد امکان جزئیات بیشتری ذکر کنید. این کار به سیستم کمک میکند تا مرتبطترین اطلاعات را از اسناد شما بازیابی کند."
+ },
+ "get_responses": {
+ "title": "پاسخها را دریافت کنید و آزمایش کنید",
+ "description": "مدل زبان بزرگ (LLM) به سوال شما و قطعات بازیابی شده از اسناد شما نگاه میکند و سعی میکند یک پاسخ تولید کند. با پرسشهای مختلف آزمایش کنید تا بهترین نتیجه را بیابید."
+ }
+ }
+ },
+
+ "toolUse": {
+ "step_0": {
+ "title": "نسخه بتا: استفاده از ابزار 🛠️ (فراخوانی توابع)",
+ "text_0": "برخی از مدلها (مثلاً Llama 3.1/3.2، Mistral، Qwen و غیره) برای استفاده از ابزارها آموزش دیدهاند.",
+ "text_1": "این به این معناست که شما یک آرایه از 'ابزارها' (امضاهای تابع) را به مدل زبان بزرگ (LLM) به صورت خاصی میدهید، و مدل میتواند تصمیم بگیرد که آیا آنها را بر اساس دستور کاربر فراخوانی کند یا نه.",
+ "text_2": "شما میتوانید موارد استفادهای مانند پرسش از یک API، اجرای کد، یا هر چیزی که بتوان آن را به عنوان یک فراخوانی تابع بیان کرد، تصور کنید."
+ },
+ "step_1": {
+ "title": "شروع با استفاده از ابزار",
+ "toolUseCanWorkWithAnyModel": "مدلهایی که برای استفاده از ابزار آموزش دیدهاند، عملکرد بهتری نسبت به سایر مدلها خواهند داشت، اما شما میتوانید از ابزارها با هر مدلی استفاده کنید. برای اطلاعات بیشتر، مستندات را بخوانید.\nمدلهایی که برای استفاده از ابزار آموزش دیدهاند با یک نشان جدید مشخص میشوند:",
+ "hasCompatibleModel": "🎉 به نظر میرسد که شما مدلهایی با پشتیبانی از ابزار دارید!",
+ "downloadRecommendedModel": "مدلی که برای استفاده از ابزار آموزش دیده است را دانلود کنید:"
+ },
+ "nextButton": "بعدی",
+ "letsGoButton": "مدل را بارگذاری کنید و سرور را شروع کنید",
+ "doneButton": "انصراف"
+ }
+}
\ No newline at end of file
diff --git a/fa/settings.json b/fa/settings.json
new file mode 100644
index 0000000..1c4f47f
--- /dev/null
+++ b/fa/settings.json
@@ -0,0 +1,184 @@
+{
+ "settingsDialogTitle": "تنظیمات اپلیکیشن",
+ "settingsDialogButtonTooltip": "تنظیمات اپلیکیشن",
+
+ "settingsNewButtonPopover": {
+ "primary": "تنظیمات اپلیکیشن اکنون در گوشه پایین-راست قرار دارند",
+ "secondary": "برای باز کردن آنها روی دکمه ⚙️ کلیک کنید.",
+ "tertiary": "یا دکمه را فشار دهید"
+ },
+ "appUpdate": "بهروزرسانی اپلیکیشن",
+ "checkingAppUpdate": "در حال بررسی بهروزرسانیها...",
+ "checkForUpdates": "بررسی بهروزرسانیها",
+ "failedCheckingAppUpdate": "خطا در بررسی بهروزرسانیها",
+ "newUpdateAvailable": "نسخه جدیدی از LM Studio موجود است! 🎉",
+ "newBetaUpdateAvailable": "نسخه بتا جدیدی از LM Studio موجود است! 🛠️🎉",
+ "downloadingInProgress": "در حال دانلود بهروزرسانی...",
+ "downloadUpdate": "بهروزرسانی به LM Studio {{version}}",
+ "downloadBetaUpdate": "بهروزرسانی به LM Studio Beta {{version}} (ساخت {{build}})",
+ "downloadCompleted": "دانلود کامل شد!",
+ "updateDownloadComplete": "بهروزرسانی LM Studio آماده است",
+ "updateDownloadFailed": "بهروزرسانی ناموفق بود!",
+ "hasFinishedDownloading": "دانلود تمام شد.",
+ "yourCurrentVersion": "نسخه فعلی شما:",
+ "latestVersion": "آخرین نسخه:",
+ "downloadLabel": "الان بهروزرسانی کن",
+ "downloadLabel/Linux": "دانلود بهروزرسانی",
+ "cancelDownloadLabel": "لغو دانلود",
+ "downloadingUpdate": "در حال دانلود {{item}}...",
+ "updateDownloaded": "برای اعمال بهروزرسانی، اپلیکیشن باید مجدداً راهاندازی شود",
+ "restartAppToUpdate": "برای اعمال بهروزرسانی، اپلیکیشن را دوباره راهاندازی کنید",
+ "appUpdatedToastTitle": "به {{title}} بهروزرسانی شد",
+ "appUpdatedToastDescriptionPrefix": "مشاهده ",
+ "AppUpdatedToastDescriptionReleaseNotes": "یادداشتهای نسخه",
+ "toolUseToastTitle": "جدید در بتا: استفاده از ابزار و API فراخوانی توابع",
+ "toolUseToastDescription": "جایگزین آماده برای استفاده از ابزار OpenAI با مدلهای منتخب مانند Llama 3.1/3.2، Mistral و Qwen.",
+ "toolUseToastButtonText": "به صفحه توسعهدهنده بروید تا امتحان کنید",
+ "doItLater": "بعداً انجام میدهم",
+ "failedToUpdate": "بهروزرسانی اپلیکیشن ناموفق بود. لطفاً اتصال اینترنت خود را دوباره بررسی کنید یا بعداً دوباره تلاش کنید.",
+ "retryInBackground": "در پسزمینه دوباره تلاش کن",
+ "laterLabel": "بعداً",
+ "releaseNotesLabel": "یادداشتهای نسخه",
+ "remindMeLater": "بعداً یادآوری کن",
+ "failedDownloadUpdate": "دانلود بهروزرسانی ناموفق بود",
+ "installAndRelaunch": "نصب و راهاندازی مجدد",
+ "uptodate": "شما کاملاً بهروز هستید! نسخه فعلی {{version}} است",
+ "preferences": "تنظیمات",
+ "general": "عمومی",
+ "sideButtonLabels": "نمایش برچسبهای دکمه جانبی",
+ "showModelFileNames": "مدلهای من: همیشه نام کامل فایل مدل را نمایش بده",
+ "colorThemeLabel": "تم رنگی",
+ "complexityLevelLabel": "سطح پیچیدگی رابط کاربری",
+ "selectComplexityLevelPlaceholder": "سطح پیچیدگی پیشفرض رابط کاربری را انتخاب کنید",
+ "userComplexityLevelLabel": "کاربر",
+ "powerUserComplexityLevelLabel": "کاربر پیشرفته",
+ "developerComplexityLevelLabel": "توسعهدهنده",
+ "chatSettingsLabel": "تنظیمات چت",
+ "chat/alwaysShowPromptTemplate": "همیشه الگوی درخواست را در نوار کناری چت نمایش بده",
+ "chat/highlightChatMessageOnHover": "پیام چت را هنگام قرارگیری موس برجسته کن",
+ "chat/doubleClickMessageToEdit": "برای ویرایش پیام چت دوبار کلیک کن",
+
+ "chat/aiNaming/label": "نامگذاری هوش مصنوعی در چت",
+ "chat/aiNaming/mode/label": "نامهای تولیدی هوش مصنوعی برای چت",
+ "chat/aiNaming/mode/value/never": "هرگز",
+ "chat/aiNaming/mode/value/never/subTitle": "نامهای تولیدی هوش مصنوعی را ایجاد نکن",
+ "chat/aiNaming/mode/value/auto": "اتوماتیک",
+ "chat/aiNaming/mode/value/auto/subTitle": "تصمیم میگیرد که آیا نامها را بر اساس سرعت تولید ایجاد کند یا نه",
+ "chat/aiNaming/mode/value/always": "همیشه",
+ "chat/aiNaming/mode/value/always/subTitle": "همیشه نامهای تولیدی هوش مصنوعی را ایجاد کن بدون توجه به سرعت تولید",
+ "chat/aiNaming/emoji": "استفاده از ایموجیها در نامهای تولیدی هوش مصنوعی",
+ "chat/keyboardShortcuts/label": "میانبرهای صفحهکلید",
+ "chat/keyboardShortcuts/verbPrefix": "استفاده کن",
+ "chat/keyboardShortcuts/regenerate": "برای تولید مجدد آخرین پیام در چت",
+ "chat/keyboardShortcuts/sendMessage": "برای ارسال پیام",
+
+ "onboarding/blockTitle": "راهنمای شروع کار",
+ "onboarding/dismissedHints": "راهنماهای شروع کار کنار گذاشته شده",
+ "onboarding/resetHintTooltip": "برای فعال کردن دوباره این راهنما کلیک کنید",
+ "onboarding/resetAllHints": "تمام راهنماهای شروع کار را تنظیم مجدد کن",
+ "onboarding/noneDismissed": "هیچ راهنمایی کنار گذاشته نشده است، در حال حاضر تمام راهنماهای شروع کار نمایش داده خواهند شد تا زمانی که کنار گذاشته شوند",
+
+ "firstTimeExperienceLabel": "تجربه اولین بار چت",
+ "firstTimeExperienceMarkCompletedLabel": "بهعنوان تکمیلشده علامتگذاری کن",
+ "firstTimeExperienceResetLabel": "تنظیم مجدد",
+ "showPromptSuggestionsLabel": "نمایش پیشنهادات برای درخواستها هنگام ایجاد چت جدید",
+ "darkThemeLabel": "تاریک",
+ "lightThemeLabel": "روشن",
+ "systemThemeLabel": "خودکار",
+ "sepiaThemeLabel": "Sepia",
+ "unloadPreviousModelLabel": "هنگام انتخاب مدل برای بارگذاری، ابتدا مدلهای بارگذاریشده قبلی را آزاد کن",
+ "languageLabel": "زبان",
+ "changeLanguageLabel": "انتخاب زبان اپلیکیشن (هنوز در حال توسعه)",
+ "developerLabel": "توسعهدهنده",
+ "localServiceLabel": "سرویس LLM محلی (بدون رابط کاربری)",
+ "showExperimentalFeaturesLabel": "نمایش ویژگیهای آزمایشی",
+ "appFirstLoadLabel": "تجربه بارگذاری اول اپلیکیشن",
+ "showDebugInfoBlocksInChatLabel": "نمایش بلوکهای اطلاعات اشکالزدایی در چت",
+ "autoLoadBundledLLMLabel": "بارگذاری خودکار مدل LLM بستهبندیشده در شروع",
+ "showReleaseNotes": "نمایش یادداشتهای نسخه",
+ "hideReleaseNotes": "مخفی کردن یادداشتهای نسخه",
+
+ "backendDownloadNewUpdate": "نسخههای جدیدتر پشتیبانی در دسترس هستند!",
+ "backendDownloadNewUpdateAction": "به صفحه توسعهدهندگان بروید",
+
+ "backendDownloadChannel.label": "کانال دانلود بستههای افزونه LM Studio",
+ "backendDownloadChannel.value.stable": "پایدار",
+ "backendDownloadChannel.value.beta": "بتا",
+ "backendDownloadChannel.value.latest": "نسخه توسعهدهندگان",
+ "backendDownloadChannel.shortLabel": "کانال دانلود زمان اجرا",
+ "backendDownloadChannel.hint": "کانالی را برای دانلود بستههای افزونه LM Studio انتخاب کنید. \"{{stableName}}\" کانال پیشنهادی برای بیشتر کاربران است.",
+
+ "appUpdateChannel.label": "کانال بهروزرسانی اپلیکیشن",
+ "appUpdateChannel.value.stable": "پایدار",
+ "appUpdateChannel.value.beta": "بتا",
+ "appUpdateChannel.value.alpha": "آلفا",
+ "appUpdateChannel.shortLabel": "کانال بهروزرسانی اپلیکیشن",
+ "appUpdateChannel.hint": "کانالی را برای دریافت بهروزرسانیهای اپلیکیشن LM Studio انتخاب کنید. \"{{stableName}}\" کانال پیشنهادی برای بیشتر کاربران است.",
+
+ "modelLoadingGuardrails.label": "خطوط راهنما برای بارگذاری مدل",
+ "modelLoadingGuardrails.description": "بارگذاری مدلها فراتر از محدودیتهای منابع سیستم ممکن است باعث عدم پایداری یا قفل شدن سیستم شود. خطوط راهنما از بارگذاری تصادفی بیش از حد جلوگیری میکنند. این محدودیتها را در صورت نیاز اینجا تنظیم کنید، اما مراقب باشید که بارگذاری مدلها نزدیک به محدودیت سیستم ممکن است پایداری را کاهش دهد.",
+ "modelLoadingGuardrails.value.off": "غیرفعال (توصیه نمیشود)",
+ "modelLoadingGuardrails.value.off/subTitle": "هیچ احتیاطی برای جلوگیری از بارگذاری بیش از حد سیستم وجود ندارد",
+ "modelLoadingGuardrails.value.off/detail": "جزئیات غیرفعال",
+ "modelLoadingGuardrails.value.low": "آزاد",
+ "modelLoadingGuardrails.value.low/subTitle": "احتیاطهای ملایم برای جلوگیری از بارگذاری بیش از حد سیستم",
+ "modelLoadingGuardrails.value.low/detail": "جزئیات آزاد",
+ "modelLoadingGuardrails.value.medium": "متعادل",
+ "modelLoadingGuardrails.value.medium/subTitle": "احتیاطهای متوسط برای جلوگیری از بارگذاری بیش از حد سیستم",
+ "modelLoadingGuardrails.value.medium/detail": "جزئیات متعادل",
+ "modelLoadingGuardrails.value.high": "سختگیرانه",
+ "modelLoadingGuardrails.value.high/subTitle": "احتیاطهای قوی برای جلوگیری از بارگذاری بیش از حد سیستم",
+ "modelLoadingGuardrails.value.high/detail": "جزئیات سختگیرانه",
+
+ "modelLoadingGuardrails.value.custom": "سفارشی",
+ "modelLoadingGuardrails.value.custom/subTitle": "حداکثر اندازه مدل قابل بارگذاری را خودتان تنظیم کنید",
+ "modelLoadingGuardrails.value.custom/detail": "جزئیات سفارشی",
+ "modelLoadingGuardrails.custom.label": "محدودیت حافظه: ",
+ "modelLoadingGuardrails.custom.unitGB": "گیگابایت",
+ "modelLoadingGuardrails.custom.description": "یک محدودیت حافظه سفارشی برای بارگذاری مدلها تنظیم کنید. مدلها اگر بارگذاری آنها از این حد بیشتر شود، بارگذاری نخواهند شد.",
+
+ "experimentalLoadPresets": "فعالسازی پشتیبانی از تنظیمات بارگذاری مدل در پیشتنظیمها",
+ "experimentalLoadPresets.description": "آیا اجازه دهید پیشتنظیمها شامل تنظیمات بارگذاری مدل باشند. این ویژگی هنوز آزمایشی است و ما از بازخورد شما استقبال میکنیم.",
+
+ "unloadPreviousJITModelOnLoad": "مدلهای JIT خودکار تخلیه شوند: اطمینان حاصل کنید که در هر زمان تنها یک مدل JIT بارگذاری میشود (مدل قبلی تخلیه میشود)",
+ "autoUpdateExtensionPacks": "بروزرسانی خودکار بستههای گسترش انتخابشده Runtime",
+ "useHFProxy.label": "استفاده از پراکسی Hugging Face در LM Studio",
+ "useHFProxy.hint": "از پراکسی Hugging Face در LM Studio برای جستجو و دانلود مدلها استفاده کنید. این میتواند به کاربرانی که در دسترسی مستقیم به Hugging Face مشکل دارند، کمک کند.",
+ "separateReasoningContentInResponses": "زمانی که مناسب است، `reasoning_content` و `content` را در پاسخهای API جدا کنید",
+ "separateReasoningContentInResponses/hint": "این تنظیم تنها برای مدلهای 'reasoning' مانند DeepSeek R1، نسخههای تقطیع شده آن و سایر مدلهایی که CoT را در تگهای `` و `` تولید میکنند، کار خواهد کرد.",
+
+ "promptWhenCommittingUnsavedChangesWithNewFields": "پیشتنظیمها: نمایش دیالوگ تأیید هنگام اضافه کردن فیلدهای جدید به پیشتنظیم",
+ "promptWhenCommittingUnsavedChangesWithNewFields.description": "این گزینه مفید است اگر بخواهید از اضافه کردن تصادفی فیلدهای جدید به پیشتنظیمها جلوگیری کنید.",
+
+ "enableLocalService": "فعالسازی سرویس LLM محلی",
+ "enableLocalService.subtitle": "از سرور LLM LM Studio بدون نیاز به باز نگه داشتن برنامه LM Studio استفاده کنید",
+ "enableLocalService.description": "هنگامی که فعال باشد، سرویس LLM محلی LM Studio در زمان راهاندازی اجرا خواهد شد. بستن LM Studio همچنین سرویس LLM محلی را در سینی سیستم باقی خواهد گذاشت.",
+
+ "expandConfigsOnClick": "تنظیمات را با کلیک کردن گسترش دهید نه با هاور کردن",
+
+ "migrateChats": {
+ "label": "مهاجرت چتهای پیش از نسخه 0.3.0",
+ "hasBetterLabel": "مهاجرت مجدد چتهای پیش از نسخه 0.3.0",
+ "action_one": "مهاجرت 1 چت",
+ "action_other": "مهاجرت {{count}} چت",
+ "inProgress": "در حال مهاجرت چتها...",
+ "hint": {
+ "primary": "ساختار داده داخلی برای چتهای نسخه 0.3.0 به بالا بازنگری شده است تا ویژگیهایی مانند پیامهای چند نسخهای چت را پشتیبانی کند. برای اینکه چتهای قدیمی در برنامه نمایش داده شوند، باید به فرمت جدید مهاجرت کنند.",
+ "details": "فرآیند مهاجرت چتهای قدیمی را پاک نخواهد کرد، بلکه یک نسخه از آنها را به فرمت جدید کپی خواهد کرد.",
+ "footer": "شما همچنان میتوانید چتهای قدیمی خود را از طریق نسخههای قدیمیتر LM Studio دسترسی داشته باشید. در حال حاضر، تصاویر به طور خودکار مهاجرت نمیکنند."
+ },
+ "hasBetterHint": {
+ "primary": "ما مهاجرتکننده چت را بهبود دادهایم از زمانی که چتهای قدیمی خود را مهاجرت کردهاید. آیا میخواهید دوباره آن را اجرا کنید؟",
+ "details": "فرآیند مهاجرت یک پوشه جدید برای نگهداری چتهای مهاجرت شده جدید ایجاد خواهد کرد. چتهای قدیمی شما دستنخورده باقی خواهند ماند.",
+ "footer": "شما همچنان میتوانید چتهای قدیمی خود را از طریق نسخههای قدیمیتر LM Studio دسترسی داشته باشید. در حال حاضر، تصاویر به طور خودکار مهاجرت نمیکنند."
+ },
+ "success": "چتها با موفقیت مهاجرت شدند!",
+ "success_one": "1 چت با موفقیت مهاجرت شد",
+ "success_other": "{{count}} چت با موفقیت مهاجرت شدند",
+ "showInstructionsButton": "نمایش دستورالعملها",
+ "footerCardText": "چتهای نسخههای قبلی LM Studio باید مهاجرت شوند تا در این نسخه قابل استفاده باشند.",
+ "hasBetterFooterCardText": "ما مهاجرتکننده چت را بهبود دادهایم از زمانی که چتهای قدیمی خود را مهاجرت کردهاید. میتوانید فرآیند مهاجرت را دوباره اجرا کنید. (ما یک پوشه جدید برای نگهداری چتهای مهاجرت شده جدید ایجاد خواهیم کرد.)",
+ "dismissConfirm": "رد کردن",
+ "dismissConfirmDescription": "شما همیشه میتوانید مهاجرت چتها را در تنظیمات مدیریت کنید"
+ }
+}
diff --git a/fa/shared.json b/fa/shared.json
new file mode 100644
index 0000000..9097fb9
--- /dev/null
+++ b/fa/shared.json
@@ -0,0 +1,38 @@
+{
+ "copyLmStudioLinkButton/toolTip": "کپی لینک دانلود مدل",
+
+ "filter.noMatches": "هیچ موردی یافت نشد",
+ "longRunningTask": {
+ "unbundlingDependencies": {
+ "badge": "استخراج منابع"
+ },
+ "performingBackendHardwareSurvey": {
+ "badge": "بررسی سازگاریهای زمان اجرا"
+ },
+ "indexingRuntimes": {
+ "badge": "ایندکس کردن زمانهای اجرا"
+ },
+ "indexingModels": {
+ "badge": "ایندکس کردن مدلها"
+ },
+ "authenticating": {
+ "badge": "احراز هویت"
+ },
+ "autoUpdatingExtensionPack": {
+ "badge": "بروزرسانی بسته افزونه ({{name}} v{{version}})"
+ }
+ },
+ "auth": {
+ "prompt": "وارد حساب LM Studio Hub شوید",
+ "authError": "احراز هویت ناموفق بود",
+ "noAccount": "حساب کاربری ندارید؟",
+ "signUp": "ثبت نام",
+ "havingTrouble": "دچار مشکل شدهاید؟",
+ "retry": "تلاش مجدد"
+ },
+ "artifacts": {
+ "fetchError": "دریافت منابع با شکست مواجه شد"
+ },
+ "incompatible": "ناسازگار",
+ "compatible": "سازگار"
+}
\ No newline at end of file
diff --git a/fa/sidebar.json b/fa/sidebar.json
new file mode 100644
index 0000000..7fd511d
--- /dev/null
+++ b/fa/sidebar.json
@@ -0,0 +1,9 @@
+{
+ "chat": "چت",
+ "discover": "کشف",
+ "myModels": "مدلهای من",
+ "developer": "توسعهدهنده",
+ "runtimes": "زمان اجرا",
+ "settings": "تنظیمات",
+ "download": "دانلودها"
+}
\ No newline at end of file