Files
SnapOtter/packages/shared/src/i18n/sv.ts
T
SnapOtter ed458d4bbd feat: redesign review panel action hierarchy
- Download stays primary (full-width button)
- Save to Files demoted to subtle text link below download
- "Adjust settings" and "New file" are side-by-side compact buttons
- "Back to Tools" faded to very subtle (breadcrumb handles this)
- Clearer visual hierarchy: primary -> secondary -> tertiary actions
2026-06-15 11:52:22 +08:00

3459 lines
115 KiB
TypeScript

import type { TranslationKeys } from "./en.js";
export const sv: TranslationKeys = {
common: {
upload: "Ladda upp fran dator",
process: "Bearbeta",
download: "Ladda ner",
cancel: "Avbryt",
save: "Spara",
delete: "Radera",
settings: "Installningar",
search: "Sok verktyg...",
dropFiles: "Slapp filer har eller klicka pa uppladdningsknappen",
loading: "Laddar...",
saving: "Saving...",
error: "Ett fel uppstod",
confirm: "Bekrafta",
close: "Stang",
back: "Tillbaka",
next: "Nasta",
clear: "Rensa",
copy: "Kopiera",
copied: "Kopierat!",
noResults: "Inga resultat hittades",
showLess: "Visa mindre",
showMore: "Visa {count} till",
experimental: "Experimentell",
enabled: "Aktiverad",
disabled: "Inaktiverad",
rename: "Byt namn",
edit: "Redigera",
actions: "Atgarder",
create: "Skapa",
or: "eller",
goHome: "Till startsidan",
somethingWentWrong: "Nagot gick fel",
unexpectedError: "Ett ovantat fel uppstod.",
retry: "Försök igen",
privacyPolicy: "Integritetspolicy",
pageNotFound: "Page not found",
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
},
categories: {
essentials: "Grundlaggande",
adjustments: "Justeringar",
enhance: "Enhance & AI",
watermark: "Vattenstampel & Overlay",
layout: "Layout & Komposition",
utilities: "Verktyg",
optimization: "Optimering",
format: "Format & Konvertering",
"video-edit": "Video",
"video-convert": "Convert",
"video-effects": "Effects & Compose",
"video-subtitles": "Subtitles",
"video-metadata": "Metadata",
"audio-edit": "Edit",
"audio-convert": "Convert",
"audio-effects": "Effects & Compose",
"audio-metadata": "Metadata",
"pdf-organize": "Organize",
"pdf-edit": "Edit & Annotate",
"pdf-security": "Security",
"pdf-optimize": "Optimize",
"doc-convert": "Convert",
data: "Data Files",
archives: "Archives",
},
modalities: {
image: "Image",
video: "Video",
audio: "Audio",
documentsAndFiles: "Documents & Files",
},
tools: {
resize: {
name: "Andra storlek",
description: "Andra storlek efter pixlar, procent eller sociala medier-mallar",
},
crop: {
name: "Beskara",
description: "Fri beskaring, bildforhallandemallar, formbeskaring",
},
rotate: {
name: "Rotera & Vaend",
description: "Rotera, vand och rata upp bilder",
},
convert: {
name: "Konvertera",
description: "Konvertera mellan bildformat",
},
compress: {
name: "Komprimera",
description: "Minska filstorleken via kvalitet eller malstorlek",
},
"optimize-for-web": {
name: "Optimera for webb",
description:
"Optimera bilder for webben med formatkonvertering, kvalitetskontroll och forhandsvisning",
},
"strip-metadata": {
name: "Ta bort metadata",
description: "Ta bort EXIF, GPS och kamerainformation",
},
"edit-metadata": {
name: "Redigera metadata",
description: "Redigera EXIF, IPTC, XMP, GPS, nyckelord och datum",
},
"bulk-rename": {
name: "Massomdopning",
description: "Byt namn pa flera filer med monster",
},
"image-to-pdf": {
name: "Bild till PDF",
description: "Kombinera bilder till ett PDF-dokument",
},
"pdf-to-image": {
name: "PDF till bild",
description: "Konvertera PDF-sidor till bilder",
},
favicon: {
name: "Favicon-generator",
description: "Generera alla favicon- och appikonstorlekar",
},
"adjust-colors": {
name: "Justera farger",
description: "Ljusstyrka, kontrast, exponering, mattnad, temperatur, skarpa och effekter",
},
sharpening: {
name: "Skarpa",
description: "Adaptiv, oskarp mask och hogpasskarpa med mallar",
},
"replace-color": {
name: "Ersatt & invertera farg",
description: "Ersatt specifika farger eller invertera",
},
"color-blindness": {
name: "Fargblindhetssimulering",
description: "Simulera hur bilder ser ut vid olika typer av fargseendebrist",
},
"remove-background": {
name: "Ta bort bakgrund",
description: "AI-driven bakgrundsborttagning",
},
upscale: {
name: "Bilduppskalning",
description: "AI-superupplost bildforstarkning",
},
"erase-object": {
name: "Objektraderare",
description: "Ta bort oonskade objekt med AI",
},
ocr: {
name: "OCR / Textextraktion",
description: "Extrahera text fran bilder med AI-precision",
},
"ocr-pdf": {
name: "PDF OCR",
description: "Extrahera text fran PDF-dokument med AI-driven OCR",
},
"blur-faces": {
name: "Ansikts- / PII-oskarpning",
description: "Detektera och gora ansikten och kanslig information oskarpa automatiskt",
},
"enhance-faces": {
name: "Ansiktsforstarkning",
description: "Aterstall och forstarkt ansikten med AI",
},
"smart-crop": {
name: "Smart beskaring",
description: "Smart motiv-, ansikts- eller kantbeskaring",
},
"image-enhancement": {
name: "Bildforstarkning",
description:
"Ettklicksforstarkning med smart exponerings-, kontrast-, farg- och skarpekorrigering",
},
"noise-removal": {
name: "Brusborttagning",
description: "AI-driven brus- och kornighetsborttagning",
},
"red-eye-removal": {
name: "Roda ogon-korrigering",
description: "AI-driven roda ogon-detektion och korrigering for blixtfoton",
},
"restore-photo": {
name: "Fotorestaurering",
description: "Laga repor, revor och skador pa gamla foton med AI",
},
"content-aware-resize": {
name: "Innehallsmedveten storleksandring",
description: "Andra storlek intelligent och bevara viktigt innehall",
},
"ai-canvas-expand": {
name: "AI-dukutvidgning",
description: "Utvidga duken med AI-driven fyllning",
},
colorize: {
name: "AI-farglaggning",
description: "Konvertera svartvita foton till farg med AI-djupinlarningsmodeller",
},
"passport-photo": {
name: "Passfoto",
description:
"Skapa myndighetsgodkanda pass-, visum- och ID-foton med automatisk ansiktsdetektion",
},
"transcribe-audio": {
name: "Transkribera ljud",
description: "Omvandla tal till text med AI-driven transkription",
},
"auto-subtitles": {
name: "Automatiska undertexter",
description: "Generera undertextfiler fran videoers ljudspar",
},
"transparency-fixer": {
name: "PNG-transparensfix",
description: "Fixa falska transparenta PNGs med ett klick",
},
"background-replace": {
name: "Byt bakgrund",
description: "Ersatt bildens bakgrund med en enfargad yta",
},
"blur-background": {
name: "Oskarp bakgrund",
description: "Gor bakgrunden oskarp och behall motivet skarpt",
},
"watermark-text": {
name: "Textvattenstampel",
description: "Lagg till textvattenstampel",
},
"watermark-image": {
name: "Bildvattenstampel",
description: "Lagg till logotyp som vattenstampel",
},
"text-overlay": {
name: "Textoverlay",
description: "Lagg till formaterad text pa bilder",
},
compose: {
name: "Bildkomposition",
description: "Lagra bilder med position och opacitet",
},
"meme-generator": {
name: "Meme-generator",
description:
"Skapa memes med populara mallar eller egna bilder. Klassisk Impact-stil med anpassningsbara typsnitt, farger och positionering.",
},
info: {
name: "Bildinformation",
description: "Visa all metadata och bildegenskaper",
},
compare: {
name: "Bildjamforelse",
description: "Jamfor tva bilder sida vid sida",
},
"find-duplicates": {
name: "Hitta dubletter",
description: "Upptack dubbletter och nastan identiska bilder",
},
"color-palette": {
name: "Fargpalett",
description: "Extrahera dominanta farger fran bilden",
},
"qr-generate": {
name: "QR-kodsgenerator",
description: "Skapa QR-koder med anpassade farger, monster och logotyper",
},
"html-to-image": {
name: "HTML to Image",
description: "Capture webpages as high-quality images",
},
"barcode-read": {
name: "Streckkodslasare",
description: "Skanna bilder efter QR-koder, streckkoder och 2D-koder",
},
collage: {
name: "Collage / Rutnatsvy",
description: "Kombinera bilder i rutnatscollage med 25+ mallar",
},
stitch: {
name: "Sammanfoga / Kombinera",
description: "Sammanfoga bilder sida vid sida, staplade eller i rutnat",
},
split: {
name: "Bilduppdelning",
description: "Dela bilder i rutnatsplattor eller efter pixelstorlek med forhandsvisning",
},
border: {
name: "Ram & Kant",
description: "Lagg till ramar, utfyllnad, rundade horn och skuggor med ettklicksmallar",
},
beautify: {
name: "Forskona skarmklipp",
description:
"Lagg till tonade bakgrunder, enhetsramar, skuggor och sociala medier-format for skarmklipp",
},
"circle-crop": {
name: "Circle Crop",
description: "Crop image to a centered circle with transparent corners",
},
duotone: {
name: "Duotone",
description: "Apply a two-color duotone effect with custom shadow and highlight colors",
},
"image-pad": {
name: "Image Pad",
description: "Pad image to a target aspect ratio with a solid color background",
},
pixelate: {
name: "Pixelate",
description: "Apply a pixelation effect to the full image or a specific region",
},
vignette: {
name: "Vignette",
description: "Add a vignette effect with adjustable strength and color",
},
"gif-webp": {
name: "GIF/WebP Converter",
description: "Convert animated GIF to WebP and vice versa, preserving all frames",
},
histogram: {
name: "Histogram",
description: "Generate an RGB histogram chart from an image",
},
"lqip-placeholder": {
name: "LQIP Placeholder",
description: "Generate a tiny low-quality image placeholder with base64 data URI",
},
"sprite-sheet": {
name: "Sprite Sheet",
description: "Combine multiple images into a single sprite sheet grid",
},
"svg-to-raster": {
name: "SVG till raster",
description:
"Konvertera SVG till PNG, JPEG, WebP, AVIF, TIFF, GIF eller HEIF med anpassad skala och DPI",
},
vectorize: {
name: "Bild till SVG",
description: "Konvertera bilder till skalbara vektorgrafik",
},
"gif-tools": {
name: "GIF-verktyg",
description:
"Skala, optimera, andra hastighet, vand, extrahera bildrutor och rotera animerade GIFs",
},
"image-to-base64": {
name: "Bild till Base64",
description: "Konvertera bilder till Base64-strangar for inbaddning i HTML, CSS och mer",
},
"barcode-generate": {
name: "Barcode Generator",
description: "Generate barcodes in Code 128, EAN-13, UPC-A, Code 39, ITF-14, and Data Matrix",
},
"chart-maker": {
name: "Chart Maker",
description: "Create bar, line, or pie charts from CSV or JSON data",
},
"convert-video": {
name: "Convert Video",
description: "Convert videos between MP4, MOV, and WebM",
},
"compress-video": {
name: "Compress Video",
description: "Shrink video file size with quality control",
},
"trim-video": {
name: "Trim Video",
description: "Cut a clip out of a video",
},
"mute-video": {
name: "Mute Video",
description: "Remove the audio track from a video",
},
"video-to-gif": {
name: "Video to GIF",
description: "Turn a video clip into an animated GIF",
},
"resize-video": {
name: "Resize Video",
description: "Scale a video to a new resolution or preset size",
},
"crop-video": {
name: "Crop Video",
description: "Crop a region out of a video",
},
"rotate-video": {
name: "Rotate Video",
description: "Rotate or flip a video",
},
"change-fps": {
name: "Change FPS",
description: "Change the frame rate of a video",
},
"video-color": {
name: "Video Color",
description: "Adjust brightness, contrast, saturation, and gamma",
},
"video-speed": {
name: "Video Speed",
description: "Speed up or slow down a video",
},
"reverse-video": {
name: "Reverse Video",
description: "Play a video clip backwards",
},
"video-loudnorm": {
name: "Normalize Audio",
description: "Normalize video audio volume to broadcast standard",
},
"aspect-pad": {
name: "Aspect Pad",
description: "Add solid-color bars to fit a target aspect ratio",
},
"blur-pad": {
name: "Blur Pad",
description: "Fill bars with a blurred copy of the video",
},
"watermark-video": {
name: "Watermark Video",
description: "Burn a text watermark onto video frames",
},
"stabilize-video": {
name: "Stabilize Video",
description: "Reduce camera shake with two-pass stabilization",
},
"gif-to-video": {
name: "GIF to Video",
description: "Convert an animated GIF into an MP4 or WebM video",
},
"video-to-webp": {
name: "Video to WebP",
description: "Convert a video clip into an animated WebP image",
},
"video-to-frames": {
name: "Video to Frames",
description: "Extract frames from a video as a ZIP of images",
},
"merge-videos": {
name: "Merge Videos",
description: "Join multiple video clips into one file",
},
"replace-audio": {
name: "Replace Audio",
description: "Swap the audio track of a video with another file",
},
"burn-subtitles": {
name: "Burn Subtitles",
description: "Permanently render subtitles onto video frames",
},
"embed-subtitles": {
name: "Embed Subtitles",
description: "Mux a subtitle track into the video container",
},
"extract-subtitles": {
name: "Extract Subtitles",
description: "Pull the subtitle track out of a video as an SRT file",
},
"images-to-video": {
name: "Images to Video",
description: "Turn a set of images into a slideshow video",
},
"video-metadata": {
name: "Clean Video Metadata",
description: "Strip metadata from a video and report what was found",
},
"convert-audio": {
name: "Convert Audio",
description: "Convert audio between MP3, WAV, OGG, and more",
},
"trim-audio": {
name: "Trim Audio",
description: "Cut a section out of an audio file",
},
"extract-audio": {
name: "Extract Audio",
description: "Pull the audio track out of a video",
},
"volume-adjust": {
name: "Volume Adjust",
description: "Increase or decrease audio volume by a fixed gain",
},
"normalize-audio": {
name: "Normalize Audio",
description: "Even out loudness to broadcast standard levels",
},
"fade-audio": {
name: "Fade Audio",
description: "Add fade-in and fade-out effects to audio",
},
"reverse-audio": {
name: "Reverse Audio",
description: "Play audio backwards",
},
"audio-speed": {
name: "Audio Speed",
description: "Speed up or slow down audio playback",
},
"pitch-shift": {
name: "Pitch Shift",
description: "Raise or lower pitch by semitones without changing speed",
},
"audio-channels": {
name: "Audio Channels",
description: "Convert between mono, stereo, or swap left and right channels",
},
"silence-removal": {
name: "Silence Removal",
description: "Strip silent sections from audio",
},
"noise-reduction": {
name: "Noise Reduction",
description: "Reduce background noise with FFT-based denoising",
},
"merge-audio": {
name: "Merge Audio",
description: "Combine multiple audio files into one",
},
"split-audio": {
name: "Split Audio",
description: "Split audio by time, equal parts, or silence detection",
},
"ringtone-maker": {
name: "Ringtone Maker",
description: "Create a ringtone clip from any audio file",
},
"waveform-image": {
name: "Waveform Image",
description: "Generate a waveform visualization as a PNG image",
},
"audio-metadata": {
name: "Audio Metadata",
description: "View, edit, or strip audio tags (ID3)",
},
"merge-pdf": {
name: "Merge PDFs",
description: "Combine multiple PDFs into one",
},
"split-pdf": {
name: "Split PDF",
description: "Extract pages or split into parts",
},
"compress-pdf": {
name: "Compress PDF",
description: "Shrink PDF file size",
},
"rotate-pdf": {
name: "Rotate PDF",
description: "Rotate pages in a PDF",
},
"convert-document": {
name: "Convert Document",
description: "Convert between Word, OpenDocument, RTF, and plain text formats",
},
"convert-presentation": {
name: "Convert Presentation",
description: "Convert between PowerPoint and OpenDocument presentation formats",
},
"convert-spreadsheet": {
name: "Convert Spreadsheet",
description:
"Convert between Excel, OpenDocument, and CSV formats. Multi-sheet workbooks export the first sheet to CSV.",
},
"excel-to-pdf": {
name: "Excel to PDF",
description: "Convert spreadsheets to PDF. Wide sheets may paginate across multiple pages.",
},
"word-to-pdf": {
name: "Word to PDF",
description: "Convert Word documents to PDF",
},
"extract-pages": {
name: "Extract Pages",
description: "Pull selected pages into a new PDF",
},
"remove-pages": {
name: "Remove Pages",
description: "Delete specific pages from a PDF",
},
"organize-pdf": {
name: "Organize PDF",
description: "Reorder pages with an explicit page order",
},
"protect-pdf": {
name: "Protect PDF",
description: "Add password protection (AES-256 encryption)",
},
"unlock-pdf": {
name: "Unlock PDF",
description: "Remove password protection from a PDF",
},
"repair-pdf": {
name: "Repair PDF",
description: "Attempt to repair a damaged or corrupted PDF",
},
"linearize-pdf": {
name: "Web-Optimize PDF",
description: "Linearize a PDF for fast web viewing",
},
"grayscale-pdf": {
name: "Grayscale PDF",
description: "Convert all colors to grayscale",
},
"pdfa-convert": {
name: "PDF/A Convert",
description: "Convert to archival PDF/A-2",
},
"crop-pdf": {
name: "Crop PDF",
description: "Crop all pages with a uniform margin",
},
"nup-pdf": {
name: "N-up PDF",
description: "Arrange multiple pages per sheet",
},
"booklet-pdf": {
name: "Booklet PDF",
description: "Arrange pages for folding into a booklet",
},
"watermark-pdf": {
name: "Watermark PDF",
description: "Add a text watermark to every page",
},
"pdf-page-numbers": {
name: "PDF Page Numbers",
description: "Add page numbers to every page",
},
"flatten-pdf": {
name: "Flatten PDF",
description: "Bake forms and annotations into page content",
},
"redact-pdf": {
name: "Redact PDF",
description: "Permanently remove text occurrences (verified true redaction)",
},
"pdf-to-text": {
name: "PDF to Text",
description: "Extract plain text from a PDF",
},
"pdf-to-word": {
name: "PDF to Word",
description: "Best for text-based PDFs; scanned pages need OCR",
},
"pdf-metadata": {
name: "PDF Metadata",
description: "Read and write PDF document metadata",
},
"powerpoint-to-pdf": {
name: "PowerPoint to PDF",
description: "Convert presentations to PDF",
},
"html-to-pdf": {
name: "HTML to PDF",
description: "Convert an HTML file to PDF. Remote resources are disabled for privacy.",
},
"markdown-to-docx": {
name: "Markdown to Word",
description: "Convert a Markdown file to a Word document (DOCX)",
},
"markdown-to-html": {
name: "Markdown to HTML",
description:
"Convert a Markdown file to a standalone HTML page. Remote images in the source are left as-is in the output.",
},
"markdown-to-pdf": {
name: "Markdown to PDF",
description:
"Convert a Markdown file to a styled PDF. Remote resources are disabled for privacy.",
},
"epub-convert": {
name: "Convert EPUB",
description:
"Convert an EPUB to PDF, DOCX, HTML, or Markdown. Remote resources inside the book are not fetched.",
},
"to-epub": {
name: "Convert to EPUB",
description: "Convert Word, Markdown, HTML, or plain text files to EPUB",
},
"csv-excel": {
name: "CSV to Excel",
description: "Convert between CSV and Excel (XLSX), both directions",
},
"csv-json": {
name: "CSV to JSON",
description: "Convert between CSV and JSON, both directions",
},
"json-xml": {
name: "JSON to XML",
description: "Convert between JSON and XML, both directions",
},
"split-csv": {
name: "Split CSV",
description: "Split a CSV into smaller files by row count",
},
"merge-csvs": {
name: "Merge CSVs",
description: "Combine multiple CSV or TSV files with matching columns into one",
},
"yaml-json": {
name: "YAML / JSON",
description: "Convert between YAML and JSON, both directions",
},
"xml-to-csv": {
name: "XML to CSV",
description: "Extract repeating elements from XML into a CSV table",
},
"create-zip": {
name: "Create ZIP",
description: "Bundle multiple files into a single ZIP archive",
},
"extract-zip": {
name: "Extract ZIP",
description:
"Safely extract files from a ZIP archive with bomb protection. Single-file archives return the file directly.",
},
pipeline: {
name: "Pipeline-byggare",
description: "Kedja samman flera verktyg till ett arbetsflode",
},
processing: { canceled: "Processing canceled" },
mediaPlayer: {
unsupported: "Your browser does not support this media format.",
},
documentView: {
loadFailed: "Failed to load document.",
previousPage: "Previous page",
nextPage: "Next page",
},
},
toolSettings: {
compress: {
compressionMode: "Komprimeringsmetod",
targetSize: "Malstorlek",
quality: "Kvalitet",
smallestFile: "Minsta fil",
bestQuality: "Basta kvalitet",
submit: "Komprimera",
submitBatch: "Komprimera ({count} filer)",
progressLabel: "Komprimerar",
original: "Original: {size} KB",
processed: "Bearbetat: {size} KB",
saved: "Besparat: {percent}%",
},
resize: {
customSize: "Anpassad storlek",
scale: "Skala",
presets: "Mallar",
contentAware: "Innehallsmedveten",
widthPx: "Bredd (px)",
heightPx: "Hojd (px)",
fitMode: "Passningsmetod",
cropToFit: "Beskara till passning",
fitInside: "Passa in",
stretch: "Stracka",
limitToOriginalSize: "Begansa till originalstorlek",
limitToOriginalSizeHint:
"Om din bild redan ar mindre an malet behalls den som den ar istallet for att skalas upp",
scalePercent: "Skala (%)",
resizeToSquare: "Andra till kvadrat",
protectFaces: "Skydda ansikten",
smoothing: "Utjamning",
edgeSensitivity: "Kantkannslighet",
submit: "Andra storlek",
submitBatch: "Andra storlek ({count} filer)",
progressLabel: "Andrar storlek",
},
crop: {
aspectRatio: "Bildforhallande",
custom: "Anpassad",
positionAndSize: "Position & Storlek",
ruleOfThirds: "Tredjedelskregeln",
leftOffsetPx: "Vanster offset (px)",
topOffsetPx: "Ovre offset (px)",
submit: "Beskara",
submitBatch: "Beskara ({count} filer)",
progressLabel: "Beskarar",
},
rotate: {
rotate: "Rotera",
angle: "Vinkel",
straighten: "Rata upp",
flip: "Vand",
horizontal: "Horisontell",
vertical: "Vertikal",
resetAllChanges: "Aterstall alla andringar",
submit: "Tilllampa",
submitBatch: "Tilllampa ({count} filer)",
progressLabel: "Tillampar",
},
convert: {
targetFormat: "Malformat",
sourceFormat: "Kallformat",
quality: "Kvalitet",
submit: "Konvertera",
submitBatch: "Konvertera ({count} filer)",
progressLabel: "Konverterar",
},
"optimize-for-web": {
outputFormat: "Utdataformat",
quality: "Kvalitet",
smallestFile: "Minsta fil",
bestQuality: "Basta kvalitet",
maxDimensions: "Maximala matt",
maxWidth: "Max bredd",
maxHeight: "Max hojd",
stripMetadata: "Ta bort metadata",
sizeComparison: "Storleksjamforelse",
optimized: "Optimerad:",
smaller: "{percent}% mindre",
larger: "{percent}% storre",
submit: "Bearbeta & Ladda ner",
submitBatch: "Bearbeta & Ladda ner ({count} filer)",
progressLabel: "Optimerar",
},
"strip-metadata": {
currentMetadata: "Aktuell metadata",
readingMetadata: "Laser metadata...",
noMetadataFound: "Ingen metadata hittades i denna bild.",
removeAllMetadata: "Ta bort all metadata",
selectSpecific: "Eller valj specifik metadata:",
stripExif: "Ta bort EXIF (kamerainformation, datum, exponering)",
stripGps: "Ta bort GPS (platsdata)",
stripIcc: "Ta bort ICC (fargprofil)",
stripXmp: "Ta bort XMP (utokad metadata)",
locationFound: "plats hittad",
locationWarning:
"Denna bild innehaller din exakta plats. Overvag att ta bort GPS-data innan du delar.",
metadataSections: "{count} metadatasektion hittad",
metadataSectionsPlural: "{count} metadatasektioner hittade",
metadataRemoved: "Metadata borttagen: {size} KB",
submit: "Ta bort metadata",
progressLabel: "Tar bort metadata",
},
"edit-metadata": {
readingMetadata: "Laser metadata...",
couldNotReadMetadata: "Kunde inte lasa metadata. Falten borjar tomma.",
basicInfo: "Grundinformation",
description: "Beskrivning",
artist: "Konstnar",
copyright: "Upphovsratt",
software: "Programvara",
iptc: "IPTC",
title: "Titel",
headline: "Rubrik",
city: "Stad",
stateProvince: "Delstat/Provins",
country: "Land",
dateAndTime: "Datum & Tid",
editDates: "Redigera datum",
shiftAllDates: "Flytta alla datum",
dateModified: "Andringsdatum",
dateTaken: "Fotograferingsdatum",
shiftHint: "Flytta alla datumfalt med en offset (anvandbart for tidszonskorrigeringar)",
direction: "Riktning",
forward: "+ Framat",
backward: "- Bakat",
hoursMinutes: "Timmar:Minuter",
locationGps: "Plats (GPS)",
locationDataFound: "Platsdata hittad",
noGpsData: "Ingen GPS-data. Lagg till koordinater nedan.",
latitude: "Latitud",
longitude: "Longitud",
altitudeMeters: "Hojd (meter)",
removeAllGpsData: "Ta bort all GPS-data",
keywords: "Nyckelord",
addKeywordPlaceholder: "Lagg till nyckelord och tryck Enter",
addToExisting: "Lagg till befintliga",
replaceAll: "Ersatt alla",
allMetadata: "All metadata",
templates: "Mallar",
templateNamePlaceholder: "Mallnamn",
uploadPrompt: "Ladda upp en bild for att redigera dess metadata.",
changes: "{count} andringar:",
modified: "{count} andrade",
removed: "{count} borttagna",
gpsCleared: "GPS rensat",
gpsAdded: "GPS tillagt",
datesShifted: "datum flyttade",
submit: "Tilllampa metadata",
progressLabel: "Skriver metadata",
},
"bulk-rename": {
pattern: "Monster",
patternHint: "Variabler: {{index}}, {{padded}}, {{original}}",
startIndex: "Startindex",
preview: "Forhandsvisning",
andMore: "... och {count} till",
renaming: "Byter namn...",
submit: "Byt namn pa {count} filer",
zipDownloaded: "ZIP nedladdad",
},
"image-to-pdf": {
imageCount: "{count} bild konverteras till {mode}",
imageCountPlural: "{count} bilder konverteras till {mode}",
singlePdfMode: "en enda PDF, en bild per sida",
separatePdfMode: "separata PDFs, en per bild",
combineAllImages: "Kombinera alla bilder i en PDF",
pageSize: "Sidstorlek",
orientation: "Orientering",
portrait: "Staende",
landscape: "Liggande",
margin: "Marginal",
targetSizeLabel: "Malfilstorlek (valfritt)",
targetSizePlaceholder: "t.ex. 2",
targetSizeHint: "Lamna tomt for maximal kvalitet",
targetSizeMet: "Malet natt",
targetSizeNotMet: "Malet kunde inte nas. Filen komprimerad till lagsta kvalitet.",
targetSizeTooSmall: "Malstorleken maste vara minst 50KB",
jpegQualityLabel: "Anvand JPEG-kvalitet",
noImage: "Ingen bild",
submitCollate: "Skapa PDF ({count} sidor)",
submitSeparate: "Skapa {count} PDFs",
downloadPdf: "Ladda ner PDF",
downloadZip: "Ladda ner ZIP",
progressLabel: "Skapar PDF",
uploadingImages: "Laddar upp bilder...",
processingPages: "Bearbetar {count} sidor...",
},
"pdf-to-image": {
dropPdf: "Slapp en PDF har eller klicka for att valja",
readingPdf: "Laser PDF...",
pageCount: "{count} sida",
pageCountPlural: "{count} sidor",
outputFormat: "Utdataformat",
quality: "Kvalitet",
resolutionDpi: "Upplosning (DPI)",
dpiScreen: "Skarm",
dpiStandard: "Standard",
dpiPrint: "Tryck",
dpiHighQuality: "Hog kvalitet",
colorMode: "Fargmetod",
colorModeColor: "Farg",
colorModeGrayscale: "Gratoner",
colorModeBw: "S/V",
pages: "Sidor",
allPages: "Alla sidor",
pagesHint: "t.ex. 1-3, 5, 8-10 (dokumentet har {count} sidor)",
converting: "Konverterar...",
submit: "Konvertera {count} sida",
submitPlural: "Konvertera {count} sidor",
downloadAllZip: "Ladda ner alla (ZIP)",
},
favicon: {
uploadHint:
"Ladda upp kvadratiska bilder (rekommenderat 512x512 eller storre) for att generera alla favicon- och appikonstorlekar.",
multipleHint: "Var och en av de {count} bilderna far en egen mapp i ZIPen.",
generatedSizes: "Genererade storlekar (per bild)",
plusManifest: "+ manifest.json + HTML-snippet",
submit: "Generera favicons ({count} bild)",
submitPlural: "Generera favicons ({count} bilder)",
downloadZip: "Ladda ner favicons-ZIP",
progressLabel: "Genererar favicons",
},
"adjust-colors": {
light: "Ljus",
brightness: "Ljusstyrka",
contrast: "Kontrast",
exposure: "Exponering",
color: "Farg",
saturation: "Mattnad",
temperature: "Temperatur",
temperatureHint: "svalt / varmt",
tint: "Nyans",
tintHint: "gron / magenta",
hue: "Fargton",
detail: "Detalj",
sharpness: "Skarpa",
effects: "Effekter",
none: "ingen",
grayscale: "gratoner",
sepia: "sepia",
invert: "invertera",
colorChannels: "Fargkanaler",
channelModified: "andrad",
red: "Rod",
green: "Gron",
blue: "Bla",
resetAll: "Aterstall allt",
submit: "Tilllampa",
submitBatch: "Tilllampa ({count} filer)",
progressLabel: "Justerar farger",
},
sharpening: {
method: "Metod",
adaptive: "Adaptiv",
unsharpMask: "Oskarp mask",
highPass: "Hogpass",
presets: "Mallar",
textureAmount: "Texturmangd",
amount: "Styrka",
strength: "Intensitet",
noiseReduction: "Brusreducering",
off: "av",
lightDenoise: "latt",
mediumDenoise: "medium",
strongDenoise: "stark",
advancedControls: "Avancerade installningar",
radius: "Radie",
flatProtection: "Ytskydd",
detailThreshold: "Detaljtroskel",
haloLimitLight: "Halograns (Ljus)",
haloLimitDark: "Halograns (Mork)",
threshold: "Troskelvarde",
kernelSize: "Karnstorlek",
submit: "Skarpa",
submitBatch: "Skarpa ({count} filer)",
progressLabel: "Skarper",
},
"replace-color": {
sourceColor: "Kallfarg (att ersatta)",
targetColor: "Malfarg (ersattning)",
makeTransparent: "Gor transparent istallet",
tolerance: "Tolerans",
exactMatch: "Exakt matchning",
wideRange: "Brett omfang",
submit: "Ersatt farg",
submitBatch: "Ersatt farg ({count} filer)",
progressLabel: "Ersatter farg",
},
"color-blindness": {
simulationType: "Simuleringstyp",
redGreen: "Rod-Gron",
blueYellow: "Bla-Gul",
monochromatic: "Monokromatisk",
submit: "Simulera",
submitBatch: "Simulera ({count} filer)",
progressLabel: "Simulerar fargblindhet",
},
"remove-background": {
subject: "Motiv",
people: "Manniskor",
products: "Produkter",
general: "Allman",
passportIdPhoto: "Pass- / ID-foto",
quality: "Kvalitet",
fast: "Snabb",
hd: "HD",
max: "Max",
ultra: "Ultra",
background: "Bakgrund",
transparent: "Transparent",
bgColor: "Farg",
gradient: "Tonad",
image: "Bild",
gradientDirection: "Riktning",
chooseBackgroundImage: "Valj bakgrundsbild",
effectsSection: "Effekter",
effectsActive: "aktiv",
blurBackground: "Gora bakgrund oskarp",
intensity: "Intensitet",
addShadow: "Lagg till skugga",
opacity: "Opacitet",
outputFormat: "Output Format",
edgeSmoothing: "Edge Smoothing",
edgeSmoothingOff: "Off",
edgeSmoothingLight: "Light",
edgeSmoothingMedium: "Medium",
edgeSmoothingStrong: "Strong",
colorDecontamination: "Color Decontamination",
rendering: "Renderar...",
submit: "Ta bort bakgrund",
submitBatch: "Ta bort bakgrund ({count} filer)",
progressLabel: "Tar bort bakgrund",
},
upscale: {
scaleFactor: "Skalningsfaktor",
quality: "Kvalitet",
enhanceFaces: "Forstarkt ansikten",
noiseReduction: "Brusreducering",
noiseReductionHint:
"Jamnar ut kornighet och brus. Hogre varden tar bort mer brus men kan mjuka upp detaljer.",
outputFormat: "Utdataformat",
submit: "Uppskala {scale}x",
submitBatch: "Uppskala {scale}x ({count} filer)",
progressLabel: "Uppskalar bild",
progressLabelBatch: "Uppskalar {count} bilder",
},
"erase-object": {
brushSize: "Penselstorlek",
fine: "Fin",
wide: "Bred",
undo: "Angra",
clear: "Rensa",
outputFormat: "Utdataformat",
quality: "Kvalitet",
paintHint: "Mala over objekten du vill ta bort. Anvand Ctrl+Z for att angra.",
submit: "Radera objekt",
submitBatch: "Radera alla ({count})",
progressLabel: "Raderar objekt",
},
ocr: {
quality: "Kvalitet",
enhanceBeforeScanning: "Forstarkt fore skanning",
enhanceHint:
"Korrigerar automatiskt skevhet, forstarker kontrast, tar bort brus och uppskalar bilden fore skanning for battre precision.",
language: "Sprak",
autoDetect: "Automatisk detektion",
extractedText: "Extraherad text",
noTextDetected: "Ingen text detekterad i denna bild",
characters: "{count} tecken",
submit: "Extrahera text",
submitBatch: "Extrahera text ({count} filer)",
progressLabel: "Extraherar text",
},
"ocr-pdf": {
quality: "Kvalitet",
language: "Sprak",
autoDetect: "Automatisk identifiering",
pages: "Sidor",
pagesPlaceholder: "all, 1-3, 5",
pagesHint: "Ange sidnummer eller intervall (t.ex. 1-3, 5, 8-10). Max 50 sidor.",
submit: "Extrahera text",
submitBatch: "Extrahera text ({count} filer)",
progressLabel: "Extraherar text fran PDF",
},
"blur-faces": {
blurRadius: "Oskarpningsradie",
blurLight: "Latt",
blurHeavy: "Stark",
detectionSensitivity: "Detektionskannslighet",
moreFaces: "Fler ansikten",
fewerFaces: "Farre ansikten",
submit: "Gor ansikten oskarpa",
progressLabel: "Gor ansikten oskarpa",
},
"enhance-faces": {
quality: "Kvalitet",
enhancementStrength: "Forstarkningsstyrka",
onlyCenterFace: "Enbart centralt ansikte",
detectionSensitivity: "Detektionskannslighet",
submit: "Forstarkt ansikten",
submitBatch: "Forstarkt ansikten ({count} filer)",
progressLabel: "Forstarker ansikten",
},
"smart-crop": {
subjectFocus: "Motivfokus",
faceFocus: "Ansiktsfokus",
autoTrim: "Automatisk trimning",
customSize: "Anpassad storlek",
socialPresets: "Sociala medier-mallar",
detectionStrategy: "Detektionsstrategi",
detectionStrategyHint:
"Uppmarksamhet hittar det visuellt mest iogonfallande omradet. Entropi hittar omradet med mest detaljer.",
attention: "Uppmarksamhet",
entropy: "Entropi",
padding: "Utfyllnad",
paddingHint: "Extra utrymme runt fokusomradet",
outputQuality: "Utdatakvalitet",
outputQualityHint: "For JPEG- och WebP-utdata. PNG ar alltid forlustfri.",
subjectDescription:
"Detekterar det mest intressanta omradet via saliensanalys och beskarar till din malstorlek.",
framing: "Inramning",
facePadding: "Ansiktsutfyllnad",
facePaddingHint: "Extra utrymme runt detekterade ansikten",
fewerFalsePositives: "Farre falska positiva",
faceDescription:
"Anvander AI-ansiktsdetektion for att halla ansikten korrekt inramade. Faller tillbaka till motivfokus om inga ansikten detekteras.",
trimTolerance: "Tolerans",
trimDescription:
"Hur mycket en kantpixel far skilja sig fran kantfargen och anda trimmas. Hogre = aggressivare.",
padToSquare: "Fyll till kvadrat",
targetSizePx: "Malstorlek (px)",
padColor: "Fyllnadsfarg",
trimHint:
'Tar bort enfargade kanter runt ditt motiv. Aktivera "Fyll till kvadrat" for e-handelsbilder.',
submitSubject: "Smart beskaring",
submitFace: "Ansiktsbeskaring",
submitTrim: "Trimma kanter",
},
imageEnhancement: {
enhancementMode: "Forstarkningsmetod",
auto: "Automatisk",
portrait: "Portratt",
landscape: "Landskap",
lowLight: "Svagt ljus",
food: "Mat",
document: "Dokument",
intensity: "Intensitet",
deepEnhance: "Djupforstarkning (AI)",
deepEnhanceDescription: "Tar bort brus och artefakter med AI",
deepEnhanceRequires: "Kraver paketet Uppskalning & Forstarkning",
analyzingImage: "Analyserar bild...",
detectedIssues: "Upptackta problem",
imageLooksGood: "Bilden ser bra ut. Finjustera med intensitetsreglaget.",
issueUnderexposed: "Underexponerad",
issueOverexposed: "Overexponerad",
issueLowContrast: "Platt kontrast",
issueColorCast: "Fargkast",
issueDesaturated: "Omattad",
issueSoftFocus: "Mjuk fokus",
issueNoisy: "Brusig",
submit: "Forstarkt",
submitDeep: "Djupforstarkning",
submitBatch: "Forstarkt ({count} filer)",
submitDeepBatch: "Djupforstarkning ({count} filer)",
progressLabel: "Forstarker bild",
progressLabelBatch: "Forstarker {count} bilder",
},
"noise-removal": {
denoisingTier: "Avbrusningsniva",
quick: "Snabb",
balanced: "Balanserad",
quality: "Kvalitet",
maximum: "Maximum",
quickDesc: "Snabb, latthanterlig",
balancedDesc: "Bra kvalitet, medelsnabb",
qualityDesc: "AI-driven, langsam",
maximumDesc: "Basta AI-modell, langsammast",
strength: "Styrka",
subtle: "Diskret",
aggressive: "Aggressiv",
detailPreservation: "Detaljbevarande",
smooth: "Mjuk",
sharp: "Skarp",
colorNoise: "Fargbrus",
heavy: "Kraftig",
outputFormat: "Utdataformat",
gifAiWarning:
"AI-avbrusning pa GIF-filer bearbetar enbart forsta bildrutan. For animerade GIFs, anvand Snabb eller Balanserad niva.",
submit: "Ta bort brus",
submitBatch: "Ta bort brus ({count} filer)",
progressLabel: "Tar bort brus",
progressLabelBatch: "Tar bort brus fran {count} bilder",
},
"red-eye-removal": {
sensitivity: "Kannslighet",
strict: "Strikt",
aggressive: "Aggressiv",
correctionStrength: "Korrigeringsstyrka",
subtle: "Diskret",
dark: "Mork",
outputFormat: "Utdataformat",
quality: "Kvalitet",
submit: "Korrigera roda ogon",
submitBatch: "Korrigera roda ogon ({count} filer)",
progressLabel: "Korrigerar roda ogon",
progressLabelBatch: "Korrigerar roda ogon i {count} bilder",
},
"restore-photo": {
scratchRemoval: "Repborttagning",
scratchRemovalDesc: "Upptack och reparera repor, revor och flackar",
faceEnhancement: "Ansiktsforstarkning",
faceEnhancementDesc: "Aterstall skadade ansikten med CodeFormer-AI",
faceFidelity: "Ansiktstrogenhet",
enhanced: "Forstarkt",
faithful: "Originaltrogen",
noiseReduction: "Brusreducering",
noiseReductionDesc: "Ta bort kornighet och brus fran gamla foton",
denoiseStrength: "Avbrusningsstyrka",
autoColorize: "Automatisk farglaggning",
autoColorizeDesc: "Lagg till farg i S/V-foton med DDColor AI",
colorizeStrength: "Farglaggningsstyrka",
vivid: "Livfull",
submit: "Restaurera foto",
submitBatch: "Restaurera foton ({count})",
progressLabel: "Restaurerar foto",
progressLabelBatch: "Restaurerar {count} foton",
},
"content-aware-resize": {
widthPx: "Bredd (px)",
heightPx: "Hojd (px)",
resizeToSquare: "Andra till kvadrat",
protectFaces: "Skydda ansikten",
protectFacesHint:
"Detektera och skydda ansiktsomraden fran somborttagning via ansiktsdetektion",
smoothing: "Utjamning",
edgeSensitivity: "Kantkannslighet",
submit: "Andra storlek",
submitBatch: "Andra storlek ({count} filer)",
progressLabel: "Innehallsmedveten storleksandring",
},
"ai-canvas-expand": {
quality: "Kvalitet",
fast: "Snabb",
balanced: "Balanserad",
highQuality: "Hog kvalitet",
fastDesc: "Snabb forhandsvisning, farre AI-pass",
balancedDesc: "Bra kvalitet, medelsnabb",
highQualityDesc: "Basta resultat, langsammare",
extendToAspectRatio: "Utvidga till bildforhallande",
extendByPixels: "Utvidga med (pixlar)",
top: "Topp",
right: "Hoger",
bottom: "Botten",
left: "Vanster",
newSize: "Ny storlek: {width} x {height}",
submit: "Utvidga duk",
submitBatch: "Utvidga ({count} filer)",
progressLabel: "Utvidgar duk",
},
colorize: {
aiModel: "AI-modell",
fast: "Snabb",
fastDesc: "Snabba resultat",
balanced: "Balanserad",
balancedDesc: "Bast tillganglig",
best: "Basta",
bestDesc: "Hogsta kvalitet",
colorIntensity: "Fargintensitet",
grayscaleLabel: "Gratoner",
subtleLabel: "Diskret",
naturalLabel: "Naturlig",
vividLabel: "Livfull",
intensityHint: "Lagre varden ger daempade, vintage-liknande farger.",
strength: "Farglaggningsstyrka",
submit: "Farglagg",
submitBatch: "Farglagg ({count} filer)",
progressLabel: "Farglagger",
progressLabelBatch: "Farglagger {count} bilder",
},
"passport-photo": {
country: "Land",
searchCountries: "Sok lander...",
noCountriesFound: "Inga lander hittades",
customDimensions: "Anpassade matt",
documentType: "Dokumenttyp",
dimensionsMm: "Matt (mm)",
dpi: "DPI",
pixelsPerInch: "pixlar per tum",
backgroundColor: "Bakgrundsfarg",
maxFileSize: "Max filstorlek",
noLimit: "Ingen grans",
customKb: "Anpassad (KB)...",
uploadPortrait: "Ladda upp ett portrattfoto",
uploadHint:
"Slapp eller ladda upp en bild i vanstra panelen for att forhandsgranska ditt passfoto",
analyzingPhoto: "Analyserar foto",
detectingLandmarks: "Detekterar ansiktslandmarken och tar bort bakgrund...",
generatePassportPhoto: "Generera passfoto",
generating: "Genererar...",
downloadPhoto: "Ladda ner foto",
faceCentered: "Ansikte centrerat",
headLevel: "Huvud rakt",
lookingStraight: "Tittar rakt fram",
faceSize: "Ansiktsstorlek",
whatYouSee: "Det du ser ar det du laddar ner",
dragToAdjust: "Dra for att justera",
scrollToZoom: "Scrolla for att zooma",
photoGenerated: "Foto genererat. Ladda ner fran vanstra panelen.",
},
"transcribe-audio": {
language: "Sprak",
autoDetect: "Automatisk identifiering",
outputFormat: "Utdataformat",
plainText: "Ren text",
submit: "Transkribera",
submitBatch: "Transkribera ({count} filer)",
progressLabel: "Transkriberar ljud",
},
"auto-subtitles": {
language: "Sprak",
autoDetect: "Automatisk identifiering",
format: "Undertextformat",
submit: "Generera undertexter",
submitBatch: "Generera undertexter ({count} filer)",
progressLabel: "Genererar undertexter",
},
"transparency-fixer": {
description: "Ladda upp en PNG med falsk transparent bakgrund sa fixar vi det med ett klick.",
removeWatermark: "Ta bort vattenstampel",
removeWatermarkHelp: "Detektera och ta bort halvtransparenta vattenstamplar",
requiresEraser: "Kraver Objektraderarens paket",
advanced: "Avancerat",
defringe: "Kantkorrigering",
outputFormat: "Utdataformat",
submit: "Fixa transparens",
submitBatch: "Fixa transparens ({count} filer)",
progressLabel: "Fixar transparens",
},
"background-replace": {
color: "Bakgrundsfarg",
submit: "Byt bakgrund",
submitBatch: "Byt bakgrund ({count} filer)",
progressLabel: "Byter bakgrund",
},
"blur-background": {
intensity: "Oskarpa-intensitet",
submit: "Gor bakgrunden oskarp",
submitBatch: "Gor bakgrunden oskarp ({count} filer)",
progressLabel: "Gor bakgrunden oskarp",
},
"watermark-text": {
watermarkText: "Vattenstampeltext",
fontSize: "Teckenstorlek",
color: "Farg",
opacity: "Opacitet",
position: "Position",
rotation: "Rotation",
center: "Mitten",
topLeft: "Uppe till vanster",
topRight: "Uppe till hoger",
bottomLeft: "Nere till vanster",
bottomRight: "Nere till hoger",
tiled: "Plattsatt",
submit: "Lagg till vattenstampel",
submitBatch: "Lagg till vattenstampel ({count} filer)",
progressLabel: "Lagger till vattenstampel",
},
"watermark-image": {
uploadWatermark: "Ladda upp vattenstampelbild",
position: "Position",
opacity: "Opacitet",
scale: "Skala",
submit: "Tilllampa vattenstampel",
submitBatch: "Tilllampa vattenstampel ({count} filer)",
},
"text-overlay": {
text: "Text",
fontSize: "Teckenstorlek",
color: "Farg",
position: "Position",
top: "Topp",
center: "Mitten",
bottom: "Botten",
backgroundBox: "Bakgrundsruta",
backgroundColor: "Bakgrundsfarg",
shadow: "Skugga",
submit: "Lagg till text",
submitBatch: "Lagg till text ({count} filer)",
progressLabel: "Lagger till textoverlay",
download: "Download",
defaultText: "Your Text Here",
},
compose: {
uploadOverlay: "Ladda upp overlagringsbild",
xPosition: "X-position",
yPosition: "Y-position",
opacity: "Opacitet",
blendMode: "Blandningsmetod",
submit: "Komponera",
},
"meme-generator": {
selectTemplate: "Valj en mall fran galleriet eller ladda upp din egen bild.",
chooseLayout: "Valj en textlayout for din bild.",
textContent: "Textinnehall",
textStyle: "Textstil",
font: "Typsnitt",
fontSize: "Teckenstorlek",
textColor: "Textfarg",
strokeColor: "Konturfarg",
allCaps: "VERSALER",
generate: "Skapa Meme",
generating: "Skapar...",
downloadMeme: "Ladda ner Meme",
backToGallery: "Tillbaka till galleriet",
},
info: {
loadingInfo: "Laddar information...",
filename: "Filnamn",
fileSize: "Filstorlek",
dimensions: "Dimensioner",
format: "Format",
channels: "Kanaler",
colorSpace: "Fargrymd",
density: "Tathet",
bitDepth: "Bitdjup",
progressive: "Progressiv",
pages: "Sidor",
hasAlpha: "Har Alpha",
hasProfile: "Har profil",
hasExif: "Har EXIF",
hasIcc: "Har ICC",
hasXmp: "Har XMP",
readInfo: "Read Info",
reading: "Reading...",
channelStats: "Channel Stats",
yes: "Yes",
no: "No",
na: "N/A",
failedToRead: "Failed to read info",
},
compare: {
uploadSecondImage: "Ladda upp andra bilden",
similarity: "Likhet: {percent}%",
submit: "Jamfor",
downloadDiff: "Ladda ner differens",
},
"find-duplicates": {
preset: "Mall",
exact: "Exakt",
similar: "Liknande",
loose: "Los",
exactDesc: "Pixelidentiska kopior, samma bild i olika format.",
similarDesc: "Skalade, omkomprimerade eller latt redigerade kopior.",
looseDesc: "Visuellt beslanktade bilder, latta beskariningar, olika exponeringar.",
threshold: "Troskelvarde",
submit: "Skanna efter dubletter",
scanning: "Skannar...",
},
"color-palette": {
submit: "Extrahera palett",
extracting: "Extraherar...",
dominantColors: "Dominanta farger",
clickToCopy: "Klicka for att kopiera",
},
"qr-generate": {
contentType: "Innehallstyp",
url: "URL",
text: "Text",
wifi: "WiFi",
vcard: "vCard",
email: "E-post",
phone: "Telefon",
sms: "SMS",
styling: "Stil",
dotStyle: "Punktstil",
cornerSquareStyle: "Hornkvadratsttil",
cornerDotStyle: "Hornpunktstil",
foregroundColor: "Forgrundsfarg",
bgColor: "Bakgrundsfarg",
logo: "Logotyp",
downloadFormat: "Nedladdningsformat",
submit: "Generera QR-kod",
download: "Ladda ner QR-kod",
},
"html-to-image": {
modeUrl: "URL",
modeHtml: "HTML File",
htmlFile: "HTML File",
url: "URL",
urlPlaceholder: "https://snapotter.com",
format: "Output Format",
quality: "Quality",
devicePreset: "Device",
viewportWidth: "Width",
viewportHeight: "Height",
fullPage: "Full Page",
submit: "Capture",
download: "Download Screenshot",
capturing: "Capturing webpage...",
errorTimeout: "Page took too long to load",
errorBlocked: "This URL cannot be captured",
errorUnavailable: "Screenshot service is not available",
errorFailed: "Failed to capture the page",
placeholder: "Enter a URL and click Capture",
presets: {
desktop: "Desktop",
tablet: "Tablet",
mobile: "Mobile",
custom: "Custom",
},
},
"barcode-read": {
submit: "Skanna streckkoder",
submitBatch: "Skanna ({count} filer)",
scanning: "Skannar...",
noBarcodesFound: "Inga streckkoder hittades",
barcodesFound: "{count} streckkod hittad",
barcodesFoundPlural: "{count} streckkoder hittade",
},
collage: {
template: "Mall",
aspectRatio: "Bildforhallande",
gap: "Mellanrum",
cornerRadius: "Hornradie",
backgroundColor: "Bakgrundsfarg",
outputFormat: "Utdataformat",
quality: "Kvalitet",
submit: "Skapa collage",
downloadCollage: "Ladda ner collage",
},
stitch: {
direction: "Riktning",
horizontal: "Horisontell",
vertical: "Vertikal",
grid: "Rutnat",
gridColumns: "Rutnatskolumner",
resizeMode: "Skalningsmetod",
fit: "Passa",
original: "Original",
stretchMode: "Stracka",
cropMode: "Beskara",
alignment: "Justering",
start: "Borjan",
center: "Mitten",
end: "Slut",
gap: "Mellanrum",
border: "Ram",
cornerRadius: "Hornradie",
backgroundColor: "Bakgrundsfarg",
outputFormat: "Utdataformat",
quality: "Kvalitet",
submit: "Sammanfoga bilder",
},
split: {
modeGrid: "Rutnat",
modeTileSize: "Plattstorlek",
presets: "Mallar",
columns: "Kolumner",
rows: "Rader",
tileWidth: "Plattbredd",
tileHeight: "Platthojd",
outputFormat: "Utdataformat",
quality: "Kvalitet",
submit: "Dela bild",
downloadAll: "Ladda ner alla (ZIP)",
},
border: {
presets: "Mallar",
borderWidth: "Rambredd",
borderColor: "Ramfarg",
padding: "Utfyllnad",
paddingColor: "Utfyllnadsfarg",
cornerRadius: "Hornradie",
shadow: "Skugga",
shadowBlur: "Skuggostarpa",
shadowOffsetX: "Skuggoffset X",
shadowOffsetY: "Skuggoffset Y",
shadowColor: "Skuggfarg",
shadowOpacity: "Skuggopacitet",
submit: "Lagg till ram",
submitBatch: "Lagg till ram ({count} filer)",
progressLabel: "Lagger till ram",
},
beautify: {
preset: "Mall",
backgroundType: "Bakgrundstyp",
solidColor: "Heltackande farg",
linearGradient: "Linjar toning",
radialGradient: "Radial toning",
customImage: "Egen bild",
gradientAngle: "Toningsvinkel",
padding: "Utfyllnad",
borderRadius: "Ramradie",
shadowPreset: "Skuggmall",
deviceFrame: "Enhetsram",
submit: "Forskona",
submitBatch: "Forskona ({count} filer)",
progressLabel: "Forskonar skarmklipp",
},
"circle-crop": {
submit: "Circle Crop",
submitBatch: "Circle Crop ({count} files)",
progressLabel: "Cropping to circle",
},
duotone: {
shadow: "Shadow Color",
highlight: "Highlight Color",
submit: "Apply Duotone",
submitBatch: "Apply Duotone ({count} files)",
progressLabel: "Applying duotone",
},
"image-pad": {
target: "Target Ratio",
color: "Background Color",
submit: "Pad Image",
submitBatch: "Pad Image ({count} files)",
progressLabel: "Padding image",
},
pixelate: {
blockSize: "Block Size",
submit: "Pixelate",
submitBatch: "Pixelate ({count} files)",
progressLabel: "Pixelating",
},
vignette: {
strength: "Strength",
color: "Vignette Color",
submit: "Apply Vignette",
submitBatch: "Apply Vignette ({count} files)",
progressLabel: "Applying vignette",
},
"gif-webp": {
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting animation",
},
histogram: {
submit: "Generate Histogram",
submitBatch: "Generate Histogram ({count} files)",
progressLabel: "Generating histogram",
},
"lqip-placeholder": {
width: "Width",
blur: "Blur",
submit: "Generate Placeholder",
submitBatch: "Generate Placeholder ({count} files)",
progressLabel: "Generating placeholder",
},
"sprite-sheet": {
columns: "Columns",
padding: "Padding",
background: "Background Color",
submit: "Create Sprite Sheet",
submitBatch: "Create Sprite Sheet",
progressLabel: "Creating sprite sheet",
},
"svg-to-raster": {
outputFormat: "Utdataformat",
sizing: "Storlek",
scaleMode: "Skala",
customMode: "Anpassad",
scalePresets: "Skalmallar",
dpiPresets: "DPI-mallar",
customWidth: "Bredd (px)",
customHeight: "Hojd (px)",
background: "Bakgrund",
bgTransparent: "Transparent",
bgColor: "Farg",
quality: "Kvalitet",
submit: "Konvertera SVG",
submitBatch: "Konvertera ({count} filer)",
progressLabel: "Konverterar SVG",
},
vectorize: {
preset: "Mall",
logo: "Logotyp",
illustration: "Illustration",
photo: "Foto",
sketch: "Skiss",
customPreset: "Anpassad",
colorMode: "Fargmetod",
bw: "S/V",
colorModeColor: "Farg",
threshold: "Troskelvarde",
colorPrecision: "Fargprecision",
layerDifference: "Lagerskillnad",
filterSpeckle: "Filtrera flackar",
pathMode: "Banmetod",
cornerThreshold: "Horntroskel",
invertColors: "Invertera farger",
submit: "Vektorisera",
submitBatch: "Vektorisera ({count} filer)",
progressLabel: "Vektoriserar",
},
"gif-tools": {
mode: "Metod",
resize: "Andra storlek",
optimize: "Optimera",
speed: "Hastighet",
reverse: "Vand",
extract: "Extrahera",
rotateMode: "Rotera",
pixel: "Pixel",
percentage: "Procent",
colors: "Farger",
dither: "Dithering",
effort: "Anstrangning",
speedFactor: "Hastighetsfaktor",
loopControl: "Loopstyrning",
infinite: "Oandlig",
once: "En gang",
customLoop: "Anpassad",
loopCount: "Antal loopar",
extractSingle: "Enskild",
extractRange: "Omfang",
extractAll: "Alla",
frameNumber: "Bildrutenummer",
frameStart: "Startruta",
frameEnd: "Slutruta",
extractFormat: "Format",
submit: "Bearbeta GIF",
submitBatch: "Bearbeta ({count} filer)",
progressLabel: "Bearbetar GIF",
},
"image-to-base64": {
outputFormat: "Utdataformat",
keepOriginal: "Behaall original",
quality: "Kvalitet",
maxWidth: "Max bredd",
maxHeight: "Max hojd",
submit: "Konvertera till Base64",
submitBatch: "Konvertera ({count} filer)",
copyBase64: "Kopiera Base64",
copyDataUri: "Kopiera Data-URI",
copyImgTag: "Kopiera <img>-tagg",
copyCssUrl: "Kopiera CSS url()",
},
"barcode-generate": {
text: "Text",
type: "Barcode Type",
scale: "Scale",
includeText: "Include Text",
submit: "Generate Barcode",
download: "Download Barcode",
},
"chart-maker": {
kind: "Chart Type",
title: "Title",
width: "Width",
height: "Height",
submit: "Create Chart",
submitBatch: "Create Chart ({count} files)",
progressLabel: "Creating chart",
},
"enhance-faces-standalone": {
model: "Modell",
fast: "Snabb",
balanced: "Balanserad",
best: "Basta",
},
"convert-video": {
format: "Output format",
quality: "Quality",
high: "High",
balanced: "Balanced",
small: "Smallest",
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"compress-video": {
quality: "Compression",
light: "Light",
balanced: "Balanced",
strong: "Strong",
resolution: "Resolution",
original: "Original",
submit: "Compress",
submitBatch: "Compress ({count} files)",
progressLabel: "Compressing",
},
"trim-video": {
start: "Start (seconds)",
end: "End (seconds)",
precise: "Frame-accurate (re-encodes)",
submit: "Trim",
submitBatch: "Trim ({count} files)",
progressLabel: "Trimming",
},
"mute-video": {
submit: "Remove audio",
submitBatch: "Remove audio ({count} files)",
progressLabel: "Muting",
},
"video-to-gif": {
fps: "Frames per second",
width: "Width (px)",
start: "Start (seconds)",
duration: "Duration (seconds)",
submit: "Create GIF",
submitBatch: "Create GIFs ({count} files)",
progressLabel: "Creating GIF",
},
"resize-video": {
preset: "Preset",
width: "Width (px)",
height: "Height (px)",
hint: "Leave one dimension empty to keep aspect ratio",
submit: "Resize",
submitBatch: "Resize ({count} files)",
progressLabel: "Resizing",
},
"crop-video": {
width: "Width (px)",
height: "Height (px)",
x: "X offset",
y: "Y offset",
submit: "Crop",
submitBatch: "Crop ({count} files)",
progressLabel: "Cropping",
},
"rotate-video": {
transform: "Transform",
cw90: "Rotate 90 clockwise",
ccw90: "Rotate 90 counter-clockwise",
rotate180: "Rotate 180",
hflip: "Flip horizontal",
vflip: "Flip vertical",
submit: "Rotate",
submitBatch: "Rotate ({count} files)",
progressLabel: "Rotating",
},
"change-fps": {
fps: "Frames per second",
submit: "Change FPS",
submitBatch: "Change FPS ({count} files)",
progressLabel: "Changing FPS",
},
"video-color": {
brightness: "Brightness",
contrast: "Contrast",
saturation: "Saturation",
gamma: "Gamma",
submit: "Apply",
submitBatch: "Apply ({count} files)",
progressLabel: "Adjusting color",
},
"video-speed": {
factor: "Speed factor",
keepPitch: "Keep original pitch",
submit: "Change speed",
submitBatch: "Change speed ({count} files)",
progressLabel: "Changing speed",
},
"reverse-video": {
hint: "Limited to clips up to 5 minutes",
submit: "Reverse",
submitBatch: "Reverse ({count} files)",
progressLabel: "Reversing",
},
"video-loudnorm": {
hint: "Normalizes audio to EBU R128 broadcast standard",
submit: "Normalize",
submitBatch: "Normalize ({count} files)",
progressLabel: "Normalizing",
},
"aspect-pad": {
target: "Target ratio",
color: "Background color",
colorHint: "Hex color, e.g. #000000",
submit: "Pad",
submitBatch: "Pad ({count} files)",
progressLabel: "Padding",
},
"blur-pad": {
target: "Target ratio",
blur: "Blur strength",
submit: "Pad",
submitBatch: "Pad ({count} files)",
progressLabel: "Padding",
},
"watermark-video": {
text: "Watermark text",
position: "Position",
fontSize: "Font size",
opacity: "Opacity",
color: "Color",
colorHint: "Hex color, e.g. #ffffff",
submit: "Watermark",
submitBatch: "Watermark ({count} files)",
progressLabel: "Watermarking",
},
"stabilize-video": {
smoothing: "Smoothing",
hint: "Runs two passes and takes longer than most tools",
submit: "Stabilize",
submitBatch: "Stabilize ({count} files)",
progressLabel: "Stabilizing",
},
"gif-to-video": {
format: "Output format",
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"video-to-webp": {
fps: "Frames per second",
width: "Width (px)",
quality: "Quality",
loop: "Loop animation",
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"video-to-frames": {
mode: "Extraction mode",
modeAll: "All frames",
modeNth: "Every Nth frame",
modeTimestamps: "Specific timestamps",
n: "Take every Nth frame",
timestamps: "Timestamps (seconds)",
timestampsHint: "Comma-separated, e.g. 0.5, 2, 4.5",
format: "Image format",
submit: "Extract Frames",
submitBatch: "Extract Frames ({count} files)",
progressLabel: "Extracting frames",
},
"merge-videos": {
hint: "Files are joined in upload order",
submit: "Merge",
submitBatch: "Merge ({count} files)",
progressLabel: "Merging",
},
"replace-audio": {
hint: "Upload the video first, then the audio",
submit: "Replace Audio",
submitBatch: "Replace Audio ({count} files)",
progressLabel: "Replacing audio",
},
"burn-subtitles": {
fontSize: "Font size",
hint: "Upload a video and a subtitle file (.srt or .vtt)",
submit: "Burn Subtitles",
submitBatch: "Burn Subtitles ({count} files)",
progressLabel: "Burning subtitles",
},
"embed-subtitles": {
language: "Language code",
languageHint: "Three-letter ISO 639-2 code, e.g. eng, spa, fra",
submit: "Embed Subtitles",
submitBatch: "Embed Subtitles ({count} files)",
progressLabel: "Embedding subtitles",
},
"extract-subtitles": {
submit: "Extract Subtitles",
submitBatch: "Extract Subtitles ({count} files)",
progressLabel: "Extracting subtitles",
},
"images-to-video": {
secondsPerImage: "Seconds per image",
resolution: "Resolution",
fps: "Frames per second",
submit: "Create Video",
submitBatch: "Create Video ({count} files)",
progressLabel: "Creating slideshow",
},
"video-metadata": {
hint: "Metadata report appears in the result",
submit: "Strip Metadata",
submitBatch: "Strip Metadata ({count} files)",
progressLabel: "Stripping metadata",
},
"convert-audio": {
format: "Output format",
bitrate: "Bitrate (kbps)",
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"trim-audio": {
start: "Start (seconds)",
end: "End (seconds)",
submit: "Trim",
submitBatch: "Trim ({count} files)",
progressLabel: "Trimming",
},
"extract-audio": {
format: "Output format",
submit: "Extract",
submitBatch: "Extract ({count} files)",
progressLabel: "Extracting",
},
"volume-adjust": {
"gain-db": "Gain (dB)",
submit: "Adjust Volume",
submitBatch: "Adjust Volume ({count} files)",
progressLabel: "Adjusting volume",
},
"normalize-audio": {
hint: "EBU R128 loudness normalization",
submit: "Normalize",
submitBatch: "Normalize ({count} files)",
progressLabel: "Normalizing",
},
"fade-audio": {
"fade-in-s": "Fade in (seconds)",
"fade-out-s": "Fade out (seconds)",
submit: "Apply Fade",
submitBatch: "Apply Fade ({count} files)",
progressLabel: "Applying fade",
},
"reverse-audio": {
submit: "Reverse",
submitBatch: "Reverse ({count} files)",
progressLabel: "Reversing",
},
"audio-speed": {
factor: "Speed factor",
submit: "Change Speed",
submitBatch: "Change Speed ({count} files)",
progressLabel: "Changing speed",
},
"pitch-shift": {
semitones: "Semitones",
hint: "0 semitones is not allowed",
submit: "Shift Pitch",
submitBatch: "Shift Pitch ({count} files)",
progressLabel: "Shifting pitch",
},
"audio-channels": {
mode: "Channel mode",
"stereo-to-mono": "Stereo to mono",
"mono-to-stereo": "Mono to stereo",
swap: "Swap left/right",
submit: "Convert Channels",
submitBatch: "Convert Channels ({count} files)",
progressLabel: "Converting channels",
},
"silence-removal": {
"threshold-db": "Silence threshold (dB)",
"min-silence-s": "Minimum silence duration (seconds)",
submit: "Remove Silence",
submitBatch: "Remove Silence ({count} files)",
progressLabel: "Removing silence",
},
"noise-reduction": {
strength: "Strength",
light: "Light",
medium: "Medium",
strong: "Strong",
submit: "Reduce Noise",
submitBatch: "Reduce Noise ({count} files)",
progressLabel: "Reducing noise",
},
"merge-audio": {
format: "Output format",
mp3: "MP3",
wav: "WAV",
flac: "FLAC",
m4a: "M4A",
"order-hint": "Files will be joined in upload order",
submit: "Merge Audio",
submitBatch: "Merge Audio ({count} files)",
progressLabel: "Merging audio",
},
"split-audio": {
mode: "Split mode",
time: "By time",
parts: "Equal parts",
silence: "By silence",
"segment-s": "Segment length (seconds)",
"num-parts": "Number of parts",
"threshold-db": "Silence threshold (dB)",
"min-silence-s": "Minimum silence duration (seconds)",
submit: "Split Audio",
submitBatch: "Split Audio ({count} files)",
progressLabel: "Splitting audio",
},
"ringtone-maker": {
"start-s": "Start time (seconds)",
"duration-s": "Duration (seconds)",
"max-hint": "Maximum 30 seconds",
submit: "Create Ringtone",
submitBatch: "Create Ringtone ({count} files)",
progressLabel: "Creating ringtone",
},
"waveform-image": {
width: "Width (px)",
height: "Height (px)",
color: "Waveform color",
submit: "Generate Waveform",
submitBatch: "Generate Waveform ({count} files)",
progressLabel: "Generating waveform",
},
"audio-metadata": {
strip: "Strip all metadata",
title: "Title",
artist: "Artist",
album: "Album",
submit: "Apply Metadata",
submitBatch: "Apply Metadata ({count} files)",
progressLabel: "Applying metadata",
},
"merge-pdf": {
addFiles: "Add PDFs to merge",
needTwo: "At least two PDFs are required",
orderHint: "{count} PDFs will merge in this order",
submit: "Merge",
submitBatch: "Merge ({count} files)",
progressLabel: "Merging",
},
"split-pdf": {
mode: "Split mode",
range: "Page range",
rangeHint: "e.g. 1-3, 5, 7-z",
everyN: "Pages per part",
submit: "Split",
submitBatch: "Split ({count} files)",
progressLabel: "Splitting",
},
"compress-pdf": {
preset: "Quality preset",
screen: "Screen (smallest)",
ebook: "Ebook (balanced)",
printer: "Printer (best quality)",
submit: "Compress",
submitBatch: "Compress ({count} files)",
progressLabel: "Compressing",
},
"rotate-pdf": {
angle: "Rotation angle",
range: "Page range",
rangeHint: "e.g. 1-3, 5, 1-z (all pages)",
submit: "Rotate",
submitBatch: "Rotate ({count} files)",
progressLabel: "Rotating",
},
"convert-document": {
format: "Output format",
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"convert-presentation": {
format: "Output format",
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"convert-spreadsheet": {
format: "Output format",
hint: "Multi-sheet workbooks export the first sheet to CSV.",
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"excel-to-pdf": {
submit: "Convert to PDF",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"powerpoint-to-pdf": {
submit: "Convert to PDF",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"word-to-pdf": {
submit: "Convert to PDF",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"extract-pages": {
range: "Page range",
rangeHint: "e.g. 1-3, 5, 7-z",
submit: "Extract",
submitBatch: "Extract ({count} files)",
progressLabel: "Extracting",
},
"remove-pages": {
pages: "Pages to remove",
pagesHint: "e.g. 2, 4-6, z (last page)",
submit: "Remove",
submitBatch: "Remove ({count} files)",
progressLabel: "Removing",
},
"organize-pdf": {
order: "Page order",
orderHint: "e.g. 3,1,2 or 1-z (identity)",
submit: "Reorder",
submitBatch: "Reorder ({count} files)",
progressLabel: "Reordering",
},
"protect-pdf": {
userPassword: "User password",
ownerPassword: "Owner password (optional)",
ownerPasswordHint: "Defaults to user password if empty",
submit: "Protect",
submitBatch: "Protect ({count} files)",
progressLabel: "Encrypting",
},
"unlock-pdf": {
password: "Password",
submit: "Unlock",
submitBatch: "Unlock ({count} files)",
progressLabel: "Decrypting",
},
"repair-pdf": {
submit: "Repair",
submitBatch: "Repair ({count} files)",
progressLabel: "Repairing",
},
"linearize-pdf": {
submit: "Optimize",
submitBatch: "Optimize ({count} files)",
progressLabel: "Linearizing",
},
"grayscale-pdf": {
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"pdfa-convert": {
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"crop-pdf": {
margin: "Margin (points)",
submit: "Crop",
submitBatch: "Crop ({count} files)",
progressLabel: "Cropping",
},
"nup-pdf": {
perSheet: "Pages per sheet",
submit: "Arrange",
submitBatch: "Arrange ({count} files)",
progressLabel: "Arranging",
},
"booklet-pdf": {
perSheet: "Pages per sheet",
submit: "Create Booklet",
submitBatch: "Create Booklet ({count} files)",
progressLabel: "Creating booklet",
},
"watermark-pdf": {
text: "Watermark text",
position: "Position",
fontSize: "Font size",
opacity: "Opacity",
rotation: "Rotation",
submit: "Watermark",
submitBatch: "Watermark ({count} files)",
progressLabel: "Watermarking",
},
"pdf-page-numbers": {
position: "Position",
fontSize: "Font size",
submit: "Add Numbers",
submitBatch: "Add Numbers ({count} files)",
progressLabel: "Numbering",
},
"flatten-pdf": {
submit: "Flatten",
submitBatch: "Flatten ({count} files)",
progressLabel: "Flattening",
},
"redact-pdf": {
terms: "Terms to redact",
termsHint: "One term per line (max 50)",
caseSensitive: "Case sensitive",
submit: "Redact",
submitBatch: "Redact ({count} files)",
progressLabel: "Redacting",
},
"pdf-to-text": {
submit: "Extract Text",
submitBatch: "Extract Text ({count} files)",
progressLabel: "Extracting",
},
"pdf-to-word": {
hint: "Best for text-based PDFs; scanned pages need OCR",
submit: "Convert to Word",
submitBatch: "Convert to Word ({count} files)",
progressLabel: "Converting",
},
"pdf-metadata": {
title: "Title",
author: "Author",
subject: "Subject",
keywords: "Keywords",
submit: "Set Metadata",
submitBatch: "Set Metadata ({count} files)",
progressLabel: "Setting metadata",
},
"html-to-pdf": {
hint: "Remote resources are disabled for privacy.",
submit: "Convert to PDF",
submitBatch: "Convert to PDF ({count} files)",
progressLabel: "Converting",
},
"markdown-to-docx": {
submit: "Convert to DOCX",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"markdown-to-html": {
hint: "Remote images in the source are left as-is in the output.",
submit: "Convert to HTML",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"markdown-to-pdf": {
hint: "Remote resources are disabled for privacy.",
submit: "Convert to PDF",
submitBatch: "Convert to PDF ({count} files)",
progressLabel: "Converting",
},
"epub-convert": {
format: "Output format",
hint: "Remote resources inside the book are not fetched.",
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"to-epub": {
submit: "Convert to EPUB",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"csv-excel": {
sheet: "Worksheet number",
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"csv-json": {
pretty: "Pretty print",
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"json-xml": {
pretty: "Pretty print",
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"split-csv": {
rowsPerFile: "Rows per file",
keepHeader: "Keep header in each file",
submit: "Split",
submitBatch: "Split ({count} files)",
progressLabel: "Splitting",
},
"merge-csvs": {
submit: "Merge",
submitBatch: "Merge ({count} files)",
progressLabel: "Merging",
},
"yaml-json": {
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"xml-to-csv": {
submit: "Convert",
submitBatch: "Convert ({count} files)",
progressLabel: "Converting",
},
"create-zip": {
submit: "Create ZIP",
submitBatch: "Create ZIP ({count} files)",
progressLabel: "Zipping",
},
"extract-zip": {
submit: "Extract",
submitBatch: "Extract ({count} files)",
progressLabel: "Extracting",
},
},
urlImport: {
title: "Importera fran URL:er",
placeholder: "Klistra in bild-URL:er, en per rad...",
importButton: "Importera URL:er",
addButton: "Lagg till {count} filer",
adding: "Lagger till...",
retryButton: "Forsok igen",
cancelButton: "Avbryt",
readyCount: "{count} redo",
failedStatus: "Misslyckades",
},
comparison: {
original: "Original",
processed: "Bearbetad",
before: "Fore",
after: "Efter",
savings: "Besparing",
},
toolPage: {
emptyPrompt: "Slapp eller ladda upp en bild for att borja",
filesCount: "Filer ({count})",
addMore: "+ Lagg till fler",
clearAll: "Rensa alla",
acceptDescription: "Enbart {exts}-filer",
notFound: "Verktyg hittades inte",
configureAndGenerate: "Konfigurera installningar och generera.",
processingFailed: "Bearbetning misslyckades for denna fil",
conversionComplete: "Konvertering klar",
cannotPreviewDownload:
"{type}-filer kan inte forhandsvisas i webblasaren. Anvand nedladdningsknappen for att spara din fil.",
generatingPreview: "Genererar forhandsvisning...",
cannotPreviewWillProcess:
"{ext}-filer kan inte forhandsvisas i webblasaren. Verktyget bearbetar anda denna fil.",
previousImage: "Foregaende bild",
nextImage: "Nasta bild",
imageCounter: "{current} / {total}",
settingsLabel: "Installningar",
downloadAllZip: "Ladda ner alla (ZIP)",
hideSettings: "Dolj installningar",
imageArea: "Bildomrade",
disabledByAdmin: "This tool has been disabled by your administrator",
browseOtherTools: "Browse other tools",
privacyNote: "Files are processed on your server and never leave your network",
applyAndDownload: "Tillämpa och ladda ner",
andMore: "and {count} more",
importFromFiles: "Import from Files",
saveToFiles: "Save to Files",
savedToFiles: "Saved to Files",
adjustSettings: "Adjust settings",
startOver: "Start over with a new file",
newFile: "New file",
backToTools: "Back to Tools",
original: "Original",
processed: "Processed",
saved: "Saved",
noChange: "no change",
download: "Download",
settingsSaved: "Dina installningar ar sparade.",
tryAgain: "Forsok igen",
tryDifferentFile: "Prova en annan fil",
batchPartialSuccess: "{success} of {total} processed. {failed} failed.",
dataResultsHint: "Results shown above. Use the copy button in the results panel.",
downloadAsFile: "Download as file",
downloadAll: "Download All",
downloadFiles: "Download {count} files",
},
homePage: {
generatingPreview: "Genererar forhandsvisning...",
loadingPreview: "Laddar forhandsvisning...",
changeFile: "Byt fil",
quickActions: "Snabbatgarder",
allTools: "Alla verktyg",
searchPlaceholder: "Search {count} tools...",
recent: "Recent",
popular: "Popular",
browseByCategory: "Browse by Category",
gettingStarted: "Getting Started",
noToolsMatch: "No tools match '{query}'",
clearSearch: "Clear search",
all: "All",
documents: "Documents",
data: "Data",
toolCount: "{count} tools",
},
fullscreenGrid: {
searchPlaceholder: "Sok verktyg...",
hideDetails: "Dolj detaljer",
showDetails: "Visa detaljer",
switchToSidebar: "Byt till sidofaltvy",
sidebarButton: "Sidofalt",
noToolsFound: "Inga verktyg hittades",
tryDifferent: "Prova en annan sokterm",
},
editor: {
menu: {
file: {
label: "Arkiv",
new: "Ny",
open: "Oppna",
save: "Spara",
exportAs: "Exportera som...",
quickExportPng: "Snabbexport som PNG",
close: "Stang",
},
edit: {
label: "Redigera",
undo: "Angra",
redo: "Gor om",
cut: "Klipp ut",
copy: "Kopiera",
copyMerged: "Kopiera sammanfogat",
paste: "Klistra in",
pasteInPlace: "Klistra in pa plats",
delete: "Radera",
freeTransform: "Fri transformering",
transform: {
label: "Transformera",
scale: "Skala",
rotate: "Rotera",
skew: "Skeva",
flipHorizontal: "Vand horisontellt",
flipVertical: "Vand vertikalt",
},
},
image: {
label: "Bild",
imageSize: "Bildstorlek...",
canvasSize: "Dukstorlek...",
rotation: {
label: "Bildrotation",
cw90: "90° medurs",
ccw90: "90° moturs",
r180: "180°",
flipHorizontal: "Vand horisontellt",
flipVertical: "Vand vertikalt",
},
trim: "Trimma",
adjustments: {
label: "Justeringar",
brightnessContrast: "Ljusstyrka/Kontrast",
hueSaturation: "Nyans/Mattnad",
colorBalance: "Fargbalans",
levels: "Nivaer",
curves: "Kurvor",
},
},
layer: {
label: "Lager",
newLayer: "Nytt lager",
duplicateLayer: "Duplicera lager",
deleteLayer: "Radera lager",
arrange: {
label: "Ordna",
bringToFront: "Langst fram",
bringForward: "Ett steg framat",
sendBackward: "Ett steg bakat",
sendToBack: "Langst bak",
},
mergeDown: "Sammanfoga nedat",
flattenImage: "Platta till bild",
},
select: {
label: "Markera",
all: "Allt",
deselect: "Avmarkera",
inverse: "Invertera",
colorRange: "Fargomfang...",
},
filter: {
label: "Filter",
blur: {
label: "Oskarpning",
gaussian: "Gaussisk oskarpning",
motion: "Rorelseoskarpning",
radial: "Radial oskarpning",
surface: "Ytoskarpning",
},
sharpen: {
label: "Skarpa",
sharpen: "Skarpa",
unsharpMask: "Oskarp mask",
},
noise: {
label: "Brus",
addNoise: "Lagg till brus",
reduceNoise: "Minska brus",
},
pixelate: {
label: "Pixelera",
pixelate: "Pixelera",
mosaic: "Mosaik",
},
stylize: {
label: "Stilisera",
emboss: "Relief",
solarize: "Solarisera",
posterize: "Posterisera",
},
grayscale: "Gratoner",
sepia: "Sepia",
invert: "Invertera",
},
view: {
label: "Visa",
zoomIn: "Zooma in",
zoomOut: "Zooma ut",
fitOnScreen: "Anpassa till skarm",
actualPixels: "Verkliga pixlar",
rulers: "Linjaler",
grid: "Rutnat",
guides: "Stodlinjer",
snap: "Snappa",
panels: "Paneler",
},
},
menuBar: {
backTitle: "Tillbaka till SnapOtter",
},
welcome: {
ariaLabel: "Bild-slappzon",
heading: "Bildredigerare",
dropDescription: "Slapp en bild har for att borja",
openImageButton: "Oppna bild",
newDocumentButton: "Nytt dokument",
pasteHint: "Eller klistra in fran urklipp (Ctrl+V)",
},
mobile: {
heading: "Dator rekommenderas",
description:
"Bildredigeraren fungerar bast pa datorskarm. Byt till en enhet med storre skarm for den fullstandiga redigeringsupplevelsen.",
},
errors: {
serverDecodeFailed: "Serveravkodning misslyckades",
},
shapes: {
shape: "Shape",
fill: "Fill",
stroke: "Stroke",
strokeWidth: "Width",
cornerRadius: "Radius",
sides: "Sides",
points: "Points",
dashStyle: "Dash",
solid: "Solid",
dashed: "Dashed",
dotted: "Dotted",
none: "None",
opacity: "Opacity",
rectangle: "Rectangle",
ellipse: "Ellipse",
line: "Line",
arrow: "Arrow",
polygon: "Polygon",
star: "Star",
},
},
settings: {
heading: "Installningar",
nav: {
general: "Allmantt",
systemSettings: "Systeminstallningar",
security: "Sakerhet",
people: "Personer",
teams: "Team",
roles: "Roller",
auditLog: "Granskningslogg",
usage: "Usage",
apiKeys: "API-nycklar",
aiFeatures: "AI-funktioner",
tools: "Verktyg",
productAnalytics: "Produktanalys",
about: "Om",
},
general: {
heading: "Allmantt",
description: "Anvandarinstallningar och visningsinstellningar.",
loading: "Laddar...",
logOut: "Logga ut",
defaultToolViewLabel: "Standard verktygsvy",
defaultToolViewDescription: "Hur verktyg visas pa startsidan",
sidebarOption: "Sidofalt",
fullscreenGridOption: "Helskarm-rutnat",
appVersionLabel: "Appversion",
appVersionDescription: "Aktuell version av SnapOtter",
saveButton: "Spara installningar",
saveSuccess: "Installningar sparade.",
saveFailed: "Kunde inte spara installningar.",
},
system: {
heading: "Systeminstallningar",
description: "Serverkonfiguration och granser.",
fileUploadLimitLabel: "Uppladdningsgrans (MB)",
fileUploadLimitDescription: "Maximal filstorlek per uppladdning",
defaultThemeLabel: "Standardtema",
defaultThemeDescription: "Tema for nya sessioner",
lightOption: "Ljust",
darkOption: "Morkt",
systemOption: "System",
languageLabel: "Sprak",
languageDescription: "Sprak for gransnittet",
loginAttemptLimitLabel: "Inloggningsforsaksgrans",
loginAttemptLimitDescription: "Max misslyckade inloggningsforsok per minut fore lasning",
fileManagementHeading: "Filhantering",
maxFileAgeLabel: "Max fillder (timmar)",
maxFileAgeDescription: "Hur lange bearbetade filer behaalls fore automatisk rensning",
startupCleanupLabel: "Rensning vid start",
startupCleanupDescription: "Rensa gamla temporara filer nar servern startar",
saveButton: "Spara installningar",
saveSuccess: "Installningar sparade.",
saveFailed: "Kunde inte spara installningar.",
limitsAndResources: "Granser & Resurser",
maxFileSize: "Max filstorlek",
maxBatchSize: "Max batchstorlek",
concurrentJobs: "Samtida jobb",
workerThreads: "Arbetstrandar",
maxPipelineSteps: "Max Pipeline-steg",
processingTimeout: "Bearbetningstimeout",
rateLimitPerMin: "Antalsgrans (forfragan/min)",
unlimited: "Obegransat",
auto: "Automatisk",
envOverride: "Satt via miljovariabler",
maxCanvasPixels: "Max dukpixlar",
maxSvgSize: "Max SVG-storlek",
maxSplitGrid: "Max uppdelningsrutnat",
maxPdfPages: "Max PDF-sidor",
sessionDuration: "Sessionslangd",
supportBundleButton: "Download Support Bundle",
supportBundleDescription:
"Download a diagnostic zip with redacted config, logs, and job data for troubleshooting.",
supportBundleFailed: "Failed to download support bundle.",
},
security: {
heading: "Sakerhet",
description: "Losenords- och autentiseringsinstallningar.",
changePasswordHeading: "Byt losenord",
currentPasswordPlaceholder: "Nuvarande losenord",
newPasswordPlaceholder: "Nytt losenord",
confirmPasswordPlaceholder: "Bekrafta nytt losenord",
passwordsMismatch: "Losenorden matchar inte",
passwordTooShort: "Losenordet maste vara minst 4 tecken",
changeSuccess: "Losenordet andrat",
changeFailed: "Kunde inte andra losenordet",
currentPasswordIncorrect: "Nuvarande losenord ar felaktigt",
changePasswordButton: "Byt losenord",
loginAttemptLimitNote: "Inloggningsforsaksgranser kan konfigureras i Systeminstallningar.",
adminHeading: "Admin Security Settings",
adminDescription: "Enterprise security policy settings. These apply to all users.",
sessionIdleTimeout: "Session Idle Timeout (minutes)",
sessionIdleTimeoutDesc: "Automatically log out idle sessions. 0 = disabled.",
maxSessionsPerUser: "Max Sessions Per User",
maxSessionsPerUserDesc: "Limit concurrent sessions per user. 0 = unlimited.",
mfaPolicy: "MFA Policy",
mfaPolicyDesc: "Require multi-factor authentication for users.",
mfaPolicyOptional: "Optional",
mfaPolicyAdminsOnly: "Required for admins",
mfaPolicyRequired: "Required for all users",
ssoEnforcement: "SSO Enforcement",
ssoEnforcementDesc: "Require SSO login for all non-break-glass users.",
ssoBreakGlassUsername: "Break Glass Admin Username",
ssoBreakGlassUsernameDesc:
"This admin can still log in with local credentials when SSO is enforced.",
passwordMinLength: "Minimum Password Length",
passwordMinLengthDesc: "Minimum number of characters required for passwords.",
passwordRequireUppercase: "Require Uppercase",
passwordRequireUppercaseDesc: "Require at least one uppercase letter.",
passwordRequireNumber: "Require Number",
passwordRequireNumberDesc: "Require at least one number.",
passwordRequireSpecial: "Require Special Character",
passwordRequireSpecialDesc: "Require at least one special character.",
passwordPolicyHeading: "Password Policy",
securitySettingsSaved: "Security settings saved",
securitySettingsFailed: "Failed to save security settings",
},
people: {
heading: "Personer",
description: "Hantera arbetsytans medlemmar och deras behorigheter",
userCount: "{count} anvandare",
userCountPlural: "{count} anvandare",
searchPlaceholder: "Sok medlemmar...",
addMembersButton: "Lagg till medlemmar",
newMemberHeading: "Ny medlem",
usernamePlaceholder: "Anvandarnamn",
passwordPlaceholder: "Losenord",
roleUserOption: "Anvandare",
roleEditorOption: "Redaktor",
roleAdminOption: "Administrataor",
roleUserDescription: "Grundlaggande verktygstillgang",
roleEditorDescription: "Alla filer & pipelines",
roleAdminDescription: "Full tillgang",
noDescription: "Ingen beskrivning",
defaultTeamOption: "Standard",
createButton: "Skapa",
cancelButton: "Avbryt",
createSuccess: "Anvandare skapad",
createFailed: "Kunde inte skapa anvandare",
userLimitReached: "Anvandargrans nadd (max {max})",
deleteConfirm: 'Radera anvandare "{username}"? Detta kan inte angras.',
deleteSuccess: 'Anvandare "{username}" raderad',
deleteFailed: "Kunde inte radera anvandare",
editHeading: "Redigera {username}",
updateSuccess: "Anvandare uppdaterad",
updateFailed: "Kunde inte uppdatera anvandare",
cannotRemoveOwnAdmin: "Du kan inte ta bort din egen administratorsroll",
resetPasswordHeading: "Aterstall losenord for {username}",
newPasswordLabel: "Nytt losenord (minst 8 tecken)",
resetPasswordButton: "Aterstall losenord",
resetPasswordWarning:
"Detta ogiltiggorklarar alla sessioner och API-nycklar for denna anvandare.",
resetSuccess: "Losenord aterstalltt",
resetFailed: "Kunde inte aterstalla losenord",
tableHeaderUser: "Anvandare",
tableHeaderRole: "Roll",
tableHeaderTeam: "Team",
noSearchResults: "Inga medlemmar matchar din sokning.",
noUsersFound: "Inga anvandare hittades.",
authBadgeLocalOidc: "Lokal + OIDC",
authBadgeOidc: "OIDC",
editRoleTeamAction: "Redigera Roll / Team",
resetPasswordAction: "Aterstall losenord",
deleteUserAction: "Radera anvandare",
saveButton: "Spara",
copyPasswordButton: "Kopiera losenord",
passwordCopied: "Kopierat!",
copyPasswordWarning:
"Kopiera detta losenord nu. Du kan inte se det efter att anvandaren har skapats.",
},
teams: {
heading: "Team",
description: "Organisera medlemmar i team for battre hantering.",
createButton: "Skapa nytt team",
newTeamHeading: "Nytt team",
teamNamePlaceholder: "Teamnamn",
createSubmitButton: "Skapa",
cancelButton: "Avbryt",
createSuccess: "Team skapat",
createFailed: "Kunde inte skapa team",
duplicateTeamError: "Ett team med det namnet finns redan",
renameSuccess: "Team omdopt",
renameFailed: "Kunde inte byta namn pa team",
deleteConfirm: 'Radera team "{name}"? Medlemmar kopplas bort.',
deleteSuccess: 'Team "{name}" raderat',
deleteFailed: "Kunde inte radera team",
cannotDeleteDefault: "Standardteamet eller ett team med medlemmar kan inte raderas",
tableHeaderTeamName: "Teamnamn",
tableHeaderMembers: "Medlemmar",
emptyState: "Inga team hittades.",
renameSaveButton: "Spara",
renameCancelButton: "Avbryt",
renameAction: "Byt namn",
deleteAction: "Radera",
totalMembers: "Totalt medlemmar",
nameRequired: "Teamnamn kravs",
nameTooLong: "Teamnamn far vara hogst 50 tecken",
duplicateName: "Ett team med detta namn finns redan",
teamStorageQuota: "Storage Quota (MB)",
teamStorageQuotaDesc: "Maximum storage for this team in MB. Leave empty for no limit.",
teamRetentionHours: "Retention (hours)",
teamRetentionHoursDesc:
"Processing file retention for this team. Leave empty to use global default.",
quotaSaved: "Team settings saved",
},
roles: {
heading: "Roller",
description: "Hantera roller och deras behorigheter. Inbyggda roller kan inte andras.",
createButton: "Skapa anpassad roll",
newRoleHeading: "Ny roll",
roleNamePlaceholder: "Rollnamn",
descriptionPlaceholder: "Beskrivning (valfritt)",
permissionsLabel: "Behorigheter",
createSubmitButton: "Skapa",
cancelButton: "Avbryt",
createSuccess: "Roll skapad",
createFailed: "Kunde inte skapa roll",
duplicateRoleError: "En roll med det namnet finns redan",
editHeading: "Redigera roll: {name}",
editSaveButton: "Spara",
editCancelButton: "Avbryt",
updateSuccess: "Roll uppdaterad",
updateFailed: "Kunde inte uppdatera roll",
deleteConfirm: 'Radera roll "{name}"? {count} anvandare maste omtilldelas.',
deleteConfirmSimple: 'Radera roll "{name}"?',
deleteSuccess: 'Roll "{name}" raderad',
deleteFailed: "Kunde inte radera roll",
emptyState: "Inga roller hittades.",
builtInBadge: "Inbyggd",
userCountBadge: "{count} anvandare",
editRoleTitle: "Redigera roll",
deleteRoleTitle: "Radera roll",
permGroup: {
tools: "Verktyg",
files: "Filer",
apiKeys: "API-nycklar",
pipelines: "Pipelines",
settings: "Installningar",
users: "Anvandare",
teams: "Team",
system: "System",
},
},
auditLog: {
heading: "Granskningslogg",
allActionsFilter: "Alla atgarder",
emptyState: "Inga granskningsloggposter.",
tableHeaderTime: "Tid",
tableHeaderUser: "Anvandare",
tableHeaderAction: "Atgard",
tableHeaderTarget: "Mal",
paginationInfo: "Sida {page} av {totalPages} ({total} poster)",
previousButton: "Foregaende",
nextButton: "Nasta",
justNow: "nyss",
minutesAgo: "{mins} min sedan",
hoursAgo: "{hrs} tim sedan",
daysAgo: "{days} dagar sedan",
},
usage: {
heading: "Usage",
description: "Local usage statistics from jobs and file storage.",
periodLabel: "Period",
days7: "7 days",
days30: "30 days",
days90: "90 days",
jobsPerDayHeading: "Jobs per day",
topToolsHeading: "Top tools",
perUserHeading: "Per-user volume",
durationsHeading: "Duration percentiles",
noData: "No data for this period.",
dayColumn: "Day",
totalColumn: "Total",
completedColumn: "Completed",
failedColumn: "Failed",
toolColumn: "Tool",
runsColumn: "Runs",
userColumn: "User",
bytesInColumn: "Bytes in",
poolColumn: "Pool",
p50Column: "p50",
p95Column: "p95",
storageHeading: "Library storage",
storageFiles: "{count} files",
unknownUser: "(unknown)",
storageByTeam: "Storage by Team",
teamColumn: "Team",
storageColumn: "Storage",
usersColumn: "Users",
},
apiKeys: {
heading: "API-nycklar",
description: "Hantera API-nycklar for programmatisk atkomst till SnapOtter.",
keyNamePlaceholder: "Nyckelnamn (valfritt)",
generateButton: "Generera API-nyckel",
removeScopingLabel: "Ta bort behorighetsavgransning",
restrictPermissionsLabel: "Begansa behorigheter (valfritt)",
expiresLabel: "Gar ut:",
clearButton: "Rensa",
copyTitle: "Kopiera",
keyWarning: "Forvara denna nyckel sakert. Den visas inte igen.",
existingKeysHeading: "Befintliga nycklar",
createdPrefix: "Skapad {date}",
scopedPrefix: "Avgansad:",
expiresPrefix: "Gar ut {date}",
deleteKeyTitle: "Radera nyckel",
deleteConfirm: "Radera denna API-nyckel? Integrationer som anvander den slutar fungera.",
emptyState: "Inga API-nycklar ann. Generera en for att borja.",
},
tools: {
heading: "Verktyg",
description:
"Aktivera eller inaktivera enskilda verktyg. Inaktiverade verktyg doljs for alla anvandare.",
restartBanner: "Omstart kravs for att andringar ska traffa i kraft.",
searchPlaceholder: "Sok verktyg...",
noSearchResults: "Inga verktyg matchar din sokning.",
loadFailedError:
"Verktygsinstellningar kunde inte laddas. Sparning ar inaktiverat for att forhindra dataforlust.",
saveButton: "Spara verktygsinstellningar",
disabledCount: "{count} verktyg inaktiverade",
},
experimental: {
label: "Aktivera experimentella verktyg",
description: "Visa verktyg som fortfarande ar under utveckling. Dessa kan vara instabila.",
},
fileManagement: {
title: "Filhantering",
maxAge: "Max fillder (timmar)",
maxAgeDescription: "Hur lange bearbetade filer behaalls fore automatisk rensning",
startupCleanup: "Rensning vid start",
startupCleanupDescription: "Rensa gamla temporara filer nar servern startar",
},
dataRetention: {
title: "Data Retention",
fileMaxAgeHours: "Processing file retention (hours)",
fileMaxAgeHoursDesc: "How long to keep uploaded and processed files. Default: 72 hours.",
jobsRetentionDays: "Job record retention (days)",
jobsRetentionDaysDesc: "How long to keep job metadata. 0 = keep forever. Default: 30 days.",
auditRetentionDays: "Audit log retention (days)",
auditRetentionDaysDesc:
"How long to keep audit log entries. 0 = keep forever. Default: forever.",
},
analytics: {
heading: "Produktanalys",
description: "Dela anonym anvandningsdata for att forbaattra SnapOtter.",
privacyNote: "Dina bilder lamnar aldrig din dator.",
disabledByAdmin: "Produktanalys har inaktiverats av serveradministratoren.",
enabledLabel: "Analys aktiverad",
disabledLabel: "Analys inaktiverad",
learnMore: "Las mer",
},
aiFeatures: {
title: "AI Features",
description: "Manage AI model bundles for advanced image processing.",
installAll: "Install All",
diskUsage: "Disk usage:",
installed: "Installed",
notInstalled: "Not installed",
queued: "Queued",
install: "Install",
repair: "Repair",
uninstall: "Uninstall",
installing: "Installing...",
importBundle: "Import Bundle",
importDescription: "Upload a .tar.gz bundle archive exported from another installation.",
importButton: "Import from file",
importing: "Importing...",
importSuccess: "Bundle imported successfully.",
importError: "Bundle import failed: {error}",
},
about: {
heading: "Om",
appName: "SnapOtter",
appDescription:
"En sjalvhostad, integritetsfokuserad bildbehandlingssvit med 70+ verktyg. Skala, komprimera, konvertera, vattenmarkera och automatisera dina bildarbetsfloden utan att skicka data till molnet.",
versionLabel: "Version:",
linksHeading: "Lankar",
githubLink: "GitHub-arkiv",
docsLink: "Dokumentation",
apiRefLink: "API-referens (Swagger)",
licenseLabel: "License:",
licenseDescription:
"SnapOtter is open-source software licensed under the GNU Affero General Public License v3 (AGPLv3).",
},
},
auth: {
login: "Logga in",
logout: "Logga ut",
username: "Anvandarnamn",
password: "Losenord",
loginButton: "Logga in",
loggingIn: "Loggar in...",
invalidCredentials: "Ogiltigt anvandarnamn eller losenord",
connectionError: "Anslutningsfel",
signInWith: "Logga in med {provider}",
signInWithSso: "Logga in med SSO",
or: "eller",
methodLocal: "Lokal",
methodOidc: "OIDC",
methodBoth: "Lokal + OIDC",
oidcAuthFailed: "Autentisering misslyckades. Forsok igen.",
oidcProviderUnreachable: "Identitetsleverantoren gar inte att na. Forsok igen senare.",
oidcSessionExpired: "Inloggningssessionen har gatt ut. Forsok igen.",
oidcUserNotAuthorized:
"Ditt konto har inte behorighet till denna applikation. Kontakta din administrator.",
oidcUserLimitReached: "Anvandargrans nadd. Kontakta din administrator.",
oidcGenericError: "Autentiseringsfel. Forsok igen.",
samlAuthFailed: "SAML authentication failed. Please try again.",
samlUserNotAuthorized:
"Your account is not authorized to access this application. Contact your administrator.",
samlUserLimitReached: "User limit reached. Contact your administrator.",
ssoEnforcedLocalRestricted: "Local login is restricted to authorized administrators.",
mfaRequired: "Enter your authentication code",
mfaRecoveryHint: "You can also use a recovery code",
verify: "Verify",
verifying: "Verifying...",
mfaInvalidCode: "Invalid code. Please try again.",
mfaEnrollmentRequired:
"Your organization requires multi-factor authentication. Please set up MFA in your account settings.",
methodSaml: "SAML",
passwordManagedByProvider: "Losenordsandringar hanteras av din identitetsleverantor.",
enterUsername: "Ange anvandarnamn",
enterPassword: "Ange ditt losenord",
heroTitle: "Dina bilder. Forblir dina.",
heroSubtitle: "Alla bildverktyg du behover.",
rotatingPhrases: [
"Ingen registrering. Inga konton.",
"Inga uppladdningar till molnet. Aldrig.",
"100% lokal bearbetning.",
"Gratis. For alltid.",
"Inga granser. Inga dolda tak.",
"Fungerar helt offline.",
"Obegransad batchbearbetning.",
"70+ bildverktyg.",
"16 AI-modeller. Din hardvara.",
"Blixtsnabb. Byggd pa Sharp.",
"Fungerar i slutna natverk.",
"En enda Docker-container.",
"Open source. Alltid.",
"Varje pixel stannar pa din hardvara.",
"Din server. Dina regler.",
"Redo med en enda docker pull.",
"Det sjalvhostade alternativet.",
"Skala, komprimera, konvertera. Lokalt.",
"Gratis bildredigerare. Utan vattenstamplar.",
"Massbearbetning av bilder. Obegransat.",
"Ta bort bakgrund offline.",
"Det sjalvhostade Canva-alternativet.",
"Inga API-nycklar behovs.",
"GDPR-kompatibel by design.",
"Fungerar utan internet.",
],
},
changePassword: {
title: "Byt losenord",
description:
"Du maste ange ett nytt losenord innan du kan fortsatta. Ditt losenord maste vara minst 8 tecken med versaler, gemener och en siffra.",
usernameLabel: "Anvandarnamn",
currentPasswordLabel: "Nuvarande losenord",
currentPasswordPlaceholder: "Ange nuvarande losenord",
newPasswordLabel: "Nytt losenord",
generateButton: "Generera starkt losenord",
newPasswordPlaceholder: "Minst 8 tecken",
confirmPasswordLabel: "Bekrafta nytt losenord",
confirmPasswordPlaceholder: "Upprepa nytt losenord",
passwordsMismatch: "Losenorden matchar inte",
failedError: "Kunde inte byta losenord",
connectionError: "Anslutningsfel",
changingButton: "Andrar...",
changeButton: "Byt losenord",
sidebarTitle: "Nastan klar",
sidebarDescription: "Valj ett starkt losenord for att sakra ditt konto, sedan ar du igang.",
},
automate: {
title: "Automatisera",
invalidPipelineFile: "Inte en giltig SnapOtter-pipelinefil",
newerVersion: "Denna pipeline skapades med en nyare version av SnapOtter",
missingName: "Pipelinefil saknar namn",
noSteps: "Pipelinefil har inga steg",
importFailed: "Import misslyckades",
couldNotRead: "Kunde inte lasa pipelinefil",
fileCount: "{count} fil",
fileCountPlural: "{count} filer",
importFromLibrary: "Importera fran bibliotek",
addButton: "+ Lagg till",
libraryButton: "Bibliotek",
clearButton: "Rensa",
processingFailed: "Bearbetning misslyckades for denna fil",
processingMultiple: "Bearbetar {count} filer...",
processingPipeline: "Bearbetar pipeline...",
processButton: "Bearbeta",
processButtonMultiple: "Bearbeta ({count})",
processAllButton: "Bearbeta alla ({count})",
addTool: "Lagg till verktyg",
toolPalette: "Verktygspalett",
clickToAdd: "Klicka for att lagga till i pipeline",
savedLabel: "Sparad",
importButton: "Importera",
noSavedPipelines: "Inga sparade pipelines",
stepCount: "({count} steg)",
stepCountPlural: "({count} steg)",
exportPipeline: "Exportera pipeline",
deletePipeline: "Radera pipeline",
moreCount: "+{count} till",
pipelineBuilder: "Pipeline-byggare",
addToolsPrompt: "Lagg till verktyg fran paletten for att borja",
stepsConfigured: "{count} steg konfigurerat",
stepsConfiguredPlural: "{count} steg konfigurerade",
noFilesLoaded: "Inga filer laddade",
downloadZip: "Ladda ner ZIP",
saveButton: "Spara",
pipelineNamePlaceholder: "Pipeline-namn",
descriptionPlaceholder: "Beskrivning",
savingIndicator: "...",
cancelButton: "Avbryt",
preview: "Forhandsvisning",
previousImage: "Foregaende bild",
nextImage: "Nasta bild",
imageCounter: "{current} / {total}",
imageArea: "Bildomrade",
templateSocialMedia: "Sociala medier-redo",
templatePrivacyClean: "Integritetsrensning",
templateWebOptimization: "Webboptimering",
templateProfilePicture: "Profilbild",
templateWatermarkBatch: "Vattenstampel-batch",
createNew: "Skapa ny automatisering",
savedAutomations: "Sparade automatiseringar",
templates: "Mallar",
addStep: "Lagg till steg",
removeStep: "Ta bort",
moveUp: "Flytta upp",
moveDown: "Flytta ner",
savePipeline: "Spara pipeline",
runPipeline: "Bearbeta",
pipelineName: "Pipeline-namn",
pipelineDescription: "Beskrivning (valfritt)",
noStepsPrompt: "Lagg till steg for att bygga din automatisering",
noStepsHeading: "No steps yet",
searchToolsPlaceholder: "Search tools...",
step: "Steg",
},
nav: {
tools: "Verktyg",
reader: "Lasare",
automate: "Automatisera",
editor: "Redigerare",
files: "Filer",
help: "Hjalp",
settings: "Installningar",
grid: "Rutnat",
},
files: {
myFiles: "My Files",
recentTab: "Recent",
uploadTab: "Upload Files",
fileDetailsAriaLabel: "File Details",
fileDetailsHeading: "File Details",
searchPlaceholder: "Search files...",
selectedCount: "{count} selected",
fileCount: "{count} files",
fileCountSingular: "{count} file",
noFilesFound: "No files found",
selectFilePrompt: "Select a file to view details",
openFile: "Open File",
selectFile: "Select File",
openInPipeline: "Open in Pipeline",
dropFilesHere: "Drop files here",
orClickToSelect: "or click to select files",
name: "Name",
format: "Format",
size: "Size",
dimensions: "Dimensions",
version: "Version",
toolsUsed: "Tools Used",
none: "None",
delete: "Delete",
pipeline: "Pipeline",
download: "Download",
},
dropzone: {
unsupportedFileType: "Denna filtyp stods inte av detta verktyg",
urlFetchFailed: "Kunde inte hamta bild fran URL",
ariaLabel: "Filslappzon",
dropPrompt: "Slapp dina bilder har",
browseOrPaste: "klicka for att bladdra, eller klistra in fran urklipp",
uploadButton: "Ladda upp",
defaultFormats: "PNG, JPG, WebP, HEIC, RAW, PSD och 65+ format",
orSeparator: "eller",
urlPlaceholder: "Klistra in bild-URL...",
urlLoadingIndicator: "...",
addUrlButton: "Lagg till",
importMultipleUrls: "Importera flera URL:er...",
filesSelected: "{count} filer valda",
dropToAdd: "Slapp for att lagga till filer",
dropToReplace: "Slapp for att ersatta fil",
},
reviewPanel: {
processedResultAlt: "Bearbetat resultat",
sizeLabel: "Storlek: {size}",
typeLabel: "Typ: {type}",
processedLabel: "Bearbetad: {time}",
undoButton: "Angra",
downloadButton: "Ladda ner",
openInEditor: "Oppna i redigerare",
reviewHeading: "Granska",
continueEditing: "Fortsatt redigera",
},
features: {
notEnabledTitle: "Funktionen inte aktiverad",
notEnabledDescription:
"Denna funktion ar inte aktiverad. Be din administrator att aktivera den i Installningar.",
requiresDownload: "Denna funktion kraver en extra nedladdning (~{size})",
retryButton: "Forsok igen",
queued: "I ko for installation...",
enableButton: "Aktivera {name}",
repairRequired: "Repair Required",
repairDescription: "Some model files are missing or corrupted. Repair will re-download them.",
repairButton: "Repair {name}",
lessThanMinute: "Mindre an en minut kvar",
oneMinuteLeft: "~1 minut kvar",
minutesLeft: "~{mins} minuter kvar",
progressMessages: [
"Nastan klart... formodligen...",
"Bra saker tar tid...",
"Fortfarande snabbare an att se farg torka...",
"Ditt talammod ar verkligen imponerande...",
"Jobbar hardare an det ser ut...",
"Nu kommer den spannande biten, lita pa oss...",
"Viktiga saker hander bakom kulisserna...",
"Laser du det har? Da fungerar det...",
"Forbereder nagot fantastiskt...",
"Vart varje sekund, lillfingerlofte...",
"Spanningen ar en del av upplevelsen...",
"Lagar din dator nya knep...",
"Dina superkrafter installeras...",
"Dina bilder kommer tacka dig senare...",
"Laddar... men med stil...",
"Perfekt tillfalle for en fika...",
"Rom byggdes inte pa en dag heller...",
"Sssch... geni i arbete...",
"Dina foton blir avundsjuka pa det som kommer...",
"Dreamteamet slammas ihop...",
"Fantastiskhet packas upp...",
"Nastan klar att tanka pa att borja... skojar...",
"Plottwist: det hander faktiskt nagot...",
"De kreativa motorerna varmer upp...",
"Fantasi laddas...",
"Ingen skarmslackare, vi lovar...",
"Stor konst tar tid att installera...",
"Ditt framtida jag kommer tacka dig...",
"Hamtar riktigt smarta filer...",
"Hang med, det basta aterstar...",
],
},
help: {
heading: "Hjalp",
gettingStarted: {
heading: "Kom igang",
description:
"Valj ett verktyg fran sidofaltet eller sok efter ett. Ladda upp en bild genom att dra den till sidan eller klicka pa uppladdningsomradet. Justera installningar och ladda ner ditt resultat.",
},
keyboardShortcuts: {
heading: "Kortkommandon",
focusSearchBar: "Fokusera sokfalt",
goToTools: "Ga till verktyg",
toggleTheme: "Vaxla tema",
goToResize: "Ga till Andra storlek",
goToCrop: "Ga till Beskara",
goToCompress: "Ga till Komprimera",
goToConvert: "Ga till Konvertera",
goToRemoveBackground: "Ga till Ta bort bakgrund",
goToWatermarkText: "Ga till Textvattenstampel",
goToStripMetadata: "Ga till Ta bort metadata",
goToImageInfo: "Ga till Bildinformation",
processFile: "Bearbeta fil",
downloadResult: "Ladda ner resultat",
},
resources: {
heading: "Resurser",
githubLink: "GitHub-arkiv",
reportIssueLink: "Rapportera ett problem",
docsLink: "Dokumentation",
apiRefLink: "API-referens (Swagger)",
},
versionLabel: "SnapOtter v{version}",
},
errors: {
generic: "Ett fel uppstod",
offline: "Du ar offline",
reconnecting: "Ateransluter till servern...",
connected: "Ansluten",
processingFailed: "Bearbetning misslyckades for denna fil",
timeout: "Tidsgrans overskriden. Servern kan vara overbelastad. Forsok igen.",
networkError: "Natverksfel. Kontrollera din anslutning.",
invalidCredentials: "Ogiltigt anvandarnamn eller losenord",
connectionError: "Anslutningsfel",
},
analytics: {
consentTitle: "Hjalp till att forbaattra SnapOtter",
consentDescription:
"Anonym anvandningsstatistik hjalper oss fixa buggar och bygga verktygen du faktiskt behover. Dina bilder och filer stannar pa din dator.",
consentChangeable: "Du kan stanga av detta nar som helst i Installningar.",
acceptButton: "Visst, latar bra",
declineButton: "Inte just nu",
settingsTitle: "Produktanalys",
settingsDescription: "Dela anonym anvandningsdata for att forbaattra SnapOtter.",
settingsPrivacy: "Dina bilder lamnar aldrig din dator.",
settingsDisabledByAdmin: "Produktanalys har inaktiverats av serveradministratoren.",
learnMore: "Las mer",
},
sidebar: {
tools: "Verktyg",
grid: "Rutnat",
automate: "Automatisera",
editor: "Redigerare",
files: "Filer",
help: "Hjalp",
settings: "Installningar",
},
toolCard: {
addToFavourites: "Lagg till i favoriter",
},
appLayout: {
mobileNavTools: "Verktyg",
mobileNavAutomate: "Automatisera",
mobileNavEditor: "Redigerare",
mobileNavFiles: "Filer",
mobileNavSettings: "Installningar",
},
a11y: {
skipToContent: "Skip to main content",
openSidebar: "Open sidebar",
closeSidebar: "Close sidebar",
closeSettings: "Close settings",
closeHelp: "Close help",
closeDialog: "Close dialog",
zoomIn: "Zoom in",
zoomOut: "Zoom out",
fitToView: "Fit to view",
actualSize: "Actual size",
previousImage: "Previous image",
nextImage: "Next image",
imageArea: "Image area",
imageViewer: "Image viewer",
fileDropZone: "File drop zone",
imageDropZone: "Image drop zone",
beforeAfterSlider: "Before/after comparison slider",
imageControls: "Image controls",
zoomControls: "Zoom controls",
dragToReorder: "Drag to reorder",
whiteBackground: "White background",
blackBackground: "Black background",
expandPanel: "Expand panel",
collapsePanel: "Collapse panel",
swapDimensions: "Swap dimensions",
applyCrop: "Apply crop",
cancelCrop: "Cancel crop",
fontFamily: "Font family",
textColor: "Text color",
flipHorizontal: "Flip horizontal",
flipVertical: "Flip vertical",
hexColorValue: "Hex color value",
backgroundColor: "Background color",
foregroundColor: "Foreground color",
swapColors: "Swap foreground and background colors",
resetColors: "Reset to default black and white",
foregroundHex: "Foreground color hex value",
undo: "Undo",
redo: "Redo",
layers: "Layers",
addLayer: "Add layer",
deleteLayer: "Delete layer",
cancelOperation: "Cancel operation",
fill: "Fill",
fileDetails: "File details",
language: "Language",
selected: "Selected",
deleteKey: "Delete key",
editRole: "Edit role",
deleteRole: "Delete role",
notInstalled: "Not installed",
queued: "Queued for install",
installing: "Installing",
imageNOfTotal: "Image {n} of {total}",
processingComplete: "Image processed successfully",
processingFailed: "Processing failed",
settingsDialog: "Settings",
helpDialog: "Help",
navigationMenu: "Navigation",
},
} as const;