Merge pull request #165 from asedmammad/feat/add-persian-i18n
Add Persian (Farsi) language
This commit is contained in:
commit
fa42f71821
13
src/assets/locale/fa/chrome.json
Normal file
13
src/assets/locale/fa/chrome.json
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"heading": "تنظیمات AI کروم",
|
||||||
|
"status": {
|
||||||
|
"label": "فعال یا غیر فعال کردن پشتیبانی از AI کروم"
|
||||||
|
},
|
||||||
|
"error": {
|
||||||
|
"browser_not_supported": "این نسخه از کروم توسط مدل Gemini Nano پشتیبانی نمی شود. لطفا به نسخه ۱۲۷ یا بالاتر به روزرسانی کنید.",
|
||||||
|
"ai_not_supported": "تنظیم chrome://flags/#prompt-api-for-gemini-nano فعال نشده است. لطفا فعالش کنید..",
|
||||||
|
"ai_not_ready": "Gemini Nano هنوز آماده نیست; تنظیمات کروم را مجددا بررسی کنید.",
|
||||||
|
"internal_error": "یک خطای داخلی رخ داد. لطفا بعدا مجددا تلاش نمایید."
|
||||||
|
},
|
||||||
|
"errorDescription": "برای استفاده از AI کروم، به نسخه مرورگر بالاتر از ۱۲۷ احتیاج دارید که اکنون در کانال های Dev و Canary در دسترس است. بعد از دریافت نسخه پشتیبانی شده این گام ها را دنبال کنید: \n\n۱. به `chrome://flags/#prompt-api-for-gemini-nano` بروید و \"Enable\" را انتخاب کنید.\n۲. به `chrome://flags/#optimization-guide-on-device-model` بروید و \"EnabledBypassPrefRequirement\" را انتخاب کنید.\n۳. به `chrome://components` بروید و \"Optimization Guide On Device Model\" را جستجو کنید، بر روی \"Check for Update\" کلیک کنید. این کار مدل را دریافت خواهد کرد. اگر این تنظیمات را نمی بینید، گام های ۱ و ۲ را تکرار و مرورگر را مجددا اجرا کنید."
|
||||||
|
}
|
88
src/assets/locale/fa/common.json
Normal file
88
src/assets/locale/fa/common.json
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
{
|
||||||
|
"pageAssist": "دستیار صفحه",
|
||||||
|
"selectAModel": "یک مدل انتخاب کنید",
|
||||||
|
"save": "ذخیره",
|
||||||
|
"saved": "ذخیره شد",
|
||||||
|
"cancel": "لغو",
|
||||||
|
"retry": "تلاش مجدد",
|
||||||
|
"share": {
|
||||||
|
"tooltip": {
|
||||||
|
"share": "اشتراک گذاری"
|
||||||
|
},
|
||||||
|
"modal": {
|
||||||
|
"title": "اشتراک گذاری لینک به گپ"
|
||||||
|
},
|
||||||
|
"form": {
|
||||||
|
"defaultValue": {
|
||||||
|
"name": "ناشناس",
|
||||||
|
"title": "گپ بی نام"
|
||||||
|
},
|
||||||
|
"title": {
|
||||||
|
"label": "عنوان گپ",
|
||||||
|
"placeholder": "عنوان گپ را وارد کنید",
|
||||||
|
"required": "وارد کردن عنوان چت الزامی است"
|
||||||
|
},
|
||||||
|
"name": {
|
||||||
|
"label": "نام شما",
|
||||||
|
"placeholder": "نام خود را وارد کنید",
|
||||||
|
"required": "وارد کردن نام الزامی است"
|
||||||
|
},
|
||||||
|
"btn": {
|
||||||
|
"save": "ایجاد لینک",
|
||||||
|
"saving": "در حال ایجاد لینک..."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification": {
|
||||||
|
"successGenerate": "پیوند در کلیپ بورد کپی شد",
|
||||||
|
"failGenerate": "پیوند ایجاد نشد"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"copyToClipboard": "کپی به کلیپ بورد",
|
||||||
|
"webSearch": "جستجوی وب",
|
||||||
|
"regenerate": "ایجاد مجدد",
|
||||||
|
"edit": "ویرایش",
|
||||||
|
"saveAndSubmit": "ذخیره و ارسال",
|
||||||
|
"editMessage": {
|
||||||
|
"placeholder": "یک پیام وارد کنید..."
|
||||||
|
},
|
||||||
|
"submit": "ارسال",
|
||||||
|
"noData": "اطلاعاتی وجود ندارد",
|
||||||
|
"noHistory": "تاریخچه گپ وجود ندارد",
|
||||||
|
"chatWithCurrentPage": "گپ زدن با این صفحه",
|
||||||
|
"beta": "بتا",
|
||||||
|
"tts": "بلند بخوان",
|
||||||
|
"currentChatModelSettings": "تنظیمات مدل گپ فعلی",
|
||||||
|
"modelSettings": {
|
||||||
|
"label": "تنظیمات مدل",
|
||||||
|
"description": "گزینه های مدل را به صورت کلی برای همه گپ ها تنظیم کنید",
|
||||||
|
"form": {
|
||||||
|
"keepAlive": {
|
||||||
|
"label": "Keep Alive",
|
||||||
|
"help": "کنترل می کند که چه مدت مدل پس از درخواست در حافظه باقی می ماند (پیش فرض: 5 دقیقه)",
|
||||||
|
"placeholder": "مدت زمان Keep Alive را وارد کنید (مثلا 5m, 10m, 1h)"
|
||||||
|
},
|
||||||
|
"temperature": {
|
||||||
|
"label": "Temperature",
|
||||||
|
"placeholder": "مقدار Temperature را وارد کنید (مثلا 0.7, 1.0)"
|
||||||
|
},
|
||||||
|
"numCtx": {
|
||||||
|
"label": "Number of Contexts",
|
||||||
|
"placeholder": "مقدار Number of Contexts را وارد کنید (پیش فرض: 2048)"
|
||||||
|
},
|
||||||
|
"seed": {
|
||||||
|
"label": "Seed",
|
||||||
|
"placeholder": "مقدار Seed را وارد کنید (e.g. 1234)",
|
||||||
|
"help": "تکرارپذیری خروجی مدل"
|
||||||
|
},
|
||||||
|
"topK": {
|
||||||
|
"label": "Top K",
|
||||||
|
"placeholder": "مقدار Top K را وارد کنید (مثلا 40, 100)"
|
||||||
|
},
|
||||||
|
"topP": {
|
||||||
|
"label": "Top P",
|
||||||
|
"placeholder": "مقدار Top P را وارد کنید (مثلا 0.9, 0.95)"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"advanced": "تنظیمات بیشتر مدل"
|
||||||
|
}
|
||||||
|
}
|
43
src/assets/locale/fa/knowledge.json
Normal file
43
src/assets/locale/fa/knowledge.json
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
{
|
||||||
|
"addBtn": "افزودن دانش جدید",
|
||||||
|
"columns": {
|
||||||
|
"title": "عنوان",
|
||||||
|
"status": "وضعیت",
|
||||||
|
"embeddings": "مدل جاسازی",
|
||||||
|
"createdAt": "ایجاد شده در",
|
||||||
|
"action": "اقدامات"
|
||||||
|
},
|
||||||
|
"expandedColumns": {
|
||||||
|
"name": "نام"
|
||||||
|
},
|
||||||
|
"tooltip": {
|
||||||
|
"delete": "حذف"
|
||||||
|
},
|
||||||
|
"confirm": {
|
||||||
|
"delete": "آیا مطمئن هستید که می خواهید این دانش را حذف کنید؟"
|
||||||
|
},
|
||||||
|
"deleteSuccess": "دانش با موفقیت حذف شد",
|
||||||
|
"status": {
|
||||||
|
"pending": "انتظار",
|
||||||
|
"finished": "تمام",
|
||||||
|
"processing": "در حال پردازش",
|
||||||
|
"failed": "ناموفق"
|
||||||
|
},
|
||||||
|
"addKnowledge": "دانش را اضافه کنید",
|
||||||
|
"form": {
|
||||||
|
"title": {
|
||||||
|
"label": "عنوان دانش",
|
||||||
|
"placeholder": "عنوان دانش را وارد کنید",
|
||||||
|
"required": "وارد کردن عنوان دانش الزامی است"
|
||||||
|
},
|
||||||
|
"uploadFile": {
|
||||||
|
"label": "آپلود فایل",
|
||||||
|
"uploadText": "یک فایل را در اینجا بکشید و رها کنید یا برای آپلود کلیک کنید",
|
||||||
|
"uploadHint": "انواع فایل های پشتیبانی شده: .pdf, .csv, .txt, .md, .docx",
|
||||||
|
"required": "وارد کردن فایل مورد نیاز است"
|
||||||
|
},
|
||||||
|
"submit": "ارسال",
|
||||||
|
"success": "دانش با موفقیت اضافه شد"
|
||||||
|
},
|
||||||
|
"noEmbeddingModel": "لطفا ابتدا یک مدل جاسازی را از صفحه تنظیمات RAG اضافه کنید"
|
||||||
|
}
|
12
src/assets/locale/fa/option.json
Normal file
12
src/assets/locale/fa/option.json
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"newChat": "گپ جدید",
|
||||||
|
"selectAPrompt": "یک پرامپت را انتخاب کنید",
|
||||||
|
"githubRepository": "مخزن GitHub",
|
||||||
|
"settings": "تنظیمات",
|
||||||
|
"sidebarTitle": "تاریخچه گپ",
|
||||||
|
"error": "خطا",
|
||||||
|
"somethingWentWrong": "مشکلی پیش آمد",
|
||||||
|
"validationSelectModel": "لطفا یک مدل را برای ادامه انتخاب کنید",
|
||||||
|
"deleteHistoryConfirmation": "آیا مطمئن هستید که می خواهید این تاریخچه را حذف کنید؟",
|
||||||
|
"editHistoryTitle": "یک عنوان جدید وارد کنید"
|
||||||
|
}
|
29
src/assets/locale/fa/playground.json
Normal file
29
src/assets/locale/fa/playground.json
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
{
|
||||||
|
"ollamaState": {
|
||||||
|
"searching": "در حال جستجوی Ollama شما 🦙",
|
||||||
|
"running": "Ollama در حال اجرا است 🦙",
|
||||||
|
"notRunning": "امکان اتصال به Ollama وجود ندارد 🦙",
|
||||||
|
"connectionError": "به نظر می رسد که خطای اتصال دارید. لطفا برای عیب یابی به این <anchor>مستندات</anchor> مراجعه کنید."
|
||||||
|
},
|
||||||
|
"formError": {
|
||||||
|
"noModel": "لطفا یک مدل را انتخاب کنید",
|
||||||
|
"noEmbeddingModel": "لطفا یک مدل جاسازی در صفحه تنظیمات > RAG تنظیم کنید"
|
||||||
|
},
|
||||||
|
"form": {
|
||||||
|
"textarea": {
|
||||||
|
"placeholder": "یک پیام تایپ کنید..."
|
||||||
|
},
|
||||||
|
"webSearch": {
|
||||||
|
"on": "روشن",
|
||||||
|
"off": "خاموش"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tooltip": {
|
||||||
|
"searchInternet": "جستجوی اینترنت",
|
||||||
|
"speechToText": "گفتار به متن",
|
||||||
|
"uploadImage": "آپلود تصویر",
|
||||||
|
"stopStreaming": "توقف Streaming",
|
||||||
|
"knowledge": "دانش"
|
||||||
|
},
|
||||||
|
"sendWhenEnter": "با فشار دادن Enter ارسال شود"
|
||||||
|
}
|
328
src/assets/locale/fa/settings.json
Normal file
328
src/assets/locale/fa/settings.json
Normal file
@ -0,0 +1,328 @@
|
|||||||
|
{
|
||||||
|
"generalSettings": {
|
||||||
|
"title": "تنظیمات عمومی",
|
||||||
|
"settings": {
|
||||||
|
"heading": "تنظیمات رابط کاربری وب",
|
||||||
|
"speechRecognitionLang": {
|
||||||
|
"label": "زبان تشخیص گفتار",
|
||||||
|
"placeholder": "یک زبان را انتخاب کنید"
|
||||||
|
},
|
||||||
|
"language": {
|
||||||
|
"label": "زبان",
|
||||||
|
"placeholder": "یک زبان را انتخاب کنید"
|
||||||
|
},
|
||||||
|
"darkMode": {
|
||||||
|
"label": "تغییر تم",
|
||||||
|
"options": {
|
||||||
|
"light": "روشن",
|
||||||
|
"dark": "تیره"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"copilotResumeLastChat": {
|
||||||
|
"label": "آخرین گفتگو را هنگام باز کردن SidePanel (Copilot) از سر بگیر"
|
||||||
|
},
|
||||||
|
"hideCurrentChatModelSettings": {
|
||||||
|
"label": "مخفی کردن تنظیمات مدل گپ فعلی را"
|
||||||
|
},
|
||||||
|
"restoreLastChatModel": {
|
||||||
|
"label": "بازیابی آخرین مدل استفاده شده برای گپهای قبلی"
|
||||||
|
},
|
||||||
|
"sendNotificationAfterIndexing": {
|
||||||
|
"label": "ارسال نوتیفیکیشن پس از اتمام پردازش پایگاه دانش"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sidepanelRag": {
|
||||||
|
"heading": "تنظیمات گپ Copilot با وب سایت",
|
||||||
|
"ragEnabled": {
|
||||||
|
"label": "چت با وب سایت با استفاده از بردارهای جاسازی"
|
||||||
|
},
|
||||||
|
"maxWebsiteContext": {
|
||||||
|
"label": "اندازه محتوای وب سایت حالت عادی",
|
||||||
|
"placeholder": "اندازه محتوا (پیش فرض 4028)"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"webSearch": {
|
||||||
|
"heading": "مدیریت جستجوی وب",
|
||||||
|
"searchMode": {
|
||||||
|
"label": "انجام جستجوی ساده اینترنتی"
|
||||||
|
},
|
||||||
|
"provider": {
|
||||||
|
"label": "موتور جستجو",
|
||||||
|
"placeholder": "یک موتور جستجو را انتخاب کنید"
|
||||||
|
},
|
||||||
|
"totalSearchResults": {
|
||||||
|
"label": "مجموع نتایج جستجو",
|
||||||
|
"placeholder": "کل نتایج جستجو را وارد کنید"
|
||||||
|
},
|
||||||
|
"visitSpecificWebsite": {
|
||||||
|
"label": "مراجعه به وب سایت ذکر شده در پیام"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"system": {
|
||||||
|
"heading": "تنظیمات سیستم",
|
||||||
|
"deleteChatHistory": {
|
||||||
|
"label": "حذف تاریخچه گفتگو",
|
||||||
|
"button": "حذف",
|
||||||
|
"confirm": "آیا مطمئن هستید که می خواهید تاریخچه گفتگوهای خود را حذف کنید؟ این عمل قابل برگشت نیست."
|
||||||
|
},
|
||||||
|
"export": {
|
||||||
|
"label": "تاریخچه گپ، پایگاه دانش و پرامپتها را اکسپورت کنید",
|
||||||
|
"button": "اکسپورت دادهها",
|
||||||
|
"success": "موفقیت در اکسپورت"
|
||||||
|
},
|
||||||
|
"import": {
|
||||||
|
"label": "تاریخچه گپ، پایگاه دانش و پرامپتها را ایمپورت کنید",
|
||||||
|
"button": "ایمپورت دادهها",
|
||||||
|
"success": "موفقیت در ایمپورت",
|
||||||
|
"error": "خطا در ایمپورت"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"tts": {
|
||||||
|
"heading": "تنظیمات تبدیل متن به گفتار",
|
||||||
|
"ttsEnabled": {
|
||||||
|
"label": "فعال کردن تبدیل متن به گفتار"
|
||||||
|
},
|
||||||
|
"ttsProvider": {
|
||||||
|
"label": "ارائه دهنده تبدیل متن به گفتار",
|
||||||
|
"placeholder": "یک ارائه دهنده را انتخاب کنید"
|
||||||
|
},
|
||||||
|
"ttsVoice": {
|
||||||
|
"label": "صدای تبدیل متن به گفتار",
|
||||||
|
"placeholder": "صدا را انتخاب کنید"
|
||||||
|
},
|
||||||
|
"ssmlEnabled": {
|
||||||
|
"label": "فعال کردن SSML (Speech Synthesis Markup Language)"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"manageModels": {
|
||||||
|
"title": "مدیریت مدلها",
|
||||||
|
"addBtn": "افزودن مدل جدید",
|
||||||
|
"columns": {
|
||||||
|
"name": "نام",
|
||||||
|
"digest": "هضم",
|
||||||
|
"modifiedAt": "اصلاح شده در",
|
||||||
|
"size": "اندازه",
|
||||||
|
"actions": "اقدامات"
|
||||||
|
},
|
||||||
|
"expandedColumns": {
|
||||||
|
"parentModel": "مدل والد",
|
||||||
|
"format": "فرمت",
|
||||||
|
"family": "خانواده",
|
||||||
|
"parameterSize": "اندازه پارامترها",
|
||||||
|
"quantizationLevel": "سطح کوانتیزاسیون"
|
||||||
|
},
|
||||||
|
"tooltip": {
|
||||||
|
"delete": "حذف مدل",
|
||||||
|
"repull": "دریافت دوباره مدل"
|
||||||
|
},
|
||||||
|
"confirm": {
|
||||||
|
"delete": "آیا مطمئن هستید که می خواهید این مدل را حذف کنید؟",
|
||||||
|
"repull": "آیا مطمئن هستید که می خواهید این مدل را دوباره دریافت کنید؟"
|
||||||
|
},
|
||||||
|
"modal": {
|
||||||
|
"title": "افزودن مدل جدید",
|
||||||
|
"placeholder": "نام مدل را وارد کنید",
|
||||||
|
"pull": "دریافت مدل"
|
||||||
|
},
|
||||||
|
"notification": {
|
||||||
|
"pullModel": "در حال دریافت مدل",
|
||||||
|
"pullModelDescription": "در حال دریافت مدل {{modelName}}. برای جزئیات بیشتر، آیکون افزونه را بررسی کنید.",
|
||||||
|
"success": "موفقیت",
|
||||||
|
"error": "خطا",
|
||||||
|
"successDescription": "مدل با موفقیت دریافت شد",
|
||||||
|
"successDeleteDescription": "مدل با موفقیت حذف شد",
|
||||||
|
"someError": "مشکلی پیش آمد. لطفا بعدا دوباره امتحان کنید"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"managePrompts": {
|
||||||
|
"title": "مدیریت پرامپتها",
|
||||||
|
"addBtn": "اضافه کردن پرامپت جدید",
|
||||||
|
"option1": "عادی",
|
||||||
|
"option2": "RAG",
|
||||||
|
"questionPrompt": "سوال پرامپت",
|
||||||
|
"columns": {
|
||||||
|
"title": "عنولن",
|
||||||
|
"prompt": "پرامپت",
|
||||||
|
"type": "نوع پرامپت",
|
||||||
|
"actions": "اقدامات"
|
||||||
|
},
|
||||||
|
"systemPrompt": "پرامپت سیستم ",
|
||||||
|
"quickPrompt": "پرامپت سریع",
|
||||||
|
"tooltip": {
|
||||||
|
"delete": "پاک کردن پرامپت",
|
||||||
|
"edit": "ویرایش پرامپت"
|
||||||
|
},
|
||||||
|
"confirm": {
|
||||||
|
"delete": "آیا مطمئن هستید که می خواهید این پرامپت را حذف کنید؟ این عمل قابل برگشت نیست."
|
||||||
|
},
|
||||||
|
"modal": {
|
||||||
|
"addTitle": "اضافه کردن پرامپت جدید",
|
||||||
|
"editTitle": "ویرایش پرامپت"
|
||||||
|
},
|
||||||
|
"form": {
|
||||||
|
"title": {
|
||||||
|
"label": "عنوان",
|
||||||
|
"placeholder": "پرامپت عالی من",
|
||||||
|
"required": "لطفا یک عنوان وارد کنید"
|
||||||
|
},
|
||||||
|
"prompt": {
|
||||||
|
"label": "پرامپت",
|
||||||
|
"placeholder": "پرامپت وارد کنید",
|
||||||
|
"required": "لطفا یک پرامپت وارد کنید",
|
||||||
|
"help": "می توانید از {key} به عنوان متغیر در درخواست خود استفاده کنید."
|
||||||
|
},
|
||||||
|
"isSystem": {
|
||||||
|
"label": "یک پرامپت سیستمی باشد"
|
||||||
|
},
|
||||||
|
"btnSave": {
|
||||||
|
"saving": "در حال اضافه کردن پرامپت...",
|
||||||
|
"save": "اضافه کردن پرامپت"
|
||||||
|
},
|
||||||
|
"btnEdit": {
|
||||||
|
"saving": "در حال به روزرسانی پرامپت...",
|
||||||
|
"save": "به روزرسانی پرامپت"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification": {
|
||||||
|
"addSuccess": "پرامپت اضافه شد",
|
||||||
|
"addSuccessDesc": "پرامپت با موفقیت اضافه شد",
|
||||||
|
"error": "خطا",
|
||||||
|
"someError": "مشکلی پیش آمد. لطفا بعدا دوباره امتحان کنید",
|
||||||
|
"updatedSuccess": "پرامپت به روز شد",
|
||||||
|
"updatedSuccessDesc": "پرامپت با موفقیت به روز شد",
|
||||||
|
"deletedSuccess": "پرامپت حذف شد",
|
||||||
|
"deletedSuccessDesc": "پرامپت با موفقیت حذف شد"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"manageShare": {
|
||||||
|
"title": "مدیریت اشتراک گذاری",
|
||||||
|
"heading": "پیکربندی URL اشتراک گذاری صفحه",
|
||||||
|
"form": {
|
||||||
|
"url": {
|
||||||
|
"label": "آدرس اشتراک گذاری صفحه",
|
||||||
|
"placeholder": "URL اشتراک گذاری صفحه را وارد کنید",
|
||||||
|
"required": "لطفا URL اشتراک گذاری صفحه خود را وارد کنید!",
|
||||||
|
"help": "به دلایل حفظ حریم خصوصی، می توانید اشتراک گذاری صفحه را خودتان میزبانی کنید و URL را در اینجا ارائه دهید. <anchor>بیشتر بدانید</anchor>."
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"webshare": {
|
||||||
|
"heading": "اشتراک گذاری وب",
|
||||||
|
"columns": {
|
||||||
|
"title": "عنوان",
|
||||||
|
"url": "URL",
|
||||||
|
"actions": "اقدامات"
|
||||||
|
},
|
||||||
|
"tooltip": {
|
||||||
|
"delete": "حذف اشتراک گذاری"
|
||||||
|
},
|
||||||
|
"confirm": {
|
||||||
|
"delete": "آیا مطمئن هستید که می خواهید این اشتراک گذاری را حذف کنید؟ این عمل قابل برگشت نیست."
|
||||||
|
},
|
||||||
|
"label": "مدیریت اشتراک گذاری صفحه",
|
||||||
|
"description": "ویژگی اشتراک گذاری صفحه را فعال یا غیرفعال کنید"
|
||||||
|
},
|
||||||
|
"notification": {
|
||||||
|
"pageShareSuccess": "URL اشتراک گذاری صفحه با موفقیت به روز شد",
|
||||||
|
"someError": "مشکلی پیش آمد. لطفا بعدا دوباره امتحان کنید",
|
||||||
|
"webShareDeleteSuccess": "اشتراک گذاری وب با موفقیت حذف شد"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ollamaSettings": {
|
||||||
|
"title": "تنظیمات Ollama",
|
||||||
|
"heading": "پیکربندی Ollama",
|
||||||
|
"settings": {
|
||||||
|
"ollamaUrl": {
|
||||||
|
"label": "آدرس Ollama",
|
||||||
|
"placeholder": "URL Ollama را وارد کنید"
|
||||||
|
},
|
||||||
|
"advanced": {
|
||||||
|
"label": "پیکربندی پیشرفته URL Ollama",
|
||||||
|
"urlRewriteEnabled": {
|
||||||
|
"label": "URL مبدا سفارشی را فعال یا غیرفعال کنید"
|
||||||
|
},
|
||||||
|
"rewriteUrl": {
|
||||||
|
"label": "URL مبدا سفارشی",
|
||||||
|
"placeholder": "URL مبدا سفارشی را وارد کنید"
|
||||||
|
},
|
||||||
|
"headers": {
|
||||||
|
"label": "هدرهای سفارشی",
|
||||||
|
"add": "افزودن هدر",
|
||||||
|
"key": {
|
||||||
|
"label": "کلید هدر",
|
||||||
|
"placeholder": "Authorization"
|
||||||
|
},
|
||||||
|
"value": {
|
||||||
|
"label": "مقدار هدر",
|
||||||
|
"placeholder": "Bearer token"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"help": "اگر با Ollama در Page Assist مشکل اتصال دارید، می توانید یک URL اصلی سفارشی پیکربندی کنید. برای کسب اطلاعات بیشتر در مورد پیکربندی، <anchor>اینجا را کلیک</anchor> کنید."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"manageSearch": {
|
||||||
|
"title": "مدیریت جستجوی وب",
|
||||||
|
"heading": "پیکربندی جستجوی وب"
|
||||||
|
},
|
||||||
|
"about": {
|
||||||
|
"title": "درباره",
|
||||||
|
"heading": "درباره",
|
||||||
|
"chromeVersion": "نسخه دستیار صفحه",
|
||||||
|
"ollamaVersion": "نسخه Ollama",
|
||||||
|
"support": "شما می توانید با کمک مالی یا حمایت مالی از طریق پلتفرم های زیر از پروژه Page Assist حمایت کنید:",
|
||||||
|
"koFi": "پشتیبانی در Ko-fi",
|
||||||
|
"githubSponsor": "حمایت مالی در GitHub",
|
||||||
|
"githubRepo": "مخزن GitHub"
|
||||||
|
},
|
||||||
|
"manageKnowledge": {
|
||||||
|
"title": "مدیریت دانش",
|
||||||
|
"heading": "پیکربندی پایگاه دانش"
|
||||||
|
},
|
||||||
|
"rag": {
|
||||||
|
"title": "تنظیمات RAG",
|
||||||
|
"ragSettings": {
|
||||||
|
"label": "تنظیمات RAG",
|
||||||
|
"model": {
|
||||||
|
"label": "مدل جاسازی",
|
||||||
|
"required": "لطفا یک مدل را انتخاب کنید",
|
||||||
|
"help": "به شدت توصیه می شود از مدل های جاسازی مانند `nomic-embed-text` استفاده کنید.",
|
||||||
|
"placeholder": "یک مدل را انتخاب کنید"
|
||||||
|
},
|
||||||
|
"chunkSize": {
|
||||||
|
"label": "اندازه تکه",
|
||||||
|
"placeholder": "اندازه تکه را وارد کنید",
|
||||||
|
"required": "لطفا اندازه تکه را وارد کنید"
|
||||||
|
},
|
||||||
|
"chunkOverlap": {
|
||||||
|
"label": "همپوشانی تکه",
|
||||||
|
"placeholder": "داخل تکه همپوشانی شوید",
|
||||||
|
"required": "لطفا یک همپوشانی تکه ای وارد کنید"
|
||||||
|
},
|
||||||
|
"totalFilePerKB": {
|
||||||
|
"label": "محدودیت فایل پیش فرض پایگاه دانش",
|
||||||
|
"placeholder": "محدودیت فایل پیش فرض را وارد کنید (به عنوان مثال، 10)",
|
||||||
|
"required": "لطفا محدودیت پیش فرض فایل را وارد کنید"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"prompt": {
|
||||||
|
"label": "پیکربندی پرامپت RAG",
|
||||||
|
"option1": "عادی",
|
||||||
|
"option2": "وب",
|
||||||
|
"alert": "پیکربندی اعلان سیستم در اینجا منسوخ شده است. لطفا از بخش مدیریت پرامپتها برای افزودن یا ویرایش درخواستها استفاده کنید. این بخش در نسخه بعدی حذف خواهد شد",
|
||||||
|
"systemPrompt": "پرامپت سیستم",
|
||||||
|
"systemPromptPlaceholder": "پرامپت سیستم را وارد کنید",
|
||||||
|
"webSearchPrompt": "پرامپت جستجوی وب",
|
||||||
|
"webSearchPromptHelp": "«{search_results}» را از پرامپت حذف نکنید.",
|
||||||
|
"webSearchPromptError": "لطفا یک پرامپت جستجوی وب وارد کنید",
|
||||||
|
"webSearchPromptPlaceholder": "پرامپت جستجوی وب را وارد کنید",
|
||||||
|
"webSearchFollowUpPrompt": "پرامپت پیگیری جستجوی وب",
|
||||||
|
"webSearchFollowUpPromptHelp": "«{chat_history}» و «{question}» را از پرامپت حذف نکنید.",
|
||||||
|
"webSearchFollowUpPromptError": "لطفا پرامپت پیگیری جستجوی وب خود را وارد کنید!",
|
||||||
|
"webSearchFollowUpPromptPlaceholder": "پرامپت پیگیری جستجوی وب شما"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"chromeAiSettings": {
|
||||||
|
"title": "تنظیمات هوش مصنوعی کروم"
|
||||||
|
}
|
||||||
|
}
|
7
src/assets/locale/fa/sidepanel.json
Normal file
7
src/assets/locale/fa/sidepanel.json
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"tooltip": {
|
||||||
|
"embed": "ممکن است چند دقیقه طول بکشد تا صفحه جاسازی شود. لطفاً منتظر بمانید...",
|
||||||
|
"clear": "پاک کردن تاریخچه گپ",
|
||||||
|
"history": "تاریخچه گپ"
|
||||||
|
}
|
||||||
|
}
|
@ -1,5 +1,6 @@
|
|||||||
import { QueryClient, QueryClientProvider } from "@tanstack/react-query"
|
import { QueryClient, QueryClientProvider } from "@tanstack/react-query"
|
||||||
import { MemoryRouter } from "react-router-dom"
|
import { MemoryRouter } from "react-router-dom"
|
||||||
|
import { useEffect } from "react"
|
||||||
const queryClient = new QueryClient()
|
const queryClient = new QueryClient()
|
||||||
import { ConfigProvider, Empty, theme } from "antd"
|
import { ConfigProvider, Empty, theme } from "antd"
|
||||||
import { StyleProvider } from "@ant-design/cssinjs"
|
import { StyleProvider } from "@ant-design/cssinjs"
|
||||||
@ -12,6 +13,14 @@ import { PageAssistProvider } from "@/components/Common/PageAssistProvider"
|
|||||||
function IndexOption() {
|
function IndexOption() {
|
||||||
const { mode } = useDarkMode()
|
const { mode } = useDarkMode()
|
||||||
const { t, i18n } = useTranslation()
|
const { t, i18n } = useTranslation()
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (i18n.resolvedLanguage) {
|
||||||
|
document.documentElement.lang = i18n.resolvedLanguage;
|
||||||
|
document.documentElement.dir = i18n.dir(i18n.resolvedLanguage);
|
||||||
|
}
|
||||||
|
}, [i18n, i18n.resolvedLanguage]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<MemoryRouter>
|
<MemoryRouter>
|
||||||
<ConfigProvider
|
<ConfigProvider
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import { QueryClient, QueryClientProvider } from "@tanstack/react-query"
|
import { QueryClient, QueryClientProvider } from "@tanstack/react-query"
|
||||||
import { MemoryRouter } from "react-router-dom"
|
import { MemoryRouter } from "react-router-dom"
|
||||||
|
import { useEffect } from "react"
|
||||||
import { SidepanelRouting } from "~/routes"
|
import { SidepanelRouting } from "~/routes"
|
||||||
const queryClient = new QueryClient()
|
const queryClient = new QueryClient()
|
||||||
import { ConfigProvider, Empty, theme } from "antd"
|
import { ConfigProvider, Empty, theme } from "antd"
|
||||||
@ -13,6 +14,13 @@ function IndexSidepanel() {
|
|||||||
const { mode } = useDarkMode()
|
const { mode } = useDarkMode()
|
||||||
const { t, i18n } = useTranslation()
|
const { t, i18n } = useTranslation()
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (i18n.resolvedLanguage) {
|
||||||
|
document.documentElement.lang = i18n.resolvedLanguage;
|
||||||
|
document.documentElement.dir = i18n.dir(i18n.resolvedLanguage);
|
||||||
|
}
|
||||||
|
}, [i18n, i18n.resolvedLanguage]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<MemoryRouter>
|
<MemoryRouter>
|
||||||
<ConfigProvider
|
<ConfigProvider
|
||||||
|
@ -9,6 +9,7 @@ import { zh } from "./lang/zh";
|
|||||||
import { ja } from "./lang/ja";
|
import { ja } from "./lang/ja";
|
||||||
import { it } from "./lang/it";
|
import { it } from "./lang/it";
|
||||||
import { es } from "./lang/es";
|
import { es } from "./lang/es";
|
||||||
|
import { fa } from "./lang/fa";
|
||||||
import LanguageDetector from 'i18next-browser-languagedetector';
|
import LanguageDetector from 'i18next-browser-languagedetector';
|
||||||
|
|
||||||
i18n
|
i18n
|
||||||
@ -27,7 +28,9 @@ i18n
|
|||||||
"ru-RU": ru,
|
"ru-RU": ru,
|
||||||
zh: zh,
|
zh: zh,
|
||||||
ja: ja,
|
ja: ja,
|
||||||
"ja-JP": ja
|
"ja-JP": ja,
|
||||||
|
fa: fa,
|
||||||
|
"fa-IR": fa
|
||||||
},
|
},
|
||||||
fallbackLng: "en",
|
fallbackLng: "en",
|
||||||
lng: localStorage.getItem("i18nextLng") || "en",
|
lng: localStorage.getItem("i18nextLng") || "en",
|
||||||
|
17
src/i18n/lang/fa.ts
Normal file
17
src/i18n/lang/fa.ts
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
import option from "@/assets/locale/fa/option.json"
|
||||||
|
import playground from "@/assets/locale/fa/playground.json"
|
||||||
|
import common from "@/assets/locale/fa/common.json"
|
||||||
|
import sidepanel from "@/assets/locale/fa/sidepanel.json"
|
||||||
|
import settings from "@/assets/locale/fa/settings.json"
|
||||||
|
import knowledge from "@/assets/locale/fa/knowledge.json"
|
||||||
|
import chrome from "@/assets/locale/fa/chrome.json"
|
||||||
|
|
||||||
|
export const fa = {
|
||||||
|
option,
|
||||||
|
playground,
|
||||||
|
common,
|
||||||
|
sidepanel,
|
||||||
|
settings,
|
||||||
|
knowledge,
|
||||||
|
chrome
|
||||||
|
}
|
@ -35,5 +35,9 @@ export const supportLanguage = [
|
|||||||
{
|
{
|
||||||
label: "日本語",
|
label: "日本語",
|
||||||
value: "ja-JP"
|
value: "ja-JP"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "فارسی",
|
||||||
|
value: "fa"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
14
src/public/_locales/fa/messages.json
Normal file
14
src/public/_locales/fa/messages.json
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"extName": {
|
||||||
|
"message": "دستیار صفحه - یک رابط کاربری وب برای مدل های هوش مصنوعی لوکال"
|
||||||
|
},
|
||||||
|
"extDescription": {
|
||||||
|
"message": "از مدل های هوش مصنوعی لوکال خود برای دریافت کمک در هنگام مرور وب استفاده کنید."
|
||||||
|
},
|
||||||
|
"openSidePanelToChat": {
|
||||||
|
"message": "باز کردن کوپایلت برای گفتگو"
|
||||||
|
},
|
||||||
|
"openOptionToChat": {
|
||||||
|
"message": "باز کردن رابط کاربری وب برای گفتگو"
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user