Files
SnapOtter/packages/shared/src/i18n/pl.ts
T
SnapOtter bec3b1e289 feat: add shape fill/stroke transparency, RGBA color picker, and dash styles
Closes #193. Shapes now support no-fill and no-stroke toggles for drawing
outlines or fill-only shapes. Adds RGBA color picker with opacity control,
stroke dash styles (solid/dashed/dotted), and i18n for all shape labels.
2026-06-05 16:40:57 +08:00

2009 lines
74 KiB
TypeScript

import type { TranslationKeys } from "./en.js";
export const pl: TranslationKeys = {
common: {
upload: "Prześlij z komputera",
process: "Przetwórz",
download: "Pobierz",
cancel: "Anuluj",
save: "Zapisz",
delete: "Usuń",
settings: "Ustawienia",
search: "Szukaj narzędzi...",
dropFiles: "Przeciągnij pliki tutaj lub kliknij przycisk przesyłania",
loading: "Ładowanie...",
error: "Wystąpił błąd",
confirm: "Potwierdź",
close: "Zamknij",
back: "Wstecz",
next: "Dalej",
clear: "Wyczyść",
copy: "Kopiuj",
copied: "Skopiowano!",
noResults: "Nie znaleziono wyników",
showLess: "Pokaż mniej",
showMore: "Pokaż jeszcze {count}",
experimental: "Eksperymentalne",
enabled: "Włączone",
disabled: "Wyłączone",
rename: "Zmień nazwę",
edit: "Edytuj",
actions: "Akcje",
create: "Utwórz",
or: "lub",
goHome: "Strona główna",
somethingWentWrong: "Coś poszło nie tak",
unexpectedError: "Wystąpił nieoczekiwany błąd.",
retry: "Ponów",
privacyPolicy: "Polityka prywatności",
},
categories: {
essentials: "Podstawowe",
optimization: "Optymalizacja",
adjustments: "Korekta",
watermark: "Znak wodny i nakładka",
utilities: "Narzędzia",
layout: "Układ i kompozycja",
format: "Format i konwersja",
ai: "Narzędzia AI",
},
tools: {
resize: {
name: "Zmiana rozmiaru",
description:
"Zmiana rozmiaru w pikselach, procentach lub według szablonów mediów społecznościowych",
},
crop: {
name: "Kadrowanie",
description: "Kadrowanie dowolne, szablony proporcji, kadrowanie kształtowe",
},
rotate: {
name: "Obrót i odbicie",
description: "Obracanie, odbijanie i prostowanie obrazów",
},
convert: { name: "Konwersja", description: "Konwersja między formatami obrazów" },
compress: {
name: "Kompresja",
description: "Zmniejszenie rozmiaru pliku przez jakość lub docelowy rozmiar",
},
"optimize-for-web": {
name: "Optymalizacja dla sieci",
description:
"Optymalizacja obrazów dla sieci z konwersją formatu, kontrolą jakości i podglądem na żywo",
},
"strip-metadata": {
name: "Usuwanie metadanych",
description: "Usuwanie EXIF, GPS i informacji o aparacie",
},
"edit-metadata": {
name: "Edycja metadanych",
description: "Edycja EXIF, IPTC, XMP, GPS, słów kluczowych i dat",
},
"bulk-rename": {
name: "Masowa zmiana nazw",
description: "Zmiana nazw wielu plików według wzorca",
},
"image-to-pdf": {
name: "Obraz do PDF",
description: "Łączenie obrazów w dokument PDF",
},
"pdf-to-image": {
name: "PDF do obrazu",
description: "Konwersja stron PDF na obrazy",
},
favicon: {
name: "Generator Favicon",
description: "Generowanie wszystkich rozmiarów Favicon i ikon aplikacji",
},
"adjust-colors": {
name: "Korekta kolorów",
description: "Jasność, kontrast, ekspozycja, nasycenie, temperatura, ostrość i efekty",
},
sharpening: {
name: "Wyostrzanie",
description: "Wyostrzanie adaptacyjne, maska wyostrzająca i górnoprzepustowe z szablonami",
},
"replace-color": {
name: "Zamiana i inwersja koloru",
description: "Zamiana określonych kolorów lub inwersja",
},
"color-blindness": {
name: "Symulacja daltonizmu",
description: "Symulacja postrzegania obrazów przy różnych typach zaburzeń widzenia kolorów",
},
"remove-background": {
name: "Usuwanie tła",
description: "Usuwanie tła za pomocą AI",
},
upscale: {
name: "Powiększanie obrazu",
description: "Powiększanie z super-rozdzielczością AI",
},
"erase-object": {
name: "Usuwanie obiektów",
description: "Usuwanie niechcianych obiektów za pomocą AI",
},
ocr: {
name: "OCR / Wyodrębnianie tekstu",
description: "Wyodrębnianie tekstu z obrazów z dokładnością AI",
},
"blur-faces": {
name: "Rozmywanie twarzy / danych",
description: "Automatyczne wykrywanie i rozmywanie twarzy oraz danych wrażliwych",
},
"enhance-faces": {
name: "Ulepszanie twarzy",
description: "Odtwarzanie i ulepszanie twarzy za pomocą AI",
},
"smart-crop": {
name: "Inteligentne kadrowanie",
description: "Inteligentne kadrowanie według obiektu, twarzy lub przycinania krawędzi",
},
"image-enhancement": {
name: "Ulepszanie obrazu",
description:
"Automatyczne ulepszanie jednym kliknięciem: inteligentna korekta ekspozycji, kontrastu, koloru i ostrości",
},
"noise-removal": {
name: "Usuwanie szumu",
description: "Usuwanie szumu i ziarnistości za pomocą AI",
},
"red-eye-removal": {
name: "Usuwanie czerwonych oczu",
description:
"Wykrywanie i korekcja efektu czerwonych oczu na zdjęciach z lampą błyskową za pomocą AI",
},
"restore-photo": {
name: "Restauracja zdjęć",
description: "Naprawa rys, rozdarć i uszkodzeń na starych zdjęciach za pomocą AI",
},
"content-aware-resize": {
name: "Zmiana rozmiaru z uwzględnieniem treści",
description: "Inteligentna zmiana rozmiaru z zachowaniem istotnej treści",
},
"ai-canvas-expand": {
name: "AI-rozszerzanie płótna",
description: "Rozszerzanie płótna z wypełnianiem AI",
},
colorize: {
name: "Koloryzacja AI",
description:
"Konwersja zdjęć czarno-białych na kolorowe za pomocą modeli głębokiego uczenia AI",
},
"passport-photo": {
name: "Zdjęcie paszportowe",
description:
"Tworzenie zdjęć paszportowych, wizowych i do dowodów zgodnych z wymogami z automatycznym wykrywaniem twarzy",
},
"transparency-fixer": {
name: "Naprawa przezroczystości PNG",
description: "Naprawa fałszywej przezroczystości PNG jednym kliknięciem",
},
"watermark-text": {
name: "Tekstowy znak wodny",
description: "Dodawanie tekstowego znaku wodnego",
},
"watermark-image": {
name: "Graficzny znak wodny",
description: "Nakładanie logo jako znaku wodnego",
},
"text-overlay": {
name: "Nakładka tekstowa",
description: "Dodawanie stylizowanego tekstu na obrazy",
},
compose: {
name: "Kompozycja obrazów",
description: "Nakładanie obrazów z ustawieniem pozycji i przezroczystości",
},
"meme-generator": {
name: "Generator Meme",
description:
"Tworzenie memów z popularnymi szablonami lub własnymi obrazami. Klasyczny tekst w stylu Impact z konfigurowalnymi czcionkami, kolorami i pozycjonowaniem.",
},
info: {
name: "Informacje o obrazie",
description: "Podgląd wszystkich metadanych i właściwości obrazu",
},
compare: {
name: "Porównanie obrazów",
description: "Porównanie dwóch obrazów obok siebie",
},
"find-duplicates": {
name: "Wyszukiwanie duplikatów",
description: "Wykrywanie dokładnych i przybliżonych duplikatów obrazów",
},
"color-palette": {
name: "Paleta kolorów",
description: "Wyodrębnianie dominujących kolorów z obrazu",
},
"qr-generate": {
name: "Generator kodów QR",
description:
"Generowanie stylizowanych kodów QR z konfigurowalnymi kolorami, wzorami i logotypami",
},
"barcode-read": {
name: "Czytnik kodów kreskowych",
description: "Skanowanie obrazów w poszukiwaniu kodów QR, kreskowych i 2D",
},
collage: {
name: "Kolaż / Siatka",
description: "Łączenie obrazów w piękne kolaże siatkowe z ponad 25 szablonami",
},
stitch: {
name: "Łączenie / Scalanie",
description: "Łączenie obrazów obok siebie, w stos lub w siatkę",
},
split: {
name: "Dzielenie obrazu",
description:
"Dzielenie obrazów na kafelki siatki lub według rozmiaru w pikselach z podglądem na żywo",
},
border: {
name: "Ramka i obramowanie",
description:
"Dodawanie ramek, marginesów, zaokrąglonych rogów i cieni z szablonami jednym kliknięciem",
},
beautify: {
name: "Upiększanie zrzutu ekranu",
description:
"Dodawanie gradientowych teł, ramek urządzeń, cieni i rozmiarów dla mediów społecznościowych do zrzutów ekranu",
},
"svg-to-raster": {
name: "SVG do rastra",
description:
"Konwersja SVG do PNG, JPEG, WebP, AVIF, TIFF, GIF lub HEIF z konfigurowalną skalą i DPI",
},
vectorize: {
name: "Obraz do SVG",
description: "Konwersja obrazów na skalowalną grafikę wektorową",
},
"gif-tools": {
name: "Narzędzia GIF",
description:
"Zmiana rozmiaru, optymalizacja, zmiana prędkości, odwracanie, wyodrębnianie klatek i obracanie animowanych GIF",
},
"image-to-base64": {
name: "Obraz do Base64",
description: "Konwersja obrazów na ciągi Base64 do osadzania w HTML, CSS i nie tylko",
},
pipeline: {
name: "Konstruktor Pipeline",
description: "Łączenie wielu narzędzi w przepływ pracy",
},
},
toolSettings: {
compress: {
compressionMode: "Tryb kompresji",
targetSize: "Docelowy rozmiar",
quality: "Jakość",
smallestFile: "Najmniejszy plik",
bestQuality: "Najlepsza jakość",
submit: "Kompresuj",
submitBatch: "Kompresuj ({count} plików)",
progressLabel: "Kompresja",
original: "Oryginał: {size} KB",
processed: "Przetworzono: {size} KB",
saved: "Zaoszczędzono: {percent}%",
},
resize: {
customSize: "Rozmiar niestandardowy",
scale: "Skala",
presets: "Szablony",
contentAware: "Z uwzględnieniem treści",
widthPx: "Szerokość (px)",
heightPx: "Wysokość (px)",
fitMode: "Tryb dopasowania",
cropToFit: "Kadruj do rozmiaru",
fitInside: "Wpasuj wewnątrz",
stretch: "Rozciągnij",
limitToOriginalSize: "Ogranicz do oryginalnego rozmiaru",
limitToOriginalSizeHint:
"Jeśli obraz jest już mniejszy niż docelowy rozmiar, pozostaw go bez zmian zamiast powiększać",
scalePercent: "Skala (%)",
resizeToSquare: "Zmień na kwadrat",
protectFaces: "Chroń twarze",
smoothing: "Wygładzanie",
edgeSensitivity: "Czułość krawędzi",
submit: "Zmień rozmiar",
submitBatch: "Zmień rozmiar ({count} plików)",
progressLabel: "Zmiana rozmiaru",
},
crop: {
aspectRatio: "Proporcje",
custom: "Niestandardowe",
positionAndSize: "Pozycja i rozmiar",
ruleOfThirds: "Reguła trzecich",
leftOffsetPx: "Przesunięcie od lewej (px)",
topOffsetPx: "Przesunięcie od góry (px)",
submit: "Kadruj",
submitBatch: "Kadruj ({count} plików)",
progressLabel: "Kadrowanie",
},
rotate: {
rotate: "Obróć",
angle: "Kąt",
straighten: "Wyprostuj",
flip: "Odbij",
horizontal: "Poziomo",
vertical: "Pionowo",
resetAllChanges: "Resetuj wszystkie zmiany",
submit: "Zastosuj",
submitBatch: "Zastosuj ({count} plików)",
progressLabel: "Stosowanie",
},
convert: {
targetFormat: "Format docelowy",
sourceFormat: "Format źródłowy",
quality: "Jakość",
submit: "Konwertuj",
submitBatch: "Konwertuj ({count} plików)",
progressLabel: "Konwersja",
},
"optimize-for-web": {
outputFormat: "Format wyjściowy",
quality: "Jakość",
smallestFile: "Najmniejszy plik",
bestQuality: "Najlepsza jakość",
maxDimensions: "Maks. wymiary",
maxWidth: "Maks. szerokość",
maxHeight: "Maks. wysokość",
stripMetadata: "Usuń metadane",
sizeComparison: "Porównanie rozmiarów",
optimized: "Zoptymalizowano:",
smaller: "O {percent}% mniejszy",
larger: "O {percent}% większy",
submit: "Przetwórz i pobierz",
submitBatch: "Przetwórz i pobierz ({count} plików)",
progressLabel: "Optymalizacja",
},
"strip-metadata": {
currentMetadata: "Bieżące metadane",
readingMetadata: "Odczytywanie metadanych...",
noMetadataFound: "Nie znaleziono metadanych w tym obrazie.",
removeAllMetadata: "Usuń wszystkie metadane",
selectSpecific: "Lub wybierz konkretne metadane:",
stripExif: "Usuń EXIF (informacje o aparacie, data, ekspozycja)",
stripGps: "Usuń GPS (dane lokalizacyjne)",
stripIcc: "Usuń ICC (profil kolorów)",
stripXmp: "Usuń XMP (rozszerzalne metadane)",
locationFound: "znaleziono lokalizację",
locationWarning:
"Ten obraz zawiera Państwa dokładną lokalizację. Zalecamy usunięcie danych GPS przed udostępnieniem.",
metadataSections: "Znaleziono {count} sekcję metadanych",
metadataSectionsPlural: "Znaleziono {count} sekcji metadanych",
metadataRemoved: "Usunięto metadane: {size} KB",
submit: "Usuń metadane",
progressLabel: "Usuwanie metadanych",
},
"edit-metadata": {
readingMetadata: "Odczytywanie metadanych...",
couldNotReadMetadata: "Nie udało się odczytać metadanych. Pola będą puste.",
basicInfo: "Informacje podstawowe",
description: "Opis",
artist: "Autor",
copyright: "Prawa autorskie",
software: "Oprogramowanie",
iptc: "IPTC",
title: "Tytuł",
headline: "Nagłówek",
city: "Miasto",
stateProvince: "Województwo/Region",
country: "Kraj",
dateAndTime: "Data i czas",
editDates: "Edytuj daty",
shiftAllDates: "Przesuń wszystkie daty",
dateModified: "Data modyfikacji",
dateTaken: "Data wykonania",
shiftHint:
"Przesuń wszystkie pola dat o podany interwał (przydatne do korekty stref czasowych)",
direction: "Kierunek",
forward: "+ Do przodu",
backward: "- Do tyłu",
hoursMinutes: "Godziny:Minuty",
locationGps: "Lokalizacja (GPS)",
locationDataFound: "Znaleziono dane lokalizacyjne",
noGpsData: "Brak danych GPS. Dodaj współrzędne poniżej.",
latitude: "Szerokość geograficzna",
longitude: "Długość geograficzna",
altitudeMeters: "Wysokość (metry)",
removeAllGpsData: "Usuń wszystkie dane GPS",
keywords: "Słowa kluczowe",
addKeywordPlaceholder: "Dodaj słowo kluczowe i naciśnij Enter",
addToExisting: "Dodaj do istniejących",
replaceAll: "Zamień wszystkie",
allMetadata: "Wszystkie metadane",
templates: "Szablony",
templateNamePlaceholder: "Nazwa szablonu",
uploadPrompt: "Prześlij obraz, aby edytować jego metadane.",
changes: "Zmian: {count}:",
modified: "Zmodyfikowano: {count}",
removed: "Usunięto: {count}",
gpsCleared: "GPS usunięto",
gpsAdded: "GPS dodano",
datesShifted: "daty przesunięte",
submit: "Zastosuj metadane",
progressLabel: "Zapisywanie metadanych",
},
"bulk-rename": {
pattern: "Wzorzec",
patternHint: "Zmienne: {{index}}, {{padded}}, {{original}}",
startIndex: "Indeks początkowy",
preview: "Podgląd",
andMore: "... i jeszcze {count}",
renaming: "Zmiana nazw...",
submit: "Zmień nazwę {count} plików",
zipDownloaded: "Archiwum ZIP pobrane pomyślnie",
},
"image-to-pdf": {
imageCount: "{count} obraz zostanie skonwertowany do {mode}",
imageCountPlural: "{count} obrazów zostanie skonwertowanych do {mode}",
singlePdfMode: "jednego PDF, jeden obraz na stronę",
separatePdfMode: "oddzielnych plików PDF, po jednym na obraz",
combineAllImages: "Połącz wszystkie obrazy w jeden PDF",
pageSize: "Rozmiar strony",
orientation: "Orientacja",
portrait: "Pionowa",
landscape: "Pozioma",
margin: "Margines",
targetSizeLabel: "Docelowy rozmiar pliku (opcjonalnie)",
targetSizePlaceholder: "np. 2",
targetSizeHint: "Pozostaw puste dla maksymalnej jakości",
targetSizeMet: "Osiągnięto docelowy rozmiar",
targetSizeNotMet:
"Nie udało się osiągnąć docelowego rozmiaru. Plik skompresowany do minimalnej jakości.",
targetSizeTooSmall: "Docelowy rozmiar musi wynosić co najmniej 50KB",
jpegQualityLabel: "Użyta jakość JPEG",
noImage: "Brak obrazu",
submitCollate: "Utwórz PDF ({count} stron)",
submitSeparate: "Utwórz {count} plików PDF",
downloadPdf: "Pobierz PDF",
downloadZip: "Pobierz ZIP",
progressLabel: "Tworzenie PDF",
uploadingImages: "Przesyłanie obrazów...",
processingPages: "Przetwarzanie {count} stron...",
},
"pdf-to-image": {
dropPdf: "Przeciągnij PDF tutaj lub kliknij, aby wybrać",
readingPdf: "Odczytywanie PDF...",
pageCount: "{count} strona",
pageCountPlural: "{count} stron",
outputFormat: "Format wyjściowy",
quality: "Jakość",
resolutionDpi: "Rozdzielczość (DPI)",
dpiScreen: "Ekran",
dpiStandard: "Standard",
dpiPrint: "Druk",
dpiHighQuality: "Wysoka jakość",
colorMode: "Tryb koloru",
colorModeColor: "Kolorowy",
colorModeGrayscale: "Skala szarości",
colorModeBw: "Czarno-biały",
pages: "Strony",
allPages: "Wszystkie strony",
pagesHint: "np. 1-3, 5, 8-10 (dokument ma {count} stron)",
converting: "Konwersja...",
submit: "Konwertuj {count} stronę",
submitPlural: "Konwertuj {count} stron",
downloadAllZip: "Pobierz wszystko (ZIP)",
},
favicon: {
uploadHint:
"Prześlij kwadratowe obrazy (zalecane 512x512 lub większe), aby wygenerować wszystkie rozmiary Favicon i ikon aplikacji.",
multipleHint: "Każdy z {count} obrazów otrzyma własny folder w archiwum ZIP.",
generatedSizes: "Generowane rozmiary (na obraz)",
plusManifest: "+ manifest.json + fragment HTML",
submit: "Generuj Favicon ({count} obraz)",
submitPlural: "Generuj Favicon ({count} obrazów)",
downloadZip: "Pobierz ZIP z Favicon",
progressLabel: "Generowanie Favicon",
},
"adjust-colors": {
light: "Światło",
brightness: "Jasność",
contrast: "Kontrast",
exposure: "Ekspozycja",
color: "Kolor",
saturation: "Nasycenie",
temperature: "Temperatura",
temperatureHint: "chłodna / ciepła",
tint: "Odcień",
tintHint: "zielony / magenta",
hue: "Barwa",
detail: "Szczegóły",
sharpness: "Ostrość",
effects: "Efekty",
none: "brak",
grayscale: "skala szarości",
sepia: "sepia",
invert: "inwersja",
colorChannels: "Kanały kolorów",
channelModified: "zmodyfikowany",
red: "Czerwony",
green: "Zielony",
blue: "Niebieski",
resetAll: "Resetuj wszystko",
submit: "Zastosuj",
submitBatch: "Zastosuj ({count} plików)",
progressLabel: "Korekta kolorów",
},
sharpening: {
method: "Metoda",
adaptive: "Adaptacyjna",
unsharpMask: "Maska wyostrzająca",
highPass: "Górnoprzepustowa",
presets: "Szablony",
textureAmount: "Ilość tekstury",
amount: "Ilość",
strength: "Siła",
noiseReduction: "Redukcja szumu",
off: "wył.",
lightDenoise: "lekka",
mediumDenoise: "średnia",
strongDenoise: "silna",
advancedControls: "Zaawansowane ustawienia",
radius: "Promień",
flatProtection: "Ochrona płaskich obszarów",
detailThreshold: "Próg szczegółów",
haloLimitLight: "Limit poświaty (jasny)",
haloLimitDark: "Limit poświaty (ciemny)",
threshold: "Próg",
kernelSize: "Rozmiar jądra",
submit: "Wyostrz",
submitBatch: "Wyostrz ({count} plików)",
progressLabel: "Wyostrzanie",
},
"replace-color": {
sourceColor: "Kolor źródłowy (do zamiany)",
targetColor: "Kolor docelowy (zamiennik)",
makeTransparent: "Zrób przezroczystym",
tolerance: "Tolerancja",
exactMatch: "Dokładne dopasowanie",
wideRange: "Szeroki zakres",
submit: "Zamień kolor",
submitBatch: "Zamień kolor ({count} plików)",
progressLabel: "Zamiana koloru",
},
"color-blindness": {
simulationType: "Typ symulacji",
redGreen: "Czerwono-zielony",
blueYellow: "Niebiesko-żółty",
monochromatic: "Monochromatyczny",
submit: "Symuluj",
submitBatch: "Symuluj ({count} plików)",
progressLabel: "Symulacja daltonizmu",
},
"remove-background": {
subject: "Obiekt",
people: "Ludzie",
products: "Produkty",
general: "Ogólne",
passportIdPhoto: "Paszport / Dowód osobisty",
quality: "Jakość",
fast: "Szybko",
hd: "HD",
max: "Maks.",
ultra: "Ultra",
background: "Tło",
transparent: "Przezroczyste",
bgColor: "Kolor",
gradient: "Gradient",
image: "Obraz",
gradientDirection: "Kierunek",
chooseBackgroundImage: "Wybierz obraz tła",
effectsSection: "Efekty",
effectsActive: "aktywne",
blurBackground: "Rozmycie tła",
intensity: "Intensywność",
addShadow: "Dodaj cień",
opacity: "Krycie",
rendering: "Renderowanie...",
submit: "Usuń tło",
submitBatch: "Usuń tło ({count} plików)",
progressLabel: "Usuwanie tła",
},
upscale: {
scaleFactor: "Współczynnik skali",
quality: "Jakość",
enhanceFaces: "Ulepsz twarze",
noiseReduction: "Redukcja szumu",
noiseReductionHint:
"Wygładza ziarnistość i szum. Wyższe wartości usuwają więcej szumu, ale mogą zmiękczyć szczegóły.",
outputFormat: "Format wyjściowy",
submit: "Powiększ {scale}x",
submitBatch: "Powiększ {scale}x ({count} plików)",
progressLabel: "Powiększanie obrazu",
progressLabelBatch: "Powiększanie {count} obrazów",
},
"erase-object": {
brushSize: "Rozmiar pędzla",
fine: "Cienki",
wide: "Szeroki",
undo: "Cofnij",
clear: "Wyczyść",
outputFormat: "Format wyjściowy",
quality: "Jakość",
paintHint: "Zamaluj obiekty, które chcesz usunąć. Naciśnij Ctrl+Z, aby cofnąć.",
submit: "Usuń obiekt",
submitBatch: "Usuń wszystko ({count})",
progressLabel: "Usuwanie obiektu",
},
ocr: {
quality: "Jakość",
enhanceBeforeScanning: "Ulepsz przed skanowaniem",
enhanceHint:
"Automatycznie prostuje, poprawia kontrast, usuwa szum i powiększa obraz przed skanowaniem w celu lepszej dokładności.",
language: "Język",
autoDetect: "Automatyczne wykrywanie",
extractedText: "Wyodrębniony tekst",
noTextDetected: "Nie wykryto tekstu w tym obrazie",
characters: "{count} znaków",
submit: "Wyodrębnij tekst",
submitBatch: "Wyodrębnij tekst ({count} plików)",
progressLabel: "Wyodrębnianie tekstu",
},
"blur-faces": {
blurRadius: "Promień rozmycia",
blurLight: "Lekkie",
blurHeavy: "Silne",
detectionSensitivity: "Czułość wykrywania",
moreFaces: "Więcej twarzy",
fewerFaces: "Mniej twarzy",
submit: "Rozmyj twarze",
progressLabel: "Rozmywanie twarzy",
},
"enhance-faces": {
quality: "Jakość",
enhancementStrength: "Siła ulepszenia",
onlyCenterFace: "Tylko centralna twarz",
detectionSensitivity: "Czułość wykrywania",
submit: "Ulepsz twarze",
submitBatch: "Ulepsz twarze ({count} plików)",
progressLabel: "Ulepszanie twarzy",
},
"smart-crop": {
subjectFocus: "Skupienie na obiekcie",
faceFocus: "Skupienie na twarzy",
autoTrim: "Automatyczne przycinanie",
customSize: "Rozmiar niestandardowy",
socialPresets: "Szablony mediów społecznościowych",
detectionStrategy: "Strategia wykrywania",
detectionStrategyHint:
"Uwaga wyszukuje najbardziej wizualnie wyrazisty region. Entropia wyszukuje obszar z największą ilością szczegółów i informacji.",
attention: "Uwaga",
entropy: "Entropia",
padding: "Margines wewnętrzny",
paddingHint: "Dodatkowa przestrzeń wokół obszaru skupienia",
outputQuality: "Jakość wyjściowa",
outputQualityHint: "Dla wyników w formacie JPEG i WebP. PNG jest zawsze bezstratny.",
subjectDescription:
"Wykrywa najciekawszy region za pomocą analizy wyrazistości i kadruje do docelowego rozmiaru.",
framing: "Kadrowanie",
facePadding: "Margines wokół twarzy",
facePaddingHint: "Dodatkowa przestrzeń wokół wykrytych twarzy",
fewerFalsePositives: "Mniej fałszywych wykryć",
faceDescription:
"Wykorzystuje wykrywanie twarzy AI do prawidłowego kadrowania. W przypadku braku twarzy przełącza się na skupienie na obiekcie.",
trimTolerance: "Tolerancja",
trimDescription:
"Jak bardzo piksel krawędzi może się różnić od koloru brzegu i nadal zostać przycięty. Wyżej = agresywniej.",
padToSquare: "Dopełnij do kwadratu",
targetSizePx: "Docelowy rozmiar (px)",
padColor: "Kolor wypełnienia",
trimHint:
'Usuwa jednokolorowe obramowania wokół obiektu. Włącz "Dopełnij do kwadratu" dla obrazów gotowych do e-commerce.',
submitSubject: "Inteligentne kadrowanie",
submitFace: "Kadrowanie twarzy",
submitTrim: "Przytnij krawędzie",
},
imageEnhancement: {
enhancementMode: "Tryb ulepszenia",
auto: "Auto",
portrait: "Portret",
landscape: "Krajobraz",
lowLight: "Słabe oświetlenie",
food: "Jedzenie",
document: "Dokument",
intensity: "Intensywność",
deepEnhance: "Głębokie ulepszenie (AI)",
deepEnhanceDescription: "Usuwa szum i artefakty za pomocą AI",
deepEnhanceRequires: "Wymaga pakietu powiększania i ulepszania",
analyzingImage: "Analiza obrazu...",
detectedIssues: "Wykryte problemy",
imageLooksGood: "Obraz wygląda dobrze. Dostosuj za pomocą suwaka intensywności.",
issueUnderexposed: "Niska ekspozycja",
issueOverexposed: "Prześwietlony",
issueLowContrast: "Płaski kontrast",
issueColorCast: "Przebarwienie",
issueDesaturated: "Odbarwiony",
issueSoftFocus: "Miękki fokus",
issueNoisy: "Zaszumiony",
submit: "Ulepsz",
submitDeep: "Głębokie ulepszenie",
submitBatch: "Ulepsz ({count} plików)",
submitDeepBatch: "Głębokie ulepszenie ({count} plików)",
progressLabel: "Ulepszanie obrazu",
progressLabelBatch: "Ulepszanie {count} obrazów",
},
"noise-removal": {
denoisingTier: "Poziom odszumiania",
quick: "Szybki",
balanced: "Zrównoważony",
quality: "Jakość",
maximum: "Maksymalny",
quickDesc: "Szybki, lekki",
balancedDesc: "Dobra jakość, umiarkowana prędkość",
qualityDesc: "Oparty na AI, wolny",
maximumDesc: "Najlepszy model AI, najwolniejszy",
strength: "Siła",
subtle: "Delikatna",
aggressive: "Agresywna",
detailPreservation: "Zachowanie szczegółów",
smooth: "Gładkie",
sharp: "Ostre",
colorNoise: "Szum chromatyczny",
heavy: "Silny",
outputFormat: "Format wyjściowy",
gifAiWarning:
"Odszumianie AI dla plików GIF przetwarza tylko pierwszą klatkę. Dla animowanych GIF użyj poziomu szybkiego lub zrównoważonego.",
submit: "Usuń szum",
submitBatch: "Usuń szum ({count} plików)",
progressLabel: "Usuwanie szumu",
progressLabelBatch: "Usuwanie szumu z {count} obrazów",
},
"red-eye-removal": {
sensitivity: "Czułość",
strict: "Ścisła",
aggressive: "Agresywna",
correctionStrength: "Siła korekcji",
subtle: "Delikatna",
dark: "Ciemna",
outputFormat: "Format wyjściowy",
quality: "Jakość",
submit: "Napraw czerwone oczy",
submitBatch: "Napraw czerwone oczy ({count} plików)",
progressLabel: "Naprawianie czerwonych oczu",
progressLabelBatch: "Naprawianie czerwonych oczu na {count} obrazach",
},
"restore-photo": {
scratchRemoval: "Usuwanie rys",
scratchRemovalDesc: "Wykrywanie i naprawa rys, rozdarć i plam",
faceEnhancement: "Ulepszanie twarzy",
faceEnhancementDesc: "Odtwarzanie zniszczonych twarzy za pomocą CodeFormer AI",
faceFidelity: "Wierność twarzy",
enhanced: "Ulepszona",
faithful: "Wierna",
noiseReduction: "Redukcja szumu",
noiseReductionDesc: "Usuwanie ziarnistości i szumu ze starych zdjęć",
denoiseStrength: "Siła odszumiania",
autoColorize: "Automatyczna koloryzacja",
autoColorizeDesc: "Dodawanie koloru do zdjęć czarno-białych za pomocą DDColor AI",
colorizeStrength: "Siła koloryzacji",
vivid: "Żywy",
submit: "Restauruj zdjęcie",
submitBatch: "Restauruj zdjęcia ({count})",
progressLabel: "Restauracja zdjęcia",
progressLabelBatch: "Restauracja {count} zdjęć",
},
"content-aware-resize": {
widthPx: "Szerokość (px)",
heightPx: "Wysokość (px)",
resizeToSquare: "Zmień na kwadrat",
protectFaces: "Chroń twarze",
protectFacesHint:
"Wykrywanie i ochrona regionów twarzy przed usuwaniem szwów za pomocą wykrywania twarzy",
smoothing: "Wygładzanie",
edgeSensitivity: "Czułość krawędzi",
submit: "Zmień rozmiar",
submitBatch: "Zmień rozmiar ({count} plików)",
progressLabel: "Zmiana rozmiaru z uwzględnieniem treści",
},
"ai-canvas-expand": {
quality: "Jakość",
fast: "Szybko",
balanced: "Zrównoważone",
highQuality: "Wysoka jakość",
fastDesc: "Szybki podgląd, mniej przejść AI",
balancedDesc: "Dobra jakość, umiarkowana prędkość",
highQualityDesc: "Najlepsze wyniki, wolniejsze",
extendToAspectRatio: "Rozszerz do proporcji",
extendByPixels: "Rozszerz o (piksele)",
top: "Góra",
right: "Prawo",
bottom: "Dół",
left: "Lewo",
newSize: "Nowy rozmiar: {width} x {height}",
submit: "Rozszerz płótno",
submitBatch: "Rozszerz ({count} plików)",
progressLabel: "Rozszerzanie płótna",
},
colorize: {
aiModel: "Model AI",
fast: "Szybki",
fastDesc: "Szybkie wyniki",
balanced: "Zrównoważony",
balancedDesc: "Najlepszy dostępny",
best: "Najlepszy",
bestDesc: "Najwyższa jakość",
colorIntensity: "Intensywność koloru",
grayscaleLabel: "Skala szarości",
subtleLabel: "Delikatny",
naturalLabel: "Naturalny",
vividLabel: "Żywy",
intensityHint: "Niższe wartości dają bardziej stonowane, vintage'owe kolory.",
strength: "Siła koloryzacji",
submit: "Koloryzuj",
submitBatch: "Koloryzuj ({count} plików)",
progressLabel: "Koloryzacja",
progressLabelBatch: "Koloryzacja {count} obrazów",
},
"passport-photo": {
country: "Kraj",
searchCountries: "Szukaj krajów...",
noCountriesFound: "Nie znaleziono krajów",
customDimensions: "Wymiary niestandardowe",
documentType: "Typ dokumentu",
dimensionsMm: "Wymiary (mm)",
dpi: "DPI",
pixelsPerInch: "pikseli na cal",
backgroundColor: "Kolor tła",
maxFileSize: "Maks. rozmiar pliku",
noLimit: "Bez limitu",
customKb: "Własne KB...",
uploadPortrait: "Prześlij zdjęcie portretowe",
uploadHint:
"Przeciągnij lub prześlij obraz w lewym panelu, aby zobaczyć podgląd zdjęcia paszportowego",
analyzingPhoto: "Analiza zdjęcia",
detectingLandmarks: "Wykrywanie punktów orientacyjnych twarzy i usuwanie tła...",
generatePassportPhoto: "Generuj zdjęcie paszportowe",
generating: "Generowanie...",
downloadPhoto: "Pobierz zdjęcie",
faceCentered: "Twarz wycentrowana",
headLevel: "Głowa prosto",
lookingStraight: "Wzrok na wprost",
faceSize: "Rozmiar twarzy",
whatYouSee: "Pobierasz to, co widzisz",
dragToAdjust: "Przeciągnij, aby dostosować",
scrollToZoom: "Przewiń, aby powiększyć",
photoGenerated: "Zdjęcie wygenerowane. Pobierz z lewego panelu.",
},
"transparency-fixer": {
description: "Prześlij PNG z fałszywą przezroczystością, a naprawimy to jednym kliknięciem.",
removeWatermark: "Usuń znak wodny",
removeWatermarkHelp: "Wykryj i usuń półprzezroczyste znaki wodne",
requiresEraser: "Wymaga pakietu usuwania obiektów",
advanced: "Zaawansowane",
defringe: "Usuwanie obwódki",
outputFormat: "Format wyjściowy",
submit: "Napraw przezroczystość",
submitBatch: "Napraw przezroczystość ({count} plików)",
progressLabel: "Naprawa przezroczystości",
},
"watermark-text": {
watermarkText: "Tekst znaku wodnego",
fontSize: "Rozmiar czcionki",
color: "Kolor",
opacity: "Krycie",
position: "Pozycja",
rotation: "Obrót",
center: "Środek",
topLeft: "Lewy górny",
topRight: "Prawy górny",
bottomLeft: "Lewy dolny",
bottomRight: "Prawy dolny",
tiled: "Kafelki",
submit: "Dodaj znak wodny",
submitBatch: "Dodaj znak wodny ({count} plików)",
progressLabel: "Dodawanie znaku wodnego",
},
"watermark-image": {
uploadWatermark: "Prześlij obraz znaku wodnego",
position: "Pozycja",
opacity: "Krycie",
scale: "Skala",
submit: "Zastosuj znak wodny",
submitBatch: "Zastosuj znak wodny ({count} plików)",
},
"text-overlay": {
text: "Tekst",
fontSize: "Rozmiar czcionki",
color: "Kolor",
position: "Pozycja",
top: "Góra",
center: "Środek",
bottom: "Dół",
backgroundBox: "Pole tła",
backgroundColor: "Kolor tła",
shadow: "Cień",
submit: "Dodaj tekst",
submitBatch: "Dodaj tekst ({count} plików)",
progressLabel: "Dodawanie nakładki tekstowej",
},
compose: {
uploadOverlay: "Prześlij obraz nakładki",
xPosition: "Pozycja X",
yPosition: "Pozycja Y",
opacity: "Krycie",
blendMode: "Tryb mieszania",
submit: "Złóż",
},
"meme-generator": {
selectTemplate: "Wybierz szablon z galerii lub prześlij własny obraz, aby rozpocząć.",
chooseLayout: "Wybierz układ tekstu dla swojego obrazu.",
textContent: "Tekst",
textStyle: "Styl tekstu",
font: "Czcionka",
fontSize: "Rozmiar czcionki",
textColor: "Kolor tekstu",
strokeColor: "Kolor obrysu",
allCaps: "WIELKIE LITERY",
generate: "Generuj Meme",
generating: "Generowanie...",
downloadMeme: "Pobierz Meme",
backToGallery: "Powrót do galerii",
},
info: {
loadingInfo: "Ładowanie informacji...",
filename: "Nazwa pliku",
fileSize: "Rozmiar pliku",
dimensions: "Wymiary",
format: "Format",
channels: "Kanały",
colorSpace: "Przestrzeń kolorów",
density: "Gęstość",
bitDepth: "Głębia bitowa",
progressive: "Progresywny",
pages: "Strony",
hasAlpha: "Kanał alfa",
hasProfile: "Profil",
hasExif: "EXIF",
hasIcc: "ICC",
hasXmp: "XMP",
},
compare: {
uploadSecondImage: "Prześlij drugi obraz",
similarity: "Podobieństwo: {percent}%",
submit: "Porównaj",
downloadDiff: "Pobierz różnicę",
},
"find-duplicates": {
preset: "Szablon",
exact: "Dokładne",
similar: "Podobne",
loose: "Przybliżone",
exactDesc: "Identyczne kopie, ten sam obraz w różnych formatach.",
similarDesc: "Przeskalowane, przekompresowane lub lekko edytowane kopie.",
looseDesc: "Wizualnie powiązane obrazy, niewielkie kadrowania, różna ekspozycja.",
threshold: "Próg",
submit: "Szukaj duplikatów",
scanning: "Skanowanie...",
},
"color-palette": {
submit: "Wyodrębnij paletę",
extracting: "Wyodrębnianie...",
dominantColors: "Dominujące kolory",
clickToCopy: "Kliknij, aby skopiować",
},
"qr-generate": {
contentType: "Typ treści",
url: "URL",
text: "Tekst",
wifi: "WiFi",
vcard: "vCard",
email: "Email",
phone: "Telefon",
sms: "SMS",
styling: "Stylizacja",
dotStyle: "Styl kropek",
cornerSquareStyle: "Styl kwadratów narożnych",
cornerDotStyle: "Styl kropek narożnych",
foregroundColor: "Kolor pierwszego planu",
bgColor: "Kolor tła",
logo: "Logo",
downloadFormat: "Format pobierania",
submit: "Generuj kod QR",
download: "Pobierz kod QR",
},
"barcode-read": {
submit: "Skanuj kody kreskowe",
submitBatch: "Skanuj ({count} plików)",
scanning: "Skanowanie...",
noBarcodesFound: "Nie znaleziono kodów kreskowych",
barcodesFound: "Znaleziono {count} kod kreskowy",
barcodesFoundPlural: "Znaleziono {count} kodów kreskowych",
},
collage: {
template: "Szablon",
aspectRatio: "Proporcje",
gap: "Odstęp",
cornerRadius: "Zaokrąglenie rogów",
backgroundColor: "Kolor tła",
outputFormat: "Format wyjściowy",
quality: "Jakość",
submit: "Utwórz kolaż",
downloadCollage: "Pobierz kolaż",
},
stitch: {
direction: "Kierunek",
horizontal: "Poziomo",
vertical: "Pionowo",
grid: "Siatka",
gridColumns: "Kolumny siatki",
resizeMode: "Tryb skalowania",
fit: "Wpasuj",
original: "Oryginał",
stretchMode: "Rozciągnij",
cropMode: "Kadruj",
alignment: "Wyrównanie",
start: "Początek",
center: "Środek",
end: "Koniec",
gap: "Odstęp",
border: "Ramka",
cornerRadius: "Zaokrąglenie rogów",
backgroundColor: "Kolor tła",
outputFormat: "Format wyjściowy",
quality: "Jakość",
submit: "Połącz obrazy",
},
split: {
modeGrid: "Siatka",
modeTileSize: "Rozmiar kafelka",
presets: "Szablony",
columns: "Kolumny",
rows: "Wiersze",
tileWidth: "Szerokość kafelka",
tileHeight: "Wysokość kafelka",
outputFormat: "Format wyjściowy",
quality: "Jakość",
submit: "Podziel obraz",
downloadAll: "Pobierz wszystko (ZIP)",
},
border: {
presets: "Szablony",
borderWidth: "Szerokość ramki",
borderColor: "Kolor ramki",
padding: "Margines wewnętrzny",
paddingColor: "Kolor marginesu",
cornerRadius: "Zaokrąglenie rogów",
shadow: "Cień",
shadowBlur: "Rozmycie cienia",
shadowOffsetX: "Przesunięcie cienia X",
shadowOffsetY: "Przesunięcie cienia Y",
shadowColor: "Kolor cienia",
shadowOpacity: "Krycie cienia",
submit: "Dodaj ramkę",
submitBatch: "Dodaj ramkę ({count} plików)",
progressLabel: "Dodawanie ramki",
},
beautify: {
preset: "Szablon",
backgroundType: "Typ tła",
solidColor: "Jednolity kolor",
linearGradient: "Gradient liniowy",
radialGradient: "Gradient radialny",
customImage: "Własny obraz",
gradientAngle: "Kąt gradientu",
padding: "Margines wewnętrzny",
borderRadius: "Zaokrąglenie rogów",
shadowPreset: "Szablon cienia",
deviceFrame: "Ramka urządzenia",
submit: "Upiększ",
submitBatch: "Upiększ ({count} plików)",
progressLabel: "Upiększanie zrzutu ekranu",
},
"svg-to-raster": {
outputFormat: "Format wyjściowy",
sizing: "Rozmiar",
scaleMode: "Skala",
customMode: "Niestandardowy",
scalePresets: "Szablony skali",
dpiPresets: "Szablony DPI",
customWidth: "Szerokość (px)",
customHeight: "Wysokość (px)",
background: "Tło",
bgTransparent: "Przezroczyste",
bgColor: "Kolor",
quality: "Jakość",
submit: "Konwertuj SVG",
submitBatch: "Konwertuj ({count} plików)",
progressLabel: "Konwersja SVG",
},
vectorize: {
preset: "Szablon",
logo: "Logo",
illustration: "Ilustracja",
photo: "Zdjęcie",
sketch: "Szkic",
customPreset: "Niestandardowy",
colorMode: "Tryb koloru",
bw: "Czarno-biały",
colorModeColor: "Kolorowy",
threshold: "Próg",
colorPrecision: "Precyzja koloru",
layerDifference: "Różnica warstw",
filterSpeckle: "Filtr artefaktów",
pathMode: "Tryb ścieżek",
cornerThreshold: "Próg rogów",
invertColors: "Odwróć kolory",
submit: "Wektoryzuj",
submitBatch: "Wektoryzuj ({count} plików)",
progressLabel: "Wektoryzacja",
},
"gif-tools": {
mode: "Tryb",
resize: "Zmień rozmiar",
optimize: "Optymalizuj",
speed: "Prędkość",
reverse: "Odwróć",
extract: "Wyodrębnij",
rotateMode: "Obróć",
pixel: "Piksele",
percentage: "Procent",
colors: "Kolory",
dither: "Dithering",
effort: "Nakład",
speedFactor: "Współczynnik prędkości",
loopControl: "Sterowanie pętlą",
infinite: "Nieskończona",
once: "Raz",
customLoop: "Niestandardowa",
loopCount: "Liczba pętli",
extractSingle: "Pojedyncza",
extractRange: "Zakres",
extractAll: "Wszystkie",
frameNumber: "Numer klatki",
frameStart: "Klatka początkowa",
frameEnd: "Klatka końcowa",
extractFormat: "Format",
submit: "Przetwórz GIF",
submitBatch: "Przetwórz ({count} plików)",
progressLabel: "Przetwarzanie GIF",
},
"image-to-base64": {
outputFormat: "Format wyjściowy",
keepOriginal: "Zachowaj oryginał",
quality: "Jakość",
maxWidth: "Maks. szerokość",
maxHeight: "Maks. wysokość",
submit: "Konwertuj na Base64",
submitBatch: "Konwertuj ({count} plików)",
copyBase64: "Kopiuj Base64",
copyDataUri: "Kopiuj Data URI",
copyImgTag: "Kopiuj <img>",
copyCssUrl: "Kopiuj CSS url()",
},
"enhance-faces-standalone": {
model: "Model",
fast: "Szybki",
balanced: "Zrównoważony",
best: "Najlepszy",
},
},
urlImport: {
title: "Import z adresów URL",
placeholder: "Wklej adresy URL obrazów, po jednym w wierszu...",
importButton: "Importuj adresy URL",
addButton: "Dodaj {count} plików",
adding: "Dodawanie...",
retryButton: "Ponów",
cancelButton: "Anuluj",
readyCount: "{count} gotowe",
failedStatus: "Niepowodzenie",
},
comparison: {
original: "Oryginał",
processed: "Przetworzony",
before: "Przed",
after: "Po",
savings: "Oszczędność",
},
toolPage: {
emptyPrompt: "Przeciągnij lub prześlij obraz, aby rozpocząć",
filesCount: "Pliki ({count})",
addMore: "+ Dodaj więcej",
clearAll: "Wyczyść wszystko",
acceptDescription: "Tylko pliki {exts}",
notFound: "Nie znaleziono narzędzia",
configureAndGenerate: "Skonfiguruj ustawienia i wygeneruj.",
processingFailed: "Przetwarzanie tego pliku nie powiodło się",
conversionComplete: "Konwersja zakończona",
cannotPreviewDownload:
"Plików {type} nie można podejrzeć w przeglądarce. Użyj przycisku pobierania, aby zapisać plik.",
generatingPreview: "Generowanie podglądu...",
cannotPreviewWillProcess:
"Plików {ext} nie można podejrzeć w przeglądarce. Narzędzie nadal przetworzy ten plik.",
previousImage: "Poprzedni obraz",
nextImage: "Następny obraz",
imageCounter: "{current} / {total}",
settingsLabel: "Ustawienia",
downloadAllZip: "Pobierz wszystko (ZIP)",
hideSettings: "Ukryj ustawienia",
imageArea: "Obszar obrazu",
},
homePage: {
generatingPreview: "Generowanie podglądu...",
loadingPreview: "Ładowanie podglądu...",
changeFile: "Zmień plik",
quickActions: "Szybkie akcje",
allTools: "Wszystkie narzędzia",
},
fullscreenGrid: {
searchPlaceholder: "Szukaj narzędzi...",
hideDetails: "Ukryj szczegóły",
showDetails: "Pokaż szczegóły",
switchToSidebar: "Przełącz na widok paska bocznego",
sidebarButton: "Pasek boczny",
noToolsFound: "Nie znaleziono narzędzi",
tryDifferent: "Spróbuj innej frazy wyszukiwania",
},
editor: {
menu: {
file: {
label: "Plik",
new: "Nowy",
open: "Otwórz",
save: "Zapisz",
exportAs: "Eksportuj jako...",
quickExportPng: "Szybki eksport jako PNG",
close: "Zamknij",
},
edit: {
label: "Edycja",
undo: "Cofnij",
redo: "Ponów",
cut: "Wytnij",
copy: "Kopiuj",
copyMerged: "Kopiuj scalone",
paste: "Wklej",
pasteInPlace: "Wklej w miejscu",
delete: "Usuń",
freeTransform: "Swobodna transformacja",
transform: {
label: "Transformacja",
scale: "Skala",
rotate: "Obrót",
skew: "Pochylenie",
flipHorizontal: "Odbij poziomo",
flipVertical: "Odbij pionowo",
},
},
image: {
label: "Obraz",
imageSize: "Rozmiar obrazu...",
canvasSize: "Rozmiar płótna...",
rotation: {
label: "Obrót obrazu",
cw90: "90° w prawo",
ccw90: "90° w lewo",
r180: "180°",
flipHorizontal: "Odbij poziomo",
flipVertical: "Odbij pionowo",
},
trim: "Przytnij",
adjustments: {
label: "Korekta",
brightnessContrast: "Jasność/Kontrast",
hueSaturation: "Barwa/Nasycenie",
colorBalance: "Balans kolorów",
levels: "Poziomy",
curves: "Krzywe",
},
},
layer: {
label: "Warstwa",
newLayer: "Nowa warstwa",
duplicateLayer: "Duplikuj warstwę",
deleteLayer: "Usuń warstwę",
arrange: {
label: "Rozmieszczenie",
bringToFront: "Przesuń na wierzch",
bringForward: "Przesuń do przodu",
sendBackward: "Przesuń do tyłu",
sendToBack: "Przesuń na spód",
},
mergeDown: "Scal w dół",
flattenImage: "Spłaszcz obraz",
},
select: {
label: "Zaznaczenie",
all: "Zaznacz wszystko",
deselect: "Odznacz",
inverse: "Odwróć",
colorRange: "Zakres kolorów...",
},
filter: {
label: "Filtr",
blur: {
label: "Rozmycie",
gaussian: "Rozmycie gaussowskie",
motion: "Rozmycie ruchu",
radial: "Rozmycie radialne",
surface: "Rozmycie powierzchniowe",
},
sharpen: {
label: "Wyostrzanie",
sharpen: "Wyostrz",
unsharpMask: "Maska wyostrzająca",
},
noise: {
label: "Szum",
addNoise: "Dodaj szum",
reduceNoise: "Zmniejsz szum",
},
pixelate: {
label: "Pikselizacja",
pixelate: "Pikselizacja",
mosaic: "Mozaika",
},
stylize: {
label: "Stylizacja",
emboss: "Wytłoczenie",
solarize: "Solaryzacja",
posterize: "Posteryzacja",
},
grayscale: "Skala szarości",
sepia: "Sepia",
invert: "Inwersja",
},
view: {
label: "Widok",
zoomIn: "Powiększ",
zoomOut: "Pomniejsz",
fitOnScreen: "Dopasuj do ekranu",
actualPixels: "Rzeczywiste piksele",
rulers: "Linijki",
grid: "Siatka",
guides: "Prowadnice",
snap: "Przyciąganie",
panels: "Panele",
},
},
menuBar: {
backTitle: "Powrót do SnapOtter",
},
welcome: {
ariaLabel: "Strefa upuszczania obrazów",
heading: "Edytor obrazów",
dropDescription: "Przeciągnij tutaj obraz, aby rozpocząć",
openImageButton: "Otwórz obraz",
newDocumentButton: "Nowy dokument",
pasteHint: "Lub wklej ze schowka (Ctrl+V)",
},
mobile: {
heading: "Zalecany komputer stacjonarny",
description:
"Edytor obrazów najlepiej działa na dużych ekranach. Przełącz się na urządzenie z większym wyświetlaczem, aby korzystać z pełni możliwości edytora.",
},
errors: {
serverDecodeFailed: "Błąd dekodowania na serwerze",
},
shapes: {
shape: "Shape",
fill: "Fill",
stroke: "Stroke",
strokeWidth: "Width",
cornerRadius: "Radius",
sides: "Sides",
points: "Points",
dashStyle: "Dash",
solid: "Solid",
dashed: "Dashed",
dotted: "Dotted",
none: "None",
opacity: "Opacity",
rectangle: "Rectangle",
ellipse: "Ellipse",
line: "Line",
arrow: "Arrow",
polygon: "Polygon",
star: "Star",
},
},
settings: {
heading: "Ustawienia",
nav: {
general: "Ogólne",
systemSettings: "Ustawienia systemowe",
security: "Bezpieczeństwo",
people: "Użytkownicy",
teams: "Zespoły",
roles: "Role",
auditLog: "Dziennik audytu",
apiKeys: "Klucze API",
aiFeatures: "Funkcje AI",
tools: "Narzędzia",
productAnalytics: "Analityka",
about: "Informacje",
},
general: {
heading: "Ogólne",
description: "Preferencje użytkownika i ustawienia wyświetlania.",
loading: "Ładowanie...",
logOut: "Wyloguj",
defaultToolViewLabel: "Domyślny widok narzędzi",
defaultToolViewDescription: "Sposób wyświetlania narzędzi na stronie głównej",
sidebarOption: "Pasek boczny",
fullscreenGridOption: "Siatka pełnoekranowa",
appVersionLabel: "Wersja aplikacji",
appVersionDescription: "Bieżąca wersja SnapOtter",
saveButton: "Zapisz ustawienia",
saveSuccess: "Ustawienia zapisane.",
saveFailed: "Nie udało się zapisać ustawień.",
},
system: {
heading: "Ustawienia systemowe",
description: "Konfiguracja serwera i limity.",
fileUploadLimitLabel: "Limit przesyłania plików (MB)",
fileUploadLimitDescription: "Maksymalny rozmiar pliku na przesłanie",
defaultThemeLabel: "Domyślny motyw",
defaultThemeDescription: "Motyw stosowany dla nowych sesji",
lightOption: "Jasny",
darkOption: "Ciemny",
systemOption: "Systemowy",
languageLabel: "Język",
languageDescription: "Język interfejsu",
loginAttemptLimitLabel: "Limit prób logowania",
loginAttemptLimitDescription:
"Maksymalna liczba nieudanych prób logowania na minutę przed blokadą",
fileManagementHeading: "Zarządzanie plikami",
maxFileAgeLabel: "Maks. czas przechowywania plików (godziny)",
maxFileAgeDescription:
"Jak długo przetworzone pliki są przechowywane przed automatycznym usunięciem",
startupCleanupLabel: "Czyszczenie przy uruchomieniu",
startupCleanupDescription: "Usuwanie starych plików tymczasowych przy uruchomieniu serwera",
saveButton: "Zapisz ustawienia",
saveSuccess: "Ustawienia zapisane.",
saveFailed: "Nie udało się zapisać ustawień.",
limitsAndResources: "Limity i zasoby",
maxFileSize: "Maks. rozmiar pliku",
maxBatchSize: "Maks. rozmiar partii",
concurrentJobs: "Zadania równoległe",
workerThreads: "Wątki robocze",
maxPipelineSteps: "Maks. kroków Pipeline",
processingTimeout: "Limit czasu przetwarzania",
rateLimitPerMin: "Limit zapytań (zapytań/min)",
unlimited: "Bez limitu",
auto: "Auto",
envOverride: "Ustawione przez zmienną środowiskową",
maxCanvasPixels: "Maks. pikseli płótna",
maxSvgSize: "Maks. rozmiar SVG",
maxSplitGrid: "Maks. siatka podziału",
maxPdfPages: "Maks. stron PDF",
sessionDuration: "Czas trwania sesji",
},
security: {
heading: "Bezpieczeństwo",
description: "Ustawienia hasła i uwierzytelniania.",
changePasswordHeading: "Zmiana hasła",
currentPasswordPlaceholder: "Bieżące hasło",
newPasswordPlaceholder: "Nowe hasło",
confirmPasswordPlaceholder: "Potwierdź nowe hasło",
passwordsMismatch: "Hasła nie są zgodne",
passwordTooShort: "Hasło musi mieć co najmniej 4 znaki",
changeSuccess: "Hasło zostało zmienione",
changeFailed: "Nie udało się zmienić hasła",
currentPasswordIncorrect: "Bieżące hasło jest nieprawidłowe",
changePasswordButton: "Zmień hasło",
loginAttemptLimitNote:
"Limity prób logowania można skonfigurować w Ustawieniach systemowych.",
},
people: {
heading: "Użytkownicy",
description: "Zarządzanie członkami przestrzeni roboczej i ich uprawnieniami",
userCount: "{count} użytkownik",
userCountPlural: "{count} użytkowników",
searchPlaceholder: "Szukaj członków...",
addMembersButton: "Dodaj członków",
newMemberHeading: "Nowy członek",
usernamePlaceholder: "Nazwa użytkownika",
passwordPlaceholder: "Hasło",
roleUserOption: "Użytkownik",
roleEditorOption: "Edytor",
roleAdminOption: "Administrator",
roleUserDescription: "Podstawowy dostęp do narzędzi",
roleEditorDescription: "Wszystkie pliki i Pipeline",
roleAdminDescription: "Pełny dostęp",
noDescription: "Brak opisu",
defaultTeamOption: "Domyślny",
createButton: "Utwórz",
cancelButton: "Anuluj",
createSuccess: "Użytkownik utworzony pomyślnie",
createFailed: "Nie udało się utworzyć użytkownika",
userLimitReached: "Osiągnięto limit użytkowników (maks. {max})",
deleteConfirm: 'Usunąć użytkownika "{username}"? Tej operacji nie można cofnąć.',
deleteSuccess: 'Użytkownik "{username}" usunięty',
deleteFailed: "Nie udało się usunąć użytkownika",
editHeading: "Edycja {username}",
updateSuccess: "Użytkownik zaktualizowany",
updateFailed: "Nie udało się zaktualizować użytkownika",
cannotRemoveOwnAdmin: "Nie można usunąć własnej roli administratora",
resetPasswordHeading: "Resetowanie hasła dla {username}",
newPasswordLabel: "Nowe hasło (min. 8 znaków)",
resetPasswordButton: "Resetuj hasło",
resetPasswordWarning:
"Spowoduje to unieważnienie wszystkich sesji i kluczy API tego użytkownika.",
resetSuccess: "Hasło zresetowane pomyślnie",
resetFailed: "Nie udało się zresetować hasła",
tableHeaderUser: "Użytkownik",
tableHeaderRole: "Rola",
tableHeaderTeam: "Zespół",
noSearchResults: "Brak członków pasujących do wyszukiwania.",
noUsersFound: "Nie znaleziono użytkowników.",
authBadgeLocalOidc: "Lokalny + OIDC",
authBadgeOidc: "OIDC",
editRoleTeamAction: "Zmień rolę / zespół",
resetPasswordAction: "Resetuj hasło",
deleteUserAction: "Usuń użytkownika",
saveButton: "Zapisz",
copyPasswordButton: "Kopiuj haslo",
passwordCopied: "Skopiowano!",
copyPasswordWarning:
"Skopiuj to haslo teraz. Nie bedziesz mogl go zobaczyc po utworzeniu uzytkownika.",
},
teams: {
heading: "Zespoły",
description: "Organizuj członków w zespoły dla lepszego zarządzania.",
createButton: "Utwórz nowy zespół",
newTeamHeading: "Nowy zespół",
teamNamePlaceholder: "Nazwa zespołu",
createSubmitButton: "Utwórz",
cancelButton: "Anuluj",
createSuccess: "Zespół utworzony pomyślnie",
createFailed: "Nie udało się utworzyć zespołu",
duplicateTeamError: "Zespół o takiej nazwie już istnieje",
renameSuccess: "Nazwa zespołu zmieniona",
renameFailed: "Nie udało się zmienić nazwy zespołu",
deleteConfirm: 'Usunąć zespół "{name}"? Członkowie zostaną odpięci.',
deleteSuccess: 'Zespół "{name}" usunięty',
deleteFailed: "Nie udało się usunąć zespołu",
cannotDeleteDefault: "Nie można usunąć domyślnego zespołu ani zespołu z członkami",
tableHeaderTeamName: "Nazwa zespołu",
tableHeaderMembers: "Członkowie",
emptyState: "Nie znaleziono zespołów.",
renameSaveButton: "Zapisz",
renameCancelButton: "Anuluj",
renameAction: "Zmień nazwę",
deleteAction: "Usuń",
totalMembers: "Łączna liczba członków",
nameRequired: "Nazwa zespołu jest wymagana",
nameTooLong: "Nazwa zespołu nie może przekraczać 50 znaków",
duplicateName: "Zespół o takiej nazwie już istnieje",
},
roles: {
heading: "Role",
description: "Zarządzanie rolami i ich uprawnieniami. Ról wbudowanych nie można modyfikować.",
createButton: "Utwórz niestandardową rolę",
newRoleHeading: "Nowa rola",
roleNamePlaceholder: "Nazwa roli",
descriptionPlaceholder: "Opis (opcjonalnie)",
permissionsLabel: "Uprawnienia",
createSubmitButton: "Utwórz",
cancelButton: "Anuluj",
createSuccess: "Rola utworzona pomyślnie",
createFailed: "Nie udało się utworzyć roli",
duplicateRoleError: "Rola o takiej nazwie już istnieje",
editHeading: "Edycja roli: {name}",
editSaveButton: "Zapisz",
editCancelButton: "Anuluj",
updateSuccess: "Rola zaktualizowana",
updateFailed: "Nie udało się zaktualizować roli",
deleteConfirm:
'Usunąć rolę "{name}"? {count} użytkownik(ów) będzie wymagać ponownego przypisania.',
deleteConfirmSimple: 'Usunąć rolę "{name}"?',
deleteSuccess: 'Rola "{name}" usunięta',
deleteFailed: "Nie udało się usunąć roli",
emptyState: "Nie znaleziono ról.",
builtInBadge: "Wbudowana",
userCountBadge: "{count} użytkownik(ów)",
editRoleTitle: "Edytuj rolę",
deleteRoleTitle: "Usuń rolę",
permGroup: {
tools: "Narzędzia",
files: "Pliki",
apiKeys: "Klucze API",
pipelines: "Pipeline",
settings: "Ustawienia",
users: "Użytkownicy",
teams: "Zespoły",
system: "System",
},
},
auditLog: {
heading: "Dziennik audytu",
allActionsFilter: "Wszystkie akcje",
emptyState: "Brak wpisów w dzienniku audytu.",
tableHeaderTime: "Czas",
tableHeaderUser: "Użytkownik",
tableHeaderAction: "Akcja",
tableHeaderTarget: "Cel",
paginationInfo: "Strona {page} z {totalPages} ({total} wpisów)",
previousButton: "Poprzednia",
nextButton: "Następna",
justNow: "przed chwilą",
minutesAgo: "{mins} min temu",
hoursAgo: "{hrs} godz. temu",
daysAgo: "{days} dn. temu",
},
apiKeys: {
heading: "Klucze API",
description: "Zarządzanie kluczami API do programowego dostępu do SnapOtter.",
keyNamePlaceholder: "Nazwa klucza (opcjonalnie)",
generateButton: "Wygeneruj klucz API",
removeScopingLabel: "Usuń ograniczenie uprawnień",
restrictPermissionsLabel: "Ogranicz uprawnienia (opcjonalnie)",
expiresLabel: "Wygasa:",
clearButton: "Wyczyść",
copyTitle: "Kopiuj",
keyWarning: "Przechowuj ten klucz w bezpiecznym miejscu. Nie będzie ponownie wyświetlony.",
existingKeysHeading: "Istniejące klucze",
createdPrefix: "Utworzono {date}",
scopedPrefix: "Zakres:",
expiresPrefix: "Wygasa {date}",
deleteKeyTitle: "Usuń klucz",
deleteConfirm:
"Usunąć ten klucz API? Wszystkie integracje korzystające z niego przestaną działać.",
emptyState: "Brak kluczy API. Wygeneruj jeden, aby rozpocząć.",
},
tools: {
heading: "Narzędzia",
description:
"Włączanie i wyłączanie poszczególnych narzędzi. Wyłączone narzędzia są ukryte dla wszystkich użytkowników.",
restartBanner: "Aby zmiany zaczęły obowiązywać, wymagane jest ponowne uruchomienie.",
searchPlaceholder: "Szukaj narzędzi...",
noSearchResults: "Nie znaleziono narzędzi.",
loadFailedError:
"Nie udało się załadować ustawień narzędzi. Zapisywanie jest wyłączone, aby zapobiec utracie danych.",
saveButton: "Zapisz ustawienia narzędzi",
disabledCount: "Wyłączono {count} narzędzi",
},
experimental: {
label: "Włącz eksperymentalne narzędzia",
description: "Pokaż narzędzia będące w fazie rozwoju. Mogą działać niestabilnie.",
},
fileManagement: {
title: "Zarządzanie plikami",
maxAge: "Maks. czas przechowywania plików (godziny)",
maxAgeDescription:
"Jak długo przetworzone pliki są przechowywane przed automatycznym usunięciem",
startupCleanup: "Czyszczenie przy uruchomieniu",
startupCleanupDescription: "Usuwanie starych plików tymczasowych przy uruchomieniu serwera",
},
analytics: {
heading: "Analityka",
description: "Udostępnianie anonimowych danych o użytkowaniu w celu ulepszenia SnapOtter.",
privacyNote: "Państwa obrazy nigdy nie opuszczają komputera.",
disabledByAdmin: "Analityka została wyłączona przez administratora serwera.",
enabledLabel: "Analityka włączona",
disabledLabel: "Analityka wyłączona",
learnMore: "Dowiedz się więcej",
},
aiFeatures: {
title: "AI Features",
description: "Manage AI model bundles for advanced image processing.",
installAll: "Install All",
diskUsage: "Disk usage:",
installed: "Installed",
notInstalled: "Not installed",
queued: "Queued",
install: "Install",
repair: "Repair",
uninstall: "Uninstall",
installing: "Installing...",
},
about: {
heading: "Informacje",
appName: "SnapOtter",
appDescription:
"Samoobsługowy pakiet narzędzi do przetwarzania obrazów z priorytetem prywatności. 51 narzędzi. Zmiana rozmiaru, kompresja, konwersja, znaki wodne i automatyzacja procesów bez wysyłania danych do chmury.",
versionLabel: "Wersja:",
linksHeading: "Odnośniki",
githubLink: "Repozytorium GitHub",
docsLink: "Dokumentacja",
apiRefLink: "Dokumentacja API (Swagger)",
},
},
auth: {
login: "Logowanie",
logout: "Wyloguj",
username: "Nazwa użytkownika",
password: "Hasło",
loginButton: "Zaloguj",
loggingIn: "Logowanie...",
invalidCredentials: "Nieprawidłowa nazwa użytkownika lub hasło",
connectionError: "Błąd połączenia",
signInWith: "Zaloguj przez {provider}",
signInWithSso: "Zaloguj przez SSO",
or: "lub",
methodLocal: "Lokalny",
methodOidc: "OIDC",
methodBoth: "Lokalny + OIDC",
oidcAuthFailed: "Uwierzytelnianie nie powiodło się. Spróbuj ponownie.",
oidcProviderUnreachable:
"Nie udało się połączyć z dostawcą tożsamości. Spróbuj ponownie później.",
oidcSessionExpired: "Sesja logowania wygasła. Spróbuj ponownie.",
oidcUserNotAuthorized:
"Państwa konto nie ma uprawnień do korzystania z tej aplikacji. Skontaktuj się z administratorem.",
oidcUserLimitReached: "Osiągnięto limit użytkowników. Skontaktuj się z administratorem.",
oidcGenericError: "Błąd uwierzytelniania. Spróbuj ponownie.",
passwordManagedByProvider: "Zarządzanie hasłem odbywa się przez dostawcę tożsamości.",
enterUsername: "Wprowadź nazwę użytkownika",
enterPassword: "Wprowadź hasło",
heroTitle: "Twoje zdjęcia. Zostają Twoje.",
heroSubtitle: "Wszystkie narzędzia do obrazów, jakich potrzebujesz.",
rotatingPhrases: [
"Bez rejestracji. Bez konta.",
"Żadnych przesyłek do chmury. Nigdy.",
"100% przetwarzanie lokalne.",
"Za darmo. Na zawsze.",
"Bez ograniczeń. Bez ukrytych limitów.",
"Działa w pełni offline.",
"Przetwarzanie wsadowe bez ograniczeń.",
"51 narzędzi do obrazów.",
"15 modeli AI. Na Twoim sprzęcie.",
"Błyskawiczna szybkość. Oparte na Sharp.",
"Gotowe do sieci izolowanych.",
"Jeden kontener Docker.",
"Otwartoźródłowe. Zawsze.",
"Każdy piksel zostaje na Twoim sprzęcie.",
"Twój serwer. Twoje zasady.",
"Wdrożenie jednym poleceniem docker pull.",
"Alternatywa dla usług chmurowych.",
"Zmiana rozmiaru, kompresja, konwersja. Lokalnie.",
"Darmowy edytor. Bez znaków wodnych.",
"Wsadowe przetwarzanie obrazów. Bez limitów.",
"Usuwanie tła offline.",
"Samoobsługowa alternatywa dla Canva.",
"Klucze API nie są potrzebne.",
"Zgodność z GDPR z założenia.",
"Działa bez internetu.",
],
},
changePassword: {
title: "Zmiana hasła",
description:
"Przed kontynuowaniem należy ustawić nowe hasło. Hasło musi mieć co najmniej 8 znaków, w tym wielkie i małe litery oraz cyfrę.",
usernameLabel: "Nazwa użytkownika",
currentPasswordLabel: "Bieżące hasło",
currentPasswordPlaceholder: "Wprowadź bieżące hasło",
newPasswordLabel: "Nowe hasło",
generateButton: "Wygeneruj silne hasło",
newPasswordPlaceholder: "Co najmniej 8 znaków",
confirmPasswordLabel: "Potwierdź nowe hasło",
confirmPasswordPlaceholder: "Powtórz nowe hasło",
passwordsMismatch: "Hasła nie są zgodne",
failedError: "Nie udało się zmienić hasła",
connectionError: "Błąd połączenia",
changingButton: "Zmiana...",
changeButton: "Zmień hasło",
sidebarTitle: "Prawie gotowe",
sidebarDescription:
"Ustaw silne hasło, aby zabezpieczyć swoje konto, a następnie możesz zaczynać.",
},
automate: {
title: "Automatyzacja",
invalidPipelineFile: "Nieprawidłowy plik Pipeline SnapOtter",
newerVersion: "Ten Pipeline został utworzony w nowszej wersji SnapOtter",
missingName: "W pliku Pipeline brakuje nazwy",
noSteps: "Plik Pipeline nie zawiera kroków",
importFailed: "Import nie powiódł się",
couldNotRead: "Nie udało się odczytać pliku Pipeline",
fileCount: "{count} plik",
fileCountPlural: "{count} plików",
importFromLibrary: "Importuj z biblioteki",
addButton: "+ Dodaj",
libraryButton: "Biblioteka",
clearButton: "Wyczyść",
processingFailed: "Przetwarzanie tego pliku nie powiodło się",
processingMultiple: "Przetwarzanie {count} plików...",
processingPipeline: "Wykonywanie Pipeline...",
processButton: "Przetwórz",
processButtonMultiple: "Przetwórz ({count})",
processAllButton: "Przetwórz wszystko ({count})",
addTool: "Dodaj narzędzie",
toolPalette: "Paleta narzędzi",
clickToAdd: "Kliknij, aby dodać do Pipeline",
savedLabel: "Zapisane",
importButton: "Importuj",
noSavedPipelines: "Brak zapisanych Pipeline",
stepCount: "({count} krok)",
stepCountPlural: "({count} kroków)",
exportPipeline: "Eksportuj Pipeline",
deletePipeline: "Usuń Pipeline",
moreCount: "+{count} więcej",
pipelineBuilder: "Konstruktor Pipeline",
addToolsPrompt: "Dodaj narzędzia z palety, aby rozpocząć",
stepsConfigured: "Skonfigurowano {count} krok",
stepsConfiguredPlural: "Skonfigurowano {count} kroków",
noFilesLoaded: "Nie załadowano plików",
downloadZip: "Pobierz ZIP",
saveButton: "Zapisz",
pipelineNamePlaceholder: "Nazwa Pipeline",
descriptionPlaceholder: "Opis",
savingIndicator: "...",
cancelButton: "Anuluj",
preview: "Podgląd",
previousImage: "Poprzedni obraz",
nextImage: "Następny obraz",
imageCounter: "{current} / {total}",
imageArea: "Obszar obrazu",
templateSocialMedia: "Gotowe dla mediów społecznościowych",
templatePrivacyClean: "Czyszczenie prywatności",
templateWebOptimization: "Optymalizacja webowa",
templateProfilePicture: "Zdjęcie profilowe",
templateWatermarkBatch: "Wsadowe znaki wodne",
createNew: "Utwórz nową automatyzację",
savedAutomations: "Zapisane automatyzacje",
templates: "Szablony",
addStep: "Dodaj krok",
removeStep: "Usuń",
moveUp: "Przesuń w górę",
moveDown: "Przesuń w dół",
savePipeline: "Zapisz Pipeline",
runPipeline: "Przetwórz",
pipelineName: "Nazwa Pipeline",
pipelineDescription: "Opis (opcjonalnie)",
noStepsPrompt: "Dodaj kroki, aby zbudować automatyzację",
step: "Krok",
},
nav: {
tools: "Narzędzia",
reader: "Czytnik",
automate: "Automatyzacja",
editor: "Edytor",
files: "Pliki",
help: "Pomoc",
settings: "Ustawienia",
grid: "Siatka",
},
files: {
recentTab: "Ostatnie",
uploadTab: "Przesyłanie",
fileDetailsAriaLabel: "Szczegóły pliku",
fileDetailsHeading: "Szczegóły pliku",
},
dropzone: {
unsupportedFileType: "Ten typ pliku nie jest obsługiwany przez to narzędzie",
urlFetchFailed: "Nie udało się pobrać obrazu z URL",
ariaLabel: "Strefa upuszczania plików",
dropPrompt: "Przeciągnij tutaj swoje obrazy",
browseOrPaste: "kliknij gdziekolwiek, aby przeglądać, lub wklej ze schowka",
uploadButton: "Prześlij",
defaultFormats: "PNG, JPG, WebP, HEIC, RAW, PSD i ponad 65 formatów",
orSeparator: "lub",
urlPlaceholder: "Wklej adres URL obrazu...",
urlLoadingIndicator: "...",
addUrlButton: "Dodaj",
importMultipleUrls: "Importuj wiele adresów URL...",
filesSelected: "Wybrano plików: {count}",
},
reviewPanel: {
processedResultAlt: "Wynik przetwarzania",
sizeLabel: "Rozmiar: {size}",
typeLabel: "Typ: {type}",
processedLabel: "Przetworzono: {time}",
undoButton: "Cofnij",
downloadButton: "Pobierz",
openInEditor: "Otwórz w edytorze",
reviewHeading: "Przegląd",
continueEditing: "Kontynuuj edycję",
},
features: {
notEnabledTitle: "Funkcja nieaktywna",
notEnabledDescription:
"Ta funkcja nie jest aktywna. Poproś administratora o jej włączenie w Ustawieniach.",
requiresDownload: "Ta funkcja wymaga dodatkowego pobrania (~{size})",
retryButton: "Ponów",
queued: "W kolejce do instalacji...",
enableButton: "Włącz {name}",
lessThanMinute: "Mniej niż minuta do końca",
oneMinuteLeft: "Pozostała ~1 minuta",
minutesLeft: "Pozostało ~{mins} minut",
progressMessages: [
"Prawie gotowe... chyba...",
"Dobre rzeczy wymagają czasu...",
"I tak szybciej niż czekanie na schnięcie farby...",
"Pańska cierpliwość jest godna podziwu...",
"Pracujemy ciężej, niż się wydaje...",
"To jest ta ekscytująca część, zaufaj nam...",
"Za kulisami dzieją się ważne rzeczy...",
"Skoro to czytasz, to działa...",
"Przygotowujemy coś wspaniałego...",
"Warto na to czekać, słowo harcerza...",
"Napięcie jest częścią doświadczenia...",
"Uczymy Twój komputer nowych sztuczek...",
"Konfigurujemy Twoje supermoce...",
"Twoje zdjęcia podziękują Ci później...",
"Ładowanie... ale z klasą...",
"Idealny moment na kawę...",
"Kraków też nie w jeden dzień zbudowano...",
"Ciii... geniusz przy pracy...",
"Twoje zdjęcia już zazdroszczą temu, co nadchodzi...",
"Montujemy drużynę marzeń...",
"Rozpakowujemy wspaniałość...",
"Prawie skończyliśmy myśleć o rozpoczęciu... żartujemy...",
"Zwrot akcji: tu naprawdę coś się dzieje...",
"Rozgrzewamy silniki kreatywności...",
"Wyobraźnia się ładuje...",
"To nie wygaszacz ekranu, obiecujemy...",
"Wielka sztuka potrzebuje czasu na instalację...",
"Twoje przyszłe ja będzie Ci wdzięczne...",
"Pobieramy naprawdę mądre pliki...",
"Czekaj, najlepsze dopiero nadchodzi...",
],
},
help: {
heading: "Pomoc",
gettingStarted: {
heading: "Pierwsze kroki",
description:
"Wybierz narzędzie z paska bocznego lub wyszukaj je. Prześlij obraz, przeciągając go na stronę lub klikając strefę przesyłania. Dostosuj ustawienia i pobierz wynik.",
},
keyboardShortcuts: {
heading: "Skróty klawiaturowe",
focusSearchBar: "Fokus na pasku wyszukiwania",
goToTools: "Przejdź do narzędzi",
toggleTheme: "Przełącz motyw",
goToResize: "Przejdź do zmiany rozmiaru",
goToCrop: "Przejdź do kadrowania",
goToCompress: "Przejdź do kompresji",
goToConvert: "Przejdź do konwersji",
goToRemoveBackground: "Przejdź do usuwania tła",
goToWatermarkText: "Przejdź do tekstowego znaku wodnego",
goToStripMetadata: "Przejdź do usuwania metadanych",
goToImageInfo: "Przejdź do informacji o obrazie",
},
resources: {
heading: "Zasoby",
githubLink: "Repozytorium GitHub",
reportIssueLink: "Zgłoś problem",
docsLink: "Dokumentacja",
apiRefLink: "Dokumentacja API (Swagger)",
},
versionLabel: "SnapOtter v{version}",
},
errors: {
generic: "Wystąpił błąd",
offline: "Jesteś offline",
reconnecting: "Ponowne łączenie z serwerem...",
connected: "Połączono",
processingFailed: "Przetwarzanie tego pliku nie powiodło się",
timeout: "Upłynął limit czasu żądania. Serwer może być przeciążony. Spróbuj ponownie.",
networkError: "Błąd sieci. Sprawdź połączenie.",
invalidCredentials: "Nieprawidłowa nazwa użytkownika lub hasło",
connectionError: "Błąd połączenia",
},
analytics: {
consentTitle: "Pomóż ulepszyć SnapOtter",
consentDescription:
"Anonimowe statystyki użytkowania pomagają nam naprawiać błędy i tworzyć narzędzia, których naprawdę potrzebujesz. Twoje obrazy i pliki pozostają na Twoim komputerze.",
consentChangeable: "Możesz to wyłączyć w każdej chwili w Ustawieniach.",
acceptButton: "Jasne, brzmi dobrze",
declineButton: "Nie teraz",
settingsTitle: "Analityka",
settingsDescription:
"Udostępnianie anonimowych danych o użytkowaniu w celu ulepszenia SnapOtter.",
settingsPrivacy: "Państwa obrazy nigdy nie opuszczają komputera.",
settingsDisabledByAdmin: "Analityka została wyłączona przez administratora serwera.",
learnMore: "Dowiedz się więcej",
},
sidebar: {
tools: "Narzędzia",
grid: "Siatka",
automate: "Automatyzacja",
editor: "Edytor",
files: "Pliki",
help: "Pomoc",
settings: "Ustawienia",
},
toolCard: {
addToFavourites: "Dodaj do ulubionych",
},
appLayout: {
mobileNavTools: "Narzędzia",
mobileNavAutomate: "Automatyzacja",
mobileNavEditor: "Edytor",
mobileNavFiles: "Pliki",
mobileNavSettings: "Ustawienia",
},
} as const;