mirror of
https://github.com/nimbold/Firelink.git
synced 2026-09-02 05:57:59 +00:00
feat(torrent): complete lifecycle controls and diagnostics
- add durable Torrent telemetry, availability, sharing, relocation, and web-seed workflows\n- fence queue ownership, lifecycle recovery, persistence, and native control races\n- add localized UI, generated bindings, regression coverage, and smoke validation
This commit is contained in:
+49
-6
@@ -96,6 +96,7 @@ const common = {
|
||||
completed: 'Completed',
|
||||
failed: 'Failed',
|
||||
retrying: 'Retrying',
|
||||
moving: 'Moving data',
|
||||
},
|
||||
values: {
|
||||
processing: 'Processing...',
|
||||
@@ -288,11 +289,16 @@ const common = {
|
||||
torrentPieceProgressSummary: '{{completed}} of {{total}} pieces complete · {{size}} each',
|
||||
torrentPieceProgressMap: 'Torrent piece completion map',
|
||||
torrentWebSeeds: 'Torrent web seeds',
|
||||
torrentWebSeedsHint: 'One line per seed in the form file index|HTTP(S) URI. Firelink expands multi-file paths natively.',
|
||||
torrentWebSeedsPlaceholder: '0|https://mirror.example/torrent/',
|
||||
torrentWebSeedsHint: 'Add one HTTP(S) base URI per Torrent file. Firelink expands multi-file paths natively.',
|
||||
torrentWebSeedsApply: 'Apply web seeds',
|
||||
torrentWebSeedsLoading: 'Applying…',
|
||||
torrentWebSeedsFailed: 'Could not validate or apply the Torrent web seeds.',
|
||||
torrentWebSeedsEmpty: 'No web seeds configured.',
|
||||
torrentWebSeedsFile: 'File',
|
||||
torrentWebSeedsUri: 'HTTP(S) base URI',
|
||||
torrentWebSeedsAdd: 'Add web seed',
|
||||
torrentWebSeedsRemove: 'Remove web seed',
|
||||
torrentWebSeedsInvalid: 'Each web-seed row needs a valid Torrent file and an HTTP(S) base URI without credentials or fragments.',
|
||||
torrentPeerCount: '{{total}} peers · {{seeders}} seeders',
|
||||
torrentPeerDownload: 'Download',
|
||||
torrentPeerUpload: 'Upload',
|
||||
@@ -300,12 +306,22 @@ const common = {
|
||||
torrentPeerAmChoking: 'Firelink choking',
|
||||
torrentPeerChoking: 'Peer choking',
|
||||
torrentPeerShowing: 'Showing {{shown}} of {{total}} peers.',
|
||||
torrentStatistics: 'Torrent statistics',
|
||||
torrentUploaded: 'Uploaded',
|
||||
torrentRatio: 'Ratio',
|
||||
torrentSeededDuration: 'Seeded',
|
||||
torrentConnectedPeers: 'Peers',
|
||||
torrentSeeders: 'Seeders',
|
||||
torrentUploadSpeed: 'Upload speed',
|
||||
seconds: 'seconds',
|
||||
torrentStopTimeout: 'Stop stalled Torrent after',
|
||||
torrentStopTimeoutHint: 'Aria2 stops this Torrent after this many consecutive seconds at 0 B/s. 0 disables the policy; changes apply when the Torrent starts or retries.',
|
||||
torrentStopTimeoutInvalid: 'Torrent stall timeout must be a whole number from 0 to 604800 seconds',
|
||||
torrentPrioritizePiece: 'Prioritize Torrent pieces',
|
||||
torrentPrioritizePieceHint: 'Optional Aria2 preview policy: head, tail, or both; each may use a size such as 1M. Changes apply when the Torrent starts or retries.',
|
||||
torrentPrioritizePiece: 'Prioritize first/last pieces for preview',
|
||||
torrentPrioritizePieceHead: 'Prioritize first pieces',
|
||||
torrentPrioritizePieceTail: 'Prioritize last pieces',
|
||||
torrentPrioritizePieceSize: 'Preview piece range size',
|
||||
torrentPrioritizePieceHint: 'Optional preview policy. Each enabled range defaults to 1M and applies when the Torrent starts or retries.',
|
||||
torrentPrioritizePieceInvalid: 'Torrent piece priority must use head and/or tail with optional K or M sizes between 1K and 1024M',
|
||||
torrentEncryptionPolicy: 'Torrent encryption policy',
|
||||
torrentFileAllocation: 'Torrent file allocation',
|
||||
@@ -313,6 +329,28 @@ const common = {
|
||||
torrentFileAllocationNone: 'Allocate as needed',
|
||||
torrentFileAllocationHint: 'Preallocation reserves the selected files before transfer. Allocation as needed avoids that upfront disk reservation.',
|
||||
torrentDetails: 'Torrent details',
|
||||
torrentCopyMagnet: 'Copy magnet link',
|
||||
torrentExportMetadata: 'Export .torrent',
|
||||
torrentMagnetCopied: 'Identity-only magnet copied.',
|
||||
torrentMagnetCopyFailed: 'Could not copy the magnet link.',
|
||||
torrentMetadataExported: 'Torrent metadata exported.',
|
||||
torrentMetadataExportFailed: 'Could not export Torrent metadata.',
|
||||
torrentMove: 'Move data…',
|
||||
torrentMoveLoading: 'Moving…',
|
||||
torrentMoveCancel: 'Cancel move',
|
||||
torrentMoveCancelRequested: 'Canceling move…',
|
||||
torrentMoveConfirm: 'Move the managed Torrent data to this folder? Existing files are never overwritten.',
|
||||
torrentMoveCompleted: 'Torrent data moved.',
|
||||
torrentMoveFailed: 'Could not move Torrent data.',
|
||||
torrentAvailability: 'Swarm availability',
|
||||
torrentAvailabilityRefresh: 'Refresh',
|
||||
torrentAvailabilityLoading: 'Loading availability…',
|
||||
torrentAvailabilityUnavailable: 'Availability is available for an active or paused Torrent.',
|
||||
torrentAvailabilityFailed: 'Could not read Torrent availability.',
|
||||
torrentAvailabilityHint: 'Only aggregate copy counts are shown; peer identities and raw bitfields are never exposed.',
|
||||
torrentAvailabilitySummary: '{{availability}} copies available · {{peers}} connected peers · {{pieces}} pieces',
|
||||
torrentAvailabilityMap: 'Torrent swarm availability map',
|
||||
torrentAvailabilityBucket: 'At least {{copies}} copies in this range',
|
||||
torrentDetailsLoading: 'Loading Torrent details…',
|
||||
torrentDetailsUnavailable: 'Torrent details are not available.',
|
||||
torrentDetailsDisplayName: 'Display name',
|
||||
@@ -513,12 +551,14 @@ const common = {
|
||||
moveOneFailed: 'Could not move download to queue',
|
||||
copyAddressesFailed: 'Could not copy addresses',
|
||||
copyAddressFailed: 'Could not copy address',
|
||||
copyMagnetFailed: 'Could not copy the magnet link',
|
||||
copyPathFailed: 'Could not copy file path',
|
||||
missingFileName: 'File name is missing',
|
||||
redownloadFailed: 'Redownload failed',
|
||||
startResume: 'Start/Resume',
|
||||
addToQueue: 'Add to Queue',
|
||||
copyAddress: 'Copy Address',
|
||||
copyMagnet: 'Copy magnet link',
|
||||
remove: 'Remove',
|
||||
open: 'Open',
|
||||
showInFolder: 'Show in Folder',
|
||||
@@ -603,8 +643,11 @@ const common = {
|
||||
torrentStopTimeout: 'Stop stalled Torrent after',
|
||||
torrentStopTimeoutHint: 'Aria2 stops this Torrent after this many consecutive seconds at 0 B/s. 0 disables the policy.',
|
||||
torrentStopTimeoutInvalid: 'Torrent stall timeout must be a whole number from 0 to 604800 seconds',
|
||||
torrentPrioritizePiece: 'Prioritize Torrent pieces',
|
||||
torrentPrioritizePieceHint: 'Saved with this Torrent and applied on its next start or retry. Use head, tail, or both with optional K or M sizes.',
|
||||
torrentPrioritizePiece: 'Prioritize first/last pieces for preview',
|
||||
torrentPrioritizePieceHead: 'Prioritize first pieces',
|
||||
torrentPrioritizePieceTail: 'Prioritize last pieces',
|
||||
torrentPrioritizePieceSize: 'Preview piece range size',
|
||||
torrentPrioritizePieceHint: 'Choose first pieces, last pieces, or both for preview. Each enabled range defaults to 1M and applies on the next start or retry.',
|
||||
torrentPrioritizePieceInvalid: 'Torrent piece priority must use head and/or tail with optional K or M sizes between 1K and 1024M',
|
||||
torrentEncryptionPolicy: 'Torrent encryption policy',
|
||||
torrentEncryptionPolicyHint: 'Saved with this Torrent and applied on its next start or retry. The selected policy keeps Aria2 encryption settings consistent.',
|
||||
|
||||
+49
-6
@@ -96,6 +96,7 @@ const fa = {
|
||||
completed: 'تکمیلشده',
|
||||
failed: 'ناموفق',
|
||||
retrying: 'در حال تلاش مجدد',
|
||||
moving: 'در حال جابهجایی داده',
|
||||
},
|
||||
values: {
|
||||
processing: 'در حال پردازش…',
|
||||
@@ -288,11 +289,16 @@ const fa = {
|
||||
torrentPieceProgressSummary: '{{completed}} از {{total}} قطعه کامل شده · هرکدام {{size}}',
|
||||
torrentPieceProgressMap: 'نقشه تکمیل قطعههای تورنت',
|
||||
torrentWebSeeds: 'وبسیدهای تورنت',
|
||||
torrentWebSeedsHint: 'هر خط بهشکل شماره فایل|نشانی HTTP(S). مسیر فایلهای چندفایلی را Firelink در بخش native میسازد.',
|
||||
torrentWebSeedsPlaceholder: '۰|https://mirror.example/torrent/',
|
||||
torrentWebSeedsHint: 'برای هر فایل تورنت یک نشانی پایهٔ HTTP(S) اضافه کنید. Firelink مسیر فایلهای چندفایلی را خودش میسازد.',
|
||||
torrentWebSeedsApply: 'اعمال وبسیدها',
|
||||
torrentWebSeedsLoading: 'در حال اعمال…',
|
||||
torrentWebSeedsFailed: 'اعتبارسنجی یا اعمال وبسیدهای تورنت انجام نشد.',
|
||||
torrentWebSeedsEmpty: 'وبسیدی تنظیم نشده است.',
|
||||
torrentWebSeedsFile: 'فایل',
|
||||
torrentWebSeedsUri: 'نشانی پایهٔ HTTP(S)',
|
||||
torrentWebSeedsAdd: 'افزودن وبسید',
|
||||
torrentWebSeedsRemove: 'حذف وبسید',
|
||||
torrentWebSeedsInvalid: 'هر ردیف وبسید باید فایل معتبر تورنت و نشانی پایهٔ HTTP(S) بدون اطلاعات ورود یا fragment داشته باشد.',
|
||||
torrentPeerCount: '{{total}} همتا · {{seeders}} سید',
|
||||
torrentPeerDownload: 'دریافت',
|
||||
torrentPeerUpload: 'آپلود',
|
||||
@@ -300,12 +306,22 @@ const fa = {
|
||||
torrentPeerAmChoking: 'محدودسازی از طرف Firelink',
|
||||
torrentPeerChoking: 'محدودسازی از طرف همتا',
|
||||
torrentPeerShowing: 'نمایش {{shown}} همتا از {{total}} همتا.',
|
||||
torrentStatistics: 'آمار تورنت',
|
||||
torrentUploaded: 'آپلودشده',
|
||||
torrentRatio: 'نسبت',
|
||||
torrentSeededDuration: 'مدت سید',
|
||||
torrentConnectedPeers: 'همتاها',
|
||||
torrentSeeders: 'سیدها',
|
||||
torrentUploadSpeed: 'سرعت آپلود',
|
||||
seconds: 'ثانیه',
|
||||
torrentStopTimeout: 'توقف تورنتِ بدون سرعت پس از',
|
||||
torrentStopTimeoutHint: 'آریا۲ پس از این تعداد ثانیه پیاپی با سرعت صفر، تورنت را متوقف میکند. ۰ این سیاست را غیرفعال میکند؛ تغییرات هنگام شروع یا تلاش مجدد اعمال میشوند.',
|
||||
torrentStopTimeoutInvalid: 'مهلت توقف تورنت باید عددی صحیح بین ۰ و ۶۰۴۸۰۰ ثانیه باشد',
|
||||
torrentPrioritizePiece: 'اولویتبندی قطعههای تورنت',
|
||||
torrentPrioritizePieceHint: 'سیاست اختیاری پیشنمایش آریا۲: ابتدا، انتها یا هر دو؛ برای هرکدام میتوان اندازهای مثل 1M نوشت. تغییرات هنگام شروع یا تلاش مجدد اعمال میشوند.',
|
||||
torrentPrioritizePiece: 'اولویت دادن به قطعههای ابتدا/انتها برای پیشنمایش',
|
||||
torrentPrioritizePieceHead: 'اولویت قطعههای ابتدا',
|
||||
torrentPrioritizePieceTail: 'اولویت قطعههای انتها',
|
||||
torrentPrioritizePieceSize: 'اندازهٔ بازهٔ پیشنمایش',
|
||||
torrentPrioritizePieceHint: 'سیاست اختیاری پیشنمایش. هر بازهٔ فعال بهطور پیشفرض 1M است و هنگام شروع یا تلاش مجدد اعمال میشود.',
|
||||
torrentPrioritizePieceInvalid: 'اولویت قطعههای تورنت باید شامل ابتدا یا انتها، با اندازه اختیاری بین 1K و 1024M باشد',
|
||||
torrentEncryptionPolicy: 'سیاست رمزنگاری تورنت',
|
||||
torrentFileAllocation: 'نحوهٔ تخصیص فایل تورنت',
|
||||
@@ -313,6 +329,28 @@ const fa = {
|
||||
torrentFileAllocationNone: 'تخصیص هنگام نیاز',
|
||||
torrentFileAllocationHint: 'تخصیص از پیش فضای فایلهای انتخابشده را قبل از انتقال رزرو میکند؛ تخصیص هنگام نیاز این رزرو اولیه را انجام نمیدهد.',
|
||||
torrentDetails: 'جزئیات تورنت',
|
||||
torrentCopyMagnet: 'کپی پیوند مگنت',
|
||||
torrentExportMetadata: 'خروجی .torrent',
|
||||
torrentMagnetCopied: 'مگنت فقط-هویتی کپی شد.',
|
||||
torrentMagnetCopyFailed: 'کپی پیوند مگنت ناموفق بود.',
|
||||
torrentMetadataExported: 'فراداده تورنت خروجی گرفته شد.',
|
||||
torrentMetadataExportFailed: 'خروجی فراداده تورنت ناموفق بود.',
|
||||
torrentMove: 'جابهجایی داده…',
|
||||
torrentMoveLoading: 'در حال جابهجایی…',
|
||||
torrentMoveCancel: 'لغو جابهجایی',
|
||||
torrentMoveCancelRequested: 'درخواست لغو جابهجایی ارسال شد…',
|
||||
torrentMoveConfirm: 'داده تورنت مدیریتشده به این پوشه منتقل شود؟ فایلهای موجود هرگز بازنویسی نمیشوند.',
|
||||
torrentMoveCompleted: 'داده تورنت جابهجا شد.',
|
||||
torrentMoveFailed: 'جابهجایی داده تورنت ناموفق بود.',
|
||||
torrentAvailability: 'دسترسپذیری شبکه',
|
||||
torrentAvailabilityRefresh: 'تازهسازی',
|
||||
torrentAvailabilityLoading: 'در حال بارگیری دسترسپذیری…',
|
||||
torrentAvailabilityUnavailable: 'دسترسپذیری برای تورنت فعال یا متوقف در دسترس است.',
|
||||
torrentAvailabilityFailed: 'خواندن دسترسپذیری تورنت ناموفق بود.',
|
||||
torrentAvailabilityHint: 'فقط شمارش کلی کپیها نمایش داده میشود؛ هویت همتاها و بیتفیلد خام هرگز نمایش داده نمیشوند.',
|
||||
torrentAvailabilitySummary: '{{availability}} کپی در دسترس · {{peers}} همتای متصل · {{pieces}} قطعه',
|
||||
torrentAvailabilityMap: 'نقشه دسترسپذیری شبکه تورنت',
|
||||
torrentAvailabilityBucket: 'حداقل {{copies}} کپی در این بازه',
|
||||
torrentDetailsLoading: 'در حال دریافت جزئیات تورنت…',
|
||||
torrentDetailsUnavailable: 'جزئیات تورنت در دسترس نیست.',
|
||||
torrentDetailsDisplayName: 'نام نمایشی',
|
||||
@@ -513,12 +551,14 @@ const fa = {
|
||||
moveOneFailed: 'انتقال دانلود به صف ناموفق بود',
|
||||
copyAddressesFailed: 'آدرسها کپی نشدند',
|
||||
copyAddressFailed: 'آدرس کپی نشد',
|
||||
copyMagnetFailed: 'پیوند مگنت کپی نشد',
|
||||
copyPathFailed: 'مسیر فایل کپی نشد',
|
||||
missingFileName: 'نام فایل وجود ندارد',
|
||||
redownloadFailed: 'دانلود مجدد ناموفق بود',
|
||||
startResume: 'شروع/ادامه',
|
||||
addToQueue: 'افزودن به صف',
|
||||
copyAddress: 'کپی آدرس',
|
||||
copyMagnet: 'کپی پیوند مگنت',
|
||||
remove: 'حذف',
|
||||
open: 'باز کردن',
|
||||
showInFolder: 'نمایش در پوشه',
|
||||
@@ -603,8 +643,11 @@ const fa = {
|
||||
torrentStopTimeout: 'توقف تورنتِ بدون سرعت پس از',
|
||||
torrentStopTimeoutHint: 'آریا۲ پس از این تعداد ثانیه پیاپی با سرعت صفر، تورنت را متوقف میکند. ۰ این سیاست را غیرفعال میکند.',
|
||||
torrentStopTimeoutInvalid: 'مهلت توقف تورنت باید عددی صحیح بین ۰ و ۶۰۴۸۰۰ ثانیه باشد',
|
||||
torrentPrioritizePiece: 'اولویتبندی قطعههای تورنت',
|
||||
torrentPrioritizePieceHint: 'با این تورنت ذخیره و در شروع یا تلاش مجدد بعدی اعمال میشود. ابتدا، انتها یا هر دو را با اندازه اختیاری K یا M وارد کنید.',
|
||||
torrentPrioritizePiece: 'اولویت دادن به قطعههای ابتدا/انتها برای پیشنمایش',
|
||||
torrentPrioritizePieceHead: 'اولویت قطعههای ابتدا',
|
||||
torrentPrioritizePieceTail: 'اولویت قطعههای انتها',
|
||||
torrentPrioritizePieceSize: 'اندازهٔ بازهٔ پیشنمایش',
|
||||
torrentPrioritizePieceHint: 'قطعههای ابتدا، انتها یا هر دو را برای پیشنمایش انتخاب کنید. هر بازهٔ فعال بهطور پیشفرض 1M است و در شروع یا تلاش مجدد بعدی اعمال میشود.',
|
||||
torrentPrioritizePieceInvalid: 'اولویت قطعههای تورنت باید شامل ابتدا یا انتها، با اندازه اختیاری بین 1K و 1024M باشد',
|
||||
torrentEncryptionPolicy: 'سیاست رمزنگاری تورنت',
|
||||
torrentEncryptionPolicyHint: 'با این تورنت ذخیره و در شروع یا تلاش مجدد بعدی اعمال میشود. سیاست انتخابی تنظیمات رمزنگاری آریا۲ را سازگار نگه میدارد.',
|
||||
|
||||
+49
-6
@@ -96,6 +96,7 @@ const he = {
|
||||
completed: 'הושלם',
|
||||
failed: 'נכשל',
|
||||
retrying: 'ניסיון חוזר',
|
||||
moving: 'מעביר נתונים',
|
||||
},
|
||||
values: {
|
||||
processing: 'מעבד…',
|
||||
@@ -288,11 +289,16 @@ const he = {
|
||||
torrentPieceProgressSummary: '{{completed}} מתוך {{total}} חלקים הושלמו · {{size}} לכל חלק',
|
||||
torrentPieceProgressMap: 'מפת השלמת חלקי הטורנט',
|
||||
torrentWebSeeds: 'זריעות Web של טורנט',
|
||||
torrentWebSeedsHint: 'שורה אחת לכל זרע בפורמט file index|כתובת HTTP(S). Firelink מרחיב נתיבי קבצים מרובי-קבצים באופן מקורי.',
|
||||
torrentWebSeedsPlaceholder: '0|https://מראה.example/torrent/',
|
||||
torrentWebSeedsHint: 'הוסף כתובת בסיס HTTP(S) אחת לכל קובץ טורנט. Firelink מרחיב נתיבים של טורנטים מרובי-קבצים.',
|
||||
torrentWebSeedsApply: 'החל זריעות Web',
|
||||
torrentWebSeedsLoading: 'מיישם…',
|
||||
torrentWebSeedsFailed: 'לא ניתן לאמת או להחיל את זריעות ה-Web של הטורנט.',
|
||||
torrentWebSeedsEmpty: 'לא הוגדרו זריעות Web.',
|
||||
torrentWebSeedsFile: 'קובץ',
|
||||
torrentWebSeedsUri: 'כתובת בסיס HTTP(S)',
|
||||
torrentWebSeedsAdd: 'הוסף זריעת Web',
|
||||
torrentWebSeedsRemove: 'הסר זריעת Web',
|
||||
torrentWebSeedsInvalid: 'כל שורת זריעת Web צריכה קובץ טורנט תקין וכתובת בסיס HTTP(S) ללא פרטי התחברות או fragment.',
|
||||
torrentPeerCount: '{{total}} עמיתים · {{seeders}} משתפים',
|
||||
torrentPeerDownload: 'הורדה',
|
||||
torrentPeerUpload: 'העלאה',
|
||||
@@ -300,12 +306,22 @@ const he = {
|
||||
torrentPeerAmChoking: 'Firelink מגביל',
|
||||
torrentPeerChoking: 'העמית מגביל',
|
||||
torrentPeerShowing: 'מוצגים {{shown}} מתוך {{total}} עמיתים.',
|
||||
torrentStatistics: 'סטטיסטיקות טורנט',
|
||||
torrentUploaded: 'הועלה',
|
||||
torrentRatio: 'יחס',
|
||||
torrentSeededDuration: 'משך שיתוף',
|
||||
torrentConnectedPeers: 'עמיתים',
|
||||
torrentSeeders: 'משתפים',
|
||||
torrentUploadSpeed: 'מהירות העלאה',
|
||||
seconds: 'שניות',
|
||||
torrentStopTimeout: 'עצירת טורנט תקוע לאחר',
|
||||
torrentStopTimeoutHint: 'Aria2 יעצור את הטורנט לאחר מספר זה של שניות רצופות במהירות 0 B/s. 0 משבית את המדיניות; השינוי חל כשהטורנט מתחיל או מנסה שוב.',
|
||||
torrentStopTimeoutInvalid: 'זמן העצירה של טורנט תקוע חייב להיות מספר שלם בין 0 ל-604800 שניות',
|
||||
torrentPrioritizePiece: 'תעדוף חלקי טורנט',
|
||||
torrentPrioritizePieceHint: 'מדיניות תצוגה מקדימה אופציונלית של Aria2: התחלה, סוף או שניהם; לכל אחד אפשר לציין גודל כמו 1M. השינוי חל בהפעלה או בניסיון חוזר.',
|
||||
torrentPrioritizePiece: 'תעדוף החלקים הראשונים/האחרונים לתצוגה מקדימה',
|
||||
torrentPrioritizePieceHead: 'תעדף חלקים ראשונים',
|
||||
torrentPrioritizePieceTail: 'תעדף חלקים אחרונים',
|
||||
torrentPrioritizePieceSize: 'גודל טווח התצוגה המקדימה',
|
||||
torrentPrioritizePieceHint: 'מדיניות תצוגה מקדימה אופציונלית. כל טווח מופעל מתחיל ב־1M ומוחל כשהטורנט מופעל או מנסה שוב.',
|
||||
torrentPrioritizePieceInvalid: 'תעדוף חלקי טורנט חייב לכלול התחלה ו/או סוף, עם גודל אופציונלי בין 1K ל-1024M',
|
||||
torrentEncryptionPolicy: 'מדיניות הצפנת Torrent',
|
||||
torrentFileAllocation: 'הקצאת קובצי Torrent',
|
||||
@@ -313,6 +329,28 @@ const he = {
|
||||
torrentFileAllocationNone: 'הקצאה לפי הצורך',
|
||||
torrentFileAllocationHint: 'הקצאה מראש שומרת מקום לקבצים לפני ההעברה; הקצאה לפי הצורך נמנעת מהשמירה הראשונית.',
|
||||
torrentDetails: 'פרטי טורנט',
|
||||
torrentCopyMagnet: 'העתקת קישור מגנט',
|
||||
torrentExportMetadata: 'ייצוא .torrent',
|
||||
torrentMagnetCopied: 'קישור מגנט זהותי הועתק.',
|
||||
torrentMagnetCopyFailed: 'לא ניתן להעתיק את קישור המגנט.',
|
||||
torrentMetadataExported: 'מטא־נתוני הטורנט יוצאו.',
|
||||
torrentMetadataExportFailed: 'לא ניתן לייצא את מטא־נתוני הטורנט.',
|
||||
torrentMove: 'העברת נתונים…',
|
||||
torrentMoveLoading: 'מעביר…',
|
||||
torrentMoveCancel: 'ביטול ההעברה',
|
||||
torrentMoveCancelRequested: 'בקשת ביטול נשלחה…',
|
||||
torrentMoveConfirm: 'להעביר את נתוני הטורנט המנוהלים לתיקייה זו? קבצים קיימים לעולם לא יוחלפו.',
|
||||
torrentMoveCompleted: 'נתוני הטורנט הועברו.',
|
||||
torrentMoveFailed: 'לא ניתן להעביר את נתוני הטורנט.',
|
||||
torrentAvailability: 'זמינות הנחיל',
|
||||
torrentAvailabilityRefresh: 'רענון',
|
||||
torrentAvailabilityLoading: 'טוען זמינות…',
|
||||
torrentAvailabilityUnavailable: 'הזמינות זמינה עבור טורנט פעיל או מושהה.',
|
||||
torrentAvailabilityFailed: 'לא ניתן לקרוא את זמינות הטורנט.',
|
||||
torrentAvailabilityHint: 'מוצגים רק מספרי עותקים מצטברים; זהויות עמיתים וביטפילדים גולמיים לעולם אינם נחשפים.',
|
||||
torrentAvailabilitySummary: '{{availability}} עותקים זמינים · {{peers}} עמיתים מחוברים · {{pieces}} חלקים',
|
||||
torrentAvailabilityMap: 'מפת זמינות נחיל הטורנט',
|
||||
torrentAvailabilityBucket: 'לפחות {{copies}} עותקים בטווח זה',
|
||||
torrentDetailsLoading: 'טוען פרטי טורנט…',
|
||||
torrentDetailsUnavailable: 'פרטי הטורנט אינם זמינים.',
|
||||
torrentDetailsDisplayName: 'שם תצוגה',
|
||||
@@ -513,12 +551,14 @@ const he = {
|
||||
moveOneFailed: 'לא ניתן להעביר הורדה לתור',
|
||||
copyAddressesFailed: 'לא ניתן להעתיק כתובות',
|
||||
copyAddressFailed: 'לא ניתן להעתיק כתובת',
|
||||
copyMagnetFailed: 'לא ניתן להעתיק את קישור המגנט',
|
||||
copyPathFailed: 'לא ניתן להעתיק נתיב קובץ',
|
||||
missingFileName: 'שם הקובץ חסר',
|
||||
redownloadFailed: 'הורדה מחדש נכשלה',
|
||||
startResume: 'הפעלה/חידוש',
|
||||
addToQueue: 'הוספה לתור',
|
||||
copyAddress: 'העתקת כתובת',
|
||||
copyMagnet: 'העתקת קישור מגנט',
|
||||
remove: 'הסרה',
|
||||
open: 'פתיחה',
|
||||
showInFolder: 'הצגה בתיקייה',
|
||||
@@ -603,8 +643,11 @@ const he = {
|
||||
torrentStopTimeout: 'עצירת טורנט תקוע לאחר',
|
||||
torrentStopTimeoutHint: 'Aria2 יעצור את הטורנט לאחר מספר זה של שניות רצופות במהירות 0 B/s. 0 משבית את המדיניות.',
|
||||
torrentStopTimeoutInvalid: 'זמן העצירה של טורנט תקוע חייב להיות מספר שלם בין 0 ל-604800 שניות',
|
||||
torrentPrioritizePiece: 'תעדוף חלקי טורנט',
|
||||
torrentPrioritizePieceHint: 'נשמר עם הטורנט ומוחל בהפעלה או בניסיון חוזר. יש להזין התחלה, סוף או שניהם עם גודל K או M אופציונלי.',
|
||||
torrentPrioritizePiece: 'תעדוף החלקים הראשונים/האחרונים לתצוגה מקדימה',
|
||||
torrentPrioritizePieceHead: 'תעדף חלקים ראשונים',
|
||||
torrentPrioritizePieceTail: 'תעדף חלקים אחרונים',
|
||||
torrentPrioritizePieceSize: 'גודל טווח התצוגה המקדימה',
|
||||
torrentPrioritizePieceHint: 'בחר חלקים ראשונים, אחרונים או את שניהם לתצוגה מקדימה. כל טווח מופעל מתחיל ב־1M ומוחל בהפעלה או בניסיון חוזר הבא.',
|
||||
torrentPrioritizePieceInvalid: 'תעדוף חלקי טורנט חייב לכלול התחלה ו/או סוף, עם גודל אופציונלי בין 1K ל-1024M',
|
||||
torrentEncryptionPolicy: 'מדיניות הצפנת Torrent',
|
||||
torrentEncryptionPolicyHint: 'נשמרת עם ה-Torrent ומוחלת בהפעלה או בניסיון חוזר. המדיניות שומרת על הגדרות ההצפנה של Aria2 עקביות.',
|
||||
|
||||
+49
-6
@@ -96,6 +96,7 @@ const ru = {
|
||||
completed: 'Завершено',
|
||||
failed: 'Ошибка',
|
||||
retrying: 'Повторная попытка',
|
||||
moving: 'Перемещение данных',
|
||||
},
|
||||
values: {
|
||||
processing: 'Обработка…',
|
||||
@@ -288,11 +289,16 @@ const ru = {
|
||||
torrentPieceProgressSummary: '{{completed}} из {{total}} частей завершено · по {{size}} на часть',
|
||||
torrentPieceProgressMap: 'Карта завершения частей торрента',
|
||||
torrentWebSeeds: 'Веб-сиды торрента',
|
||||
torrentWebSeedsHint: 'Одна строка на сид в формате индекс файла|HTTP(S)-URI. Firelink сам расширяет пути многофайловых торрентов.',
|
||||
torrentWebSeedsPlaceholder: '0|https://зеркало.example/torrent/',
|
||||
torrentWebSeedsHint: 'Добавьте по одному базовому HTTP(S)-адресу для каждого файла торрента. Firelink сам расширит пути многофайлового торрента.',
|
||||
torrentWebSeedsApply: 'Применить веб-сиды',
|
||||
torrentWebSeedsLoading: 'Применение…',
|
||||
torrentWebSeedsFailed: 'Не удалось проверить или применить веб-сиды торрента.',
|
||||
torrentWebSeedsEmpty: 'Веб-сиды не настроены.',
|
||||
torrentWebSeedsFile: 'Файл',
|
||||
torrentWebSeedsUri: 'Базовый HTTP(S)-адрес',
|
||||
torrentWebSeedsAdd: 'Добавить веб-сид',
|
||||
torrentWebSeedsRemove: 'Удалить веб-сид',
|
||||
torrentWebSeedsInvalid: 'В каждой строке веб-сида нужны допустимый файл торрента и базовый HTTP(S)-адрес без учётных данных или фрагмента.',
|
||||
torrentPeerCount: '{{total}} пиров · {{seeders}} сидеров',
|
||||
torrentPeerDownload: 'Загрузка',
|
||||
torrentPeerUpload: 'Отдача',
|
||||
@@ -300,12 +306,22 @@ const ru = {
|
||||
torrentPeerAmChoking: 'Firelink ограничивает',
|
||||
torrentPeerChoking: 'Пир ограничивает',
|
||||
torrentPeerShowing: 'Показано {{shown}} из {{total}} пиров.',
|
||||
torrentStatistics: 'Статистика торрента',
|
||||
torrentUploaded: 'Отдано',
|
||||
torrentRatio: 'Коэффициент',
|
||||
torrentSeededDuration: 'Время раздачи',
|
||||
torrentConnectedPeers: 'Пиры',
|
||||
torrentSeeders: 'Сиды',
|
||||
torrentUploadSpeed: 'Скорость отдачи',
|
||||
seconds: 'секунд',
|
||||
torrentStopTimeout: 'Останавливать неактивный торрент через',
|
||||
torrentStopTimeoutHint: 'Aria2 остановит этот торрент после указанного числа секунд подряд при скорости 0 Б/с. 0 отключает правило; изменения применяются при запуске или повторной попытке.',
|
||||
torrentStopTimeoutInvalid: 'Тайм-аут неактивного торрента должен быть целым числом от 0 до 604800 секунд',
|
||||
torrentPrioritizePiece: 'Приоритет частей торрента',
|
||||
torrentPrioritizePieceHint: 'Необязательная политика предпросмотра Aria2: начало, конец или оба варианта; для каждого можно указать размер, например 1M. Применяется при запуске или повторной попытке.',
|
||||
torrentPrioritizePiece: 'Приоритет первых/последних частей для предпросмотра',
|
||||
torrentPrioritizePieceHead: 'Приоритет первых частей',
|
||||
torrentPrioritizePieceTail: 'Приоритет последних частей',
|
||||
torrentPrioritizePieceSize: 'Размер диапазона предпросмотра',
|
||||
torrentPrioritizePieceHint: 'Необязательная политика предпросмотра. Каждый включённый диапазон по умолчанию равен 1M и применяется при запуске или повторной попытке.',
|
||||
torrentPrioritizePieceInvalid: 'Приоритет частей торрента должен содержать начало и/или конец с необязательным размером от 1K до 1024M',
|
||||
torrentEncryptionPolicy: 'Политика шифрования Torrent',
|
||||
torrentFileAllocation: 'Выделение места для файлов Torrent',
|
||||
@@ -314,6 +330,28 @@ const ru = {
|
||||
torrentFileAllocationHint: 'Предварительное выделение резервирует место до передачи; выделение по мере необходимости не делает начальное резервирование.',
|
||||
torrentEncryptionPolicyHint: 'Применяется при запуске или повторной попытке Torrent. Выберите одну политику, чтобы параметры handshake и шифрования payload оставались согласованными.',
|
||||
torrentDetails: 'Сведения о Torrent',
|
||||
torrentCopyMagnet: 'Копировать magnet-ссылку',
|
||||
torrentExportMetadata: 'Экспортировать .torrent',
|
||||
torrentMagnetCopied: 'Magnet-ссылка только с идентификатором скопирована.',
|
||||
torrentMagnetCopyFailed: 'Не удалось скопировать magnet-ссылку.',
|
||||
torrentMetadataExported: 'Метаданные Torrent экспортированы.',
|
||||
torrentMetadataExportFailed: 'Не удалось экспортировать метаданные Torrent.',
|
||||
torrentMove: 'Переместить данные…',
|
||||
torrentMoveLoading: 'Перемещение…',
|
||||
torrentMoveCancel: 'Отменить перемещение',
|
||||
torrentMoveCancelRequested: 'Запрос на отмену отправлен…',
|
||||
torrentMoveConfirm: 'Переместить управляемые данные Torrent в эту папку? Существующие файлы не перезаписываются.',
|
||||
torrentMoveCompleted: 'Данные Torrent перемещены.',
|
||||
torrentMoveFailed: 'Не удалось переместить данные Torrent.',
|
||||
torrentAvailability: 'Доступность раздачи',
|
||||
torrentAvailabilityRefresh: 'Обновить',
|
||||
torrentAvailabilityLoading: 'Загрузка доступности…',
|
||||
torrentAvailabilityUnavailable: 'Доступность доступна для активного или приостановленного Torrent.',
|
||||
torrentAvailabilityFailed: 'Не удалось прочитать доступность Torrent.',
|
||||
torrentAvailabilityHint: 'Показываются только агрегированные копии; идентификаторы пиров и исходные битовые поля не раскрываются.',
|
||||
torrentAvailabilitySummary: '{{availability}} доступных копий · {{peers}} подключённых пиров · {{pieces}} частей',
|
||||
torrentAvailabilityMap: 'Карта доступности раздачи Torrent',
|
||||
torrentAvailabilityBucket: 'Не менее {{copies}} копий в этом диапазоне',
|
||||
torrentDetailsLoading: 'Загрузка сведений о Torrent…',
|
||||
torrentDetailsUnavailable: 'Сведения о Torrent недоступны.',
|
||||
torrentDetailsDisplayName: 'Отображаемое имя',
|
||||
@@ -513,12 +551,14 @@ const ru = {
|
||||
moveOneFailed: 'Не удалось переместить загрузку в очередь',
|
||||
copyAddressesFailed: 'Не удалось скопировать адреса',
|
||||
copyAddressFailed: 'Не удалось скопировать адрес',
|
||||
copyMagnetFailed: 'Не удалось скопировать magnet-ссылку',
|
||||
copyPathFailed: 'Не удалось скопировать путь к файлу',
|
||||
missingFileName: 'Отсутствует имя файла',
|
||||
redownloadFailed: 'Не удалось скачать повторно',
|
||||
startResume: 'Запустить/Возобновить',
|
||||
addToQueue: 'Добавить в очередь',
|
||||
copyAddress: 'Скопировать адрес',
|
||||
copyMagnet: 'Копировать magnet-ссылку',
|
||||
remove: 'Удалить',
|
||||
open: 'Открыть',
|
||||
showInFolder: 'Показать в папке',
|
||||
@@ -603,8 +643,11 @@ const ru = {
|
||||
torrentStopTimeout: 'Останавливать неактивный торрент через',
|
||||
torrentStopTimeoutHint: 'Aria2 остановит этот торрент после указанного числа секунд подряд при скорости 0 Б/с. 0 отключает правило.',
|
||||
torrentStopTimeoutInvalid: 'Тайм-аут неактивного торрента должен быть целым числом от 0 до 604800 секунд',
|
||||
torrentPrioritizePiece: 'Приоритет частей торрента',
|
||||
torrentPrioritizePieceHint: 'Сохраняется с торрентом и применяется при следующем запуске или повторной попытке. Укажите начало, конец или оба варианта с размером K или M.',
|
||||
torrentPrioritizePiece: 'Приоритет первых/последних частей для предпросмотра',
|
||||
torrentPrioritizePieceHead: 'Приоритет первых частей',
|
||||
torrentPrioritizePieceTail: 'Приоритет последних частей',
|
||||
torrentPrioritizePieceSize: 'Размер диапазона предпросмотра',
|
||||
torrentPrioritizePieceHint: 'Выберите первые, последние части или оба варианта для предпросмотра. Каждый включённый диапазон по умолчанию равен 1M и применяется при следующем запуске или повторной попытке.',
|
||||
torrentPrioritizePieceInvalid: 'Приоритет частей торрента должен содержать начало и/или конец с необязательным размером от 1K до 1024M',
|
||||
torrentEncryptionPolicy: 'Политика шифрования Torrent',
|
||||
torrentEncryptionPolicyHint: 'Сохраняется вместе с Torrent и применяется при следующем запуске или повторной попытке. Выбранная политика согласует параметры шифрования Aria2.',
|
||||
|
||||
+49
-6
@@ -96,6 +96,7 @@ const uk = {
|
||||
completed: 'Завершено',
|
||||
failed: 'Помилка',
|
||||
retrying: 'Повторна спроба',
|
||||
moving: 'Переміщення даних',
|
||||
},
|
||||
values: {
|
||||
processing: 'Обробка…',
|
||||
@@ -288,11 +289,16 @@ const uk = {
|
||||
torrentPieceProgressSummary: '{{completed}} із {{total}} частин завершено · по {{size}} на частину',
|
||||
torrentPieceProgressMap: 'Карта завершення частин торрента',
|
||||
torrentWebSeeds: 'Вебсіди торента',
|
||||
torrentWebSeedsHint: 'Один рядок на сід у форматі індекс файлу|HTTP(S)-URI. Firelink сам розгортає шляхи багатофайлових торентів.',
|
||||
torrentWebSeedsPlaceholder: '0|https://дзеркало.example/torrent/',
|
||||
torrentWebSeedsHint: 'Додайте одну базову HTTP(S)-адресу для кожного файлу торента. Firelink сам розгорне шляхи багатофайлового торента.',
|
||||
torrentWebSeedsApply: 'Застосувати вебсіди',
|
||||
torrentWebSeedsLoading: 'Застосування…',
|
||||
torrentWebSeedsFailed: 'Не вдалося перевірити або застосувати вебсіди торента.',
|
||||
torrentWebSeedsEmpty: 'Вебсіди не налаштовано.',
|
||||
torrentWebSeedsFile: 'Файл',
|
||||
torrentWebSeedsUri: 'Базова HTTP(S)-адреса',
|
||||
torrentWebSeedsAdd: 'Додати вебсід',
|
||||
torrentWebSeedsRemove: 'Видалити вебсід',
|
||||
torrentWebSeedsInvalid: 'Кожен рядок вебсіду має містити дійсний файл торента й базову HTTP(S)-адресу без облікових даних або фрагмента.',
|
||||
torrentPeerCount: '{{total}} пірів · {{seeders}} сідів',
|
||||
torrentPeerDownload: 'Завантаження',
|
||||
torrentPeerUpload: 'Віддача',
|
||||
@@ -300,12 +306,22 @@ const uk = {
|
||||
torrentPeerAmChoking: 'Firelink обмежує',
|
||||
torrentPeerChoking: 'Пір обмежує',
|
||||
torrentPeerShowing: 'Показано {{shown}} із {{total}} пірів.',
|
||||
torrentStatistics: 'Статистика торента',
|
||||
torrentUploaded: 'Віддано',
|
||||
torrentRatio: 'Коефіцієнт',
|
||||
torrentSeededDuration: 'Час роздачі',
|
||||
torrentConnectedPeers: 'Піри',
|
||||
torrentSeeders: 'Сіди',
|
||||
torrentUploadSpeed: 'Швидкість віддачі',
|
||||
seconds: 'секунд',
|
||||
torrentStopTimeout: 'Зупиняти торрент без швидкості через',
|
||||
torrentStopTimeoutHint: 'Aria2 зупинить цей торрент після вказаної кількості секунд поспіль зі швидкістю 0 Б/с. 0 вимикає правило; зміни застосовуються під час запуску або повторної спроби.',
|
||||
torrentStopTimeoutInvalid: 'Тайм-аут зупинки торрента має бути цілим числом від 0 до 604800 секунд',
|
||||
torrentPrioritizePiece: 'Пріоритет частин торрента',
|
||||
torrentPrioritizePieceHint: 'Необов’язкова політика попереднього перегляду Aria2: початок, кінець або обидва варіанти; для кожного можна вказати розмір, наприклад 1M. Застосовується під час запуску або повторної спроби.',
|
||||
torrentPrioritizePiece: 'Пріоритет перших/останніх частин для попереднього перегляду',
|
||||
torrentPrioritizePieceHead: 'Пріоритет перших частин',
|
||||
torrentPrioritizePieceTail: 'Пріоритет останніх частин',
|
||||
torrentPrioritizePieceSize: 'Розмір діапазону попереднього перегляду',
|
||||
torrentPrioritizePieceHint: 'Необов’язкова політика попереднього перегляду. Кожен увімкнений діапазон за замовчуванням має розмір 1M і застосовується під час запуску або повторної спроби.',
|
||||
torrentPrioritizePieceInvalid: 'Пріоритет частин торрента має містити початок і/або кінець із необов’язковим розміром від 1K до 1024M',
|
||||
torrentEncryptionPolicy: 'Політика шифрування Torrent',
|
||||
torrentFileAllocation: 'Виділення місця для файлів Torrent',
|
||||
@@ -314,6 +330,28 @@ const uk = {
|
||||
torrentFileAllocationHint: 'Попереднє виділення резервує місце до передачі; виділення за потреби не робить початкового резервування.',
|
||||
torrentEncryptionPolicyHint: 'Застосовується під час запуску або повторної спроби Torrent. Виберіть одну політику, щоб параметри handshake і шифрування payload залишалися узгодженими.',
|
||||
torrentDetails: 'Відомості про Torrent',
|
||||
torrentCopyMagnet: 'Копіювати magnet-посилання',
|
||||
torrentExportMetadata: 'Експортувати .torrent',
|
||||
torrentMagnetCopied: 'Magnet-посилання лише з ідентифікатором скопійовано.',
|
||||
torrentMagnetCopyFailed: 'Не вдалося скопіювати magnet-посилання.',
|
||||
torrentMetadataExported: 'Метадані Torrent експортовано.',
|
||||
torrentMetadataExportFailed: 'Не вдалося експортувати метадані Torrent.',
|
||||
torrentMove: 'Перемістити дані…',
|
||||
torrentMoveLoading: 'Переміщення…',
|
||||
torrentMoveCancel: 'Скасувати переміщення',
|
||||
torrentMoveCancelRequested: 'Запит на скасування надіслано…',
|
||||
torrentMoveConfirm: 'Перемістити керовані дані Torrent до цієї папки? Наявні файли не перезаписуються.',
|
||||
torrentMoveCompleted: 'Дані Torrent переміщено.',
|
||||
torrentMoveFailed: 'Не вдалося перемістити дані Torrent.',
|
||||
torrentAvailability: 'Доступність рою',
|
||||
torrentAvailabilityRefresh: 'Оновити',
|
||||
torrentAvailabilityLoading: 'Завантаження доступності…',
|
||||
torrentAvailabilityUnavailable: 'Доступність доступна для активного або призупиненого Torrent.',
|
||||
torrentAvailabilityFailed: 'Не вдалося прочитати доступність Torrent.',
|
||||
torrentAvailabilityHint: 'Показано лише агреговані копії; ідентифікатори пірів і сирі бітові поля не розкриваються.',
|
||||
torrentAvailabilitySummary: '{{availability}} доступних копій · {{peers}} підключених пірів · {{pieces}} частин',
|
||||
torrentAvailabilityMap: 'Мапа доступності рою Torrent',
|
||||
torrentAvailabilityBucket: 'Щонайменше {{copies}} копій у цьому діапазоні',
|
||||
torrentDetailsLoading: 'Завантаження відомостей про Torrent…',
|
||||
torrentDetailsUnavailable: 'Відомості про Torrent недоступні.',
|
||||
torrentDetailsDisplayName: 'Назва',
|
||||
@@ -513,12 +551,14 @@ const uk = {
|
||||
moveOneFailed: 'Не вдалося перемістити завантаження до черги',
|
||||
copyAddressesFailed: 'Не вдалося скопіювати адреси',
|
||||
copyAddressFailed: 'Не вдалося скопіювати адресу',
|
||||
copyMagnetFailed: 'Не вдалося скопіювати magnet-посилання',
|
||||
copyPathFailed: 'Не вдалося скопіювати шлях до файлу',
|
||||
missingFileName: 'Ім\'я файлу відсутнє',
|
||||
redownloadFailed: 'Не вдалося повторно завантажити',
|
||||
startResume: 'Запустити/Відновити',
|
||||
addToQueue: 'Додати до черги',
|
||||
copyAddress: 'Скопіювати адресу',
|
||||
copyMagnet: 'Копіювати magnet-посилання',
|
||||
remove: 'Видалити',
|
||||
open: 'Відкрити',
|
||||
showInFolder: 'Показати в папці',
|
||||
@@ -603,8 +643,11 @@ const uk = {
|
||||
torrentStopTimeout: 'Зупиняти торрент без швидкості через',
|
||||
torrentStopTimeoutHint: 'Aria2 зупинить цей торрент після вказаної кількості секунд поспіль зі швидкістю 0 Б/с. 0 вимикає правило.',
|
||||
torrentStopTimeoutInvalid: 'Тайм-аут зупинки торрента має бути цілим числом від 0 до 604800 секунд',
|
||||
torrentPrioritizePiece: 'Пріоритет частин торрента',
|
||||
torrentPrioritizePieceHint: 'Зберігається разом із торрентом і застосовується під час наступного запуску або повторної спроби. Укажіть початок, кінець або обидва варіанти з розміром K чи M.',
|
||||
torrentPrioritizePiece: 'Пріоритет перших/останніх частин для попереднього перегляду',
|
||||
torrentPrioritizePieceHead: 'Пріоритет перших частин',
|
||||
torrentPrioritizePieceTail: 'Пріоритет останніх частин',
|
||||
torrentPrioritizePieceSize: 'Розмір діапазону попереднього перегляду',
|
||||
torrentPrioritizePieceHint: 'Виберіть перші, останні частини або обидва варіанти для попереднього перегляду. Кожен увімкнений діапазон за замовчуванням має розмір 1M і застосовується під час наступного запуску або повторної спроби.',
|
||||
torrentPrioritizePieceInvalid: 'Пріоритет частин торрента має містити початок і/або кінець із необов’язковим розміром від 1K до 1024M',
|
||||
torrentEncryptionPolicy: 'Політика шифрування Torrent',
|
||||
torrentEncryptionPolicyHint: 'Зберігається разом із Torrent і застосовується під час наступного запуску або повторної спроби. Вибрана політика узгоджує параметри шифрування Aria2.',
|
||||
|
||||
@@ -96,6 +96,7 @@ const zhCN = {
|
||||
completed: '已完成',
|
||||
failed: '失败',
|
||||
retrying: '重试中',
|
||||
moving: '正在移动数据',
|
||||
},
|
||||
values: {
|
||||
processing: '处理中…',
|
||||
@@ -288,11 +289,16 @@ const zhCN = {
|
||||
torrentPieceProgressSummary: '{{completed}}/{{total}} 个分片已完成 · 每片 {{size}}',
|
||||
torrentPieceProgressMap: 'Torrent 分片完成度地图',
|
||||
torrentWebSeeds: 'Torrent Web 做种',
|
||||
torrentWebSeedsHint: '每行一个做种,格式为文件索引|HTTP(S) URI。多文件路径由 Firelink 原生展开。',
|
||||
torrentWebSeedsPlaceholder: '0|https://镜像.example/torrent/',
|
||||
torrentWebSeedsHint: '为每个 Torrent 文件添加一个 HTTP(S) 基础地址。多文件路径由 Firelink 原生展开。',
|
||||
torrentWebSeedsApply: '应用 Web 做种',
|
||||
torrentWebSeedsLoading: '正在应用…',
|
||||
torrentWebSeedsFailed: '无法验证或应用 Torrent Web 做种。',
|
||||
torrentWebSeedsEmpty: '尚未配置 Web 做种。',
|
||||
torrentWebSeedsFile: '文件',
|
||||
torrentWebSeedsUri: 'HTTP(S) 基础地址',
|
||||
torrentWebSeedsAdd: '添加 Web 做种',
|
||||
torrentWebSeedsRemove: '移除 Web 做种',
|
||||
torrentWebSeedsInvalid: '每行 Web 做种都需要有效的 Torrent 文件和不含凭据或片段的 HTTP(S) 基础地址。',
|
||||
torrentPeerCount: '{{total}} 个节点 · {{seeders}} 个做种节点',
|
||||
torrentPeerDownload: '下载',
|
||||
torrentPeerUpload: '上传',
|
||||
@@ -300,12 +306,22 @@ const zhCN = {
|
||||
torrentPeerAmChoking: 'Firelink 限制中',
|
||||
torrentPeerChoking: '对等节点限制中',
|
||||
torrentPeerShowing: '显示 {{total}} 个节点中的 {{shown}} 个。',
|
||||
torrentStatistics: '种子统计',
|
||||
torrentUploaded: '已上传',
|
||||
torrentRatio: '分享率',
|
||||
torrentSeededDuration: '做种时长',
|
||||
torrentConnectedPeers: '连接数',
|
||||
torrentSeeders: '种子数',
|
||||
torrentUploadSpeed: '上传速度',
|
||||
seconds: '秒',
|
||||
torrentStopTimeout: '在此时间后停止无速度 Torrent',
|
||||
torrentStopTimeoutHint: 'Aria2 会在速度连续为 0 B/s 达到此秒数后停止该 Torrent。0 表示禁用;更改会在 Torrent 启动或重试时应用。',
|
||||
torrentStopTimeoutInvalid: 'Torrent 停止超时必须是 0 到 604800 秒之间的整数',
|
||||
torrentPrioritizePiece: '优先下载 Torrent 片段',
|
||||
torrentPrioritizePieceHint: '可选的 Aria2 预览策略:开头、结尾或两者;每项可使用 1M 等大小。Torrent 启动或重试时应用。',
|
||||
torrentPrioritizePiece: '为预览优先下载开头/结尾片段',
|
||||
torrentPrioritizePieceHead: '优先下载开头片段',
|
||||
torrentPrioritizePieceTail: '优先下载结尾片段',
|
||||
torrentPrioritizePieceSize: '预览片段范围大小',
|
||||
torrentPrioritizePieceHint: '可选的预览策略。每个启用的范围默认为 1M,并在 Torrent 启动或重试时应用。',
|
||||
torrentPrioritizePieceInvalid: 'Torrent 片段优先级必须使用开头和/或结尾,并可选 1K 到 1024M 的大小',
|
||||
torrentEncryptionPolicy: 'Torrent 加密策略',
|
||||
torrentFileAllocation: 'Torrent 文件分配',
|
||||
@@ -314,6 +330,28 @@ const zhCN = {
|
||||
torrentFileAllocationHint: '预分配会在传输前为选中文件预留空间;按需分配不会进行初始磁盘预留。',
|
||||
torrentEncryptionPolicyHint: '在 Torrent 启动或重试时应用。选择单一策略,确保握手和 payload 加密设置保持一致。',
|
||||
torrentDetails: 'Torrent 详细信息',
|
||||
torrentCopyMagnet: '复制磁力链接',
|
||||
torrentExportMetadata: '导出 .torrent',
|
||||
torrentMagnetCopied: '仅包含身份信息的磁力链接已复制。',
|
||||
torrentMagnetCopyFailed: '无法复制磁力链接。',
|
||||
torrentMetadataExported: 'Torrent 元数据已导出。',
|
||||
torrentMetadataExportFailed: '无法导出 Torrent 元数据。',
|
||||
torrentMove: '移动数据…',
|
||||
torrentMoveLoading: '正在移动…',
|
||||
torrentMoveCancel: '取消移动',
|
||||
torrentMoveCancelRequested: '已请求取消移动…',
|
||||
torrentMoveConfirm: '要将托管的 Torrent 数据移动到此文件夹吗?不会覆盖现有文件。',
|
||||
torrentMoveCompleted: 'Torrent 数据已移动。',
|
||||
torrentMoveFailed: '无法移动 Torrent 数据。',
|
||||
torrentAvailability: '种群可用性',
|
||||
torrentAvailabilityRefresh: '刷新',
|
||||
torrentAvailabilityLoading: '正在加载可用性…',
|
||||
torrentAvailabilityUnavailable: '活动或暂停的 Torrent 可查看可用性。',
|
||||
torrentAvailabilityFailed: '无法读取 Torrent 可用性。',
|
||||
torrentAvailabilityHint: '仅显示聚合副本数量;不会暴露节点身份或原始位字段。',
|
||||
torrentAvailabilitySummary: '{{availability}} 个可用副本 · {{peers}} 个已连接节点 · {{pieces}} 个分片',
|
||||
torrentAvailabilityMap: 'Torrent 种群可用性图',
|
||||
torrentAvailabilityBucket: '此范围至少有 {{copies}} 个副本',
|
||||
torrentDetailsLoading: '正在加载 Torrent 详细信息…',
|
||||
torrentDetailsUnavailable: 'Torrent 详细信息不可用。',
|
||||
torrentDetailsDisplayName: '显示名称',
|
||||
@@ -513,12 +551,14 @@ const zhCN = {
|
||||
moveOneFailed: '无法将下载移动到队列',
|
||||
copyAddressesFailed: '无法复制地址',
|
||||
copyAddressFailed: '无法复制地址',
|
||||
copyMagnetFailed: '无法复制磁力链接',
|
||||
copyPathFailed: '无法复制文件路径',
|
||||
missingFileName: '缺少文件名',
|
||||
redownloadFailed: '重新下载失败',
|
||||
startResume: '开始/恢复',
|
||||
addToQueue: '添加到队列',
|
||||
copyAddress: '复制地址',
|
||||
copyMagnet: '复制磁力链接',
|
||||
remove: '移除',
|
||||
open: '打开',
|
||||
showInFolder: '在文件夹中显示',
|
||||
@@ -603,8 +643,11 @@ const zhCN = {
|
||||
torrentStopTimeout: '在此时间后停止无速度 Torrent',
|
||||
torrentStopTimeoutHint: 'Aria2 会在速度连续为 0 B/s 达到此秒数后停止该 Torrent。0 表示禁用。',
|
||||
torrentStopTimeoutInvalid: 'Torrent 停止超时必须是 0 到 604800 秒之间的整数',
|
||||
torrentPrioritizePiece: '优先下载 Torrent 片段',
|
||||
torrentPrioritizePieceHint: '随 Torrent 保存,并在下次启动或重试时应用。可使用开头、结尾或两者,并可选 K 或 M 大小。',
|
||||
torrentPrioritizePiece: '为预览优先下载开头/结尾片段',
|
||||
torrentPrioritizePieceHead: '优先下载开头片段',
|
||||
torrentPrioritizePieceTail: '优先下载结尾片段',
|
||||
torrentPrioritizePieceSize: '预览片段范围大小',
|
||||
torrentPrioritizePieceHint: '选择开头片段、结尾片段或两者用于预览。每个启用的范围默认为 1M,并在下次启动或重试时应用。',
|
||||
torrentPrioritizePieceInvalid: 'Torrent 片段优先级必须使用开头和/或结尾,并可选 1K 到 1024M 的大小',
|
||||
torrentEncryptionPolicy: 'Torrent 加密策略',
|
||||
torrentEncryptionPolicyHint: '随 Torrent 保存,并在下次启动或重试时应用。所选策略会保持 Aria2 加密设置一致。',
|
||||
|
||||
Reference in New Issue
Block a user