chore: add missing translations (#28631)

This commit is contained in:
yyh
2025-11-25 14:52:17 +08:00
committed by GitHub
parent 58be008676
commit 82dac2eba0
250 changed files with 9194 additions and 324 deletions

View File

@@ -575,6 +575,8 @@ const translation = {
waitForFileUpload: 'لطفا منتظر بمانید تا فایل/فایل ها آپلود شوند',
waitForImgUpload: 'لطفا منتظر بمانید تا تصویر آپلود شود',
waitForBatchResponse: 'لطفا منتظر بمانید تا پاسخ به کار دسته ای تکمیل شود.',
nameOfKeyRequired: 'نام کلید: {{key}} الزامی است',
valueOfVarRequired: 'مقدار {{key}} نمی‌تواند خالی باشد',
},
warningMessage: {
timeoutExceeded: 'نتایج به دلیل مهلت زمانی نمایش داده نمی شوند. لطفا برای جمع آوری نتایج کامل به گزارش ها مراجعه کنید.',
@@ -587,7 +589,13 @@ const translation = {
name: 'نام فیلد ورودی کاربر',
type: 'نوع ورودی',
},
varKeyError: {},
varKeyError: {
canNoBeEmpty: '{{key}} مورد نیاز است',
tooLong: '{{key}} خیلی طولانی است. نمی‌تواند بیش از ۳۰ کاراکتر باشد',
notValid: '{{key}} نامعتبر است. فقط می‌تواند شامل حروف، اعداد و زیرخط باشد',
notStartWithNumber: '{{key}} نمی‌تواند با یک عدد شروع شود',
keyAlreadyExists: '{{key}} قبلاً موجود است',
},
otherError: {
promptNoBeEmpty: 'اعلان نمی تواند خالی باشد',
historyNoBeEmpty: 'سابقه مکالمه باید در اعلان تنظیم شود',
@@ -665,6 +673,9 @@ const translation = {
'unitPlaceholder': 'نمایش واحدها بعد از اعداد، به عنوان مثال توکن ها',
'placeholderPlaceholder': 'متن را وارد کنید تا زمانی که فیلد خالی است نمایش داده شود',
'tooltipsPlaceholder': 'نوشتار مفیدی را که هنگام نگه داشتن ماوس روی برچسب نشان داده می شود وارد کنید',
'description': 'تنظیم برای متغیر {{varName}}',
'notSet': 'تنظیم نشده است، سعی کنید {{input}} را در پیش‌نویس وارد کنید',
'maxNumberTip': 'سند < {{docLimit}}، تصویر < {{imgLimit}}، صوت < {{audioLimit}}، ویدئو < {{videoLimit}}',
},
vision: {
visionSettings: {
@@ -677,6 +688,7 @@ const translation = {
localUpload: 'آپلود محلی',
title: 'تنظیمات بینایی',
both: 'هر دو',
resolutionTooltip: 'رزولوشن پایین به مدل اجازه می‌دهد نسخه‌ای کم‌رزولوشن از تصویر با اندازه ۵۱۲ در ۵۱۲ دریافت کند و تصویر را با بودجه ۶۵ توکن نمایش دهد. این امکان باعث می‌شود API پاسخ‌ها را سریع‌تر بازگرداند و توکن‌های ورودی کمتری برای مواردی که نیازی به جزئیات بالا ندارند، مصرف کند.\n\nرزولوشن بالا ابتدا به مدل اجازه می‌دهد تصویر کم‌رزولوشن را ببیند و سپس کات‌های دقیقی از تصاویر ورودی به صورت مربع‌های ۵۱۲ پیکسلی بنا بر اندازه تصویر ورودی ایجاد می‌کند. هر کدام از کات‌های دقیق از دو برابر بودجه توکن استفاده می‌کنند که مجموعاً ۱۲۹ توکن می‌شود.',
},
settings: 'تنظیمات',
name: 'چشم انداز',
@@ -705,6 +717,10 @@ const translation = {
title: 'افتتاحیه مکالمه',
openingQuestion: 'سوالات آغازین',
noDataPlaceHolder: 'شروع مکالمه با کاربر می تواند به هوش مصنوعی کمک کند تا در برنامه های مکالمه ارتباط نزدیک تری با آنها برقرار کند.',
placeholder: 'پیام شروع خود را اینجا بنویسید، می‌توانید از متغیرها استفاده کنید، امتحان کنید تایپ {{variable}}.',
openingQuestionPlaceholder: 'می‌توانید از متغیرها استفاده کنید، امتحان کنید {{variable}} را تایپ کنید.',
varTip: 'می‌توانید از متغیرها استفاده کنید، نوع {{variable}} را امتحان کنید',
notIncludeKey: 'پیام اولیه شامل متغیر {{key}} نیست. لطفاً آن را به پیام اولیه اضافه کنید.',
},
modelConfig: {
modeType: {
@@ -796,6 +812,8 @@ const translation = {
formattingChangedText: 'با تغییر قالب بندی، ناحیه اشکال زدایی بازنشانی می شود، مطمئن هستید؟',
variableTip: 'کاربران متغیرها را در یک فرم پر می کنند و به طور خودکار متغیرها را در اعلان جایگزین می کنند.',
autoAddVar: 'متغیرهای تعریف نشده که در پیش اعلان ارجاع داده شده اند، آیا می خواهید آنها را به صورت ورودی کاربر اضافه کنید؟',
promptTip: 'پرومپت‌ها پاسخ‌های هوش مصنوعی را با دستورالعمل‌ها و محدودیت‌ها هدایت می‌کنند. متغیرهایی مانند {{input}} را وارد کنید. این پرومپت برای کاربران قابل مشاهده نخواهد بود.',
notSetVar: 'متغیرها به کاربران امکان می‌دهند تا هنگام پر کردن فرم‌ها، کلمات راهنما یا سخنان افتتاحیه را وارد کنند. می‌توانید امتحان کنید که \'{{input}}\' را در کلمات راهنما وارد کنید.',
}
export default translation

View File

@@ -19,6 +19,7 @@ const translation = {
tokens: 'توکن‌ها',
user: 'کاربر نهایی یا حساب',
version: 'نسخه',
triggered_from: 'فعال شده توسط',
},
pagination: {
previous: 'قبلی',
@@ -97,6 +98,15 @@ const translation = {
finalProcessing: 'پردازش نهایی',
},
dateFormat: 'MM/DD/YYYY',
triggerBy: {
debugging: 'رفع اشکال',
appRun: 'وب اپ',
webhook: 'وب‌هوک',
schedule: 'برنامه',
plugin: 'افزونه',
ragPipelineRun: 'خط لوله RAG',
ragPipelineDebugging: 'رفع اشکال RAG',
},
}
export default translation

View File

@@ -114,7 +114,11 @@ const translation = {
},
},
launch: 'راه اندازی',
enableTooltip: {},
enableTooltip: {
description: 'برای فعال کردن این ویژگی، لطفاً یک گره ورودی کاربر به صفحه اضافه کنید. (ممکن است قبلاً در پیش‌نویس وجود داشته باشد، بعد از انتشار اعمال می‌شود)',
learnMore: 'بیشتر بدانید',
},
title: 'وب اپ',
},
apiInfo: {
title: 'API سرویس بک‌اند',
@@ -126,7 +130,14 @@ const translation = {
running: 'در حال سرویس‌دهی',
disable: 'غیرفعال',
},
triggerInfo: {},
triggerInfo: {
title: 'محرک‌ها',
explanation: 'مدیریت فعال‌سازی جریان کاری',
triggersAdded: '{{count}} محرک‌ها اضافه شدند',
noTriggerAdded: 'هیچ ماشه‌ای افزوده نشده است',
triggerStatusDescription: 'وضعیت گره تریگر در اینجا نمایش داده می‌شود. (ممکن است قبلاً در پیش‌نویس وجود داشته باشد، پس از انتشار اعمال می‌شود)',
learnAboutTriggers: 'با محرک‌ها آشنا شوید',
},
disableTooltip: {
triggerMode: 'ویژگی {{feature}} در حالت گره تریگر پشتیبانی نمی‌شود.',
},

View File

@@ -98,6 +98,8 @@ const translation = {
triggerEvents: {
unlimited: 'رویدادهای ماشه‌ای نامحدود',
tooltip: 'تعداد رویدادهایی که به‌طور خودکار گردش‌های کاری را از طریق افزونه، برنامه‌زمان‌بندی یا ماشه‌های وب‌هوک آغاز می‌کنند.',
sandbox: '{{count,number}} رویدادهای محرک',
professional: '{{count,number}} رویدادهای فعال‌سازی/ماه',
},
workflowExecution: {
faster: 'اجرای سریع‌تر جریان کاری',
@@ -107,6 +109,11 @@ const translation = {
},
startNodes: {
unlimited: 'راه‌اندازی/فرآیندهای نامحدود',
limited: 'تا {{count}} محرک/جریان‌کاری',
},
title: {
plans: 'طرح‌ها',
description: 'برنامه‌ای را انتخاب کنید که بهترین تناسب را با نیازهای تیم شما دارد.',
},
},
plans: {
@@ -133,8 +140,7 @@ const translation = {
btnText: 'تماس با فروش',
for: 'برای تیم‌های بزرگ',
priceTip: 'فقط صورتحساب سالیانه',
features: {
},
features: ['راه‌حل‌های مستقرسازی مقیاس‌پذیر با سطح سازمانی', 'مجوز استفاده تجاری', 'ویژگی‌های اختصاصی سازمانی', 'چند فضای کاری و مدیریت سازمانی', 'ورود یکپارچه', 'توافق‌نامه‌های سطح خدمات مذاکره شده توسط شرکای Dify', 'امنیت و کنترل‌های پیشرفته', 'به‌روزرسانی‌ها و نگهداری به‌طور رسمی توسط دیفی', 'پشتیبانی فنی حرفه‌ای'],
},
community: {
btnText: 'شروع کنید با جامعه',
@@ -143,8 +149,7 @@ const translation = {
description: 'برای کاربران فردی، تیم‌های کوچک یا پروژه‌های غیر تجاری',
name: 'جامعه',
for: 'برای کاربران فردی، تیم‌های کوچک یا پروژه‌های غیر تجاری',
features: {
},
features: ['تمام ویژگی‌های اصلی تحت مخزن عمومی منتشر شدند', 'فضای کاری تنها', 'مطابق با مجوز متن باز Dify'],
},
premium: {
btnText: 'گرفتن نسخه پریمیوم در',
@@ -155,8 +160,7 @@ const translation = {
name: 'پیشرفته',
priceTip: 'بر اساس بازار ابری',
comingSoon: 'پشتیبانی مایکروسافت آژور و گوگل کلود به زودی در دسترس خواهد بود',
features: {
},
features: ['قابلیت اطمینان خودمدیریتی توسط ارائه‌دهندگان مختلف ابری', 'فضای کاری تنها', 'سفارشی‌سازی لوگو و برندینگ وب‌اپ', 'پشتیبانی اولویت‌دار ایمیل و چت'],
},
},
vectorSpace: {
@@ -184,6 +188,7 @@ const translation = {
vectorSpaceTooltip: 'سندهایی که با حالت نمایه‌سازی با کیفیت بالا تهیه می‌شوند، منابع ذخیره‌سازی داده‌های دانش را مصرف خواهند کرد. زمانی که ذخیره‌سازی داده‌های دانش به حد خود برسد، اسناد جدید بارگزاری نخواهند شد.',
perMonth: 'در ماه',
triggerEvents: 'رویدادهای محرک',
resetsIn: 'در {{count,number}} روز بازنشانی می‌شود',
},
teamMembers: 'اعضای تیم',
triggerLimitModal: {

View File

@@ -65,6 +65,12 @@ const translation = {
deleteConfirmTitle: 'حذف شود؟',
yes: 'بله',
confirmAction: 'لطفاً اقدام خود را تأیید کنید.',
noSearchResults: 'هیچ {{content}} یافت نشد',
resetKeywords: 'بازنشانی کلمات کلیدی',
selectCount: '{{count}} انتخاب شد',
searchCount: 'یافتن {{count}} {{content}}',
noSearchCount: '0 {{content}}',
now: 'الان',
},
errorMsg: {
fieldRequired: '{{field}} الزامی است',
@@ -73,6 +79,7 @@ const translation = {
placeholder: {
input: 'لطفا وارد کنید',
select: 'لطفا انتخاب کنید',
search: 'جستجو...',
},
voice: {
language: {
@@ -769,6 +776,13 @@ const translation = {
label: {
optional: '(اختیاری)',
},
noData: 'بدون داده',
dynamicSelect: {
error: 'بارگیری گزینه‌ها ناموفق بود',
noData: 'هیچ گزینه‌ای در دسترس نیست',
loading: 'در حال بارگذاری گزینه‌ها...',
selected: '{{count}} انتخاب شد',
},
}
export default translation

View File

@@ -81,7 +81,10 @@ const translation = {
ok: 'تأیید',
},
learnMore: 'بیشتر بدانید',
sort: {},
sort: {
uploadTime: 'زمان بارگذاری',
hitCount: 'تعداد بازیابی',
},
},
metadata: {
title: 'اطلاعات متا',

View File

@@ -34,6 +34,7 @@ const translation = {
publishPipeline: {
success: {
message: 'خط لوله دانش منتشر شد',
tip: 'برای افزودن یا مدیریت اسناد، به اسناد بروید.',
},
error: {
message: 'انتشار پایپ لاین دانش ناموفق است',
@@ -56,6 +57,7 @@ const translation = {
details: {
structure: 'ساختار',
structureTooltip: 'ساختار Chunk نحوه تقسیم و نمایه سازی اسناد را تعیین می کند - حالت های عمومی، والد-فرزند و پرسش و پاسخ را ارائه می دهد - و برای هر پایگاه دانش منحصر به فرد است.',
createdBy: 'توسط {{author}}',
},
testRun: {
steps: {
@@ -112,23 +114,32 @@ const translation = {
backToDataSource: 'منبع داده',
characters: 'کاراکتر',
title: 'اسناد را اضافه کنید',
selectOnlineDocumentTip: 'پردازش تا {{count}} صفحه',
selectOnlineDriveTip: 'پردازش تا {{count}} فایل، حداکثر {{fileSize}} مگابایت برای هر فایل',
},
documentSettings: {
title: 'تنظیمات سند',
},
onlineDocument: {},
onlineDocument: {
pageSelectorTitle: '{{name}} صفحه',
},
onlineDrive: {
breadcrumbs: {
allFiles: 'همه فایل ها',
searchPlaceholder: 'فایل های جستجو...',
allBuckets: 'همه سطل های ذخیره سازی ابری',
searchResult: 'یافتن {{searchResultsLength}} مورد در پوشه «{{folderName}}»',
},
emptyFolder: 'این پوشه خالی است',
resetKeywords: 'بازنشانی کلمات کلیدی',
emptySearchResult: 'هیچ موردی یافت نشد',
notSupportedFileType: 'این نوع فایل پشتیبانی نمی شود',
notConnected: '{{name}} متصل نیست',
notConnectedTip: 'برای همگام‌سازی با {{name}}، ابتدا باید اتصال به {{name}} برقرار شود.',
},
credentialSelector: {
name: '{{pluginName}} {{credentialName}}',
},
credentialSelector: {},
conversion: {
confirm: {
title: 'تایید',
@@ -149,6 +160,7 @@ const translation = {
editPipelineInfo: 'ویرایش اطلاعات خط لوله',
knowledgeNameAndIconPlaceholder: 'لطفا نام پایگاه دانش را وارد کنید',
knowledgeDescriptionPlaceholder: 'آنچه در این پایگاه دانش وجود دارد را شرح دهید. توضیحات دقیق به هوش مصنوعی اجازه می دهد تا با دقت بیشتری به محتوای مجموعه داده دسترسی داشته باشد. اگر خالی باشد، Dify از استراتژی ضربه پیش فرض استفاده می کند. (اختیاری)',
configurationTip: 'پیکربندی {{pluginName}}',
}
export default translation

View File

@@ -234,6 +234,10 @@ const translation = {
enabled: 'در حال خدمت',
title: 'رابط برنامه‌نویسی سرویس',
},
docAllEnabled_one: 'سند {{count}} فعال شد',
docAllEnabled_other: 'تمام اسناد {{count}} فعال شدند',
partialEnabled_one: 'مجموعاً {{count}} سند، {{num}} موجود',
partialEnabled_other: 'مجموع {{count}} سند، {{num}} موجود',
}
export default translation

View File

@@ -52,6 +52,7 @@ const translation = {
},
isAboutToExpire: {
summary: 'نگران نباشید — این بر اشتراک فعلی شما تأثیر نخواهد گذاشت، اما زمانیکه تمدید شود، شما تخفیف آموزشی را دریافت نخواهید کرد مگر اینکه وضعیت خود را دوباره تأیید کنید.',
title: 'وضعیت تحصیلی شما در {{date}} منقضی خواهد شد',
},
stillInEducation: {
title: 'آیا هنوز در حال تحصیل هستید؟',

View File

@@ -28,10 +28,12 @@ const translation = {
viewDetails: 'مشاهده جزئیات',
loading: 'پردازش... لطفاً منتظر بمانید',
error: 'خطا در حین اجرا رخ داد',
footerTip: 'در حالت اجرای آزمایشی، پیش‌نمایش تا {{count}} بخش',
},
},
ragToolSuggestions: {
title: 'پیشنهاداتی برای RAG',
noRecommendationPlugins: 'هیچ افزونه‌ای پیشنهادی وجود ندارد، برای یافتن بیشتر به <CustomLink>بازار</CustomLink> مراجعه کنید',
},
}

View File

@@ -0,0 +1,186 @@
const translation = {
subscription: {
title: 'اشتراک‌ها',
listNum: 'اشتراک‌های {{num}}',
empty: {
title: 'بدون اشتراک',
button: 'اشتراک جدید',
},
createButton: {
oauth: 'اشتراک جدید با OAuth',
apiKey: 'اشتراک جدید با کلید API',
manual: 'چسباندن URL برای ایجاد اشتراک جدید',
},
createSuccess: 'اشتراک با موفقیت ایجاد شد',
createFailed: 'ایجاد اشتراک با شکست مواجه شد',
maxCount: 'حداکثر {{num}} اشتراک',
selectPlaceholder: 'انتخاب اشتراک',
noSubscriptionSelected: 'هیچ اشتراکی انتخاب نشده است',
subscriptionRemoved: 'اشتراک حذف شد',
list: {
title: 'اشتراک‌ها',
addButton: 'افزودن',
tip: 'دریافت رویدادها از طریق اشتراک',
item: {
enabled: 'فعال',
disabled: 'غیرفعال',
credentialType: {
api_key: 'کلید API',
oauth2: 'اواف',
unauthorized: 'دستی',
},
actions: {
delete: 'حذف',
deleteConfirm: {
title: 'آیا {{name}} را حذف می‌کنید؟',
success: 'اشتراک {{name}} با موفقیت حذف شد',
error: 'حذف اشتراک {{name}} ناموفق بود',
content: 'پس از حذف، این اشتراک قابل بازیابی نخواهد بود. لطفاً تأیید کنید.',
contentWithApps: 'اشتراک فعلی توسط {{count}} برنامه مورد استفاده قرار گرفته است. حذف آن باعث می‌شود برنامه‌های پیکربندی‌شده دریافت رویدادهای اشتراک را متوقف کنند.',
confirm: 'تأیید حذف',
cancel: 'لغو',
confirmInputWarning: 'لطفاً نام صحیح را برای تأیید وارد کنید.',
confirmInputPlaceholder: 'برای تأیید «{{name}}» را وارد کنید.',
confirmInputTip: 'لطفاً برای تأیید «{{name}}» را وارد کنید.',
},
},
status: {
active: 'فعال',
inactive: 'غیرفعال',
},
usedByNum: 'استفاده شده توسط {{num}} جریان‌های کاری',
noUsed: 'هیچ روند کاری استفاده نشده است',
},
},
addType: {
title: 'افزودن اشتراک',
description: 'انتخاب کنید که چگونه می‌خواهید اشتراک محرک خود را ایجاد کنید',
options: {
apikey: {
title: 'ایجاد با کلید API',
description: 'ایجاد اشتراک به‌صورت خودکار با استفاده از اطلاعات ورود API',
},
oauth: {
title: 'ایجاد با OAuth',
description: 'با پلتفرم شخص ثالث مجوز بدهید تا اشتراک ایجاد شود',
clientSettings: 'تنظیمات کلاینت OAuth',
clientTitle: 'کلاینت OAuth',
default: 'پیش‌فرض',
custom: 'سفارشی',
},
manual: {
title: 'راه‌اندازی دستی',
description: 'چسباندن URL برای ایجاد اشتراک جدید',
tip: 'تنظیم دستی URL در پلتفرم شخص ثالث',
},
},
},
},
modal: {
steps: {
verify: 'تأیید کردن',
configuration: 'پیکربندی',
},
common: {
cancel: 'لغو',
back: 'بازگشت',
next: 'بعدی',
create: 'ایجاد کردن',
verify: 'تأیید کردن',
authorize: 'مجاز کردن',
creating: 'در حال ایجاد...',
verifying: 'در حال تأیید...',
authorizing: 'در حال مجازسازی...',
},
oauthRedirectInfo: 'چون هیچ راز کلاینت سیستمی برای این ارائه‌دهنده ابزار پیدا نشد، تنظیم آن به صورت دستی لازم است، برای redirect_uri لطفاً استفاده کنید',
apiKey: {
title: 'ایجاد با کلید API',
verify: {
title: 'تأیید اطلاعات کاربری',
description: 'لطفاً اطلاعات API خود را برای تأیید دسترسی ارائه دهید',
error: 'تأیید اعتبار ناموفق بود. لطفاً کلید API خود را بررسی کنید.',
success: 'اعتبارات با موفقیت تأیید شد',
},
configuration: {
title: 'پیکربندی اشتراک',
description: 'پارامترهای اشتراک خود را تنظیم کنید',
},
},
oauth: {
title: 'ایجاد با OAuth',
authorization: {
title: 'مجوز او‌آه‌اِس',
description: 'اجازه دهید دیفی به حساب شما دسترسی داشته باشد',
redirectUrl: 'تغییر مسیر آدرس اینترنتی',
redirectUrlHelp: 'از این URL در تنظیمات برنامه OAuth خود استفاده کنید',
authorizeButton: 'مجوزدهی با {{provider}}',
waitingAuth: 'در انتظار مجوز...',
authSuccess: 'مجوز با موفقیت صادر شد',
authFailed: 'دریافت اطلاعات مجوز OAuth ناکام ماند',
waitingJump: 'مجاز، در انتظار پرش',
},
configuration: {
title: 'پیکربندی اشتراک',
description: 'پس از تأیید هویت، پارامترهای اشتراک خود را تنظیم کنید',
success: 'پیکربندی OAuth با موفقیت انجام شد',
failed: 'پیکربندی OAuth با شکست مواجه شد',
},
remove: {
success: 'حذف OAuth با موفقیت انجام شد',
failed: 'حذف OAuth ناموفق بود',
},
save: {
success: 'پیکربندی OAuth با موفقیت ذخیره شد',
},
},
manual: {
title: 'راه‌اندازی دستی',
description: 'اشتراک وب‌هوک خود را به‌صورت دستی تنظیم کنید',
logs: {
title: 'گزارش‌های درخواست',
request: 'درخواست',
loading: 'در انتظار درخواست از {{pluginName}}...',
},
},
form: {
subscriptionName: {
label: 'نام اشتراک',
placeholder: 'نام اشتراک را وارد کنید',
required: 'نام اشتراک الزامی است',
},
callbackUrl: {
label: 'آدرس بازگشت تماس',
description: 'این آدرس URL رویدادهای وب هوک را دریافت خواهد کرد',
tooltip: 'یک نقطه دسترسی عمومی فراهم کنید که بتواند درخواست‌های بازگشتی از ارائه‌دهنده تریگر را دریافت کند.',
placeholder: 'در حال تولید...',
privateAddressWarning: 'به نظر می‌رسد این URL یک آدرس داخلی است که ممکن است باعث شود درخواست‌های وب‌هوک با شکست مواجه شوند. شما می‌توانید TRIGGER_URL را به یک آدرس عمومی تغییر دهید.',
},
},
errors: {
createFailed: 'ایجاد اشتراک با شکست مواجه شد',
verifyFailed: 'تأیید اطلاعات ورود ناموفق بود',
authFailed: 'مجوز ناموفق بود',
networkError: 'خطای شبکه، لطفاً دوباره تلاش کنید',
},
},
events: {
title: 'رویدادهای موجود',
description: 'رویدادهایی که این افزونه فعال‌سازی می‌تواند به آن‌ها مشترک شود',
empty: 'هیچ رویدادی در دسترس نیست',
event: 'رویداد',
events: 'رویدادها',
actionNum: '{{num}} {{event}} گنجانده شده',
item: {
parameters: 'پارامترهای {{count}}',
noParameters: 'هیچ پارامتری',
},
output: 'خروجی',
},
node: {
status: {
warning: 'قطع ارتباط',
},
},
}
export default translation

View File

@@ -7,6 +7,7 @@ const translation = {
tools: 'ابزار',
extensions: 'پسوند',
datasources: 'منابع داده',
triggers: 'محرک‌ها',
},
categorySingle: {
tool: 'ابزار',
@@ -15,6 +16,7 @@ const translation = {
model: 'مدل',
bundle: 'بسته',
datasource: 'منبع داده',
trigger: 'محرک',
},
list: {
source: {
@@ -45,6 +47,7 @@ const translation = {
detail: 'جزئیات',
viewDetail: 'نمایش جزئیات',
install: 'نصب',
back: 'بازگشت',
},
toolSelector: {
descriptionPlaceholder:
@@ -332,6 +335,12 @@ const translation = {
partialUPdate:
'تنها {{num}} پلاگین زیر به‌طور خودکار به‌روزرسانی خواهد شد.',
},
readmeInfo: {
title: 'خواندنی',
needHelpCheckReadme: 'نیاز به کمک دارید؟ فایل README را بررسی کنید.',
noReadmeAvailable: 'بدون پرونده README موجود',
failedToFetch: 'بارگیری فایل README با شکست مواجه شد',
},
}
export default translation

View File

@@ -113,6 +113,15 @@ const translation = {
currentView: 'نمای فعلی',
currentWorkflow: 'گردش کار فعلی',
moreActions: 'اقدامات بیشتر',
listening: 'گوش دادن',
chooseStartNodeToRun: 'گره شروع را برای اجرا انتخاب کنید',
runAllTriggers: 'اجرای همه‌ی تریگرها',
features: 'ویژگی‌ها',
featuresDescription: 'بهبود تجربه کاربری برنامه وب',
featuresDocLink: 'بیشتر بدانید',
needAdd: 'باید یک گره {{node}} اضافه شود',
needStartNode: 'حداقل یک گره شروع باید اضافه شود',
workflowAsToolDisabledHint: 'آخرین جریان کاری را منتشر کنید و قبل از تنظیم آن به عنوان یک ابزار، مطمئن شوید که یک گره ورودی کاربر متصل وجود دارد.',
},
env: {
envPanelTitle: 'متغیرهای محیطی',
@@ -219,6 +228,7 @@ const translation = {
rerankModelRequired: 'قبل از روشن کردن Rerank Model، لطفا تأیید کنید که مدل با موفقیت در تنظیمات پیکربندی شده است.',
noValidTool: '{{field}} هیچ ابزار معتبری انتخاب نشده است',
toolParameterRequired: '{{field}}: پارامتر [{{param}}] مورد نیاز است',
startNodeRequired: 'لطفاً ابتدا یک گره شروع اضافه کنید قبل از {{operation}}',
},
singleRun: {
testRun: 'اجرای آزمایشی',
@@ -250,6 +260,21 @@ const translation = {
'allAdded': 'همه اضافه شده است',
'sources': 'منابع',
'searchDataSource': 'منبع داده جستجو',
'start': 'شروع',
'searchTrigger': 'فعال‌سازی جستجو...',
'allTriggers': 'همه‌ی محرک‌ها',
'noPluginsFound': 'هیچ پلاگینی پیدا نشد',
'requestToCommunity': 'درخواست‌ها از جامعه',
'featuredTools': 'ویژه',
'showMoreFeatured': 'نمایش بیشتر',
'showLessFeatured': 'نمایش کمتر',
'installed': 'نصب شده',
'pluginByAuthor': 'توسط {{author}}',
'usePlugin': 'انتخاب ابزار',
'hideActions': 'ابزارها را مخفی کن',
'noFeaturedPlugins': 'ابزارهای بیشتر را در بازار پیدا کنید',
'noFeaturedTriggers': 'کشف محرک‌های بیشتر در بازار',
'startDisabledTip': 'گره تریگر و گره ورودی کاربر به‌طور متقابل انحصاری هستند.',
},
blocks: {
'start': 'شروع',
@@ -276,6 +301,10 @@ const translation = {
'loop': 'حلقه',
'datasource': 'منبع داده',
'knowledge-index': 'پایگاه دانش',
'originalStartNode': 'گره شروع اصلی',
'trigger-schedule': 'راه‌اندازی زمان‌بندی',
'trigger-webhook': 'راه‌انداز وبهوک',
'trigger-plugin': 'راه‌انداز پلاگین',
},
blocksAbout: {
'start': 'پارامترهای اولیه برای راه‌اندازی جریان کار را تعریف کنید',
@@ -300,6 +329,9 @@ const translation = {
'loop': 'یک حلقه منطقی را اجرا کنید تا زمانی که شرایط خاتمه برآورده شود یا حداکثر تعداد حلقه به پایان برسد.',
'knowledge-index': 'پایگاه دانش درباره',
'datasource': 'منبع داده درباره',
'trigger-schedule': 'راه‌اندازی گردش کار مبتنی بر زمان که گردش کارها را بر اساس برنامه آغاز می‌کند',
'trigger-webhook': 'Webhook Trigger دریافت‌کنندهٔ pushهای HTTP از سیستم‌های شخص ثالث است تا به‌طور خودکار جریان‌های کاری را راه‌اندازی کند.',
'trigger-plugin': 'راه‌اندازی یکپارچه‌سازی با شخص ثالث که گردش‌های کاری را از رویدادهای پلتفرم خارجی شروع می‌کند',
},
operator: {
zoomIn: 'بزرگ‌نمایی',
@@ -340,6 +372,8 @@ const translation = {
maximize: 'بیشینه‌سازی بوم',
scrollToSelectedNode: 'به گره انتخاب شده بروید',
optional_and_hidden: '(اختیاری و پنهان)',
goTo: 'برو به',
startNode: 'گره شروع',
},
nodes: {
common: {
@@ -787,6 +821,8 @@ const translation = {
parallelPanelDesc: 'در حالت موازی، وظایف در تکرار از اجرای موازی پشتیبانی می کنند.',
MaxParallelismDesc: 'حداکثر موازی سازی برای کنترل تعداد وظایف اجرا شده به طور همزمان در یک تکرار واحد استفاده می شود.',
answerNodeWarningDesc: 'هشدار حالت موازی: گره های پاسخ، تکالیف متغیر مکالمه و عملیات خواندن/نوشتن مداوم در تکرارها ممکن است باعث استثنائات شود.',
flattenOutput: 'صاف کردن خروجی',
flattenOutputDesc: 'هنگامی که فعال باشد، اگر تمام خروجی‌های تکرار آرایه باشند، آنها به یک آرایهٔ واحد تبدیل خواهند شد. هنگامی که غیرفعال باشد، خروجی‌ها ساختار آرایهٔ تو در تو را حفظ می‌کنند.',
},
note: {
addNote: 'افزودن یادداشت',
@@ -963,6 +999,144 @@ const translation = {
embeddingModelIsInvalid: 'مدل جاسازی نامعتبر است',
rerankingModelIsInvalid: 'مدل رتبه‌بندی مجدد نامعتبر است',
},
triggerPlugin: {
authorized: 'مجاز',
notConfigured: 'پیکربندی نشده',
notAuthorized: 'مجوز ندارد',
selectSubscription: 'انتخاب اشتراک',
availableSubscriptions: 'اشتراک‌های موجود',
addSubscription: 'افزودن اشتراک جدید',
removeSubscription: 'لغو اشتراک',
subscriptionRemoved: 'اشتراک با موفقیت حذف شد',
error: 'خطا',
configuration: 'پیکربندی',
remove: 'حذف',
or: 'یا',
useOAuth: 'استفاده از OAuth',
useApiKey: 'استفاده از کلید API',
authenticationFailed: 'احراز هویت ناموفق بود',
authenticationSuccess: 'احراز هویت با موفقیت انجام شد',
oauthConfigFailed: 'پیکربندی OAuth با شکست مواجه شد',
configureOAuthClient: 'پیکربندی مشتری OAuth',
oauthClientDescription: 'تنظیم اطلاعات مشتری OAuth برای فعال‌سازی احراز هویت',
oauthClientSaved: 'پیکربندی کلاینت OAuth با موفقیت ذخیره شد',
configureApiKey: 'پیکربندی کلید API',
apiKeyDescription: 'تنظیم اطلاعات کلید API برای احراز هویت',
apiKeyConfigured: 'کلید API با موفقیت پیکربندی شد',
configurationFailed: 'پیکربندی ناموفق بود',
failedToStart: 'شروع فرآیند احراز هویت ناکام ماند',
credentialsVerified: 'اعتبارات با موفقیت تأیید شد',
credentialVerificationFailed: 'اعتبارسنجی مدارک ناموفق بود',
verifyAndContinue: 'تأیید و ادامه',
configureParameters: 'پیکربندی پارامترها',
parametersDescription: 'تنظیم پارامترها و ویژگی‌های تریگر',
configurationComplete: 'پیکربندی کامل شد',
configurationCompleteDescription: 'راه‌انداز شما با موفقیت پیکربندی شد',
configurationCompleteMessage: 'پیکربندی ماشه شما اکنون کامل شده و آماده استفاده است.',
parameters: 'پارامترها',
properties: 'ویژگی‌ها',
propertiesDescription: 'خصوصیات پیکربندی اضافی برای این تریگر',
noConfigurationRequired: 'برای این محرک تنظیمات اضافی لازم نیست.',
subscriptionName: 'نام اشتراک',
subscriptionNameDescription: 'یک نام منحصر به فرد برای اشتراک این تریگر وارد کنید',
subscriptionNamePlaceholder: 'نام اشتراک را وارد کنید...',
subscriptionNameRequired: 'نام اشتراک الزامی است',
subscriptionRequired: 'اشتراک لازم است',
},
triggerSchedule: {
title: 'برنامه',
nodeTitle: 'راه‌اندازی زمان‌بندی',
notConfigured: 'پیکربندی نشده',
useCronExpression: 'استفاده از عبارت کران',
useVisualPicker: 'استفاده از انتخابگر بصری',
frequency: {
label: 'فرکانس',
hourly: 'ساعتی',
daily: 'روزانه',
weekly: 'هفتگی',
monthly: 'ماهانه',
},
selectFrequency: 'انتخاب فرکانس',
frequencyLabel: 'فرکانس',
nextExecution: 'اجرای بعدی',
weekdays: 'روزهای هفته',
time: 'زمان',
cronExpression: 'بیان کرون',
nextExecutionTime: 'زمان اجرای بعدی',
nextExecutionTimes: '۵ زمان اجرای بعدی',
startTime: 'زمان شروع',
executeNow: 'اجرا اکنون',
selectDateTime: 'تاریخ و زمان را انتخاب کنید',
hours: 'ساعات',
minutes: 'دقایق',
onMinute: 'در دقیقه',
days: 'روزها',
lastDay: 'آخرین روز',
lastDayTooltip: 'تمام ماه‌ها ۳۱ روز ندارند. از گزینه «آخرین روز» برای انتخاب روز آخر هر ماه استفاده کنید.',
mode: 'مد',
timezone: 'منطقه زمانی',
visualConfig: 'پیکربندی بصری',
monthlyDay: 'روز ماهانه',
executionTime: 'زمان اجرا',
invalidTimezone: 'منطقه زمانی نامعتبر',
invalidCronExpression: 'عبارت کرون نامعتبر',
noValidExecutionTime: 'زمان اجرای معتبر نمی‌تواند محاسبه شود',
executionTimeCalculationError: 'محاسبه زمان‌های اجرا با شکست مواجه شد',
invalidFrequency: 'فرکانس نامعتبر',
invalidStartTime: 'زمان شروع نامعتبر',
startTimeMustBeFuture: 'زمان شروع باید در آینده باشد',
invalidTimeFormat: 'فرمت زمان نامعتبر است (انتظار می‌رفت HH:MM AM/PM باشد)',
invalidWeekday: 'روز هفته نامعتبر: {{weekday}}',
invalidMonthlyDay: 'روز ماهانه باید بین ۱ تا ۳۱ یا «آخر» باشد',
invalidOnMinute: 'دقیقه باید بین ۰ تا ۵۹ باشد',
invalidExecutionTime: 'زمان اجرای نامعتبر',
executionTimeMustBeFuture: 'زمان اجرا باید در آینده باشد',
},
triggerWebhook: {
title: 'راه‌اندازی وبهوک',
nodeTitle: '🔗 فعال‌سازی وبهوک',
configPlaceholder: 'پیکربندی فعال‌سازی وب هوک در اینجا انجام خواهد شد',
webhookUrl: 'آدرس وب هوک',
webhookUrlPlaceholder: 'برای ایجاد آدرس وبهوک روی تولید کلیک کنید',
generate: 'تولید کردن',
copy: 'کپی',
test: 'تست',
urlGenerated: 'آدرس وبهوک با موفقیت ایجاد شد',
urlGenerationFailed: 'ایجاد URL وب‌هوک ناموفق بود',
urlCopied: 'آدرس وب‌سایت در حافظه موقت کپی شد',
method: 'روش',
contentType: 'نوع محتوا',
queryParameters: 'پارامترهای پرس‌وجو',
headerParameters: 'پارامترهای هدر',
requestBodyParameters: 'پارامترهای بدنه درخواست',
parameterName: 'نام متغیر',
varName: 'نام متغیر',
varType: 'نوع',
varNamePlaceholder: 'نام متغیر را وارد کنید...',
required: 'الزامی',
addParameter: 'افزودن',
addHeader: 'افزودن',
noParameters: 'هیچ پارامتری پیکربندی نشده است',
noQueryParameters: 'پارامترهای پرس‌وجو تنظیم نشده‌اند',
noHeaders: 'هیچ هدر پیکربندی نشده است',
noBodyParameters: 'هیچ پارامتر بدنی پیکربندی نشده است',
debugUrlTitle: 'برای اجرای آزمایشی، همیشه از این آدرس اینترنتی استفاده کنید',
debugUrlCopy: 'برای کپی کلیک کنید',
debugUrlCopied: 'کپی شد!',
debugUrlPrivateAddressWarning: 'به نظر می‌رسد این URL یک آدرس داخلی است که ممکن است باعث شود درخواست‌های وب‌هوک با شکست مواجه شوند. شما می‌توانید TRIGGER_URL را به یک آدرس عمومی تغییر دهید.',
errorHandling: 'مدیریت خطا',
errorStrategy: 'مدیریت خطا',
responseConfiguration: 'پاسخ',
asyncMode: 'حالت غیرهمزمان',
statusCode: 'کد وضعیت',
responseBody: 'بدنه پاسخ',
responseBodyPlaceholder: 'بدنه پاسخ خود را اینجا بنویسید',
headers: 'سرتیترها',
validation: {
webhookUrlRequired: 'آدرس وبهوک الزامی است',
invalidParameterType: 'نوع پارامتر نامعتبر "{{type}}" برای پارامتر "{{name}}"',
},
},
},
tracing: {
stopBy: 'متوقف شده توسط {{user}}',
@@ -1037,6 +1211,18 @@ const translation = {
exportToolTip: 'اکسپورت متغیر به عنوان فایل',
largeData: 'داده های بزرگ، پیش نمایش فقط خواندنی صادرات برای مشاهده همه.',
largeDataNoExport: 'داده های بزرگ - فقط پیش نمایش جزئی',
listening: {
title: 'در انتظار رویدادها از تریگرها...',
tip: 'اکنون می‌توانید با ارسال درخواست‌های آزمایشی به نقطه پایانی HTTP {{nodeName}} رویدادها را شبیه‌سازی کنید یا از آن به عنوان URL بازخوانی برای دیباگ رویدادهای زنده استفاده کنید. تمام خروجی‌ها را می‌توان به طور مستقیم در بازرس متغیر مشاهده کرد.',
tipPlugin: 'حال می‌توانید در {{- pluginName}} رویداد ایجاد کنید و خروجی‌های این رویدادها را در بازرس متغیرها بازیابی کنید.',
tipSchedule: 'گوش دادن به رویدادها از طریق محرک‌های زمان‌بندی شده.\nزمان اجرای بعدی برنامه‌ریزی شده: {{nextTriggerTime}}',
tipFallback: 'در انتظار رویدادهای فعال‌سازی ورودی باشید. خروجی‌ها در اینجا نمایش داده خواهند شد.',
defaultNodeName: 'این محرک',
defaultPluginName: 'این افزونه فعال می‌شود',
defaultScheduleTime: 'پیکربندی نشده',
selectedTriggers: 'تریگرهای انتخاب‌شده',
stopButton: 'توقف',
},
},
settingsTab: 'تنظیمات',
lastRunTab: 'آخرین اجرا',
@@ -1054,11 +1240,52 @@ const translation = {
noMatchingInputsFound: 'هیچ ورودی مطابقی از آخرین اجرا یافت نشد',
copyLastRunError: 'نتوانستم ورودی‌های آخرین اجرای را کپی کنم',
lastOutput: 'آخرین خروجی',
lastRunInputsCopied: '{{count}} ورودی(ها) از اجرای قبلی کپی شد',
},
sidebar: {
exportWarning: 'صادرات نسخه ذخیره شده فعلی',
exportWarningDesc: 'این نسخه فعلی ذخیره شده از کار خود را صادر خواهد کرد. اگر تغییرات غیرذخیره شده‌ای در ویرایشگر دارید، لطفاً ابتدا از گزینه صادرات در بوم کار برای ذخیره آنها استفاده کنید.',
},
publishLimit: {
startNodeTitlePrefix: 'ارتقا به',
startNodeTitleSuffix: 'فعال‌سازی تعداد نامحدود تریگر در هر جریان کاری',
startNodeDesc: 'شما به حد مجاز ۲ ماشه در هر گردش کار برای این طرح رسیده‌اید. برای انتشار این گردش کار ارتقا دهید.',
},
error: {
startNodeRequired: 'لطفاً ابتدا یک گره شروع اضافه کنید قبل از {{operation}}',
operations: {
connectingNodes: 'اتصال گره‌ها',
addingNodes: 'افزودن گره‌ها',
modifyingWorkflow: 'تغییر جریان کاری',
updatingWorkflow: 'به‌روزرسانی جریان کاری',
},
},
customWebhook: 'وبهوک سفارشی',
difyTeam: 'تیم دیفی',
triggerStatus: {
enabled: 'محرک',
disabled: 'فعال‌سازی • غیرفعال',
},
entryNodeStatus: {
enabled: 'شروع',
disabled: 'شروع • غیر فعال',
},
onboarding: {
title: 'یک گره شروع را برای آغاز انتخاب کنید',
description: 'گره‌های شروع مختلف، قابلیت‌های متفاوتی دارند. نگران نباشید، همیشه می‌توانید بعداً آن‌ها را تغییر دهید.',
userInputFull: 'ورودی کاربر (گره شروع اصلی)',
userInputDescription: 'گره شروع که امکان تنظیم متغیرهای ورودی کاربر را دارد، با برنامه وب، API سرویس، سرور MCP و جریان کاری به عنوان قابلیت‌های ابزار.',
trigger: 'محرک',
triggerDescription: 'تریگرها می‌توانند به عنوان گره شروع یک گردش کار عمل کنند، مانند کارهای زمان‌بندی‌شده، وبهوک‌های سفارشی، یا یکپارچه‌سازی با برنامه‌های دیگر.',
back: 'بازگشت',
learnMore: 'بیشتر بدانید',
aboutStartNode: 'درباره گره شروع.',
escTip: {
press: 'چاپ',
key: 'فرار',
toDismiss: 'اخراج کردن',
},
},
}
export default translation