{
  "pillFiles": "{{count}} files",
  "pillTrash": "{{count}} in trash",
  "pillSpace": "{{used}} used",
  "statFiles": "Files",
  "statFolders": "Folders",
  "statUsage": "Usage",
  "statSelected": "Selected",
  "statTrash": "Trash",
  "statShares": "Shares",
  "publicSiteSettings": "Public site settings",
  "opsResultTitle": "File operation result",
  "closeResult": "Close result",
  "tabBrowse": "Browse",
  "tabTrash": "Trash",
  "tabShares": "Shares",
  "spaceLabel": "Space",
  "publicFiles": "Public files",
  "viewLabel": "View",
  "allFiles": "All files",
  "favorites": "Favorites",
  "upload": "Upload",
  "newFolder": "New folder",
  "newTextFile": "New text file",
  "download": "Download",
  "copy": "Copy",
  "move": "Move",
  "zip": "Zip",
  "unzip": "Unzip",
  "unzipDone": "Unzipped {{path}}",
  "unzipFailed": "Unzip failed",
  "delete": "Delete",
  "searchName": "Search…",
  "sortAria": "Sort",
  "sortNameAsc": "Name↑",
  "sortNameDesc": "Name↓",
  "sortSizeAsc": "Small↑",
  "sortSizeDesc": "Large↓",
  "sortMtimeDesc": "Newest",
  "sortMtimeAsc": "Oldest",
  "viewList": "List",
  "viewIcons": "Icons",
  "viewAria": "View mode",
  "toolbarAria": "File actions",
  "pathAria": "Path",
  "rootPublic": "Public",
  "rootProject": "Project",
  "emptyFavorites": "No favorites yet",
  "emptyFolder": "This folder is empty",
  "emptyFolderHint": "Drop files or folders here to upload, or click Upload",
  "selectItem": "Select {{name}}",
  "colName": "Name",
  "colSize": "Size",
  "colMtime": "Modified",
  "rename": "Rename",
  "unfavorite": "Unfavorite",
  "favorite": "Favorite",
  "share": "Share",
  "versions": "Versions",
  "selectAllAria": "Select all",
  "selectAll": "Select all",
  "folder": "Folder",
  "dirNamedLikeFile": "(folder leftover; name looks like a file)",
  "dropToUpload": "Drop to upload",
  "trashTitle": "Trash ({{count}})",
  "trashDesc": "Deleted files can be restored or permanently removed",
  "emptyTrash": "Empty trash",
  "emptyTrashTitle": "Empty trash?",
  "emptyTrashDesc": "Every file in trash will be permanently deleted. This cannot be undone.",
  "purgeForeverDesc": "This file will be permanently deleted. This cannot be undone.",
  "emptyTrashDone": "Trash emptied",
  "colOrigPath": "Original path",
  "colDeletedAt": "Deleted at",
  "restore": "Restore",
  "restored": "Restored",
  "purgeForever": "Delete forever",
  "purged": "Permanently deleted",
  "trashEmpty": "Trash is empty",
  "sharesTitle": "Public share links ({{count}})",
  "colPath": "Path",
  "colLink": "Link",
  "colDownloads": "Downloads",
  "unshare": "Unshare",
  "unshareDone": "Share cancelled",
  "sharesEmpty": "No shares yet",
  "sharesEmptyHint": "Click Share on a file row",
  "webdavTitle": "WebDAV settings",
  "webdavDesc": "Mount the public files root via HTTP Basic in Finder, Windows, or rclone. Token is shown once.",
  "enableIssueToken": "Enable and issue token",
  "webdavReissueToken": "Re-issue token",
  "webdavReissueConfirm": "Re-issuing invalidates the old password immediately; mounted clients will disconnect. Continue?",
  "webdavDisableConfirm": "Disabling will reject all /webdav connections. Continue?",
  "tokenIssued": "Token issued",
  "status": "Status",
  "enabledMount": "Enabled · {{path}}",
  "notEnabled": "Not enabled",
  "disable": "Disable",
  "webdavAlreadyOff": "WebDAV is already off",
  "webdavDisabled": "WebDAV disabled",
  "webdavEnabledNoEcho": "Enabled (password will not be shown again; re-issue if needed)",
  "webdavDefaultOff": "Off by default — click Enable and issue token to start",
  "webdavAfterEnable": "Available after you enable WebDAV and issue a token.",
  "webdavOn": "Enabled",
  "webdavOff": "Disabled",
  "webdavOffNoToken": "Disabled (no active token)",
  "webdavTokenId": "Token #{{id}}",
  "webdavTokenInactive": "Disabled — token #{{id}} is not active",
  "webdavUpdated": "Updated {{at}}",
  "webdavTokenOnceTitle": "Copy the password now",
  "webdavTokenOnceHint": "This password is shown only once; it cannot be retrieved after you leave this page.",
  "webdavConnTitle": "Connection",
  "webdavConnDesc": "Use this URL with HTTP Basic credentials in your client",
  "webdavUrl": "Server URL",
  "webdavUsername": "Username",
  "webdavPassword": "Password (token)",
  "webdavPasswordHidden": "Issued earlier and not re-shown — re-issue or use a saved password",
  "webdavPasswordNone": "Not issued yet",
  "webdavRoot": "Mount root",
  "webdavRootValue": "Panel public files root",
  "webdavAuth": "Authentication",
  "webdavAuthValue": "HTTP Basic · user ysk · password = panel-issued token",
  "webdavConnBundle": "connection details",
  "webdavCopyAll": "Copy all connection details",
  "webdavClientsTitle": "Client setup",
  "webdavClientsDesc": "Common mount recipes (prefer HTTPS; trust self-signed certs in the client if needed)",
  "webdavClientFinder": "macOS Finder",
  "webdavClientFinderHint": "Go → Connect to Server… (⌘K), paste the URL, user ysk, password = token.",
  "webdavClientWin": "Windows",
  "webdavClientWinHint": "This PC → Map network drive → use different credentials; or Cyberduck / WinSCP (WebDAV).",
  "webdavNotesTitle": "Notes",
  "webdavNote1": "WebDAV maps the public files root only — not the whole host filesystem.",
  "webdavNote2": "Expose the panel port via reverse proxy/firewall; prefer HTTPS only.",
  "webdavNote3": "Re-issuing invalidates the old token immediately; disable rejects all /webdav requests.",
  "webdavNote4": "Supports OPTIONS / PROPFIND / GET / PUT; full LOCK suite may be incomplete.",
  "copiedLabel": "Copied “{{label}}”",
  "newFolderTitle": "New folder",
  "willCreateAt": "Will create under \"{{path}}\"",
  "nameRequired": "Enter a name",
  "folderCreated": "Folder created",
  "create": "Create",
  "folderName": "Folder name",
  "noPathSepHint": "Must not contain path separators",
  "newTextTitle": "New text file",
  "fileNameRequired": "Enter a file name",
  "textFileCreated": "Text file created",
  "fileName": "File name",
  "fileNameHint": "e.g. readme.md or notes.txt",
  "versionsTitle": "Version history",
  "versionsDesc": "",
  "noVersions": "No version history yet",
  "noVersionsHint": "",
  "versionRestored": "Restored",
  "restoreVersionConfirm": "Restore {{version}} over the current file {{file}}? This overwrites the file on disk.",
  "renameTitle": "Rename",
  "renameCurrent": "Current: {{name}}",
  "renamed": "Renamed",
  "newName": "New name",
  "newNameHint": "Renames only; stays in the same directory",
  "copyTo": "Copy to…",
  "moveTo": "Move to…",
  "copyMoveDesc": "{{action}} {{count}} item(s)",
  "actionCopy": "Copy",
  "actionMove": "Move",
  "copied": "Copied",
  "moved": "Moved",
  "targetFolderPath": "Target folder path",
  "targetFolderHint": "Relative to root, e.g. docs or docs/a; empty = root",
  "shareCreateTitle": "Share file",
  "shareCreateDesc": "Create a public download link. Optional password.",
  "createLink": "Create link",
  "sharePath": "Path: ",
  "passwordOptional": "Password (optional)",
  "passwordOptionalHint": "Leave empty for open access",
  "passwordPlaceholder": "Optional",
  "linkCreated": "Link created: ",
  "chmodTitle": "Change permissions (chmod)",
  "chmodDone": "chmod {{mode}} → {{count}} item(s)",
  "chmodDoneShort": "chmod {{mode}} done",
  "chmodFailed": "chmod failed",
  "apply": "Apply",
  "chmodApplyHint": "Apply to {{count}} selected item(s) (octal, e.g. 644 / 755)",
  "chmod644": "644 file",
  "chmod755": "755 executable",
  "chmod600": "600 private",
  "chmod700": "700 private dir",
  "chmod775": "775 group write",
  "chmodCustomPh": "Custom 0644…",
  "mode": "Mode",
  "zipTitle": "Compress to zip",
  "zipCreated": "Created {{path}}",
  "zipDone": "Zipped → {{path}}",
  "zipFailed": "zip failed",
  "compress": "Compress",
  "zipHint": "Zip {{count}} selected item(s) into current folder (needs zip on host)",
  "destFileName": "Destination file name",
  "destPathHint": "Path: {{path}}",
  "movedToTrash": "Moved to trash",
  "moveToTrashTitle": "Move to trash?",
  "moveToTrashDesc": "Delete {{count}} item(s) (restorable from trash)",
  "deleteMore": " and {{n}} more",
  "unshareTitle": "Revoke this share?",
  "unshareDesc": "Revoke the link for {{name}} ({{url}}). The link stops working immediately.",
  "preview": "Preview",
  "imagePreviewNeedLogin": "Image preview needs login; use download instead",
  "pdfDownloadHint": "Download PDF to open (needs auth headers)",
  "noEmbedPreview": "This type cannot be embedded; please download.",
  "uploadDone": "Uploaded {{count}} file(s)",
  "downloadFailedStatus": "Download failed ({{status}})",
  "downloadFailed": "Download failed",
  "uploadFolder": "Upload folder",
  "dropFolderOrFile": "Drop files or folders to upload",
  "uploadPanelTitle": "Uploads",
  "uploadPanelStats": "{{done}}/{{total}} done · {{err}} failed",
  "uploadClearDone": "Clear finished",
  "uploadInFolder": "Folder {{folder}}",
  "uploadStatusDone": "Done",
  "uploadStatusError": "Failed",
  "uploadStatusQueued": "Queued",
  "uploadNoFile": "No file data",
  "uploadSomeFailed": "{{count}} item(s) failed",
  "uploadTruncated": "Upload limited to {{max}} items ({{total}} selected; rest skipped)",
  "previewFailed": "Preview failed",
  "videoNotSupported": "Your browser cannot play this video.",
  "audioNotSupported": "Your browser cannot play this audio.",
  "edit": "Edit",
  "editorTitle": "Edit · {{name}}",
  "editorSave": "Save",
  "editorSavedIdle": "Saved",
  "editorSaved": "Saved {{name}}",
  "editorSaveFailed": "Save failed",
  "editorDirty": "Unsaved",
  "editorClean": "Saved",
  "editorChars": "{{count}} chars",
  "editorAria": "Editor for {{name}}",
  "editorDiscardConfirm": "Discard unsaved changes?",
  "shareReadyTitle": "Link ready",
  "shareReadyDesc": "Copy and send this link. Anyone with it can download.",
  "shareReadyBadge": "Created",
  "shareProtected": "Password protected",
  "shareOpenAccess": "No password",
  "shareLinkLabel": "Public link",
  "shareCopyHint": "Select the field or use Copy.",
  "shareAgain": "New link",
  "shareCreatedToast": "Share link created",
  "linkCopied": "Link copied",
  "linkCopyFailed": "Could not copy — select and copy manually",
  "shareExpireLabel": "Link expiry",
  "shareExpireHint": "After this time the link stops working",
  "shareExpireNever": "Never",
  "shareExpire1h": "1 hour",
  "shareExpire1d": "1 day",
  "shareExpire7d": "7 days",
  "shareExpire30d": "30 days",
  "shareExpireCustom": "Custom…",
  "shareExpireAt": "Expires at",
  "shareExpireInvalid": "Pick a future date and time",
  "shareExpiresAt": "Expires {{at}}",
  "colExpires": "Expires",
  "pdfInlineHint": "If the PDF does not display, download it.",
  "publicShareTitle": "Someone shared a file with you",
  "publicShareSub": "Download securely from this link — no account needed",
  "publicShareChecking": "Checking link…",
  "publicShareDownloading": "Downloading…",
  "publicShareWait": "Please wait",
  "publicShareNeedPassword": "This link requires a password to download",
  "publicSharePasswordPh": "Share password",
  "publicShareDownload": "Download",
  "publicShareDownloadAgain": "Download again",
  "publicShareDone": "Download started",
  "publicShareDoneHint": "Check your browser downloads; tap again if nothing appears",
  "publicShareNotFound": "Share not found or expired",
  "publicShareDenied": "Cannot access this share",
  "publicShareBadPassword": "Wrong password",
  "publicShareMissing": "Invalid share link",
  "publicShareFailed": "Download failed ({{status}})",
  "publicShareFailedGeneric": "Download failed",
  "publicShareDefaultName": "download",
  "publicSharePanelLogin": "Panel sign-in",
  "publicShareLang": "Language",
  "publicShareProgress": "{{loaded}} / {{total}} ({{pct}}%)",
  "publicShareProgressIndeterminate": "Received {{loaded}}…",
  "publicShareCancel": "Cancel",
  "publicShareCancelled": "Download cancelled",
  "publicSharePoweredBy": "Powered by {{company}}",
  "publicSharePoweredPrefix": "Powered by ",
  "publicSharePoweredSuffix": "",
  "publicShareHasAccount": "Have an account? Sign in",
  "password": "Password",
  "editorLines": "{{count}} lines",
  "editorLargeHint": "Large file — editing may feel slow. Prefer download for multi‑MB files (server cap ~2 MB).",
  "editorLnCol": "Ln {{line}}, Col {{col}}",
  "editorSpaces": "Spaces: {{n}}",
  "copyLink": "Copy link",
  "versionsTitleShort": "Version history",
  "versionsCount": "{{count}} / {{max}}",
  "versionN": "v{{n}}",
  "versionLatest": "Latest",
  "shareModeLabel": "Download method",
  "shareModeDirect": "Direct download",
  "shareModeBt": "BitTorrent (WebTorrent)",
  "shareModeBoth": "Direct + BitTorrent",
  "shareModeHint": "BT needs a running tracker (Files → BT Tracker). Magnet links can be used by anyone who has the link.",
  "shareModeBtBlocked": "Tracker is not running — start it before creating BT shares, or choose Direct only.",
  "shareMagnet": "Magnet link",
  "shareTorrentFile": "Download .torrent",
  "shareSeedStatus": "Seeding status",
  "shareBtStats": "BitTorrent status",
  "btSeeds": "Seeds",
  "btLeechers": "Leechers",
  "btPeers": "Peers",
  "btUploadSpeed": "Upload speed",
  "btDownloadSpeed": "Download speed",
  "btUploaded": "Uploaded",
  "btDownloaded": "Downloaded",
  "btRatio": "Ratio",
  "btUpdatedAt": "Updated",
  "btServerStats": "Server seeder",
  "btClientStats": "Your client",
  "btSeeding": "Seeding",
  "btPending": "Seeding pending",
  "btStopped": "Seed stopped",
  "btError": "Seed error",
  "publicShareMethod": "How do you want to download?",
  "publicShareDirect": "Direct download",
  "publicShareBt": "BitTorrent",
  "openBtTracker": "Open BT Tracker",
  "publicShareBtInBrowser": "Download in browser (WebTorrent)",
  "publicShareBtProgress": "Downloaded {{pct}}% · {{peers}} peers · ↓ {{down}} · ↑ {{up}}",
  "publicShareBtStarting": "Connecting to peers…",
  "publicShareBtFailed": "WebTorrent failed: {{detail}}",
  "publicShareBtNeedMagnet": "No magnet URI for this share",
  "publicShareBtUnsupported": "This browser cannot run WebTorrent; use magnet or .torrent instead",
  "btNone": "—",
  "uploadStatusSkipped": "Skipped",
  "uploadStatusCancelled": "Cancelled",
  "conflict": {
    "titleFile": "An item named “{{name}}” already exists",
    "titleFolder": "A folder named “{{name}}” already exists",
    "descFile": "Choose what to do. Nothing is overwritten until you pick Replace.",
    "descFolder": "Choose what to do. Merge keeps the existing folder and continues with its contents.",
    "incoming": "Incoming",
    "existing": "Already here",
    "kindFile": "File",
    "kindFolder": "Folder",
    "skip": "Skip",
    "skipHint": "Do not add this item",
    "keepBoth": "Keep both",
    "keepBothHint": "Save incoming as {{name}}",
    "replace": "Replace",
    "replaceHint": "Overwrite the existing file. A version snapshot is kept when possible.",
    "replaceFolderHint": "Overwrite files with the same names inside this folder. Other files stay.",
    "merge": "Merge",
    "mergeHint": "Keep the existing folder and add incoming files into it",
    "applyAll": "Apply to all remaining conflicts",
    "applyAllHint": "Use this action for the rest of this drop or transfer",
    "cancelRest": "Cancel remaining",
    "progress": "{{current}} of {{total}}",
    "typeMismatch": "A {{destKind}} named “{{name}}” is already here. Incoming is a {{incomingKind}}.",
    "skipped": "Skipped",
    "cancelled": "Cancelled"
  },
  "webdavReissueUnchanged": "Token id did not change after re-issue — the write may not have persisted. Try again.",
  "webdavDisableFailed": "WebDAV is still enabled after disable — the write may not have persisted. Try again."
}
