fix(i18n): refine localized copy

This commit is contained in:
NimBold
2026-07-21 23:21:40 +03:30
parent a98cce0980
commit e1f83b4f19
5 changed files with 474 additions and 474 deletions
+104 -104
View File
@@ -30,7 +30,7 @@ const fa = {
resizeSidebar: 'تغییر اندازه نوار کناری', resizeSidebar: 'تغییر اندازه نوار کناری',
cancel: 'لغو', cancel: 'لغو',
continue: 'ادامه', continue: 'ادامه',
dismissNotification: 'رد کردن اعلان', dismissNotification: 'بستن اعلان',
queueName: 'نام صف', queueName: 'نام صف',
addNewQueue: 'افزودن صف جدید', addNewQueue: 'افزودن صف جدید',
startQueue: 'شروع صف', startQueue: 'شروع صف',
@@ -91,8 +91,8 @@ const fa = {
retrying: 'در حال تلاش مجدد', retrying: 'در حال تلاش مجدد',
}, },
values: { values: {
processing: 'در حال پردازش...', processing: 'در حال پردازش',
muxing: 'ترکیب...', muxing: 'در حال ترکیب',
}, },
}, },
speedLimiter: { speedLimiter: {
@@ -103,11 +103,11 @@ const fa = {
description: 'در مورد انتقال‌های جدید و فعال aria2 و دانلودهای رسانه جدید yt-dlp اعمال می‌شود. محدودیت‌های خاص هر دانلود برای آن انتقال‌ها به قوت خود باقی می‌ماند.', description: 'در مورد انتقال‌های جدید و فعال aria2 و دانلودهای رسانه جدید yt-dlp اعمال می‌شود. محدودیت‌های خاص هر دانلود برای آن انتقال‌ها به قوت خود باقی می‌ماند.',
quickPresets: 'پیش‌تنظیم‌های سریع', quickPresets: 'پیش‌تنظیم‌های سریع',
removePreset: 'حذف پیش‌تنظیم {{value}} {{unit}}', removePreset: 'حذف پیش‌تنظیم {{value}} {{unit}}',
customPresetIn: 'پیش‌تنظیم سفارشی در {{unit}}', customPresetIn: 'پیش‌تنظیم سفارشی بر حسب {{unit}}',
addQuickPreset: 'افزودن پیش‌تنظیم سریع', addQuickPreset: 'افزودن پیش‌تنظیم سریع',
globalLimitSaved: 'محدودیت کلی در {{value}} {{unit}} ذخیره شد', globalLimitSaved: 'محدودیت کلی در {{value}} {{unit}} ذخیره شد',
globalLimitDisabled: 'محدودیت سرعت کلی غیرفعال شد', globalLimitDisabled: 'محدودیت سرعت کلی غیرفعال شد',
saveFailed: 'محدودیت سرعت کلی ذخیره نشد: {{detail}}', saveFailed: 'ذخیره محدودیت سرعت کلی ناموفق بود: {{detail}}',
presetAlreadyExists: '{{value}} {{unit}} از قبل در پیش‌تنظیم‌های سریع وجود دارد', presetAlreadyExists: '{{value}} {{unit}} از قبل در پیش‌تنظیم‌های سریع وجود دارد',
presetAdded: 'پیش‌تنظیم سریع {{value}} {{unit}} اضافه شد', presetAdded: 'پیش‌تنظیم سریع {{value}} {{unit}} اضافه شد',
presetRemoved: 'پیش‌تنظیم سریع {{value}} {{unit}} حذف شد', presetRemoved: 'پیش‌تنظیم سریع {{value}} {{unit}} حذف شد',
@@ -132,19 +132,19 @@ const fa = {
exportButton: 'خروجی گزارش‌ها', exportButton: 'خروجی گزارش‌ها',
logFiles: 'فایل‌های گزارش', logFiles: 'فایل‌های گزارش',
localDiagnostics: 'تشخیص‌های محلی:', localDiagnostics: 'تشخیص‌های محلی:',
diagnosticsDescription: 'جمع‌آوری تشخیص‌ها انتخابی، محدود و محلی است. اسرار رایج، درخواست‌های URL و مسیرهای پوشه خانگی هنگام نمایش و خروجی پنهان می‌شوند. هیچ چیز به طور خودکار بارگذاری نمی‌شود.', diagnosticsDescription: 'جمع‌آوری اطلاعات تشخیصی اختیاری، محدود و محلی است. اطلاعات حساسی مانند کلیدها، پارامترهای URL و مسیرهای پوشه شخصی هنگام نمایش و خروجی پنهان می‌شوند. هیچ داده‌ای به طور خودکار بارگذاری نمی‌شود.',
noEntries: 'هنوز هیچ گزارش ذخیره‌شده‌ای در دسترس نیست.', noEntries: 'هنوز هیچ گزارش ذخیره‌شده‌ای وجود ندارد.',
disabledDescription: 'گزارش‌گیری تشخیصی خاموش است. گزارش‌های پشتیبانی موجود در صورت در دسترس بودن در اینجا ظاهر می‌شوند.', disabledDescription: 'گزارش‌گیری تشخیصی خاموش است. گزارش‌های پشتیبانی موجود در صورت در دسترس بودن در اینجا ظاهر می‌شوند.',
copy: 'کپی', copy: 'کپی',
copied: 'در کلیپ‌بورد کپی شد', copied: 'در کلیپ‌بورد کپی شد',
copyFailed: 'کپی در کلیپ‌بورد ناموفق بود', copyFailed: 'کپی در کلیپ‌بورد ناموفق بود',
exported: 'گزارش‌های پشتیبانی صادر شدند', exported: 'گزارش‌های پشتیبانی صادر شدند',
exportFailed: 'گزارش‌ها صادر نشدند: {{detail}}', exportFailed: 'صدور گزارش‌ها ناموفق بود: {{detail}}',
cleared: 'گزارش‌ها پاک شدند', cleared: 'گزارش‌ها پاک شدند',
clearFailed: 'گزارش‌ها پاک نشدند: {{detail}}', clearFailed: 'پاک کردن گزارش‌ها ناموفق بود: {{detail}}',
enabled: 'گزارش‌گیری تشخیصی فعال شد', enabled: 'گزارش‌گیری تشخیصی فعال شد',
disabled: 'گزارش‌گیری تشخیصی غیرفعال شد', disabled: 'گزارش‌گیری تشخیصی غیرفعال شد',
updateFailed: 'گزارش‌گیری تشخیصی به‌روزرسانی نشد: {{detail}}', updateFailed: 'به‌روزرسانی گزارش‌گیری تشخیصی ناموفق بود: {{detail}}',
}, },
scheduler: { scheduler: {
title: 'زمان‌بند', title: 'زمان‌بند',
@@ -158,34 +158,34 @@ const fa = {
timing: 'زمان‌بندی', timing: 'زمان‌بندی',
startTime: 'زمان شروع', startTime: 'زمان شروع',
stopTime: 'زمان پایان', stopTime: 'زمان پایان',
timingDescription: 'اگر Firelink در زمان شروع در حالت خواب باشد، صف‌های انتخاب‌شده را هنگام بازگشت در ادامه آن روز شروع می‌کند، مگر اینکه زمان پایان گذشته باشد.', timingDescription: 'اگر Firelink در زمان شروع در حالت خواب باشد، صف‌های انتخاب‌شده را هنگام بیدار شدن در ادامه آن روز شروع می‌کند، مگر اینکه زمان پایان گذشته باشد.',
runEveryDay: 'اجرای هر روز', runEveryDay: 'اجرای هر روز',
queuesToSchedule: 'صف‌ها برای زمان‌بندی', queuesToSchedule: 'صف‌ها برای زمان‌بندی',
defaultQueue: 'صف پیش‌فرض', defaultQueue: 'صف پیش‌فرض',
afterCompletion: 'پس از تکمیل', afterCompletion: 'پس از تکمیل',
afterCompletionDescription: 'انتخاب کنید پس از پایان دانلودهای شروع‌شده توسط زمان‌بند، چه اتفاقی بیفتد.', afterCompletionDescription: 'انتخاب کنید پس از پایان دانلودهای شروع‌شده توسط زمان‌بند، چه اتفاقی بیفتد.',
actionWarning: 'این اقدام می‌تواند سایر کارهای کامپیوتر را مختل کند. Firelink بلافاصله پس از اتمام صف زمان‌بندی‌شده، آن را فراخوانی می‌کند.', actionWarning: 'این اقدام می‌تواند سایر کارهای کامپیوتر را مختل کند. Firelink بلافاصله پس از اتمام صف زمان‌بندی‌شده، آن را اجرا می‌کند.',
systemPermissions: 'مجوزهای سیستم', systemPermissions: 'مجوزهای سیستم',
macPermissionDescription: 'خواب، راه‌اندازی مجدد و خاموش کردن به مجوز macOS Automation برای رویدادهای سیستم نیاز دارد.', macPermissionDescription: 'خواب، راه‌اندازی مجدد و خاموش کردن به مجوز macOS Automation برای System Events نیاز دارد.',
permissionGranted: 'مجوز اتوماسیون داده شد', permissionGranted: 'مجوز اتوماسیون اعطا شد',
permissionChecking: 'در حال بررسی مجوز اتوماسیون...', permissionChecking: 'در حال بررسی مجوز اتوماسیون',
permissionMissing: 'مجوز اتوماسیون وجود ندارد', permissionMissing: 'مجوز اتوماسیون موجود نیست',
revokePermission: 'لغو مجوز', revokePermission: 'لغو مجوز',
grantPermission: 'دادن مجوز', grantPermission: 'اعطای مجوز',
permissionAvailable: 'مجوز اتوماسیون در دسترس است.', permissionAvailable: 'مجوز اتوماسیون در دسترس است.',
permissionMissingDetails: 'مجوز اتوماسیون وجود ندارد. Firelink را در زیر Automation برای System Events در System Settings فعال کنید.', permissionMissingDetails: 'مجوز اتوماسیون موجود نیست. Firelink را در بخش System Settings > Privacy & Security > Automation برای System Events فعال کنید.',
revokePermissionDetails: 'macOS اجازه نمی‌دهد Firelink مجوز اتوماسیون را مستقیماً لغو کند. دسترسی System Events را در System Settings لغو کنید و سپس به Firelink برگردید.', revokePermissionDetails: 'سیستم‌عامل macOS اجازه نمی‌دهد Firelink مجوز اتوماسیون را مستقیماً لغو کند. دسترسی System Events را در System Settings لغو کنید و سپس به Firelink بازگردید.',
requestingPermission: 'در حال درخواست مجوز اتوماسیون...', requestingPermission: 'در حال درخواست مجوز اتوماسیون',
enablePermissionDetails: 'Firelink را در زیر Automation برای System Events در System Settings فعال کنید و سپس به Firelink برگردید.', enablePermissionDetails: 'Firelink را در بخش System Settings > Privacy & Security > Automation برای System Events فعال کنید و سپس به Firelink بازگردید.',
systemActions: 'اقدامات سیستم', systemActions: 'اقدامات سیستم',
windowsActionsDescription: 'خواب، راه‌اندازی مجدد و خاموش کردن از امتیازات سیستم Windows استفاده می‌کنند. Firelink هنگام اجرا هر اقدام رد شده‌ای را گزارش می‌دهد؛ هیچ مجوز دائمی از قبل دریافت نمی‌شود.', windowsActionsDescription: 'خواب، راه‌اندازی مجدد و خاموش کردن از دسترسی‌های سیستم Windows استفاده می‌کنند. Firelink هنگام اجرا هر اقدام رد شده‌ای را گزارش می‌دهد؛ هیچ مجوز دائمی از قبل درخواست نمی‌شود.',
linuxActionsDescription: 'خواب، راه‌اندازی مجدد و خاموش کردن از دسکتاپ و سیاست سیستم Linux شما استفاده می‌کنند. Firelink هنگام اجرا هر اقدام رد شده‌ای را گزارش می‌دهد؛ هیچ مجوز دائمی از قبل دریافت نمی‌شود.', linuxActionsDescription: 'خواب، راه‌اندازی مجدد و خاموش کردن از دسکتاپ و سیاست‌های سیستم Linux استفاده می‌کنند. Firelink هنگام اجرا هر اقدام رد شده‌ای را گزارش می‌دهد؛ هیچ مجوز دائمی از قبل درخواست نمی‌شود.',
validationDay: 'حداقل یک روز برای زمان‌بند انتخاب کنید', validationDay: 'حداقل یک روز برای زمان‌بند انتخاب کنید',
validationQueue: 'حداقل یک صف برای زمان‌بند انتخاب کنید', validationQueue: 'حداقل یک صف برای زمان‌بند انتخاب کنید',
validationStopTime: 'زمان پایان باید بعد از زمان شروع باشد', validationStopTime: 'زمان پایان باید بعد از زمان شروع باشد',
saved: 'تنظیمات زمان‌بند ذخیره شد', saved: 'تنظیمات زمان‌بند ذخیره شد',
trackingOne: 'در حال ردیابی ۱ دانلود زمان‌بندی‌شده', trackingOne: 'در حال پیگیری ۱ دانلود زمان‌بندی‌شده',
trackingMany: 'در حال ردیابی {{count}} دانلود زمان‌بندی‌شده', trackingMany: 'در حال پیگیری {{count}} دانلود زمان‌بندی‌شده',
noStartableDownloads: 'هیچ دانلودی در صف‌های انتخاب‌شده قابل شروع نیست', noStartableDownloads: 'هیچ دانلودی در صف‌های انتخاب‌شده قابل شروع نیست',
pausedOne: '۱ دانلود فعال متوقف شد', pausedOne: '۱ دانلود فعال متوقف شد',
pausedMany: '{{count}} دانلود فعال متوقف شد', pausedMany: '{{count}} دانلود فعال متوقف شد',
@@ -210,7 +210,7 @@ const fa = {
progress: 'پیشرفت', progress: 'پیشرفت',
size: 'اندازه', size: 'اندازه',
speed: 'سرعت', speed: 'سرعت',
eta: 'زمان تخمینی', eta: 'زمان باقیمانده',
connections: 'اتصالات', connections: 'اتصالات',
speedCap: 'سقف سرعت', speedCap: 'سقف سرعت',
category: 'دسته', category: 'دسته',
@@ -218,34 +218,34 @@ const fa = {
dateAdded: 'تاریخ افزودن', dateAdded: 'تاریخ افزودن',
destination: 'مقصد', destination: 'مقصد',
lastError: 'آخرین خطا', lastError: 'آخرین خطا',
saved: ' (ذخیره شده)', saved: ' (ذخیرهشده)',
defaultValue: ' (پیش‌فرض)', defaultValue: ' (پیش‌فرض)',
savedTooltip: 'برای این دانلود ذخیره شد؛ تغییرات تنظیمات در دانلودهای جدید اعمال می‌شود.', savedTooltip: 'برای این دانلود ذخیره شد؛ تغییرات تنظیمات روی دانلودهای جدید اعمال می‌شود.',
defaultTooltip: 'استفاده از پیش‌فرض کنونی برای دانلودهای جدید.', defaultTooltip: 'استفاده از پیش‌فرض کنونی برای دانلودهای جدید.',
identityReadOnly: 'هویت فایل فقط-خواندنی است. تنظیمات انتقال برای دانلود مجدد ذخیره می‌شود.', identityReadOnly: 'هویت فایل فقطخواندنی است. تنظیمات انتقال برای دانلود مجدد ذخیره می‌شوند.',
transferSettings: 'تنظیمات انتقال را می‌توان پس از توقف تغییر داد. انتقال‌های کنونی گزینه‌های فعلی خود را حفظ می‌کنند.', transferSettings: 'تنظیمات انتقال را می‌توان پس از توقف تغییر داد. انتقال‌های کنونی گزینه‌های فعلی خود را حفظ می‌کنند.',
download: 'دانلود', download: 'دانلود',
url: 'URL', url: 'URL',
fileName: 'نام فایل', fileName: 'نام فایل',
saveLocation: 'محل ذخیره', saveLocation: 'محل ذخیره',
select: 'انتخاب', select: 'انتخاب',
perFile: 'در هر فایل', perFile: 'برای هر فایل',
useCurrentDefault: 'استفاده از پیش‌فرض کنونی ({{count}})', useCurrentDefault: 'استفاده از پیش‌فرض کنونی ({{count}})',
savedPerDownload: 'برای هر دانلود ذخیره شد. پیش‌فرض تنظیمات در دانلودهای جدید اعمال می‌شود.', savedPerDownload: 'برای هر دانلود ذخیره شد. پیش‌فرض تنظیمات روی دانلودهای جدید اعمال می‌شود.',
limit: 'محدودیت', limit: 'محدودیت',
siteLogin: 'ورود به سایت', siteLogin: 'ورود به سایت',
siteLoginRedownload: 'ورود به سایت برای دانلود مجدد', siteLoginRedownload: 'ورود به سایت برای دانلود مجدد',
matchingSiteLogin: 'ورود به سایت منطبق', matchingSiteLogin: 'اطلاعات ورود منطبق با سایت',
customCredentials: 'اعتبارنامه‌های سفارشی', customCredentials: 'اعتبارنامه‌های سفارشی',
noLogin: 'بدون ورود', noLogin: 'بدون ورود',
useSavedLogin: 'در صورت وجود از ورود ذخیره‌شده استفاده خواهد کرد.', useSavedLogin: 'در صورت وجود از اطلاعات ورود ذخیره‌شده استفاده خواهد شد.',
advancedTransfer: 'انتقال پیشرفته', advancedTransfer: 'انتقال پیشرفته',
advancedTransferRedownload: 'انتقال پیشرفته برای دانلود مجدد', advancedTransferRedownload: 'انتقال پیشرفته برای دانلود مجدد',
checksum: 'چک‌سام', checksum: 'چک‌سام',
verify: 'تأیید', verify: 'تأیید',
algorithm: 'الگوریتم', algorithm: 'الگوریتم',
digest: 'هش', digest: 'هش',
expectedDigest: 'هش موردانتظار', expectedDigest: 'هش مورد انتظار',
cookies: 'کوکی‌ها', cookies: 'کوکی‌ها',
headers: 'هدرها', headers: 'هدرها',
mirrors: 'آینه‌ها', mirrors: 'آینه‌ها',
@@ -261,35 +261,35 @@ const fa = {
stores: { stores: {
portable: 'پوشه داده‌های قابل‌حمل Firelink', portable: 'پوشه داده‌های قابل‌حمل Firelink',
windows: 'مدیر اعتبارنامه Windows', windows: 'مدیر اعتبارنامه Windows',
linux: 'مخزن اعتبارنامه Linux شما', linux: 'مخزن اعتبارنامه‌های Linux شما',
macos: 'Keychain macOS', macos: 'Keychain در macOS',
system: "مخزن اعتبارنامه‌های این سیستم", system: 'مخزن اعتبارنامه‌های این سیستم',
siteCredentials: "مخزن اعتبارنامه‌های سیستم", siteCredentials: 'مخزن اعتبارنامه‌های سیستم',
}, },
grantLabelPortable: 'ادامه', grantLabelPortable: 'ادامه',
grantLabelMacos: 'اعطای دسترسی', grantLabelMacos: 'اعطای دسترسی',
grantLabelDefault: 'فعال‌سازی ذخیره‌سازی امن', grantLabelDefault: 'فعال‌سازی ذخیره‌سازی امن',
description: 'Firelink از افزونه مرورگر برای ثبت دانلودها استفاده می‌کند. برای جفت ماندن افزونه پس از راه‌اندازی مجدد، Firelink توکن جفت‌سازی خود را در {{pairingStore}} ذخیره می‌کند. اعتبارنامه‌های سایت دلخواه در {{siteCredentialStore}} ذخیره می‌شوند.', description: 'Firelink از افزونه مرورگر برای ثبت دانلودها استفاده می‌کند. برای جفت ماندن افزونه پس از راه‌اندازی مجدد، Firelink توکن جفت‌سازی خود را در {{pairingStore}} ذخیره می‌کند. اعتبارنامه‌های اختیاری سایت در {{siteCredentialStore}} ذخیره می‌شوند.',
portableExplanation: 'توکن جفت‌سازی با این پوشه قابل حمل است. اعتبارنامه‌های سایت در مخزن اعتبارنامه‌های سیستم باقی می‌مانند؛ ممکن است پس از اعطای دسترسی، یک اعلان سیستم ظاهر شود.', portableExplanation: 'توکن جفت‌سازی همراه با این پوشه قابل حمل است. اعتبارنامه‌های سایت در مخزن اعتبارنامه‌های سیستم باقی می‌مانند؛ ممکن است پس از اعطای دسترسی، یک پیغام سیستم ظاهر شود.',
macosExplanation: 'macOS ممکن است پس از اعطای دسترسی، یک اعلان Keychain را نشان دهد.', macosExplanation: 'macOS ممکن است پس از اعطای دسترسی، یک پیغام Keychain را نشان دهد.',
defaultExplanation: 'این کار معمولاً بی‌صدا انجام می‌شود. اگر سرویس اعتبارنامه در دسترس نباشد، Firelink در اینجا خطا را نشان می‌دهد و افزونه فقط برای این جلسه جفت باقی می‌ماند.', defaultExplanation: 'این کار معمولاً بدون پیغام انجام می‌شود. اگر سرویس اعتبارنامه در دسترس نباشد، Firelink خطا را در اینجا نشان می‌دهد و افزونه فقط برای این جلسه جفت باقی می‌ماند.',
note: 'توجه:', note: 'توجه:',
portableNote: 'حالت قابل حمل فقط توکن جفت‌سازی را در این پوشه ذخیره می‌کند. رمزهای عبور سایت یا اعتبارنامه‌های مرورگر را کپی نمی‌کند.', portableNote: 'حالت قابلحمل فقط توکن جفت‌سازی را در این پوشه ذخیره می‌کند. این حالت رمزهای عبور سایت یا اعتبارنامه‌های مرورگر را کپی نمی‌کند.',
defaultNote: 'Firelink فقط ورودی اعتبارنامه اختصاصی خود را می‌نویسد. نمی‌تواند به سایر رمزهای عبور ذخیره‌شده یا موارد اعتبارنامه در سیستم شما دسترسی پیدا کند.', defaultNote: 'Firelink فقط ورودی اعتبارنامه اختصاصی خود را می‌نویسد و به سایر رمزهای عبور ذخیره‌شده در سیستم شما دسترسی ندارد.',
hint: 'راهنمایی:', hint: 'راهنمایی:',
portableHint: 'توکن جفت‌سازی قابل حمل از قبل با این پوشه ذخیره شده است؛ می‌توانید آن را در اینجا فعال کنید یا بعداً را انتخاب کنید.', portableHint: 'توکن جفت‌سازی قابلحمل از قبل در این پوشه ذخیره شده است؛ می‌توانید آن را در اینجا فعال کنید یا بعداً را انتخاب کنید.',
defaultHint: 'اگر بعداً را انتخاب کنید، افزونه فقط برای این جلسه کار خواهد کرد.', defaultHint: 'اگر بعداً را انتخاب کنید، افزونه فقط برای این جلسه کار خواهد کرد.',
enableFromSettings: 'در هر زمان می‌توانید ذخیره‌سازی را از تنظیمات > یکپارچه‌سازی فعال کنید.', enableFromSettings: 'در هر زمان می‌توانید ذخیره‌سازی را از تنظیمات > یکپارچه‌سازی فعال کنید.',
later: 'بعداً', later: 'بعداً',
enabling: 'در حال فعال‌سازی...', enabling: 'در حال فعال‌سازی',
timeout: 'درخواست ذخیره‌سازی اعتبارنامه مهلت زمانی‌اش تمام شد. می‌توانید بعداً را انتخاب کنید و دوباره امتحان کنید.', timeout: 'مهلت درخواست ذخیره‌سازی اعتبارنامه به پایان رسید. می‌توانید بعداً را انتخاب کرده و دوباره امتحان کنید.',
unavailable: '{{store}} در دسترس نیست.', unavailable: '{{store}} در دسترس نیست.',
accessRequired: 'پیش از ایجاد دوباره توکن جفت‌سازی، به مخزن اعتبارنامه‌ها دسترسی بدهید.', accessRequired: 'پیش از ایجاد مجدد توکن جفت‌سازی، دسترسی به مخزن اعتبارنامه‌ها را اعطا کنید.',
storeUnavailable: 'دسترسی به مخزن اعتبارنامه در دسترس نیست.', storeUnavailable: 'دسترسی به مخزن اعتبارنامه در دسترس نیست.',
}, },
app: { app: {
loading: 'در حال بارگذاری…', loading: 'در حال بارگذاری…',
settingsSaveFailed: 'تنظیمات ذخیره نشدند. مجوزهای ذخیره‌سازی را بررسی کنید و دوباره امتحان کنید.', settingsSaveFailed: 'تنظیمات ذخیره نشدند. دسترسی‌های ذخیره‌سازی را بررسی کرده و دوباره امتحان کنید.',
systemActionCountdown: '{{action}} در ۱۰ ثانیه.', systemActionCountdown: '{{action}} در ۱۰ ثانیه.',
systemActionCancelled: 'اقدام سیستم لغو شد زیرا دانلود دیگری فعال یا در صف است.', systemActionCancelled: 'اقدام سیستم لغو شد زیرا دانلود دیگری فعال یا در صف است.',
systemActionFailed: 'اقدام سیستم زمان‌بندی‌شده ناموفق بود: {{detail}}', systemActionFailed: 'اقدام سیستم زمان‌بندی‌شده ناموفق بود: {{detail}}',
@@ -303,15 +303,15 @@ const fa = {
copyToken: 'کپی توکن', copyToken: 'کپی توکن',
integrations: 'یکپارچه‌سازی', integrations: 'یکپارچه‌سازی',
copyTokenFailed: 'کپی توکن جفت‌سازی ناموفق بود: {{detail}}', copyTokenFailed: 'کپی توکن جفت‌سازی ناموفق بود: {{detail}}',
credentialPersistenceFailed: 'تداوم اعتبارنامه امن در دسترس نیست. جفت‌سازی مرورگر فقط برای این جلسه کار می‌کند: {{detail}}', credentialPersistenceFailed: 'ذخیره‌سازی امن اعتبارنامه در دسترس نیست. جفت‌سازی مرورگر فقط برای این جلسه کار می‌کند: {{detail}}',
resumeDownloadsFailed: 'ادامه دانلودهای ذخیره‌شده ناموفق بود: {{detail}}', resumeDownloadsFailed: 'ادامه دانلودهای ذخیره‌شده ناموفق بود: {{detail}}',
updateAvailable: 'Firelink {{version}} در دسترس است.', updateAvailable: 'نسخه جدید Firelink {{version}} در دسترس است.',
viewRelease: 'مشاهده انتشار', viewRelease: 'مشاهده تغییرات نسخه',
sleepPreventionFailed: 'جلوگیری از خواب سیستم به‌روزرسانی نشد: {{detail}}', sleepPreventionFailed: 'جلوگیری از خواب سیستم به‌روزرسانی نشد: {{detail}}',
schedulerNoQueues: 'زمان‌بند هیچ صف معتبری انتخاب نکرده است. تنظیمات زمان‌بندی را به‌روزرسانی کنید.', schedulerNoQueues: 'زمان‌بند هیچ صف معتبری انتخاب نکرده است. تنظیمات زمان‌بندی را به‌روزرسانی کنید.',
schedulerPauseOneFailed: 'زمان‌بند نتوانست ۱ دانلود را متوقف کند.', schedulerPauseOneFailed: 'زمان‌بند نتوانست ۱ دانلود را متوقف کند.',
schedulerPauseManyFailed: 'زمان‌بند نتوانست {{count}} دانلود را متوقف کند.', schedulerPauseManyFailed: 'زمان‌بند نتوانست {{count}} دانلود را متوقف کند.',
scheduledIncomplete: 'همه دانلودهای زمان‌بندی‌شده تکمیل نشدند. اقدام سیستم پس از صف رد شد.', scheduledIncomplete: 'همه دانلودهای زمان‌بندی‌شده تکمیل نشدند. اقدام سیستم پس از اتمام صف رد شد.',
scheduledActionSkippedActive: 'اقدام سیستم زمان‌بندی‌شده رد شد زیرا دانلود دیگری فعال یا در صف است.', scheduledActionSkippedActive: 'اقدام سیستم زمان‌بندی‌شده رد شد زیرا دانلود دیگری فعال یا در صف است.',
notificationsDisabled: 'اعلان‌های سیستم برای Firelink غیرفعال شده‌اند.', notificationsDisabled: 'اعلان‌های سیستم برای Firelink غیرفعال شده‌اند.',
notificationsFailed: 'پیکربندی اعلان‌ها ناموفق بود: {{detail}}', notificationsFailed: 'پیکربندی اعلان‌ها ناموفق بود: {{detail}}',
@@ -335,13 +335,13 @@ const fa = {
size: 'اندازه', size: 'اندازه',
status: 'وضعیت', status: 'وضعیت',
speed: 'سرعت', speed: 'سرعت',
eta: 'زمان تخمینی', eta: 'زمان باقیمانده',
dateAdded: 'تاریخ افزودن', dateAdded: 'تاریخ افزودن',
}, },
columnOptions: { columnOptions: {
open: 'گزینه‌های ستون {{column}}', open: 'گزینه‌های ستون {{column}}',
dragToReorder: 'برای جابه‌جایی ستون‌ها بکشید', dragToReorder: 'برای جابه‌جایی ستون‌ها بکشید',
alignContent: 'جایگاه محتوا', alignContent: 'تراز محتوا',
left: 'چپ', left: 'چپ',
center: 'وسط', center: 'وسط',
right: 'راست', right: 'راست',
@@ -351,15 +351,15 @@ const fa = {
resumeAll: 'ادامه همه', resumeAll: 'ادامه همه',
pauseAll: 'توقف همه', pauseAll: 'توقف همه',
queueEmpty: 'صف خالی است', queueEmpty: 'صف خالی است',
noCompletedDownloads: 'بدون دانلود تکمیل‌شده', noCompletedDownloads: 'هیچ دانلود تکمیل‌شده‌ای وجود ندارد',
noDownloads: 'بدون دانلود', noDownloads: 'هیچ دانلودی وجود ندارد',
queueEmptyDescription: 'دانلودها را از منوی یک مورد یا پنجره افزودن به این صف اضافه کنید.', queueEmptyDescription: 'دانلودها را از منوی آیتم‌ها یا پنجره افزودن به این صف اضافه کنید.',
completedDescription: 'دانلودهای تکمیل‌شده در اینجا ظاهر می‌شوند.', completedDescription: 'دانلودهای تکمیل‌شده در اینجا ظاهر می‌شوند.',
clickToAdd: 'برای افزودن دانلودها، روی دکمه', clickToAdd: 'برای افزودن دانلودها، روی',
addButtonOr: 'یا', addButtonOr: 'یا',
toAddDownloads: 'کلیک کنید', toAddDownloads: 'کلیک کنید',
nonResumableOne: '۱ دانلود از ادامه پشتیبانی نمی‌کند. اگر آن را متوقف کنید، بعداً باید دوباره شروع کنید. آیا مطمئن هستید که می‌خواهید متوقف کنید؟', nonResumableOne: '۱ دانلود از ادامه‌دادن پشتیبانی نمی‌کند. اگر آن را متوقف کنید، بعداً باید از ابتدا شروع کنید. آیا از توقف آن مطمئن هستید؟',
nonResumableMany: '{{count}} دانلود از ادامه پشتیبانی نمی‌کنند. اگر آنها را متوقف کنید، بعداً باید دوباره شروع کنید. آیا مطمئن هستید که می‌خواهید متوقف کنید؟', nonResumableMany: '{{count}} دانلود از ادامه‌دادن پشتیبانی نمی‌کنند. اگر آنها را متوقف کنید، بعداً باید از ابتدا شروع کنید. آیا از توقف آن‌ها مطمئن هستید؟',
interactionError: '{{message}}: {{detail}}', interactionError: '{{message}}: {{detail}}',
openFileFailed: 'باز کردن فایل دانلودشده ناموفق بود', openFileFailed: 'باز کردن فایل دانلودشده ناموفق بود',
revealFileFailed: 'نمایش فایل دانلودشده در پوشه ناموفق بود', revealFileFailed: 'نمایش فایل دانلودشده در پوشه ناموفق بود',
@@ -385,16 +385,16 @@ const fa = {
copyFilePath: 'کپی مسیر فایل', copyFilePath: 'کپی مسیر فایل',
properties: 'ویژگی‌ها', properties: 'ویژگی‌ها',
backendRejectedStart: 'درخواست شروع/ادامه توسط موتور دانلود رد شد.', backendRejectedStart: 'درخواست شروع/ادامه توسط موتور دانلود رد شد.',
transferActive: 'نمی‌توانید ویژگی‌ها را هنگام فعال بودن انتقال تغییر دهید. ابتدا آن را متوقف کنید.', transferActive: 'نمی‌توانید ویژگی‌ها را هنگام فعال بودن دانلود تغییر دهید. ابتدا آن را متوقف کنید.',
redownloadNotFound: 'دانلود مجدد ناموفق: دانلود پیدا نشد.', redownloadNotFound: 'دانلود مجدد ناموفق: دانلود پیدا نشد.',
redownloadActive: 'نمی‌توانید یک دانلود {{status}} را دوباره دانلود کنید. ابتدا آن را متوقف کنید یا منتظر بمانید تا تمام شود.', redownloadActive: 'نمی‌توانید یک دانلود با وضعیت {{status}} را دوباره دانلود کنید. ابتدا آن را متوقف کنید یا منتظر بمانید تا تمام شود.',
originalUrlMissing: 'دانلود مجدد ناموفق: URL اصلی وجود ندارد.', originalUrlMissing: 'دانلود مجدد ناموفق: URL اصلی وجود ندارد.',
pauseBeforeMove: 'قبل از انتقال {{file}} به صف دیگر، آن را متوقف کنید.', pauseBeforeMove: 'قبل از انتقال {{file}} به صف دیگر، آن را متوقف کنید.',
}, },
addDownloads: { addDownloads: {
unknownSize: 'اندازه نامشخص', unknownSize: 'اندازه نامشخص',
unknown: 'نامشخص', unknown: 'نامشخص',
discardSetup: 'حذف این راه‌اندازی دانلود؟', discardSetup: 'صرف‌نظر از این پیکربندی دانلود؟',
speedInvalid: 'محدودیت سرعت باید بیشتر از صفر باشد', speedInvalid: 'محدودیت سرعت باید بیشتر از صفر باشد',
duplicateResolveFailed: 'دانلودهای تکراری برطرف نشدند: {{detail}}', duplicateResolveFailed: 'دانلودهای تکراری برطرف نشدند: {{detail}}',
addedWithFailures: '{{added}} اضافه شد، {{failed}} ناموفق بود. {{detail}}', addedWithFailures: '{{added}} اضافه شد، {{failed}} ناموفق بود. {{detail}}',
@@ -406,24 +406,24 @@ const fa = {
destinationConflict: 'یک دانلود انتخاب‌شده دیگر از این مقصد استفاده می‌کند', destinationConflict: 'یک دانلود انتخاب‌شده دیگر از این مقصد استفاده می‌کند',
existingDownloadDestination: 'دانلود Firelink موجود از این مقصد استفاده می‌کند', existingDownloadDestination: 'دانلود Firelink موجود از این مقصد استفاده می‌کند',
matchingDownloadFilename: 'یک دانلود ناتمام از قبل همین نام فایل را دارد', matchingDownloadFilename: 'یک دانلود ناتمام از قبل همین نام فایل را دارد',
fileExistsOnDisk: 'فایل در دیسک وجود دارد؛ برای جلوگیری از حذف داده‌های نامرتبط، تغییر نام دهید یا رد شوید', fileExistsOnDisk: 'فایل روی دیسک وجود دارد؛ برای جلوگیری از حذف داده‌های نامرتبط، نام آن را تغییر دهید یا رد شوید',
backendRejectedStart: 'شروع دانلود توسط موتور دانلود رد شد.', backendRejectedStart: 'شروع دانلود توسط موتور دانلود رد شد.',
playlistNoEntries: 'لیست پخش شامل هیچ ورودی قابل دانلودی نیست', playlistNoEntries: 'لیست پخش شامل هیچ ورودی قابل دانلودی نیست',
invalidMediaMetadata: 'متادیتا رسانه نامعتبر است یا هیچ فرمتی یافت نشد', invalidMediaMetadata: 'متادیتای رسانه نامعتبر است یا هیچ فرمتی یافت نشد',
noAvailableName: 'یک نام در دسترس برای {{file}} پیدا نشد.', noAvailableName: 'یک نام در دسترس برای {{file}} پیدا نشد.',
pauseBeforeReplace: 'قبل از جایگزینی {{file}}، آن را متوقف کنید.', pauseBeforeReplace: 'قبل از جایگزینی {{file}}، آن را متوقف کنید.',
cannotReplace: 'نمی‌توان {{file}} را جایگزین کرد: فایل متعلق به یک دانلود Firelink نیست.', cannotReplace: 'نمی‌توان {{file}} را جایگزین کرد: فایل متعلق به یک دانلود Firelink نیست.',
downloadLinks: 'پیوندهای دانلود', downloadLinks: 'پیوندهای دانلود',
pastePlaceholder: '\u2066URL\u2069های \u2066HTTP\u2069، \u2066HTTPS\u2069، \u2066FTP\u2069 یا \u2066SFTP\u2069 را در اینجا جای‌گذاری کنید...\n\nبرای دانلود رسانه، پیوندهایی از \u2066YouTube\u2069، \u2066X\u2069، \u2066TikTok\u2069، \u2066Instagram\u2069، \u2066Reddit\u2069 و غیره جای‌گذاری کنید.', pastePlaceholder: '\u2066URL\u2069های \u2066HTTP\u2069، \u2066HTTPS\u2069، \u2066FTP\u2069 یا \u2066SFTP\u2069 را در اینجا جای‌گذاری کنید\n\nبرای دانلود رسانه، پیوندهایی از \u2066YouTube\u2069، \u2066X\u2069، \u2066TikTok\u2069، \u2066Instagram\u2069، \u2066Reddit\u2069 و غیره جای‌گذاری کنید.',
playlistSummary: 'لیست پخش "{{title}}": {{loaded}}{{total}} ورودی بارگیری شد{{truncated}}{{skipped}}', playlistSummary: 'لیست پخش "{{title}}": {{loaded}} از {{total}} ورودی بارگیری شد{{truncated}}{{skipped}}',
safeEntryLimit: ' (به حد نصاب ایمن ورودی‌ها رسیدیم)', safeEntryLimit: ' (به حد مجاز ایمن ورودی‌ها رسیدیم)',
selectedSummary: '{{ready}} انتخاب‌شده آماده، {{fallback}} بازگشتی، {{mediaRetry}} تلاش مجدد رسانه، {{blocked}} مسدودشده', selectedSummary: '{{ready}} انتخاب‌شده آماده، {{fallback}} اطلاعات جایگزین، {{mediaRetry}} تلاش مجدد رسانه، {{blocked}} مسدودشده',
clearSelection: 'پاک کردن انتخاب', clearSelection: 'پاک کردن انتخاب',
selectAll: 'انتخاب همه', selectAll: 'انتخاب همه',
refreshMetadata: 'تازه‌سازی متادیتا', refreshMetadata: 'تازه‌سازی متادیتا',
files: 'فایل‌ها', files: 'فایل‌ها',
required: 'الزامی', required: 'الزامی',
free: 'آزاد', free: 'فضای آزاد',
preview: 'پیش‌نمایش', preview: 'پیش‌نمایش',
file: 'فایل', file: 'فایل',
size: 'اندازه', size: 'اندازه',
@@ -431,25 +431,25 @@ const fa = {
downloadPreview: 'پیش‌نمایش دانلود', downloadPreview: 'پیش‌نمایش دانلود',
noLinks: 'هنوز هیچ پیوندی اضافه نشده است.', noLinks: 'هنوز هیچ پیوندی اضافه نشده است.',
selectItem: 'انتخاب {{file}}', selectItem: 'انتخاب {{file}}',
fetchingPlaylist: 'در حال دریافت لیست پخش...', fetchingPlaylist: 'در حال دریافت لیست پخش',
fetching: 'در حال دریافت...', fetching: 'در حال دریافت',
unsafeUrl: 'URL ناامن', unsafeUrl: 'URL ناامن',
playlistFailed: 'لیست پخش ناموفق بود', playlistFailed: 'دریافت لیست پخش ناموفق بود',
metadataFailed: 'متادیتا ناموفق بود', metadataFailed: 'دریافت متادیتا ناموفق بود',
fallback: 'بازگشتی', fallback: 'گزینه جایگزین',
invalid: 'نامعتبر', invalid: 'نامعتبر',
ready: 'آماده', ready: 'آماده',
mediaFormat: 'فرمت رسانه', mediaFormat: 'فرمت رسانه',
playlistItem: 'مورد لیست پخش {{index}}', playlistItem: 'مورد لیست پخش {{index}}',
fetchingMediaStreams: 'در حال دریافت جریان‌های رسانه...', fetchingMediaStreams: 'در حال دریافت جریان‌های رسانه',
availableStreams: 'جریان‌های موجود', availableStreams: 'جریان‌های موجود',
availableMediaStreams: 'جریان‌های رسانه موجود', availableMediaStreams: 'جریان‌های رسانه موجود',
metadataUnavailable: 'متادیتا در دسترس نیست. پیش از افزودن این رسانه، متادیتا را تازه‌سازی کنید.', metadataUnavailable: 'متادیتا در دسترس نیست. پیش از افزودن این رسانه، متادیتا را تازه‌سازی کنید.',
saveLocation: 'محل ذخیره', saveLocation: 'محل ذخیره',
browse: 'انتخاب', browse: 'انتخاب',
categoryFolders: 'فایل‌ها در پوشه‌های دسته سازماندهی خواهند شد.', categoryFolders: 'فایل‌ها در پوشه‌های دسته‌بندی سازماندهی خواهند شد.',
sharedFolder: 'تمام دانلودهای انتخاب‌شده از این پوشه استفاده خواهند کرد.', sharedFolder: 'همه دانلودهای انتخاب‌شده از این پوشه استفاده خواهند کرد.',
dedicatedFolder: 'ذخیره در پوشه‌ای جدید', dedicatedFolder: 'ذخیره در پوشه جدید',
dedicatedFolderName: 'نام پوشه', dedicatedFolderName: 'نام پوشه',
dedicatedFolderDescription: 'این پوشه را داخل هر پوشه دسته‌بندی خودکار ایجاد می‌کند.', dedicatedFolderDescription: 'این پوشه را داخل هر پوشه دسته‌بندی خودکار ایجاد می‌کند.',
dedicatedFolderManualDescription: 'این پوشه را داخل محل ذخیره انتخاب‌شده ایجاد می‌کند.', dedicatedFolderManualDescription: 'این پوشه را داخل محل ذخیره انتخاب‌شده ایجاد می‌کند.',
@@ -459,7 +459,7 @@ const fa = {
connectionsPerFile: 'اتصالات در هر فایل', connectionsPerFile: 'اتصالات در هر فایل',
connectionsPerFileAria: 'اتصالات در هر فایل', connectionsPerFileAria: 'اتصالات در هر فایل',
limitSpeedPerFile: 'محدودیت سرعت در هر فایل', limitSpeedPerFile: 'محدودیت سرعت در هر فایل',
speedLimitPerFileAria: 'محدودیت سرعت برای هر فایل', speedLimitPerFileAria: 'محدودیت سرعت در هر فایل',
authorization: 'احراز هویت', authorization: 'احراز هویت',
useAuthorization: 'استفاده از احراز هویت', useAuthorization: 'استفاده از احراز هویت',
username: 'نام کاربری', username: 'نام کاربری',
@@ -481,19 +481,19 @@ const fa = {
correctInvalidOne: 'قبل از ادامه، {{count}} URL نامعتبر را اصلاح یا حذف کنید.', correctInvalidOne: 'قبل از ادامه، {{count}} URL نامعتبر را اصلاح یا حذف کنید.',
correctInvalidFew: 'قبل از ادامه، {{count}} URL نامعتبر را اصلاح یا حذف کنید.', correctInvalidFew: 'قبل از ادامه، {{count}} URL نامعتبر را اصلاح یا حذف کنید.',
correctInvalidMany: 'قبل از ادامه، {{count}} URL نامعتبر را اصلاح یا حذف کنید.', correctInvalidMany: 'قبل از ادامه، {{count}} URL نامعتبر را اصلاح یا حذف کنید.',
waitingForMetadataOne: 'در انتظار متادیتای {{count}} دانلود.', waitingForMetadataOne: 'در انتظار متادیتای {{count}} دانلود',
waitingForMetadataFew: 'در انتظار متادیتای {{count}} دانلود.', waitingForMetadataFew: 'در انتظار متادیتای {{count}} دانلود',
waitingForMetadataMany: 'در انتظار متادیتای {{count}} دانلود.', waitingForMetadataMany: 'در انتظار متادیتای {{count}} دانلود',
removeUnsafeOne: 'قبل از ادامه، {{count}} URL ناامن را حذف کنید.', removeUnsafeOne: 'قبل از ادامه، {{count}} URL ناامن را حذف کنید.',
removeUnsafeFew: 'قبل از ادامه، {{count}} URL ناامن را حذف کنید.', removeUnsafeFew: 'قبل از ادامه، {{count}} URL ناامن را حذف کنید.',
removeUnsafeMany: 'قبل از ادامه، {{count}} URL ناامن را حذف کنید.', removeUnsafeMany: 'قبل از ادامه، {{count}} URL ناامن را حذف کنید.',
mediaMetadataUnavailableSummaryOne: 'متادیتای رسانه برای {{count}} مورد در دسترس نیست. پیش از افزودن، متادیتا را تازه‌سازی کنید.', mediaMetadataUnavailableSummaryOne: 'متادیتای رسانه برای {{count}} مورد در دسترس نیست. پیش از افزودن، متادیتا را تازه‌سازی کنید.',
mediaMetadataUnavailableSummaryFew: 'متادیتای رسانه برای {{count}} مورد در دسترس نیست. پیش از افزودن، متادیتا را تازه‌سازی کنید.', mediaMetadataUnavailableSummaryFew: 'متادیتای رسانه برای {{count}} مورد در دسترس نیست. پیش از افزودن، متادیتا را تازه‌سازی کنید.',
mediaMetadataUnavailableSummaryMany: 'متادیتای رسانه برای {{count}} مورد در دسترس نیست. پیش از افزودن، متادیتا را تازه‌سازی کنید.', mediaMetadataUnavailableSummaryMany: 'متادیتای رسانه برای {{count}} مورد در دسترس نیست. پیش از افزودن، متادیتا را تازه‌سازی کنید.',
metadataUnavailableFallback: 'متادیتا در دسترس نیست. دانلودها همچنان می‌توانند با استفاده از جزئیات بازگشتی اضافه شوند.', metadataUnavailableFallback: 'متادیتا در دسترس نیست. دانلودها همچنان می‌توانند با اطلاعات جایگزین اضافه شوند.',
fallbackReadyOne: '{{ready}} دانلود آماده؛ برای {{failed}} از نام فایل بازگشتی و اندازه نامشخص استفاده خواهد شد.', fallbackReadyOne: '{{ready}} دانلود آماده؛ برای {{failed}} از نام فایل جایگزین و اندازه نامشخص استفاده خواهد شد.',
fallbackReadyFew: '{{ready}} دانلود آماده؛ برای {{failed}} از نام فایل بازگشتی و اندازه نامشخص استفاده خواهد شد.', fallbackReadyFew: '{{ready}} دانلود آماده؛ برای {{failed}} از نام فایل جایگزین و اندازه نامشخص استفاده خواهد شد.',
fallbackReadyMany: '{{ready}} دانلود آماده؛ برای {{failed}} از نام فایل بازگشتی و اندازه نامشخص استفاده خواهد شد.', fallbackReadyMany: '{{ready}} دانلود آماده؛ برای {{failed}} از نام فایل جایگزین و اندازه نامشخص استفاده خواهد شد.',
readyToAddOne: 'آماده برای افزودن {{count}} دانلود.', readyToAddOne: 'آماده برای افزودن {{count}} دانلود.',
readyToAddFew: 'آماده برای افزودن {{count}} دانلود.', readyToAddFew: 'آماده برای افزودن {{count}} دانلود.',
readyToAddMany: 'آماده برای افزودن {{count}} دانلود.', readyToAddMany: 'آماده برای افزودن {{count}} دانلود.',
@@ -501,7 +501,7 @@ const fa = {
settings: { settings: {
tabs: { tabs: {
downloads: 'دانلودها', downloads: 'دانلودها',
lookAndFeel: 'ظاهر', lookAndFeel: 'ظاهر',
network: 'شبکه', network: 'شبکه',
locations: 'مکان‌ها', locations: 'مکان‌ها',
siteLogins: 'ورود به سایت‌ها', siteLogins: 'ورود به سایت‌ها',
@@ -512,24 +512,24 @@ const fa = {
}, },
common: { common: {
thisOs: 'این سیستم‌عامل', thisOs: 'این سیستم‌عامل',
checking: 'در حال بررسی...', checking: 'در حال بررسی',
ready: 'آماده', ready: 'آماده',
errorMissing: 'خطا / یافت نشد', errorMissing: 'خطا / یافت نشد',
hideTechnicalDetails: 'پنهان کردن جزئیات فنی', hideTechnicalDetails: 'پنهان کردن جزئیات فنی',
showTechnicalDetails: 'نمایش جزئیات فنی', showTechnicalDetails: 'نمایش جزئیات فنی',
binary: 'باینری', binary: 'فایل باینری',
expected: 'مقدار مورد انتظار', expected: 'مقدار مورد انتظار',
error: 'خطا', error: 'خطا',
tip: 'نکته', tip: 'نکته',
stderr: 'stderr', stderr: 'stderr',
daemonProcessAlive: 'فرآیند دیمون زنده است', daemonProcessAlive: 'فرآیند پس‌زمینه (Daemon) فعال است',
rpcReady: 'RPC آماده است', rpcReady: 'سرویس RPC آماده است',
rpcPort: 'پورت RPC', rpcPort: 'پورت RPC',
daemonStderr: 'دیمون stderr', daemonStderr: 'خروجی stderr سرویس پس‌زمینه',
packaging: 'بسته‌بندی: PyInstaller onedir (نیاز به _internal دارد)', packaging: 'بسته‌بندی: PyInstaller onedir (نیاز به پوشه _internal)',
internalDirectoryFound: 'پوشه _internal پیدا شد', internalDirectoryFound: 'پوشه _internal پیدا شد',
pythonRuntimeFound: 'زمان‌اجرای Python پیدا شد', pythonRuntimeFound: 'محیط اجرای Python پیدا شد',
externalOpenFailed: 'باز نشد {{label}}: {{detail}}', externalOpenFailed: 'باز کردن {{label}} ناموفق بود: {{detail}}',
updateUnexpectedResponse: 'بررسی به‌روزرسانی با یک پاسخ غیرمنتظره مواجه شد.', updateUnexpectedResponse: 'بررسی به‌روزرسانی با یک پاسخ غیرمنتظره مواجه شد.',
updateUntrustedReleaseUrl: 'بررسی به‌روزرسانی با یک URL انتشار نامعتبر مواجه شد.', updateUntrustedReleaseUrl: 'بررسی به‌روزرسانی با یک URL انتشار نامعتبر مواجه شد.',
updateFailed: 'بررسی به‌روزرسانی ناموفق بود: {{detail}}', updateFailed: 'بررسی به‌روزرسانی ناموفق بود: {{detail}}',
@@ -611,7 +611,7 @@ const fa = {
customProxyDescription: 'دانلودها از نقطه پایانی پروکسی HTTP پیکربندی‌شده برای متادیتا و موتورهای دانلود استفاده می‌کنند.', customProxyDescription: 'دانلودها از نقطه پایانی پروکسی HTTP پیکربندی‌شده برای متادیتا و موتورهای دانلود استفاده می‌کنند.',
invalidCustomProxy: 'برای فعال کردن پروکسی سفارشی یک میزبان و پورت پروکسی HTTP معتبر وارد کنید.', invalidCustomProxy: 'برای فعال کردن پروکسی سفارشی یک میزبان و پورت پروکسی HTTP معتبر وارد کنید.',
incompleteCustomProxy: 'برای فعال کردن پروکسی سفارشی یک میزبان و پورت پروکسی وارد کنید.', incompleteCustomProxy: 'برای فعال کردن پروکسی سفارشی یک میزبان و پورت پروکسی وارد کنید.',
checkingSystemProxy: 'در حال بررسی پیکربندی پروکسی سیستم...', checkingSystemProxy: 'در حال بررسی پیکربندی پروکسی سیستم',
detectedSystemProxy: 'یک پروکسی سیستم شناسایی شد. دانلودهای فایل عادی به یک نقطه پایانی HTTP یا HTTPS نیاز دارند؛ دانلودهای رسانه می‌توانند از SOCKS استفاده کنند.', detectedSystemProxy: 'یک پروکسی سیستم شناسایی شد. دانلودهای فایل عادی به یک نقطه پایانی HTTP یا HTTPS نیاز دارند؛ دانلودهای رسانه می‌توانند از SOCKS استفاده کنند.',
noSystemProxy: 'هیچ پروکسی سیستم قابل استفاده‌ای شناسایی نشد. دانلودها از هیچ پروکسی‌ای استفاده نخواهند کرد.', noSystemProxy: 'هیچ پروکسی سیستم قابل استفاده‌ای شناسایی نشد. دانلودها از هیچ پروکسی‌ای استفاده نخواهند کرد.',
systemProxyReadFailed: 'پیکربندی پروکسی سیستم قابل خواندن نیست. بدون پروکسی را انتخاب کنید یا هنگامی که در دسترس است دوباره امتحان کنید.', systemProxyReadFailed: 'پیکربندی پروکسی سیستم قابل خواندن نیست. بدون پروکسی را انتخاب کنید یا هنگامی که در دسترس است دوباره امتحان کنید.',
@@ -632,7 +632,7 @@ const fa = {
locations: { locations: {
baseDownloadFolder: 'پوشه اصلی دانلود', baseDownloadFolder: 'پوشه اصلی دانلود',
baseDownloadFolderDescription: 'پوشه‌های دسته خودکار در داخل این پوشه ایجاد می‌شوند.', baseDownloadFolderDescription: 'پوشه‌های دسته خودکار در داخل این پوشه ایجاد می‌شوند.',
browse: 'انتخاب', browse: 'انتخاب',
baseFolderCreateFailed: 'پوشه اصلی ذخیره شد، اما ایجاد پوشه‌های دسته ناموفق بود: {{detail}}', baseFolderCreateFailed: 'پوشه اصلی ذخیره شد، اما ایجاد پوشه‌های دسته ناموفق بود: {{detail}}',
baseFolderUpdated: 'پوشه اصلی دانلود به‌روزرسانی شد', baseFolderUpdated: 'پوشه اصلی دانلود به‌روزرسانی شد',
askWhereToSave: 'هنگام افزودن دانلود بپرس کجا ذخیره شود', askWhereToSave: 'هنگام افزودن دانلود بپرس کجا ذخیره شود',
@@ -663,7 +663,7 @@ const fa = {
password: 'رمز عبور:', password: 'رمز عبور:',
usernamePlaceholder: 'نام کاربری', usernamePlaceholder: 'نام کاربری',
passwordPlaceholder: 'رمز عبور', passwordPlaceholder: 'رمز عبور',
saving: 'در حال ذخیره...', saving: 'در حال ذخیره',
addLogin: 'افزودن ورود', addLogin: 'افزودن ورود',
urlPatternRequired: 'الگوی URL الزامی است.', urlPatternRequired: 'الگوی URL الزامی است.',
urlPatternWhitespace: 'الگوی URL نمی‌تواند شامل فاصله باشد.', urlPatternWhitespace: 'الگوی URL نمی‌تواند شامل فاصله باشد.',
@@ -700,7 +700,7 @@ const fa = {
portablePairingAvailable: 'جفت‌سازی قابل‌حمل در دسترس است', portablePairingAvailable: 'جفت‌سازی قابل‌حمل در دسترس است',
credentialStorageNeeded: 'نیاز به ذخیره‌سازی اعتبارنامه', credentialStorageNeeded: 'نیاز به ذخیره‌سازی اعتبارنامه',
portableAvailableDescription: 'توکن جفت‌سازی شما با این پوشه قابل‌حمل Firelink ذخیره می‌شود و پس از راه‌اندازی مجدد باقی می‌ماند. برای مشاهده هشدار ذخیره‌سازی قابل‌حمل آن را اینجا فعال کنید.', portableAvailableDescription: 'توکن جفت‌سازی شما با این پوشه قابل‌حمل Firelink ذخیره می‌شود و پس از راه‌اندازی مجدد باقی می‌ماند. برای مشاهده هشدار ذخیره‌سازی قابل‌حمل آن را اینجا فعال کنید.',
credentialStorageDescription: "Firelink به دسترسی به مخزن اعتبارنامه‌های این سیستم نیاز دارد تا توکن جفت‌سازی شما را پس از راه‌اندازی مجدد به‌طور امن حفظ کند. در حال حاضر، افزونه شما فقط برای این جلسه متصل باقی می‌ماند.", credentialStorageDescription: 'Firelink به دسترسی به مخزن اعتبارنامه‌های این سیستم نیاز دارد تا توکن جفت‌سازی شما را پس از راه‌اندازی مجدد به‌طور امن حفظ کند. در حال حاضر، افزونه شما فقط برای این جلسه متصل باقی می‌ماند.',
reviewPortablePairing: 'بررسی جفت‌سازی قابل‌حمل', reviewPortablePairing: 'بررسی جفت‌سازی قابل‌حمل',
grantCredentialAccess: 'اعطای دسترسی اعتبارنامه', grantCredentialAccess: 'اعطای دسترسی اعتبارنامه',
copyToken: 'کپی توکن', copyToken: 'کپی توکن',
@@ -714,7 +714,7 @@ const fa = {
firefoxAddons: 'افزونه‌های Firefox', firefoxAddons: 'افزونه‌های Firefox',
chromiumZip: 'Chromium ZIP', chromiumZip: 'Chromium ZIP',
pasteConnect: 'جای‌گذاری و اتصال', pasteConnect: 'جای‌گذاری و اتصال',
pasteConnectDescription: "روی آیکون Firelink در نوار ابزار مرورگر خود کلیک کنید و توکن کپی‌شده را جای‌گذاری کنید.", pasteConnectDescription: 'روی آیکون Firelink در نوار ابزار مرورگر خود کلیک کنید و توکن کپی‌شده را جای‌گذاری کنید.',
extensionServerStatus: 'وضعیت سرور افزونه:', extensionServerStatus: 'وضعیت سرور افزونه:',
listening: '● در حال گوش دادن به 127.0.0.1:{{port}}', listening: '● در حال گوش دادن به 127.0.0.1:{{port}}',
unavailable: '● سرور در دسترس نیست', unavailable: '● سرور در دسترس نیست',
@@ -732,7 +732,7 @@ const fa = {
updates: 'به‌روزرسانی‌ها', updates: 'به‌روزرسانی‌ها',
checkForUpdates: 'بررسی به‌روزرسانی‌ها', checkForUpdates: 'بررسی به‌روزرسانی‌ها',
updateDescription: 'Firelink انتشار‌های GitHub را برای نسخه‌های جدید بررسی می‌کند.', updateDescription: 'Firelink انتشار‌های GitHub را برای نسخه‌های جدید بررسی می‌کند.',
checking: 'در حال بررسی...', checking: 'در حال بررسی',
checkNow: 'اکنون بررسی کن', checkNow: 'اکنون بررسی کن',
automaticUpdates: 'بررسی خودکار برای به‌روزرسانی‌ها', automaticUpdates: 'بررسی خودکار برای به‌روزرسانی‌ها',
createdBy: 'ایجاد شده توسط NimBold', createdBy: 'ایجاد شده توسط NimBold',
+112 -112
View File
@@ -2,15 +2,15 @@ const he = {
navigation: { navigation: {
library: 'ספרייה', library: 'ספרייה',
filters: { filters: {
all: 'הכל', all: 'הכול',
active: 'פעיל', active: 'פעילות',
completed: 'הושלם', completed: 'הושלמו',
unfinished: 'לא הושלם', unfinished: 'לא הושלמו',
}, },
categories: { categories: {
musics: 'מוזיקה', musics: 'מוזיקה',
movies: 'סרטים', movies: 'סרטים',
compressed: 'דחוס', compressed: 'קבצים דחוסים',
documents: 'מסמכים', documents: 'מסמכים',
pictures: 'תמונות', pictures: 'תמונות',
applications: 'יישומים', applications: 'יישומים',
@@ -27,13 +27,13 @@ const he = {
actions: { actions: {
hideSidebar: 'הסתרת סרגל צד', hideSidebar: 'הסתרת סרגל צד',
showSidebar: 'הצגת סרגל צד', showSidebar: 'הצגת סרגל צד',
resizeSidebar: 'שינוי גודל סרגל צד', resizeSidebar: 'שינוי גודל סרגל הצד',
cancel: 'ביטול', cancel: 'ביטול',
continue: 'המשך', continue: 'המשך',
dismissNotification: 'סגירת התראה', dismissNotification: 'סגירת התראה',
queueName: 'שם התור', queueName: 'שם התור',
addNewQueue: 'הוספת תור חדש', addNewQueue: 'הוספת תור חדש',
startQueue: תחלת תור', startQueue: פעלת תור',
pauseQueue: 'השהיית תור', pauseQueue: 'השהיית תור',
renameQueue: 'שינוי שם תור', renameQueue: 'שינוי שם תור',
deleteQueue: 'מחיקת תור', deleteQueue: 'מחיקת תור',
@@ -46,15 +46,15 @@ const he = {
}, },
duplicateDownloads: { duplicateDownloads: {
title: 'זוהו הורדות כפולות', title: 'זוהו הורדות כפולות',
description: 'חלק מההורדות שאתה מוסיף כבר קיימות בתור או בדיסק. אנא בחר כיצד לפתור התנגשויות אלו.', description: 'חלק מההורדות שברצונך להוסיף כבר קיימות בתור או בדיסק. נא לבחור כיצד לפתור התנגשויות אלו.',
rename: 'שינוי שם', rename: 'שינוי שם',
replace: 'החלפה', replace: 'החלפה',
skip: 'דילוג', skip: 'דילוג',
}, },
removeDownload: { removeDownload: {
title: 'הסרת הורדה', title: 'הסרת הורדה',
confirmationSingle: 'האם אתה בטוח שברצונך להסיר פריט זה מהרשימה? תוכל גם לבחור למחוק את הקובץ המקורי מהכונן הקשיח.', confirmationSingle: 'האם ברצונך להסיר פריט זה מהרשימה? ניתן לבחור למחוק גם את הקובץ מהכונן הקשיח.',
confirmationMultiple: 'האם אתה בטוח שברצונך להסיר {{count}} פריטים אלו מהרשימה? תוכל גם לבחור למחוק את הקבצים המקוריים מהכונן הקשיח.', confirmationMultiple: 'האם ברצונך להסיר {{count}} פריטים אלו מהרשימה? ניתן לבחור למחוק גם את הקבצים מהכונן הקשיח.',
errorSummary: '{{succeeded}} הוסרו, {{failed}} נכשלו: {{detail}}', errorSummary: '{{succeeded}} הוסרו, {{failed}} נכשלו: {{detail}}',
remove: 'הסרה', remove: 'הסרה',
deleteFile: 'מחיקת קובץ', deleteFile: 'מחיקת קובץ',
@@ -71,8 +71,8 @@ const he = {
moveUp: 'הזזה למעלה', moveUp: 'הזזה למעלה',
moveDown: 'הזזה למטה', moveDown: 'הזזה למטה',
pause: 'השהייה', pause: 'השהייה',
start: תחלה', start: פעלה',
resume: 'המשך', resume: 'חידוש',
options: 'אפשרויות', options: 'אפשרויות',
}, },
size: { size: {
@@ -88,29 +88,29 @@ const he = {
paused: 'מושהה', paused: 'מושהה',
completed: 'הושלם', completed: 'הושלם',
failed: 'נכשל', failed: 'נכשל',
retrying: 'מנסה שוב', retrying: 'ניסיון חוזר',
}, },
values: { values: {
processing: 'מעבד...', processing: 'מעבד',
muxing: 'ממזג...', muxing: 'ממזג',
}, },
}, },
speedLimiter: { speedLimiter: {
title: 'הגבלת מהירות', title: 'הגבלת מהירות',
unlimited: 'ללא הגבלה', unlimited: 'ללא הגבלה',
saveLimit: 'שמירת הגבלה', saveLimit: 'שמירת הגבלה',
globalSpeedLimit: 'הגבלת מהירות כללית', globalSpeedLimit: 'הגבלת מהירות כוללת',
description: 'חל על העברות חדשות ופעילות של aria2 והורדות מדיה חדשות של yt-dlp. הגבלות פרטניות מפורשות להורדה נשארות צמודות להעברות אלה.', description: 'חלה על העברות aria2 חדשות ופעילות ועל הורדות מדיה חדשות של yt-dlp. הגבלות פרטניות עבור הורדה מסוימת נשמרות.',
quickPresets: 'הגדרות מהירות', quickPresets: 'פרופילים מהירים',
removePreset: 'הסרת הגדרה של {{value}} {{unit}}', removePreset: 'הסרת פרופיל {{value}} {{unit}}',
customPresetIn: 'הגדרה מותאמת אישית ב-{{unit}}', customPresetIn: 'פרופיל מותאם אישית ב-{{unit}}',
addQuickPreset: 'הוספת הגדרה מהירה', addQuickPreset: 'הוספת פרופיל מהיר',
globalLimitSaved: 'הגבלה כללית נשמרה כ-{{value}} {{unit}}', globalLimitSaved: 'הגבלה כוללת נשמרה: {{value}} {{unit}}',
globalLimitDisabled: 'הגבלת מהירות כללית מושבתת', globalLimitDisabled: 'הגבלת מהירות כוללת הושבתה',
saveFailed: 'לא ניתן לשמור את הגבלת המהירות הכללית: {{detail}}', saveFailed: 'לא ניתן לשמור את הגבלת המהירות הכוללת: {{detail}}',
presetAlreadyExists: '{{value}} {{unit}} כבר נמצא בהגדרות המהירות', presetAlreadyExists: '{{value}} {{unit}} כבר קיים בפרופילים מהירים',
presetAdded: 'נוספה הגדרה מהירה של {{value}} {{unit}}', presetAdded: 'נוסף פרופיל מהיר של {{value}} {{unit}}',
presetRemoved: 'הוסרה הגדרה מהירה של {{value}} {{unit}}', presetRemoved: 'הוסר פרופיל מהיר של {{value}} {{unit}}',
}, },
logs: { logs: {
title: 'יומנים', title: 'יומנים',
@@ -127,13 +127,13 @@ const he = {
}, },
pauseLogging: 'השהיית רישום אבחון', pauseLogging: 'השהיית רישום אבחון',
enableLogging: 'הפעלת רישום אבחון', enableLogging: 'הפעלת רישום אבחון',
clearDisplayed: 'ניקוי יומנים מוצגים', clearDisplayed: 'ניקוי היומנים המוצגים',
export: 'ייצוא יומנים', export: 'ייצוא יומנים',
exportButton: 'ייצוא יומנים', exportButton: 'ייצוא יומנים',
logFiles: 'קבצי יומן', logFiles: 'קבצי יומן',
localDiagnostics: 'אבחון מקומי:', localDiagnostics: 'אבחון מקומי:',
diagnosticsDescription: 'איסוף אבחון נעשה מבחירה, מוגבל ומקומי. סודות נפוצים, שאילתות URL ונתיבי תיקיית בית מוסתרים במהלך הצגה וייצוא. שום דבר אינו מועלה באופן אוטומטי.', diagnosticsDescription: 'איסוף אבחון נעשה בהסכמה, מוגבל בהיקפו ומקומי. נתונים רגישים, שאילתות URL ונתיבי תיקיית הבית מוסתרים בעת הצגה וייצוא. שום דבר אינו מועלה באופן אוטומטי.',
noEntries: 'אין עדיין רשומות יומן שמורות זמינות.', noEntries: 'אין עדיין רשומות יומן שמורות.',
disabledDescription: 'רישום אבחון כבוי. יומני תמיכה קיימים יופיעו כאן כאשר יהיו זמינים.', disabledDescription: 'רישום אבחון כבוי. יומני תמיכה קיימים יופיעו כאן כאשר יהיו זמינים.',
copy: 'העתקה', copy: 'העתקה',
copied: 'הועתק ללוח', copied: 'הועתק ללוח',
@@ -142,9 +142,9 @@ const he = {
exportFailed: 'לא ניתן לייצא יומנים: {{detail}}', exportFailed: 'לא ניתן לייצא יומנים: {{detail}}',
cleared: 'היומנים נוקו', cleared: 'היומנים נוקו',
clearFailed: 'לא ניתן לנקות יומנים: {{detail}}', clearFailed: 'לא ניתן לנקות יומנים: {{detail}}',
enabled: 'רישום אבחון מופעל', enabled: 'רישום אבחון הופעל',
disabled: 'רישום אבחון מושבת', disabled: 'רישום אבחון הושבת',
updateFailed: 'לא ניתן לעדכן רישום אבחון: {{detail}}', updateFailed: 'לא ניתן לעדכן את רישום האבחון: {{detail}}',
}, },
scheduler: { scheduler: {
title: 'מתזמן', title: 'מתזמן',
@@ -152,41 +152,41 @@ const he = {
disabled: 'המתזמן מושבת', disabled: 'המתזמן מושבת',
noScheduledDay: 'לא נבחר יום מתוזמן', noScheduledDay: 'לא נבחר יום מתוזמן',
unsavedChanges: 'שינויים שלא נשמרו', unsavedChanges: 'שינויים שלא נשמרו',
runNow: 'הפעל כעת', runNow: 'הפעלה כעת',
pause: 'השהייה', pause: 'השהייה',
saveSettings: 'שמירת הגדרות', saveSettings: 'שמירת הגדרות',
timing: 'תזמון', timing: 'תזמון',
startTime: 'שעת התחלה', startTime: 'שעת התחלה',
stopTime: 'שעת סיום', stopTime: 'שעת סיום',
timingDescription: 'אם Firelink ישן בשעת ההתחלה, הוא יפעיל את התורים שנבחרו כשיחזור מאוחר יותר באותו יום, אלא אם כן שעת הסיום כבר עברה.', timingDescription: 'אם Firelink נמצא במצב שינה בשעת ההתחלה, הוא יפעיל את התורים שנבחרו כשיחזור לפעולה מאוחר יותר באותו יום, אלא אם כן שעת הסיום כבר עברה.',
runEveryDay: 'הפעל כל יום', runEveryDay: 'הפעלה בכל יום',
queuesToSchedule: 'תורים לתזמון', queuesToSchedule: 'תורים לתזמון',
defaultQueue: 'תור ברירת מחדל', defaultQueue: 'תור ברירת מחדל',
afterCompletion: 'לאחר השלמה', afterCompletion: 'לאחר הסיום',
afterCompletionDescription: 'בחר מה יקרה לאחר סיום ההורדות שהופעלו על ידי המתזמן.', afterCompletionDescription: 'בחר מה יתרחש לאחר סיום ההורדות שהופעלו על ידי המתזמן.',
actionWarning: 'פעולה זו עשויה להפריע לעבודה אחרת במחשב. Firelink מפעיל אותה מיד לאחר שהתור המתוזמן מסתיים.', actionWarning: 'פעולה זו עשויה להפריע לעבודה אחרת במחשב. Firelink יבצע אותה מיד לאחר שהתור המתוזמן מסתיים.',
systemPermissions: 'הרשאות מערכת', systemPermissions: 'הרשאות מערכת',
macPermissionDescription: 'שינה, הפעלה מחדש וכיבוי דורשים הרשאת Automation ל-System Events ב-macOS.', macPermissionDescription: 'שינה, הפעלה מחדש וכיבוי דורשים הרשאת Automation עבור System Events ב-macOS.',
permissionGranted: 'ניתנה הרשאת Automation', permissionGranted: 'ניתנה הרשאת Automation',
permissionChecking: 'בודק הרשאת Automation...', permissionChecking: 'בודק הרשאת Automation',
permissionMissing: 'חסרה הרשאת Automation', permissionMissing: 'חסרה הרשאת Automation',
revokePermission: 'שלילת הרשאה', revokePermission: 'ביטול הרשאה',
grantPermission: 'מתן הרשאה', grantPermission: 'מתן הרשאה',
permissionAvailable: 'הרשאת Automation זמינה.', permissionAvailable: 'הרשאת Automation זמינה.',
permissionMissingDetails: 'חסרה הרשאת Automation. הפעל את Firelink תחת Automation עבור System Events בהגדרות המערכת.', permissionMissingDetails: 'חסרה הרשאת Automation. הפעל את Firelink תחת Automation עבור System Events בהגדרות המערכת.',
revokePermissionDetails: 'macOS אינה מאפשרת ל-Firelink לשלול הרשאת Automation ישירות. שלול גישה ל-System Events בהגדרות המערכת, ולאחר מכן חזור ל-Firelink.', revokePermissionDetails: 'macOS אינה מאפשרת ל-Firelink לבטל הרשאת Automation ישירות. בטל גישה ל-System Events בהגדרות המערכת, ולאחר מכן חזור ל-Firelink.',
requestingPermission: 'מבקש הרשאת Automation...', requestingPermission: 'מבקש הרשאת Automation',
enablePermissionDetails: 'הפעל את Firelink תחת Automation עבור System Events בהגדרות המערכת, ולאחר מכן חזור ל-Firelink.', enablePermissionDetails: 'הפעל את Firelink תחת Automation עבור System Events בהגדרות המערכת, ולאחר מכן חזור ל-Firelink.',
systemActions: 'פעולות מערכת', systemActions: 'פעולות מערכת',
windowsActionsDescription: 'שינה, הפעלה מחדש וכיבוי משתמשים בהרשאות מערכת של Windows. Firelink מדווח על כל פעולה שנדחתה כאשר היא פועלת; לא נדרשת הרשאה קבועה מראש.', windowsActionsDescription: 'שינה, הפעלה מחדש וכיבוי משתמשים בהרשאות מערכת של Windows. Firelink מדווח על כל פעולה שנדחתה בעת ביצועה; לא נדרשת הרשאה קבועה מראש.',
linuxActionsDescription: 'שינה, הפעלה מחדש וכיבוי משתמשים בשולחן העבודה שלך ובמדיניות המערכת של Linux. Firelink מדווח על כל פעולה שנדחתה כאשר היא פועלת; לא נדרשת הרשאה קבועה מראש.', linuxActionsDescription: 'שינה, הפעלה מחדש וכיבוי משתמשים בשולחן העבודה ובמדיניות המערכת של Linux. Firelink מדווח על כל פעולה שנדחתה בעת ביצועה; לא נדרשת הרשאה קבועה מראש.',
validationDay: 'בחר לפחות יום אחד למתזמן', validationDay: 'יש לבחור לפחות יום אחד למתזמן',
validationQueue: 'בחר לפחות תור אחד למתזמן', validationQueue: 'יש לבחור לפחות תור אחד למתזמן',
validationStopTime: 'שעת הסיום חייבת להיות מאוחרת משעת ההתחלה', validationStopTime: 'שעת הסיום חייבת להיות מאוחרת משעת ההתחלה',
saved: 'הגדרות המתזמן נשמרו', saved: 'הגדרות המתזמן נשמרו',
trackingOne: 'עוקב אחר הורדה מתוזמנת אחת', trackingOne: 'עוקב אחר הורדה מתוזמנת אחת',
trackingMany: 'עוקב אחר {{count}} הורדות מתוזמנות', trackingMany: 'עוקב אחר {{count}} הורדות מתוזמנות',
noStartableDownloads: 'אין הורדות בתורים שנבחרו שניתן להתחיל', noStartableDownloads: 'אין הורדות שניתן להפעיל בתורים שנבחרו',
pausedOne: 'הושהתה הורדה פעילה אחת', pausedOne: 'הושהתה הורדה פעילה אחת',
pausedMany: 'הושהתו {{count}} הורדות פעילות', pausedMany: 'הושהתו {{count}} הורדות פעילות',
noActiveDownloads: 'אין הורדות פעילות', noActiveDownloads: 'אין הורדות פעילות',
@@ -200,7 +200,7 @@ const he = {
sa: 'ש\'', sa: 'ש\'',
}, },
postActions: { postActions: {
none: 'אל תעשה כלום', none: 'ללא פעולה',
sleep: 'שינה', sleep: 'שינה',
restart: 'הפעלה מחדש', restart: 'הפעלה מחדש',
shutdown: 'כיבוי', shutdown: 'כיבוי',
@@ -220,39 +220,39 @@ const he = {
lastError: 'שגיאה אחרונה', lastError: 'שגיאה אחרונה',
saved: ' (נשמר)', saved: ' (נשמר)',
defaultValue: ' (ברירת מחדל)', defaultValue: ' (ברירת מחדל)',
savedTooltip: 'נשמר עבור הורדה זו; שינויי הגדרות חלים על הורדות חדשות.', savedTooltip: 'נשמר עבור הורדה זו; שינויים בהגדרות יחולו על הורדות חדשות.',
defaultTooltip: 'שימוש בברירת המחדל הנוכחית להורדות חדשות.', defaultTooltip: 'שימוש בברירת המחדל הנוכחית להורדות חדשות.',
identityReadOnly: 'זהות הקובץ לקריאה בלבד. הגדרות ההעברה נשמרות להורדה מחדש.', identityReadOnly: 'זהות הקובץ היא לקריאה בלבד. הגדרות ההעברה נשמרות להורדה מחדש.',
transferSettings: 'ניתן לשנות את הגדרות ההעברה לאחר עצירה או השהייה. העברות נוכחיות שומרות על אפשרויות ההעברה הקיימות שלהן.', transferSettings: 'ניתן לשנות את הגדרות ההעברה לאחר עצירה או השהייה. העברות נוכחיות שומרות על אפשרויות המנוע הקיימות שלהן.',
download: 'הורדה', download: 'הורדה',
url: 'URL', url: 'URL',
fileName: 'שם קובץ', fileName: 'שם קובץ',
saveLocation: 'מיקום שמירה', saveLocation: 'מיקום שמירה',
select: 'בחירה', select: 'בחירה',
perFile: 'לקובץ', perFile: 'לקובץ',
useCurrentDefault: 'השתמש בברירת המחדל הנוכחית ({{count}})', useCurrentDefault: 'שימוש בברירת המחדל הנוכחית ({{count}})',
savedPerDownload: 'נשמר לכל הורדה. ברירת המחדל של ההגדרות חלה על הורדות חדשות.', savedPerDownload: 'נשמר עבור כל הורדה. ברירת המחדל בהגדרות חלה על הורדות חדשות.',
limit: 'הגבלה', limit: 'הגבלה',
siteLogin: 'התחברות לאתר', siteLogin: 'התחברות לאתר',
siteLoginRedownload: 'התחברות לאתר להורדה מחדש', siteLoginRedownload: 'התחברות לאתר להורדה מחדש',
matchingSiteLogin: 'התחברות תואמת לאתר', matchingSiteLogin: 'פרטי התחברות תואמים לאתר',
customCredentials: 'אישורים מותאמים אישית', customCredentials: 'אישורים מותאמים אישית',
noLogin: 'ללא התחברות', noLogin: 'ללא התחברות',
useSavedLogin: 'ישתמש בהתחברות שמורה אם זמינה.', useSavedLogin: 'יעשה שימוש בהתחברות שמורה אם היא זמינה.',
advancedTransfer: 'העברה מתקדמת', advancedTransfer: 'העברה מתקדמת',
advancedTransferRedownload: 'העברה מתקדמת להורדה מחדש', advancedTransferRedownload: 'העברה מתקדמת להורדה מחדש',
checksum: 'סכום ביקורת', checksum: 'סכום ביקורת',
verify: 'אימות', verify: 'אימות',
algorithm: 'אלגוריתם', algorithm: 'אלגוריתם',
digest: 'תקציר', digest: 'ערך גיבוב',
expectedDigest: 'תקציר צפוי', expectedDigest: 'ערך גיבוב צפוי',
cookies: 'עוגיות', cookies: 'עוגיות',
headers: 'כותרות (Headers)', headers: 'כותרות (Headers)',
mirrors: 'מראות', mirrors: 'מראות',
username: 'שם משתמש', username: 'שם משתמש',
password: 'סיסמה', password: 'סיסמה',
enterValidUrl: 'הזן URL תקין.', enterValidUrl: 'נא להזין כתובת URL תקינה.',
fileNameEmpty: 'שם קובץ אינו יכול להיות ריק.', fileNameEmpty: 'שם הקובץ אינו יכול להיות ריק.',
cancel: 'ביטול', cancel: 'ביטול',
save: 'שמירה', save: 'שמירה',
}, },
@@ -261,30 +261,30 @@ const he = {
stores: { stores: {
portable: 'תיקיית הנתונים הניידת של Firelink', portable: 'תיקיית הנתונים הניידת של Firelink',
windows: 'מנהל האישורים של Windows', windows: 'מנהל האישורים של Windows',
linux: 'אחסון האישורים של Linux שלך', linux: 'אחסון האישורים של Linux',
macos: 'Keychain של macOS', macos: 'Keychain של macOS',
system: 'אחסון האישורים של מערכת זו', system: 'אחסון האישורים של מערכת זו',
siteCredentials: 'אחסון האישורים של המערכת', siteCredentials: 'אחסון האישורים של המערכת',
}, },
grantLabelPortable: 'המשך', grantLabelPortable: 'המשך',
grantLabelMacos: 'הענקת גישה', grantLabelMacos: 'מתן גישה',
grantLabelDefault: 'הפעלת אחסון מאובטח', grantLabelDefault: 'הפעלת אחסון מאובטח',
description: 'Firelink משתמש בתוסף הדפדפן כדי ללכוד הורדות. כדי לשמור על חיבור התוסף לאחר הפעלה מחדש, Firelink שומר את אסימון הצימוד שלו ב-{{pairingStore}}. אישורי אתר אופציונליים נשמרים ב-{{siteCredentialStore}}.', description: 'Firelink משתמש בתוסף הדפדפן כדי ללכוד הורדות. כדי לשמור על חיבור התוסף לאחר הפעלה מחדש, Firelink שומר את אסימון הצימוד שלו ב-{{pairingStore}}. אישורי אתר אופציונליים נשמרים ב-{{siteCredentialStore}}.',
portableExplanation: 'אסימון הצימוד נייד יחד עם תיקייה זו. אישורי אתרים נשארים באחסון האישורים של המערכת; ייתכן שתופיע בקשת מערכת לאחר שתעניק גישה.', portableExplanation: 'אסימון הצימוד נייד יחד עם תיקייה זו. אישורי אתרים נשארים באחסון האישורים של המערכת; ייתכן שתופיע בקשת מערכת לאחר מתן הגישה.',
macosExplanation: 'macOS עשויה להציג בקשת Keychain לאחר שתעניק גישה.', macosExplanation: 'macOS עשויה להציג בקשת Keychain לאחר מתן הגישה.',
defaultExplanation: 'לרוב זה מסתיים בשקט. אם שירות האישורים אינו זמין, Firelink יציג את השגיאה כאן והתוסף יישאר מצומד עבור הפעלה זו בלבד.', defaultExplanation: 'לרוב זה מתבצע ברקע. אם שירות האישורים אינו זמין, Firelink יציג את השגיאה כאן והתוסף יישאר מחובר עבור הפעלה זו בלבד.',
note: 'הערה:', note: 'הערה:',
portableNote: 'מצב נייד שומר רק את אסימון הצימוד בתיקייה זו. הוא אינו מעתיק סיסמאות אתרים או אישורי דפדפן.', portableNote: 'מצב נייד שומר רק את אסימון הצימוד בתיקייה זו. הוא אינו מעתיק סיסמאות אתרים או אישורי דפדפן.',
defaultNote: 'Firelink כותב רק רשומת אישור ייעודית משלו. אין לו גישה לסיסמאות שמורות אחרות או לפריטי אישורים במערכת שלך.', defaultNote: 'Firelink כותב רק רשומת אישור ייעודית משלו. אין לו גישה לסיסמאות שמורות אחרות במערכת שלך.',
hint: 'רמז:', hint: 'רמז:',
portableHint: 'אסימון הצימוד הנייד כבר שמור בתיקייה זו; תוכל להפעיל אותו כאן או לבחור "מאוחר יותר".', portableHint: 'אסימון הצימוד הנייד כבר שמור בתיקייה זו; ניתן להפעיל אותו כאן או לבחור "מאוחר יותר".',
defaultHint: 'אם תבחר "מאוחר יותר", התוסף יפעל עבור הפעלה זו בלבד.', defaultHint: 'אם תבחר "מאוחר יותר", התוסף יפעל עבור הפעלה זו בלבד.',
enableFromSettings: 'תוכל להפעיל את האחסון בכל עת דרך הגדרות > שילובים.', enableFromSettings: 'ניתן להפעיל את האחסון בכל עת דרך הגדרות > שילובים.',
later: 'מאוחר יותר', later: 'מאוחר יותר',
enabling: 'מפעיל...', enabling: 'מפעיל',
timeout: 'בקשת האחסון של האישורים הסתיימה. תוכל לבחור "מאוחר יותר" ולנסות שוב.', timeout: 'בקשת האחסון של האישורים הסתיימה. ניתן לבחור "מאוחר יותר" ולנסות שוב.',
unavailable: '{{store}} אינו זמין.', unavailable: '{{store}} אינו זמין.',
accessRequired: 'הענק גישה לאחסון האישורים לפני יצירה מחדש של אסימון הצימוד.', accessRequired: 'יש להעניק גישה לאחסון האישורים לפני יצירה מחדש של אסימון הצימוד.',
storeUnavailable: 'הגישה לאחסון האישורים אינה זמינה.', storeUnavailable: 'הגישה לאחסון האישורים אינה זמינה.',
}, },
app: { app: {
@@ -304,11 +304,11 @@ const he = {
integrations: 'שילובים', integrations: 'שילובים',
copyTokenFailed: 'לא ניתן להעתיק את אסימון הצימוד: {{detail}}', copyTokenFailed: 'לא ניתן להעתיק את אסימון הצימוד: {{detail}}',
credentialPersistenceFailed: 'שמירת אישורים מאובטחת אינה זמינה. צימוד הדפדפן פועל עבור הפעלה זו בלבד: {{detail}}', credentialPersistenceFailed: 'שמירת אישורים מאובטחת אינה זמינה. צימוד הדפדפן פועל עבור הפעלה זו בלבד: {{detail}}',
resumeDownloadsFailed: 'לא ניתן להמשיך הורדות שמורות: {{detail}}', resumeDownloadsFailed: 'לא ניתן לחדש הורדות שמורות: {{detail}}',
updateAvailable: 'Firelink {{version}} זמין.', updateAvailable: 'Firelink {{version}} זמין.',
viewRelease: 'הצגת שחרור', viewRelease: 'הצגת פרטי שחרור',
sleepPreventionFailed: 'לא ניתן לעדכן את מניעת השינה: {{detail}}', sleepPreventionFailed: 'לא ניתן לעדכן את מניעת השינה: {{detail}}',
schedulerNoQueues: 'למתזמן אין תורים חוקיים שנבחרו. עדכן את הגדרות המתזמן.', schedulerNoQueues: 'למתזמן אין תורים תקינים שנבחרו. עדכן את הגדרות המתזמן.',
schedulerPauseOneFailed: 'המתזמן לא הצליח להשהות הורדה אחת.', schedulerPauseOneFailed: 'המתזמן לא הצליח להשהות הורדה אחת.',
schedulerPauseManyFailed: 'המתזמן לא הצליח להשהות {{count}} הורדות.', schedulerPauseManyFailed: 'המתזמן לא הצליח להשהות {{count}} הורדות.',
scheduledIncomplete: 'ההורדות המתוזמנות לא הושלמו במלואן. פעולת המערכת לאחר התור דולגה.', scheduledIncomplete: 'ההורדות המתוזמנות לא הושלמו במלואן. פעולת המערכת לאחר התור דולגה.',
@@ -321,15 +321,15 @@ const he = {
deleteQueueFailed: 'לא ניתן למחוק את התור: {{detail}}', deleteQueueFailed: 'לא ניתן למחוק את התור: {{detail}}',
queueNameEmpty: 'שם התור אינו יכול להיות ריק', queueNameEmpty: 'שם התור אינו יכול להיות ריק',
queueNameExists: 'כבר קיים תור בשם זה', queueNameExists: 'כבר קיים תור בשם זה',
startQueueFailed: 'לא ניתן להתחיל את התור: {{detail}}', startQueueFailed: 'לא ניתן להפעיל את התור: {{detail}}',
pauseQueueFailed: 'לא ניתן להשהות את התור: {{detail}}', pauseQueueFailed: 'לא ניתן להשהות את התור: {{detail}}',
}, },
downloadTable: { downloadTable: {
unknownQueue: 'תור לא ידוע', unknownQueue: 'תור לא ידוע',
allDownloads: 'כל ההורדות', allDownloads: 'כל ההורדות',
active: 'פעיל', active: 'פעילות',
completed: 'הושלם', completed: 'הושלמו',
unfinished: 'לא הושלם', unfinished: 'לא הושלמו',
headers: { headers: {
fileName: 'שם קובץ', fileName: 'שם קובץ',
size: 'גודל', size: 'גודל',
@@ -341,14 +341,14 @@ const he = {
columnOptions: { columnOptions: {
open: 'אפשרויות עמודה: {{column}}', open: 'אפשרויות עמודה: {{column}}',
dragToReorder: 'גררו כדי לשנות את סדר העמודות', dragToReorder: 'גררו כדי לשנות את סדר העמודות',
alignContent: 'מיקום התוכן', alignContent: 'יישור תוכן העמודה',
left: 'שמאל', left: 'שמאל',
center: 'מרכז', center: 'מרכז',
right: 'ימין', right: 'ימין',
resetLayout: 'איפוס פריסת העמודות', resetLayout: 'איפוס פריסת העמודות',
}, },
addDownload: 'הוספת הורדה', addDownload: 'הוספת הורדה',
resumeAll: 'המשך הכל', resumeAll: 'חידוש הכל',
pauseAll: 'השהיית הכל', pauseAll: 'השהיית הכל',
queueEmpty: 'התור ריק', queueEmpty: 'התור ריק',
noCompletedDownloads: 'אין הורדות שהושלמו', noCompletedDownloads: 'אין הורדות שהושלמו',
@@ -358,13 +358,13 @@ const he = {
clickToAdd: 'לחץ על לחצן', clickToAdd: 'לחץ על לחצן',
addButtonOr: 'או', addButtonOr: 'או',
toAddDownloads: 'כדי להוסיף הורדות', toAddDownloads: 'כדי להוסיף הורדות',
nonResumableOne: 'הורדה אחת אינה תומכת בהמשך. אם תשהה אותה, תצטרך להתחיל מהתחלה מאוחר יותר. האם אתה בטוח שברצונך להשהות?', nonResumableOne: 'הורדה אחת אינה תומכת בחידוש. אם תשהה אותה, תצטרך להתחיל מהתחלה מאוחר יותר. האם ברצונך להשהות?',
nonResumableMany: '{{count}} הורדות אינן תומכות בהמשך. אם תשהה אותן, תצטרך להתחיל מהתחלה מאוחר יותר. האם אתה בטוח שברצונך להשהות?', nonResumableMany: '{{count}} הורדות אינן תומכות בחידוש. אם תשהה אותן, תצטרך להתחיל מהתחלה מאוחר יותר. האם ברצונך להשהות?',
interactionError: '{{message}}: {{detail}}', interactionError: '{{message}}: {{detail}}',
openFileFailed: 'לא ניתן לפתוח את הקובץ שהורד', openFileFailed: 'לא ניתן לפתוח את הקובץ שהורד',
revealFileFailed: 'לא ניתן להציג את ההורדה ב-Finder', revealFileFailed: 'לא ניתן להציג את הקובץ ב-Finder',
pauseFailed: 'לא ניתן להשהות את ההורדה', pauseFailed: 'לא ניתן להשהות את ההורדה',
resumeFailed: 'לא ניתן להמשיך את {{fileName}}', resumeFailed: 'לא ניתן לחדש את {{fileName}}',
moveManyFailed: 'לא ניתן להעביר הורדות לתור', moveManyFailed: 'לא ניתן להעביר הורדות לתור',
moveOneFailed: 'לא ניתן להעביר הורדה לתור', moveOneFailed: 'לא ניתן להעביר הורדה לתור',
copyAddressesFailed: 'לא ניתן להעתיק כתובות', copyAddressesFailed: 'לא ניתן להעתיק כתובות',
@@ -372,22 +372,22 @@ const he = {
copyPathFailed: 'לא ניתן להעתיק נתיב קובץ', copyPathFailed: 'לא ניתן להעתיק נתיב קובץ',
missingFileName: 'שם הקובץ חסר', missingFileName: 'שם הקובץ חסר',
redownloadFailed: 'הורדה מחדש נכשלה', redownloadFailed: 'הורדה מחדש נכשלה',
startResume: תחלה/המשך', startResume: פעלה/חידוש',
addToQueue: 'הוספה לתור', addToQueue: 'הוספה לתור',
copyAddress: 'העתקת כתובת', copyAddress: 'העתקת כתובת',
remove: 'הסרה', remove: 'הסרה',
open: 'פתיחה', open: 'פתיחה',
showInFolder: 'הצגה בתיקייה', showInFolder: 'הצגה בתיקייה',
pause: 'השהייה', pause: 'השהייה',
start: תחלה', start: פעלה',
resume: 'המשך', resume: 'חידוש',
redownload: 'הורדה מחדש', redownload: 'הורדה מחדש',
copyFilePath: 'העתקת נתיב קובץ', copyFilePath: 'העתקת נתיב קובץ',
properties: 'מאפיינים', properties: 'מאפיינים',
backendRejectedStart: 'העורף דחה את בקשת ההתחלה/המשך.', backendRejectedStart: 'מנוע הרקע דחה את בקשת ההפעלה/החידוש.',
transferActive: 'לא ניתן לשנות מאפיינים בזמן שההעברה פעילה. השהה אותה תחילה.', transferActive: 'לא ניתן לשנות מאפיינים בזמן שההעברה פעילה. השהה אותה תחילה.',
redownloadNotFound: 'לא ניתן להוריד מחדש: ההורדה לא נמצאה.', redownloadNotFound: 'לא ניתן להוריד מחדש: ההורדה לא נמצאה.',
redownloadActive: 'לא ניתן להוריד מחדש הורדה בסטטוס {{status}}. השהה או המתן שתסתיים תחילה.', redownloadActive: 'לא ניתן להוריד מחדש הורדה בסטטוס "{{status}}". השהה או המתן שתסתיים תחילה.',
originalUrlMissing: 'לא ניתן להוריד מחדש: ה-URL המקורי חסר.', originalUrlMissing: 'לא ניתן להוריד מחדש: ה-URL המקורי חסר.',
pauseBeforeMove: 'השהה את {{file}} לפני העברתו לתור אחר.', pauseBeforeMove: 'השהה את {{file}} לפני העברתו לתור אחר.',
}, },
@@ -402,21 +402,21 @@ const he = {
addedMany: '{{count}} הורדות נוספו', addedMany: '{{count}} הורדות נוספו',
updatedOne: 'הורדה אחת עודכנה', updatedOne: 'הורדה אחת עודכנה',
updatedMany: '{{count}} הורדות עודכנו', updatedMany: '{{count}} הורדות עודכנו',
urlAlreadyQueued: 'URL כבר בתור', urlAlreadyQueued: 'URL כבר נמצא בתור',
destinationConflict: 'הורדה אחרת שנבחרה משתמשת ביעד זה', destinationConflict: 'הורדה אחרת שנבחרה משתמשת ביעד זה',
existingDownloadDestination: 'הורדת Firelink קיימת משתמשת ביעד זה', existingDownloadDestination: 'הורדת Firelink קיימת משתמשת ביעד זה',
matchingDownloadFilename: 'להורדה שלא הושלמה יש כבר שם קובץ זה', matchingDownloadFilename: 'להורדה שלא הושלמה יש כבר שם קובץ זה',
fileExistsOnDisk: 'הקובץ קיים בדיסק; שנה שם או דלג כדי למנוע מחיקת נתונים שאינם קשורים', fileExistsOnDisk: 'הקובץ קיים בדיסק; שנה שם או דלג כדי למנוע מחיקת נתונים שאינם קשורים',
backendRejectedStart: 'העורף דחה את התחלת ההורדה.', backendRejectedStart: 'מנוע הרקע דחה את התחלת ההורדה.',
playlistNoEntries: 'הפלייליסט אינו מכיל רשומות הניתנות להורדה', playlistNoEntries: 'רשימת ההשמעה אינה מכילה פריטים הניתנים להורדה',
invalidMediaMetadata: 'מטא נתונים של מדיה לא חוקיים או שלא נמצאו פורמטים', invalidMediaMetadata: 'מטא נתונים של המדיה אינם תקינים או שלא נמצאו פורמטים',
noAvailableName: 'לא נמצא שם פנוי עבור {{file}}.', noAvailableName: 'לא נמצא שם פנוי עבור {{file}}.',
pauseBeforeReplace: 'השהה את {{file}} לפני החלפתו.', pauseBeforeReplace: 'השהה את {{file}} לפני החלפתו.',
cannotReplace: 'לא ניתן להחליף את {{file}}: הקובץ אינו שייך להורדת Firelink.', cannotReplace: 'לא ניתן להחליף את {{file}}: הקובץ אינו שייך להורדת Firelink.',
downloadLinks: 'קישורי הורדה', downloadLinks: 'קישורי הורדה',
pastePlaceholder: 'הדבק כתובות \u2066HTTP\u2069, \u2066HTTPS\u2069, \u2066FTP\u2069 או \u2066SFTP\u2069 כאן...\n\nעבור הורדות מדיה, הדבק קישורים מ-\u2066YouTube\u2069, \u2066X\u2069, \u2066TikTok\u2069, \u2066Instagram\u2069, \u2066Reddit\u2069 וכו\'.', pastePlaceholder: 'הדבק כתובות \u2066HTTP\u2069, \u2066HTTPS\u2069, \u2066FTP\u2069 או \u2066SFTP\u2069 כאן\n\nעבור הורדות מדיה, הדבק קישורים מ-\u2066YouTube\u2069, \u2066X\u2069, \u2066TikTok\u2069, \u2066Instagram\u2069, \u2066Reddit\u2069 וכו\'.',
playlistSummary: 'פלייליסט "{{title}}": {{loaded}} מתוך {{total}} רשומות נטענו{{truncated}}{{skipped}}', playlistSummary: 'רשימת השמעה "{{title}}": {{loaded}} מתוך {{total}} פריטים נטענו{{truncated}}{{skipped}}',
safeEntryLimit: ' (הגיע למגבלת רשומות בטוחה)', safeEntryLimit: ' (הושגה מגבלת הפריטים הבטוחה)',
selectedSummary: '{{ready}} נבחרו ומוכנים, {{fallback}} לגיבוי, {{mediaRetry}} מדיה לניסיון חוזר, {{blocked}} חסומים', selectedSummary: '{{ready}} נבחרו ומוכנים, {{fallback}} לגיבוי, {{mediaRetry}} מדיה לניסיון חוזר, {{blocked}} חסומים',
clearSelection: 'ניקוי בחירה', clearSelection: 'ניקוי בחירה',
selectAll: 'בחירת הכל', selectAll: 'בחירת הכל',
@@ -431,22 +431,22 @@ const he = {
downloadPreview: 'תצוגה מקדימה של הורדה', downloadPreview: 'תצוגה מקדימה של הורדה',
noLinks: 'טרם נוספו קישורים.', noLinks: 'טרם נוספו קישורים.',
selectItem: 'בחר {{file}}', selectItem: 'בחר {{file}}',
fetchingPlaylist: 'מביא פלייליסט...', fetchingPlaylist: 'טוען את רשימת ההשמעה…',
fetching: 'מביא...', fetching: 'טוען…',
unsafeUrl: 'URL לא בטוח', unsafeUrl: 'URL לא בטוח',
playlistFailed: 'טעינת הפלייליסט נכשלה', playlistFailed: 'טעינת רשימת ההשמעה נכשלה',
metadataFailed: 'אחזור המטא-נתונים נכשל', metadataFailed: 'אחזור המטא-נתונים נכשל',
fallback: 'גיבוי', fallback: 'גיבוי',
invalid: 'לא חוקי', invalid: 'לא תקין',
ready: 'מוכן', ready: 'מוכן',
mediaFormat: 'פורמט מדיה', mediaFormat: 'פורמט מדיה',
playlistItem: 'פריט פלייליסט {{index}}', playlistItem: 'פריט רשימת השמעה {{index}}',
fetchingMediaStreams: 'מביא זרמי מדיה...', fetchingMediaStreams: 'טוען זרמי מדיה',
availableStreams: 'זרמים זמינים', availableStreams: 'זרמים זמינים',
availableMediaStreams: 'זרמי מדיה זמינים', availableMediaStreams: 'זרמי מדיה זמינים',
metadataUnavailable: 'מטא נתונים אינם זמינים. רענן מטא נתונים לפני הוספת מדיה זו.', metadataUnavailable: 'מטא נתונים אינם זמינים. רענן מטא נתונים לפני הוספת מדיה זו.',
saveLocation: 'מיקום שמירה', saveLocation: 'מיקום שמירה',
browse: 'עיון', browse: 'עיון',
categoryFolders: 'הקבצים יאורגנו בתיקיות קטגוריה.', categoryFolders: 'הקבצים יאורגנו בתיקיות קטגוריה.',
sharedFolder: 'כל ההורדות שנבחרו ישתמשו בתיקייה זו.', sharedFolder: 'כל ההורדות שנבחרו ישתמשו בתיקייה זו.',
dedicatedFolder: 'שמירה בתיקייה חדשה', dedicatedFolder: 'שמירה בתיקייה חדשה',
@@ -467,7 +467,7 @@ const he = {
advancedTransfer: 'העברה מתקדמת', advancedTransfer: 'העברה מתקדמת',
verifyChecksum: 'אימות סכום ביקורת', verifyChecksum: 'אימות סכום ביקורת',
checksumAlgorithm: 'אלגוריתם סכום ביקורת', checksumAlgorithm: 'אלגוריתם סכום ביקורת',
expectedDigest: 'תקציר צפוי', expectedDigest: 'ערך גיבוב צפוי',
headers: 'כותרות (Headers)', headers: 'כותרות (Headers)',
requestHeaders: 'כותרות בקשה', requestHeaders: 'כותרות בקשה',
cookies: 'עוגיות', cookies: 'עוגיות',
@@ -478,9 +478,9 @@ const he = {
addToQueue: 'הוספה לתור', addToQueue: 'הוספה לתור',
pasteOneOrMore: 'הדבק קישור אחד או יותר.', pasteOneOrMore: 'הדבק קישור אחד או יותר.',
selectAtLeastOne: 'בחר לפחות הורדה אחת.', selectAtLeastOne: 'בחר לפחות הורדה אחת.',
correctInvalidOne: 'תקן או הסר {{count}} כתובת URL לא חוקית לפני שתמשיך.', correctInvalidOne: 'תקן או הסר {{count}} כתובת URL לא תקינה לפני שתמשיך.',
correctInvalidFew: 'תקן או הסר {{count}} כתובות URL לא חוקיות לפני שתמשיך.', correctInvalidFew: 'תקן או הסר {{count}} כתובות URL לא תקינות לפני שתמשיך.',
correctInvalidMany: 'תקן או הסר {{count}} כתובות URL לא חוקיות לפני שתמשיך.', correctInvalidMany: 'תקן או הסר {{count}} כתובות URL לא תקינות לפני שתמשיך.',
waitingForMetadataOne: 'ממתין למטא נתונים עבור {{count}} הורדה.', waitingForMetadataOne: 'ממתין למטא נתונים עבור {{count}} הורדה.',
waitingForMetadataFew: 'ממתין למטא נתונים עבור {{count}} הורדות.', waitingForMetadataFew: 'ממתין למטא נתונים עבור {{count}} הורדות.',
waitingForMetadataMany: 'ממתין למטא נתונים עבור {{count}} הורדות.', waitingForMetadataMany: 'ממתין למטא נתונים עבור {{count}} הורדות.',
@@ -512,12 +512,12 @@ const he = {
}, },
common: { common: {
thisOs: 'מערכת הפעלה זו', thisOs: 'מערכת הפעלה זו',
checking: 'בודק...', checking: 'בודק',
ready: 'מוכן', ready: 'מוכן',
errorMissing: 'שגיאה / חסר', errorMissing: 'שגיאה / חסר',
hideTechnicalDetails: 'הסתרת פרטים טכניים', hideTechnicalDetails: 'הסתרת פרטים טכניים',
showTechnicalDetails: 'הצגת פרטים טכניים', showTechnicalDetails: 'הצגת פרטים טכניים',
binary: 'קובץ בינארי (Binary)', binary: 'קובץ בינארי',
expected: 'צפוי', expected: 'צפוי',
error: 'שגיאה', error: 'שגיאה',
tip: 'טיפ', tip: 'טיפ',
@@ -632,7 +632,7 @@ const he = {
locations: { locations: {
baseDownloadFolder: 'תיקיית הורדות בסיסית', baseDownloadFolder: 'תיקיית הורדות בסיסית',
baseDownloadFolderDescription: 'תיקיות קטגוריה אוטומטיות נוצרות בתוך תיקייה זו.', baseDownloadFolderDescription: 'תיקיות קטגוריה אוטומטיות נוצרות בתוך תיקייה זו.',
browse: 'עיון', browse: 'עיון',
baseFolderCreateFailed: 'תיקיית הבסיס נשמרה, אך לא ניתן היה ליצור תיקיות קטגוריה: {{detail}}', baseFolderCreateFailed: 'תיקיית הבסיס נשמרה, אך לא ניתן היה ליצור תיקיות קטגוריה: {{detail}}',
baseFolderUpdated: 'תיקיית הורדות בסיסית עודכנה', baseFolderUpdated: 'תיקיית הורדות בסיסית עודכנה',
askWhereToSave: 'שאל היכן לשמור בעת הוספת הורדות', askWhereToSave: 'שאל היכן לשמור בעת הוספת הורדות',
@@ -732,7 +732,7 @@ const he = {
updates: 'עדכונים', updates: 'עדכונים',
checkForUpdates: 'בדוק עדכונים', checkForUpdates: 'בדוק עדכונים',
updateDescription: 'Firelink בודק מהדורות ב-GitHub עבור גרסאות חדשות.', updateDescription: 'Firelink בודק מהדורות ב-GitHub עבור גרסאות חדשות.',
checking: 'בודק...', checking: 'בודק',
checkNow: 'בדוק כעת', checkNow: 'בדוק כעת',
automaticUpdates: 'בדוק עדכונים אוטומטית', automaticUpdates: 'בדוק עדכונים אוטומטית',
createdBy: 'נוצר על ידי NimBold', createdBy: 'נוצר על ידי NimBold',
+168 -168
View File
@@ -13,7 +13,7 @@ const ru = {
compressed: 'Архивы', compressed: 'Архивы',
documents: 'Документы', documents: 'Документы',
pictures: 'Изображения', pictures: 'Изображения',
applications: 'Приложения', applications: 'Программы',
other: 'Другое', other: 'Другое',
}, },
folders: 'Папки', folders: 'Папки',
@@ -32,7 +32,7 @@ const ru = {
continue: 'Продолжить', continue: 'Продолжить',
dismissNotification: 'Закрыть уведомление', dismissNotification: 'Закрыть уведомление',
queueName: 'Название очереди', queueName: 'Название очереди',
addNewQueue: 'Добавить очередь', addNewQueue: 'Добавить новую очередь',
startQueue: 'Запустить очередь', startQueue: 'Запустить очередь',
pauseQueue: 'Приостановить очередь', pauseQueue: 'Приостановить очередь',
renameQueue: 'Переименовать очередь', renameQueue: 'Переименовать очередь',
@@ -55,7 +55,7 @@ const ru = {
title: 'Удалить загрузку', title: 'Удалить загрузку',
confirmationSingle: 'Вы действительно хотите удалить этот элемент из списка? Вы также можете удалить файл с диска.', confirmationSingle: 'Вы действительно хотите удалить этот элемент из списка? Вы также можете удалить файл с диска.',
confirmationMultiple: 'Вы действительно хотите удалить выбранные элементы ({{count}}) из списка? Вы также можете удалить файлы с диска.', confirmationMultiple: 'Вы действительно хотите удалить выбранные элементы ({{count}}) из списка? Вы также можете удалить файлы с диска.',
errorSummary: 'Успешно удалено: {{succeeded}}, с ошибкой: {{failed}}: {{detail}}', errorSummary: 'Удалено {{succeeded}}, с ошибкой {{failed}}: {{detail}}',
remove: 'Удалить', remove: 'Удалить',
deleteFile: 'Удалить файл', deleteFile: 'Удалить файл',
}, },
@@ -68,10 +68,10 @@ const ru = {
}, },
downloads: { downloads: {
actions: { actions: {
moveUp: 'Вверх', moveUp: 'Переместить вверх',
moveDown: 'Вниз', moveDown: 'Переместить вниз',
pause: ауза', pause: риостановить',
start: 'Старт', start: 'Запустить',
resume: 'Возобновить', resume: 'Возобновить',
options: 'Параметры', options: 'Параметры',
}, },
@@ -108,7 +108,7 @@ const ru = {
globalLimitSaved: 'Общее ограничение сохранено: {{value}} {{unit}}', globalLimitSaved: 'Общее ограничение сохранено: {{value}} {{unit}}',
globalLimitDisabled: 'Общее ограничение скорости отключено', globalLimitDisabled: 'Общее ограничение скорости отключено',
saveFailed: 'Не удалось сохранить общее ограничение скорости: {{detail}}', saveFailed: 'Не удалось сохранить общее ограничение скорости: {{detail}}',
presetAlreadyExists: 'Пресет {{value}} {{unit}} уже существует в быстрых пресетах', presetAlreadyExists: 'Пресет {{value}} {{unit}} уже есть в быстрых пресетах',
presetAdded: 'Добавлен быстрый пресет {{value}} {{unit}}', presetAdded: 'Добавлен быстрый пресет {{value}} {{unit}}',
presetRemoved: 'Удалён быстрый пресет {{value}} {{unit}}', presetRemoved: 'Удалён быстрый пресет {{value}} {{unit}}',
}, },
@@ -132,9 +132,9 @@ const ru = {
exportButton: 'Экспортировать журнал', exportButton: 'Экспортировать журнал',
logFiles: 'Файлы журнала', logFiles: 'Файлы журнала',
localDiagnostics: 'Локальная диагностика:', localDiagnostics: 'Локальная диагностика:',
diagnosticsDescription: 'Сбор диагностики выполняется с вашего согласия, ограничен по объёму и хранится локально. Секретные данные, параметры URL и пути к домашнему каталогу скрываются при отображении и экспорте. Никакие данные не отправляются автоматически.', diagnosticsDescription: 'Сбор диагностики выполняется по желанию, ограничен по объёму и хранится локально. Конфиденциальные данные, параметры URL и пути к домашней папке скрываются при отображении и экспорте. Никакие данные не отправляются автоматически.',
noEntries: 'Сохранённых записей журнала пока нет.', noEntries: 'Сохранённых записей журнала пока нет.',
disabledDescription: 'Ведение журнала диагностики отключено. Сохранённые логи появятся здесь при их наличии.', disabledDescription: 'Ведение журнала диагностики отключено. Существующие логи поддержки появятся здесь при наличии.',
copy: 'Копировать', copy: 'Копировать',
copied: 'Скопировано в буфер обмена', copied: 'Скопировано в буфер обмена',
copyFailed: 'Не удалось скопировать в буфер обмена', copyFailed: 'Не удалось скопировать в буфер обмена',
@@ -142,29 +142,29 @@ const ru = {
exportFailed: 'Не удалось экспортировать журнал: {{detail}}', exportFailed: 'Не удалось экспортировать журнал: {{detail}}',
cleared: 'Журнал очищен', cleared: 'Журнал очищен',
clearFailed: 'Не удалось очистить журнал: {{detail}}', clearFailed: 'Не удалось очистить журнал: {{detail}}',
enabled: 'Ведение журнала включено', enabled: 'Ведение журнала диагностики включено',
disabled: 'Ведение журнала отключено', disabled: 'Ведение журнала диагностики отключено',
updateFailed: 'Не удалось обновить параметры ведения журнала: {{detail}}', updateFailed: 'Не удалось обновить ведение журнала диагностики: {{detail}}',
}, },
scheduler: { scheduler: {
title: 'Планировщик', title: 'Планировщик',
running: 'Работает', running: 'Работает',
disabled: 'Планировщик отключен', disabled: 'Планировщик отключён',
noScheduledDay: 'Дни выполнения не выбраны', noScheduledDay: 'Дни выполнения не выбраны',
unsavedChanges: 'Несохранённые изменения', unsavedChanges: 'Несохранённые изменения',
runNow: 'Запустить сейчас', runNow: 'Запустить сейчас',
pause: 'Приостановить', pause: 'Приостановить',
saveSettings: 'Сохранить настройки', saveSettings: 'Сохранить настройки',
timing: 'Время работы', timing: 'Расписание',
startTime: 'Время начала', startTime: 'Время начала',
stopTime: 'Время окончания', stopTime: 'Время окончания',
timingDescription: 'Если компьютер находится в спящем режиме во время запуска, Firelink запустит выбранные очереди после пробуждения в этот же день, если время окончания ещё не наступило.', timingDescription: 'Если Firelink находится в спящем режиме во время запуска, он запустит выбранные очереди после пробуждения в этот же день, если время окончания ещё не наступило.',
runEveryDay: 'Запускать каждый день', runEveryDay: 'Запускать каждый день',
queuesToSchedule: 'Очереди для запуска', queuesToSchedule: 'Очереди для запуска',
defaultQueue: 'Очередь по умолчанию', defaultQueue: 'Очередь по умолчанию',
afterCompletion: 'После завершения', afterCompletion: 'После завершения',
afterCompletionDescription: 'Выберите действие после завершения загрузок, запущенных планировщиком.', afterCompletionDescription: 'Выберите действие после завершения загрузок, запущенных планировщиком.',
actionWarning: 'Это действие может прервать работу других программ. Firelink выполнит его сразу после завершения запланированной очереди.', actionWarning: 'Это действие может прервать работу других программ на компьютере. Firelink выполнит его сразу после завершения запланированной очереди.',
systemPermissions: 'Системные разрешения', systemPermissions: 'Системные разрешения',
macPermissionDescription: 'Для перехода в спящий режим, перезагрузки и выключения требуется разрешение macOS «Автоматизация» для System Events.', macPermissionDescription: 'Для перехода в спящий режим, перезагрузки и выключения требуется разрешение macOS «Автоматизация» для System Events.',
permissionGranted: 'Разрешение «Автоматизация» предоставлено', permissionGranted: 'Разрешение «Автоматизация» предоставлено',
@@ -173,20 +173,20 @@ const ru = {
revokePermission: 'Отозвать разрешение', revokePermission: 'Отозвать разрешение',
grantPermission: 'Предоставить разрешение', grantPermission: 'Предоставить разрешение',
permissionAvailable: 'Разрешение «Автоматизация» доступно.', permissionAvailable: 'Разрешение «Автоматизация» доступно.',
permissionMissingDetails: 'Отсутствует разрешение «Автоматизация». Включите Firelink в разделе «Системные настройки» > «Конфиденциальность и безопасность» > «Автоматизация» для System Events.', permissionMissingDetails: 'Отсутствует разрешение «Автоматизация». В Системных настройках откройте раздел «Автоматизация» для System Events и включите Firelink.',
revokePermissionDetails: 'macOS не позволяет отзывать разрешение «Автоматизация» напрямую из приложения. Отключите доступ к System Events в Системных настройках, затем вернитесь в Firelink.', revokePermissionDetails: 'macOS не позволяет отзывать разрешение «Автоматизация» напрямую из Firelink. Отключите доступ Firelink к System Events в Системных настройках, затем вернитесь в Firelink.',
requestingPermission: 'Запрос разрешения «Автоматизация»…', requestingPermission: 'Запрос разрешения «Автоматизация»…',
enablePermissionDetails: 'Включите Firelink в разделе «Системные настройки» > «Автоматизация» для System Events, затем вернитесь в Firelink.', enablePermissionDetails: 'В Системных настройках откройте раздел «Автоматизация» для System Events и включите Firelink, затем вернитесь в Firelink.',
systemActions: 'Системные действия', systemActions: 'Системные действия',
windowsActionsDescription: 'Спящий режим, перезагрузка и выключение используют системные привилегии Windows. При выполнении Firelink сообщит, если действие не удалось.', windowsActionsDescription: 'Спящий режим, перезагрузка и выключение используют системные привилегии Windows. Firelink сообщит о любых отклонённых действиях при их запуске; постоянное разрешение заранее не запрашивается.',
linuxActionsDescription: 'Спящий режим, перезагрузка и выключение используют системные службы Linux. При выполнении Firelink сообщит, если действие не удалось.', linuxActionsDescription: 'Спящий режим, перезагрузка и выключение используют системную политику и рабочий стол Linux. Firelink сообщит о любых отклонённых действиях при их запуске; постоянное разрешение заранее не запрашивается.',
validationDay: 'Выберите хотя бы один день для планировщика', validationDay: 'Выберите хотя бы один день для планировщика',
validationQueue: 'Выберите хотя бы одну очередь для планировщика', validationQueue: 'Выберите хотя бы одну очередь для планировщика',
validationStopTime: 'Время окончания должно быть позже времени начала', validationStopTime: 'Время окончания должно быть позже времени начала',
saved: 'Настройки планировщика сохранены', saved: 'Настройки планировщика сохранены',
trackingOne: 'Отслеживается 1 запланированная загрузка', trackingOne: 'Отслеживается 1 запланированная загрузка',
trackingMany: 'Отслеживается {{count}} запланированных загрузок', trackingMany: 'Отслеживается {{count}} запланированных загрузок',
noStartableDownloads: 'В выбранных очередях нет загрузок для запуска', noStartableDownloads: 'В выбранных очередях нет загрузок, которые можно запустить',
pausedOne: 'Приостановлена 1 активная загрузка', pausedOne: 'Приостановлена 1 активная загрузка',
pausedMany: 'Приостановлено {{count}} активных загрузок', pausedMany: 'Приостановлено {{count}} активных загрузок',
noActiveDownloads: 'Нет активных загрузок', noActiveDownloads: 'Нет активных загрузок',
@@ -220,25 +220,25 @@ const ru = {
lastError: 'Последняя ошибка', lastError: 'Последняя ошибка',
saved: ' (сохранено)', saved: ' (сохранено)',
defaultValue: ' (по умолчанию)', defaultValue: ' (по умолчанию)',
savedTooltip: 'Сохранено для этой загрузки. Изменения в Настройках будут применяться только к новым загрузкам.', savedTooltip: 'Сохранено для этой загрузки. Изменения в Настройках будут применяться к новым загрузкам.',
defaultTooltip: 'Используется значение по умолчанию для новых загрузок.', defaultTooltip: 'Используется текущее значение по умолчанию для новых загрузок.',
identityReadOnly: 'Параметры файла доступны только для чтения. Настройки передачи сохранены для повторного скачивания.', identityReadOnly: 'Идентификация файла доступна только для чтения. Настройки передачи сохранены для повторного скачивания.',
transferSettings: 'Настройки передачи можно изменить после приостановки или остановки. Текущие загрузки продолжат использовать существующие параметры.', transferSettings: 'Настройки передачи можно изменить после остановки или приостановки. Текущие загрузки сохраняют свои параметры.',
download: 'Загрузка', download: 'Загрузка',
url: 'URL', url: 'URL',
fileName: 'Имя файла', fileName: 'Имя файла',
saveLocation: 'Папка для сохранения', saveLocation: 'Место сохранения',
select: 'Выбрать', select: 'Выбрать',
perFile: 'на файл', perFile: 'на файл',
useCurrentDefault: 'По умолчанию ({{count}})', useCurrentDefault: 'По умолчанию ({{count}})',
savedPerDownload: 'Индивидуально для загрузки. Настройки по умолчанию применяются к новым загрузкам.', savedPerDownload: 'Сохранено для этой загрузки. Значение из Настроек применяется к новым загрузкам.',
limit: 'Ограничение', limit: 'Ограничение',
siteLogin: 'Авторизация на сайте', siteLogin: 'Авторизация на сайте',
siteLoginRedownload: 'Авторизация для повторного скачивания', siteLoginRedownload: 'Авторизация для повторного скачивания',
matchingSiteLogin: 'Сохранённые учётные данные', matchingSiteLogin: 'Учётные данные сайта',
customCredentials: 'Другие учётные данные', customCredentials: 'Пользовательские учётные данные',
noLogin: 'Без авторизации', noLogin: 'Без авторизации',
useSavedLogin: 'Будет использован сохранённый логин, если доступен.', useSavedLogin: 'Будет использован сохранённый логин, если он доступен.',
advancedTransfer: 'Дополнительные параметры', advancedTransfer: 'Дополнительные параметры',
advancedTransferRedownload: 'Дополнительные параметры повторного скачивания', advancedTransferRedownload: 'Дополнительные параметры повторного скачивания',
checksum: 'Контрольная сумма', checksum: 'Контрольная сумма',
@@ -261,7 +261,7 @@ const ru = {
stores: { stores: {
portable: 'портативная папка Firelink', portable: 'портативная папка Firelink',
windows: 'Диспетчер учётных данных Windows', windows: 'Диспетчер учётных данных Windows',
linux: 'системное хранилище Linux', linux: 'хранилище учётных данных Linux',
macos: 'Связка ключей macOS', macos: 'Связка ключей macOS',
system: 'системное хранилище учётных данных', system: 'системное хранилище учётных данных',
siteCredentials: 'системное хранилище учётных данных', siteCredentials: 'системное хранилище учётных данных',
@@ -269,58 +269,58 @@ const ru = {
grantLabelPortable: 'Продолжить', grantLabelPortable: 'Продолжить',
grantLabelMacos: 'Предоставить доступ', grantLabelMacos: 'Предоставить доступ',
grantLabelDefault: 'Включить защищённое хранилище', grantLabelDefault: 'Включить защищённое хранилище',
description: 'Firelink использует расширение браузера для перехвата загрузок. Чтобы расширение оставалось привязанным после перезапуска, Firelink сохраняет токен сопряжения в {{pairingStore}}. Сохранённые учётные данные сайтов хранятся в {{siteCredentialStore}}.', description: 'Firelink использует расширение браузера для перехвата загрузок. Чтобы расширение оставалось привязанным после перезапуска, Firelink сохраняет токен сопряжения в {{pairingStore}}. Дополнительные учётные данные сайтов хранятся в {{siteCredentialStore}}.',
portableExplanation: 'Токен сопряжения сохраняется в этой папке. Учётные данные сайтов остаются в системном хранилище; при предоставлении доступа может появиться системный запрос.', portableExplanation: 'Токен сопряжения переносится вместе с этой папкой. Учётные данные сайтов остаются в системном хранилище; после предоставления доступа может появиться системный запрос.',
macosExplanation: 'macOS может запросить разрешение на доступ к Связке ключей.', macosExplanation: 'macOS может показать запрос Связки ключей после предоставления доступа.',
defaultExplanation: 'Обычно доступ предоставляется автоматически. Если служба учётных данных недоступна, Firelink покажет ошибку, и расширение останется привязанным только на текущий сеанс.', defaultExplanation: 'Обычно это происходит незаметно. Если служба учётных данных недоступна, Firelink покажет ошибку здесь, и расширение останется привязанным только на текущий сеанс.',
note: 'Примечание:', note: 'Примечание:',
portableNote: 'В портативном режиме в папке сохраняется только токен сопряжения. Пароли сайтов и учётные данные браузера не копируются.', portableNote: 'В портативном режиме в этой папке сохраняется только токен сопряжения. Пароли сайтов и учётные данные браузера не копируются.',
defaultNote: 'Firelink создаёт только собственную изолированную запись и не имеет доступа к другим вашим паролям.', defaultNote: 'Firelink создаёт только собственную изолированную запись учётных данных. Приложение не имеет доступа к другим сохранённым паролям вашей системы.',
hint: 'Подсказка:', hint: 'Подсказка:',
portableHint: 'Портативный токен сопряжения уже сохранён в этой папке. Вы можете включить хранилище сейчас или нажать «Позже».', portableHint: 'Портативный токен сопряжения уже сохранён в этой папке. Вы можете включить его здесь или выбрать «Позже».',
defaultHint: 'Если вы нажмёте «Позже», интеграция с браузером будет работать только во время текущего сеанса.', defaultHint: 'Если вы выберете «Позже», расширение будет работать только во время текущего сеанса.',
enableFromSettings: 'Вы можете включить хранилище в любое время в меню «Настройки» > «Интеграции».', enableFromSettings: 'Вы можете включить хранилище в любое время в меню «Настройки» > «Интеграции».',
later: 'Позже', later: 'Позже',
enabling: 'Включение…', enabling: 'Включение…',
timeout: 'Время ожидания ответа хранилища истекло. Нажмите «Позже» и попробуйте снова.', timeout: 'Время ожидания запроса к хранилищу учётных данных истекло. Вы можете выбрать «Позже» и попробовать снова.',
unavailable: 'Хранилище {{store}} недоступно.', unavailable: 'Хранилище {{store}} недоступно.',
accessRequired: 'Предоставьте доступ к хранилищу учётных данных перед созданием нового токена.', accessRequired: 'Предоставьте доступ к хранилищу учётных данных перед повторной генерацией токена сопряжения.',
storeUnavailable: 'Доступ к хранилищу учётных данных недоступен.', storeUnavailable: 'Доступ к хранилищу учётных данных недоступен.',
}, },
app: { app: {
loading: 'Загрузка…', loading: 'Загрузка…',
settingsSaveFailed: 'Не удалось сохранить настройки. Проверьте права доступа к папке и попробуйте снова.', settingsSaveFailed: 'Не удалось сохранить настройки. Проверьте разрешения хранилища и попробуйте снова.',
systemActionCountdown: '{{action}} через 10 секунд.', systemActionCountdown: '{{action}} через 10 секунд.',
systemActionCancelled: 'Системное действие отменено, так как есть активные или запланированные загрузки.', systemActionCancelled: 'Системное действие отменено, так как есть активная или запланированная загрузка.',
systemActionFailed: 'Не удалось выполнить запланированное действие: {{detail}}', systemActionFailed: 'Не удалось выполнить запланированное системное действие: {{detail}}',
downloadCompleteTitle: 'Загрузка завершена', downloadCompleteTitle: 'Загрузка завершена',
downloadCompleteBody: 'Загрузка {{fileName}} завершена.', downloadCompleteBody: 'Загрузка {{fileName}} завершена.',
unknownFile: 'Файл', unknownFile: 'Файл',
downloadFailedTitle: 'Ошибка загрузки', downloadFailedTitle: 'Ошибка загрузки',
downloadFailedBody: 'Не удалось загрузить {{fileName}}.', downloadFailedBody: 'Не удалось загрузить {{fileName}}.',
initializeDownloadsFailed: 'Не удалось загрузить сохранённый список скачиваний: {{detail}}', initializeDownloadsFailed: 'Не удалось инициализировать сохранённые загрузки: {{detail}}',
extensionDisconnected: 'Расширение браузера отключено, так как токен сопряжения изменился.', extensionDisconnected: 'Расширение браузера отключено, так как его токен сопряжения изменился.',
copyToken: 'Скопировать токен', copyToken: 'Скопировать токен',
integrations: 'Интеграции', integrations: 'Интеграции',
copyTokenFailed: 'Не удалось скопировать токен сопряжения: {{detail}}', copyTokenFailed: 'Не удалось скопировать токен сопряжения: {{detail}}',
credentialPersistenceFailed: 'Безопасное сохранение учётных данных недоступно. Сопряжение с браузером работает только в текущем сеансе: {{detail}}', credentialPersistenceFailed: 'Безопасное сохранение учётных данных недоступно. Сопряжение с браузером работает только в текущем сеансе: {{detail}}',
resumeDownloadsFailed: 'Не удалось возобновить загрузки: {{detail}}', resumeDownloadsFailed: 'Не удалось возобновить сохранённые загрузки: {{detail}}',
updateAvailable: 'Доступна новая версия Firelink {{version}}.', updateAvailable: 'Доступна Firelink {{version}}.',
viewRelease: 'Просмотреть релиз', viewRelease: 'Просмотреть релиз',
sleepPreventionFailed: 'Не удалось обновить запрет спящего режима: {{detail}}', sleepPreventionFailed: 'Не удалось обновить предотвращение перехода в спящий режим: {{detail}}',
schedulerNoQueues: 'В планировщике не выбрано ни одной очереди. Проверьте настройки планировщика.', schedulerNoQueues: 'В планировщике не выбраны действительные очереди. Обновите настройки планировщика.',
schedulerPauseOneFailed: 'Планировщик не смог приостановить 1 загрузку.', schedulerPauseOneFailed: 'Планировщик не смог приостановить 1 загрузку.',
schedulerPauseManyFailed: 'Планировщик не смог приостановить {{count}} загрузок.', schedulerPauseManyFailed: 'Планировщик не смог приостановить {{count}} загрузок.',
scheduledIncomplete: 'Не все запланированные загрузки были завершены. Системное действие отменено.', scheduledIncomplete: 'Не все запланированные загрузки были завершены. Системное действие после завершения очереди пропущено.',
scheduledActionSkippedActive: 'Системное действие пропущено, так как есть активные или запланированные загрузки.', scheduledActionSkippedActive: 'Запланированное системное действие пропущено, так как есть активная или находящаяся в очереди загрузка.',
notificationsDisabled: 'Системные уведомления отключены для Firelink.', notificationsDisabled: 'Системные уведомления отключены для Firelink.',
notificationsFailed: 'Не удалось настроить уведомления: {{detail}}', notificationsFailed: 'Не удалось настроить уведомления: {{detail}}',
}, },
sidebar: { sidebar: {
deleteQueueConfirm: 'Удалить очередь «{{name}}»? Незавершённые загрузки будут перемещены в Главную очередь.', deleteQueueConfirm: 'Удалить очередь «{{name}}»? Её незавершённые загрузки будут перемещены в Главную очередь.',
deleteQueueFailed: 'Не удалось удалить очередь: {{detail}}', deleteQueueFailed: 'Не удалось удалить очередь: {{detail}}',
queueNameEmpty: 'Имя очереди не может быть пустым', queueNameEmpty: 'Название очереди не может быть пустым',
queueNameExists: 'Очередь с таким именем уже существует', queueNameExists: 'Очередь с таким названием уже существует',
startQueueFailed: 'Не удалось запустить очередь: {{detail}}', startQueueFailed: 'Не удалось запустить очередь: {{detail}}',
pauseQueueFailed: 'Не удалось приостановить очередь: {{detail}}', pauseQueueFailed: 'Не удалось приостановить очередь: {{detail}}',
}, },
@@ -339,12 +339,12 @@ const ru = {
dateAdded: 'Дата добавления', dateAdded: 'Дата добавления',
}, },
columnOptions: { columnOptions: {
open: 'Параметры столбца: {{column}}', open: 'Параметры столбца «{{column}}»',
dragToReorder: 'Перетащите, чтобы изменить порядок столбцов', dragToReorder: 'Перетащите для изменения порядка столбцов',
alignContent: 'Положение содержимого', alignContent: 'Выравнивание содержимого',
left: 'Слева', left: 'По левому краю',
center: 'По центру', center: 'По центру',
right: 'Справа', right: 'По правому краю',
resetLayout: 'Сбросить макет столбцов', resetLayout: 'Сбросить макет столбцов',
}, },
addDownload: 'Добавить загрузку', addDownload: 'Добавить загрузку',
@@ -353,16 +353,16 @@ const ru = {
queueEmpty: 'Очередь пуста', queueEmpty: 'Очередь пуста',
noCompletedDownloads: 'Нет завершённых загрузок', noCompletedDownloads: 'Нет завершённых загрузок',
noDownloads: 'Нет загрузок', noDownloads: 'Нет загрузок',
queueEmptyDescription: 'Добавляйте загрузки в эту очередь из меню элементов или окна добавления.', queueEmptyDescription: 'Добавьте загрузки в эту очередь из меню элемента или окна добавления.',
completedDescription: 'Завершённые загрузки будут отображаться здесь.', completedDescription: 'Завершённые загрузки будут отображаться здесь.',
clickToAdd: 'Нажмите кнопку', clickToAdd: 'Нажмите кнопку',
addButtonOr: 'или', addButtonOr: 'или',
toAddDownloads: 'чтобы добавить загрузки', toAddDownloads: 'чтобы добавить загрузки',
nonResumableOne: '1 загрузка не поддерживает возобновление. При приостановке её придётся скачивать заново. Вы действительно хотите приостановить?', nonResumableOne: '1 загрузка не поддерживает возобновление. Если вы приостановите её, позже придётся начинать скачивание заново. Вы действительно хотите приостановить?',
nonResumableMany: 'Загрузок без поддержки возобновления: {{count}}. При приостановке их придётся скачивать заново. Вы действительно хотите приостановить?', nonResumableMany: '{{count}} загрузок не поддерживают возобновление. Если вы приостановите их, позже придётся начинать скачивание заново. Вы действительно хотите приостановить?',
interactionError: '{{message}}: {{detail}}', interactionError: '{{message}}: {{detail}}',
openFileFailed: 'Не удалось открыть файл', openFileFailed: 'Не удалось открыть скачанный файл',
revealFileFailed: 'Не удалось показать файл в папке', revealFileFailed: 'Не удалось показать файл в Finder',
pauseFailed: 'Не удалось приостановить загрузку', pauseFailed: 'Не удалось приостановить загрузку',
resumeFailed: 'Не удалось возобновить {{fileName}}', resumeFailed: 'Не удалось возобновить {{fileName}}',
moveManyFailed: 'Не удалось переместить загрузки в очередь', moveManyFailed: 'Не удалось переместить загрузки в очередь',
@@ -384,15 +384,15 @@ const ru = {
redownload: 'Скачать повторно', redownload: 'Скачать повторно',
copyFilePath: 'Скопировать путь к файлу', copyFilePath: 'Скопировать путь к файлу',
properties: 'Свойства', properties: 'Свойства',
backendRejectedStart: 'Запрос на запуск/возобновление отклонён сервером.', backendRejectedStart: 'Фоновый модуль отклонил запрос на запуск/возобновление.',
transferActive: 'Нельзя изменять свойства во время загрузки. Сначала приостановите её.', transferActive: 'Нельзя изменять свойства во время активной передачи. Сначала приостановите её.',
redownloadNotFound: 'Не удалось скачать повторно: загрузка не найдена.', redownloadNotFound: 'Невозможно скачать повторно: загрузка не найдена.',
redownloadActive: 'Нельзя повторно скачать загрузку в статусе «{{status}}». Сначала приостановите её или дождитесь завершения.', redownloadActive: 'Невозможно повторно скачать загрузку в статусе «{{status}}». Сначала приостановите её или дождитесь завершения.',
originalUrlMissing: 'Не удалось скачать повторно: исходный URL отсутствует.', originalUrlMissing: 'Невозможно скачать повторно: исходный URL отсутствует.',
pauseBeforeMove: 'Приостановите {{file}} перед перемещением в другую очередь.', pauseBeforeMove: 'Приостановите {{file}} перед перемещением в другую очередь.',
}, },
addDownloads: { addDownloads: {
unknownSize: 'Размер неизвестен', unknownSize: 'Неизвестный размер',
unknown: 'Неизвестно', unknown: 'Неизвестно',
discardSetup: 'Отменить настройку этой загрузки?', discardSetup: 'Отменить настройку этой загрузки?',
speedInvalid: 'Ограничение скорости должно быть больше нуля', speedInvalid: 'Ограничение скорости должно быть больше нуля',
@@ -403,22 +403,22 @@ const ru = {
updatedOne: 'Обновлена 1 загрузка', updatedOne: 'Обновлена 1 загрузка',
updatedMany: 'Обновлено {{count}} загрузок', updatedMany: 'Обновлено {{count}} загрузок',
urlAlreadyQueued: 'URL уже находится в очереди', urlAlreadyQueued: 'URL уже находится в очереди',
destinationConflict: 'Другая выбранная загрузка использует ту же папку назначения', destinationConflict: 'Другая выбранная загрузка использует это место назначения',
existingDownloadDestination: 'Существующая загрузка Firelink использует эту папку назначения', existingDownloadDestination: 'Существующая загрузка Firelink использует эту папку назначения',
matchingDownloadFilename: 'Незавершённая загрузка уже использует это имя файла', matchingDownloadFilename: 'Незавершённая загрузка уже использует это имя файла',
fileExistsOnDisk: 'Файл уже существует на диске. Переименуйте или пропустите его, чтобы не перезаписать данные.', fileExistsOnDisk: 'Файл уже существует на диске; переименуйте или пропустите его, чтобы не удалить сторонние данные',
backendRejectedStart: 'Сервер отклонил запуск загрузки.', backendRejectedStart: 'Фоновый модуль отклонил запуск загрузки.',
playlistNoEntries: 'Плейлист не содержит доступных элементов', playlistNoEntries: 'Плейлист не содержит доступных элементов',
invalidMediaMetadata: 'Некорректные метаданные медиа или доступные форматы не найдены', invalidMediaMetadata: 'Некорректные метаданные медиа или форматы не найдены',
noAvailableName: 'Не удалось подобрать свободное имя для {{file}}.', noAvailableName: 'Не удалось найти доступное имя для {{file}}.',
pauseBeforeReplace: 'Приостановите {{file}} перед заменой.', pauseBeforeReplace: 'Приостановите {{file}} перед заменой.',
cannotReplace: 'Нельзя заменить {{file}}: файл не относится к загрузкам Firelink.', cannotReplace: 'Невозможно заменить {{file}}: файл не принадлежит загрузке Firelink.',
downloadLinks: 'Ссылки для скачивания', downloadLinks: 'Ссылки для скачивания',
pastePlaceholder: 'Вставьте URL-адреса HTTP, HTTPS, FTP или SFTP…\n\nДля загрузки медиа поддерживаются ссылки с YouTube, X, TikTok, Instagram, Reddit и др.', pastePlaceholder: 'Вставьте сюда URL-адреса HTTP, HTTPS, FTP или SFTP…\n\nДля загрузки медиа вставляйте ссылки с YouTube, X, TikTok, Instagram, Reddit и т. д.',
playlistSummary: 'Плейлист «{{title}}»: загружено {{loaded}} из {{total}} элементов{{truncated}}{{skipped}}', playlistSummary: 'Плейлист «{{title}}»: загружено {{loaded}} из {{total}} элементов{{truncated}}{{skipped}}',
safeEntryLimit: ' (достигнут лимит)', safeEntryLimit: ' (достигнут безопасный лимит элементов)',
selectedSummary: 'Выбрано: {{ready}} готовых, {{fallback}} с базовыми данными, {{mediaRetry}} повторных медиа, {{blocked}} заблокированных', selectedSummary: 'Выбрано: {{ready}} готовых, {{fallback}} с резервными данными, {{mediaRetry}} повторов медиа, {{blocked}} заблокировано',
clearSelection: 'Сбросить выбор', clearSelection: 'Очистить выбор',
selectAll: 'Выбрать все', selectAll: 'Выбрать все',
refreshMetadata: 'Обновить метаданные', refreshMetadata: 'Обновить метаданные',
files: 'Файлы', files: 'Файлы',
@@ -436,7 +436,7 @@ const ru = {
unsafeUrl: 'Небезопасный URL', unsafeUrl: 'Небезопасный URL',
playlistFailed: 'Ошибка плейлиста', playlistFailed: 'Ошибка плейлиста',
metadataFailed: 'Ошибка метаданных', metadataFailed: 'Ошибка метаданных',
fallback: 'Базовые данные', fallback: 'Резервный режим',
invalid: 'Некорректный', invalid: 'Некорректный',
ready: 'Готово', ready: 'Готово',
mediaFormat: 'Формат медиа', mediaFormat: 'Формат медиа',
@@ -444,18 +444,18 @@ const ru = {
fetchingMediaStreams: 'Получение медиапотоков…', fetchingMediaStreams: 'Получение медиапотоков…',
availableStreams: 'Доступные потоки', availableStreams: 'Доступные потоки',
availableMediaStreams: 'Доступные медиапотоки', availableMediaStreams: 'Доступные медиапотоки',
metadataUnavailable: 'Метаданные недоступны. Обновите метаданные перед добавлением.', metadataUnavailable: 'Метаданные недоступны. Обновите метаданные перед добавлением этого медиа.',
saveLocation: 'Папка для сохранения', saveLocation: 'Папка сохранения',
browse: 'Обзор…', browse: 'Обзор…',
categoryFolders: 'Файлы будут распределены по папкам категорий.', categoryFolders: 'Файлы будут распределены по папкам категорий.',
sharedFolder: 'Все выбранные загрузки будут сохранены в эту папку.', sharedFolder: 'Все выбранные загрузки будут использовать эту папку.',
dedicatedFolder: 'Сохранить в отдельную папку', dedicatedFolder: 'Сохранить в новую папку',
dedicatedFolderName: 'Имя папки', dedicatedFolderName: 'Имя папки',
dedicatedFolderDescription: 'Создаёт эту папку внутри каждой автоматической папки категории.', dedicatedFolderDescription: 'Создаёт эту папку внутри каждой автоматической папки категории.',
dedicatedFolderManualDescription: 'Создаёт эту папку внутри выбранной папки сохранения.', dedicatedFolderManualDescription: 'Создаёт эту папку внутри выбранного места сохранения.',
saveFolderName: 'Имя папки сохранения', saveFolderName: 'Имя папки сохранения',
dedicatedFolderNameRequired: 'Введите имя папки перед сохранением.', dedicatedFolderNameRequired: 'Введите имя папки перед сохранением.',
transferSettings: 'Параметры передачи', transferSettings: 'Настройки передачи',
connectionsPerFile: 'Соединений на файл', connectionsPerFile: 'Соединений на файл',
connectionsPerFileAria: 'Соединений на файл', connectionsPerFileAria: 'Соединений на файл',
limitSpeedPerFile: 'Ограничить скорость на файл', limitSpeedPerFile: 'Ограничить скорость на файл',
@@ -466,7 +466,7 @@ const ru = {
password: 'Пароль', password: 'Пароль',
advancedTransfer: 'Дополнительные параметры', advancedTransfer: 'Дополнительные параметры',
verifyChecksum: 'Проверять контрольную сумму', verifyChecksum: 'Проверять контрольную сумму',
checksumAlgorithm: 'Алгоритм хеширования', checksumAlgorithm: 'Алгоритм контрольной суммы',
expectedDigest: 'Ожидаемый хеш', expectedDigest: 'Ожидаемый хеш',
headers: 'Заголовки', headers: 'Заголовки',
requestHeaders: 'Заголовки запроса', requestHeaders: 'Заголовки запроса',
@@ -487,13 +487,13 @@ const ru = {
removeUnsafeOne: 'Удалите {{count}} небезопасный URL-адрес перед продолжением.', removeUnsafeOne: 'Удалите {{count}} небезопасный URL-адрес перед продолжением.',
removeUnsafeFew: 'Удалите {{count}} небезопасных URL-адреса перед продолжением.', removeUnsafeFew: 'Удалите {{count}} небезопасных URL-адреса перед продолжением.',
removeUnsafeMany: 'Удалите {{count}} небезопасных URL-адресов перед продолжением.', removeUnsafeMany: 'Удалите {{count}} небезопасных URL-адресов перед продолжением.',
mediaMetadataUnavailableSummaryOne: 'Метаданные недоступны для {{count}} элемента. Обновите метаданные перед добавлением.', mediaMetadataUnavailableSummaryOne: 'Метаданные медиа недоступны для {{count}} элемента. Обновите метаданные перед добавлением.',
mediaMetadataUnavailableSummaryFew: 'Метаданные недоступны для {{count}} элементов. Обновите метаданные перед добавлением.', mediaMetadataUnavailableSummaryFew: 'Метаданные медиа недоступны для {{count}} элементов. Обновите метаданные перед добавлением.',
mediaMetadataUnavailableSummaryMany: 'Метаданные недоступны для {{count}} элементов. Обновите метаданные перед добавлением.', mediaMetadataUnavailableSummaryMany: 'Метаданные медиа недоступны для {{count}} элементов. Обновите метаданные перед добавлением.',
metadataUnavailableFallback: 'Метаданные недоступны. Загрузки можно добавить с базовыми параметрами.', metadataUnavailableFallback: 'Метаданные недоступны. Загрузки всё равно можно добавить с резервными данными.',
fallbackReadyOne: 'Готово к добавлению: {{ready}} загрузка; для {{failed}} будет использовано имя по умолчанию и неизвестный размер.', fallbackReadyOne: 'Готова {{ready}} загрузка; для {{failed}} будет использовано резервное имя файла и неизвестный размер.',
fallbackReadyFew: 'Готово к добавлению: {{ready}} загрузки; для {{failed}} будет использовано имя по умолчанию и неизвестный размер.', fallbackReadyFew: 'Готовы {{ready}} загрузки; для {{failed}} будет использовано резервное имя файла и неизвестный размер.',
fallbackReadyMany: 'Готово к добавлению: {{ready}} загрузок; для {{failed}} будет использовано имя по умолчанию и неизвестный размер.', fallbackReadyMany: 'Готово {{ready}} загрузок; для {{failed}} будет использовано резервное имя файла и неизвестный размер.',
readyToAddOne: 'Готово к добавлению: {{count}} загрузка.', readyToAddOne: 'Готово к добавлению: {{count}} загрузка.',
readyToAddFew: 'Готово к добавлению: {{count}} загрузки.', readyToAddFew: 'Готово к добавлению: {{count}} загрузки.',
readyToAddMany: 'Готово к добавлению: {{count}} загрузок.', readyToAddMany: 'Готово к добавлению: {{count}} загрузок.',
@@ -506,7 +506,7 @@ const ru = {
locations: 'Папки', locations: 'Папки',
siteLogins: 'Учётные данные', siteLogins: 'Учётные данные',
power: 'Питание', power: 'Питание',
engine: 'Движки', engine: 'Движок',
integrations: 'Интеграции', integrations: 'Интеграции',
about: 'О программе', about: 'О программе',
}, },
@@ -530,21 +530,21 @@ const ru = {
internalDirectoryFound: 'Каталог _internal найден', internalDirectoryFound: 'Каталог _internal найден',
pythonRuntimeFound: 'Среда выполнения Python найдена', pythonRuntimeFound: 'Среда выполнения Python найдена',
externalOpenFailed: 'Не удалось открыть {{label}}: {{detail}}', externalOpenFailed: 'Не удалось открыть {{label}}: {{detail}}',
updateUnexpectedResponse: олучен неожиданный ответ при проверке обновлений.', updateUnexpectedResponse: роверка обновлений вернула неожиданный ответ.',
updateUntrustedReleaseUrl: 'Проверка обновлений вернула ненадёжный URL.', updateUntrustedReleaseUrl: 'Проверка обновлений вернула ненадёжный URL релиза.',
updateFailed: 'Не удалось проверить обновления: {{detail}}', updateFailed: 'Ошибка проверки обновлений: {{detail}}',
}, },
downloads: { downloads: {
defaultConnections: 'Соединения по умолчанию:', defaultConnections: 'Соединения по умолчанию:',
defaultConnectionsDescription: 'Для новых загрузок; существующие элементы сохраняют своё значение', defaultConnectionsDescription: 'Для новых загрузок; существующие элементы сохраняют своё значение',
parallelDownloads: 'Параллельные загрузки:', parallelDownloads: 'Параллельные загрузки:',
parallelDownloadsDescription: 'Максимальное количество одновременно активных файлов', parallelDownloadsDescription: 'Максимальное число одновременно активных файлов',
automaticRetries: 'Автоматические повторы:', automaticRetries: 'Автоматические повторы:',
automaticRetriesDescription: 'При сбое соединения', automaticRetriesDescription: 'При сбое соединения',
systemNotification: 'Показывать системное уведомление по завершении загрузки', systemNotification: 'Показывать системное уведомление по завершении загрузки',
systemNotificationDescription: 'Использует системные настройки уведомлений', systemNotificationDescription: 'Использует настройки уведомлений вашей операционной системы',
completionChime: 'Воспроизводить звуковой сигнал в приложении', completionChime: 'Воспроизводить звуковой сигнал завершения в приложении',
completionChimeDescription: 'Звук Firelink, независимый от системных уведомлений', completionChimeDescription: 'Дополнительный звук Firelink, независимый от системных уведомлений',
clipboardLinks: 'Добавлять ссылки из буфера обмена при активации Firelink', clipboardLinks: 'Добавлять ссылки из буфера обмена при активации Firelink',
clipboardLinksDescription: 'Открывает скопированные поддерживаемые ссылки в окне добавления. По умолчанию отключено.', clipboardLinksDescription: 'Открывает скопированные поддерживаемые ссылки в окне добавления. По умолчанию отключено.',
}, },
@@ -552,7 +552,7 @@ const ru = {
language: 'Язык', language: 'Язык',
languageDescription: 'Выберите язык интерфейса Firelink.', languageDescription: 'Выберите язык интерфейса Firelink.',
sidebarPosition: 'Положение боковой панели', sidebarPosition: 'Положение боковой панели',
sidebarPositionDescription: 'Выберите расположение боковой панели. В автоматическом режиме зависит от направления текста.', sidebarPositionDescription: 'Выберите, где отображается боковая панель. В автоматическом режиме следует направлению интерфейса.',
sidebarPositionAutomatic: 'Автоматически (рекомендуется)', sidebarPositionAutomatic: 'Автоматически (рекомендуется)',
sidebarPositionLeft: 'Слева', sidebarPositionLeft: 'Слева',
sidebarPositionRight: 'Справа', sidebarPositionRight: 'Справа',
@@ -563,7 +563,7 @@ const ru = {
languagePersian: 'Персидский', languagePersian: 'Персидский',
languageUkrainian: 'Украинский', languageUkrainian: 'Украинский',
languageRussian: 'Русский', languageRussian: 'Русский',
appTheme: 'Тема оформления', appTheme: 'Тема приложения',
theme: 'Тема', theme: 'Тема',
ariaLabel: 'Тема приложения', ariaLabel: 'Тема приложения',
system: 'Системная', system: 'Системная',
@@ -571,7 +571,7 @@ const ru = {
dark: 'Тёмная', dark: 'Тёмная',
dracula: 'Dracula', dracula: 'Dracula',
nord: 'Nord', nord: 'Nord',
systemAppearance: 'Автоматическое переключение между светлой и тёмной темой {{platform}}.', systemAppearance: 'Системная тема соответствует текущему светлому или тёмному оформлению {{platform}}.',
display: 'Отображение', display: 'Отображение',
fontSize: 'Размер шрифта', fontSize: 'Размер шрифта',
fontSizeDescription: 'Масштабирует список загрузок и компактные элементы управления.', fontSizeDescription: 'Масштабирует список загрузок и компактные элементы управления.',
@@ -579,7 +579,7 @@ const ru = {
standard: 'Стандартный', standard: 'Стандартный',
large: 'Крупный', large: 'Крупный',
listDensity: 'Плотность списка', listDensity: 'Плотность списка',
listDensityDescription: 'Изменяет высоту строк, отступы и масштаб индикаторов.', listDensityDescription: 'Изменяет высоту строк, отступы и масштаб индикатора прогресса.',
compact: 'Компактный', compact: 'Компактный',
comfortable: 'Удобный', comfortable: 'Удобный',
relaxed: 'Просторный', relaxed: 'Просторный',
@@ -589,15 +589,15 @@ const ru = {
menuBarIcon: 'Показывать значок в строке меню', menuBarIcon: 'Показывать значок в строке меню',
statusIndicatorIcon: 'Показывать значок состояния', statusIndicatorIcon: 'Показывать значок состояния',
systemTrayIcon: 'Показывать значок в системном трее', systemTrayIcon: 'Показывать значок в системном трее',
macosTrayDescription: 'Быстрый доступ из строки меню macOS.', macosTrayDescription: 'Обеспечивает быстрый доступ из строки меню macOS.',
windowsTrayDescription: 'Быстрый доступ из области уведомлений Windows.', windowsTrayDescription: 'Обеспечивает быстрый доступ из области уведомлений Windows.',
linuxTrayDescription: 'Быстрый доступ из системного трея Linux при наличии.', linuxTrayDescription: 'Обеспечивает быстрый доступ из трея рабочего стола или области состояния Linux (при наличии).',
defaultTrayDescription: 'Быстрый доступ из области системного трея.', defaultTrayDescription: 'Обеспечивает быстрый доступ из области системного трея ОС (при наличии).',
}, },
network: { network: {
proxy: 'Прокси', proxy: 'Прокси',
mode: 'Режим', mode: 'Режим',
modeDescription: 'Управляет использованием прокси для новых загрузок.', modeDescription: 'Управляет использованием прокси для новых запросов на загрузку.',
noProxy: 'Без прокси', noProxy: 'Без прокси',
systemProxy: 'Системный прокси', systemProxy: 'Системный прокси',
customProxy: 'Собственный прокси', customProxy: 'Собственный прокси',
@@ -605,21 +605,21 @@ const ru = {
proxyHostDescription: 'Имя хоста, IP-адрес или URL HTTP-прокси.', proxyHostDescription: 'Имя хоста, IP-адрес или URL HTTP-прокси.',
proxyHostPlaceholder: '127.0.0.1 или http://127.0.0.1', proxyHostPlaceholder: '127.0.0.1 или http://127.0.0.1',
proxyPort: 'Порт прокси', proxyPort: 'Порт прокси',
proxyPortDescription: 'Допустимый диапазон: от 1 до 65535.', proxyPortDescription: 'Допустимый диапазон от 1 до 65535.',
noProxyDescription: 'Загрузки выполняются напрямую без прокси.', noProxyDescription: 'Загрузки игнорируют настроенные прокси.',
systemProxyDescription: 'Загрузки используют системный прокси {{platform}}. Для скачивания файлов требуется HTTP/HTTPS-прокси, для медиа поддерживается SOCKS.', systemProxyDescription: 'Загрузки используют обнаруженный системный прокси {{platform}}. Для обычных загрузок файлов требуется HTTP- или HTTPS-прокси; для загрузки медиа можно использовать SOCKS.',
customProxyDescription: 'Загрузки используют указанный HTTP-прокси для метаданных и скачивания.', customProxyDescription: 'Загрузки используют настроенный HTTP-прокси для получения метаданных и движков скачивания.',
invalidCustomProxy: 'Укажите корректный хост и порт HTTP-прокси.', invalidCustomProxy: 'Введите корректный хост и порт HTTP-прокси, чтобы включить собственный прокси.',
incompleteCustomProxy: 'Введите хост и порт для использования прокси.', incompleteCustomProxy: 'Введите хост и порт прокси, чтобы включить собственный прокси.',
checkingSystemProxy: 'Проверка системного прокси…', checkingSystemProxy: 'Проверка конфигурации системного прокси…',
detectedSystemProxy: 'Обнаружен системный прокси. Для обычных файлов нужен HTTP/HTTPS-прокси, для медиа поддерживается SOCKS.', detectedSystemProxy: 'Обнаружен системный прокси. Для обычных загрузок файлов требуется HTTP- или HTTPS-прокси; для загрузки медиа можно использовать SOCKS.',
noSystemProxy: 'Системный прокси не обнаружен. Загрузки будут выполняться напрямую.', noSystemProxy: 'Подходящий системный прокси не обнаружен. Загрузки будут выполняться без прокси.',
systemProxyReadFailed: 'Не удалось прочитать настройки системного прокси. Выберите «Без прокси» или повторите попытку.', systemProxyReadFailed: 'Не удалось прочитать конфигурацию системного прокси. Выберите «Без прокси» или повторите попытку, когда она станет доступна.',
identity: 'Идентификация', identity: 'Идентификация',
customUserAgent: 'Собственный User-Agent', customUserAgent: 'Собственный User-Agent',
userAgentDescription: 'Применяется при получении метаданных и загрузке файлов.', userAgentDescription: 'Применяется при получении метаданных и работе движков загрузки.',
userAgentPlaceholder: 'Оставьте пустым для использования значения по умолчанию', userAgentPlaceholder: 'Оставьте пустым, чтобы использовать значение Firelink по умолчанию',
userAgentOverrides: 'Переопределяет заголовок User-Agent. Оставьте пустым для значений по умолчанию.', userAgentOverrides: 'Переопределяет исходящий заголовок User-Agent. Оставьте пустым, чтобы использовать значения Firelink по умолчанию.',
chromeWindows: 'Chrome (Windows)', chromeWindows: 'Chrome (Windows)',
chromeMacos: 'Chrome (macOS)', chromeMacos: 'Chrome (macOS)',
edgeWindows: 'Edge (Windows)', edgeWindows: 'Edge (Windows)',
@@ -631,23 +631,23 @@ const ru = {
}, },
locations: { locations: {
baseDownloadFolder: 'Основная папка загрузок', baseDownloadFolder: 'Основная папка загрузок',
baseDownloadFolderDescription: 'Папки категорий создаются внутри этой папки.', baseDownloadFolderDescription: 'Автоматические папки категорий создаются внутри этой папки.',
browse: 'Обзор…', browse: 'Обзор…',
baseFolderCreateFailed: 'Основная папка сохранена, но не удалось создать папки категорий: {{detail}}', baseFolderCreateFailed: 'Основная папка сохранена, но не удалось создать папки категорий: {{detail}}',
baseFolderUpdated: 'Основная папка загрузок обновлена', baseFolderUpdated: 'Основная папка загрузок обновлена',
askWhereToSave: 'Запрашивать папку для сохранения при добавлении загрузок', askWhereToSave: 'Запрашивать место сохранения при добавлении загрузок',
rememberLastUsedDownloadDirectory: 'Запоминать последнюю использованную папку', rememberLastUsedDownloadDirectory: 'Запоминать последнюю использованную папку загрузки',
rememberLastUsedDownloadDirectoryDescription: 'Использовать последнюю выбранную папку для следующих загрузок до перезапуска приложения.', rememberLastUsedDownloadDirectoryDescription: 'Использовать последнюю папку, выбранную в окне добавления, для следующей загрузки до перезапуска приложения.',
automaticCategorySubfolders: 'Автоматически раскладывать файлы по папкам категорий', automaticCategorySubfolders: 'Автоматически сохранять файлы в подпапки категорий',
automaticCategorySubfoldersDescription: 'Если отключено, файлы сохраняются непосредственно в основную папку.', automaticCategorySubfoldersDescription: 'Если отключено, автоматические загрузки используют основную папку.',
categorySubfolders: 'Папки категорий', categorySubfolders: одпапки категорий',
relativeToBase: 'Относительно основной папки', relativeToBase: 'Относительно основной папки',
disabled: 'Отключено', disabled: 'Отключено',
categorySubfolder: 'Папка для категории «{{category}}»', categorySubfolder: одпапка «{{category}}»',
customFolder: 'Другая папка', customFolder: 'Собственная папка',
useAutomatic: 'Автоматически', useAutomatic: 'Автоматически',
resetDefaults: 'Сбросить по умолчанию', resetDefaults: 'Сбросить по умолчанию',
resetToast: 'Настройки папок сброшены к значениям по умолчанию', resetToast: 'Настройки папок категорий сброшены по умолчанию',
}, },
siteLogins: { siteLogins: {
title: 'Учётные данные сайтов', title: 'Учётные данные сайтов',
@@ -656,7 +656,7 @@ const ru = {
deleteCredential: 'Удалить учётные данные', deleteCredential: 'Удалить учётные данные',
deletedCredential: 'Учётные данные удалены', deletedCredential: 'Учётные данные удалены',
deleteFailed: 'Не удалось удалить учётные данные: {{detail}}', deleteFailed: 'Не удалось удалить учётные данные: {{detail}}',
addTitle: 'Добавить логин для сайта', addTitle: 'Добавить учётные данные сайта',
urlPattern: 'Шаблон URL:', urlPattern: 'Шаблон URL:',
urlPatternPlaceholder: 'например *.example.com или example.com/downloads', urlPatternPlaceholder: 'например *.example.com или example.com/downloads',
username: 'Имя пользователя:', username: 'Имя пользователя:',
@@ -665,58 +665,58 @@ const ru = {
passwordPlaceholder: 'Пароль', passwordPlaceholder: 'Пароль',
saving: 'Сохранение…', saving: 'Сохранение…',
addLogin: 'Добавить логин', addLogin: 'Добавить логин',
urlPatternRequired: 'Укажите шаблон URL.', urlPatternRequired: 'Требуется указать шаблон URL.',
urlPatternWhitespace: 'Шаблон URL не должен содержать пробелы.', urlPatternWhitespace: 'Шаблон URL не может содержать пробелы.',
usernameRequired: 'Укажите имя пользователя.', usernameRequired: 'Требуется указать имя пользователя.',
passwordRequired: 'Укажите пароль.', passwordRequired: 'Требуется указать пароль.',
accessBeforeSave: 'Предоставьте доступ к хранилищу учётных данных перед сохранением.', accessBeforeSave: 'Предоставьте доступ к хранилищу учётных данных перед сохранением логина сайта.',
saveFailed: 'Не удалось безопасно сохранить учётные данные.', saveFailed: 'Не удалось безопасно сохранить учётные данные сайта.',
addedCredential: 'Учётные данные добавлены', addedCredential: 'Добавлены учётные данные сайта',
}, },
power: { power: {
title: 'Управление питанием', title: 'Управление питанием',
preventSleep: 'Запрещать переход в спящий режим во время активных загрузок', preventSleep: 'Запрещать спящий режим системы во время активных загрузок',
preventSleepDescription: 'Экран может выключаться. Firelink предотвращает только засыпание компьютера во время скачивания.', preventSleepDescription: 'Экран всё ещё может выключаться. Firelink предотвращает засыпание устройства только настолько, чтобы завершить активные передачи.',
}, },
engine: { engine: {
title: 'Движки скачивания и медиа', title: 'Загрузчик медиа и движки',
description: 'Результаты проверки сохраняются на время сеанса. «Перепроверить» запускает повторную валидацию.', description: 'Успешные результаты используются повторно в течение сеанса приложения. Повторная проверка запускает реальную валидацию заново.',
recheck: 'Перепроверить движки', recheck: 'Перепроверить движки',
coreDownloader: 'Основной модуль скачивания (aria2)', coreDownloader: 'Основной загрузчик (aria2)',
version: 'Версия:', version: 'Версия:',
status: 'Статус:', status: 'Статус:',
mediaExtractors: 'Экстракторы медиа', mediaExtractors: 'Экстракторы медиа',
browserCookiesSource: 'Источник файлов cookie браузера:', browserCookiesSource: 'Источник файлов cookie браузера:',
cookieDescription: 'yt-dlp использует куки браузера для доступа к закрытым видео и обхода ограничений. Firelink не сохраняет куки браузера.', cookieDescription: 'yt-dlp читает файлы cookie браузера для обхода ограничений на загрузку видео или доступа к закрытым медиа. Firelink не сохраняет файлы cookie браузера.',
none: 'Не использовать', none: 'Не использовать',
}, },
integrations: { integrations: {
title: 'Подключение расширения браузера', title: 'Подключение расширения браузера',
description: 'Перехватывайте загрузки из браузера за 3 простых шага.', description: 'Перехватывайте загрузки прямо из браузера за три простых шага.',
portablePairingEnabled: 'Портативное сопряжение включено', portablePairingEnabled: 'Портативное сопряжение включено',
pairingTokenPersisted: 'Токен сопряжения сохранён', pairingTokenPersisted: 'Токен сопряжения сохранён',
portablePersistedDescription: 'Токен сопряжения хранится в этой портативной папке Firelink. При перемещении папки сопряжение сохранится.', portablePersistedDescription: 'Ваш токен сопряжения хранится в этой портативной папке Firelink и сохранится при перемещении папки. Относитесь к папке как к конфиденциальным данным.',
systemPersistedDescription: 'Токен сопряжения сохранён в системном хранилище и сохранится после перезапуска.', systemPersistedDescription: 'Ваш токен сопряжения сохранён в системном хранилище учётных данных и сохранится после перезапуска.',
portablePairingAvailable: 'Доступно портативное сопряжение', portablePairingAvailable: 'Доступно портативное сопряжение',
credentialStorageNeeded: 'Требуется доступ к хранилищу учётных данных', credentialStorageNeeded: 'Требуется доступ к хранилищу учётных данных',
portableAvailableDescription: 'Токен сопряжения сохранён в портативной папке Firelink. Включите его здесь, чтобы ознакомиться с условиями.', portableAvailableDescription: 'Ваш токен сопряжения хранится в этой портативной папке Firelink и сохранится после перезапуска. Включите его здесь, чтобы ознакомиться с предупреждением о портативном хранилище.',
credentialStorageDescription: 'Firelink требуется доступ к системному хранилищу учётных данных для сохранения токена сопряжения между запусками. Без этого расширение будет работать только в текущем сеансе.', credentialStorageDescription: 'Firelink требуется доступ к системному хранилищу учётных данных для безопасного сохранения токена сопряжения между перезапусками приложения. В настоящее время ваше расширение будет оставаться подключённым только на время этого сеанса.',
reviewPortablePairing: 'Проверить портативное сопряжение', reviewPortablePairing: 'Проверить портативное сопряжение',
grantCredentialAccess: 'Предоставить доступ', grantCredentialAccess: 'Предоставить доступ к хранилищу',
copyToken: 'Скопировать токен', copyToken: 'Скопировать токен',
tokenDescription: 'Этот токен используется для авторизации расширения браузера.', tokenDescription: 'Этот защищённый токен авторизует ваше расширение браузера.',
tokenCopied: 'Токен скопирован в буфер обмена!', tokenCopied: 'Токен скопирован в буфер обмена!',
tokenCopyFailed: 'Не удалось скопировать токен: {{detail}}', tokenCopyFailed: 'Не удалось скопировать токен: {{detail}}',
pairingTokenRegenerated: 'Токен сопряжения обновлён', pairingTokenRegenerated: 'Токен сопряжения сгенерирован заново',
regenerateFailed: 'Не удалось обновить токен сопряжения: {{detail}}', regenerateFailed: 'Не удалось сгенерировать токен сопряжения заново: {{detail}}',
getExtension: 'Установить расширение', getExtension: 'Получить расширение',
extensionDescription: 'Установите расширение Firelink Companion для Firefox или браузеров на базе Chromium.', extensionDescription: 'Установите Firelink Companion для браузеров Firefox или Chromium.',
firefoxAddons: 'Дополнения Firefox', firefoxAddons: 'Дополнения Firefox',
chromiumZip: 'Chromium ZIP', chromiumZip: 'Chromium ZIP',
pasteConnect: 'Вставить и подключить', pasteConnect: 'Вставить и подключить',
pasteConnectDescription: 'Нажмите на значок Firelink на панели браузера и вставьте скопированный токен.', pasteConnectDescription: 'Нажмите на значок Firelink на панели инструментов браузера и вставьте скопированный токен.',
extensionServerStatus: 'Статус сервера расширения:', extensionServerStatus: 'Статус сервера расширения:',
listening: '● Работает на 127.0.0.1:{{port}}', listening: '● Прослушивание 127.0.0.1:{{port}}',
unavailable: '● Сервер недоступен', unavailable: '● Сервер недоступен',
}, },
about: { about: {
@@ -726,19 +726,19 @@ const ru = {
description: 'Кроссплатформенный менеджер загрузок для macOS, Windows и Linux.', description: 'Кроссплатформенный менеджер загрузок для macOS, Windows и Linux.',
sourceCode: 'Исходный код', sourceCode: 'Исходный код',
source: 'Исходный код', source: 'Исходный код',
upToDate: 'У вас установлена последняя версия Firelink ({{version}}).', upToDate: 'У вас установлена актуальная версия Firelink ({{version}}).',
updateAvailable: 'Доступна новая версия Firelink {{version}}.', updateAvailable: 'Доступна новая версия Firelink {{version}}.',
viewRelease: 'Просмотреть релиз', viewRelease: 'Просмотреть релиз',
updates: 'Обновления', updates: 'Обновления',
checkForUpdates: 'Проверить обновления', checkForUpdates: 'Проверить обновления',
updateDescription: 'Firelink проверяет наличие новых версий на GitHub.', updateDescription: 'Firelink проверяет наличие новых версий в GitHub Releases.',
checking: 'Проверка…', checking: 'Проверка…',
checkNow: 'Проверить сейчас', checkNow: 'Проверить сейчас',
automaticUpdates: 'Автоматически проверять наличие обновлений', automaticUpdates: 'Автоматически проверять наличие обновлений',
createdBy: 'Разработчик: NimBold', createdBy: 'Разработчик: NimBold',
mitLicense: 'Лицензия MIT', mitLicense: 'Лицензия MIT',
credits: 'Благодарности: aria2, yt-dlp, FFmpeg и Deno.', credits: 'Благодарности: aria2, yt-dlp, FFmpeg и Deno.',
copyright: '© 2026 NimBold. Все права защищены.', copyright: 'Copyright © 2026 NimBold. Все права защищены.',
}, },
}, },
status: { status: {
+33 -33
View File
@@ -53,8 +53,8 @@ const uk = {
}, },
removeDownload: { removeDownload: {
title: 'Видалити завантаження', title: 'Видалити завантаження',
confirmationSingle: 'Ви впевнені, що хочете видалити цей елемент зі списку? Ви також можете видалити сам файл з вашого жорсткого диска.', confirmationSingle: 'Ви впевнені, що хочете видалити цей елемент зі списку? Ви також можете видалити сам файл з вашого диска.',
confirmationMultiple: 'Ви впевнені, що хочете видалити ці {{count}} елементів зі списку? Ви також можете видалити самі файли з вашого жорсткого диска.', confirmationMultiple: 'Ви впевнені, що хочете видалити вибрані елементи ({{count}}) зі списку? Ви також можете видалити самі файли з диска.',
errorSummary: '{{succeeded}} видалено, {{failed}} не вдалося: {{detail}}', errorSummary: '{{succeeded}} видалено, {{failed}} не вдалося: {{detail}}',
remove: 'Видалити', remove: 'Видалити',
deleteFile: 'Видалити файл', deleteFile: 'Видалити файл',
@@ -91,8 +91,8 @@ const uk = {
retrying: 'Повторна спроба', retrying: 'Повторна спроба',
}, },
values: { values: {
processing: 'Обробка...', processing: 'Обробка',
muxing: 'Мультиплексування...', muxing: 'Об\'єднання потоків…',
}, },
}, },
speedLimiter: { speedLimiter: {
@@ -103,7 +103,7 @@ const uk = {
description: 'Застосовується до нових і активних завантажень aria2 та нових медіазавантажень yt-dlp. Індивідуальні обмеження для кожного завантаження залишаються прикріпленими до цих завантажень.', description: 'Застосовується до нових і активних завантажень aria2 та нових медіазавантажень yt-dlp. Індивідуальні обмеження для кожного завантаження залишаються прикріпленими до цих завантажень.',
quickPresets: 'Швидкі пресети', quickPresets: 'Швидкі пресети',
removePreset: 'Видалити пресет {{value}} {{unit}}', removePreset: 'Видалити пресет {{value}} {{unit}}',
customPresetIn: 'Свій пресет в {{unit}}', customPresetIn: 'Свій пресет у {{unit}}',
addQuickPreset: 'Додати швидкий пресет', addQuickPreset: 'Додати швидкий пресет',
globalLimitSaved: 'Глобальне обмеження збережено на рівні {{value}} {{unit}}', globalLimitSaved: 'Глобальне обмеження збережено на рівні {{value}} {{unit}}',
globalLimitDisabled: 'Глобальне обмеження швидкості вимкнено', globalLimitDisabled: 'Глобальне обмеження швидкості вимкнено',
@@ -122,8 +122,8 @@ const uk = {
error: 'Помилка', error: 'Помилка',
warn: 'Попередження', warn: 'Попередження',
info: 'Інфо', info: 'Інфо',
debug: 'Дебаг', debug: 'Налагодження',
trace: 'Трейс', trace: 'Трасування',
}, },
pauseLogging: 'Призупинити діагностичне логування', pauseLogging: 'Призупинити діагностичне логування',
enableLogging: 'Увімкнути діагностичне логування', enableLogging: 'Увімкнути діагностичне логування',
@@ -168,14 +168,14 @@ const uk = {
systemPermissions: 'Системні дозволи', systemPermissions: 'Системні дозволи',
macPermissionDescription: 'Сон, перезавантаження та вимкнення вимагають дозволу на автоматизацію macOS для системних подій (System Events).', macPermissionDescription: 'Сон, перезавантаження та вимкнення вимагають дозволу на автоматизацію macOS для системних подій (System Events).',
permissionGranted: 'Дозвіл на автоматизацію надано', permissionGranted: 'Дозвіл на автоматизацію надано',
permissionChecking: 'Перевірка дозволу на автоматизацію...', permissionChecking: 'Перевірка дозволу на автоматизацію',
permissionMissing: 'Відсутній дозвіл на автоматизацію', permissionMissing: 'Відсутній дозвіл на автоматизацію',
revokePermission: 'Відкликати дозвіл', revokePermission: 'Відкликати дозвіл',
grantPermission: 'Надати дозвіл', grantPermission: 'Надати дозвіл',
permissionAvailable: 'Дозвіл на автоматизацію доступний.', permissionAvailable: 'Дозвіл на автоматизацію доступний.',
permissionMissingDetails: 'Відсутній дозвіл на автоматизацію. Увімкніть Firelink у розділі Автоматизація для системних подій у Налаштуваннях системи.', permissionMissingDetails: 'Відсутній дозвіл на автоматизацію. Увімкніть Firelink у розділі Автоматизація для системних подій у Налаштуваннях системи.',
revokePermissionDetails: 'macOS не дозволяє Firelink безпосередньо відкликати дозвіл на автоматизацію. Відкличте доступ до системних подій у Налаштуваннях системи, а потім поверніться до Firelink.', revokePermissionDetails: 'macOS не дозволяє Firelink безпосередньо відкликати дозвіл на автоматизацію. Відкличте доступ до системних подій у Налаштуваннях системи, а потім поверніться до Firelink.',
requestingPermission: 'Запит дозволу на автоматизацію...', requestingPermission: 'Запит дозволу на автоматизацію',
enablePermissionDetails: 'Увімкніть Firelink у розділі Автоматизація для системних подій у Налаштуваннях системи, а потім поверніться до Firelink.', enablePermissionDetails: 'Увімкніть Firelink у розділі Автоматизація для системних подій у Налаштуваннях системи, а потім поверніться до Firelink.',
systemActions: 'Системні дії', systemActions: 'Системні дії',
windowsActionsDescription: 'Сон, перезавантаження та вимкнення використовують системні привілеї Windows. Firelink повідомляє про будь-яку відхилену дію під час її виконання; жодні постійні дозволи заздалегідь не вимагаються.', windowsActionsDescription: 'Сон, перезавантаження та вимкнення використовують системні привілеї Windows. Firelink повідомляє про будь-яку відхилену дію під час її виконання; жодні постійні дозволи заздалегідь не вимагаються.',
@@ -263,8 +263,8 @@ const uk = {
windows: 'Диспетчер облікових даних Windows', windows: 'Диспетчер облікових даних Windows',
linux: 'ваше сховище облікових даних Linux', linux: 'ваше сховище облікових даних Linux',
macos: 'В\'язка ключів macOS (Keychain)', macos: 'В\'язка ключів macOS (Keychain)',
system: "сховище облікових даних цієї системи", system: 'сховище облікових даних цієї системи',
siteCredentials: "сховище облікових даних системи", siteCredentials: 'сховище облікових даних системи',
}, },
grantLabelPortable: 'Продовжити', grantLabelPortable: 'Продовжити',
grantLabelMacos: 'Надати доступ', grantLabelMacos: 'Надати доступ',
@@ -281,7 +281,7 @@ const uk = {
defaultHint: 'Якщо ви виберете "Пізніше", розширення працюватиме лише для цього сеансу.', defaultHint: 'Якщо ви виберете "Пізніше", розширення працюватиме лише для цього сеансу.',
enableFromSettings: 'Ви можете увімкнути сховище будь-коли в Налаштування > Інтеграції.', enableFromSettings: 'Ви можете увімкнути сховище будь-коли в Налаштування > Інтеграції.',
later: 'Пізніше', later: 'Пізніше',
enabling: 'Увімкнення...', enabling: 'Увімкнення',
timeout: 'Час очікування запиту до сховища облікових даних вичерпано. Ви можете вибрати "Пізніше" і спробувати ще раз.', timeout: 'Час очікування запиту до сховища облікових даних вичерпано. Ви можете вибрати "Пізніше" і спробувати ще раз.',
unavailable: '{{store}} недоступно.', unavailable: '{{store}} недоступно.',
accessRequired: 'Надайте доступ до сховища облікових даних перед повторною генерацією токена підключення.', accessRequired: 'Надайте доступ до сховища облікових даних перед повторною генерацією токена підключення.',
@@ -317,7 +317,7 @@ const uk = {
notificationsFailed: 'Не вдалося налаштувати сповіщення: {{detail}}', notificationsFailed: 'Не вдалося налаштувати сповіщення: {{detail}}',
}, },
sidebar: { sidebar: {
deleteQueueConfirm: 'Видалити чергу "{{name}}"? Її незавершені завантаження перемістяться до Головної черги (Main Queue).', deleteQueueConfirm: 'Видалити чергу "{{name}}"? Її незавершені завантаження перемістяться до Головної черги.',
deleteQueueFailed: 'Не вдалося видалити чергу: {{detail}}', deleteQueueFailed: 'Не вдалося видалити чергу: {{detail}}',
queueNameEmpty: 'Назва черги не може бути порожньою', queueNameEmpty: 'Назва черги не може бути порожньою',
queueNameExists: 'Черга з такою назвою вже існує', queueNameExists: 'Черга з такою назвою вже існує',
@@ -362,7 +362,7 @@ const uk = {
nonResumableMany: '{{count}} завантажень не підтримують відновлення. Якщо ви призупините їх, вам доведеться почати спочатку пізніше. Ви впевнені, що хочете призупинити?', nonResumableMany: '{{count}} завантажень не підтримують відновлення. Якщо ви призупините їх, вам доведеться почати спочатку пізніше. Ви впевнені, що хочете призупинити?',
interactionError: '{{message}}: {{detail}}', interactionError: '{{message}}: {{detail}}',
openFileFailed: 'Не вдалося відкрити завантажений файл', openFileFailed: 'Не вдалося відкрити завантажений файл',
revealFileFailed: 'Не вдалося показати завантаження в Finder / Провіднику', revealFileFailed: 'Не вдалося показати завантаження в Finder',
pauseFailed: 'Не вдалося призупинити завантаження', pauseFailed: 'Не вдалося призупинити завантаження',
resumeFailed: 'Не вдалося відновити {{fileName}}', resumeFailed: 'Не вдалося відновити {{fileName}}',
moveManyFailed: 'Не вдалося перемістити завантаження до черги', moveManyFailed: 'Не вдалося перемістити завантаження до черги',
@@ -398,9 +398,9 @@ const uk = {
speedInvalid: 'Обмеження швидкості має бути більшим за нуль', speedInvalid: 'Обмеження швидкості має бути більшим за нуль',
duplicateResolveFailed: 'Не вдалося вирішити конфлікт дублікатів завантажень: {{detail}}', duplicateResolveFailed: 'Не вдалося вирішити конфлікт дублікатів завантажень: {{detail}}',
addedWithFailures: '{{added}} додано, {{failed}} не вдалося. {{detail}}', addedWithFailures: '{{added}} додано, {{failed}} не вдалося. {{detail}}',
addedOne: '1 завантаження додано', addedOne: 'Додано 1 завантаження',
addedMany: '{{count}} завантажень додано', addedMany: 'Додано {{count}} завантажень',
updatedOne: '1 завантаження оновлено', updatedOne: 'Оновлено 1 завантаження',
updatedMany: 'Оновлено {{count}} завантажень', updatedMany: 'Оновлено {{count}} завантажень',
urlAlreadyQueued: 'URL-адреса вже в черзі', urlAlreadyQueued: 'URL-адреса вже в черзі',
destinationConflict: 'Інше вибране завантаження використовує це місце призначення', destinationConflict: 'Інше вибране завантаження використовує це місце призначення',
@@ -414,8 +414,8 @@ const uk = {
pauseBeforeReplace: 'Призупиніть {{file}} перед заміною.', pauseBeforeReplace: 'Призупиніть {{file}} перед заміною.',
cannotReplace: 'Неможливо замінити {{file}}: файл не належить до завантажень Firelink.', cannotReplace: 'Неможливо замінити {{file}}: файл не належить до завантажень Firelink.',
downloadLinks: 'Посилання для завантаження', downloadLinks: 'Посилання для завантаження',
pastePlaceholder: 'Вставте URL-адреси HTTP, HTTPS, FTP або SFTP сюди...\n\nДля медіазавантажень вставте посилання з YouTube, X, TikTok, Instagram, Reddit тощо.', pastePlaceholder: 'Вставте URL-адреси HTTP, HTTPS, FTP або SFTP сюди\n\nДля медіазавантажень вставте посилання з YouTube, X, TikTok, Instagram, Reddit тощо.',
playlistSummary: 'Плейлист “{{title}}”: {{loaded}}{{total}} елементів завантажено{{truncated}}{{skipped}}', playlistSummary: 'Плейлист “{{title}}”: {{loaded}} з {{total}} елементів завантажено{{truncated}}{{skipped}}',
safeEntryLimit: ' (досягнуто безпечного ліміту елементів)', safeEntryLimit: ' (досягнуто безпечного ліміту елементів)',
selectedSummary: '{{ready}} вибрано готових, {{fallback}} резервних, {{mediaRetry}} повторних медіа, {{blocked}} заблоковано', selectedSummary: '{{ready}} вибрано готових, {{fallback}} резервних, {{mediaRetry}} повторних медіа, {{blocked}} заблоковано',
clearSelection: 'Очистити вибір', clearSelection: 'Очистити вибір',
@@ -431,8 +431,8 @@ const uk = {
downloadPreview: 'Попередній перегляд завантаження', downloadPreview: 'Попередній перегляд завантаження',
noLinks: 'Поки що немає доданих посилань.', noLinks: 'Поки що немає доданих посилань.',
selectItem: 'Вибрати {{file}}', selectItem: 'Вибрати {{file}}',
fetchingPlaylist: 'Отримання плейлиста...', fetchingPlaylist: 'Отримання плейлиста',
fetching: 'Отримання...', fetching: 'Отримання',
unsafeUrl: 'Небезпечна URL-адреса', unsafeUrl: 'Небезпечна URL-адреса',
playlistFailed: 'Помилка плейлиста', playlistFailed: 'Помилка плейлиста',
metadataFailed: 'Помилка метаданих', metadataFailed: 'Помилка метаданих',
@@ -441,12 +441,12 @@ const uk = {
ready: 'Готово', ready: 'Готово',
mediaFormat: 'Формат медіа', mediaFormat: 'Формат медіа',
playlistItem: 'Елемент плейлиста {{index}}', playlistItem: 'Елемент плейлиста {{index}}',
fetchingMediaStreams: 'Отримання медіапотоків...', fetchingMediaStreams: 'Отримання медіапотоків',
availableStreams: 'Доступні потоки', availableStreams: 'Доступні потоки',
availableMediaStreams: 'Доступні медіапотоки', availableMediaStreams: 'Доступні медіапотоки',
metadataUnavailable: 'Метадані недоступні. Оновіть метадані перед додаванням цього медіа.', metadataUnavailable: 'Метадані недоступні. Оновіть метадані перед додаванням цього медіа.',
saveLocation: 'Місце збереження', saveLocation: 'Місце збереження',
browse: 'Огляд', browse: 'Огляд',
categoryFolders: 'Файли будуть організовані в папки категорій.', categoryFolders: 'Файли будуть організовані в папки категорій.',
sharedFolder: 'Усі вибрані завантаження використовуватимуть цю папку.', sharedFolder: 'Усі вибрані завантаження використовуватимуть цю папку.',
dedicatedFolder: 'Зберегти в новій папці', dedicatedFolder: 'Зберегти в новій папці',
@@ -480,13 +480,13 @@ const uk = {
selectAtLeastOne: 'Виберіть хоча б одне завантаження.', selectAtLeastOne: 'Виберіть хоча б одне завантаження.',
correctInvalidOne: 'Виправте або видаліть {{count}} недійсну URL-адресу перед продовженням.', correctInvalidOne: 'Виправте або видаліть {{count}} недійсну URL-адресу перед продовженням.',
correctInvalidFew: 'Виправте або видаліть {{count}} недійсні URL-адреси перед продовженням.', correctInvalidFew: 'Виправте або видаліть {{count}} недійсні URL-адреси перед продовженням.',
correctInvalidMany: 'Виправте або видаліть {{count}} недійсні URL-адреси перед продовженням.', correctInvalidMany: 'Виправте або видаліть {{count}} недійсних URL-адрес перед продовженням.',
waitingForMetadataOne: 'Очікування метаданих для {{count}} завантаження.', waitingForMetadataOne: 'Очікування метаданих для {{count}} завантаження',
waitingForMetadataFew: 'Очікування метаданих для {{count}} завантажень.', waitingForMetadataFew: 'Очікування метаданих для {{count}} завантажень',
waitingForMetadataMany: 'Очікування метаданих для {{count}} завантажень.', waitingForMetadataMany: 'Очікування метаданих для {{count}} завантажень',
removeUnsafeOne: 'Видаліть {{count}} небезпечну URL-адресу перед продовженням.', removeUnsafeOne: 'Видаліть {{count}} небезпечну URL-адресу перед продовженням.',
removeUnsafeFew: 'Видаліть {{count}} небезпечні URL-адреси перед продовженням.', removeUnsafeFew: 'Видаліть {{count}} небезпечні URL-адреси перед продовженням.',
removeUnsafeMany: 'Видаліть {{count}} небезпечні URL-адреси перед продовженням.', removeUnsafeMany: 'Видаліть {{count}} небезпечних URL-адрес перед продовженням.',
mediaMetadataUnavailableSummaryOne: 'Метадані медіа недоступні для {{count}} елемента. Оновіть метадані перед додаванням.', mediaMetadataUnavailableSummaryOne: 'Метадані медіа недоступні для {{count}} елемента. Оновіть метадані перед додаванням.',
mediaMetadataUnavailableSummaryFew: 'Метадані медіа недоступні для {{count}} елементів. Оновіть метадані перед додаванням.', mediaMetadataUnavailableSummaryFew: 'Метадані медіа недоступні для {{count}} елементів. Оновіть метадані перед додаванням.',
mediaMetadataUnavailableSummaryMany: 'Метадані медіа недоступні для {{count}} елементів. Оновіть метадані перед додаванням.', mediaMetadataUnavailableSummaryMany: 'Метадані медіа недоступні для {{count}} елементів. Оновіть метадані перед додаванням.',
@@ -512,7 +512,7 @@ const uk = {
}, },
common: { common: {
thisOs: 'ця ОС', thisOs: 'ця ОС',
checking: 'Перевірка...', checking: 'Перевірка',
ready: 'Готово', ready: 'Готово',
errorMissing: 'Помилка / Відсутнє', errorMissing: 'Помилка / Відсутнє',
hideTechnicalDetails: 'Сховати технічні деталі', hideTechnicalDetails: 'Сховати технічні деталі',
@@ -632,7 +632,7 @@ const uk = {
locations: { locations: {
baseDownloadFolder: 'Базова папка завантажень', baseDownloadFolder: 'Базова папка завантажень',
baseDownloadFolderDescription: 'Автоматичні папки категорій створюються всередині цієї папки.', baseDownloadFolderDescription: 'Автоматичні папки категорій створюються всередині цієї папки.',
browse: 'Огляд', browse: 'Огляд',
baseFolderCreateFailed: 'Базова папка збережена, але папки категорій не вдалося створити: {{detail}}', baseFolderCreateFailed: 'Базова папка збережена, але папки категорій не вдалося створити: {{detail}}',
baseFolderUpdated: 'Базову папку завантажень оновлено', baseFolderUpdated: 'Базову папку завантажень оновлено',
askWhereToSave: 'Запитувати, де зберігати під час додавання завантажень', askWhereToSave: 'Запитувати, де зберігати під час додавання завантажень',
@@ -700,7 +700,7 @@ const uk = {
portablePairingAvailable: 'Доступно портативне підключення', portablePairingAvailable: 'Доступно портативне підключення',
credentialStorageNeeded: 'Потрібне сховище облікових даних', credentialStorageNeeded: 'Потрібне сховище облікових даних',
portableAvailableDescription: 'Ваш токен підключення збережено разом із цією портативною папкою Firelink, і він зберігатиметься після перезапусків. Увімкніть його тут, щоб переглянути попередження про портативне сховище.', portableAvailableDescription: 'Ваш токен підключення збережено разом із цією портативною папкою Firelink, і він зберігатиметься після перезапусків. Увімкніть його тут, щоб переглянути попередження про портативне сховище.',
credentialStorageDescription: "Firelink потребує доступу до сховища облікових даних цієї системи, щоб безпечно зберегти ваш токен підключення після перезапусків програми. Наразі ваше розширення залишатиметься підключеним лише для цього сеансу.", credentialStorageDescription: 'Firelink потребує доступу до сховища облікових даних цієї системи, щоб безпечно зберегти ваш токен підключення після перезапусків програми. Наразі ваше розширення залишатиметься підключеним лише для цього сеансу.',
reviewPortablePairing: 'Переглянути портативне підключення', reviewPortablePairing: 'Переглянути портативне підключення',
grantCredentialAccess: 'Надати доступ до облікових даних', grantCredentialAccess: 'Надати доступ до облікових даних',
copyToken: 'Скопіювати токен', copyToken: 'Скопіювати токен',
@@ -714,7 +714,7 @@ const uk = {
firefoxAddons: 'Додатки Firefox', firefoxAddons: 'Додатки Firefox',
chromiumZip: 'Chromium ZIP', chromiumZip: 'Chromium ZIP',
pasteConnect: 'Вставити та підключити', pasteConnect: 'Вставити та підключити',
pasteConnectDescription: "Натисніть на іконку Firelink на панелі інструментів вашого браузера та вставте скопійований токен.", pasteConnectDescription: 'Натисніть на іконку Firelink на панелі інструментів вашого браузера та вставте скопійований токен.',
extensionServerStatus: 'Статус сервера розширень:', extensionServerStatus: 'Статус сервера розширень:',
listening: '● Прослуховування на 127.0.0.1:{{port}}', listening: '● Прослуховування на 127.0.0.1:{{port}}',
unavailable: '● Сервер недоступний', unavailable: '● Сервер недоступний',
@@ -732,7 +732,7 @@ const uk = {
updates: 'Оновлення', updates: 'Оновлення',
checkForUpdates: 'Перевірити наявність оновлень', checkForUpdates: 'Перевірити наявність оновлень',
updateDescription: 'Firelink перевіряє GitHub Releases на наявність нових версій.', updateDescription: 'Firelink перевіряє GitHub Releases на наявність нових версій.',
checking: 'Перевірка...', checking: 'Перевірка',
checkNow: 'Перевірити зараз', checkNow: 'Перевірити зараз',
automaticUpdates: 'Автоматично перевіряти наявність оновлень', automaticUpdates: 'Автоматично перевіряти наявність оновлень',
createdBy: 'Створено NimBold', createdBy: 'Створено NimBold',
+57 -57
View File
@@ -3,7 +3,7 @@ const zhCN = {
library: '库', library: '库',
filters: { filters: {
all: '全部', all: '全部',
active: '活动', active: '进行中',
completed: '已完成', completed: '已完成',
unfinished: '未完成', unfinished: '未完成',
}, },
@@ -32,15 +32,15 @@ const zhCN = {
continue: '继续', continue: '继续',
dismissNotification: '关闭通知', dismissNotification: '关闭通知',
queueName: '队列名称', queueName: '队列名称',
addNewQueue: '添加新队列', addNewQueue: '新队列',
startQueue: '开始队列', startQueue: '启动队列',
pauseQueue: '暂停队列', pauseQueue: '暂停队列',
renameQueue: '重命名队列', renameQueue: '重命名队列',
deleteQueue: '删除队列', deleteQueue: '删除队列',
}, },
dialogs: { dialogs: {
errorBoundary: { errorBoundary: {
title: '发生错误。', title: '出现了一些问题。',
description: 'React 组件树中发生了严重错误。下面的错误详情可以帮助确定根本原因。', description: 'React 组件树中发生了严重错误。下面的错误详情可以帮助确定根本原因。',
reload: '重新加载应用', reload: '重新加载应用',
}, },
@@ -53,8 +53,8 @@ const zhCN = {
}, },
removeDownload: { removeDownload: {
title: '移除下载', title: '移除下载',
confirmationSingle: '您确定要从列表中移除此项目吗?您也可以选择从硬盘中删除底层文件。', confirmationSingle: '您确定要从列表中移除此项目吗?您也可以选择同时从磁盘中删除底层文件。',
confirmationMultiple: '您确定要从列表中移除这 {{count}} 个项目吗?您也可以选择从硬盘中删除底层文件。', confirmationMultiple: '您确定要从列表中移除这 {{count}} 个项目吗?您也可以选择同时从磁盘中删除底层文件。',
errorSummary: '成功移除 {{succeeded}} 个,失败 {{failed}} 个:{{detail}}', errorSummary: '成功移除 {{succeeded}} 个,失败 {{failed}} 个:{{detail}}',
remove: '移除', remove: '移除',
deleteFile: '删除文件', deleteFile: '删除文件',
@@ -71,13 +71,13 @@ const zhCN = {
moveUp: '上移', moveUp: '上移',
moveDown: '下移', moveDown: '下移',
pause: '暂停', pause: '暂停',
start: '开始', start: '启动',
resume: '继续', resume: '恢复',
options: '选项', options: '选项',
}, },
size: { size: {
downloadedOf: '已下载 {{downloaded}} / 共 {{total}} {{unit}}', downloadedOf: '已下载 {{downloaded}} / 共 {{total}} {{unit}}',
downloadedOfApproximate: '已下载 {{downloaded}} / {{total}} {{unit}}', downloadedOfApproximate: '已下载 {{downloaded}} / 预估共 {{total}} {{unit}}',
}, },
status: { status: {
ready: '就绪', ready: '就绪',
@@ -91,31 +91,31 @@ const zhCN = {
retrying: '重试中', retrying: '重试中',
}, },
values: { values: {
processing: '处理中...', processing: '处理中',
muxing: '混流中...', muxing: '混流中',
}, },
}, },
speedLimiter: { speedLimiter: {
title: '速度限制', title: '速度限制',
unlimited: '无限制', unlimited: '不限速',
saveLimit: '保存限制', saveLimit: '保存限制',
globalSpeedLimit: '全局速度限制', globalSpeedLimit: '全局速度限制',
description: '适用于新的和活动的 aria2 传输以及新的 yt-dlp 媒体下载。个下载的显式限制仍然附加到这些传输上。', description: '适用于新的和活动的 aria2 传输以及新的 yt-dlp 媒体下载。个下载的专属限制仍将保留。',
quickPresets: '快预设', quickPresets: '快预设',
removePreset: '移除 {{value}} {{unit}} 预设', removePreset: '移除 {{value}} {{unit}} 预设',
customPresetIn: '自定义预设 (单位:{{unit}})', customPresetIn: '自定义预设 (单位:{{unit}})',
addQuickPreset: '添加快预设', addQuickPreset: '添加快预设',
globalLimitSaved: '全局限制已保存为 {{value}} {{unit}}', globalLimitSaved: '全局限制已保存为 {{value}} {{unit}}',
globalLimitDisabled: '全局速度限制已禁用', globalLimitDisabled: '全局速度限制已禁用',
saveFailed: '无法保存全局速度限制:{{detail}}', saveFailed: '无法保存全局速度限制:{{detail}}',
presetAlreadyExists: '{{value}} {{unit}} 已在快预设中', presetAlreadyExists: '{{value}} {{unit}} 已在快预设中',
presetAdded: '已添加 {{value}} {{unit}} 快预设', presetAdded: '已添加 {{value}} {{unit}} 快预设',
presetRemoved: '已移除 {{value}} {{unit}} 快预设', presetRemoved: '已移除 {{value}} {{unit}} 快预设',
}, },
logs: { logs: {
title: '日志', title: '日志',
entries: '({{count}} 条)', entries: '({{count}} 条)',
collecting: '收集...', collecting: '收集',
off: '关闭', off: '关闭',
allLevels: '所有级别', allLevels: '所有级别',
levels: { levels: {
@@ -132,7 +132,7 @@ const zhCN = {
exportButton: '导出日志', exportButton: '导出日志',
logFiles: '日志文件', logFiles: '日志文件',
localDiagnostics: '本地诊断:', localDiagnostics: '本地诊断:',
diagnosticsDescription: '诊断收集需要主动开启,范围限制并且在本地进行。常见的密钥、URL 查询参数和主目录路径在显示和导出时都会被隐藏。不会自动上传任何数据。', diagnosticsDescription: '诊断信息的收集需要主动开启,范围有限,并且在本地进行。常见的密钥、URL 查询参数和主目录路径在显示和导出时都会被隐藏。不会自动上传任何数据。',
noEntries: '尚无持久化的日志条目。', noEntries: '尚无持久化的日志条目。',
disabledDescription: '诊断日志记录已关闭。现有的支持日志将在可用时显示在此处。', disabledDescription: '诊断日志记录已关闭。现有的支持日志将在可用时显示在此处。',
copy: '复制', copy: '复制',
@@ -158,24 +158,24 @@ const zhCN = {
timing: '时间', timing: '时间',
startTime: '开始时间', startTime: '开始时间',
stopTime: '停止时间', stopTime: '停止时间',
timingDescription: '如果在开始时间 Firelink 处于休眠状态,它在当天晚些时候恢复时启动所选队列,除非停止时间已过。', timingDescription: '如果在开始时间 Firelink 处于休眠状态,它在当天晚些时候恢复运行时启动所选队列,除非停止时间已过。',
runEveryDay: '每天运行', runEveryDay: '每天运行',
queuesToSchedule: '要调度的队列', queuesToSchedule: '要计划运行的队列',
defaultQueue: '默认队列', defaultQueue: '默认队列',
afterCompletion: '完成后', afterCompletion: '完成后',
afterCompletionDescription: '选择计划任务启动的下载完成后的操作。', afterCompletionDescription: '选择计划任务启动的下载完成后的操作。',
actionWarning: '此操作可能会中断计算机上的其他工作。Firelink 会在计划的队列完成后立即执行它。', actionWarning: '此操作可能会中断计算机上的其他工作。Firelink 会在计划的队列完成后立即执行它。',
systemPermissions: '系统权限', systemPermissions: '系统权限',
macPermissionDescription: '睡眠、重启和关机需要 macOS 系统事件的自动化权限。', macPermissionDescription: '睡眠、重启和关机需要 macOS 系统事件的自动化权限。',
permissionGranted: '已授予自动化权限', permissionGranted: '已授予自动化权限',
permissionChecking: '正在检查自动化权限...', permissionChecking: '正在检查自动化权限',
permissionMissing: '缺少自动化权限', permissionMissing: '缺少自动化权限',
revokePermission: '撤销权限', revokePermission: '撤销权限',
grantPermission: '授予权限', grantPermission: '授予权限',
permissionAvailable: '自动化权限可用。', permissionAvailable: '自动化权限可用。',
permissionMissingDetails: '缺少自动化权限。请在“系统设置”的“系统事件”的“自动化”下启用 Firelink。', permissionMissingDetails: '缺少自动化权限。请在“系统设置”的“系统事件”的“自动化”下启用 Firelink。',
revokePermissionDetails: 'macOS 不允许 Firelink 直接撤销自动化权限。请在“系统设置”中撤销“系统事件”访问权限,然后返回 Firelink。', revokePermissionDetails: 'macOS 不允许 Firelink 直接撤销自动化权限。请在“系统设置”中撤销“系统事件”访问权限,然后返回 Firelink。',
requestingPermission: '正在请求自动化权限...', requestingPermission: '正在请求自动化权限',
enablePermissionDetails: '请在“系统设置”的“系统事件”的“自动化”下启用 Firelink,然后返回 Firelink。', enablePermissionDetails: '请在“系统设置”的“系统事件”的“自动化”下启用 Firelink,然后返回 Firelink。',
systemActions: '系统操作', systemActions: '系统操作',
windowsActionsDescription: '睡眠、重启和关机使用 Windows 系统权限。Firelink 在运行时会报告任何被拒绝的操作;不会提前声明任何永久权限。', windowsActionsDescription: '睡眠、重启和关机使用 Windows 系统权限。Firelink 在运行时会报告任何被拒绝的操作;不会提前声明任何永久权限。',
@@ -200,7 +200,7 @@ const zhCN = {
sa: '六', sa: '六',
}, },
postActions: { postActions: {
none: '操作', none: '不执行任何操作',
sleep: '睡眠', sleep: '睡眠',
restart: '重启', restart: '重启',
shutdown: '关机', shutdown: '关机',
@@ -216,11 +216,11 @@ const zhCN = {
category: '类别', category: '类别',
lastTry: '上次尝试', lastTry: '上次尝试',
dateAdded: '添加日期', dateAdded: '添加日期',
destination: '目标路径', destination: '保存目录',
lastError: '上次错误', lastError: '上次错误',
saved: ' (已保存)', saved: ' (已保存)',
defaultValue: ' (默认)', defaultValue: ' (默认)',
savedTooltip: '已为此下载保存;设置的更改将应用于新的下载。', savedTooltip: '已为此下载保存;设置的更改将应用于新的下载。',
defaultTooltip: '对新的下载使用当前默认值。', defaultTooltip: '对新的下载使用当前默认值。',
identityReadOnly: '文件标识为只读。传输设置会保存以备重新下载使用。', identityReadOnly: '文件标识为只读。传输设置会保存以备重新下载使用。',
transferSettings: '停止或暂停后可以更改传输设置。当前的传输会保留其现有的后端选项。', transferSettings: '停止或暂停后可以更改传输设置。当前的传输会保留其现有的后端选项。',
@@ -244,11 +244,11 @@ const zhCN = {
checksum: '校验和', checksum: '校验和',
verify: '验证', verify: '验证',
algorithm: '算法', algorithm: '算法',
digest: '摘要', digest: '哈希值',
expectedDigest: '预期摘要', expectedDigest: '预期哈希值',
cookies: 'Cookie', cookies: 'Cookie',
headers: '请求头', headers: '请求头',
mirrors: '镜像', mirrors: '镜像',
username: '用户名', username: '用户名',
password: '密码', password: '密码',
enterValidUrl: '请输入有效的 URL。', enterValidUrl: '请输入有效的 URL。',
@@ -281,7 +281,7 @@ const zhCN = {
defaultHint: '如果您选择“稍后”,扩展仅在本次会话中工作。', defaultHint: '如果您选择“稍后”,扩展仅在本次会话中工作。',
enableFromSettings: '您可以随时从“设置 > 集成”中启用存储。', enableFromSettings: '您可以随时从“设置 > 集成”中启用存储。',
later: '稍后', later: '稍后',
enabling: '正在启用...', enabling: '正在启用',
timeout: '凭据存储请求超时。您可以选择“稍后”并重试。', timeout: '凭据存储请求超时。您可以选择“稍后”并重试。',
unavailable: '{{store}}不可用。', unavailable: '{{store}}不可用。',
accessRequired: '在重新生成配对令牌之前,请授予凭据存储访问权限。', accessRequired: '在重新生成配对令牌之前,请授予凭据存储访问权限。',
@@ -321,13 +321,13 @@ const zhCN = {
deleteQueueFailed: '无法删除队列:{{detail}}', deleteQueueFailed: '无法删除队列:{{detail}}',
queueNameEmpty: '队列名称不能为空', queueNameEmpty: '队列名称不能为空',
queueNameExists: '同名队列已存在', queueNameExists: '同名队列已存在',
startQueueFailed: '无法开始队列:{{detail}}', startQueueFailed: '无法启动队列:{{detail}}',
pauseQueueFailed: '无法暂停队列:{{detail}}', pauseQueueFailed: '无法暂停队列:{{detail}}',
}, },
downloadTable: { downloadTable: {
unknownQueue: '未知队列', unknownQueue: '未知队列',
allDownloads: '所有下载', allDownloads: '所有下载',
active: '活动', active: '进行中',
completed: '已完成', completed: '已完成',
unfinished: '未完成', unfinished: '未完成',
headers: { headers: {
@@ -348,7 +348,7 @@ const zhCN = {
resetLayout: '重置列布局', resetLayout: '重置列布局',
}, },
addDownload: '添加下载', addDownload: '添加下载',
resumeAll: '全部继续', resumeAll: '全部恢复',
pauseAll: '全部暂停', pauseAll: '全部暂停',
queueEmpty: '队列为空', queueEmpty: '队列为空',
noCompletedDownloads: '没有已完成的下载', noCompletedDownloads: '没有已完成的下载',
@@ -364,7 +364,7 @@ const zhCN = {
openFileFailed: '无法打开下载的文件', openFileFailed: '无法打开下载的文件',
revealFileFailed: '无法在文件管理器中显示下载', revealFileFailed: '无法在文件管理器中显示下载',
pauseFailed: '无法暂停下载', pauseFailed: '无法暂停下载',
resumeFailed: '无法继续 {{fileName}}', resumeFailed: '无法恢复 {{fileName}}',
moveManyFailed: '无法将下载移动到队列', moveManyFailed: '无法将下载移动到队列',
moveOneFailed: '无法将下载移动到队列', moveOneFailed: '无法将下载移动到队列',
copyAddressesFailed: '无法复制地址', copyAddressesFailed: '无法复制地址',
@@ -372,19 +372,19 @@ const zhCN = {
copyPathFailed: '无法复制文件路径', copyPathFailed: '无法复制文件路径',
missingFileName: '缺少文件名', missingFileName: '缺少文件名',
redownloadFailed: '重新下载失败', redownloadFailed: '重新下载失败',
startResume: '开始/继续', startResume: '启动/恢复',
addToQueue: '添加到队列', addToQueue: '添加到队列',
copyAddress: '复制地址', copyAddress: '复制地址',
remove: '移除', remove: '移除',
open: '打开', open: '打开',
showInFolder: '在文件夹中显示', showInFolder: '在文件夹中显示',
pause: '暂停', pause: '暂停',
start: '开始', start: '启动',
resume: '继续', resume: '恢复',
redownload: '重新下载', redownload: '重新下载',
copyFilePath: '复制文件路径', copyFilePath: '复制文件路径',
properties: '属性', properties: '属性',
backendRejectedStart: '后端拒绝了开始/继续请求。', backendRejectedStart: '后端拒绝了启动/恢复请求。',
transferActive: '传输处于活动状态时无法更改属性。请先暂停它。', transferActive: '传输处于活动状态时无法更改属性。请先暂停它。',
redownloadNotFound: '无法重新下载:未找到下载。', redownloadNotFound: '无法重新下载:未找到下载。',
redownloadActive: '无法重新下载{{status}}的下载。请先暂停或等待其完成。', redownloadActive: '无法重新下载{{status}}的下载。请先暂停或等待其完成。',
@@ -406,7 +406,7 @@ const zhCN = {
destinationConflict: '其他选定的下载已使用此目标路径', destinationConflict: '其他选定的下载已使用此目标路径',
existingDownloadDestination: '现有的 Firelink 下载已使用此目标路径', existingDownloadDestination: '现有的 Firelink 下载已使用此目标路径',
matchingDownloadFilename: '已有一个未完成的下载使用此文件名', matchingDownloadFilename: '已有一个未完成的下载使用此文件名',
fileExistsOnDisk: '磁盘上已存在该文件;请重命名或跳过以避免删除无关数据', fileExistsOnDisk: '磁盘上已存在该文件;请重命名或跳过以避免覆盖无关数据',
backendRejectedStart: '后端拒绝开始下载。', backendRejectedStart: '后端拒绝开始下载。',
playlistNoEntries: '播放列表不包含可下载的条目', playlistNoEntries: '播放列表不包含可下载的条目',
invalidMediaMetadata: '媒体元数据无效或未找到格式', invalidMediaMetadata: '媒体元数据无效或未找到格式',
@@ -414,7 +414,7 @@ const zhCN = {
pauseBeforeReplace: '请在替换 {{file}} 前暂停它。', pauseBeforeReplace: '请在替换 {{file}} 前暂停它。',
cannotReplace: '无法替换 {{file}}:文件不属于 Firelink 下载。', cannotReplace: '无法替换 {{file}}:文件不属于 Firelink 下载。',
downloadLinks: '下载链接', downloadLinks: '下载链接',
pastePlaceholder: '在此粘贴 HTTP、HTTPS、FTP 或 SFTP URL...\n\n对于媒体下载,请粘贴来自 YouTube、X、TikTok、Instagram、Reddit 等的链接。', pastePlaceholder: '在此粘贴 HTTP、HTTPS、FTP 或 SFTP URL\n\n对于媒体下载,请粘贴来自 YouTube、X、TikTok、Instagram、Reddit 等的链接。',
playlistSummary: '播放列表“{{title}}”:已加载 {{loaded}} / {{total}} 个条目{{truncated}}{{skipped}}', playlistSummary: '播放列表“{{title}}”:已加载 {{loaded}} / {{total}} 个条目{{truncated}}{{skipped}}',
safeEntryLimit: ' (达到安全条目限制)', safeEntryLimit: ' (达到安全条目限制)',
selectedSummary: '准备就绪 {{ready}} 个,后备项 {{fallback}} 个,媒体重试 {{mediaRetry}} 个,已屏蔽 {{blocked}} 个', selectedSummary: '准备就绪 {{ready}} 个,后备项 {{fallback}} 个,媒体重试 {{mediaRetry}} 个,已屏蔽 {{blocked}} 个',
@@ -423,7 +423,7 @@ const zhCN = {
refreshMetadata: '刷新元数据', refreshMetadata: '刷新元数据',
files: '文件', files: '文件',
required: '必需', required: '必需',
free: '空闲', free: '可用空间',
preview: '预览', preview: '预览',
file: '文件', file: '文件',
size: '大小', size: '大小',
@@ -431,17 +431,17 @@ const zhCN = {
downloadPreview: '下载预览', downloadPreview: '下载预览',
noLinks: '尚未添加任何链接。', noLinks: '尚未添加任何链接。',
selectItem: '选择 {{file}}', selectItem: '选择 {{file}}',
fetchingPlaylist: '正在获取播放列表...', fetchingPlaylist: '正在获取播放列表',
fetching: '正在获取...', fetching: '正在获取',
unsafeUrl: '不安全的 URL', unsafeUrl: '不安全的 URL',
playlistFailed: '播放列表获取失败', playlistFailed: '播放列表获取失败',
metadataFailed: '元数据获取失败', metadataFailed: '元数据获取失败',
fallback: '备项', fallback: '备项',
invalid: '无效', invalid: '无效',
ready: '就绪', ready: '就绪',
mediaFormat: '媒体格式', mediaFormat: '媒体格式',
playlistItem: '播放列表项目 {{index}}', playlistItem: '播放列表项目 {{index}}',
fetchingMediaStreams: '正在获取媒体流...', fetchingMediaStreams: '正在获取媒体流',
availableStreams: '可用流', availableStreams: '可用流',
availableMediaStreams: '可用的媒体流', availableMediaStreams: '可用的媒体流',
metadataUnavailable: '元数据不可用。在添加此媒体之前,请刷新元数据。', metadataUnavailable: '元数据不可用。在添加此媒体之前,请刷新元数据。',
@@ -457,9 +457,9 @@ const zhCN = {
dedicatedFolderNameRequired: '保存前请输入文件夹名称。', dedicatedFolderNameRequired: '保存前请输入文件夹名称。',
transferSettings: '传输设置', transferSettings: '传输设置',
connectionsPerFile: '每个文件的连接数', connectionsPerFile: '每个文件的连接数',
connectionsPerFileAria: '每个文件的连接数 (Aria)', connectionsPerFileAria: '每个文件的连接数',
limitSpeedPerFile: '限制每个文件的速度', limitSpeedPerFile: '限制每个文件的速度',
speedLimitPerFileAria: '每个文件的速度限制 (Aria)', speedLimitPerFileAria: '每个文件的速度限制',
authorization: '授权', authorization: '授权',
useAuthorization: '使用授权', useAuthorization: '使用授权',
username: '用户名', username: '用户名',
@@ -472,7 +472,7 @@ const zhCN = {
requestHeaders: '请求头', requestHeaders: '请求头',
cookies: 'Cookie', cookies: 'Cookie',
cookiePlaceholder: 'name=value; other=value', cookiePlaceholder: 'name=value; other=value',
mirrors: '镜像', mirrors: '镜像',
cancel: '取消', cancel: '取消',
startDownloads: '开始下载', startDownloads: '开始下载',
addToQueue: '添加到队列', addToQueue: '添加到队列',
@@ -501,7 +501,7 @@ const zhCN = {
settings: { settings: {
tabs: { tabs: {
downloads: '下载', downloads: '下载',
lookAndFeel: '外观', lookAndFeel: '外观',
network: '网络', network: '网络',
locations: '位置', locations: '位置',
siteLogins: '站点登录', siteLogins: '站点登录',
@@ -512,7 +512,7 @@ const zhCN = {
}, },
common: { common: {
thisOs: '此操作系统', thisOs: '此操作系统',
checking: '正在检查...', checking: '正在检查',
ready: '就绪', ready: '就绪',
errorMissing: '错误 / 缺失', errorMissing: '错误 / 缺失',
hideTechnicalDetails: '隐藏技术详细信息', hideTechnicalDetails: '隐藏技术详细信息',
@@ -611,7 +611,7 @@ const zhCN = {
customProxyDescription: '下载使用配置的 HTTP 代理端点来获取元数据和进行引擎下载。', customProxyDescription: '下载使用配置的 HTTP 代理端点来获取元数据和进行引擎下载。',
invalidCustomProxy: '输入有效的 HTTP 代理主机和端口以启用自定义代理。', invalidCustomProxy: '输入有效的 HTTP 代理主机和端口以启用自定义代理。',
incompleteCustomProxy: '输入代理主机和端口以启用自定义代理。', incompleteCustomProxy: '输入代理主机和端口以启用自定义代理。',
checkingSystemProxy: '正在检查系统代理配置...', checkingSystemProxy: '正在检查系统代理配置',
detectedSystemProxy: '检测到系统代理。普通文件下载需要 HTTP 或 HTTPS 端点;媒体下载可以使用 SOCKS。', detectedSystemProxy: '检测到系统代理。普通文件下载需要 HTTP 或 HTTPS 端点;媒体下载可以使用 SOCKS。',
noSystemProxy: '未检测到可用的系统代理。下载将不使用代理。', noSystemProxy: '未检测到可用的系统代理。下载将不使用代理。',
systemProxyReadFailed: '无法读取系统代理配置。请选择“无代理”,或者在其可用时重试。', systemProxyReadFailed: '无法读取系统代理配置。请选择“无代理”,或者在其可用时重试。',
@@ -663,7 +663,7 @@ const zhCN = {
password: '密码:', password: '密码:',
usernamePlaceholder: '用户名', usernamePlaceholder: '用户名',
passwordPlaceholder: '密码', passwordPlaceholder: '密码',
saving: '正在保存...', saving: '正在保存',
addLogin: '添加登录', addLogin: '添加登录',
urlPatternRequired: 'URL 模式是必需的。', urlPatternRequired: 'URL 模式是必需的。',
urlPatternWhitespace: 'URL 模式不能包含空格。', urlPatternWhitespace: 'URL 模式不能包含空格。',
@@ -732,7 +732,7 @@ const zhCN = {
updates: '更新', updates: '更新',
checkForUpdates: '检查更新', checkForUpdates: '检查更新',
updateDescription: 'Firelink 会在 GitHub Releases 检查新版本。', updateDescription: 'Firelink 会在 GitHub Releases 检查新版本。',
checking: '正在检查...', checking: '正在检查',
checkNow: '立即检查', checkNow: '立即检查',
automaticUpdates: '自动检查更新', automaticUpdates: '自动检查更新',
createdBy: '由 NimBold 创建', createdBy: '由 NimBold 创建',
@@ -743,10 +743,10 @@ const zhCN = {
}, },
status: { status: {
ready: '就绪', ready: '就绪',
active: '{{count}} 个活动', active: '{{count}} 个进行中',
queued: '{{count}} 个排队', queued: '{{count}} 个排队',
done: '{{count}} 个完成', done: '{{count}} 个完成',
}, },
}; } as const;
export default zhCN; export default zhCN;