feat: knowledge pipeline (#25360)
Signed-off-by: -LAN- <laipz8200@outlook.com> Co-authored-by: twwu <twwu@dify.ai> Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com> Co-authored-by: jyong <718720800@qq.com> Co-authored-by: Wu Tianwei <30284043+WTW0313@users.noreply.github.com> Co-authored-by: QuantumGhost <obelisk.reg+git@gmail.com> Co-authored-by: lyzno1 <yuanyouhuilyz@gmail.com> Co-authored-by: quicksand <quicksandzn@gmail.com> Co-authored-by: Jyong <76649700+JohnJyong@users.noreply.github.com> Co-authored-by: lyzno1 <92089059+lyzno1@users.noreply.github.com> Co-authored-by: zxhlyh <jasonapring2015@outlook.com> Co-authored-by: Yongtao Huang <yongtaoh2022@gmail.com> Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> Co-authored-by: Joel <iamjoel007@gmail.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: nite-knite <nkCoding@gmail.com> Co-authored-by: Hanqing Zhao <sherry9277@gmail.com> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Co-authored-by: Harry <xh001x@hotmail.com>
This commit is contained in:
@@ -655,6 +655,19 @@ const translation = {
|
||||
'jsonSchema': 'طرحواره JSON',
|
||||
'optional': 'اختیاری',
|
||||
'checkbox': 'چک باکس',
|
||||
'unit': 'واحد',
|
||||
'tooltips': 'Tooltips',
|
||||
'uploadMethod': 'روش آپلود',
|
||||
'displayName': 'نام نمایشی',
|
||||
'startChecked': 'شروع بررسی شده',
|
||||
'noDefaultSelected': 'انتخاب نکنید',
|
||||
'placeholder': 'مکان نگهدارنده',
|
||||
'showAllSettings': 'نمایش همه تنظیمات',
|
||||
'startSelectedOption': 'گزینه انتخاب شده را شروع کنید',
|
||||
'defaultValuePlaceholder': 'مقدار پیش فرض را وارد کنید تا فیلد را از قبل پر کنید',
|
||||
'unitPlaceholder': 'نمایش واحدها بعد از اعداد، به عنوان مثال توکن ها',
|
||||
'placeholderPlaceholder': 'متن را وارد کنید تا زمانی که فیلد خالی است نمایش داده شود',
|
||||
'tooltipsPlaceholder': 'نوشتار مفیدی را که هنگام نگه داشتن ماوس روی برچسب نشان داده می شود وارد کنید',
|
||||
},
|
||||
vision: {
|
||||
visionSettings: {
|
||||
|
||||
@@ -88,6 +88,7 @@ const translation = {
|
||||
advancedShortDescription: 'گردشکار پیشرفته برای گفتگوهای چند مرحلهای',
|
||||
agentUserDescription: 'یک عامل هوشمند که قادر به استدلال تکراری و استفاده از ابزار مستقل برای دستیابی به اهداف وظیفه است.',
|
||||
dropDSLToCreateApp: 'فایل DSL را اینجا رها کنید تا برنامه ساخته شود',
|
||||
import: 'واردات',
|
||||
},
|
||||
editApp: 'ویرایش اطلاعات',
|
||||
editAppTitle: 'ویرایش اطلاعات برنامه',
|
||||
|
||||
@@ -93,6 +93,7 @@ const translation = {
|
||||
documentsRequestQuota: '{{count,number}}/دقیقه محدودیت نرخ درخواست دانش',
|
||||
apiRateLimitTooltip: 'محدودیت نرخ API برای همه درخواستهای انجام شده از طریق API Dify اعمال میشود، از جمله تولید متن، محاورههای چت، اجرای گردشهای کار و پردازش اسناد.',
|
||||
documentsRequestQuotaTooltip: 'تعیین میکند که تعداد کلی اقداماتی که یک فضای کاری میتواند در هر دقیقه در داخل پایگاه دانش انجام دهد، شامل ایجاد مجموعه داده، حذف، بهروزرسانی، بارگذاری مستندات، تغییرات، بایگانی و پرسش از پایگاه دانش است. این معیار برای ارزیابی عملکرد درخواستهای پایگاه دانش استفاده میشود. به عنوان مثال، اگر یک کاربر Sandbox در طی یک دقیقه 10 آزمایش متوالی انجام دهد، فضای کاری او به طور موقت از انجام اقدامات زیر در دقیقه بعدی محدود خواهد شد: ایجاد مجموعه داده، حذف، بهروزرسانی و بارگذاری یا تغییر مستندات.',
|
||||
startBuilding: 'شروع به ساخت کنید',
|
||||
},
|
||||
plans: {
|
||||
sandbox: {
|
||||
@@ -118,6 +119,17 @@ const translation = {
|
||||
btnText: 'تماس با فروش',
|
||||
for: 'برای تیمهای بزرگ',
|
||||
priceTip: 'فقط صورتحساب سالیانه',
|
||||
features: {
|
||||
4: 'Sso',
|
||||
1: 'مجوز جواز تجاری',
|
||||
5: 'SLA های مذاکره شده توسط Dify Partners',
|
||||
2: 'ویژگی های انحصاری سازمانی',
|
||||
8: 'پشتیبانی فنی حرفه ای',
|
||||
6: 'امنیت و کنترل پیشرفته',
|
||||
7: 'به روز رسانی و نگهداری توسط Dify به طور رسمی',
|
||||
3: 'فضاهای کاری چندگانه و مدیریت سازمانی',
|
||||
0: 'راه حل های استقرار مقیاس پذیر در سطح سازمانی',
|
||||
},
|
||||
},
|
||||
community: {
|
||||
btnText: 'شروع کنید با جامعه',
|
||||
@@ -126,6 +138,11 @@ const translation = {
|
||||
description: 'برای کاربران فردی، تیمهای کوچک یا پروژههای غیر تجاری',
|
||||
name: 'جامعه',
|
||||
for: 'برای کاربران فردی، تیمهای کوچک یا پروژههای غیر تجاری',
|
||||
features: {
|
||||
1: 'فضای کاری واحد',
|
||||
2: 'با مجوز منبع باز Dify مطابقت دارد',
|
||||
0: 'تمام ویژگی های اصلی در مخزن عمومی منتشر شده است',
|
||||
},
|
||||
},
|
||||
premium: {
|
||||
btnText: 'گرفتن نسخه پریمیوم در',
|
||||
@@ -136,6 +153,12 @@ const translation = {
|
||||
name: 'پیشرفته',
|
||||
priceTip: 'بر اساس بازار ابری',
|
||||
comingSoon: 'پشتیبانی مایکروسافت آژور و گوگل کلود به زودی در دسترس خواهد بود',
|
||||
features: {
|
||||
1: 'فضای کاری واحد',
|
||||
3: 'پشتیبانی از ایمیل و چت اولویت دار',
|
||||
2: 'لوگوی وب اپلیکیشن و سفارشی سازی برندینگ',
|
||||
0: 'قابلیت اطمینان خود مدیریت شده توسط ارائه دهندگان مختلف ابر',
|
||||
},
|
||||
},
|
||||
},
|
||||
vectorSpace: {
|
||||
|
||||
@@ -495,6 +495,14 @@ const translation = {
|
||||
providerManagedTip: 'تنظیمات فعلی توسط ارائهدهنده میزبانی میشود.',
|
||||
modelCredentials: 'مدل اعتبارنامه',
|
||||
manageCredentials: 'مدیریت اعتبارنامه ها',
|
||||
addModel: 'افزودن مدل',
|
||||
removeModel: 'حذف مدل',
|
||||
modelCredential: 'اعتبار مدل',
|
||||
selectModelCredential: 'یک اعتبار مدل را انتخاب کنید',
|
||||
editModelCredential: 'اعتبار مدل را ویرایش کنید',
|
||||
addNewModelCredential: 'افزودن اعتبار مدل جدید',
|
||||
customModelCredentials: 'اعتبار مدل سفارشی',
|
||||
customModelCredentialsDeleteTip: 'اعتبار در حال استفاده است و قابل حذف نیست',
|
||||
},
|
||||
},
|
||||
dataSource: {
|
||||
@@ -594,6 +602,7 @@ const translation = {
|
||||
viewDoc: 'مشاهده مستندات',
|
||||
relatedApp: 'برنامههای مرتبط',
|
||||
noRelatedApp: 'هیچ برنامه پیوندی وجود ندارد',
|
||||
pipeline: 'خط لوله',
|
||||
},
|
||||
voiceInput: {
|
||||
speaking: 'اکنون صحبت کنید...',
|
||||
@@ -749,6 +758,9 @@ const translation = {
|
||||
content: 'محتوای بازخورد',
|
||||
placeholder: 'لطفاً توضیح دهید که چه مشکلی پیش آمد یا چگونه میتوانیم بهبود پیدا کنیم...',
|
||||
},
|
||||
label: {
|
||||
optional: '(اختیاری)',
|
||||
},
|
||||
}
|
||||
|
||||
export default translation
|
||||
|
||||
@@ -92,6 +92,7 @@ const translation = {
|
||||
configureJinaReader: 'پیکربندی خواننده جینا',
|
||||
watercrawlTitle: 'محتوای وب را با واترکرال استخراج کنید',
|
||||
configureWatercrawl: 'تنظیم واترکراول',
|
||||
running: 'اجرا',
|
||||
},
|
||||
cancel: 'لغو',
|
||||
},
|
||||
@@ -177,6 +178,7 @@ const translation = {
|
||||
fullDocTip: 'کل سند به عنوان تکه والد استفاده می شود و مستقیما بازیابی می شود. لطفا توجه داشته باشید که به دلایل عملکردی، متن بیش از 10000 توکن به طور خودکار کوتاه می شود.',
|
||||
qaSwitchHighQualityTipTitle: 'فرمت پرسش و پاسخ به روش نمایه سازی با کیفیت بالا نیاز دارد',
|
||||
useQALanguage: 'تکه با استفاده از فرمت پرسش و پاسخ در',
|
||||
qaTip: 'هنگام استفاده از داده های پرسش و پاسخ ساختاریافته، می توانید اسنادی ایجاد کنید که سوالات را با پاسخ جفت می کند. این اسناد بر اساس بخش سؤال نمایه می شوند و به سیستم اجازه می دهند پاسخ های مربوطه را بر اساس شباهت پرس و جو بازیابی کند.',
|
||||
},
|
||||
stepThree: {
|
||||
creationTitle: ' دانش ایجاد شد',
|
||||
|
||||
@@ -98,6 +98,9 @@ const translation = {
|
||||
upload_file: 'بارگذاری فایل',
|
||||
notion: 'همگامسازی از Notion',
|
||||
github: 'همگامسازی از Github',
|
||||
online_document: 'سند آنلاین',
|
||||
website_crawl: 'خزیدن وب سایت',
|
||||
local_file: 'فایل محلی',
|
||||
},
|
||||
type: {
|
||||
book: 'کتاب',
|
||||
@@ -335,6 +338,7 @@ const translation = {
|
||||
pause: 'مکث',
|
||||
childMaxTokens: 'کودک',
|
||||
hierarchical: 'پدر و مادر و فرزند',
|
||||
waiting: 'در حال انتظار برای جاسازی...',
|
||||
},
|
||||
segment: {
|
||||
paragraphs: 'پاراگرافها',
|
||||
|
||||
154
web/i18n/fa-IR/dataset-pipeline.ts
Normal file
154
web/i18n/fa-IR/dataset-pipeline.ts
Normal file
@@ -0,0 +1,154 @@
|
||||
const translation = {
|
||||
creation: {
|
||||
createFromScratch: {
|
||||
title: 'خط لوله دانش خالی',
|
||||
description: 'یک پایپ لاین سفارشی از ابتدا با کنترل کامل بر پردازش و ساختار داده ایجاد کنید.',
|
||||
},
|
||||
caution: 'احتیاط',
|
||||
createKnowledge: 'ایجاد دانش',
|
||||
backToKnowledge: 'بازگشت به دانش',
|
||||
importDSL: 'ایمپورت از یک فایل DSL',
|
||||
successTip: 'با موفقیت یک پایگاه دانش ایجاد کرد',
|
||||
errorTip: 'ایجاد پایگاه دانش ناموفق است',
|
||||
},
|
||||
templates: {
|
||||
customized: 'سفارشی',
|
||||
},
|
||||
operations: {
|
||||
dataSource: 'منبع داده',
|
||||
details: 'جزئیات',
|
||||
convert: 'تبدیل',
|
||||
choose: 'انتخاب',
|
||||
preview: 'پیشنمایش',
|
||||
process: 'فرایند',
|
||||
editInfo: 'ویرایش اطلاعات',
|
||||
useTemplate: 'از این پایپ لاین دانش استفاده کنید',
|
||||
saveAndProcess: 'ذخیره و پردازش',
|
||||
backToDataSource: 'بازگشت به منبع داده',
|
||||
exportPipeline: 'خط لوله صادرات',
|
||||
},
|
||||
deletePipeline: {
|
||||
content: 'حذف الگوی خط لوله برگشت ناپذیر است.',
|
||||
title: 'آیا مطمئن هستید که این الگوی خط لوله را حذف می کنید؟',
|
||||
},
|
||||
publishPipeline: {
|
||||
success: {
|
||||
message: 'خط لوله دانش منتشر شد',
|
||||
},
|
||||
error: {
|
||||
message: 'انتشار پایپ لاین دانش ناموفق است',
|
||||
},
|
||||
},
|
||||
publishTemplate: {
|
||||
success: {
|
||||
learnMore: 'بیشتر بدانید',
|
||||
message: 'الگوی خط لوله منتشر شد',
|
||||
tip: 'می توانید از این الگو در صفحه ایجاد استفاده کنید.',
|
||||
},
|
||||
error: {
|
||||
message: 'انتشار الگوی خط لوله انجام نشد',
|
||||
},
|
||||
},
|
||||
exportDSL: {
|
||||
successTip: 'DSL خط لوله را با موفقیت صادر کنید',
|
||||
errorTip: 'صادرات DSL خط لوله انجام نشد',
|
||||
},
|
||||
details: {
|
||||
structure: 'ساختار',
|
||||
structureTooltip: 'ساختار Chunk نحوه تقسیم و نمایه سازی اسناد را تعیین می کند - حالت های عمومی، والد-فرزند و پرسش و پاسخ را ارائه می دهد - و برای هر پایگاه دانش منحصر به فرد است.',
|
||||
},
|
||||
testRun: {
|
||||
steps: {
|
||||
dataSource: 'منبع داده',
|
||||
documentProcessing: 'پردازش اسناد',
|
||||
},
|
||||
dataSource: {
|
||||
localFiles: 'فایل های محلی',
|
||||
},
|
||||
notion: {
|
||||
docTitle: 'اسناد مفهومی',
|
||||
title: 'صفحات مفهومی را انتخاب کنید',
|
||||
},
|
||||
title: 'اجرای آزمایشی',
|
||||
tooltip: 'در حالت اجرای آزمایشی، فقط یک سند مجاز به وارد کردن در یک زمان برای اشکال زدایی و مشاهده آسان تر است.',
|
||||
},
|
||||
inputFieldPanel: {
|
||||
uniqueInputs: {
|
||||
title: 'ورودی های منحصر به فرد برای هر ورودی',
|
||||
tooltip: 'ورودی های منحصر به فرد فقط برای منبع داده انتخاب شده و گره های پایین دستی آن قابل دسترسی هستند. کاربران هنگام انتخاب منابع داده دیگر نیازی به پر کردن آن نخواهند داشت. فقط فیلدهای ورودی که توسط متغیرهای منبع داده ارجاع داده شده اند در مرحله اول ظاهر می شوند (منبع داده). تمام فیلدهای دیگر در مرحله دوم (اسناد فرآیند) نشان داده می شوند.',
|
||||
},
|
||||
globalInputs: {
|
||||
title: 'ورودی های جهانی برای همه ورودی ها',
|
||||
tooltip: 'ورودی های جهانی در همه گره ها به اشتراک گذاشته می شوند. کاربران باید هنگام انتخاب هر منبع داده ای آنها را پر کنند. به عنوان مثال، فیلدهایی مانند جداکننده و حداکثر طول تکه را می توان به طور یکنواخت در چندین منبع داده اعمال کرد. فقط فیلدهای ورودی که توسط متغیرهای منبع داده ارجاع داده می شوند در مرحله اول ظاهر می شوند (منبع داده). تمام فیلدهای دیگر در مرحله دوم نشان داده می شوند (اسناد پردازش).',
|
||||
},
|
||||
preview: {
|
||||
stepOneTitle: 'منبع داده',
|
||||
stepTwoTitle: 'اسناد پردازش',
|
||||
},
|
||||
error: {
|
||||
variableDuplicate: 'نام متغیر از قبل وجود دارد. لطفا نام دیگری را انتخاب کنید.',
|
||||
},
|
||||
addInputField: 'افزودن فیلد ورودی',
|
||||
title: 'فیلدهای ورودی کاربر',
|
||||
editInputField: 'ویرایش فیلد ورودی',
|
||||
description: 'فیلدهای ورودی کاربر برای تعریف و جمع آوری متغیرهای مورد نیاز در طول فرآیند اجرای خط لوله استفاده می شود. کاربران می توانند نوع فیلد را سفارشی کنند و مقدار ورودی را به طور انعطاف پذیر پیکربندی کنند تا نیازهای منابع داده مختلف یا مراحل پردازش سند را برآورده کنند.',
|
||||
},
|
||||
addDocuments: {
|
||||
steps: {
|
||||
processDocuments: 'اسناد پردازش',
|
||||
processingDocuments: 'پردازش اسناد',
|
||||
chooseDatasource: 'یک منبع داده را انتخاب کنید',
|
||||
},
|
||||
stepOne: {
|
||||
preview: 'پیشنمایش',
|
||||
},
|
||||
stepTwo: {
|
||||
chunkSettings: 'تنظیمات تکه',
|
||||
previewChunks: 'پیش نمایش تکه ها',
|
||||
},
|
||||
stepThree: {
|
||||
learnMore: 'بیشتر بدانید',
|
||||
},
|
||||
backToDataSource: 'منبع داده',
|
||||
characters: 'کاراکتر',
|
||||
title: 'اسناد را اضافه کنید',
|
||||
},
|
||||
documentSettings: {
|
||||
title: 'تنظیمات سند',
|
||||
},
|
||||
onlineDocument: {},
|
||||
onlineDrive: {
|
||||
breadcrumbs: {
|
||||
allFiles: 'همه فایل ها',
|
||||
searchPlaceholder: 'فایل های جستجو...',
|
||||
allBuckets: 'همه سطل های ذخیره سازی ابری',
|
||||
},
|
||||
emptyFolder: 'این پوشه خالی است',
|
||||
resetKeywords: 'بازنشانی کلمات کلیدی',
|
||||
emptySearchResult: 'هیچ موردی یافت نشد',
|
||||
notSupportedFileType: 'این نوع فایل پشتیبانی نمی شود',
|
||||
},
|
||||
credentialSelector: {},
|
||||
conversion: {
|
||||
confirm: {
|
||||
title: 'تایید',
|
||||
content: 'این عمل دائمی است. نمی توانید به روش قبلی برگردید. لطفا برای تبدیل تأیید کنید.',
|
||||
},
|
||||
title: 'تبدیل به پایپ لاین دانش',
|
||||
warning: 'این عمل قابل برگشت نیست.',
|
||||
errorMessage: 'تبدیل مجموعه داده به خط لوله انجام نشد',
|
||||
successMessage: 'مجموعه داده را با موفقیت به یک خط لوله تبدیل کرد',
|
||||
descriptionChunk2: '- یک رویکرد بازتر و انعطاف پذیرتر با دسترسی به افزونه ها از بازار ما. این روش پردازش جدید را برای تمام اسناد آینده اعمال می کند.',
|
||||
descriptionChunk1: 'اکنون می توانید پایگاه دانش موجود خود را برای استفاده از خط لوله دانش برای پردازش اسناد تبدیل کنید',
|
||||
},
|
||||
knowledgePermissions: 'مجوزهای',
|
||||
inputField: 'فیلد ورودی',
|
||||
knowledgeNameAndIcon: 'نام و نماد دانش',
|
||||
knowledgeDescription: 'شرح دانش',
|
||||
pipelineNameAndIcon: 'نام و نماد خط لوله',
|
||||
editPipelineInfo: 'ویرایش اطلاعات خط لوله',
|
||||
knowledgeNameAndIconPlaceholder: 'لطفا نام پایگاه دانش را وارد کنید',
|
||||
knowledgeDescriptionPlaceholder: 'آنچه در این پایگاه دانش وجود دارد را شرح دهید. توضیحات دقیق به هوش مصنوعی اجازه می دهد تا با دقت بیشتری به محتوای مجموعه داده دسترسی داشته باشد. اگر خالی باشد، Dify از استراتژی ضربه پیش فرض استفاده می کند. (اختیاری)',
|
||||
}
|
||||
|
||||
export default translation
|
||||
@@ -37,6 +37,14 @@ const translation = {
|
||||
helpText: 'یاد بگیرید که چگونه یک توضیحات مجموعه داده خوب بنویسید.',
|
||||
upgradeHighQualityTip: 'پس از ارتقاء به حالت کیفیت بالا، بازگشت به حالت اقتصادی در دسترس نیست',
|
||||
searchModel: 'جستجوی مدل',
|
||||
chunkStructure: {
|
||||
title: 'ساختار تکه',
|
||||
learnMore: 'بیشتر بدانید',
|
||||
description: 'درباره ساختار تکه تکه است.',
|
||||
},
|
||||
nameAndIcon: 'نام و نماد',
|
||||
numberOfKeywords: 'تعداد کلمات کلیدی',
|
||||
onSearchResults: 'هیچ عضوی با عبارت جستجوی شما مطابقت ندارد.\nجستجویتان را دوباره امتحان کنید.',
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@@ -42,6 +42,10 @@ const translation = {
|
||||
},
|
||||
change: 'تغییر',
|
||||
changeRetrievalMethod: 'تغییر روش بازیابی',
|
||||
keyword_search: {
|
||||
title: 'شاخص معکوس',
|
||||
description: 'شاخص معکوس ساختاری است که برای بازیابی کارآمد استفاده می شود. هر اصطلاح که بر اساس اصطلاحات سازماندهی شده است، به اسناد یا صفحات وب حاوی آن اشاره می کند.',
|
||||
},
|
||||
},
|
||||
docsFailedNotice: 'اسناد نتوانستند فهرستبندی شوند',
|
||||
retry: 'تلاش مجدد',
|
||||
@@ -149,6 +153,8 @@ const translation = {
|
||||
chunkingMode: {
|
||||
parentChild: 'پدر و مادر و فرزند',
|
||||
general: 'عمومی',
|
||||
graph: 'گراف',
|
||||
qa: 'پرسش و پاسخ',
|
||||
},
|
||||
parentMode: {
|
||||
fullDoc: 'مستند کامل',
|
||||
@@ -217,6 +223,9 @@ const translation = {
|
||||
metadata: 'متادیتا',
|
||||
},
|
||||
embeddingModelNotAvailable: 'مدل جاسازی در دسترس نیست.',
|
||||
updated: 'بروز رسانی',
|
||||
createFromPipeline: 'ایجاد از پایپ لاین دانش',
|
||||
externalKnowledgeBase: 'پایگاه دانش خارجی',
|
||||
}
|
||||
|
||||
export default translation
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
const translation = {
|
||||
sidebar: {
|
||||
expandSidebar: 'نوار کناری را گسترش دهید',
|
||||
collapseSidebar: 'جمع کردن نوار کناری',
|
||||
},
|
||||
}
|
||||
|
||||
export default translation
|
||||
|
||||
38
web/i18n/fa-IR/pipeline.ts
Normal file
38
web/i18n/fa-IR/pipeline.ts
Normal file
@@ -0,0 +1,38 @@
|
||||
const translation = {
|
||||
common: {
|
||||
publishAsPipeline: {
|
||||
description: 'شرح دانش',
|
||||
name: 'نام و نماد خط لوله',
|
||||
namePlaceholder: 'لطفا نام این خط لوله دانش را وارد کنید. (ضروری)',
|
||||
descriptionPlaceholder: 'لطفا توضیحات این خط لوله دانش را وارد کنید. (اختیاری)',
|
||||
},
|
||||
processing: 'پردازش',
|
||||
preparingDataSource: 'آماده سازی منبع داده',
|
||||
reRun: 'دوباره اجرا کنید',
|
||||
confirmPublish: 'تایید انتشار',
|
||||
testRun: 'اجرای آزمایشی',
|
||||
publishAs: 'انتشار به عنوان یک پایپ لاین دانش',
|
||||
goToAddDocuments: 'به افزودن اسناد بروید',
|
||||
confirmPublishContent: 'پس از انتشار موفقیت آمیز خط لوله دانش، ساختار تکه ای این پایگاه دانش قابل تغییر نیست. آیا مطمئن هستید که می خواهید آن را منتشر کنید؟',
|
||||
},
|
||||
inputField: {
|
||||
manage: 'مدیریت',
|
||||
create: 'ایجاد فیلد ورودی کاربر',
|
||||
},
|
||||
publishToast: {
|
||||
title: 'این خط لوله هنوز منتشر نشده است',
|
||||
desc: 'هنگامی که خط لوله منتشر نمی شود، می توانید ساختار تکه را در گره پایگاه دانش تغییر دهید و ارکستراسیون و تغییرات خط لوله به طور خودکار به عنوان پیش نویس ذخیره می شود.',
|
||||
},
|
||||
result: {
|
||||
resultPreview: {
|
||||
viewDetails: 'مشاهده جزئیات',
|
||||
loading: 'پردازش... لطفاً منتظر بمانید',
|
||||
error: 'خطا در حین اجرا رخ داد',
|
||||
},
|
||||
},
|
||||
ragToolSuggestions: {
|
||||
title: 'پیشنهاداتی برای RAG',
|
||||
},
|
||||
}
|
||||
|
||||
export default translation
|
||||
@@ -17,6 +17,7 @@ const translation = {
|
||||
travel: 'سفر',
|
||||
videos: 'فیلم',
|
||||
agent: 'عامل',
|
||||
rag: 'پوش',
|
||||
},
|
||||
searchTags: 'جستجو برچسب ها',
|
||||
allTags: 'همه برچسب ها',
|
||||
|
||||
@@ -6,6 +6,7 @@ const translation = {
|
||||
agents: 'استراتژی های عامل',
|
||||
tools: 'ابزار',
|
||||
extensions: 'پسوند',
|
||||
datasources: 'منابع داده',
|
||||
},
|
||||
categorySingle: {
|
||||
tool: 'ابزار',
|
||||
@@ -13,6 +14,7 @@ const translation = {
|
||||
extension: 'فرمت',
|
||||
model: 'مدل',
|
||||
bundle: 'بسته',
|
||||
datasource: 'منبع داده',
|
||||
},
|
||||
list: {
|
||||
source: {
|
||||
@@ -45,7 +47,8 @@ const translation = {
|
||||
install: 'نصب',
|
||||
},
|
||||
toolSelector: {
|
||||
descriptionPlaceholder: 'شرح مختصری از هدف ابزار، به عنوان مثال، دما را برای یک مکان خاص دریافت کنید.',
|
||||
descriptionPlaceholder:
|
||||
'شرح مختصری از هدف ابزار، به عنوان مثال، دما را برای یک مکان خاص دریافت کنید.',
|
||||
auto: 'خودکار',
|
||||
unsupportedContent: 'نسخه افزونه نصب شده این عمل را ارائه نمی دهد.',
|
||||
paramsTip1: 'پارامترهای استنتاج LLM را کنترل می کند.',
|
||||
@@ -55,15 +58,18 @@ const translation = {
|
||||
descriptionLabel: 'توضیحات ابزار',
|
||||
title: 'ابزار افزودن',
|
||||
settings: 'تنظیمات کاربر',
|
||||
empty: 'برای افزودن ابزارها روی دکمه "+" کلیک کنید. می توانید چندین ابزار اضافه کنید.',
|
||||
empty:
|
||||
'برای افزودن ابزارها روی دکمه "+" کلیک کنید. می توانید چندین ابزار اضافه کنید.',
|
||||
toolLabel: 'ابزار',
|
||||
uninstalledTitle: 'ابزار نصب نشده است',
|
||||
uninstalledLink: 'مدیریت در پلاگین ها',
|
||||
uninstalledContent: 'این افزونه از مخزن local/GitHub نصب شده است. لطفا پس از نصب استفاده کنید.',
|
||||
uninstalledContent:
|
||||
'این افزونه از مخزن local/GitHub نصب شده است. لطفا پس از نصب استفاده کنید.',
|
||||
unsupportedTitle: 'اکشن پشتیبانی نشده',
|
||||
unsupportedContent2: 'برای تغییر نسخه کلیک کنید.',
|
||||
toolSetting: 'تنظیمات ابزار',
|
||||
unsupportedMCPTool: 'نسخه فعلی پلاگین استراتژی عامل انتخابشده از ابزارهای MCP پشتیبانی نمیکند.',
|
||||
unsupportedMCPTool:
|
||||
'نسخه فعلی پلاگین استراتژی عامل انتخابشده از ابزارهای MCP پشتیبانی نمیکند.',
|
||||
},
|
||||
endpointDeleteTip: 'حذف نقطه پایانی',
|
||||
disabled: 'غیر فعال',
|
||||
@@ -74,14 +80,16 @@ const translation = {
|
||||
actionNum: '{{عدد}} {{اقدام}} شامل',
|
||||
endpointDisableContent: 'آیا می خواهید {{name}} را غیرفعال کنید؟',
|
||||
endpointModalTitle: 'راه اندازی اندپوینت',
|
||||
endpointsTip: 'این افزونه عملکردهای خاصی را از طریق نقاط پایانی ارائه می دهد و می توانید چندین مجموعه نقطه پایانی را برای فضای کاری فعلی پیکربندی کنید.',
|
||||
endpointsTip:
|
||||
'این افزونه عملکردهای خاصی را از طریق نقاط پایانی ارائه می دهد و می توانید چندین مجموعه نقطه پایانی را برای فضای کاری فعلی پیکربندی کنید.',
|
||||
serviceOk: 'خدمات خوب',
|
||||
modelNum: '{{عدد}} مدل های گنجانده شده است',
|
||||
endpointDisableTip: 'غیرفعال کردن نقطه پایانی',
|
||||
configureModel: 'مدل را پیکربندی کنید',
|
||||
configureTool: 'ابزار پیکربندی',
|
||||
endpointsEmpty: 'برای افزودن نقطه پایانی روی دکمه "+" کلیک کنید',
|
||||
endpointModalDesc: 'پس از پیکربندی، می توان از ویژگی های ارائه شده توسط افزونه از طریق نقاط پایانی API استفاده کرد.',
|
||||
endpointModalDesc:
|
||||
'پس از پیکربندی، می توان از ویژگی های ارائه شده توسط افزونه از طریق نقاط پایانی API استفاده کرد.',
|
||||
switchVersion: 'نسخه سوئیچ',
|
||||
endpointDeleteContent: 'آیا می خواهید {{name}} را حذف کنید؟',
|
||||
deprecation: {
|
||||
@@ -91,8 +99,10 @@ const translation = {
|
||||
noMaintainer: 'بدون نگهدارنده',
|
||||
},
|
||||
noReason: 'این افزونه منسوخ شده است و دیگر به روز رسانی نخواهد شد.',
|
||||
onlyReason: 'این افزونه به دلیل {{deprecatedReason}} منسوخ شده و دیگر بهروزرسانی نخواهد شد.',
|
||||
fullMessage: 'این افزونه به دلیل {{deprecatedReason}} منسوخ شده است و دیگر بهروزرسانی نخواهد شد. لطفا بهجای آن از <CustomLink href=\'https://example.com/\'>{{-alternativePluginId}}</CustomLink> استفاده کنید.',
|
||||
onlyReason:
|
||||
'این افزونه به دلیل {{deprecatedReason}} منسوخ شده و دیگر بهروزرسانی نخواهد شد.',
|
||||
fullMessage:
|
||||
'این افزونه به دلیل {{deprecatedReason}} منسوخ شده است و دیگر بهروزرسانی نخواهد شد. لطفا بهجای آن از <CustomLink href=\'https://example.com/\'>{{-alternativePluginId}}</CustomLink> استفاده کنید.',
|
||||
},
|
||||
},
|
||||
debugInfo: {
|
||||
@@ -131,7 +141,8 @@ const translation = {
|
||||
next: 'بعدی',
|
||||
cancel: 'لغو',
|
||||
uploadingPackage: 'آپلود {{packageName}}...',
|
||||
fromTrustSource: 'لطفا مطمئن شوید که افزونه ها را فقط از <trustSource>یک منبع قابل اعتماد</trustSource> نصب می کنید.',
|
||||
fromTrustSource:
|
||||
'لطفا مطمئن شوید که افزونه ها را فقط از <trustSource>یک منبع قابل اعتماد</trustSource> نصب می کنید.',
|
||||
readyToInstall: 'در مورد نصب افزونه زیر',
|
||||
install: 'نصب',
|
||||
pluginLoadError: 'خطای بارگذاری افزونه',
|
||||
@@ -157,7 +168,8 @@ const translation = {
|
||||
updatePlugin: 'افزونه را از GitHub به روز کنید',
|
||||
uploadFailed: 'آپلود انجام نشد',
|
||||
installedSuccessfully: 'نصب موفقیت آمیز بود',
|
||||
installNote: 'لطفا مطمئن شوید که افزونه ها را فقط از یک منبع قابل اعتماد نصب می کنید.',
|
||||
installNote:
|
||||
'لطفا مطمئن شوید که افزونه ها را فقط از یک منبع قابل اعتماد نصب می کنید.',
|
||||
installFailed: 'نصب ناموفق بود',
|
||||
selectVersionPlaceholder: 'لطفا یک نسخه را انتخاب کنید',
|
||||
selectPackage: 'بسته را انتخاب کنید',
|
||||
@@ -173,9 +185,12 @@ const translation = {
|
||||
description: 'در مورد نصب افزونه زیر',
|
||||
},
|
||||
error: {
|
||||
noReleasesFound: 'هیچ نسخه ای یافت نشد. لطفا مخزن GitHub یا URL ورودی را بررسی کنید.',
|
||||
inValidGitHubUrl: 'URL GitHub نامعتبر است. لطفا یک URL معتبر را در قالب وارد کنید: https://github.com/owner/repo',
|
||||
fetchReleasesError: 'امکان بازیابی نسخه ها وجود ندارد. لطفا بعدا دوباره امتحان کنید.',
|
||||
noReleasesFound:
|
||||
'هیچ نسخه ای یافت نشد. لطفا مخزن GitHub یا URL ورودی را بررسی کنید.',
|
||||
inValidGitHubUrl:
|
||||
'URL GitHub نامعتبر است. لطفا یک URL معتبر را در قالب وارد کنید: https://github.com/owner/repo',
|
||||
fetchReleasesError:
|
||||
'امکان بازیابی نسخه ها وجود ندارد. لطفا بعدا دوباره امتحان کنید.',
|
||||
},
|
||||
marketplace: {
|
||||
sortOption: {
|
||||
@@ -201,8 +216,10 @@ const translation = {
|
||||
clearAll: 'پاک کردن همه',
|
||||
installedError: 'افزونه های {{errorLength}} نصب نشدند',
|
||||
installError: 'پلاگین های {{errorLength}} نصب نشدند، برای مشاهده کلیک کنید',
|
||||
installingWithSuccess: 'نصب پلاگین های {{installingLength}}، {{successLength}} موفقیت آمیز است.',
|
||||
installingWithError: 'نصب پلاگین های {{installingLength}}، {{successLength}} با موفقیت مواجه شد، {{errorLength}} ناموفق بود',
|
||||
installingWithSuccess:
|
||||
'نصب پلاگین های {{installingLength}}، {{successLength}} موفقیت آمیز است.',
|
||||
installingWithError:
|
||||
'نصب پلاگین های {{installingLength}}، {{successLength}} با موفقیت مواجه شد، {{errorLength}} ناموفق بود',
|
||||
},
|
||||
searchTools: 'ابزارهای جستجو...',
|
||||
findMoreInMarketplace: 'اطلاعات بیشتر در Marketplace',
|
||||
@@ -221,7 +238,8 @@ const translation = {
|
||||
metadata: {
|
||||
title: 'پلاگین ها',
|
||||
},
|
||||
difyVersionNotCompatible: 'نسخه فعلی دیفی با این پلاگین سازگار نیست، لطفاً به نسخه حداقل مورد نیاز بهروزرسانی کنید: {{minimalDifyVersion}}',
|
||||
difyVersionNotCompatible:
|
||||
'نسخه فعلی دیفی با این پلاگین سازگار نیست، لطفاً به نسخه حداقل مورد نیاز بهروزرسانی کنید: {{minimalDifyVersion}}',
|
||||
requestAPlugin: 'درخواست یک افزونه',
|
||||
publishPlugins: 'انتشار افزونه ها',
|
||||
auth: {
|
||||
@@ -244,12 +262,18 @@ const translation = {
|
||||
saveAndAuth: 'ذخیره و تأیید',
|
||||
saveOnly: 'فقط ذخیره کنید',
|
||||
oauthClientSettings: 'تنظیمات کلاینت اوتور',
|
||||
clientInfo: 'از آنجایی که هیچ راز مشتری سیستم برای این ارائهدهنده ابزار پیدا نشد، تنظیم دستی آن ضروری است، لطفاً برای redirect_uri از',
|
||||
useApiAuthDesc: 'پس از پیکربندی اعتبارنامهها، تمامی اعضای درون فضای کاری میتوانند از این ابزار هنگام نظمدهی به برنامهها استفاده کنند.',
|
||||
clientInfo:
|
||||
'از آنجایی که هیچ راز مشتری سیستم برای این ارائهدهنده ابزار پیدا نشد، تنظیم دستی آن ضروری است، لطفاً برای redirect_uri از',
|
||||
useApiAuthDesc:
|
||||
'پس از پیکربندی اعتبارنامهها، تمامی اعضای درون فضای کاری میتوانند از این ابزار هنگام نظمدهی به برنامهها استفاده کنند.',
|
||||
unavailable: 'در دسترس نیست',
|
||||
credentialUnavailable: 'دسترسی به مدارک در حال حاضر امکانپذیر نیست. لطفاً با مدیر تماس بگیرید.',
|
||||
customCredentialUnavailable: 'اعتبارنامههای سفارشی در حال حاضر در دسترس نیستند',
|
||||
credentialUnavailable:
|
||||
'دسترسی به مدارک در حال حاضر امکانپذیر نیست. لطفاً با مدیر تماس بگیرید.',
|
||||
customCredentialUnavailable:
|
||||
'اعتبارنامههای سفارشی در حال حاضر در دسترس نیستند',
|
||||
credentialUnavailableInButton: 'گواهی در دسترس نیست',
|
||||
connectedWorkspace: 'فضای کاری متصل',
|
||||
emptyAuth: 'لطفا احراز هویت را پیکربندی کنید',
|
||||
},
|
||||
deprecated: 'منسوخ شده',
|
||||
autoUpdate: {
|
||||
@@ -261,7 +285,8 @@ const translation = {
|
||||
fixOnly: {
|
||||
name: 'فقط تعمیر کنید',
|
||||
selectedDescription: 'بهروزرسانی خودکار تنها برای نسخههای وصله',
|
||||
description: 'بهروزرسانی خودکار فقط برای نسخههای پچ (مانند ۱.۰.۱ → ۱.۰.۲). تغییرات جزئی نسخه باعث راهاندازی بهروزرسانیها نمیشود.',
|
||||
description:
|
||||
'بهروزرسانی خودکار فقط برای نسخههای پچ (مانند ۱.۰.۱ → ۱.۰.۲). تغییرات جزئی نسخه باعث راهاندازی بهروزرسانیها نمیشود.',
|
||||
},
|
||||
latest: {
|
||||
name: 'جدیدترین',
|
||||
@@ -276,7 +301,8 @@ const translation = {
|
||||
},
|
||||
upgradeModePlaceholder: {
|
||||
exclude: 'افزونههای انتخاب شده بهصورت خودکار بهروزرسانی نخواهند شد',
|
||||
partial: 'فقط پلاگینهای انتخاب شده بهروزرسانی خودکار خواهند داشت. در حال حاضر هیچ پلاگینی انتخاب نشده است، بنابراین هیچ پلاگینی بهروزرسانی خودکار نخواهد شد.',
|
||||
partial:
|
||||
'فقط پلاگینهای انتخاب شده بهروزرسانی خودکار خواهند داشت. در حال حاضر هیچ پلاگینی انتخاب نشده است، بنابراین هیچ پلاگینی بهروزرسانی خودکار نخواهد شد.',
|
||||
},
|
||||
operation: {
|
||||
select: 'افزونهها را انتخاب کنید',
|
||||
@@ -286,7 +312,8 @@ const translation = {
|
||||
title: 'کاهش نسخه افزونه',
|
||||
downgrade: 'به هر حال تنزل دهید',
|
||||
exclude: 'از بروزرسانی خودکار مستثنی شود',
|
||||
description: 'بهروزرسانی خودکار برای این افزونه در حال حاضر فعال است. کاهش نسخه ممکن است باعث شود تغییرات شما در حین بهروزرسانی خودکار بعدی نادیده گرفته شود.',
|
||||
description:
|
||||
'بهروزرسانی خودکار برای این افزونه در حال حاضر فعال است. کاهش نسخه ممکن است باعث شود تغییرات شما در حین بهروزرسانی خودکار بعدی نادیده گرفته شود.',
|
||||
},
|
||||
noPluginPlaceholder: {
|
||||
noFound: 'هیچ افزونهای یافت نشد',
|
||||
@@ -297,10 +324,13 @@ const translation = {
|
||||
updateTime: 'زمان بهروزرسانی',
|
||||
automaticUpdates: 'بروز رسانی خودکار',
|
||||
updateSettings: 'تنظیمات را بهروزرسانی کنید',
|
||||
changeTimezone: 'برای تغییر منطقه زمانی، به <setTimezone>تنظیمات</setTimezone> بروید',
|
||||
excludeUpdate: 'پلاگینهای زیر {{num}} بهطور خودکار بهروزرسانی نخواهند شد',
|
||||
changeTimezone:
|
||||
'برای تغییر منطقه زمانی، به <setTimezone>تنظیمات</setTimezone> بروید',
|
||||
excludeUpdate:
|
||||
'پلاگینهای زیر {{num}} بهطور خودکار بهروزرسانی نخواهند شد',
|
||||
nextUpdateTime: 'بهروزرسانی خودکار بعدی: {{time}}',
|
||||
partialUPdate: 'تنها {{num}} پلاگین زیر بهطور خودکار بهروزرسانی خواهد شد.',
|
||||
partialUPdate:
|
||||
'تنها {{num}} پلاگین زیر بهطور خودکار بهروزرسانی خواهد شد.',
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@@ -244,6 +244,7 @@ const translation = {
|
||||
publishTip: 'برنامه منتشر نشده است. لطفاً ابتدا برنامه را منتشر کنید.',
|
||||
},
|
||||
},
|
||||
allTools: 'همه ابزارها',
|
||||
}
|
||||
|
||||
export default translation
|
||||
|
||||
@@ -88,7 +88,6 @@ const translation = {
|
||||
},
|
||||
disconnect: 'قطع',
|
||||
jumpToNode: 'پرش به این گره',
|
||||
parallelRun: 'اجرای موازی',
|
||||
addParallelNode: 'افزودن گره موازی',
|
||||
parallel: 'موازی',
|
||||
branch: 'شاخه',
|
||||
@@ -218,6 +217,8 @@ const translation = {
|
||||
back: 'بازگشت',
|
||||
iteration: 'تکرار',
|
||||
loop: 'حلقه',
|
||||
reRun: 'دوباره اجرا کنید',
|
||||
preparingDataSource: 'آماده سازی منبع داده',
|
||||
},
|
||||
tabs: {
|
||||
'tools': 'ابزارها',
|
||||
@@ -236,6 +237,8 @@ const translation = {
|
||||
'searchBlock': 'گره جستجو',
|
||||
'addAll': 'همه را اضافه کنید',
|
||||
'allAdded': 'همه اضافه شده است',
|
||||
'sources': 'منابع',
|
||||
'searchDataSource': 'منبع داده جستجو',
|
||||
},
|
||||
blocks: {
|
||||
'start': 'شروع',
|
||||
@@ -260,6 +263,8 @@ const translation = {
|
||||
'loop-start': 'شروع حلقه',
|
||||
'loop-end': 'خروج از حلقه',
|
||||
'loop': 'حلقه',
|
||||
'datasource': 'منبع داده',
|
||||
'knowledge-index': 'پایگاه دانش',
|
||||
},
|
||||
blocksAbout: {
|
||||
'start': 'پارامترهای اولیه برای راهاندازی جریان کار را تعریف کنید',
|
||||
@@ -282,6 +287,8 @@ const translation = {
|
||||
'agent': 'فراخوانی مدل های زبان بزرگ برای پاسخ به سوالات یا پردازش زبان طبیعی',
|
||||
'loop-end': 'معادل "شکستن". این گره هیچ مورد پیکربندی ندارد. هنگامی که بدنه حلقه به این گره میرسد، حلقه متوقف میشود.',
|
||||
'loop': 'یک حلقه منطقی را اجرا کنید تا زمانی که شرایط خاتمه برآورده شود یا حداکثر تعداد حلقه به پایان برسد.',
|
||||
'knowledge-index': 'پایگاه دانش درباره',
|
||||
'datasource': 'منبع داده درباره',
|
||||
},
|
||||
operator: {
|
||||
zoomIn: 'بزرگنمایی',
|
||||
@@ -382,6 +389,7 @@ const translation = {
|
||||
input: 'مقدار ورودی',
|
||||
variable: 'از متغیر استفاده کن',
|
||||
},
|
||||
inputVars: 'متغیرهای ورودی',
|
||||
},
|
||||
start: {
|
||||
required: 'الزامی',
|
||||
@@ -916,6 +924,27 @@ const translation = {
|
||||
breakCondition: 'شرط خاتمه حلقه',
|
||||
breakConditionTip: 'فقط متغیرهای داخل حلقهها با شرایط خاتمه و متغیرهای گفتگو میتوانند مورد ارجاع قرار گیرند.',
|
||||
},
|
||||
dataSource: {
|
||||
supportedFileFormatsPlaceholder: 'پسوند فایل، e.g. doc',
|
||||
add: 'منبع داده را اضافه کنید',
|
||||
supportedFileFormats: 'فرمت های فایل پشتیبانی شده',
|
||||
},
|
||||
knowledgeBase: {
|
||||
chunkStructureTip: {
|
||||
learnMore: 'بیشتر بدانید',
|
||||
title: 'لطفا یک ساختار تکه ای را انتخاب کنید',
|
||||
message: 'پایگاه دانش Dify از سه ساختار تکه ای پشتیبانی می کند: عمومی، والد-فرزند و پرسش و پاسخ. هر پایگاه دانش فقط می تواند یک ساختار داشته باشد. خروجی گره قبلی باید با ساختار تکه انتخاب شده هماهنگ باشد. توجه داشته باشید که انتخاب ساختار تکه بندی بر روش های شاخص موجود تأثیر می گذارد.',
|
||||
},
|
||||
chunkStructure: 'ساختار تکه',
|
||||
retrievalSettingIsRequired: 'تنظیمات بازیابی مورد نیاز است',
|
||||
indexMethodIsRequired: 'روش شاخص مورد نیاز است',
|
||||
changeChunkStructure: 'تغییر ساختار تکه',
|
||||
aboutRetrieval: 'درباره روش بازیابی.',
|
||||
chunkIsRequired: 'ساختار تکه ای مورد نیاز است',
|
||||
chooseChunkStructure: 'یک ساختار تکه ای را انتخاب کنید',
|
||||
chunksInput: 'تکهها',
|
||||
chunksInputTip: 'متغیر ورودی گره پایگاه دانش چانکها است. نوع متغیر یک شیء با یک طرح JSON خاص است که باید با ساختار چانک انتخاب شده سازگار باشد.',
|
||||
},
|
||||
},
|
||||
tracing: {
|
||||
stopBy: 'متوقف شده توسط {{user}}',
|
||||
@@ -986,6 +1015,10 @@ const translation = {
|
||||
clearNode: 'کش متغیر کش شده را پاک کنید',
|
||||
emptyTip: 'پس از عبور از یک گره روی بوم یا اجرای گره به صورت مرحلهای، میتوانید مقدار فعلی متغیر گره را در بازرسی متغیر مشاهده کنید.',
|
||||
resetConversationVar: 'متغیر گفتگو را به مقدار پیشفرض بازنشانی کنید',
|
||||
export: 'صادرات',
|
||||
exportToolTip: 'اکسپورت متغیر به عنوان فایل',
|
||||
largeData: 'داده های بزرگ، پیش نمایش فقط خواندنی صادرات برای مشاهده همه.',
|
||||
largeDataNoExport: 'داده های بزرگ - فقط پیش نمایش جزئی',
|
||||
},
|
||||
settingsTab: 'تنظیمات',
|
||||
lastRunTab: 'آخرین اجرا',
|
||||
|
||||
Reference in New Issue
Block a user