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

@@ -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