{
  "language": {
    "menuLabel": "Change language"
  },
  "shell": {
    "nav": {
      "library": "Saved Watermarks",
      "editor": "Images",
      "bulk": "Bulk",
      "video": "Videos",
      "documents": "Documents",
      "gallery": "Watermarked Images",
      "members": "Members",
      "audit": "Audit log",
      "admin": "Admin"
    },
    "skipToContent": "Skip to content",
    "menu": "Menu",
    "primaryNav": "Primary",
    "primaryMenuNav": "Primary (menu)",
    "toolsNav": "Tools",
    "signOut": "Sign out",
    "accountMenu": "Account menu for {{name}}",
    "menuDescription": "Switch workspace or go to any part of Lumafoil.",
    "switchOrganizationFor": "Workspace: {{name}}. Switch workspace",
    "chooseOrganization": "Choose a workspace",
    "chooseOrganizationShort": "Choose workspace",
    "organizations": "Workspaces",
    "newOrganization": "New workspace",
    "theme": {
      "system": "Theme: follows system. Switch to light",
      "light": "Theme: light. Switch to dark",
      "dark": "Theme: dark. Switch to system"
    },
    "closeMenu": "Close menu",
    "manageAccess": "Manage Access",
    "supportPrompt": "If Lumafoil helps, please consider donating.",
    "donate": "Donate",
    "supportPayPal": "Donate with PayPal (opens a new tab)"
  },
  "auth": {
    "backToSignIn": "Back to sign in",
    "fields": {
      "emailLabel": "Email",
      "passwordLabel": "Password"
    },
    "login": {
      "title": "Welcome back",
      "description": "Sign in to your workspace.",
      "footerPrompt": "New here?",
      "createAccount": "Create an account",
      "verifyTitle": "Verify your email first",
      "verifyBody": "We sent a verification link to {{email}}.",
      "resendIt": "Resend it",
      "forgotPassword": "Forgot password?",
      "submit": "Sign in"
    },
    "signup": {
      "title": "Create your account",
      "description": "A verification link will be sent to your email.",
      "footerPrompt": "Already have an account?",
      "signIn": "Sign in",
      "nameLabel": "Name",
      "passwordHint": "At least {{min}} characters. A few unrelated words work well.",
      "submit": "Create account"
    },
    "forgotPassword": {
      "title": "Reset your password",
      "description": "Enter your email and we will send a reset link if an account exists.",
      "sentTitle": "Check your inbox",
      "sentBody": "If {{email}} belongs to an account, a reset link is on its way. It expires in one hour.",
      "submit": "Send reset link"
    },
    "resetPassword": {
      "title": "Choose a new password",
      "invalidTitle": "This reset link is not valid",
      "invalidBody": "It may have expired or already been used.",
      "requestNew": "Request a new one",
      "invalidEnd": ".",
      "newPasswordLabel": "New password",
      "passwordHint": "At least {{min}} characters.",
      "confirmLabel": "Confirm password",
      "mismatch": "Passwords do not match",
      "submit": "Update password"
    },
    "acceptInvitation": {
      "unavailableTitle": "Invitation unavailable",
      "title": "Join {{organizationName}}",
      "description": "{{inviterEmail}} invited you to join as {{role}}.",
      "roleLabel": "Role:",
      "decline": "Decline",
      "accept": "Accept invitation"
    },
    "inviteOnly": {
      "title": "Invitation required",
      "body": "Lumafoil is invite-only. Open the invitation link in your email to create your account."
    }
  },
  "dashboard": {
    "signedInAs": "Signed in as {{email}}",
    "yourRole": "Your workspace role:",
    "overviewHeading": "Overview",
    "members": "Members",
    "noPendingInvitations": "No pending invitations.",
    "pendingInvitations_one": "{{count}} pending invitation.",
    "pendingInvitations_other": "{{count}} pending invitations.",
    "manageMembers": "Manage members",
    "auditLog": "Audit log",
    "auditDescription": "Every membership and workspace change is recorded with who did it and when.",
    "viewAuditLog": "View audit log"
  },
  "library": {
    "orgRequired": "Create or join a workspace to build a watermark library.",
    "heading": "Saved Watermarks",
    "description": "Saved watermarks in {{name}}. Apply them to one file or a whole batch.",
    "export": "Export",
    "exportPreset": "Export {{name}}",
    "importPresets": "Import watermarks",
    "newPreset": "New watermark",
    "exportErrorTitle": "Could not export the watermarks",
    "loadingPresets": "Loading watermarks",
    "loadErrorTitle": "Could not load Saved Watermarks",
    "empty": "No watermarks yet. A watermark combines a mark (text, symbol or logo) with placement, contrast and style settings.",
    "createFirst": "Create the first watermark",
    "orgRequiredShort": "Create or join a workspace first.",
    "loadingPreset": "Loading watermark",
    "loadPresetErrorTitle": "Could not load the watermark",
    "presetGone": "That watermark no longer exists.",
    "editSubtitleManage": "Your changes update this saved watermark for future use.",
    "editSubtitleReadOnly": "Read-only view.",
    "cannotCreate": "Your role does not allow creating watermarks.",
    "newPresetSubtitle": "Design the mark, decide where it goes, then save it to Saved Watermarks.",
    "openInEditor": "Open {{name}} in the editor",
    "deletePreset": "Delete {{name}}",
    "logoBadge": "logo",
    "autoContrast": "Auto contrast",
    "manualContrast": "Manual contrast",
    "updated": "Updated {{date}}",
    "exportLogoTypeError": "A logo has an image type that cannot be exported.",
    "exportMissingLogoError": "A watermark refers to a logo that is no longer in Saved Watermarks.",
    "describe": {
      "text": "“{{text}}” in {{fontFamily}}",
      "glyph": "Glyph {{glyph}}",
      "icon": "Icon {{name}}",
      "logo": "Logo",
      "qr": "QR code for {{content}}",
      "sticker": "Sticker {{name}}"
    },
    "placement": {
      "smart": "Smart placement",
      "custom": "Custom position",
      "random": "Random placement"
    },
    "newQr": "New QR code",
    "qrOnly": "QR codes only",
    "noQr": "No saved QR codes yet. Create one for each link you use."
  },
  "designer": {
    "presetName": "Watermark name",
    "presetNamePlaceholder": "Studio signature",
    "nameError": "Give the watermark a name of up to 60 characters.",
    "sections": {
      "label": "Designer sections",
      "type": "Type",
      "placement": "Placement",
      "style": "Style"
    },
    "markType": "Mark type",
    "saveError": "Could not save the watermark",
    "savePreset": "Save watermark",
    "saveChanges": "Save changes",
    "readOnlyHint": "Your role can view watermarks but not change them.",
    "notAnImage": "That file is not an image the browser can read.",
    "text": {
      "label": "Text",
      "hint": "Up to {{max}} characters.",
      "symbols": "Text symbols",
      "insertSymbol": "Insert {{symbol}}",
      "insertLimit": "Text is full. Select text to replace or remove some characters."
    },
    "qr": {
      "content": "QR code content",
      "hint": "A link, usually. Up to {{max}} characters; the code is always dark on a light field so it scans.",
      "savedHint": "Name and save each QR code separately. Reuse it from Saved Watermarks, or keep several for different links. Test a finished export at its intended size before sharing.",
      "shortLabel": "QR"
    },
    "tokens": {
      "menu": "Insert detail",
      "heading": "Photo details",
      "date": "Date",
      "time": "Time",
      "taken": "Capture date and time",
      "filename": "File name",
      "camera": "Camera",
      "lens": "Lens",
      "iso": "ISO",
      "aperture": "Aperture",
      "shutter": "Shutter speed",
      "focal": "Focal length",
      "location": "Location (GPS)",
      "index": "Photo number",
      "count": "Photo count",
      "width": "Width",
      "height": "Height"
    },
    "font": {
      "family": "Font",
      "weight": "Weight",
      "search": "Search fonts",
      "recent": "Recently used",
      "previewError": "Some font previews could not load. Reopen the list when connected to retry.",
      "empty": "No Matching Fonts"
    },
    "symbol": {
      "icons": "Icons",
      "glyphLabel": "Glyph {{glyph}}",
      "iconLabel": "Icon {{label}}"
    },
    "shape": {
      "label": "Shape",
      "rectangle": "Rectangle",
      "roundedRectangle": "Rounded rectangle",
      "ellipse": "Ellipse",
      "line": "Line",
      "length": "Length",
      "proportions": "Proportions",
      "fill": "Fill",
      "fillToggle": "Fill the shape",
      "fillColour": "Fill color",
      "fillOpacity": "Fill opacity",
      "strokeWidth": "Stroke width",
      "customStrokeColour": "Custom stroke color",
      "strokeColour": "Stroke color",
      "triangle": "Triangle",
      "diamond": "Diamond",
      "pentagon": "Pentagon",
      "hexagon": "Hexagon",
      "octagon": "Octagon",
      "star": "Star",
      "starburst": "Starburst",
      "heart": "Heart",
      "shield": "Shield",
      "speechBubble": "Speech bubble",
      "arrowLeft": "Left arrow",
      "arrowRight": "Right arrow",
      "arrowUp": "Up arrow",
      "arrowDown": "Down arrow",
      "doubleArrow": "Double arrow",
      "plus": "Plus"
    },
    "effects": {
      "letterSpacing": "Letter spacing",
      "curve": "Curve",
      "effect": "Effect",
      "textEffect": "Text effect",
      "solid": "Solid",
      "outline": "Outline",
      "emboss": "Emboss",
      "engrave": "Engrave"
    },
    "placement": {
      "mode": "Placement mode",
      "smart": "Smart",
      "smartDescription": "Analyses each photo and picks the calmest corner",
      "corner": "Corner",
      "cornerDescription": "Fixed position relative to the edges",
      "custom": "Custom",
      "customDescription": "Exact position as a fraction of the photo",
      "random": "Random",
      "randomDescription": "A different spot per photo; harder to auto-remove",
      "smartHint": "The engine scores every corner and edge for detail, contrast and subject, then places the mark where it is legible and least intrusive.",
      "randomHint": "Each photo gets a random corner, nudged by up to the jitter below. The same photo always lands in the same place.",
      "jitter": "Jitter",
      "cornerLegend": "Corner",
      "horizontal": "Horizontal",
      "vertical": "Vertical",
      "anchor": {
        "topLeft": "Top left",
        "topCenter": "Top center",
        "topRight": "Top right",
        "middleLeft": "Middle left",
        "center": "Center",
        "middleRight": "Middle right",
        "bottomLeft": "Bottom left",
        "bottomCenter": "Bottom center",
        "bottomRight": "Bottom right"
      }
    },
    "style": {
      "contrast": "Contrast",
      "contrastMode": "Contrast mode",
      "auto": "Auto",
      "autoDescription": "Light or dark ink chosen per photo",
      "manual": "Manual",
      "manualDescription": "Fixed ink and outline strength",
      "colour": "Color",
      "colourDescription": "An ink color of your own",
      "autoHint": "Ink switches between light and dark to suit the area under the mark, and an outline is added only when the background is too close in tone.",
      "ink": "Ink",
      "inkLight": "Light ink",
      "inkDark": "Dark ink",
      "inkColour": "Ink color",
      "outlineStrength": "Outline strength",
      "appearance": "Appearance",
      "opacity": "Opacity",
      "size": "Size",
      "ofWidth": "{{percent}} of width",
      "rotation": "Rotation",
      "margin": "Margin",
      "backdrop": "Box behind the mark",
      "boxOpacity": "Box opacity",
      "tiling": "Repeat across the photo",
      "spacing": "Spacing"
    },
    "preview": {
      "heading": "Preview",
      "rendering": "Rendering preview",
      "choosePhoto": "Choose a photo to preview on",
      "tryYourPhoto": "Try your photo",
      "samplePhoto": "Sample photo",
      "alt": "Watermark preview on the subject photo",
      "failed": "Preview failed",
      "chooseLogo": "Choose or upload a logo to see the preview.",
      "nothingToPlace": "Nothing to place.",
      "inkLight": "light ink",
      "inkDark": "dark ink",
      "inkColour": "ink {{colour}}",
      "customPosition": "Custom position, {{ink}}.",
      "placed": "Placed {{position}}, {{ink}}.",
      "position": {
        "topLeft": "top left",
        "topCenter": "top center",
        "topRight": "top right",
        "middleLeft": "middle left",
        "center": "center",
        "middleRight": "middle right",
        "bottomLeft": "bottom left",
        "bottomCenter": "bottom center",
        "bottomRight": "bottom right"
      }
    },
    "logo": {
      "loading": "Loading logos",
      "loadError": "Could not load logos",
      "empty": "No logos yet. Upload a PNG, JPEG or WebP with a transparent background for best results.",
      "choose": "Choose a logo",
      "item": "Logo {{name}}",
      "delete": "Delete logo {{name}}",
      "upload": "Upload a logo file",
      "uploadButton": "Upload logo",
      "hint": "PNG, JPEG or WebP up to {{max}} MB, or a drawn signature.",
      "tooLarge": "Logos must be {{max}} MB or smaller.",
      "dimensions": "{{width}} × {{height}}",
      "prepare": {
        "region": "Prepare logo",
        "title": "Prepare “{{name}}”",
        "description": "Optionally clear a flat background and trim empty edges, then upload it as a transparent PNG.",
        "before": "Before",
        "after": "After",
        "previewNeedsCanvas": "Preview needs a browser canvas.",
        "preview": "Prepared logo preview",
        "removeBackground": "Remove background",
        "backgroundTolerance": "Background tolerance",
        "trim": "Trim transparent edges",
        "outputSize": "Output size: {{size}} px",
        "use": "Use logo",
        "chooseAnother": "Choose another"
      },
      "signature": {
        "draw": "Draw a signature",
        "description": "Sign with a finger, a pen or the mouse. It is saved as a transparent logo in Saved Watermarks, cropped to the ink.",
        "pad": "Signature pad; draw here",
        "pen": "Pen",
        "penWidthGroup": "Pen width",
        "penWidth": "{{width}} pixel pen",
        "undo": "Undo stroke",
        "clear": "Clear",
        "cancel": "Cancel",
        "save": "Save as logo"
      }
    },
    "stickers": {
      "heading": "Color stickers",
      "search": "Search stickers",
      "category": "Category",
      "all": "All categories",
      "results": "{{total}} matching stickers",
      "choose": "Choose {{name}}",
      "previous": "Previous",
      "next": "Next",
      "usage": "Commercial use allowed; keep the included artwork license notice when redistributing.",
      "guide": "Artwork license guide"
    },
    "saveNameHint": "Choose a name for this watermark."
  },
  "editor": {
    "orgRequired": "Create or join a workspace to edit images.",
    "heading": "Images",
    "description": "Choose a preset or saved watermark, adjust its placement, crop and resize on your device. Export the result or save it to Watermarked Images or cloud storage.",
    "tabs": {
      "presets": "Presets",
      "watermark": "Watermark",
      "crop": "Crop",
      "adjust": "Adjust",
      "resize": "Resize",
      "saved": "Saved"
    },
    "toolsLabel": "Editor tools",
    "openPhoto": "Open photo",
    "openPhotoLabel": "Open a photo",
    "fromLink": "From a link",
    "samplePhoto": "Sample photo",
    "sampleScene": "Sample scene",
    "photoMeta": "{{name}} · {{width}} × {{height}} px",
    "rendering": "Rendering",
    "renderingPreview": "Rendering preview",
    "undo": "Undo",
    "redo": "Redo",
    "clearCanvas": "Clear canvas",
    "canvas": "Canvas",
    "view": {
      "label": "Canvas view",
      "zoom": "Zoom",
      "zoomOut": "Zoom out",
      "zoomIn": "Zoom in",
      "fit": "Fit",
      "actualSize": "100%",
      "grid": "Grid",
      "gridSpacing": "Grid spacing",
      "snapToGrid": "Snap To Grid"
    },
    "altCrop": "Photo with the crop frame",
    "altWatermark": "Photo with the watermark applied",
    "choosePresetHint": "Choose a watermark to place a watermark. Drop a photo anywhere on the canvas.",
    "outputSize": "Output {{width}} × {{height}} px.",
    "notAnImage": "That file is not an image the browser can read.",
    "previewFailed": "Preview failed",
    "exportFailed": "Export failed",
    "savedToGallery": "Saved {{name}} to <galleryLink>Watermarked Images</galleryLink>.",
    "applyToPhoto": "Apply to this photo",
    "applyToAll": "Apply to all photos",
    "removeOverride": "Remove override",
    "cancel": "Cancel",
    "dimensions": {
      "left": "Left",
      "top": "Top",
      "width": "Width",
      "height": "Height",
      "pxField": "{{label}} (px)"
    },
    "watermark": {
      "emptyHint": "to apply it here.",
      "preset": "Saved Watermark",
      "addPreset": "Add A Saved Watermark",
      "maxMarks": "Up to {{max}} marks per photo",
      "choosePreset": "Choose A Saved Watermark",
      "marksHeading": "Marks on this photo",
      "layersLabel": "Layers, bottom to top",
      "removedPreset": "Removed watermark",
      "removeLayer": "Remove {{name}} from this photo",
      "adjusted": "Adjusted for this photo; Saved Watermarks watermark is unchanged.",
      "revert": "Revert",
      "createHint": "Design your watermark here. Save it once to use on this photo and keep it in Saved Watermarks.",
      "save": "Save",
      "emptyReadOnly": "No watermarks are available in this library yet.",
      "firstUseHint": "Add a watermark, then open Export to download your photo."
    },
    "crop": {
      "aspectRatio": "Aspect ratio",
      "photoSize": "Photo is {{width}} × {{height}} px.",
      "reset": "Reset crop",
      "area": "Crop area. Drag to move; arrow keys nudge, Shift for larger steps.",
      "resizeHandle": "Resize crop from the {{handle}}",
      "handles": {
        "n": "top edge",
        "s": "bottom edge",
        "e": "right edge",
        "w": "left edge",
        "ne": "top right corner",
        "nw": "top left corner",
        "se": "bottom right corner",
        "sw": "bottom left corner"
      }
    },
    "resize": {
      "keepProportions": "Keep proportions",
      "shortcuts": "Shortcuts",
      "fit": "Fit {{side}}",
      "percent": "{{value}}%",
      "outputUnchanged": "Output {{width}} × {{height}} px (unchanged).",
      "outputChanged": "Output {{width}} × {{height}} px from {{baseWidth}} × {{baseHeight}}.",
      "resetSize": "Reset size"
    },
    "adjust": {
      "filter": "Filter",
      "custom": "Custom adjustments",
      "filterValue": "Filter: {{name}}",
      "brightness": "Brightness",
      "contrast": "Contrast",
      "saturation": "Saturation",
      "warmth": "Warmth",
      "sepia": "Sepia",
      "vignette": "Vignette",
      "reset": "Reset {{name}}",
      "resetAll": "Reset all"
    },
    "orientation": {
      "rotateLeft": "Rotate left",
      "rotateRight": "Rotate right",
      "flipHorizontal": "Flip horizontally",
      "flipVertical": "Flip vertically",
      "straighten": "Straighten"
    },
    "frame": {
      "label": "Frame",
      "add": "Add a frame",
      "width": "Frame width",
      "colour": "Frame color"
    },
    "metadata": {
      "heading": "Metadata",
      "strip": {
        "label": "Strip",
        "help": "No camera data, no location. Safest for sharing."
      },
      "keepExceptLocation": {
        "label": "Keep except location",
        "help": "Camera, lens and capture time stay; GPS is removed."
      },
      "keep": {
        "label": "Keep everything",
        "help": "Including the GPS position, if the photo has one."
      },
      "webpNote": "WebP removes original photo metadata. Required artwork license notices remain."
    },
    "export": {
      "format": "Format",
      "quality": "Quality",
      "invisibleMark": "Invisible mark",
      "choosePng": "Choose PNG to hide a message in the pixels.",
      "invisibleMessage": "Invisible message",
      "tooLong": "Too long for a {{width}}×{{height}} photo (fits {{capacity}} bytes).",
      "invisibleHint": "Hidden in the pixels and readable under Verify. Survives PNG only.",
      "renderNote": "{{width}} × {{height}} px{{lossless}}. Rendered in your browser at full resolution{{share}}.",
      "losslessClause": "; PNG is lossless",
      "shareClause": "; Share sends it to Photos, Messages or any app on this device",
      "download": "Download",
      "share": "Share",
      "saveToGallery": "Save To Watermarked Images",
      "savedToFolder": "Saved to {{provider}}."
    },
    "mark": {
      "position": "Watermark position. Drag to move (it snaps to the margins, thirds and center; hold Alt to place it freely), pinch to resize, twist to rotate; arrow keys nudge, plus and minus resize, square brackets rotate.",
      "rotate": "Rotate watermark",
      "resize": "Resize watermark"
    },
    "newWorkspace": "New",
    "exportImage": "Save Image"
  },
  "bulk": {
    "orgRequired": "Create or join a workspace to watermark in bulk.",
    "heading": "Bulk watermarking",
    "description": "Apply watermarks to images, PDFs, and videos in one batch. Download each result or collect them in a ZIP.",
    "emptyHint": "to apply it to a batch.",
    "addPhotos": "Add files",
    "addFolder": "Add a folder",
    "dropHint": "Drop files or a folder here, or",
    "fromLink": "From a link",
    "capacity_one": "Up to {{max}} files per batch. Images, PDFs, and videos are processed on your device.",
    "capacity_other": "Up to {{max}} files per batch. Images, PDFs, and videos are processed on your device.",
    "skipped_one": "{{count}} file skipped: unsupported format.",
    "skipped_other": "{{count}} files skipped: unsupported format.",
    "importErrorTitle": "Could not import from the cloud",
    "photoCount_one": "{{count}} file",
    "photoCount_other": "{{count}} files",
    "clearList": "Clear list",
    "batchProgress": "Batch progress",
    "progress": {
      "finished": "{{done}} of {{total}} finished",
      "failed": ", {{n}} failed",
      "cancelled": ", {{n}} canceled",
      "rate": " in {{seconds}} s ({{rate}} photos/s)",
      "end": "."
    },
    "photosList": "Files In This Batch",
    "custom": "Custom",
    "selected": "Selected",
    "status": {
      "queued": "Queued",
      "processing": "Processing",
      "done": "Done",
      "failed": "Failed",
      "cancelled": "Canceled"
    },
    "adjustPhoto": "Adjust {{name}}",
    "sharePhoto": "Share {{name}}",
    "downloadPhoto": "Download {{name}}",
    "removePhoto": "Remove {{name}}",
    "showAll": "Show all {{count}} photos",
    "presetHint": "Tick one or more; they are applied in the order ticked, later ones over earlier ones.",
    "format": "Format",
    "quality": "Quality",
    "invisibleMark": "Invisible mark",
    "invisibleMessage": "Invisible message",
    "choosePng": "Choose PNG to hide a message in every photo.",
    "size": {
      "label": "Size",
      "original": "Original size",
      "fit": "Fit {{side}} px"
    },
    "fileNames": "File names",
    "tokensLabel": "Tokens: {{tokens}}.",
    "names": {
      "example": "Example: {{example}}",
      "mustProduceName": "The pattern must produce a name."
    },
    "photoAdjustments": "Photo adjustments",
    "resume": "Resume",
    "pause": "Pause",
    "cancel": "Cancel",
    "start": "Start",
    "retry": "Retry {{count}}",
    "downloadZip": "Download {{count}} as ZIP",
    "downloadReport": "Download report (CSV)",
    "saveToGallery": "Save {{count}} to gallery",
    "savedProgress": "Saved {{done}} of {{total}}",
    "allSaved": "All saved to the <galleryLink>gallery</galleryLink>.",
    "someSaved": "{{failed}} could not be saved (storage quota or limits). The rest are in the <galleryLink>gallery</galleryLink>.",
    "savedToCloud_one": "Saved {{count}} file to {{provider}}.",
    "savedToCloud_other": "Saved {{count}} files to {{provider}}.",
    "privacyNote": "Smart placement and auto contrast are worked out for every photo separately. Nothing is uploaded.",
    "watch": {
      "label": "Watch a folder",
      "stop": "Stop",
      "choose": "Choose folders",
      "hint": "Pick an input and an output folder; new photos dropped into the input are watermarked with the ticked watermarks and written to the output. Runs only while this page is open.",
      "wrote": "Wrote {{name}}",
      "failed": "Failed {{name}}: {{error}}"
    },
    "media": {
      "imageSettingsHint": "Image format, size, adjustments and invisible marks apply only to photos. PDFs retain their original pages.",
      "videoOutput": "Video Output",
      "galleryHint": "Watermarked Images saves include images only. Download documents and videos or save them to cloud storage."
    }
  },
  "gallery": {
    "orgRequired": "Create or join a workspace to keep a gallery.",
    "heading": "Watermarked Images",
    "description": "Watermarked photos saved in {{name}}. Search, filter, download or delete.",
    "usage_one": "{{count}} photo · {{used}} of {{max}}",
    "usage_other": "{{count}} photos · {{used}} of {{max}}",
    "maxCount": "Up to {{count}} photos per workspace",
    "storageUsed": "Storage used",
    "storagePercent": "{{percent}}% of storage used",
    "checkPhoto": "Check a photo",
    "search": "Search",
    "searchPlaceholder": "Photo name",
    "preset": "Saved Watermark",
    "allPresets": "All Saved Watermarks",
    "selectAll": "Select all",
    "clearSelection": "Clear selection",
    "photoCount_one": "{{count}} photo",
    "photoCount_other": "{{count}} photos",
    "share": "Share",
    "shareEllipsis": "Share…",
    "deleteErrorTitle": "Could not delete",
    "loadingPhotos": "Loading photos",
    "loadErrorTitle": "Could not load Watermarked Images",
    "empty": "No photos yet. Save one from the editor or a whole batch from the bulk tool.",
    "emptyFiltered": "No photos match these filters.",
    "openEditor": "Open the editor",
    "openPhoto": "Open {{name}}",
    "selectPhoto": "Select {{name}}",
    "dimensions": "{{width}} × {{height}}",
    "dimensionsWithPreset": "{{width}} × {{height}} · {{preset}}",
    "loadMore": "Load more",
    "delete": "Delete",
    "deleteConfirmTitle_one": "Delete {{count}} photo?",
    "deleteConfirmTitle_other": "Delete {{count}} photos?",
    "deleteConfirmBody": "The files and thumbnails are removed from storage. This cannot be undone.",
    "cancel": "Cancel",
    "close": "Close",
    "download": "Download",
    "lightboxMeta": "{{width}} × {{height}} · {{size}} · {{date}}",
    "lightboxMetaWithPreset": "{{width}} × {{height}} · {{size}} · {{preset}} · {{date}}",
    "shareTitle_one": "Share {{count}} photo",
    "shareTitle_other": "Share {{count}} photos",
    "shareDescription": "Anyone with the link can view and download these photos until it expires or you revoke it.",
    "title": "Title",
    "expiresAfter": "Expires after",
    "linkExpiry": "Link expiry",
    "expiry": {
      "days_one": "{{count}} day",
      "days_other": "{{count}} days",
      "never": "Never"
    },
    "createErrorTitle": "Could not create the link",
    "createLink": "Create link",
    "link": "Link",
    "noExpiry": "This link does not expire.",
    "expires": "Expires {{when}}.",
    "manageLinks": "Manage links in Watermarked Images.",
    "linkCopied": "Link copied to the clipboard.",
    "linkShared": "Link shared.",
    "copyLink": "Copy link",
    "shareSyncPending": "Wait for the selected photos to finish syncing before creating a link.",
    "shareSyncBlocked": "Resolve syncing issues for the selected photos before creating a link."
  },
  "shares": {
    "heading": "Manage Links",
    "description": "Copy, share, or revoke links from {{name}}.",
    "loading": "Loading shares",
    "loadErrorTitle": "Could not load shares",
    "empty": "No links yet. Select photos in Watermarked Images and choose Share.",
    "rowCreated_one": "{{count}} photo · created {{created}}",
    "rowCreated_other": "{{count}} photos · created {{created}}",
    "neverExpires": " · never expires",
    "expiresOn": " · expires {{expires}}",
    "status": {
      "active": "active",
      "expired": "expired",
      "revoked": "revoked"
    },
    "copyLink": "Copy link",
    "shareEllipsis": "Share…",
    "revoke": "Revoke {{title}}",
    "revokeButton": "Revoke",
    "linkCopied": "Link copied to the clipboard.",
    "linkShared": "Link shared."
  },
  "admin": {
    "heading": "Administration",
    "description": "Site administrator only. Manage accounts and review totals. Owning a workspace does not grant site administration.",
    "onlyAdmins": "Only the site owner or an admin can open this page.",
    "sectionsLabel": "Administration sections",
    "tabs": {
      "users": "Users",
      "organizations": "Workspaces",
      "audit": "Audit trail",
      "health": "Health",
      "clientErrors": "Client errors"
    },
    "searchLabel": "Search by email",
    "searchPlaceholder": "name@example.com",
    "loadingUsers": "Loading users",
    "usersErrorTitle": "Could not load users",
    "userSummary_one": "{{count}} user{{extra}}.",
    "userSummary_other": "{{count}} users{{extra}}.",
    "showingNewest": ", showing the newest {{count}}",
    "you": "(you)",
    "joined": "Joined {{date}}",
    "emailNotVerified": " · email not verified",
    "banned": "banned",
    "bannedReason": "banned: {{reason}}",
    "unban": "Unban",
    "unbanUser": "Unban {{email}}",
    "signOutEverywhereButton": "Sign out everywhere",
    "signOutEverywhere": "Sign out {{email}} everywhere",
    "ban": "Ban",
    "banUser": "Ban {{email}}",
    "banConfirmTitle": "Ban {{email}}?",
    "banConfirmBody": "Their sessions end now and they cannot sign in until unbanned. The reason is shown to them and kept in the audit trail.",
    "reasonLabel": "Reason",
    "cancel": "Cancel",
    "banConfirm": "Ban user",
    "loadingOrganizations": "Loading workspaces",
    "organizationsErrorTitle": "Could not load workspaces",
    "organizationsTable": "Workspaces, newest first",
    "th": {
      "organization": "Workspace",
      "members": "Members",
      "photos": "Photos",
      "storage": "Storage",
      "created": "Created"
    },
    "loadingAudit": "Loading audit trail",
    "auditErrorTitle": "Could not load the audit trail",
    "auditCaption": "Audit entries across all workspaces, newest first",
    "auditDetailHeading": "Workspace",
    "platform": "platform",
    "health": {
      "loading": "Loading health checks",
      "errorTitle": "Could not load health checks",
      "table": "Recent health checks, newest first",
      "empty": "No health checks recorded yet.",
      "summary": "{{ok}} of {{total}} recent checks passed.",
      "ok": "OK",
      "failed": "Failed",
      "duration": "{{ms}} ms",
      "th": {
        "time": "Time",
        "status": "Status",
        "duration": "Duration"
      }
    },
    "clientErrors": {
      "loading": "Loading client errors",
      "errorTitle": "Could not load client errors",
      "table": "Reported client errors, newest first",
      "empty": "No client errors reported.",
      "route": "on {{route}}",
      "request": "request {{id}}",
      "unknownRoute": "unknown route"
    },
    "siteRole": "Site role: {{role}}",
    "roleFor": "Site role for {{email}}",
    "ownerProtected": "The owner account is protected."
  },
  "members": {
    "orgRequired": "Create or join a workspace to manage members.",
    "pendingInvitations": "Pending invitations",
    "emailLabel": "Email",
    "you": "(you)",
    "roleFor": "Role for {{name}}",
    "cancelInvitation": "Cancel invitation for {{email}}"
  },
  "audit": {
    "heading": "Audit log",
    "description": "The most recent changes in {{name}}. Owners and admins can view this page.",
    "thisOrganization": "this workspace",
    "loading": "Loading audit log",
    "loadErrorTitle": "Could not load the audit log",
    "noAccess": "Your role does not include audit access.",
    "empty": "Nothing recorded yet.",
    "tableCaption": "Audit entries, newest first",
    "detailsHeading": "Details",
    "when": "When",
    "who": "Who",
    "action": "Action"
  },
  "organizations": {
    "firstTitle": "Create your first workspace",
    "newTitle": "New workspace",
    "description": "Create a separate workspace for your watermarks and photos. It stays private unless you explicitly invite members.",
    "createFailed": "The workspace could not be created.",
    "nameLabel": "Name",
    "slugLabel": "URL identifier",
    "slugHint": "Lowercase letters, numbers and hyphens. Used in links and must be unique.",
    "submit": "Create workspace"
  },
  "import": {
    "takePhoto": "Take a photo",
    "cancel": "Cancel",
    "saveToProvider": "Save to {{provider}}",
    "url": {
      "title": "Import from a link",
      "description": "Paste the address of an image on the web. We fetch it and add it here.",
      "linkLabel": "Image link",
      "errorTitle": "Could not import that link",
      "fetch": "Fetch"
    },
    "cloudSaved": "Saved cloud files ({{total}})",
    "cloudSavedTitle": "Saved cloud files",
    "cloudSharingHint": "Saving does not create a public link. Create one only when you want anyone with that link to view the file. Existing folder permissions still apply. Manage other access directly in the provider.",
    "openProvider": "Open in {{provider}}",
    "createPublicLink": "Create public link",
    "revokePublicLink": "Revoke public link",
    "linkCopied": "Link copied",
    "copyLink": "Copy link"
  },
  "video": {
    "orgRequired": "Create or join a workspace to watermark video.",
    "heading": "Videos",
    "description": "Preview your video, place watermarks at different timestamps, add fades, and export with audio.",
    "checkingSupport": "Checking video support",
    "unsupportedTitle": "Video is not supported in this browser",
    "unsupportedBody": "Your browser cannot encode video. Chrome, Edge or Safari 17 and later can.",
    "addVideo": "Add a video",
    "dropHint": "Drop one video here, or",
    "transcodingProgress": "Transcoding progress",
    "progress": {},
    "cancel": "Cancel",
    "share": "Share",
    "quality": "Quality",
    "qualityOptions": {
      "low": "Low",
      "standard": "Standard",
      "high": "High"
    },
    "resolution": "Resolution",
    "resolutionOptions": {
      "original": "Original",
      "fit1080p": "Fit 1080p",
      "fit720p": "Fit 720p"
    },
    "previewAlt": "The watermark on a frame of the video",
    "timeline": {
      "heading": "Timing And Motion",
      "play": "Play",
      "pause": "Pause",
      "playhead": "Playhead",
      "start": "Start",
      "end": "End",
      "fadeIn": "Fade In",
      "fadeOut": "Fade Out",
      "keyframes": "Keyframes",
      "addKeyframe": "Add Keyframe Here",
      "updateKeyframe": "Update Keyframe Here",
      "removeKeyframe": "Remove Keyframe At {{time}}",
      "hint": "Add a keyframe, move to another time, then drag, resize or rotate the mark. Lumafoil creates the movement between keyframes.",
      "playbackFailed": "This browser could not play the selected video.",
      "chooseVideo": "Open a video and add a valid watermark first.",
      "waitPreview": "Wait for the watermark preview before adding a keyframe.",
      "changed": "The video or watermark changed during export. Export again to use the current edits.",
      "download": "Export Video",
      "cloudSaved": "The watermarked video was saved to your cloud storage."
    }
  },
  "documents": {
    "orgRequired": "Create or join a workspace to watermark documents.",
    "heading": "Documents",
    "description": "Preview each PDF page, edit watermarks in place, and export the original document with your marks. Use Bulk for multiple files.",
    "reader": {
      "previous": "Previous Page",
      "next": "Next Page",
      "page": "Page",
      "ofPages": "of {{total}}",
      "pageStatus": "{{name}} · Page {{page}} of {{total}}",
      "preview": "PDF Page {{page}}",
      "pageText": "Page Text",
      "open": "Open PDF",
      "empty": "Open or drop a PDF to preview its pages and place your watermark.",
      "invalidFile": "Choose a PDF within the document size limit.",
      "chooseMark": "Add a valid watermark before exporting this document.",
      "changed": "The document or watermark changed during export. Export again to use the current edits.",
      "download": "Export PDF",
      "cloudSaved": "The watermarked PDF was saved to your cloud storage.",
      "originalHint": "Original text, vector artwork, page dimensions and embedded images are retained. Only the watermark is rasterized. Password-protected PDFs must be unlocked first."
    }
  },
  "verify": {
    "checkEmail": {
      "title": "Check your inbox",
      "description": "We sent a verification link to {{email}}. It expires in one hour.",
      "resent": "A new verification link is on its way.",
      "resend": "Resend verification email"
    },
    "tool": {
      "title": "Verify a photo",
      "description": "Check whether a PNG carries an invisible Lumafoil mark and read its hidden message. Nothing leaves your browser."
    },
    "checkPng": "Check a PNG",
    "checking": "Checking…",
    "noneFound": "No invisible mark found in this photo."
  },
  "errors": {},
  "tokens": {},
  "filters": {},
  "a11y": {},
  "presets": {
    "loading": "Loading watermarks",
    "loadErrorTitle": "Could not load watermarks",
    "emptyTitle": "No watermarks yet",
    "createInLibrary": "Create a watermark in Saved Watermarks",
    "legend": "Saved Watermarks",
    "importTitle": "Import watermarks",
    "importDescription": "Choose a Lumafoil watermark file. Its watermarks, and any logos they use, are added to this library.",
    "presetFileLabel": "Watermark file",
    "noPresets": "This watermark file has no watermarks.",
    "fileCount_one": "{{count}} watermark in this file",
    "fileCount_other": "{{count}} watermarks in this file",
    "renamed": "A watermark named “{{name}}” already exists; importing as “{{finalName}}”.",
    "cancel": "Cancel",
    "importButton_one": "Import {{count}} watermark",
    "importButton_other": "Import {{count}} watermarks"
  },
  "landing": {
    "nav": "Account",
    "signIn": "Sign In",
    "heroBody": "Add text, logos, signatures, shapes, stickers, or QR codes. Adjust them on your photo, preview PDF pages, or move a watermark along a video timeline. Save your style and reuse it across a batch.",
    "featuresHeading": "Tools For Every Watermark",
    "footer": "Lumafoil is open source under the MIT license.",
    "privacy": "Privacy",
    "terms": "Terms",
    "heroTitleStart": "Watermark Photos,",
    "heroTitleEnd": "Videos, And PDFs.",
    "heroAlt": "Lumafoil photo editor with watermark placement and export controls",
    "previewLabel": "Inside The Image Editor",
    "privacyNote": "Editing runs on your device. You choose what to save or share.",
    "formatsLabel": "Photos · PDFs · Video",
    "workflowHeading": "Open. Adjust. Export.",
    "workflowNote": "Keep reusable watermarks in Saved Watermarks and saved photos in Watermarked Images. Organize both into folders within your workspace.",
    "steps": {
      "openTitle": "Open Your Files",
      "openBody": "Choose a photo, PDF, or supported video from your device or connected storage. Use Bulk for multiple files. Your source files remain unchanged.",
      "markTitle": "Choose And Adjust",
      "markBody": "Start with a preset or saved watermark, then edit its text, artwork, size, position, and appearance beside the preview.",
      "exportTitle": "Save Or Share",
      "exportBody": "Download the result or choose a cloud folder. Save finished photos to Watermarked Images and create links for the photos you want to share."
    },
    "github": "GitHub",
    "featuresIntro": "Design a watermark, apply it across your files, and choose how to save or share the results.",
    "moreHeading": "Editing, Storage, And Sharing",
    "capabilities": {
      "marks": {
        "title": "Text, Logos, Shapes, And Signatures",
        "body": "Type a copyright notice, upload a logo, draw a signature, or choose from 20 shapes. Adjust size, rotation, fill, stroke, and opacity. Combine layers, drag marks into place, and undo changes as you work."
      },
      "batch": {
        "title": "Photos, PDFs, And Videos In One Batch",
        "body": "Apply saved watermarks to a mixed batch of photos, PDFs, and supported videos. Track each file, adjust individual photos, and download results separately or together as a ZIP. Failed files stay visible for review."
      },
      "fonts": {
        "title": "551 Unique Font Families",
        "body": "Search fonts by name and see each choice in its own typeface. Revisit recent fonts, adjust letter spacing and curve, and save the style in a watermark. Font files and their open-license notices are bundled with Lumafoil."
      },
      "stickers": {
        "title": "400 Colorful Vector Stickers",
        "body": "Search animals, flowers, food, travel, celebrations, and everyday objects. Resize the vector artwork for your watermark. Bundled artwork keeps its license notices with exported content."
      },
      "qr": {
        "title": "Create And Save QR Watermarks",
        "body": "Turn a website address or text into a QR code. Keep separate saved codes for your portfolio, contact page, or different projects, then reuse them on your files."
      },
      "templates": {
        "title": "18 Presets And Your Own Saved Watermarks",
        "body": "Start with included presets such as Draft, Confidential, Do Not Copy, Proof, review stamps, or photo credits. Customize a preset and keep your version in Saved Watermarks. Organize saved watermarks into folders and reuse them in Images, Documents, Videos, or Bulk."
      },
      "editing": {
        "title": "Crop, Resize, And Adjust",
        "body": "Crop or rotate a photo and adjust brightness, contrast, and saturation. Zoom in for placement, show an adjustable grid, and turn on snapping. Source resolution is retained unless you choose a crop or smaller output."
      },
      "smart": {
        "title": "Smart Placement And Contrast",
        "body": "Let Lumafoil suggest a position and a light or dark mark based on the image. Review the result and move or restyle it yourself."
      },
      "video": {
        "title": "Video Placement And Fade Effects",
        "body": "Scrub the video beside inline watermark tools. Set positions at different timestamps, choose when each mark appears, and add fades. Exports are re-encoded; available formats and audio support depend on your browser and the source file."
      },
      "pdf": {
        "title": "Preview And Watermark PDF Pages",
        "body": "Read a PDF and position watermarks with tools beside the page. Apply them throughout the document or process multiple PDFs in Bulk. Watermarks are added to the original PDF pages, preserving their existing text, images, and vector artwork."
      },
      "export": {
        "title": "Choose Your Export Format",
        "body": "Export photos as PNG, JPEG, or WebP. PNG is the lossless default; JPEG and WebP use your chosen quality. Exports render from the original image, not the smaller editing preview."
      },
      "gallery": {
        "title": "Folders And Recent Work",
        "body": "Organize watermarks in Saved Watermarks and finished photos in Watermarked Images with folders. Browse Recent Work in thumbnail, list, or details views. Share selected photos through a link, or grant access to a workspace."
      },
      "sharing": {
        "title": "Share Photos Or A Workspace",
        "body": "Create expiring, revocable links for selected photos and manage them in Watermarked Images. Workspace owners can grant View or Edit access through a link, email invitation, or direct addition of an existing user. Workspace access is separate from an invitation to join Lumafoil."
      },
      "offline": {
        "title": "Work Offline, Sync Later",
        "body": "Prepare the app for offline use while signed in. Edit photos and watermarks and queue Watermarked Images saves without a connection. Reconnect with the same account to sync. Cloud transfers, invitations, and sharing changes require a connection."
      },
      "privacy": {
        "title": "Your Account, Your Workspace",
        "body": "New users need a site invitation and receive a separate private workspace. A site invitation never shares your photos or watermarks. Sharing a workspace requires an explicit access grant from its owner."
      },
      "languages": {
        "title": "12 Interface Languages",
        "body": "Use Lumafoil in English, Spanish, French, German, Italian, Portuguese, Dutch, Japanese, Korean, Chinese, Russian, or Arabic, including right-to-left layouts."
      },
      "theme": {
        "title": "Light And Dark Modes",
        "body": "Choose a light or dark workspace, or follow your device setting. The responsive interface adapts to phones, tablets, and larger screens."
      },
      "cloud": {
        "title": "Connected Cloud Folders",
        "body": "Cloud storage is in preview. Connect Google Drive, Dropbox, or OneDrive to open permitted files, choose export folders, and create provider sharing links. Saved connections can be reused, but your provider may request authorization again. Google Drive shows files and folders selected or created with Lumafoil. Microsoft work or school accounts may need administrator approval."
      }
    },
    "inviteHosting": "Lumafoil is invitation-only. Want to self-host?",
    "selfHost": "Get the source code free on GitHub.",
    "featuresNav": "Features"
  },
  "legal": {
    "signIn": "Sign in",
    "lastUpdated": "Last updated {{date}}",
    "readSibling": "Read the <sibling>{{siblingLabel}}</sibling>, or return to the <home>home page</home>.",
    "footer": "Lumafoil source is MIT-licensed. Bundled fonts and artwork retain their own licenses.",
    "privacy": {
      "title": "Privacy",
      "intro": "Lumafoil is built so your photographs stay yours. This page explains what happens to your images and your account information in plain language, drawn from the controls the project actually enforces.",
      "siblingLabel": "terms of service",
      "photos": {
        "heading": "Photos are processed on your device",
        "p1": "Editing and watermarking run on your device. A preview does not upload your originals to Lumafoil.",
        "p2": "You choose whether to download the output, save it to Watermarked Images, transfer it to connected cloud storage, or create a sharing link."
      },
      "storage": {
        "heading": "Accounts, saved work and offline copies",
        "p1": "Cloudflare hosts account records, saved watermarks, gallery photos, thumbnails, uploaded logos, sharing records and recent-work history. Saved content belongs to its workspace; other users need explicit membership or a sharing link.",
        "p2": "Account-scoped copies and queued edits are kept on this device for offline use. Reconnecting with the same account retries them. Pending edits block sign-out; completed sign-out clears the app’s offline data. Session expiry locks access without erasing pending work. Clearing browser data can erase unsynced edits."
      },
      "metadata": {
        "heading": "Personal metadata and artwork notices",
        "p1": "Image exports remove camera and location metadata by default. Supported options can retain camera fields without GPS, or retain supported original metadata. This processing happens in your browser.",
        "p2": "Exports using bundled artwork retain its license notice in metadata, a document attachment or an archive sidecar. Other software may remove these notices; retain the applicable notice when redistributing that artwork."
      },
      "sharing": {
        "heading": "Sharing links",
        "p1": "Anyone with a Lumafoil gallery link can view its selected saved photos until the link expires or is revoked. A site invitation creates access to a separate private account; it does not share the inviter’s workspace or content.",
        "p2": "Cloud providers’ own links follow their permissions and revocation rules. Revoking a link cannot recall downloads or copies already made."
      },
      "account": {
        "heading": "Your account",
        "p1": "New accounts require an invitation and a verified email. Sign in with a password or configured Google/Microsoft sign-in. Existing accounts need no new invitation. Adding another sign-in method requires authenticated account linking.",
        "p2": "Sessions use HttpOnly, SameSite=Lax cookies, marked Secure on HTTPS. Password-reset links expire after an hour and revoke other server sessions when used."
      },
      "analytics": {
        "heading": "Cookies and outside services",
        "p1": "Lumafoil includes no analytics beacon or advertising cookies. Essential cookies maintain sessions; device storage holds settings, offline copies and queued changes.",
        "p2": "When enabled, Cloudflare Turnstile checks account requests for bots; see its <turnstile>privacy notice</turnstile>. Google/Microsoft handle chosen sign-in. Google Drive, Dropbox and OneDrive receive requests through cloud features you choose; their own privacy policies apply."
      },
      "audit": {
        "heading": "Audit trail",
        "p1": "Workspace audit logs require a workspace owner/admin role. The site owner and admins can manage accounts and review totals, moderation, audit entries and health/error records. Recent-work history is user-specific. Application failure logs omit tokens and request bodies."
      },
      "reporting": {
        "heading": "Reporting a problem",
        "p1": "For support, email <support>support@lumafoil.com</support>. Report vulnerabilities through <security>GitHub’s private reporting form</security> or that email address. Do not put tokens or personal content in public issues."
      }
    },
    "terms": {
      "title": "Terms of service",
      "intro": "These terms cover your use of Lumafoil. They are written to be read, and they describe how the service actually behaves rather than adding claims it does not keep.",
      "siblingLabel": "privacy policy",
      "accepting": {
        "heading": "Accepting these terms",
        "p1": "Using Lumafoil means you agree to these terms. If you do not agree, please do not use the service."
      },
      "whatItDoes": {
        "heading": "What the service does",
        "p1": "Lumafoil adds watermarks to photos and supported documents and videos on your device. Accounts, saved galleries/watermarks, recent-work history, invitations and sharing use server storage; optional cloud features contact the chosen provider.",
        "p2": "The source is free and open source under MIT. Bundled fonts and artwork have their own licenses."
      },
      "account": {
        "heading": "Your account",
        "p1": "Access is currently by invitation. A verified email is required; password and configured Google/Microsoft sign-in are available. Keep your credentials and provider account secure; you are responsible for use of your account.",
        "p2": "Sign-out needs a connection and resolved pending edits; it clears this browser’s offline app data. Password reset revokes other server sessions. Disconnected devices can retain local copies until they reconnect or their browser data is cleared."
      },
      "content": {
        "heading": "Your content",
        "p1": "You keep every right you already hold in the photos and watermarks you upload or create. You are responsible for having the right to use the images you bring to the service.",
        "p2": "Content is processed for the features you choose. Watermarked Images saves use Cloudflare; selected cloud transfers and sharing send content to providers or recipients. Lumafoil does not use it to train models. Bundled artwork has separate license-notice requirements."
      },
      "acceptableUse": {
        "heading": "Acceptable use",
        "p1": "Do not use the service to break the law, or to upload or share content you have no right to use. Do not try to bypass security controls or rate limits, or to reach data belonging to workspaces you are not a member of.",
        "p2": "Access within a workspace follows your role, and those roles are enforced on the server."
      },
      "teams": {
        "heading": "Private workspaces and collaboration",
        "p1": "Each account starts with a private workspace. Site invitations do not share the inviter’s content. A workspace owner can explicitly grant View or Edit access to that workspace. This shares no other workspace and grants no site administration rights."
      },
      "availability": {
        "heading": "Availability, warranty, and changes",
        "p1": "The service is provided “as is”, without warranty of any kind, as set out in the MIT license. Features may change, and the service may be unavailable at times.",
        "p2": "These terms may be updated; the date at the top of this page shows when they last changed. Continuing to use the service after a change means you accept the updated terms."
      },
      "openSource": {
        "heading": "Open source",
        "p1": "Lumafoil’s source is MIT-licensed for inspection, use and modification under that license. Bundled fonts and artwork retain their own licenses and notices, linked in their pickers and the asset-license index."
      },
      "contact": {
        "heading": "Contact",
        "p1": "Questions: <support>support@lumafoil.com</support>. Security reports: <security>GitHub’s private reporting form</security> or that email address. Keep sensitive details out of public issues."
      }
    }
  },
  "share": {
    "loading": "Loading photos",
    "unavailableTitle": "This link is not available",
    "unavailableBody": "It may have expired or been revoked, or the address is incomplete. Ask whoever sent it for a new one.",
    "about": "About Lumafoil",
    "photoCount_one": "{{count}} photo",
    "photoCount_other": "{{count}} photos",
    "availableUntil": " · available until {{date}}",
    "shareLink": "Share this link",
    "linkCopied": "Link copied to the clipboard.",
    "linkShared": "Link shared.",
    "openPhoto": "Open {{name}}",
    "dimensions": "{{width}} × {{height}}",
    "footer": "Shared with <home>Lumafoil</home>. Photos stay the property of their owner.",
    "download": "Download",
    "close": "Close"
  },
  "root": {
    "somethingWentWrong": "Something went wrong",
    "notFound": {
      "title": "Page not found",
      "body": "The address may be mistyped, or the page may have moved.",
      "back": "Back to the start"
    }
  },
  "offline": {
    "label": "Offline work",
    "syncing": "Synchronizing saved work…",
    "disconnected": "Offline — saves stay on this device.",
    "pending": "Pending saves: {{count}}",
    "upToDate": "Synchronized",
    "syncNow": "Sync now",
    "review": "Review saved work ({{count}})",
    "deletion": "Deletion",
    "conflict": "This watermark changed elsewhere. Keep both versions or discard this local edit.",
    "savedHere": "Saved on this device. It will sync while the app is open and connected.",
    "retry": "Retry",
    "keepBoth": "Keep both versions",
    "discard": "Discard local change",
    "discardTitle": "Discard this local change?",
    "discardBody": "This removes the pending change from this device. It does not undo a change already saved on the server.",
    "cancel": "Cancel",
    "signOutPending": "Sync or discard pending saves in Offline work before signing out.",
    "signOutFailed": "Could not sign out. Try again.",
    "connectionRequired": "Connection required",
    "connectOnce": "Sign in and open this workspace once while connected before using it offline.",
    "onlineOnly": "Account, sharing, and membership administration need a connection. Your photo tools and saved watermarks remain available offline.",
    "ready": "App files are ready for offline use.",
    "preparing": "Preparing Offline",
    "updateAvailable": "An update is ready. Finish unsaved edits before reloading; saved work stays on this device.",
    "reload": "Reload to update"
  },
  "siteInvites": {
    "heading": "Invite people",
    "description": "Invite someone to create their own Lumafoil account.",
    "email": "Email address",
    "privacy": "They get a private workspace. This invitation shares none of your photos, watermarks, or account details.",
    "sent": "Invitation sent. It expires in seven days.",
    "send": "Send invitation",
    "sentHeading": "Your invitations",
    "loading": "Loading invitations…",
    "empty": "You have not sent any invitations.",
    "revoke": "Revoke",
    "revokeEmail": "Revoke invitation to {{email}}",
    "invalidEmail": "Enter a valid email address.",
    "status": {
      "pending": "Pending",
      "accepted": "Accepted",
      "revoked": "Revoked",
      "expired": "Expired"
    },
    "role": "Site role",
    "roleHelp": "Admins manage site accounts. Workspace membership is separate."
  },
  "accountStats": {
    "users": "Registered accounts",
    "verifiedUsers": "Verified accounts",
    "pendingInvitations": "Pending invitations",
    "acceptedInvitations": "Accepted invitations"
  },
  "accountAuth": {
    "heading": "Account settings",
    "connected": "Sign-in methods",
    "loading": "Loading sign-in methods…",
    "password": "Email and password",
    "linkProvider": "Link {{provider}}",
    "continueProvider": "Continue with {{provider}}",
    "linkHelp": "Link a provider while signed in. Use the same email as this account.",
    "identityOnly": "For your Lumafoil account only. Cloud storage connects separately.",
    "linkError": "Could not link this identity. Use the same email and sign in again before retrying.",
    "verifyEmail": "Check your email to verify this account, then try signing in again.",
    "signInError": "Sign-in could not finish. If you already have a password account, sign in below, open Account settings, and link the provider there."
  },
  "referral": {
    "heading": "Your invitation link",
    "description": "Anyone with this link can request their own private account. Share it only with people you want to invite.",
    "count": "Accounts created from your link: {{count}}",
    "url": "Invitation link",
    "copy": "Copy link",
    "copied": "Copied",
    "copyError": "Could not copy. Select the link and copy it manually.",
    "rotate": "Create new link",
    "revoke": "Disable link",
    "revoked": "This link is disabled.",
    "rotateHelp": "A new link disables the previous one. Existing accounts keep access. You see counts only; their profiles and content stay private."
  },
  "recent": {
    "heading": "Recent work",
    "description": "Photos you've opened or saved and watermarks you've used in this workspace.",
    "viewLabel": "Recent work view",
    "search": "Search recent work",
    "loading": "Loading recent work",
    "loadError": "Couldn't load recent work",
    "retry": "Try again",
    "preferenceError": "Couldn't save your view preference.",
    "activityPending": "Recent work could not be updated. Reopen the item to try again.",
    "empty": "Your recent work appears here. Save photos to Watermarked Images and open watermarks to keep them close.",
    "noMatches": "No recent work matches your search.",
    "start": "Open editor",
    "detailsLabel": "Recent work details",
    "itemsLabel": "Recent work items",
    "name": "Name",
    "type": "Type",
    "location": "Location",
    "lastUsed": "Last used",
    "status": "Sync status",
    "photo": "Saved photo",
    "preset": "Watermark",
    "pending": "Activity waiting to sync",
    "saved": "Saved",
    "gallery": "Watermarked Images",
    "library": "Watermark library",
    "needsAttention": "Needs attention",
    "workPending": "Work waiting to sync",
    "views": {
      "thumbnails": "Thumbnails",
      "list": "List",
      "details": "Details"
    }
  },
  "siteRoles": {
    "owner": "Owner",
    "admin": "Admin",
    "user": "User"
  },
  "workspaceAccess": {
    "loading": "Loading Access…",
    "ownerOnly": "Only the workspace owner can change access.",
    "people": "People With Access",
    "general": "General Access",
    "restricted": "Restricted",
    "restrictedHint": "Only people granted access can open this workspace. Other workspaces remain private.",
    "addPeople": "Add People",
    "permission": "Permission",
    "notify": "Notify By Email",
    "send": "Send Invite",
    "add": "Add Person",
    "notifyHint": "Send an email invitation to view or edit this workspace. New users also receive a separate account invitation.",
    "silentHint": "Add a verified existing Lumafoil user immediately. No email or notification is sent.",
    "sent": "Workspace invitation sent.",
    "added": "Access added without notification.",
    "view": "View",
    "edit": "Edit",
    "owner": "Owner",
    "admin": "Admin",
    "removeFor": "Remove Access For {{name}}",
    "inviteLink": "Invitation Link",
    "linkPermission": "Link Permission",
    "expires": "Link Expiration",
    "days_one": "{{count}} Day",
    "days_other": "{{count}} Days",
    "createLink": "Create Link",
    "linkHint": "Signed-in Lumafoil users with this link can join until it expires or is revoked. Revoking a link stops new joins; remove people separately to end existing access.",
    "copyLink": "Copy Link",
    "copied": "Link copied.",
    "copyFailed": "Copy failed. Select the link and copy it manually.",
    "revoke": "Revoke",
    "revokeFor": "Revoke Invitation For {{name}}",
    "joinTitle": "Join {{name}}",
    "joinDescription": "This invitation grants {{permission}} access to this workspace only.",
    "join": "Join Workspace",
    "open": "Open Workspace",
    "unavailable": "Invitation Unavailable",
    "unavailableHint": "This invitation is expired, revoked, or intended for another account. Sign in with the invited email or ask the owner for a new link.",
    "cancel": "Cancel"
  },
  "folders": {
    "heading": "Folders",
    "rootPhoto": "Watermarked Images",
    "rootPreset": "Saved Watermarks",
    "path": "Folder Path",
    "new": "New Folder",
    "name": "Folder Name",
    "rename": "Rename Folder",
    "moveFolder": "Move Folder",
    "moveItems": "Move Items",
    "moveNamed": "Move {{name}}",
    "destination": "Destination Folder",
    "saveLocation": "Save Location",
    "choose": "Choose Folder",
    "expand": "Expand {{name}}",
    "collapse": "Collapse {{name}}",
    "open": "Open {{name}}",
    "loading": "Loading Folders…",
    "unavailable": "This folder is unavailable. Open the main collection or choose another folder.",
    "loadError": "Folders could not be loaded. The main collection remains available.",
    "delete": "Delete Folder",
    "deleteTitle": "Delete {{name}}?",
    "deleteHint": "Only empty folders can be deleted. Files and subfolders are never deleted with a folder.",
    "save": "Save",
    "cancel": "Cancel",
    "moveHere": "Move Here",
    "newHint": "Create a folder in the selected location.",
    "renameHint": "Choose a name and location for this folder.",
    "moving": "Move Items ({{count}})",
    "invalidName": "Use a name without slashes or control characters.",
    "nameTaken": "A folder with this name already exists here.",
    "selection": "Selected Items: {{count}}"
  },
  "templates": {
    "heading": "Presets",
    "hint": "Choose a preset, customize it, and save your own watermark.",
    "search": "Search Presets",
    "category": "Preset Category",
    "use": "Use {{name}}",
    "empty": "No matching presets.",
    "unavailable": "This preset is unavailable. Choose a preset from the Saved Watermarks.",
    "categories": {
      "all": "All",
      "documents": "Documents",
      "review": "Review",
      "photography": "Photos"
    },
    "names": {
      "draft": "Draft",
      "confidential": "Confidential",
      "strictlyConfidential": "Strictly Confidential",
      "internalUseOnly": "Internal Use Only",
      "doNotCopy": "Do Not Copy",
      "doNotDistribute": "Do Not Distribute",
      "copy": "Copy",
      "void": "Void",
      "forReview": "For Review",
      "proof": "Proof",
      "sample": "Sample",
      "preview": "Preview",
      "approved": "Approved",
      "final": "Final",
      "unpaid": "Unpaid",
      "copyright": "Copyright",
      "photoCredit": "Photo Credit",
      "repeatingProof": "Repeating Proof"
    }
  },
  "cloudStorage": {
    "heading": "Cloud Storage",
    "description": "Connect your storage accounts once. Reuse the connection when you open, save, or share files.",
    "chooseDestination": "Choose the folder where your files will be saved.",
    "chooseFiles": "Choose files to open in Lumafoil.",
    "loading": "Loading Cloud Storage",
    "unavailable": "This provider is not available on this server.",
    "connectHint": "Connect your account to browse files and folders. Your connection is saved for future visits.",
    "connect": "Connect {{provider}}",
    "dropboxScope": "Dropbox access is limited to the Lumafoil App Folder.",
    "googleScope": "Only items authorized for Lumafoil appear here. Use Browse Drive to choose other files or folders.",
    "location": "Folder Location",
    "appFolder": "Lumafoil App Folder",
    "root": "My Files",
    "empty": "No matching files or folders here.",
    "folderName": "New Folder Name",
    "createFolder": "Create Folder",
    "useFolder": "Use This Folder",
    "openSelected": "Open Selected",
    "browseGoogle": "Browse Drive",
    "connected": "Connected",
    "notConnected": "Not Connected",
    "reconnect": "Reconnect",
    "disconnect": "Disconnect",
    "managePermissions": "Manage Permissions",
    "revocationHint": "Disconnected from Lumafoil. Remove any remaining provider approval in its permission settings.",
    "retry": "Retry",
    "waiting": "Finish signing in with the provider. You can cancel here.",
    "personalAccount": "Personal Account",
    "workAccount": "Work Or School Account",
    "microsoftConsent": "Work or school accounts may require approval from your Microsoft administrator."
  },
  "tour": {
    "invitationTitle": "Take A Quick Tour?",
    "invitationBody": "Explore the tools with a short guided tour. Save unfinished work first: the tour visits different pages. You can quit anytime or replay it from Account Settings.",
    "start": "Start Tour",
    "decline": "No Thanks",
    "close": "Close Tour",
    "exit": "Exit Tour",
    "back": "Back",
    "next": "Next",
    "finish": "Finish",
    "progress": "Step {{current}} Of {{total}}",
    "navigationError": "This page could not open. Try Next again, or exit the tour.",
    "settingsTitle": "Help And Credits",
    "settingsBody": "Revisit the guided tour whenever you need a refresher.",
    "replay": "View Product Tour",
    "licensesTitle": "Licenses And Credits",
    "licensesBody": "Font and artwork notices remain available here. Symbols rendered as emoji use the fonts installed on your device.",
    "fontPackages": "Bundled Font Licenses",
    "fontCatalog": "Extended Font Catalog And Licenses",
    "stickerLicense": "Sticker License",
    "iconLicense": "Icon And Symbol Licenses",
    "artworkUsage": "Artwork Usage And Export Notices",
    "images": {
      "title": "Images",
      "body": "Open a photo from your device, a link, or connected cloud storage. Zoom, grid and snapping help with placement. The original file stays untouched; editing and saved work remain available offline."
    },
    "watermark": {
      "title": "Create A Watermark",
      "body": "Add text, symbols, shapes, stickers, a logo, a signature or a QR code. Choose fonts and adjust placement, color, stroke, curve and style. Drag, pinch and rotate on the canvas; Undo reverses changes."
    },
    "presets": {
      "title": "Included Presets",
      "body": "Presets contains the included designs, such as Draft and Confidential. Pick a starting point, then customize it in Watermark. These designs stay separate from your saved watermarks."
    },
    "saved": {
      "title": "Your Saved Designs",
      "body": "Saved opens watermarks from this workspace. Save asks for a name; New starts another watermark while keeping the image. Reuse named QR codes, logos and text designs."
    },
    "transform": {
      "title": "Crop, Adjust And Resize",
      "body": "Crop changes framing; Adjust controls photo appearance; Resize sets output dimensions. Each slider has a reset. Keep original dimensions unless you want a different size."
    },
    "export": {
      "title": "Save Your Image",
      "body": "Save Image opens the output controls. Download, share, save to Watermarked Images, or choose a cloud folder. PNG is the lossless default; other formats and quality settings are your choice."
    },
    "documents": {
      "title": "Documents",
      "body": "Open a PDF, preview its pages and apply watermarks with the same inline tools. Export PDF saves the marked document while preserving its original page content."
    },
    "videos": {
      "title": "Videos",
      "body": "Open a supported video and scrub the timeline. Place watermarks at different timestamps and add fades. Export Video uses those changes; output is re-encoded and format support depends on your browser."
    },
    "bulk": {
      "title": "Bulk",
      "body": "Process images, PDFs and videos together. Choose a watermark, review individual results, and download completed files in a ZIP. A failed file does not discard the other results."
    },
    "library": {
      "title": "Saved Watermarks",
      "body": "Organize your reusable designs into folders. Search, filter, switch views and find recent work here. Designs belong to the current workspace and sync when you reconnect."
    },
    "gallery": {
      "title": "Watermarked Images",
      "body": "Find recent saved images, organize folders and change views. Create and manage sharing links for selected images. Check A Photo looks for Lumafoil’s invisible mark."
    },
    "account": {
      "title": "Account And Cloud",
      "body": "Manage sign-in methods and connect Google Drive, Dropbox or OneDrive here. Connections persist until disconnected or revoked. Browse permitted folders when opening or saving files; provider consent rules still apply."
    },
    "workspace": {
      "title": "Workspaces And Access",
      "body": "Use the user menu to switch workspaces, invite people or Manage Access. Workspace owners grant View or Edit access. Personal invitation links admit new users without sharing your content. Sync status lives at the bottom of the sidebar."
    }
  }
}
