From c4ce5f96dfe6daf8e560de34cd748b1795ed12ff Mon Sep 17 00:00:00 2001 From: SnapOtter Date: Mon, 22 Jun 2026 19:39:19 +0800 Subject: [PATCH] fix(i18n): translate Swedish (sv) UI strings (#310) Translate the ~950 previously-untranslated Swedish UI strings (tool names, descriptions, settings labels, dialogs) that were still showing English, and restore the {size} placeholder dropped from settings.aiFeatures.diskUsage. Machine-translated and verified: full key parity with en.ts, all {placeholders} preserved, passes tsc and Biome. Native-speaker review welcome. --- packages/shared/src/i18n/sv.ts | 3345 ++++++++++++++++---------------- 1 file changed, 1674 insertions(+), 1671 deletions(-) diff --git a/packages/shared/src/i18n/sv.ts b/packages/shared/src/i18n/sv.ts index 374f88a0..18536a33 100644 --- a/packages/shared/src/i18n/sv.ts +++ b/packages/shared/src/i18n/sv.ts @@ -2,22 +2,22 @@ import type { TranslationKeys } from "./en.js"; export const sv: TranslationKeys = { common: { - upload: "Ladda upp fran dator", + upload: "Ladda upp från 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", + settings: "Inställningar", + search: "Sök verktyg...", + dropFiles: "Släpp filer här eller klicka på uppladdningsknappen", loading: "Laddar...", - saving: "Saving...", + saving: "Sparar...", error: "Ett fel uppstod", - confirm: "Bekrafta", - close: "Stang", + confirm: "Bekräfta", + close: "Stäng", back: "Tillbaka", - next: "Nasta", + next: "Nästa", clear: "Rensa", copy: "Kopiera", copied: "Kopierat!", @@ -29,61 +29,61 @@ export const sv: TranslationKeys = { disabled: "Inaktiverad", rename: "Byt namn", edit: "Redigera", - actions: "Atgarder", + actions: "Åtgärder", create: "Skapa", or: "eller", goHome: "Till startsidan", - somethingWentWrong: "Nagot gick fel", - unexpectedError: "Ett ovantat fel uppstod.", + somethingWentWrong: "Något gick fel", + unexpectedError: "Ett oväntat 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.", + pageNotFound: "Sidan hittades inte", + pageNotFoundDescription: "Sidan du letar efter finns inte eller har flyttats.", }, categories: { - essentials: "Grundlaggande", + essentials: "Grundläggande", adjustments: "Justeringar", - enhance: "Enhance & AI", - watermark: "Vattenstampel & Overlay", + enhance: "Förbättra & AI", + watermark: "Vattenstämpel & 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-convert": "Konvertera", + "video-effects": "Effekter & Komposition", + "video-subtitles": "Undertexter", "video-metadata": "Metadata", - "audio-edit": "Edit", - "audio-convert": "Convert", - "audio-effects": "Effects & Compose", + "audio-edit": "Redigera", + "audio-convert": "Konvertera", + "audio-effects": "Effekter & Komposition", "audio-metadata": "Metadata", - "pdf-organize": "Organize", - "pdf-edit": "Edit & Annotate", - "pdf-security": "Security", - "pdf-optimize": "Optimize", - "doc-convert": "Convert", - data: "Files", - archives: "Archives", + "pdf-organize": "Organisera", + "pdf-edit": "Redigera & Annotera", + "pdf-security": "Säkerhet", + "pdf-optimize": "Optimera", + "doc-convert": "Konvertera", + data: "Filer", + archives: "Arkiv", }, modalities: { - image: "Image", + image: "Bild", video: "Video", audio: "Audio", - documentsAndFiles: "PDF & Files", + documentsAndFiles: "PDF & Filer", }, tools: { resize: { - name: "Andra storlek", - description: "Andra storlek efter pixlar, procent eller sociala medier-mallar", + name: "Ändra storlek", + description: "Ändra storlek efter pixlar, procent eller sociala medier-mallar", }, crop: { - name: "Beskara", - description: "Fri beskaring, bildforhallandemallar, formbeskaring", + name: "Beskära", + description: "Fri beskäring, bildförhållandemallar, formbeskäring", }, rotate: { - name: "Rotera & Vaend", - description: "Rotera, vand och rata upp bilder", + name: "Rotera & Vänd", + description: "Rotera, vänd och räta upp bilder", }, convert: { name: "Konvertera", @@ -91,12 +91,12 @@ export const sv: TranslationKeys = { }, compress: { name: "Komprimera", - description: "Minska filstorleken via kvalitet eller malstorlek", + description: "Minska filstorleken via kvalitet eller målstorlek", }, "optimize-for-web": { - name: "Optimera for webb", + name: "Optimera för webb", description: - "Optimera bilder for webben med formatkonvertering, kvalitetskontroll och forhandsvisning", + "Optimera bilder för webben med formatkonvertering, kvalitetskontroll och förhandsvisning", }, "strip-metadata": { name: "Ta bort metadata", @@ -107,8 +107,8 @@ export const sv: TranslationKeys = { description: "Redigera EXIF, IPTC, XMP, GPS, nyckelord och datum", }, "bulk-rename": { - name: "Massomdopning", - description: "Byt namn pa flera filer med monster", + name: "Massomdöpning", + description: "Byt namn på flera filer med mönster", }, "image-to-pdf": { name: "Bild till PDF", @@ -123,20 +123,20 @@ export const sv: TranslationKeys = { description: "Generera alla favicon- och appikonstorlekar", }, "adjust-colors": { - name: "Justera farger", - description: "Ljusstyrka, kontrast, exponering, mattnad, temperatur, skarpa och effekter", + name: "Justera färger", + description: "Ljusstyrka, kontrast, exponering, mättnad, temperatur, skärpa och effekter", }, sharpening: { - name: "Skarpa", - description: "Adaptiv, oskarp mask och hogpasskarpa med mallar", + name: "Skärpa", + description: "Adaptiv, oskarp mask och högpasskärpa med mallar", }, "replace-color": { - name: "Ersatt & invertera farg", - description: "Ersatt specifika farger eller invertera", + name: "Ersätt & invertera färg", + description: "Ersätt specifika färger eller invertera", }, "color-blindness": { - name: "Fargblindhetssimulering", - description: "Simulera hur bilder ser ut vid olika typer av fargseendebrist", + name: "Färgblindhetssimulering", + description: "Simulera hur bilder ser ut vid olika typer av färgseendebrist", }, "remove-background": { name: "Ta bort bakgrund", @@ -144,65 +144,65 @@ export const sv: TranslationKeys = { }, upscale: { name: "Bilduppskalning", - description: "AI-superupplost bildforstarkning", + description: "AI-superupplöst bildförstärkning", }, "erase-object": { name: "Objektraderare", - description: "Ta bort oonskade objekt med AI", + description: "Ta bort oönskade objekt med AI", }, ocr: { name: "OCR / Textextraktion", - description: "Extrahera text fran bilder med AI-precision", + description: "Extrahera text från bilder med AI-precision", }, "ocr-pdf": { name: "PDF OCR", - description: "Extrahera text fran PDF-dokument med AI-driven OCR", + description: "Extrahera text från PDF-dokument med AI-driven OCR", }, "blur-faces": { - name: "Ansikts- / PII-oskarpning", - description: "Detektera och gora ansikten och kanslig information oskarpa automatiskt", + name: "Ansikts- / PII-oskärpning", + description: "Detektera och göra ansikten och känslig information oskarpa automatiskt", }, "enhance-faces": { - name: "Ansiktsforstarkning", - description: "Aterstall och forstarkt ansikten med AI", + name: "Ansiktsförstärkning", + description: "Återställ och förstärkt ansikten med AI", }, "smart-crop": { - name: "Smart beskaring", - description: "Smart motiv-, ansikts- eller kantbeskaring", + name: "Smart beskäring", + description: "Smart motiv-, ansikts- eller kantbeskäring", }, "image-enhancement": { - name: "Bildforstarkning", + name: "Bildförstärkning", description: - "Ettklicksforstarkning med smart exponerings-, kontrast-, farg- och skarpekorrigering", + "Ettklicksförstärkning med smart exponerings-, kontrast-, färg- och skärpekorrigering", }, "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", + name: "Röda ögon-korrigering", + description: "AI-driven röda ögon-detektion och korrigering för blixtfoton", }, "restore-photo": { name: "Fotorestaurering", - description: "Laga repor, revor och skador pa gamla foton med AI", + description: "Laga repor, revor och skador på gamla foton med AI", }, "content-aware-resize": { - name: "Innehallsmedveten storleksandring", - description: "Andra storlek intelligent och bevara viktigt innehall", + name: "Innehållsmedveten storleksändring", + description: "Ändra storlek intelligent och bevara viktigt innehåll", }, "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", + name: "AI-färgläggning", + description: "Konvertera svartvita foton till färg med AI-djupinlärningsmodeller", }, "passport-photo": { name: "Passfoto", description: - "Skapa myndighetsgodkanda pass-, visum- och ID-foton med automatisk ansiktsdetektion", + "Skapa myndighetsgodkända pass-, visum- och ID-foton med automatisk ansiktsdetektion", }, "transcribe-audio": { name: "Transkribera ljud", @@ -210,7 +210,7 @@ export const sv: TranslationKeys = { }, "auto-subtitles": { name: "Automatiska undertexter", - description: "Generera undertextfiler fran videoers ljudspar", + description: "Generera undertextfiler från videoers ljudspår", }, "transparency-fixer": { name: "PNG-transparensfix", @@ -218,23 +218,23 @@ export const sv: TranslationKeys = { }, "background-replace": { name: "Byt bakgrund", - description: "Ersatt bildens bakgrund med en enfargad yta", + description: "Ersätt bildens bakgrund med en enfärgad yta", }, "blur-background": { name: "Oskarp bakgrund", - description: "Gor bakgrunden oskarp och behall motivet skarpt", + description: "Gör bakgrunden oskarp och behåll motivet skarpt", }, "watermark-text": { - name: "Textvattenstampel", - description: "Lagg till textvattenstampel", + name: "Textvattenstämpel", + description: "Lägg till textvattenstämpel", }, "watermark-image": { - name: "Bildvattenstampel", - description: "Lagg till logotyp som vattenstampel", + name: "Bildvattenstämpel", + description: "Lägg till logotyp som vattenstämpel", }, "text-overlay": { name: "Textoverlay", - description: "Lagg till formaterad text pa bilder", + description: "Lägg till formaterad text på bilder", }, compose: { name: "Bildkomposition", @@ -243,92 +243,92 @@ export const sv: TranslationKeys = { "meme-generator": { name: "Meme-generator", description: - "Skapa memes med populara mallar eller egna bilder. Klassisk Impact-stil med anpassningsbara typsnitt, farger och positionering.", + "Skapa memes med populära mallar eller egna bilder. Klassisk Impact-stil med anpassningsbara typsnitt, färger och positionering.", }, info: { name: "Bildinformation", description: "Visa all metadata och bildegenskaper", }, compare: { - name: "Bildjamforelse", - description: "Jamfor tva bilder sida vid sida", + name: "Bildjämförelse", + description: "Jämför två bilder sida vid sida", }, "find-duplicates": { name: "Hitta dubletter", - description: "Upptack dubbletter och nastan identiska bilder", + description: "Upptäck dubbletter och nästan identiska bilder", }, "color-palette": { - name: "Fargpalett", - description: "Extrahera dominanta farger fran bilden", + name: "Färgpalett", + description: "Extrahera dominanta färger från bilden", }, "qr-generate": { name: "QR-kodsgenerator", - description: "Skapa QR-koder med anpassade farger, monster och logotyper", + description: "Skapa QR-koder med anpassade färger, mönster och logotyper", }, "html-to-image": { - name: "HTML to Image", - description: "Capture webpages as high-quality images", + name: "HTML till bild", + description: "Fånga webbsidor som högkvalitativa bilder", }, "barcode-read": { - name: "Streckkodslasare", + name: "Streckkodsläsare", description: "Skanna bilder efter QR-koder, streckkoder och 2D-koder", }, collage: { - name: "Collage / Rutnatsvy", - description: "Kombinera bilder i rutnatscollage med 25+ mallar", + name: "Collage / Rutnätsvy", + description: "Kombinera bilder i rutnätscollage med 25+ mallar", }, stitch: { name: "Sammanfoga / Kombinera", - description: "Sammanfoga bilder sida vid sida, staplade eller i rutnat", + description: "Sammanfoga bilder sida vid sida, staplade eller i rutnät", }, split: { name: "Bilduppdelning", - description: "Dela bilder i rutnatsplattor eller efter pixelstorlek med forhandsvisning", + description: "Dela bilder i rutnätsplattor eller efter pixelstorlek med förhandsvisning", }, border: { name: "Ram & Kant", - description: "Lagg till ramar, utfyllnad, rundade horn och skuggor med ettklicksmallar", + description: "Lägg till ramar, utfyllnad, rundade horn och skuggor med ettklicksmallar", }, beautify: { - name: "Forskona skarmklipp", + name: "Försköna skärmklipp", description: - "Lagg till tonade bakgrunder, enhetsramar, skuggor och sociala medier-format for skarmklipp", + "Lägg till tonade bakgrunder, enhetsramar, skuggor och sociala medier-format för skärmklipp", }, "circle-crop": { - name: "Circle Crop", - description: "Crop image to a centered circle with transparent corners", + name: "Cirkelbeskärning", + description: "Beskär bilden till en centrerad cirkel med transparenta hörn", }, duotone: { - name: "Duotone", - description: "Apply a two-color duotone effect with custom shadow and highlight colors", + name: "Duoton", + description: "Applicera en tvåfärgseffekt med anpassade skugg- och högdagerfärger", }, "image-pad": { - name: "Image Pad", - description: "Pad image to a target aspect ratio with a solid color background", + name: "Bildfyllnad", + description: "Fyll ut bilden till ett bildförhållande med enfärgad bakgrund", }, pixelate: { - name: "Pixelate", - description: "Apply a pixelation effect to the full image or a specific region", + name: "Pixelera", + description: "Applicera en pixeleringseffekt på hela bilden eller ett specifikt område", }, vignette: { - name: "Vignette", - description: "Add a vignette effect with adjustable strength and color", + name: "Vinjett", + description: "Lägg till en vinjetteffekt med justerbar styrka och färg", }, "gif-webp": { - name: "GIF/WebP Converter", - description: "Convert animated GIF to WebP and vice versa, preserving all frames", + name: "GIF/WebP-konverterare", + description: "Konvertera animerad GIF till WebP och omvänt, bevarar alla bildrutor", }, histogram: { name: "Histogram", - description: "Generate an RGB histogram chart from an image", + description: "Skapa ett RGB-histogram från en bild", }, "lqip-placeholder": { - name: "LQIP Placeholder", - description: "Generate a tiny low-quality image placeholder with base64 data URI", + name: "LQIP-platshållare", + description: "Skapa en liten lågkvalitativ platshållarbild med base64-data-URI", }, "sprite-sheet": { - name: "Sprite Sheet", - description: "Combine multiple images into a single sprite sheet grid", + name: "Spriteark", + description: "Kombinera flera bilder till ett spriteark i rutnät", }, "svg-to-raster": { name: "SVG till raster", @@ -342,399 +342,400 @@ export const sv: TranslationKeys = { "gif-tools": { name: "GIF-verktyg", description: - "Skala, optimera, andra hastighet, vand, extrahera bildrutor och rotera animerade GIFs", + "Skala, optimera, ändra hastighet, vänd, 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", + description: "Konvertera bilder till Base64-strängar för inbäddning 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", + name: "Streckkodsgenerator", + description: "Skapa streckkoder i Code 128, EAN-13, UPC-A, Code 39, ITF-14 och Data Matrix", }, "chart-maker": { - name: "Chart Maker", - description: "Create bar, line, or pie charts from CSV or JSON data", + name: "Diagramskapare", + description: "Skapa stapel-, linje- eller cirkeldiagram från CSV- eller JSON-data", }, "convert-video": { - name: "Convert Video", - description: "Convert videos between MP4, MOV, and WebM", + name: "Konvertera video", + description: "Konvertera videor mellan MP4, MOV och WebM", }, "compress-video": { - name: "Compress Video", - description: "Shrink video file size with quality control", + name: "Komprimera video", + description: "Minska videofilens storlek med kvalitetskontroll", }, "trim-video": { - name: "Trim Video", - description: "Cut a clip out of a video", + name: "Klipp video", + description: "Klipp ut ett avsnitt ur en video", }, "mute-video": { - name: "Mute Video", - description: "Remove the audio track from a video", + name: "Tysta video", + description: "Ta bort ljudspåret från en video", }, "video-to-gif": { - name: "Video to GIF", - description: "Turn a video clip into an animated GIF", + name: "Video till GIF", + description: "Gör om ett videoklipp till en animerad GIF", }, "resize-video": { - name: "Resize Video", - description: "Scale a video to a new resolution or preset size", + name: "Ändra videostorlek", + description: "Skala en video till en ny upplösning eller förinställd storlek", }, "crop-video": { - name: "Crop Video", - description: "Crop a region out of a video", + name: "Beskär video", + description: "Beskär ett område ur en video", }, "rotate-video": { - name: "Rotate Video", - description: "Rotate or flip a video", + name: "Rotera video", + description: "Rotera eller vänd en video", }, "change-fps": { - name: "Change FPS", - description: "Change the frame rate of a video", + name: "Ändra FPS", + description: "Ändra bildfrekvensen för en video", }, "video-color": { - name: "Video Color", - description: "Adjust brightness, contrast, saturation, and gamma", + name: "Videofärg", + description: "Justera ljusstyrka, kontrast, mättnad och gamma", }, "video-speed": { - name: "Video Speed", - description: "Speed up or slow down a video", + name: "Videohastighet", + description: "Öka eller minska hastigheten på en video", }, "reverse-video": { - name: "Reverse Video", - description: "Play a video clip backwards", + name: "Vänd video", + description: "Spela upp ett videoklipp baklänges", }, "video-loudnorm": { - name: "Normalize Audio", - description: "Normalize video audio volume to broadcast standard", + name: "Normalisera ljud", + description: "Normalisera videovolymen till sändningsstandard", }, "aspect-pad": { - name: "Aspect Pad", - description: "Add solid-color bars to fit a target aspect ratio", + name: "Bildförhållandefyllnad", + description: "Lägg till enfärgade kanter för att passa ett bildförhållande", }, "blur-pad": { - name: "Blur Pad", - description: "Fill bars with a blurred copy of the video", + name: "Suddig fyllnad", + description: "Fyll kanterna med en suddig kopia av videon", }, "watermark-video": { - name: "Watermark Video", - description: "Burn a text watermark onto video frames", + name: "Vattenstämpla video", + description: "Bränn in en textvattenstämpel på videobildrutor", }, "stabilize-video": { - name: "Stabilize Video", - description: "Reduce camera shake with two-pass stabilization", + name: "Stabilisera video", + description: "Minska kameraskakningar med tvåstegs stabilisering", }, "gif-to-video": { - name: "GIF to Video", - description: "Convert an animated GIF into an MP4 or WebM video", + name: "GIF till video", + description: "Konvertera en animerad GIF till en MP4- eller WebM-video", }, "video-to-webp": { - name: "Video to WebP", - description: "Convert a video clip into an animated WebP image", + name: "Video till WebP", + description: "Konvertera ett videoklipp till en animerad WebP-bild", }, "video-to-frames": { - name: "Video to Frames", - description: "Extract frames from a video as a ZIP of images", + name: "Video till bildrutor", + description: "Extrahera bildrutor från en video som en ZIP med bilder", }, "merge-videos": { - name: "Merge Videos", - description: "Join multiple video clips into one file", + name: "Sammanfoga videor", + description: "Slå ihop flera videoklipp till en fil", }, "replace-audio": { - name: "Replace Audio", - description: "Swap the audio track of a video with another file", + name: "Byt ljud", + description: "Byt ut ljudspåret i en video mot en annan fil", }, "burn-subtitles": { - name: "Burn Subtitles", - description: "Permanently render subtitles onto video frames", + name: "Bränn in undertexter", + description: "Rendera undertexter permanent på videobildrutor", }, "embed-subtitles": { - name: "Embed Subtitles", - description: "Mux a subtitle track into the video container", + name: "Bädda in undertexter", + description: "Lägg till ett undertextspår i videocontainern", }, "extract-subtitles": { - name: "Extract Subtitles", - description: "Pull the subtitle track out of a video as an SRT file", + name: "Extrahera undertexter", + description: "Hämta undertextspåret från en video som en SRT-fil", }, "images-to-video": { - name: "Images to Video", - description: "Turn a set of images into a slideshow video", + name: "Bilder till video", + description: "Gör om en uppsättning bilder till en bildspelsvideo", }, "video-metadata": { - name: "Clean Video Metadata", - description: "Strip metadata from a video and report what was found", + name: "Rensa videometadata", + description: "Ta bort metadata från en video och rapportera vad som hittades", }, "convert-audio": { - name: "Convert Audio", - description: "Convert audio between MP3, WAV, OGG, and more", + name: "Konvertera ljud", + description: "Konvertera ljud mellan MP3, WAV, OGG med mera", }, "trim-audio": { - name: "Trim Audio", - description: "Cut a section out of an audio file", + name: "Klipp ljud", + description: "Klipp ut ett avsnitt ur en ljudfil", }, "extract-audio": { - name: "Extract Audio", - description: "Pull the audio track out of a video", + name: "Extrahera ljud", + description: "Hämta ljudspåret ur en video", }, "volume-adjust": { - name: "Volume Adjust", - description: "Increase or decrease audio volume by a fixed gain", + name: "Justera volym", + description: "Öka eller minska ljudvolymen med en fast förstärkning", }, "normalize-audio": { - name: "Normalize Audio", - description: "Even out loudness to broadcast standard levels", + name: "Normalisera ljud", + description: "Jämna ut ljudnivån till sändningsstandardnivåer", }, "fade-audio": { - name: "Fade Audio", - description: "Add fade-in and fade-out effects to audio", + name: "Tona ljud", + description: "Lägg till in- och uttoning på ljud", }, "reverse-audio": { - name: "Reverse Audio", - description: "Play audio backwards", + name: "Vänd ljud", + description: "Spela upp ljud baklänges", }, "audio-speed": { - name: "Audio Speed", - description: "Speed up or slow down audio playback", + name: "Ljudhastighet", + description: "Öka eller minska uppspelningshastigheten för ljud", }, "pitch-shift": { - name: "Pitch Shift", - description: "Raise or lower pitch by semitones without changing speed", + name: "Tonhöjdsändring", + description: "Höj eller sänk tonhöjden med halvtoner utan att ändra hastigheten", }, "audio-channels": { - name: "Audio Channels", - description: "Convert between mono, stereo, or swap left and right channels", + name: "Ljudkanaler", + description: "Konvertera mellan mono, stereo eller byt vänster och höger kanal", }, "silence-removal": { - name: "Silence Removal", - description: "Strip silent sections from audio", + name: "Ta bort tystnad", + description: "Ta bort tysta avsnitt från ljud", }, "noise-reduction": { - name: "Noise Reduction", - description: "Reduce background noise with FFT-based denoising", + name: "Brusreducering", + description: "Minska bakgrundsbrus med FFT-baserad brusreducering", }, "merge-audio": { - name: "Merge Audio", - description: "Combine multiple audio files into one", + name: "Sammanfoga ljud", + description: "Kombinera flera ljudfiler till en", }, "split-audio": { - name: "Split Audio", - description: "Split audio by time, equal parts, or silence detection", + name: "Dela ljud", + description: "Dela ljud efter tid, lika delar eller tystnadsdetektion", }, "ringtone-maker": { - name: "Ringtone Maker", - description: "Create a ringtone clip from any audio file", + name: "Ringsignalsskapare", + description: "Skapa ett ringsignalsklipp från valfri ljudfil", }, "waveform-image": { - name: "Waveform Image", - description: "Generate a waveform visualization as a PNG image", + name: "Vågformsbild", + description: "Skapa en vågformsvisualisering som en PNG-bild", }, "audio-metadata": { - name: "Audio Metadata", - description: "View, edit, or strip audio tags (ID3)", + name: "Ljudmetadata", + description: "Visa, redigera eller ta bort ljudtaggar (ID3)", }, "merge-pdf": { - name: "Merge PDFs", - description: "Combine multiple PDFs into one", + name: "Sammanfoga PDF", + description: "Kombinera flera PDF-filer till en", }, "split-pdf": { - name: "Split PDF", - description: "Extract pages or split into parts", + name: "Dela PDF", + description: "Extrahera sidor eller dela i delar", }, "compress-pdf": { - name: "Compress PDF", - description: "Shrink PDF file size", + name: "Komprimera PDF", + description: "Minska PDF-filens storlek", }, "rotate-pdf": { - name: "Rotate PDF", - description: "Rotate pages in a PDF", + name: "Rotera PDF", + description: "Rotera sidor i en PDF", }, "convert-document": { - name: "Convert Document", - description: "Convert between Word, OpenDocument, RTF, and plain text formats", + name: "Konvertera dokument", + description: "Konvertera mellan Word, OpenDocument, RTF och ren text", }, "convert-presentation": { - name: "Convert Presentation", - description: "Convert between PowerPoint and OpenDocument presentation formats", + name: "Konvertera presentation", + description: "Konvertera mellan PowerPoint och OpenDocument-presentationsformat", }, "convert-spreadsheet": { - name: "Convert Spreadsheet", + name: "Konvertera kalkylblad", description: - "Convert between Excel, OpenDocument, and CSV formats. Multi-sheet workbooks export the first sheet to CSV.", + "Konvertera mellan Excel, OpenDocument och CSV. Arbetsböcker med flera blad exporterar första bladet till CSV.", }, "excel-to-pdf": { - name: "Excel to PDF", - description: "Convert spreadsheets to PDF. Wide sheets may paginate across multiple pages.", + name: "Excel till PDF", + description: "Konvertera kalkylblad till PDF. Breda blad kan delas upp på flera sidor.", }, "word-to-pdf": { - name: "Word to PDF", - description: "Convert Word documents to PDF", + name: "Word till PDF", + description: "Konvertera Word-dokument till PDF", }, "extract-pages": { - name: "Extract Pages", - description: "Pull selected pages into a new PDF", + name: "Extrahera sidor", + description: "Hämta utvalda sidor till en ny PDF", }, "remove-pages": { - name: "Remove Pages", - description: "Delete specific pages from a PDF", + name: "Ta bort sidor", + description: "Radera specifika sidor från en PDF", }, "organize-pdf": { - name: "Organize PDF", - description: "Reorder pages with an explicit page order", + name: "Organisera PDF", + description: "Ordna om sidor med en angiven sidordning", }, "protect-pdf": { - name: "Protect PDF", - description: "Add password protection (AES-256 encryption)", + name: "Skydda PDF", + description: "Lägg till lösenordsskydd (AES-256-kryptering)", }, "unlock-pdf": { - name: "Unlock PDF", - description: "Remove password protection from a PDF", + name: "Lås upp PDF", + description: "Ta bort lösenordsskyddet från en PDF", }, "repair-pdf": { - name: "Repair PDF", - description: "Attempt to repair a damaged or corrupted PDF", + name: "Reparera PDF", + description: "Försök att reparera en skadad eller korrupt PDF", }, "linearize-pdf": { - name: "Web-Optimize PDF", - description: "Linearize a PDF for fast web viewing", + name: "Webboptimera PDF", + description: "Linearisera en PDF för snabb webbvisning", }, "grayscale-pdf": { - name: "Grayscale PDF", - description: "Convert all colors to grayscale", + name: "Gråskale-PDF", + description: "Konvertera alla färger till gråskala", }, "pdfa-convert": { - name: "PDF/A Convert", - description: "Convert to archival PDF/A-2", + name: "PDF/A-konvertering", + description: "Konvertera till arkivformat PDF/A-2", }, "crop-pdf": { - name: "Crop PDF", - description: "Crop all pages with a uniform margin", + name: "Beskär PDF", + description: "Beskär alla sidor med en enhetlig marginal", }, "nup-pdf": { name: "N-up PDF", - description: "Arrange multiple pages per sheet", + description: "Placera flera sidor per ark", }, "booklet-pdf": { - name: "Booklet PDF", - description: "Arrange pages for folding into a booklet", + name: "Häftes-PDF", + description: "Ordna sidor för vikning till ett häfte", }, "watermark-pdf": { - name: "Watermark PDF", - description: "Add a text watermark to every page", + name: "Vattenstämpla PDF", + description: "Lägg till en textvattenstämpel på varje sida", }, "pdf-page-numbers": { - name: "PDF Page Numbers", - description: "Add page numbers to every page", + name: "PDF-sidnummer", + description: "Lägg till sidnummer på varje sida", }, "flatten-pdf": { - name: "Flatten PDF", - description: "Bake forms and annotations into page content", + name: "Platta ut PDF", + description: "Baka in formulär och anteckningar i sidinnehållet", }, "redact-pdf": { - name: "Redact PDF", - description: "Permanently remove text occurrences (verified true redaction)", + name: "Maskera PDF", + description: "Ta bort textförekomster permanent (verifierad äkta maskering)", }, "pdf-to-text": { - name: "PDF to Text", - description: "Extract plain text from a PDF", + name: "PDF till text", + description: "Extrahera ren text från en PDF", }, "pdf-to-word": { - name: "PDF to Word", - description: "Best for text-based PDFs; scanned pages need OCR", + name: "PDF till Word", + description: "Bäst för textbaserade PDF-filer; skannade sidor kräver OCR", }, "pdf-metadata": { - name: "PDF Metadata", - description: "Read and write PDF document metadata", + name: "PDF-metadata", + description: "Läs och skriv PDF-dokumentmetadata", }, "powerpoint-to-pdf": { - name: "PowerPoint to PDF", - description: "Convert presentations to PDF", + name: "PowerPoint till PDF", + description: "Konvertera presentationer till PDF", }, "html-to-pdf": { - name: "HTML to PDF", - description: "Convert an HTML file to PDF. Remote resources are disabled for privacy.", + name: "HTML till PDF", + description: + "Konvertera en HTML-fil till PDF. Externa resurser är inaktiverade av integritetsskäl.", }, "markdown-to-docx": { - name: "Markdown to Word", - description: "Convert a Markdown file to a Word document (DOCX)", + name: "Markdown till Word", + description: "Konvertera en Markdown-fil till ett Word-dokument (DOCX)", }, "markdown-to-html": { - name: "Markdown to HTML", + name: "Markdown till HTML", description: - "Convert a Markdown file to a standalone HTML page. Remote images in the source are left as-is in the output.", + "Konvertera en Markdown-fil till en fristående HTML-sida. Externa bilder i källan behålls som de är.", }, "markdown-to-pdf": { - name: "Markdown to PDF", + name: "Markdown till PDF", description: - "Convert a Markdown file to a styled PDF. Remote resources are disabled for privacy.", + "Konvertera en Markdown-fil till en formaterad PDF. Externa resurser är inaktiverade av integritetsskäl.", }, "epub-convert": { - name: "Convert EPUB", + name: "Konvertera EPUB", description: - "Convert an EPUB to PDF, DOCX, HTML, or Markdown. Remote resources inside the book are not fetched.", + "Konvertera en EPUB till PDF, DOCX, HTML eller Markdown. Externa resurser i boken hämtas inte.", }, "to-epub": { - name: "Convert to EPUB", - description: "Convert Word, Markdown, HTML, or plain text files to EPUB", + name: "Konvertera till EPUB", + description: "Konvertera Word, Markdown, HTML eller ren text till EPUB", }, "csv-excel": { - name: "CSV to Excel", - description: "Convert between CSV and Excel (XLSX), both directions", + name: "CSV till Excel", + description: "Konvertera mellan CSV och Excel (XLSX), båda riktningar", }, "csv-json": { - name: "CSV to JSON", - description: "Convert between CSV and JSON, both directions", + name: "CSV till JSON", + description: "Konvertera mellan CSV och JSON, båda riktningar", }, "json-xml": { - name: "JSON to XML", - description: "Convert between JSON and XML, both directions", + name: "JSON till XML", + description: "Konvertera mellan JSON och XML, båda riktningar", }, "split-csv": { - name: "Split CSV", - description: "Split a CSV into smaller files by row count", + name: "Dela CSV", + description: "Dela en CSV-fil i mindre filer efter radantal", }, "merge-csvs": { - name: "Merge CSVs", - description: "Combine multiple CSV or TSV files with matching columns into one", + name: "Sammanfoga CSV", + description: "Kombinera flera CSV- eller TSV-filer med matchande kolumner till en", }, "yaml-json": { name: "YAML / JSON", - description: "Convert between YAML and JSON, both directions", + description: "Konvertera mellan YAML och JSON, båda riktningar", }, "xml-to-csv": { - name: "XML to CSV", - description: "Extract repeating elements from XML into a CSV table", + name: "XML till CSV", + description: "Extrahera upprepade element från XML till en CSV-tabell", }, "create-zip": { - name: "Create ZIP", - description: "Bundle multiple files into a single ZIP archive", + name: "Skapa ZIP", + description: "Paketera flera filer i ett enda ZIP-arkiv", }, "extract-zip": { - name: "Extract ZIP", + name: "Extrahera ZIP", description: - "Safely extract files from a ZIP archive with bomb protection. Single-file archives return the file directly.", + "Extrahera filer säkert från ett ZIP-arkiv med bombskydd. Arkiv med en enda fil returnerar filen direkt.", }, pipeline: { name: "Pipeline-byggare", - description: "Kedja samman flera verktyg till ett arbetsflode", + description: "Kedja samman flera verktyg till ett arbetsflöde", }, - processing: { canceled: "Processing canceled" }, + processing: { canceled: "Bearbetningen avbruten" }, mediaPlayer: { - unsupported: "Your browser does not support this media format.", + unsupported: "Din webbläsare stöder inte detta medieformat.", }, documentView: { - loadFailed: "Failed to load document.", - previousPage: "Previous page", - nextPage: "Next page", - inputNotPreviewable: "Preview not available for this file type", + loadFailed: "Kunde inte ladda dokumentet.", + previousPage: "Föregående sida", + nextPage: "Nästa sida", + inputNotPreviewable: "Förhandsvisning inte tillgänglig för denna filtyp", }, }, toolSettings: { compress: { compressionMode: "Komprimeringsmetod", - targetSize: "Malstorlek", + targetSize: "Målstorlek", quality: "Kvalitet", smallestFile: "Minsta fil", - bestQuality: "Basta kvalitet", + bestQuality: "Bästa kvalitet", submit: "Komprimera", submitBatch: "Komprimera ({count} filer)", progressLabel: "Komprimerar", @@ -746,51 +747,51 @@ export const sv: TranslationKeys = { customSize: "Anpassad storlek", scale: "Skala", presets: "Mallar", - contentAware: "Innehallsmedveten", + contentAware: "Innehållsmedveten", widthPx: "Bredd (px)", - heightPx: "Hojd (px)", + heightPx: "Höjd (px)", fitMode: "Passningsmetod", - cropToFit: "Beskara till passning", + cropToFit: "Beskära till passning", fitInside: "Passa in", - stretch: "Stracka", - limitToOriginalSize: "Begansa till originalstorlek", + stretch: "Sträcka", + limitToOriginalSize: "Begränsa till originalstorlek", limitToOriginalSizeHint: - "Om din bild redan ar mindre an malet behalls den som den ar istallet for att skalas upp", + "Om din bild redan är mindre än målet behålls den som den är istället för att skalas upp", scalePercent: "Skala (%)", - resizeToSquare: "Andra till kvadrat", + resizeToSquare: "Ändra till kvadrat", protectFaces: "Skydda ansikten", - smoothing: "Utjamning", - edgeSensitivity: "Kantkannslighet", - submit: "Andra storlek", - submitBatch: "Andra storlek ({count} filer)", - progressLabel: "Andrar storlek", + smoothing: "Utjämning", + edgeSensitivity: "Kantkänslighet", + submit: "Ändra storlek", + submitBatch: "Ändra storlek ({count} filer)", + progressLabel: "Ändrar storlek", }, crop: { - aspectRatio: "Bildforhallande", + aspectRatio: "Bildförhållande", custom: "Anpassad", positionAndSize: "Position & Storlek", ruleOfThirds: "Tredjedelskregeln", - leftOffsetPx: "Vanster offset (px)", - topOffsetPx: "Ovre offset (px)", - submit: "Beskara", - submitBatch: "Beskara ({count} filer)", - progressLabel: "Beskarar", + leftOffsetPx: "Vänster offset (px)", + topOffsetPx: "Övre offset (px)", + submit: "Beskära", + submitBatch: "Beskära ({count} filer)", + progressLabel: "Beskärar", }, rotate: { rotate: "Rotera", angle: "Vinkel", - straighten: "Rata upp", - flip: "Vand", + straighten: "Räta upp", + flip: "Vänd", horizontal: "Horisontell", vertical: "Vertikal", - resetAllChanges: "Aterstall alla andringar", - submit: "Tilllampa", - submitBatch: "Tilllampa ({count} filer)", - progressLabel: "Tillampar", + resetAllChanges: "Återställ alla ändringar", + submit: "Tillämpa", + submitBatch: "Tillämpa ({count} filer)", + progressLabel: "Tillämpar", }, convert: { - targetFormat: "Malformat", - sourceFormat: "Kallformat", + targetFormat: "Målformat", + sourceFormat: "Källformat", quality: "Kvalitet", submit: "Konvertera", submitBatch: "Konvertera ({count} filer)", @@ -800,32 +801,32 @@ export const sv: TranslationKeys = { outputFormat: "Utdataformat", quality: "Kvalitet", smallestFile: "Minsta fil", - bestQuality: "Basta kvalitet", - maxDimensions: "Maximala matt", + bestQuality: "Bästa kvalitet", + maxDimensions: "Maximala mått", maxWidth: "Max bredd", - maxHeight: "Max hojd", + maxHeight: "Max höjd", stripMetadata: "Ta bort metadata", - sizeComparison: "Storleksjamforelse", + sizeComparison: "Storleksjämförelse", optimized: "Optimerad:", smaller: "{percent}% mindre", - larger: "{percent}% storre", + larger: "{percent}% större", submit: "Bearbeta & Ladda ner", submitBatch: "Bearbeta & Ladda ner ({count} filer)", progressLabel: "Optimerar", }, "strip-metadata": { currentMetadata: "Aktuell metadata", - readingMetadata: "Laser metadata...", + readingMetadata: "Läser metadata...", noMetadataFound: "Ingen metadata hittades i denna bild.", removeAllMetadata: "Ta bort all metadata", - selectSpecific: "Eller valj specifik metadata:", + selectSpecific: "Eller välj 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)", + stripIcc: "Ta bort ICC (färgprofil)", + stripXmp: "Ta bort XMP (utökad metadata)", locationFound: "plats hittad", locationWarning: - "Denna bild innehaller din exakta plats. Overvag att ta bort GPS-data innan du delar.", + "Denna bild innehåller din exakta plats. Överväg att ta bort GPS-data innan du delar.", metadataSections: "{count} metadatasektion hittad", metadataSectionsPlural: "{count} metadatasektioner hittade", metadataRemoved: "Metadata borttagen: {size} KB", @@ -833,12 +834,12 @@ export const sv: TranslationKeys = { progressLabel: "Tar bort metadata", }, "edit-metadata": { - readingMetadata: "Laser metadata...", - couldNotReadMetadata: "Kunde inte lasa metadata. Falten borjar tomma.", + readingMetadata: "Läser metadata...", + couldNotReadMetadata: "Kunde inte läsa metadata. Fälten börjar tomma.", basicInfo: "Grundinformation", description: "Beskrivning", - artist: "Konstnar", - copyright: "Upphovsratt", + artist: "Konstnär", + copyright: "Upphovsrätt", software: "Programvara", iptc: "IPTC", title: "Titel", @@ -849,45 +850,45 @@ export const sv: TranslationKeys = { dateAndTime: "Datum & Tid", editDates: "Redigera datum", shiftAllDates: "Flytta alla datum", - dateModified: "Andringsdatum", + dateModified: "Ändringsdatum", dateTaken: "Fotograferingsdatum", - shiftHint: "Flytta alla datumfalt med en offset (anvandbart for tidszonskorrigeringar)", + shiftHint: "Flytta alla datumfält med en offset (användbart för tidszonskorrigeringar)", direction: "Riktning", - forward: "+ Framat", - backward: "- Bakat", + forward: "+ Framåt", + backward: "- Bakåt", hoursMinutes: "Timmar:Minuter", locationGps: "Plats (GPS)", locationDataFound: "Platsdata hittad", - noGpsData: "Ingen GPS-data. Lagg till koordinater nedan.", + noGpsData: "Ingen GPS-data. Lägg till koordinater nedan.", latitude: "Latitud", longitude: "Longitud", - altitudeMeters: "Hojd (meter)", + altitudeMeters: "Höjd (meter)", removeAllGpsData: "Ta bort all GPS-data", keywords: "Nyckelord", - addKeywordPlaceholder: "Lagg till nyckelord och tryck Enter", - addToExisting: "Lagg till befintliga", - replaceAll: "Ersatt alla", + addKeywordPlaceholder: "Lägg till nyckelord och tryck Enter", + addToExisting: "Lägg till befintliga", + replaceAll: "Ersätt alla", allMetadata: "All metadata", templates: "Mallar", templateNamePlaceholder: "Mallnamn", - uploadPrompt: "Ladda upp en bild for att redigera dess metadata.", - changes: "{count} andringar:", - modified: "{count} andrade", + uploadPrompt: "Ladda upp en bild för att redigera dess metadata.", + changes: "{count} ändringar:", + modified: "{count} ändrade", removed: "{count} borttagna", gpsCleared: "GPS rensat", gpsAdded: "GPS tillagt", datesShifted: "datum flyttade", - submit: "Tilllampa metadata", + submit: "Tilllämpa metadata", progressLabel: "Skriver metadata", }, "bulk-rename": { - pattern: "Monster", + pattern: "Mönster", patternHint: "Variabler: {{index}}, {{padded}}, {{original}}", startIndex: "Startindex", - preview: "Forhandsvisning", + preview: "Förhandsvisning", andMore: "... och {count} till", renaming: "Byter namn...", - submit: "Byt namn pa {count} filer", + submit: "Byt namn på {count} filer", zipDownloaded: "ZIP nedladdad", }, "image-to-pdf": { @@ -898,16 +899,16 @@ export const sv: TranslationKeys = { combineAllImages: "Kombinera alla bilder i en PDF", pageSize: "Sidstorlek", orientation: "Orientering", - portrait: "Staende", + portrait: "Stående", landscape: "Liggande", margin: "Marginal", - targetSizeLabel: "Malfilstorlek (valfritt)", + targetSizeLabel: "Målfilstorlek (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", + targetSizeHint: "Lämna tomt för maximal kvalitet", + targetSizeMet: "Målet nått", + targetSizeNotMet: "Målet kunde inte nås. Filen komprimerad till lägsta kvalitet.", + targetSizeTooSmall: "Målstorleken måste vara minst 50KB", + jpegQualityLabel: "Använd JPEG-kvalitet", noImage: "Ingen bild", submitCollate: "Skapa PDF ({count} sidor)", submitSeparate: "Skapa {count} PDFs", @@ -918,20 +919,20 @@ export const sv: TranslationKeys = { processingPages: "Bearbetar {count} sidor...", }, "pdf-to-image": { - dropPdf: "Slapp en PDF har eller klicka for att valja", - readingPdf: "Laser PDF...", + dropPdf: "Släpp en PDF här eller klicka för att välja", + readingPdf: "Läser PDF...", pageCount: "{count} sida", pageCountPlural: "{count} sidor", outputFormat: "Utdataformat", quality: "Kvalitet", - resolutionDpi: "Upplosning (DPI)", - dpiScreen: "Skarm", + resolutionDpi: "Upplösning (DPI)", + dpiScreen: "Skärm", dpiStandard: "Standard", dpiPrint: "Tryck", - dpiHighQuality: "Hog kvalitet", - colorMode: "Fargmetod", - colorModeColor: "Farg", - colorModeGrayscale: "Gratoner", + dpiHighQuality: "Hög kvalitet", + colorMode: "Färgmetod", + colorModeColor: "Färg", + colorModeGrayscale: "Gråtoner", colorModeBw: "S/V", pages: "Sidor", allPages: "Alla sidor", @@ -943,8 +944,8 @@ export const sv: TranslationKeys = { }, 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.", + "Ladda upp kvadratiska bilder (rekommenderat 512x512 eller större) för att generera alla favicon- och appikonstorlekar.", + multipleHint: "Var och en av de {count} bilderna får en egen mapp i ZIPen.", generatedSizes: "Genererade storlekar (per bild)", plusManifest: "+ manifest.json + HTML-snippet", submit: "Generera favicons ({count} bild)", @@ -957,81 +958,81 @@ export const sv: TranslationKeys = { brightness: "Ljusstyrka", contrast: "Kontrast", exposure: "Exponering", - color: "Farg", - saturation: "Mattnad", + color: "Färg", + saturation: "Mättnad", temperature: "Temperatur", temperatureHint: "svalt / varmt", tint: "Nyans", - tintHint: "gron / magenta", - hue: "Fargton", + tintHint: "grön / magenta", + hue: "Färgton", detail: "Detalj", - sharpness: "Skarpa", + sharpness: "Skärpa", effects: "Effekter", none: "ingen", - grayscale: "gratoner", + grayscale: "gråtoner", 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", + colorChannels: "Färgkanaler", + channelModified: "ändrad", + red: "Röd", + green: "Grön", + blue: "Blå", + resetAll: "Återställ allt", + submit: "Tilllämpa", + submitBatch: "Tilllämpa ({count} filer)", + progressLabel: "Justerar färger", }, sharpening: { method: "Metod", adaptive: "Adaptiv", unsharpMask: "Oskarp mask", - highPass: "Hogpass", + highPass: "Högpass", presets: "Mallar", - textureAmount: "Texturmangd", + textureAmount: "Texturmängd", amount: "Styrka", strength: "Intensitet", noiseReduction: "Brusreducering", off: "av", - lightDenoise: "latt", - mediumDenoise: "medium", + lightDenoise: "lätt", + mediumDenoise: "medel", strongDenoise: "stark", - advancedControls: "Avancerade installningar", + advancedControls: "Avancerade inställningar", radius: "Radie", flatProtection: "Ytskydd", - detailThreshold: "Detaljtroskel", - haloLimitLight: "Halograns (Ljus)", - haloLimitDark: "Halograns (Mork)", - threshold: "Troskelvarde", - kernelSize: "Karnstorlek", - submit: "Skarpa", - submitBatch: "Skarpa ({count} filer)", - progressLabel: "Skarper", + detailThreshold: "Detaljtröskel", + haloLimitLight: "Halogräns (Ljus)", + haloLimitDark: "Halogräns (Mörk)", + threshold: "Tröskelvärde", + kernelSize: "Kärnstorlek", + submit: "Skärpa", + submitBatch: "Skärpa ({count} filer)", + progressLabel: "Skärper", }, "replace-color": { - sourceColor: "Kallfarg (att ersatta)", - targetColor: "Malfarg (ersattning)", - makeTransparent: "Gor transparent istallet", + sourceColor: "Källfärg (att ersätta)", + targetColor: "Målfärg (ersättning)", + makeTransparent: "Gör transparent istället", tolerance: "Tolerans", exactMatch: "Exakt matchning", - wideRange: "Brett omfang", - submit: "Ersatt farg", - submitBatch: "Ersatt farg ({count} filer)", - progressLabel: "Ersatter farg", + wideRange: "Brett omfång", + submit: "Ersätt färg", + submitBatch: "Ersätt färg ({count} filer)", + progressLabel: "Ersätter färg", }, "color-blindness": { simulationType: "Simuleringstyp", - redGreen: "Rod-Gron", - blueYellow: "Bla-Gul", + redGreen: "Röd-Grön", + blueYellow: "Blå-Gul", monochromatic: "Monokromatisk", submit: "Simulera", submitBatch: "Simulera ({count} filer)", - progressLabel: "Simulerar fargblindhet", + progressLabel: "Simulerar färgblindhet", }, "remove-background": { subject: "Motiv", - people: "Manniskor", + people: "Människor", products: "Produkter", - general: "Allman", + general: "Allmän", passportIdPhoto: "Pass- / ID-foto", quality: "Kvalitet", fast: "Snabb", @@ -1040,24 +1041,24 @@ export const sv: TranslationKeys = { ultra: "Ultra", background: "Bakgrund", transparent: "Transparent", - bgColor: "Farg", + bgColor: "Färg", gradient: "Tonad", image: "Bild", gradientDirection: "Riktning", - chooseBackgroundImage: "Valj bakgrundsbild", + chooseBackgroundImage: "Välj bakgrundsbild", effectsSection: "Effekter", effectsActive: "aktiv", - blurBackground: "Gora bakgrund oskarp", + blurBackground: "Göra bakgrund oskarp", intensity: "Intensitet", - addShadow: "Lagg till skugga", + addShadow: "Lägg till skugga", opacity: "Opacitet", - outputFormat: "Output Format", - edgeSmoothing: "Edge Smoothing", - edgeSmoothingOff: "Off", - edgeSmoothingLight: "Light", - edgeSmoothingMedium: "Medium", - edgeSmoothingStrong: "Strong", - colorDecontamination: "Color Decontamination", + outputFormat: "Utdataformat", + edgeSmoothing: "Kantutjämning", + edgeSmoothingOff: "Av", + edgeSmoothingLight: "Lätt", + edgeSmoothingMedium: "Medel", + edgeSmoothingStrong: "Stark", + colorDecontamination: "Färgavsmittning", rendering: "Renderar...", submit: "Ta bort bakgrund", submitBatch: "Ta bort bakgrund ({count} filer)", @@ -1066,10 +1067,10 @@ export const sv: TranslationKeys = { upscale: { scaleFactor: "Skalningsfaktor", quality: "Kvalitet", - enhanceFaces: "Forstarkt ansikten", + enhanceFaces: "Förstärkt ansikten", noiseReduction: "Brusreducering", noiseReductionHint: - "Jamnar ut kornighet och brus. Hogre varden tar bort mer brus men kan mjuka upp detaljer.", + "Jämnar ut kornighet och brus. Högre värden tar bort mer brus men kan mjuka upp detaljer.", outputFormat: "Utdataformat", submit: "Uppskala {scale}x", submitBatch: "Uppskala {scale}x ({count} filer)", @@ -1080,21 +1081,21 @@ export const sv: TranslationKeys = { brushSize: "Penselstorlek", fine: "Fin", wide: "Bred", - undo: "Angra", + undo: "Ångra", clear: "Rensa", outputFormat: "Utdataformat", quality: "Kvalitet", - paintHint: "Mala over objekten du vill ta bort. Anvand Ctrl+Z for att angra.", + paintHint: "Måla över objekten du vill ta bort. Använd Ctrl+Z för att ångra.", submit: "Radera objekt", submitBatch: "Radera alla ({count})", progressLabel: "Raderar objekt", }, ocr: { quality: "Kvalitet", - enhanceBeforeScanning: "Forstarkt fore skanning", + enhanceBeforeScanning: "Förstärkt före skanning", enhanceHint: - "Korrigerar automatiskt skevhet, forstarker kontrast, tar bort brus och uppskalar bilden fore skanning for battre precision.", - language: "Sprak", + "Korrigerar automatiskt skevhet, förstärker kontrast, tar bort brus och uppskalar bilden före skanning för bättre precision.", + language: "Språk", autoDetect: "Automatisk detektion", extractedText: "Extraherad text", noTextDetected: "Ingen text detekterad i denna bild", @@ -1105,33 +1106,33 @@ export const sv: TranslationKeys = { }, "ocr-pdf": { quality: "Kvalitet", - language: "Sprak", + language: "Språk", autoDetect: "Automatisk identifiering", pages: "Sidor", - pagesPlaceholder: "all, 1-3, 5", + pagesPlaceholder: "alla, 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", + progressLabel: "Extraherar text från PDF", }, "blur-faces": { - blurRadius: "Oskarpningsradie", - blurLight: "Latt", + blurRadius: "Oskärpningsradie", + blurLight: "Lätt", blurHeavy: "Stark", - detectionSensitivity: "Detektionskannslighet", + detectionSensitivity: "Detektionskänslighet", moreFaces: "Fler ansikten", - fewerFaces: "Farre ansikten", - submit: "Gor ansikten oskarpa", - progressLabel: "Gor ansikten oskarpa", + fewerFaces: "Färre ansikten", + submit: "Gör ansikten oskarpa", + progressLabel: "Gör ansikten oskarpa", }, "enhance-faces": { quality: "Kvalitet", - enhancementStrength: "Forstarkningsstyrka", + enhancementStrength: "Förstärkningsstyrka", onlyCenterFace: "Enbart centralt ansikte", - detectionSensitivity: "Detektionskannslighet", - submit: "Forstarkt ansikten", - submitBatch: "Forstarkt ansikten ({count} filer)", - progressLabel: "Forstarker ansikten", + detectionSensitivity: "Detektionskänslighet", + submit: "Förstärkt ansikten", + submitBatch: "Förstärkt ansikten ({count} filer)", + progressLabel: "Förstärker ansikten", }, "smart-crop": { subjectFocus: "Motivfokus", @@ -1141,116 +1142,116 @@ export const sv: TranslationKeys = { socialPresets: "Sociala medier-mallar", detectionStrategy: "Detektionsstrategi", detectionStrategyHint: - "Uppmarksamhet hittar det visuellt mest iogonfallande omradet. Entropi hittar omradet med mest detaljer.", - attention: "Uppmarksamhet", + "Uppmärksamhet hittar det visuellt mest iögonfallande området. Entropi hittar området med mest detaljer.", + attention: "Uppmärksamhet", entropy: "Entropi", padding: "Utfyllnad", - paddingHint: "Extra utrymme runt fokusomradet", + paddingHint: "Extra utrymme runt fokusområdet", outputQuality: "Utdatakvalitet", - outputQualityHint: "For JPEG- och WebP-utdata. PNG ar alltid forlustfri.", + outputQualityHint: "För JPEG- och WebP-utdata. PNG är alltid förlustfri.", subjectDescription: - "Detekterar det mest intressanta omradet via saliensanalys och beskarar till din malstorlek.", + "Detekterar det mest intressanta området via saliensanalys och beskärar till din målstorlek.", framing: "Inramning", facePadding: "Ansiktsutfyllnad", facePaddingHint: "Extra utrymme runt detekterade ansikten", - fewerFalsePositives: "Farre falska positiva", + fewerFalsePositives: "Färre falska positiva", faceDescription: - "Anvander AI-ansiktsdetektion for att halla ansikten korrekt inramade. Faller tillbaka till motivfokus om inga ansikten detekteras.", + "Använder AI-ansiktsdetektion för att hålla 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.", + "Hur mycket en kantpixel får skilja sig från kantfärgen och ändå trimmas. Högre = aggressivare.", padToSquare: "Fyll till kvadrat", - targetSizePx: "Malstorlek (px)", - padColor: "Fyllnadsfarg", + targetSizePx: "Målstorlek (px)", + padColor: "Fyllnadsfärg", trimHint: - 'Tar bort enfargade kanter runt ditt motiv. Aktivera "Fyll till kvadrat" for e-handelsbilder.', - submitSubject: "Smart beskaring", - submitFace: "Ansiktsbeskaring", + 'Tar bort enfärgade kanter runt ditt motiv. Aktivera "Fyll till kvadrat" för e-handelsbilder.', + submitSubject: "Smart beskärning", + submitFace: "Ansiktsbeskärning", submitTrim: "Trimma kanter", }, imageEnhancement: { - enhancementMode: "Forstarkningsmetod", + enhancementMode: "Förstärkningsmetod", auto: "Automatisk", - portrait: "Portratt", + portrait: "Porträtt", landscape: "Landskap", lowLight: "Svagt ljus", food: "Mat", document: "Dokument", intensity: "Intensitet", - deepEnhance: "Djupforstarkning (AI)", + deepEnhance: "Djupförstärkning (AI)", deepEnhanceDescription: "Tar bort brus och artefakter med AI", - deepEnhanceRequires: "Kraver paketet Uppskalning & Forstarkning", + deepEnhanceRequires: "Kräver paketet Uppskalning & Förstärkning", analyzingImage: "Analyserar bild...", - detectedIssues: "Upptackta problem", + detectedIssues: "Upptäckta problem", imageLooksGood: "Bilden ser bra ut. Finjustera med intensitetsreglaget.", issueUnderexposed: "Underexponerad", - issueOverexposed: "Overexponerad", + issueOverexposed: "Överexponerad", issueLowContrast: "Platt kontrast", - issueColorCast: "Fargkast", - issueDesaturated: "Omattad", + issueColorCast: "Färgkast", + issueDesaturated: "Omättad", issueSoftFocus: "Mjuk fokus", issueNoisy: "Brusig", - submit: "Forstarkt", - submitDeep: "Djupforstarkning", - submitBatch: "Forstarkt ({count} filer)", - submitDeepBatch: "Djupforstarkning ({count} filer)", - progressLabel: "Forstarker bild", - progressLabelBatch: "Forstarker {count} bilder", + submit: "Förstärkt", + submitDeep: "Djupförstärkning", + submitBatch: "Förstärkt ({count} filer)", + submitDeepBatch: "Djupförstärkning ({count} filer)", + progressLabel: "Förstärker bild", + progressLabelBatch: "Förstärker {count} bilder", }, "noise-removal": { - denoisingTier: "Avbrusningsniva", + denoisingTier: "Avbrusningsnivå", quick: "Snabb", balanced: "Balanserad", quality: "Kvalitet", maximum: "Maximum", - quickDesc: "Snabb, latthanterlig", + quickDesc: "Snabb, lätthanterlig", balancedDesc: "Bra kvalitet, medelsnabb", - qualityDesc: "AI-driven, langsam", - maximumDesc: "Basta AI-modell, langsammast", + qualityDesc: "AI-driven, långsam", + maximumDesc: "Bästa AI-modell, långsammast", strength: "Styrka", subtle: "Diskret", aggressive: "Aggressiv", detailPreservation: "Detaljbevarande", smooth: "Mjuk", sharp: "Skarp", - colorNoise: "Fargbrus", + colorNoise: "Färgbrus", heavy: "Kraftig", outputFormat: "Utdataformat", gifAiWarning: - "AI-avbrusning pa GIF-filer bearbetar enbart forsta bildrutan. For animerade GIFs, anvand Snabb eller Balanserad niva.", + "AI-avbrusning på GIF-filer bearbetar enbart första bildrutan. För animerade GIFs, använd Snabb eller Balanserad nivå.", submit: "Ta bort brus", submitBatch: "Ta bort brus ({count} filer)", progressLabel: "Tar bort brus", - progressLabelBatch: "Tar bort brus fran {count} bilder", + progressLabelBatch: "Tar bort brus från {count} bilder", }, "red-eye-removal": { - sensitivity: "Kannslighet", + sensitivity: "Känslighet", strict: "Strikt", aggressive: "Aggressiv", correctionStrength: "Korrigeringsstyrka", subtle: "Diskret", - dark: "Mork", + dark: "Mörk", 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", + submit: "Korrigera röda ögon", + submitBatch: "Korrigera röda ögon ({count} filer)", + progressLabel: "Korrigerar röda ögon", + progressLabelBatch: "Korrigerar röda ögon i {count} bilder", }, "restore-photo": { scratchRemoval: "Repborttagning", - scratchRemovalDesc: "Upptack och reparera repor, revor och flackar", - faceEnhancement: "Ansiktsforstarkning", - faceEnhancementDesc: "Aterstall skadade ansikten med CodeFormer-AI", + scratchRemovalDesc: "Upptäck och reparera repor, revor och fläckar", + faceEnhancement: "Ansiktsförstärkning", + faceEnhancementDesc: "Återställ skadade ansikten med CodeFormer-AI", faceFidelity: "Ansiktstrogenhet", - enhanced: "Forstarkt", + enhanced: "Förstärkt", faithful: "Originaltrogen", noiseReduction: "Brusreducering", - noiseReductionDesc: "Ta bort kornighet och brus fran gamla foton", + noiseReductionDesc: "Ta bort kornighet och brus från gamla foton", denoiseStrength: "Avbrusningsstyrka", - autoColorize: "Automatisk farglaggning", - autoColorizeDesc: "Lagg till farg i S/V-foton med DDColor AI", - colorizeStrength: "Farglaggningsstyrka", + autoColorize: "Automatisk färgläggning", + autoColorizeDesc: "Lägg till färg i S/V-foton med DDColor AI", + colorizeStrength: "Färgläggningsstyrka", vivid: "Livfull", submit: "Restaurera foto", submitBatch: "Restaurera foton ({count})", @@ -1259,31 +1260,31 @@ export const sv: TranslationKeys = { }, "content-aware-resize": { widthPx: "Bredd (px)", - heightPx: "Hojd (px)", - resizeToSquare: "Andra till kvadrat", + heightPx: "Höjd (px)", + resizeToSquare: "Ändra 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", + "Detektera och skydda ansiktsområden från sömborttagning via ansiktsdetektion", + smoothing: "Utjämning", + edgeSensitivity: "Kantkänslighet", + submit: "Ändra storlek", + submitBatch: "Ändra storlek ({count} filer)", + progressLabel: "Innehållsmedveten storleksändring", }, "ai-canvas-expand": { quality: "Kvalitet", fast: "Snabb", balanced: "Balanserad", - highQuality: "Hog kvalitet", - fastDesc: "Snabb forhandsvisning, farre AI-pass", + highQuality: "Hög kvalitet", + fastDesc: "Snabb förhandsvisning, färre AI-pass", balancedDesc: "Bra kvalitet, medelsnabb", - highQualityDesc: "Basta resultat, langsammare", - extendToAspectRatio: "Utvidga till bildforhallande", + highQualityDesc: "Bästa resultat, långsammare", + extendToAspectRatio: "Utvidga till bildförhållande", extendByPixels: "Utvidga med (pixlar)", top: "Topp", - right: "Hoger", + right: "Höger", bottom: "Botten", - left: "Vanster", + left: "Vänster", newSize: "Ny storlek: {width} x {height}", submit: "Utvidga duk", submitBatch: "Utvidga ({count} filer)", @@ -1294,39 +1295,39 @@ export const sv: TranslationKeys = { fast: "Snabb", fastDesc: "Snabba resultat", balanced: "Balanserad", - balancedDesc: "Bast tillganglig", - best: "Basta", - bestDesc: "Hogsta kvalitet", - colorIntensity: "Fargintensitet", - grayscaleLabel: "Gratoner", + balancedDesc: "Bäst tillgänglig", + best: "Bästa", + bestDesc: "Högsta kvalitet", + colorIntensity: "Färgintensitet", + grayscaleLabel: "Gråtoner", 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", + intensityHint: "Lägre värden ger dämpade, vintage-liknande färger.", + strength: "Färgläggningsstyrka", + submit: "Färglägg", + submitBatch: "Färglägg ({count} filer)", + progressLabel: "Färglägger", + progressLabelBatch: "Färglägger {count} bilder", }, "passport-photo": { country: "Land", - searchCountries: "Sok lander...", - noCountriesFound: "Inga lander hittades", - customDimensions: "Anpassade matt", + searchCountries: "Sök länder...", + noCountriesFound: "Inga länder hittades", + customDimensions: "Anpassade mått", documentType: "Dokumenttyp", - dimensionsMm: "Matt (mm)", + dimensionsMm: "Mått (mm)", dpi: "DPI", pixelsPerInch: "pixlar per tum", - backgroundColor: "Bakgrundsfarg", + backgroundColor: "Bakgrundsfärg", maxFileSize: "Max filstorlek", - noLimit: "Ingen grans", + noLimit: "Ingen gräns", customKb: "Anpassad (KB)...", - uploadPortrait: "Ladda upp ett portrattfoto", + uploadPortrait: "Ladda upp ett porträttfoto", uploadHint: - "Slapp eller ladda upp en bild i vanstra panelen for att forhandsgranska ditt passfoto", + "Släpp eller ladda upp en bild i vänstra panelen för att förhandsgranska ditt passfoto", analyzingPhoto: "Analyserar foto", - detectingLandmarks: "Detekterar ansiktslandmarken och tar bort bakgrund...", + detectingLandmarks: "Detekterar ansiktslandmärken och tar bort bakgrund...", generatePassportPhoto: "Generera passfoto", generating: "Genererar...", downloadPhoto: "Ladda ner foto", @@ -1334,13 +1335,13 @@ export const sv: TranslationKeys = { 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.", + whatYouSee: "Det du ser är det du laddar ner", + dragToAdjust: "Dra för att justera", + scrollToZoom: "Scrolla för att zooma", + photoGenerated: "Foto genererat. Ladda ner från vänstra panelen.", }, "transcribe-audio": { - language: "Sprak", + language: "Språk", autoDetect: "Automatisk identifiering", outputFormat: "Utdataformat", plainText: "Ren text", @@ -1349,7 +1350,7 @@ export const sv: TranslationKeys = { progressLabel: "Transkriberar ljud", }, "auto-subtitles": { - language: "Sprak", + language: "Språk", autoDetect: "Automatisk identifiering", format: "Undertextformat", submit: "Generera undertexter", @@ -1357,10 +1358,10 @@ export const sv: TranslationKeys = { 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", + description: "Ladda upp en PNG med falsk transparent bakgrund så fixar vi det med ett klick.", + removeWatermark: "Ta bort vattenstämpel", + removeWatermarkHelp: "Detektera och ta bort halvtransparenta vattenstämplar", + requiresEraser: "Kräver Objektraderarens paket", advanced: "Avancerat", defringe: "Kantkorrigering", outputFormat: "Utdataformat", @@ -1369,61 +1370,61 @@ export const sv: TranslationKeys = { progressLabel: "Fixar transparens", }, "background-replace": { - color: "Bakgrundsfarg", + color: "Bakgrundsfärg", 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", + intensity: "Oskärpa-intensitet", + submit: "Gör bakgrunden oskarp", + submitBatch: "Gör bakgrunden oskarp ({count} filer)", + progressLabel: "Gör bakgrunden oskarp", }, "watermark-text": { - watermarkText: "Vattenstampeltext", + watermarkText: "Vattenstämpeltext", fontSize: "Teckenstorlek", - color: "Farg", + color: "Färg", opacity: "Opacitet", position: "Position", rotation: "Rotation", center: "Mitten", - topLeft: "Uppe till vanster", - topRight: "Uppe till hoger", - bottomLeft: "Nere till vanster", - bottomRight: "Nere till hoger", + topLeft: "Uppe till vänster", + topRight: "Uppe till höger", + bottomLeft: "Nere till vänster", + bottomRight: "Nere till höger", tiled: "Plattsatt", - submit: "Lagg till vattenstampel", - submitBatch: "Lagg till vattenstampel ({count} filer)", - progressLabel: "Lagger till vattenstampel", + submit: "Lägg till vattenstämpel", + submitBatch: "Lägg till vattenstämpel ({count} filer)", + progressLabel: "Lägger till vattenstämpel", }, "watermark-image": { - uploadWatermark: "Ladda upp vattenstampelbild", + uploadWatermark: "Ladda upp vattenstämpelbild", position: "Position", opacity: "Opacitet", scale: "Skala", - submit: "Tilllampa vattenstampel", - submitBatch: "Tilllampa vattenstampel ({count} filer)", + submit: "Tillämpa vattenstämpel", + submitBatch: "Tillämpa vattenstämpel ({count} filer)", }, "text-overlay": { text: "Text", fontSize: "Teckenstorlek", - color: "Farg", + color: "Färg", position: "Position", top: "Topp", center: "Mitten", bottom: "Botten", backgroundBox: "Bakgrundsruta", - backgroundColor: "Bakgrundsfarg", + backgroundColor: "Bakgrundsfärg", shadow: "Skugga", - submit: "Lagg till text", - submitBatch: "Lagg till text ({count} filer)", - progressLabel: "Lagger till textoverlay", - download: "Download", - defaultText: "Your Text Here", + submit: "Lägg till text", + submitBatch: "Lägg till text ({count} filer)", + progressLabel: "Lägger till textoverlay", + download: "Ladda ner", + defaultText: "Din text här", }, compose: { - uploadOverlay: "Ladda upp overlagringsbild", + uploadOverlay: "Ladda upp överlagringsbild", xPosition: "X-position", yPosition: "Y-position", opacity: "Opacitet", @@ -1431,14 +1432,14 @@ export const sv: TranslationKeys = { 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", + selectTemplate: "Välj en mall från galleriet eller ladda upp din egen bild.", + chooseLayout: "Välj en textlayout för din bild.", + textContent: "Textinnehåll", textStyle: "Textstil", font: "Typsnitt", fontSize: "Teckenstorlek", - textColor: "Textfarg", - strokeColor: "Konturfarg", + textColor: "Textfärg", + strokeColor: "Konturfärg", allCaps: "VERSALER", generate: "Skapa Meme", generating: "Skapar...", @@ -1452,8 +1453,8 @@ export const sv: TranslationKeys = { dimensions: "Dimensioner", format: "Format", channels: "Kanaler", - colorSpace: "Fargrymd", - density: "Tathet", + colorSpace: "Färgrymd", + density: "Täthet", bitDepth: "Bitdjup", progressive: "Progressiv", pages: "Sidor", @@ -1462,40 +1463,40 @@ export const sv: TranslationKeys = { 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", + readInfo: "Läs info", + reading: "Läser...", + channelStats: "Kanalstatistik", + yes: "Ja", + no: "Nej", + na: "Ej tillämpligt", + failedToRead: "Kunde inte läsa information", }, compare: { uploadSecondImage: "Ladda upp andra bilden", similarity: "Likhet: {percent}%", - submit: "Jamfor", + submit: "Jämför", downloadDiff: "Ladda ner differens", }, "find-duplicates": { preset: "Mall", exact: "Exakt", similar: "Liknande", - loose: "Los", + loose: "Lös", 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", + similarDesc: "Skalade, omkomprimerade eller lätt redigerade kopior.", + looseDesc: "Visuellt besläktade bilder, lätta beskärningar, olika exponeringar.", + threshold: "Tröskelvärde", submit: "Skanna efter dubletter", scanning: "Skannar...", }, "color-palette": { submit: "Extrahera palett", extracting: "Extraherar...", - dominantColors: "Dominanta farger", - clickToCopy: "Klicka for att kopiera", + dominantColors: "Dominanta färger", + clickToCopy: "Klicka för att kopiera", }, "qr-generate": { - contentType: "Innehallstyp", + contentType: "Innehållstyp", url: "URL", text: "Text", wifi: "WiFi", @@ -1507,8 +1508,8 @@ export const sv: TranslationKeys = { dotStyle: "Punktstil", cornerSquareStyle: "Hornkvadratsttil", cornerDotStyle: "Hornpunktstil", - foregroundColor: "Forgrundsfarg", - bgColor: "Bakgrundsfarg", + foregroundColor: "Förgrundsfärg", + bgColor: "Bakgrundsfärg", logo: "Logotyp", downloadFormat: "Nedladdningsformat", submit: "Generera QR-kod", @@ -1516,29 +1517,29 @@ export const sv: TranslationKeys = { }, "html-to-image": { modeUrl: "URL", - modeHtml: "HTML File", - htmlFile: "HTML File", + modeHtml: "HTML-fil", + htmlFile: "HTML-fil", 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", + format: "Utdataformat", + quality: "Kvalitet", + devicePreset: "Enhet", + viewportWidth: "Bredd", + viewportHeight: "Höjd", + fullPage: "Hel sida", + submit: "Fånga", + download: "Ladda ner skärmbild", + capturing: "Fångar webbsida...", + errorTimeout: "Sidan tog för lång tid att ladda", + errorBlocked: "Denna URL kan inte fångas", + errorUnavailable: "Skärmdumpstjänsten är inte tillgänglig", + errorFailed: "Kunde inte fånga sidan", + placeholder: "Ange en URL och klicka på Fånga", presets: { desktop: "Desktop", tablet: "Tablet", mobile: "Mobile", - custom: "Custom", + custom: "Anpassad", }, }, "barcode-read": { @@ -1551,10 +1552,10 @@ export const sv: TranslationKeys = { }, collage: { template: "Mall", - aspectRatio: "Bildforhallande", + aspectRatio: "Bildförhållande", gap: "Mellanrum", cornerRadius: "Hornradie", - backgroundColor: "Bakgrundsfarg", + backgroundColor: "Bakgrundsfärg", outputFormat: "Utdataformat", quality: "Kvalitet", submit: "Skapa collage", @@ -1564,33 +1565,33 @@ export const sv: TranslationKeys = { direction: "Riktning", horizontal: "Horisontell", vertical: "Vertikal", - grid: "Rutnat", - gridColumns: "Rutnatskolumner", + grid: "Rutnät", + gridColumns: "Rutnätskolumner", resizeMode: "Skalningsmetod", fit: "Passa", original: "Original", - stretchMode: "Stracka", - cropMode: "Beskara", + stretchMode: "Sträcka", + cropMode: "Beskära", alignment: "Justering", - start: "Borjan", + start: "Början", center: "Mitten", end: "Slut", gap: "Mellanrum", border: "Ram", cornerRadius: "Hornradie", - backgroundColor: "Bakgrundsfarg", + backgroundColor: "Bakgrundsfärg", outputFormat: "Utdataformat", quality: "Kvalitet", submit: "Sammanfoga bilder", }, split: { - modeGrid: "Rutnat", + modeGrid: "Rutnät", modeTileSize: "Plattstorlek", presets: "Mallar", columns: "Kolumner", rows: "Rader", tileWidth: "Plattbredd", - tileHeight: "Platthojd", + tileHeight: "Platthöjd", outputFormat: "Utdataformat", quality: "Kvalitet", submit: "Dela bild", @@ -1599,25 +1600,25 @@ export const sv: TranslationKeys = { border: { presets: "Mallar", borderWidth: "Rambredd", - borderColor: "Ramfarg", + borderColor: "Ramfärg", padding: "Utfyllnad", - paddingColor: "Utfyllnadsfarg", + paddingColor: "Utfyllnadsfärg", cornerRadius: "Hornradie", shadow: "Skugga", shadowBlur: "Skuggostarpa", shadowOffsetX: "Skuggoffset X", shadowOffsetY: "Skuggoffset Y", - shadowColor: "Skuggfarg", + shadowColor: "Skuggfärg", shadowOpacity: "Skuggopacitet", - submit: "Lagg till ram", - submitBatch: "Lagg till ram ({count} filer)", - progressLabel: "Lagger till ram", + submit: "Lägg till ram", + submitBatch: "Lägg till ram ({count} filer)", + progressLabel: "Lägger till ram", }, beautify: { preset: "Mall", backgroundType: "Bakgrundstyp", - solidColor: "Heltackande farg", - linearGradient: "Linjar toning", + solidColor: "Heltäckande färg", + linearGradient: "Linjär toning", radialGradient: "Radial toning", customImage: "Egen bild", gradientAngle: "Toningsvinkel", @@ -1625,66 +1626,66 @@ export const sv: TranslationKeys = { borderRadius: "Ramradie", shadowPreset: "Skuggmall", deviceFrame: "Enhetsram", - submit: "Forskona", - submitBatch: "Forskona ({count} filer)", - progressLabel: "Forskonar skarmklipp", + submit: "Försköna", + submitBatch: "Försköna ({count} filer)", + progressLabel: "Förskönar skärmklipp", }, "circle-crop": { - submit: "Circle Crop", - submitBatch: "Circle Crop ({count} files)", - progressLabel: "Cropping to circle", + submit: "Cirkulär beskärning", + submitBatch: "Cirkulär beskärning ({count} filer)", + progressLabel: "Beskär till cirkel", }, duotone: { - shadow: "Shadow Color", - highlight: "Highlight Color", - submit: "Apply Duotone", - submitBatch: "Apply Duotone ({count} files)", - progressLabel: "Applying duotone", + shadow: "Skuggfärg", + highlight: "Högdagerfärg", + submit: "Använd tvåton", + submitBatch: "Använd tvåton ({count} filer)", + progressLabel: "Tillämpar tvåton", }, "image-pad": { - target: "Target Ratio", - color: "Background Color", - submit: "Pad Image", - submitBatch: "Pad Image ({count} files)", - progressLabel: "Padding image", + target: "Målförhållande", + color: "Bakgrundsfärg", + submit: "Fyll ut bild", + submitBatch: "Fyll ut bild ({count} filer)", + progressLabel: "Fyller ut bild", }, pixelate: { - blockSize: "Block Size", - submit: "Pixelate", - submitBatch: "Pixelate ({count} files)", - progressLabel: "Pixelating", + blockSize: "Blockstorlek", + submit: "Pixelera", + submitBatch: "Pixelera ({count} filer)", + progressLabel: "Pixelerar", }, vignette: { - strength: "Strength", - color: "Vignette Color", - submit: "Apply Vignette", - submitBatch: "Apply Vignette ({count} files)", - progressLabel: "Applying vignette", + strength: "Styrka", + color: "Vinjettfärg", + submit: "Använd vinjett", + submitBatch: "Använd vinjett ({count} filer)", + progressLabel: "Tillämpar vinjett", }, "gif-webp": { - submit: "Convert", - submitBatch: "Convert ({count} files)", - progressLabel: "Converting animation", + submit: "Konvertera", + submitBatch: "Konvertera ({count} filer)", + progressLabel: "Konverterar animation", }, histogram: { - submit: "Generate Histogram", - submitBatch: "Generate Histogram ({count} files)", - progressLabel: "Generating histogram", + submit: "Generera histogram", + submitBatch: "Generera histogram ({count} filer)", + progressLabel: "Genererar histogram", }, "lqip-placeholder": { - width: "Width", - blur: "Blur", - submit: "Generate Placeholder", - submitBatch: "Generate Placeholder ({count} files)", - progressLabel: "Generating placeholder", + width: "Bredd", + blur: "Oskärpa", + submit: "Generera platshållare", + submitBatch: "Generera platshållare ({count} filer)", + progressLabel: "Genererar platshållare", }, "sprite-sheet": { - columns: "Columns", - padding: "Padding", - background: "Background Color", - submit: "Create Sprite Sheet", - submitBatch: "Create Sprite Sheet", - progressLabel: "Creating sprite sheet", + columns: "Kolumner", + padding: "Utfyllnad", + background: "Bakgrundsfärg", + submit: "Skapa spriteark", + submitBatch: "Skapa spriteark", + progressLabel: "Skapar spriteark", }, "svg-to-raster": { outputFormat: "Utdataformat", @@ -1694,10 +1695,10 @@ export const sv: TranslationKeys = { scalePresets: "Skalmallar", dpiPresets: "DPI-mallar", customWidth: "Bredd (px)", - customHeight: "Hojd (px)", + customHeight: "Höjd (px)", background: "Bakgrund", bgTransparent: "Transparent", - bgColor: "Farg", + bgColor: "Färg", quality: "Kvalitet", submit: "Konvertera SVG", submitBatch: "Konvertera ({count} filer)", @@ -1710,41 +1711,41 @@ export const sv: TranslationKeys = { photo: "Foto", sketch: "Skiss", customPreset: "Anpassad", - colorMode: "Fargmetod", + colorMode: "Färgmetod", bw: "S/V", - colorModeColor: "Farg", - threshold: "Troskelvarde", - colorPrecision: "Fargprecision", + colorModeColor: "Färg", + threshold: "Tröskelvärde", + colorPrecision: "Färgprecision", layerDifference: "Lagerskillnad", - filterSpeckle: "Filtrera flackar", + filterSpeckle: "Filtrera fläckar", pathMode: "Banmetod", - cornerThreshold: "Horntroskel", - invertColors: "Invertera farger", + cornerThreshold: "Hörntröskel", + invertColors: "Invertera färger", submit: "Vektorisera", submitBatch: "Vektorisera ({count} filer)", progressLabel: "Vektoriserar", }, "gif-tools": { mode: "Metod", - resize: "Andra storlek", + resize: "Ändra storlek", optimize: "Optimera", speed: "Hastighet", - reverse: "Vand", + reverse: "Vänd", extract: "Extrahera", rotateMode: "Rotera", pixel: "Pixel", percentage: "Procent", - colors: "Farger", + colors: "Färger", dither: "Dithering", - effort: "Anstrangning", + effort: "Ansträngning", speedFactor: "Hastighetsfaktor", loopControl: "Loopstyrning", - infinite: "Oandlig", - once: "En gang", + infinite: "Oändlig", + once: "En gång", customLoop: "Anpassad", loopCount: "Antal loopar", extractSingle: "Enskild", - extractRange: "Omfang", + extractRange: "Omfång", extractAll: "Alla", frameNumber: "Bildrutenummer", frameStart: "Startruta", @@ -1756,10 +1757,10 @@ export const sv: TranslationKeys = { }, "image-to-base64": { outputFormat: "Utdataformat", - keepOriginal: "Behaall original", + keepOriginal: "Behåll original", quality: "Kvalitet", maxWidth: "Max bredd", - maxHeight: "Max hojd", + maxHeight: "Max höjd", submit: "Konvertera till Base64", submitBatch: "Konvertera ({count} filer)", copyBase64: "Kopiera Base64", @@ -1769,654 +1770,654 @@ export const sv: TranslationKeys = { }, "barcode-generate": { text: "Text", - type: "Barcode Type", - scale: "Scale", - includeText: "Include Text", - submit: "Generate Barcode", - download: "Download Barcode", + type: "Streckkodstyp", + scale: "Skala", + includeText: "Inkludera text", + submit: "Generera streckkod", + download: "Ladda ner streckkod", }, "chart-maker": { - kind: "Chart Type", - title: "Title", - width: "Width", - height: "Height", - submit: "Create Chart", - submitBatch: "Create Chart ({count} files)", - progressLabel: "Creating chart", + kind: "Diagramtyp", + title: "Titel", + width: "Bredd", + height: "Höjd", + submit: "Skapa diagram", + submitBatch: "Skapa diagram ({count} filer)", + progressLabel: "Skapar diagram", }, "enhance-faces-standalone": { model: "Modell", fast: "Snabb", balanced: "Balanserad", - best: "Basta", + best: "Bästa", }, "convert-video": { - format: "Output format", - quality: "Quality", - high: "High", - balanced: "Balanced", - small: "Smallest", - submit: "Convert", - submitBatch: "Convert ({count} files)", - progressLabel: "Converting", + format: "Utdataformat", + quality: "Kvalitet", + high: "Hög", + balanced: "Balanserad", + small: "Minsta", + submit: "Konvertera", + submitBatch: "Konvertera ({count} filer)", + progressLabel: "Konverterar", }, "compress-video": { - quality: "Compression", - light: "Light", - balanced: "Balanced", - strong: "Strong", - resolution: "Resolution", + quality: "Komprimering", + light: "Lätt", + balanced: "Balanserad", + strong: "Stark", + resolution: "Upplösning", original: "Original", - submit: "Compress", - submitBatch: "Compress ({count} files)", - progressLabel: "Compressing", + submit: "Komprimera", + submitBatch: "Komprimera ({count} filer)", + progressLabel: "Komprimerar", }, "trim-video": { - start: "Start (seconds)", - end: "End (seconds)", - precise: "Frame-accurate (re-encodes)", - submit: "Trim", - submitBatch: "Trim ({count} files)", - progressLabel: "Trimming", + start: "Start (sekunder)", + end: "Slut (sekunder)", + precise: "Bildruteexakt (omkodas)", + submit: "Trimma", + submitBatch: "Trimma ({count} filer)", + progressLabel: "Trimmar", }, "mute-video": { - submit: "Remove audio", - submitBatch: "Remove audio ({count} files)", - progressLabel: "Muting", + submit: "Ta bort ljud", + submitBatch: "Ta bort ljud ({count} filer)", + progressLabel: "Tar bort ljud", }, "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", + fps: "Bildrutor per sekund", + width: "Bredd (px)", + start: "Start (sekunder)", + duration: "Längd (sekunder)", + submit: "Skapa GIF", + submitBatch: "Skapa GIF ({count} filer)", + progressLabel: "Skapar 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", + width: "Bredd (px)", + height: "Höjd (px)", + hint: "Lämna en dimension tom för att behålla bildförhållandet", + submit: "Ändra storlek", + submitBatch: "Ändra storlek ({count} filer)", + progressLabel: "Ändrar storlek", }, "crop-video": { - width: "Width (px)", - height: "Height (px)", - x: "X offset", - y: "Y offset", - submit: "Crop", - submitBatch: "Crop ({count} files)", - progressLabel: "Cropping", + width: "Bredd (px)", + height: "Höjd (px)", + x: "X-förskjutning", + y: "Y-förskjutning", + submit: "Beskär", + submitBatch: "Beskär ({count} filer)", + progressLabel: "Beskär", }, "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", + transform: "Transformation", + cw90: "Rotera 90 medurs", + ccw90: "Rotera 90 moturs", + rotate180: "Rotera 180", + hflip: "Vänd horisontellt", + vflip: "Vänd vertikalt", + submit: "Rotera", + submitBatch: "Rotera ({count} filer)", + progressLabel: "Roterar", }, "change-fps": { - fps: "Frames per second", - submit: "Change FPS", - submitBatch: "Change FPS ({count} files)", - progressLabel: "Changing FPS", + fps: "Bildrutor per sekund", + submit: "Ändra FPS", + submitBatch: "Ändra FPS ({count} filer)", + progressLabel: "Ändrar FPS", }, "video-color": { - brightness: "Brightness", - contrast: "Contrast", - saturation: "Saturation", + brightness: "Ljusstyrka", + contrast: "Kontrast", + saturation: "Mättnad", gamma: "Gamma", - submit: "Apply", - submitBatch: "Apply ({count} files)", - progressLabel: "Adjusting color", + submit: "Tillämpa", + submitBatch: "Tillämpa ({count} filer)", + progressLabel: "Justerar färg", }, "video-speed": { - factor: "Speed factor", - keepPitch: "Keep original pitch", - submit: "Change speed", - submitBatch: "Change speed ({count} files)", - progressLabel: "Changing speed", + factor: "Hastighetsfaktor", + keepPitch: "Behåll ursprunglig tonhöjd", + submit: "Ändra hastighet", + submitBatch: "Ändra hastighet ({count} filer)", + progressLabel: "Ändrar hastighet", }, "reverse-video": { - hint: "Limited to clips up to 5 minutes", - submit: "Reverse", - submitBatch: "Reverse ({count} files)", - progressLabel: "Reversing", + hint: "Begränsat till klipp upp till 5 minuter", + submit: "Reversera", + submitBatch: "Reversera ({count} filer)", + progressLabel: "Reverserar", }, "video-loudnorm": { - hint: "Normalizes audio to EBU R128 broadcast standard", - submit: "Normalize", - submitBatch: "Normalize ({count} files)", - progressLabel: "Normalizing", + hint: "Normaliserar ljud till EBU R128-sändningsstandard", + submit: "Normalisera", + submitBatch: "Normalisera ({count} filer)", + progressLabel: "Normaliserar", }, "aspect-pad": { - target: "Target ratio", - color: "Background color", - colorHint: "Hex color, e.g. #000000", - submit: "Pad", - submitBatch: "Pad ({count} files)", - progressLabel: "Padding", + target: "Målförhållande", + color: "Bakgrundsfärg", + colorHint: "Hexfärg, t.ex. #000000", + submit: "Fyll ut", + submitBatch: "Fyll ut ({count} filer)", + progressLabel: "Fyller ut", }, "blur-pad": { - target: "Target ratio", - blur: "Blur strength", - submit: "Pad", - submitBatch: "Pad ({count} files)", - progressLabel: "Padding", + target: "Målförhållande", + blur: "Oskärpestyrka", + submit: "Fyll ut", + submitBatch: "Fyll ut ({count} filer)", + progressLabel: "Fyller ut", }, "watermark-video": { - text: "Watermark text", + text: "Vattenstämpeltext", position: "Position", - fontSize: "Font size", - opacity: "Opacity", - color: "Color", - colorHint: "Hex color, e.g. #ffffff", - submit: "Watermark", - submitBatch: "Watermark ({count} files)", - progressLabel: "Watermarking", + fontSize: "Teckenstorlek", + opacity: "Opacitet", + color: "Färg", + colorHint: "Hexfärg, t.ex. #ffffff", + submit: "Vattenstämpla", + submitBatch: "Vattenstämpla ({count} filer)", + progressLabel: "Vattenstämplar", }, "stabilize-video": { - smoothing: "Smoothing", - hint: "Runs two passes and takes longer than most tools", - submit: "Stabilize", - submitBatch: "Stabilize ({count} files)", - progressLabel: "Stabilizing", + smoothing: "Utjämning", + hint: "Kör två pass och tar längre tid än de flesta verktyg", + submit: "Stabilisera", + submitBatch: "Stabilisera ({count} filer)", + progressLabel: "Stabiliserar", }, "gif-to-video": { - format: "Output format", - submit: "Convert", - submitBatch: "Convert ({count} files)", - progressLabel: "Converting", + format: "Utdataformat", + submit: "Konvertera", + submitBatch: "Konvertera ({count} filer)", + progressLabel: "Konverterar", }, "video-to-webp": { - fps: "Frames per second", - width: "Width (px)", - quality: "Quality", - loop: "Loop animation", - submit: "Convert", - submitBatch: "Convert ({count} files)", - progressLabel: "Converting", + fps: "Bildrutor per sekund", + width: "Bredd (px)", + quality: "Kvalitet", + loop: "Loopa animation", + submit: "Konvertera", + submitBatch: "Konvertera ({count} filer)", + progressLabel: "Konverterar", }, "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", + mode: "Extraheringsläge", + modeAll: "Alla bildrutor", + modeNth: "Var N:te bildruta", + modeTimestamps: "Specifika tidsstämplar", + n: "Ta var N:te bildruta", + timestamps: "Tidsstämplar (sekunder)", + timestampsHint: "Kommaseparerade, t.ex. 0.5, 2, 4.5", + format: "Bildformat", + submit: "Extrahera bildrutor", + submitBatch: "Extrahera bildrutor ({count} filer)", + progressLabel: "Extraherar bildrutor", }, "merge-videos": { - hint: "Files are joined in upload order", - submit: "Merge", - submitBatch: "Merge ({count} files)", - progressLabel: "Merging", + hint: "Filerna sammanfogas i uppladdningsordning", + submit: "Sammanfoga", + submitBatch: "Sammanfoga ({count} filer)", + progressLabel: "Sammanfogar", }, "replace-audio": { - hint: "Upload the video first, then the audio", - submit: "Replace Audio", - submitBatch: "Replace Audio ({count} files)", - progressLabel: "Replacing audio", + hint: "Ladda upp videon först, sedan ljudet", + submit: "Ersätt ljud", + submitBatch: "Ersätt ljud ({count} filer)", + progressLabel: "Ersätter ljud", }, "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", + fontSize: "Teckenstorlek", + hint: "Ladda upp en video och en undertextfil (.srt eller .vtt)", + submit: "Bränn in undertexter", + submitBatch: "Bränn in undertexter ({count} filer)", + progressLabel: "Bränner in undertexter", }, "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", + language: "Språkkod", + languageHint: "Trebokstavskod enligt ISO 639-2, t.ex. eng, spa, fra", + submit: "Bädda in undertexter", + submitBatch: "Bädda in undertexter ({count} filer)", + progressLabel: "Bäddar in undertexter", }, "extract-subtitles": { - submit: "Extract Subtitles", - submitBatch: "Extract Subtitles ({count} files)", - progressLabel: "Extracting subtitles", + submit: "Extrahera undertexter", + submitBatch: "Extrahera undertexter ({count} filer)", + progressLabel: "Extraherar undertexter", }, "images-to-video": { - secondsPerImage: "Seconds per image", - resolution: "Resolution", - fps: "Frames per second", - submit: "Create Video", - submitBatch: "Create Video ({count} files)", - progressLabel: "Creating slideshow", + secondsPerImage: "Sekunder per bild", + resolution: "Upplösning", + fps: "Bildrutor per sekund", + submit: "Skapa video", + submitBatch: "Skapa video ({count} filer)", + progressLabel: "Skapar bildspel", }, "video-metadata": { - hint: "Metadata report appears in the result", - submit: "Strip Metadata", - submitBatch: "Strip Metadata ({count} files)", - progressLabel: "Stripping metadata", + hint: "Metadatarapport visas i resultatet", + submit: "Ta bort metadata", + submitBatch: "Ta bort metadata ({count} filer)", + progressLabel: "Tar bort metadata", }, "convert-audio": { - format: "Output format", - bitrate: "Bitrate (kbps)", - submit: "Convert", - submitBatch: "Convert ({count} files)", - progressLabel: "Converting", + format: "Utdataformat", + bitrate: "Bithastighet (kbps)", + submit: "Konvertera", + submitBatch: "Konvertera ({count} filer)", + progressLabel: "Konverterar", }, "trim-audio": { - start: "Start (seconds)", - end: "End (seconds)", - submit: "Trim", - submitBatch: "Trim ({count} files)", - progressLabel: "Trimming", + start: "Start (sekunder)", + end: "Slut (sekunder)", + submit: "Trimma", + submitBatch: "Trimma ({count} filer)", + progressLabel: "Trimmar", }, "extract-audio": { - format: "Output format", - submit: "Extract", - submitBatch: "Extract ({count} files)", - progressLabel: "Extracting", + format: "Utdataformat", + submit: "Extrahera", + submitBatch: "Extrahera ({count} filer)", + progressLabel: "Extraherar", }, "volume-adjust": { - "gain-db": "Gain (dB)", - submit: "Adjust Volume", - submitBatch: "Adjust Volume ({count} files)", - progressLabel: "Adjusting volume", + "gain-db": "Förstärkning (dB)", + submit: "Justera volym", + submitBatch: "Justera volym ({count} filer)", + progressLabel: "Justerar volym", }, "normalize-audio": { - hint: "EBU R128 loudness normalization", - submit: "Normalize", - submitBatch: "Normalize ({count} files)", - progressLabel: "Normalizing", + hint: "EBU R128 ljudstyrkenormalisering", + submit: "Normalisera", + submitBatch: "Normalisera ({count} filer)", + progressLabel: "Normaliserar", }, "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", + "fade-in-s": "Tona in (sekunder)", + "fade-out-s": "Tona ut (sekunder)", + submit: "Tillämpa toning", + submitBatch: "Tillämpa toning ({count} filer)", + progressLabel: "Tillämpar toning", }, "reverse-audio": { - submit: "Reverse", - submitBatch: "Reverse ({count} files)", - progressLabel: "Reversing", + submit: "Vänd", + submitBatch: "Vänd ({count} filer)", + progressLabel: "Vänder", }, "audio-speed": { - factor: "Speed factor", - submit: "Change Speed", - submitBatch: "Change Speed ({count} files)", - progressLabel: "Changing speed", + factor: "Hastighetsfaktor", + submit: "Ändra hastighet", + submitBatch: "Ändra hastighet ({count} filer)", + progressLabel: "Ändrar hastighet", }, "pitch-shift": { - semitones: "Semitones", - hint: "0 semitones is not allowed", - submit: "Shift Pitch", - submitBatch: "Shift Pitch ({count} files)", - progressLabel: "Shifting pitch", + semitones: "Halvtoner", + hint: "0 halvtoner är inte tillåtet", + submit: "Ändra tonhöjd", + submitBatch: "Ändra tonhöjd ({count} filer)", + progressLabel: "Ändrar tonhöjd", }, "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", + mode: "Kanalläge", + "stereo-to-mono": "Stereo till mono", + "mono-to-stereo": "Mono till stereo", + swap: "Byt vänster/höger", + submit: "Konvertera kanaler", + submitBatch: "Konvertera kanaler ({count} filer)", + progressLabel: "Konverterar kanaler", }, "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", + "threshold-db": "Tystnadströskel (dB)", + "min-silence-s": "Minsta tystnadslängd (sekunder)", + submit: "Ta bort tystnad", + submitBatch: "Ta bort tystnad ({count} filer)", + progressLabel: "Tar bort tystnad", }, "noise-reduction": { - strength: "Strength", - light: "Light", - medium: "Medium", - strong: "Strong", - submit: "Reduce Noise", - submitBatch: "Reduce Noise ({count} files)", - progressLabel: "Reducing noise", + strength: "Styrka", + light: "Lätt", + medium: "Medel", + strong: "Stark", + submit: "Minska brus", + submitBatch: "Minska brus ({count} filer)", + progressLabel: "Minskar brus", }, "merge-audio": { - format: "Output format", + format: "Utdataformat", 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", + "order-hint": "Filerna sammanfogas i uppladdningsordning", + submit: "Sammanfoga ljud", + submitBatch: "Sammanfoga ljud ({count} filer)", + progressLabel: "Sammanfogar ljud", }, "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", + mode: "Delningsläge", + time: "Efter tid", + parts: "Lika delar", + silence: "Efter tystnad", + "segment-s": "Segmentlängd (sekunder)", + "num-parts": "Antal delar", + "threshold-db": "Tystnadströskel (dB)", + "min-silence-s": "Minsta tystnadslängd (sekunder)", + submit: "Dela ljud", + submitBatch: "Dela ljud ({count} filer)", + progressLabel: "Delar ljud", }, "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", + "start-s": "Starttid (sekunder)", + "duration-s": "Längd (sekunder)", + "max-hint": "Maximalt 30 sekunder", + submit: "Skapa ringsignal", + submitBatch: "Skapa ringsignal ({count} filer)", + progressLabel: "Skapar ringsignal", }, "waveform-image": { - width: "Width (px)", - height: "Height (px)", - color: "Waveform color", - submit: "Generate Waveform", - submitBatch: "Generate Waveform ({count} files)", - progressLabel: "Generating waveform", + width: "Bredd (px)", + height: "Höjd (px)", + color: "Vågformsfärg", + submit: "Generera vågform", + submitBatch: "Generera vågform ({count} filer)", + progressLabel: "Genererar vågform", }, "audio-metadata": { - strip: "Strip all metadata", - title: "Title", + strip: "Ta bort all metadata", + title: "Titel", artist: "Artist", album: "Album", - submit: "Apply Metadata", - submitBatch: "Apply Metadata ({count} files)", - progressLabel: "Applying metadata", + submit: "Tillämpa metadata", + submitBatch: "Tillämpa metadata ({count} filer)", + progressLabel: "Tillämpar 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", + addFiles: "Lägg till PDF-filer att sammanfoga", + needTwo: "Minst två PDF-filer krävs", + orderHint: "{count} PDF-filer sammanfogas i denna ordning", + submit: "Sammanfoga", + submitBatch: "Sammanfoga ({count} filer)", + progressLabel: "Sammanfogar", }, "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", + mode: "Delningsläge", + range: "Sidintervall", + rangeHint: "t.ex. 1-3, 5, 7-z", + everyN: "Sidor per del", + submit: "Dela", + submitBatch: "Dela ({count} filer)", + progressLabel: "Delar", }, "compress-pdf": { - preset: "Quality preset", - screen: "Screen (smallest)", - ebook: "Ebook (balanced)", - printer: "Printer (best quality)", - submit: "Compress", - submitBatch: "Compress ({count} files)", - progressLabel: "Compressing", + preset: "Kvalitetsförinställning", + screen: "Skärm (minst)", + ebook: "E-bok (balanserad)", + printer: "Skrivare (bästa kvalitet)", + submit: "Komprimera", + submitBatch: "Komprimera ({count} filer)", + progressLabel: "Komprimerar", }, "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", + angle: "Rotationsvinkel", + range: "Sidintervall", + rangeHint: "t.ex. 1-3, 5, 1-z (alla sidor)", + submit: "Rotera", + submitBatch: "Rotera ({count} filer)", + progressLabel: "Roterar", }, "convert-document": { - format: "Output format", - submit: "Convert", - submitBatch: "Convert ({count} files)", - progressLabel: "Converting", + format: "Utdataformat", + submit: "Konvertera", + submitBatch: "Konvertera ({count} filer)", + progressLabel: "Konverterar", }, "convert-presentation": { - format: "Output format", - submit: "Convert", - submitBatch: "Convert ({count} files)", - progressLabel: "Converting", + format: "Utdataformat", + submit: "Konvertera", + submitBatch: "Konvertera ({count} filer)", + progressLabel: "Konverterar", }, "convert-spreadsheet": { - format: "Output format", - hint: "Multi-sheet workbooks export the first sheet to CSV.", - submit: "Convert", - submitBatch: "Convert ({count} files)", - progressLabel: "Converting", + format: "Utdataformat", + hint: "Arbetsböcker med flera blad exporterar första bladet till CSV.", + submit: "Konvertera", + submitBatch: "Konvertera ({count} filer)", + progressLabel: "Konverterar", }, "excel-to-pdf": { - submit: "Convert to PDF", - submitBatch: "Convert ({count} files)", - progressLabel: "Converting", + submit: "Konvertera till PDF", + submitBatch: "Konvertera ({count} filer)", + progressLabel: "Konverterar", }, "powerpoint-to-pdf": { - submit: "Convert to PDF", - submitBatch: "Convert ({count} files)", - progressLabel: "Converting", + submit: "Konvertera till PDF", + submitBatch: "Konvertera ({count} filer)", + progressLabel: "Konverterar", }, "word-to-pdf": { - submit: "Convert to PDF", - submitBatch: "Convert ({count} files)", - progressLabel: "Converting", + submit: "Konvertera till PDF", + submitBatch: "Konvertera ({count} filer)", + progressLabel: "Konverterar", }, "extract-pages": { - range: "Page range", - rangeHint: "e.g. 1-3, 5, 7-z", - submit: "Extract", - submitBatch: "Extract ({count} files)", - progressLabel: "Extracting", + range: "Sidintervall", + rangeHint: "t.ex. 1-3, 5, 7-z", + submit: "Extrahera", + submitBatch: "Extrahera ({count} filer)", + progressLabel: "Extraherar", }, "remove-pages": { - pages: "Pages to remove", - pagesHint: "e.g. 2, 4-6, z (last page)", - submit: "Remove", - submitBatch: "Remove ({count} files)", - progressLabel: "Removing", + pages: "Sidor att ta bort", + pagesHint: "t.ex. 2, 4-6, z (sista sidan)", + submit: "Ta bort", + submitBatch: "Ta bort ({count} filer)", + progressLabel: "Tar bort", }, "organize-pdf": { - order: "Page order", - orderHint: "e.g. 3,1,2 or 1-z (identity)", - submit: "Reorder", - submitBatch: "Reorder ({count} files)", - progressLabel: "Reordering", + order: "Sidordning", + orderHint: "t.ex. 3,1,2 eller 1-z (oförändrad)", + submit: "Ordna om", + submitBatch: "Ordna om ({count} filer)", + progressLabel: "Ordnar om", }, "protect-pdf": { - userPassword: "User password", - ownerPassword: "Owner password (optional)", - ownerPasswordHint: "Defaults to user password if empty", - submit: "Protect", - submitBatch: "Protect ({count} files)", - progressLabel: "Encrypting", + userPassword: "Användarlösenord", + ownerPassword: "Ägarlösenord (valfritt)", + ownerPasswordHint: "Använder användarlösenordet om tomt", + submit: "Skydda", + submitBatch: "Skydda ({count} filer)", + progressLabel: "Krypterar", }, "unlock-pdf": { password: "Password", - submit: "Unlock", - submitBatch: "Unlock ({count} files)", - progressLabel: "Decrypting", + submit: "Lås upp", + submitBatch: "Lås upp ({count} filer)", + progressLabel: "Dekrypterar", }, "repair-pdf": { - submit: "Repair", - submitBatch: "Repair ({count} files)", - progressLabel: "Repairing", + submit: "Reparera", + submitBatch: "Reparera ({count} filer)", + progressLabel: "Reparerar", }, "linearize-pdf": { - submit: "Optimize", - submitBatch: "Optimize ({count} files)", - progressLabel: "Linearizing", + submit: "Optimera", + submitBatch: "Optimera ({count} filer)", + progressLabel: "Linjäriserar", }, "grayscale-pdf": { - submit: "Convert", - submitBatch: "Convert ({count} files)", - progressLabel: "Converting", + submit: "Konvertera", + submitBatch: "Konvertera ({count} filer)", + progressLabel: "Konverterar", }, "pdfa-convert": { - submit: "Convert", - submitBatch: "Convert ({count} files)", - progressLabel: "Converting", + submit: "Konvertera", + submitBatch: "Konvertera ({count} filer)", + progressLabel: "Konverterar", }, "crop-pdf": { - margin: "Margin (points)", - submit: "Crop", - submitBatch: "Crop ({count} files)", - progressLabel: "Cropping", + margin: "Marginal (punkter)", + submit: "Beskär", + submitBatch: "Beskär ({count} filer)", + progressLabel: "Beskär", }, "nup-pdf": { - perSheet: "Pages per sheet", - submit: "Arrange", - submitBatch: "Arrange ({count} files)", - progressLabel: "Arranging", + perSheet: "Sidor per ark", + submit: "Ordna", + submitBatch: "Ordna ({count} filer)", + progressLabel: "Ordnar", }, "booklet-pdf": { - perSheet: "Pages per sheet", - submit: "Create Booklet", - submitBatch: "Create Booklet ({count} files)", - progressLabel: "Creating booklet", + perSheet: "Sidor per ark", + submit: "Skapa häfte", + submitBatch: "Skapa häfte ({count} filer)", + progressLabel: "Skapar häfte", }, "watermark-pdf": { - text: "Watermark text", + text: "Vattenstämpeltext", position: "Position", - fontSize: "Font size", - opacity: "Opacity", + fontSize: "Teckenstorlek", + opacity: "Opacitet", rotation: "Rotation", - submit: "Watermark", - submitBatch: "Watermark ({count} files)", - progressLabel: "Watermarking", + submit: "Vattenstämpla", + submitBatch: "Vattenstämpla ({count} filer)", + progressLabel: "Vattenstämplar", }, "pdf-page-numbers": { position: "Position", - fontSize: "Font size", - submit: "Add Numbers", - submitBatch: "Add Numbers ({count} files)", - progressLabel: "Numbering", + fontSize: "Teckenstorlek", + submit: "Lägg till sidnummer", + submitBatch: "Lägg till sidnummer ({count} filer)", + progressLabel: "Numrerar", }, "flatten-pdf": { - submit: "Flatten", - submitBatch: "Flatten ({count} files)", - progressLabel: "Flattening", + submit: "Platta till", + submitBatch: "Platta till ({count} filer)", + progressLabel: "Plattar till", }, "redact-pdf": { - terms: "Terms to redact", - termsHint: "One term per line (max 50)", - caseSensitive: "Case sensitive", - submit: "Redact", - submitBatch: "Redact ({count} files)", - progressLabel: "Redacting", + terms: "Termer att maskera", + termsHint: "En term per rad (max 50)", + caseSensitive: "Skiftlägeskänslig", + submit: "Maskera", + submitBatch: "Maskera ({count} filer)", + progressLabel: "Maskerar", }, "pdf-to-text": { - submit: "Extract Text", - submitBatch: "Extract Text ({count} files)", - progressLabel: "Extracting", + submit: "Extrahera text", + submitBatch: "Extrahera text ({count} filer)", + progressLabel: "Extraherar", }, "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", + hint: "Bäst för textbaserade PDF-filer; skannade sidor kräver OCR", + submit: "Konvertera till Word", + submitBatch: "Konvertera till Word ({count} filer)", + progressLabel: "Konverterar", }, "pdf-metadata": { - title: "Title", - author: "Author", - subject: "Subject", - keywords: "Keywords", - submit: "Set Metadata", - submitBatch: "Set Metadata ({count} files)", - progressLabel: "Setting metadata", + title: "Titel", + author: "Författare", + subject: "Ämne", + keywords: "Nyckelord", + submit: "Ange metadata", + submitBatch: "Ange metadata ({count} filer)", + progressLabel: "Anger metadata", }, "html-to-pdf": { - hint: "Remote resources are disabled for privacy.", - submit: "Convert to PDF", - submitBatch: "Convert to PDF ({count} files)", - progressLabel: "Converting", + hint: "Externa resurser är inaktiverade av integritetsskäl.", + submit: "Konvertera till PDF", + submitBatch: "Konvertera till PDF ({count} filer)", + progressLabel: "Konverterar", }, "markdown-to-docx": { - submit: "Convert to DOCX", - submitBatch: "Convert ({count} files)", - progressLabel: "Converting", + submit: "Konvertera till DOCX", + submitBatch: "Konvertera ({count} filer)", + progressLabel: "Konverterar", }, "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", + hint: "Externa bilder i källan behålls som de är i utdatan.", + submit: "Konvertera till HTML", + submitBatch: "Konvertera ({count} filer)", + progressLabel: "Konverterar", }, "markdown-to-pdf": { - hint: "Remote resources are disabled for privacy.", - submit: "Convert to PDF", - submitBatch: "Convert to PDF ({count} files)", - progressLabel: "Converting", + hint: "Externa resurser är inaktiverade av integritetsskäl.", + submit: "Konvertera till PDF", + submitBatch: "Konvertera till PDF ({count} filer)", + progressLabel: "Konverterar", }, "epub-convert": { - format: "Output format", - hint: "Remote resources inside the book are not fetched.", - submit: "Convert", - submitBatch: "Convert ({count} files)", - progressLabel: "Converting", + format: "Utdataformat", + hint: "Externa resurser i boken hämtas inte.", + submit: "Konvertera", + submitBatch: "Konvertera ({count} filer)", + progressLabel: "Konverterar", }, "to-epub": { - submit: "Convert to EPUB", - submitBatch: "Convert ({count} files)", - progressLabel: "Converting", + submit: "Konvertera till EPUB", + submitBatch: "Konvertera ({count} filer)", + progressLabel: "Konverterar", }, "csv-excel": { - sheet: "Worksheet number", - submit: "Convert", - submitBatch: "Convert ({count} files)", - progressLabel: "Converting", + sheet: "Kalkylbladsnummer", + submit: "Konvertera", + submitBatch: "Konvertera ({count} filer)", + progressLabel: "Konverterar", }, "csv-json": { - pretty: "Pretty print", - submit: "Convert", - submitBatch: "Convert ({count} files)", - progressLabel: "Converting", + pretty: "Formaterad utskrift", + submit: "Konvertera", + submitBatch: "Konvertera ({count} filer)", + progressLabel: "Konverterar", }, "json-xml": { - pretty: "Pretty print", - submit: "Convert", - submitBatch: "Convert ({count} files)", - progressLabel: "Converting", + pretty: "Formaterad utskrift", + submit: "Konvertera", + submitBatch: "Konvertera ({count} filer)", + progressLabel: "Konverterar", }, "split-csv": { - rowsPerFile: "Rows per file", - keepHeader: "Keep header in each file", - submit: "Split", - submitBatch: "Split ({count} files)", - progressLabel: "Splitting", + rowsPerFile: "Rader per fil", + keepHeader: "Behåll rubrikrad i varje fil", + submit: "Dela", + submitBatch: "Dela ({count} filer)", + progressLabel: "Delar", }, "merge-csvs": { - submit: "Merge", - submitBatch: "Merge ({count} files)", - progressLabel: "Merging", + submit: "Sammanfoga", + submitBatch: "Sammanfoga ({count} filer)", + progressLabel: "Sammanfogar", }, "yaml-json": { - submit: "Convert", - submitBatch: "Convert ({count} files)", - progressLabel: "Converting", + submit: "Konvertera", + submitBatch: "Konvertera ({count} filer)", + progressLabel: "Konverterar", }, "xml-to-csv": { - submit: "Convert", - submitBatch: "Convert ({count} files)", - progressLabel: "Converting", + submit: "Konvertera", + submitBatch: "Konvertera ({count} filer)", + progressLabel: "Konverterar", }, "create-zip": { - submit: "Create ZIP", - submitBatch: "Create ZIP ({count} files)", - progressLabel: "Zipping", + submit: "Skapa ZIP", + submitBatch: "Skapa ZIP ({count} filer)", + progressLabel: "Komprimerar", }, "extract-zip": { - submit: "Extract", - submitBatch: "Extract ({count} files)", - progressLabel: "Extracting", + submit: "Packa upp", + submitBatch: "Packa upp ({count} filer)", + progressLabel: "Packar upp", }, }, urlImport: { - title: "Importera fran URL:er", + title: "Importera från 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", + addButton: "Lägg till {count} filer", + adding: "Lägger till...", + retryButton: "Försök igen", cancelButton: "Avbryt", readyCount: "{count} redo", failedStatus: "Misslyckades", @@ -2424,112 +2425,112 @@ export const sv: TranslationKeys = { comparison: { original: "Original", processed: "Bearbetad", - before: "Fore", + before: "Före", after: "Efter", savings: "Besparing", }, toolPage: { - emptyPrompt: "Slapp eller ladda upp en bild for att borja", + emptyPrompt: "Släpp eller ladda upp en bild för att börja", filesCount: "Filer ({count})", - addMore: "+ Lagg till fler", + addMore: "+ Lägg till fler", clearAll: "Rensa alla", acceptDescription: "Enbart {exts}-filer", notFound: "Verktyg hittades inte", - configureAndGenerate: "Konfigurera installningar och generera.", - processingFailed: "Bearbetning misslyckades for denna fil", + configureAndGenerate: "Konfigurera inställningar och generera.", + processingFailed: "Bearbetning misslyckades för denna fil", conversionComplete: "Konvertering klar", cannotPreviewDownload: - "{type}-filer kan inte forhandsvisas i webblasaren. Anvand nedladdningsknappen for att spara din fil.", - generatingPreview: "Genererar forhandsvisning...", + "{type}-filer kan inte förhandsvisas i webbläsaren. Använd nedladdningsknappen för att spara din fil.", + generatingPreview: "Genererar förhandsvisning...", cannotPreviewWillProcess: - "{ext}-filer kan inte forhandsvisas i webblasaren. Verktyget bearbetar anda denna fil.", - previousImage: "Foregaende fil", - nextImage: "Nasta fil", + "{ext}-filer kan inte förhandsvisas i webbläsaren. Verktyget bearbetar ändå denna fil.", + previousImage: "Föregående fil", + nextImage: "Nästa fil", imageCounter: "{current} / {total}", - settingsLabel: "Installningar", + settingsLabel: "Inställningar", downloadAllZip: "Ladda ner alla (ZIP)", - hideSettings: "Dolj installningar", - imageArea: "Forhandsvisningsomrade", - 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", + hideSettings: "Dölj inställningar", + imageArea: "Förhandsvisningsområde", + disabledByAdmin: "Det här verktyget har inaktiverats av din administratör", + browseOtherTools: "Utforska andra verktyg", + privacyNote: "Filer bearbetas på din server och lämnar aldrig ditt nätverk", 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", - previewUnavailable: "Preview will be available after processing", - generatePreview: "Generate Preview", - previewFailed: "Preview generation failed", - backToTools: "Back to Tools", + andMore: "och {count} till", + importFromFiles: "Importera från Filer", + saveToFiles: "Spara till Filer", + savedToFiles: "Sparad till Filer", + adjustSettings: "Justera inställningar", + startOver: "Börja om med en ny fil", + newFile: "Ny fil", + previewUnavailable: "Förhandsgranskning tillgänglig efter bearbetning", + generatePreview: "Generera förhandsgranskning", + previewFailed: "Förhandsgranskning misslyckades", + backToTools: "Tillbaka till verktyg", original: "Original", - processed: "Processed", - saved: "Saved", - noChange: "no change", - download: "Download", - settingsSaved: "Dina installningar ar sparade.", - tryAgain: "Forsok igen", + processed: "Bearbetad", + saved: "Sparad", + noChange: "ingen ändring", + download: "Ladda ner", + settingsSaved: "Dina inställningar är sparade.", + tryAgain: "Försök 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", - audioDecodeUnsupported: "This audio format cannot be previewed in the browser", + batchPartialSuccess: "{success} av {total} bearbetade. {failed} misslyckades.", + dataResultsHint: "Resultaten visas ovan. Använd kopieringsknappen i resultatpanelen.", + downloadAsFile: "Ladda ner som fil", + downloadAll: "Ladda ner alla", + downloadFiles: "Ladda ner {count} filer", + audioDecodeUnsupported: "Det här ljudformatet kan inte förhandsgranskas i webbläsaren", }, homePage: { - generatingPreview: "Genererar forhandsvisning...", - loadingPreview: "Laddar forhandsvisning...", + generatingPreview: "Genererar förhandsvisning...", + loadingPreview: "Laddar förhandsvisning...", changeFile: "Byt fil", - quickActions: "Snabbatgarder", + quickActions: "Snabbåtgärder", 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", + searchPlaceholder: "Sök bland {count} verktyg...", + recent: "Senaste", + popular: "Populära", + browseByCategory: "Utforska per kategori", + gettingStarted: "Kom igång", + noToolsMatch: "Inga verktyg matchar '{query}'", + clearSearch: "Rensa sökning", + all: "Alla", documents: "PDF", - data: "Files", + data: "Filer", pdf: "PDF", - files: "Files", - toolCount: "{count} tools", - heading: "SnapOtter Tools", + files: "Filer", + toolCount: "{count} verktyg", + heading: "SnapOtter-verktyg", }, fullscreenGrid: { - searchPlaceholder: "Sok verktyg...", - hideDetails: "Dolj detaljer", + searchPlaceholder: "Sök verktyg...", + hideDetails: "Dölj detaljer", showDetails: "Visa detaljer", - switchToSidebar: "Byt till sidofaltvy", - sidebarButton: "Sidofalt", + switchToSidebar: "Byt till sidofältvy", + sidebarButton: "Sidofält", noToolsFound: "Inga verktyg hittades", - tryDifferent: "Prova en annan sokterm", + tryDifferent: "Prova en annan sökterm", }, editor: { menu: { file: { label: "Arkiv", new: "Ny", - open: "Oppna", + open: "Öppna", save: "Spara", exportAs: "Exportera som...", quickExportPng: "Snabbexport som PNG", - close: "Stang", + close: "Stäng", }, edit: { label: "Redigera", - undo: "Angra", - redo: "Gor om", + undo: "Ångra", + redo: "Gör om", cut: "Klipp ut", copy: "Kopiera", copyMerged: "Kopiera sammanfogat", paste: "Klistra in", - pasteInPlace: "Klistra in pa plats", + pasteInPlace: "Klistra in på plats", delete: "Radera", freeTransform: "Fri transformering", transform: { @@ -2537,8 +2538,8 @@ export const sv: TranslationKeys = { scale: "Skala", rotate: "Rotera", skew: "Skeva", - flipHorizontal: "Vand horisontellt", - flipVertical: "Vand vertikalt", + flipHorizontal: "Vänd horisontellt", + flipVertical: "Vänd vertikalt", }, }, image: { @@ -2550,16 +2551,16 @@ export const sv: TranslationKeys = { cw90: "90° medurs", ccw90: "90° moturs", r180: "180°", - flipHorizontal: "Vand horisontellt", - flipVertical: "Vand vertikalt", + flipHorizontal: "Vänd horisontellt", + flipVertical: "Vänd vertikalt", }, trim: "Trimma", adjustments: { label: "Justeringar", brightnessContrast: "Ljusstyrka/Kontrast", - hueSaturation: "Nyans/Mattnad", - colorBalance: "Fargbalans", - levels: "Nivaer", + hueSaturation: "Nyans/Mättnad", + colorBalance: "Färgbalans", + levels: "Nivåer", curves: "Kurvor", }, }, @@ -2570,12 +2571,12 @@ export const sv: TranslationKeys = { deleteLayer: "Radera lager", arrange: { label: "Ordna", - bringToFront: "Langst fram", - bringForward: "Ett steg framat", - sendBackward: "Ett steg bakat", - sendToBack: "Langst bak", + bringToFront: "Längst fram", + bringForward: "Ett steg framåt", + sendBackward: "Ett steg bakåt", + sendToBack: "Längst bak", }, - mergeDown: "Sammanfoga nedat", + mergeDown: "Sammanfoga nedåt", flattenImage: "Platta till bild", }, select: { @@ -2583,25 +2584,25 @@ export const sv: TranslationKeys = { all: "Allt", deselect: "Avmarkera", inverse: "Invertera", - colorRange: "Fargomfang...", + colorRange: "Färgomfång...", }, filter: { label: "Filter", blur: { - label: "Oskarpning", - gaussian: "Gaussisk oskarpning", - motion: "Rorelseoskarpning", - radial: "Radial oskarpning", - surface: "Ytoskarpning", + label: "Oskärpning", + gaussian: "Gaussisk oskärpning", + motion: "Rörelseoskärpning", + radial: "Radial oskärpning", + surface: "Ytoskärpning", }, sharpen: { - label: "Skarpa", - sharpen: "Skarpa", + label: "Skärpa", + sharpen: "Skärpa", unsharpMask: "Oskarp mask", }, noise: { label: "Brus", - addNoise: "Lagg till brus", + addNoise: "Lägg till brus", reduceNoise: "Minska brus", }, pixelate: { @@ -2615,7 +2616,7 @@ export const sv: TranslationKeys = { solarize: "Solarisera", posterize: "Posterisera", }, - grayscale: "Gratoner", + grayscale: "Gråtoner", sepia: "Sepia", invert: "Invertera", }, @@ -2623,11 +2624,11 @@ export const sv: TranslationKeys = { label: "Visa", zoomIn: "Zooma in", zoomOut: "Zooma ut", - fitOnScreen: "Anpassa till skarm", + fitOnScreen: "Anpassa till skärm", actualPixels: "Verkliga pixlar", rulers: "Linjaler", - grid: "Rutnat", - guides: "Stodlinjer", + grid: "Rutnät", + guides: "Stödlinjer", snap: "Snappa", panels: "Paneler", }, @@ -2636,54 +2637,54 @@ export const sv: TranslationKeys = { backTitle: "Tillbaka till SnapOtter", }, welcome: { - ariaLabel: "Bild-slappzon", + ariaLabel: "Bild-släppzon", heading: "Bildredigerare", - dropDescription: "Slapp en bild har for att borja", - openImageButton: "Oppna bild", + dropDescription: "Släpp en bild här för att börja", + openImageButton: "Öppna bild", newDocumentButton: "Nytt dokument", - pasteHint: "Eller klistra in fran urklipp (Ctrl+V)", + pasteHint: "Eller klistra in från urklipp (Ctrl+V)", }, mobile: { heading: "Dator rekommenderas", description: - "Bildredigeraren fungerar bast pa datorskarm. Byt till en enhet med storre skarm for den fullstandiga redigeringsupplevelsen.", + "Bildredigeraren fungerar bäst på datorskärm. Byt till en enhet med större skärm för den fullständiga 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", + shape: "Form", + fill: "Fyllning", + stroke: "Kantlinje", + strokeWidth: "Bredd", + cornerRadius: "Radie", + sides: "Sidor", + points: "Punkter", + dashStyle: "Streck", + solid: "Heldragen", + dashed: "Streckad", + dotted: "Prickad", + none: "Ingen", + opacity: "Opacitet", + rectangle: "Rektangel", + ellipse: "Ellips", + line: "Linje", + arrow: "Pil", polygon: "Polygon", - star: "Star", + star: "Stjärna", }, }, settings: { - heading: "Installningar", + heading: "Inställningar", nav: { - general: "Allmantt", - systemSettings: "Systeminstallningar", - security: "Sakerhet", + general: "Allmäntt", + systemSettings: "Systeminställningar", + security: "Säkerhet", people: "Personer", teams: "Team", roles: "Roller", auditLog: "Granskningslogg", - usage: "Usage", + usage: "Användning", apiKeys: "API-nycklar", aiFeatures: "AI-funktioner", tools: "Verktyg", @@ -2691,161 +2692,161 @@ export const sv: TranslationKeys = { about: "Om", }, general: { - heading: "Allmantt", - description: "Anvandarinstallningar och visningsinstellningar.", + heading: "Allmäntt", + description: "Användarinställningar och visningsinställningar.", loading: "Laddar...", logOut: "Logga ut", defaultToolViewLabel: "Standard verktygsvy", - defaultToolViewDescription: "Hur verktyg visas pa startsidan", - sidebarOption: "Sidofalt", - fullscreenGridOption: "Helskarm-rutnat", + defaultToolViewDescription: "Hur verktyg visas på startsidan", + sidebarOption: "Sidofält", + fullscreenGridOption: "Helskärm-rutnät", appVersionLabel: "Appversion", appVersionDescription: "Aktuell version av SnapOtter", - saveButton: "Spara installningar", - saveSuccess: "Installningar sparade.", - saveFailed: "Kunde inte spara installningar.", + saveButton: "Spara inställningar", + saveSuccess: "Inställningar sparade.", + saveFailed: "Kunde inte spara inställningar.", }, system: { - heading: "Systeminstallningar", - description: "Serverkonfiguration och granser.", - fileUploadLimitLabel: "Uppladdningsgrans (MB)", + heading: "Systeminställningar", + description: "Serverkonfiguration och gränser.", + fileUploadLimitLabel: "Uppladdningsgräns (MB)", fileUploadLimitDescription: "Maximal filstorlek per uppladdning", defaultThemeLabel: "Standardtema", - defaultThemeDescription: "Tema for nya sessioner", + defaultThemeDescription: "Tema för nya sessioner", lightOption: "Ljust", - darkOption: "Morkt", + darkOption: "Mörkt", systemOption: "System", - languageLabel: "Sprak", - languageDescription: "Sprak for gransnittet", - loginAttemptLimitLabel: "Inloggningsforsaksgrans", - loginAttemptLimitDescription: "Max misslyckade inloggningsforsok per minut fore lasning", + languageLabel: "Språk", + languageDescription: "Språk för gränsnittet", + loginAttemptLimitLabel: "Inloggningsförsöksgräns", + loginAttemptLimitDescription: "Max misslyckade inloggningsförsök per minut före låsning", fileManagementHeading: "Filhantering", - maxFileAgeLabel: "Max fillder (timmar)", - maxFileAgeDescription: "Hur lange bearbetade filer behaalls fore automatisk rensning", + maxFileAgeLabel: "Max filålder (timmar)", + maxFileAgeDescription: "Hur länge bearbetade filer behålls före 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", + startupCleanupDescription: "Rensa gamla temporära filer när servern startar", + saveButton: "Spara inställningar", + saveSuccess: "Inställningar sparade.", + saveFailed: "Kunde inte spara inställningar.", + limitsAndResources: "Gränser & Resurser", maxFileSize: "Max filstorlek", maxBatchSize: "Max batchstorlek", concurrentJobs: "Samtida jobb", - workerThreads: "Arbetstrandar", + workerThreads: "Arbetstrådar", maxPipelineSteps: "Max Pipeline-steg", processingTimeout: "Bearbetningstimeout", - rateLimitPerMin: "Antalsgrans (forfragan/min)", - unlimited: "Obegransat", + rateLimitPerMin: "Antalsgräns (förfrågan/min)", + unlimited: "Obegränsat", auto: "Automatisk", - envOverride: "Satt via miljovariabler", + envOverride: "Satt via miljövariabler", maxCanvasPixels: "Max dukpixlar", maxSvgSize: "Max SVG-storlek", - maxSplitGrid: "Max uppdelningsrutnat", + maxSplitGrid: "Max uppdelningsrutnät", maxPdfPages: "Max PDF-sidor", - sessionDuration: "Sessionslangd", - supportBundleButton: "Download Support Bundle", + sessionDuration: "Sessionslängd", + supportBundleButton: "Ladda ner supportpaket", supportBundleDescription: - "Download a diagnostic zip with redacted config, logs, and job data for troubleshooting.", - supportBundleFailed: "Failed to download support bundle.", + "Ladda ner en diagnostisk ZIP med maskerad konfiguration, loggar och jobbdata för felsökning.", + supportBundleFailed: "Kunde inte ladda ner supportpaket.", }, 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", + heading: "Säkerhet", + description: "Lösenords- och autentiseringsinställningar.", + changePasswordHeading: "Byt lösenord", + currentPasswordPlaceholder: "Nuvarande lösenord", + newPasswordPlaceholder: "Nytt lösenord", + confirmPasswordPlaceholder: "Bekräfta nytt lösenord", + passwordsMismatch: "Lösenorden matchar inte", + passwordTooShort: "Lösenordet måste vara minst 4 tecken", + changeSuccess: "Lösenordet ändrat", + changeFailed: "Kunde inte ändra lösenordet", + currentPasswordIncorrect: "Nuvarande lösenord är felaktigt", + changePasswordButton: "Byt lösenord", + loginAttemptLimitNote: "Inloggningsförsöksgränser kan konfigureras i Systeminställningar.", + adminHeading: "Säkerhetsinställningar för admin", + adminDescription: "Säkerhetspolicyinställningar för företag. Gäller alla användare.", + sessionIdleTimeout: "Tidsgräns för inaktiv session (minuter)", + sessionIdleTimeoutDesc: "Logga ut inaktiva sessioner automatiskt. 0 = inaktiverat.", + maxSessionsPerUser: "Max sessioner per användare", + maxSessionsPerUserDesc: "Begränsa samtida sessioner per användare. 0 = obegränsat.", + mfaPolicy: "MFA-policy", + mfaPolicyDesc: "Kräv multifaktorautentisering för användare.", + mfaPolicyOptional: "Valfritt", + mfaPolicyAdminsOnly: "Obligatoriskt för admins", + mfaPolicyRequired: "Obligatoriskt för alla användare", + ssoEnforcement: "SSO-krav", + ssoEnforcementDesc: "Kräv SSO-inloggning för alla användare utom nödåtkomstkonton.", + ssoBreakGlassUsername: "Användarnamn för nödåtkomstkonto", 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", + "Denna admin kan fortfarande logga in med lokala uppgifter när SSO är påtvingat.", + passwordMinLength: "Minsta lösenordslängd", + passwordMinLengthDesc: "Minsta antal tecken som krävs för lösenord.", + passwordRequireUppercase: "Kräv versal", + passwordRequireUppercaseDesc: "Kräv minst en stor bokstav.", + passwordRequireNumber: "Kräv siffra", + passwordRequireNumberDesc: "Kräv minst en siffra.", + passwordRequireSpecial: "Kräv specialtecken", + passwordRequireSpecialDesc: "Kräv minst ett specialtecken.", + passwordPolicyHeading: "Lösenordspolicy", + securitySettingsSaved: "Säkerhetsinställningar sparade", + securitySettingsFailed: "Kunde inte spara säkerhetsinställningar", }, people: { heading: "Personer", - description: "Hantera arbetsytans medlemmar och deras behorigheter", - userCount: "{count} anvandare", - userCountPlural: "{count} anvandare", - searchPlaceholder: "Sok medlemmar...", - addMembersButton: "Lagg till medlemmar", + description: "Hantera arbetsytans medlemmar och deras behörigheter", + userCount: "{count} användare", + userCountPlural: "{count} användare", + searchPlaceholder: "Sök medlemmar...", + addMembersButton: "Lägg till medlemmar", newMemberHeading: "Ny medlem", - usernamePlaceholder: "Anvandarnamn", - passwordPlaceholder: "Losenord", - roleUserOption: "Anvandare", - roleEditorOption: "Redaktor", - roleAdminOption: "Administrataor", - roleUserDescription: "Grundlaggande verktygstillgang", + usernamePlaceholder: "Användarnamn", + passwordPlaceholder: "Lösenord", + roleUserOption: "Användare", + roleEditorOption: "Redaktör", + roleAdminOption: "Administratör", + roleUserDescription: "Grundläggande verktygstillgång", roleEditorDescription: "Alla filer & pipelines", - roleAdminDescription: "Full tillgang", + roleAdminDescription: "Full tillgång", 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", + createSuccess: "Användare skapad", + createFailed: "Kunde inte skapa användare", + userLimitReached: "Användargräns nådd (max {max})", + deleteConfirm: 'Radera användare "{username}"? Detta kan inte ångras.', + deleteSuccess: 'Användare "{username}" raderad', + deleteFailed: "Kunde inte radera användare", 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", + updateSuccess: "Användare uppdaterad", + updateFailed: "Kunde inte uppdatera användare", + cannotRemoveOwnAdmin: "Du kan inte ta bort din egen administratörsroll", + resetPasswordHeading: "Återställ lösenord för {username}", + newPasswordLabel: "Nytt lösenord (minst 8 tecken)", + resetPasswordButton: "Återställ lösenord", resetPasswordWarning: - "Detta ogiltiggorklarar alla sessioner och API-nycklar for denna anvandare.", - resetSuccess: "Losenord aterstalltt", - resetFailed: "Kunde inte aterstalla losenord", - tableHeaderUser: "Anvandare", + "Detta ogiltigförklarar alla sessioner och API-nycklar för denna användare.", + resetSuccess: "Lösenord återställtt", + resetFailed: "Kunde inte återställa lösenord", + tableHeaderUser: "Användare", tableHeaderRole: "Roll", tableHeaderTeam: "Team", - noSearchResults: "Inga medlemmar matchar din sokning.", - noUsersFound: "Inga anvandare hittades.", + noSearchResults: "Inga medlemmar matchar din sökning.", + noUsersFound: "Inga användare hittades.", authBadgeLocalOidc: "Lokal + OIDC", authBadgeOidc: "OIDC", editRoleTeamAction: "Redigera Roll / Team", - resetPasswordAction: "Aterstall losenord", - deleteUserAction: "Radera anvandare", + resetPasswordAction: "Återställ lösenord", + deleteUserAction: "Radera användare", saveButton: "Spara", - copyPasswordButton: "Kopiera losenord", + copyPasswordButton: "Kopiera lösenord", passwordCopied: "Kopierat!", copyPasswordWarning: - "Kopiera detta losenord nu. Du kan inte se det efter att anvandaren har skapats.", + "Kopiera detta lösenord nu. Du kan inte se det efter att användaren har skapats.", }, teams: { heading: "Team", - description: "Organisera medlemmar i team for battre hantering.", + description: "Organisera medlemmar i team för bättre hantering.", createButton: "Skapa nytt team", newTeamHeading: "Nytt team", teamNamePlaceholder: "Teamnamn", @@ -2854,8 +2855,8 @@ export const sv: TranslationKeys = { 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", + renameSuccess: "Team omdöpt", + renameFailed: "Kunde inte byta namn på team", deleteConfirm: 'Radera team "{name}"? Medlemmar kopplas bort.', deleteSuccess: 'Team "{name}" raderat', deleteFailed: "Kunde inte radera team", @@ -2868,24 +2869,24 @@ export const sv: TranslationKeys = { renameAction: "Byt namn", deleteAction: "Radera", totalMembers: "Totalt medlemmar", - nameRequired: "Teamnamn kravs", - nameTooLong: "Teamnamn far vara hogst 50 tecken", + nameRequired: "Teamnamn krävs", + nameTooLong: "Teamnamn får vara högst 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)", + teamStorageQuota: "Lagringskvot (MB)", + teamStorageQuotaDesc: "Maximal lagring för detta team i MB. Lämna tomt för ingen gräns.", + teamRetentionHours: "Bevarande (timmar)", teamRetentionHoursDesc: - "Processing file retention for this team. Leave empty to use global default.", - quotaSaved: "Team settings saved", + "Bevarande av bearbetningsfiler för detta team. Lämna tomt för att använda globalt standardvärde.", + quotaSaved: "Teaminställningar sparade", }, roles: { heading: "Roller", - description: "Hantera roller och deras behorigheter. Inbyggda roller kan inte andras.", + description: "Hantera roller och deras behörigheter. Inbyggda roller kan inte ändras.", createButton: "Skapa anpassad roll", newRoleHeading: "Ny roll", roleNamePlaceholder: "Rollnamn", descriptionPlaceholder: "Beskrivning (valfritt)", - permissionsLabel: "Behorigheter", + permissionsLabel: "Behörigheter", createSubmitButton: "Skapa", cancelButton: "Avbryt", createSuccess: "Roll skapad", @@ -2896,13 +2897,13 @@ export const sv: TranslationKeys = { editCancelButton: "Avbryt", updateSuccess: "Roll uppdaterad", updateFailed: "Kunde inte uppdatera roll", - deleteConfirm: 'Radera roll "{name}"? {count} anvandare maste omtilldelas.', + deleteConfirm: 'Radera roll "{name}"? {count} användare måste omtilldelas.', deleteConfirmSimple: 'Radera roll "{name}"?', deleteSuccess: 'Roll "{name}" raderad', deleteFailed: "Kunde inte radera roll", emptyState: "Inga roller hittades.", builtInBadge: "Inbyggd", - userCountBadge: "{count} anvandare", + userCountBadge: "{count} användare", editRoleTitle: "Redigera roll", deleteRoleTitle: "Radera roll", permGroup: { @@ -2910,162 +2911,164 @@ export const sv: TranslationKeys = { files: "Filer", apiKeys: "API-nycklar", pipelines: "Pipelines", - settings: "Installningar", - users: "Anvandare", + settings: "Inställningar", + users: "Användare", teams: "Team", system: "System", }, }, auditLog: { heading: "Granskningslogg", - allActionsFilter: "Alla atgarder", + allActionsFilter: "Alla åtgärder", emptyState: "Inga granskningsloggposter.", tableHeaderTime: "Tid", - tableHeaderUser: "Anvandare", - tableHeaderAction: "Atgard", - tableHeaderTarget: "Mal", + tableHeaderUser: "Användare", + tableHeaderAction: "Åtgärd", + tableHeaderTarget: "Mål", paginationInfo: "Sida {page} av {totalPages} ({total} poster)", - previousButton: "Foregaende", - nextButton: "Nasta", + previousButton: "Föregående", + nextButton: "Nästa", 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.", + heading: "Användning", + description: "Lokal användningsstatistik från jobb och fillagring.", 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", + days7: "7 dagar", + days30: "30 dagar", + days90: "90 dagar", + jobsPerDayHeading: "Jobb per dag", + topToolsHeading: "Mest använda verktyg", + perUserHeading: "Volym per användare", + durationsHeading: "Varaktighetspercentiler", + noData: "Ingen data för denna period.", + dayColumn: "Dag", + totalColumn: "Totalt", + completedColumn: "Slutförda", + failedColumn: "Misslyckade", + toolColumn: "Verktyg", + runsColumn: "Körningar", + userColumn: "Användare", bytesInColumn: "Bytes in", poolColumn: "Pool", p50Column: "p50", p95Column: "p95", - storageHeading: "Library storage", - storageFiles: "{count} files", - unknownUser: "(unknown)", - storageByTeam: "Storage by Team", + storageHeading: "Bibliotekslagring", + storageFiles: "{count} filer", + unknownUser: "(okänd)", + storageByTeam: "Lagring per team", teamColumn: "Team", - storageColumn: "Storage", - usersColumn: "Users", + storageColumn: "Lagring", + usersColumn: "Användare", }, apiKeys: { heading: "API-nycklar", - description: "Hantera API-nycklar for programmatisk atkomst till SnapOtter.", + description: "Hantera API-nycklar för programmatisk åtkomst till SnapOtter.", keyNamePlaceholder: "Nyckelnamn (valfritt)", generateButton: "Generera API-nyckel", - removeScopingLabel: "Ta bort behorighetsavgransning", - restrictPermissionsLabel: "Begansa behorigheter (valfritt)", - expiresLabel: "Gar ut:", + removeScopingLabel: "Ta bort behörighetsavgränsning", + restrictPermissionsLabel: "Begränsa behörigheter (valfritt)", + expiresLabel: "Går ut:", clearButton: "Rensa", copyTitle: "Kopiera", - keyWarning: "Forvara denna nyckel sakert. Den visas inte igen.", + keyWarning: "Förvara denna nyckel säkert. Den visas inte igen.", existingKeysHeading: "Befintliga nycklar", createdPrefix: "Skapad {date}", - scopedPrefix: "Avgansad:", - expiresPrefix: "Gar ut {date}", + scopedPrefix: "Avgränsad:", + expiresPrefix: "Går 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.", + deleteConfirm: "Radera denna API-nyckel? Integrationer som använder den slutar fungera.", + emptyState: "Inga API-nycklar än. Generera en för att börja.", }, 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.", + "Aktivera eller inaktivera enskilda verktyg. Inaktiverade verktyg döljs för alla användare.", + restartBanner: "Omstart krävs för att ändringar ska träffa i kraft.", + searchPlaceholder: "Sök verktyg...", + noSearchResults: "Inga verktyg matchar din sökning.", loadFailedError: - "Verktygsinstellningar kunde inte laddas. Sparning ar inaktiverat for att forhindra dataforlust.", - saveButton: "Spara verktygsinstellningar", + "Verktygsinställningar kunde inte laddas. Sparning är inaktiverat för att förhindra dataförlust.", + saveButton: "Spara verktygsinställningar", disabledCount: "{count} verktyg inaktiverade", }, experimental: { label: "Aktivera experimentella verktyg", - description: "Visa verktyg som fortfarande ar under utveckling. Dessa kan vara instabila.", + description: "Visa verktyg som fortfarande är under utveckling. Dessa kan vara instabila.", }, fileManagement: { title: "Filhantering", - maxAge: "Max fillder (timmar)", - maxAgeDescription: "Hur lange bearbetade filer behaalls fore automatisk rensning", + maxAge: "Max filålder (timmar)", + maxAgeDescription: "Hur länge bearbetade filer behålls före automatisk rensning", startupCleanup: "Rensning vid start", - startupCleanupDescription: "Rensa gamla temporara filer nar servern startar", + startupCleanupDescription: "Rensa gamla temporära filer när 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)", + title: "Databevarande", + fileMaxAgeHours: "Bevarande av bearbetningsfiler (timmar)", + fileMaxAgeHoursDesc: + "Hur länge uppladdade och bearbetade filer behålls. Standard: 72 timmar.", + jobsRetentionDays: "Bevarande av jobbposter (dagar)", + jobsRetentionDaysDesc: + "Hur länge jobbmetadata behålls. 0 = behåll för alltid. Standard: 30 dagar.", + auditRetentionDays: "Bevarande av granskningsloggar (dagar)", auditRetentionDaysDesc: - "How long to keep audit log entries. 0 = keep forever. Default: forever.", + "Hur länge granskningsloggposter behålls. 0 = behåll för alltid. Standard: för alltid.", }, analytics: { heading: "Produktanalys", - description: "Dela anonym anvandningsdata for att forbaattra SnapOtter.", - privacyNote: "Dina filer lamnar aldrig din dator.", - disabledByAdmin: "Produktanalys har inaktiverats av serveradministratoren.", + description: "Dela anonym användningsdata för att förbättra SnapOtter.", + privacyNote: "Dina filer lämnar aldrig din dator.", + disabledByAdmin: "Produktanalys har inaktiverats av serveradministratören.", enabledLabel: "Analys aktiverad", disabledLabel: "Analys inaktiverad", - learnMore: "Las mer", + learnMore: "Läs mer", }, aiFeatures: { - title: "AI Features", - description: "Hantera AI-modellpaket for avancerad filbehandling.", - 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}", + title: "AI-funktioner", + description: "Hantera AI-modellpaket för avancerad filbehandling.", + installAll: "Installera alla", + diskUsage: "Diskanvändning: {size}", + installed: "Installerad", + notInstalled: "Inte installerad", + queued: "I kö", + install: "Installera", + repair: "Reparera", + uninstall: "Avinstallera", + installing: "Installerar...", + importBundle: "Importera paket", + importDescription: "Ladda upp ett .tar.gz-paketarkiv exporterat från en annan installation.", + importButton: "Importera från fil", + importing: "Importerar...", + importSuccess: "Paket importerat.", + importError: "Paketimport misslyckades: {error}", }, about: { heading: "Om", appName: "SnapOtter", appDescription: - "En sjalvhostad, integritetsfokuserad filbehandlingssvit med 157 verktyg. Konvertera, komprimera, redigera, transkribera, OCR, och automatisera bild-, video-, ljud-, dokument- och dataarbetsfloden utan att skicka data till molnet.", + "En självhostad, integritetsfokuserad filbehandlingssvit med 157 verktyg. Konvertera, komprimera, redigera, transkribera, OCR, och automatisera bild-, video-, ljud-, dokument- och dataarbetsflöden utan att skicka data till molnet.", versionLabel: "Version:", - linksHeading: "Lankar", + linksHeading: "Länkar", githubLink: "GitHub-arkiv", docsLink: "Dokumentation", apiRefLink: "API-referens (Swagger)", - licenseLabel: "License:", + licenseLabel: "Licens:", licenseDescription: - "SnapOtter is open-source software licensed under the GNU Affero General Public License v3 (AGPLv3).", + "SnapOtter är programvara med öppen källkod licensierad under GNU Affero General Public License v3 (AGPLv3).", }, }, auth: { login: "Logga in", logout: "Logga ut", - username: "Anvandarnamn", - password: "Losenord", + username: "Användarnamn", + password: "Lösenord", loginButton: "Logga in", loggingIn: "Loggar in...", - invalidCredentials: "Ogiltigt anvandarnamn eller losenord", + invalidCredentials: "Ogiltigt användarnamn eller lösenord", connectionError: "Anslutningsfel", signInWith: "Logga in med {provider}", signInWithSso: "Logga in med SSO", @@ -3073,78 +3076,78 @@ export const sv: TranslationKeys = { 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.", + oidcAuthFailed: "Autentisering misslyckades. Försök igen.", + oidcProviderUnreachable: "Identitetsleverantören går inte att nå. Försök igen senare.", + oidcSessionExpired: "Inloggningssessionen har gått ut. Försök 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.", + "Ditt konto har inte behörighet till denna applikation. Kontakta din administrator.", + oidcUserLimitReached: "Användargräns nådd. Kontakta din administrator.", + oidcGenericError: "Autentiseringsfel. Försök igen.", + samlAuthFailed: "SAML-autentisering misslyckades. Försök igen.", 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.", + "Ditt konto har inte behörighet att använda denna applikation. Kontakta din administratör.", + samlUserLimitReached: "Användargränsen nådd. Kontakta din administratör.", + ssoEnforcedLocalRestricted: "Lokal inloggning är begränsad till behöriga administratörer.", + mfaRequired: "Ange din autentiseringskod", + mfaRecoveryHint: "Du kan även använda en återställningskod", + verify: "Verifiera", + verifying: "Verifierar...", + mfaInvalidCode: "Ogiltig kod. Försök igen.", mfaEnrollmentRequired: - "Your organization requires multi-factor authentication. Please set up MFA in your account settings.", + "Din organisation kräver multifaktorautentisering. Konfigurera MFA i dina kontoinställningar.", methodSaml: "SAML", - passwordManagedByProvider: "Losenordsandringar hanteras av din identitetsleverantor.", - enterUsername: "Ange anvandarnamn", - enterPassword: "Ange ditt losenord", - heroTitle: "Dina filer. Forblir dina.", - heroSubtitle: "Alla verktyg du behover.", + passwordManagedByProvider: "Lösenordsändringar hanteras av din identitetsleverantör.", + enterUsername: "Ange användarnamn", + enterPassword: "Ange ditt lösenord", + heroTitle: "Dina filer. Förblir dina.", + heroSubtitle: "Alla verktyg du behöver.", rotatingPhrases: [ "Ingen registrering. Inga konton.", "Inga uppladdningar till molnet. Aldrig.", "100% lokal bearbetning.", - "Gratis. For alltid.", - "Inga granser. Inga dolda tak.", + "Gratis. För alltid.", + "Inga gränser. Inga dolda tak.", "Fungerar helt offline.", - "Obegransad batchbearbetning.", + "Obegränsad batchbearbetning.", "157 verktyg.", - "16 AI-modeller. Din hardvara.", - "Blixtsnabb. Byggd pa Sharp.", - "Fungerar i slutna natverk.", + "16 AI-modeller. Din hårdvara.", + "Blixtsnabb. Byggd på Sharp.", + "Fungerar i slutna nätverk.", "En enda Docker-container.", "Open source. Alltid.", - "Varje pixel stannar pa din hardvara.", + "Varje pixel stannar på din hårdvara.", "Din server. Dina regler.", "Redo med en enda docker pull.", - "Det sjalvhostade alternativet.", + "Det självhostade alternativet.", "Skala, komprimera, konvertera. Lokalt.", - "Gratis bildredigerare. Utan vattenstamplar.", - "Massbearbetning av filer. Obegransat.", + "Gratis bildredigerare. Utan vattenstämplar.", + "Massbearbetning av filer. Obegränsat.", "Ta bort bakgrund offline.", - "Det sjalvhostade Canva-alternativet.", - "Inga API-nycklar behovs.", + "Det självhostade Canva-alternativet.", + "Inga API-nycklar behövs.", "GDPR-kompatibel by design.", "Fungerar utan internet.", ], }, changePassword: { - title: "Byt losenord", + title: "Byt lösenord", 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", + "Du måste ange ett nytt lösenord innan du kan fortsätta. Ditt lösenord måste vara minst 8 tecken med versaler, gemener och en siffra.", + usernameLabel: "Användarnamn", + currentPasswordLabel: "Nuvarande lösenord", + currentPasswordPlaceholder: "Ange nuvarande lösenord", + newPasswordLabel: "Nytt lösenord", + generateButton: "Generera starkt lösenord", newPasswordPlaceholder: "Minst 8 tecken", - confirmPasswordLabel: "Bekrafta nytt losenord", - confirmPasswordPlaceholder: "Upprepa nytt losenord", - passwordsMismatch: "Losenorden matchar inte", - failedError: "Kunde inte byta losenord", + confirmPasswordLabel: "Bekräfta nytt lösenord", + confirmPasswordPlaceholder: "Upprepa nytt lösenord", + passwordsMismatch: "Lösenorden matchar inte", + failedError: "Kunde inte byta lösenord", connectionError: "Anslutningsfel", - changingButton: "Andrar...", - changeButton: "Byt losenord", - sidebarTitle: "Nastan klar", - sidebarDescription: "Valj ett starkt losenord for att sakra ditt konto, sedan ar du igang.", + changingButton: "Ändrar...", + changeButton: "Byt lösenord", + sidebarTitle: "Nästan klar", + sidebarDescription: "Välj ett starkt lösenord för att säkra ditt konto, sedan är du igång.", }, automate: { title: "Automatisera", @@ -3153,22 +3156,22 @@ export const sv: TranslationKeys = { missingName: "Pipelinefil saknar namn", noSteps: "Pipelinefil har inga steg", importFailed: "Import misslyckades", - couldNotRead: "Kunde inte lasa pipelinefil", + couldNotRead: "Kunde inte läsa pipelinefil", fileCount: "{count} fil", fileCountPlural: "{count} filer", - importFromLibrary: "Importera fran bibliotek", - addButton: "+ Lagg till", + importFromLibrary: "Importera från bibliotek", + addButton: "+ Lägg till", libraryButton: "Bibliotek", clearButton: "Rensa", - processingFailed: "Bearbetning misslyckades for denna fil", + processingFailed: "Bearbetning misslyckades för denna fil", processingMultiple: "Bearbetar {count} filer...", processingPipeline: "Bearbetar pipeline...", processButton: "Bearbeta", processButtonMultiple: "Bearbeta ({count})", processAllButton: "Bearbeta alla ({count})", - addTool: "Lagg till verktyg", + addTool: "Lägg till verktyg", toolPalette: "Verktygspalett", - clickToAdd: "Klicka for att lagga till i pipeline", + clickToAdd: "Klicka för att lägga till i pipeline", savedLabel: "Sparad", importButton: "Importera", noSavedPipelines: "Inga sparade pipelines", @@ -3178,7 +3181,7 @@ export const sv: TranslationKeys = { deletePipeline: "Radera pipeline", moreCount: "+{count} till", pipelineBuilder: "Pipeline-byggare", - addToolsPrompt: "Lagg till verktyg fran paletten for att borja", + addToolsPrompt: "Lägg till verktyg från paletten för att börja", stepsConfigured: "{count} steg konfigurerat", stepsConfiguredPlural: "{count} steg konfigurerade", noFilesLoaded: "Inga filer laddade", @@ -3188,20 +3191,20 @@ export const sv: TranslationKeys = { descriptionPlaceholder: "Beskrivning", savingIndicator: "...", cancelButton: "Avbryt", - preview: "Forhandsvisning", - previousImage: "Foregaende fil", - nextImage: "Nasta fil", + preview: "Förhandsvisning", + previousImage: "Föregående fil", + nextImage: "Nästa fil", imageCounter: "{current} / {total}", - imageArea: "Forhandsvisningsomrade", + imageArea: "Förhandsvisningsområde", templateSocialMedia: "Sociala medier-redo", templatePrivacyClean: "Integritetsrensning", templateWebOptimization: "Webboptimering", templateProfilePicture: "Profilbild", - templateWatermarkBatch: "Vattenstampel-batch", + templateWatermarkBatch: "Vattenstämpel-batch", createNew: "Skapa ny automatisering", savedAutomations: "Sparade automatiseringar", templates: "Mallar", - addStep: "Lagg till steg", + addStep: "Lägg till steg", removeStep: "Ta bort", moveUp: "Flytta upp", moveDown: "Flytta ner", @@ -3209,144 +3212,144 @@ export const sv: TranslationKeys = { runPipeline: "Bearbeta", pipelineName: "Pipeline-namn", pipelineDescription: "Beskrivning (valfritt)", - noStepsPrompt: "Lagg till steg for att bygga din automatisering", - noStepsHeading: "No steps yet", - searchToolsPlaceholder: "Search tools...", + noStepsPrompt: "Lägg till steg för att bygga din automatisering", + noStepsHeading: "Inga steg ännu", + searchToolsPlaceholder: "Sök verktyg...", step: "Steg", }, nav: { tools: "Verktyg", - reader: "Lasare", + reader: "Läsare", automate: "Automatisera", editor: "Redigerare", files: "Filer", - help: "Hjalp", - settings: "Installningar", - grid: "Rutnat", + help: "Hjälp", + settings: "Inställningar", + grid: "Rutnät", }, 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", + myFiles: "Mina filer", + recentTab: "Senaste", + uploadTab: "Ladda upp filer", + fileDetailsAriaLabel: "Filinformation", + fileDetailsHeading: "Filinformation", + searchPlaceholder: "Sök filer...", + selectedCount: "{count} valda", + fileCount: "{count} filer", + fileCountSingular: "{count} fil", + noFilesFound: "Inga filer hittades", + selectFilePrompt: "Välj en fil för att visa detaljer", + openFile: "Öppna fil", + selectFile: "Välj fil", + openInPipeline: "Öppna i pipeline", + dropFilesHere: "Släpp filer här", + orClickToSelect: "eller klicka för att välja filer", + name: "Namn", format: "Format", - size: "Size", - dimensions: "Dimensions", + size: "Storlek", + dimensions: "Dimensioner", version: "Version", - toolsUsed: "Tools Used", - none: "None", - delete: "Delete", + toolsUsed: "Använda verktyg", + none: "Inga", + delete: "Ta bort", pipeline: "Pipeline", - download: "Download", + download: "Ladda ner", }, 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", + unsupportedFileType: "Denna filtyp stöds inte av detta verktyg", + urlFetchFailed: "Kunde inte hämta bild från URL", + ariaLabel: "Filsläppzon", + dropPrompt: "Släpp dina bilder här", + browseOrPaste: "klicka för att bläddra, eller klistra in från 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", + addUrlButton: "Lägg till", importMultipleUrls: "Importera flera URL:er...", filesSelected: "{count} filer valda", - dropToAdd: "Slapp for att lagga till filer", - dropToReplace: "Slapp for att ersatta fil", + dropToAdd: "Släpp för att lägga till filer", + dropToReplace: "Släpp för att ersätta fil", }, reviewPanel: { processedResultAlt: "Bearbetat resultat", sizeLabel: "Storlek: {size}", typeLabel: "Typ: {type}", processedLabel: "Bearbetad: {time}", - undoButton: "Angra", + undoButton: "Ångra", downloadButton: "Ladda ner", - openInEditor: "Oppna i redigerare", + openInEditor: "Öppna i redigerare", reviewHeading: "Granska", - continueEditing: "Fortsatt redigera", + continueEditing: "Fortsätt 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...", + "Denna funktion är inte aktiverad. Be din administrator att aktivera den i Inställningar.", + requiresDownload: "Denna funktion kräver en extra nedladdning (~{size})", + retryButton: "Försök igen", + queued: "I kö för 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", + repairRequired: "Reparation krävs", + repairDescription: "Vissa modellfiler saknas eller är skadade. Reparation laddar ner dem igen.", + repairButton: "Reparera {name}", + lessThanMinute: "Mindre än en minut kvar", oneMinuteLeft: "~1 minut kvar", minutesLeft: "~{mins} minuter kvar", progressMessages: [ - "Nastan klart... formodligen...", + "Nästan klart... förmodligen...", "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...", + "Fortfarande snabbare än att se färg torka...", + "Ditt tålamod är verkligen imponerande...", + "Jobbar hårdare än det ser ut...", + "Nu kommer den spännande biten, lita på oss...", + "Viktiga saker händer bakom kulisserna...", + "Läser du det här? Då fungerar det...", + "Förbereder något fantastiskt...", + "Värt varje sekund, lillfingerlöfte...", + "Spänningen är en del av upplevelsen...", "Lagar din dator nya knep...", "Dina superkrafter installeras...", "Dina filer kommer tacka dig senare...", "Laddar... men med stil...", - "Perfekt tillfalle for en fika...", - "Rom byggdes inte pa en dag heller...", + "Perfekt tillfälle för en fika...", + "Rom byggdes inte på en dag heller...", "Sssch... geni i arbete...", - "Dina projekt blir avundsjuka pa det som kommer...", + "Dina projekt blir avundsjuka på 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...", + "Nästan klar att tänka på att börja... skojar...", + "Plottwist: det händer faktiskt något...", + "De kreativa motorerna värmer upp...", "Fantasi laddas...", - "Ingen skarmslackare, vi lovar...", + "Ingen skärmsläckare, vi lovar...", "Stor konst tar tid att installera...", "Ditt framtida jag kommer tacka dig...", - "Hamtar riktigt smarta filer...", - "Hang med, det basta aterstar...", + "Hämtar riktigt smarta filer...", + "Häng med, det bästa återstår...", ], }, help: { - heading: "Hjalp", + heading: "Hjälp", gettingStarted: { - heading: "Kom igang", + heading: "Kom igång", description: - "Valj ett verktyg fran sidofaltet eller sok efter ett. Ladda upp en fil genom att dra den till sidan eller klicka pa uppladdningsomradet. Justera installningar och ladda ner ditt resultat.", + "Välj ett verktyg från sidofältet eller sök efter ett. Ladda upp en fil genom att dra den till sidan eller klicka på uppladdningsområdet. Justera inställningar 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", + focusSearchBar: "Fokusera sökfält", + goToTools: "Gå till verktyg", + toggleTheme: "Växla tema", + goToResize: "Gå till Ändra storlek", + goToCrop: "Gå till Beskära", + goToCompress: "Gå till Komprimera", + goToConvert: "Gå till Konvertera", + goToRemoveBackground: "Gå till Ta bort bakgrund", + goToWatermarkText: "Gå till Textvattenstämpel", + goToStripMetadata: "Gå till Ta bort metadata", + goToImageInfo: "Gå till Bildinformation", processFile: "Bearbeta fil", downloadResult: "Ladda ner resultat", }, @@ -3361,107 +3364,107 @@ export const sv: TranslationKeys = { }, errors: { generic: "Ett fel uppstod", - offline: "Du ar offline", - reconnecting: "Ateransluter till servern...", + offline: "Du är offline", + reconnecting: "Återansluter 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", + processingFailed: "Bearbetning misslyckades för denna fil", + timeout: "Tidsgräns överskriden. Servern kan vara överbelastad. Försök igen.", + networkError: "Nätverksfel. Kontrollera din anslutning.", + invalidCredentials: "Ogiltigt användarnamn eller lösenord", connectionError: "Anslutningsfel", }, analytics: { - consentTitle: "Hjalp till att forbaattra SnapOtter", + consentTitle: "Hjälp till att förbättra SnapOtter", consentDescription: - "Anonym anvandningsstatistik hjalper oss fixa buggar och bygga verktygen du faktiskt behover. Dina filer stannar pa din dator.", - consentChangeable: "Du kan stanga av detta nar som helst i Installningar.", - acceptButton: "Visst, latar bra", + "Anonym användningsstatistik hjälper oss fixa buggar och bygga verktygen du faktiskt behöver. Dina filer stannar på din dator.", + consentChangeable: "Du kan stänga av detta när som helst i Inställningar.", + acceptButton: "Visst, låter bra", declineButton: "Inte just nu", settingsTitle: "Produktanalys", - settingsDescription: "Dela anonym anvandningsdata for att forbaattra SnapOtter.", - settingsPrivacy: "Dina filer lamnar aldrig din dator.", - settingsDisabledByAdmin: "Produktanalys har inaktiverats av serveradministratoren.", - learnMore: "Las mer", + settingsDescription: "Dela anonym användningsdata för att förbättra SnapOtter.", + settingsPrivacy: "Dina filer lämnar aldrig din dator.", + settingsDisabledByAdmin: "Produktanalys har inaktiverats av serveradministratören.", + learnMore: "Läs mer", }, sidebar: { tools: "Verktyg", - grid: "Rutnat", + grid: "Rutnät", automate: "Automatisera", editor: "Redigerare", files: "Filer", - help: "Hjalp", - settings: "Installningar", + help: "Hjälp", + settings: "Inställningar", }, toolCard: { - addToFavourites: "Lagg till i favoriter", + addToFavourites: "Lägg till i favoriter", }, appLayout: { mobileNavTools: "Verktyg", mobileNavAutomate: "Automatisera", mobileNavEditor: "Redigerare", mobileNavFiles: "Filer", - mobileNavSettings: "Installningar", + mobileNavSettings: "Inställningar", }, 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: "Foregaende fil", - nextImage: "Nasta fil", - imageArea: "Forhandsvisningsomrade", + skipToContent: "Hoppa till huvudinnehåll", + openSidebar: "Öppna sidopanel", + closeSidebar: "Stäng sidopanel", + closeSettings: "Stäng inställningar", + closeHelp: "Stäng hjälp", + closeDialog: "Stäng dialogruta", + zoomIn: "Zooma in", + zoomOut: "Zooma ut", + fitToView: "Anpassa till vy", + actualSize: "Verklig storlek", + previousImage: "Föregående fil", + nextImage: "Nästa fil", + imageArea: "Förhandsvisningsområde", imageViewer: "Filvisare", - fileDropZone: "File drop zone", - imageDropZone: "Filslappzon", - beforeAfterSlider: "Before/after comparison slider", - imageControls: "Forhandsvisningskontroller", - 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", - homeLink: "SnapOtter home", + fileDropZone: "Filsläppzon", + imageDropZone: "Filsläppzon", + beforeAfterSlider: "Skjutreglage för före/efter-jämförelse", + imageControls: "Förhandsvisningskontroller", + zoomControls: "Zoomkontroller", + dragToReorder: "Dra för att ändra ordning", + whiteBackground: "Vit bakgrund", + blackBackground: "Svart bakgrund", + expandPanel: "Expandera panel", + collapsePanel: "Minimera panel", + swapDimensions: "Byt dimensioner", + applyCrop: "Tillämpa beskärning", + cancelCrop: "Avbryt beskärning", + fontFamily: "Typsnittsfamilj", + textColor: "Textfärg", + flipHorizontal: "Vänd horisontellt", + flipVertical: "Vänd vertikalt", + hexColorValue: "HEX-färgvärde", + backgroundColor: "Bakgrundsfärg", + foregroundColor: "Förgrundsfärg", + swapColors: "Byt förgrunds- och bakgrundsfärg", + resetColors: "Återställ till standard svart och vitt", + foregroundHex: "Förgrundsfärgens HEX-värde", + undo: "Ångra", + redo: "Gör om", + layers: "Lager", + addLayer: "Lägg till lager", + deleteLayer: "Ta bort lager", + cancelOperation: "Avbryt åtgärd", + fill: "Fyllning", + fileDetails: "Filinformation", + language: "Språk", + selected: "Markerad", + deleteKey: "Ta bort nyckel", + editRole: "Redigera roll", + deleteRole: "Ta bort roll", + notInstalled: "Ej installerad", + queued: "Köad för installation", + installing: "Installerar", + imageNOfTotal: "Bild {n} av {total}", + processingComplete: "Bilden har bearbetats", + processingFailed: "Bearbetningen misslyckades", + settingsDialog: "Inställningar", + helpDialog: "Hjälp", + navigationMenu: "Navigering", + homeLink: "SnapOtter hem", }, } as const;