feat(i18n): complete locale coverage for ported features + localized Android update dialog (#242)

* feat(desktop): share dialog on Linux/macOS via cloudreve://share deeplink

The Explorer context menu is Windows-only; the share dialog itself is
cross-platform but had no trigger elsewhere. cloudreve://share/<encoded
local path> now routes through the same ManagerCommand::ShareLink
pipeline, and desktop/linux/ ships a cloudreve-share helper plus
Nautilus script and Dolphin service-menu glue so file managers can
reach it. OAuth callback deeplinks are unaffected.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>

* fix(desktop): don't drop share deep links at startup

Queue cloudreve://share/ links arriving before APP_STATE init and drain
after the sync service is up; also scan argv for a cloudreve:// URL so a
cold start launched by the file manager still opens the share dialog.
Nautilus script now reads NAUTILUS_SCRIPT_SELECTED_FILE_PATHS per line so
paths with spaces survive.

* feat(desktop): macOS share helper + file-manager install docs

cloudreve-share for macOS (open cloudreve://share/...) plus Shortcuts
Quick Action recipe for Finder. READMEs document Nautilus, Dolphin, and
Finder installation.

* feat: in-app updates (GitHub desktop, Play Android) + i18n fixes

Desktop (GitHub builds):
- tauri-plugin-updater wired to releases/latest/latest.json; minisign
  keypair generated, private key in TAURI_SIGNING_PRIVATE_KEY secrets
- Startup check prompts once per version (config.prompted_update_version);
  About page gains a manual 'Check for updates' entry
- New /update window: version + notes -> in-app download overlay with
  progress events -> install -> restart via app.restart()
- Release workflow signs updater artifacts, uploads .sig/.app.tar.gz/
  .AppImage.tar.gz, and a new updater-manifest job emits latest.json
  (desktop/scripts/gen_latest_json.py); tauri-action path signs natively
- Desktop version bumped 0.2.0 -> 0.3.0 so released updates register

Android (Play builds):
- Play in-app update check on resume -> in-app dialog -> official
  IMMEDIATE update sheet (app-update-ktx); once per version via prefs
- targetSdk/compileSdk 36 + AGP 8.9.3 (Play requires >= 36); bumped to
  versionCode 2 / 1.1.0 — uploaded and published on internal track

i18n:
- Desktop: translated share.* + settings.notificationSettings into all
  10 non-English locales; added update.* everywhere; popup time strings
  (justNow/minutesAgo/...) localized via i18n.t in utils
- Frontend: added 4 keys missing from en-US (raw-key rendering):
  modals.anonymous, modals.shareTargetsCount, common.save,
  file.selectUser (+ event.allEventTypes for zh-CN); fixed two
  mistyped keys (uplaoder->uploader, uploader:->application:uploader)

* feat(i18n): complete translations for ported premium features

- Fill ~440 missing keys per locale across application/dashboard/common
  in all 10 non-en/zh-CN locales (SMS auth, SSO/OIDC errors, ACLs, paid
  shares, vault, remote download, CDN routes, storage relocation, gift
  codes, delegated admin, abuse reports, blob audit, etc.)
- zh-TW generated from zh-CN via OpenCC s2twp and reviewed
- Fix placeholder fidelity: restore {{eta}}/{{time}}/{{message}} and
  Trans <0>/<1> tags dropped by older translations, fix malformed tags
- Android: localize Play in-app update dialog via string resources in
  12 locales instead of hardcoded English

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>

* chore: retrigger ci

* docs: log in-app updates + full locale coverage in roadmap

---------

Co-authored-by: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
pull/3593/head
Tomáš Dvořák 2 weeks ago committed by GitHub
parent 8c6cbe09a0
commit d18d8dfdc1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -253,6 +253,8 @@ Goal: Windows + macOS + Linux from the `desktop/` tree in this repo.
- [x] #167 (upstream desktop#49) — online-only thumbnails missing in Explorer: root cause was a client/server contract mismatch — the CE `/file/thumb` response carries only `url`/`expires` while the `cloudreve-api` model required `obfuscated`, failing deserialization on every thumbnail request (`E_FAIL` to Explorer; hydrated files were unaffected since Windows thumbs them locally). `obfuscated` is now `#[serde(default)]`; the decode path still runs when a server emits the flag
- [x] Linux on-demand hydration via FUSE (`fuser`) — new "On-demand" sync mode in Add Drive (Linux-only picker): remote tree projects virtually into a FUSE mount at the configured path backed by inventory; files hydrate into a private store (`~/.cloudreve/fuse-store/<id>`) on open with per-path serialization, sibling tmp dir + atomic rename, zero kernel cache TTLs; the watcher/sync engine operate on the store so hydrated edits sync normally; remote refreshes evict stale hydrated copies (event-blocked so no remote delete); engine writes gated by `local_updated_at`/`local_size` snapshots so downloads/hydrations never boomerang into uploads; `unlink`/`rename` on virtual files route through synthesized events + `MountCommand::Rename`; full-sync mode unchanged on Linux/macOS; covered by a real kernel-mount integration test (`tests/fuse_mount.rs`)
- [x] #160 (upstream desktop#34) — FileCloud-style quick share: Explorer "Share link…" submenu item opens a share dialog window (new `ManagerCommand::ShareLink` → `OpenShareDialog` event → dedicated `share` webview window + `/share` route) with permission mode (view+download / preview-only / edit / folder upload-only), expiry, password, and download limit mapped to the full `PUT /share` surface (`ShareCreateService` gained the option fields); "Copy share link" stays as the one-click public-link action alongside it; on Linux/macOS the same dialog is reachable via the `cloudreve://share/<path>` deep link — `desktop/linux/` ships a `cloudreve-share` helper plus Nautilus script and Dolphin service-menu definitions
- [x] In-app updates — desktop: `tauri-plugin-updater` checks `releases/latest/latest.json` at startup (prompted-version persisted to avoid re-nagging), `/update` window shows release notes + live download overlay + relaunch, manual check in About; minisign keypair signs updater artifacts, `updater-manifest` job publishes `latest.json` in both release workflows; Android: `app-update-ktx` IMMEDIATE flow — resume-time check → once-per-version dialog → official Play update sheet
- [x] Full locale coverage for ported features — ~440 previously-missing keys per locale filled across `application`/`dashboard`/`common` in all 10 non-en/zh locales (SMS auth, SSO errors, ACLs, paid shares, vault, CDN routes, relocation, gift codes, delegated admin, abuse reports); zh-TW via OpenCC `s2twp`; placeholder/Trans-tag fidelity audit fixed `{{eta}}`/`{{time}}`/`{{message}}` drops and malformed tags; Android update dialog localized via `values-*/strings.xml` in 12 locales
## 7. Phase E — Android app (native, no iOS)

@ -17,6 +17,7 @@ import androidx.compose.runtime.getValue
import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import androidx.lifecycle.ViewModel
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.viewmodel.compose.viewModel
@ -151,17 +152,17 @@ fun App() {
if (updateInfo != null) {
AlertDialog(
onDismissRequest = { app.playUpdateAvailable.value = null },
title = { Text("Update available") },
text = { Text("A new version of Cloudreve Mobile is available on Google Play.") },
title = { Text(stringResource(R.string.update_available_title)) },
text = { Text(stringResource(R.string.update_available_message)) },
confirmButton = {
TextButton(onClick = {
app.playUpdateAvailable.value = null
(context as? MainActivity)?.launchPlayUpdate()
}) { Text("Update") }
}) { Text(stringResource(R.string.update_now)) }
},
dismissButton = {
TextButton(onClick = { app.playUpdateAvailable.value = null }) {
Text("Later")
Text(stringResource(R.string.update_later))
}
},
)

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="update_available_title">يتوفر تحديث</string>
<string name="update_available_message">يتوفر إصدار جديد من Cloudreve Mobile على Google Play.</string>
<string name="update_now">تحديث</string>
<string name="update_later">لاحقًا</string>
</resources>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="update_available_title">Update verfügbar</string>
<string name="update_available_message">Eine neue Version von Cloudreve Mobile ist auf Google Play verfügbar.</string>
<string name="update_now">Aktualisieren</string>
<string name="update_later">Später</string>
</resources>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="update_available_title">Actualización disponible</string>
<string name="update_available_message">Hay una nueva versión de Cloudreve Mobile disponible en Google Play.</string>
<string name="update_now">Actualizar</string>
<string name="update_later">Más tarde</string>
</resources>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="update_available_title">Mise à jour disponible</string>
<string name="update_available_message">Une nouvelle version de Cloudreve Mobile est disponible sur Google Play.</string>
<string name="update_now">Mettre à jour</string>
<string name="update_later">Plus tard</string>
</resources>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="update_available_title">Aggiornamento disponibile</string>
<string name="update_available_message">Una nuova versione di Cloudreve Mobile è disponibile su Google Play.</string>
<string name="update_now">Aggiorna</string>
<string name="update_later">Più tardi</string>
</resources>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="update_available_title">アップデートがあります</string>
<string name="update_available_message">Cloudreve Mobile の新しいバージョンが Google Play で入手できます。</string>
<string name="update_now">更新</string>
<string name="update_later">後で</string>
</resources>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="update_available_title">업데이트 가능</string>
<string name="update_available_message">Google Play에서 Cloudreve Mobile 새 버전을 사용할 수 있습니다.</string>
<string name="update_now">업데이트</string>
<string name="update_later">나중에</string>
</resources>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="update_available_title">Dostępna aktualizacja</string>
<string name="update_available_message">Nowa wersja Cloudreve Mobile jest dostępna w Google Play.</string>
<string name="update_now">Aktualizuj</string>
<string name="update_later">Później</string>
</resources>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="update_available_title">Atualização disponível</string>
<string name="update_available_message">Uma nova versão do Cloudreve Mobile está disponível no Google Play.</string>
<string name="update_now">Atualizar</string>
<string name="update_later">Mais tarde</string>
</resources>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="update_available_title">Доступно обновление</string>
<string name="update_available_message">Новая версия Cloudreve Mobile доступна в Google Play.</string>
<string name="update_now">Обновить</string>
<string name="update_later">Позже</string>
</resources>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="update_available_title">有可用更新</string>
<string name="update_available_message">Cloudreve Mobile 的新版本已在 Google Play 上发布。</string>
<string name="update_now">更新</string>
<string name="update_later">稍后</string>
</resources>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="update_available_title">有可用更新</string>
<string name="update_available_message">Cloudreve Mobile 的新版本已在 Google Play 上發布。</string>
<string name="update_now">更新</string>
<string name="update_later">稍後</string>
</resources>

@ -1,4 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Cloudreve Mobile</string>
<string name="update_available_title">Update available</string>
<string name="update_available_message">A new version of Cloudreve Mobile is available on Google Play.</string>
<string name="update_now">Update</string>
<string name="update_later">Later</string>
</resources>

@ -52,7 +52,35 @@
"signingOut": "جارٍ تسجيل الخروج...",
"loggedOut": "تم تسجيل الخروج من حسابك الآن.",
"clickToRefresh": "انقر للتحديث",
"switchLanguage": "تغيير اللغة"
"switchLanguage": "تغيير اللغة",
"invitationCode": "رمز الدعوة",
"phoneNumber": "رقم الهاتف",
"smsCode": "رمز SMS",
"sendSmsCode": "إرسال الرمز",
"resendSmsCode": "إعادة الإرسال ({{seconds}}ث)",
"smsSignIn": "تسجيل الدخول عبر SMS",
"resetViaSms": "إعادة التعيين عبر SMS",
"emailChangedTitle": "تم تغيير البريد",
"emailChanged": "تم تغيير عنوان بريدك الإلكتروني بنجاح.",
"signInWith": "تسجيل الدخول عبر {{name}}",
"ssoFailed": "فشل تسجيل الدخول الموحّد. حاول مرة أخرى أو استخدم طريقة دخول أخرى.",
"ssoError": {
"generic": "فشل تسجيل الدخول الموحّد. حاول مرة أخرى.",
"sso_not_configured": "لم يتم تكوين تسجيل الدخول الموحّد. اتصل بالمشرف.",
"sso_discovery_failed": "تعذّر الوصول إلى مزوّد الهوية. حاول لاحقًا.",
"sso_state_failed": "تعذّر بدء جلسة تسجيل الدخول. حاول مرة أخرى.",
"sso_denied": "تم رفض تسجيل الدخول من قبل مزوّد الهوية.",
"sso_invalid_response": "استجابة غير صالحة من مزوّد الهوية.",
"sso_state_expired": "انتهت صلاحية جلسة تسجيل الدخول. حاول مرة أخرى.",
"sso_exchange_failed": "تعذّر إكمال تسجيل الدخول لدى مزوّد الهوية.",
"sso_token_invalid": "تعذّر التحقق من استجابة الهوية.",
"sso_no_email": "لم يُرجع مزوّد الهوية عنوان بريد إلكتروني.",
"sso_account_unavailable": "لا يوجد حساب متاح لهذه الهوية. قد يكون التسجيل مقيّدًا."
},
"browsePublicShares": "تصفّح المشاركات العامة",
"inputBackupCode": "أدخل أحد رموز الاستعادة",
"useBackupCode": "استخدم رمز استعادة بدلًا من ذلك",
"use2FACode": "استخدم رمز المصادقة بدلًا من ذلك"
},
"oauth": {
"authorize": "تفويض التطبيق",
@ -144,7 +172,11 @@
"toDarkMode": "داكن",
"toLightMode": "فاتح",
"myProfile": "ملفي الشخصي",
"dashboard": "لوحة البيانات"
"dashboard": "لوحة البيانات",
"shop": "المتجر",
"addAccount": "إضافة حساب",
"signedOut": "تم تسجيل الخروج",
"discover": "اكتشف"
},
"fileManager": {
"continueInDesktop": "تم التفويض بنجاح، يرجى المتابعة عبر تطبيق سطح المكتب.",
@ -449,7 +481,38 @@
"noEncryption": "غير مشفر",
"ftsStatus": "فهرس النص الكامل",
"ftsIndexed": "مفهرس",
"ftsNotIndexed": "غير مفهرس"
"ftsNotIndexed": "غير مفهرس",
"aclDes": "أذونات دقيقة لـ«{{name}}». تتجاوز الإدخالات المدرجة الأذونات الافتراضية لرابط المشاركة للزوار المطابقين.",
"aclSubject": "الموضوع",
"aclAnonymous": "زوار مجهولون",
"aclEveryone": "الجميع باستثناء ذلك",
"aclGroup": "مجموعة",
"aclPerm_read": "قراءة",
"aclPerm_create": "إنشاء",
"aclPerm_update": "تحديث",
"aclPerm_delete": "حذف",
"loop": "تكرار",
"modelViewer": "عارض نماذج ثلاثية الأبعاد",
"modelLoadFailed": "تعذّر تحميل النموذج ثلاثي الأبعاد",
"activityDes": "الإجراءات المسجّلة على {{name}}.",
"selectDownloadRoute": "اختر مسار التنزيل",
"downloadRouteDirect": "مباشر",
"downloadRouteDirectDescription": "تنزيل مباشر من هذا الموقع",
"lineEnding": "نهاية السطر",
"downloadAll": "تنزيل الكل",
"dirPolicyTitle": "سياسة التخزين للرفع",
"dirPolicyDes": "ستستخدم الملفات الجديدة المرفوعة إلى «{{name}}» سياسة التخزين المحددة.",
"relocateTitle": "نقل التخزين",
"relocateDes": "نقل المحتوى الفعلي لـ«{{name}}» إلى سياسة التخزين المحددة.",
"relocateSubmitted": "تم إرسال مهمة النقل",
"relocateStart": "نقل",
"policySaved": "تم تحديث سياسة التخزين",
"policyInherit": "وراثة (استخدم الافتراضي للأصل أو المجموعة)",
"policyGroupDefault": "افتراضي المجموعة",
"downloadProgress": "{{completed}} / {{total}} ملفات تم تنزيلها ({{percent}}%)",
"downloadComplete": "اكتمل التنزيل!",
"downloadCompleteSummary": "{{count}} ملف · {{size}}",
"downloaded": "تم التنزيل"
},
"modals": {
"includePasswordInShareLink": "اضافة كلمة المرور في رابط المشاركة",
@ -601,7 +664,52 @@
"notSet": "لم يتم تعيينه",
"deleteViewSetting": "حذف اعدادات العرض",
"anonymous": "مجهول",
"shareTargetsCount": "{{count}} من الوجهات"
"shareTargetsCount": "{{count}} من الوجهات",
"paidShare": "مشاركة مدفوعة",
"paidSharePrice": "{{price}} نقطة",
"paidShareDes": "يجب على الزوار شراء هذه المشاركة بالنقاط قبل التنزيل. اضبط 0 لمشاركة مجانية.",
"paidSharePriceLabel": "السعر (نقاط)",
"nameConflict": "تعارض الأسماء",
"conflictOverwriteDes": "استبدال العناصر الموجودة في الوجهة.",
"conflictSkipDes": "الإبقاء على العناصر الموجودة؛ لن يتم نقل العناصر المتعارضة أو نسخها.",
"skip": "تخطّي",
"remoteDownloadFileName": "اسم الملف (اختياري)",
"remoteDownloadFileNameDescription": "اسم ملف إخراج مخصّص",
"remoteDownloadHttpUser": "اسم مستخدم HTTP (اختياري)",
"remoteDownloadHttpPassword": "كلمة مرور HTTP (اختياري)",
"remoteDownloadHeaders": "ترويسات الطلب (اختياري)",
"remoteDownloadProvider": "المنزِّل",
"remoteDownloadProviderAuto": "تلقائي (أي عقدة)",
"remoteDownloadHeadersDescription": "ترويسة واحدة لكل سطر، مثل Cookie: sid=...",
"allowUpload": "السماح بالرفع",
"allowUploadDes": "يمكن للزوار رفع ملفات جديدة وإنشاء مجلدات في هذا المجلد المشترك. يتم احتساب التخزين ضمن حصتك.",
"allowEdit": "السماح بالتحرير",
"allowEditDes": "يمكن للزوار رفع الملفات وإعادة تسميتها ونقلها وحذفها في هذا المجلد المشترك. يتضمّن إذن الرفع.",
"uploadOnly": "رفع فقط (صندوق إيداع)",
"uploadOnlyDes": "يمكن للزوار رفع الملفات ولكن لا يمكنهم عرض المحتوى الموجود في هذا المجلد المشترك أو تنزيله.",
"previewOnly": "معاينة فقط",
"previewOnlyDes": "يمكن للزوار معاينة الملفات دون تنزيلها.",
"shareNote": "ملاحظة",
"shareNoteDes": "ملاحظة خاصة لتمييز هذه المشاركة. مرئية لك فقط في مشاركاتي.",
"shareTargets": "أهداف المشاركة",
"shareTargetsCount_zero": "لا أهداف",
"shareTargetsCount_one": "هدف واحد",
"shareTargetsCount_two": "هدفان",
"shareTargetsCount_few": "{{count}} أهداف",
"shareTargetsCount_many": "{{count}} هدفًا",
"shareTargetsCount_other": "{{count}} هدف",
"publicListing": "إدراج في الدليل العام",
"publicListingDes": "إظهار هذه المشاركة على صفحة اكتشف، مرئية للجميع بما في ذلك الزوار المجهولون. غير متاح للمشاركات المحمية بكلمة مرور.",
"hideReadme": "إخفاء ملف readme",
"hideReadmeDes": "إبقاء ملف README نفسه خارج قائمة المشاركة. لا يزال الزوار يرون محتوى readme المعروض.",
"relativePathPlaceholder": "المسار_النسبي",
"textView": "نص",
"directLinkFolderModeTitle": "وضع الروابط المباشرة للمجلدات",
"directLinkFolderModeDescription": "تحتوي العناصر المحددة على مجلدات. كيف تريد إنشاء الروابط المباشرة؟",
"directLinkWalkDescendants": "جميع الملفات الفرعية",
"directLinkWalkDescendantsDesc": "التنقل عبر كل المجلدات وإنشاء رابط مباشر لكل ملف بالداخل.",
"directLinkFolderUrl": "روابط مباشرة للمجلدات",
"directLinkFolderUrlDesc": "إنشاء رابط مباشر واحد لكل مجلد محدد ذاته."
},
"uploader": {
"fileCopyName": "نسخة من ",
@ -624,7 +732,7 @@
"preparing": "يتم التحضير...",
"processing": "يتم المعالجة...",
"progressDescription": "تم تحميل {{uploaded}}، الإجمالي {{total}} - {{percentage}}%",
"progressDescriptionFull": "تم تحميل {{uploaded}}، الإجمالي {{total}} - {{percentage}}% ({{speed}})",
"progressDescriptionFull": "تم تحميل {{uploaded}}، الإجمالي {{total}} - {{percentage}}% ({{speed}}){{eta}}",
"progressDescriptionPlaceHolder": " - تم التحميل",
"uploaded": "تم التحميل",
"rootFolder": "المجلد الجذر",
@ -683,7 +791,8 @@
"upyunUploadFailed": "فشل التحميل: {{msg}}",
"parseResponseError": "تعذر تحليل الرد: {{msg}} ({{content}})",
"concurrentTaskNumber": "حد الحد الأقصى للمهام المتزامنة",
"dropFileHere": "أسقط ملف لتحميله"
"dropFileHere": "أسقط ملف لتحميله",
"etaSuffix": "، الوقت المتبقي {{eta}}"
},
"share": {
"statistics": "الإحصاءات",
@ -727,7 +836,19 @@
"preview": "معاينة",
"incorrectPassword": "كلمة المرور غير صحيحة.",
"shareNotExist": "رابط المشاركة غير صالح أو انتهت صلاحيته.",
"copyLinkToClipboard": "نسخ الرابط إلى الحافظة"
"copyLinkToClipboard": "نسخ الرابط إلى الحافظة",
"paidShareDes": "هذه مشاركة مدفوعة. تكلفة الشراء {{price}} نقطة وتفتح التنزيل.",
"purchaseForPoints": "شراء بـ {{price}} نقطة",
"signInToPurchase": "سجّل الدخول للشراء",
"yourBalance": "الرصيد: {{credits}} نقطة",
"saveToMyFiles": "حفظ في ملفاتي",
"savedToMyFiles": "تم حفظ المشاركة في ملفاتك.",
"saveShareLink": "حفظ رابط المشاركة",
"saveShareLinkHint": "الصق رابط مشاركة مثل https://example.com/s/abc123",
"shareLink": "رابط المشاركة",
"savedAs": "حفظ باسم (اختياري)",
"sharePasswordRequired": "تتطلب هذه المشاركة كلمة مرور.",
"invalidShareLink": "تعذّر تحليل رابط المشاركة هذا."
},
"download": {
"noFilesFound": "لم يتم العثور على ملفات",
@ -970,7 +1091,82 @@
"relocateFileTo": "نقل سياسة التخزين إلى {{policy}} لـ <0></0>{{more}}",
"extractFileTo": "استخراج <0></0>{{more}} إلى <1></1>",
"createArchiveTo": "إنشاء ملف أرشيف إلى <1></1> لـ <0></0>{{more}}",
"importFileTo": "استيراد الملفات من {{policy}} إلى <0></0>"
"importFileTo": "استيراد الملفات من {{policy}} إلى <0></0>",
"preferredViewers": "التطبيقات الافتراضية",
"preferredViewersDes": "التطبيقات المختارة بـ«دائمًا» في حوار الفتح. تنطبق على كل أجهزتك؛ احذف أحدها ليُطلب منك مرة أخرى.",
"preferredViewersEmpty": "لا توجد تطبيقات افتراضية محفوظة بعد. اختر «دائمًا» في حوار الفتح على ملف.",
"trashRetention": "مدة الاحتفاظ بالمهملات (أيام)",
"trashRetentionDes": "عدد الأيام التي يبقى فيها الملف في المهملات قبل الحذف التلقائي. 0 يرث الافتراضي للمجموعة. ينطبق على الملفات المنقولة إلى المهملات بعد التغيير.",
"linkedAccounts": "الحسابات المرتبطة",
"providerQQ": "QQ",
"unlinkAccount": "إلغاء الربط",
"unlinkAccountConfirm": "هل أنت متأكد من إلغاء ربط هذا الحساب؟ لن تتمكن من تسجيل الدخول به بعد الآن.",
"linkQQAccount": "ربط حساب QQ",
"providerWeChat": "WeChat",
"linkWeChatAccount": "ربط حساب WeChat",
"phoneBinding": "ربط الهاتف",
"bindPhone": "ربط الهاتف",
"unbindPhone": "إلغاء الربط",
"unbindPhoneConfirm": "هل أنت متأكد من إلغاء ربط رقم الهاتف هذا؟ لن تتمكن من تسجيل الدخول أو إعادة تعيين كلمة المرور به بعد الآن.",
"changeEmail": "تغيير",
"changeEmailDes": "سيُرسل رابط تأكيد إلى العنوان الجديد. يبقى بريدك الحالي ({{email}}) نشطًا حتى التأكيد.",
"newEmail": "عنوان البريد الإلكتروني الجديد",
"changeEmailPasswordDes": "أدخل كلمة مرورك الحالية للتأكيد.",
"emailChangeSent": "تم إرسال بريد التأكيد إلى العنوان الجديد.",
"copySecret": "تعذّر المسح؟ انقر لنسخ مفتاح الإعداد",
"secretCopied": "تم نسخ مفتاح الإعداد",
"shareSiteDefault": "افتراضي الموقع",
"shareSiteDefaultDes": "اتباع الافتراضي العام للموقع الذي حدّده المشرف.",
"shareDefaultPrivate": "خصوصية المشاركة الافتراضية",
"shareDefaultPrivateDes": "المشاركات الجديدة خاصة افتراضيًا (محمية بكلمة مرور).",
"sharePrivateOn": "خاص",
"sharePrivateOff": "عام",
"preferredPolicy": "سياسة التخزين المفضّلة",
"preferredPolicyDes": "الرفع الجديد في ملفاتك يستخدم سياسة التخزين هذه ما لم يتجاوزها مجلد.",
"policySaved": "تم تحديث سياسة التخزين",
"policyInherit": "وراثة (افتراضي المجموعة)",
"policyGroupDefault": "افتراضي المجموعة",
"creditBalance": "رصيد النقاط",
"storageBonus": "مكافأة التخزين",
"dlTraffic": "حركة الروابط المباشرة",
"dlTrafficUnlimited": "غير محدود",
"activeGrants": "المزايا النشطة",
"grantStorage": "التخزين",
"grantGroup": "المجموعة",
"redeemGiftCode": "استرداد رمز الهدية",
"redeemGiftCodeDes": "أدخل رمز هدية للحصول على نقاط أو مزايا",
"giftCodePlaceholder": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"redeem": "استرداد",
"giftCodeRedeemed": "تم استرداد رمز الهدية",
"creditLedger": "سجل النقاط",
"txnChange": "التغيير",
"txnTime": "الوقت",
"txnReason": "السبب",
"noTxns": "لا توجد معاملات بعد",
"txnType": {
"purchase": "شراء من المتجر",
"gift": "رمز هدية",
"share_income": "شراء رابط مشاركة",
"adjust": "تعديل يدوي"
},
"tags": "الوسوم",
"tagsDes": "إعادة تسمية أو تغيير لون أو حذف وسم عبر كل ملفاتك. إعادة التسمية إلى وسم موجود يدمجهما.",
"tagName": "الوسم",
"tagFiles": "الملفات",
"tagActions": "الإجراءات",
"noTags": "لا توجد وسوم بعد",
"editTag": "تحرير الوسم",
"deleteTag": "حذف الوسم",
"deleteTagDes": "إزالة الوسم «{{name}}» من {{count}} ملف؟ يتم الاحتفاظ بالملفات نفسها.",
"tagUpdated": "تم تحديث الوسم",
"tagDeleted": "تم حذف الوسم",
"tagNameInvalid": "لا يمكن أن يكون اسم الوسم فارغًا أو يحتوي على «:»",
"backup2FACodes": "رموز الاستعادة",
"backupCodesDes": "تتيح رموز الاستعادة تسجيل الدخول عند عدم توفّر المصادقة. إنشاء دفعة جديدة يبطل جميع الرموز السابقة.",
"backupCodesWarning": "احفظ هذه الرموز الآن. يمكن استخدام كل واحد منها مرة واحدة ولن تظهر مرة أخرى.",
"copyCodes": "نسخ الرموز",
"finance": "المالية",
"linkedAt": "مرتبط في <0></0>"
},
"vas": {
"points": "النقاط",
@ -989,5 +1185,43 @@
],
"reportDescription": "وصف إضافي",
"reportAbuseSuccess": "تم رفع التقرير."
},
"vault": {
"title": "المساحة الخاصة",
"description": "الملفات في مساحتك الخاصة مخفية عن التصفّح والبحث حتى تفتحها بكلمة مرور منفصلة. لا يمكن مشاركة ملفات المساحة الخاصة أو الوصول إليها عبر WebDAV.",
"enable": "تفعيل المساحة الخاصة",
"enabled": "تم تفعيل المساحة الخاصة",
"disable": "تعطيل",
"disabled": "تم تعطيل المساحة الخاصة",
"disableDescription": "يزيل التعطيل القفل؛ يبقى المجلد ومحتوياته ملفات عادية.",
"confirmDisable": "تأكيد التعطيل",
"setPassword": "تعيين كلمة مرور المساحة الخاصة",
"confirmPassword": "كلمة مرور المساحة الخاصة",
"enterPassword": "كلمة مرور المساحة الخاصة",
"lockNow": "قفل الآن",
"locked": "تم قفل المساحة الخاصة",
"unlocked": "مفتوحة",
"lockedState": "مقفلة",
"lockedTitle": "هذا المجلد في مساحتك الخاصة. افتحه للمتابعة.",
"badge": "المساحة الخاصة"
},
"shop": {
"memberships": "العضويات",
"storagePacks": "حزم التخزين",
"trafficPacks": "حزم الحركة",
"redeem": "استرداد",
"balance": "الرصيد: {{credits}} نقطة",
"purchased": "تم شراء {{name}}",
"permanent": "دائم",
"noProducts": "لا توجد منتجات متاحة",
"buyWithPoints": "شراء بـ {{points}} نقطة",
"pointsUnavailable": "غير قابل للشراء بالنقاط"
},
"announcement": {
"title": "إعلان",
"dontShowAgain": "عدم إظهار هذا مرة أخرى"
},
"discover": {
"searchPlaceholder": "البحث في المشاركات العامة"
}
}

@ -34,7 +34,9 @@
"human": "أنا إنسان",
"verifying": "جارٍ التحقق...",
"verified": "أنت إنسان"
}
},
"verify": "انقر للتحقق",
"verified": "تم التحقق"
},
"errors": {
"401": "يرجى تسجيل الدخول.",
@ -54,7 +56,7 @@
"40014": "يتجاوز الحد الأقصى لحجم الدفعة للوصول إلى رابط المصدر.",
"40015": "تجاوز الحد الأقصى لحجم الدفعة في aria2.",
"40016": "لم يتم العثور على المسار.",
"40017": "لقد تم حظر هذا الحساب.",
"40017": "لقد تم حظر هذا الحساب. {{message}}",
"40018": "لم يتم تفعيل هذا الحساب بعد.",
"40019": "هذه الميزة غير مفعلة.",
"40020": "بيانات اعتماد غير صالحة أو منتهية الصلاحية.",
@ -103,5 +105,6 @@
"50010": "العقدة المطلوبة غير متوفرة.",
"50011": "فشل في الاستعلام عن البيانات الوصفية للملف."
},
"save": "حفظ"
"save": "حفظ",
"delete": "حذف"
}

@ -60,7 +60,7 @@
"enableClient": "تفعيل تطبيق OAuth",
"enableClientDes": "عند التعطيل، لا يمكن استخدام هذا التطبيق للمصادقة.",
"clientName": "اسم التطبيق",
"clientNameDes": "اسم العرض لهذا التطبيق. يمكنك استخدام مفاتيح ترجمة i18next مثل 0>oauth.appName.myApp</0> للتوطين.",
"clientNameDes": "اسم العرض لهذا التطبيق. يمكنك استخدام مفاتيح ترجمة i18next مثل <0>oauth.appName.myApp</0> للتوطين.",
"clientIcon": "أيقونة التطبيق",
"clientIconDes": "أيقونة هذا التطبيق. يقبل رابط صورة أو معرف أيقونة Iconify (مثل mdi:application).",
"clientId": "معرف العميل",
@ -475,7 +475,7 @@
"generators": "مولدات الصور المصغرة",
"thumbMaxSize": "الحد الأقصى لحجم الملف الأصلي",
"thumbMaxSizeDes": "الحد الأقصى لحجم الملف الأصلي الذي يمكن توليد صور مصغرة له، لن يتم توليد الصور المصغرة للملفات التي تتجاوز هذا الحجم.",
"generatorProxyWarning": "بشكل افتراضي، ستستخدم سياسات التخزين غير المحلية فقط المولد \"الأصيل في سياسة التخزين\". يمكنك توسيع قدرة الصور المصغرة لسياسات التخزين التابعة لجهات خارجية عن طريق تفعيل ميزة \"المولد الوكيل\" في صفحة إعدادات سياسة التخزين. لمزيد من التفاصيل، يرجى الرجوع إلى <0>التوثيق<0>.",
"generatorProxyWarning": "بشكل افتراضي، ستستخدم سياسات التخزين غير المحلية فقط المولد \"الأصيل في سياسة التخزين\". يمكنك توسيع قدرة الصور المصغرة لسياسات التخزين التابعة لجهات خارجية عن طريق تفعيل ميزة \"المولد الوكيل\" في صفحة إعدادات سياسة التخزين. لمزيد من التفاصيل، يرجى الرجوع إلى <0>التوثيق</0>.",
"policyBuiltin": "أصيل في سياسة التخزين",
"policyBuiltinDes": "استخدام API الأصلي من مزود التخزين لمعالجة الصور المصغرة. بالنسبة لسياسات التخزين المحلية وS3، هذا المولد غير متاح وسيتم الرجوع تلقائيًا إلى مولدات أخرى. بالنسبة لسياسات التخزين الأخرى، يرجى الانتقال إلى صفحة إعدادات سياسة التخزين لتكوين هذا المولد.",
"cloudreveBuiltin": "مدمج في Cloudreve",
@ -752,7 +752,8 @@
"report_abuse": "الإبلاغ عن إساءة",
"oauth_grant_create": "تفويض تطبيق OAuth",
"oauth_token_exchange": "تبادل رمز OAuth",
"oauth_grant_revoke": "إلغاء تفويض تطبيق OAuth"
"oauth_grant_revoke": "إلغاء تفويض تطبيق OAuth",
"content_audit_blocked": "مشاركة محجوبة بمراجعة المحتوى"
},
"server": "الخادم",
"tempPath": "المسار المؤقت",
@ -820,7 +821,91 @@
"ftsTikaExts": "الامتدادات المدعومة",
"ftsTikaExtsDes": "قائمة امتدادات الملفات مفصولة بفواصل. سيعالج Tika الملفات من هذه الأنواع.",
"ftsTikaMaxFileSize": "الحد الأقصى لحجم الملف",
"ftsTikaMaxFileSizeDes": "الحد الأقصى لحجم الملف المرسل إلى Tika لاستخراج المحتوى."
"ftsTikaMaxFileSizeDes": "الحد الأقصى لحجم الملف المرسل إلى Tika لاستخراج المحتوى.",
"navItemVisibility": "الظهور",
"navScopePublic": "الجميع",
"navScopeUser": "المستخدمون المسجّلون",
"uploadDedupScope": "نطاق كشف التكرار",
"uploadDedupScopeDes": "عندما يرسل العميل تجزئة المحتوى، يبحث الخادم عن ملف مكتمل مطابق ويُنشئ الرفع فورًا دون نقل البايتات.",
"uploadDedupScope_off": "متوقف",
"uploadDedupScope_offDes": "لا كشف للتكرار؛ كل رفع ينقل البايتات.",
"uploadDedupScope_owner": "نفس المستخدم",
"uploadDedupScope_ownerDes": "إزالة التكرار فقط مقابل الملفات التي يملكها المستخدم الرافع بالفعل.",
"uploadDedupScope_global": "عام",
"uploadDedupScope_globalDes": "إزالة التكرار مقابل جميع الملفات المكتملة على هذا الموقع.",
"translations": "الترجمات",
"translationsDes": "تجاوزات لكل لغة. اترك فارغًا للرجوع إلى القيمة الافتراضية. يرى المستخدمون النسخة المطابقة لإعداد لغتهم أو لغة المتصفح.",
"invitationCodeRequired": "طلب رمز دعوة",
"invitationCodeRequiredDes": "يجب أن يقدّم المسجّلون الجدد رمز دعوة صالحًا. تُدار الرموز ضمن المستخدمون — رموز الدعوة.",
"smtpAuthMethod": "طريقة مصادقة SMTP",
"smtpAuthMethodDes": "يختار الاكتشاف التلقائي فقط الآليات الآمنة ولا يرسل بيانات الاعتماد بنص صريح عبر اتصالات غير مشفّرة. إذا كان خادمك يقدّم PLAIN/LOGIN فقط دون تشفير، فاختر طريقة «-noenc» المقابلة — ستُنقل بيانات الاعتماد غير مشفّرة.",
"smtpAuth_autodiscover": "اكتشاف تلقائي",
"smtpAuth_plain": "PLAIN",
"smtpAuth_plain_noenc": "PLAIN (السماح بدون تشفير)",
"smtpAuth_login": "LOGIN",
"smtpAuth_login_noenc": "LOGIN (السماح بدون تشفير)",
"smtpAuth_cram_md5": "CRAM-MD5",
"smtpAuth_scram_sha_1": "SCRAM-SHA-1",
"smtpAuth_scram_sha_256": "SCRAM-SHA-256",
"smtpAuth_xoauth2": "XOAUTH2",
"smtpAuth_noauth": "بدون مصادقة",
"tcaptcha": "Tencent Captcha",
"tcaptchaAppId": "CaptchaAppId",
"tcaptchaAppSecretKey": "AppSecretKey",
"tcaptchaSecretId": "SecretId",
"tcaptchaSecretKey": "SecretKey",
"tcaptchaDes": "احصل على CaptchaAppId و AppSecretKey من <0>وحدة تحكم Tencent Captcha</0>.",
"tcaptchaSecretDes": "SecretId و SecretKey لاعتماد Tencent Cloud API المستخدم لاستدعاء DescribeCaptchaResult.",
"trafficProductSettings": "منتج الحركة",
"trafficProductsDes": "تكوين المنتجات التي يمكن للمستخدمين شراؤها لتعبئة بدل حركة الروابط المباشرة.",
"auditRetentionDays": "مدة الاحتفاظ (أيام)",
"auditRetentionDaysDes": "حذف الأحداث الأقدم من هذا العدد من الأيام. 0 يحتفظ بالأحداث للأبد.",
"ssoIssuer": "عنوان URL للمُصدِر",
"ssoIssuerDes": "عنوان URL الأساسي لمُصدِر OIDC، مثل <0>https://keycloak.example.com/realms/master</0>. تُجلب بيانات مزوّد التعريف من <1>.well-known/openid-configuration</1> ضمن هذا العنوان.",
"ssoRegisterEnabled": "السماح بالتسجيل التلقائي",
"ssoRegisterEnabledDes": "إنشاء حساب محلي تلقائيًا عند أول تسجيل دخول عبر SSO. ينطبق أيضًا فلتر بريد التسجيل أدناه.",
"downloadCdnRoutes": "مسارات تنزيل CDN",
"downloadCdnRoutesDes": "نقاط نهاية تنزيل بديلة تُعرض للمستخدمين، واحدة لكل سطر بصيغة name=url (مثل الخط 1=https://cdn1.example.com). يجب أن تعكس المسارات مسار الطلب الكامل ومعلماته إلى هذا الموقع لتبقى الروابط الموقّعة صالحة؛ ترويسات CORS مطلوبة للتنزيل داخل المتصفح.",
"downloadCdnShuffle": "خلط مسارات التنزيل",
"downloadCdnShuffleDes": "توزيع كل رابط تنزيل مُنشأ عشوائيًا بين عنوان URL للموقع وجميع مسارات CDN المُعدّة، لتصدير مدير التنزيلات إلى نقاط نهاية مختلفة. يُخفى منتقي المسارات اليدوي عند التفعيل.",
"ssoAutoRedirect": "إعادة توجيه تلقائية إلى SSO",
"ssoAutoRedirectDes": "تخطّي نموذج تسجيل الدخول وإرسال الزوار مباشرة إلى مزوّد الهوية. أضف <0>?nosso=1</0> إلى عنوان URL لتسجيل الدخول للوصول إلى نموذج كلمة المرور (مثل استرداد المشرف).",
"ssoCallbackUrl": "عنوان URL للاستدعاء الراجع",
"ssoCallbackUrlDes": "سجّل عنوان URL هذا كـ redirect/callback URL لدى مزوّد الهوية: <0>{{url}}</0>",
"qqConnect": "QQ Connect",
"qqAppID": "App ID",
"qqAppIDDes": "App ID لتطبيق الويب المنشأ في <0>وحدة تحكم QQ Connect</0> (connect.qq.com).",
"qqAppSecret": "App Key",
"qqCallbackUrl": "عنوان URL للاستدعاء الراجع",
"qqCallbackUrlDes": "سجّل عنوان URL هذا كنطاق/URL للاستدعاء الراجع في وحدة تحكم QQ Connect: <0>{{url}}</0>",
"qqRegisterEnabled": "السماح بالتسجيل التلقائي",
"qqRegisterEnabledDes": "إنشاء حساب محلي تلقائيًا عند أول تسجيل دخول عبر QQ. لا يوفّر QQ عنوان بريد، لذا تستخدم الحسابات المُنشأة عنوانًا تركيبيًا @connect.qq.local.",
"wechatConnect": "تسجيل الدخول بمسح WeChat",
"wechatAppID": "App ID",
"wechatAppIDDes": "AppID لتطبيق الويب المنشأ على <0>WeChat Open Platform</0> (open.weixin.qq.com).",
"wechatAppSecret": "App Secret",
"wechatCallbackUrl": "عنوان URL للاستدعاء الراجع",
"wechatCallbackUrlDes": "سجّل نطاق عنوان URL هذا كنطاق للاستدعاء الراجع للتفويض في وحدة تحكم WeChat Open Platform: <0>{{url}}</0>",
"wechatRegisterEnabled": "السماح بالتسجيل التلقائي",
"wechatRegisterEnabledDes": "إنشاء حساب محلي تلقائيًا عند أول تسجيل دخول عبر WeChat. لا يوفّر WeChat عنوان بريد، لذا تستخدم الحسابات المُنشأة عنوانًا تركيبيًا @connect.wechat.local.",
"smsSignIn": "تسجيل الدخول عبر SMS",
"smsEndpoint": "نقطة نهاية البوابة",
"smsEndpointDes": "نقطة نهاية HTTP لمزوّد SMS لديك. تُستبدل العناصر النائبة <0>{phone}</0> و <0>{code}</0> قبل كل طلب.",
"smsMethodDes": "طريقة HTTP المستخدمة لطلب البوابة. بالنسبة لـ GET، تُعرض العناصر النائبة في عنوان URL لنقطة النهاية فقط.",
"smsHeaders": "ترويسات الطلب",
"smsHeadersDes": "زوج `Key: Value` واحد لكل سطر، مثل Authorization: Bearer <token>.",
"smsBodyTemplate": "قالب نص الطلب",
"smsBodyTemplateDes": "النص المُرسل لطلبات POST. تُستبدل العناصر النائبة <0>{phone}</0> و <0>{code}</0> قبل كل طلب.",
"smsRegisterEnabled": "السماح بالتسجيل التلقائي",
"smsRegisterEnabledDes": "إنشاء حساب محلي تلقائيًا عند أول تسجيل دخول عبر رمز SMS. تستخدم الحسابات المُنشأة عنوانًا تركيبيًا @sms.local.",
"themeVisible": "مرئي",
"shareDefaultPrivate": "مشاركة خاصة افتراضيًا",
"shareDefaultPrivateDes": "المشاركات الجديدة خاصة افتراضيًا (محمية بكلمة مرور). يمكن للمستخدمين تجاوز ذلك في إعداداتهم الشخصية.",
"defaultShareLinksInProfile": "ظهور المشاركات الافتراضي في الملف الشخصي",
"defaultShareLinksInProfileDes": "يتحكم في المشاركات التي تظهر على صفحة الملف الشخصي العامة للمستخدم عندما لا يختارها بنفسه.",
"profileSharePublicOnly": "المشاركات بدون كلمة مرور فقط",
"profileShareAll": "كل المشاركات",
"profileShareHide": "إخفاء كل المشاركات"
},
"giftCodes": {
"giftCodesSettings": "رموز الهدايا",
@ -851,7 +936,11 @@
"copyAndClose": "نسخ وإغلاق",
"duratonTimes": "الكمية",
"duratonTimesDes": "عدد وحدات المنتج التي يتضمنها كل رمز هدية.",
"unknownProduct": "منتج غير معروف"
"unknownProduct": "منتج غير معروف",
"giftCodeTypeTraffic": "حركة الروابط المباشرة",
"giftCodeDeleteFailed": "تعذّر حذف رمز الهدية",
"giftCodeCreateFailed": "تعذّر إنشاء رموز الهدية",
"giftCodeAmountHelp": "مبلغ المنح لكل رمز"
},
"policy": {
"acceleratedDomainUpload": "استخدم ميزة تسريع النقل للتحميل",
@ -1145,7 +1234,38 @@
"fileEncryption": "تشفير الملفات",
"enableFileEncryption": "تفعيل تشفير الملفات",
"enableFileEncryptionDes": "عند التفعيل، ستخزن Blob الملفات مشفرة. تغيير هذا الإعداد يؤثر فقط على الملفات المضافة حديثًا.",
"encryptedFile": "الملفات المشفرة"
"encryptedFile": "الملفات المشفرة",
"thumbForceProxy": "إجبار توليد المصغّرات عبر الوكيل",
"thumbForceProxyDes": "توليد المصغّرات دائمًا عبر خط الأنابيب المحلي للوكيل، حتى عندما يوفّر خادم التخزين واجهة مصغّرات أصلية. يتضمّن توليد المصغّرات عبر الوكيل.",
"thumbStoragePolicy": "سياسة تخزين المصغّرات",
"thumbStoragePolicySource": "مثل الملف",
"thumbStoragePolicyDes": "تُخزَّن المصغّرات المُولَّدة ضمن السياسة المحددة بدلًا من سياسة تخزين الملف نفسه.",
"blobAudit": "تدقيق الـblobs: {{name}}",
"blobAuditDes": "يفحص خادم التخزين ويسرد العناصر الفعلية التي لا يشير إليها أي سجل ملف. مفيد للعثور على الـblobs الشبحية الناتجة عن عمليات نقل فاشلة.",
"blobAuditDelete": "حذف الـblobs اليتيمة",
"blobAuditDeleteWarning": "ستُحذف العناصر اليتيمة نهائيًا من خادم التخزين. قد تظهر الملفات قيد الرفع كيتيمة — فعّل هذا فقط عندما تتأكد عدم وجود رفع جارٍ.",
"blobAuditStart": "بدء التدقيق",
"blobAuditSubmitted": "تمت إضافة مهمة تدقيق الـblobs إلى الطابور.",
"maxTotalSize": "أقصى سعة إجمالية",
"maxTotalSizeDes": "أقصى إجمالي للبايتات المخزَّنة تحت هذه السياسة. تُرفض الرفعات والنسخ التي تتجاوز ذلك. 0 يعني غير محدود.",
"overflowPolicy": "سياسة التدفق الزائد",
"overflowPolicyDes": "عند نفاد سعة هذه السياسة، تنتقل الرفعات الجديدة إلى السياسة المحددة. تُدعم سلاسل السياسات.",
"auditEndpoint": "نقطة نهاية مراجعة المحتوى",
"auditEndpointDes": "نقطة نهاية HTTP لمراجعة المحتوى (مثل إشراف الصور). عند الضبط، تُرسل مشاركة ملف مخزَّن على هذه السياسة محتواه إلى نقطة النهاية عبر POST؛ استجابة {\"flagged\":true} تحجب المشاركة. اترك فارغًا للتعطيل.",
"auditMaxSize": "حد حجم المراجعة",
"auditMaxSizeDes": "أقصى حجم للكيان يُرسل إلى نقطة المراجعة. الملفات الأكبر تُتجاوز. 0 يعني بلا حد.",
"overflowNone": "لا شيء",
"allowNativeName": "السماح بأحرف أصلية في أسماء الملفات",
"allowNativeNameDes": "السماح بأحرف محظورة فقط على أنظمة ملفات Windows (: * ? \" < > |) في أسماء الملفات. قد يكسر العملاء الذين يركّبون على Windows. يبقى فاصل المسار ممنوعًا.",
"status": "الحالة",
"statusDes": "تستمر السياسات المعلّقة في تقديم الملفات الموجودة لكنها ترفض الرفع الجديد.",
"loadBalance": "موازنة الحِمل",
"lbChildren": "سياسات التخزين الفرعية",
"lbChildPolicy": "سياسة التخزين",
"lbWeight": "الوزن",
"lbAddChild": "إضافة سياسة فرعية",
"lbChildrenDes": "تُوزَّع الرفعات الجديدة على السياسات الفرعية بنسبة وزنها.",
"lbWizardDes": "توزّع سياسة الموازنة الرفعات على سياسات فرعية مرجّحة. تُعدّ الفرعية بعد الإنشاء."
},
"node": {
"slave": "تابعة",
@ -1214,7 +1334,12 @@
"hostHeaderHint": "إذا كان هناك خطأ في التوقيع، يرجى التحقق مما إذا كان الوكيل العكسي أمام العقدة يمرر ترويسة <0>Host</0>.",
"features": "الميزات المفعلة",
"remoteDownload": "التنزيل عن بعد",
"refresh": "تحديث"
"refresh": "تحديث",
"ytdlpDes": "تشغّل yt-dlp على العقدة المستهدفة بنفس مستوى المستخدم/الوصول كـ Cloudreve. يُستدعى yt-dlp كعملية CLI لكل مهمة — لا حاجة لخادم خلفي.",
"ytdlpOptionDes": "أعلام CLI إضافية لـ yt-dlp عند إنشاء مهمة تنزيل، مكتوبة بصيغة JSON مفتاح-قيمة — تصبح المفاتيح وسائط --flag حرفيًا، راجع <0>مرجع خيارات yt-dlp</0>.",
"ytdlpBinary": "ملف yt-dlp التنفيذي",
"ytdlpBinaryDes": "المسار أو اسم ملف yt-dlp التنفيذي على العقدة. الافتراضي هو yt-dlp من PATH.",
"allowedHosts": "المضيفون المسموح بهم"
},
"group": {
"countUser": "العدد",
@ -1301,7 +1426,37 @@
"notCopy": "عدم النسخ",
"confirmDelete": "هل أنت متأكد من رغبتك في حذف المجموعة {{group}}؟",
"new": "مجموعة جديدة",
"editGroup": "تعديل {{group}}"
"editGroup": "تعديل {{group}}",
"loginIPWhitelist": "قائمة IP البيضاء لتسجيل الدخول",
"loginIPWhitelistDes": "تقييد تسجيل الدخول على هذه الـIP أو نطاقات CIDR، واحد لكل سطر. اترك فارغًا للسماح بالكل.",
"delegatedAdmin": "أقسام الإدارة المفوّضة",
"delegatedAdminDes": "منح الوصول إلى أقسام محددة فقط من اللوحة. يمكن لمستخدمي هذه المجموعة فتح لوحة المشرف، لكن تعمل الأقسام المفعّلة فقط — تُرفض كل استدعاءات admin API الأخرى.",
"sectionUsers": "المستخدمون",
"sectionGroups": "المجموعات",
"sectionFiles": "الملفات والـblobs",
"sectionShares": "المشاركات",
"sectionStorage": "سياسات التخزين والعُقد",
"sectionQueue": "طابور المهام",
"sectionSettings": "إعدادات الموقع و OAuth",
"sectionPayment": "المدفوعات",
"sectionEvents": "الأحداث",
"sectionReports": "بلاغات الإساءة",
"shareSell": "بيع روابط المشاركة",
"shareSellDes": "عند التفعيل، يمكن للمستخدمين تحديد سعر بالنقاط على روابط المشاركة التي ينشئونها.",
"wabDAVReadOnly": "WebDAV للقراءة فقط",
"wabDAVReadOnlyDes": "عند التفعيل، تصبح تركيبات WebDAV لمستخدمي هذه المجموعة للقراءة فقط — تُرفض الرفع والحذف والنقل وطرق الكتابة الأخرى.",
"aria2TaskLimit": "أقصى مهام تنزيل بعيد متزامنة",
"aria2TaskLimitDes": "أقصى عدد لمهام التنزيل البعيد النشطة لكل مستخدم (في الطابور أو قيد التشغيل أو المعلّقة). 0 = بلا حد.",
"aria2MaxFileSize": "أقصى حجم لمهمة تنزيل (بايت)",
"aria2MaxFileSizeDes": "تُلغى مهام التنزيل البعيد التي يتجاوز حجمها الإجمالي المُحلَّل هذا الحد. 0 = بلا حد.",
"setExplicitUser": "تعيين أذونات الملفات",
"setExplicitUserDes": "يمكن للأعضاء تعيين أذونات دقيقة للقراءة/الإنشاء/التحديث/الحذف على الملفات والمجلدات التي يملكونها، لمستخدمين أو مجموعات أو زوار مجهولين أو الجميع.",
"switchablePolicies": "سياسات تخزين قابلة للتبديل",
"switchablePoliciesDes": "السياسات التي يمكن لأعضاء هذه المجموعة التبديل إليها بحرية. السياسة الافتراضية أعلاه متاحة دائمًا.",
"weightedPolicies": "اختيار السياسات المرجّح",
"weightedPoliciesDes": "عند التفعيل، تُوجَّه الرفعات دون تفضيل سياسة صريح إلى السياسة المسموح بها ذات أكبر سعة حرة تتسع للملف. تُوزَّن فقط السياسات ذات حد سعة إجمالي.",
"sharePublicList": "دليل المشاركات العامة",
"sharePublicListDes": "عند التفعيل، يمكن للمستخدمين إدراج روابط مشاركتهم في الدليل العام (صفحة اكتشف). لا يمكن إدراج المشاركات المحمية بكلمة مرور."
},
"user": {
"createdAt": "تم الإنشاء في",
@ -1350,7 +1505,34 @@
"deleteXUsers": "حذف {{num}} من المستخدمين",
"confirmBatchDelete": "هل أنت متأكد من رغبتك في حذف {{num}} من المستخدمين؟ ",
"calibrateStorage": "ضبط مساحة التخزين",
"calibrateStorageSuccess": "تم ضبط مساحة التخزين بنجاح."
"calibrateStorageSuccess": "تم ضبط مساحة التخزين بنجاح.",
"relocateFiles": "نقل الملفات",
"banExpires": "انتهاء الحظر",
"banExpiresDes": "اختياري. يُرفع الحظر تلقائيًا بعد هذا الوقت؛ فارغ يعني دائم.",
"banReason": "سبب الحظر",
"banReasonDes": "اختياري. يُعرض للمستخدم عند رفض دخول محظور.",
"lastLogin": "آخر دخول",
"uids": "معرّفات المستخدمين",
"uidsPlaceholder": "معرّفات مفصولة بفواصل، مثل 2,3,5",
"editXUsers": "تحرير {{num}} مستخدمين",
"batchEditXUsers": "تحرير دفعي لـ {{num}} مستخدمين",
"noChange": "بلا تغيير",
"invitationCodes": "رموز الدعوة",
"invitationCodesDes": "رموز يمكن طلبها للتسجيل العام. أنشئها وشاركها وألغِها هنا.",
"invitationCode": "الرمز",
"invitationCodeAuto": "توليد تلقائي",
"invitationCodeGroup": "المجموعة",
"invitationCodeMaxUses": "أقصى استخدامات",
"invitationCodeExpires": "تنتهي في",
"invitationCodeUses": "الاستخدامات",
"invitationCodeCreated": "تم إنشاء رمز الدعوة.",
"invitationCodeCopied": "تم نسخ الرمز إلى الحافظة.",
"invitationCodeCopy": "نسخ",
"invitationCodeDefaultGroup": "افتراضي",
"noInvitationCodes": "لا توجد رموز دعوة بعد.",
"loadMore": "تحميل المزيد",
"additionalGroups": "مجموعات إضافية",
"additionalGroupsDes": "عضويات إضافية في مجموعات فوق المجموعة الأساسية. تُدمج الأذونات والحصص وسياسات التخزين عبر كل المجموعات."
},
"file": {
"deleteXFiles": "حذف {{num}} من الملفات",
@ -1422,7 +1604,15 @@
"shareLinkExisted": "لديه رابط مشاركة",
"directLinkExisted": "لديه رابط مباشر",
"isUploading": "قيد التحميل",
"selectUser": "اختر مستخدمًا"
"selectUser": "اختر مستخدمًا",
"referenceCount": "عدد المراجع",
"awaitingRecycle": "بانتظار التدوير",
"refCountGt": "أكبر من",
"refCountLt": "أصغر من",
"refCountEq": "يساوي",
"deletedState": "حالة الحذف",
"liveOnly": "الملفات الحية فقط",
"trashOnly": "المهملات فقط"
},
"entity": {
"refenenceCount": "عدد المراجع",
@ -1433,7 +1623,15 @@
"confirmBatchDelete": "هل أنت متأكد من رغبتك في حذف {{num}} من ملفات Blob؟",
"deleteXEntities": "حذف {{num}} من ملفات Blob",
"forceDelete": "حذف إجباري",
"forceDeleteDes": "ما إذا كان سيتم حذف سجل Blob بغض النظر عما إذا كان الملف الفعلي قد حذف."
"forceDeleteDes": "ما إذا كان سيتم حذف سجل Blob بغض النظر عما إذا كان الملف الفعلي قد حذف.",
"relocateXEntities": "نقل {{num}} blobs",
"relocateTitle": "نقل الـblobs",
"relocateEntitiesDes": "نقل بيانات {{num}} blobs مختارة إلى سياسة تخزين أخرى. تعمل المهمة في الخلفية ويمكن استئنافها.",
"relocatePolicyDes": "نقل جميع الـblobs المخزَّنة في «{{name}}» إلى سياسة تخزين أخرى. تعمل المهمة في الخلفية ويمكن استئنافها.",
"relocateUserDes": "نقل جميع الـblobs التي يملكها «{{name}}» إلى سياسة تخزين أخرى. تعمل المهمة في الخلفية ويمكن استئنافها.",
"relocatePolicy": "ترحيل جميع الـblobs من {{name}} إلى سياسة أخرى",
"relocateStart": "بدء النقل",
"relocateSubmitted": "تم إرسال مهمة النقل"
},
"event": {
"cleanup": "تصفية",
@ -1469,7 +1667,8 @@
"rawContent": "المحتوى الخام",
"confirmDelete": "هل أنت متأكد من رغبتك في حذف هذا الحدث؟",
"deleteXEvents": "حذف {{num}} من الأحداث",
"confirmBatchDelete": "هل أنت متأكد من رغبتك في حذف {{num}} من الأحداث؟"
"confirmBatchDelete": "هل أنت متأكد من رغبتك في حذف {{num}} من الأحداث؟",
"noEvents": "لا توجد أحداث مسجّلة بعد"
},
"share": {
"confirmBatchDelete": "هل أنت متأكد من رغبتك في حذف {{num}} من المشاركات؟",
@ -1547,7 +1746,8 @@
"finished": "انتهى",
"canceled": "ملغى/موقوف",
"unknown": "غير معروف",
"errorMsg": "رسالة الخطأ"
"errorMsg": "رسالة الخطأ",
"blobAudit": "تدقيق الـblobs على سياسة التخزين #{{policyID}} ({{count}} يتيمة)"
},
"payment": {
"tradeNo": "رقم المعاملة",
@ -1726,7 +1926,21 @@
"customPaymentEndpointDes": "الرابط سيتم استدعاؤه عند إنشاء طلب الدفع.",
"appFeedback": "رابط التغذية الراجعة",
"appForum": "رابط منتدى المستخدمين",
"appLinkDes": "سيتم عرضها في تطبيق الجوال، اتركها فارغة لإخفاء عنصر القائمة. لن يسري مفعول هذا الإعداد إلا إذا كانت رخصة VOL صالحة."
"appLinkDes": "سيتم عرضها في تطبيق الجوال، اتركها فارغة لإخفاء عنصر القائمة. لن يسري مفعول هذا الإعداد إلا إذا كانت رخصة VOL صالحة.",
"addTrafficPack": "إضافة حزمة حركة",
"editTrafficPack": "تحرير حزمة حركة",
"trafficSize": "كمية الحركة (بايت)",
"trafficSizeDes": "بايتات حركة الروابط المباشرة الممنوحة عند الشراء؛ الحزم دائمة.",
"subAddressChars": "أحرف العنوان الفرعي",
"subAddressCharsDes": "أحرف تُعامل كفواصل عنوان فرعي في الجزء المحلي من البريد (مثل <code>+-.</code> لأسماء Gmail/iCloud المستعارة). الفارغ يفترض <code>+</code>.",
"manualAdjust": "تعديل يدوي للنقاط",
"adjustEmail": "بريد المستخدم",
"adjustDelta": "تغيير النقاط",
"adjustDeltaDes": "الموجب يضيف نقاطًا، السالب يخصم",
"adjustNote": "ملاحظة",
"adjustSubmit": "تطبيق",
"adjustSuccess": "تم تعديل النقاط",
"adjustFailed": "تعذّر تعديل النقاط"
},
"pro": {
"title": "ميزات حصرية للإصدار الاحترافي",
@ -1756,6 +1970,27 @@
"reporterID": "معرف المستخدم الذي قام برفع البلاغ",
"reportedUserID": "معرف المستخدم المُبلغ عنه",
"shareID": "معرف المشاركة",
"reason": "السبب"
"reason": "السبب",
"target": "الهدف",
"statusLabel": "الحالة",
"reportedAt": "أُبلغ عنه في",
"actions": "الإجراءات",
"resolve": "حل",
"dismiss": "رفض",
"adminNote": "ملاحظة المشرف",
"blockShare": "حظر الرابط المشترك",
"noReports": "لا توجد بلاغات إساءة",
"reviewSuccess": "تم تحديث البلاغ.",
"status": {
"open": "مفتوح",
"resolved": "تم حله",
"dismissed": "مرفوض",
"all": "الكل"
},
"markAs": {
"resolved": "حل البلاغ",
"dismissed": "رفض البلاغ",
"open": "إعادة فتح البلاغ"
}
}
}

@ -52,7 +52,35 @@
"signingOut": "Wird abgemeldet...",
"loggedOut": "Sie wurden abgemeldet",
"clickToRefresh": "Klicken Sie, um das CAPTCHA zu aktualisieren",
"switchLanguage": "Sprache wechseln"
"switchLanguage": "Sprache wechseln",
"invitationCode": "Einladungscode",
"phoneNumber": "Telefonnummer",
"smsCode": "SMS-Code",
"sendSmsCode": "Code senden",
"resendSmsCode": "Erneut senden ({{seconds}}s)",
"smsSignIn": "Mit SMS anmelden",
"resetViaSms": "Stattdessen per SMS zurücksetzen",
"emailChangedTitle": "E-Mail geändert",
"emailChanged": "Ihre E-Mail-Adresse wurde erfolgreich geändert.",
"signInWith": "Mit {{name}} anmelden",
"ssoFailed": "Single Sign-On fehlgeschlagen. Bitte erneut versuchen oder eine andere Anmeldemethode verwenden.",
"ssoError": {
"generic": "Single Sign-On fehlgeschlagen. Bitte erneut versuchen.",
"sso_not_configured": "Single Sign-On ist nicht konfiguriert. Bitte den Administrator kontaktieren.",
"sso_discovery_failed": "Identitätsanbieter nicht erreichbar. Bitte später erneut versuchen.",
"sso_state_failed": "Anmeldesitzung konnte nicht gestartet werden. Bitte erneut versuchen.",
"sso_denied": "Anmeldung wurde vom Identitätsanbieter abgelehnt.",
"sso_invalid_response": "Ungültige Antwort des Identitätsanbieters.",
"sso_state_expired": "Die Anmeldesitzung ist abgelaufen. Bitte erneut versuchen.",
"sso_exchange_failed": "Anmeldung beim Identitätsanbieter konnte nicht abgeschlossen werden.",
"sso_token_invalid": "Identitätsantwort konnte nicht verifiziert werden.",
"sso_no_email": "Der Identitätsanbieter hat keine E-Mail-Adresse zurückgegeben.",
"sso_account_unavailable": "Für diese Identität ist kein Konto verfügbar. Die Registrierung ist möglicherweise eingeschränkt."
},
"browsePublicShares": "Öffentliche Freigaben durchsuchen",
"inputBackupCode": "Einen Ihrer Wiederherstellungscodes eingeben",
"useBackupCode": "Stattdessen Wiederherstellungscode verwenden",
"use2FACode": "Stattdessen Authenticator-Code verwenden"
},
"oauth": {
"authorize": "Anwendung autorisieren",
@ -144,7 +172,11 @@
"toDarkMode": "Dunkel",
"toLightMode": "Hell",
"myProfile": "Mein Profil",
"dashboard": "Dashboard"
"dashboard": "Dashboard",
"shop": "Shop",
"addAccount": "Konto hinzufügen",
"signedOut": "Abgemeldet",
"discover": "Entdecken"
},
"fileManager": {
"continueInDesktop": "Autorisierung erfolgreich, bitte fahren Sie im Desktop-Client fort.",
@ -488,7 +520,34 @@
"noEncryption": "Nicht verschlüsselt",
"ftsStatus": "Volltextindex",
"ftsIndexed": "Indexiert",
"ftsNotIndexed": "Nicht indexiert"
"ftsNotIndexed": "Nicht indexiert",
"aclDes": "Granulare Berechtigungen für „{{name}}“. Aufgeführte Einträge überschreiben die Standardberechtigungen des Freigabelinks für passende Besucher.",
"aclSubject": "Subjekt",
"aclAnonymous": "Anonyme Besucher",
"aclEveryone": "Alle anderen",
"aclGroup": "Gruppe",
"aclPerm_read": "Lesen",
"aclPerm_create": "Erstellen",
"aclPerm_update": "Ändern",
"aclPerm_delete": "Löschen",
"loop": "Schleife",
"modelViewer": "3D-Modellbetrachter",
"modelLoadFailed": "3D-Modell konnte nicht geladen werden",
"activityDes": "Aufgezeichnete Aktionen für {{name}}.",
"selectDownloadRoute": "Download-Route wählen",
"downloadRouteDirect": "Direkt",
"downloadRouteDirectDescription": "Direkt von dieser Seite herunterladen",
"lineEnding": "Zeilenende",
"downloadAll": "Alle herunterladen",
"dirPolicyTitle": "Speicherrichtlinie für Uploads",
"dirPolicyDes": "Neue Dateien, die in „{{name}}“ hochgeladen werden, verwenden die gewählte Speicherrichtlinie.",
"relocateTitle": "Speicher umziehen",
"relocateDes": "Den physischen Inhalt von „{{name}}“ in die gewählte Speicherrichtlinie verschieben.",
"relocateSubmitted": "Umzugsauftrag übermittelt",
"relocateStart": "Umziehen",
"policySaved": "Speicherrichtlinie aktualisiert",
"policyInherit": "Erben (übergeordnete oder Gruppenvorgabe)",
"policyGroupDefault": "Gruppenvorgabe"
},
"modals": {
"includePasswordInShareLink": "Passwort in Link einbeziehen",
@ -665,7 +724,40 @@
"saved": "Gespeichert",
"notSet": "Nicht gesetzt",
"deleteViewSetting": "Ansichtseinstellung löschen",
"shareTargetsCount": "{{count}} Ziele"
"shareTargetsCount": "{{count}} Ziele",
"paidShare": "Kostenpflichtige Freigabe",
"paidSharePrice": "{{price}} Punkte",
"paidShareDes": "Besucher müssen diese Freigabe mit Punkten kaufen, bevor sie herunterladen können. 0 für eine kostenlose Freigabe.",
"paidSharePriceLabel": "Preis (Punkte)",
"nameConflict": "Namenskonflikt",
"conflictOverwriteDes": "Vorhandene Elemente im Ziel ersetzen.",
"conflictSkipDes": "Vorhandene Elemente behalten; konfliktierende Elemente werden nicht verschoben oder kopiert.",
"skip": "Überspringen",
"remoteDownloadFileName": "Dateiname (optional)",
"remoteDownloadFileNameDescription": "Benutzerdefinierter Ausgabedateiname",
"remoteDownloadHttpUser": "HTTP-Benutzername (optional)",
"remoteDownloadHttpPassword": "HTTP-Passwort (optional)",
"remoteDownloadHeaders": "Anfrage-Header (optional)",
"remoteDownloadProvider": "Downloader",
"remoteDownloadProviderAuto": "Auto (beliebiger Knoten)",
"remoteDownloadHeadersDescription": "Ein Header pro Zeile, z. B. Cookie: sid=...",
"allowUpload": "Uploads erlauben",
"allowUploadDes": "Besucher können in diesem freigegebenen Ordner neue Dateien hochladen und Ordner erstellen. Der Speicher wird auf Ihr Kontingent angerechnet.",
"allowEdit": "Bearbeiten erlauben",
"allowEditDes": "Besucher können Dateien in diesem freigegebenen Ordner hochladen, umbenennen, verschieben und löschen. Beinhaltet Upload-Berechtigung.",
"uploadOnly": "Nur hochladen (Abgabebox)",
"uploadOnlyDes": "Besucher können Dateien hochladen, aber vorhandene Inhalte in diesem freigegebenen Ordner weder sehen noch herunterladen.",
"previewOnly": "Nur Vorschau",
"previewOnlyDes": "Besucher können Dateien inline ansehen, aber nicht herunterladen.",
"shareNote": "Notiz",
"shareNoteDes": "Eine private Notiz zur Kennzeichnung dieser Freigabe. Nur für Sie unter „Meine Freigaben“ sichtbar.",
"shareTargets": "Freigabeziele",
"shareTargetsCount_one": "{{count}} Ziel",
"shareTargetsCount_other": "{{count}} Ziele",
"publicListing": "Im öffentlichen Verzeichnis auflisten",
"publicListingDes": "Diese Freigabe auf der Entdecken-Seite anzeigen, für jeden sichtbar, auch für anonyme Besucher. Nicht verfügbar für passwortgeschützte Freigaben.",
"hideReadme": "Readme-Datei ausblenden",
"hideReadmeDes": "Die README-Datei selbst aus der Freigabeliste heraushalten. Besucher sehen weiterhin die gerenderte Readme."
},
"uploader": {
"fileCopyName": "Kopie_",
@ -688,7 +780,7 @@
"preparing": "Wird vorbereitet...",
"processing": "Wird verarbeitet...",
"progressDescription": "{{uploaded}} hochgeladen, {{total}} gesamt - {{percentage}}%",
"progressDescriptionFull": "{{speed}} {{uploaded}} hochgeladen, {{total}} gesamt - {{percentage}}%",
"progressDescriptionFull": "{{speed}} {{uploaded}} hochgeladen, {{total}} gesamt - {{percentage}}%{{eta}}",
"progressDescriptionPlaceHolder": "Hochgeladen - ",
"uploaded": "Hochgeladen",
"rootFolder": "Stammordner",
@ -747,7 +839,8 @@
"upyunUploadFailed": "Upload fehlgeschlagen: {{msg}}",
"parseResponseError": "Antwort konnte nicht geparst werden: {{msg}} ({{content}})",
"concurrentTaskNumber": "Anzahl gleichzeitiger Upload-Aufgaben",
"dropFileHere": "Maus loslassen, um Upload zu starten"
"dropFileHere": "Maus loslassen, um Upload zu starten",
"etaSuffix": ", Restzeit {{eta}}"
},
"share": {
"free": "Kostenlos",
@ -794,7 +887,19 @@
"preview": "Vorschau",
"incorrectPassword": "Falsches Passwort",
"shareNotExist": "Freigabe existiert nicht oder ist abgelaufen",
"copyLinkToClipboard": "Link in Zwischenablage kopieren"
"copyLinkToClipboard": "Link in Zwischenablage kopieren",
"paidShareDes": "Dies ist eine kostenpflichtige Freigabe. Der Kauf kostet {{price}} Punkte und schaltet Downloads frei.",
"purchaseForPoints": "Für {{price}} Punkte kaufen",
"signInToPurchase": "Zum Kauf anmelden",
"yourBalance": "Guthaben: {{credits}} Punkte",
"saveToMyFiles": "In meine Dateien speichern",
"savedToMyFiles": "Freigabe in Ihren Dateien gespeichert.",
"saveShareLink": "Freigabelink speichern",
"saveShareLinkHint": "Freigabelink einfügen, z. B. https://example.com/s/abc123",
"shareLink": "Freigabelink",
"savedAs": "Gespeichert als (optional)",
"sharePasswordRequired": "Diese Freigabe erfordert ein Passwort.",
"invalidShareLink": "Dieser Freigabelink kann nicht gelesen werden."
},
"download": {
"noFilesFound": "Keine Dateien gefunden",
@ -1056,7 +1161,82 @@
"relocateFileTo": "<0></0>{{more}} Speicherrichtlinie auf {{policy}} übertragen",
"extractFileTo": "<0></0>{{more}} nach <1></1> extrahieren",
"createArchiveTo": "<0></0>{{more}} nach <1></1> packen",
"importFileTo": "Dateien aus {{policy}} nach <0></0> importieren"
"importFileTo": "Dateien aus {{policy}} nach <0></0> importieren",
"preferredViewers": "Standard-Apps",
"preferredViewersDes": "Apps, die im Öffnen-mit-Dialog mit „Immer“ gewählt wurden. Sie gelten auf allen Ihren Geräten; entfernen Sie eine, um erneut gefragt zu werden.",
"preferredViewersEmpty": "Noch keine Standard-Apps gespeichert. Wählen Sie bei einer Datei im Öffnen-mit-Dialog „Immer“.",
"trashRetention": "Papierkorb-Aufbewahrung (Tage)",
"trashRetentionDes": "Tage, die eine Datei vor der automatischen Löschung im Papierkorb bleibt. 0 erbt die Gruppenvorgabe. Gilt für Dateien, die nach der Änderung gelöscht werden.",
"linkedAccounts": "Verknüpfte Konten",
"providerQQ": "QQ",
"unlinkAccount": "Verknüpfung aufheben",
"unlinkAccountConfirm": "Diese Kontoverknüpfung wirklich aufheben? Sie können sich damit nicht mehr anmelden.",
"linkQQAccount": "QQ-Konto verknüpfen",
"providerWeChat": "WeChat",
"linkWeChatAccount": "WeChat-Konto verknüpfen",
"phoneBinding": "Telefonbindung",
"bindPhone": "Telefon binden",
"unbindPhone": "Bindung aufheben",
"unbindPhoneConfirm": "Diese Telefonnummer wirklich entbinden? Sie können sich damit nicht mehr anmelden oder Ihr Passwort zurücksetzen.",
"changeEmail": "Ändern",
"changeEmailDes": "Ein Bestätigungslink wird an die neue Adresse gesendet. Ihre aktuelle E-Mail ({{email}}) bleibt bis zur Bestätigung aktiv.",
"newEmail": "Neue E-Mail-Adresse",
"changeEmailPasswordDes": "Zur Bestätigung Ihr aktuelles Passwort eingeben.",
"emailChangeSent": "Bestätigungs-E-Mail an die neue Adresse gesendet.",
"copySecret": "Scan nicht möglich? Zum Kopieren des Einrichtungsschlüssels klicken",
"secretCopied": "Einrichtungsschlüssel kopiert",
"shareSiteDefault": "Seitenvorgabe",
"shareSiteDefaultDes": "Der seitenweiten Vorgabe des Administrators folgen.",
"shareDefaultPrivate": "Standard-Freigabe-Privatsphäre",
"shareDefaultPrivateDes": "Neue Freigaben sind standardmäßig privat (passwortgeschützt).",
"sharePrivateOn": "Privat",
"sharePrivateOff": "Öffentlich",
"preferredPolicy": "Bevorzugte Speicherrichtlinie",
"preferredPolicyDes": "Neue Uploads in Ihren Dateien verwenden diese Speicherrichtlinie, sofern kein Ordner sie überschreibt.",
"policySaved": "Speicherrichtlinie aktualisiert",
"policyInherit": "Erben (Gruppenvorgabe)",
"policyGroupDefault": "Gruppenvorgabe",
"creditBalance": "Punktestand",
"storageBonus": "Speicherbonus",
"dlTraffic": "Direktlink-Traffic",
"dlTrafficUnlimited": "Unbegrenzt",
"activeGrants": "Aktive Vorteile",
"grantStorage": "Speicher",
"grantGroup": "Gruppe",
"redeemGiftCode": "Geschenkcode einlösen",
"redeemGiftCodeDes": "Geschenkcode eingeben, um Punkte oder Vorteile zu erhalten",
"giftCodePlaceholder": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"redeem": "Einlösen",
"giftCodeRedeemed": "Geschenkcode eingelöst",
"creditLedger": "Punktekonto",
"txnChange": "Änderung",
"txnTime": "Zeit",
"txnReason": "Grund",
"noTxns": "Noch keine Transaktionen",
"txnType": {
"purchase": "Shop-Kauf",
"gift": "Geschenkcode",
"share_income": "Freigabelink gekauft",
"adjust": "Manuelle Anpassung"
},
"tags": "Tags",
"tagsDes": "Ein Tag über alle Ihre Dateien hinweg umbenennen, umfärben oder löschen. Umbenennen auf einen bestehenden Tag führt sie zusammen.",
"tagName": "Tag",
"tagFiles": "Dateien",
"tagActions": "Aktionen",
"noTags": "Noch keine Tags",
"editTag": "Tag bearbeiten",
"deleteTag": "Tag löschen",
"deleteTagDes": "Tag „{{name}}“ von {{count}} Datei(en) entfernen? Die Dateien selbst bleiben erhalten.",
"tagUpdated": "Tag aktualisiert",
"tagDeleted": "Tag gelöscht",
"tagNameInvalid": "Tag-Name darf nicht leer sein oder „:“ enthalten",
"backup2FACodes": "Wiederherstellungscodes",
"backupCodesDes": "Wiederherstellungscodes ermöglichen die Anmeldung, wenn Ihr Authenticator nicht verfügbar ist. Ein neuer Satz macht alle früheren Codes ungültig.",
"backupCodesWarning": "Diese Codes jetzt speichern. Jeder ist einmalig verwendbar und wird nicht erneut angezeigt.",
"copyCodes": "Codes kopieren",
"blockSysFilesUpload": "Upload von Systemdateien blockieren",
"blockSysFilesUploadTooltip": "Wenn aktiviert, werden Dateien, die mit <0>.</0> beginnen, vom Upload blockiert."
},
"vas": {
"points": "Punkte",
@ -1192,5 +1372,43 @@
"dontShowAgain": "Nicht mehr anzeigen",
"openPaymentLink": "Zahlungslink direkt öffnen",
"creditReasonAdjust": "Manuelle Anpassung"
},
"vault": {
"title": "Privater Bereich",
"description": "Dateien in Ihrem privaten Bereich sind für Durchsuchen und Suche verborgen, bis Sie ihn mit einem separaten Passwort entsperren. Vault-Dateien können nicht geteilt oder per WebDAV aufgerufen werden.",
"enable": "Privaten Bereich aktivieren",
"enabled": "Privater Bereich aktiviert",
"disable": "Deaktivieren",
"disabled": "Privater Bereich deaktiviert",
"disableDescription": "Deaktivieren entfernt die Sperre; der Ordner und sein Inhalt bleiben als normale Dateien erhalten.",
"confirmDisable": "Deaktivieren bestätigen",
"setPassword": "Vault-Passwort festlegen",
"confirmPassword": "Vault-Passwort",
"enterPassword": "Vault-Passwort",
"lockNow": "Jetzt sperren",
"locked": "Privater Bereich gesperrt",
"unlocked": "Entsperrt",
"lockedState": "Gesperrt",
"lockedTitle": "Dieser Ordner liegt in Ihrem privaten Bereich. Zum Fortfahren entsperren.",
"badge": "Privater Bereich"
},
"shop": {
"memberships": "Mitgliedschaften",
"storagePacks": "Speicherpakete",
"trafficPacks": "Traffic-Pakete",
"redeem": "Einlösen",
"balance": "Guthaben: {{credits}} Punkte",
"purchased": "{{name}} gekauft",
"permanent": "Permanent",
"noProducts": "Keine Produkte verfügbar",
"buyWithPoints": "Für {{points}} Punkte kaufen",
"pointsUnavailable": "Nicht mit Punkten käuflich"
},
"announcement": {
"title": "Ankündigung",
"dontShowAgain": "Nicht erneut anzeigen"
},
"discover": {
"searchPlaceholder": "Öffentliche Freigaben suchen"
}
}

@ -34,7 +34,9 @@
"human": "Ich bin ein Mensch",
"verifying": "Verifizierung läuft...",
"verified": "Sie sind ein Mensch"
}
},
"verify": "Zum Verifizieren klicken",
"verified": "Verifiziert"
},
"errors": {
"401": "Bitte melden Sie sich an.",
@ -54,7 +56,7 @@
"40014": "Batch-Größenlimit für das Abrufen von Quelllinks überschritten.",
"40015": "Aria2-Batch-Größenlimit überschritten.",
"40016": "Pfad nicht gefunden.",
"40017": "Dieses Konto wurde gesperrt.",
"40017": "Dieses Konto wurde gesperrt. {{message}}",
"40018": "Dieses Konto ist nicht aktiviert.",
"40019": "Diese Funktion ist nicht aktiviert.",
"40020": "Ungültige oder abgelaufene Anmeldedaten.",
@ -117,5 +119,6 @@
"40084": "Ihr Konto ist passwortlos. Sie müssen mindestens ein verknüpftes Konto behalten.",
"40085": "Der Gesamtbetrag dieser Bestellung ist zu gering für den Checkout."
},
"save": "Speichern"
"save": "Speichern",
"delete": "Löschen"
}

@ -753,7 +753,8 @@
"report_abuse": "Missbrauch melden",
"oauth_grant_create": "OAuth-App-Berechtigung",
"oauth_token_exchange": "OAuth-Token-Austausch",
"oauth_grant_revoke": "OAuth-App-Berechtigung widerrufen"
"oauth_grant_revoke": "OAuth-App-Berechtigung widerrufen",
"content_audit_blocked": "Freigabe durch Inhaltsprüfung blockiert"
},
"server": "Server",
"tempPath": "Temporärer Pfad",
@ -821,7 +822,91 @@
"ftsTikaExts": "Unterstützte Erweiterungen",
"ftsTikaExtsDes": "Kommagetrennte Liste von Dateierweiterungen. Tika verarbeitet Dateien dieser Typen.",
"ftsTikaMaxFileSize": "Maximale Dateigröße",
"ftsTikaMaxFileSizeDes": "Maximale Dateigröße, die zur Inhaltsextraktion an Tika gesendet wird."
"ftsTikaMaxFileSizeDes": "Maximale Dateigröße, die zur Inhaltsextraktion an Tika gesendet wird.",
"navItemVisibility": "Sichtbarkeit",
"navScopePublic": "Alle",
"navScopeUser": "Angemeldete Benutzer",
"uploadDedupScope": "Umfang der Duplikatserkennung",
"uploadDedupScopeDes": "Wenn ein Client einen Inhalts-Hash sendet, sucht der Server nach einer identischen Datei.",
"uploadDedupScope_off": "Aus",
"uploadDedupScope_offDes": "Keine Duplikatserkennung; jeder Upload überträgt Bytes.",
"uploadDedupScope_owner": "Gleicher Benutzer",
"uploadDedupScope_ownerDes": "Nur gegen Dateien deduplizieren, die der hochladende Benutzer bereits besitzt.",
"uploadDedupScope_global": "Global",
"uploadDedupScope_globalDes": "Gegen alle fertigen Dateien dieser Seite deduplizieren.",
"translations": "Übersetzungen",
"translationsDes": "Sprachspezifische Überschreibungen. Leer lassen für den Standardwert.",
"invitationCodeRequired": "Einladungscode erforderlich",
"invitationCodeRequiredDes": "Neue Registrierungen benötigen einen gültigen Einladungscode.",
"smtpAuthMethod": "SMTP-Authentifizierungsmethode",
"smtpAuthMethodDes": "Auto-Erkennung wählt nur sichere Mechanismen und sendet niemals unverschlüsselte Zugangsdaten.",
"smtpAuth_autodiscover": "Auto-Erkennung",
"smtpAuth_plain": "PLAIN",
"smtpAuth_plain_noenc": "PLAIN (unverschlüsselt erlauben)",
"smtpAuth_login": "LOGIN",
"smtpAuth_login_noenc": "LOGIN (unverschlüsselt erlauben)",
"smtpAuth_cram_md5": "CRAM-MD5",
"smtpAuth_scram_sha_1": "SCRAM-SHA-1",
"smtpAuth_scram_sha_256": "SCRAM-SHA-256",
"smtpAuth_xoauth2": "XOAUTH2",
"smtpAuth_noauth": "Keine Authentifizierung",
"tcaptcha": "Tencent Captcha",
"tcaptchaAppId": "CaptchaAppId",
"tcaptchaAppSecretKey": "AppSecretKey",
"tcaptchaSecretId": "SecretId",
"tcaptchaSecretKey": "SecretKey",
"tcaptchaDes": "CaptchaAppId und AppSecretKey aus der <0>Tencent-Captcha-Konsole</0> beziehen.",
"tcaptchaSecretDes": "SecretId und SecretKey eines Tencent-Cloud-API-Zugangs für den Captcha-Aufruf.",
"trafficProductSettings": "Traffic-Produkt",
"trafficProductsDes": "Produkte konfigurieren, die Benutzer zum Aufladen ihres Direktlink-Traffics kaufen können.",
"auditRetentionDays": "Aufbewahrung (Tage)",
"auditRetentionDaysDes": "Ereignisse löschen, die älter als diese Anzahl Tage sind. 0 behält Ereignisse dauerhaft.",
"ssoIssuer": "Issuer-URL",
"ssoIssuerDes": "Basis-URL des OIDC-Issuers, z. B. <0>https://keycloak.example.com/realms/master</0>. Die Provider-Metadaten werden unter dieser URL von <1>.well-known/openid-configuration</1> abgerufen.",
"ssoRegisterEnabled": "Automatische Registrierung erlauben",
"ssoRegisterEnabledDes": "Beim ersten SSO-Login automatisch ein lokales Konto erstellen.",
"downloadCdnRoutes": "Download-CDN-Routen",
"downloadCdnRoutesDes": "Alternative Download-Endpunkte für Benutzer, eine pro Zeile im Format Name=URL.",
"downloadCdnShuffle": "Download-Routen mischen",
"downloadCdnShuffleDes": "Jeden generierten Download-Link zufällig auf Seiten-URL und CDN-Routen verteilen.",
"ssoAutoRedirect": "Automatisch zu SSO weiterleiten",
"ssoAutoRedirectDes": "Login-Formular überspringen und Besucher direkt zum Identitätsanbieter schicken. Hängen Sie <0>?nosso=1</0> an die Login-URL an, um das Passwort-Formular zu erreichen (z. B. zur Admin-Wiederherstellung).",
"ssoCallbackUrl": "Callback-URL",
"ssoCallbackUrlDes": "Diese URL als Redirect-/Callback-URL in Ihrem Identitätsanbieter registrieren: <0>{{url}}</0>",
"qqConnect": "QQ Connect",
"qqAppID": "App ID",
"qqAppIDDes": "Die App ID der in der <0>QQ-Connect-Konsole</0> erstellten Website-Anwendung.",
"qqAppSecret": "App Key",
"qqCallbackUrl": "Callback-URL",
"qqCallbackUrlDes": "Diese URL als Website-Callback-Domain/URL in der QQ-Connect-Anwendung registrieren: <0>{{url}}</0>",
"qqRegisterEnabled": "Automatische Registrierung erlauben",
"qqRegisterEnabledDes": "Beim ersten QQ-Login automatisch ein lokales Konto erstellen.",
"wechatConnect": "WeChat-Scan-Login",
"wechatAppID": "App ID",
"wechatAppIDDes": "Die AppID der in der <0>WeChat-Open-Platform</0> erstellten Website-Anwendung.",
"wechatAppSecret": "App Secret",
"wechatCallbackUrl": "Callback-URL",
"wechatCallbackUrlDes": "Die Domain dieser URL als Autorisierungs-Callback-Domain in der WeChat-Anwendung registrieren: <0>{{url}}</0>",
"wechatRegisterEnabled": "Automatische Registrierung erlauben",
"wechatRegisterEnabledDes": "Beim ersten WeChat-Login automatisch ein lokales Konto erstellen.",
"smsSignIn": "SMS-Anmeldung",
"smsEndpoint": "Gateway-Endpunkt",
"smsEndpointDes": "HTTP-Endpunkt Ihres SMS-Anbieters. Die Platzhalter <0>{phone}</0> und <0>{code}</0> werden ersetzt.",
"smsMethodDes": "HTTP-Methode der Gateway-Anfrage. Bei GET werden Platzhalter in die Endpunkt-URL gerendert.",
"smsHeaders": "Anfrage-Header",
"smsHeadersDes": "Ein `Key: Value`-Paar pro Zeile, z. B. Authorization: Bearer <token>.",
"smsBodyTemplate": "Anfrage-Body-Vorlage",
"smsBodyTemplateDes": "Body für POST-Anfragen. Die Platzhalter <0>{phone}</0> und <0>{code}</0> werden vor dem Senden ersetzt.",
"smsRegisterEnabled": "Automatische Registrierung erlauben",
"smsRegisterEnabledDes": "Beim ersten SMS-Code-Login automatisch ein lokales Konto erstellen.",
"themeVisible": "Sichtbar",
"shareDefaultPrivate": "Freigaben standardmäßig privat",
"shareDefaultPrivateDes": "Neue Freigaben sind standardmäßig privat (passwortgeschützt). Benutzer können dies in ihren Einstellungen überschreiben.",
"defaultShareLinksInProfile": "Standard-Sichtbarkeit von Profilfreigaben",
"defaultShareLinksInProfileDes": "Steuert, welche Freigaben auf der öffentlichen Profilseite erscheinen, wenn der Benutzer selbst keine gewählt hat.",
"profileSharePublicOnly": "Nur Freigaben ohne Passwort",
"profileShareAll": "Alle Freigaben",
"profileShareHide": "Alle Freigaben ausblenden"
},
"giftCodes": {
"giftCodesSettings": "Geschenkcodes",
@ -852,7 +937,11 @@
"copyAndClose": "Kopieren und schließen",
"duratonTimes": "Anzahl",
"duratonTimesDes": "Wie viele Mengen des Produkts sind in jedem Geschenkcode enthalten.",
"unknownProduct": "Unbekanntes Produkt"
"unknownProduct": "Unbekanntes Produkt",
"giftCodeTypeTraffic": "Direktlink-Traffic",
"giftCodeDeleteFailed": "Geschenkcode konnte nicht gelöscht werden",
"giftCodeCreateFailed": "Geschenkcodes konnten nicht generiert werden",
"giftCodeAmountHelp": "Gutschriftbetrag pro Code"
},
"policy": {
"acceleratedDomainUpload": "Übertragungsbeschleunigungsdomäne für Upload verwenden",
@ -1144,7 +1233,40 @@
"fileEncryption": "Dateiverschlüsselung",
"enableFileEncryption": "Dateiverschlüsselung aktivieren",
"enableFileEncryptionDes": "Wenn aktiviert, werden Datei-Blobs verschlüsselt gespeichert. Die Änderung dieser Einstellung wirkt sich nur auf neu hinzugefügte Dateien aus.",
"encryptedFile": "Verschlüsselte Dateien"
"encryptedFile": "Verschlüsselte Dateien",
"mediaExtractorUpyun": "Bildverarbeitungsdienst",
"nativeMediaMetaExtUpyun": "Der Bildverarbeitungsdienst unterstützt <0>EXIF-Extraktion</0>. Keine manuelle Konfiguration nötig.",
"thumbForceProxy": "Proxy-Vorschaubilder erzwingen",
"thumbForceProxyDes": "Vorschaubilder immer mit der lokalen Proxy-Pipeline erzeugen, auch wenn das Speicher-Backend eine native Generierung bietet.",
"thumbStoragePolicy": "Speicherrichtlinie für Vorschaubilder",
"thumbStoragePolicySource": "Wie Datei",
"thumbStoragePolicyDes": "Erzeugte Vorschaubilder werden unter der gewählten Richtlinie statt der Datei-Richtlinie gespeichert.",
"blobAudit": "Blobs prüfen: {{name}}",
"blobAuditDes": "Scannt das Speicher-Backend und listet physische Objekte ohne Dateireferenz. Nützlich zum Bereinigen.",
"blobAuditDelete": "Verwaiste Blobs löschen",
"blobAuditDeleteWarning": "Verwaiste Objekte werden dauerhaft vom Speicher-Backend entfernt. Noch hochgeladene Dateien können betroffen sein.",
"blobAuditStart": "Prüfung starten",
"blobAuditSubmitted": "Blob-Prüfung in Warteschlange gestellt.",
"maxTotalSize": "Maximale Gesamtkapazität",
"maxTotalSizeDes": "Maximale Gesamtbytes unter dieser Richtlinie. Uploads und Kopien darüber werden abgelehnt.",
"overflowPolicy": "Überlauf-Richtlinie",
"overflowPolicyDes": "Ist diese Richtlinie voll, laufen neue Uploads in die gewählte Richtlinie über.",
"auditEndpoint": "Inhaltsprüfungs-Endpunkt",
"auditEndpointDes": "HTTP-Endpunkt für Inhaltsprüfung (z. B. Bildmoderation). Gesetzt: Freigabe einer Datei auf dieser Richtlinie wird geprüft.",
"auditMaxSize": "Größenlimit für Prüfung",
"auditMaxSizeDes": "Maximale Entity-Größe für den Prüf-Endpunkt. Größere Dateien werden übersprungen. 0 = kein Limit.",
"overflowNone": "Keine",
"allowNativeName": "Native Dateinamen-Zeichen erlauben",
"allowNativeNameDes": "Zeichen erlauben, die nur auf Windows-Dateisystemen illegal sind (: * ? \" < > |). Kann Clients beeinträchtigen.",
"status": "Status",
"statusDes": "Pausierte Richtlinien liefern bestehende Dateien weiter aus, lehnen aber neue Uploads ab.",
"loadBalance": "Lastverteilung",
"lbChildren": "Untergeordnete Speicherrichtlinien",
"lbChildPolicy": "Speicherrichtlinie",
"lbWeight": "Gewicht",
"lbAddChild": "Untergeordnete Richtlinie hinzufügen",
"lbChildrenDes": "Neue Uploads werden proportional zum Gewicht auf die untergeordneten Richtlinien verteilt.",
"lbWizardDes": "Eine Lastverteilungs-Richtlinie verteilt Uploads auf gewichtete untergeordnete Richtlinien."
},
"node": {
"slave": "Slave",
@ -1221,7 +1343,29 @@
"hostHeaderHint": "Wenn ein Signatur-Fehler auftritt, überprüfen Sie bitte, ob der Reverse-Proxy vor dem Knoten den <0>Host</0>-Header weitergibt.",
"features": "Aktivierte Funktionen",
"remoteDownload": "Remote-Download",
"refresh": "Aktualisieren"
"refresh": "Aktualisieren",
"ytdlpDes": "yt-dlp auf dem Zielknoten mit denselben Benutzerrechten wie Cloudreve ausführen.",
"ytdlpOptionDes": "Zusätzliche yt-dlp-CLI-Flags beim Erstellen einer Download-Aufgabe, im JSON-Schlüssel-Wert-Format — Schlüssel werden wörtlich zu --flag-Argumenten, siehe <0>yt-dlp-Optionsreferenz</0>.",
"ytdlpBinary": "yt-dlp-Binärdatei",
"ytdlpBinaryDes": "Pfad oder Name der yt-dlp-Executable auf dem Knoten. Standard: yt-dlp aus PATH.",
"rpcTokenDes": "Entspricht <0>rpc-secret</0> in der Aria2-Konfigurationsdatei; leer lassen, wenn nicht gesetzt.",
"downloaderOptionDes": "Zusätzliche Downloader-Konfiguration beim Erstellen einer Download-Aufgabe im JSON-Schlüssel-Wert-Format; verfügbare Parameter siehe <0>offizielle Downloader-Dokumentation</0>.",
"refreshInterval": "Status-Aktualisierungsintervall (Sekunden)",
"refreshIntervalDes": "Intervall, in dem Cloudreve eine Aktualisierung des Aufgabenstatus vom Downloader anfordert. Das tatsächliche Intervall hängt auch von der Konfiguration der „Remote-Download“-Warteschlange und der Auslastung des Downloaders ab.",
"waitForSeeding": "Auf Seeding warten",
"waitForSeedingDes": "Wenn aktiviert, behält der Knoten die Aufgabe nach Abschluss des Remote-Downloads im Seeding-Status, bis die Seeding-Bedingung in der Downloader-Konfiguration erfüllt ist. Wirkt erst nach Abschluss und beeinträchtigt die Nutzung der Dateien nicht.",
"webUIEndpoint": "Web-UI-Endpunkt",
"webUIEndpointDes": "Der Endpunkt der qBittorrent-Web-UI, z. B. <0>http://127.0.0.1:8080/</0>.",
"tempPath": "Temporäres Download-Verzeichnis",
"tempPathDes": "Verzeichnis auf dem Knoten, das Aria2 als temporäres Download-Verzeichnis nutzt. Der Cloudreve-Prozess auf dem Knoten benötigt Lese-, Schreib- und Ausführrechte, und der Downloader muss darauf zugreifen können. Leer lassen für den Standard-Temppfad.",
"webUIUsername": "Web-UI-Benutzername",
"webUIPassword": "Web-UI-Passwort",
"webUICredDes": "Leer lassen, wenn keine Authentifizierung aktiviert ist.",
"downloaderTestPass": "Verbindung zum Downloader erfolgreich, Version: {{version}}",
"testDownloader": "Downloader-Verbindung testen",
"addNewNode": "Neuer Knoten",
"nameTheNode": "Knoten benennen:",
"copyBinary": ""
},
"group": {
"countUser": "Anzahl",
@ -1307,7 +1451,38 @@
"notCopy": "Nicht kopieren",
"confirmDelete": "Sind Sie sicher, dass Sie die Gruppe {{group}} löschen möchten?",
"new": "Neue Gruppe",
"editGroup": "{{group}} bearbeiten"
"editGroup": "{{group}} bearbeiten",
"availablePolicyDesPro": "Mehrfachauswahl möglich, Benutzer können frei zwischen den gewählten Speicherrichtlinien wechseln.",
"loginIPWhitelist": "Login-IP-Whitelist",
"loginIPWhitelistDes": "Anmeldung auf diese IPs oder CIDR-Bereiche beschränken, eine pro Zeile. Leer = alle erlauben.",
"delegatedAdmin": "Delegierte Admin-Bereiche",
"delegatedAdminDes": "Nur Zugriff auf gewählte Dashboard-Bereiche gewähren. Mitglieder können das Admin-Panel öffnen, sehen aber nur diese Bereiche.",
"sectionUsers": "Benutzer",
"sectionGroups": "Gruppen",
"sectionFiles": "Dateien & Blobs",
"sectionShares": "Freigaben",
"sectionStorage": "Speicherrichtlinien & Knoten",
"sectionQueue": "Aufgabenwarteschlange",
"sectionSettings": "Seiteneinstellungen & OAuth",
"sectionPayment": "Zahlungen",
"sectionEvents": "Ereignisse",
"sectionReports": "Missbrauchsmeldungen",
"shareSell": "Freigabelinks verkaufen",
"shareSellDes": "Wenn aktiviert, können Benutzer einen Punktepreis auf ihre Freigabelinks setzen.",
"wabDAVReadOnly": "WebDAV schreibgeschützt",
"wabDAVReadOnlyDes": "Wenn aktiviert, werden WebDAV-Mounts für diese Gruppe schreibgeschützt — Uploads, Löschungen, Verschiebungen blockiert.",
"aria2TaskLimit": "Max. gleichzeitige Remote-Downloads",
"aria2TaskLimitDes": "Maximale aktive Remote-Download-Aufgaben pro Benutzer (wartend, laufend oder pausiert). 0 = unbegrenzt.",
"aria2MaxFileSize": "Max. Größe pro Download-Aufgabe (Bytes)",
"aria2MaxFileSizeDes": "Remote-Download-Aufgaben über dieser Gesamtgröße werden abgebrochen. 0 = kein Limit.",
"setExplicitUser": "Dateiberechtigungen setzen",
"setExplicitUserDes": "Mitglieder können granulare Lese-/Erstell-/Änder-/Lösch-Rechte auf eigene Dateien und Ordner setzen.",
"switchablePolicies": "Wechselbare Speicherrichtlinien",
"switchablePoliciesDes": "Richtlinien, zu denen Gruppenmitglieder frei wechseln können. Die Standardrichtlinie oben ist immer verfügbar.",
"weightedPolicies": "Gewichtete Richtlinienauswahl",
"weightedPoliciesDes": "Wenn aktiviert, werden Uploads ohne explizite Richtlinienwahl zur erlaubten Richtlinie mit dem höchsten Gewicht geroutet.",
"sharePublicList": "Öffentliches Freigabeverzeichnis",
"sharePublicListDes": "Wenn aktiviert, können Benutzer ihre Freigabelinks ins öffentliche Verzeichnis (Entdecken-Seite) aufnehmen."
},
"user": {
"createdAt": "Erstellt am",
@ -1357,7 +1532,34 @@
"deleteXUsers": "{{num}} Benutzer löschen",
"confirmBatchDelete": "Sind Sie sicher, dass Sie {{num}} Benutzer löschen möchten?",
"calibrateStorage": "Speicher kalibrieren",
"calibrateStorageSuccess": "Speicher erfolgreich kalibriert."
"calibrateStorageSuccess": "Speicher erfolgreich kalibriert.",
"relocateFiles": "Dateien umziehen",
"banExpires": "Sperre läuft ab",
"banExpiresDes": "Optional. Die Sperre wird danach automatisch aufgehoben; leer = permanent.",
"banReason": "Sperrgrund",
"banReasonDes": "Optional. Wird dem Benutzer bei abgelehnter Anmeldung angezeigt.",
"lastLogin": "Letzte Anmeldung",
"uids": "Benutzer-IDs",
"uidsPlaceholder": "Kommagetrennte IDs, z. B. 2,3,5",
"editXUsers": "{{num}} Benutzer bearbeiten",
"batchEditXUsers": "{{num}} Benutzer stapelbearbeiten",
"noChange": "Keine Änderung",
"invitationCodes": "Einladungscodes",
"invitationCodesDes": "Codes, die für öffentliche Registrierungen verlangt werden können. Hier erstellen, teilen und widerrufen.",
"invitationCode": "Code",
"invitationCodeAuto": "Automatisch generieren",
"invitationCodeGroup": "Gruppe",
"invitationCodeMaxUses": "Max. Verwendungen",
"invitationCodeExpires": "Läuft ab am",
"invitationCodeUses": "Verwendungen",
"invitationCodeCreated": "Einladungscode erstellt.",
"invitationCodeCopied": "Code in die Zwischenablage kopiert.",
"invitationCodeCopy": "Kopieren",
"invitationCodeDefaultGroup": "Standard",
"noInvitationCodes": "Noch keine Einladungscodes.",
"loadMore": "Mehr laden",
"additionalGroups": "Zusätzliche Gruppen",
"additionalGroupsDes": "Zusätzliche Gruppenmitgliedschaften neben der primären Gruppe. Berechtigungen, Quotas und Speicherrichtlinien werden vereinigt."
},
"file": {
"deleteXFiles": "{{num}} Dateien löschen",
@ -1429,7 +1631,15 @@
"shareLinkExisted": "Hat Freigabe-Link",
"directLinkExisted": "Hat direkten Link",
"isUploading": "Wird hochgeladen",
"selectUser": "Benutzer auswählen"
"selectUser": "Benutzer auswählen",
"referenceCount": "Referenzzähler",
"awaitingRecycle": "Wartet auf Recyclen",
"refCountGt": "Größer als",
"refCountLt": "Kleiner als",
"refCountEq": "Gleich",
"deletedState": "Löschstatus",
"liveOnly": "Nur aktive Dateien",
"trashOnly": "Nur Papierkorb"
},
"entity": {
"refenenceCount": "Referenzzähler",
@ -1440,7 +1650,15 @@
"confirmBatchDelete": "Sind Sie sicher, dass Sie {{num}} Blobs löschen möchten?",
"deleteXEntities": "{{num}} Blobs löschen",
"forceDelete": "Löschen erzwingen",
"forceDeleteDes": "Ob der Blob-Datensatz gelöscht werden soll, unabhängig davon, ob die physische Datei gelöscht wird."
"forceDeleteDes": "Ob der Blob-Datensatz gelöscht werden soll, unabhängig davon, ob die physische Datei gelöscht wird.",
"relocateXEntities": "{{num}} Blobs umziehen",
"relocateTitle": "Blobs umziehen",
"relocateEntitiesDes": "Die Daten von {{num}} gewählten Blobs in eine andere Speicherrichtlinie verschieben. Die Aufgabe läuft im Hintergrund.",
"relocatePolicyDes": "Alle Blobs auf „{{name}}“ in eine andere Speicherrichtlinie verschieben. Die Aufgabe läuft im Hintergrund.",
"relocateUserDes": "Alle Blobs von „{{name}}“ in eine andere Speicherrichtlinie verschieben. Die Aufgabe läuft im Hintergrund.",
"relocatePolicy": "Alle Blobs auf {{name}} zu anderer Richtlinie migrieren",
"relocateStart": "Umzug starten",
"relocateSubmitted": "Umzugsauftrag übermittelt"
},
"event": {
"cleanup": "Bereinigung",
@ -1476,7 +1694,8 @@
"confirmDelete": "Sind Sie sicher, dass Sie dieses Ereignis löschen möchten?",
"deleteXEvents": "{{num}} Ereignisse löschen",
"confirmBatchDelete": "Sind Sie sicher, dass Sie {{num}} Ereignisse löschen möchten?",
"allEventTypes": "Alle Ereignistypen"
"allEventTypes": "Alle Ereignistypen",
"noEvents": "Noch keine Ereignisse aufgezeichnet"
},
"share": {
"confirmBatchDelete": "Sind Sie sicher, dass Sie {{num}} Freigaben löschen möchten?",
@ -1554,7 +1773,8 @@
"finished": "Abgeschlossen",
"canceled": "Abgebrochen/Gestoppt",
"unknown": "Unbekannt",
"errorMsg": "Fehlermeldung"
"errorMsg": "Fehlermeldung",
"blobAudit": "Blobs auf Speicherrichtlinie #{{policyID}} prüfen ({{count}} verwaist)"
},
"payment": {
"tradeNo": "Handels-Nr.",
@ -1733,7 +1953,22 @@
"customPaymentEndpointDes": "URL, die beim Erstellen einer Zahlungsbestellung angefordert werden soll.",
"appFeedback": "Feedback-URL",
"appForum": "Benutzerforum-URL",
"appLinkDes": "Wird im mobilen Client angezeigt, leer lassen um Menüelement zu verstecken. Diese Einstellung wird nur wirksam, wenn die VOL-Lizenz gültig ist."
"appLinkDes": "Wird im mobilen Client angezeigt, leer lassen um Menüelement zu verstecken. Diese Einstellung wird nur wirksam, wenn die VOL-Lizenz gültig ist.",
"addTrafficPack": "Traffic-Paket hinzufügen",
"editTrafficPack": "Traffic-Paket bearbeiten",
"trafficSize": "Traffic-Menge (Bytes)",
"trafficSizeDes": "Bytes Direktlink-Traffic, die beim Kauf gutgeschrieben werden; Pakete sind permanent.",
"subAddressChars": "Sub-Adressen-Zeichen",
"subAddressCharsDes": "Zeichen, die als Sub-Adressen-Trenner im lokalen Teil der E-Mail gelten (z. B. <code>+-.</code>).",
"manualAdjust": "Manuelle Punkteanpassung",
"adjustEmail": "Benutzer-E-Mail",
"adjustDelta": "Punkteänderung",
"adjustDeltaDes": "Positiv schreibt gut, negativ zieht ab",
"adjustNote": "Notiz",
"adjustSubmit": "Anwenden",
"adjustSuccess": "Punkte angepasst",
"adjustFailed": "Punkteanpassung fehlgeschlagen",
"paymentId": "Zahlungs-ID"
},
"abuseReport": {
"deleteXAbuseReports": "{{num}} Missbrauchsmeldungen löschen",
@ -1747,6 +1982,43 @@
"reporterID": "Melder-Benutzer-ID",
"reportedUserID": "Gemeldete Benutzer-ID",
"shareID": "Freigabe-ID",
"reason": "Grund"
"reason": "Grund",
"target": "Ziel",
"statusLabel": "Status",
"reportedAt": "Gemeldet am",
"actions": "Aktionen",
"resolve": "Lösen",
"dismiss": "Verwerfen",
"adminNote": "Admin-Notiz",
"blockShare": "Freigabelink sperren",
"noReports": "Keine Missbrauchsmeldungen",
"reviewSuccess": "Meldung aktualisiert.",
"status": {
"open": "Offen",
"resolved": "Gelöst",
"dismissed": "Verworfen",
"all": "Alle"
},
"markAs": {
"resolved": "Meldung lösen",
"dismissed": "Meldung verwerfen",
"open": "Meldung wieder öffnen"
}
},
"pro": {
"title": "Exklusive Funktionen der Pro-Edition",
"description": "Die Funktion, auf die Sie zugreifen möchten, ist nur in der Cloudreve Pro-Edition verfügbar. Upgraden Sie, um alle erweiterten Funktionen freizuschalten.",
"proInclude": "Die Pro-Edition enthält:",
"shareLinkCollabration": "Zusammenarbeit über Freigabelinks",
"filePermission": "Dateiberechtigungsverwaltung",
"multipleStoragePolicy": "Mehrere Speicherrichtlinien und Richtlinienwechsel pro Verzeichnis",
"auditAndActivity": "Datei- und Systemaktivitätsprotokolle",
"vasService": "VAS-Dienste und Punktesystem",
"sso": "SSO-Single-Sign-On",
"more": "……",
"later": "Vielleicht später",
"learnMore": "Mehr erfahren",
"promotionTitle": "Sonderrabatt beim Upgrade der Community-Edition",
"promotion": "Verwenden Sie beim Kauf den Aktionscode <0>{{code}}</0>, um <1>-{{discount}}%</1> Rabatt zu erhalten."
}
}

@ -52,7 +52,35 @@
"signingOut": "Cerrando sesión...",
"loggedOut": "Has cerrado sesión",
"clickToRefresh": "Haz clic para actualizar el código de verificación",
"switchLanguage": "Cambiar idioma"
"switchLanguage": "Cambiar idioma",
"invitationCode": "Código de invitación",
"phoneNumber": "Número de teléfono",
"smsCode": "Código SMS",
"sendSmsCode": "Enviar código",
"resendSmsCode": "Reenviar ({{seconds}}s)",
"smsSignIn": "Iniciar sesión con SMS",
"resetViaSms": "Restablecer por SMS en su lugar",
"emailChangedTitle": "Correo cambiado",
"emailChanged": "Tu dirección de correo se ha cambiado correctamente.",
"signInWith": "Iniciar sesión con {{name}}",
"ssoFailed": "Error en el inicio de sesión único. Inténtalo de nuevo o usa otro método de inicio de sesión.",
"ssoError": {
"generic": "Error en el inicio de sesión único. Inténtalo de nuevo.",
"sso_not_configured": "El inicio de sesión único no está configurado. Contacta con el administrador.",
"sso_discovery_failed": "No se pudo contactar con el proveedor de identidad. Inténtalo más tarde.",
"sso_state_failed": "No se pudo iniciar la sesión de inicio de sesión. Inténtalo de nuevo.",
"sso_denied": "El proveedor de identidad denegó el inicio de sesión.",
"sso_invalid_response": "Respuesta no válida del proveedor de identidad.",
"sso_state_expired": "La sesión de inicio de sesión ha caducado. Inténtalo de nuevo.",
"sso_exchange_failed": "No se pudo completar el inicio de sesión con el proveedor de identidad.",
"sso_token_invalid": "No se pudo verificar la respuesta de identidad.",
"sso_no_email": "El proveedor de identidad no devolvió una dirección de correo.",
"sso_account_unavailable": "No hay ninguna cuenta disponible para esta identidad. Puede que el registro esté restringido."
},
"browsePublicShares": "Explorar shares públicos",
"inputBackupCode": "Introduce uno de tus códigos de recuperación",
"useBackupCode": "Usar un código de recuperación en su lugar",
"use2FACode": "Usar el código del autenticador en su lugar"
},
"oauth": {
"authorize": "Autorizar aplicación",
@ -144,7 +172,11 @@
"toDarkMode": "Oscuro",
"toLightMode": "Claro",
"myProfile": "Mi perfil",
"dashboard": "Panel de control"
"dashboard": "Panel de control",
"shop": "Tienda",
"addAccount": "Añadir cuenta",
"signedOut": "Sesión cerrada",
"discover": "Descubrir"
},
"fileManager": {
"continueInDesktop": "Autorización exitosa, por favor continúa en el cliente de escritorio.",
@ -488,7 +520,34 @@
"noEncryption": "No cifrado",
"ftsStatus": "Índice de texto completo",
"ftsIndexed": "Indexado",
"ftsNotIndexed": "No indexado"
"ftsNotIndexed": "No indexado",
"aclDes": "Permisos detallados para «{{name}}». Las entradas listadas anulan los permisos por defecto del enlace de share para los visitantes coincidentes.",
"aclSubject": "Sujeto",
"aclAnonymous": "Visitantes anónimos",
"aclEveryone": "Todos los demás",
"aclGroup": "grupo",
"aclPerm_read": "Leer",
"aclPerm_create": "Crear",
"aclPerm_update": "Actualizar",
"aclPerm_delete": "Eliminar",
"loop": "Bucle",
"modelViewer": "Visor de modelos 3D",
"modelLoadFailed": "Error al cargar el modelo 3D",
"activityDes": "Acciones registradas en {{name}}.",
"selectDownloadRoute": "Seleccionar ruta de descarga",
"downloadRouteDirect": "Directa",
"downloadRouteDirectDescription": "Descargar directamente desde este sitio",
"lineEnding": "Final de línea",
"downloadAll": "Descargar todo",
"dirPolicyTitle": "Política de almacenamiento para subidas",
"dirPolicyDes": "Los nuevos archivos subidos a «{{name}}» usarán la política de almacenamiento seleccionada.",
"relocateTitle": "Reubicar almacenamiento",
"relocateDes": "Mover el contenido físico de «{{name}}» a la política de almacenamiento seleccionada.",
"relocateSubmitted": "Tarea de reubicación enviada",
"relocateStart": "Reubicar",
"policySaved": "Política de almacenamiento actualizada",
"policyInherit": "Heredar (padre o predeterminado del grupo)",
"policyGroupDefault": "Predeterminado del grupo"
},
"modals": {
"includePasswordInShareLink": "Incluir contraseña en enlace compartido",
@ -661,7 +720,44 @@
"skipSoftDeleteDes": "Omitir mover a papelera, eliminar permanentemente",
"unlinkOnly": "Mantener archivos físicos",
"unlinkOnlyDes": "Eliminar solo registros de archivos, los archivos físicos no serán eliminados.",
"shareTargetsCount": "{{count}} destinos"
"shareTargetsCount": "{{count}} destinos",
"paidShare": "Share de pago",
"paidSharePrice": "{{price}} puntos",
"paidShareDes": "Los visitantes deben comprar este share con puntos de crédito antes de descargar. Pon 0 para un share gratuito.",
"paidSharePriceLabel": "Precio (puntos)",
"nameConflict": "Conflicto de nombre",
"conflictOverwriteDes": "Reemplazar los elementos existentes en el destino.",
"conflictSkipDes": "Conservar los elementos existentes; los elementos en conflicto no se moverán ni copiarán.",
"skip": "Omitir",
"remoteDownloadFileName": "Nombre de archivo (opcional)",
"remoteDownloadFileNameDescription": "Nombre de archivo de salida personalizado",
"remoteDownloadHttpUser": "Usuario HTTP (opcional)",
"remoteDownloadHttpPassword": "Contraseña HTTP (opcional)",
"remoteDownloadHeaders": "Cabeceras de petición (opcional)",
"remoteDownloadProvider": "Descargador",
"remoteDownloadProviderAuto": "Auto (cualquier nodo)",
"remoteDownloadHeadersDescription": "Una cabecera por línea, p. ej. Cookie: sid=...",
"allowUpload": "Permitir subidas",
"allowUploadDes": "Los visitantes pueden subir nuevos archivos y crear carpetas en esta carpeta compartida. El almacenamiento cuenta hacia tu cuota.",
"allowEdit": "Permitir edición",
"allowEditDes": "Los visitantes pueden subir, renombrar, mover y eliminar archivos en esta carpeta compartida. Implica el permiso de subida.",
"uploadOnly": "Solo subida (buzón)",
"uploadOnlyDes": "Los visitantes pueden subir archivos pero no pueden ver ni descargar el contenido existente en esta carpeta compartida.",
"previewOnly": "Solo vista previa",
"previewOnlyDes": "Los visitantes pueden previsualizar archivos en línea pero no descargarlos.",
"shareNote": "Nota",
"shareNoteDes": "Una nota privada para identificar este share. Solo visible para ti en Mis shares.",
"shareTargets": "Destinos del share",
"shareTargetsCount_one": "{{count}} destino",
"shareTargetsCount_other": "{{count}} destinos",
"publicListing": "Listar en el directorio público",
"publicListingDes": "Mostrar este share en la página Descubrir, visible para cualquiera, incluidos visitantes anónimos. No disponible para shares protegidos con contraseña.",
"hideReadme": "Ocultar archivo readme",
"hideReadmeDes": "Mantener el archivo README fuera de la lista del share. Los visitantes aún ven el readme renderizado.",
"viewSetting": "Configuración de vista",
"saved": "Guardado",
"notSet": "Sin configurar",
"deleteViewSetting": "Eliminar configuración de vista"
},
"uploader": {
"fileCopyName": "Copia de ",
@ -684,7 +780,7 @@
"preparing": "Preparando...",
"processing": "Procesando...",
"progressDescription": "{{uploaded}} subido, {{total}} total - {{percentage}}%",
"progressDescriptionFull": "{{uploaded}} subido, {{total}} total - {{percentage}}% ({{speed}})",
"progressDescriptionFull": "{{uploaded}} subido, {{total}} total - {{percentage}}% ({{speed}}){{eta}}",
"progressDescriptionPlaceHolder": " - subido",
"uploaded": "Subido",
"rootFolder": "Carpeta raíz",
@ -743,7 +839,8 @@
"upyunUploadFailed": "Subida fallida: {{msg}}",
"parseResponseError": "No se puede analizar respuesta: {{msg}} ({{content}})",
"concurrentTaskNumber": "Límite de tareas concurrentes",
"dropFileHere": "Soltar archivo para subir"
"dropFileHere": "Soltar archivo para subir",
"etaSuffix": ", ETA {{eta}}"
},
"share": {
"free": "Gratis",
@ -790,7 +887,19 @@
"preview": "Vista previa",
"incorrectPassword": "Contraseña incorrecta",
"shareNotExist": "El enlace compartido no existe o ha expirado",
"copyLinkToClipboard": "Copiar enlace al portapapeles"
"copyLinkToClipboard": "Copiar enlace al portapapeles",
"paidShareDes": "Este es un share de pago. La compra cuesta {{price}} puntos y desbloquea las descargas.",
"purchaseForPoints": "Comprar por {{price}} pts",
"signInToPurchase": "Inicia sesión para comprar",
"yourBalance": "Saldo: {{credits}} puntos",
"saveToMyFiles": "Guardar en mis archivos",
"savedToMyFiles": "Share guardado en tus archivos.",
"saveShareLink": "Guardar enlace de share",
"saveShareLinkHint": "Pega un enlace de share como https://example.com/s/abc123",
"shareLink": "Enlace de share",
"savedAs": "Guardado como (opcional)",
"sharePasswordRequired": "Este share requiere una contraseña.",
"invalidShareLink": "No se pudo analizar este enlace de share."
},
"download": {
"noFilesFound": "No se encontraron archivos",
@ -1054,7 +1163,80 @@
"relocateFileTo": "Transferir la política de almacenamiento de <0></0>{{more}} a {{policy}}",
"extractFileTo": "Extraer <0></0>{{more}} a <1></1>",
"createArchiveTo": "Empaquetar <0></0>{{more}} a <1></1>",
"importFileTo": "Importar archivos de {{policy}} a <0></0>"
"importFileTo": "Importar archivos de {{policy}} a <0></0>",
"preferredViewers": "Apps predeterminadas",
"preferredViewersDes": "Apps elegidas con «Siempre» en el diálogo abrir con. Se aplican en todos tus dispositivos; elimina una para que te vuelvan a preguntar.",
"preferredViewersEmpty": "Aún no hay apps predeterminadas guardadas. Elige «Siempre» en el diálogo abrir con de un archivo.",
"trashRetention": "Retención de papelera (días)",
"trashRetentionDes": "Días que un archivo permanece en la papelera antes de su eliminación automática. 0 hereda el predeterminado del grupo. Se aplica a los archivos movidos a la papelera tras el cambio.",
"linkedAccounts": "Cuentas vinculadas",
"providerQQ": "QQ",
"unlinkAccount": "Desvincular",
"unlinkAccountConfirm": "¿Seguro que quieres desvincular esta cuenta? Ya no podrás iniciar sesión con ella.",
"linkQQAccount": "Vincular cuenta QQ",
"providerWeChat": "WeChat",
"linkWeChatAccount": "Vincular cuenta WeChat",
"phoneBinding": "Vinculación de teléfono",
"bindPhone": "Vincular teléfono",
"unbindPhone": "Desvincular",
"unbindPhoneConfirm": "¿Seguro que quieres desvincular este número de teléfono? Ya no podrás iniciar sesión ni restablecer tu contraseña con él.",
"changeEmail": "Cambiar",
"changeEmailDes": "Se enviará un enlace de confirmación a la nueva dirección. Tu correo actual ({{email}}) permanece activo hasta la confirmación.",
"newEmail": "Nueva dirección de correo",
"changeEmailPasswordDes": "Introduce tu contraseña actual para confirmar.",
"emailChangeSent": "Correo de confirmación enviado a la nueva dirección.",
"copySecret": "¿No puedes escanear? Haz clic para copiar la clave de configuración",
"secretCopied": "Clave de configuración copiada",
"shareSiteDefault": "Predeterminado del sitio",
"shareSiteDefaultDes": "Seguir el predeterminado global configurado por el administrador.",
"shareDefaultPrivate": "Privacidad por defecto de los shares",
"shareDefaultPrivateDes": "Los nuevos shares son privados por defecto (protegidos con contraseña).",
"sharePrivateOn": "Privado",
"sharePrivateOff": "Público",
"preferredPolicy": "Política de almacenamiento preferida",
"preferredPolicyDes": "Las nuevas subidas en tus propios archivos usan esta política de almacenamiento, salvo que una carpeta la reemplace.",
"policySaved": "Política de almacenamiento actualizada",
"policyInherit": "Heredar (predeterminado del grupo)",
"policyGroupDefault": "Predeterminado del grupo",
"creditBalance": "Saldo de créditos",
"storageBonus": "Bonificación de almacenamiento",
"dlTraffic": "Tráfico de enlace directo",
"dlTrafficUnlimited": "Ilimitado",
"activeGrants": "Beneficios activos",
"grantStorage": "Almacenamiento",
"grantGroup": "Grupo",
"redeemGiftCode": "Canjear código de regalo",
"redeemGiftCodeDes": "Introduce un código de regalo para reclamar créditos o beneficios",
"giftCodePlaceholder": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"redeem": "Canjear",
"giftCodeRedeemed": "Código de regalo canjeado",
"creditLedger": "Libro de créditos",
"txnChange": "Cambio",
"txnTime": "Hora",
"txnReason": "Razón",
"noTxns": "Aún no hay transacciones",
"txnType": {
"purchase": "Compra en tienda",
"gift": "Código de regalo",
"share_income": "Enlace de share comprado",
"adjust": "Ajuste manual"
},
"tags": "Etiquetas",
"tagsDes": "Renombrar, recolorear o eliminar una etiqueta en todos tus archivos. Renombrar sobre una etiqueta existente las fusiona.",
"tagName": "Etiqueta",
"tagFiles": "Archivos",
"tagActions": "Acciones",
"noTags": "Aún no hay etiquetas",
"editTag": "Editar etiqueta",
"deleteTag": "Eliminar etiqueta",
"deleteTagDes": "¿Quitar la etiqueta «{{name}}» de {{count}} archivo(s)? Los archivos en sí se conservan.",
"tagUpdated": "Etiqueta actualizada",
"tagDeleted": "Etiqueta eliminada",
"tagNameInvalid": "El nombre de la etiqueta no puede estar vacío ni contener «:»",
"backup2FACodes": "Códigos de recuperación",
"backupCodesDes": "Los códigos de recuperación te permiten iniciar sesión cuando tu autenticador no está disponible. Generar un nuevo lote invalida todos los códigos anteriores.",
"backupCodesWarning": "Guarda estos códigos ahora. Cada uno se puede usar una sola vez y no se volverán a mostrar.",
"copyCodes": "Copiar códigos"
},
"vas": {
"points": "Puntos",
@ -1190,5 +1372,43 @@
"dontShowAgain": "No mostrar de nuevo",
"openPaymentLink": "Abrir enlace de pago directamente",
"creditReasonAdjust": "Ajuste manual"
},
"vault": {
"title": "Espacio privado",
"description": "Los archivos de tu espacio privado están ocultos en la navegación y en la búsqueda hasta que lo desbloqueas con una contraseña independiente. Los archivos del espacio privado no se pueden compartir ni acceder vía WebDAV.",
"enable": "Activar espacio privado",
"enabled": "Espacio privado activado",
"disable": "Desactivar",
"disabled": "Espacio privado desactivado",
"disableDescription": "Al desactivar se elimina el bloqueo; la carpeta y su contenido permanecen como archivos normales.",
"confirmDisable": "Confirmar desactivación",
"setPassword": "Establecer contraseña del espacio privado",
"confirmPassword": "Contraseña del espacio privado",
"enterPassword": "Contraseña del espacio privado",
"lockNow": "Bloquear ahora",
"locked": "Espacio privado bloqueado",
"unlocked": "Desbloqueado",
"lockedState": "Bloqueado",
"lockedTitle": "Esta carpeta está en tu espacio privado. Desbloquéala para continuar.",
"badge": "Espacio privado"
},
"shop": {
"memberships": "Membresías",
"storagePacks": "Packs de almacenamiento",
"trafficPacks": "Packs de tráfico",
"redeem": "Canjear",
"balance": "Saldo: {{credits}} pts",
"purchased": "{{name}} comprado",
"permanent": "Permanente",
"noProducts": "No hay productos disponibles",
"buyWithPoints": "Comprar por {{points}} pts",
"pointsUnavailable": "No se puede comprar con puntos"
},
"announcement": {
"title": "Anuncio",
"dontShowAgain": "No mostrar de nuevo"
},
"discover": {
"searchPlaceholder": "Buscar shares públicos"
}
}

@ -34,7 +34,9 @@
"human": "Soy humano",
"verifying": "Verificando...",
"verified": "Eres humano"
}
},
"verify": "Haz clic para verificar",
"verified": "Verificado"
},
"errors": {
"401": "Por favor inicia sesión.",
@ -54,7 +56,7 @@
"40014": "Se excedió el límite de lote para obtener enlaces de origen.",
"40015": "Se excedió el límite de lote de aria2.",
"40016": "Ruta no encontrada.",
"40017": "Esta cuenta ha sido bloqueada.",
"40017": "Esta cuenta ha sido bloqueada. {{message}}",
"40018": "Esta cuenta no está activada.",
"40019": "Esta función no está habilitada.",
"40020": "Credencial inválida o expirada.",
@ -117,5 +119,6 @@
"40084": "Tu cuenta no tiene contraseña, debes mantener al menos una cuenta vinculada.",
"40085": "El monto total de esta orden es demasiado pequeño para el pago."
},
"save": "Guardar"
"save": "Guardar",
"delete": "Eliminar"
}

@ -753,7 +753,8 @@
"report_abuse": "Reportar abuso",
"oauth_grant_create": "Autorización de aplicación OAuth",
"oauth_token_exchange": "Intercambio de token OAuth",
"oauth_grant_revoke": "Revocación de autorización OAuth"
"oauth_grant_revoke": "Revocación de autorización OAuth",
"content_audit_blocked": "Share bloqueado por auditoría de contenido"
},
"server": "Servidor",
"tempPath": "Ruta temporal",
@ -821,7 +822,91 @@
"ftsTikaExts": "Extensiones soportadas",
"ftsTikaExtsDes": "Lista de extensiones de archivo separadas por comas. Tika procesará archivos de estos tipos.",
"ftsTikaMaxFileSize": "Tamaño máximo de archivo",
"ftsTikaMaxFileSizeDes": "Tamaño máximo de archivo a enviar a Tika para extracción de contenido."
"ftsTikaMaxFileSizeDes": "Tamaño máximo de archivo a enviar a Tika para extracción de contenido.",
"navItemVisibility": "Visibilidad",
"navScopePublic": "Todos",
"navScopeUser": "Usuarios conectados",
"uploadDedupScope": "Ámbito de detección de duplicados",
"uploadDedupScopeDes": "Cuando un cliente envía un hash de contenido, el servidor busca un archivo idéntico completado y materializa la subida al instante sin transferir bytes.",
"uploadDedupScope_off": "Desactivado",
"uploadDedupScope_offDes": "Sin detección de duplicados; cada subida transfiere bytes.",
"uploadDedupScope_owner": "Mismo usuario",
"uploadDedupScope_ownerDes": "Solo desduplicar contra archivos que el usuario que sube ya posee.",
"uploadDedupScope_global": "Global",
"uploadDedupScope_globalDes": "Desduplicar contra todos los archivos completados en este sitio.",
"translations": "Traducciones",
"translationsDes": "Anulaciones por idioma. Deja en blanco para volver al valor predeterminado. Los usuarios ven la variante que coincide con su ajuste de idioma o el idioma del navegador.",
"invitationCodeRequired": "Código de invitación obligatorio",
"invitationCodeRequiredDes": "Los nuevos registros deben proporcionar un código de invitación válido. Los códigos se gestionan en Usuarios - Códigos de invitación.",
"smtpAuthMethod": "Método de autenticación SMTP",
"smtpAuthMethodDes": "La detección automática solo selecciona mecanismos seguros y nunca envía credenciales en texto plano en conexiones sin cifrar. Si tu servidor solo ofrece PLAIN/LOGIN sin cifrado, elige el método «-noenc» correspondiente — las credenciales se transmitirán sin cifrar.",
"smtpAuth_autodiscover": "Detección automática",
"smtpAuth_plain": "PLAIN",
"smtpAuth_plain_noenc": "PLAIN (permitir sin cifrar)",
"smtpAuth_login": "LOGIN",
"smtpAuth_login_noenc": "LOGIN (permitir sin cifrar)",
"smtpAuth_cram_md5": "CRAM-MD5",
"smtpAuth_scram_sha_1": "SCRAM-SHA-1",
"smtpAuth_scram_sha_256": "SCRAM-SHA-256",
"smtpAuth_xoauth2": "XOAUTH2",
"smtpAuth_noauth": "Sin autenticación",
"tcaptcha": "Tencent Captcha",
"tcaptchaAppId": "CaptchaAppId",
"tcaptchaAppSecretKey": "AppSecretKey",
"tcaptchaSecretId": "SecretId",
"tcaptchaSecretKey": "SecretKey",
"tcaptchaDes": "Obtén tu CaptchaAppId y AppSecretKey desde la <0>consola de Tencent Captcha</0>.",
"tcaptchaSecretDes": "SecretId y SecretKey de una credencial de API de Tencent Cloud usada para llamar a DescribeCaptchaResult.",
"trafficProductSettings": "Producto de tráfico",
"trafficProductsDes": "Configura los productos que los usuarios pueden comprar para recargar su asignación de tráfico de enlace directo.",
"auditRetentionDays": "Retención (días)",
"auditRetentionDaysDes": "Eliminar eventos anteriores a este número de días. 0 conserva los eventos para siempre.",
"ssoIssuer": "URL del emisor",
"ssoIssuerDes": "URL base del emisor OIDC, p. ej. <0>https://keycloak.example.com/realms/master</0>. Los metadatos del proveedor se obtienen de <1>.well-known/openid-configuration</1> bajo esta URL.",
"ssoRegisterEnabled": "Permitir registro automático",
"ssoRegisterEnabledDes": "Crear automáticamente una cuenta local cuando un usuario inicia sesión por SSO por primera vez. El filtro de registro por correo de abajo también se aplica.",
"downloadCdnRoutes": "Rutas CDN de descarga",
"downloadCdnRoutesDes": "Endpoints de descarga alternativos ofrecidos a los usuarios, uno por línea en formato nombre=url (p. ej. Línea 1=https://cdn1.example.com). Las rutas deben redirigir la ruta y consulta completas a este sitio para que las URLs firmadas sigan siendo válidas; las cabeceras CORS son obligatorias para descargas en el navegador.",
"downloadCdnShuffle": "Repartir rutas de descarga",
"downloadCdnShuffleDes": "Distribuir aleatoriamente cada enlace de descarga generado entre la URL del sitio y todas las rutas CDN configuradas, para que las exportaciones por lotes a gestores de descarga toquen endpoints distintos. El selector manual de ruta se oculta cuando está activado.",
"ssoAutoRedirect": "Redirección automática a SSO",
"ssoAutoRedirectDes": "Omitir el formulario de inicio de sesión y enviar a los visitantes directamente al proveedor de identidad. Añade <0>?nosso=1</0> a la URL de inicio de sesión para llegar al formulario de contraseña (p. ej. para recuperación de admin).",
"ssoCallbackUrl": "URL de callback",
"ssoCallbackUrlDes": "Registra esta URL como URL de redirección/callback en tu proveedor de identidad: <0>{{url}}</0>",
"qqConnect": "QQ Connect",
"qqAppID": "App ID",
"qqAppIDDes": "El App ID de la aplicación web creada en la <0>consola de QQ Connect</0> (connect.qq.com).",
"qqAppSecret": "App Key",
"qqCallbackUrl": "URL de callback",
"qqCallbackUrlDes": "Registra esta URL como dominio/URL de callback web en la consola de QQ Connect: <0>{{url}}</0>",
"qqRegisterEnabled": "Permitir registro automático",
"qqRegisterEnabledDes": "Crear automáticamente una cuenta local cuando un usuario inicia sesión por QQ por primera vez. QQ no proporciona dirección de correo, las cuentas creadas usan una dirección sintética @connect.qq.local.",
"wechatConnect": "Inicio de sesión por escaneo de WeChat",
"wechatAppID": "App ID",
"wechatAppIDDes": "El AppID de la aplicación web creada en la <0>WeChat Open Platform</0> (open.weixin.qq.com).",
"wechatAppSecret": "App Secret",
"wechatCallbackUrl": "URL de callback",
"wechatCallbackUrlDes": "Registra el dominio de esta URL como dominio de callback de autorización en la consola de WeChat Open Platform: <0>{{url}}</0>",
"wechatRegisterEnabled": "Permitir registro automático",
"wechatRegisterEnabledDes": "Crear automáticamente una cuenta local cuando un usuario inicia sesión por WeChat por primera vez. WeChat no proporciona dirección de correo, las cuentas creadas usan una dirección sintética @connect.wechat.local.",
"smsSignIn": "Inicio de sesión por SMS",
"smsEndpoint": "Endpoint de la pasarela",
"smsEndpointDes": "Endpoint HTTP de tu proveedor de SMS. Los marcadores <0>{phone}</0> y <0>{code}</0> se reemplazan antes de cada petición.",
"smsMethodDes": "Método HTTP usado para la petición a la pasarela. Para GET, los marcadores solo se renderizan en la URL del endpoint.",
"smsHeaders": "Cabeceras de petición",
"smsHeadersDes": "Un par `Key: Value` por línea, p. ej. Authorization: Bearer <token>.",
"smsBodyTemplate": "Plantilla del cuerpo de petición",
"smsBodyTemplateDes": "Cuerpo enviado para peticiones POST. Los marcadores <0>{phone}</0> y <0>{code}</0> se reemplazan antes de cada petición.",
"smsRegisterEnabled": "Permitir registro automático",
"smsRegisterEnabledDes": "Crear automáticamente una cuenta local cuando un usuario inicia sesión por código SMS por primera vez. Las cuentas creadas usan una dirección sintética @sms.local.",
"themeVisible": "Visible",
"shareDefaultPrivate": "Share privado por defecto",
"shareDefaultPrivateDes": "Los nuevos shares son privados por defecto (protegidos con contraseña). Los usuarios pueden anularlo en sus ajustes personales.",
"defaultShareLinksInProfile": "Visibilidad por defecto de los shares del perfil",
"defaultShareLinksInProfileDes": "Controla qué shares aparecen en la página de perfil pública de un usuario cuando este no ha elegido ninguno.",
"profileSharePublicOnly": "Solo shares sin contraseña",
"profileShareAll": "Todos los shares",
"profileShareHide": "Ocultar todos los shares"
},
"giftCodes": {
"giftCodesSettings": "Códigos de Regalo",
@ -852,7 +937,11 @@
"copyAndClose": "Copiar y Cerrar",
"duratonTimes": "Cantidad",
"duratonTimesDes": "Cuántas cantidades del producto se incluyen en cada código de regalo.",
"unknownProduct": "Producto Desconocido"
"unknownProduct": "Producto Desconocido",
"giftCodeTypeTraffic": "Tráfico de enlace directo",
"giftCodeDeleteFailed": "Error al eliminar el código de regalo",
"giftCodeCreateFailed": "Error al generar códigos de regalo",
"giftCodeAmountHelp": "Importe concedido por código"
},
"policy": {
"acceleratedDomainUpload": "Usar dominio de aceleración de transferencia para subida",
@ -1144,7 +1233,40 @@
"fileEncryption": "Cifrado de archivos",
"enableFileEncryption": "Habilitar cifrado de archivos",
"enableFileEncryptionDes": "Cuando está habilitado, los blobs de archivos se almacenarán cifrados. Cambiar esta configuración solo afecta a los archivos recién agregados.",
"encryptedFile": "Archivos cifrados"
"encryptedFile": "Archivos cifrados",
"mediaExtractorUpyun": "servicio de procesamiento de imágenes",
"nativeMediaMetaExtUpyun": "El servicio de procesamiento de imágenes soporta <0>la extracción de EXIF de imágenes</0>. No se necesita configuración manual, solo añade arriba las extensiones que quieres procesar.",
"thumbForceProxy": "Forzar proxy de generación de miniaturas",
"thumbForceProxyDes": "Generar siempre las miniaturas con el pipeline del proxy local, incluso cuando el backend de almacenamiento ofrece una API nativa de miniaturas. Implica generación proxy de miniaturas.",
"thumbStoragePolicy": "Política de almacenamiento de miniaturas",
"thumbStoragePolicySource": "Igual que el archivo",
"thumbStoragePolicyDes": "Las miniaturas generadas se almacenan bajo la política seleccionada en lugar de la política de almacenamiento del propio archivo.",
"blobAudit": "Auditar blobs: {{name}}",
"blobAuditDes": "Escanea el backend de almacenamiento y lista los objetos físicos no referenciados por ningún registro de archivo. Útil para encontrar blobs fantasma dejados por transferencias fallidas.",
"blobAuditDelete": "Eliminar blobs huérfanos",
"blobAuditDeleteWarning": "Los objetos huérfanos se eliminarán permanentemente del backend de almacenamiento. Los archivos aún en subida pueden aparecer como huérfanos — solo actívalo cuando estés seguro de que no hay subidas en curso.",
"blobAuditStart": "Iniciar auditoría",
"blobAuditSubmitted": "Tarea de auditoría de blobs encolada.",
"maxTotalSize": "Capacidad total máxima",
"maxTotalSizeDes": "Número máximo total de bytes almacenados bajo esta política. Las subidas y copias que la superen se rechazan. 0 significa ilimitado.",
"overflowPolicy": "Política de desbordamiento",
"overflowPolicyDes": "Cuando esta política se queda sin capacidad, las nuevas subidas se redirigen a la política seleccionada. Se admiten cadenas de políticas.",
"auditEndpoint": "Endpoint de auditoría de contenido",
"auditEndpointDes": "Endpoint HTTP para la auditoría de contenido (p. ej. moderación de imágenes). Al definirlo, compartir un archivo almacenado en esta política envía su contenido al endpoint; una respuesta {\"flagged\":true} bloquea el share. Dejar vacío para desactivar.",
"auditMaxSize": "Límite de tamaño de auditoría",
"auditMaxSizeDes": "Tamaño máximo de entidad enviada al endpoint de auditoría. Los archivos más grandes se omiten. 0 significa sin límite.",
"overflowNone": "Ninguna",
"allowNativeName": "Permitir caracteres nativos en nombres de archivo",
"allowNativeNameDes": "Permitir caracteres solo ilegales en sistemas de archivos Windows (: * ? \" < > |) en los nombres de archivo. Puede romper clientes que monten en Windows. Los separadores de ruta siguen prohibidos.",
"status": "Estado",
"statusDes": "Las políticas suspendidas siguen sirviendo archivos existentes pero rechazan nuevas subidas.",
"loadBalance": "Balanceo de carga",
"lbChildren": "Políticas de almacenamiento hijas",
"lbChildPolicy": "Política de almacenamiento",
"lbWeight": "Peso",
"lbAddChild": "Añadir política hija",
"lbChildrenDes": "Las nuevas subidas se distribuyen entre las políticas hijas proporcionalmente a su peso.",
"lbWizardDes": "Una política de balanceo de carga distribuye las subidas entre políticas hijas ponderadas. Las hijas se configuran tras la creación."
},
"node": {
"slave": "esclavo",
@ -1214,7 +1336,11 @@
"hostHeaderHint": "Si hay un error de firma, por favor verifica si el proxy inverso frente al nodo está pasando el header <0>Host</0>.",
"features": "Características habilitadas",
"remoteDownload": "Descarga remota",
"refresh": "Actualizar"
"refresh": "Actualizar",
"ytdlpDes": "Ejecuta yt-dlp en el servidor del nodo objetivo con el mismo usuario/nivel de acceso que Cloudreve. yt-dlp se invoca como un proceso CLI por tarea - no se necesita demonio.",
"ytdlpOptionDes": "Opciones CLI adicionales de yt-dlp al crear una tarea de descarga, en formato JSON clave-valor - las claves se convierten en argumentos --flag tal cual, ver la <0>referencia de opciones de yt-dlp</0>.",
"ytdlpBinary": "Binario yt-dlp",
"ytdlpBinaryDes": "Ruta o nombre del ejecutable yt-dlp en el servidor del nodo. Por defecto yt-dlp resuelto desde el PATH."
},
"group": {
"countUser": "Contar",
@ -1300,7 +1426,38 @@
"notCopy": "No copiar",
"confirmDelete": "¿Estás seguro de que quieres eliminar el grupo {{group}}?",
"new": "Nuevo grupo",
"editGroup": "Editar {{group}}"
"editGroup": "Editar {{group}}",
"availablePolicyDesPro": "Selección múltiple, los usuarios pueden cambiar libremente de política de almacenamiento dentro del rango seleccionado.",
"loginIPWhitelist": "Lista blanca de IP de inicio de sesión",
"loginIPWhitelistDes": "Restringir el inicio de sesión a estas IPs o rangos CIDR, uno por línea. Dejar vacío para permitir todo.",
"delegatedAdmin": "Secciones de administración delegada",
"delegatedAdminDes": "Conceder acceso solo a secciones seleccionadas del panel. Los usuarios de este grupo pueden abrir el panel de administración, pero solo funcionan las secciones habilitadas — todas las demás llamadas a la API admin se rechazan.",
"sectionUsers": "Usuarios",
"sectionGroups": "Grupos",
"sectionFiles": "Archivos & blobs",
"sectionShares": "Shares",
"sectionStorage": "Políticas de almacenamiento & nodos",
"sectionQueue": "Cola de tareas",
"sectionSettings": "Ajustes del sitio & OAuth",
"sectionPayment": "Pagos",
"sectionEvents": "Eventos",
"sectionReports": "Informes de abuso",
"shareSell": "Vender enlaces de share",
"shareSellDes": "Cuando está activado, los usuarios pueden poner un precio en puntos a los enlaces de share que crean.",
"wabDAVReadOnly": "WebDAV solo lectura",
"wabDAVReadOnlyDes": "Si está activado, los montajes WebDAV para los usuarios de este grupo pasan a solo lectura — las subidas, eliminaciones, movimientos y otros métodos de escritura se rechazan.",
"aria2TaskLimit": "Máx. de tareas de descarga remota simultáneas",
"aria2TaskLimitDes": "Número máximo de tareas de descarga remota activas por usuario (encoladas, en ejecución o suspendidas). 0 = sin límite.",
"aria2MaxFileSize": "Tamaño máximo por tarea de descarga (bytes)",
"aria2MaxFileSizeDes": "Las tareas de descarga remota cuyo tamaño total resuelto supere este límite se abortan. 0 = sin límite.",
"setExplicitUser": "Definir permisos de archivo",
"setExplicitUserDes": "Los miembros pueden definir permisos detallados de lectura/creación/actualización/eliminación en archivos y carpetas de su propiedad, para usuarios, grupos, visitantes anónimos o todos los demás.",
"switchablePolicies": "Políticas de almacenamiento conmutables",
"switchablePoliciesDes": "Políticas a las que los miembros de este grupo pueden cambiar libremente. La política por defecto de arriba siempre está disponible.",
"weightedPolicies": "Selección ponderada de políticas",
"weightedPoliciesDes": "Cuando está activado, las subidas sin preferencia explícita de política se enrutan a la política permitida con más capacidad libre que quepa el archivo. Solo se ponderan las políticas con límite de capacidad total.",
"sharePublicList": "Directorio público de shares",
"sharePublicListDes": "Cuando está activado, los usuarios pueden incluir sus enlaces de share en el directorio público (página Descubrir). Los shares protegidos con contraseña no se pueden listar."
},
"user": {
"createdAt": "Creado en",
@ -1350,7 +1507,34 @@
"deleteXUsers": "Eliminar {{num}} usuarios",
"confirmBatchDelete": "¿Estás seguro de que quieres eliminar {{num}} usuarios?",
"calibrateStorage": "Calibrar almacenamiento",
"calibrateStorageSuccess": "Almacenamiento calibrado exitosamente."
"calibrateStorageSuccess": "Almacenamiento calibrado exitosamente.",
"relocateFiles": "Reubicar archivos",
"banExpires": "Expiración del bloqueo",
"banExpiresDes": "Opcional. El bloqueo se levanta automáticamente tras esta hora; vacío significa permanente.",
"banReason": "Razón del bloqueo",
"banReasonDes": "Opcional. Se muestra al usuario cuando se rechaza un inicio de sesión bloqueado.",
"lastLogin": "Último inicio de sesión",
"uids": "IDs de usuario",
"uidsPlaceholder": "IDs separados por comas, p. ej. 2,3,5",
"editXUsers": "Editar {{num}} usuarios",
"batchEditXUsers": "Editar en lote {{num}} usuarios",
"noChange": "Sin cambios",
"invitationCodes": "Códigos de invitación",
"invitationCodesDes": "Códigos que se pueden requerir para registros públicos. Créalos, compártelos y revócalos aquí.",
"invitationCode": "Código",
"invitationCodeAuto": "Generar automáticamente",
"invitationCodeGroup": "Grupo",
"invitationCodeMaxUses": "Usos máx.",
"invitationCodeExpires": "Caduca el",
"invitationCodeUses": "Usos",
"invitationCodeCreated": "Código de invitación creado.",
"invitationCodeCopied": "Código copiado al portapapeles.",
"invitationCodeCopy": "Copiar",
"invitationCodeDefaultGroup": "Predeterminado",
"noInvitationCodes": "Aún no hay códigos de invitación.",
"loadMore": "Cargar más",
"additionalGroups": "Grupos adicionales",
"additionalGroupsDes": "Pertenencias a grupos adicionales además del grupo principal. Los permisos, cuotas y políticas de almacenamiento se unifican (unión) entre todos los grupos."
},
"file": {
"deleteXFiles": "Eliminar {{num}} archivos",
@ -1422,7 +1606,15 @@
"shareLinkExisted": "Tiene enlace de compartir",
"directLinkExisted": "Tiene enlace directo",
"isUploading": "Está subiendo",
"selectUser": "Seleccionar usuario"
"selectUser": "Seleccionar usuario",
"referenceCount": "Conteo de referencias",
"awaitingRecycle": "Pendiente de reciclaje",
"refCountGt": "Mayor que",
"refCountLt": "Menor que",
"refCountEq": "Igual a",
"deletedState": "Estado eliminado",
"liveOnly": "Solo archivos activos",
"trashOnly": "Solo papelera"
},
"entity": {
"refenenceCount": "Conteo de referencia",
@ -1433,7 +1625,15 @@
"confirmBatchDelete": "¿Estás seguro de que quieres eliminar {{num}} Blobs?",
"deleteXEntities": "Eliminar {{num}} Blobs",
"forceDelete": "Forzar eliminación",
"forceDeleteDes": "Si eliminar el registro del Blob independientemente de si el archivo físico es eliminado."
"forceDeleteDes": "Si eliminar el registro del Blob independientemente de si el archivo físico es eliminado.",
"relocateXEntities": "Reubicar {{num}} blobs",
"relocateTitle": "Reubicar blobs",
"relocateEntitiesDes": "Mover los datos de {{num}} blobs seleccionados a otra política de almacenamiento. La tarea se ejecuta en segundo plano y se puede reanudar.",
"relocatePolicyDes": "Mover todos los blobs almacenados en «{{name}}» a otra política de almacenamiento. La tarea se ejecuta en segundo plano y se puede reanudar.",
"relocateUserDes": "Mover todos los blobs propiedad de «{{name}}» a otra política de almacenamiento. La tarea se ejecuta en segundo plano y se puede reanudar.",
"relocatePolicy": "Migrar todos los blobs en {{name}} a otra política",
"relocateStart": "Iniciar reubicación",
"relocateSubmitted": "Tarea de reubicación enviada"
},
"event": {
"cleanup": "Limpieza",
@ -1469,7 +1669,8 @@
"confirmDelete": "¿Estás seguro de que quieres eliminar este evento?",
"deleteXEvents": "Eliminar {{num}} eventos",
"confirmBatchDelete": "¿Estás seguro de que quieres eliminar {{num}} eventos?",
"allEventTypes": "Todos los tipos de eventos"
"allEventTypes": "Todos los tipos de eventos",
"noEvents": "Aún no hay eventos registrados"
},
"share": {
"confirmBatchDelete": "¿Estás seguro de que quieres eliminar {{num}} compartidos?",
@ -1547,7 +1748,8 @@
"finished": "Finalizado",
"canceled": "Cancelado/Detenido",
"unknown": "Desconocido",
"errorMsg": "Mensaje de error"
"errorMsg": "Mensaje de error",
"blobAudit": "Auditar blobs en la política de almacenamiento #{{policyID}} ({{count}} huérfanos)"
},
"payment": {
"tradeNo": "No. de Transacción",
@ -1726,7 +1928,21 @@
"customPaymentEndpointDes": "URL a ser solicitada al crear una orden de pago.",
"appFeedback": "URL de Retroalimentación",
"appForum": "URL del foro de usuarios",
"appLinkDes": "Será mostrado en el cliente móvil, dejar vacío para ocultar el elemento del menú. Esta configuración tendrá efecto solo si la licencia VOL es válida."
"appLinkDes": "Será mostrado en el cliente móvil, dejar vacío para ocultar el elemento del menú. Esta configuración tendrá efecto solo si la licencia VOL es válida.",
"addTrafficPack": "Añadir pack de tráfico",
"editTrafficPack": "Editar pack de tráfico",
"trafficSize": "Cantidad de tráfico (bytes)",
"trafficSizeDes": "Bytes de tráfico de enlace directo concedidos al comprar; los packs son permanentes.",
"subAddressChars": "Caracteres de sub-dirección",
"subAddressCharsDes": "Caracteres tratados como separadores de sub-dirección en la parte local del correo (p. ej. <code>+-.</code> para alias estilo Gmail/iCloud). Vacío por defecto a <code>+</code>.",
"manualAdjust": "Ajuste manual de créditos",
"adjustEmail": "Correo del usuario",
"adjustDelta": "Cambio de puntos",
"adjustDeltaDes": "Positivo añade créditos, negativo los descuenta",
"adjustNote": "Nota",
"adjustSubmit": "Aplicar",
"adjustSuccess": "Créditos ajustados",
"adjustFailed": "Error al ajustar créditos"
},
"pro": {
"title": "Funciones exclusivas de la edición Pro",
@ -1756,6 +1972,27 @@
"reporterID": "ID del usuario reportador",
"reportedUserID": "ID del usuario reportado",
"shareID": "ID",
"reason": "Razón"
"reason": "Razón",
"target": "Objetivo",
"statusLabel": "Estado",
"reportedAt": "Reportado el",
"actions": "Acciones",
"resolve": "Resolver",
"dismiss": "Descartar",
"adminNote": "Nota del administrador",
"blockShare": "Bloquear el enlace compartido",
"noReports": "No hay informes de abuso",
"reviewSuccess": "Informe actualizado.",
"status": {
"open": "Abierto",
"resolved": "Resuelto",
"dismissed": "Descartado",
"all": "Todos"
},
"markAs": {
"resolved": "Resolver informe",
"dismissed": "Descartar informe",
"open": "Reabrir informe"
}
}
}

@ -55,7 +55,35 @@
"signingOut": "Déconnexion en cours...",
"loggedOut": "Vous êtes maintenant déconnecté.",
"clickToRefresh": "Cliquez pour actualiser",
"switchLanguage": "Changer de langue"
"switchLanguage": "Changer de langue",
"invitationCode": "Code d'invitation",
"phoneNumber": "Numéro de téléphone",
"smsCode": "Code SMS",
"sendSmsCode": "Envoyer le code",
"resendSmsCode": "Renvoyer ({{seconds}}s)",
"smsSignIn": "Se connecter par SMS",
"resetViaSms": "Réinitialiser par SMS à la place",
"emailChangedTitle": "E-mail modifié",
"emailChanged": "Votre adresse e-mail a été modifiée avec succès.",
"signInWith": "Se connecter avec {{name}}",
"ssoFailed": "Échec de l'authentification unique. Veuillez réessayer ou utiliser une autre méthode de connexion.",
"ssoError": {
"generic": "Échec de l'authentification unique. Veuillez réessayer.",
"sso_not_configured": "L'authentification unique n'est pas configurée. Veuillez contacter l'administrateur.",
"sso_discovery_failed": "Impossible de joindre le fournisseur d'identité. Veuillez réessayer plus tard.",
"sso_state_failed": "Échec du démarrage de la session de connexion. Veuillez réessayer.",
"sso_denied": "Connexion refusée par le fournisseur d'identité.",
"sso_invalid_response": "Réponse invalide du fournisseur d'identité.",
"sso_state_expired": "La session de connexion a expiré. Veuillez réessayer.",
"sso_exchange_failed": "Échec de la finalisation de la connexion auprès du fournisseur d'identité.",
"sso_token_invalid": "Échec de la vérification de la réponse d'identité.",
"sso_no_email": "Le fournisseur d'identité n'a pas renvoyé d'adresse e-mail.",
"sso_account_unavailable": "Aucun compte n'est disponible pour cette identité. L'inscription est peut-être restreinte."
},
"browsePublicShares": "Parcourir les partages publics",
"inputBackupCode": "Saisissez l'un de vos codes de récupération",
"useBackupCode": "Utiliser un code de récupération à la place",
"use2FACode": "Utiliser le code de l'authentificateur à la place"
},
"oauth": {
"authorize": "Autoriser l'application",
@ -147,7 +175,11 @@
"toDarkMode": "Sombre",
"toLightMode": "Clair",
"myProfile": "Mon profil",
"dashboard": "Tableau de bord"
"dashboard": "Tableau de bord",
"shop": "Boutique",
"addAccount": "Ajouter un compte",
"signedOut": "Déconnecté",
"discover": "Découvrir"
},
"fileManager": {
"continueInDesktop": "Autorisation réussie, veuillez continuer dans le client de bureau.",
@ -488,7 +520,37 @@
"noEncryption": "Non chiffré",
"ftsStatus": "Index plein texte",
"ftsIndexed": "Indexé",
"ftsNotIndexed": "Non indexé"
"ftsNotIndexed": "Non indexé",
"aclDes": "Permissions détaillées pour « {{name}} ». Les entrées listées remplacent les permissions par défaut du lien de partage pour les visiteurs correspondants.",
"aclSubject": "Sujet",
"aclAnonymous": "Visiteurs anonymes",
"aclEveryone": "Tous les autres",
"aclGroup": "groupe",
"aclPerm_read": "Lire",
"aclPerm_create": "Créer",
"aclPerm_update": "Mettre à jour",
"aclPerm_delete": "Supprimer",
"loop": "Boucle",
"modelViewer": "Visionneuse de modèles 3D",
"modelLoadFailed": "Échec du chargement du modèle 3D",
"activityDes": "Actions enregistrées sur {{name}}.",
"resetThumbnail": "Réinitialiser la miniature corrompue",
"resetThumbnailRequested": "Réinitialisation de la miniature demandée.",
"noFileCanResetThumbnail": "Aucun fichier éligible à la réinitialisation de miniature.",
"selectDownloadRoute": "Sélectionner la route de téléchargement",
"downloadRouteDirect": "Direct",
"downloadRouteDirectDescription": "Télécharger directement depuis ce site",
"lineEnding": "Fin de ligne",
"downloadAll": "Tout télécharger",
"dirPolicyTitle": "Politique de stockage pour les envois",
"dirPolicyDes": "Les nouveaux fichiers envoyés dans « {{name}} » utiliseront la politique de stockage sélectionnée.",
"relocateTitle": "Déplacer le stockage",
"relocateDes": "Déplacer le contenu physique de « {{name}} » vers la politique de stockage sélectionnée.",
"relocateSubmitted": "Tâche de déplacement soumise",
"relocateStart": "Déplacer",
"policySaved": "Politique de stockage mise à jour",
"policyInherit": "Hériter (parent ou défaut du groupe)",
"policyGroupDefault": "Défault du groupe"
},
"modals": {
"includePasswordInShareLink": "Inclure le mot de passe dans le lien de partage",
@ -665,7 +727,40 @@
"saved": "Enregistré",
"notSet": "Non défini",
"deleteViewSetting": "Supprimer le paramètre de vue",
"shareTargetsCount": "{{count}} cibles"
"shareTargetsCount": "{{count}} cibles",
"paidShare": "Partage payant",
"paidSharePrice": "{{price}} points",
"paidShareDes": "Les visiteurs doivent acheter ce partage avec des points de crédit avant de pouvoir le télécharger. Mettez 0 pour un partage gratuit.",
"paidSharePriceLabel": "Prix (points)",
"nameConflict": "Conflit de nom",
"conflictOverwriteDes": "Remplacer les éléments existants dans la destination.",
"conflictSkipDes": "Conserver les éléments existants ; les éléments en conflit ne seront ni déplacés ni copiés.",
"skip": "Ignorer",
"remoteDownloadFileName": "Nom de fichier (facultatif)",
"remoteDownloadFileNameDescription": "Nom de fichier de sortie personnalisé",
"remoteDownloadHttpUser": "Nom d'utilisateur HTTP (facultatif)",
"remoteDownloadHttpPassword": "Mot de passe HTTP (facultatif)",
"remoteDownloadHeaders": "En-têtes de requête (facultatif)",
"remoteDownloadProvider": "Téléchargeur",
"remoteDownloadProviderAuto": "Auto (n'importe quel nœud)",
"remoteDownloadHeadersDescription": "Un en-tête par ligne, ex. Cookie: sid=...",
"allowUpload": "Autoriser les envois",
"allowUploadDes": "Les visiteurs peuvent envoyer de nouveaux fichiers et créer des dossiers dans ce dossier partagé. Le stockage est décompté de votre quota.",
"allowEdit": "Autoriser la modification",
"allowEditDes": "Les visiteurs peuvent envoyer, renommer, déplacer et supprimer des fichiers dans ce dossier partagé. Implique l'autorisation d'envoi.",
"uploadOnly": "Envoi uniquement (boîte de dépôt)",
"uploadOnlyDes": "Les visiteurs peuvent envoyer des fichiers mais ne peuvent pas voir ni télécharger le contenu existant de ce dossier partagé.",
"previewOnly": "Aperçu uniquement",
"previewOnlyDes": "Les visiteurs peuvent prévisualiser les fichiers en ligne mais ne peuvent pas les télécharger.",
"shareNote": "Note",
"shareNoteDes": "Une note privée pour identifier ce partage. Visible uniquement par vous dans Mes partages.",
"shareTargets": "Cibles du partage",
"shareTargetsCount_one": "{{count}} cible",
"shareTargetsCount_other": "{{count}} cibles",
"publicListing": "Lister dans le répertoire public",
"publicListingDes": "Afficher ce partage sur la page Découvrir, visible par tous, y compris les visiteurs anonymes. Non disponible pour les partages protégés par mot de passe.",
"hideReadme": "Masquer le fichier readme",
"hideReadmeDes": "Garder le fichier README hors de la liste du partage. Les visiteurs voient toujours le readme rendu."
},
"uploader": {
"fileCopyName": "Copie de ",
@ -688,7 +783,7 @@
"preparing": "Préparation...",
"processing": "Traitement...",
"progressDescription": "{{uploaded}} téléchargé, {{total}} total - {{percentage}}%",
"progressDescriptionFull": "{{uploaded}} téléchargé, {{total}} total - {{percentage}}% ({{speed}})",
"progressDescriptionFull": "{{uploaded}} téléchargé, {{total}} total - {{percentage}}% ({{speed}}){{eta}}",
"progressDescriptionPlaceHolder": " - téléchargé",
"uploaded": "Téléchargé",
"rootFolder": "Dossier racine",
@ -747,7 +842,8 @@
"upyunUploadFailed": "Échec du téléchargement : {{msg}}",
"parseResponseError": "Impossible d'analyser la réponse : {{msg}} ({{content}})",
"concurrentTaskNumber": "Limite de tâches simultanées",
"dropFileHere": "Déposer le fichier pour télécharger"
"dropFileHere": "Déposer le fichier pour télécharger",
"etaSuffix": ", ETA {{eta}}"
},
"share": {
"free": "Gratuit",
@ -794,7 +890,19 @@
"preview": "Aperçu",
"incorrectPassword": "Mot de passe incorrect.",
"shareNotExist": "Le lien de partage est invalide ou expiré.",
"copyLinkToClipboard": "Copier le lien dans le presse-papiers"
"copyLinkToClipboard": "Copier le lien dans le presse-papiers",
"paidShareDes": "Ceci est un partage payant. L'achat coûte {{price}} points et déverrouille les téléchargements.",
"purchaseForPoints": "Acheter pour {{price}} pts",
"signInToPurchase": "Connectez-vous pour acheter",
"yourBalance": "Solde : {{credits}} points",
"saveToMyFiles": "Enregistrer dans mes fichiers",
"savedToMyFiles": "Partage enregistré dans vos fichiers.",
"saveShareLink": "Enregistrer le lien de partage",
"saveShareLinkHint": "Collez un lien de partage comme https://example.com/s/abc123",
"shareLink": "Lien de partage",
"savedAs": "Enregistré sous (facultatif)",
"sharePasswordRequired": "Ce partage nécessite un mot de passe.",
"invalidShareLink": "Impossible d'analyser ce lien de partage."
},
"download": {
"noFilesFound": "Aucun fichier trouvé",
@ -1058,7 +1166,80 @@
"relocateFileTo": "Relocaliser la stratégie de stockage vers {{policy}} pour <0></0>{{more}}",
"extractFileTo": "Extraire <0></0>{{more}} vers <1></1>",
"createArchiveTo": "Créer un fichier d'archive vers <1></1> pour <0></0>{{more}}",
"importFileTo": "Importer des fichiers de {{policy}} vers <0></0>"
"importFileTo": "Importer des fichiers de {{policy}} vers <0></0>",
"preferredViewers": "Applications par défaut",
"preferredViewersDes": "Applications choisies avec « Toujours » dans la boîte de dialogue « Ouvrir avec ». Elles s'appliquent sur tous vos appareils ; supprimez-en une pour être à nouveau interrogé.",
"preferredViewersEmpty": "Aucune application par défaut enregistrée. Choisissez « Toujours » dans la boîte de dialogue « Ouvrir avec » d'un fichier.",
"trashRetention": "Rétention de la corbeille (jours)",
"trashRetentionDes": "Nombre de jours pendant lesquels un fichier reste dans la corbeille avant suppression automatique. 0 hérite du défaut du groupe. S'applique aux fichiers déplacés dans la corbeille après la modification.",
"linkedAccounts": "Comptes liés",
"providerQQ": "QQ",
"unlinkAccount": "Dissocier",
"unlinkAccountConfirm": "Voulez-vous vraiment dissocier ce compte ? Vous ne pourrez plus vous connecter avec.",
"linkQQAccount": "Lier un compte QQ",
"providerWeChat": "WeChat",
"linkWeChatAccount": "Lier un compte WeChat",
"phoneBinding": "Liaison de téléphone",
"bindPhone": "Lier le téléphone",
"unbindPhone": "Délier",
"unbindPhoneConfirm": "Voulez-vous vraiment délier ce numéro de téléphone ? Vous ne pourrez plus vous connecter ni réinitialiser votre mot de passe avec.",
"changeEmail": "Changer",
"changeEmailDes": "Un lien de confirmation sera envoyé à la nouvelle adresse. Votre e-mail actuel ({{email}}) reste actif jusqu'à confirmation.",
"newEmail": "Nouvelle adresse e-mail",
"changeEmailPasswordDes": "Saisissez votre mot de passe actuel pour confirmer.",
"emailChangeSent": "E-mail de confirmation envoyé à la nouvelle adresse.",
"copySecret": "Impossible de scanner ? Cliquez pour copier la clé de configuration",
"secretCopied": "Clé de configuration copiée",
"shareSiteDefault": "Défault du site",
"shareSiteDefaultDes": "Suivre le défaut global configuré par l'administrateur.",
"shareDefaultPrivate": "Confidentialité par défaut des partages",
"shareDefaultPrivateDes": "Les nouveaux partages sont privés par défaut (protégés par mot de passe).",
"sharePrivateOn": "Privé",
"sharePrivateOff": "Public",
"preferredPolicy": "Politique de stockage préférée",
"preferredPolicyDes": "Les nouveaux envois dans vos propres fichiers utilisent cette politique de stockage, sauf si un dossier la remplace.",
"policySaved": "Politique de stockage mise à jour",
"policyInherit": "Hériter (défaut du groupe)",
"policyGroupDefault": "Défaut du groupe",
"creditBalance": "Solde de crédits",
"storageBonus": "Bonus de stockage",
"dlTraffic": "Trafic en lien direct",
"dlTrafficUnlimited": "Illimité",
"activeGrants": "Avantages actifs",
"grantStorage": "Stockage",
"grantGroup": "Groupe",
"redeemGiftCode": "Utiliser un code cadeau",
"redeemGiftCodeDes": "Saisissez un code cadeau pour réclamer des crédits ou des avantages",
"giftCodePlaceholder": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"redeem": "Utiliser",
"giftCodeRedeemed": "Code cadeau utilisé",
"creditLedger": "Journal de crédits",
"txnChange": "Changement",
"txnTime": "Heure",
"txnReason": "Raison",
"noTxns": "Aucune transaction pour le moment",
"txnType": {
"purchase": "Achat en boutique",
"gift": "Code cadeau",
"share_income": "Lien de partage acheté",
"adjust": "Ajustement manuel"
},
"tags": "Étiquettes",
"tagsDes": "Renommer, recolorer ou supprimer une étiquette sur tous vos fichiers. Renommer sur une étiquette existante les fusionne.",
"tagName": "Étiquette",
"tagFiles": "Fichiers",
"tagActions": "Actions",
"noTags": "Aucune étiquette pour le moment",
"editTag": "Modifier l'étiquette",
"deleteTag": "Supprimer l'étiquette",
"deleteTagDes": "Retirer l'étiquette « {{name}} » de {{count}} fichier(s) ? Les fichiers eux-mêmes sont conservés.",
"tagUpdated": "Étiquette mise à jour",
"tagDeleted": "Étiquette supprimée",
"tagNameInvalid": "Le nom de l'étiquette ne peut pas être vide ni contenir « : »",
"backup2FACodes": "Codes de récupération",
"backupCodesDes": "Les codes de récupération vous permettent de vous connecter lorsque votre authentificateur est indisponible. La génération d'une nouvelle série invalide tous les codes précédents.",
"backupCodesWarning": "Enregistrez ces codes maintenant. Chacun ne peut être utilisé qu'une fois et ils ne seront plus affichés.",
"copyCodes": "Copier les codes"
},
"vas": {
"points": "Points",
@ -1194,5 +1375,43 @@
"dontShowAgain": "Ne plus afficher",
"openPaymentLink": "Ouvrir le lien de paiement",
"creditReasonAdjust": "Ajustement manuel"
},
"vault": {
"title": "Espace privé",
"description": "Les fichiers de votre espace privé sont masqués lors de la navigation et de la recherche tant que vous ne le déverrouillez pas avec un mot de passe distinct. Les fichiers du coffre ne peuvent pas être partagés ni accédés via WebDAV.",
"enable": "Activer l'espace privé",
"enabled": "Espace privé activé",
"disable": "Désactiver",
"disabled": "Espace privé désactivé",
"disableDescription": "La désactivation supprime le verrou ; le dossier et son contenu restent des fichiers ordinaires.",
"confirmDisable": "Confirmer la désactivation",
"setPassword": "Définir le mot de passe du coffre",
"confirmPassword": "Mot de passe du coffre",
"enterPassword": "Mot de passe du coffre",
"lockNow": "Verrouiller maintenant",
"locked": "Espace privé verrouillé",
"unlocked": "Déverrouillé",
"lockedState": "Verrouillé",
"lockedTitle": "Ce dossier se trouve dans votre espace privé. Déverrouillez-le pour continuer.",
"badge": "Espace privé"
},
"shop": {
"memberships": "Adhésions",
"storagePacks": "Packs de stockage",
"trafficPacks": "Packs de trafic",
"redeem": "Utiliser",
"balance": "Solde : {{credits}} pts",
"purchased": "{{name}} acheté",
"permanent": "Permanent",
"noProducts": "Aucun produit disponible",
"buyWithPoints": "Acheter pour {{points}} pts",
"pointsUnavailable": "Non achetable avec des points"
},
"announcement": {
"title": "Annonce",
"dontShowAgain": "Ne plus afficher"
},
"discover": {
"searchPlaceholder": "Rechercher des partages publics"
}
}

@ -34,7 +34,9 @@
"human": "Je suis humain",
"verifying": "Vérification...",
"verified": "Vous êtes humain"
}
},
"verify": "Cliquez pour vérifier",
"verified": "Vérifié"
},
"errors": {
"401": "Veuillez vous connecter.",
@ -54,7 +56,7 @@
"40014": "Limite de taille de lot dépassée pour l'obtention du lien source.",
"40015": "Limite de taille de lot aria2 dépassée.",
"40016": "Chemin non trouvé.",
"40017": "Ce compte a été bloqué.",
"40017": "Ce compte a été bloqué. {{message}}",
"40018": "Ce compte n'est pas activé.",
"40019": "Cette fonctionnalité n'est pas activée.",
"40020": "Identifiant non valide ou expiré.",
@ -117,5 +119,6 @@
"40084": "Votre compte est sans mot de passe, vous devez conserver au moins un compte lié.",
"40085": "Le montant total de cette commande est trop petit pour le paiement."
},
"save": "Enregistrer"
"save": "Enregistrer",
"delete": "Supprimer"
}

@ -753,7 +753,8 @@
"report_abuse": "Signaler un abus",
"oauth_grant_create": "Autorisation de l'application OAuth",
"oauth_token_exchange": "Échange de jeton OAuth",
"oauth_grant_revoke": "Révocation de l'autorisation OAuth"
"oauth_grant_revoke": "Révocation de l'autorisation OAuth",
"content_audit_blocked": "Partage bloqué par audit de contenu"
},
"server": "Serveur",
"tempPath": "Chemin temporaire",
@ -821,7 +822,91 @@
"ftsTikaExts": "Extensions supportées",
"ftsTikaExtsDes": "Liste d'extensions de fichiers séparées par des virgules. Tika traitera les fichiers de ces types.",
"ftsTikaMaxFileSize": "Taille maximale de fichier",
"ftsTikaMaxFileSizeDes": "Taille maximale de fichier à envoyer à Tika pour l'extraction de contenu."
"ftsTikaMaxFileSizeDes": "Taille maximale de fichier à envoyer à Tika pour l'extraction de contenu.",
"navItemVisibility": "Visibilité",
"navScopePublic": "Tout le monde",
"navScopeUser": "Utilisateurs connectés",
"uploadDedupScope": "Portée de la déduplication",
"uploadDedupScopeDes": "Lorsqu'un client envoie un hachage de contenu, le serveur recherche un fichier identique terminé et matérialise l'envoi instantanément sans transférer d'octets.",
"uploadDedupScope_off": "Désactivé",
"uploadDedupScope_offDes": "Aucune déduplication ; chaque envoi transfère des octets.",
"uploadDedupScope_owner": "Même utilisateur",
"uploadDedupScope_ownerDes": "Dédupliquer uniquement avec les fichiers déjà possédés par l'utilisateur émetteur.",
"uploadDedupScope_global": "Global",
"uploadDedupScope_globalDes": "Dédupliquer avec tous les fichiers terminés sur ce site.",
"translations": "Traductions",
"translationsDes": "Remplacements par langue. Laissez vide pour revenir à la valeur par défaut. Les utilisateurs voient la variante correspondant à leur réglage de langue ou à la langue du navigateur.",
"invitationCodeRequired": "Code d'invitation obligatoire",
"invitationCodeRequiredDes": "Les nouvelles inscriptions doivent fournir un code d'invitation valide. Les codes sont gérés sous Utilisateurs - Codes d'invitation.",
"smtpAuthMethod": "Méthode d'authentification SMTP",
"smtpAuthMethodDes": "La découverte automatique ne sélectionne que des mécanismes sécurisés et n'envoie jamais d'identifiants en clair sur des connexions non chiffrées. Si votre serveur n'offre que PLAIN/LOGIN sans chiffrement, choisissez la méthode « -noenc » correspondante — les identifiants seront alors transmis en clair.",
"smtpAuth_autodiscover": "Découverte automatique",
"smtpAuth_plain": "PLAIN",
"smtpAuth_plain_noenc": "PLAIN (autoriser non chiffré)",
"smtpAuth_login": "LOGIN",
"smtpAuth_login_noenc": "LOGIN (autoriser non chiffré)",
"smtpAuth_cram_md5": "CRAM-MD5",
"smtpAuth_scram_sha_1": "SCRAM-SHA-1",
"smtpAuth_scram_sha_256": "SCRAM-SHA-256",
"smtpAuth_xoauth2": "XOAUTH2",
"smtpAuth_noauth": "Aucune authentification",
"tcaptcha": "Tencent Captcha",
"tcaptchaAppId": "CaptchaAppId",
"tcaptchaAppSecretKey": "AppSecretKey",
"tcaptchaSecretId": "SecretId",
"tcaptchaSecretKey": "SecretKey",
"tcaptchaDes": "Obtenez votre CaptchaAppId et AppSecretKey depuis la <0>console Tencent Captcha</0>.",
"tcaptchaSecretDes": "SecretId et SecretKey d'un identifiant d'API Tencent Cloud utilisé pour appeler DescribeCaptchaResult.",
"trafficProductSettings": "Produit de trafic",
"trafficProductsDes": "Configurez les produits que les utilisateurs peuvent acheter pour recharger leur quota de trafic en lien direct.",
"auditRetentionDays": "Rétention (jours)",
"auditRetentionDaysDes": "Supprimer les événements plus anciens que ce nombre de jours. 0 conserve les événements indéfiniment.",
"ssoIssuer": "URL de l'émetteur",
"ssoIssuerDes": "URL de base de l'émetteur OIDC, ex. <0>https://keycloak.example.com/realms/master</0>. Les métadonnées du fournisseur sont récupérées depuis <1>.well-known/openid-configuration</1> sous cette URL.",
"ssoRegisterEnabled": "Autoriser l'inscription automatique",
"ssoRegisterEnabledDes": "Créer automatiquement un compte local lorsqu'un utilisateur se connecte via SSO pour la première fois. Le filtre d'inscription par e-mail ci-dessous s'applique aussi.",
"downloadCdnRoutes": "Routes CDN de téléchargement",
"downloadCdnRoutesDes": "Points de terminaison de téléchargement alternatifs proposés aux utilisateurs, un par ligne au format nom=url (ex. Ligne 1=https://cdn1.example.com). Les routes doivent renvoyer le chemin et la requête complets vers ce site afin que les URL signées restent valides ; les en-têtes CORS sont requis pour les téléchargements dans le navigateur.",
"downloadCdnShuffle": "Répartir les routes de téléchargement",
"downloadCdnShuffleDes": "Distribuer aléatoirement chaque lien de téléchargement généré entre l'URL du site et toutes les routes CDN configurées, afin que les exports groupés vers les gestionnaires de téléchargement touchent des points de terminaison différents. Le sélecteur manuel de route est masqué lorsque cette option est activée.",
"ssoAutoRedirect": "Redirection auto vers SSO",
"ssoAutoRedirectDes": "Ignorer le formulaire de connexion et envoyer les visiteurs directement vers le fournisseur d'identité. Ajoutez <0>?nosso=1</0> à l'URL de connexion pour atteindre le formulaire mot de passe (ex. pour récupération admin).",
"ssoCallbackUrl": "URL de rappel",
"ssoCallbackUrlDes": "Enregistrez cette URL comme URL de redirection/rappel auprès de votre fournisseur d'identité : <0>{{url}}</0>",
"qqConnect": "QQ Connect",
"qqAppID": "App ID",
"qqAppIDDes": "L'App ID de l'application web créée dans la <0>console QQ Connect</0> (connect.qq.com).",
"qqAppSecret": "App Key",
"qqCallbackUrl": "URL de rappel",
"qqCallbackUrlDes": "Enregistrez cette URL comme domaine/URL de rappel web dans la console QQ Connect : <0>{{url}}</0>",
"qqRegisterEnabled": "Autoriser l'inscription automatique",
"qqRegisterEnabledDes": "Créer automatiquement un compte local lorsqu'un utilisateur se connecte via QQ pour la première fois. QQ ne fournit pas d'adresse e-mail, les comptes provisionnés utilisent une adresse synthétique @connect.qq.local.",
"wechatConnect": "Connexion par scan WeChat",
"wechatAppID": "App ID",
"wechatAppIDDes": "L'AppID de l'application web créée sur la <0>WeChat Open Platform</0> (open.weixin.qq.com).",
"wechatAppSecret": "App Secret",
"wechatCallbackUrl": "URL de rappel",
"wechatCallbackUrlDes": "Enregistrez le domaine de cette URL comme domaine de rappel d'autorisation dans la console WeChat Open Platform : <0>{{url}}</0>",
"wechatRegisterEnabled": "Autoriser l'inscription automatique",
"wechatRegisterEnabledDes": "Créer automatiquement un compte local lorsqu'un utilisateur se connecte via WeChat pour la première fois. WeChat ne fournit pas d'adresse e-mail, les comptes provisionnés utilisent une adresse synthétique @connect.wechat.local.",
"smsSignIn": "Connexion par SMS",
"smsEndpoint": "Point de terminaison de la passerelle",
"smsEndpointDes": "Point de terminaison HTTP de votre fournisseur SMS. Les espaces réservés <0>{phone}</0> et <0>{code}</0> sont remplacés avant chaque requête.",
"smsMethodDes": "Méthode HTTP utilisée pour la requête vers la passerelle. Pour GET, les espaces réservés ne sont rendus que dans l'URL du point de terminaison.",
"smsHeaders": "En-têtes de requête",
"smsHeadersDes": "Une paire `Key: Value` par ligne, ex. Authorization: Bearer <token>.",
"smsBodyTemplate": "Modèle de corps de requête",
"smsBodyTemplateDes": "Corps envoyé pour les requêtes POST. Les espaces réservés <0>{phone}</0> et <0>{code}</0> sont remplacés avant chaque requête.",
"smsRegisterEnabled": "Autoriser l'inscription automatique",
"smsRegisterEnabledDes": "Créer automatiquement un compte local lorsqu'un utilisateur se connecte par code SMS pour la première fois. Les comptes provisionnés utilisent une adresse synthétique @sms.local.",
"themeVisible": "Visible",
"shareDefaultPrivate": "Partage privé par défaut",
"shareDefaultPrivateDes": "Les nouveaux partages sont privés par défaut (protégés par mot de passe). Les utilisateurs peuvent remplacer ce réglage dans leurs paramètres personnels.",
"defaultShareLinksInProfile": "Visibilité par défaut des partages du profil",
"defaultShareLinksInProfileDes": "Contrôle quels partages apparaissent sur la page de profil public d'un utilisateur lorsque celui-ci n'en a choisi aucun.",
"profileSharePublicOnly": "Partages sans mot de passe uniquement",
"profileShareAll": "Tous les partages",
"profileShareHide": "Masquer tous les partages"
},
"giftCodes": {
"giftCodesSettings": "Codes cadeaux",
@ -852,7 +937,11 @@
"copyAndClose": "Copier et fermer",
"duratonTimes": "Quantité",
"duratonTimesDes": "Combien de quantités du produit sont incluses dans chaque code cadeau.",
"unknownProduct": "Produit inconnu"
"unknownProduct": "Produit inconnu",
"giftCodeTypeTraffic": "Trafic en lien direct",
"giftCodeDeleteFailed": "Échec de la suppression du code cadeau",
"giftCodeCreateFailed": "Échec de la génération des codes cadeau",
"giftCodeAmountHelp": "Montant accordé par code"
},
"policy": {
"acceleratedDomainUpload": "Utiliser le domaine d'accélération de transfert pour l'upload",
@ -1144,7 +1233,40 @@
"fileEncryption": "Chiffrement des fichiers",
"enableFileEncryption": "Activer le chiffrement des fichiers",
"enableFileEncryptionDes": "Lorsqu'il est activé, les blobs de fichiers seront stockés chiffrés. La modification de ce paramètre n'affecte que les fichiers nouvellement ajoutés.",
"encryptedFile": "Fichiers chiffrés"
"encryptedFile": "Fichiers chiffrés",
"mediaExtractorUpyun": "service de traitement d'images",
"nativeMediaMetaExtUpyun": "Le service de traitement d'images prend en charge <0>l'extraction des EXIF d'images</0>. Aucune configuration manuelle n'est requise, ajoutez simplement les extensions à traiter ci-dessus.",
"thumbForceProxy": "Forcer le proxy de génération de miniatures",
"thumbForceProxyDes": "Toujours générer les miniatures via le pipeline proxy local, même lorsque le backend de stockage offre une API native de miniatures. Implique la génération proxy des miniatures.",
"thumbStoragePolicy": "Politique de stockage des miniatures",
"thumbStoragePolicySource": "Identique au fichier",
"thumbStoragePolicyDes": "Les miniatures générées sont stockées sous la politique sélectionnée au lieu de la politique de stockage du fichier lui-même.",
"blobAudit": "Auditer les blobs : {{name}}",
"blobAuditDes": "Analyse le backend de stockage et liste les objets physiques non référencés par aucun enregistrement de fichier. Utile pour trouver les blobs fantômes laissés par des transferts échoués.",
"blobAuditDelete": "Supprimer les blobs orphelins",
"blobAuditDeleteWarning": "Les objets orphelins seront définitivement supprimés du backend de stockage. Les fichiers encore en cours d'envoi peuvent apparaître comme orphelins — n'activez cette option que si vous êtes certain qu'aucun envoi n'est en cours.",
"blobAuditStart": "Lancer l'audit",
"blobAuditSubmitted": "Tâche d'audit des blobs mise en file d'attente.",
"maxTotalSize": "Capacité totale maximale",
"maxTotalSizeDes": "Nombre total maximal d'octets stockés sous cette politique. Les envois et copies qui dépasseraient cette limite sont rejetés. 0 signifie illimité.",
"overflowPolicy": "Politique de débordement",
"overflowPolicyDes": "Lorsque cette politique est à court de capacité, les nouveaux envois sont redirigés vers la politique sélectionnée. Les chaînes de politiques sont prises en charge.",
"auditEndpoint": "Point de terminaison d'audit de contenu",
"auditEndpointDes": "Point de terminaison HTTP pour l'audit de contenu (ex. modération d'images). Lorsqu'il est défini, partager un fichier stocké sur cette politique envoie son contenu au point de terminaison ; une réponse {\"flagged\":true} bloque le partage. Laisser vide pour désactiver.",
"auditMaxSize": "Limite de taille d'audit",
"auditMaxSizeDes": "Taille maximale d'entité envoyée au point de terminaison d'audit. Les fichiers plus volumineux sont ignorés. 0 signifie aucune limite.",
"overflowNone": "Aucune",
"allowNativeName": "Autoriser les caractères natifs des noms de fichiers",
"allowNativeNameDes": "Autoriser les caractères uniquement illégaux sur les systèmes de fichiers Windows (: * ? \" < > |) dans les noms de fichiers. Peut casser les clients montant sur Windows. Les séparateurs de chemin restent interdits.",
"status": "État",
"statusDes": "Les politiques suspendues continuent de servir les fichiers existants mais rejettent les nouveaux envois.",
"loadBalance": "Équilibrage de charge",
"lbChildren": "Politiques de stockage enfants",
"lbChildPolicy": "Politique de stockage",
"lbWeight": "Poids",
"lbAddChild": "Ajouter une politique enfant",
"lbChildrenDes": "Les nouveaux envois sont répartis entre les politiques enfants proportionnellement à leur poids.",
"lbWizardDes": "Une politique d'équilibrage de charge répartit les envois entre des politiques enfants pondérées. Les enfants sont configurés après la création."
},
"node": {
"slave": "esclave",
@ -1214,7 +1336,11 @@
"hostHeaderHint": "S'il y a une erreur de signature, veuillez vérifier si le proxy inverse devant le nœud transmet l'en-tête <0>Host</0>.",
"features": "Fonctionnalités activées",
"remoteDownload": "Téléchargement distant",
"refresh": "Actualiser"
"refresh": "Actualiser",
"ytdlpDes": "Exécute yt-dlp sur le serveur du nœud cible avec le même utilisateur/niveau d'accès que Cloudreve. yt-dlp est invoqué comme un processus CLI par tâche - aucun démon requis.",
"ytdlpOptionDes": "Options CLI supplémentaires de yt-dlp lors de la création d'une tâche de téléchargement, au format JSON clé-valeur - les clés deviennent des arguments --flag tels quels, voir le <0>référentiel des options yt-dlp</0>.",
"ytdlpBinary": "Binaire yt-dlp",
"ytdlpBinaryDes": "Chemin ou nom de l'exécutable yt-dlp sur le serveur du nœud. Par défaut yt-dlp résolu depuis le PATH."
},
"group": {
"countUser": "Nombre",
@ -1300,7 +1426,38 @@
"notCopy": "Ne pas copier",
"confirmDelete": "Êtes-vous sûr de vouloir supprimer le groupe {{group}} ?",
"new": "Nouveau groupe",
"editGroup": "Modifier {{group}}"
"editGroup": "Modifier {{group}}",
"availablePolicyDesPro": "Sélection multiple, les utilisateurs peuvent basculer librement entre les politiques de stockage dans la plage sélectionnée.",
"loginIPWhitelist": "Liste blanche d'IP de connexion",
"loginIPWhitelistDes": "Restreindre la connexion à ces IP ou plages CIDR, une par ligne. Laisser vide pour tout autoriser.",
"delegatedAdmin": "Sections d'administration déléguée",
"delegatedAdminDes": "Accorder l'accès à certaines sections du tableau de bord uniquement. Les utilisateurs de ce groupe peuvent ouvrir le panneau d'administration, mais seules les sections activées fonctionnent — tous les autres appels d'API admin sont rejetés.",
"sectionUsers": "Utilisateurs",
"sectionGroups": "Groupes",
"sectionFiles": "Fichiers & blobs",
"sectionShares": "Partages",
"sectionStorage": "Politiques de stockage & nœuds",
"sectionQueue": "File de tâches",
"sectionSettings": "Réglages du site & OAuth",
"sectionPayment": "Paiements",
"sectionEvents": "Événements",
"sectionReports": "Signalements d'abus",
"shareSell": "Vendre des liens de partage",
"shareSellDes": "Lorsqu'activé, les utilisateurs peuvent définir un prix en points sur les liens de partage qu'ils créent.",
"wabDAVReadOnly": "WebDAV en lecture seule",
"wabDAVReadOnlyDes": "Si activé, les montages WebDAV pour les utilisateurs de ce groupe deviennent en lecture seule — les envois, suppressions, déplacements et autres méthodes d'écriture sont rejetés.",
"aria2TaskLimit": "Nombre maximal de tâches de téléchargement distant simultanées",
"aria2TaskLimitDes": "Nombre maximal de tâches de téléchargement distant actives par utilisateur (en file, en cours ou suspendues). 0 = illimité.",
"aria2MaxFileSize": "Taille maximale par tâche de téléchargement (octets)",
"aria2MaxFileSizeDes": "Les tâches de téléchargement distant dont la taille totale résolue dépasse cette limite sont interrompues. 0 = illimité.",
"setExplicitUser": "Définir les permissions de fichiers",
"setExplicitUserDes": "Les membres peuvent définir des permissions détaillées de lecture/création/mise à jour/suppression sur les fichiers et dossiers qu'ils possèdent, pour des utilisateurs, groupes, visiteurs anonymes ou tous les autres.",
"switchablePolicies": "Politiques de stockage commutables",
"switchablePoliciesDes": "Politiques vers lesquelles les membres de ce groupe peuvent basculer librement. La politique par défaut ci-dessus est toujours disponible.",
"weightedPolicies": "Sélection pondérée des politiques",
"weightedPoliciesDes": "Lorsqu'activé, les envois sans préférence de politique explicite sont routés vers la politique autorisée ayant le plus d'espace libre pouvant accueillir le fichier. Seules les politiques avec une limite de capacité totale sont pondérées.",
"sharePublicList": "Répertoire public des partages",
"sharePublicListDes": "Lorsqu'activé, les utilisateurs peuvent inscrire leurs liens de partage dans le répertoire public (page Découvrir). Les partages protégés par mot de passe ne peuvent pas être listés."
},
"user": {
"createdAt": "Créé le",
@ -1350,7 +1507,34 @@
"deleteXUsers": "Supprimer {{num}} utilisateurs",
"confirmBatchDelete": "Êtes-vous sûr de vouloir supprimer {{num}} utilisateurs ?",
"calibrateStorage": "Calibrer le stockage",
"calibrateStorageSuccess": "Stockage calibré avec succès."
"calibrateStorageSuccess": "Stockage calibré avec succès.",
"relocateFiles": "Déplacer les fichiers",
"banExpires": "Expiration du bannissement",
"banExpiresDes": "Facultatif. Le bannissement se lève automatiquement après cette heure ; vide signifie permanent.",
"banReason": "Raison du bannissement",
"banReasonDes": "Facultatif. Affichée à l'utilisateur lorsqu'une connexion bannie est rejetée.",
"lastLogin": "Dernière connexion",
"uids": "ID utilisateur",
"uidsPlaceholder": "IDs séparés par des virgules, ex. 2,3,5",
"editXUsers": "Modifier {{num}} utilisateurs",
"batchEditXUsers": "Modifier en lot {{num}} utilisateurs",
"noChange": "Aucun changement",
"invitationCodes": "Codes d'invitation",
"invitationCodesDes": "Codes pouvant être requis pour les inscriptions publiques. Créez, partagez et révoquez-les ici.",
"invitationCode": "Code",
"invitationCodeAuto": "Générer automatiquement",
"invitationCodeGroup": "Groupe",
"invitationCodeMaxUses": "Utilisations max",
"invitationCodeExpires": "Expire le",
"invitationCodeUses": "Utilisations",
"invitationCodeCreated": "Code d'invitation créé.",
"invitationCodeCopied": "Code copié dans le presse-papiers.",
"invitationCodeCopy": "Copier",
"invitationCodeDefaultGroup": "Défaut",
"noInvitationCodes": "Aucun code d'invitation pour le moment.",
"loadMore": "Charger plus",
"additionalGroups": "Groupes supplémentaires",
"additionalGroupsDes": "Appartenances de groupe supplémentaires en plus du groupe principal. Les permissions, quotas et politiques de stockage sont fusionnés (union) entre tous les groupes."
},
"file": {
"deleteXFiles": "Supprimer {{num}} fichiers",
@ -1422,7 +1606,15 @@
"shareLinkExisted": "A un lien de partage",
"directLinkExisted": "A un lien direct",
"isUploading": "En cours de téléchargement",
"selectUser": "Sélectionner un utilisateur"
"selectUser": "Sélectionner un utilisateur",
"referenceCount": "Nombre de références",
"awaitingRecycle": "En attente de recyclage",
"refCountGt": "Supérieur à",
"refCountLt": "Inférieur à",
"refCountEq": "Égal à",
"deletedState": "État supprimé",
"liveOnly": "Fichiers actifs uniquement",
"trashOnly": "Corbeille uniquement"
},
"entity": {
"refenenceCount": "Nombre de références",
@ -1433,7 +1625,15 @@
"confirmBatchDelete": "Êtes-vous sûr de vouloir supprimer {{num}} Blobs ?",
"deleteXEntities": "Supprimer {{num}} Blobs",
"forceDelete": "Forcer la suppression",
"forceDeleteDes": "S'il faut supprimer l'enregistrement Blob indépendamment de la suppression du fichier physique."
"forceDeleteDes": "S'il faut supprimer l'enregistrement Blob indépendamment de la suppression du fichier physique.",
"relocateXEntities": "Déplacer {{num}} blobs",
"relocateTitle": "Déplacer les blobs",
"relocateEntitiesDes": "Déplacer les données de {{num}} blobs sélectionnés vers une autre politique de stockage. La tâche s'exécute en arrière-plan et peut être reprise.",
"relocatePolicyDes": "Déplacer tous les blobs stockés sur « {{name}} » vers une autre politique de stockage. La tâche s'exécute en arrière-plan et peut être reprise.",
"relocateUserDes": "Déplacer tous les blobs possédés par « {{name}} » vers une autre politique de stockage. La tâche s'exécute en arrière-plan et peut être reprise.",
"relocatePolicy": "Migrer tous les blobs sur {{name}} vers une autre politique",
"relocateStart": "Lancer le déplacement",
"relocateSubmitted": "Tâche de déplacement soumise"
},
"event": {
"cleanup": "Nettoyage",
@ -1469,7 +1669,8 @@
"confirmDelete": "Êtes-vous sûr de vouloir supprimer cet événement ?",
"deleteXEvents": "Supprimer {{num}} événements",
"confirmBatchDelete": "Êtes-vous sûr de vouloir supprimer {{num}} événements ?",
"allEventTypes": "Tous les types d'événements"
"allEventTypes": "Tous les types d'événements",
"noEvents": "Aucun événement enregistré pour le moment"
},
"share": {
"confirmBatchDelete": "Êtes-vous sûr de vouloir supprimer {{num}} partages ?",
@ -1547,7 +1748,8 @@
"finished": "Terminé",
"canceled": "Annulé/Arrêté",
"unknown": "Inconnu",
"errorMsg": "Message d'erreur"
"errorMsg": "Message d'erreur",
"blobAudit": "Auditer les blobs sur la politique de stockage #{{policyID}} ({{count}} orphelins)"
},
"payment": {
"tradeNo": "N° de transaction",
@ -1726,7 +1928,21 @@
"customPaymentEndpointDes": "URL à demander lors de la création d'une commande de paiement.",
"appFeedback": "URL de feedback",
"appForum": "URL du forum utilisateur",
"appLinkDes": "Sera affiché dans le client mobile, laisser vide pour cacher l'élément de menu. Ce paramètre ne prendra effet que si la licence VOL est valide."
"appLinkDes": "Sera affiché dans le client mobile, laisser vide pour cacher l'élément de menu. Ce paramètre ne prendra effet que si la licence VOL est valide.",
"addTrafficPack": "Ajouter un pack de trafic",
"editTrafficPack": "Modifier un pack de trafic",
"trafficSize": "Quantité de trafic (octets)",
"trafficSizeDes": "Octets de trafic en lien direct accordés à l'achat ; les packs sont permanents.",
"subAddressChars": "Caractères de sous-adresse",
"subAddressCharsDes": "Caractères traités comme séparateurs de sous-adresse dans la partie locale de l'e-mail (ex. <code>+-.</code> pour les alias de type Gmail/iCloud). Vide par défaut à <code>+</code>.",
"manualAdjust": "Ajustement manuel des crédits",
"adjustEmail": "E-mail de l'utilisateur",
"adjustDelta": "Changement de points",
"adjustDeltaDes": "Positif ajoute des crédits, négatif en déduit",
"adjustNote": "Note",
"adjustSubmit": "Appliquer",
"adjustSuccess": "Crédits ajustés",
"adjustFailed": "Échec de l'ajustement des crédits"
},
"pro": {
"title": "Fonctionnalités exclusives de la version Pro",
@ -1756,6 +1972,27 @@
"reporterID": "ID de l'utilisateur rapporteur",
"reportedUserID": "ID de l'utilisateur signalé",
"shareID": "ID partagé",
"reason": "Raison"
"reason": "Raison",
"target": "Cible",
"statusLabel": "État",
"reportedAt": "Signalé le",
"actions": "Actions",
"resolve": "Résoudre",
"dismiss": "Rejeter",
"adminNote": "Note de l'administrateur",
"blockShare": "Bloquer le lien de partage",
"noReports": "Aucun signalement d'abus",
"reviewSuccess": "Signalement mis à jour.",
"status": {
"open": "Ouvert",
"resolved": "Résolu",
"dismissed": "Rejeté",
"all": "Tous"
},
"markAs": {
"resolved": "Résoudre le signalement",
"dismissed": "Rejeter le signalement",
"open": "Rouvrir le signalement"
}
}
}

@ -52,7 +52,35 @@
"signingOut": "Logout in corso...",
"loggedOut": "Sei stato disconnesso",
"clickToRefresh": "Clicca per aggiornare il CAPTCHA",
"switchLanguage": "Cambia lingua"
"switchLanguage": "Cambia lingua",
"invitationCode": "Codice di invito",
"phoneNumber": "Numero di telefono",
"smsCode": "Codice SMS",
"sendSmsCode": "Invia codice",
"resendSmsCode": "Reinvia ({{seconds}}s)",
"smsSignIn": "Accedi con SMS",
"resetViaSms": "Ripristina via SMS invece",
"emailChangedTitle": "Email modificata",
"emailChanged": "Il tuo indirizzo email è stato modificato correttamente.",
"signInWith": "Accedi con {{name}}",
"ssoFailed": "Accesso single sign-on non riuscito. Riprova o usa un altro metodo di accesso.",
"ssoError": {
"generic": "Accesso single sign-on non riuscito. Riprova.",
"sso_not_configured": "Il single sign-on non è configurato. Contatta l'amministratore.",
"sso_discovery_failed": "Impossibile contattare il provider di identità. Riprova più tardi.",
"sso_state_failed": "Avvio della sessione di accesso non riuscito. Riprova.",
"sso_denied": "Accesso negato dal provider di identità.",
"sso_invalid_response": "Risposta non valida dal provider di identità.",
"sso_state_expired": "La sessione di accesso è scaduta. Riprova.",
"sso_exchange_failed": "Completamento dell'accesso con il provider di identità non riuscito.",
"sso_token_invalid": "Verifica della risposta di identità non riuscita.",
"sso_no_email": "Il provider di identità non ha restituito un indirizzo email.",
"sso_account_unavailable": "Nessun account disponibile per questa identità. La registrazione potrebbe essere limitata."
},
"browsePublicShares": "Sfoglia le condivisioni pubbliche",
"inputBackupCode": "Inserisci uno dei tuoi codici di ripristino",
"useBackupCode": "Usa un codice di ripristino invece",
"use2FACode": "Usa il codice dell'autenticatore invece"
},
"oauth": {
"authorize": "Autorizza applicazione",
@ -147,7 +175,11 @@
"toDarkMode": "Scuro",
"toLightMode": "Chiaro",
"myProfile": "Il mio profilo",
"dashboard": "Dashboard"
"dashboard": "Dashboard",
"shop": "Negozio",
"addAccount": "Aggiungi account",
"signedOut": "Disconnesso",
"discover": "Scopri"
},
"fileManager": {
"continueInDesktop": "Autorizzazione riuscita, continua nel client desktop.",
@ -488,7 +520,37 @@
"noEncryption": "Non crittografato",
"ftsStatus": "Indice full-text",
"ftsIndexed": "Indicizzato",
"ftsNotIndexed": "Non indicizzato"
"ftsNotIndexed": "Non indicizzato",
"aclDes": "Permessi granulari per «{{name}}». Le voci elencate sovrascrivono i permessi predefiniti del link di condivisione per i visitatori corrispondenti.",
"aclSubject": "Soggetto",
"aclAnonymous": "Visitatori anonimi",
"aclEveryone": "Tutti gli altri",
"aclGroup": "gruppo",
"aclPerm_read": "Lettura",
"aclPerm_create": "Creazione",
"aclPerm_update": "Aggiornamento",
"aclPerm_delete": "Eliminazione",
"loop": "Ciclo",
"modelViewer": "Visualizzatore modelli 3D",
"modelLoadFailed": "Caricamento del modello 3D non riuscito",
"activityDes": "Azioni registrate su {{name}}.",
"resetThumbnail": "Ripristina miniatura danneggiata",
"resetThumbnailRequested": "Ripristino miniatura richiesto.",
"noFileCanResetThumbnail": "Nessun file disponibile per il ripristino della miniatura.",
"selectDownloadRoute": "Seleziona route di download",
"downloadRouteDirect": "Diretto",
"downloadRouteDirectDescription": "Scarica direttamente da questo sito",
"lineEnding": "Fine riga",
"downloadAll": "Scarica tutto",
"dirPolicyTitle": "Politica di archiviazione per gli upload",
"dirPolicyDes": "I nuovi file caricati in «{{name}}» useranno la politica di archiviazione selezionata.",
"relocateTitle": "Rilocazione archiviazione",
"relocateDes": "Sposta il contenuto fisico di «{{name}}» nella politica di archiviazione selezionata.",
"relocateSubmitted": "Attività di rilocazione inviata",
"relocateStart": "Riloca",
"policySaved": "Politica di archiviazione aggiornata",
"policyInherit": "Eredita (padre o predefinito del gruppo)",
"policyGroupDefault": "Predefinito del gruppo"
},
"modals": {
"includePasswordInShareLink": "Includi password nel link di condivisione",
@ -661,7 +723,44 @@
"skipSoftDeleteDes": "Salta lo spostamento nel cestino, elimina permanentemente",
"unlinkOnly": "Mantieni file fisici",
"unlinkOnlyDes": "Elimina solo i record dei file, i file fisici non saranno eliminati.",
"shareTargetsCount": "{{count}} destinazioni"
"shareTargetsCount": "{{count}} destinazioni",
"paidShare": "Condivisione a pagamento",
"paidSharePrice": "{{price}} punti",
"paidShareDes": "I visitatori devono acquistare questa condivisione con punti credito prima di scaricare. Imposta 0 per una condivisione gratuita.",
"paidSharePriceLabel": "Prezzo (punti)",
"nameConflict": "Conflitto di nome",
"conflictOverwriteDes": "Sostituisci gli elementi esistenti nella destinazione.",
"conflictSkipDes": "Conserva gli elementi esistenti; gli elementi in conflitto non saranno spostati né copiati.",
"skip": "Salta",
"remoteDownloadFileName": "Nome file (facoltativo)",
"remoteDownloadFileNameDescription": "Nome file di output personalizzato",
"remoteDownloadHttpUser": "Nome utente HTTP (facoltativo)",
"remoteDownloadHttpPassword": "Password HTTP (facoltativo)",
"remoteDownloadHeaders": "Intestazioni di richiesta (facoltativo)",
"remoteDownloadProvider": "Downloader",
"remoteDownloadProviderAuto": "Auto (qualsiasi nodo)",
"remoteDownloadHeadersDescription": "Un'intestazione per riga, es. Cookie: sid=...",
"allowUpload": "Consenti upload",
"allowUploadDes": "I visitatori possono caricare nuovi file e creare cartelle in questa cartella condivisa. Lo spazio è conteggiato nella tua quota.",
"allowEdit": "Consenti modifica",
"allowEditDes": "I visitatori possono caricare, rinominare, spostare ed eliminare file in questa cartella condivisa. Implica il permesso di upload.",
"uploadOnly": "Solo upload (drop box)",
"uploadOnlyDes": "I visitatori possono caricare file ma non possono vedere né scaricare il contenuto esistente in questa cartella condivisa.",
"previewOnly": "Solo anteprima",
"previewOnlyDes": "I visitatori possono visualizzare in anteprima i file inline ma non scaricarli.",
"shareNote": "Nota",
"shareNoteDes": "Una nota privata per identificare questa condivisione. Visibile solo a te in Le mie condivisioni.",
"shareTargets": "Destinatari condivisione",
"shareTargetsCount_one": "{{count}} destinatario",
"shareTargetsCount_other": "{{count}} destinatari",
"publicListing": "Elenica nel directory pubblico",
"publicListingDes": "Mostra questa condivisione nella pagina Scopri, visibile a chiunque, inclusi i visitatori anonimi. Non disponibile per condivisioni protette da password.",
"hideReadme": "Nascondi file readme",
"hideReadmeDes": "Mantieni il file README fuori dall'elenco della condivisione. I visitatori vedono comunque il readme renderizzato.",
"viewSetting": "Impostazione vista",
"saved": "Salvato",
"notSet": "Non impostato",
"deleteViewSetting": "Elimina impostazione vista"
},
"uploader": {
"fileCopyName": "Copia di ",
@ -684,7 +783,7 @@
"preparing": "Preparazione...",
"processing": "Elaborazione...",
"progressDescription": "{{uploaded}} caricati, {{total}} totale - {{percentage}}%",
"progressDescriptionFull": "{{uploaded}} caricati, {{total}} totale - {{percentage}}% ({{speed}})",
"progressDescriptionFull": "{{uploaded}} caricati, {{total}} totale - {{percentage}}% ({{speed}}){{eta}}",
"progressDescriptionPlaceHolder": " - caricati",
"uploaded": "Caricato",
"rootFolder": "Cartella radice",
@ -743,7 +842,8 @@
"upyunUploadFailed": "Caricamento fallito: {{msg}}",
"parseResponseError": "Impossibile analizzare la risposta: {{msg}} ({{content}})",
"concurrentTaskNumber": "Limite attività concorrenti",
"dropFileHere": "Rilascia file per caricare"
"dropFileHere": "Rilascia file per caricare",
"etaSuffix": ", ETA {{eta}}"
},
"share": {
"free": "Gratuito",
@ -790,7 +890,19 @@
"preview": "Anteprima",
"incorrectPassword": "Password non corretta.",
"shareNotExist": "Il link di condivisione non è valido o è scaduto.",
"copyLinkToClipboard": "Copia link negli appunti"
"copyLinkToClipboard": "Copia link negli appunti",
"paidShareDes": "Questa è una condivisione a pagamento. L'acquisto costa {{price}} punti e sblocca i download.",
"purchaseForPoints": "Acquista per {{price}} pt",
"signInToPurchase": "Accedi per acquistare",
"yourBalance": "Saldo: {{credits}} punti",
"saveToMyFiles": "Salva nei miei file",
"savedToMyFiles": "Condivisione salvata nei tuoi file.",
"saveShareLink": "Salva link di condivisione",
"saveShareLinkHint": "Incolla un link di condivisione come https://example.com/s/abc123",
"shareLink": "Link di condivisione",
"savedAs": "Salvato come (facoltativo)",
"sharePasswordRequired": "Questa condivisione richiede una password.",
"invalidShareLink": "Impossibile analizzare questo link di condivisione."
},
"download": {
"noFilesFound": "Nessun file trovato",
@ -1054,7 +1166,80 @@
"relocateFileTo": "Riposiziona policy di archiviazione a {{policy}} per <0></0>{{more}}",
"extractFileTo": "Estrai <0></0>{{more}} in <1></1>",
"createArchiveTo": "Crea file di archivio in <1></1> per <0></0>{{more}}",
"importFileTo": "Importa file da {{policy}} in <0></0>"
"importFileTo": "Importa file da {{policy}} in <0></0>",
"preferredViewers": "App predefinite",
"preferredViewersDes": "App scelte con «Sempre» nella finestra apri con. Si applicano su tutti i tuoi dispositivi; rimuovine una per essere interrogato di nuovo.",
"preferredViewersEmpty": "Nessuna app predefinita salvata. Scegli «Sempre» nella finestra apri con di un file.",
"trashRetention": "Conservazione cestino (giorni)",
"trashRetentionDes": "Giorni in cui un file resta nel cestino prima dell'eliminazione automatica. 0 eredita il predefinito del gruppo. Si applica ai file spostati nel cestino dopo la modifica.",
"linkedAccounts": "Account collegati",
"providerQQ": "QQ",
"unlinkAccount": "Scollega",
"unlinkAccountConfirm": "Sei sicuro di voler scollegare questo account? Non potrai più accedervi.",
"linkQQAccount": "Collega account QQ",
"providerWeChat": "WeChat",
"linkWeChatAccount": "Collega account WeChat",
"phoneBinding": "Associazione telefono",
"bindPhone": "Associa telefono",
"unbindPhone": "Disassocia",
"unbindPhoneConfirm": "Sei sicuro di voler disassociare questo numero di telefono? Non potrai più accedere né ripristinare la password con esso.",
"changeEmail": "Cambia",
"changeEmailDes": "Un link di conferma sarà inviato al nuovo indirizzo. La tua email attuale ({{email}}) resta attiva fino alla conferma.",
"newEmail": "Nuovo indirizzo email",
"changeEmailPasswordDes": "Inserisci la tua password attuale per confermare.",
"emailChangeSent": "Email di conferma inviata al nuovo indirizzo.",
"copySecret": "Non riesci a scansionare? Clicca per copiare la chiave di configurazione",
"secretCopied": "Chiave di configurazione copiata",
"shareSiteDefault": "Predefinito del sito",
"shareSiteDefaultDes": "Segui il predefinito globale configurato dall'amministratore.",
"shareDefaultPrivate": "Privacy predefinita condivisioni",
"shareDefaultPrivateDes": "Le nuove condivisioni sono private per default (protette da password).",
"sharePrivateOn": "Privato",
"sharePrivateOff": "Pubblico",
"preferredPolicy": "Politica di archiviazione preferita",
"preferredPolicyDes": "I nuovi upload nei tuoi file usano questa politica di archiviazione, a meno che una cartella non la sovrascriva.",
"policySaved": "Politica di archiviazione aggiornata",
"policyInherit": "Eredita (predefinito del gruppo)",
"policyGroupDefault": "Predefinito del gruppo",
"creditBalance": "Saldo crediti",
"storageBonus": "Bonus di archiviazione",
"dlTraffic": "Traffico link diretto",
"dlTrafficUnlimited": "Illimitato",
"activeGrants": "Benefici attivi",
"grantStorage": "Archiviazione",
"grantGroup": "Gruppo",
"redeemGiftCode": "Riscatta codice regalo",
"redeemGiftCodeDes": "Inserisci un codice regalo per reclamare crediti o benefici",
"giftCodePlaceholder": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"redeem": "Riscatta",
"giftCodeRedeemed": "Codice regalo riscattato",
"creditLedger": "Registro crediti",
"txnChange": "Cambio",
"txnTime": "Ora",
"txnReason": "Motivo",
"noTxns": "Nessuna transazione ancora",
"txnType": {
"purchase": "Acquisto negozio",
"gift": "Codice regalo",
"share_income": "Link di condivisione acquistato",
"adjust": "Rettifica manuale"
},
"tags": "Etichette",
"tagsDes": "Rinomina, ricolora o elimina un'etichetta su tutti i tuoi file. La ridenominazione su un'etichetta esistente le unisce.",
"tagName": "Etichetta",
"tagFiles": "File",
"tagActions": "Azioni",
"noTags": "Nessuna etichetta ancora",
"editTag": "Modifica etichetta",
"deleteTag": "Elimina etichetta",
"deleteTagDes": "Rimuovere l'etichetta «{{name}}» da {{count}} file? I file stessi sono conservati.",
"tagUpdated": "Etichetta aggiornata",
"tagDeleted": "Etichetta eliminata",
"tagNameInvalid": "Il nome dell'etichetta non può essere vuoto né contenere «:»",
"backup2FACodes": "Codici di ripristino",
"backupCodesDes": "I codici di ripristino ti permettono di accedere quando l'autenticatore non è disponibile. La generazione di un nuovo lotto invalida tutti i codici precedenti.",
"backupCodesWarning": "Salva questi codici ora. Ciascuno può essere usato una sola volta e non saranno più mostrati.",
"copyCodes": "Copia codici"
},
"vas": {
"points": "Punti",
@ -1188,5 +1373,43 @@
"dontShowAgain": "Non mostrare più",
"openPaymentLink": "Apri link di pagamento",
"creditReasonAdjust": "Aggiustamento manuale"
},
"vault": {
"title": "Spazio privato",
"description": "I file nel tuo spazio privato sono nascosti durante la navigazione e la ricerca finché non lo sblocchi con una password separata. I file dello spazio privato non possono essere condivisi né accessibili via WebDAV.",
"enable": "Attiva spazio privato",
"enabled": "Spazio privato attivato",
"disable": "Disattiva",
"disabled": "Spazio privato disattivato",
"disableDescription": "La disattivazione rimuove il blocco; la cartella e il suo contenuto restano file normali.",
"confirmDisable": "Conferma disattivazione",
"setPassword": "Imposta password spazio privato",
"confirmPassword": "Password spazio privato",
"enterPassword": "Password spazio privato",
"lockNow": "Blocca ora",
"locked": "Spazio privato bloccato",
"unlocked": "Sbloccato",
"lockedState": "Bloccato",
"lockedTitle": "Questa cartella è nel tuo spazio privato. Sbloccala per continuare.",
"badge": "Spazio privato"
},
"shop": {
"memberships": "Abbonamenti",
"storagePacks": "Pacchetti archiviazione",
"trafficPacks": "Pacchetti traffico",
"redeem": "Riscatta",
"balance": "Saldo: {{credits}} pt",
"purchased": "{{name}} acquistato",
"permanent": "Permanente",
"noProducts": "Nessun prodotto disponibile",
"buyWithPoints": "Compra per {{points}} pt",
"pointsUnavailable": "Non acquistabile con punti"
},
"announcement": {
"title": "Annuncio",
"dontShowAgain": "Non mostrare più"
},
"discover": {
"searchPlaceholder": "Cerca condivisioni pubbliche"
}
}

@ -34,7 +34,9 @@
"human": "Sono umano",
"verifying": "Verifica in corso...",
"verified": "Verifica completata"
}
},
"verify": "Clicca per verificare",
"verified": "Verificato"
},
"errors": {
"401": "Effettua prima il login.",
@ -54,7 +56,7 @@
"40014": "Superato il limite di batch per ottenere il link sorgente.",
"40015": "Superato il limite di batch per aria2.",
"40016": "Percorso non trovato.",
"40017": "Questo account è stato bloccato.",
"40017": "Questo account è stato bloccato. {{message}}",
"40018": "Questo account non è attivato.",
"40019": "Questa funzione non è abilitata.",
"40020": "Credenziali non valide o scadute.",
@ -117,5 +119,6 @@
"40084": "Il tuo account è senza password, devi mantenere almeno un account collegato.",
"40085": "L'importo totale di questo ordine è troppo piccolo per il checkout."
},
"save": "Salva"
"save": "Salva",
"delete": "Elimina"
}

@ -753,7 +753,8 @@
"report_abuse": "Segnala abuso",
"oauth_grant_create": "Autorizzazione app OAuth",
"oauth_token_exchange": "Scambio token OAuth",
"oauth_grant_revoke": "Revoca autorizzazione app OAuth"
"oauth_grant_revoke": "Revoca autorizzazione app OAuth",
"content_audit_blocked": "Condivisione bloccata da audit contenuti"
},
"server": "Server",
"tempPath": "Percorso temporaneo",
@ -821,7 +822,91 @@
"ftsTikaExts": "Estensioni supportate",
"ftsTikaExtsDes": "Elenco di estensioni file separate da virgola. Tika elaborerà file di questi tipi.",
"ftsTikaMaxFileSize": "Dimensione massima file",
"ftsTikaMaxFileSizeDes": "Dimensione massima del file da inviare a Tika per l'estrazione del contenuto."
"ftsTikaMaxFileSizeDes": "Dimensione massima del file da inviare a Tika per l'estrazione del contenuto.",
"navItemVisibility": "Visibilità",
"navScopePublic": "Tutti",
"navScopeUser": "Utenti collegati",
"uploadDedupScope": "Ambito rilevamento duplicati",
"uploadDedupScopeDes": "Quando un client invia un hash del contenuto, il server cerca un file identico completato e materializza l'upload istantaneamente senza trasferire byte.",
"uploadDedupScope_off": "Disattivato",
"uploadDedupScope_offDes": "Nessun rilevamento duplicati; ogni upload trasferisce byte.",
"uploadDedupScope_owner": "Stesso utente",
"uploadDedupScope_ownerDes": "Deduplica solo rispetto ai file già posseduti dall'utente che carica.",
"uploadDedupScope_global": "Globale",
"uploadDedupScope_globalDes": "Deduplica rispetto a tutti i file completati su questo sito.",
"translations": "Traduzioni",
"translationsDes": "Sovrascritture per lingua. Lascia vuoto per ripiegare sul valore predefinito. Gli utenti vedono la variante corrispondente alla loro impostazione di lingua o alla lingua del browser.",
"invitationCodeRequired": "Codice di invito obbligatorio",
"invitationCodeRequiredDes": "Le nuove registrazioni devono fornire un codice di invito valido. I codici sono gestiti in Utenti - Codici di invito.",
"smtpAuthMethod": "Metodo di autenticazione SMTP",
"smtpAuthMethodDes": "L'auto-scoperta seleziona solo meccanismi sicuri e non invia mai credenziali in chiaro su connessioni non cifrate. Se il tuo server offre solo PLAIN/LOGIN senza crittografia, scegli il metodo «-noenc» corrispondente — le credenziali saranno trasmesse in chiaro.",
"smtpAuth_autodiscover": "Auto scoperta",
"smtpAuth_plain": "PLAIN",
"smtpAuth_plain_noenc": "PLAIN (consenti non cifrato)",
"smtpAuth_login": "LOGIN",
"smtpAuth_login_noenc": "LOGIN (consenti non cifrato)",
"smtpAuth_cram_md5": "CRAM-MD5",
"smtpAuth_scram_sha_1": "SCRAM-SHA-1",
"smtpAuth_scram_sha_256": "SCRAM-SHA-256",
"smtpAuth_xoauth2": "XOAUTH2",
"smtpAuth_noauth": "Nessuna autenticazione",
"tcaptcha": "Tencent Captcha",
"tcaptchaAppId": "CaptchaAppId",
"tcaptchaAppSecretKey": "AppSecretKey",
"tcaptchaSecretId": "SecretId",
"tcaptchaSecretKey": "SecretKey",
"tcaptchaDes": "Ottieni il tuo CaptchaAppId e AppSecretKey dalla <0>console Tencent Captcha</0>.",
"tcaptchaSecretDes": "SecretId e SecretKey di una credenziale API Tencent Cloud usata per chiamare DescribeCaptchaResult.",
"trafficProductSettings": "Prodotto traffico",
"trafficProductsDes": "Configura i prodotti che gli utenti possono acquistare per ricaricare la loro dotazione di traffico a link diretto.",
"auditRetentionDays": "Conservazione (giorni)",
"auditRetentionDaysDes": "Elimina gli eventi più vecchi di questo numero di giorni. 0 conserva gli eventi per sempre.",
"ssoIssuer": "URL dell'emittente",
"ssoIssuerDes": "URL base dell'emittente OIDC, es. <0>https://keycloak.example.com/realms/master</0>. I metadati del provider sono recuperati da <1>.well-known/openid-configuration</1> sotto questo URL.",
"ssoRegisterEnabled": "Consenti registrazione automatica",
"ssoRegisterEnabledDes": "Crea automaticamente un account locale quando un utente accede via SSO per la prima volta. Il filtro di registrazione email sotto si applica anch'esso.",
"downloadCdnRoutes": "Route CDN di download",
"downloadCdnRoutesDes": "Endpoint di download alternativi offerti agli utenti, uno per riga nel formato nome=url (es. Linea 1=https://cdn1.example.com). Le route devono proxyare il percorso e la query completi verso questo sito affinché le URL firmate restino valide; le intestazioni CORS sono necessarie per i download nel browser.",
"downloadCdnShuffle": "Distribuisci route di download",
"downloadCdnShuffleDes": "Distribuisci casualmente ogni link di download generato tra l'URL del sito e tutte le route CDN configurate, così che le esportazioni batch ai gestori di download tocchino endpoint diversi. Il selettore manuale di route è nascosto quando attivo.",
"ssoAutoRedirect": "Reindirizzamento automatico a SSO",
"ssoAutoRedirectDes": "Salta il modulo di accesso e invia i visitatori direttamente al provider di identità. Aggiungi <0>?nosso=1</0> all'URL di accesso per raggiungere il modulo password (es. per recupero admin).",
"ssoCallbackUrl": "URL di callback",
"ssoCallbackUrlDes": "Registra questa URL come URL di reindirizzamento/callback nel tuo provider di identità: <0>{{url}}</0>",
"qqConnect": "QQ Connect",
"qqAppID": "App ID",
"qqAppIDDes": "L'App ID dell'applicazione web creata nella <0>console QQ Connect</0> (connect.qq.com).",
"qqAppSecret": "App Key",
"qqCallbackUrl": "URL di callback",
"qqCallbackUrlDes": "Registra questa URL come dominio/URL di callback web nella console QQ Connect: <0>{{url}}</0>",
"qqRegisterEnabled": "Consenti registrazione automatica",
"qqRegisterEnabledDes": "Crea automaticamente un account locale quando un utente accede via QQ per la prima volta. QQ non fornisce indirizzo email, gli account creati usano un indirizzo sintetico @connect.qq.local.",
"wechatConnect": "Accesso con scansione WeChat",
"wechatAppID": "App ID",
"wechatAppIDDes": "L'AppID dell'applicazione web creata nella <0>WeChat Open Platform</0> (open.weixin.qq.com).",
"wechatAppSecret": "App Secret",
"wechatCallbackUrl": "URL di callback",
"wechatCallbackUrlDes": "Registra il dominio di questa URL come dominio di callback di autorizzazione nella console WeChat Open Platform: <0>{{url}}</0>",
"wechatRegisterEnabled": "Consenti registrazione automatica",
"wechatRegisterEnabledDes": "Crea automaticamente un account locale quando un utente accede via WeChat per la prima volta. WeChat non fornisce indirizzo email, gli account creati usano un indirizzo sintetico @connect.wechat.local.",
"smsSignIn": "Accesso via SMS",
"smsEndpoint": "Endpoint del gateway",
"smsEndpointDes": "Endpoint HTTP del tuo provider SMS. I segnaposto <0>{phone}</0> e <0>{code}</0> sono sostituiti prima di ogni richiesta.",
"smsMethodDes": "Metodo HTTP usato per la richiesta al gateway. Per GET, i segnaposto sono resi solo nell'URL dell'endpoint.",
"smsHeaders": "Intestazioni di richiesta",
"smsHeadersDes": "Una coppia `Key: Value` per riga, es. Authorization: Bearer <token>.",
"smsBodyTemplate": "Modello corpo della richiesta",
"smsBodyTemplateDes": "Corpo inviato per le richieste POST. I segnaposto <0>{phone}</0> e <0>{code}</0> sono sostituiti prima di ogni richiesta.",
"smsRegisterEnabled": "Consenti registrazione automatica",
"smsRegisterEnabledDes": "Crea automaticamente un account locale quando un utente accede tramite codice SMS per la prima volta. Gli account creati usano un indirizzo sintetico @sms.local.",
"themeVisible": "Visibile",
"shareDefaultPrivate": "Condivisione privata per default",
"shareDefaultPrivateDes": "Le nuove condivisioni sono private per default (protette da password). Gli utenti possono sovrascriverlo nelle loro impostazioni personali.",
"defaultShareLinksInProfile": "Visibilità predefinita condivisioni del profilo",
"defaultShareLinksInProfileDes": "Controlla quali condivisioni appaiono nella pagina profilo pubblica di un utente quando non ne ha scelta alcuna.",
"profileSharePublicOnly": "Solo condivisioni senza password",
"profileShareAll": "Tutte le condivisioni",
"profileShareHide": "Nascondi tutte le condivisioni"
},
"giftCodes": {
"giftCodesSettings": "Codici Regalo",
@ -852,7 +937,11 @@
"copyAndClose": "Copia e Chiudi",
"duratonTimes": "Quantità",
"duratonTimesDes": "Quante quantità del prodotto sono incluse in ogni codice regalo.",
"unknownProduct": "Prodotto Sconosciuto"
"unknownProduct": "Prodotto Sconosciuto",
"giftCodeTypeTraffic": "Traffico link diretto",
"giftCodeDeleteFailed": "Eliminazione del codice regalo non riuscita",
"giftCodeCreateFailed": "Generazione dei codici regalo non riuscita",
"giftCodeAmountHelp": "Importo concesso per codice"
},
"policy": {
"acceleratedDomainUpload": "Usa dominio di accelerazione trasferimento per upload",
@ -1143,7 +1232,41 @@
"fileEncryption": "Crittografia file",
"enableFileEncryption": "Abilita crittografia file",
"enableFileEncryptionDes": "Quando abilitato, i blob dei file verranno archiviati crittografati. La modifica di questa impostazione influisce solo sui file appena aggiunti.",
"encryptedFile": "File crittografati"
"encryptedFile": "File crittografati",
"mediaExtractorUpyun": "servizio di elaborazione immagini",
"nativeMediaMetaExtUpyun": "Il servizio di elaborazione immagini supporta <0>l'estrazione EXIF delle immagini</0>. Non è necessaria alcuna configurazione manuale, basta aggiungere sopra le estensioni da elaborare.",
"thumbForceProxy": "Forza proxy generazione miniature",
"thumbForceProxyDes": "Genera sempre le miniature con la pipeline del proxy locale, anche quando il backend di archiviazione offre un'API nativa di miniature. Implica la generazione proxy delle miniature.",
"thumbStoragePolicy": "Politica di archiviazione miniature",
"thumbStoragePolicySource": "Uguale al file",
"thumbStoragePolicyDes": "Le miniature generate sono archiviate sotto la politica selezionata invece che sotto la politica di archiviazione del file stesso.",
"blobAudit": "Audita blob: {{name}}",
"blobAuditDes": "Scansiona il backend di archiviazione ed elenca gli oggetti fisici non referenziati da alcun record di file. Utile per trovare blob fantasma lasciati da trasferimenti falliti.",
"blobAuditDelete": "Elimina blob orfani",
"blobAuditDeleteWarning": "Gli oggetti orfani saranno rimossi permanentemente dal backend di archiviazione. I file ancora in upload possono apparire come orfani — attivalo solo quando sei sicuro che non ci siano upload in corso.",
"blobAuditStart": "Avvia audit",
"blobAuditSubmitted": "Attività di audit blob in coda.",
"maxTotalSize": "Capacità totale massima",
"maxTotalSizeDes": "Numero massimo totale di byte archiviati sotto questa politica. Gli upload e le copie che la supererebbero sono rifiutati. 0 significa illimitato.",
"overflowPolicy": "Politica di overflow",
"overflowPolicyDes": "Quando questa politica esaurisce la capacità, i nuovi upload confluiscono nella politica selezionata. Sono supportate catene di politiche.",
"auditEndpoint": "Endpoint audit contenuti",
"auditEndpointDes": "Endpoint HTTP per l'audit dei contenuti (es. moderazione immagini). Se impostato, condividere un file archiviato su questa politica invia il suo contenuto all'endpoint; una risposta {\"flagged\":true} blocca la condivisione. Lascia vuoto per disattivare.",
"auditMaxSize": "Limite dimensione audit",
"auditMaxSizeDes": "Dimensione massima dell'entità inviata all'endpoint di audit. I file più grandi sono saltati. 0 significa nessun limite.",
"overflowNone": "Nessuna",
"allowNativeName": "Consenti caratteri nativi nei nomi file",
"allowNativeNameDes": "Permetti caratteri solo illegali sui filesystem Windows (: * ? \" < > |) nei nomi dei file. Può rompere i client che montano su Windows. I separatori di percorso restano vietati.",
"status": "Stato",
"statusDes": "Le politiche sospese continuano a servire i file esistenti ma rifiutano i nuovi upload.",
"loadBalance": "Bilanciamento carico",
"lbChildren": "Politiche di archiviazione figlie",
"lbChildPolicy": "Politica di archiviazione",
"lbWeight": "Peso",
"lbAddChild": "Aggiungi politica figlia",
"lbChildrenDes": "I nuovi upload sono distribuiti tra le politiche figlie proporzionalmente al loro peso.",
"lbWizardDes": "Una politica di bilanciamento del carico distribuisce gli upload tra politiche figlie ponderate. Le figlie sono configurate dopo la creazione.",
"chunkSizeDesOd": "Intervallo consentito: 5 MB ~ 5 GB, OneDrive richiede un multiplo intero di 320 KiB (327.680 byte)."
},
"node": {
"slave": "slave",
@ -1213,7 +1336,11 @@
"hostHeaderHint": "Se c'è un errore di firma, controlla se il proxy inverso davanti al nodo sta passando l'header <0>Host</0>.",
"features": "Funzionalità abilitate",
"remoteDownload": "Download remoto",
"refresh": "Aggiorna"
"refresh": "Aggiorna",
"ytdlpDes": "Esegue yt-dlp sul server del nodo target con lo stesso utente/livello di accesso di Cloudreve. yt-dlp è invocato come processo CLI per attività - nessun demone richiesto.",
"ytdlpOptionDes": "Flag CLI aggiuntivi di yt-dlp alla creazione di un'attività di download, in formato JSON chiave-valore - le chiavi diventano argomenti --flag tali e quali, vedi il <0>riferimento delle opzioni yt-dlp</0>.",
"ytdlpBinary": "Binario yt-dlp",
"ytdlpBinaryDes": "Percorso o nome dell'eseguibile yt-dlp sul server del nodo. Predefinito yt-dlp risolto dal PATH."
},
"group": {
"countUser": "Conteggio",
@ -1299,7 +1426,38 @@
"notCopy": "Non copiare",
"confirmDelete": "Sei sicuro di voler eliminare il gruppo {{group}}?",
"new": "Nuovo gruppo",
"editGroup": "Modifica {{group}}"
"editGroup": "Modifica {{group}}",
"availablePolicyDesPro": "Selezione multipla, gli utenti possono cambiare liberamente politica di archiviazione nell'intervallo selezionato.",
"loginIPWhitelist": "Lista bianca IP di accesso",
"loginIPWhitelistDes": "Limita l'accesso a questi IP o range CIDR, uno per riga. Lascia vuoto per consentire tutto.",
"delegatedAdmin": "Sezioni di amministrazione delegata",
"delegatedAdminDes": "Concedi l'accesso solo a sezioni selezionate della dashboard. Gli utenti di questo gruppo possono aprire il pannello admin, ma solo le sezioni abilitate funzionano — tutte le altre chiamate API admin sono rifiutate.",
"sectionUsers": "Utenti",
"sectionGroups": "Gruppi",
"sectionFiles": "File & blob",
"sectionShares": "Condivisioni",
"sectionStorage": "Politiche di archiviazione & nodi",
"sectionQueue": "Coda attività",
"sectionSettings": "Impostazioni sito & OAuth",
"sectionPayment": "Pagamenti",
"sectionEvents": "Eventi",
"sectionReports": "Segnalazioni abusi",
"shareSell": "Vendi link di condivisione",
"shareSellDes": "Quando attivo, gli utenti possono impostare un prezzo in punti sui link di condivisione che creano.",
"wabDAVReadOnly": "WebDAV sola lettura",
"wabDAVReadOnlyDes": "Se attivo, i montaggi WebDAV per gli utenti di questo gruppo diventano in sola lettura — upload, eliminazioni, spostamenti e altri metodi di scrittura sono rifiutati.",
"aria2TaskLimit": "Max attività di download remoto simultanee",
"aria2TaskLimitDes": "Numero massimo di attività di download remoto attive per utente (in coda, in esecuzione o sospese). 0 = nessun limite.",
"aria2MaxFileSize": "Dimensione massima per attività di download (byte)",
"aria2MaxFileSizeDes": "Le attività di download remoto la cui dimensione totale risolta supera questo limite sono interrotte. 0 = nessun limite.",
"setExplicitUser": "Imposta permessi file",
"setExplicitUserDes": "I membri possono impostare permessi granulari di lettura/creazione/aggiornamento/eliminazione su file e cartelle di loro proprietà, per utenti, gruppi, visitatori anonimi o tutti gli altri.",
"switchablePolicies": "Politiche di archiviazione commutabili",
"switchablePoliciesDes": "Politiche a cui i membri di questo gruppo possono passare liberamente. La politica predefinita sopra è sempre disponibile.",
"weightedPolicies": "Selezione politica ponderata",
"weightedPoliciesDes": "Quando attivo, gli upload senza preferenza di politica esplicita sono instradati alla politica consentita con più spazio libero che contenga il file. Solo le politiche con limite di capacità totale sono ponderate.",
"sharePublicList": "Directory pubblica delle condivisioni",
"sharePublicListDes": "Quando attivo, gli utenti possono iscrivere i loro link di condivisione alla directory pubblica (pagina Scopri). Le condivisioni protette da password non possono essere elencate."
},
"user": {
"createdAt": "Creato il",
@ -1349,7 +1507,34 @@
"deleteXUsers": "Elimina {{num}} utenti",
"confirmBatchDelete": "Sei sicuro di voler eliminare {{num}} utenti?",
"calibrateStorage": "Calibra archiviazione",
"calibrateStorageSuccess": "Archiviazione calibrata con successo."
"calibrateStorageSuccess": "Archiviazione calibrata con successo.",
"relocateFiles": "Riloca file",
"banExpires": "Scadenza ban",
"banExpiresDes": "Facoltativo. Il ban si solleva automaticamente dopo questo orario; vuoto significa permanente.",
"banReason": "Motivo del ban",
"banReasonDes": "Facoltativo. Mostrato all'utente quando un accesso bannato è rifiutato.",
"lastLogin": "Ultimo accesso",
"uids": "ID utente",
"uidsPlaceholder": "ID separati da virgola, es. 2,3,5",
"editXUsers": "Modifica {{num}} utenti",
"batchEditXUsers": "Modifica in batch {{num}} utenti",
"noChange": "Nessun cambiamento",
"invitationCodes": "Codici di invito",
"invitationCodesDes": "Codici che possono essere richiesti per le registrazioni pubbliche. Creali, condividili e revocali qui.",
"invitationCode": "Codice",
"invitationCodeAuto": "Genera automaticamente",
"invitationCodeGroup": "Gruppo",
"invitationCodeMaxUses": "Usi max",
"invitationCodeExpires": "Scade il",
"invitationCodeUses": "Usi",
"invitationCodeCreated": "Codice di invito creato.",
"invitationCodeCopied": "Codice copiato negli appunti.",
"invitationCodeCopy": "Copia",
"invitationCodeDefaultGroup": "Predefinito",
"noInvitationCodes": "Nessun codice di invito ancora.",
"loadMore": "Carica altri",
"additionalGroups": "Gruppi aggiuntivi",
"additionalGroupsDes": "Appartenenze a gruppi aggiuntive oltre al gruppo principale. Permessi, quote e politiche di archiviazione sono unificati (unione) tra tutti i gruppi."
},
"file": {
"deleteXFiles": "Elimina {{num}} file",
@ -1421,7 +1606,15 @@
"shareLinkExisted": "Ha link di condivisione",
"directLinkExisted": "Ha link diretto",
"isUploading": "In caricamento",
"selectUser": "Seleziona utente"
"selectUser": "Seleziona utente",
"referenceCount": "Conteggio riferimenti",
"awaitingRecycle": "In attesa di riciclo",
"refCountGt": "Maggiore di",
"refCountLt": "Minore di",
"refCountEq": "Uguale a",
"deletedState": "Stato eliminato",
"liveOnly": "Solo file attivi",
"trashOnly": "Solo cestino"
},
"entity": {
"refenenceCount": "Conteggio riferimenti",
@ -1432,7 +1625,15 @@
"confirmBatchDelete": "Sei sicuro di voler eliminare {{num}} Blob?",
"deleteXEntities": "Elimina {{num}} Blob",
"forceDelete": "Forza eliminazione",
"forceDeleteDes": "Se eliminare il record Blob indipendentemente dal fatto che il file fisico venga eliminato."
"forceDeleteDes": "Se eliminare il record Blob indipendentemente dal fatto che il file fisico venga eliminato.",
"relocateXEntities": "Riloca {{num}} blob",
"relocateTitle": "Riloca blob",
"relocateEntitiesDes": "Sposta i dati di {{num}} blob selezionati in un'altra politica di archiviazione. L'attività è in background e può essere ripresa.",
"relocatePolicyDes": "Sposta tutti i blob archiviati su «{{name}}» in un'altra politica di archiviazione. L'attività è in background e può essere ripresa.",
"relocateUserDes": "Sposta tutti i blob di proprietà di «{{name}}» in un'altra politica di archiviazione. L'attività è in background e può essere ripresa.",
"relocatePolicy": "Migra tutti i blob su {{name}} in un'altra politica",
"relocateStart": "Avvia rilocazione",
"relocateSubmitted": "Attività di rilocazione inviata"
},
"event": {
"cleanup": "Pulizia",
@ -1468,7 +1669,8 @@
"confirmDelete": "Sei sicuro di voler eliminare questo evento?",
"deleteXEvents": "Elimina {{num}} eventi",
"confirmBatchDelete": "Sei sicuro di voler eliminare {{num}} eventi?",
"allEventTypes": "Tutti i tipi di evento"
"allEventTypes": "Tutti i tipi di evento",
"noEvents": "Nessun evento registrato ancora"
},
"share": {
"confirmBatchDelete": "Sei sicuro di voler eliminare {{num}} condivisioni?",
@ -1546,7 +1748,8 @@
"finished": "Finito",
"canceled": "Annullato/Fermato",
"unknown": "Sconosciuto",
"errorMsg": "Messaggio errore"
"errorMsg": "Messaggio errore",
"blobAudit": "Audita blob sulla politica di archiviazione #{{policyID}} ({{count}} orfani)"
},
"payment": {
"tradeNo": "N. Transazione",
@ -1725,7 +1928,21 @@
"customPaymentEndpointDes": "URL da richiedere durante la creazione di un ordine di pagamento.",
"appFeedback": "URL Feedback",
"appForum": "URL forum utenti",
"appLinkDes": "Verrà visualizzato nel client mobile, lascia vuoto per nascondere la voce menu. Questa impostazione avrà effetto solo se la licenza VOL è valida."
"appLinkDes": "Verrà visualizzato nel client mobile, lascia vuoto per nascondere la voce menu. Questa impostazione avrà effetto solo se la licenza VOL è valida.",
"addTrafficPack": "Aggiungi pacchetto traffico",
"editTrafficPack": "Modifica pacchetto traffico",
"trafficSize": "Quantità di traffico (byte)",
"trafficSizeDes": "Byte di traffico a link diretto concessi all'acquisto; i pacchetti sono permanenti.",
"subAddressChars": "Caratteri sotto-indirizzo",
"subAddressCharsDes": "Caratteri trattati come separatori di sotto-indirizzo nella parte locale dell'email (es. <code>+-.</code> per alias stile Gmail/iCloud). Vuoto predefinito a <code>+</code>.",
"manualAdjust": "Rettifica manuale crediti",
"adjustEmail": "Email utente",
"adjustDelta": "Cambio punti",
"adjustDeltaDes": "Positivo aggiunge crediti, negativo li deduce",
"adjustNote": "Nota",
"adjustSubmit": "Applica",
"adjustSuccess": "Crediti rettificati",
"adjustFailed": "Rettifica crediti non riuscita"
},
"pro": {
"title": "Funzioni esclusive della versione Pro",
@ -1755,6 +1972,27 @@
"reporterID": "ID utente segnalatore",
"reportedUserID": "ID utente segnalato",
"shareID": "ID Condiviso",
"reason": "Motivo"
"reason": "Motivo",
"target": "Obiettivo",
"statusLabel": "Stato",
"reportedAt": "Segnalato il",
"actions": "Azioni",
"resolve": "Risolvi",
"dismiss": "Ignora",
"adminNote": "Nota amministratore",
"blockShare": "Blocca il link condiviso",
"noReports": "Nessuna segnalazione abusi",
"reviewSuccess": "Segnalazione aggiornata.",
"status": {
"open": "Aperta",
"resolved": "Risolta",
"dismissed": "Ignorata",
"all": "Tutte"
},
"markAs": {
"resolved": "Risolvi segnalazione",
"dismissed": "Ignora segnalazione",
"open": "Riapri segnalazione"
}
}
}

@ -52,7 +52,35 @@
"signingOut": "ログアウト中...",
"loggedOut": "ログアウトしました",
"clickToRefresh": "CAPTCHAを再読み込み",
"switchLanguage": "言語を切り替え"
"switchLanguage": "言語を切り替え",
"invitationCode": "招待コード",
"phoneNumber": "電話番号",
"smsCode": "SMSコード",
"sendSmsCode": "コードを送信",
"resendSmsCode": "再送信 ({{seconds}}秒)",
"smsSignIn": "SMSでログイン",
"resetViaSms": "代わりにSMSでリセット",
"emailChangedTitle": "メールアドレス変更",
"emailChanged": "メールアドレスが正常に変更されました。",
"signInWith": "{{name}}でログイン",
"ssoFailed": "シングルサインオンに失敗しました。再試行するか、別のログイン方法を使用してください。",
"ssoError": {
"generic": "シングルサインオンに失敗しました。再試行してください。",
"sso_not_configured": "シングルサインオンが設定されていません。管理者にお問い合わせください。",
"sso_discovery_failed": "認証プロバイダに接続できませんでした。後で再試行してください。",
"sso_state_failed": "ログインセッションを開始できませんでした。再試行してください。",
"sso_denied": "認証プロバイダによってログインが拒否されました。",
"sso_invalid_response": "認証プロバイダからの応答が無効です。",
"sso_state_expired": "ログインセッションの有効期限が切れました。再試行してください。",
"sso_exchange_failed": "認証プロバイダでのログインを完了できませんでした。",
"sso_token_invalid": "認証応答を検証できませんでした。",
"sso_no_email": "認証プロバイダがメールアドレスを返しませんでした。",
"sso_account_unavailable": "この認証情報に対応するアカウントがありません。登録が制限されている可能性があります。"
},
"browsePublicShares": "公開共有を閲覧",
"inputBackupCode": "リカバリーコードのいずれかを入力",
"useBackupCode": "代わりにリカバリーコードを使用",
"use2FACode": "代わりに認証コードを使用"
},
"oauth": {
"authorize": "アプリケーションを認証",
@ -147,7 +175,11 @@
"toDarkMode": "ダーク",
"toLightMode": "ライト",
"myProfile": "マイページ",
"dashboard": "管理パネル"
"dashboard": "管理パネル",
"shop": "ショップ",
"addAccount": "アカウントを追加",
"signedOut": "ログアウトしました",
"discover": "発見"
},
"fileManager": {
"continueInDesktop": "認証に成功しました。デスクトップクライアントで操作を続けてください。",
@ -453,7 +485,37 @@
"noEncryption": "暗号化されていません",
"ftsStatus": "全文インデックス",
"ftsIndexed": "インデックス済み",
"ftsNotIndexed": "未インデックス"
"ftsNotIndexed": "未インデックス",
"aclDes": "「{{name}}」の個別権限です。一覧のエントリは、該当する訪問者に対して共有リンクの既定の権限を上書きします。",
"aclSubject": "対象",
"aclAnonymous": "匿名の訪問者",
"aclEveryone": "その他全員",
"aclGroup": "グループ",
"aclPerm_read": "読み取り",
"aclPerm_create": "作成",
"aclPerm_update": "更新",
"aclPerm_delete": "削除",
"loop": "ループ",
"modelViewer": "3Dモデルビューア",
"modelLoadFailed": "3Dモデルの読み込みに失敗しました",
"activityDes": "{{name}}に対して記録された操作。",
"resetThumbnail": "壊れたサムネイルをリセット",
"resetThumbnailRequested": "サムネイルのリセットを要求しました。",
"noFileCanResetThumbnail": "サムネイルをリセットできるファイルがありません。",
"selectDownloadRoute": "ダウンロード経路を選択",
"downloadRouteDirect": "直接",
"downloadRouteDirectDescription": "このサイトから直接ダウンロード",
"lineEnding": "改行コード",
"downloadAll": "すべてダウンロード",
"dirPolicyTitle": "アップロードのストレージポリシー",
"dirPolicyDes": "「{{name}}」にアップロードされた新規ファイルは、選択したストレージポリシーを使用します。",
"relocateTitle": "ストレージの再配置",
"relocateDes": "「{{name}}」の物理コンテンツを選択したストレージポリシーに移動します。",
"relocateSubmitted": "再配置タスクを送信しました",
"relocateStart": "再配置",
"policySaved": "ストレージポリシーを更新しました",
"policyInherit": "継承(親またはグループの既定値を使用)",
"policyGroupDefault": "グループの既定値"
},
"modals": {
"includePasswordInShareLink": "共有リンクにパスワードを含める",
@ -607,13 +669,46 @@
"shareView": "共有ビュー設定",
"shareViewDes": "チェックを入れると、他のユーザーがこの共有フォルダにアクセスした際にあなたのビュー設定(レイアウト、ソートなど)を見ることができます。",
"showReadme": "README ファイルを表示",
"showReadmeDes": "チェックを入れると、他のユーザーがこの共有フォルダにアクセスした際にあなたのビュー設定(レイアウト、ソートなど)を見ることができます。",
"showReadmeDes": "チェックを入れると、ディレクトリ内の <0>README.md</0> ファイル(大文字小文字を区別)が訪問者に自動的に表示されます。",
"viewSetting": "表示設定",
"saved": "保存されました",
"notSet": "未設定",
"deleteViewSetting": "表示設定の削除",
"anonymous": "匿名",
"shareTargetsCount": "{{count}} 件の対象"
"shareTargetsCount": "{{count}} 件の対象",
"paidShare": "有料共有",
"paidSharePrice": "{{price}} ポイント",
"paidShareDes": "訪問者はダウンロード前にクレジットポイントでこの共有を購入する必要があります。0で無料共有になります。",
"paidSharePriceLabel": "価格 (ポイント)",
"nameConflict": "名前の競合",
"conflictOverwriteDes": "送信先の既存アイテムを置き換えます。",
"conflictSkipDes": "既存アイテムを保持し、競合するアイテムは移動もコピーもされません。",
"skip": "スキップ",
"remoteDownloadFileName": "ファイル名 (任意)",
"remoteDownloadFileNameDescription": "出力ファイル名を指定",
"remoteDownloadHttpUser": "HTTPユーザー名 (任意)",
"remoteDownloadHttpPassword": "HTTPパスワード (任意)",
"remoteDownloadHeaders": "リクエストヘッダー (任意)",
"remoteDownloadProvider": "ダウンローダー",
"remoteDownloadProviderAuto": "自動 (任意のノード)",
"remoteDownloadHeadersDescription": "1行に1つのヘッダー、例: Cookie: sid=...",
"allowUpload": "アップロードを許可",
"allowUploadDes": "訪問者はこの共有フォルダに新規ファイルのアップロードやフォルダ作成ができます。ストレージはあなたの容量にカウントされます。",
"allowEdit": "編集を許可",
"allowEditDes": "訪問者はこの共有フォルダ内のファイルをアップロード、名前変更、移動、削除できます。アップロード権限を含みます。",
"uploadOnly": "アップロードのみ (ドロップボックス)",
"uploadOnlyDes": "訪問者はファイルをアップロードできますが、この共有フォルダ内の既存コンテンツの閲覧やダウンロードはできません。",
"previewOnly": "プレビューのみ",
"previewOnlyDes": "訪問者はファイルをインラインでプレビューできますが、ダウンロードはできません。",
"shareNote": "メモ",
"shareNoteDes": "この共有を識別するためのプライベートメモ。マイ共有でのみ表示されます。",
"shareTargets": "共有対象",
"shareTargetsCount_other": "{{count}} 件の対象",
"publicListing": "公開ディレクトリに掲載",
"publicListingDes": "この共有を発見ページに表示し、匿名の訪問者を含む誰でも閲覧できます。パスワード保護の共有では使用できません。",
"hideReadme": "readmeファイルを非表示",
"hideReadmeDes": "READMEファイル自体を共有一覧から外します。訪問者にはレンダリングされたreadmeが引き続き表示されます。",
"shareTargetsCount_one": "{{count}} 件の対象"
},
"uploader": {
"fileCopyName": "コピー_",
@ -636,7 +731,7 @@
"preparing": "準備中...",
"processing": "処理中...",
"progressDescription": "{{uploaded}} / {{total}} - {{percentage}}% アップロード済み",
"progressDescriptionFull": "{{speed}}で{{uploaded}} / {{total}} - {{percentage}}% アップロード済み",
"progressDescriptionFull": "{{speed}}で{{uploaded}} / {{total}} - {{percentage}}% アップロード済み{{eta}}",
"progressDescriptionPlaceHolder": "アップロード済み - ",
"uploaded": "アップロード済み",
"rootFolder": "ルートディレクトリ",
@ -649,7 +744,7 @@
"selectAndResume": "同じファイルを選択してアップロードを再開",
"fileName": "ファイル名:",
"fileSize": "ファイルサイズ:",
"sessionExpiredIn": "期限切れ",
"sessionExpiredIn": "<0></0> に期限切れ",
"chunkDescription": "({{total}} セグメント, 各セグメント {{size}})",
"noChunks": "(セグメントなし)",
"destination": "保存場所:",
@ -695,15 +790,16 @@
"upyunUploadFailed": "アップロード失敗: {{msg}}",
"parseResponseError": "レスポンスを解析できません: {{msg}} ({{content}})",
"concurrentTaskNumber": "同時アップロードタスク数",
"dropFileHere": "マウスボタンを離すとアップロード開始"
"dropFileHere": "マウスボタンを離すとアップロード開始",
"etaSuffix": "、残り {{eta}}"
},
"share": {
"statistics": "統計",
"expireAt": "期限切れ",
"expireAt": "<0></0> に期限切れ",
"expireAfterDownloads": "ダウンロード{{downloads}}回後期限切れ",
"somebodyShare": "{{name}} さんの共有",
"expiredLink": "期限切れの共有",
"sharedBy": "{{nick}} さんが{{num}}個のファイルを共有しました",
"sharedBy": "<0>{{nick}}</0> さんが $t(share.files, {\"count\": {{num}} }) を共有しました",
"files": "ファイル1個",
"files_other": "{{count}}個のファイル",
"statisticsViews": "閲覧{{views}}回",
@ -739,7 +835,19 @@
"preview": "プレビュー",
"incorrectPassword": "パスワードが正しくありません",
"shareNotExist": "共有が存在しないか、期限切れです",
"copyLinkToClipboard": "クリップボードにリンクをコピー"
"copyLinkToClipboard": "クリップボードにリンクをコピー",
"paidShareDes": "これは有料共有です。購入すると{{price}}ポイント消費され、ダウンロードが解放されます。",
"purchaseForPoints": "{{price}} ポイントで購入",
"signInToPurchase": "購入するにはログイン",
"yourBalance": "残高: {{credits}} ポイント",
"saveToMyFiles": "マイファイルに保存",
"savedToMyFiles": "共有をファイルに保存しました。",
"saveShareLink": "共有リンクを保存",
"saveShareLinkHint": "https://example.com/s/abc123 のような共有リンクを貼り付け",
"shareLink": "共有リンク",
"savedAs": "保存名 (任意)",
"sharePasswordRequired": "この共有にはパスワードが必要です。",
"invalidShareLink": "この共有リンクを解析できません。"
},
"download": {
"noFilesFound": "ファイルが見つかりません",
@ -985,7 +1093,81 @@
"relocateFileTo": "<0></0>{{more}} のストレージポリシーを {{policy}} に変更します",
"extractFileTo": "<0></0>{{more}} を <1></1> に解凍します",
"createArchiveTo": "<0></0>{{more}} を <1></1> に圧縮します",
"importFileTo": "{{policy}} のファイルを <1></1> に導入します"
"importFileTo": "{{policy}} のファイルを <0></0> に導入します",
"preferredViewers": "既定のアプリ",
"preferredViewersDes": "「このアプリで常に開く」で選択されたアプリです。すべてのデバイスで適用されます。再度確認するには削除してください。",
"preferredViewersEmpty": "既定のアプリはまだありません。ファイルの「このアプリで開く」で「常に」を選んでください。",
"trashRetention": "ゴミ箱の保持日数",
"trashRetentionDes": "自動削除までファイルがゴミ箱に留まる日数。0はグループの既定値を継承します。変更後にゴミ箱へ移動したファイルに適用されます。",
"linkedAccounts": "連携アカウント",
"providerQQ": "QQ",
"unlinkAccount": "連携解除",
"unlinkAccountConfirm": "このアカウントの連携を解除しますか?以降このアカウントではログインできなくなります。",
"linkQQAccount": "QQアカウントを連携",
"providerWeChat": "WeChat",
"linkWeChatAccount": "WeChatアカウントを連携",
"phoneBinding": "電話番号の紐付け",
"bindPhone": "電話番号を紐付け",
"unbindPhone": "解除",
"unbindPhoneConfirm": "この電話番号の紐付けを解除しますか?以降この番号ではログインやパスワードリセットができなくなります。",
"changeEmail": "変更",
"changeEmailDes": "確認リンクを新しいアドレスに送信します。確認されるまで現在のメール ({{email}}) が有効です。",
"newEmail": "新しいメールアドレス",
"changeEmailPasswordDes": "確認のため現在のパスワードを入力してください。",
"emailChangeSent": "確認メールを新しいアドレスに送信しました。",
"copySecret": "スキャンできない?クリックしてセットアップキーをコピー",
"secretCopied": "セットアップキーをコピーしました",
"shareSiteDefault": "サイトの既定値",
"shareSiteDefaultDes": "管理者が設定したサイト全体の既定値に従います。",
"shareDefaultPrivate": "共有の既定プライバシー",
"shareDefaultPrivateDes": "新規共有は既定でプライベート (パスワード保護) になります。",
"sharePrivateOn": "プライベート",
"sharePrivateOff": "公開",
"preferredPolicy": "優先ストレージポリシー",
"preferredPolicyDes": "自分のファイルへの新規アップロードは、フォルダが上書きしない限りこのストレージポリシーを使用します。",
"policySaved": "ストレージポリシーを更新しました",
"policyInherit": "継承 (グループの既定値)",
"policyGroupDefault": "グループの既定値",
"creditBalance": "クレジット残高",
"storageBonus": "ストレージボーナス",
"dlTraffic": "直接リンクトラフィック",
"dlTrafficUnlimited": "無制限",
"activeGrants": "有効な特典",
"grantStorage": "ストレージ",
"grantGroup": "グループ",
"redeemGiftCode": "ギフトコードを引き換え",
"redeemGiftCodeDes": "ギフトコードを入力してクレジットや特典を受け取る",
"giftCodePlaceholder": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"redeem": "引き換え",
"giftCodeRedeemed": "ギフトコードを引き換えました",
"creditLedger": "クレジット台帳",
"txnChange": "変動",
"txnTime": "日時",
"txnReason": "理由",
"noTxns": "取引履歴はまだありません",
"txnType": {
"purchase": "ショップ購入",
"gift": "ギフトコード",
"share_income": "共有リンクの購入",
"adjust": "手動調整"
},
"tags": "タグ",
"tagsDes": "すべてのファイルのタグを名前変更、色変更、削除できます。既存タグへのリネームは統合されます。",
"tagName": "タグ",
"tagFiles": "ファイル",
"tagActions": "操作",
"noTags": "タグはまだありません",
"editTag": "タグを編集",
"deleteTag": "タグを削除",
"deleteTagDes": "タグ「{{name}}」を{{count}}個のファイルから削除しますか?ファイル自体は保持されます。",
"tagUpdated": "タグを更新しました",
"tagDeleted": "タグを削除しました",
"tagNameInvalid": "タグ名は空にできず、「:」を含められません",
"backup2FACodes": "リカバリーコード",
"backupCodesDes": "リカバリーコードは認証アプリが使えない時にログインできます。新規生成すると以前のコードはすべて無効になります。",
"backupCodesWarning": "今すぐこれらのコードを保存してください。各1回のみ使用可能で、再表示されません。",
"copyCodes": "コードをコピー",
"finance": "ファイナンス"
},
"vas": {
"points": "ポイント",
@ -1004,5 +1186,43 @@
],
"reportDescription": "詳細説明",
"reportAbuseSuccess": "報告を受け付けました"
},
"vault": {
"title": "プライベートスペース",
"description": "プライベートスペース内のファイルは、別のパスワードでロックを解除するまで閲覧や検索から隠されます。Vaultファイルは共有やWebDAV経由でのアクセスはできません。",
"enable": "プライベートスペースを有効化",
"enabled": "プライベートスペースが有効です",
"disable": "無効化",
"disabled": "プライベートスペースが無効です",
"disableDescription": "無効化するとロックが解除されます。フォルダとその内容は通常のファイルとして残ります。",
"confirmDisable": "無効化を確認",
"setPassword": "Vaultパスワードを設定",
"confirmPassword": "Vaultパスワード",
"enterPassword": "Vaultパスワード",
"lockNow": "今すぐロック",
"locked": "プライベートスペースはロックされています",
"unlocked": "ロック解除済み",
"lockedState": "ロック中",
"lockedTitle": "このフォルダはプライベートスペース内にあります。続行するにはロックを解除してください。",
"badge": "プライベートスペース"
},
"shop": {
"memberships": "メンバーシップ",
"storagePacks": "ストレージパック",
"trafficPacks": "トラフィックパック",
"redeem": "引き換え",
"balance": "残高: {{credits}} ポイント",
"purchased": "{{name}} を購入しました",
"permanent": "永久",
"noProducts": "商品はありません",
"buyWithPoints": "{{points}} ポイントで購入",
"pointsUnavailable": "ポイントで購入できません"
},
"announcement": {
"title": "お知らせ",
"dontShowAgain": "次回表示しない"
},
"discover": {
"searchPlaceholder": "公開共有を検索"
}
}

@ -34,7 +34,9 @@
"human": "私は人間です",
"verifying": "検証中…",
"verified": "検証が完了しました"
}
},
"verify": "クリックして認証",
"verified": "認証済み"
},
"errors": {
"401": "ログインしてください",
@ -54,7 +56,7 @@
"40014": "外部リンクの一括取得制限を超えています",
"40015": "オフラインダウンロードタスク数の最大制限を超えています",
"40016": "パスが存在しません",
"40017": "このアカウントは凍結されています",
"40017": "このアカウントは凍結されています。{{message}}",
"40018": "このアカウントはアクティブ化されていません",
"40019": "この機能は有効になっていません",
"40020": "認証情報が無効または期限切れです",
@ -103,5 +105,6 @@
"50010": "対象ノードが利用できません",
"50011": "ファイルメタデータの取得に失敗しました"
},
"save": "保存"
"save": "保存",
"delete": "削除"
}

@ -349,7 +349,7 @@
"logtoKeyDes": "アプリケーション管理ページで作成したアプリケーションキーです。",
"logtoAppIDDes": "あなたが作成したアプリケーションID。",
"logto": "Logto",
"logtoDes": "Logtoを使用することで、Apple、GitHub、Microsoft Entra ID、Google、SMSなど、より多くのサードパーティプラットフォームとの連携ログインを実現できます。Logto管理パネルで「従来のウェブアプリ」を作成し、<1>{{url}}</1>を「リダイレクトURI」に追加してください。",
"logtoDes": "<0>Logto</0>を使用することで、Apple、GitHub、Microsoft Entra ID、Google、SMSなど、より多くのサードパーティプラットフォームとの連携ログインを実現できます。Logto管理パネルで「従来のウェブアプリ」を作成し、<1>{{url}}</1>を「リダイレクトURI」に追加してください。",
"thirdPartySignIn": "サードパーティログイン",
"logo": "ロゴ",
"logoDes": "ロゴ画像のURL。左上に表示されます。ダークモードとライトモードそれぞれに対応したロゴをご用意ください。",
@ -752,7 +752,8 @@
"report_abuse": "不正利用報告",
"oauth_grant_create": "OAuthアプリ認可",
"oauth_token_exchange": "OAuthトークン交換",
"oauth_grant_revoke": "OAuthアプリ認可取り消し"
"oauth_grant_revoke": "OAuthアプリ認可取り消し",
"content_audit_blocked": "コンテンツ審査による共有ブロック"
},
"server": "サーバー設定",
"tempPath": "一時パス",
@ -820,7 +821,91 @@
"ftsTikaExts": "サポートされている拡張子",
"ftsTikaExtsDes": "カンマ区切りのファイル拡張子リスト。Tikaはこれらの種類のファイルを処理します。",
"ftsTikaMaxFileSize": "最大ファイルサイズ",
"ftsTikaMaxFileSizeDes": "コンテンツ抽出のためにTikaに送信する最大ファイルサイズ。"
"ftsTikaMaxFileSizeDes": "コンテンツ抽出のためにTikaに送信する最大ファイルサイズ。",
"navItemVisibility": "表示設定",
"navScopePublic": "全員",
"navScopeUser": "ログイン済みユーザー",
"uploadDedupScope": "重複検出の範囲",
"uploadDedupScopeDes": "クライアントがコンテンツハッシュを送信すると、サーバーは同一の完成ファイルを探し、バイト転送せずにアップロードを即座に実体化します。",
"uploadDedupScope_off": "オフ",
"uploadDedupScope_offDes": "重複検出なし。すべてのアップロードがバイト転送されます。",
"uploadDedupScope_owner": "同一ユーザー",
"uploadDedupScope_ownerDes": "アップロードするユーザーが既に所有するファイルのみ重複排除します。",
"uploadDedupScope_global": "全体",
"uploadDedupScope_globalDes": "このサイトのすべての完成ファイルに対して重複排除します。",
"translations": "翻訳",
"translationsDes": "言語ごとの上書き。空白にすると既定値にフォールバックします。ユーザーには言語設定やブラウザの言語に合う版が表示されます。",
"invitationCodeRequired": "招待コードを必須にする",
"invitationCodeRequiredDes": "新規登録には有効な招待コードが必要です。コードはユーザー - 招待コードで管理します。",
"smtpAuthMethod": "SMTP認証方式",
"smtpAuthMethodDes": "自動検出は安全な方式のみを選択し、暗号化されていない接続ではクレデンシャルを平文で送信しません。サーバーが暗号化なしでPLAIN/LOGINのみを提供する場合は、対応する「-noenc」方式を選んでください。クレデンシャルは暗号化なしで送信されます。",
"smtpAuth_autodiscover": "自動検出",
"smtpAuth_plain": "PLAIN",
"smtpAuth_plain_noenc": "PLAIN (暗号化なしを許可)",
"smtpAuth_login": "LOGIN",
"smtpAuth_login_noenc": "LOGIN (暗号化なしを許可)",
"smtpAuth_cram_md5": "CRAM-MD5",
"smtpAuth_scram_sha_1": "SCRAM-SHA-1",
"smtpAuth_scram_sha_256": "SCRAM-SHA-256",
"smtpAuth_xoauth2": "XOAUTH2",
"smtpAuth_noauth": "認証なし",
"tcaptcha": "Tencent Captcha",
"tcaptchaAppId": "CaptchaAppId",
"tcaptchaAppSecretKey": "AppSecretKey",
"tcaptchaSecretId": "SecretId",
"tcaptchaSecretKey": "SecretKey",
"tcaptchaDes": "<0>Tencent Captchaコンソール</0>からCaptchaAppIdとAppSecretKeyを取得してください。",
"tcaptchaSecretDes": "DescribeCaptchaResultを呼び出すために使用するTencent Cloud APIクレデンシャルのSecretIdとSecretKey。",
"trafficProductSettings": "トラフィック商品",
"trafficProductsDes": "ユーザーが直接リンクトラフィックの枠を補充するために購入できる商品を設定します。",
"auditRetentionDays": "保持日数",
"auditRetentionDaysDes": "この日数を超えたイベントを削除します。0で永続保持します。",
"ssoIssuer": "Issuer URL",
"ssoIssuerDes": "OIDC issuerのベースURL、例: <0>https://keycloak.example.com/realms/master</0>。プロバイダメタデータはこのURL配下の<1>.well-known/openid-configuration</1>から取得されます。",
"ssoRegisterEnabled": "自動登録を許可",
"ssoRegisterEnabledDes": "SSOで初回ログイン時にローカルアカウントを自動作成します。下のサインアップメールフィルタも適用されます。",
"downloadCdnRoutes": "ダウンロードCDN経路",
"downloadCdnRoutesDes": "ユーザーに提供する代替ダウンロードエンドポイント。1行1件、name=url形式 (例: Line 1=https://cdn1.example.com)。経路は署名付きURLが有効なままリクエストパスとクエリをこのサイトにプロキシする必要があります。ブラウザ内ダウンロードにはCORSヘッダーが必要です。",
"downloadCdnShuffle": "ダウンロード経路をシャッフル",
"downloadCdnShuffleDes": "生成する各ダウンロードリンクをサイトURLと設定済みの全CDN経路にランダム分散し、ダウンロードマネージャへのバッチエクスポートが異なるエンドポイントに向かうようにします。有効時は手動経路選択は非表示になります。",
"ssoAutoRedirect": "SSOへ自動リダイレクト",
"ssoAutoRedirectDes": "ログインフォームをスキップし、訪問者を直接認証プロバイダへ送ります。パスワードフォームを開くにはログインURLに<0>?nosso=1</0>を付加してください (例: 管理者復旧用)。",
"ssoCallbackUrl": "コールバックURL",
"ssoCallbackUrlDes": "認証プロバイダでこのURLをリダイレクト/コールバックURLとして登録してください: <0>{{url}}</0>",
"qqConnect": "QQ Connect",
"qqAppID": "App ID",
"qqAppIDDes": "<0>QQ Connectコンソール</0> (connect.qq.com) で作成したウェブアプリケーションのApp ID。",
"qqAppSecret": "App Key",
"qqCallbackUrl": "コールバックURL",
"qqCallbackUrlDes": "QQ ConnectコンソールでこのURLをウェブサイトのコールバックドメイン/URLとして登録してください: <0>{{url}}</0>",
"qqRegisterEnabled": "自動登録を許可",
"qqRegisterEnabledDes": "QQで初回ログイン時にローカルアカウントを自動作成します。QQはメールアドレスを提供しないため、プロビジョニングされたアカウントは合成の @connect.qq.local アドレスを使用します。",
"wechatConnect": "WeChatスキャンログイン",
"wechatAppID": "App ID",
"wechatAppIDDes": "<0>WeChat Open Platform</0> (open.weixin.qq.com) で作成したウェブアプリケーションのAppID。",
"wechatAppSecret": "App Secret",
"wechatCallbackUrl": "コールバックURL",
"wechatCallbackUrlDes": "WeChat Open PlatformコンソールでこのURLのドメインを認証コールバックドメインとして登録してください: <0>{{url}}</0>",
"wechatRegisterEnabled": "自動登録を許可",
"wechatRegisterEnabledDes": "WeChatで初回ログイン時にローカルアカウントを自動作成します。WeChatはメールアドレスを提供しないため、プロビジョニングされたアカウントは合成の @connect.wechat.local アドレスを使用します。",
"smsSignIn": "SMSログイン",
"smsEndpoint": "ゲートウェイエンドポイント",
"smsEndpointDes": "SMSプロバイダのHTTPエンドポイント。プレースホルダ<0>{phone}</0>と<0>{code}</0>は各リクエスト前に置換されます。",
"smsMethodDes": "ゲートウェイリクエストに使用するHTTPメソッド。GETの場合、プレースホルダはエンドポイントURLにのみレンダリングされます。",
"smsHeaders": "リクエストヘッダー",
"smsHeadersDes": "1行に1つの `Key: Value` ペア、例: Authorization: Bearer <token>。",
"smsBodyTemplate": "リクエストボディテンプレート",
"smsBodyTemplateDes": "POSTリクエストで送信するボディ。プレースホルダ<0>{phone}</0>と<0>{code}</0>は各リクエスト前に置換されます。",
"smsRegisterEnabled": "自動登録を許可",
"smsRegisterEnabledDes": "SMSコードで初回ログイン時にローカルアカウントを自動作成します。プロビジョニングされたアカウントは合成の @sms.local アドレスを使用します。",
"themeVisible": "表示",
"shareDefaultPrivate": "既定でプライベート共有",
"shareDefaultPrivateDes": "新規共有は既定でプライベート (パスワード保護) になります。ユーザーは個人設定で上書きできます。",
"defaultShareLinksInProfile": "プロフィールの既定共有表示",
"defaultShareLinksInProfileDes": "ユーザー自身が選択していない場合、ユーザーの公開プロフィールページに表示される共有を制御します。",
"profileSharePublicOnly": "パスワードなしの共有のみ",
"profileShareAll": "すべての共有",
"profileShareHide": "すべての共有を非表示"
},
"giftCodes": {
"giftCodesSettings": "ギフトコード",
@ -851,7 +936,11 @@
"copyAndClose": "コピーして閉じる",
"duratonTimes": "期間倍数",
"duratonTimesDes": "各ギフトコードには、対応する商品が何個含まれていますか。",
"unknownProduct": "不明な商品"
"unknownProduct": "不明な商品",
"giftCodeTypeTraffic": "直接リンクトラフィック",
"giftCodeDeleteFailed": "ギフトコードの削除に失敗しました",
"giftCodeCreateFailed": "ギフトコードの生成に失敗しました",
"giftCodeAmountHelp": "コードごとの付与量"
},
"policy": {
"acceleratedDomainUpload": "転送加速ドメインを使用してアップロード",
@ -870,7 +959,7 @@
"authorizeNow": "今すぐ承認",
"authorizeAgain": "再承認",
"notGranted": "承認済みアカウントがありません。ストレージポリシーは使用できません。",
"granted": "承認済みアカウントです。資格情報は<0></0>に更新されました。",
"granted": "承認済みアカウントです。資格情報は<0>{{time}}</0>に更新されました。",
"grantedNotRefresh": "承認済みアカウントです。資格情報は前回の起動以降更新されていません。",
"batchDeleteSize": "一括削除の上限数",
"batchDeleteSizeDes": "一度のAPIリクエストで削除できる最大数を制限します。この設定は、ユーザーによるファイルの一括削除には影響しません。何も入力しない場合は、デフォルト値<0>1000</0>(公式S3 APIの最大許容値)が使用されます。",
@ -1145,7 +1234,38 @@
"fileEncryption": "ファイル暗号化",
"enableFileEncryption": "ファイル暗号化を有効にする",
"enableFileEncryptionDes": "有効にすると、ファイルのBlobが暗号化されて保存されます。この設定の変更は新しく追加されたファイルにのみ有効です。",
"encryptedFile": "暗号化されたファイル"
"encryptedFile": "暗号化されたファイル",
"thumbForceProxy": "サムネイル生成を強制プロキシ",
"thumbForceProxyDes": "ストレージバックエンドがネイティブサムネイルAPIを提供する場合でも、常にローカルプロキシパイプラインでサムネイルを生成します。プロキシサムネイル生成を意味します。",
"thumbStoragePolicy": "サムネイルのストレージポリシー",
"thumbStoragePolicySource": "ファイルと同じ",
"thumbStoragePolicyDes": "生成されたサムネイルはファイル自身のストレージポリシーではなく、選択したポリシーに保存されます。",
"blobAudit": "ブロブを監査: {{name}}",
"blobAuditDes": "ストレージバックエンドをスキャンし、どのファイルレコードからも参照されていない物理オブジェクトを一覧表示します。失敗した転送で残ったゴーストブロブの発見に有用です。",
"blobAuditDelete": "孤立ブロブを削除",
"blobAuditDeleteWarning": "孤立オブジェクトはストレージバックエンドから完全に削除されます。アップロード中のファイルも孤立と表示される場合があります。アップロード中でないことを確認した場合のみ有効化してください。",
"blobAuditStart": "監査を開始",
"blobAuditSubmitted": "ブロブ監査タスクをキューに追加しました。",
"maxTotalSize": "最大総容量",
"maxTotalSizeDes": "このポリシー配下で保存できる最大総バイト数。超過するアップロードやコピーは拒否されます。0で無制限です。",
"overflowPolicy": "オーバーフローポリシー",
"overflowPolicyDes": "このポリシーの容量が一杯になった場合、新規アップロードは選択したポリシーにあふれます。ポリシーのチェーンもサポートされます。",
"auditEndpoint": "コンテンツ審査エンドポイント",
"auditEndpointDes": "コンテンツ審査 (例: 画像モデレーション) 用のHTTPエンドポイント。設定すると、このポリシーのファイルを共有する際に内容をエンドポイントへPOSTし、{\"flagged\":true} の応答で共有をブロックします。空で無効化します。",
"auditMaxSize": "審査サイズ上限",
"auditMaxSizeDes": "審査エンドポイントに送信するエンティティの最大サイズ。これより大きいファイルはスキップされます。0で無制限です。",
"overflowNone": "なし",
"allowNativeName": "ネイティブファイル名文字を許可",
"allowNativeNameDes": "Windowsファイルシステムでのみ不正な文字 (: * ? \" < > |) をファイル名に許可します。Windowsでマウントするクライアントが壊れる可能性があります。パス区切り文字は引き続き禁止です。",
"status": "状態",
"statusDes": "停止中のポリシーは既存ファイルの提供は継続しますが、新規アップロードを拒否します。",
"loadBalance": "ロードバランス",
"lbChildren": "子ストレージポリシー",
"lbChildPolicy": "ストレージポリシー",
"lbWeight": "重み",
"lbAddChild": "子ポリシーを追加",
"lbChildrenDes": "新規アップロードは重みに比例して子ポリシーに分散されます。",
"lbWizardDes": "ロードバランスポリシーは重み付きの子ポリシーにアップロードを分散します。子は作成後に設定します。"
},
"node": {
"slave": "スレーブ",
@ -1215,7 +1335,11 @@
"hostHeaderHint": "署名エラーがある場合は、従属ノードの前置リバースプロキシが<0>Host</0>ヘッダーを送信しているか確認してください。",
"features": "有効な機能",
"remoteDownload": "オフラインダウンロード",
"refresh": "更新"
"refresh": "更新",
"ytdlpDes": "Cloudreveと同じユーザー/アクセス権限でターゲットノードサーバー上でyt-dlpを実行します。yt-dlpはタスクごとにCLIプロセスとして起動され、デーモンは不要です。",
"ytdlpOptionDes": "ダウンロードタスク作成時の追加のyt-dlp CLIフラグ。JSONのキー値形式で記述し、キーはそのまま --flag 引数になります。<0>yt-dlpオプションリファレンス</0>を参照してください。",
"ytdlpBinary": "yt-dlpバイナリ",
"ytdlpBinaryDes": "ノードサーバー上のyt-dlp実行ファイルのパスまたは名前。既定はPATHから解決したyt-dlpです。"
},
"group": {
"countUser": "統計",
@ -1302,7 +1426,37 @@
"notCopy": "複製しない",
"confirmDelete": "ユーザーグループ「{{group}}」を削除しますか?",
"new": "ユーザーグループの新規作成",
"editGroup": "「{{group}}」の編集"
"editGroup": "「{{group}}」の編集",
"loginIPWhitelist": "ログインIPホワイトリスト",
"loginIPWhitelistDes": "サインインをこれらのIPまたはCIDR範囲に制限します。1行1件。空ですべて許可します。",
"delegatedAdmin": "委任管理者セクション",
"delegatedAdminDes": "選択したダッシュボードセクションのみアクセスを許可します。このグループのユーザーは管理パネルを開けますが、有効化されたセクションのみ動作し、他のすべての管理API呼び出しは拒否されます。",
"sectionUsers": "ユーザー",
"sectionGroups": "グループ",
"sectionFiles": "ファイルとブロブ",
"sectionShares": "共有",
"sectionStorage": "ストレージポリシーとノード",
"sectionQueue": "タスクキュー",
"sectionSettings": "サイト設定とOAuth",
"sectionPayment": "支払い",
"sectionEvents": "イベント",
"sectionReports": "滥用通報",
"shareSell": "共有リンクを販売",
"shareSellDes": "有効にすると、ユーザーは作成した共有リンクにポイント価格を設定できます。",
"wabDAVReadOnly": "WebDAV読み取り専用",
"wabDAVReadOnlyDes": "有効にすると、このグループのユーザーのWebDAVマウントは読み取り専用になります。アップロード、削除、移動などの書き込みメソッドは拒否されます。",
"aria2TaskLimit": "最大同時リモートダウンロードタスク数",
"aria2TaskLimitDes": "ユーザーごとのアクティブなリモートダウンロードタスク (キュー、実行中、一時停止) の最大数。0で無制限。",
"aria2MaxFileSize": "ダウンロードタスクごとの最大サイズ (バイト)",
"aria2MaxFileSizeDes": "解決された合計サイズがこれを超えるリモートダウンロードタスクは中断されます。0で無制限。",
"setExplicitUser": "ファイル権限を設定",
"setExplicitUserDes": "メンバーは自分が所有するファイルやフォルダに、特定のユーザー、グループ、匿名の訪問者、その他全員に対して読み取り/作成/更新/削除の細粒度権限を設定できます。",
"switchablePolicies": "切り替え可能なストレージポリシー",
"switchablePoliciesDes": "このグループのメンバーが自由に切り替えられるポリシー。上の既定ポリシーは常に利用可能です。",
"weightedPolicies": "重み付きポリシー選択",
"weightedPoliciesDes": "有効にすると、明示的なポリシー指定のないアップロードは、ファイルが収まる最も空き容量のある許可ポリシーにルーティングされます。総容量上限のあるポリシーのみ重み付けされます。",
"sharePublicList": "公開共有ディレクトリ",
"sharePublicListDes": "有効にすると、ユーザーは自身の共有リンクを公開ディレクトリ (発見ページ) に掲載できます。パスワード保護の共有は掲載できません。"
},
"user": {
"createdAt": "作成日",
@ -1351,7 +1505,34 @@
"deleteXUsers": "{{num}}件のユーザーを削除",
"confirmBatchDelete": "{{num}}件のユーザーを削除しますか?",
"calibrateStorage": "ストレージ容量の校正",
"calibrateStorageSuccess": "ストレージ容量の校正が完了しました"
"calibrateStorageSuccess": "ストレージ容量の校正が完了しました",
"relocateFiles": "ファイルを再配置",
"banExpires": "BAN期限",
"banExpiresDes": "任意。この時刻になるとBANは自動的に解除されます。空で永続。",
"banReason": "BAN理由",
"banReasonDes": "任意。BANされたログインが拒否された際にユーザーに表示されます。",
"lastLogin": "最終ログイン",
"uids": "ユーザーID",
"uidsPlaceholder": "カンマ区切りのID、例: 2,3,5",
"editXUsers": "{{num}}名のユーザーを編集",
"batchEditXUsers": "{{num}}名のユーザーを一括編集",
"noChange": "変更しない",
"invitationCodes": "招待コード",
"invitationCodesDes": "公開サインアップに必須とできるコードです。ここで作成、共有、取り消しできます。",
"invitationCode": "コード",
"invitationCodeAuto": "自動生成",
"invitationCodeGroup": "グループ",
"invitationCodeMaxUses": "最大使用回数",
"invitationCodeExpires": "有効期限",
"invitationCodeUses": "使用回数",
"invitationCodeCreated": "招待コードを作成しました。",
"invitationCodeCopied": "コードをクリップボードにコピーしました。",
"invitationCodeCopy": "コピー",
"invitationCodeDefaultGroup": "既定",
"noInvitationCodes": "招待コードはまだありません。",
"loadMore": "もっと読み込む",
"additionalGroups": "追加グループ",
"additionalGroupsDes": "プライマリグループに加える追加グループメンバーシップ。権限、クォータ、ストレージポリシーは全グループの和集合です。"
},
"file": {
"deleteXFiles": "{{num}}件のファイルを削除",
@ -1423,7 +1604,15 @@
"shareLinkExisted": "共有リンクが存在",
"directLinkExisted": "直接リンクが存在",
"isUploading": "アップロード中",
"selectUser": "ユーザーを選択"
"selectUser": "ユーザーを選択",
"referenceCount": "参照数",
"awaitingRecycle": "リサイクル待ち",
"refCountGt": "より大きい",
"refCountLt": "未満",
"refCountEq": "等しい",
"deletedState": "削除状態",
"liveOnly": "現存ファイルのみ",
"trashOnly": "ゴミ箱のみ"
},
"entity": {
"refenenceCount": "参照回数",
@ -1434,7 +1623,15 @@
"confirmBatchDelete": "{{num}}個のBlobを削除しますか?",
"deleteXEntities": "{{num}}個のBlobを削除",
"forceDelete": "強制削除",
"forceDeleteDes": "物理ファイルの削除成功可否に関わらず、Blobレコードは削除されます。"
"forceDeleteDes": "物理ファイルの削除成功可否に関わらず、Blobレコードは削除されます。",
"relocateXEntities": "{{num}}個のブロブを再配置",
"relocateTitle": "ブロブを再配置",
"relocateEntitiesDes": "{{num}}個の選択したブロブのデータを別のストレージポリシーに移動します。タスクはバックグラウンドで実行され、再開できます。",
"relocatePolicyDes": "「{{name}}」に保存されているすべてのブロブを別のストレージポリシーに移動します。タスクはバックグラウンドで実行され、再開できます。",
"relocateUserDes": "「{{name}}」が所有するすべてのブロブを別のストレージポリシーに移動します。タスクはバックグラウンドで実行され、再開できます。",
"relocatePolicy": "{{name}}上のすべてのブロブを別のポリシーに移行",
"relocateStart": "再配置を開始",
"relocateSubmitted": "再配置タスクを送信しました"
},
"event": {
"cleanup": "イベント清理",
@ -1470,7 +1667,8 @@
"rawContent": "オリジナルレコード",
"confirmDelete": "このイベントを削除しますか?",
"deleteXEvents": "{{num}}件のイベントを削除",
"confirmBatchDelete": "{{num}}件のイベントを削除しますか?"
"confirmBatchDelete": "{{num}}件のイベントを削除しますか?",
"noEvents": "イベントはまだ記録されていません"
},
"share": {
"confirmBatchDelete": "{{num}}件の共有を削除しますか?",
@ -1548,7 +1746,8 @@
"finished": "完了",
"canceled": "キャンセル/停止",
"unknown": "不明",
"errorMsg": "エラーメッセージ"
"errorMsg": "エラーメッセージ",
"blobAudit": "ストレージポリシー #{{policyID}} のブロブ監査 ({{count}}個の孤立)"
},
"payment": {
"tradeNo": "取引番号",
@ -1602,7 +1801,7 @@
"filterEmailProviderRule": "メールドメインフィルタリングルール",
"filterEmailProviderRuleDes": "複数のドメインを指定する場合は、半角カンマで区切ってください。",
"qqConnect": "QQ連携",
"qqConnectHint": "<0>QQ互換オープン平台</0>でアプリを作成する際、コールバックURLに{{url}}<を入力してください。",
"qqConnectHint": "<0>QQ互換オープン平台</0>でアプリを作成する際、コールバックURLに{{url}}を入力してください。",
"enableQQConnect": "QQ連携の有効化",
"enableQQConnectDes": "QQアカウントの紐付け、QQログインを許可しますか?",
"loginWithoutBinding": "未連携の場合、直接ログインできます。",
@ -1727,7 +1926,21 @@
"customPaymentEndpointDes": "決済注文作成時リクエスト用API URL",
"appFeedback": "フィードバックページURL",
"appForum": "ユーザーフォーラムURL",
"appLinkDes": "アプリ設定画面に表示するURL(空欄の場合は非表示。VOL認証有効時のみ有効)"
"appLinkDes": "アプリ設定画面に表示するURL(空欄の場合は非表示。VOL認証有効時のみ有効)",
"addTrafficPack": "トラフィックパックを追加",
"editTrafficPack": "トラフィックパックを編集",
"trafficSize": "トラフィック量 (バイト)",
"trafficSizeDes": "購入時に付与される直接リンクトラフィックのバイト数。パックは永久です。",
"subAddressChars": "サブアドレス文字",
"subAddressCharsDes": "メールのローカル部でサブアドレス区切りとして扱う文字 (例: Gmail/iCloud風エイリアスには <code>+-.</code>)。空だと既定の <code>+</code> になります。",
"manualAdjust": "手動クレジット調整",
"adjustEmail": "ユーザーのメール",
"adjustDelta": "ポイント変動",
"adjustDeltaDes": "正の値でクレジット追加、負の値で減算",
"adjustNote": "メモ",
"adjustSubmit": "適用",
"adjustSuccess": "クレジットを調整しました",
"adjustFailed": "クレジットの調整に失敗しました"
},
"pro": {
"title": "Pro版限定機能",
@ -1757,6 +1970,27 @@
"reporterID": "舉報者ユーザー ID",
"reportedUserID": "舉報対象ユーザー ID",
"shareID": "共有 ID",
"reason": "原因"
"reason": "原因",
"target": "対象",
"statusLabel": "状態",
"reportedAt": "通報日時",
"actions": "操作",
"resolve": "解決",
"dismiss": "却下",
"adminNote": "管理者メモ",
"blockShare": "共有リンクをブロック",
"noReports": "滥用通報はありません",
"reviewSuccess": "通報を更新しました。",
"status": {
"open": "未対応",
"resolved": "解決済み",
"dismissed": "却下済み",
"all": "すべて"
},
"markAs": {
"resolved": "通報を解決",
"dismissed": "通報を却下",
"open": "通報を再開"
}
}
}

@ -52,7 +52,35 @@
"signingOut": "로그아웃 중...",
"loggedOut": "로그아웃되었습니다",
"clickToRefresh": "클릭하여 보안문자 새로고침",
"switchLanguage": "언어 전환"
"switchLanguage": "언어 전환",
"invitationCode": "초대 코드",
"phoneNumber": "전화번호",
"smsCode": "SMS 코드",
"sendSmsCode": "코드 전송",
"resendSmsCode": "재전송 ({{seconds}}초)",
"smsSignIn": "SMS로 로그인",
"resetViaSms": "대신 SMS로 재설정",
"emailChangedTitle": "이메일 변경",
"emailChanged": "이메일 주소가 성공적으로 변경되었습니다.",
"signInWith": "{{name}}으로 로그인",
"ssoFailed": "통합 로그인에 실패했습니다. 다시 시도하거나 다른 로그인 방법을 사용하세요.",
"ssoError": {
"generic": "통합 로그인에 실패했습니다. 다시 시도하세요.",
"sso_not_configured": "통합 로그인이 설정되지 않았습니다. 관리자에게 문의하세요.",
"sso_discovery_failed": "ID 공급자에 연결하지 못했습니다. 나중에 다시 시도하세요.",
"sso_state_failed": "로그인 세션을 시작하지 못했습니다. 다시 시도하세요.",
"sso_denied": "ID 공급자가 로그인을 거부했습니다.",
"sso_invalid_response": "ID 공급자의 응답이 올바르지 않습니다.",
"sso_state_expired": "로그인 세션이 만료되었습니다. 다시 시도하세요.",
"sso_exchange_failed": "ID 공급자와의 로그인을 완료하지 못했습니다.",
"sso_token_invalid": "ID 응답을 검증하지 못했습니다.",
"sso_no_email": "ID 공급자가 이메일 주소를 반환하지 않았습니다.",
"sso_account_unavailable": "이 ID에 해당하는 계정이 없습니다. 가입이 제한되어 있을 수 있습니다."
},
"browsePublicShares": "공개 공유 둘러보기",
"inputBackupCode": "복구 코드 중 하나를 입력",
"useBackupCode": "대신 복구 코드 사용",
"use2FACode": "대신 인증기 코드 사용"
},
"oauth": {
"authorize": "애플리케이션 인증",
@ -147,7 +175,11 @@
"toDarkMode": "다크",
"toLightMode": "라이트",
"myProfile": "개인 프로필",
"dashboard": "관리 패널"
"dashboard": "관리 패널",
"shop": "샵",
"addAccount": "계정 추가",
"signedOut": "로그아웃됨",
"discover": "발견"
},
"fileManager": {
"continueInDesktop": "인증 성공, 데스크톱 클라이언트에서 계속하세요.",
@ -488,7 +520,37 @@
"noEncryption": "암호화되지 않음",
"ftsStatus": "전문 검색 인덱스",
"ftsIndexed": "인덱스됨",
"ftsNotIndexed": "인덱스되지 않음"
"ftsNotIndexed": "인덱스되지 않음",
"aclDes": "\"{{name}}\"에 대한 세부 권한입니다. 나열된 항목은 일치하는 방문자에 대해 공유 링크의 기본 권한을 덮어씁니다.",
"aclSubject": "주체",
"aclAnonymous": "익명 방문자",
"aclEveryone": "그 외 모두",
"aclGroup": "그룹",
"aclPerm_read": "읽기",
"aclPerm_create": "생성",
"aclPerm_update": "수정",
"aclPerm_delete": "삭제",
"loop": "반복",
"modelViewer": "3D 모델 뷰어",
"modelLoadFailed": "3D 모델을 불러오지 못했습니다",
"activityDes": "{{name}}에 기록된 작업.",
"resetThumbnail": "깨진 썸네일 재설정",
"resetThumbnailRequested": "썸네일 재설정을 요청했습니다.",
"noFileCanResetThumbnail": "썸네일 재설정 가능한 파일이 없습니다.",
"selectDownloadRoute": "다운로드 경로 선택",
"downloadRouteDirect": "직접",
"downloadRouteDirectDescription": "이 사이트에서 직접 다운로드",
"lineEnding": "줄 끝",
"downloadAll": "모두 다운로드",
"dirPolicyTitle": "업로드용 스토리지 정책",
"dirPolicyDes": "\"{{name}}\"에 업로드되는 새 파일은 선택한 스토리지 정책을 사용합니다.",
"relocateTitle": "스토리지 재배치",
"relocateDes": "\"{{name}}\"의 물리적 콘텐츠를 선택한 스토리지 정책으로 이동합니다.",
"relocateSubmitted": "재배치 작업이 제출되었습니다",
"relocateStart": "재배치",
"policySaved": "스토리지 정책이 업데이트되었습니다",
"policyInherit": "상속 (상위 또는 그룹 기본값 사용)",
"policyGroupDefault": "그룹 기본값"
},
"modals": {
"includePasswordInShareLink": "공유 링크에 비밀번호 포함",
@ -665,7 +727,40 @@
"saved": "저장됨",
"notSet": "설정되지 않음",
"deleteViewSetting": "보기 설정 삭제",
"shareTargetsCount": "대상 {{count}}개"
"shareTargetsCount": "대상 {{count}}개",
"paidShare": "유료 공유",
"paidSharePrice": "{{price}} 포인트",
"paidShareDes": "방문자는 다운로드 전에 크레딧 포인트로 이 공유를 구매해야 합니다. 0이면 무료 공유입니다.",
"paidSharePriceLabel": "가격 (포인트)",
"nameConflict": "이름 충돌",
"conflictOverwriteDes": "대상의 기존 항목을 교체합니다.",
"conflictSkipDes": "기존 항목을 유지하며, 충돌 항목은 이동이나 복사되지 않습니다.",
"skip": "건너뛰기",
"remoteDownloadFileName": "파일 이름 (선택)",
"remoteDownloadFileNameDescription": "사용자 지정 출력 파일 이름",
"remoteDownloadHttpUser": "HTTP 사용자 이름 (선택)",
"remoteDownloadHttpPassword": "HTTP 비밀번호 (선택)",
"remoteDownloadHeaders": "요청 헤더 (선택)",
"remoteDownloadProvider": "다운로더",
"remoteDownloadProviderAuto": "자동 (아무 노드)",
"remoteDownloadHeadersDescription": "한 줄에 하나의 헤더, 예: Cookie: sid=...",
"allowUpload": "업로드 허용",
"allowUploadDes": "방문자가 이 공유 폴더에 새 파일을 업로드하고 폴더를 만들 수 있습니다. 저장 공간은 본인 할당량에 계산됩니다.",
"allowEdit": "편집 허용",
"allowEditDes": "방문자가 이 공유 폴더에서 파일을 업로드, 이름 변경, 이동, 삭제할 수 있습니다. 업로드 권한을 포함합니다.",
"uploadOnly": "업로드 전용 (드롭박스)",
"uploadOnlyDes": "방문자는 파일을 업로드할 수 있지만 이 공유 폴더의 기존 콘텐츠를 보거나 다운로드할 수 없습니다.",
"previewOnly": "미리보기 전용",
"previewOnlyDes": "방문자는 파일을 인라인으로 미리 볼 수 있지만 다운로드할 수 없습니다.",
"shareNote": "메모",
"shareNoteDes": "이 공유를 식별하기 위한 비공개 메모입니다. 내 공유에서만 볼 수 있습니다.",
"shareTargets": "공유 대상",
"shareTargetsCount_other": "대상 {{count}}개",
"publicListing": "공개 디렉터리에 등록",
"publicListingDes": "이 공유를 발견 페이지에 표시하며, 익명 방문자를 포함한 누구나 볼 수 있습니다. 비밀번호 보호 공유에는 사용할 수 없습니다.",
"hideReadme": "readme 파일 숨기기",
"hideReadmeDes": "README 파일 자체를 공유 목록에서 제외합니다. 방문자는 렌더링된 readme을 계속 볼 수 있습니다.",
"shareTargetsCount_one": "대상 {{count}}개"
},
"uploader": {
"fileCopyName": "사본_",
@ -688,7 +783,7 @@
"preparing": "준비 중...",
"processing": "처리 중...",
"progressDescription": "{{uploaded}} 업로드됨, 총 {{total}} - {{percentage}}%",
"progressDescriptionFull": "{{speed}} {{uploaded}} 업로드됨, 총 {{total}} - {{percentage}}%",
"progressDescriptionFull": "{{speed}} {{uploaded}} 업로드됨, 총 {{total}} - {{percentage}}%{{eta}}",
"progressDescriptionPlaceHolder": "업로드됨 - ",
"uploaded": "업로드됨",
"rootFolder": "루트 폴더",
@ -747,7 +842,8 @@
"upyunUploadFailed": "업로드 실패: {{msg}}",
"parseResponseError": "응답을 파싱할 수 없습니다: {{msg}} ({{content}})",
"concurrentTaskNumber": "동시 업로드 작업 수",
"dropFileHere": "마우스를 놓아 업로드 시작"
"dropFileHere": "마우스를 놓아 업로드 시작",
"etaSuffix": ", 남은 시간 {{eta}}"
},
"share": {
"free": "무료",
@ -794,7 +890,19 @@
"preview": "미리보기",
"incorrectPassword": "비밀번호가 올바르지 않습니다",
"shareNotExist": "공유가 존재하지 않거나 만료되었습니다",
"copyLinkToClipboard": "링크를 클립보드에 복사"
"copyLinkToClipboard": "링크를 클립보드에 복사",
"paidShareDes": "이것은 유료 공유입니다. 구매 시 {{price}} 포인트가 소비되며 다운로드가 잠금 해제됩니다.",
"purchaseForPoints": "{{price}} 포인트로 구매",
"signInToPurchase": "구매하려면 로그인",
"yourBalance": "잔액: {{credits}} 포인트",
"saveToMyFiles": "내 파일에 저장",
"savedToMyFiles": "공유를 파일에 저장했습니다.",
"saveShareLink": "공유 링크 저장",
"saveShareLinkHint": "https://example.com/s/abc123 같은 공유 링크를 붙여넣으세요",
"shareLink": "공유 링크",
"savedAs": "저장 이름 (선택)",
"sharePasswordRequired": "이 공유는 비밀번호가 필요합니다.",
"invalidShareLink": "이 공유 링크를 해석할 수 없습니다."
},
"download": {
"noFilesFound": "파일을 찾을 수 없습니다",
@ -1058,7 +1166,80 @@
"relocateFileTo": "<0></0>{{more}}의 저장 정책을 {{policy}}로 전송",
"extractFileTo": "<0></0>{{more}}을 <1></1>로 압축 해제",
"createArchiveTo": "<0></0>{{more}}을 <1></1>로 패키징",
"importFileTo": "{{policy}}의 파일을 <0></0>로 가져오기"
"importFileTo": "{{policy}}의 파일을 <0></0>로 가져오기",
"preferredViewers": "기본 앱",
"preferredViewersDes": "\"항상\"으로 선택된 앱입니다. 모든 기기에 적용됩니다. 다시 묻도록 하려면 제거하세요.",
"preferredViewersEmpty": "저장된 기본 앱이 아직 없습니다. 파일의 \"다른 앱으로 열기\"에서 \"항상\"을 선택하세요.",
"trashRetention": "휴지통 보관 (일)",
"trashRetentionDes": "자동 삭제 전 파일이 휴지통에 머무는 일수입니다. 0은 그룹 기본값을 상속합니다. 변경 후 휴지통으로 이동한 파일에 적용됩니다.",
"linkedAccounts": "연결된 계정",
"providerQQ": "QQ",
"unlinkAccount": "연결 해제",
"unlinkAccountConfirm": "이 계정 연결을 해제하시겠습니까? 더 이상 이 계정으로 로그인할 수 없습니다.",
"linkQQAccount": "QQ 계정 연결",
"providerWeChat": "WeChat",
"linkWeChatAccount": "WeChat 계정 연결",
"phoneBinding": "전화번호 연결",
"bindPhone": "전화번호 연결",
"unbindPhone": "해제",
"unbindPhoneConfirm": "이 전화번호 연결을 해제하시겠습니까? 더 이상 이 번호로 로그인하거나 비밀번호를 재설정할 수 없습니다.",
"changeEmail": "변경",
"changeEmailDes": "확인 링크를 새 주소로 보냅니다. 확인될 때까지 현재 이메일 ({{email}})이 활성 상태입니다.",
"newEmail": "새 이메일 주소",
"changeEmailPasswordDes": "확인을 위해 현재 비밀번호를 입력하세요.",
"emailChangeSent": "확인 이메일을 새 주소로 보냈습니다.",
"copySecret": "스캔할 수 없나요? 클릭하여 설정 키 복사",
"secretCopied": "설정 키가 복사되었습니다",
"shareSiteDefault": "사이트 기본값",
"shareSiteDefaultDes": "관리자가 설정한 사이트 전체 기본값을 따릅니다.",
"shareDefaultPrivate": "공유 기본 비공개",
"shareDefaultPrivateDes": "새 공유는 기본적으로 비공개 (비밀번호 보호)입니다.",
"sharePrivateOn": "비공개",
"sharePrivateOff": "공개",
"preferredPolicy": "선호 스토리지 정책",
"preferredPolicyDes": "본인 파일에 대한 새 업로드는 폴더가 덮어쓰지 않는 한 이 스토리지 정책을 사용합니다.",
"policySaved": "스토리지 정책이 업데이트되었습니다",
"policyInherit": "상속 (그룹 기본값)",
"policyGroupDefault": "그룹 기본값",
"creditBalance": "크레딧 잔액",
"storageBonus": "저장 공간 보너스",
"dlTraffic": "직접 링크 트래픽",
"dlTrafficUnlimited": "무제한",
"activeGrants": "활성 혜택",
"grantStorage": "저장 공간",
"grantGroup": "그룹",
"redeemGiftCode": "기프트 코드 사용",
"redeemGiftCodeDes": "기프트 코드를 입력하여 크레딧이나 혜택을 받으세요",
"giftCodePlaceholder": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"redeem": "사용",
"giftCodeRedeemed": "기프트 코드가 사용되었습니다",
"creditLedger": "크레딧 원장",
"txnChange": "변동",
"txnTime": "시간",
"txnReason": "사유",
"noTxns": "거래 내역이 아직 없습니다",
"txnType": {
"purchase": "샵 구매",
"gift": "기프트 코드",
"share_income": "공유 링크 구매",
"adjust": "수동 조정"
},
"tags": "태그",
"tagsDes": "모든 파일의 태그를 이름 변경, 색상 변경, 삭제할 수 있습니다. 기존 태그로 이름 변경하면 병합됩니다.",
"tagName": "태그",
"tagFiles": "파일",
"tagActions": "작업",
"noTags": "태그가 아직 없습니다",
"editTag": "태그 편집",
"deleteTag": "태그 삭제",
"deleteTagDes": "태그 \"{{name}}\"을(를) {{count}}개 파일에서 제거하시겠습니까? 파일 자체는 유지됩니다.",
"tagUpdated": "태그가 업데이트되었습니다",
"tagDeleted": "태그가 삭제되었습니다",
"tagNameInvalid": "태그 이름은 비워 둘 수 없고 \":\"를 포함할 수 없습니다",
"backup2FACodes": "복구 코드",
"backupCodesDes": "복구 코드는 인증기를 사용할 수 없을 때 로그인할 수 있게 합니다. 새 묶음을 생성하면 이전 코드는 모두 무효화됩니다.",
"backupCodesWarning": "지금 이 코드를 저장하세요. 각각 1회만 사용 가능하며 다시 표시되지 않습니다.",
"copyCodes": "코드 복사"
},
"vas": {
"points": "포인트",
@ -1194,5 +1375,43 @@
"dontShowAgain": "다시 표시하지 않음",
"openPaymentLink": "결제 링크 직접 열기",
"creditReasonAdjust": "수동 조정"
},
"vault": {
"title": "비공개 공간",
"description": "비공개 공간의 파일은 별도의 비밀번호로 잠금 해제할 때까지 둘러보기와 검색에서 숨겨집니다. Vault 파일은 공유하거나 WebDAV로 접근할 수 없습니다.",
"enable": "비공개 공간 활성화",
"enabled": "비공개 공간이 활성화됨",
"disable": "비활성화",
"disabled": "비공개 공간이 비활성화됨",
"disableDescription": "비활성화하면 잠금이 제거되며, 폴더와 그 내용은 일반 파일로 남습니다.",
"confirmDisable": "비활성화 확인",
"setPassword": "Vault 비밀번호 설정",
"confirmPassword": "Vault 비밀번호",
"enterPassword": "Vault 비밀번호",
"lockNow": "지금 잠그기",
"locked": "비공개 공간이 잠겨 있습니다",
"unlocked": "잠금 해제됨",
"lockedState": "잠김",
"lockedTitle": "이 폴더는 비공개 공간에 있습니다. 계속하려면 잠금을 해제하세요.",
"badge": "비공개 공간"
},
"shop": {
"memberships": "멤버십",
"storagePacks": "저장 공간 팩",
"trafficPacks": "트래픽 팩",
"redeem": "사용",
"balance": "잔액: {{credits}} 포인트",
"purchased": "{{name}} 구매함",
"permanent": "영구",
"noProducts": "이용 가능한 상품이 없습니다",
"buyWithPoints": "{{points}} 포인트로 구매",
"pointsUnavailable": "포인트로 구매할 수 없습니다"
},
"announcement": {
"title": "공지",
"dontShowAgain": "다시 표시하지 않기"
},
"discover": {
"searchPlaceholder": "공개 공유 검색"
}
}

@ -34,7 +34,9 @@
"human": "저는 사람입니다",
"verifying": "확인 중…",
"verified": "인증을 통과했습니다"
}
},
"verify": "클릭하여 인증",
"verified": "인증됨"
},
"errors": {
"401": "먼저 로그인하세요",
@ -54,7 +56,7 @@
"40014": "일괄 외부 링크 가져오기 제한을 초과했습니다",
"40015": "최대 오프라인 다운로드 작업 수 제한을 초과했습니다",
"40016": "경로가 존재하지 않습니다",
"40017": "이 계정이 차단되었습니다",
"40017": "이 계정이 차단되었습니다. {{message}}",
"40018": "이 계정이 활성화되지 않았습니다",
"40019": "이 기능이 활성화되지 않았습니다",
"40020": "자격 증명이 잘못되었거나 만료되었습니다",
@ -117,5 +119,6 @@
"40084": "귀하의 계정은 비밀번호가 없는 계정이므로 최소 하나의 연결된 계정을 유지해야 합니다",
"40085": "주문 금액이 너무 작아 결제를 계속할 수 없습니다"
},
"save": "저장"
"save": "저장",
"delete": "삭제"
}

@ -752,7 +752,8 @@
"report_abuse": "남용 신고",
"oauth_grant_create": "OAuth 앱 권한 부여",
"oauth_token_exchange": "OAuth 토큰 교환",
"oauth_grant_revoke": "OAuth 앱 권한 취소"
"oauth_grant_revoke": "OAuth 앱 권한 취소",
"content_audit_blocked": "콘텐츠 심사에 의한 공유 차단"
},
"server": "서버 설정",
"tempPath": "임시 경로",
@ -820,7 +821,92 @@
"ftsTikaExts": "지원되는 확장자",
"ftsTikaExtsDes": "쉼표로 구분된 파일 확장자 목록입니다. Tika는 이러한 유형의 파일을 처리합니다.",
"ftsTikaMaxFileSize": "최대 파일 크기",
"ftsTikaMaxFileSizeDes": "콘텐츠 추출을 위해 Tika에 보낼 최대 파일 크기입니다."
"ftsTikaMaxFileSizeDes": "콘텐츠 추출을 위해 Tika에 보낼 최대 파일 크기입니다.",
"navItemVisibility": "표시",
"navScopePublic": "모두",
"navScopeUser": "로그인한 사용자",
"uploadDedupScope": "중복 감지 범위",
"uploadDedupScopeDes": "클라이언트가 콘텐츠 해시를 보내면 서버가 동일한 완료 파일을 찾아 바이트 전송 없이 업로드를 즉시 구체화합니다.",
"uploadDedupScope_off": "끄기",
"uploadDedupScope_offDes": "중복 감지 없음. 모든 업로드가 바이트를 전송합니다.",
"uploadDedupScope_owner": "같은 사용자",
"uploadDedupScope_ownerDes": "업로드하는 사용자가 이미 소유한 파일에 대해서만 중복 제거합니다.",
"uploadDedupScope_global": "전체",
"uploadDedupScope_globalDes": "이 사이트의 모든 완료 파일에 대해 중복 제거합니다.",
"translations": "번역",
"translationsDes": "언어별 재정의입니다. 비워 두면 기본값으로 폴백합니다. 사용자는 언어 설정이나 브라우저 언어에 맞는 변형을 봅니다.",
"invitationCodeRequired": "초대 코드 필요",
"invitationCodeRequiredDes": "신규 가입은 유효한 초대 코드를 제공해야 합니다. 코드는 사용자 - 초대 코드에서 관리합니다.",
"smtpAuthMethod": "SMTP 인증 방식",
"smtpAuthMethodDes": "자동 검색은 안전한 방식만 선택하며 암호화되지 않은 연결에서는 자격 증명을 평문으로 보내지 않습니다. 서버가 암호화 없이 PLAIN/LOGIN만 제공하는 경우 해당 \"-noenc\" 방식을 선택하세요. 자격 증명은 암호화 없이 전송됩니다.",
"smtpAuth_autodiscover": "자동 검색",
"smtpAuth_plain": "PLAIN",
"smtpAuth_plain_noenc": "PLAIN (암호화 없이 허용)",
"smtpAuth_login": "LOGIN",
"smtpAuth_login_noenc": "LOGIN (암호화 없이 허용)",
"smtpAuth_cram_md5": "CRAM-MD5",
"smtpAuth_scram_sha_1": "SCRAM-SHA-1",
"smtpAuth_scram_sha_256": "SCRAM-SHA-256",
"smtpAuth_xoauth2": "XOAUTH2",
"smtpAuth_noauth": "인증 없음",
"tcaptcha": "Tencent Captcha",
"tcaptchaAppId": "CaptchaAppId",
"tcaptchaAppSecretKey": "AppSecretKey",
"tcaptchaSecretId": "SecretId",
"tcaptchaSecretKey": "SecretKey",
"tcaptchaDes": "<0>Tencent Captcha 콘솔</0>에서 CaptchaAppId와 AppSecretKey를 받으세요.",
"tcaptchaSecretDes": "DescribeCaptchaResult 호출에 사용되는 Tencent Cloud API 자격 증명의 SecretId와 SecretKey.",
"trafficProductSettings": "트래픽 상품",
"trafficProductsDes": "사용자가 직접 링크 트래픽 한도를 충전하기 위해 구매할 수 있는 상품을 설정합니다.",
"auditRetentionDays": "보관 (일)",
"auditRetentionDaysDes": "이 일수보다 오래된 이벤트를 삭제합니다. 0은 영구 보관입니다.",
"ssoIssuer": "Issuer URL",
"ssoIssuerDes": "OIDC issuer의 기본 URL, 예: <0>https://keycloak.example.com/realms/master</0>. 공급자 메타데이터는 이 URL 아래의 <1>.well-known/openid-configuration</1>에서 가져옵니다.",
"ssoRegisterEnabled": "자동 가입 허용",
"ssoRegisterEnabledDes": "SSO로 처음 로그인할 때 로컬 계정을 자동으로 만듭니다. 아래의 가입 이메일 필터도 적용됩니다.",
"downloadCdnRoutes": "다운로드 CDN 경로",
"downloadCdnRoutesDes": "사용자에게 제공되는 대체 다운로드 엔드포인트입니다. 한 줄에 하나씩 name=url 형식 (예: Line 1=https://cdn1.example.com). 경로는 서명된 URL이 유효한 채로 전체 요청 경로와 쿼리를 이 사이트로 프록시해야 합니다. 브라우저 내 다운로드에는 CORS 헤더가 필요합니다.",
"downloadCdnShuffle": "다운로드 경로 섞기",
"downloadCdnShuffleDes": "생성되는 각 다운로드 링크를 사이트 URL과 설정된 모든 CDN 경로에 무작위로 분산하여, 다운로드 관리자로의 일괄 내보내기가 서로 다른 엔드포인트를 향하도록 합니다. 활성화 중에는 수동 경로 선택기가 숨겨집니다.",
"ssoAutoRedirect": "SSO로 자동 리디렉션",
"ssoAutoRedirectDes": "로그인 양식을 건너뛰고 방문자를 ID 공급자로 바로 보냅니다. 비밀번호 양식을 열려면 로그인 URL에 <0>?nosso=1</0>을 추가하세요 (예: 관리자 복구용).",
"ssoCallbackUrl": "콜백 URL",
"ssoCallbackUrlDes": "ID 공급자에서 이 URL을 리디렉션/콜백 URL로 등록하세요: <0>{{url}}</0>",
"qqConnect": "QQ Connect",
"qqAppID": "App ID",
"qqAppIDDes": "<0>QQ Connect 콘솔</0> (connect.qq.com)에서 만든 웹 애플리케이션의 App ID.",
"qqAppSecret": "App Key",
"qqCallbackUrl": "콜백 URL",
"qqCallbackUrlDes": "QQ Connect 콘솔에서 이 URL을 웹사이트 콜백 도메인/URL로 등록하세요: <0>{{url}}</0>",
"qqRegisterEnabled": "자동 가입 허용",
"qqRegisterEnabledDes": "QQ로 처음 로그인할 때 로컬 계정을 자동으로 만듭니다. QQ는 이메일을 제공하지 않으므로 프로비저닝된 계정은 합성 @connect.qq.local 주소를 사용합니다.",
"wechatConnect": "WeChat 스캔 로그인",
"wechatAppID": "App ID",
"wechatAppIDDes": "<0>WeChat Open Platform</0> (open.weixin.qq.com)에서 만든 웹 애플리케이션의 AppID.",
"wechatAppSecret": "App Secret",
"wechatCallbackUrl": "콜백 URL",
"wechatCallbackUrlDes": "WeChat Open Platform 콘솔에서 이 URL의 도메인을 인증 콜백 도메인으로 등록하세요: <0>{{url}}</0>",
"wechatRegisterEnabled": "자동 가입 허용",
"wechatRegisterEnabledDes": "WeChat로 처음 로그인할 때 로컬 계정을 자동으로 만듭니다. WeChat는 이메일을 제공하지 않으므로 프로비저닝된 계정은 합성 @connect.wechat.local 주소를 사용합니다.",
"smsSignIn": "SMS 로그인",
"smsEndpoint": "게이트웨이 엔드포인트",
"smsEndpointDes": "SMS 공급자의 HTTP 엔드포인트입니다. 자리 표시자 <0>{phone}</0>와 <0>{code}</0>는 각 요청 전에 치환됩니다.",
"smsMethodDes": "게이트웨이 요청에 사용되는 HTTP 메서드입니다. GET의 경우 자리 표시자는 엔드포인트 URL에만 렌더링됩니다.",
"smsHeaders": "요청 헤더",
"smsHeadersDes": "한 줄에 하나의 `Key: Value` 쌍, 예: Authorization: Bearer <token>.",
"smsBodyTemplate": "요청 본문 템플릿",
"smsBodyTemplateDes": "POST 요청으로 보내는 본문입니다. 자리 표시자 <0>{phone}</0>와 <0>{code}</0>는 각 요청 전에 치환됩니다.",
"smsRegisterEnabled": "자동 가입 허용",
"smsRegisterEnabledDes": "SMS 코드로 처음 로그인할 때 로컬 계정을 자동으로 만듭니다. 프로비저닝된 계정은 합성 @sms.local 주소를 사용합니다.",
"themeVisible": "표시",
"shareDefaultPrivate": "기본 비공개 공유",
"shareDefaultPrivateDes": "새 공유는 기본적으로 비공개 (비밀번호 보호)입니다. 사용자는 개인 설정에서 재정의할 수 있습니다.",
"defaultShareLinksInProfile": "프로필 기본 공유 표시",
"defaultShareLinksInProfileDes": "사용자가 직접 선택하지 않았을 때 사용자의 공개 프로필 페이지에 표시되는 공유를 제어합니다.",
"profileSharePublicOnly": "비밀번호 없는 공유만",
"profileShareAll": "모든 공유",
"profileShareHide": "모든 공유 숨기기",
"imageUrl": "이미지 URL"
},
"giftCodes": {
"giftCodesSettings": "기프트 코드",
@ -851,7 +937,11 @@
"copyAndClose": "복사하고 닫기",
"duratonTimes": "기간 배수",
"duratonTimesDes": "각 기프트 코드에 포함된 해당 상품의 수량",
"unknownProduct": "알 수 없는 제품"
"unknownProduct": "알 수 없는 제품",
"giftCodeTypeTraffic": "직접 링크 트래픽",
"giftCodeDeleteFailed": "기프트 코드 삭제에 실패했습니다",
"giftCodeCreateFailed": "기프트 코드 생성에 실패했습니다",
"giftCodeAmountHelp": "코드당 부여량"
},
"policy": {
"acceleratedDomainUpload": "전송 가속 도메인을 사용하여 업로드",
@ -870,7 +960,7 @@
"authorizeNow": "즉시 인증",
"authorizeAgain": "재인증",
"notGranted": "인증된 계정이 없어 스토리지 정책을 사용할 수 없습니다.",
"granted": "계정이 인증되었으며, 자격 증명이 <0></0>에 새로고침되었습니다.",
"granted": "계정이 인증되었으며, 자격 증명이 <0>{{time}}</0>에 새로고침되었습니다.",
"grantedNotRefresh": "계정이 인증되었으며, 마지막 시작 이후 자격 증명이 새로고침되지 않았습니다.",
"batchDeleteSize": "최대 일괄 삭제 수량",
"batchDeleteSizeDes": "단일 API 요청의 최대 삭제 수량을 제한합니다. 이 설정은 사용자의 일괄 파일 삭제에 영향을 주지 않습니다. 입력하지 않으면 기본값 <0>1000</0>을 사용하며, 이는 공식 S3 API의 최대 허용값입니다.",
@ -1145,7 +1235,38 @@
"fileEncryption": "파일 암호화",
"enableFileEncryption": "파일 암호화 활성화",
"enableFileEncryptionDes": "활성화하면 파일 Blob이 암호화되어 저장됩니다. 이 설정을 변경하면 새로 추가되는 파일에만 적용됩니다.",
"encryptedFile": "암호화된 파일"
"encryptedFile": "암호화된 파일",
"thumbForceProxy": "강제 프록시 썸네일 생성",
"thumbForceProxyDes": "스토리지 백엔드가 네이티브 썸네일 API를 제공하더라도 항상 로컬 프록시 파이프라인으로 썸네일을 생성합니다. 프록시 썸네일 생성을 의미합니다.",
"thumbStoragePolicy": "썸네일 스토리지 정책",
"thumbStoragePolicySource": "파일과 동일",
"thumbStoragePolicyDes": "생성된 썸네일은 파일 자체의 스토리지 정책이 아닌 선택한 정책에 저장됩니다.",
"blobAudit": "블롭 감사: {{name}}",
"blobAuditDes": "스토리지 백엔드를 스캔하여 어떤 파일 레코드에서도 참조되지 않는 물리 객체를 나열합니다. 실패한 전송으로 남은 고스트 블롭을 찾는 데 유용합니다.",
"blobAuditDelete": "고아 블롭 삭제",
"blobAuditDeleteWarning": "고아 객체는 스토리지 백엔드에서 영구 제거됩니다. 업로드 중인 파일도 고아로 표시될 수 있습니다. 업로드가 진행 중이 아님을 확신할 때만 활성화하세요.",
"blobAuditStart": "감사 시작",
"blobAuditSubmitted": "블롭 감사 작업이 대기열에 추가되었습니다.",
"maxTotalSize": "최대 전체 용량",
"maxTotalSizeDes": "이 정책 아래에 저장할 수 있는 최대 전체 바이트입니다. 초과하는 업로드와 복사는 거부됩니다. 0은 무제한입니다.",
"overflowPolicy": "오버플로 정책",
"overflowPolicyDes": "이 정책의 용량이 가득 찬 경우 새 업로드는 선택한 정책으로 넘칩니다. 정책 체인도 지원됩니다.",
"auditEndpoint": "콘텐츠 심사 엔드포인트",
"auditEndpointDes": "콘텐츠 심사 (예: 이미지 검토)용 HTTP 엔드포인트입니다. 설정하면 이 정책의 파일을 공유할 때 내용을 엔드포인트로 POST하며, {\"flagged\":true} 응답이 공유를 차단합니다. 비워 두면 비활성화됩니다.",
"auditMaxSize": "심사 크기 한도",
"auditMaxSizeDes": "심사 엔드포인트로 보내는 엔티티의 최대 크기입니다. 더 큰 파일은 건너뜁니다. 0은 무제한입니다.",
"overflowNone": "없음",
"allowNativeName": "네이티브 파일 이름 문자 허용",
"allowNativeNameDes": "Windows 파일 시스템에서만 불법인 문자 (: * ? \" < > |)를 파일 이름에 허용합니다. Windows에 마운트하는 클라이언트가 손상될 수 있습니다. 경로 구분자는 계속 금지됩니다.",
"status": "상태",
"statusDes": "정지된 정책은 기존 파일은 계속 제공하지만 새 업로드를 거부합니다.",
"loadBalance": "로드 밸런스",
"lbChildren": "하위 스토리지 정책",
"lbChildPolicy": "스토리지 정책",
"lbWeight": "가중치",
"lbAddChild": "하위 정책 추가",
"lbChildrenDes": "새 업로드는 가중치에 비례하여 하위 정책에 분산됩니다.",
"lbWizardDes": "로드 밸런스 정책은 가중치가 적용된 하위 정책에 업로드를 분산합니다. 하위는 생성 후 설정합니다."
},
"node": {
"slave": "슬레이브",
@ -1214,7 +1335,12 @@
"hostHeaderHint": "서명 오류가 있는 경우 슬레이브 앞의 역방향 프록시가 <0>Host</0> 헤더를 전달하는지 확인하세요.",
"features": "활성화된 기능",
"remoteDownload": "오프라인 다운로드",
"refresh": "새로고침"
"refresh": "새로고침",
"ytdlpDes": "Cloudreve와 동일한 사용자/접근 권한으로 대상 노드 서버에서 yt-dlp를 실행합니다. yt-dlp는 작업마다 CLI 프로세스로 호출되며 데몬이 필요하지 않습니다.",
"ytdlpOptionDes": "다운로드 작업 생성 시 추가 yt-dlp CLI 플래그입니다. JSON 키-값 형식으로 작성하며, 키는 그대로 --flag 인수가 됩니다. <0>yt-dlp 옵션 참조</0>를 보세요.",
"ytdlpBinary": "yt-dlp 바이너리",
"ytdlpBinaryDes": "노드 서버의 yt-dlp 실행 파일 경로 또는 이름입니다. 기본값은 PATH에서 해석된 yt-dlp입니다.",
"copyBinary": ""
},
"group": {
"countUser": "통계",
@ -1300,7 +1426,38 @@
"notCopy": "복사하지 않음",
"confirmDelete": "사용자 그룹 {{group}}을(를) 삭제하시겠습니까?",
"new": "새 사용자 그룹",
"editGroup": "{{group}} 편집"
"editGroup": "{{group}} 편집",
"availablePolicyDesPro": "다중 선택 가능하며, 사용자는 선택한 범위 내에서 스토리지 정책을 자유롭게 전환할 수 있습니다.",
"loginIPWhitelist": "로그인 IP 허용 목록",
"loginIPWhitelistDes": "이 IP 또는 CIDR 범위로 로그인을 제한합니다. 한 줄에 하나씩. 비워 두면 모두 허용합니다.",
"delegatedAdmin": "위임 관리자 섹션",
"delegatedAdminDes": "선택한 대시보드 섹션만 접근을 허용합니다. 이 그룹의 사용자는 관리 패널을 열 수 있지만, 활성화된 섹션만 작동하며 다른 모든 관리 API 호출은 거부됩니다.",
"sectionUsers": "사용자",
"sectionGroups": "그룹",
"sectionFiles": "파일과 블롭",
"sectionShares": "공유",
"sectionStorage": "스토리지 정책과 노드",
"sectionQueue": "작업 대기열",
"sectionSettings": "사이트 설정과 OAuth",
"sectionPayment": "결제",
"sectionEvents": "이벤트",
"sectionReports": "남용 신고",
"shareSell": "공유 링크 판매",
"shareSellDes": "활성화하면 사용자가 만든 공유 링크에 포인트 가격을 설정할 수 있습니다.",
"wabDAVReadOnly": "WebDAV 읽기 전용",
"wabDAVReadOnlyDes": "활성화하면 이 그룹 사용자의 WebDAV 마운트가 읽기 전용이 됩니다. 업로드, 삭제, 이동 등 쓰기 메서드는 거부됩니다.",
"aria2TaskLimit": "최대 동시 원격 다운로드 작업",
"aria2TaskLimitDes": "사용자당 활성 원격 다운로드 작업 (대기 중, 실행 중, 일시 정지)의 최대 수. 0 = 무제한.",
"aria2MaxFileSize": "다운로드 작업당 최대 크기 (바이트)",
"aria2MaxFileSizeDes": "해석된 전체 크기가 이 값을 초과하는 원격 다운로드 작업은 중단됩니다. 0 = 무제한.",
"setExplicitUser": "파일 권한 설정",
"setExplicitUserDes": "멤버는 소유한 파일과 폴더에 대해 특정 사용자, 그룹, 익명 방문자 또는 그 외 모두에 대해 읽기/생성/수정/삭제 권한을 설정할 수 있습니다.",
"switchablePolicies": "전환 가능한 스토리지 정책",
"switchablePoliciesDes": "이 그룹의 멤버가 자유롭게 전환할 수 있는 정책입니다. 위의 기본 정책은 항상 사용 가능합니다.",
"weightedPolicies": "가중치 적용 정책 선택",
"weightedPoliciesDes": "활성화하면 명시적 정책 선호가 없는 업로드가 파일에 맞는 가장 여유 용량이 많은 허용 정책으로 라우팅됩니다. 전체 용량 한도가 있는 정책만 가중치가 적용됩니다.",
"sharePublicList": "공개 공유 디렉터리",
"sharePublicListDes": "활성화하면 사용자가 자신의 공유 링크를 공개 디렉터리(발견 페이지)에 등록할 수 있습니다. 비밀번호 보호 공유는 등록할 수 없습니다."
},
"user": {
"createdAt": "생성 날짜",
@ -1350,7 +1507,34 @@
"deleteXUsers": "{{num}}명 사용자 삭제",
"confirmBatchDelete": "{{num}}명 사용자를 삭제하시겠습니까?",
"calibrateStorage": "스토리지 공간 보정",
"calibrateStorageSuccess": "스토리지 공간 보정 성공"
"calibrateStorageSuccess": "스토리지 공간 보정 성공",
"relocateFiles": "파일 재배치",
"banExpires": "차단 만료",
"banExpiresDes": "선택. 이 시간이 지나면 차단이 자동으로 해제됩니다. 비워 두면 영구.",
"banReason": "차단 사유",
"banReasonDes": "선택. 차단된 로그인이 거부될 때 사용자에게 표시됩니다.",
"lastLogin": "마지막 로그인",
"uids": "사용자 ID",
"uidsPlaceholder": "쉼표로 구분된 ID, 예: 2,3,5",
"editXUsers": "{{num}}명 사용자 편집",
"batchEditXUsers": "{{num}}명 사용자 일괄 편집",
"noChange": "변경 없음",
"invitationCodes": "초대 코드",
"invitationCodesDes": "공개 가입에 필수로 지정할 수 있는 코드입니다. 여기서 만들고, 공유하고, 취소할 수 있습니다.",
"invitationCode": "코드",
"invitationCodeAuto": "자동 생성",
"invitationCodeGroup": "그룹",
"invitationCodeMaxUses": "최대 사용 수",
"invitationCodeExpires": "만료 시각",
"invitationCodeUses": "사용 수",
"invitationCodeCreated": "초대 코드가 생성되었습니다.",
"invitationCodeCopied": "코드가 클립보드에 복사되었습니다.",
"invitationCodeCopy": "복사",
"invitationCodeDefaultGroup": "기본",
"noInvitationCodes": "초대 코드가 아직 없습니다.",
"loadMore": "더 불러오기",
"additionalGroups": "추가 그룹",
"additionalGroupsDes": "기본 그룹 위에 추가되는 그룹 멤버십입니다. 권한, 할당량, 스토리지 정책은 모든 그룹의 합집합입니다."
},
"file": {
"deleteXFiles": "{{num}}개 파일 삭제",
@ -1422,7 +1606,15 @@
"shareLinkExisted": "공유 링크 존재",
"directLinkExisted": "중계 직접 링크 존재",
"isUploading": "업로드 중",
"selectUser": "사용자 선택"
"selectUser": "사용자 선택",
"referenceCount": "참조 수",
"awaitingRecycle": "재활용 대기",
"refCountGt": "보다 큼",
"refCountLt": "보다 작음",
"refCountEq": "같음",
"deletedState": "삭제 상태",
"liveOnly": "현존 파일만",
"trashOnly": "휴지통만"
},
"entity": {
"refenenceCount": "참조 횟수",
@ -1433,7 +1625,15 @@
"confirmBatchDelete": "{{num}}개 Blob을 삭제하시겠습니까?",
"deleteXEntities": "{{num}}개 Blob 삭제",
"forceDelete": "강제 삭제",
"forceDeleteDes": "물리적 파일 삭제 성공 여부와 관계없이 Blob 기록을 삭제합니다."
"forceDeleteDes": "물리적 파일 삭제 성공 여부와 관계없이 Blob 기록을 삭제합니다.",
"relocateXEntities": "블롭 {{num}}개 재배치",
"relocateTitle": "블롭 재배치",
"relocateEntitiesDes": "선택한 {{num}}개 블롭의 데이터를 다른 스토리지 정책으로 이동합니다. 작업은 백그라운드에서 실행되며 재개할 수 있습니다.",
"relocatePolicyDes": "\"{{name}}\"에 저장된 모든 블롭을 다른 스토리지 정책으로 이동합니다. 작업은 백그라운드에서 실행되며 재개할 수 있습니다.",
"relocateUserDes": "\"{{name}}\"이(가) 소유한 모든 블롭을 다른 스토리지 정책으로 이동합니다. 작업은 백그라운드에서 실행되며 재개할 수 있습니다.",
"relocatePolicy": "{{name}}의 모든 블롭을 다른 정책으로 이전",
"relocateStart": "재배치 시작",
"relocateSubmitted": "재배치 작업이 제출되었습니다"
},
"event": {
"cleanup": "정리",
@ -1469,7 +1669,8 @@
"confirmDelete": "이 이벤트를 삭제하시겠습니까?",
"deleteXEvents": "{{num}}개 이벤트 삭제",
"confirmBatchDelete": "{{num}}개 이벤트를 삭제하시겠습니까?",
"allEventTypes": "모든 이벤트 유형"
"allEventTypes": "모든 이벤트 유형",
"noEvents": "기록된 이벤트가 아직 없습니다"
},
"share": {
"confirmBatchDelete": "{{num}}개 공유를 삭제하시겠습니까?",
@ -1547,7 +1748,8 @@
"finished": "완료",
"canceled": "취소/중지",
"unknown": "알 수 없음",
"errorMsg": "오류 정보"
"errorMsg": "오류 정보",
"blobAudit": "스토리지 정책 #{{policyID}} 블롭 감사 (고아 {{count}}개)"
},
"payment": {
"tradeNo": "거래 번호",
@ -1725,7 +1927,22 @@
"customPaymentEndpointDes": "결제 주문 생성 시 요청하는 인터페이스 URL",
"appFeedback": "피드백 페이지 URL",
"appForum": "사용자 포럼 URL",
"appLinkDes": "앱 설정 페이지에 표시하는 데 사용되며, 비워두면 링크 버튼을 표시하지 않습니다. VOL 라이선스가 유효할 때만 이 설정이 적용됩니다."
"appLinkDes": "앱 설정 페이지에 표시하는 데 사용되며, 비워두면 링크 버튼을 표시하지 않습니다. VOL 라이선스가 유효할 때만 이 설정이 적용됩니다.",
"addTrafficPack": "트래픽 팩 추가",
"editTrafficPack": "트래픽 팩 편집",
"trafficSize": "트래픽량 (바이트)",
"trafficSizeDes": "구매 시 부여되는 직접 링크 트래픽 바이트 수입니다. 팩은 영구입니다.",
"subAddressChars": "서브주소 문자",
"subAddressCharsDes": "이메일 로컬 부분에서 서브주소 구분자로 처리되는 문자입니다 (예: Gmail/iCloud식 별칭에는 <code>+-.</code>). 비워 두면 기본값 <code>+</code>.",
"manualAdjust": "수동 크레딧 조정",
"adjustEmail": "사용자 이메일",
"adjustDelta": "포인트 변동",
"adjustDeltaDes": "양수는 크레딧 추가, 음수는 차감",
"adjustNote": "메모",
"adjustSubmit": "적용",
"adjustSuccess": "크레딧이 조정되었습니다",
"adjustFailed": "크레딧 조정에 실패했습니다",
"paymentId": "결제 ID"
},
"pro": {
"title": "Pro 버전 전용 기능",
@ -1755,6 +1972,27 @@
"reporterID": "신고자 사용자 ID",
"reportedUserID": "신고 대상 사용자 ID",
"shareID": "공유 ID",
"reason": "원인"
"reason": "원인",
"target": "대상",
"statusLabel": "상태",
"reportedAt": "신고 시각",
"actions": "작업",
"resolve": "해결",
"dismiss": "기각",
"adminNote": "관리자 메모",
"blockShare": "공유 링크 차단",
"noReports": "남용 신고가 없습니다",
"reviewSuccess": "신고가 업데이트되었습니다.",
"status": {
"open": "열림",
"resolved": "해결됨",
"dismissed": "기각됨",
"all": "모두"
},
"markAs": {
"resolved": "신고 해결",
"dismissed": "신고 기각",
"open": "신고 다시 열기"
}
}
}

@ -18,7 +18,7 @@
"useOtherAccount": "Użyj innego konta",
"password": "Hasło",
"captcha": "CAPTCHA",
"captchaError": "Nie można załadować CAPTCHA: {{message}}",
"captchaError": "Nie można załadować CAPTCHA: ",
"signIn": "Zaloguj się",
"signUp": "Zarejestruj się",
"signUpAccount": "Zarejestruj się",
@ -52,7 +52,35 @@
"signingOut": "Wylogowywanie...",
"loggedOut": "Jesteś teraz wylogowany.",
"clickToRefresh": "Kliknij, aby odświeżyć",
"switchLanguage": "Zmień język"
"switchLanguage": "Zmień język",
"invitationCode": "Kod zaproszenia",
"phoneNumber": "Numer telefonu",
"smsCode": "Kod SMS",
"sendSmsCode": "Wyślij kod",
"resendSmsCode": "Wyślij ponownie ({{seconds}}s)",
"smsSignIn": "Zaloguj się przez SMS",
"resetViaSms": "Zresetuj przez SMS",
"emailChangedTitle": "Adres e-mail zmieniony",
"emailChanged": "Twój adres e-mail został pomyślnie zmieniony.",
"signInWith": "Zaloguj się przez {{name}}",
"ssoFailed": "Logowanie jednokrotne nie powiodło się. Spróbuj ponownie lub użyj innej metody logowania.",
"ssoError": {
"generic": "Logowanie jednokrotne nie powiodło się. Spróbuj ponownie.",
"sso_not_configured": "Logowanie jednokrotne nie jest skonfigurowane. Skontaktuj się z administratorem.",
"sso_discovery_failed": "Nie udało się połączyć z dostawcą tożsamości. Spróbuj ponownie później.",
"sso_state_failed": "Nie udało się rozpocząć sesji logowania. Spróbuj ponownie.",
"sso_denied": "Logowanie zostało odrzucone przez dostawcę tożsamości.",
"sso_invalid_response": "Nieprawidłowa odpowiedź od dostawcy tożsamości.",
"sso_state_expired": "Sesja logowania wygasła. Spróbuj ponownie.",
"sso_exchange_failed": "Nie udało się ukończyć logowania u dostawcy tożsamości.",
"sso_token_invalid": "Nie udało się zweryfikować odpowiedzi dostawcy tożsamości.",
"sso_no_email": "Dostawca tożsamości nie zwrócił adresu e-mail.",
"sso_account_unavailable": "Brak dostępnego konta dla tej tożsamości. Rejestracja może być ograniczona."
},
"browsePublicShares": "Przeglądaj udostępnienia publiczne",
"inputBackupCode": "Wpisz jeden z kodów odzyskiwania",
"useBackupCode": "Użyj kodu odzyskiwania",
"use2FACode": "Użyj kodu z authenticatora"
},
"oauth": {
"authorize": "Autoryzuj aplikację",
@ -144,7 +172,11 @@
"toDarkMode": "Ciemny",
"toLightMode": "Jasny",
"myProfile": "Mój profil",
"dashboard": "Panel sterowania"
"dashboard": "Panel sterowania",
"shop": "Sklep",
"addAccount": "Dodaj konto",
"signedOut": "Wylogowano",
"discover": "Odkrywaj"
},
"fileManager": {
"continueInDesktop": "Autoryzacja zakończona pomyślnie, kontynuuj w kliencie desktopowym.",
@ -453,7 +485,34 @@
"noEncryption": "Niezaszyfrowane",
"ftsStatus": "Indeks pełnotekstowy",
"ftsIndexed": "Zindeksowane",
"ftsNotIndexed": "Niezindeksowane"
"ftsNotIndexed": "Niezindeksowane",
"aclDes": "Szczegółowe uprawnienia dla „{{name}}”. Wymienione wpisy zastępują domyślne uprawnienia linku udostępniania dla pasujących odwiedzających.",
"aclSubject": "Podmiot",
"aclAnonymous": "Anonimowi odwiedzający",
"aclEveryone": "Wszyscy pozostali",
"aclGroup": "grupa",
"aclPerm_read": "Odczyt",
"aclPerm_create": "Tworzenie",
"aclPerm_update": "Modyfikacja",
"aclPerm_delete": "Usuwanie",
"loop": "Powtarzaj",
"modelViewer": "Przeglądarka modeli 3D",
"modelLoadFailed": "Nie udało się załadować modelu 3D",
"activityDes": "Zarejestrowane akcje na {{name}}.",
"selectDownloadRoute": "Wybierz trasę pobierania",
"downloadRouteDirect": "Bezpośrednia",
"downloadRouteDirectDescription": "Pobierz bezpośrednio z tej strony",
"lineEnding": "Koniec linii",
"downloadAll": "Pobierz wszystko",
"dirPolicyTitle": "Polityka przechowywania dla przesyłania",
"dirPolicyDes": "Nowe pliki przesłane do „{{name}}” będą używać wybranej polityki przechowywania.",
"relocateTitle": "Przeniesienie magazynu",
"relocateDes": "Przenieś fizyczną zawartość „{{name}}” do wybranej polityki przechowywania.",
"relocateSubmitted": "Zadanie przeniesienia przesłane",
"relocateStart": "Przenieś",
"policySaved": "Polityka przechowywania zaktualizowana",
"policyInherit": "Dziedzicz (nadrzędna lub grupowa domyślna)",
"policyGroupDefault": "Domyślna grupowa"
},
"modals": {
"includePasswordInShareLink": "Dołącz hasło do linku udostępniania",
@ -613,7 +672,42 @@
"notSet": "Nieustawione",
"deleteViewSetting": "Usuń ustawienia widoku",
"anonymous": "Anonimowy",
"shareTargetsCount": "{{count}} cele"
"shareTargetsCount": "{{count}} cele",
"paidShare": "Płatne udostępnienie",
"paidSharePrice": "{{price}} punktów",
"paidShareDes": "Odwiedzający muszą kupić to udostępnienie za punkty kredytowe przed pobraniem. Ustaw 0 dla darmowego udostępnienia.",
"paidSharePriceLabel": "Cena (punkty)",
"nameConflict": "Konflikt nazw",
"conflictOverwriteDes": "Zastąp istniejące elementy w miejscu docelowym.",
"conflictSkipDes": "Zachowaj istniejące elementy; elementy w konflikcie nie zostaną przeniesione ani skopiowane.",
"skip": "Pomiń",
"remoteDownloadFileName": "Nazwa pliku (opcjonalne)",
"remoteDownloadFileNameDescription": "Niestandardowa nazwa pliku wyjściowego",
"remoteDownloadHttpUser": "Nazwa użytkownika HTTP (opcjonalne)",
"remoteDownloadHttpPassword": "Hasło HTTP (opcjonalne)",
"remoteDownloadHeaders": "Nagłówki żądania (opcjonalne)",
"remoteDownloadProvider": "Pobierak",
"remoteDownloadProviderAuto": "Auto (dowolny węzeł)",
"remoteDownloadHeadersDescription": "Po jednym nagłówku na linię, np. Cookie: sid=...",
"allowUpload": "Zezwalaj na przesyłanie",
"allowUploadDes": "Odwiedzający mogą przesyłać nowe pliki i tworzyć foldery w tym udostępnionym folderze. Miejsce wlicza się do Twojego limitu.",
"allowEdit": "Zezwalaj na edycję",
"allowEditDes": "Odwiedzający mogą przesyłać, zmieniać nazwy, przenosić i usuwać pliki w tym udostępnionym folderze. Obejmuje uprawnienie do przesyłania.",
"uploadOnly": "Tylko przesyłanie (skrzynka)",
"uploadOnlyDes": "Odwiedzający mogą przesyłać pliki, ale nie mogą oglądać ani pobierać istniejącej zawartości tego udostępnionego folderu.",
"previewOnly": "Tylko podgląd",
"previewOnlyDes": "Odwiedzający mogą przeglądać pliki, ale nie mogą ich pobierać.",
"shareNote": "Notatka",
"shareNoteDes": "Prywatna notatka do identyfikacji tego udostępnienia. Widoczna tylko dla Ciebie w Moich udostępnieniach.",
"shareTargets": "Odbiorcy udostępnienia",
"shareTargetsCount_one": "{{count}} cel",
"shareTargetsCount_few": "{{count}} cele",
"shareTargetsCount_many": "{{count}} celów",
"shareTargetsCount_other": "{{count}} celu",
"publicListing": "W katalogu publicznym",
"publicListingDes": "Pokaż to udostępnienie na stronie Odkrywaj, widoczne dla każdego, w tym anonimowych odwiedzających. Niedostępne dla udostępnień chronionych hasłem.",
"hideReadme": "Ukryj plik readme",
"hideReadmeDes": "Nie pokazuj samego pliku README na liście udostępnienia. Odwiedzający nadal widzą wyrenderowany readme."
},
"uploader": {
"fileCopyName": "Kopia ",
@ -636,7 +730,7 @@
"preparing": "Przygotowywanie...",
"processing": "Przetwarzanie...",
"progressDescription": "Przesłano {{uploaded}}, łącznie {{total}} - {{percentage}}%",
"progressDescriptionFull": "Przesłano {{uploaded}}, łącznie {{total}} - {{percentage}}% ({{speed}})",
"progressDescriptionFull": "Przesłano {{uploaded}}, łącznie {{total}} - {{percentage}}% ({{speed}}){{eta}}",
"progressDescriptionPlaceHolder": " - przesłano",
"uploaded": "Przesłano",
"rootFolder": "Folder główny",
@ -695,7 +789,8 @@
"upyunUploadFailed": "Przesyłanie nie powiodło się: {{msg}}",
"parseResponseError": "Nie można przetworzyć odpowiedzi: {{msg}} ({{content}})",
"concurrentTaskNumber": "Limit jednoczesnych zadań",
"dropFileHere": "Upuść plik, aby przesłać"
"dropFileHere": "Upuść plik, aby przesłać",
"etaSuffix": ", ETA {{eta}}"
},
"share": {
"statistics": "Statystyki",
@ -739,7 +834,19 @@
"preview": "Podgląd",
"incorrectPassword": "Hasło nieprawidłowe.",
"shareNotExist": "Link udostępniania jest nieprawidłowy lub wygasł.",
"copyLinkToClipboard": "Kopiuj link do schowka"
"copyLinkToClipboard": "Kopiuj link do schowka",
"paidShareDes": "To jest płatne udostępnienie. Zakup kosztuje {{price}} punktów i odblokowuje pobieranie.",
"purchaseForPoints": "Kup za {{price}} pkt",
"signInToPurchase": "Zaloguj się, aby kupić",
"yourBalance": "Saldo: {{credits}} punktów",
"saveToMyFiles": "Zapisz w moich plikach",
"savedToMyFiles": "Udostępnienie zapisane w Twoich plikach.",
"saveShareLink": "Zapisz link udostępnienia",
"saveShareLinkHint": "Wklej link udostępnienia, np. https://example.com/s/abc123",
"shareLink": "Link udostępnienia",
"savedAs": "Zapisz jako (opcjonalne)",
"sharePasswordRequired": "To udostępnienie wymaga hasła.",
"invalidShareLink": "Nie można przeanalizować tego linku udostępnienia."
},
"download": {
"noFilesFound": "Nie znaleziono plików",
@ -985,7 +1092,81 @@
"relocateFileTo": "Zmień politykę przechowywania na {{policy}} dla <0></0>{{more}}",
"extractFileTo": "Rozpakuj <0></0>{{more}} do <1></1>",
"createArchiveTo": "Utwórz plik archiwum w <1></1> dla <0></0>{{more}}",
"importFileTo": "Importuj pliki z {{policy}} do <0></0>"
"importFileTo": "Importuj pliki z {{policy}} do <0></0>",
"preferredViewers": "Domyślne aplikacje",
"preferredViewersDes": "Aplikacje wybrane z „Zawsze” w oknie otwierania. Obowiązują na wszystkich Twoich urządzeniach; usuń, aby zapytano ponownie.",
"preferredViewersEmpty": "Brak zapisanych domyślnych aplikacji. Wybierz „Zawsze” w oknie otwierania pliku.",
"trashRetention": "Czas przechowywania w koszu (dni)",
"trashRetentionDes": "Liczba dni, przez które plik pozostaje w koszu przed automatycznym usunięciem. 0 dziedziczy domyślne ustawienie grupy. Dotyczy plików przeniesionych do kosza po zmianie.",
"linkedAccounts": "Połączone konta",
"providerQQ": "QQ",
"unlinkAccount": "Odłącz",
"unlinkAccountConfirm": "Czy na pewno chcesz odłączyć to konto? Nie będziesz już mógł się przez nie logować.",
"linkQQAccount": "Połącz konto QQ",
"providerWeChat": "WeChat",
"linkWeChatAccount": "Połącz konto WeChat",
"phoneBinding": "Powiązanie telefonu",
"bindPhone": "Powiąż telefon",
"unbindPhone": "Odwiąż",
"unbindPhoneConfirm": "Czy na pewno chcesz odwiązać ten numer telefonu? Nie będziesz już mógł się przez niego logować ani resetować hasła.",
"changeEmail": "Zmień",
"changeEmailDes": "Link potwierdzający zostanie wysłany na nowy adres. Twój obecny adres ({{email}}) pozostaje aktywny do potwierdzenia.",
"newEmail": "Nowy adres e-mail",
"changeEmailPasswordDes": "Wpisz obecne hasło, aby potwierdzić.",
"emailChangeSent": "E-mail potwierdzający wysłany na nowy adres.",
"copySecret": "Nie możesz zeskanować? Kliknij, aby skopiować klucz konfiguracji",
"secretCopied": "Klucz konfiguracji skopiowany",
"shareSiteDefault": "Domyślne strony",
"shareSiteDefaultDes": "Stosuj domyślne ustawienie dla całej strony skonfigurowane przez administratora.",
"shareDefaultPrivate": "Domyślna prywatność udostępnienia",
"shareDefaultPrivateDes": "Nowe udostępnienia są domyślnie prywatne (chronione hasłem).",
"sharePrivateOn": "Prywatne",
"sharePrivateOff": "Publiczne",
"preferredPolicy": "Preferowana polityka przechowywania",
"preferredPolicyDes": "Nowe przesyłania w Twoich plikach używają tej polityki przechowywania, chyba że folder ją zastępuje.",
"policySaved": "Polityka przechowywania zaktualizowana",
"policyInherit": "Dziedzicz (domyślna grupowa)",
"policyGroupDefault": "Domyślna grupowa",
"creditBalance": "Saldo punktów",
"storageBonus": "Bonus miejsca",
"dlTraffic": "Ruch bezpośrednich linków",
"dlTrafficUnlimited": "Bez limitu",
"activeGrants": "Aktywne korzyści",
"grantStorage": "Miejsce",
"grantGroup": "Grupa",
"redeemGiftCode": "Zrealizuj kod prezentowy",
"redeemGiftCodeDes": "Wpisz kod prezentowy, aby otrzymać punkty lub korzyści",
"giftCodePlaceholder": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"redeem": "Zrealizuj",
"giftCodeRedeemed": "Kod prezentowy zrealizowany",
"creditLedger": "Historia punktów",
"txnChange": "Zmiana",
"txnTime": "Czas",
"txnReason": "Powód",
"noTxns": "Brak transakcji",
"txnType": {
"purchase": "Zakup w sklepie",
"gift": "Kod prezentowy",
"share_income": "Zakup udostępnienia",
"adjust": "Ręczna korekta"
},
"tags": "Tagi",
"tagsDes": "Zmień nazwę, kolor lub usuń tag we wszystkich plikach. Zmiana nazwy na istniejący tag je scala.",
"tagName": "Tag",
"tagFiles": "Pliki",
"tagActions": "Akcje",
"noTags": "Brak tagów",
"editTag": "Edytuj tag",
"deleteTag": "Usuń tag",
"deleteTagDes": "Usunąć tag „{{name}}” z {{count}} pliku/ów? Same pliki zostają zachowane.",
"tagUpdated": "Tag zaktualizowany",
"tagDeleted": "Tag usunięty",
"tagNameInvalid": "Nazwa tagu nie może być pusta ani zawierać „:”",
"backup2FACodes": "Kody odzyskiwania",
"backupCodesDes": "Kody odzyskiwania pozwalają się zalogować, gdy authenticator jest niedostępny. Wygenerowanie nowej partii unieważnia wszystkie poprzednie kody.",
"backupCodesWarning": "Zapisz te kody teraz. Każdy można użyć raz i nie zostaną pokazane ponownie.",
"copyCodes": "Kopiuj kody",
"finance": "Finanse"
},
"vas": {
"points": "Punkty",
@ -1004,5 +1185,43 @@
],
"reportDescription": "Dodatkowy opis",
"reportAbuseSuccess": "Zgłoszenie przesłane."
},
"vault": {
"title": "Przestrzeń prywatna",
"description": "Pliki w Twojej przestrzeni prywatnej są ukryte przed przeglądaniem i wyszukiwaniem, dopóki nie odblokujesz jej osobnym hasłem. Plików z przestrzeni prywatnej nie można udostępniać ani otwierać przez WebDAV.",
"enable": "Włącz przestrzeń prywatną",
"enabled": "Przestrzeń prywatna włączona",
"disable": "Wyłącz",
"disabled": "Przestrzeń prywatna wyłączona",
"disableDescription": "Wyłączenie usuwa blokadę; folder i jego zawartość pozostają zwykłymi plikami.",
"confirmDisable": "Potwierdź wyłączenie",
"setPassword": "Ustaw hasło przestrzeni prywatnej",
"confirmPassword": "Hasło przestrzeni prywatnej",
"enterPassword": "Hasło przestrzeni prywatnej",
"lockNow": "Zablokuj teraz",
"locked": "Przestrzeń prywatna zablokowana",
"unlocked": "Odblokowano",
"lockedState": "Zablokowano",
"lockedTitle": "Ten folder znajduje się w Twojej przestrzeni prywatnej. Odblokuj, aby kontynuować.",
"badge": "Przestrzeń prywatna"
},
"shop": {
"memberships": "Członkostwa",
"storagePacks": "Pakiety miejsca",
"trafficPacks": "Pakiety ruchu",
"redeem": "Zrealizuj",
"balance": "Saldo: {{credits}} pkt",
"purchased": "Zakupiono: {{name}}",
"permanent": "Dożywotnio",
"noProducts": "Brak dostępnych produktów",
"buyWithPoints": "Kup za {{points}} pkt",
"pointsUnavailable": "Niedostępne za punkty"
},
"announcement": {
"title": "Ogłoszenie",
"dontShowAgain": "Nie pokazuj ponownie"
},
"discover": {
"searchPlaceholder": "Szukaj w udostępnieniach publicznych"
}
}

@ -34,7 +34,9 @@
"human": "Jestem człowiekiem",
"verifying": "Weryfikacja...",
"verified": "Jesteś człowiekiem"
}
},
"verify": "Kliknij, aby zweryfikować",
"verified": "Zweryfikowano"
},
"errors": {
"401": "Zaloguj się.",
@ -54,7 +56,7 @@
"40014": "Przekroczono limit rozmiaru partii pobierania linków źródłowych.",
"40015": "Przekroczono limit rozmiaru partii aria2.",
"40016": "Nie znaleziono ścieżki.",
"40017": "To konto zostało zablokowane.",
"40017": "To konto zostało zablokowane. {{message}}",
"40018": "To konto nie jest aktywowane.",
"40019": "Ta funkcja nie jest włączona.",
"40020": "Nieprawidłowe lub wygasłe dane uwierzytelniające.",
@ -103,5 +105,6 @@
"50010": "Żądany węzeł jest niedostępny.",
"50011": "Nie udało się pobrać metadanych pliku."
},
"save": "Zapisz"
"save": "Zapisz",
"delete": "Usuń"
}

@ -752,7 +752,8 @@
"report_abuse": "Zgłoś nadużycie",
"oauth_grant_create": "Autoryzacja aplikacji OAuth",
"oauth_token_exchange": "Wymiana tokenów OAuth",
"oauth_grant_revoke": "Cofnięcie autoryzacji aplikacji OAuth"
"oauth_grant_revoke": "Cofnięcie autoryzacji aplikacji OAuth",
"content_audit_blocked": "Udostępnienie zablokowane przez audyt treści"
},
"server": "Serwer",
"tempPath": "Ścieżka tymczasowa",
@ -820,7 +821,91 @@
"ftsTikaExts": "Obsługiwane rozszerzenia",
"ftsTikaExtsDes": "Lista rozszerzeń plików oddzielonych przecinkami. Tika będzie przetwarzać pliki tych typów.",
"ftsTikaMaxFileSize": "Maksymalny rozmiar pliku",
"ftsTikaMaxFileSizeDes": "Maksymalny rozmiar pliku do wysłania do Tika w celu wyodrębnienia zawartości."
"ftsTikaMaxFileSizeDes": "Maksymalny rozmiar pliku do wysłania do Tika w celu wyodrębnienia zawartości.",
"navItemVisibility": "Widoczność",
"navScopePublic": "Wszyscy",
"navScopeUser": "Zalogowani użytkownicy",
"uploadDedupScope": "Zakres wykrywania duplikatów",
"uploadDedupScopeDes": "Gdy klient wysyła skrót zawartości, serwer szuka identycznego ukończonego pliku i natychmiast materializuje przesyłanie bez transferu bajtów.",
"uploadDedupScope_off": "Wyłączone",
"uploadDedupScope_offDes": "Bez wykrywania duplikatów; każdy przesył transferuje bajty.",
"uploadDedupScope_owner": "Ten sam użytkownik",
"uploadDedupScope_ownerDes": "Deduplikacja tylko wobec plików, które już należą do przesyłającego użytkownika.",
"uploadDedupScope_global": "Globalnie",
"uploadDedupScope_globalDes": "Deduplikacja wobec wszystkich ukończonych plików na tej stronie.",
"translations": "Tłumaczenia",
"translationsDes": "Nadpisania dla każdego języka. Pozostaw puste, aby użyć wartości domyślnej. Użytkownicy widzą wariant pasujący do ustawienia języka lub języka przeglądarki.",
"invitationCodeRequired": "Wymagaj kodu zaproszenia",
"invitationCodeRequiredDes": "Nowe rejestracje muszą podać ważny kod zaproszenia. Kody zarządza się w Użytkownicy — Kody zaproszeń.",
"smtpAuthMethod": "Metoda uwierzytelniania SMTP",
"smtpAuthMethodDes": "Automatyczne wykrywanie wybiera tylko bezpieczne mechanizmy i nigdy nie wysyła poświadczeń jawnym tekstem przez niezaszyfrowane połączenia. Jeśli Twój serwer oferuje tylko PLAIN/LOGIN bez szyfrowania, wybierz odpowiednią metodę „-noenc” — poświadczenia będą wtedy przesyłane niezaszyfrowane.",
"smtpAuth_autodiscover": "Automatyczne wykrywanie",
"smtpAuth_plain": "PLAIN",
"smtpAuth_plain_noenc": "PLAIN (bez szyfrowania)",
"smtpAuth_login": "LOGIN",
"smtpAuth_login_noenc": "LOGIN (bez szyfrowania)",
"smtpAuth_cram_md5": "CRAM-MD5",
"smtpAuth_scram_sha_1": "SCRAM-SHA-1",
"smtpAuth_scram_sha_256": "SCRAM-SHA-256",
"smtpAuth_xoauth2": "XOAUTH2",
"smtpAuth_noauth": "Bez uwierzytelniania",
"tcaptcha": "Tencent Captcha",
"tcaptchaAppId": "CaptchaAppId",
"tcaptchaAppSecretKey": "AppSecretKey",
"tcaptchaSecretId": "SecretId",
"tcaptchaSecretKey": "SecretKey",
"tcaptchaDes": "Pobierz CaptchaAppId i AppSecretKey z <0>konsoli Tencent Captcha</0>.",
"tcaptchaSecretDes": "SecretId i SecretKey poświadczeń API Tencent Cloud używane do wywołania DescribeCaptchaResult.",
"trafficProductSettings": "Produkt ruchu",
"trafficProductsDes": "Skonfiguruj produkty, które użytkownicy mogą kupić, aby doładować limit ruchu bezpośrednich linków.",
"auditRetentionDays": "Czas przechowywania (dni)",
"auditRetentionDaysDes": "Usuń zdarzenia starsze niż ta liczba dni. 0 przechowuje zdarzenia bezterminowo.",
"ssoIssuer": "URL wystawcy",
"ssoIssuerDes": "Bazowy URL wystawcy OIDC, np. <0>https://keycloak.example.com/realms/master</0>. Metadane dostawcy są pobierane z <1>.well-known/openid-configuration</1> pod tym adresem URL.",
"ssoRegisterEnabled": "Zezwalaj na automatyczną rejestrację",
"ssoRegisterEnabledDes": "Automatycznie utwórz lokalne konto, gdy użytkownik loguje się przez SSO po raz pierwszy. Filtr e-mail rejestracji poniżej również ma zastosowanie.",
"downloadCdnRoutes": "Trasy pobierania CDN",
"downloadCdnRoutesDes": "Alternatywne punkty końcowe pobierania oferowane użytkownikom, po jednym na linię w formacie name=url (np. Linia 1=https://cdn1.example.com). Trasy muszą proxyować pełną ścieżkę i parametry z powrotem na tę stronę, aby podpisane URL-e pozostały ważne; do pobierania w przeglądarce wymagane są nagłówki CORS.",
"downloadCdnShuffle": "Tasuj trasy pobierania",
"downloadCdnShuffleDes": "Losowo rozdzielaj każdy wygenerowany link pobierania między URL strony i wszystkie skonfigurowane trasy CDN, aby eksporty wsadowe do menedżerów pobierania trafiały do różnych punktów. Ręczny wybór trasy jest ukryty, gdy włączone.",
"ssoAutoRedirect": "Automatyczne przekierowanie do SSO",
"ssoAutoRedirectDes": "Pomiń formularz logowania i kieruj odwiedzających prosto do dostawcy tożsamości. Dodaj <0>?nosso=1</0> do URL logowania, aby dotrzeć do formularza hasła (np. w celu odzyskania konta administratora).",
"ssoCallbackUrl": "URL wywołania zwrotnego",
"ssoCallbackUrlDes": "Zarejestruj ten URL jako redirect/callback URL u swojego dostawcy tożsamości: <0>{{url}}</0>",
"qqConnect": "QQ Connect",
"qqAppID": "App ID",
"qqAppIDDes": "App ID aplikacji internetowej utworzonej w <0>konsoli QQ Connect</0> (connect.qq.com).",
"qqAppSecret": "App Key",
"qqCallbackUrl": "URL wywołania zwrotnego",
"qqCallbackUrlDes": "Zarejestruj ten URL jako domenę/URL wywołania zwrotnego w konsoli QQ Connect: <0>{{url}}</0>",
"qqRegisterEnabled": "Zezwalaj na automatyczną rejestrację",
"qqRegisterEnabledDes": "Automatycznie utwórz lokalne konto, gdy użytkownik loguje się przez QQ po raz pierwszy. QQ nie podaje adresu e-mail, dlatego utworzone konta używają syntetycznego adresu @connect.qq.local.",
"wechatConnect": "Logowanie skanem WeChat",
"wechatAppID": "App ID",
"wechatAppIDDes": "AppID aplikacji internetowej utworzonej na <0>WeChat Open Platform</0> (open.weixin.qq.com).",
"wechatAppSecret": "App Secret",
"wechatCallbackUrl": "URL wywołania zwrotnego",
"wechatCallbackUrlDes": "Zarejestruj domenę tego URL jako domenę wywołania zwrotnego autoryzacji w konsoli WeChat Open Platform: <0>{{url}}</0>",
"wechatRegisterEnabled": "Zezwalaj na automatyczną rejestrację",
"wechatRegisterEnabledDes": "Automatycznie utwórz lokalne konto, gdy użytkownik loguje się przez WeChat po raz pierwszy. WeChat nie podaje adresu e-mail, dlatego utworzone konta używają syntetycznego adresu @connect.wechat.local.",
"smsSignIn": "Logowanie przez SMS",
"smsEndpoint": "Punkt końcowy bramy",
"smsEndpointDes": "Punkt końcowy HTTP Twojego dostawcy SMS. Symbole <0>{phone}</0> i <0>{code}</0> są zastępowane przed każdym żądaniem.",
"smsMethodDes": "Metoda HTTP używana do żądania bramy. Dla GET symbole są renderowane tylko w URL punktu końcowego.",
"smsHeaders": "Nagłówki żądania",
"smsHeadersDes": "Po jednej parze `Key: Value` na linię, np. Authorization: Bearer <token>.",
"smsBodyTemplate": "Szablon treści żądania",
"smsBodyTemplateDes": "Treść wysyłana dla żądań POST. Symbole <0>{phone}</0> i <0>{code}</0> są zastępowane przed każdym żądaniem.",
"smsRegisterEnabled": "Zezwalaj na automatyczną rejestrację",
"smsRegisterEnabledDes": "Automatycznie utwórz lokalne konto, gdy użytkownik loguje się przez kod SMS po raz pierwszy. Utworzone konta używają syntetycznego adresu @sms.local.",
"themeVisible": "Widoczny",
"shareDefaultPrivate": "Prywatne udostępnienie domyślnie",
"shareDefaultPrivateDes": "Nowe udostępnienia są domyślnie prywatne (chronione hasłem). Użytkownicy mogą to zmienić w ustawieniach osobistych.",
"defaultShareLinksInProfile": "Domyślna widoczność udostępnień w profilu",
"defaultShareLinksInProfileDes": "Steruje, które udostępnienia pojawiają się na publicznej stronie profilu użytkownika, gdy sam ich nie wybierze.",
"profileSharePublicOnly": "Tylko udostępnienia bez hasła",
"profileShareAll": "Wszystkie udostępnienia",
"profileShareHide": "Ukryj wszystkie udostępnienia"
},
"giftCodes": {
"giftCodesSettings": "Kody podarunkowe",
@ -851,7 +936,11 @@
"copyAndClose": "Skopiuj i zamknij",
"duratonTimes": "Ilość",
"duratonTimesDes": "Jaka ilość produktu jest zawarta w każdym kodzie podarunkowym.",
"unknownProduct": "Nieznany produkt"
"unknownProduct": "Nieznany produkt",
"giftCodeTypeTraffic": "Ruch bezpośrednich linków",
"giftCodeDeleteFailed": "Nie udało się usunąć kodu prezentowego",
"giftCodeCreateFailed": "Nie udało się wygenerować kodów prezentowych",
"giftCodeAmountHelp": "Kwota przyznawana na kod"
},
"policy": {
"acceleratedDomainUpload": "Użyj domeny przyspieszenia transferu do przesyłania",
@ -1145,7 +1234,38 @@
"fileEncryption": "Szyfrowanie plików",
"enableFileEncryption": "Włącz szyfrowanie plików",
"enableFileEncryptionDes": "Gdy włączone, bloby plików będą przechowywane zaszyfrowane. Zmiana tego ustawienia wpływa tylko na nowo dodane pliki.",
"encryptedFile": "Zaszyfrowane pliki"
"encryptedFile": "Zaszyfrowane pliki",
"thumbForceProxy": "Wymuś generowanie miniatur przez proxy",
"thumbForceProxyDes": "Zawsze generuj miniatury przez lokalny potok proxy, nawet gdy backend magazynu udostępnia natywne API miniatur. Obejmuje generowanie miniatur przez proxy.",
"thumbStoragePolicy": "Polityka przechowywania miniatur",
"thumbStoragePolicySource": "Jak plik",
"thumbStoragePolicyDes": "Wygenerowane miniatury są przechowywane w wybranej polityce zamiast polityki samego pliku.",
"blobAudit": "Audyt blobów: {{name}}",
"blobAuditDes": "Skanuje backend magazynu i wymienia fizyczne obiekty, do których nie odnosi się żaden rekord pliku. Przydatne do znajdowania porzuconych blobów po nieudanych transferach.",
"blobAuditDelete": "Usuń porzucone bloby",
"blobAuditDeleteWarning": "Porzucone obiekty zostaną trwale usunięte z backendu magazynu. Pliki w trakcie przesyłania mogą wyglądać jak porzucone — włącz tylko, gdy masz pewność, że nie trwają przesyłania.",
"blobAuditStart": "Rozpocznij audyt",
"blobAuditSubmitted": "Zadanie audytu blobów dodane do kolejki.",
"maxTotalSize": "Maks. całkowita pojemność",
"maxTotalSizeDes": "Maksymalna łączna liczba bajtów przechowywanych w tej polityce. Przesłania i kopie, które przekroczyłyby limit, są odrzucane. 0 oznacza brak limitu.",
"overflowPolicy": "Polityka przepełnienia",
"overflowPolicyDes": "Gdy w tej polityce brakuje miejsca, nowe przesyłania trafiają do wybranej polityki. Obsługiwane są łańcuchy polityk.",
"auditEndpoint": "Punkt końcowy audytu treści",
"auditEndpointDes": "Punkt końcowy HTTP do audytu treści (np. moderacja obrazów). Po ustawieniu udostępnienie pliku przechowywanego w tej polityce wysyła jego treść metodą POST do punktu; odpowiedź {\"flagged\":true} blokuje udostępnienie. Pozostaw puste, aby wyłączyć.",
"auditMaxSize": "Limit rozmiaru audytu",
"auditMaxSizeDes": "Maksymalny rozmiar encji wysyłanej do punktu audytu. Większe pliki są pomijane. 0 oznacza brak limitu.",
"overflowNone": "Brak",
"allowNativeName": "Zezwalaj na natywne znaki w nazwach plików",
"allowNativeNameDes": "Zezwalaj na znaki zakazane tylko w systemach plików Windows (: * ? \" < > |) w nazwach plików. Może zepsuć klientów montujących na Windows. Separatory ścieżek pozostają zabronione.",
"status": "Status",
"statusDes": "Zawieszone polityki nadal obsługują istniejące pliki, ale odrzucają nowe przesyłania.",
"loadBalance": "Równoważenie obciążenia",
"lbChildren": "Polityki podrzędne",
"lbChildPolicy": "Polityka przechowywania",
"lbWeight": "Waga",
"lbAddChild": "Dodaj politykę podrzędną",
"lbChildrenDes": "Nowe przesyłania są rozdzielane między polityki podrzędne proporcjonalnie do ich wagi.",
"lbWizardDes": "Polityka równoważenia rozdziela przesyłania między polityki podrzędne z uwzględnieniem wagi. Podrzędne konfiguruje się po utworzeniu."
},
"node": {
"slave": "podrzędny",
@ -1215,7 +1335,11 @@
"hostHeaderHint": "Jeśli wystąpi błąd podpisu, sprawdź, czy odwrotny serwer proxy przed węzłem przekazuje nagłówek <0>Host</0>.",
"features": "Włączone funkcje",
"remoteDownload": "Zdalne pobieranie",
"refresh": "Odśwież"
"refresh": "Odśwież",
"ytdlpDes": "Uruchamiaj yt-dlp na docelowym węźle z tym samym użytkownikiem/poziomem dostępu co Cloudreve. yt-dlp jest wywoływany jako proces CLI dla każdego zadania — demon nie jest wymagany.",
"ytdlpOptionDes": "Dodatkowe flagi CLI yt-dlp przy tworzeniu zadania pobierania, zapisane w formacie JSON klucz-wartość — klucze stają się argumentami --flag dosłownie, patrz <0>referencja opcji yt-dlp</0>.",
"ytdlpBinary": "Plik binarny yt-dlp",
"ytdlpBinaryDes": "Ścieżka lub nazwa pliku wykonywalnego yt-dlp na węźle. Domyślnie yt-dlp z PATH."
},
"group": {
"countUser": "Liczba",
@ -1302,7 +1426,37 @@
"notCopy": "Nie kopiuj",
"confirmDelete": "Czy na pewno chcesz usunąć grupę {{group}}?",
"new": "Nowa grupa",
"editGroup": "Edytuj {{group}}"
"editGroup": "Edytuj {{group}}",
"loginIPWhitelist": "Biała lista IP logowania",
"loginIPWhitelistDes": "Ogranicz logowanie do tych IP lub zakresów CIDR, po jednym na linię. Pozostaw puste, aby zezwolić na wszystkie.",
"delegatedAdmin": "Delegowane sekcje panelu",
"delegatedAdminDes": "Przyznaj dostęp tylko do wybranych sekcji panelu. Użytkownicy tej grupy mogą otworzyć panel administratora, ale działają tylko włączone sekcje — wszystkie inne wywołania admin API są odrzucane.",
"sectionUsers": "Użytkownicy",
"sectionGroups": "Grupy",
"sectionFiles": "Pliki i bloby",
"sectionShares": "Udostępnienia",
"sectionStorage": "Polityki przechowywania i węzły",
"sectionQueue": "Kolejka zadań",
"sectionSettings": "Ustawienia strony i OAuth",
"sectionPayment": "Płatności",
"sectionEvents": "Zdarzenia",
"sectionReports": "Zgłoszenia nadużyć",
"shareSell": "Sprzedaż linków udostępnienia",
"shareSellDes": "Gdy włączone, użytkownicy mogą ustawić cenę w punktach dla tworzonych linków udostępnienia.",
"wabDAVReadOnly": "WebDAV tylko do odczytu",
"wabDAVReadOnlyDes": "Gdy włączone, montowania WebDAV dla użytkowników tej grupy stają się tylko do odczytu — przesyłania, usunięcia, przenoszenia i inne metody zapisu są odrzucane.",
"aria2TaskLimit": "Maks. jednoczesnych zadań zdalnego pobierania",
"aria2TaskLimitDes": "Maks. liczba aktywnych zadań zdalnego pobierania na użytkownika (w kolejce, uruchomione lub wstrzymane). 0 = brak limitu.",
"aria2MaxFileSize": "Maks. rozmiar zadania pobierania (bajty)",
"aria2MaxFileSizeDes": "Zadania zdalnego pobierania, których rozmiar całkowity przekracza ten limit, są przerywane. 0 = brak limitu.",
"setExplicitUser": "Ustawianie uprawnień do plików",
"setExplicitUserDes": "Członkowie mogą ustalać szczegółowe uprawnienia do odczytu/tworzenia/modyfikacji/usuwania plików i folderów, których są właścicielami, dla konkretnych użytkowników, grup, anonimowych odwiedzających lub wszystkich pozostałych.",
"switchablePolicies": "Przełączalne polityki przechowywania",
"switchablePoliciesDes": "Polityki, na które członkowie tej grupy mogą swobodnie przełączać. Polityka domyślna powyżej jest zawsze dostępna.",
"weightedPolicies": "Ważony wybór polityk",
"weightedPoliciesDes": "Gdy włączone, przesyłania bez jawnego wyboru polityki są kierowane do dozwolonej polityki z największą wolną pojemnością mieszczącą plik. Ważone są tylko polityki z całkowitym limitem pojemności.",
"sharePublicList": "Publiczny katalog udostępnień",
"sharePublicListDes": "Gdy włączone, użytkownicy mogą opcjonalnie dodawać swoje linki udostępnienia do publicznego katalogu (strona Odkrywaj). Udostępnienia chronione hasłem nie mogą być wymienione."
},
"user": {
"createdAt": "Utworzono",
@ -1351,7 +1505,34 @@
"deleteXUsers": "Usuń {{num}} użytkowników",
"confirmBatchDelete": "Czy na pewno chcesz usunąć {{num}} użytkowników?",
"calibrateStorage": "Kalibruj pamięć",
"calibrateStorageSuccess": "Pamięć skalibrowana pomyślnie."
"calibrateStorageSuccess": "Pamięć skalibrowana pomyślnie.",
"relocateFiles": "Przenieś pliki",
"banExpires": "Ban wygasa",
"banExpiresDes": "Opcjonalne. Ban zostaje automatycznie zdjęty po tym czasie; puste oznacza dożywotnio.",
"banReason": "Powód bana",
"banReasonDes": "Opcjonalne. Pokazywane użytkownikowi przy odrzuceniu zablokowanego logowania.",
"lastLogin": "Ostatnie logowanie",
"uids": "ID użytkowników",
"uidsPlaceholder": "ID oddzielone przecinkami, np. 2,3,5",
"editXUsers": "Edytuj {{num}} użytkowników",
"batchEditXUsers": "Masowo edytuj {{num}} użytkowników",
"noChange": "Bez zmian",
"invitationCodes": "Kody zaproszeń",
"invitationCodesDes": "Kody, które mogą być wymagane przy publicznej rejestracji. Twórz, udostępniaj i odwołuj je tutaj.",
"invitationCode": "Kod",
"invitationCodeAuto": "Auto-generuj",
"invitationCodeGroup": "Grupa",
"invitationCodeMaxUses": "Maks. użyć",
"invitationCodeExpires": "Wygasa",
"invitationCodeUses": "Użycia",
"invitationCodeCreated": "Kod zaproszenia utworzony.",
"invitationCodeCopied": "Kod skopiowany do schowka.",
"invitationCodeCopy": "Kopiuj",
"invitationCodeDefaultGroup": "Domyślna",
"noInvitationCodes": "Brak kodów zaproszeń.",
"loadMore": "Wczytaj więcej",
"additionalGroups": "Dodatkowe grupy",
"additionalGroupsDes": "Dodatkowe członkostwa w grupach ponad grupę główną. Uprawnienia, limity i polityki przechowywania są sumowane ze wszystkich grup."
},
"file": {
"deleteXFiles": "Usuń {{num}} plików",
@ -1423,7 +1604,15 @@
"shareLinkExisted": "Posiada link udostępniania",
"directLinkExisted": "Posiada link bezpośredni",
"isUploading": "Jest przesyłany",
"selectUser": "Wybierz użytkownika"
"selectUser": "Wybierz użytkownika",
"referenceCount": "Liczba odwołań",
"awaitingRecycle": "Oczekuje na recykling",
"refCountGt": "Większe niż",
"refCountLt": "Mniejsze niż",
"refCountEq": "Równe",
"deletedState": "Stan usunięcia",
"liveOnly": "Tylko aktywne pliki",
"trashOnly": "Tylko kosz"
},
"entity": {
"refenenceCount": "Liczba odniesień",
@ -1434,7 +1623,15 @@
"confirmBatchDelete": "Czy na pewno chcesz usunąć {{num}} Blobów?",
"deleteXEntities": "Usuń {{num}} Blobów",
"forceDelete": "Wymuś usunięcie",
"forceDeleteDes": "Czy usunąć rekord Bloba niezależnie od tego, czy plik fizyczny został usunięty."
"forceDeleteDes": "Czy usunąć rekord Bloba niezależnie od tego, czy plik fizyczny został usunięty.",
"relocateXEntities": "Przenieś {{num}} blobów",
"relocateTitle": "Przenieś bloby",
"relocateEntitiesDes": "Przenieś dane {{num}} wybranych blobów do innej polityki przechowywania. Zadanie działa w tle i można je wznowić.",
"relocatePolicyDes": "Przenieś wszystkie bloby przechowywane w „{{name}}” do innej polityki przechowywania. Zadanie działa w tle i można je wznowić.",
"relocateUserDes": "Przenieś wszystkie bloby należące do „{{name}}” do innej polityki przechowywania. Zadanie działa w tle i można je wznowić.",
"relocatePolicy": "Zmigruj wszystkie bloby z {{name}} do innej polityki",
"relocateStart": "Rozpocznij przenoszenie",
"relocateSubmitted": "Zadanie przeniesienia przesłane"
},
"event": {
"cleanup": "Czyszczenie",
@ -1470,7 +1667,8 @@
"rawContent": "Surowa treść",
"confirmDelete": "Czy na pewno chcesz usunąć to zdarzenie?",
"deleteXEvents": "Usuń {{num}} zdarzeń",
"confirmBatchDelete": "Czy na pewno chcesz usunąć {{num}} zdarzeń?"
"confirmBatchDelete": "Czy na pewno chcesz usunąć {{num}} zdarzeń?",
"noEvents": "Brak zarejestrowanych zdarzeń"
},
"share": {
"confirmBatchDelete": "Czy na pewno chcesz usunąć {{num}} udostępnień?",
@ -1548,7 +1746,8 @@
"finished": "Zakończone",
"canceled": "Anulowane/Zatrzymane",
"unknown": "Nieznane",
"errorMsg": "Komunikat błędu"
"errorMsg": "Komunikat błędu",
"blobAudit": "Audyt blobów w polityce przechowywania #{{policyID}} ({{count}} porzuconych)"
},
"payment": {
"tradeNo": "Nr transakcji",
@ -1727,7 +1926,21 @@
"customPaymentEndpointDes": "URL do żądania podczas tworzenia zamówienia płatności.",
"appFeedback": "URL opinii",
"appForum": "URL forum użytkowników",
"appLinkDes": "Zostanie wyświetlony w kliencie mobilnym, pozostaw puste, aby ukryć element menu. To ustawienie zadziała tylko, jeśli licencja VOL jest ważna."
"appLinkDes": "Zostanie wyświetlony w kliencie mobilnym, pozostaw puste, aby ukryć element menu. To ustawienie zadziała tylko, jeśli licencja VOL jest ważna.",
"addTrafficPack": "Dodaj pakiet ruchu",
"editTrafficPack": "Edytuj pakiet ruchu",
"trafficSize": "Ilość ruchu (bajty)",
"trafficSizeDes": "Bajty ruchu bezpośrednich linków przyznawane przy zakupie; pakiety są dożywotnie.",
"subAddressChars": "Znaki subadresu",
"subAddressCharsDes": "Znaki traktowane jako separatory subadresu w lokalnej części e-mail (np. <code>+-.</code> dla aliasów w stylu Gmail/iCloud). Puste domyślnie to <code>+</code>.",
"manualAdjust": "Ręczna korekta punktów",
"adjustEmail": "E-mail użytkownika",
"adjustDelta": "Zmiana punktów",
"adjustDeltaDes": "Dodatnia dodaje punkty, ujemna odejmuje",
"adjustNote": "Notatka",
"adjustSubmit": "Zastosuj",
"adjustSuccess": "Punkty skorygowane",
"adjustFailed": "Nie udało się skorygować punktów"
},
"pro": {
"title": "Ekskluzywne funkcje edycji Pro",
@ -1757,6 +1970,27 @@
"reporterID": "ID Zgłaszającego",
"reportedUserID": "ID Zgłoszonego użytkownika",
"shareID": "ID Udostępnienia",
"reason": "Powód"
"reason": "Powód",
"target": "Cel",
"statusLabel": "Status",
"reportedAt": "Zgłoszono",
"actions": "Akcje",
"resolve": "Rozwiąż",
"dismiss": "Odrzuć",
"adminNote": "Notatka administratora",
"blockShare": "Zablokuj udostępniony link",
"noReports": "Brak zgłoszeń nadużyć",
"reviewSuccess": "Zgłoszenie zaktualizowane.",
"status": {
"open": "Otwarte",
"resolved": "Rozwiązane",
"dismissed": "Odrzucone",
"all": "Wszystkie"
},
"markAs": {
"resolved": "Rozwiąż zgłoszenie",
"dismissed": "Odrzuć zgłoszenie",
"open": "Otwórz zgłoszenie ponownie"
}
}
}

@ -52,7 +52,35 @@
"signingOut": "Saindo...",
"loggedOut": "Você saiu da conta",
"clickToRefresh": "Clique para atualizar o código",
"switchLanguage": "Mudar idioma"
"switchLanguage": "Mudar idioma",
"invitationCode": "Código de convite",
"phoneNumber": "Número de telefone",
"smsCode": "Código SMS",
"sendSmsCode": "Enviar código",
"resendSmsCode": "Reenviar ({{seconds}}s)",
"smsSignIn": "Entrar com SMS",
"resetViaSms": "Redefinir via SMS",
"emailChangedTitle": "E-mail alterado",
"emailChanged": "Seu endereço de e-mail foi alterado com sucesso.",
"signInWith": "Entrar com {{name}}",
"ssoFailed": "Falha no login único. Tente novamente ou use outro método de login.",
"ssoError": {
"generic": "Falha no login único. Tente novamente.",
"sso_not_configured": "O login único não está configurado. Contate o administrador.",
"sso_discovery_failed": "Não foi possível contatar o provedor de identidade. Tente novamente mais tarde.",
"sso_state_failed": "Não foi possível iniciar a sessão de login. Tente novamente.",
"sso_denied": "O login foi negado pelo provedor de identidade.",
"sso_invalid_response": "Resposta inválida do provedor de identidade.",
"sso_state_expired": "A sessão de login expirou. Tente novamente.",
"sso_exchange_failed": "Não foi possível concluir o login com o provedor de identidade.",
"sso_token_invalid": "Não foi possível verificar a resposta do provedor.",
"sso_no_email": "O provedor de identidade não retornou um endereço de e-mail.",
"sso_account_unavailable": "Nenhuma conta disponível para essa identidade. O cadastro pode estar restrito."
},
"browsePublicShares": "Navegar pelos compartilhamentos públicos",
"inputBackupCode": "Digite um dos seus códigos de recuperação",
"useBackupCode": "Usar um código de recuperação",
"use2FACode": "Usar código do autenticador"
},
"oauth": {
"authorize": "Autorizar aplicativo",
@ -147,7 +175,11 @@
"toDarkMode": "Escuro",
"toLightMode": "Claro",
"myProfile": "Meu perfil",
"dashboard": "Painel de controle"
"dashboard": "Painel de controle",
"shop": "Loja",
"addAccount": "Adicionar conta",
"signedOut": "Desconectado",
"discover": "Descobrir"
},
"fileManager": {
"continueInDesktop": "Autorização bem-sucedida, continue no cliente desktop.",
@ -488,7 +520,37 @@
"noEncryption": "Não criptografado",
"ftsStatus": "Índice de texto completo",
"ftsIndexed": "Indexado",
"ftsNotIndexed": "Não indexado"
"ftsNotIndexed": "Não indexado",
"aclDes": "Permissões detalhadas para \"{{name}}\". Entradas listadas sobrepõem as permissões padrão do link de compartilhamento para visitantes correspondentes.",
"aclSubject": "Sujeito",
"aclAnonymous": "Visitantes anônimos",
"aclEveryone": "Todos os demais",
"aclGroup": "grupo",
"aclPerm_read": "Ler",
"aclPerm_create": "Criar",
"aclPerm_update": "Atualizar",
"aclPerm_delete": "Excluir",
"loop": "Repetir",
"modelViewer": "Visualizador de modelos 3D",
"modelLoadFailed": "Falha ao carregar o modelo 3D",
"activityDes": "Ações registradas em {{name}}.",
"resetThumbnail": "Regerar miniatura quebrada",
"resetThumbnailRequested": "Regeração de miniatura solicitada.",
"noFileCanResetThumbnail": "Nenhum arquivo disponível para regenerar miniatura.",
"selectDownloadRoute": "Selecionar rota de download",
"downloadRouteDirect": "Direto",
"downloadRouteDirectDescription": "Baixar diretamente deste site",
"lineEnding": "Fim de linha",
"downloadAll": "Baixar tudo",
"dirPolicyTitle": "Política de armazenamento para uploads",
"dirPolicyDes": "Novos arquivos enviados para \"{{name}}\" usarão a política de armazenamento selecionada.",
"relocateTitle": "Realocar armazenamento",
"relocateDes": "Mover o conteúdo físico de \"{{name}}\" para a política de armazenamento selecionada.",
"relocateSubmitted": "Tarefa de realocação enviada",
"relocateStart": "Realocar",
"policySaved": "Política de armazenamento atualizada",
"policyInherit": "Herdar (usar padrão da pasta pai ou do grupo)",
"policyGroupDefault": "Padrão do grupo"
},
"modals": {
"includePasswordInShareLink": "Incluir senha no link de compartilhamento",
@ -665,7 +727,40 @@
"saved": "Salvo",
"notSet": "Não definido",
"deleteViewSetting": "Excluir configuração de visualização",
"shareTargetsCount": "{{count}} destinos"
"shareTargetsCount": "{{count}} destinos",
"paidShare": "Compartilhamento pago",
"paidSharePrice": "{{price}} pontos",
"paidShareDes": "Visitantes precisam comprar este compartilhamento com pontos de crédito antes de baixar. Defina 0 para um compartilhamento gratuito.",
"paidSharePriceLabel": "Preço (pontos)",
"nameConflict": "Conflito de nome",
"conflictOverwriteDes": "Substituir os itens existentes no destino.",
"conflictSkipDes": "Manter os itens existentes; itens em conflito não serão movidos nem copiados.",
"skip": "Pular",
"remoteDownloadFileName": "Nome do arquivo (opcional)",
"remoteDownloadFileNameDescription": "Nome de arquivo de saída personalizado",
"remoteDownloadHttpUser": "Usuário HTTP (opcional)",
"remoteDownloadHttpPassword": "Senha HTTP (opcional)",
"remoteDownloadHeaders": "Cabeçalhos da requisição (opcional)",
"remoteDownloadProvider": "Downloader",
"remoteDownloadProviderAuto": "Automático (qualquer nó)",
"remoteDownloadHeadersDescription": "Um cabeçalho por linha, ex.: Cookie: sid=...",
"allowUpload": "Permitir uploads",
"allowUploadDes": "Visitantes podem enviar novos arquivos e criar pastas nesta pasta compartilhada. O armazenamento conta na sua cota.",
"allowEdit": "Permitir edição",
"allowEditDes": "Visitantes podem enviar, renomear, mover e excluir arquivos nesta pasta compartilhada. Implica permissão de upload.",
"uploadOnly": "Apenas upload (caixa de depósito)",
"uploadOnlyDes": "Visitantes podem enviar arquivos, mas não podem ver nem baixar o conteúdo existente nesta pasta compartilhada.",
"previewOnly": "Apenas visualização",
"previewOnlyDes": "Visitantes podem visualizar arquivos inline, mas não podem baixá-los.",
"shareNote": "Nota",
"shareNoteDes": "Uma nota privada para identificar este compartilhamento. Visível apenas para você em Meus compartilhamentos.",
"shareTargets": "Destinos do compartilhamento",
"shareTargetsCount_one": "{{count}} destino",
"shareTargetsCount_other": "{{count}} destinos",
"publicListing": "Listar no diretório público",
"publicListingDes": "Mostrar este compartilhamento na página Descobrir, visível para qualquer pessoa, inclusive visitantes anônimos. Indisponível para compartilhamentos protegidos por senha.",
"hideReadme": "Ocultar arquivo readme",
"hideReadmeDes": "Mantenha o arquivo README fora da lista do compartilhamento. Visitantes ainda veem o readme renderizado."
},
"uploader": {
"fileCopyName": "Cópia de ",
@ -688,7 +783,7 @@
"preparing": "Preparando...",
"processing": "Processando...",
"progressDescription": "{{uploaded}} enviado, {{total}} total - {{percentage}}%",
"progressDescriptionFull": "{{uploaded}} enviado, {{total}} total - {{percentage}}% ({{speed}})",
"progressDescriptionFull": "{{uploaded}} enviado, {{total}} total - {{percentage}}% ({{speed}}){{eta}}",
"progressDescriptionPlaceHolder": " - enviado",
"uploaded": "Enviado",
"rootFolder": "Pasta raiz",
@ -747,7 +842,8 @@
"upyunUploadFailed": "Falha no envio: {{msg}}",
"parseResponseError": "Não foi possível analisar resposta: {{msg}} ({{content}})",
"concurrentTaskNumber": "Limite de tarefas simultâneas",
"dropFileHere": "Solte arquivo para enviar"
"dropFileHere": "Solte arquivo para enviar",
"etaSuffix": ", ETA {{eta}}"
},
"share": {
"free": "Grátis",
@ -794,7 +890,19 @@
"preview": "Visualizar",
"incorrectPassword": "Senha incorreta.",
"shareNotExist": "Link de compartilhamento é inválido ou expirado.",
"copyLinkToClipboard": "Copiar link para área de transferência"
"copyLinkToClipboard": "Copiar link para área de transferência",
"paidShareDes": "Este é um compartilhamento pago. A compra custa {{price}} pontos e desbloqueia os downloads.",
"purchaseForPoints": "Comprar por {{price}} pts",
"signInToPurchase": "Entre para comprar",
"yourBalance": "Saldo: {{credits}} pontos",
"saveToMyFiles": "Salvar nos meus arquivos",
"savedToMyFiles": "Compartilhamento salvo nos seus arquivos.",
"saveShareLink": "Salvar link de compartilhamento",
"saveShareLinkHint": "Cole um link de compartilhamento como https://example.com/s/abc123",
"shareLink": "Link de compartilhamento",
"savedAs": "Salvo como (opcional)",
"sharePasswordRequired": "Este compartilhamento exige uma senha.",
"invalidShareLink": "Não foi possível analisar este link de compartilhamento."
},
"download": {
"noFilesFound": "Nenhum arquivo encontrado",
@ -1058,7 +1166,80 @@
"relocateFileTo": "Realocar política de armazenamento para {{policy}} para <0></0>{{more}}",
"extractFileTo": "Extrair <0></0>{{more}} para <1></1>",
"createArchiveTo": "Criar arquivo comprimido para <1></1> para <0></0>{{more}}",
"importFileTo": "Importar arquivos de {{policy}} para <0></0>"
"importFileTo": "Importar arquivos de {{policy}} para <0></0>",
"preferredViewers": "Apps padrão",
"preferredViewersDes": "Apps escolhidos com \"Sempre\" no diálogo abrir com. Aplicam-se em todos os seus dispositivos; remova um para ser perguntado novamente.",
"preferredViewersEmpty": "Nenhum app padrão salvo ainda. Escolha \"Sempre\" no diálogo abrir com em um arquivo.",
"trashRetention": "Retenção da lixeira (dias)",
"trashRetentionDes": "Dias que um arquivo fica na lixeira antes da exclusão automática. 0 herda o padrão do grupo. Aplica-se a arquivos movidos para a lixeira após a alteração.",
"linkedAccounts": "Contas vinculadas",
"providerQQ": "QQ",
"unlinkAccount": "Desvincular",
"unlinkAccountConfirm": "Tem certeza de que deseja desvincular esta conta? Você não poderá mais entrar com ela.",
"linkQQAccount": "Vincular conta QQ",
"providerWeChat": "WeChat",
"linkWeChatAccount": "Vincular conta WeChat",
"phoneBinding": "Vínculo de telefone",
"bindPhone": "Vincular telefone",
"unbindPhone": "Desvincular",
"unbindPhoneConfirm": "Tem certeza de que deseja desvincular este número de telefone? Você não poderá mais entrar ou redefinir sua senha com ele.",
"changeEmail": "Alterar",
"changeEmailDes": "Um link de confirmação será enviado ao novo endereço. Seu e-mail atual ({{email}}) permanece ativo até a confirmação.",
"newEmail": "Novo endereço de e-mail",
"changeEmailPasswordDes": "Digite sua senha atual para confirmar.",
"emailChangeSent": "E-mail de confirmação enviado ao novo endereço.",
"copySecret": "Não consegue escanear? Clique para copiar a chave de configuração",
"secretCopied": "Chave de configuração copiada",
"shareSiteDefault": "Padrão do site",
"shareSiteDefaultDes": "Seguir o padrão definido pelo administrador para todo o site.",
"shareDefaultPrivate": "Privacidade padrão do compartilhamento",
"shareDefaultPrivateDes": "Novos compartilhamentos são privados por padrão (protegidos por senha).",
"sharePrivateOn": "Privado",
"sharePrivateOff": "Público",
"preferredPolicy": "Política de armazenamento preferida",
"preferredPolicyDes": "Novos uploads nos seus próprios arquivos usam esta política de armazenamento, a menos que uma pasta a substitua.",
"policySaved": "Política de armazenamento atualizada",
"policyInherit": "Herdar (padrão do grupo)",
"policyGroupDefault": "Padrão do grupo",
"creditBalance": "Saldo de créditos",
"storageBonus": "Bônus de armazenamento",
"dlTraffic": "Tráfego de link direto",
"dlTrafficUnlimited": "Ilimitado",
"activeGrants": "Benefícios ativos",
"grantStorage": "Armazenamento",
"grantGroup": "Grupo",
"redeemGiftCode": "Resgatar código de presente",
"redeemGiftCodeDes": "Digite um código de presente para receber créditos ou benefícios",
"giftCodePlaceholder": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"redeem": "Resgatar",
"giftCodeRedeemed": "Código de presente resgatado",
"creditLedger": "Razão de créditos",
"txnChange": "Alteração",
"txnTime": "Data/hora",
"txnReason": "Motivo",
"noTxns": "Nenhuma transação ainda",
"txnType": {
"purchase": "Compra na loja",
"gift": "Código de presente",
"share_income": "Link de compartilhamento comprado",
"adjust": "Ajuste manual"
},
"tags": "Tags",
"tagsDes": "Renomeie, recolore ou exclua uma tag em todos os seus arquivos. Renomear para uma tag existente as mescla.",
"tagName": "Tag",
"tagFiles": "Arquivos",
"tagActions": "Ações",
"noTags": "Nenhuma tag ainda",
"editTag": "Editar tag",
"deleteTag": "Excluir tag",
"deleteTagDes": "Remover a tag \"{{name}}\" de {{count}} arquivo(s)? Os próprios arquivos são mantidos.",
"tagUpdated": "Tag atualizada",
"tagDeleted": "Tag excluída",
"tagNameInvalid": "O nome da tag não pode ser vazio nem conter \":\"",
"backup2FACodes": "Códigos de recuperação",
"backupCodesDes": "Códigos de recuperação permitem entrar quando seu autenticador está indisponível. Gerar um novo lote invalida todos os códigos anteriores.",
"backupCodesWarning": "Salve estes códigos agora. Cada um pode ser usado uma vez e não serão mostrados novamente.",
"copyCodes": "Copiar códigos"
},
"vas": {
"points": "Pontos",
@ -1194,5 +1375,43 @@
"dontShowAgain": "Não mostrar novamente",
"openPaymentLink": "Abrir link de pagamento",
"creditReasonAdjust": "Ajuste manual"
},
"vault": {
"title": "Espaço privado",
"description": "Arquivos no seu espaço privado ficam ocultos da navegação e da busca até você desbloqueá-los com uma senha separada. Arquivos do cofre não podem ser compartilhados nem acessados via WebDAV.",
"enable": "Ativar espaço privado",
"enabled": "Espaço privado ativado",
"disable": "Desativar",
"disabled": "Espaço privado desativado",
"disableDescription": "Desativar remove o bloqueio; a pasta e seu conteúdo permanecem como arquivos comuns.",
"confirmDisable": "Confirmar desativação",
"setPassword": "Definir senha do cofre",
"confirmPassword": "Senha do cofre",
"enterPassword": "Senha do cofre",
"lockNow": "Bloquear agora",
"locked": "Espaço privado bloqueado",
"unlocked": "Desbloqueado",
"lockedState": "Bloqueado",
"lockedTitle": "Esta pasta está no seu espaço privado. Desbloqueie para continuar.",
"badge": "Espaço privado"
},
"shop": {
"memberships": "Assinaturas",
"storagePacks": "Pacotes de armazenamento",
"trafficPacks": "Pacotes de tráfego",
"redeem": "Resgatar",
"balance": "Saldo: {{credits}} pts",
"purchased": "{{name}} comprado",
"permanent": "Permanente",
"noProducts": "Nenhum produto disponível",
"buyWithPoints": "Comprar por {{points}} pts",
"pointsUnavailable": "Não comprável com pontos"
},
"announcement": {
"title": "Anúncio",
"dontShowAgain": "Não mostrar novamente"
},
"discover": {
"searchPlaceholder": "Pesquisar compartilhamentos públicos"
}
}

@ -34,7 +34,9 @@
"human": "Sou humano",
"verifying": "Verificando...",
"verified": "Você é humano"
}
},
"verify": "Clique para verificar",
"verified": "Verificado"
},
"errors": {
"401": "Faça login primeiro.",
@ -54,7 +56,7 @@
"40014": "Excede limite de tamanho de lote para obter link de origem.",
"40015": "Excede limite de tamanho de lote do aria2.",
"40016": "Caminho não encontrado.",
"40017": "Esta conta foi bloqueada.",
"40017": "Esta conta foi bloqueada. {{message}}",
"40018": "Esta conta não está ativada.",
"40019": "Este recurso não está habilitado.",
"40020": "Credencial inválida ou expirada.",
@ -117,5 +119,6 @@
"40084": "Sua conta não possui senha, você deve manter pelo menos uma conta vinculada.",
"40085": "O valor total deste pedido é muito pequeno para checkout."
},
"save": "Salvar"
"save": "Salvar",
"delete": "Excluir"
}

@ -753,7 +753,8 @@
"report_abuse": "Relatar abuso",
"oauth_grant_create": "Autorização de aplicativo OAuth",
"oauth_token_exchange": "Troca de token OAuth",
"oauth_grant_revoke": "Revogação de autorização OAuth"
"oauth_grant_revoke": "Revogação de autorização OAuth",
"content_audit_blocked": "Compartilhamento bloqueado pela auditoria de conteúdo"
},
"server": "Servidor",
"tempPath": "Caminho temporário",
@ -821,7 +822,91 @@
"ftsTikaExts": "Extensões suportadas",
"ftsTikaExtsDes": "Lista de extensões de arquivo separadas por vírgula. O Tika processará arquivos desses tipos.",
"ftsTikaMaxFileSize": "Tamanho máximo do arquivo",
"ftsTikaMaxFileSizeDes": "Tamanho máximo de arquivo a enviar ao Tika para extração de conteúdo."
"ftsTikaMaxFileSizeDes": "Tamanho máximo de arquivo a enviar ao Tika para extração de conteúdo.",
"navItemVisibility": "Visibilidade",
"navScopePublic": "Todos",
"navScopeUser": "Usuários conectados",
"uploadDedupScope": "Escopo da detecção de duplicatas",
"uploadDedupScopeDes": "Quando um cliente envia um hash de conteúdo, o servidor procura por um arquivo idêntico já concluído e materializa o upload instantaneamente, sem transferir bytes.",
"uploadDedupScope_off": "Desligado",
"uploadDedupScope_offDes": "Sem detecção de duplicatas; todo upload transfere bytes.",
"uploadDedupScope_owner": "Mesmo usuário",
"uploadDedupScope_ownerDes": "Só elimina duplicatas em relação a arquivos que o usuário que envia já possui.",
"uploadDedupScope_global": "Global",
"uploadDedupScope_globalDes": "Elimina duplicatas em relação a todos os arquivos concluídos deste site.",
"translations": "Traduções",
"translationsDes": "Sobrescritas por idioma. Deixe em branco para usar o valor padrão. Os usuários veem a variante correspondente ao idioma deles ou do navegador.",
"invitationCodeRequired": "Exigir código de convite",
"invitationCodeRequiredDes": "Novos cadastros devem informar um código de convite válido. Códigos são gerenciados em Usuários - Códigos de convite.",
"smtpAuthMethod": "Método de autenticação SMTP",
"smtpAuthMethodDes": "A descoberta automática só seleciona mecanismos seguros e nunca envia credenciais em texto plano em conexões não criptografadas. Se seu servidor só oferece PLAIN/LOGIN sem criptografia, escolha o método \"-noenc\" correspondente — as credenciais serão transmitidas sem criptografia.",
"smtpAuth_autodiscover": "Descoberta automática",
"smtpAuth_plain": "PLAIN",
"smtpAuth_plain_noenc": "PLAIN (permitir sem criptografia)",
"smtpAuth_login": "LOGIN",
"smtpAuth_login_noenc": "LOGIN (permitir sem criptografia)",
"smtpAuth_cram_md5": "CRAM-MD5",
"smtpAuth_scram_sha_1": "SCRAM-SHA-1",
"smtpAuth_scram_sha_256": "SCRAM-SHA-256",
"smtpAuth_xoauth2": "XOAUTH2",
"smtpAuth_noauth": "Sem autenticação",
"tcaptcha": "Tencent Captcha",
"tcaptchaAppId": "CaptchaAppId",
"tcaptchaAppSecretKey": "AppSecretKey",
"tcaptchaSecretId": "SecretId",
"tcaptchaSecretKey": "SecretKey",
"tcaptchaDes": "Obtenha seu CaptchaAppId e AppSecretKey no <0>console do Tencent Captcha</0>.",
"tcaptchaSecretDes": "SecretId e SecretKey de uma credencial da API Tencent Cloud usada para chamar DescribeCaptchaResult.",
"trafficProductSettings": "Produto de tráfego",
"trafficProductsDes": "Configure produtos que os usuários podem comprar para repor a cota de tráfego de link direto.",
"auditRetentionDays": "Retenção (dias)",
"auditRetentionDaysDes": "Excluir eventos mais antigos do que este número de dias. 0 mantém os eventos para sempre.",
"ssoIssuer": "URL do issuer",
"ssoIssuerDes": "URL base do issuer OIDC, ex.: <0>https://keycloak.example.com/realms/master</0>. Os metadados do provedor são obtidos em <1>.well-known/openid-configuration</1> sob esta URL.",
"ssoRegisterEnabled": "Permitir cadastro automático",
"ssoRegisterEnabledDes": "Criar automaticamente uma conta local quando um usuário entra via SSO pela primeira vez. O filtro de e-mail de cadastro abaixo também se aplica.",
"downloadCdnRoutes": "Rotas de CDN para download",
"downloadCdnRoutesDes": "Endpoints de download alternativos oferecidos aos usuários, um por linha no formato nome=url (ex.: Linha 1=https://cdn1.example.com). As rotas precisam proxiar o caminho completo e a query de volta a este site para que as URLs assinadas permaneçam válidas; cabeçalhos CORS são necessários para downloads no navegador.",
"downloadCdnShuffle": "Embaralhar rotas de download",
"downloadCdnShuffleDes": "Distribuir aleatoriamente cada link de download gerado entre a URL do site e todas as rotas CDN configuradas, para que exportações em lote para gerenciadores de download atinjam endpoints diferentes. O seletor manual de rotas fica oculto quando ativado.",
"ssoAutoRedirect": "Redirecionar automaticamente para SSO",
"ssoAutoRedirectDes": "Pular o formulário de login e enviar os visitantes direto ao provedor de identidade. Acrescente <0>?nosso=1</0> à URL de login para acessar o formulário de senha (ex.: para recuperação do admin).",
"ssoCallbackUrl": "URL de callback",
"ssoCallbackUrlDes": "Registre esta URL como redirect/callback no seu provedor de identidade: <0>{{url}}</0>",
"qqConnect": "QQ Connect",
"qqAppID": "App ID",
"qqAppIDDes": "O App ID do aplicativo de site criado no <0>console do QQ Connect</0> (connect.qq.com).",
"qqAppSecret": "App Key",
"qqCallbackUrl": "URL de callback",
"qqCallbackUrlDes": "Registre esta URL como domínio/URL de callback do site no console do QQ Connect: <0>{{url}}</0>",
"qqRegisterEnabled": "Permitir cadastro automático",
"qqRegisterEnabledDes": "Criar automaticamente uma conta local quando um usuário entra via QQ pela primeira vez. O QQ não fornece e-mail, então contas provisionadas usam um endereço sintético @connect.qq.local.",
"wechatConnect": "Login por scan do WeChat",
"wechatAppID": "App ID",
"wechatAppIDDes": "O AppID do aplicativo de site criado na <0>WeChat Open Platform</0> (open.weixin.qq.com).",
"wechatAppSecret": "App Secret",
"wechatCallbackUrl": "URL de callback",
"wechatCallbackUrlDes": "Registre o domínio desta URL como domínio de callback de autorização no console da WeChat Open Platform: <0>{{url}}</0>",
"wechatRegisterEnabled": "Permitir cadastro automático",
"wechatRegisterEnabledDes": "Criar automaticamente uma conta local quando um usuário entra via WeChat pela primeira vez. O WeChat não fornece e-mail, então contas provisionadas usam um endereço sintético @connect.wechat.local.",
"smsSignIn": "Login por SMS",
"smsEndpoint": "Endpoint do gateway",
"smsEndpointDes": "Endpoint HTTP do seu provedor de SMS. Os marcadores <0>{phone}</0> e <0>{code}</0> são substituídos antes de cada requisição.",
"smsMethodDes": "Método HTTP usado na requisição ao gateway. Para GET, os marcadores são renderizados apenas na URL do endpoint.",
"smsHeaders": "Cabeçalhos da requisição",
"smsHeadersDes": "Um par `Key: Value` por linha, ex.: Authorization: Bearer <token>.",
"smsBodyTemplate": "Modelo do corpo da requisição",
"smsBodyTemplateDes": "Corpo enviado em requisições POST. Os marcadores <0>{phone}</0> e <0>{code}</0> são substituídos antes de cada requisição.",
"smsRegisterEnabled": "Permitir cadastro automático",
"smsRegisterEnabledDes": "Criar automaticamente uma conta local quando um usuário entra via código SMS pela primeira vez. Contas provisionadas usam um endereço sintético @sms.local.",
"themeVisible": "Visível",
"shareDefaultPrivate": "Compartilhamento privado por padrão",
"shareDefaultPrivateDes": "Novos compartilhamentos são privados por padrão (protegidos por senha). Usuários podem sobrescrever isso nas configurações pessoais.",
"defaultShareLinksInProfile": "Visibilidade padrão de compartilhamentos no perfil",
"defaultShareLinksInProfileDes": "Controla quais compartilhamentos aparecem na página de perfil público do usuário quando ele mesmo não escolheu um.",
"profileSharePublicOnly": "Apenas compartilhamentos sem senha",
"profileShareAll": "Todos os compartilhamentos",
"profileShareHide": "Ocultar todos os compartilhamentos"
},
"giftCodes": {
"giftCodesSettings": "Códigos de Presente",
@ -852,7 +937,11 @@
"copyAndClose": "Copiar e Fechar",
"duratonTimes": "Quantidade",
"duratonTimesDes": "Quantas quantidades do produto estão incluídas em cada código de presente.",
"unknownProduct": "Produto Desconhecido"
"unknownProduct": "Produto Desconhecido",
"giftCodeTypeTraffic": "Tráfego de link direto",
"giftCodeDeleteFailed": "Falha ao excluir código de presente",
"giftCodeCreateFailed": "Falha ao gerar códigos de presente",
"giftCodeAmountHelp": "Quantidade concedida por código"
},
"policy": {
"acceleratedDomainUpload": "Usar domínio de aceleração de transferência para upload",
@ -1144,7 +1233,40 @@
"fileEncryption": "Criptografia de arquivos",
"enableFileEncryption": "Ativar criptografia de arquivos",
"enableFileEncryptionDes": "Quando ativado, os blobs de arquivos serão armazenados criptografados. Alterar esta configuração afeta apenas arquivos recém-adicionados.",
"encryptedFile": "Arquivos criptografados"
"encryptedFile": "Arquivos criptografados",
"mediaExtractorUpyun": "serviço de processamento de imagens",
"nativeMediaMetaExtUpyun": "O serviço de processamento de imagens oferece suporte à <0>extração de EXIF</0>. Nenhuma configuração manual é necessária, basta adicionar acima as extensões que deseja processar.",
"thumbForceProxy": "Forçar proxy na geração de miniaturas",
"thumbForceProxyDes": "Sempre gerar miniaturas pelo pipeline de proxy local, mesmo quando o backend de armazenamento oferece uma API nativa de miniaturas. Implica geração de miniaturas via proxy.",
"thumbStoragePolicy": "Política de armazenamento das miniaturas",
"thumbStoragePolicySource": "Igual ao arquivo",
"thumbStoragePolicyDes": "Miniaturas geradas são armazenadas na política selecionada em vez da própria política de armazenamento do arquivo.",
"blobAudit": "Auditar blobs: {{name}}",
"blobAuditDes": "Escaneia o backend de armazenamento e lista objetos físicos não referenciados por nenhum registro de arquivo. Útil para encontrar blobs fantasmas deixados por transferências com falha.",
"blobAuditDelete": "Excluir blobs órfãos",
"blobAuditDeleteWarning": "Objetos órfãos serão removidos permanentemente do backend de armazenamento. Arquivos ainda em upload podem aparecer como órfãos — ative apenas quando tiver certeza de que não há uploads em andamento.",
"blobAuditStart": "Iniciar auditoria",
"blobAuditSubmitted": "Tarefa de auditoria de blobs enfileirada.",
"maxTotalSize": "Capacidade total máxima",
"maxTotalSizeDes": "Total máximo de bytes armazenados nesta política. Uploads e cópias que excederem são rejeitados. 0 significa ilimitado.",
"overflowPolicy": "Política de overflow",
"overflowPolicyDes": "Quando esta política ficar sem capacidade, novos uploads passam para a política selecionada. Cadeias de políticas são suportadas.",
"auditEndpoint": "Endpoint de auditoria de conteúdo",
"auditEndpointDes": "Endpoint HTTP para auditoria de conteúdo (ex.: moderação de imagens). Quando definido, compartilhar um arquivo desta política envia seu conteúdo ao endpoint; uma resposta {\"flagged\":true} bloqueia o compartilhamento. Deixe vazio para desativar.",
"auditMaxSize": "Limite de tamanho da auditoria",
"auditMaxSizeDes": "Tamanho máximo da entidade enviada ao endpoint de auditoria. Arquivos maiores são ignorados. 0 significa sem limite.",
"overflowNone": "Nenhum",
"allowNativeName": "Permitir caracteres nativos no nome de arquivo",
"allowNativeNameDes": "Permitir caracteres apenas ilegais em sistemas de arquivos Windows (: * ? \" < > |) em nomes de arquivo. Pode quebrar clientes montados no Windows. Separadores de caminho continuam proibidos.",
"status": "Status",
"statusDes": "Políticas suspensas continuam servindo arquivos existentes, mas rejeitam novos uploads.",
"loadBalance": "Balanceamento de carga",
"lbChildren": "Políticas de armazenamento filhas",
"lbChildPolicy": "Política de armazenamento",
"lbWeight": "Peso",
"lbAddChild": "Adicionar política filha",
"lbChildrenDes": "Novos uploads são distribuídos entre as políticas filhas proporcionalmente ao peso.",
"lbWizardDes": "Uma política de balanceamento de carga distribui uploads entre políticas filhas com peso. As filhas são configuradas após a criação."
},
"node": {
"slave": "escravo",
@ -1214,7 +1336,11 @@
"hostHeaderHint": "Se houver erro de assinatura, verifique se o proxy reverso na frente do nó está passando o cabeçalho <0>Host</0>.",
"features": "Recursos habilitados",
"remoteDownload": "Download remoto",
"refresh": "Atualizar"
"refresh": "Atualizar",
"ytdlpDes": "Executa o yt-dlp no servidor do nó de destino com o mesmo usuário/nível de acesso do Cloudreve. O yt-dlp é invocado como processo CLI por tarefa — sem daemon.",
"ytdlpOptionDes": "Flags adicionais do CLI yt-dlp ao criar uma tarefa de download, no formato JSON chave-valor — as chaves viram argumentos --flag literalmente, veja a <0>referência de opções do yt-dlp</0>.",
"ytdlpBinary": "Binário yt-dlp",
"ytdlpBinaryDes": "Caminho ou nome do executável yt-dlp no servidor do nó. Padrão: yt-dlp resolvido do PATH."
},
"group": {
"countUser": "Contagem",
@ -1300,7 +1426,38 @@
"notCopy": "Não copiar",
"confirmDelete": "Tem certeza de que deseja excluir o grupo {{group}}?",
"new": "Novo grupo",
"editGroup": "Editar {{group}}"
"editGroup": "Editar {{group}}",
"availablePolicyDesPro": "Seleção múltipla; usuários podem alternar livremente entre as políticas de armazenamento dentro do intervalo selecionado.",
"loginIPWhitelist": "Lista de IPs permitidos para login",
"loginIPWhitelistDes": "Restringe o login a estes IPs ou intervalos CIDR, um por linha. Deixe vazio para permitir todos.",
"delegatedAdmin": "Seções de administrador delegado",
"delegatedAdminDes": "Concede acesso apenas a seções selecionadas do painel. Usuários deste grupo podem abrir o painel admin, mas apenas as seções habilitadas funcionam — todas as outras chamadas à API admin são rejeitadas.",
"sectionUsers": "Usuários",
"sectionGroups": "Grupos",
"sectionFiles": "Arquivos e blobs",
"sectionShares": "Compartilhamentos",
"sectionStorage": "Políticas de armazenamento e nós",
"sectionQueue": "Fila de tarefas",
"sectionSettings": "Configurações do site e OAuth",
"sectionPayment": "Pagamentos",
"sectionEvents": "Eventos",
"sectionReports": "Denúncias de abuso",
"shareSell": "Vender links de compartilhamento",
"shareSellDes": "Quando ativado, usuários podem definir um preço em pontos em links de compartilhamento que criam.",
"wabDAVReadOnly": "WebDAV somente leitura",
"wabDAVReadOnlyDes": "Se ativado, montagens WebDAV para usuários deste grupo ficam somente leitura — uploads, exclusões, movimentações e outros métodos de escrita são rejeitados.",
"aria2TaskLimit": "Máx. de tarefas simultâneas de download remoto",
"aria2TaskLimitDes": "Número máximo de tarefas ativas de download remoto por usuário (em fila, executando ou suspensas). 0 = sem limite.",
"aria2MaxFileSize": "Tamanho máximo por tarefa de download (bytes)",
"aria2MaxFileSizeDes": "Tarefas de download remoto cujo tamanho total resolvido excede este valor são abortadas. 0 = sem limite.",
"setExplicitUser": "Definir permissões de arquivo",
"setExplicitUserDes": "Membros podem definir permissões detalhadas de leitura/criação/atualização/exclusão em arquivos e pastas que possuem, para usuários, grupos, visitantes anônimos ou todos os demais.",
"switchablePolicies": "Políticas de armazenamento alternáveis",
"switchablePoliciesDes": "Políticas que os membros deste grupo podem alternar livremente. A política padrão acima está sempre disponível.",
"weightedPolicies": "Seleção ponderada de políticas",
"weightedPoliciesDes": "Quando ativado, uploads sem preferência explícita de política são roteados à política permitida com mais capacidade livre que caiba o arquivo. Apenas políticas com limite de capacidade total são ponderadas.",
"sharePublicList": "Diretório público de compartilhamentos",
"sharePublicListDes": "Quando ativado, usuários podem incluir seus links de compartilhamento no diretório público (página Descobrir). Compartilhamentos protegidos por senha não podem ser listados."
},
"user": {
"createdAt": "Criado em",
@ -1350,7 +1507,34 @@
"deleteXUsers": "Excluir {{num}} usuários",
"confirmBatchDelete": "Tem certeza de que deseja excluir {{num}} usuários?",
"calibrateStorage": "Calibrar armazenamento",
"calibrateStorageSuccess": "Armazenamento calibrado com sucesso."
"calibrateStorageSuccess": "Armazenamento calibrado com sucesso.",
"relocateFiles": "Realocar arquivos",
"banExpires": "Banimento expira em",
"banExpiresDes": "Opcional. O banimento é levantado automaticamente após este momento; vazio significa permanente.",
"banReason": "Motivo do banimento",
"banReasonDes": "Opcional. Exibido ao usuário quando um login banido é rejeitado.",
"lastLogin": "Último login",
"uids": "IDs de usuário",
"uidsPlaceholder": "IDs separados por vírgula, ex.: 2,3,5",
"editXUsers": "Editar {{num}} usuários",
"batchEditXUsers": "Editar em lote {{num}} usuários",
"noChange": "Sem alteração",
"invitationCodes": "Códigos de convite",
"invitationCodesDes": "Códigos que podem ser exigidos em cadastros públicos. Crie, compartilhe e revogue aqui.",
"invitationCode": "Código",
"invitationCodeAuto": "Gerar automaticamente",
"invitationCodeGroup": "Grupo",
"invitationCodeMaxUses": "Usos máximos",
"invitationCodeExpires": "Expira em",
"invitationCodeUses": "Usos",
"invitationCodeCreated": "Código de convite criado.",
"invitationCodeCopied": "Código copiado para a área de transferência.",
"invitationCodeCopy": "Copiar",
"invitationCodeDefaultGroup": "Padrão",
"noInvitationCodes": "Nenhum código de convite ainda.",
"loadMore": "Carregar mais",
"additionalGroups": "Grupos adicionais",
"additionalGroupsDes": "Participações adicionais de grupo além do grupo primário. Permissões, cotas e políticas de armazenamento são unidas entre todos os grupos."
},
"file": {
"deleteXFiles": "Excluir {{num}} arquivos",
@ -1422,7 +1606,15 @@
"shareLinkExisted": "Tem link de compartilhamento",
"directLinkExisted": "Tem link direto",
"isUploading": "Está enviando",
"selectUser": "Selecionar usuário"
"selectUser": "Selecionar usuário",
"referenceCount": "Contagem de referências",
"awaitingRecycle": "Aguardando reciclagem",
"refCountGt": "Maior que",
"refCountLt": "Menor que",
"refCountEq": "Igual a",
"deletedState": "Estado de exclusão",
"liveOnly": "Apenas arquivos ativos",
"trashOnly": "Apenas lixeira"
},
"entity": {
"refenenceCount": "Contagem de referência",
@ -1433,7 +1625,15 @@
"confirmBatchDelete": "Tem certeza de que deseja excluir {{num}} Blobs?",
"deleteXEntities": "Excluir {{num}} Blobs",
"forceDelete": "Forçar exclusão",
"forceDeleteDes": "Se excluir o registro do Blob independentemente de o arquivo físico ser excluído."
"forceDeleteDes": "Se excluir o registro do Blob independentemente de o arquivo físico ser excluído.",
"relocateXEntities": "Realocar {{num}} blobs",
"relocateTitle": "Realocar blobs",
"relocateEntitiesDes": "Mover os dados de {{num}} blobs selecionados para outra política de armazenamento. A tarefa roda em segundo plano e pode ser retomada.",
"relocatePolicyDes": "Mover todos os blobs armazenados em \"{{name}}\" para outra política de armazenamento. A tarefa roda em segundo plano e pode ser retomada.",
"relocateUserDes": "Mover todos os blobs pertencentes a \"{{name}}\" para outra política de armazenamento. A tarefa roda em segundo plano e pode ser retomada.",
"relocatePolicy": "Migrar todos os blobs em {{name}} para outra política",
"relocateStart": "Iniciar realocação",
"relocateSubmitted": "Tarefa de realocação enviada"
},
"event": {
"cleanup": "Limpeza",
@ -1469,7 +1669,8 @@
"confirmDelete": "Tem certeza de que deseja excluir este evento?",
"deleteXEvents": "Excluir {{num}} eventos",
"confirmBatchDelete": "Tem certeza de que deseja excluir {{num}} eventos?",
"allEventTypes": "Todos os tipos de evento"
"allEventTypes": "Todos os tipos de evento",
"noEvents": "Nenhum evento registrado ainda"
},
"share": {
"confirmBatchDelete": "Tem certeza de que deseja excluir {{num}} compartilhamentos?",
@ -1547,7 +1748,8 @@
"finished": "Finalizado",
"canceled": "Cancelado/Parado",
"unknown": "Desconhecido",
"errorMsg": "Mensagem de erro"
"errorMsg": "Mensagem de erro",
"blobAudit": "Auditar blobs na política de armazenamento #{{policyID}} ({{count}} órfãos)"
},
"payment": {
"tradeNo": "Nº do Comércio",
@ -1726,7 +1928,21 @@
"customPaymentEndpointDes": "URL a ser solicitada ao criar um pedido de pagamento.",
"appFeedback": "URL de feedback",
"appForum": "URL do fórum do usuário",
"appLinkDes": "Será exibido no cliente móvel, deixe vazio para ocultar item do menu. Esta configuração terá efeito apenas se a licença VOL for válida."
"appLinkDes": "Será exibido no cliente móvel, deixe vazio para ocultar item do menu. Esta configuração terá efeito apenas se a licença VOL for válida.",
"addTrafficPack": "Adicionar pacote de tráfego",
"editTrafficPack": "Editar pacote de tráfego",
"trafficSize": "Quantidade de tráfego (bytes)",
"trafficSizeDes": "Bytes de tráfego de link direto concedidos na compra; pacotes são permanentes.",
"subAddressChars": "Caracteres de sub-endereço",
"subAddressCharsDes": "Caracteres tratados como separadores de sub-endereço na parte local do e-mail (ex.: <code>+-.</code> para apelidos estilo Gmail/iCloud). Vazio usa o padrão <code>+</code>.",
"manualAdjust": "Ajuste manual de créditos",
"adjustEmail": "E-mail do usuário",
"adjustDelta": "Alteração de pontos",
"adjustDeltaDes": "Positivo adiciona créditos, negativo deduz",
"adjustNote": "Nota",
"adjustSubmit": "Aplicar",
"adjustSuccess": "Créditos ajustados",
"adjustFailed": "Falha ao ajustar créditos"
},
"pro": {
"title": "Funcionalidades exclusivas da versão Pro",
@ -1756,6 +1972,27 @@
"reporterID": "ID do usuário relator",
"reportedUserID": "ID do usuário reportado",
"shareID": "ID compartilhado",
"reason": "Razão"
"reason": "Razão",
"target": "Alvo",
"statusLabel": "Status",
"reportedAt": "Denunciado em",
"actions": "Ações",
"resolve": "Resolver",
"dismiss": "Descartar",
"adminNote": "Nota do admin",
"blockShare": "Bloquear o link compartilhado",
"noReports": "Nenhuma denúncia de abuso",
"reviewSuccess": "Denúncia atualizada.",
"status": {
"open": "Em aberto",
"resolved": "Resolvido",
"dismissed": "Descartado",
"all": "Todos"
},
"markAs": {
"resolved": "Resolver denúncia",
"dismissed": "Descartar denúncia",
"open": "Reabrir denúncia"
}
}
}

@ -52,7 +52,35 @@
"signingOut": "Выход из системы...",
"loggedOut": "Вы вышли из системы",
"clickToRefresh": "Нажмите для обновления капчи",
"switchLanguage": "Сменить язык"
"switchLanguage": "Сменить язык",
"invitationCode": "Код приглашения",
"phoneNumber": "Номер телефона",
"smsCode": "SMS-код",
"sendSmsCode": "Отправить код",
"resendSmsCode": "Отправить снова ({{seconds}}с)",
"smsSignIn": "Вход по SMS",
"resetViaSms": "Сбросить через SMS",
"emailChangedTitle": "Адрес электронной почты изменён",
"emailChanged": "Ваш адрес электронной почты успешно изменён.",
"signInWith": "Войти через {{name}}",
"ssoFailed": "Единый вход не удался. Попробуйте снова или используйте другой способ входа.",
"ssoError": {
"generic": "Единый вход не удался. Попробуйте снова.",
"sso_not_configured": "Единый вход не настроен. Обратитесь к администратору.",
"sso_discovery_failed": "Не удалось связаться с поставщиком удостоверений. Попробуйте позже.",
"sso_state_failed": "Не удалось начать сеанс входа. Попробуйте снова.",
"sso_denied": "Вход отклонён поставщиком удостоверений.",
"sso_invalid_response": "Некорректный ответ от поставщика удостоверений.",
"sso_state_expired": "Сеанс входа истёк. Попробуйте снова.",
"sso_exchange_failed": "Не удалось завершить вход у поставщика удостоверений.",
"sso_token_invalid": "Не удалось проверить ответ поставщика удостоверений.",
"sso_no_email": "Поставщик удостоверений не вернул адрес электронной почты.",
"sso_account_unavailable": "Для этого удостоверения нет доступной учётной записи. Регистрация может быть ограничена."
},
"browsePublicShares": "Просмотреть публичные ссылки",
"inputBackupCode": "Введите один из резервных кодов",
"useBackupCode": "Использовать резервный код",
"use2FACode": "Использовать код аутентификатора"
},
"oauth": {
"authorize": "Авторизовать приложение",
@ -147,7 +175,11 @@
"toDarkMode": "Тёмная",
"toLightMode": "Светлая",
"myProfile": "Мой профиль",
"dashboard": "Панель управления"
"dashboard": "Панель управления",
"shop": "Магазин",
"addAccount": "Добавить аккаунт",
"signedOut": "Вы вышли",
"discover": "Обзор"
},
"fileManager": {
"continueInDesktop": "Авторизация успешна, продолжите в настольном клиенте.",
@ -488,7 +520,37 @@
"noEncryption": "Не зашифровано",
"ftsStatus": "Полнотекстовый индекс",
"ftsIndexed": "Проиндексировано",
"ftsNotIndexed": "Не проиндексировано"
"ftsNotIndexed": "Не проиндексировано",
"aclDes": "Детальные разрешения для «{{name}}». Указанные записи переопределяют разрешения ссылки по умолчанию для соответствующих посетителей.",
"aclSubject": "Субъект",
"aclAnonymous": "Анонимные посетители",
"aclEveryone": "Все остальные",
"aclGroup": "группа",
"aclPerm_read": "Чтение",
"aclPerm_create": "Создание",
"aclPerm_update": "Изменение",
"aclPerm_delete": "Удаление",
"loop": "Повтор",
"modelViewer": "Просмотр 3D-моделей",
"modelLoadFailed": "Не удалось загрузить 3D-модель",
"activityDes": "Записанные действия с {{name}}.",
"resetThumbnail": "Сбросить сломанный эскиз",
"resetThumbnailRequested": "Запрошен сброс эскиза.",
"noFileCanResetThumbnail": "Нет файлов для сброса эскиза.",
"selectDownloadRoute": "Выберите маршрут загрузки",
"downloadRouteDirect": "Прямой",
"downloadRouteDirectDescription": "Загрузить напрямую с этого сайта",
"lineEnding": "Конец строки",
"downloadAll": "Загрузить все",
"dirPolicyTitle": "Политика хранения для загрузок",
"dirPolicyDes": "Новые файлы, загруженные в «{{name}}», будут использовать выбранную политику хранения.",
"relocateTitle": "Перемещение хранилища",
"relocateDes": "Переместить физическое содержимое «{{name}}» в выбранную политику хранения.",
"relocateSubmitted": "Задача перемещения отправлена",
"relocateStart": "Переместить",
"policySaved": "Политика хранения обновлена",
"policyInherit": "Наследовать (родительская или групповая по умолчанию)",
"policyGroupDefault": "Групповая по умолчанию"
},
"modals": {
"includePasswordInShareLink": "Включить пароль в ссылку на публикацию",
@ -665,7 +727,42 @@
"saved": "Сохранено",
"notSet": "Не установлено",
"deleteViewSetting": "Удалить настройки просмотра",
"shareTargetsCount": "{{count}} целей"
"shareTargetsCount": "{{count}} целей",
"paidShare": "Платная ссылка",
"paidSharePrice": "{{price}} баллов",
"paidShareDes": "Посетители должны приобрести эту ссылку за баллы перед загрузкой. Установите 0 для бесплатной ссылки.",
"paidSharePriceLabel": "Цена (баллы)",
"nameConflict": "Конфликт имён",
"conflictOverwriteDes": "Заменить существующие элементы в месте назначения.",
"conflictSkipDes": "Сохранить существующие элементы; конфликтующие элементы не будут перемещены или скопированы.",
"skip": "Пропустить",
"remoteDownloadFileName": "Имя файла (необязательно)",
"remoteDownloadFileNameDescription": "Пользовательское имя выходного файла",
"remoteDownloadHttpUser": "Имя пользователя HTTP (необязательно)",
"remoteDownloadHttpPassword": "Пароль HTTP (необязательно)",
"remoteDownloadHeaders": "Заголовки запроса (необязательно)",
"remoteDownloadProvider": "Загрузчик",
"remoteDownloadProviderAuto": "Авто (любой узел)",
"remoteDownloadHeadersDescription": "По одному заголовку на строку, например Cookie: sid=...",
"allowUpload": "Разрешить загрузку",
"allowUploadDes": "Посетители могут загружать новые файлы и создавать папки в этой общей папке. Хранилище учитывается в вашей квоте.",
"allowEdit": "Разрешить редактирование",
"allowEditDes": "Посетители могут загружать, переименовывать, перемещать и удалять файлы в этой общей папке. Включает разрешение на загрузку.",
"uploadOnly": "Только загрузка (drop box)",
"uploadOnlyDes": "Посетители могут загружать файлы, но не могут просматривать или загружать существующее содержимое этой общей папки.",
"previewOnly": "Только предпросмотр",
"previewOnlyDes": "Посетители могут просматривать файлы, но не могут их загружать.",
"shareNote": "Заметка",
"shareNoteDes": "Личная заметка для идентификации этой ссылки. Видна только вам в разделе «Мои ссылки».",
"shareTargets": "Получатели ссылки",
"shareTargetsCount_one": "{{count}} цель",
"shareTargetsCount_few": "{{count}} цели",
"shareTargetsCount_many": "{{count}} целей",
"shareTargetsCount_other": "{{count}} целей",
"publicListing": "В публичном каталоге",
"publicListingDes": "Показывать эту ссылку на странице «Обзор», видна всем, включая анонимных посетителей. Недоступно для ссылок, защищённых паролем.",
"hideReadme": "Скрыть файл readme",
"hideReadmeDes": "Не показывать сам файл README в списке ссылки. Посетители всё равно видят содержимое readme."
},
"uploader": {
"fileCopyName": "Копия_",
@ -688,7 +785,7 @@
"preparing": "Подготовка...",
"processing": "Обработка...",
"progressDescription": "Загружено {{uploaded}}, всего {{total}} - {{percentage}}%",
"progressDescriptionFull": "{{speed}} Загружено {{uploaded}}, всего {{total}} - {{percentage}}%",
"progressDescriptionFull": "{{speed}} Загружено {{uploaded}}, всего {{total}} - {{percentage}}%{{eta}}",
"progressDescriptionPlaceHolder": "Загружено - ",
"uploaded": "Загружено",
"rootFolder": "Корневая папка",
@ -747,7 +844,8 @@
"upyunUploadFailed": "Ошибка загрузки: {{msg}}",
"parseResponseError": "Не удалось разобрать ответ: {{msg}} ({{content}})",
"concurrentTaskNumber": "Количество одновременно загружаемых задач",
"dropFileHere": "Отпустите мышь для начала загрузки"
"dropFileHere": "Отпустите мышь для начала загрузки",
"etaSuffix": ", осталось {{eta}}"
},
"share": {
"free": "Бесплатно",
@ -794,7 +892,19 @@
"preview": "Предварительный просмотр",
"incorrectPassword": "Неверный пароль",
"shareNotExist": "Публикация не существует или истекла",
"copyLinkToClipboard": "Скопировать ссылку в буфер обмена"
"copyLinkToClipboard": "Скопировать ссылку в буфер обмена",
"paidShareDes": "Это платная ссылка. Покупка стоит {{price}} баллов и открывает загрузку.",
"purchaseForPoints": "Купить за {{price}} баллов",
"signInToPurchase": "Войдите, чтобы купить",
"yourBalance": "Баланс: {{credits}} баллов",
"saveToMyFiles": "Сохранить в мои файлы",
"savedToMyFiles": "Ссылка сохранена в ваших файлах.",
"saveShareLink": "Сохранить ссылку",
"saveShareLinkHint": "Вставьте ссылку вида https://example.com/s/abc123",
"shareLink": "Ссылка",
"savedAs": "Сохранить как (необязательно)",
"sharePasswordRequired": "Для этой ссылки требуется пароль.",
"invalidShareLink": "Не удалось разобрать эту ссылку."
},
"download": {
"noFilesFound": "Файлы не найдены",
@ -1058,7 +1168,80 @@
"relocateFileTo": "Перенести <0></0>{{more}} политику хранения в {{policy}}",
"extractFileTo": "Извлечь <0></0>{{more}} в <1></1>",
"createArchiveTo": "Упаковать <0></0>{{more}} в <1></1>",
"importFileTo": "Импортировать файлы из {{policy}} в <0></0>"
"importFileTo": "Импортировать файлы из {{policy}} в <0></0>",
"preferredViewers": "Приложения по умолчанию",
"preferredViewersDes": "Приложения, выбранные с «Всегда» в диалоге открытия. Применяются на всех ваших устройствах; удалите, чтобы снова получить запрос.",
"preferredViewersEmpty": "Нет сохранённых приложений по умолчанию. Выберите «Всегда» в диалоге открытия файла.",
"trashRetention": "Срок хранения в корзине (дни)",
"trashRetentionDes": "Количество дней, в течение которых файл хранится в корзине до автоматического удаления. 0 наследует групповое значение по умолчанию. Применяется к файлам, перемещённым в корзину после изменения.",
"linkedAccounts": "Привязанные аккаунты",
"providerQQ": "QQ",
"unlinkAccount": "Отвязать",
"unlinkAccountConfirm": "Вы уверены, что хотите отвязать этот аккаунт? Вы больше не сможете входить через него.",
"linkQQAccount": "Привязать аккаунт QQ",
"providerWeChat": "WeChat",
"linkWeChatAccount": "Привязать аккаунт WeChat",
"phoneBinding": "Привязка телефона",
"bindPhone": "Привязать телефон",
"unbindPhone": "Отвязать",
"unbindPhoneConfirm": "Вы уверены, что хотите отвязать этот номер телефона? Вы больше не сможете входить или сбрасывать пароль через него.",
"changeEmail": "Изменить",
"changeEmailDes": "Подтверждающая ссылка будет отправлена на новый адрес. Текущий адрес ({{email}}) остаётся активным до подтверждения.",
"newEmail": "Новый адрес электронной почты",
"changeEmailPasswordDes": "Введите текущий пароль для подтверждения.",
"emailChangeSent": "Письмо с подтверждением отправлено на новый адрес.",
"copySecret": "Не отсканировать? Нажмите, чтобы скопировать ключ настройки",
"secretCopied": "Ключ настройки скопирован",
"shareSiteDefault": "По умолчанию сайта",
"shareSiteDefaultDes": "Следовать общему значению по умолчанию, заданному администратором.",
"shareDefaultPrivate": "Конфиденциальность ссылок по умолчанию",
"shareDefaultPrivateDes": "Новые ссылки по умолчанию приватные (защищены паролем).",
"sharePrivateOn": "Приватная",
"sharePrivateOff": "Публичная",
"preferredPolicy": "Предпочтительная политика хранения",
"preferredPolicyDes": "Новые загрузки в ваших файлах используют эту политику хранения, если папка её не переопределяет.",
"policySaved": "Политика хранения обновлена",
"policyInherit": "Наследовать (групповая по умолчанию)",
"policyGroupDefault": "Групповая по умолчанию",
"creditBalance": "Баланс баллов",
"storageBonus": "Бонус хранилища",
"dlTraffic": "Трафик прямых ссылок",
"dlTrafficUnlimited": "Без ограничений",
"activeGrants": "Активные привилегии",
"grantStorage": "Хранилище",
"grantGroup": "Группа",
"redeemGiftCode": "Активировать подарочный код",
"redeemGiftCodeDes": "Введите подарочный код, чтобы получить баллы или привилегии",
"giftCodePlaceholder": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"redeem": "Активировать",
"giftCodeRedeemed": "Подарочный код активирован",
"creditLedger": "История баллов",
"txnChange": "Изменение",
"txnTime": "Время",
"txnReason": "Причина",
"noTxns": "Транзакций пока нет",
"txnType": {
"purchase": "Покупка в магазине",
"gift": "Подарочный код",
"share_income": "Покупка ссылки",
"adjust": "Ручная корректировка"
},
"tags": "Теги",
"tagsDes": "Переименование, смена цвета или удаление тега для всех ваших файлов. Переименование в существующий тег объединяет их.",
"tagName": "Тег",
"tagFiles": "Файлы",
"tagActions": "Действия",
"noTags": "Тегов пока нет",
"editTag": "Изменить тег",
"deleteTag": "Удалить тег",
"deleteTagDes": "Удалить тег «{{name}}» из {{count}} файл(ов)? Сами файлы сохраняются.",
"tagUpdated": "Тег обновлён",
"tagDeleted": "Тег удалён",
"tagNameInvalid": "Имя тега не может быть пустым или содержать «:»",
"backup2FACodes": "Резервные коды",
"backupCodesDes": "Резервные коды позволяют входить, когда аутентификатор недоступен. Создание новой серии аннулирует все предыдущие коды.",
"backupCodesWarning": "Сохраните эти коды сейчас. Каждый можно использовать один раз, и они больше не будут показаны.",
"copyCodes": "Копировать коды"
},
"vas": {
"points": "Очки",
@ -1194,5 +1377,43 @@
"dontShowAgain": "Не показывать снова",
"openPaymentLink": "Открыть платёжную ссылку напрямую",
"creditReasonAdjust": "Ручная корректировка"
},
"vault": {
"title": "Личное пространство",
"description": "Файлы в личном пространстве скрыты от просмотра и поиска, пока вы не разблокируете его отдельным паролем. Файлы из личного пространства нельзя делиться или открывать через WebDAV.",
"enable": "Включить личное пространство",
"enabled": "Личное пространство включено",
"disable": "Отключить",
"disabled": "Личное пространство отключено",
"disableDescription": "При отключении снимается блокировка; папка и её содержимое остаются обычными файлами.",
"confirmDisable": "Подтвердить отключение",
"setPassword": "Задать пароль личного пространства",
"confirmPassword": "Пароль личного пространства",
"enterPassword": "Пароль личного пространства",
"lockNow": "Заблокировать сейчас",
"locked": "Личное пространство заблокировано",
"unlocked": "Разблокировано",
"lockedState": "Заблокировано",
"lockedTitle": "Эта папка находится в личном пространстве. Разблокируйте, чтобы продолжить.",
"badge": "Личное пространство"
},
"shop": {
"memberships": "Подписки",
"storagePacks": "Пакеты хранилища",
"trafficPacks": "Пакеты трафика",
"redeem": "Активировать",
"balance": "Баланс: {{credits}} баллов",
"purchased": "Куплено: {{name}}",
"permanent": "Бессрочно",
"noProducts": "Нет доступных товаров",
"buyWithPoints": "Купить за {{points}} баллов",
"pointsUnavailable": "Недоступно для покупки за баллы"
},
"announcement": {
"title": "Объявление",
"dontShowAgain": "Больше не показывать"
},
"discover": {
"searchPlaceholder": "Поиск по публичным ссылкам"
}
}

@ -34,7 +34,9 @@
"human": "Я человек",
"verifying": "Проверка…",
"verified": "Вы прошли проверку"
}
},
"verify": "Нажмите для проверки",
"verified": "Проверено"
},
"errors": {
"401": "Пожалуйста, войдите в систему",
@ -54,7 +56,7 @@
"40014": "Превышен лимит пакетного получения внешних ссылок",
"40015": "Превышено максимальное количество задач удалённой загрузки",
"40016": "Путь не найден",
"40017": "Этот аккаунт заблокирован",
"40017": "Этот аккаунт заблокирован. {{message}}",
"40018": "Этот аккаунт не активирован",
"40019": "Эта функция не включена",
"40020": "Неверные или истёкшие учётные данные",
@ -117,5 +119,6 @@
"40084": "Ваш аккаунт является беспарольным, вы должны оставить хотя бы один связанный аккаунт",
"40085": "Сумма заказа слишком мала для продолжения оплаты"
},
"save": "Сохранить"
"save": "Сохранить",
"delete": "Удалить"
}

@ -753,7 +753,8 @@
"report_abuse": "Сообщение о нарушении",
"oauth_grant_create": "Авторизация приложения OAuth",
"oauth_token_exchange": "Обмен токенами OAuth",
"oauth_grant_revoke": "Отзыв авторизации приложения OAuth"
"oauth_grant_revoke": "Отзыв авторизации приложения OAuth",
"content_audit_blocked": "Ссылка заблокирована аудитом содержимого"
},
"server": "Настройки сервера",
"tempPath": "Временный путь",
@ -821,7 +822,91 @@
"ftsTikaExts": "Поддерживаемые расширения",
"ftsTikaExtsDes": "Список расширений файлов через запятую. Tika будет обрабатывать файлы этих типов.",
"ftsTikaMaxFileSize": "Максимальный размер файла",
"ftsTikaMaxFileSizeDes": "Максимальный размер файла для отправки в Tika для извлечения содержимого."
"ftsTikaMaxFileSizeDes": "Максимальный размер файла для отправки в Tika для извлечения содержимого.",
"navItemVisibility": "Видимость",
"navScopePublic": "Все",
"navScopeUser": "Авторизованные пользователи",
"uploadDedupScope": "Область обнаружения дубликатов",
"uploadDedupScopeDes": "Когда клиент отправляет хеш содержимого, сервер ищет идентичный завершённый файл и мгновенно создаёт загрузку без передачи данных.",
"uploadDedupScope_off": "Выключено",
"uploadDedupScope_offDes": "Без обнаружения дубликатов; каждая загрузка передаёт данные.",
"uploadDedupScope_owner": "Тот же пользователь",
"uploadDedupScope_ownerDes": "Дедупликация только по файлам, которыми уже владеет загружающий пользователь.",
"uploadDedupScope_global": "Глобально",
"uploadDedupScope_globalDes": "Дедупликация по всем завершённым файлам на этом сайте.",
"translations": "Переводы",
"translationsDes": "Переопределения для каждого языка. Оставьте пустым, чтобы использовать значение по умолчанию. Пользователи видят вариант, соответствующий их языку или языку браузера.",
"invitationCodeRequired": "Требовать код приглашения",
"invitationCodeRequiredDes": "Новые регистрации должны предоставить действительный код приглашения. Коды управляются в разделе «Пользователи — Коды приглашений».",
"smtpAuthMethod": "Метод аутентификации SMTP",
"smtpAuthMethodDes": "Автообнаружение выбирает только безопасные механизмы и никогда не отправляет учётные данные в открытом виде по незашифрованным соединениям. Если ваш сервер предлагает только PLAIN/LOGIN без шифрования, выберите соответствующий метод «-noenc» — учётные данные будут передаваться в открытом виде.",
"smtpAuth_autodiscover": "Автообнаружение",
"smtpAuth_plain": "PLAIN",
"smtpAuth_plain_noenc": "PLAIN (без шифрования)",
"smtpAuth_login": "LOGIN",
"smtpAuth_login_noenc": "LOGIN (без шифрования)",
"smtpAuth_cram_md5": "CRAM-MD5",
"smtpAuth_scram_sha_1": "SCRAM-SHA-1",
"smtpAuth_scram_sha_256": "SCRAM-SHA-256",
"smtpAuth_xoauth2": "XOAUTH2",
"smtpAuth_noauth": "Без аутентификации",
"tcaptcha": "Tencent Captcha",
"tcaptchaAppId": "CaptchaAppId",
"tcaptchaAppSecretKey": "AppSecretKey",
"tcaptchaSecretId": "SecretId",
"tcaptchaSecretKey": "SecretKey",
"tcaptchaDes": "Получите CaptchaAppId и AppSecretKey в <0>консоли Tencent Captcha</0>.",
"tcaptchaSecretDes": "SecretId и SecretKey учётных данных API Tencent Cloud для вызова DescribeCaptchaResult.",
"trafficProductSettings": "Продукт трафика",
"trafficProductsDes": "Настройте продукты, которые пользователи могут покупать для пополнения трафика прямых ссылок.",
"auditRetentionDays": "Срок хранения (дни)",
"auditRetentionDaysDes": "Удалять события старше указанного числа дней. 0 хранит события бессрочно.",
"ssoIssuer": "URL эмитента",
"ssoIssuerDes": "Базовый URL эмитента OIDC, например <0>https://keycloak.example.com/realms/master</0>. Метаданные поставщика загружаются из <1>.well-known/openid-configuration</1> по этому URL.",
"ssoRegisterEnabled": "Разрешить автоматическую регистрацию",
"ssoRegisterEnabledDes": "Автоматически создавать локальную учётную запись при первом входе через SSO. Фильтр email для регистрации ниже также применяется.",
"downloadCdnRoutes": "CDN-маршруты загрузки",
"downloadCdnRoutesDes": "Альтернативные конечные точки загрузки, предлагаемые пользователям, по одной на строку в формате name=url (например, Линия 1=https://cdn1.example.com). Маршруты должны проксировать полный путь запроса и параметры обратно на этот сайт, чтобы подписанные URL оставались действительными; для загрузки в браузере требуются заголовки CORS.",
"downloadCdnShuffle": "Перемешивать маршруты загрузки",
"downloadCdnShuffleDes": "Случайно распределять каждую сгенерированную ссылку загрузки между URL сайта и всеми настроенными CDN-маршрутами, чтобы пакетный экспорт в менеджеры загрузок обращался к разным конечным точкам. Ручной выбор маршрута скрыт при включении.",
"ssoAutoRedirect": "Автопереход на SSO",
"ssoAutoRedirectDes": "Пропустить форму входа и отправлять посетителей напрямую к поставщику удостоверений. Добавьте <0>?nosso=1</0> к URL входа, чтобы попасть на форму пароля (например, для восстановления администратора).",
"ssoCallbackUrl": "URL обратного вызова",
"ssoCallbackUrlDes": "Зарегистрируйте этот URL как redirect/callback URL у вашего поставщика удостоверений: <0>{{url}}</0>",
"qqConnect": "QQ Connect",
"qqAppID": "App ID",
"qqAppIDDes": "App ID веб-приложения, созданного в <0>консоли QQ Connect</0> (connect.qq.com).",
"qqAppSecret": "App Key",
"qqCallbackUrl": "URL обратного вызова",
"qqCallbackUrlDes": "Зарегистрируйте этот URL как домен/URL обратного вызова в консоли QQ Connect: <0>{{url}}</0>",
"qqRegisterEnabled": "Разрешить автоматическую регистрацию",
"qqRegisterEnabledDes": "Автоматически создавать локальную учётную запись при первом входе через QQ. QQ не предоставляет email, поэтому созданным аккаунтам назначается синтетический адрес @connect.qq.local.",
"wechatConnect": "Вход по скану WeChat",
"wechatAppID": "App ID",
"wechatAppIDDes": "AppID веб-приложения, созданного на <0>WeChat Open Platform</0> (open.weixin.qq.com).",
"wechatAppSecret": "App Secret",
"wechatCallbackUrl": "URL обратного вызова",
"wechatCallbackUrlDes": "Зарегистрируйте домен этого URL как домен обратного вызова авторизации в консоли WeChat Open Platform: <0>{{url}}</0>",
"wechatRegisterEnabled": "Разрешить автоматическую регистрацию",
"wechatRegisterEnabledDes": "Автоматически создавать локальную учётную запись при первом входе через WeChat. WeChat не предоставляет email, поэтому созданным аккаунтам назначается синтетический адрес @connect.wechat.local.",
"smsSignIn": "Вход по SMS",
"smsEndpoint": "Конечная точка шлюза",
"smsEndpointDes": "HTTP-конечная точка вашего SMS-провайдера. Плейсхолдеры <0>{phone}</0> и <0>{code}</0> заменяются перед каждым запросом.",
"smsMethodDes": "HTTP-метод запроса к шлюзу. Для GET плейсхолдеры подставляются только в URL конечной точки.",
"smsHeaders": "Заголовки запроса",
"smsHeadersDes": "По одной паре `Key: Value` на строку, например Authorization: Bearer <token>.",
"smsBodyTemplate": "Шаблон тела запроса",
"smsBodyTemplateDes": "Тело, отправляемое для POST-запросов. Плейсхолдеры <0>{phone}</0> и <0>{code}</0> заменяются перед каждым запросом.",
"smsRegisterEnabled": "Разрешить автоматическую регистрацию",
"smsRegisterEnabledDes": "Автоматически создавать локальную учётную запись при первом входе по SMS-коду. Созданным аккаунтам назначается синтетический адрес @sms.local.",
"themeVisible": "Видима",
"shareDefaultPrivate": "Приватная ссылка по умолчанию",
"shareDefaultPrivateDes": "Новые ссылки по умолчанию приватные (защищены паролем). Пользователи могут изменить это в личных настройках.",
"defaultShareLinksInProfile": "Видимость ссылок в профиле по умолчанию",
"defaultShareLinksInProfileDes": "Определяет, какие ссылки отображаются на публичной странице профиля пользователя, если он не выбрал их сам.",
"profileSharePublicOnly": "Только ссылки без пароля",
"profileShareAll": "Все ссылки",
"profileShareHide": "Скрыть все ссылки"
},
"giftCodes": {
"giftCodesSettings": "Подарочные коды",
@ -852,7 +937,11 @@
"copyAndClose": "Скопировать и закрыть",
"duratonTimes": "Множитель длительности",
"duratonTimesDes": "Сколько единиц соответствующего товара содержит каждый подарочный код.",
"unknownProduct": "Неизвестный продукт"
"unknownProduct": "Неизвестный продукт",
"giftCodeTypeTraffic": "Трафик прямых ссылок",
"giftCodeDeleteFailed": "Не удалось удалить подарочный код",
"giftCodeCreateFailed": "Не удалось создать подарочные коды",
"giftCodeAmountHelp": "Сумма начисления на код"
},
"policy": {
"acceleratedDomainUpload": "Использовать ускоренный домен для загрузки",
@ -871,7 +960,7 @@
"authorizeNow": "Авторизовать сейчас",
"authorizeAgain": "Повторная авторизация",
"notGranted": "Нет авторизованного аккаунта, политика хранения недоступна.",
"granted": "Аккаунт авторизован, учетные данные обновлены <0></0>.",
"granted": "Аккаунт авторизован, учетные данные обновлены <0>{{time}}</0>.",
"grantedNotRefresh": "Аккаунт авторизован, учетные данные не обновлялись с момента последнего запуска.",
"batchDeleteSize": "Максимальное количество для пакетного удаления",
"batchDeleteSizeDes": "Ограничивает максимальное количество удалений в одном API-запросе. Эта настройка не влияет на пакетное удаление файлов пользователями. Если не заполнено, будет использоваться значение по умолчанию <0>1000</0>, что является максимально допустимым значением для официального S3 API.",
@ -1146,7 +1235,38 @@
"fileEncryption": "Шифрование файлов",
"enableFileEncryption": "Включить шифрование файлов",
"enableFileEncryptionDes": "При включении блобы файлов будут храниться в зашифрованном виде. Изменение этого параметра влияет только на вновь добавляемые файлы.",
"encryptedFile": "Зашифрованные файлы"
"encryptedFile": "Зашифрованные файлы",
"thumbForceProxy": "Принудительная генерация эскизов через прокси",
"thumbForceProxyDes": "Всегда генерировать эскизы через локальный прокси-конвейер, даже если бэкенд хранилища предоставляет нативный API эскизов. Подразумевает прокси-генерацию эскизов.",
"thumbStoragePolicy": "Политика хранения эскизов",
"thumbStoragePolicySource": "Как у файла",
"thumbStoragePolicyDes": "Сгенерированные эскизы хранятся по выбранной политике вместо политики самого файла.",
"blobAudit": "Аудит blobs: {{name}}",
"blobAuditDes": "Сканирует бэкенд хранилища и перечисляет физические объекты, на которые не ссылается ни одна запись файла. Полезно для поиска «блуждающих» blobs после неудачных передач.",
"blobAuditDelete": "Удалить потерянные blobs",
"blobAuditDeleteWarning": "Потерянные объекты будут безвозвратно удалены из бэкенда хранилища. Файлы, ещё загружаемые, могут отображаться как потерянные — включайте только если уверены, что загрузок нет.",
"blobAuditStart": "Начать аудит",
"blobAuditSubmitted": "Задача аудита blobs поставлена в очередь.",
"maxTotalSize": "Максимальная общая ёмкость",
"maxTotalSizeDes": "Максимальный общий объём данных в этой политике. Загрузки и копирования, превышающие лимит, отклоняются. 0 — без ограничений.",
"overflowPolicy": "Политика переполнения",
"overflowPolicyDes": "При нехватке ёмкости новые загрузки направляются в выбранную политику. Поддерживаются цепочки политик.",
"auditEndpoint": "Конечная точка аудита содержимого",
"auditEndpointDes": "HTTP-конечная точка аудита содержимого (например, модерация изображений). Если задано, при создании ссылки на файл из этой политики его содержимое POST-отправляется на конечную точку; ответ {\"flagged\":true} блокирует ссылку. Оставьте пустым, чтобы отключить.",
"auditMaxSize": "Лимит размера аудита",
"auditMaxSizeDes": "Максимальный размер сущности, отправляемой на аудит. Большие файлы пропускаются. 0 — без ограничений.",
"overflowNone": "Нет",
"allowNativeName": "Разрешить нативные символы в именах файлов",
"allowNativeNameDes": "Разрешить символы, запрещённые только в файловых системах Windows (: * ? \" < > |), в именах файлов. Может нарушить работу клиентов, монтируемых на Windows. Разделители путей остаются запрещёнными.",
"status": "Статус",
"statusDes": "Приостановленные политики продолжают обслуживать существующие файлы, но отклоняют новые загрузки.",
"loadBalance": "Балансировка нагрузки",
"lbChildren": "Дочерние политики хранения",
"lbChildPolicy": "Политика хранения",
"lbWeight": "Вес",
"lbAddChild": "Добавить дочернюю политику",
"lbChildrenDes": "Новые загрузки распределяются по дочерним политикам пропорционально их весу.",
"lbWizardDes": "Политика балансировки распределяет загрузки по дочерним политикам с учётом веса. Дочерние настраиваются после создания."
},
"node": {
"slave": "Подчиненный узел",
@ -1215,7 +1335,12 @@
"hostHeaderHint": "Если возникают ошибки подписи, проверьте, передает ли обратный прокси перед подчиненным узлом заголовок <0>Host</0>.",
"features": "Включенные функции",
"remoteDownload": "Офлайн-загрузка",
"refresh": "Обновить"
"refresh": "Обновить",
"ytdlpDes": "Запускайте yt-dlp на целевом узле с тем же пользователем/уровнем доступа, что и Cloudreve. yt-dlp вызывается как CLI-процесс для каждой задачи — демон не требуется.",
"ytdlpOptionDes": "Дополнительные флаги CLI yt-dlp при создании задачи загрузки в формате JSON ключ-значение — ключи становятся аргументами --flag как есть, см. <0>справочник параметров yt-dlp</0>.",
"ytdlpBinary": "Бинарник yt-dlp",
"ytdlpBinaryDes": "Путь или имя исполняемого файла yt-dlp на узле. По умолчанию yt-dlp из PATH.",
"copyBinary": ""
},
"group": {
"countUser": "Статистика",
@ -1301,7 +1426,38 @@
"notCopy": "Не копировать",
"confirmDelete": "Подтвердите удаление группы пользователей {{group}}?",
"new": "Новая группа пользователей",
"editGroup": "Редактировать {{group}}"
"editGroup": "Редактировать {{group}}",
"availablePolicyDesPro": "Множественный выбор — пользователи могут свободно переключаться между выбранными политиками хранения.",
"loginIPWhitelist": "Белый список IP для входа",
"loginIPWhitelistDes": "Ограничить вход этими IP или диапазонами CIDR, по одному на строку. Оставьте пустым, чтобы разрешить все.",
"delegatedAdmin": "Делегированные разделы админки",
"delegatedAdminDes": "Предоставить доступ только к выбранным разделам панели. Пользователи этой группы могут открывать админ-панель, но работают только включённые разделы — все остальные вызовы admin API отклоняются.",
"sectionUsers": "Пользователи",
"sectionGroups": "Группы",
"sectionFiles": "Файлы и blobs",
"sectionShares": "Ссылки",
"sectionStorage": "Политики хранения и узлы",
"sectionQueue": "Очередь задач",
"sectionSettings": "Настройки сайта и OAuth",
"sectionPayment": "Платежи",
"sectionEvents": "События",
"sectionReports": "Жалобы",
"shareSell": "Продажа ссылок",
"shareSellDes": "Если включено, пользователи могут устанавливать цену в баллах на создаваемые ими ссылки.",
"wabDAVReadOnly": "WebDAV только чтение",
"wabDAVReadOnlyDes": "Если включено, монтирования WebDAV для пользователей этой группы становятся доступными только для чтения — загрузки, удаления, перемещения и другие методы записи отклоняются.",
"aria2TaskLimit": "Максимум одновременных удалённых загрузок",
"aria2TaskLimitDes": "Максимум активных задач удалённой загрузки на пользователя (в очереди, выполняемые или приостановленные). 0 = без ограничений.",
"aria2MaxFileSize": "Макс. размер задачи загрузки (байт)",
"aria2MaxFileSizeDes": "Удалённые загрузки, общий размер которых превышает лимит, прерываются. 0 = без ограничений.",
"setExplicitUser": "Установка прав на файлы",
"setExplicitUserDes": "Участники могут задавать детальные права на чтение/создание/изменение/удаление для принадлежащих им файлов и папок — конкретным пользователям, группам, анонимным посетителям или всем остальным.",
"switchablePolicies": "Переключаемые политики хранения",
"switchablePoliciesDes": "Политики, на которые участники этой группы могут свободно переключаться. Политика по умолчанию выше всегда доступна.",
"weightedPolicies": "Взвешенный выбор политик",
"weightedPoliciesDes": "Если включено, загрузки без явного выбора политики направляются в разрешённую политику с наибольшим свободным местом, вмещающую файл. Учитываются только политики с общим лимитом ёмкости.",
"sharePublicList": "Публичный каталог ссылок",
"sharePublicListDes": "Если включено, пользователи могут включать свои ссылки в публичный каталог (страница «Обзор»). Ссылки с паролем не могут быть опубликованы."
},
"user": {
"createdAt": "Дата создания",
@ -1351,7 +1507,34 @@
"deleteXUsers": "Удалить {{num}} пользователей",
"confirmBatchDelete": "Подтвердите удаление {{num}} пользователей?",
"calibrateStorage": "Калибровать хранилище",
"calibrateStorageSuccess": "Хранилище успешно откалибровано"
"calibrateStorageSuccess": "Хранилище успешно откалибровано",
"relocateFiles": "Переместить файлы",
"banExpires": "Бан истекает",
"banExpiresDes": "Необязательно. Бан снимается автоматически после этого времени; пусто означает навсегда.",
"banReason": "Причина бана",
"banReasonDes": "Необязательно. Показывается пользователю при отклонении заблокированного входа.",
"lastLogin": "Последний вход",
"uids": "ID пользователей",
"uidsPlaceholder": "ID через запятую, например 2,3,5",
"editXUsers": "Изменить {{num}} пользователей",
"batchEditXUsers": "Массовое редактирование {{num}} пользователей",
"noChange": "Без изменений",
"invitationCodes": "Коды приглашений",
"invitationCodesDes": "Коды, которые можно требовать для публичной регистрации. Создавайте, делитесь и отзывайте их здесь.",
"invitationCode": "Код",
"invitationCodeAuto": "Автогенерация",
"invitationCodeGroup": "Группа",
"invitationCodeMaxUses": "Макс. использований",
"invitationCodeExpires": "Истекает",
"invitationCodeUses": "Использований",
"invitationCodeCreated": "Код приглашения создан.",
"invitationCodeCopied": "Код скопирован в буфер обмена.",
"invitationCodeCopy": "Копировать",
"invitationCodeDefaultGroup": "По умолчанию",
"noInvitationCodes": "Кодов приглашений пока нет.",
"loadMore": "Загрузить ещё",
"additionalGroups": "Дополнительные группы",
"additionalGroupsDes": "Дополнительные членства в группах поверх основной. Разрешения, квоты и политики хранения объединяются по всем группам."
},
"file": {
"deleteXFiles": "Удалить {{num}} файлов",
@ -1423,7 +1606,15 @@
"shareLinkExisted": "Существует ссылка для общего доступа",
"directLinkExisted": "Существует прямая ссылка",
"isUploading": "Загружается",
"selectUser": "Выбрать пользователя"
"selectUser": "Выбрать пользователя",
"referenceCount": "Количество ссылок",
"awaitingRecycle": "Ожидает очистки",
"refCountGt": "Больше чем",
"refCountLt": "Меньше чем",
"refCountEq": "Равно",
"deletedState": "Состояние удаления",
"liveOnly": "Только живые файлы",
"trashOnly": "Только корзина"
},
"entity": {
"refenenceCount": "Количество ссылок",
@ -1434,7 +1625,15 @@
"confirmBatchDelete": "Подтвердите удаление {{num}} Blob?",
"deleteXEntities": "Удалить {{num}} Blob",
"forceDelete": "Принудительное удаление",
"forceDeleteDes": "Запись Blob будет удалена независимо от того, успешно ли удален физический файл."
"forceDeleteDes": "Запись Blob будет удалена независимо от того, успешно ли удален физический файл.",
"relocateXEntities": "Переместить {{num}} blobs",
"relocateTitle": "Переместить blobs",
"relocateEntitiesDes": "Переместить данные {{num}} выбранных blobs в другую политику хранения. Задача выполняется в фоне и может быть возобновлена.",
"relocatePolicyDes": "Переместить все blobs, хранящиеся в «{{name}}», в другую политику хранения. Задача выполняется в фоне и может быть возобновлена.",
"relocateUserDes": "Переместить все blobs, принадлежащие «{{name}}», в другую политику хранения. Задача выполняется в фоне и может быть возобновлена.",
"relocatePolicy": "Перенести все blobs из {{name}} в другую политику",
"relocateStart": "Начать перемещение",
"relocateSubmitted": "Задача перемещения отправлена"
},
"event": {
"cleanup": "Очистка",
@ -1470,7 +1669,8 @@
"confirmDelete": "Подтвердите удаление этого события?",
"deleteXEvents": "Удалить {{num}} событий",
"confirmBatchDelete": "Подтвердите удаление {{num}} событий?",
"allEventTypes": "Все типы событий"
"allEventTypes": "Все типы событий",
"noEvents": "Событий пока нет"
},
"share": {
"confirmBatchDelete": "Подтвердите удаление {{num}} общих доступов?",
@ -1548,7 +1748,8 @@
"finished": "Завершено",
"canceled": "Отменено/Остановлено",
"unknown": "Неизвестно",
"errorMsg": "Сообщение об ошибке"
"errorMsg": "Сообщение об ошибке",
"blobAudit": "Аудит blobs в политике хранения #{{policyID}} ({{count}} потерянных)"
},
"payment": {
"tradeNo": "Номер транзакции",
@ -1727,7 +1928,21 @@
"customPaymentEndpointDes": "URL интерфейса, запрашиваемый при создании платежного заказа",
"appFeedback": "URL страницы обратной связи",
"appForum": "URL пользовательского форума",
"appLinkDes": "Используется для отображения на странице настроек приложения, оставьте пустым, чтобы не показывать кнопку ссылки. Эта настройка действует только при действительной лицензии VOL."
"appLinkDes": "Используется для отображения на странице настроек приложения, оставьте пустым, чтобы не показывать кнопку ссылки. Эта настройка действует только при действительной лицензии VOL.",
"addTrafficPack": "Добавить пакет трафика",
"editTrafficPack": "Изменить пакет трафика",
"trafficSize": "Объём трафика (байт)",
"trafficSizeDes": "Байты трафика прямых ссылок, начисляемые при покупке; пакеты бессрочные.",
"subAddressChars": "Символы подадреса",
"subAddressCharsDes": "Символы, считающиеся разделителями подадреса в локальной части email (например, <code>+-.</code> для алиасов в стиле Gmail/iCloud). Пусто по умолчанию — <code>+</code>.",
"manualAdjust": "Ручная корректировка баллов",
"adjustEmail": "Email пользователя",
"adjustDelta": "Изменение баллов",
"adjustDeltaDes": "Положительное значение добавляет баллы, отрицательное — списывает",
"adjustNote": "Заметка",
"adjustSubmit": "Применить",
"adjustSuccess": "Баллы скорректированы",
"adjustFailed": "Не удалось скорректировать баллы"
},
"pro": {
"title": "Функции Pro-версии",
@ -1757,6 +1972,27 @@
"reporterID": "ID пользователя-заявителя",
"reportedUserID": "ID пользователя-объекта жалобы",
"shareID": "ID общего ресурса",
"reason": "Причина"
"reason": "Причина",
"target": "Объект",
"statusLabel": "Статус",
"reportedAt": "Жалоба отправлена",
"actions": "Действия",
"resolve": "Решить",
"dismiss": "Отклонить",
"adminNote": "Заметка администратора",
"blockShare": "Заблокировать ссылку",
"noReports": "Жалоб нет",
"reviewSuccess": "Жалоба обновлена.",
"status": {
"open": "Открыта",
"resolved": "Решена",
"dismissed": "Отклонена",
"all": "Все"
},
"markAs": {
"resolved": "Решить жалобу",
"dismissed": "Отклонить жалобу",
"open": "Открыть жалобу снова"
}
}
}

@ -959,7 +959,7 @@
"authorizeNow": "立即授权",
"authorizeAgain": "重新授权",
"notGranted": "无授权账号,存储策略无法使用。",
"granted": "已授权账号,凭证刷新于 <0></0>。",
"granted": "已授权账号,凭证刷新于 <0>{{time}}</0>。",
"grantedNotRefresh": "已授权账号,凭证自上次启动后尚未刷新。",
"batchDeleteSize": "最大批量删除数量",
"batchDeleteSizeDes": "限制单次 API 请求的最大删除数量,此设置不会影响用户删除批量文件。不填写会使用默认值 <0>1000</0>,这是官方 S3 API 的最大允许值。",

@ -52,7 +52,35 @@
"signingOut": "正在退出登入...",
"loggedOut": "您已退出登入",
"clickToRefresh": "點選重新整理驗證碼",
"switchLanguage": "切換語言"
"switchLanguage": "切換語言",
"invitationCode": "邀請碼",
"phoneNumber": "手機號碼",
"smsCode": "簡訊驗證碼",
"sendSmsCode": "傳送驗證碼",
"resendSmsCode": "重新傳送 ({{seconds}}秒)",
"smsSignIn": "簡訊驗證碼登入",
"resetViaSms": "透過簡訊驗證碼重置",
"emailChangedTitle": "郵箱已更換",
"emailChanged": "您的郵箱地址已成功更換。",
"signInWith": "使用 {{name}} 登入",
"ssoFailed": "單點登入失敗,請重試或選擇其他登入方式。",
"ssoError": {
"generic": "單點登入失敗,請重試。",
"sso_not_configured": "單點登入尚未配置,請聯絡管理員。",
"sso_discovery_failed": "無法連線到身份提供方,請稍後重試。",
"sso_state_failed": "無法建立登入會話,請重試。",
"sso_denied": "身份提供方拒絕了登入請求。",
"sso_invalid_response": "身份提供方返回了無效的響應。",
"sso_state_expired": "登入會話已過期,請重試。",
"sso_exchange_failed": "無法完成與身份提供方的登入交換。",
"sso_token_invalid": "身份響應驗證失敗。",
"sso_no_email": "身份提供方未返回郵箱地址。",
"sso_account_unavailable": "此身份沒有可用賬號,註冊可能受限。"
},
"browsePublicShares": "瀏覽公開分享",
"inputBackupCode": "請輸入您的備用恢復程式碼",
"useBackupCode": "改用備用恢復程式碼",
"use2FACode": "改用驗證器驗證碼"
},
"oauth": {
"authorize": "授權應用",
@ -147,7 +175,11 @@
"toDarkMode": "黑暗",
"toLightMode": "淺色",
"myProfile": "個人主頁",
"dashboard": "管理面板"
"dashboard": "管理面板",
"shop": "商城",
"addAccount": "新增賬號",
"signedOut": "已退出登入",
"discover": "發現"
},
"fileManager": {
"continueInDesktop": "授權成功,請在桌面客戶端中繼續操作。",
@ -453,7 +485,37 @@
"noEncryption": "未加密",
"ftsStatus": "全文索引",
"ftsIndexed": "已索引",
"ftsNotIndexed": "未索引"
"ftsNotIndexed": "未索引",
"aclDes": "\"{{name}}\" 的細粒度許可權。列出的條目將覆蓋分享連結預設許可權,適用於匹配的訪客。",
"aclSubject": "物件",
"aclAnonymous": "匿名訪客",
"aclEveryone": "其他所有人",
"aclGroup": "使用者組",
"aclPerm_read": "讀取",
"aclPerm_create": "建立",
"aclPerm_update": "更新",
"aclPerm_delete": "刪除",
"loop": "迴圈播放",
"modelViewer": "3D 模型檢視器",
"modelLoadFailed": "3D 模型載入失敗",
"activityDes": "{{name}} 上的已記錄操作。",
"resetThumbnail": "重置失敗的縮圖",
"resetThumbnailRequested": "已請求重置縮圖",
"noFileCanResetThumbnail": "沒有可重置縮圖的檔案",
"selectDownloadRoute": "選擇下載線路",
"downloadRouteDirect": "直連",
"downloadRouteDirectDescription": "直接從本站下載",
"lineEnding": "換行符",
"downloadAll": "全部下載",
"dirPolicyTitle": "上傳儲存策略",
"dirPolicyDes": "上傳到「{{name}}」的新檔案將使用所選的儲存策略。",
"relocateTitle": "遷移儲存",
"relocateDes": "將「{{name}}」的物理內容遷移到所選儲存策略。",
"relocateSubmitted": "遷移任務已提交",
"relocateStart": "遷移",
"policySaved": "儲存策略已更新",
"policyInherit": "繼承(使用父目錄或使用者組預設)",
"policyGroupDefault": "使用者組預設"
},
"modals": {
"includePasswordInShareLink": "在連結中包含密碼",
@ -613,7 +675,40 @@
"notSet": "未設定",
"deleteViewSetting": "刪除視圖設定",
"anonymous": "匿名",
"shareTargetsCount": "{{count}} 個目標"
"shareTargetsCount": "{{count}} 個目標",
"paidShare": "付費分享",
"paidSharePrice": "{{price}} 積分",
"paidShareDes": "訪客需使用積分購買此分享後才能下載。設定為 0 表示免費分享。",
"paidSharePriceLabel": "價格(積分)",
"nameConflict": "名稱衝突",
"conflictOverwriteDes": "替換目標位置中的同名專案。",
"conflictSkipDes": "保留目標位置的同名專案,衝突的專案不會被移動或複製。",
"skip": "跳過",
"remoteDownloadFileName": "檔名(可選)",
"remoteDownloadFileNameDescription": "自定義儲存檔名",
"remoteDownloadHttpUser": "HTTP 使用者名稱(可選)",
"remoteDownloadHttpPassword": "HTTP 密碼(可選)",
"remoteDownloadHeaders": "請求頭(可選)",
"remoteDownloadProvider": "下載器",
"remoteDownloadProviderAuto": "自動(任意節點)",
"remoteDownloadHeadersDescription": "每行一個請求頭,例如 Cookie: sid=...",
"allowUpload": "允許上傳",
"allowUploadDes": "訪客可以在此共享資料夾中上傳新檔案和建立資料夾,儲存計入你的配額。",
"allowEdit": "允許編輯",
"allowEditDes": "訪客可以上傳、重新命名、移動和刪除此共享資料夾中的檔案,包含上傳許可權。",
"uploadOnly": "僅上傳(收集箱)",
"uploadOnlyDes": "訪客可以上傳檔案,但無法檢視或下載此共享資料夾中的現有內容。",
"previewOnly": "僅預覽",
"previewOnlyDes": "訪客可以線上預覽檔案,但不能下載。",
"shareNote": "備註",
"shareNoteDes": "用於識別此分享的私有備註,僅在“我的分享”中對你可見。",
"shareTargets": "分享物件",
"shareTargetsCount_one": "已選擇 {{count}} 個專案",
"shareTargetsCount_other": "已選擇 {{count}} 個專案",
"publicListing": "收錄到公開目錄",
"publicListingDes": "將此分享顯示在“發現”頁,任何人(包括未登入訪客)可見。帶密碼的分享不可用。",
"hideReadme": "隱藏 README 檔案",
"hideReadmeDes": "在分享檔案列表中隱藏 README 檔案本身,訪客仍可看到渲染後的說明內容。"
},
"uploader": {
"fileCopyName": "副本_",
@ -636,7 +731,7 @@
"preparing": "準備中...",
"processing": "處理中...",
"progressDescription": "已上傳 {{uploaded}} , 共 {{total}} - {{percentage}}%",
"progressDescriptionFull": "{{speed}} 已上傳 {{uploaded}} , 共 {{total}} - {{percentage}}%",
"progressDescriptionFull": "{{speed}} 已上傳 {{uploaded}} , 共 {{total}} - {{percentage}}%{{eta}}",
"progressDescriptionPlaceHolder": "已上傳 - ",
"uploaded": "已上傳",
"rootFolder": "根目錄",
@ -695,7 +790,8 @@
"upyunUploadFailed": "上傳失敗: {{msg}}",
"parseResponseError": "無法解析響應: {{msg}} ({{content}})",
"concurrentTaskNumber": "同時上傳的任務數量",
"dropFileHere": "鬆開滑鼠開始上傳"
"dropFileHere": "鬆開滑鼠開始上傳",
"etaSuffix": ",預計剩餘 {{eta}}"
},
"share": {
"statistics": "統計",
@ -739,7 +835,19 @@
"preview": "預覽",
"incorrectPassword": "密碼不正確",
"shareNotExist": "分享不存在或已過期",
"copyLinkToClipboard": "復制連結到剪下板"
"copyLinkToClipboard": "復制連結到剪下板",
"paidShareDes": "此分享為付費分享,需支付 {{price}} 積分購買後才能下載。",
"purchaseForPoints": "支付 {{price}} 積分購買",
"signInToPurchase": "登入後購買",
"yourBalance": "餘額:{{credits}} 積分",
"saveToMyFiles": "儲存到我的檔案",
"savedToMyFiles": "分享已儲存到你的檔案。",
"saveShareLink": "儲存分享連結",
"saveShareLinkHint": "貼上分享連結,例如 https://example.com/s/abc123",
"shareLink": "分享連結",
"savedAs": "儲存名稱(可選)",
"sharePasswordRequired": "此分享需要密碼。",
"invalidShareLink": "無法解析此分享連結。"
},
"download": {
"noFilesFound": "沒有找到任何檔案",
@ -982,7 +1090,82 @@
"relocateFileTo": "將 <0></0>{{more}} 的儲存策略轉移至 {{policy}}",
"extractFileTo": "將 <0></0>{{more}} 解壓縮至 <1></1>",
"createArchiveTo": "將 <0></0>{{more}} 打包至 <1></1>",
"importFileTo": "將 {{policy}} 中的文件導入至 <0></0>"
"importFileTo": "將 {{policy}} 中的文件導入至 <0></0>",
"preferredViewers": "預設開啟方式",
"preferredViewersDes": "在「開啟方式」對話方塊中選擇「始終」後儲存的應用,會在所有裝置上生效。刪除後下次開啟時將重新詢問。",
"preferredViewersEmpty": "尚未儲存預設應用。在檔案的「開啟方式」對話方塊中選擇「始終」即可新增。",
"trashRetention": "回收站保留時間(天)",
"trashRetentionDes": "檔案移入回收站後自動刪除前保留的天數。0 表示繼承使用者組預設值,僅影響修改後移入回收站的檔案。",
"linkedAccounts": "已繫結賬號",
"providerQQ": "QQ",
"linkedAt": "繫結於 <0></0>",
"unlinkAccount": "解綁",
"unlinkAccountConfirm": "確定要解綁此賬號嗎?解綁後將無法再使用該賬號登入。",
"linkQQAccount": "繫結 QQ 賬號",
"providerWeChat": "微信",
"linkWeChatAccount": "繫結微信賬號",
"phoneBinding": "手機繫結",
"bindPhone": "繫結手機",
"unbindPhone": "解綁",
"unbindPhoneConfirm": "確定要解綁此手機號嗎?解綁後將無法再使用該號碼登入或重置密碼。",
"changeEmail": "更換",
"changeEmailDes": "確認連結將傳送到新郵箱。在確認之前,當前郵箱({{email}})仍然有效。",
"newEmail": "新郵箱地址",
"changeEmailPasswordDes": "請輸入當前密碼以確認操作。",
"emailChangeSent": "確認郵件已傳送至新郵箱。",
"copySecret": "無法掃碼?點選複製金鑰",
"secretCopied": "已複製金鑰",
"shareSiteDefault": "跟隨站點預設",
"shareSiteDefaultDes": "使用管理員配置的站點級預設值。",
"shareDefaultPrivate": "預設分享隱私",
"shareDefaultPrivateDes": "新建分享預設啟用私密分享(密碼保護)。",
"sharePrivateOn": "私密",
"sharePrivateOff": "公開",
"preferredPolicy": "首選儲存策略",
"preferredPolicyDes": "在您自己的檔案中上傳新檔案時使用此儲存策略,除非某個目錄單獨指定。",
"policySaved": "儲存策略已更新",
"policyInherit": "繼承(使用者組預設)",
"policyGroupDefault": "使用者組預設",
"finance": "財務",
"creditBalance": "積分餘額",
"storageBonus": "容量加成",
"dlTraffic": "直鏈流量",
"dlTrafficUnlimited": "不限",
"activeGrants": "生效中的權益",
"grantStorage": "容量",
"grantGroup": "使用者組",
"redeemGiftCode": "兌換禮品碼",
"redeemGiftCodeDes": "輸入禮品碼以兌換積分或權益",
"giftCodePlaceholder": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"redeem": "兌換",
"giftCodeRedeemed": "禮品碼兌換成功",
"creditLedger": "積分流水",
"txnChange": "變動",
"txnTime": "時間",
"txnReason": "事由",
"noTxns": "暫無流水",
"txnType": {
"purchase": "商店購買",
"gift": "禮品碼",
"share_income": "分享售出",
"adjust": "手動調整"
},
"tags": "標籤",
"tagsDes": "在所有檔案中重新命名、換色或刪除標籤。重新命名為已有標籤時將合併兩者。",
"tagName": "標籤",
"tagFiles": "檔案數",
"tagActions": "操作",
"noTags": "暫無標籤",
"editTag": "編輯標籤",
"deleteTag": "刪除標籤",
"deleteTagDes": "將標籤「{{name}}」從 {{count}} 個檔案中移除?檔案本身不會被刪除。",
"tagUpdated": "標籤已更新",
"tagDeleted": "標籤已刪除",
"tagNameInvalid": "標籤名不能為空或包含「:」",
"backup2FACodes": "備用恢復程式碼",
"backupCodesDes": "當驗證器不可用時,可使用備用恢復程式碼登入。重新生成將使所有舊程式碼失效。",
"backupCodesWarning": "請立即儲存這些程式碼。每個程式碼僅可使用一次,且不會再次顯示。",
"copyCodes": "複製程式碼"
},
"vas": {
"points": "積分",
@ -1001,5 +1184,43 @@
],
"reportDescription": "補充說明",
"reportAbuseSuccess": "舉報已提交"
},
"vault": {
"title": "私密空間",
"description": "私密空間中的檔案在解鎖前不會出現在瀏覽與搜尋結果中,使用獨立密碼解鎖。空間內檔案無法分享,也無法透過 WebDAV 訪問。",
"enable": "啟用私密空間",
"enabled": "私密空間已啟用",
"disable": "關閉",
"disabled": "私密空間已關閉",
"disableDescription": "關閉將解除鎖定;資料夾及其內容會保留為普通檔案。",
"confirmDisable": "確認關閉",
"setPassword": "設定私密空間密碼",
"confirmPassword": "私密空間密碼",
"enterPassword": "私密空間密碼",
"lockNow": "立即鎖定",
"locked": "私密空間已鎖定",
"unlocked": "已解鎖",
"lockedState": "已鎖定",
"lockedTitle": "此資料夾位於私密空間內,請解鎖後繼續。",
"badge": "私密空間"
},
"shop": {
"memberships": "會員",
"storagePacks": "容量包",
"trafficPacks": "流量包",
"redeem": "兌換",
"balance": "餘額:{{credits}} 積分",
"purchased": "已購買 {{name}}",
"permanent": "永久",
"noProducts": "暫無商品",
"buyWithPoints": "{{points}} 積分購買",
"pointsUnavailable": "不支援積分購買"
},
"announcement": {
"title": "公告",
"dontShowAgain": "不再顯示"
},
"discover": {
"searchPlaceholder": "搜尋公開分享"
}
}

@ -34,7 +34,9 @@
"human": "我是人類",
"verifying": "驗證中…",
"verified": "您已通過驗證"
}
},
"verify": "點選驗證",
"verified": "已驗證"
},
"errors": {
"401": "請先登入",
@ -54,7 +56,7 @@
"40014": "超出批量獲取外鏈限制",
"40015": "超出最大離線下載任務數量限制",
"40016": "路徑不存在",
"40017": "該賬號已被封禁",
"40017": "該賬號已被封禁。{{message}}",
"40018": "該賬號未啟用",
"40019": "此功能未啟用",
"40020": "憑證無效或過期",
@ -103,5 +105,6 @@
"50010": "目標節點不可用",
"50011": "檔案元資訊查詢失敗"
},
"save": "儲存"
"save": "儲存",
"delete": "刪除"
}

@ -752,7 +752,8 @@
"report_abuse": "舉報濫用",
"oauth_grant_create": "OAuth 應用授權",
"oauth_token_exchange": "OAuth 令牌交換",
"oauth_grant_revoke": "OAuth 應用授權撤銷"
"oauth_grant_revoke": "OAuth 應用授權撤銷",
"content_audit_blocked": "分享被內容審計攔截"
},
"server": "伺服器設定",
"tempPath": "臨時路徑",
@ -820,7 +821,91 @@
"ftsTikaExts": "支援的副檔名",
"ftsTikaExtsDes": "逗號分隔的副檔名列表,Tika 將處理這些類型的檔案。",
"ftsTikaMaxFileSize": "最大檔案大小",
"ftsTikaMaxFileSizeDes": "傳送至 Tika 進行內容擷取的檔案最大大小。"
"ftsTikaMaxFileSizeDes": "傳送至 Tika 進行內容擷取的檔案最大大小。",
"navItemVisibility": "可見範圍",
"navScopePublic": "所有人",
"navScopeUser": "登入使用者",
"uploadDedupScope": "重複檢測範圍",
"uploadDedupScopeDes": "客戶端傳送內容雜湊時,服務端會查詢內容一致的已完成檔案並直接完成上傳(秒傳),無需傳輸資料。",
"uploadDedupScope_off": "關閉",
"uploadDedupScope_offDes": "不進行重複檢測,每次上傳都傳輸資料。",
"uploadDedupScope_owner": "僅本人",
"uploadDedupScope_ownerDes": "僅對上傳者本人已有的檔案進行去重。",
"uploadDedupScope_global": "全站",
"uploadDedupScope_globalDes": "對全站所有已完成檔案進行去重。",
"translations": "多語言版本",
"translationsDes": "按語言填寫不同版本,留空則回退到預設內容。使用者將看到與其語言設定或瀏覽器語言匹配的版本。",
"invitationCodeRequired": "需要邀請碼",
"invitationCodeRequiredDes": "開啟後,新使用者註冊必須提供有效的邀請碼。邀請碼可在 使用者 - 邀請碼 中管理。",
"smtpAuthMethod": "SMTP 認證方式",
"smtpAuthMethodDes": "自動發現只會選擇安全的認證機制,不會在未加密的連線上以明文傳送憑據。如果伺服器僅提供 PLAIN/LOGIN 且不支援加密,請選擇對應的 \"-noenc\" 方式 —— 憑據將以明文傳輸。",
"smtpAuth_autodiscover": "自動發現",
"smtpAuth_plain": "PLAIN",
"smtpAuth_plain_noenc": "PLAIN(允許明文傳輸)",
"smtpAuth_login": "LOGIN",
"smtpAuth_login_noenc": "LOGIN(允許明文傳輸)",
"smtpAuth_cram_md5": "CRAM-MD5",
"smtpAuth_scram_sha_1": "SCRAM-SHA-1",
"smtpAuth_scram_sha_256": "SCRAM-SHA-256",
"smtpAuth_xoauth2": "XOAUTH2",
"smtpAuth_noauth": "不使用認證",
"tcaptcha": "騰訊驗證碼",
"tcaptchaAppId": "CaptchaAppId",
"tcaptchaAppSecretKey": "AppSecretKey",
"tcaptchaSecretId": "SecretId",
"tcaptchaSecretKey": "SecretKey",
"tcaptchaDes": "在 <0>騰訊驗證碼控制檯</0> 獲取 CaptchaAppId 和 AppSecretKey。",
"tcaptchaSecretDes": "用於呼叫 DescribeCaptchaResult 介面的騰訊雲 API 金鑰(SecretId / SecretKey)。",
"trafficProductSettings": "流量產品",
"trafficProductsDes": "配置使用者可以購買以充值直鏈流量額度的產品。",
"auditRetentionDays": "保留天數",
"auditRetentionDaysDes": "刪除超過該天數的事件。0 表示永久保留。",
"ssoIssuer": "Issuer 地址",
"ssoIssuerDes": "OIDC Issuer 的基礎 URL,例如 <0>https://keycloak.example.com/realms/master</0>。將從該地址下的 <1>.well-known/openid-configuration</1> 獲取提供方後設資料。",
"ssoRegisterEnabled": "允許自動註冊",
"ssoRegisterEnabledDes": "使用者首次透過 SSO 登入時自動建立本地賬號。下方的註冊郵箱過濾規則同樣適用。",
"downloadCdnRoutes": "下載 CDN 線路",
"downloadCdnRoutesDes": "供使用者選擇的備用下載端點,每行一條,格式為 名稱=URL(例如 線路1=https://cdn1.example.com)。線路需將完整的請求路徑與查詢串代理回本站以保證簽名有效;瀏覽器內下載需要線路配置 CORS 頭。",
"downloadCdnShuffle": "隨機分發下載線路",
"downloadCdnShuffleDes": "啟用後,每條生成的下載連結將隨機分發到本站地址或任一已配置的 CDN 線路,批次匯出到下載器時不同連結會命中不同端點。啟用期間將隱藏手動選擇線路。",
"ssoAutoRedirect": "自動跳轉至 SSO",
"ssoAutoRedirectDes": "跳過登入表單,直接跳轉至身份提供商。在登入地址後附加 <0>?nosso=1</0> 可進入密碼登入表單(例如管理員賬戶恢復)。",
"ssoCallbackUrl": "回撥地址",
"ssoCallbackUrlDes": "請在身份提供方中將此 URL 註冊為 Redirect/Callback URL:<0>{{url}}</0>",
"qqConnect": "QQ 互聯",
"qqAppID": "App ID",
"qqAppIDDes": "在 <0>QQ 互聯開放平臺</0>(connect.qq.com)建立的網站應用的 App ID。",
"qqAppSecret": "App Key",
"qqCallbackUrl": "回撥地址",
"qqCallbackUrlDes": "請在 QQ 互聯控制檯中將此 URL 註冊為網站回撥域/回撥地址:<0>{{url}}</0>",
"qqRegisterEnabled": "允許自動註冊",
"qqRegisterEnabledDes": "使用者首次透過 QQ 登入時自動建立本地賬號。QQ 不提供郵箱,自動註冊的賬號使用 @connect.qq.local 合成郵箱。",
"wechatConnect": "微信掃碼登入",
"wechatAppID": "App ID",
"wechatAppIDDes": "在 <0>微信開放平臺</0>(open.weixin.qq.com)建立的網站應用的 AppID。",
"wechatAppSecret": "App Secret",
"wechatCallbackUrl": "回撥地址",
"wechatCallbackUrlDes": "請在微信開放平臺控制檯中將此 URL 的域名註冊為授權回撥域:<0>{{url}}</0>",
"wechatRegisterEnabled": "允許自動註冊",
"wechatRegisterEnabledDes": "使用者首次透過微信登入時自動建立本地賬號。微信不提供郵箱,自動註冊的賬號使用 @connect.wechat.local 合成郵箱。",
"smsSignIn": "簡訊登入",
"smsEndpoint": "閘道器地址",
"smsEndpointDes": "簡訊服務提供商的 HTTP 介面地址。每次請求前會替換佔位符 <0>{phone}</0> 和 <0>{code}</0>。",
"smsMethodDes": "閘道器請求使用的 HTTP 方法。GET 方式下佔位符僅會渲染到介面地址中。",
"smsHeaders": "請求頭",
"smsHeadersDes": "每行一個 `Key: Value`,例如 Authorization: Bearer <token>。",
"smsBodyTemplate": "請求體模板",
"smsBodyTemplateDes": "POST 請求傳送的請求體。每次請求前會替換佔位符 <0>{phone}</0> 和 <0>{code}</0>。",
"smsRegisterEnabled": "允許自動註冊",
"smsRegisterEnabledDes": "使用者首次透過簡訊驗證碼登入時自動建立本地賬號。自動註冊的賬號使用 @sms.local 合成郵箱。",
"themeVisible": "可見",
"shareDefaultPrivate": "預設私密分享",
"shareDefaultPrivateDes": "新建分享預設啟用私密分享(密碼保護)。使用者仍可在個人設定中覆蓋此預設值。",
"defaultShareLinksInProfile": "預設個人主頁分享可見性",
"defaultShareLinksInProfileDes": "當使用者未自行選擇時,控制其公開個人主頁上顯示哪些分享。",
"profileSharePublicOnly": "僅無密碼分享",
"profileShareAll": "所有分享",
"profileShareHide": "隱藏所有分享"
},
"giftCodes": {
"giftCodesSettings": "禮品碼",
@ -851,7 +936,11 @@
"copyAndClose": "復制並關閉",
"duratonTimes": "時長倍數",
"duratonTimesDes": "每個禮品碼包含了多少份對應商品。",
"unknownProduct": "未知產品"
"unknownProduct": "未知產品",
"giftCodeTypeTraffic": "直鏈流量",
"giftCodeDeleteFailed": "刪除禮品碼失敗",
"giftCodeCreateFailed": "生成禮品碼失敗",
"giftCodeAmountHelp": "每個兌換碼的額度"
},
"policy": {
"acceleratedDomainUpload": "使用傳輸加速域名上傳",
@ -870,7 +959,7 @@
"authorizeNow": "立即授權",
"authorizeAgain": "重新授權",
"notGranted": "無授權賬號,儲存策略無法使用。",
"granted": "已授權賬號,憑證重新整理於 <0></0>。",
"granted": "已授權賬號,憑證重新整理於 <0>{{time}}</0>。",
"grantedNotRefresh": "已授權賬號,憑證自上次啟動後尚未重新整理。",
"batchDeleteSize": "最大批量刪除數量",
"batchDeleteSizeDes": "限制單次 API 請求的最大刪除數量,此設定不會影響使用者刪除批量檔案。不填寫會使用預設值 <0>1000</0>,這是官方 S3 API 的最大允許值。",
@ -1145,7 +1234,38 @@
"fileEncryption": "檔案加密",
"enableFileEncryption": "啟用檔案加密",
"enableFileEncryptionDes": "開啟後,檔案 Blob 會被加密儲存。更改此設定只對新增的檔案有效。",
"encryptedFile": "加密的檔案"
"encryptedFile": "加密的檔案",
"thumbForceProxy": "強制代理生成縮圖",
"thumbForceProxyDes": "即使儲存端支援原生縮圖 API,也始終使用本地代理流水線生成縮圖。啟用後等同於開啟代理生成縮圖。",
"thumbStoragePolicy": "縮圖儲存策略",
"thumbStoragePolicySource": "與檔案相同",
"thumbStoragePolicyDes": "生成的縮圖將儲存到所選儲存策略,而非檔案自身的儲存策略。",
"blobAudit": "Blob 審計:{{name}}",
"blobAuditDes": "掃描儲存後端,列出沒有任何檔案記錄引用的物理物件,用於清理傳輸失敗遺留的幽靈 Blob。",
"blobAuditDelete": "刪除孤兒 Blob",
"blobAuditDeleteWarning": "孤兒物件將被從儲存後端永久刪除。正在上傳中的檔案可能會被誤判為孤兒——請僅在確認沒有上傳任務進行時啟用。",
"blobAuditStart": "開始審計",
"blobAuditSubmitted": "Blob 審計任務已加入佇列。",
"maxTotalSize": "儲存策略總容量",
"maxTotalSizeDes": "此儲存策略下可儲存的檔案總大小上限,超出後上傳和複製將被拒絕。輸入 0 表示不限制。",
"overflowPolicy": "溢位儲存策略",
"overflowPolicyDes": "當此儲存策略容量用盡時,新上傳將自動切換到所選儲存策略。支援多級鏈式溢位。",
"auditEndpoint": "內容審計端點",
"auditEndpointDes": "用於內容審計(鑑黃)的 HTTP 端點。設定後,分享此策略下的檔案時會將檔案內容 POST 到該端點;返回 {\"flagged\":true} 時阻止分享。留空表示不啟用。",
"auditMaxSize": "審計大小上限",
"auditMaxSizeDes": "傳送至審計端點的檔案大小上限,超過此大小的檔案跳過審計。輸入 0 表示不限制。",
"overflowNone": "無",
"allowNativeName": "允許原生檔名字元",
"allowNativeNameDes": "允許檔名包含僅在 Windows 檔案系統中非法的字元(: * ? \" < > |)。可能影響 Windows 客戶端掛載使用。路徑分隔符仍然禁止。",
"status": "狀態",
"statusDes": "已暫停的儲存策略仍可讀取已有檔案,但會拒絕新的上傳。",
"loadBalance": "負載均衡",
"lbChildren": "子儲存策略",
"lbChildPolicy": "儲存策略",
"lbWeight": "權重",
"lbAddChild": "新增子策略",
"lbChildrenDes": "新上傳將按權重比例分配到各子儲存策略。",
"lbWizardDes": "負載均衡策略按權重將上傳分配到子策略,建立後再配置子策略。"
},
"node": {
"slave": "從機",
@ -1215,7 +1335,11 @@
"hostHeaderHint": "如果有簽名錯誤,請檢查從機前置反代是否呈遞了 <0>Host</0> 頭。",
"features": "已啟用功能",
"remoteDownload": "離線下載",
"refresh": "重新整理"
"refresh": "重新整理",
"ytdlpDes": "在目標節點伺服器上安裝 yt-dlp,並以和執行 Cloudreve 相同的使用者/許可權呼叫。yt-dlp 會按任務以命令列程序方式執行,無需常駐服務。",
"ytdlpOptionDes": "建立下載任務時附加的 yt-dlp 命令列引數,以 JSON 鍵值對格式書寫,鍵名將原樣轉換為 --flag 引數,具體可參考 <0>yt-dlp 選項文件</0>。",
"ytdlpBinary": "yt-dlp 可執行檔案",
"ytdlpBinaryDes": "節點伺服器上 yt-dlp 可執行檔案的路徑或名稱,留空時從 PATH 解析 yt-dlp。"
},
"group": {
"countUser": "統計",
@ -1302,7 +1426,37 @@
"notCopy": "不復制",
"confirmDelete": "確認要刪除使用者組 {{group}}?",
"new": "新建使用者組",
"editGroup": "編輯 {{group}}"
"editGroup": "編輯 {{group}}",
"loginIPWhitelist": "登入 IP 白名單",
"loginIPWhitelistDes": "僅允許以下 IP 或 CIDR 網段登入,每行一條。留空則不限制。",
"delegatedAdmin": "委派管理區塊",
"delegatedAdminDes": "僅授予所選管理後臺區塊的訪問許可權。該組使用者可開啟管理面板,但僅啟用的區塊可用,其餘管理 API 請求會被拒絕。",
"sectionUsers": "使用者",
"sectionGroups": "使用者組",
"sectionFiles": "檔案與儲存塊",
"sectionShares": "分享",
"sectionStorage": "儲存策略與節點",
"sectionQueue": "任務佇列",
"sectionSettings": "站點設定與 OAuth",
"sectionPayment": "支付",
"sectionEvents": "事件",
"sectionReports": "濫用舉報",
"shareSell": "出售分享連結",
"shareSellDes": "開啟後,使用者可以為其建立的分享連結設定積分價格。",
"wabDAVReadOnly": "WebDAV 只讀",
"wabDAVReadOnlyDes": "啟用後,該使用者組的 WebDAV 掛載變為只讀——上傳、刪除、移動及其他寫操作將被拒絕。",
"aria2TaskLimit": "最大併發離線下載任務數",
"aria2TaskLimitDes": "每個使用者同時處於排隊、下載或暫停狀態的離線下載任務上限,填 0 表示不限制。",
"aria2MaxFileSize": "單個下載任務最大體積(位元組)",
"aria2MaxFileSizeDes": "解析後的下載總大小超過此值的任務將被中止,填 0 表示不限制。",
"setExplicitUser": "設定檔案許可權",
"setExplicitUserDes": "開啟後,使用者組成員可以為其擁有的檔案和資料夾設定細粒度許可權(讀取/建立/更新/刪除),物件可為指定使用者、使用者組、匿名訪客或所有其他人。",
"switchablePolicies": "可切換儲存策略",
"switchablePoliciesDes": "該組成員可以自由切換使用的儲存策略。上方預設策略始終可用。",
"weightedPolicies": "按容量加權選擇策略",
"weightedPoliciesDes": "啟用後,未指定策略偏好的上傳會被分配到剩餘容量最多且可容納該檔案的可切換儲存策略。僅參與設定了總容量限制的策略。",
"sharePublicList": "公開分享目錄",
"sharePublicListDes": "開啟後,使用者可以將分享連結收錄到公開目錄(發現頁)。帶密碼的分享無法被收錄。"
},
"user": {
"createdAt": "建立日期",
@ -1351,7 +1505,34 @@
"deleteXUsers": "刪除 {{num}} 個使用者",
"confirmBatchDelete": "確認要刪除 {{num}} 個使用者?",
"calibrateStorage": "校准儲存空間",
"calibrateStorageSuccess": "儲存空間校准成功"
"calibrateStorageSuccess": "儲存空間校准成功",
"relocateFiles": "遷移檔案儲存策略",
"banExpires": "封禁截止時間",
"banExpiresDes": "可選。到期後自動解除封禁;留空表示永久封禁。",
"banReason": "封禁原因",
"banReasonDes": "可選。封禁使用者登入被拒絕時向其展示。",
"lastLogin": "上次登入",
"uids": "使用者 ID",
"uidsPlaceholder": "逗號分隔的 ID,如 2,3,5",
"editXUsers": "編輯 {{num}} 個使用者",
"batchEditXUsers": "批次編輯 {{num}} 個使用者",
"noChange": "不修改",
"invitationCodes": "邀請碼",
"invitationCodesDes": "用於前臺註冊的邀請碼。可在此建立、分享和吊銷。",
"invitationCode": "邀請碼",
"invitationCodeAuto": "自動生成",
"invitationCodeGroup": "使用者組",
"invitationCodeMaxUses": "最大使用次數",
"invitationCodeExpires": "過期時間",
"invitationCodeUses": "使用次數",
"invitationCodeCreated": "邀請碼已建立。",
"invitationCodeCopied": "邀請碼已複製到剪貼簿。",
"invitationCodeCopy": "複製",
"invitationCodeDefaultGroup": "預設組",
"noInvitationCodes": "暫無邀請碼。",
"loadMore": "載入更多",
"additionalGroups": "附加使用者組",
"additionalGroupsDes": "在主要使用者組之外的額外使用者組成員身份。許可權、容量與儲存策略在所有使用者組間取並集。"
},
"file": {
"deleteXFiles": "刪除 {{num}} 個檔案",
@ -1423,7 +1604,15 @@
"shareLinkExisted": "有分享連結",
"directLinkExisted": "有中轉直鏈",
"isUploading": "上傳中",
"selectUser": "選擇使用者"
"selectUser": "選擇使用者",
"referenceCount": "引用次數",
"awaitingRecycle": "等待回收",
"refCountGt": "大於",
"refCountLt": "小於",
"refCountEq": "等於",
"deletedState": "刪除狀態",
"liveOnly": "僅未刪除",
"trashOnly": "僅回收站"
},
"entity": {
"refenenceCount": "引用次數",
@ -1434,7 +1623,15 @@
"confirmBatchDelete": "確認要刪除 {{num}} 個 Blob?",
"deleteXEntities": "刪除 {{num}} 個 Blob",
"forceDelete": "強制刪除",
"forceDeleteDes": "無論物理檔案是否刪除成功,都會刪除 Blob 記錄。"
"forceDeleteDes": "無論物理檔案是否刪除成功,都會刪除 Blob 記錄。",
"relocateXEntities": "遷移 {{num}} 個 Blob",
"relocateTitle": "遷移 Blob",
"relocateEntitiesDes": "將選中的 {{num}} 個 Blob 的資料遷移到另一個儲存策略。任務將在後臺執行,可斷點續傳。",
"relocatePolicyDes": "將儲存在“{{name}}”上的所有 Blob 遷移到另一個儲存策略。任務將在後臺執行,可斷點續傳。",
"relocateUserDes": "將“{{name}}”名下的所有 Blob 遷移到另一個儲存策略。任務將在後臺執行,可斷點續傳。",
"relocatePolicy": "將 {{name}} 上的所有 Blob 遷移到其他策略",
"relocateStart": "開始遷移",
"relocateSubmitted": "遷移任務已提交"
},
"event": {
"cleanup": "清理",
@ -1470,7 +1667,8 @@
"rawContent": "原始記錄",
"confirmDelete": "確認要刪除這個事件?",
"deleteXEvents": "刪除 {{num}} 個事件",
"confirmBatchDelete": "確認要刪除 {{num}} 個事件?"
"confirmBatchDelete": "確認要刪除 {{num}} 個事件?",
"noEvents": "暫無事件記錄"
},
"share": {
"confirmBatchDelete": "確認要刪除 {{num}} 個分享?",
@ -1548,7 +1746,8 @@
"finished": "完成",
"canceled": "取消/停止",
"unknown": "未知",
"errorMsg": "錯誤資訊"
"errorMsg": "錯誤資訊",
"blobAudit": "審計儲存策略 #{{policyID}} 的 Blob({{count}} 個孤兒物件)"
},
"payment": {
"tradeNo": "交易單號",
@ -1727,7 +1926,21 @@
"customPaymentEndpointDes": "建立支付訂單時請求的介面 URL",
"appFeedback": "反饋頁面 URL",
"appForum": "使用者論壇 URL",
"appLinkDes": "用於在 App 設定頁面展示,留空即不展示連結按鈕,僅當 VOL 授權有效時此項設定才會生效。"
"appLinkDes": "用於在 App 設定頁面展示,留空即不展示連結按鈕,僅當 VOL 授權有效時此項設定才會生效。",
"addTrafficPack": "新增流量包",
"editTrafficPack": "編輯流量包",
"trafficSize": "流量大小(位元組)",
"trafficSizeDes": "購買後增加的直鏈流量位元組數;流量包永久有效。",
"subAddressChars": "子地址字元",
"subAddressCharsDes": "郵箱使用者名稱部分中視為子地址分隔符的字元(如 <code>+-.</code>,覆蓋 Gmail/iCloud 風格別名)。留空預設為 <code>+</code>。",
"manualAdjust": "手動積分調整",
"adjustEmail": "使用者郵箱",
"adjustDelta": "積分變動",
"adjustDeltaDes": "正數為增加,負數為扣減",
"adjustNote": "備註",
"adjustSubmit": "應用",
"adjustSuccess": "積分已調整",
"adjustFailed": "積分調整失敗"
},
"pro": {
"title": "Pro 版本專屬功能",
@ -1757,6 +1970,27 @@
"reporterID": "舉報者使用者 ID",
"reportedUserID": "舉報對象使用者 ID",
"shareID": "分享 ID",
"reason": "原因"
"reason": "原因",
"target": "舉報物件",
"statusLabel": "狀態",
"reportedAt": "舉報時間",
"actions": "操作",
"resolve": "標記已處理",
"dismiss": "忽略",
"adminNote": "管理員備註",
"blockShare": "封禁此分享連結",
"noReports": "沒有舉報記錄",
"reviewSuccess": "舉報已更新。",
"status": {
"open": "待處理",
"resolved": "已處理",
"dismissed": "已忽略",
"all": "全部"
},
"markAs": {
"resolved": "標記為已處理",
"dismissed": "忽略此舉報",
"open": "重新開啟舉報"
}
}
}
Loading…
Cancel
Save