mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
2607 lines
88 KiB
TypeScript
2607 lines
88 KiB
TypeScript
import type { TranslationKeys } from "./en.js";
|
|
|
|
export const id: TranslationKeys = {
|
|
common: {
|
|
upload: "Unggah dari komputer",
|
|
process: "Proses",
|
|
download: "Unduh",
|
|
cancel: "Batal",
|
|
save: "Simpan",
|
|
delete: "Hapus",
|
|
settings: "Pengaturan",
|
|
search: "Cari alat...",
|
|
dropFiles: "Seret file ke sini atau klik tombol unggah",
|
|
loading: "Memuat...",
|
|
error: "Terjadi kesalahan",
|
|
confirm: "Konfirmasi",
|
|
close: "Tutup",
|
|
back: "Kembali",
|
|
next: "Berikutnya",
|
|
clear: "Hapus",
|
|
copy: "Salin",
|
|
copied: "Disalin!",
|
|
noResults: "Tidak ada hasil",
|
|
showLess: "Tampilkan lebih sedikit",
|
|
showMore: "Tampilkan {count} lainnya",
|
|
experimental: "Eksperimental",
|
|
enabled: "Aktif",
|
|
disabled: "Nonaktif",
|
|
rename: "Ganti nama",
|
|
edit: "Edit",
|
|
actions: "Tindakan",
|
|
create: "Buat",
|
|
or: "atau",
|
|
goHome: "Ke Beranda",
|
|
somethingWentWrong: "Terjadi kesalahan",
|
|
unexpectedError: "Terjadi kesalahan yang tidak terduga.",
|
|
retry: "Coba lagi",
|
|
privacyPolicy: "Kebijakan Privasi",
|
|
pageNotFound: "Page not found",
|
|
pageNotFoundDescription: "The page you are looking for does not exist or has been moved.",
|
|
},
|
|
categories: {
|
|
essentials: "Dasar",
|
|
optimization: "Optimasi",
|
|
adjustments: "Penyesuaian",
|
|
watermark: "Watermark & Overlay",
|
|
utilities: "Utilitas",
|
|
layout: "Tata Letak & Komposisi",
|
|
format: "Format & Konversi",
|
|
video: "Video",
|
|
audio: "Audio",
|
|
documents: "PDF & Documents",
|
|
data: "Data Files",
|
|
ai: "Alat AI",
|
|
},
|
|
modalities: {
|
|
image: "Image",
|
|
video: "Video",
|
|
audio: "Audio",
|
|
documentsAndFiles: "Documents & Files",
|
|
},
|
|
tools: {
|
|
resize: {
|
|
name: "Ubah Ukuran",
|
|
description: "Ubah ukuran berdasarkan piksel, persentase, atau preset media sosial",
|
|
},
|
|
crop: {
|
|
name: "Potong",
|
|
description: "Potong bebas, preset rasio aspek, potong bentuk",
|
|
},
|
|
rotate: {
|
|
name: "Putar & Balik",
|
|
description: "Putar, balik, dan luruskan gambar",
|
|
},
|
|
convert: {
|
|
name: "Konversi",
|
|
description: "Konversi antar format gambar",
|
|
},
|
|
compress: {
|
|
name: "Kompres",
|
|
description: "Kurangi ukuran file berdasarkan kualitas atau ukuran target",
|
|
},
|
|
"optimize-for-web": {
|
|
name: "Optimasi untuk Web",
|
|
description:
|
|
"Optimasi gambar untuk web dengan konversi format, kontrol kualitas, dan pratinjau langsung",
|
|
},
|
|
"strip-metadata": {
|
|
name: "Hapus Metadata",
|
|
description: "Hapus EXIF, GPS, dan info kamera",
|
|
},
|
|
"edit-metadata": {
|
|
name: "Edit Metadata",
|
|
description: "Edit EXIF, IPTC, XMP, GPS, kata kunci, dan tanggal",
|
|
},
|
|
"bulk-rename": {
|
|
name: "Ganti Nama Massal",
|
|
description: "Ganti nama banyak file dengan pola",
|
|
},
|
|
"image-to-pdf": {
|
|
name: "Gambar ke PDF",
|
|
description: "Gabungkan gambar menjadi dokumen PDF",
|
|
},
|
|
"pdf-to-image": {
|
|
name: "PDF ke Gambar",
|
|
description: "Konversi halaman PDF menjadi gambar",
|
|
},
|
|
favicon: {
|
|
name: "Generator Favicon",
|
|
description: "Buat semua ukuran Favicon dan ikon aplikasi",
|
|
},
|
|
"adjust-colors": {
|
|
name: "Sesuaikan Warna",
|
|
description: "Kecerahan, kontras, eksposur, saturasi, suhu warna, ketajaman, dan efek",
|
|
},
|
|
sharpening: {
|
|
name: "Pertajam",
|
|
description: "Pertajam adaptif, unsharp mask, dan pertajam high-pass dengan preset",
|
|
},
|
|
"replace-color": {
|
|
name: "Ganti & Balik Warna",
|
|
description: "Ganti warna tertentu atau balikkan warna",
|
|
},
|
|
"color-blindness": {
|
|
name: "Simulasi Buta Warna",
|
|
description: "Simulasikan tampilan gambar dengan berbagai jenis defisiensi penglihatan warna",
|
|
},
|
|
"remove-background": {
|
|
name: "Hapus Latar Belakang",
|
|
description: "Penghapusan latar belakang dengan AI",
|
|
},
|
|
upscale: {
|
|
name: "Perbesar Gambar",
|
|
description: "Peningkatan resolusi super dengan AI",
|
|
},
|
|
"erase-object": {
|
|
name: "Penghapus Objek",
|
|
description: "Hapus objek yang tidak diinginkan dengan AI",
|
|
},
|
|
ocr: {
|
|
name: "OCR / Ekstraksi Teks",
|
|
description: "Ekstrak teks dari gambar dengan akurasi AI",
|
|
},
|
|
"blur-faces": {
|
|
name: "Blur Wajah / Info Pribadi",
|
|
description: "Deteksi otomatis dan blur wajah serta informasi sensitif",
|
|
},
|
|
"enhance-faces": {
|
|
name: "Peningkatan Wajah",
|
|
description: "Pulihkan dan tingkatkan wajah dengan AI",
|
|
},
|
|
"smart-crop": {
|
|
name: "Potong Cerdas",
|
|
description: "Pemotongan cerdas berdasarkan subjek, wajah, atau trim",
|
|
},
|
|
"image-enhancement": {
|
|
name: "Peningkatan Gambar",
|
|
description:
|
|
"Perbaikan otomatis sekali klik dengan koreksi eksposur, kontras, warna, dan ketajaman cerdas",
|
|
},
|
|
"noise-removal": {
|
|
name: "Penghapusan Noise",
|
|
description: "Penghapusan noise dan grain dengan AI",
|
|
},
|
|
"red-eye-removal": {
|
|
name: "Penghapusan Mata Merah",
|
|
description: "Deteksi dan koreksi mata merah dengan AI untuk foto flash",
|
|
},
|
|
"restore-photo": {
|
|
name: "Restorasi Foto",
|
|
description: "Perbaiki goresan, robekan, dan kerusakan pada foto lama dengan AI",
|
|
},
|
|
"content-aware-resize": {
|
|
name: "Ubah Ukuran Content-Aware",
|
|
description: "Ubah ukuran gambar secara cerdas dengan mempertahankan konten penting",
|
|
},
|
|
"ai-canvas-expand": {
|
|
name: "Perluas Kanvas AI",
|
|
description: "Perluas kanvas dengan pengisian AI",
|
|
},
|
|
colorize: {
|
|
name: "Pewarnaan AI",
|
|
description: "Ubah foto hitam putih menjadi warna penuh menggunakan model deep learning AI",
|
|
},
|
|
"passport-photo": {
|
|
name: "Foto Paspor",
|
|
description:
|
|
"Buat foto paspor, visa, dan KTP sesuai standar pemerintah dengan deteksi wajah otomatis",
|
|
},
|
|
"transparency-fixer": {
|
|
name: "Perbaikan Transparansi PNG",
|
|
description: "Perbaiki PNG transparansi palsu dalam satu klik",
|
|
},
|
|
"watermark-text": {
|
|
name: "Watermark Teks",
|
|
description: "Tambahkan overlay watermark teks",
|
|
},
|
|
"watermark-image": {
|
|
name: "Watermark Gambar",
|
|
description: "Tumpangkan logo sebagai watermark",
|
|
},
|
|
"text-overlay": {
|
|
name: "Overlay Teks",
|
|
description: "Tambahkan teks bergaya ke gambar",
|
|
},
|
|
compose: {
|
|
name: "Komposisi Gambar",
|
|
description: "Lapisi gambar dengan posisi dan opasitas",
|
|
},
|
|
"meme-generator": {
|
|
name: "Generator Meme",
|
|
description:
|
|
"Buat meme dengan template populer atau gambar Anda sendiri. Teks bergaya Impact klasik dengan font, warna, dan posisi yang dapat disesuaikan.",
|
|
},
|
|
info: {
|
|
name: "Info Gambar",
|
|
description: "Lihat semua metadata dan properti gambar",
|
|
},
|
|
compare: {
|
|
name: "Bandingkan Gambar",
|
|
description: "Perbandingan dua gambar secara berdampingan",
|
|
},
|
|
"find-duplicates": {
|
|
name: "Cari Duplikat",
|
|
description: "Deteksi gambar duplikat dan hampir duplikat",
|
|
},
|
|
"color-palette": {
|
|
name: "Palet Warna",
|
|
description: "Ekstrak warna dominan dari gambar",
|
|
},
|
|
"qr-generate": {
|
|
name: "Generator Kode QR",
|
|
description: "Buat kode QR bergaya dengan warna, pola, dan logo kustom",
|
|
},
|
|
"html-to-image": {
|
|
name: "HTML to Image",
|
|
description: "Capture webpages as high-quality images",
|
|
},
|
|
"barcode-read": {
|
|
name: "Pembaca Barcode",
|
|
description: "Pindai gambar untuk kode QR, barcode, dan kode 2D",
|
|
},
|
|
collage: {
|
|
name: "Kolase / Grid",
|
|
description: "Gabungkan gambar menjadi kolase grid yang indah dengan 25+ template",
|
|
},
|
|
stitch: {
|
|
name: "Jahit / Gabungkan",
|
|
description: "Gabungkan gambar secara berdampingan, bertumpuk, atau dalam grid",
|
|
},
|
|
split: {
|
|
name: "Bagi Gambar",
|
|
description:
|
|
"Bagi gambar menjadi ubin grid atau berdasarkan ukuran piksel dengan pratinjau langsung",
|
|
},
|
|
border: {
|
|
name: "Border & Bingkai",
|
|
description:
|
|
"Tambahkan border, padding, sudut membulat, dan bayangan dengan preset sekali klik",
|
|
},
|
|
beautify: {
|
|
name: "Percantik Screenshot",
|
|
description:
|
|
"Tambahkan latar gradien, bingkai perangkat, bayangan, dan ukuran media sosial ke screenshot",
|
|
},
|
|
"svg-to-raster": {
|
|
name: "SVG ke Raster",
|
|
description:
|
|
"Konversi SVG ke PNG, JPEG, WebP, AVIF, TIFF, GIF, atau HEIF dengan skala dan DPI kustom",
|
|
},
|
|
vectorize: {
|
|
name: "Gambar ke SVG",
|
|
description: "Konversi gambar ke grafis vektor yang dapat diskalakan",
|
|
},
|
|
"gif-tools": {
|
|
name: "Alat GIF",
|
|
description:
|
|
"Ubah ukuran, optimasi, ubah kecepatan, balik, ekstrak frame, dan putar GIF animasi",
|
|
},
|
|
"image-to-base64": {
|
|
name: "Gambar ke Base64",
|
|
description: "Konversi gambar ke string Base64 untuk disematkan di HTML, CSS, dan lainnya",
|
|
},
|
|
"convert-video": {
|
|
name: "Convert Video",
|
|
description: "Convert videos between MP4, MOV, and WebM",
|
|
},
|
|
"compress-video": {
|
|
name: "Compress Video",
|
|
description: "Shrink video file size with quality control",
|
|
},
|
|
"trim-video": {
|
|
name: "Trim Video",
|
|
description: "Cut a clip out of a video",
|
|
},
|
|
"mute-video": {
|
|
name: "Mute Video",
|
|
description: "Remove the audio track from a video",
|
|
},
|
|
"video-to-gif": {
|
|
name: "Video to GIF",
|
|
description: "Turn a video clip into an animated GIF",
|
|
},
|
|
"convert-audio": {
|
|
name: "Convert Audio",
|
|
description: "Convert audio between MP3, WAV, OGG, and more",
|
|
},
|
|
"trim-audio": {
|
|
name: "Trim Audio",
|
|
description: "Cut a section out of an audio file",
|
|
},
|
|
"extract-audio": {
|
|
name: "Extract Audio",
|
|
description: "Pull the audio track out of a video",
|
|
},
|
|
"merge-pdf": {
|
|
name: "Merge PDFs",
|
|
description: "Combine multiple PDFs into one",
|
|
},
|
|
"split-pdf": {
|
|
name: "Split PDF",
|
|
description: "Extract pages or split into parts",
|
|
},
|
|
"compress-pdf": {
|
|
name: "Compress PDF",
|
|
description: "Shrink PDF file size",
|
|
},
|
|
"rotate-pdf": {
|
|
name: "Rotate PDF",
|
|
description: "Rotate pages in a PDF",
|
|
},
|
|
"word-to-pdf": {
|
|
name: "Word to PDF",
|
|
description: "Convert Word documents to PDF",
|
|
},
|
|
"extract-pages": {
|
|
name: "Extract Pages",
|
|
description: "Pull selected pages into a new PDF",
|
|
},
|
|
"remove-pages": {
|
|
name: "Remove Pages",
|
|
description: "Delete specific pages from a PDF",
|
|
},
|
|
"organize-pdf": {
|
|
name: "Organize PDF",
|
|
description: "Reorder pages with an explicit page order",
|
|
},
|
|
"protect-pdf": {
|
|
name: "Protect PDF",
|
|
description: "Add password protection (AES-256 encryption)",
|
|
},
|
|
"unlock-pdf": {
|
|
name: "Unlock PDF",
|
|
description: "Remove password protection from a PDF",
|
|
},
|
|
"repair-pdf": {
|
|
name: "Repair PDF",
|
|
description: "Attempt to repair a damaged or corrupted PDF",
|
|
},
|
|
"linearize-pdf": {
|
|
name: "Web-Optimize PDF",
|
|
description: "Linearize a PDF for fast web viewing",
|
|
},
|
|
"grayscale-pdf": {
|
|
name: "Grayscale PDF",
|
|
description: "Convert all colors to grayscale",
|
|
},
|
|
"pdfa-convert": {
|
|
name: "PDF/A Convert",
|
|
description: "Convert to archival PDF/A-2",
|
|
},
|
|
"crop-pdf": {
|
|
name: "Crop PDF",
|
|
description: "Crop all pages with a uniform margin",
|
|
},
|
|
"nup-pdf": {
|
|
name: "N-up PDF",
|
|
description: "Arrange multiple pages per sheet",
|
|
},
|
|
"booklet-pdf": {
|
|
name: "Booklet PDF",
|
|
description: "Arrange pages for folding into a booklet",
|
|
},
|
|
"watermark-pdf": {
|
|
name: "Watermark PDF",
|
|
description: "Add a text watermark to every page",
|
|
},
|
|
"pdf-page-numbers": {
|
|
name: "PDF Page Numbers",
|
|
description: "Add page numbers to every page",
|
|
},
|
|
"flatten-pdf": {
|
|
name: "Flatten PDF",
|
|
description: "Bake forms and annotations into page content",
|
|
},
|
|
"redact-pdf": {
|
|
name: "Redact PDF",
|
|
description: "Permanently remove text occurrences (verified true redaction)",
|
|
},
|
|
"pdf-to-text": {
|
|
name: "PDF to Text",
|
|
description: "Extract plain text from a PDF",
|
|
},
|
|
"pdf-to-word": {
|
|
name: "PDF to Word",
|
|
description: "Best for text-based PDFs; scanned pages need OCR",
|
|
},
|
|
"pdf-metadata": {
|
|
name: "PDF Metadata",
|
|
description: "Read and write PDF document metadata",
|
|
},
|
|
"html-to-pdf": {
|
|
name: "HTML to PDF",
|
|
description: "Convert an HTML file to PDF. Remote resources are disabled for privacy.",
|
|
},
|
|
"markdown-to-pdf": {
|
|
name: "Markdown to PDF",
|
|
description:
|
|
"Convert a Markdown file to a styled PDF. Remote resources are disabled for privacy.",
|
|
},
|
|
"csv-excel": {
|
|
name: "CSV to Excel",
|
|
description: "Convert between CSV and Excel (XLSX), both directions",
|
|
},
|
|
"csv-json": {
|
|
name: "CSV to JSON",
|
|
description: "Convert between CSV and JSON, both directions",
|
|
},
|
|
"json-xml": {
|
|
name: "JSON to XML",
|
|
description: "Convert between JSON and XML, both directions",
|
|
},
|
|
"split-csv": {
|
|
name: "Split CSV",
|
|
description: "Split a CSV into smaller files by row count",
|
|
},
|
|
pipeline: {
|
|
name: "Pipeline Builder",
|
|
description: "Rangkai beberapa alat menjadi alur kerja",
|
|
},
|
|
processing: { canceled: "Processing canceled" },
|
|
mediaPlayer: {
|
|
unsupported: "Your browser does not support this media format.",
|
|
},
|
|
documentView: {
|
|
loadFailed: "Failed to load document.",
|
|
previousPage: "Previous page",
|
|
nextPage: "Next page",
|
|
},
|
|
},
|
|
toolSettings: {
|
|
compress: {
|
|
compressionMode: "Mode Kompresi",
|
|
targetSize: "Ukuran Target",
|
|
quality: "Kualitas",
|
|
smallestFile: "File terkecil",
|
|
bestQuality: "Kualitas terbaik",
|
|
submit: "Kompres",
|
|
submitBatch: "Kompres ({count} file)",
|
|
progressLabel: "Mengompresi",
|
|
original: "Asli: {size} KB",
|
|
processed: "Diproses: {size} KB",
|
|
saved: "Hemat: {percent}%",
|
|
},
|
|
resize: {
|
|
customSize: "Ukuran Kustom",
|
|
scale: "Skala",
|
|
presets: "Preset",
|
|
contentAware: "Content-Aware",
|
|
widthPx: "Lebar (px)",
|
|
heightPx: "Tinggi (px)",
|
|
fitMode: "Mode Pas",
|
|
cropToFit: "Potong agar pas",
|
|
fitInside: "Pas di dalam",
|
|
stretch: "Regangkan",
|
|
limitToOriginalSize: "Batasi ke ukuran asli",
|
|
limitToOriginalSizeHint:
|
|
"Jika gambar Anda sudah lebih kecil dari target, biarkan apa adanya tanpa memperbesar",
|
|
scalePercent: "Skala (%)",
|
|
resizeToSquare: "Ubah ke persegi",
|
|
protectFaces: "Lindungi wajah",
|
|
smoothing: "Penghalusan",
|
|
edgeSensitivity: "Sensitivitas tepi",
|
|
submit: "Ubah Ukuran",
|
|
submitBatch: "Ubah Ukuran ({count} file)",
|
|
progressLabel: "Mengubah ukuran",
|
|
},
|
|
crop: {
|
|
aspectRatio: "Rasio Aspek",
|
|
custom: "Kustom",
|
|
positionAndSize: "Posisi & Ukuran",
|
|
ruleOfThirds: "Aturan Sepertiga",
|
|
leftOffsetPx: "Offset kiri (px)",
|
|
topOffsetPx: "Offset atas (px)",
|
|
submit: "Potong",
|
|
submitBatch: "Potong ({count} file)",
|
|
progressLabel: "Memotong",
|
|
},
|
|
rotate: {
|
|
rotate: "Putar",
|
|
angle: "Sudut",
|
|
straighten: "Luruskan",
|
|
flip: "Balik",
|
|
horizontal: "Horizontal",
|
|
vertical: "Vertikal",
|
|
resetAllChanges: "Reset semua perubahan",
|
|
submit: "Terapkan",
|
|
submitBatch: "Terapkan ({count} file)",
|
|
progressLabel: "Menerapkan",
|
|
},
|
|
convert: {
|
|
targetFormat: "Format Tujuan",
|
|
sourceFormat: "Format Sumber",
|
|
quality: "Kualitas",
|
|
submit: "Konversi",
|
|
submitBatch: "Konversi ({count} file)",
|
|
progressLabel: "Mengonversi",
|
|
},
|
|
"optimize-for-web": {
|
|
outputFormat: "Format Output",
|
|
quality: "Kualitas",
|
|
smallestFile: "File terkecil",
|
|
bestQuality: "Kualitas terbaik",
|
|
maxDimensions: "Dimensi Maksimum",
|
|
maxWidth: "Lebar Maksimum",
|
|
maxHeight: "Tinggi Maksimum",
|
|
stripMetadata: "Hapus Metadata",
|
|
sizeComparison: "Perbandingan Ukuran",
|
|
optimized: "Dioptimasi:",
|
|
smaller: "{percent}% lebih kecil",
|
|
larger: "{percent}% lebih besar",
|
|
submit: "Proses & Unduh",
|
|
submitBatch: "Proses & Unduh ({count} file)",
|
|
progressLabel: "Mengoptimasi",
|
|
},
|
|
"strip-metadata": {
|
|
currentMetadata: "Metadata Saat Ini",
|
|
readingMetadata: "Membaca metadata...",
|
|
noMetadataFound: "Tidak ada metadata di gambar ini.",
|
|
removeAllMetadata: "Hapus Semua Metadata",
|
|
selectSpecific: "Atau pilih metadata tertentu:",
|
|
stripExif: "Hapus EXIF (info kamera, tanggal, eksposur)",
|
|
stripGps: "Hapus GPS (data lokasi)",
|
|
stripIcc: "Hapus ICC (profil warna)",
|
|
stripXmp: "Hapus XMP (metadata yang dapat diperluas)",
|
|
locationFound: "lokasi ditemukan",
|
|
locationWarning:
|
|
"Gambar ini berisi lokasi presisi Anda. Pertimbangkan untuk menghapus data GPS sebelum membagikan.",
|
|
metadataSections: "{count} bagian metadata ditemukan",
|
|
metadataSectionsPlural: "{count} bagian metadata ditemukan",
|
|
metadataRemoved: "Metadata dihapus: {size} KB",
|
|
submit: "Hapus Metadata",
|
|
progressLabel: "Menghapus metadata",
|
|
},
|
|
"edit-metadata": {
|
|
readingMetadata: "Membaca metadata...",
|
|
couldNotReadMetadata: "Tidak dapat membaca metadata - kolom akan dimulai kosong.",
|
|
basicInfo: "Info Dasar",
|
|
description: "Deskripsi",
|
|
artist: "Seniman",
|
|
copyright: "Hak Cipta",
|
|
software: "Perangkat Lunak",
|
|
iptc: "IPTC",
|
|
title: "Judul",
|
|
headline: "Headline",
|
|
city: "Kota",
|
|
stateProvince: "Provinsi",
|
|
country: "Negara",
|
|
dateAndTime: "Tanggal & Waktu",
|
|
editDates: "Edit Tanggal",
|
|
shiftAllDates: "Geser Semua Tanggal",
|
|
dateModified: "Tanggal Diubah",
|
|
dateTaken: "Tanggal Diambil",
|
|
shiftHint: "Geser semua kolom tanggal dengan offset (berguna untuk koreksi zona waktu)",
|
|
direction: "Arah",
|
|
forward: "+ Maju",
|
|
backward: "- Mundur",
|
|
hoursMinutes: "Jam:Menit",
|
|
locationGps: "Lokasi (GPS)",
|
|
locationDataFound: "Data lokasi ditemukan",
|
|
noGpsData: "Tidak ada data GPS. Tambahkan koordinat di bawah.",
|
|
latitude: "Lintang",
|
|
longitude: "Bujur",
|
|
altitudeMeters: "Ketinggian (meter)",
|
|
removeAllGpsData: "Hapus semua data GPS",
|
|
keywords: "Kata Kunci",
|
|
addKeywordPlaceholder: "Tambahkan kata kunci dan tekan Enter",
|
|
addToExisting: "Tambahkan ke yang ada",
|
|
replaceAll: "Ganti semua",
|
|
allMetadata: "Semua Metadata",
|
|
templates: "Template",
|
|
templateNamePlaceholder: "Nama template",
|
|
uploadPrompt: "Unggah gambar untuk mengedit metadatanya.",
|
|
changes: "{count} perubahan:",
|
|
modified: "{count} diubah",
|
|
removed: "{count} dihapus",
|
|
gpsCleared: "GPS dihapus",
|
|
gpsAdded: "GPS ditambahkan",
|
|
datesShifted: "tanggal digeser",
|
|
submit: "Terapkan Metadata",
|
|
progressLabel: "Menulis metadata",
|
|
},
|
|
"bulk-rename": {
|
|
pattern: "Pola",
|
|
patternHint: "Variabel: {{index}}, {{padded}}, {{original}}",
|
|
startIndex: "Indeks Awal",
|
|
preview: "Pratinjau",
|
|
andMore: "... dan {count} lainnya",
|
|
renaming: "Mengganti nama...",
|
|
submit: "Ganti Nama {count} File",
|
|
zipDownloaded: "ZIP berhasil diunduh",
|
|
},
|
|
"image-to-pdf": {
|
|
imageCount: "{count} gambar akan dikonversi menjadi {mode}",
|
|
imageCountPlural: "{count} gambar akan dikonversi menjadi {mode}",
|
|
singlePdfMode: "satu PDF, satu gambar per halaman",
|
|
separatePdfMode: "PDF terpisah, satu per gambar",
|
|
combineAllImages: "Gabungkan semua gambar ke satu PDF",
|
|
pageSize: "Ukuran Halaman",
|
|
orientation: "Orientasi",
|
|
portrait: "Potret",
|
|
landscape: "Lanskap",
|
|
margin: "Margin",
|
|
targetSizeLabel: "Ukuran file target (opsional)",
|
|
targetSizePlaceholder: "mis. 2",
|
|
targetSizeHint: "Kosongkan untuk kualitas maksimum",
|
|
targetSizeMet: "Target tercapai",
|
|
targetSizeNotMet: "Tidak dapat mencapai target. File dikompres ke kualitas minimum.",
|
|
targetSizeTooSmall: "Target minimal 50KB",
|
|
jpegQualityLabel: "Kualitas JPEG yang digunakan",
|
|
noImage: "Tidak ada gambar",
|
|
submitCollate: "Buat PDF ({count} halaman)",
|
|
submitSeparate: "Buat {count} PDF",
|
|
downloadPdf: "Unduh PDF",
|
|
downloadZip: "Unduh ZIP",
|
|
progressLabel: "Membuat PDF",
|
|
uploadingImages: "Mengunggah gambar...",
|
|
processingPages: "Memproses {count} halaman...",
|
|
},
|
|
"pdf-to-image": {
|
|
dropPdf: "Seret PDF ke sini atau klik untuk memilih",
|
|
readingPdf: "Membaca PDF...",
|
|
pageCount: "{count} halaman",
|
|
pageCountPlural: "{count} halaman",
|
|
outputFormat: "Format Output",
|
|
quality: "Kualitas",
|
|
resolutionDpi: "Resolusi (DPI)",
|
|
dpiScreen: "Layar",
|
|
dpiStandard: "Standar",
|
|
dpiPrint: "Cetak",
|
|
dpiHighQuality: "Kualitas Tinggi",
|
|
colorMode: "Mode Warna",
|
|
colorModeColor: "Warna",
|
|
colorModeGrayscale: "Skala Abu-abu",
|
|
colorModeBw: "Hitam Putih",
|
|
pages: "Halaman",
|
|
allPages: "Semua halaman",
|
|
pagesHint: "mis. 1-3, 5, 8-10 (dokumen memiliki {count} halaman)",
|
|
converting: "Mengonversi...",
|
|
submit: "Konversi {count} halaman",
|
|
submitPlural: "Konversi {count} halaman",
|
|
downloadAllZip: "Unduh Semua (ZIP)",
|
|
},
|
|
favicon: {
|
|
uploadHint:
|
|
"Unggah gambar persegi (disarankan 512x512 atau lebih besar) untuk membuat semua ukuran Favicon dan ikon aplikasi.",
|
|
multipleHint: "Masing-masing dari {count} gambar mendapat folder sendiri di ZIP.",
|
|
generatedSizes: "Ukuran yang Dibuat (per gambar)",
|
|
plusManifest: "+ manifest.json + cuplikan HTML",
|
|
submit: "Buat Favicon ({count} gambar)",
|
|
submitPlural: "Buat Favicon ({count} gambar)",
|
|
downloadZip: "Unduh Favicon ZIP",
|
|
progressLabel: "Membuat Favicon",
|
|
},
|
|
"adjust-colors": {
|
|
light: "Cahaya",
|
|
brightness: "Kecerahan",
|
|
contrast: "Kontras",
|
|
exposure: "Eksposur",
|
|
color: "Warna",
|
|
saturation: "Saturasi",
|
|
temperature: "Suhu Warna",
|
|
temperatureHint: "dingin / hangat",
|
|
tint: "Tint",
|
|
tintHint: "hijau / magenta",
|
|
hue: "Hue",
|
|
detail: "Detail",
|
|
sharpness: "Ketajaman",
|
|
effects: "Efek",
|
|
none: "tidak ada",
|
|
grayscale: "skala abu-abu",
|
|
sepia: "sepia",
|
|
invert: "balik",
|
|
colorChannels: "Saluran Warna",
|
|
channelModified: "diubah",
|
|
red: "Merah",
|
|
green: "Hijau",
|
|
blue: "Biru",
|
|
resetAll: "Reset Semua",
|
|
submit: "Terapkan",
|
|
submitBatch: "Terapkan ({count} file)",
|
|
progressLabel: "Menyesuaikan warna",
|
|
},
|
|
sharpening: {
|
|
method: "Metode",
|
|
adaptive: "Adaptif",
|
|
unsharpMask: "Unsharp Mask",
|
|
highPass: "High-Pass",
|
|
presets: "Preset",
|
|
textureAmount: "Jumlah Tekstur",
|
|
amount: "Jumlah",
|
|
strength: "Kekuatan",
|
|
noiseReduction: "Pengurangan Noise",
|
|
off: "mati",
|
|
lightDenoise: "ringan",
|
|
mediumDenoise: "sedang",
|
|
strongDenoise: "kuat",
|
|
advancedControls: "Kontrol Lanjutan",
|
|
radius: "Radius",
|
|
flatProtection: "Proteksi Area Datar",
|
|
detailThreshold: "Ambang Detail",
|
|
haloLimitLight: "Batas Halo (Terang)",
|
|
haloLimitDark: "Batas Halo (Gelap)",
|
|
threshold: "Ambang",
|
|
kernelSize: "Ukuran Kernel",
|
|
submit: "Pertajam",
|
|
submitBatch: "Pertajam ({count} file)",
|
|
progressLabel: "Mempertajam",
|
|
},
|
|
"replace-color": {
|
|
sourceColor: "Warna Sumber (yang diganti)",
|
|
targetColor: "Warna Target (pengganti)",
|
|
makeTransparent: "Jadikan transparan",
|
|
tolerance: "Toleransi",
|
|
exactMatch: "Cocok persis",
|
|
wideRange: "Rentang lebar",
|
|
submit: "Ganti Warna",
|
|
submitBatch: "Ganti Warna ({count} file)",
|
|
progressLabel: "Mengganti warna",
|
|
},
|
|
"color-blindness": {
|
|
simulationType: "Jenis Simulasi",
|
|
redGreen: "Merah-Hijau",
|
|
blueYellow: "Biru-Kuning",
|
|
monochromatic: "Monokromatik",
|
|
submit: "Simulasi",
|
|
submitBatch: "Simulasi ({count} file)",
|
|
progressLabel: "Mensimulasikan buta warna",
|
|
},
|
|
"remove-background": {
|
|
subject: "Subjek",
|
|
people: "Orang",
|
|
products: "Produk",
|
|
general: "Umum",
|
|
passportIdPhoto: "Foto paspor / KTP",
|
|
quality: "Kualitas",
|
|
fast: "Cepat",
|
|
hd: "HD",
|
|
max: "Maksimum",
|
|
ultra: "Ultra",
|
|
background: "Latar Belakang",
|
|
transparent: "Transparan",
|
|
bgColor: "Warna",
|
|
gradient: "Gradien",
|
|
image: "Gambar",
|
|
gradientDirection: "Arah",
|
|
chooseBackgroundImage: "Pilih gambar latar",
|
|
effectsSection: "Efek",
|
|
effectsActive: "aktif",
|
|
blurBackground: "Blur Latar Belakang",
|
|
intensity: "Intensitas",
|
|
addShadow: "Tambah Bayangan",
|
|
opacity: "Opasitas",
|
|
outputFormat: "Output Format",
|
|
edgeSmoothing: "Edge Smoothing",
|
|
edgeSmoothingOff: "Off",
|
|
edgeSmoothingLight: "Light",
|
|
edgeSmoothingMedium: "Medium",
|
|
edgeSmoothingStrong: "Strong",
|
|
colorDecontamination: "Color Decontamination",
|
|
rendering: "Merender...",
|
|
submit: "Hapus Latar Belakang",
|
|
submitBatch: "Hapus Latar Belakang ({count} file)",
|
|
progressLabel: "Menghapus latar belakang",
|
|
},
|
|
upscale: {
|
|
scaleFactor: "Faktor Skala",
|
|
quality: "Kualitas",
|
|
enhanceFaces: "Tingkatkan wajah",
|
|
noiseReduction: "Pengurangan Noise",
|
|
noiseReductionHint:
|
|
"Menghaluskan grain dan noise. Nilai lebih tinggi menghapus lebih banyak noise tetapi dapat mengaburkan detail.",
|
|
outputFormat: "Format Output",
|
|
submit: "Perbesar {scale}x",
|
|
submitBatch: "Perbesar {scale}x ({count} file)",
|
|
progressLabel: "Memperbesar gambar",
|
|
progressLabelBatch: "Memperbesar {count} gambar",
|
|
},
|
|
"erase-object": {
|
|
brushSize: "Ukuran Kuas",
|
|
fine: "Halus",
|
|
wide: "Lebar",
|
|
undo: "Undo",
|
|
clear: "Hapus",
|
|
outputFormat: "Format Output",
|
|
quality: "Kualitas",
|
|
paintHint: "Cat di atas objek yang ingin Anda hapus. Gunakan Ctrl+Z untuk undo.",
|
|
submit: "Hapus Objek",
|
|
submitBatch: "Hapus Semua ({count})",
|
|
progressLabel: "Menghapus objek",
|
|
},
|
|
ocr: {
|
|
quality: "Kualitas",
|
|
enhanceBeforeScanning: "Tingkatkan sebelum pemindaian",
|
|
enhanceHint:
|
|
"Secara otomatis meluruskan, meningkatkan kontras, menghapus noise, dan memperbesar gambar sebelum pemindaian untuk akurasi yang lebih baik.",
|
|
language: "Bahasa",
|
|
autoDetect: "Deteksi otomatis",
|
|
extractedText: "Teks yang Diekstrak",
|
|
noTextDetected: "Tidak ada teks terdeteksi di gambar ini",
|
|
characters: "{count} karakter",
|
|
submit: "Ekstrak Teks",
|
|
submitBatch: "Ekstrak Teks ({count} file)",
|
|
progressLabel: "Mengekstrak teks",
|
|
},
|
|
"blur-faces": {
|
|
blurRadius: "Radius Blur",
|
|
blurLight: "Ringan",
|
|
blurHeavy: "Berat",
|
|
detectionSensitivity: "Sensitivitas Deteksi",
|
|
moreFaces: "Lebih banyak wajah",
|
|
fewerFaces: "Lebih sedikit wajah",
|
|
submit: "Blur Wajah",
|
|
progressLabel: "Memblur wajah",
|
|
},
|
|
"enhance-faces": {
|
|
quality: "Kualitas",
|
|
enhancementStrength: "Kekuatan Peningkatan",
|
|
onlyCenterFace: "Hanya wajah tengah",
|
|
detectionSensitivity: "Sensitivitas Deteksi",
|
|
submit: "Tingkatkan Wajah",
|
|
submitBatch: "Tingkatkan Wajah ({count} file)",
|
|
progressLabel: "Meningkatkan wajah",
|
|
},
|
|
"smart-crop": {
|
|
subjectFocus: "Fokus Subjek",
|
|
faceFocus: "Fokus Wajah",
|
|
autoTrim: "Trim Otomatis",
|
|
customSize: "Ukuran Kustom",
|
|
socialPresets: "Preset Sosial",
|
|
detectionStrategy: "Strategi Deteksi",
|
|
detectionStrategyHint:
|
|
"Attention menemukan area paling menonjol secara visual. Entropy menemukan area dengan detail dan informasi terbanyak.",
|
|
attention: "Attention",
|
|
entropy: "Entropy",
|
|
padding: "Padding",
|
|
paddingHint: "Ruang ekstra di sekitar area fokus",
|
|
outputQuality: "Kualitas Output",
|
|
outputQualityHint: "Untuk output JPEG dan WebP. PNG selalu lossless.",
|
|
subjectDescription:
|
|
"Mendeteksi area paling menarik menggunakan analisis saliency dan memotong ke ukuran target Anda.",
|
|
framing: "Framing",
|
|
facePadding: "Padding Wajah",
|
|
facePaddingHint: "Ruang ekstra di sekitar wajah yang terdeteksi",
|
|
fewerFalsePositives: "Lebih sedikit false positive",
|
|
faceDescription:
|
|
"Menggunakan deteksi wajah AI untuk menjaga wajah tetap terbingkai dengan benar. Beralih ke Fokus Subjek jika tidak ada wajah terdeteksi.",
|
|
trimTolerance: "Toleransi",
|
|
trimDescription:
|
|
"Seberapa berbeda piksel border dari warna tepi dan masih dipotong. Lebih tinggi = lebih agresif.",
|
|
padToSquare: "Padding ke persegi",
|
|
targetSizePx: "Ukuran target (px)",
|
|
padColor: "Warna padding",
|
|
trimHint:
|
|
'Hapus border warna seragam di sekitar subjek. Aktifkan "Padding ke persegi" untuk gambar siap e-commerce.',
|
|
submitSubject: "Potong Cerdas",
|
|
submitFace: "Potong Wajah",
|
|
submitTrim: "Trim Border",
|
|
},
|
|
imageEnhancement: {
|
|
enhancementMode: "Mode Peningkatan",
|
|
auto: "Otomatis",
|
|
portrait: "Potret",
|
|
landscape: "Lanskap",
|
|
lowLight: "Cahaya Redup",
|
|
food: "Makanan",
|
|
document: "Dokumen",
|
|
intensity: "Intensitas",
|
|
deepEnhance: "Deep Enhance (AI)",
|
|
deepEnhanceDescription: "Menghapus noise dan artefak menggunakan AI",
|
|
deepEnhanceRequires: "Memerlukan bundel Perbesar & Tingkatkan",
|
|
analyzingImage: "Menganalisis gambar...",
|
|
detectedIssues: "Masalah Terdeteksi",
|
|
imageLooksGood: "Gambar terlihat bagus. Atur halus dengan slider intensitas.",
|
|
issueUnderexposed: "Eksposur Rendah",
|
|
issueOverexposed: "Overexposed",
|
|
issueLowContrast: "Kontras Datar",
|
|
issueColorCast: "Color Cast",
|
|
issueDesaturated: "Desaturated",
|
|
issueSoftFocus: "Fokus Lembut",
|
|
issueNoisy: "Noisy",
|
|
submit: "Tingkatkan",
|
|
submitDeep: "Deep Enhance",
|
|
submitBatch: "Tingkatkan ({count} file)",
|
|
submitDeepBatch: "Deep Enhance ({count} file)",
|
|
progressLabel: "Meningkatkan gambar",
|
|
progressLabelBatch: "Meningkatkan {count} gambar",
|
|
},
|
|
"noise-removal": {
|
|
denoisingTier: "Tingkat Denoising",
|
|
quick: "Cepat",
|
|
balanced: "Seimbang",
|
|
quality: "Kualitas",
|
|
maximum: "Maksimum",
|
|
quickDesc: "Cepat, ringan",
|
|
balancedDesc: "Kualitas baik, kecepatan sedang",
|
|
qualityDesc: "Didukung AI, lambat",
|
|
maximumDesc: "Model AI terbaik, paling lambat",
|
|
strength: "Kekuatan",
|
|
subtle: "Halus",
|
|
aggressive: "Agresif",
|
|
detailPreservation: "Preservasi Detail",
|
|
smooth: "Halus",
|
|
sharp: "Tajam",
|
|
colorNoise: "Noise Warna",
|
|
heavy: "Berat",
|
|
outputFormat: "Format Output",
|
|
gifAiWarning:
|
|
"Denoising AI pada file GIF hanya memproses frame pertama. Untuk GIF animasi, gunakan tingkat Cepat atau Seimbang.",
|
|
submit: "Hapus Noise",
|
|
submitBatch: "Hapus Noise ({count} file)",
|
|
progressLabel: "Menghapus noise",
|
|
progressLabelBatch: "Menghapus noise dari {count} gambar",
|
|
},
|
|
"red-eye-removal": {
|
|
sensitivity: "Sensitivitas",
|
|
strict: "Ketat",
|
|
aggressive: "Agresif",
|
|
correctionStrength: "Kekuatan Koreksi",
|
|
subtle: "Halus",
|
|
dark: "Gelap",
|
|
outputFormat: "Format Output",
|
|
quality: "Kualitas",
|
|
submit: "Perbaiki Mata Merah",
|
|
submitBatch: "Perbaiki Mata Merah ({count} file)",
|
|
progressLabel: "Memperbaiki mata merah",
|
|
progressLabelBatch: "Memperbaiki mata merah di {count} gambar",
|
|
},
|
|
"restore-photo": {
|
|
scratchRemoval: "Penghapusan Goresan",
|
|
scratchRemovalDesc: "Deteksi dan perbaiki goresan, robekan, noda",
|
|
faceEnhancement: "Peningkatan Wajah",
|
|
faceEnhancementDesc: "Pulihkan wajah yang rusak dengan CodeFormer AI",
|
|
faceFidelity: "Fidelitas Wajah",
|
|
enhanced: "Ditingkatkan",
|
|
faithful: "Setia",
|
|
noiseReduction: "Pengurangan Noise",
|
|
noiseReductionDesc: "Hapus grain dan noise dari foto lama",
|
|
denoiseStrength: "Kekuatan Denoise",
|
|
autoColorize: "Pewarnaan Otomatis",
|
|
autoColorizeDesc: "Tambahkan warna ke foto hitam putih menggunakan DDColor AI",
|
|
colorizeStrength: "Kekuatan Pewarnaan",
|
|
vivid: "Cerah",
|
|
submit: "Restorasi Foto",
|
|
submitBatch: "Restorasi Foto ({count})",
|
|
progressLabel: "Merestorasi foto",
|
|
progressLabelBatch: "Merestorasi {count} foto",
|
|
},
|
|
"content-aware-resize": {
|
|
widthPx: "Lebar (px)",
|
|
heightPx: "Tinggi (px)",
|
|
resizeToSquare: "Ubah ke persegi",
|
|
protectFaces: "Lindungi wajah",
|
|
protectFacesHint:
|
|
"Deteksi dan lindungi area wajah dari penghapusan seam menggunakan deteksi wajah",
|
|
smoothing: "Penghalusan",
|
|
edgeSensitivity: "Sensitivitas tepi",
|
|
submit: "Ubah Ukuran",
|
|
submitBatch: "Ubah Ukuran ({count} file)",
|
|
progressLabel: "Mengubah ukuran content-aware",
|
|
},
|
|
"ai-canvas-expand": {
|
|
quality: "Kualitas",
|
|
fast: "Cepat",
|
|
balanced: "Seimbang",
|
|
highQuality: "Kualitas Tinggi",
|
|
fastDesc: "Pratinjau cepat, lebih sedikit pass AI",
|
|
balancedDesc: "Kualitas baik, kecepatan sedang",
|
|
highQualityDesc: "Hasil terbaik, lebih lambat",
|
|
extendToAspectRatio: "Perluas ke rasio aspek",
|
|
extendByPixels: "Perluas sebesar (piksel)",
|
|
top: "Atas",
|
|
right: "Kanan",
|
|
bottom: "Bawah",
|
|
left: "Kiri",
|
|
newSize: "Ukuran baru: {width} x {height}",
|
|
submit: "Perluas Kanvas",
|
|
submitBatch: "Perluas ({count} file)",
|
|
progressLabel: "Memperluas kanvas",
|
|
},
|
|
colorize: {
|
|
aiModel: "Model AI",
|
|
fast: "Cepat",
|
|
fastDesc: "Hasil cepat",
|
|
balanced: "Seimbang",
|
|
balancedDesc: "Terbaik yang tersedia",
|
|
best: "Terbaik",
|
|
bestDesc: "Kualitas tertinggi",
|
|
colorIntensity: "Intensitas Warna",
|
|
grayscaleLabel: "Skala abu-abu",
|
|
subtleLabel: "Halus",
|
|
naturalLabel: "Natural",
|
|
vividLabel: "Cerah",
|
|
intensityHint: "Nilai lebih rendah menghasilkan warna yang lebih redup, bergaya vintage.",
|
|
strength: "Kekuatan Pewarnaan",
|
|
submit: "Warnai",
|
|
submitBatch: "Warnai ({count} file)",
|
|
progressLabel: "Mewarnai",
|
|
progressLabelBatch: "Mewarnai {count} gambar",
|
|
},
|
|
"passport-photo": {
|
|
country: "Negara",
|
|
searchCountries: "Cari negara...",
|
|
noCountriesFound: "Negara tidak ditemukan",
|
|
customDimensions: "Dimensi Kustom",
|
|
documentType: "Jenis Dokumen",
|
|
dimensionsMm: "Dimensi (mm)",
|
|
dpi: "DPI",
|
|
pixelsPerInch: "piksel per inci",
|
|
backgroundColor: "Warna Latar",
|
|
maxFileSize: "Ukuran File Maks",
|
|
noLimit: "Tanpa batas",
|
|
customKb: "Kustom KB...",
|
|
uploadPortrait: "Unggah foto potret",
|
|
uploadHint: "Seret atau unggah gambar di panel kiri untuk pratinjau foto paspor Anda",
|
|
analyzingPhoto: "Menganalisis foto",
|
|
detectingLandmarks: "Mendeteksi landmark wajah dan menghapus latar belakang...",
|
|
generatePassportPhoto: "Buat Foto Paspor",
|
|
generating: "Membuat...",
|
|
downloadPhoto: "Unduh Foto",
|
|
faceCentered: "Wajah di tengah",
|
|
headLevel: "Kepala lurus",
|
|
lookingStraight: "Melihat ke depan",
|
|
faceSize: "Ukuran wajah",
|
|
whatYouSee: "Apa yang Anda lihat adalah apa yang Anda unduh",
|
|
dragToAdjust: "Seret untuk menyesuaikan",
|
|
scrollToZoom: "Gulir untuk zoom",
|
|
photoGenerated: "Foto telah dibuat. Unduh dari panel kiri.",
|
|
},
|
|
"transparency-fixer": {
|
|
description:
|
|
"Unggah PNG dengan latar transparan palsu dan kami akan memperbaikinya dalam satu klik.",
|
|
removeWatermark: "Hapus Watermark",
|
|
removeWatermarkHelp: "Deteksi dan hapus watermark semi-transparan",
|
|
requiresEraser: "Memerlukan bundel Penghapus Objek",
|
|
advanced: "Lanjutan",
|
|
defringe: "Defringe",
|
|
outputFormat: "Format Output",
|
|
submit: "Perbaiki Transparansi",
|
|
submitBatch: "Perbaiki Transparansi ({count} file)",
|
|
progressLabel: "Memperbaiki transparansi",
|
|
},
|
|
"watermark-text": {
|
|
watermarkText: "Teks Watermark",
|
|
fontSize: "Ukuran Font",
|
|
color: "Warna",
|
|
opacity: "Opasitas",
|
|
position: "Posisi",
|
|
rotation: "Rotasi",
|
|
center: "Tengah",
|
|
topLeft: "Kiri Atas",
|
|
topRight: "Kanan Atas",
|
|
bottomLeft: "Kiri Bawah",
|
|
bottomRight: "Kanan Bawah",
|
|
tiled: "Ubin",
|
|
submit: "Tambah Watermark",
|
|
submitBatch: "Tambah Watermark ({count} file)",
|
|
progressLabel: "Menambahkan watermark",
|
|
},
|
|
"watermark-image": {
|
|
uploadWatermark: "Unggah Gambar Watermark",
|
|
position: "Posisi",
|
|
opacity: "Opasitas",
|
|
scale: "Skala",
|
|
submit: "Terapkan Watermark",
|
|
submitBatch: "Terapkan Watermark ({count} file)",
|
|
},
|
|
"text-overlay": {
|
|
text: "Teks",
|
|
fontSize: "Ukuran Font",
|
|
color: "Warna",
|
|
position: "Posisi",
|
|
top: "Atas",
|
|
center: "Tengah",
|
|
bottom: "Bawah",
|
|
backgroundBox: "Kotak Latar",
|
|
backgroundColor: "Warna Latar",
|
|
shadow: "Bayangan",
|
|
submit: "Tambah Teks",
|
|
submitBatch: "Tambah Teks ({count} file)",
|
|
progressLabel: "Menambahkan overlay teks",
|
|
download: "Download",
|
|
defaultText: "Your Text Here",
|
|
},
|
|
compose: {
|
|
uploadOverlay: "Unggah Gambar Overlay",
|
|
xPosition: "Posisi X",
|
|
yPosition: "Posisi Y",
|
|
opacity: "Opasitas",
|
|
blendMode: "Mode Blend",
|
|
submit: "Komposisi",
|
|
},
|
|
"meme-generator": {
|
|
selectTemplate: "Pilih template dari galeri atau unggah gambar Anda sendiri untuk memulai.",
|
|
chooseLayout: "Pilih tata letak teks untuk gambar kustom Anda.",
|
|
textContent: "Konten Teks",
|
|
textStyle: "Gaya Teks",
|
|
font: "Font",
|
|
fontSize: "Ukuran Font",
|
|
textColor: "Warna Teks",
|
|
strokeColor: "Warna Garis Tepi",
|
|
allCaps: "HURUF BESAR SEMUA",
|
|
generate: "Buat Meme",
|
|
generating: "Membuat...",
|
|
downloadMeme: "Unduh Meme",
|
|
backToGallery: "Kembali ke Galeri",
|
|
},
|
|
info: {
|
|
loadingInfo: "Memuat info...",
|
|
filename: "Nama File",
|
|
fileSize: "Ukuran File",
|
|
dimensions: "Dimensi",
|
|
format: "Format",
|
|
channels: "Saluran",
|
|
colorSpace: "Ruang Warna",
|
|
density: "Kepadatan",
|
|
bitDepth: "Kedalaman Bit",
|
|
progressive: "Progresif",
|
|
pages: "Halaman",
|
|
hasAlpha: "Memiliki Alpha",
|
|
hasProfile: "Memiliki Profil",
|
|
hasExif: "Memiliki EXIF",
|
|
hasIcc: "Memiliki ICC",
|
|
hasXmp: "Memiliki XMP",
|
|
readInfo: "Read Info",
|
|
reading: "Reading...",
|
|
channelStats: "Channel Stats",
|
|
yes: "Yes",
|
|
no: "No",
|
|
na: "N/A",
|
|
failedToRead: "Failed to read info",
|
|
},
|
|
compare: {
|
|
uploadSecondImage: "Unggah Gambar Kedua",
|
|
similarity: "Kemiripan: {percent}%",
|
|
submit: "Bandingkan",
|
|
downloadDiff: "Unduh Diff",
|
|
},
|
|
"find-duplicates": {
|
|
preset: "Preset",
|
|
exact: "Persis",
|
|
similar: "Mirip",
|
|
loose: "Longgar",
|
|
exactDesc: "Salinan identik piksel, gambar yang sama dalam format berbeda.",
|
|
similarDesc: "Salinan yang diubah ukurannya, dikompres ulang, atau diedit ringan.",
|
|
looseDesc: "Gambar terkait secara visual, potongan ringan, eksposur berbeda.",
|
|
threshold: "Ambang",
|
|
submit: "Pindai Duplikat",
|
|
scanning: "Memindai...",
|
|
},
|
|
"color-palette": {
|
|
submit: "Ekstrak Palet",
|
|
extracting: "Mengekstrak...",
|
|
dominantColors: "Warna Dominan",
|
|
clickToCopy: "Klik untuk menyalin",
|
|
},
|
|
"qr-generate": {
|
|
contentType: "Jenis Konten",
|
|
url: "URL",
|
|
text: "Teks",
|
|
wifi: "WiFi",
|
|
vcard: "vCard",
|
|
email: "Email",
|
|
phone: "Telepon",
|
|
sms: "SMS",
|
|
styling: "Gaya",
|
|
dotStyle: "Gaya Titik",
|
|
cornerSquareStyle: "Gaya Kotak Sudut",
|
|
cornerDotStyle: "Gaya Titik Sudut",
|
|
foregroundColor: "Warna Depan",
|
|
bgColor: "Warna Latar",
|
|
logo: "Logo",
|
|
downloadFormat: "Format Unduhan",
|
|
submit: "Buat Kode QR",
|
|
download: "Unduh Kode QR",
|
|
},
|
|
"html-to-image": {
|
|
modeUrl: "URL",
|
|
modeHtml: "HTML File",
|
|
htmlFile: "HTML File",
|
|
url: "URL",
|
|
urlPlaceholder: "https://snapotter.com",
|
|
format: "Output Format",
|
|
quality: "Quality",
|
|
devicePreset: "Device",
|
|
viewportWidth: "Width",
|
|
viewportHeight: "Height",
|
|
fullPage: "Full Page",
|
|
submit: "Capture",
|
|
download: "Download Screenshot",
|
|
capturing: "Capturing webpage...",
|
|
errorTimeout: "Page took too long to load",
|
|
errorBlocked: "This URL cannot be captured",
|
|
errorUnavailable: "Screenshot service is not available",
|
|
errorFailed: "Failed to capture the page",
|
|
placeholder: "Enter a URL and click Capture",
|
|
presets: {
|
|
desktop: "Desktop",
|
|
tablet: "Tablet",
|
|
mobile: "Mobile",
|
|
custom: "Custom",
|
|
},
|
|
},
|
|
"barcode-read": {
|
|
submit: "Pindai Barcode",
|
|
submitBatch: "Pindai ({count} file)",
|
|
scanning: "Memindai...",
|
|
noBarcodesFound: "Tidak ada barcode ditemukan",
|
|
barcodesFound: "{count} barcode ditemukan",
|
|
barcodesFoundPlural: "{count} barcode ditemukan",
|
|
},
|
|
collage: {
|
|
template: "Template",
|
|
aspectRatio: "Rasio Aspek",
|
|
gap: "Jarak",
|
|
cornerRadius: "Radius Sudut",
|
|
backgroundColor: "Warna Latar",
|
|
outputFormat: "Format Output",
|
|
quality: "Kualitas",
|
|
submit: "Buat Kolase",
|
|
downloadCollage: "Unduh Kolase",
|
|
},
|
|
stitch: {
|
|
direction: "Arah",
|
|
horizontal: "Horizontal",
|
|
vertical: "Vertikal",
|
|
grid: "Grid",
|
|
gridColumns: "Kolom Grid",
|
|
resizeMode: "Mode Ukuran",
|
|
fit: "Pas",
|
|
original: "Asli",
|
|
stretchMode: "Regangkan",
|
|
cropMode: "Potong",
|
|
alignment: "Perataan",
|
|
start: "Awal",
|
|
center: "Tengah",
|
|
end: "Akhir",
|
|
gap: "Jarak",
|
|
border: "Border",
|
|
cornerRadius: "Radius Sudut",
|
|
backgroundColor: "Warna Latar",
|
|
outputFormat: "Format Output",
|
|
quality: "Kualitas",
|
|
submit: "Jahit Gambar",
|
|
},
|
|
split: {
|
|
modeGrid: "Grid",
|
|
modeTileSize: "Ukuran Ubin",
|
|
presets: "Preset",
|
|
columns: "Kolom",
|
|
rows: "Baris",
|
|
tileWidth: "Lebar Ubin",
|
|
tileHeight: "Tinggi Ubin",
|
|
outputFormat: "Format Output",
|
|
quality: "Kualitas",
|
|
submit: "Bagi Gambar",
|
|
downloadAll: "Unduh Semua (ZIP)",
|
|
},
|
|
border: {
|
|
presets: "Preset",
|
|
borderWidth: "Lebar Border",
|
|
borderColor: "Warna Border",
|
|
padding: "Padding",
|
|
paddingColor: "Warna Padding",
|
|
cornerRadius: "Radius Sudut",
|
|
shadow: "Bayangan",
|
|
shadowBlur: "Blur Bayangan",
|
|
shadowOffsetX: "Offset Bayangan X",
|
|
shadowOffsetY: "Offset Bayangan Y",
|
|
shadowColor: "Warna Bayangan",
|
|
shadowOpacity: "Opasitas Bayangan",
|
|
submit: "Tambah Border",
|
|
submitBatch: "Tambah Border ({count} file)",
|
|
progressLabel: "Menambahkan border",
|
|
},
|
|
beautify: {
|
|
preset: "Preset",
|
|
backgroundType: "Jenis Latar",
|
|
solidColor: "Warna Solid",
|
|
linearGradient: "Gradien Linear",
|
|
radialGradient: "Gradien Radial",
|
|
customImage: "Gambar Kustom",
|
|
gradientAngle: "Sudut Gradien",
|
|
padding: "Padding",
|
|
borderRadius: "Radius Border",
|
|
shadowPreset: "Preset Bayangan",
|
|
deviceFrame: "Bingkai Perangkat",
|
|
submit: "Percantik",
|
|
submitBatch: "Percantik ({count} file)",
|
|
progressLabel: "Mempercantik screenshot",
|
|
},
|
|
"svg-to-raster": {
|
|
outputFormat: "Format Output",
|
|
sizing: "Ukuran",
|
|
scaleMode: "Skala",
|
|
customMode: "Kustom",
|
|
scalePresets: "Preset Skala",
|
|
dpiPresets: "Preset DPI",
|
|
customWidth: "Lebar (px)",
|
|
customHeight: "Tinggi (px)",
|
|
background: "Latar Belakang",
|
|
bgTransparent: "Transparan",
|
|
bgColor: "Warna",
|
|
quality: "Kualitas",
|
|
submit: "Konversi SVG",
|
|
submitBatch: "Konversi ({count} file)",
|
|
progressLabel: "Mengonversi SVG",
|
|
},
|
|
vectorize: {
|
|
preset: "Preset",
|
|
logo: "Logo",
|
|
illustration: "Ilustrasi",
|
|
photo: "Foto",
|
|
sketch: "Sketsa",
|
|
customPreset: "Kustom",
|
|
colorMode: "Mode Warna",
|
|
bw: "Hitam Putih",
|
|
colorModeColor: "Warna",
|
|
threshold: "Ambang",
|
|
colorPrecision: "Presisi Warna",
|
|
layerDifference: "Perbedaan Layer",
|
|
filterSpeckle: "Filter Bintik",
|
|
pathMode: "Mode Path",
|
|
cornerThreshold: "Ambang Sudut",
|
|
invertColors: "Balikkan warna",
|
|
submit: "Vektorisasi",
|
|
submitBatch: "Vektorisasi ({count} file)",
|
|
progressLabel: "Memvektorisasi",
|
|
},
|
|
"gif-tools": {
|
|
mode: "Mode",
|
|
resize: "Ubah Ukuran",
|
|
optimize: "Optimasi",
|
|
speed: "Kecepatan",
|
|
reverse: "Balik",
|
|
extract: "Ekstrak",
|
|
rotateMode: "Putar",
|
|
pixel: "Piksel",
|
|
percentage: "Persentase",
|
|
colors: "Warna",
|
|
dither: "Dither",
|
|
effort: "Usaha",
|
|
speedFactor: "Faktor Kecepatan",
|
|
loopControl: "Kontrol Loop",
|
|
infinite: "Tak Terbatas",
|
|
once: "Sekali",
|
|
customLoop: "Kustom",
|
|
loopCount: "Jumlah Loop",
|
|
extractSingle: "Tunggal",
|
|
extractRange: "Rentang",
|
|
extractAll: "Semua",
|
|
frameNumber: "Nomor Frame",
|
|
frameStart: "Frame Awal",
|
|
frameEnd: "Frame Akhir",
|
|
extractFormat: "Format",
|
|
submit: "Proses GIF",
|
|
submitBatch: "Proses ({count} file)",
|
|
progressLabel: "Memproses GIF",
|
|
},
|
|
"image-to-base64": {
|
|
outputFormat: "Format Output",
|
|
keepOriginal: "Pertahankan Asli",
|
|
quality: "Kualitas",
|
|
maxWidth: "Lebar Maks",
|
|
maxHeight: "Tinggi Maks",
|
|
submit: "Konversi ke Base64",
|
|
submitBatch: "Konversi ({count} file)",
|
|
copyBase64: "Salin Base64",
|
|
copyDataUri: "Salin Data URI",
|
|
copyImgTag: "Salin Tag <img>",
|
|
copyCssUrl: "Salin CSS url()",
|
|
},
|
|
"enhance-faces-standalone": {
|
|
model: "Model",
|
|
fast: "Cepat",
|
|
balanced: "Seimbang",
|
|
best: "Terbaik",
|
|
},
|
|
"convert-video": {
|
|
format: "Output format",
|
|
quality: "Quality",
|
|
high: "High",
|
|
balanced: "Balanced",
|
|
small: "Smallest",
|
|
submit: "Convert",
|
|
submitBatch: "Convert ({count} files)",
|
|
progressLabel: "Converting",
|
|
},
|
|
"compress-video": {
|
|
quality: "Compression",
|
|
light: "Light",
|
|
balanced: "Balanced",
|
|
strong: "Strong",
|
|
resolution: "Resolution",
|
|
original: "Original",
|
|
submit: "Compress",
|
|
submitBatch: "Compress ({count} files)",
|
|
progressLabel: "Compressing",
|
|
},
|
|
"trim-video": {
|
|
start: "Start (seconds)",
|
|
end: "End (seconds)",
|
|
precise: "Frame-accurate (re-encodes)",
|
|
submit: "Trim",
|
|
submitBatch: "Trim ({count} files)",
|
|
progressLabel: "Trimming",
|
|
},
|
|
"mute-video": {
|
|
submit: "Remove audio",
|
|
submitBatch: "Remove audio ({count} files)",
|
|
progressLabel: "Muting",
|
|
},
|
|
"video-to-gif": {
|
|
fps: "Frames per second",
|
|
width: "Width (px)",
|
|
start: "Start (seconds)",
|
|
duration: "Duration (seconds)",
|
|
submit: "Create GIF",
|
|
submitBatch: "Create GIFs ({count} files)",
|
|
progressLabel: "Creating GIF",
|
|
},
|
|
"convert-audio": {
|
|
format: "Output format",
|
|
bitrate: "Bitrate (kbps)",
|
|
submit: "Convert",
|
|
submitBatch: "Convert ({count} files)",
|
|
progressLabel: "Converting",
|
|
},
|
|
"trim-audio": {
|
|
start: "Start (seconds)",
|
|
end: "End (seconds)",
|
|
submit: "Trim",
|
|
submitBatch: "Trim ({count} files)",
|
|
progressLabel: "Trimming",
|
|
},
|
|
"extract-audio": {
|
|
format: "Output format",
|
|
submit: "Extract",
|
|
submitBatch: "Extract ({count} files)",
|
|
progressLabel: "Extracting",
|
|
},
|
|
"merge-pdf": {
|
|
addFiles: "Add PDFs to merge",
|
|
needTwo: "At least two PDFs are required",
|
|
orderHint: "{count} PDFs will merge in this order",
|
|
submit: "Merge",
|
|
submitBatch: "Merge ({count} files)",
|
|
progressLabel: "Merging",
|
|
},
|
|
"split-pdf": {
|
|
mode: "Split mode",
|
|
range: "Page range",
|
|
rangeHint: "e.g. 1-3, 5, 7-z",
|
|
everyN: "Pages per part",
|
|
submit: "Split",
|
|
submitBatch: "Split ({count} files)",
|
|
progressLabel: "Splitting",
|
|
},
|
|
"compress-pdf": {
|
|
preset: "Quality preset",
|
|
screen: "Screen (smallest)",
|
|
ebook: "Ebook (balanced)",
|
|
printer: "Printer (best quality)",
|
|
submit: "Compress",
|
|
submitBatch: "Compress ({count} files)",
|
|
progressLabel: "Compressing",
|
|
},
|
|
"rotate-pdf": {
|
|
angle: "Rotation angle",
|
|
range: "Page range",
|
|
rangeHint: "e.g. 1-3, 5, 1-z (all pages)",
|
|
submit: "Rotate",
|
|
submitBatch: "Rotate ({count} files)",
|
|
progressLabel: "Rotating",
|
|
},
|
|
"word-to-pdf": {
|
|
submit: "Convert to PDF",
|
|
submitBatch: "Convert ({count} files)",
|
|
progressLabel: "Converting",
|
|
},
|
|
"extract-pages": {
|
|
range: "Page range",
|
|
rangeHint: "e.g. 1-3, 5, 7-z",
|
|
submit: "Extract",
|
|
submitBatch: "Extract ({count} files)",
|
|
progressLabel: "Extracting",
|
|
},
|
|
"remove-pages": {
|
|
pages: "Pages to remove",
|
|
pagesHint: "e.g. 2, 4-6, z (last page)",
|
|
submit: "Remove",
|
|
submitBatch: "Remove ({count} files)",
|
|
progressLabel: "Removing",
|
|
},
|
|
"organize-pdf": {
|
|
order: "Page order",
|
|
orderHint: "e.g. 3,1,2 or 1-z (identity)",
|
|
submit: "Reorder",
|
|
submitBatch: "Reorder ({count} files)",
|
|
progressLabel: "Reordering",
|
|
},
|
|
"protect-pdf": {
|
|
userPassword: "User password",
|
|
ownerPassword: "Owner password (optional)",
|
|
ownerPasswordHint: "Defaults to user password if empty",
|
|
submit: "Protect",
|
|
submitBatch: "Protect ({count} files)",
|
|
progressLabel: "Encrypting",
|
|
},
|
|
"unlock-pdf": {
|
|
password: "Password",
|
|
submit: "Unlock",
|
|
submitBatch: "Unlock ({count} files)",
|
|
progressLabel: "Decrypting",
|
|
},
|
|
"repair-pdf": {
|
|
submit: "Repair",
|
|
submitBatch: "Repair ({count} files)",
|
|
progressLabel: "Repairing",
|
|
},
|
|
"linearize-pdf": {
|
|
submit: "Optimize",
|
|
submitBatch: "Optimize ({count} files)",
|
|
progressLabel: "Linearizing",
|
|
},
|
|
"grayscale-pdf": {
|
|
submit: "Convert",
|
|
submitBatch: "Convert ({count} files)",
|
|
progressLabel: "Converting",
|
|
},
|
|
"pdfa-convert": {
|
|
submit: "Convert",
|
|
submitBatch: "Convert ({count} files)",
|
|
progressLabel: "Converting",
|
|
},
|
|
"crop-pdf": {
|
|
margin: "Margin (points)",
|
|
submit: "Crop",
|
|
submitBatch: "Crop ({count} files)",
|
|
progressLabel: "Cropping",
|
|
},
|
|
"nup-pdf": {
|
|
perSheet: "Pages per sheet",
|
|
submit: "Arrange",
|
|
submitBatch: "Arrange ({count} files)",
|
|
progressLabel: "Arranging",
|
|
},
|
|
"booklet-pdf": {
|
|
perSheet: "Pages per sheet",
|
|
submit: "Create Booklet",
|
|
submitBatch: "Create Booklet ({count} files)",
|
|
progressLabel: "Creating booklet",
|
|
},
|
|
"watermark-pdf": {
|
|
text: "Watermark text",
|
|
position: "Position",
|
|
fontSize: "Font size",
|
|
opacity: "Opacity",
|
|
rotation: "Rotation",
|
|
submit: "Watermark",
|
|
submitBatch: "Watermark ({count} files)",
|
|
progressLabel: "Watermarking",
|
|
},
|
|
"pdf-page-numbers": {
|
|
position: "Position",
|
|
fontSize: "Font size",
|
|
submit: "Add Numbers",
|
|
submitBatch: "Add Numbers ({count} files)",
|
|
progressLabel: "Numbering",
|
|
},
|
|
"flatten-pdf": {
|
|
submit: "Flatten",
|
|
submitBatch: "Flatten ({count} files)",
|
|
progressLabel: "Flattening",
|
|
},
|
|
"redact-pdf": {
|
|
terms: "Terms to redact",
|
|
termsHint: "One term per line (max 50)",
|
|
caseSensitive: "Case sensitive",
|
|
submit: "Redact",
|
|
submitBatch: "Redact ({count} files)",
|
|
progressLabel: "Redacting",
|
|
},
|
|
"pdf-to-text": {
|
|
submit: "Extract Text",
|
|
submitBatch: "Extract Text ({count} files)",
|
|
progressLabel: "Extracting",
|
|
},
|
|
"pdf-to-word": {
|
|
hint: "Best for text-based PDFs; scanned pages need OCR",
|
|
submit: "Convert to Word",
|
|
submitBatch: "Convert to Word ({count} files)",
|
|
progressLabel: "Converting",
|
|
},
|
|
"pdf-metadata": {
|
|
title: "Title",
|
|
author: "Author",
|
|
subject: "Subject",
|
|
keywords: "Keywords",
|
|
submit: "Set Metadata",
|
|
submitBatch: "Set Metadata ({count} files)",
|
|
progressLabel: "Setting metadata",
|
|
},
|
|
"html-to-pdf": {
|
|
hint: "Remote resources are disabled for privacy.",
|
|
submit: "Convert to PDF",
|
|
submitBatch: "Convert to PDF ({count} files)",
|
|
progressLabel: "Converting",
|
|
},
|
|
"markdown-to-pdf": {
|
|
hint: "Remote resources are disabled for privacy.",
|
|
submit: "Convert to PDF",
|
|
submitBatch: "Convert to PDF ({count} files)",
|
|
progressLabel: "Converting",
|
|
},
|
|
"csv-excel": {
|
|
sheet: "Worksheet number",
|
|
submit: "Convert",
|
|
submitBatch: "Convert ({count} files)",
|
|
progressLabel: "Converting",
|
|
},
|
|
"csv-json": {
|
|
pretty: "Pretty print",
|
|
submit: "Convert",
|
|
submitBatch: "Convert ({count} files)",
|
|
progressLabel: "Converting",
|
|
},
|
|
"json-xml": {
|
|
pretty: "Pretty print",
|
|
submit: "Convert",
|
|
submitBatch: "Convert ({count} files)",
|
|
progressLabel: "Converting",
|
|
},
|
|
"split-csv": {
|
|
rowsPerFile: "Rows per file",
|
|
keepHeader: "Keep header in each file",
|
|
submit: "Split",
|
|
submitBatch: "Split ({count} files)",
|
|
progressLabel: "Splitting",
|
|
},
|
|
},
|
|
urlImport: {
|
|
title: "Impor dari URL",
|
|
placeholder: "Tempel URL gambar, satu per baris...",
|
|
importButton: "Impor URL",
|
|
addButton: "Tambah {count} File",
|
|
adding: "Menambahkan...",
|
|
retryButton: "Coba Lagi",
|
|
cancelButton: "Batal",
|
|
readyCount: "{count} siap",
|
|
failedStatus: "Gagal",
|
|
},
|
|
comparison: {
|
|
original: "Asli",
|
|
processed: "Diproses",
|
|
before: "Sebelum",
|
|
after: "Sesudah",
|
|
savings: "Penghematan",
|
|
},
|
|
toolPage: {
|
|
emptyPrompt: "Seret atau unggah gambar untuk memulai",
|
|
filesCount: "File ({count})",
|
|
addMore: "+ Tambah lagi",
|
|
clearAll: "Hapus semua",
|
|
acceptDescription: "Hanya file {exts}",
|
|
notFound: "Alat tidak ditemukan",
|
|
configureAndGenerate: "Atur pengaturan dan buat.",
|
|
processingFailed: "Pemrosesan gagal untuk file ini",
|
|
conversionComplete: "Konversi selesai",
|
|
cannotPreviewDownload:
|
|
"File {type} tidak dapat dipratinjau di browser. Gunakan tombol unduh untuk menyimpan file Anda.",
|
|
generatingPreview: "Membuat pratinjau...",
|
|
cannotPreviewWillProcess:
|
|
"File {ext} tidak dapat dipratinjau di browser. Alat ini tetap akan memproses file ini secara normal.",
|
|
previousImage: "Gambar sebelumnya",
|
|
nextImage: "Gambar berikutnya",
|
|
imageCounter: "{current} / {total}",
|
|
settingsLabel: "Pengaturan",
|
|
downloadAllZip: "Unduh Semua (ZIP)",
|
|
hideSettings: "Sembunyikan Pengaturan",
|
|
imageArea: "Area gambar",
|
|
},
|
|
homePage: {
|
|
generatingPreview: "Membuat pratinjau...",
|
|
loadingPreview: "Memuat pratinjau...",
|
|
changeFile: "Ganti file",
|
|
quickActions: "Aksi Cepat",
|
|
allTools: "Semua Alat",
|
|
},
|
|
fullscreenGrid: {
|
|
searchPlaceholder: "Cari alat...",
|
|
hideDetails: "Sembunyikan Detail",
|
|
showDetails: "Tampilkan Detail",
|
|
switchToSidebar: "Beralih ke tampilan sidebar",
|
|
sidebarButton: "Sidebar",
|
|
noToolsFound: "Tidak ada alat ditemukan",
|
|
tryDifferent: "Coba kata pencarian yang berbeda",
|
|
},
|
|
editor: {
|
|
menu: {
|
|
file: {
|
|
label: "File",
|
|
new: "Baru",
|
|
open: "Buka",
|
|
save: "Simpan",
|
|
exportAs: "Ekspor Sebagai...",
|
|
quickExportPng: "Ekspor Cepat PNG",
|
|
close: "Tutup",
|
|
},
|
|
edit: {
|
|
label: "Edit",
|
|
undo: "Undo",
|
|
redo: "Redo",
|
|
cut: "Potong",
|
|
copy: "Salin",
|
|
copyMerged: "Salin Gabungan",
|
|
paste: "Tempel",
|
|
pasteInPlace: "Tempel di Tempat",
|
|
delete: "Hapus",
|
|
freeTransform: "Transformasi Bebas",
|
|
transform: {
|
|
label: "Transformasi",
|
|
scale: "Skala",
|
|
rotate: "Putar",
|
|
skew: "Miring",
|
|
flipHorizontal: "Balik Horizontal",
|
|
flipVertical: "Balik Vertikal",
|
|
},
|
|
},
|
|
image: {
|
|
label: "Gambar",
|
|
imageSize: "Ukuran Gambar...",
|
|
canvasSize: "Ukuran Kanvas...",
|
|
rotation: {
|
|
label: "Rotasi Gambar",
|
|
cw90: "90° Searah Jarum Jam",
|
|
ccw90: "90° Berlawanan Jarum Jam",
|
|
r180: "180°",
|
|
flipHorizontal: "Balik Horizontal",
|
|
flipVertical: "Balik Vertikal",
|
|
},
|
|
trim: "Trim",
|
|
adjustments: {
|
|
label: "Penyesuaian",
|
|
brightnessContrast: "Kecerahan/Kontras",
|
|
hueSaturation: "Hue/Saturasi",
|
|
colorBalance: "Keseimbangan Warna",
|
|
levels: "Levels",
|
|
curves: "Curves",
|
|
},
|
|
},
|
|
layer: {
|
|
label: "Layer",
|
|
newLayer: "Layer Baru",
|
|
duplicateLayer: "Duplikat Layer",
|
|
deleteLayer: "Hapus Layer",
|
|
arrange: {
|
|
label: "Susun",
|
|
bringToFront: "Bawa ke Depan",
|
|
bringForward: "Majukan",
|
|
sendBackward: "Mundurkan",
|
|
sendToBack: "Kirim ke Belakang",
|
|
},
|
|
mergeDown: "Gabung ke Bawah",
|
|
flattenImage: "Ratakan Gambar",
|
|
},
|
|
select: {
|
|
label: "Seleksi",
|
|
all: "Semua",
|
|
deselect: "Hapus Seleksi",
|
|
inverse: "Balikkan",
|
|
colorRange: "Rentang Warna...",
|
|
},
|
|
filter: {
|
|
label: "Filter",
|
|
blur: {
|
|
label: "Blur",
|
|
gaussian: "Gaussian Blur",
|
|
motion: "Motion Blur",
|
|
radial: "Radial Blur",
|
|
surface: "Surface Blur",
|
|
},
|
|
sharpen: {
|
|
label: "Pertajam",
|
|
sharpen: "Pertajam",
|
|
unsharpMask: "Unsharp Mask",
|
|
},
|
|
noise: {
|
|
label: "Noise",
|
|
addNoise: "Tambah Noise",
|
|
reduceNoise: "Kurangi Noise",
|
|
},
|
|
pixelate: {
|
|
label: "Pixelate",
|
|
pixelate: "Pixelate",
|
|
mosaic: "Mosaik",
|
|
},
|
|
stylize: {
|
|
label: "Stilisasi",
|
|
emboss: "Emboss",
|
|
solarize: "Solarize",
|
|
posterize: "Posterize",
|
|
},
|
|
grayscale: "Skala Abu-abu",
|
|
sepia: "Sepia",
|
|
invert: "Balikkan",
|
|
},
|
|
view: {
|
|
label: "Tampilan",
|
|
zoomIn: "Perbesar",
|
|
zoomOut: "Perkecil",
|
|
fitOnScreen: "Pas di Layar",
|
|
actualPixels: "Piksel Asli",
|
|
rulers: "Penggaris",
|
|
grid: "Grid",
|
|
guides: "Panduan",
|
|
snap: "Snap",
|
|
panels: "Panel",
|
|
},
|
|
},
|
|
menuBar: {
|
|
backTitle: "Kembali ke SnapOtter",
|
|
},
|
|
welcome: {
|
|
ariaLabel: "Area seret gambar",
|
|
heading: "Editor Gambar",
|
|
dropDescription: "Seret gambar ke sini untuk memulai",
|
|
openImageButton: "Buka Gambar",
|
|
newDocumentButton: "Dokumen Baru",
|
|
pasteHint: "Atau tempel dari clipboard (Ctrl+V)",
|
|
},
|
|
mobile: {
|
|
heading: "Disarankan Desktop",
|
|
description:
|
|
"Editor gambar paling baik digunakan di layar desktop. Silakan beralih ke perangkat dengan layar lebih besar untuk pengalaman pengeditan penuh.",
|
|
},
|
|
errors: {
|
|
serverDecodeFailed: "Dekoding server gagal",
|
|
},
|
|
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: "Pengaturan",
|
|
nav: {
|
|
general: "Umum",
|
|
systemSettings: "Pengaturan Sistem",
|
|
security: "Keamanan",
|
|
people: "Anggota",
|
|
teams: "Tim",
|
|
roles: "Peran",
|
|
auditLog: "Log Audit",
|
|
usage: "Usage",
|
|
apiKeys: "Kunci API",
|
|
aiFeatures: "Fitur AI",
|
|
tools: "Alat",
|
|
productAnalytics: "Analitik Produk",
|
|
about: "Tentang",
|
|
},
|
|
general: {
|
|
heading: "Umum",
|
|
description: "Preferensi pengguna dan pengaturan tampilan.",
|
|
loading: "Memuat...",
|
|
logOut: "Keluar",
|
|
defaultToolViewLabel: "Tampilan Alat Default",
|
|
defaultToolViewDescription: "Cara alat ditampilkan di halaman beranda",
|
|
sidebarOption: "Sidebar",
|
|
fullscreenGridOption: "Grid Layar Penuh",
|
|
appVersionLabel: "Versi Aplikasi",
|
|
appVersionDescription: "Versi SnapOtter saat ini",
|
|
saveButton: "Simpan Pengaturan",
|
|
saveSuccess: "Pengaturan disimpan.",
|
|
saveFailed: "Gagal menyimpan pengaturan.",
|
|
},
|
|
system: {
|
|
heading: "Pengaturan Sistem",
|
|
description: "Konfigurasi sisi server dan batasan.",
|
|
fileUploadLimitLabel: "Batas Unggahan File (MB)",
|
|
fileUploadLimitDescription: "Ukuran file maksimum per unggahan",
|
|
defaultThemeLabel: "Tema Default",
|
|
defaultThemeDescription: "Tema yang diterapkan untuk sesi baru",
|
|
lightOption: "Terang",
|
|
darkOption: "Gelap",
|
|
systemOption: "Sistem",
|
|
languageLabel: "Bahasa",
|
|
languageDescription: "Bahasa untuk antarmuka",
|
|
loginAttemptLimitLabel: "Batas Percobaan Login",
|
|
loginAttemptLimitDescription: "Maksimum percobaan login gagal per menit sebelum dikunci",
|
|
fileManagementHeading: "Manajemen File",
|
|
maxFileAgeLabel: "Usia File Maks (jam)",
|
|
maxFileAgeDescription: "Berapa lama file yang diproses disimpan sebelum pembersihan otomatis",
|
|
startupCleanupLabel: "Pembersihan Saat Startup",
|
|
startupCleanupDescription: "Bersihkan file sementara lama saat server dimulai",
|
|
saveButton: "Simpan Pengaturan",
|
|
saveSuccess: "Pengaturan disimpan.",
|
|
saveFailed: "Gagal menyimpan pengaturan.",
|
|
limitsAndResources: "Batasan & Sumber Daya",
|
|
maxFileSize: "Ukuran File Maks",
|
|
maxBatchSize: "Ukuran Batch Maks",
|
|
concurrentJobs: "Pekerjaan Bersamaan",
|
|
workerThreads: "Thread Pekerja",
|
|
maxPipelineSteps: "Langkah Pipeline Maks",
|
|
processingTimeout: "Timeout Pemrosesan",
|
|
rateLimitPerMin: "Batas Rate (req/menit)",
|
|
unlimited: "Tidak terbatas",
|
|
auto: "Otomatis",
|
|
envOverride: "Diatur oleh variabel lingkungan",
|
|
maxCanvasPixels: "Piksel Kanvas Maks",
|
|
maxSvgSize: "Ukuran SVG Maks",
|
|
maxSplitGrid: "Grid Split Maks",
|
|
maxPdfPages: "Halaman PDF Maks",
|
|
sessionDuration: "Durasi Sesi",
|
|
supportBundleButton: "Download Support Bundle",
|
|
supportBundleDescription:
|
|
"Download a diagnostic zip with redacted config, logs, and job data for troubleshooting.",
|
|
supportBundleFailed: "Failed to download support bundle.",
|
|
},
|
|
security: {
|
|
heading: "Keamanan",
|
|
description: "Pengaturan kata sandi dan autentikasi.",
|
|
changePasswordHeading: "Ubah Kata Sandi",
|
|
currentPasswordPlaceholder: "Kata Sandi Saat Ini",
|
|
newPasswordPlaceholder: "Kata Sandi Baru",
|
|
confirmPasswordPlaceholder: "Konfirmasi Kata Sandi Baru",
|
|
passwordsMismatch: "Kata sandi tidak cocok",
|
|
passwordTooShort: "Kata sandi harus minimal 4 karakter",
|
|
changeSuccess: "Kata sandi berhasil diubah",
|
|
changeFailed: "Gagal mengubah kata sandi",
|
|
currentPasswordIncorrect: "Kata sandi saat ini salah",
|
|
changePasswordButton: "Ubah Kata Sandi",
|
|
loginAttemptLimitNote: "Batas percobaan login dapat dikonfigurasi di Pengaturan Sistem.",
|
|
},
|
|
people: {
|
|
heading: "Anggota",
|
|
description: "Kelola anggota workspace dan izin mereka",
|
|
userCount: "{count} pengguna",
|
|
userCountPlural: "{count} pengguna",
|
|
searchPlaceholder: "Cari anggota...",
|
|
addMembersButton: "Tambah Anggota",
|
|
newMemberHeading: "Anggota Baru",
|
|
usernamePlaceholder: "Nama pengguna",
|
|
passwordPlaceholder: "Kata sandi",
|
|
roleUserOption: "Pengguna",
|
|
roleEditorOption: "Editor",
|
|
roleAdminOption: "Admin",
|
|
roleUserDescription: "Akses alat dasar",
|
|
roleEditorDescription: "Semua file & pipeline",
|
|
roleAdminDescription: "Akses penuh",
|
|
noDescription: "Tidak ada deskripsi",
|
|
defaultTeamOption: "Default",
|
|
createButton: "Buat",
|
|
cancelButton: "Batal",
|
|
createSuccess: "Pengguna berhasil dibuat",
|
|
createFailed: "Gagal membuat pengguna",
|
|
userLimitReached: "Batas pengguna tercapai (maks {max})",
|
|
deleteConfirm: 'Hapus pengguna "{username}"? Tindakan ini tidak dapat dibatalkan.',
|
|
deleteSuccess: 'Pengguna "{username}" dihapus',
|
|
deleteFailed: "Gagal menghapus pengguna",
|
|
editHeading: "Edit {username}",
|
|
updateSuccess: "Pengguna diperbarui",
|
|
updateFailed: "Gagal memperbarui pengguna",
|
|
cannotRemoveOwnAdmin: "Tidak dapat menghapus peran admin Anda sendiri",
|
|
resetPasswordHeading: "Reset kata sandi untuk {username}",
|
|
newPasswordLabel: "Kata sandi baru (min 8 karakter)",
|
|
resetPasswordButton: "Reset Kata Sandi",
|
|
resetPasswordWarning: "Ini akan membatalkan semua sesi dan kunci API untuk pengguna ini.",
|
|
resetSuccess: "Kata sandi berhasil direset",
|
|
resetFailed: "Gagal mereset kata sandi",
|
|
tableHeaderUser: "Pengguna",
|
|
tableHeaderRole: "Peran",
|
|
tableHeaderTeam: "Tim",
|
|
noSearchResults: "Tidak ada anggota yang cocok dengan pencarian Anda.",
|
|
noUsersFound: "Tidak ada pengguna ditemukan.",
|
|
authBadgeLocalOidc: "Lokal + OIDC",
|
|
authBadgeOidc: "OIDC",
|
|
editRoleTeamAction: "Edit Peran / Tim",
|
|
resetPasswordAction: "Reset Kata Sandi",
|
|
deleteUserAction: "Hapus Pengguna",
|
|
saveButton: "Simpan",
|
|
copyPasswordButton: "Salin kata sandi",
|
|
passwordCopied: "Disalin!",
|
|
copyPasswordWarning:
|
|
"Salin kata sandi ini sekarang. Anda tidak akan bisa melihatnya setelah membuat pengguna.",
|
|
},
|
|
teams: {
|
|
heading: "Tim",
|
|
description: "Organisasikan anggota ke dalam tim untuk manajemen yang lebih baik.",
|
|
createButton: "Buat Tim Baru",
|
|
newTeamHeading: "Tim Baru",
|
|
teamNamePlaceholder: "Nama tim",
|
|
createSubmitButton: "Buat",
|
|
cancelButton: "Batal",
|
|
createSuccess: "Tim berhasil dibuat",
|
|
createFailed: "Gagal membuat tim",
|
|
duplicateTeamError: "Tim dengan nama tersebut sudah ada",
|
|
renameSuccess: "Tim diganti nama",
|
|
renameFailed: "Gagal mengganti nama tim",
|
|
deleteConfirm: 'Hapus tim "{name}"? Anggota akan dilepaskan.',
|
|
deleteSuccess: 'Tim "{name}" dihapus',
|
|
deleteFailed: "Gagal menghapus tim",
|
|
cannotDeleteDefault: "Tidak dapat menghapus tim default atau tim yang memiliki anggota",
|
|
tableHeaderTeamName: "Nama Tim",
|
|
tableHeaderMembers: "Anggota",
|
|
emptyState: "Tidak ada tim ditemukan.",
|
|
renameSaveButton: "Simpan",
|
|
renameCancelButton: "Batal",
|
|
renameAction: "Ganti Nama",
|
|
deleteAction: "Hapus",
|
|
totalMembers: "Total Anggota",
|
|
nameRequired: "Nama tim wajib diisi",
|
|
nameTooLong: "Nama tim maksimal 50 karakter",
|
|
duplicateName: "Tim dengan nama ini sudah ada",
|
|
},
|
|
roles: {
|
|
heading: "Peran",
|
|
description: "Kelola peran dan izinnya. Peran bawaan tidak dapat diubah.",
|
|
createButton: "Buat Peran Kustom",
|
|
newRoleHeading: "Peran Baru",
|
|
roleNamePlaceholder: "Nama peran",
|
|
descriptionPlaceholder: "Deskripsi (opsional)",
|
|
permissionsLabel: "Izin",
|
|
createSubmitButton: "Buat",
|
|
cancelButton: "Batal",
|
|
createSuccess: "Peran berhasil dibuat",
|
|
createFailed: "Gagal membuat peran",
|
|
duplicateRoleError: "Peran dengan nama tersebut sudah ada",
|
|
editHeading: "Edit Peran: {name}",
|
|
editSaveButton: "Simpan",
|
|
editCancelButton: "Batal",
|
|
updateSuccess: "Peran diperbarui",
|
|
updateFailed: "Gagal memperbarui peran",
|
|
deleteConfirm: 'Hapus peran "{name}"? {count} pengguna perlu ditetapkan ulang.',
|
|
deleteConfirmSimple: 'Hapus peran "{name}"?',
|
|
deleteSuccess: 'Peran "{name}" dihapus',
|
|
deleteFailed: "Gagal menghapus peran",
|
|
emptyState: "Tidak ada peran ditemukan.",
|
|
builtInBadge: "Bawaan",
|
|
userCountBadge: "{count} pengguna",
|
|
editRoleTitle: "Edit peran",
|
|
deleteRoleTitle: "Hapus peran",
|
|
permGroup: {
|
|
tools: "Alat",
|
|
files: "File",
|
|
apiKeys: "Kunci API",
|
|
pipelines: "Pipeline",
|
|
settings: "Pengaturan",
|
|
users: "Pengguna",
|
|
teams: "Tim",
|
|
system: "Sistem",
|
|
},
|
|
},
|
|
auditLog: {
|
|
heading: "Log Audit",
|
|
allActionsFilter: "Semua tindakan",
|
|
emptyState: "Tidak ada entri log audit.",
|
|
tableHeaderTime: "Waktu",
|
|
tableHeaderUser: "Pengguna",
|
|
tableHeaderAction: "Tindakan",
|
|
tableHeaderTarget: "Target",
|
|
paginationInfo: "Halaman {page} dari {totalPages} ({total} entri)",
|
|
previousButton: "Sebelumnya",
|
|
nextButton: "Berikutnya",
|
|
justNow: "baru saja",
|
|
minutesAgo: "{mins}m lalu",
|
|
hoursAgo: "{hrs}j lalu",
|
|
daysAgo: "{days}h lalu",
|
|
},
|
|
usage: {
|
|
heading: "Usage",
|
|
description: "Local usage statistics from jobs and file storage.",
|
|
periodLabel: "Period",
|
|
days7: "7 days",
|
|
days30: "30 days",
|
|
days90: "90 days",
|
|
jobsPerDayHeading: "Jobs per day",
|
|
topToolsHeading: "Top tools",
|
|
perUserHeading: "Per-user volume",
|
|
durationsHeading: "Duration percentiles",
|
|
noData: "No data for this period.",
|
|
dayColumn: "Day",
|
|
totalColumn: "Total",
|
|
completedColumn: "Completed",
|
|
failedColumn: "Failed",
|
|
toolColumn: "Tool",
|
|
runsColumn: "Runs",
|
|
userColumn: "User",
|
|
bytesInColumn: "Bytes in",
|
|
poolColumn: "Pool",
|
|
p50Column: "p50",
|
|
p95Column: "p95",
|
|
storageHeading: "Library storage",
|
|
storageFiles: "{count} files",
|
|
unknownUser: "(unknown)",
|
|
},
|
|
apiKeys: {
|
|
heading: "Kunci API",
|
|
description: "Kelola kunci API untuk akses programatik ke SnapOtter.",
|
|
keyNamePlaceholder: "Nama kunci (opsional)",
|
|
generateButton: "Buat Kunci API",
|
|
removeScopingLabel: "Hapus pembatasan izin",
|
|
restrictPermissionsLabel: "Batasi izin (opsional)",
|
|
expiresLabel: "Kedaluwarsa:",
|
|
clearButton: "Hapus",
|
|
copyTitle: "Salin",
|
|
keyWarning: "Simpan kunci ini dengan aman. Kunci tidak akan ditampilkan lagi.",
|
|
existingKeysHeading: "Kunci yang Ada",
|
|
createdPrefix: "Dibuat {date}",
|
|
scopedPrefix: "Lingkup:",
|
|
expiresPrefix: "Kedaluwarsa {date}",
|
|
deleteKeyTitle: "Hapus kunci",
|
|
deleteConfirm:
|
|
"Hapus kunci API ini? Semua integrasi yang menggunakannya akan berhenti berfungsi.",
|
|
emptyState: "Belum ada kunci API. Buat satu untuk memulai.",
|
|
},
|
|
tools: {
|
|
heading: "Alat",
|
|
description:
|
|
"Aktifkan atau nonaktifkan alat individual. Alat yang dinonaktifkan disembunyikan dari semua pengguna.",
|
|
restartBanner: "Perlu restart agar perubahan berlaku.",
|
|
searchPlaceholder: "Cari alat...",
|
|
noSearchResults: "Tidak ada alat yang cocok dengan pencarian Anda.",
|
|
loadFailedError:
|
|
"Gagal memuat pengaturan alat. Penyimpanan dinonaktifkan untuk mencegah kehilangan data.",
|
|
saveButton: "Simpan Pengaturan Alat",
|
|
disabledCount: "{count} alat dinonaktifkan",
|
|
},
|
|
experimental: {
|
|
label: "Aktifkan Alat Eksperimental",
|
|
description: "Tampilkan alat yang masih dalam pengembangan. Alat ini mungkin tidak stabil.",
|
|
},
|
|
fileManagement: {
|
|
title: "Manajemen File",
|
|
maxAge: "Usia File Maks (jam)",
|
|
maxAgeDescription: "Berapa lama file yang diproses disimpan sebelum pembersihan otomatis",
|
|
startupCleanup: "Pembersihan Saat Startup",
|
|
startupCleanupDescription: "Bersihkan file sementara lama saat server dimulai",
|
|
},
|
|
analytics: {
|
|
heading: "Analitik Produk",
|
|
description: "Bagikan data penggunaan anonim untuk membantu meningkatkan SnapOtter.",
|
|
privacyNote: "Gambar Anda tidak pernah meninggalkan mesin Anda.",
|
|
disabledByAdmin: "Analitik produk telah dinonaktifkan oleh administrator server.",
|
|
enabledLabel: "Analitik aktif",
|
|
disabledLabel: "Analitik nonaktif",
|
|
learnMore: "Pelajari lebih lanjut",
|
|
},
|
|
aiFeatures: {
|
|
title: "AI Features",
|
|
description: "Manage AI model bundles for advanced image processing.",
|
|
installAll: "Install All",
|
|
diskUsage: "Disk usage:",
|
|
installed: "Installed",
|
|
notInstalled: "Not installed",
|
|
queued: "Queued",
|
|
install: "Install",
|
|
repair: "Repair",
|
|
uninstall: "Uninstall",
|
|
installing: "Installing...",
|
|
importBundle: "Import Bundle",
|
|
importDescription: "Upload a .tar.gz bundle archive exported from another installation.",
|
|
importButton: "Import from file",
|
|
importing: "Importing...",
|
|
importSuccess: "Bundle imported successfully.",
|
|
importError: "Bundle import failed: {error}",
|
|
},
|
|
about: {
|
|
heading: "Tentang",
|
|
appName: "SnapOtter",
|
|
appDescription:
|
|
"Suite pemrosesan gambar self-hosted yang mengutamakan privasi dengan 70+ alat. Ubah ukuran, kompres, konversi, tambahkan watermark, dan otomasi alur kerja gambar Anda tanpa mengirim data ke cloud.",
|
|
versionLabel: "Versi:",
|
|
linksHeading: "Tautan",
|
|
githubLink: "Repositori GitHub",
|
|
docsLink: "Dokumentasi",
|
|
apiRefLink: "Referensi API (Swagger)",
|
|
licenseLabel: "License:",
|
|
licenseDescription:
|
|
"SnapOtter is open-source software licensed under the GNU Affero General Public License v3 (AGPLv3).",
|
|
},
|
|
},
|
|
auth: {
|
|
login: "Masuk",
|
|
logout: "Keluar",
|
|
username: "Nama pengguna",
|
|
password: "Kata sandi",
|
|
loginButton: "Masuk",
|
|
loggingIn: "Sedang masuk...",
|
|
invalidCredentials: "Nama pengguna atau kata sandi salah",
|
|
connectionError: "Kesalahan koneksi",
|
|
signInWith: "Masuk dengan {provider}",
|
|
signInWithSso: "Masuk dengan SSO",
|
|
or: "atau",
|
|
methodLocal: "Lokal",
|
|
methodOidc: "OIDC",
|
|
methodBoth: "Lokal + OIDC",
|
|
oidcAuthFailed: "Autentikasi gagal. Silakan coba lagi.",
|
|
oidcProviderUnreachable: "Tidak dapat menghubungi penyedia identitas. Silakan coba lagi nanti.",
|
|
oidcSessionExpired: "Sesi login kedaluwarsa. Silakan coba lagi.",
|
|
oidcUserNotAuthorized:
|
|
"Akun Anda tidak diizinkan mengakses aplikasi ini. Hubungi administrator Anda.",
|
|
oidcUserLimitReached: "Batas pengguna tercapai. Hubungi administrator Anda.",
|
|
oidcGenericError: "Kesalahan autentikasi. Silakan coba lagi.",
|
|
passwordManagedByProvider: "Perubahan kata sandi dikelola oleh penyedia identitas Anda.",
|
|
enterUsername: "Masukkan nama pengguna",
|
|
enterPassword: "Masukkan kata sandi Anda",
|
|
heroTitle: "Gambar Anda. Milik Anda.",
|
|
heroSubtitle: "Semua alat gambar yang Anda butuhkan.",
|
|
rotatingPhrases: [
|
|
"Tanpa pendaftaran. Tanpa akun.",
|
|
"Tidak pernah diunggah ke cloud.",
|
|
"100% diproses secara lokal.",
|
|
"Gratis. Selamanya.",
|
|
"Tanpa batas. Tanpa batasan tersembunyi.",
|
|
"Berfungsi sepenuhnya offline.",
|
|
"Pemrosesan batch tanpa batas.",
|
|
"70+ alat pemrosesan gambar.",
|
|
"15 model AI. Di perangkat Anda.",
|
|
"Secepat kilat. Dibangun di atas Sharp.",
|
|
"Siap untuk jaringan terisolasi.",
|
|
"Satu container Docker.",
|
|
"Open source. Selalu.",
|
|
"Setiap piksel tetap di perangkat Anda.",
|
|
"Server Anda. Aturan Anda.",
|
|
"Deploy dengan satu perintah docker pull.",
|
|
"Alternatif self-hosted.",
|
|
"Ubah ukuran, kompres, konversi. Secara lokal.",
|
|
"Editor gambar gratis. Tanpa watermark.",
|
|
"Pemrosesan gambar massal. Tanpa batas.",
|
|
"Hapus latar belakang secara offline.",
|
|
"Alternatif Canva self-hosted.",
|
|
"Tidak perlu kunci API.",
|
|
"Patuh GDPR secara desain.",
|
|
"Berfungsi tanpa internet.",
|
|
],
|
|
},
|
|
changePassword: {
|
|
title: "Ubah kata sandi Anda",
|
|
description:
|
|
"Anda perlu mengatur kata sandi baru sebelum melanjutkan. Kata sandi harus minimal 8 karakter dengan huruf besar, huruf kecil, dan angka.",
|
|
usernameLabel: "Nama pengguna",
|
|
currentPasswordLabel: "Kata sandi saat ini",
|
|
currentPasswordPlaceholder: "Masukkan kata sandi saat ini",
|
|
newPasswordLabel: "Kata sandi baru",
|
|
generateButton: "Buat kata sandi kuat",
|
|
newPasswordPlaceholder: "Minimal 8 karakter",
|
|
confirmPasswordLabel: "Konfirmasi kata sandi baru",
|
|
confirmPasswordPlaceholder: "Ulangi kata sandi baru",
|
|
passwordsMismatch: "Kata sandi tidak cocok",
|
|
failedError: "Gagal mengubah kata sandi",
|
|
connectionError: "Kesalahan koneksi",
|
|
changingButton: "Mengubah...",
|
|
changeButton: "Ubah kata sandi",
|
|
sidebarTitle: "Hampir selesai",
|
|
sidebarDescription:
|
|
"Atur kata sandi yang kuat untuk mengamankan akun Anda, lalu Anda siap memulai.",
|
|
},
|
|
automate: {
|
|
title: "Otomasi",
|
|
invalidPipelineFile: "Bukan file Pipeline SnapOtter yang valid",
|
|
newerVersion: "Pipeline ini dibuat dengan versi SnapOtter yang lebih baru",
|
|
missingName: "File Pipeline tidak memiliki nama",
|
|
noSteps: "File Pipeline tidak memiliki langkah",
|
|
importFailed: "Impor gagal",
|
|
couldNotRead: "Tidak dapat membaca file Pipeline",
|
|
fileCount: "{count} file",
|
|
fileCountPlural: "{count} file",
|
|
importFromLibrary: "Impor dari Perpustakaan",
|
|
addButton: "+ Tambah",
|
|
libraryButton: "Perpustakaan",
|
|
clearButton: "Hapus",
|
|
processingFailed: "Pemrosesan gagal untuk file ini",
|
|
processingMultiple: "Memproses {count} file...",
|
|
processingPipeline: "Memproses Pipeline...",
|
|
processButton: "Proses",
|
|
processButtonMultiple: "Proses ({count})",
|
|
processAllButton: "Proses Semua ({count})",
|
|
addTool: "Tambah Alat",
|
|
toolPalette: "Palet Alat",
|
|
clickToAdd: "Klik untuk menambahkan ke Pipeline",
|
|
savedLabel: "Tersimpan",
|
|
importButton: "Impor",
|
|
noSavedPipelines: "Tidak ada Pipeline tersimpan",
|
|
stepCount: "({count} langkah)",
|
|
stepCountPlural: "({count} langkah)",
|
|
exportPipeline: "Ekspor Pipeline",
|
|
deletePipeline: "Hapus Pipeline",
|
|
moreCount: "+{count} lainnya",
|
|
pipelineBuilder: "Pipeline Builder",
|
|
addToolsPrompt: "Tambahkan alat dari palet untuk memulai",
|
|
stepsConfigured: "{count} langkah dikonfigurasi",
|
|
stepsConfiguredPlural: "{count} langkah dikonfigurasi",
|
|
noFilesLoaded: "Tidak ada file dimuat",
|
|
downloadZip: "Unduh ZIP",
|
|
saveButton: "Simpan",
|
|
pipelineNamePlaceholder: "Nama Pipeline",
|
|
descriptionPlaceholder: "Deskripsi",
|
|
savingIndicator: "...",
|
|
cancelButton: "Batal",
|
|
preview: "Pratinjau",
|
|
previousImage: "Gambar sebelumnya",
|
|
nextImage: "Gambar berikutnya",
|
|
imageCounter: "{current} / {total}",
|
|
imageArea: "Area gambar",
|
|
templateSocialMedia: "Siap Media Sosial",
|
|
templatePrivacyClean: "Bersih Privasi",
|
|
templateWebOptimization: "Optimasi Web",
|
|
templateProfilePicture: "Foto Profil",
|
|
templateWatermarkBatch: "Batch Watermark",
|
|
createNew: "Buat Otomasi Baru",
|
|
savedAutomations: "Otomasi Tersimpan",
|
|
templates: "Template",
|
|
addStep: "Tambah Langkah",
|
|
removeStep: "Hapus",
|
|
moveUp: "Pindah ke atas",
|
|
moveDown: "Pindah ke bawah",
|
|
savePipeline: "Simpan Pipeline",
|
|
runPipeline: "Proses",
|
|
pipelineName: "Nama Pipeline",
|
|
pipelineDescription: "Deskripsi (opsional)",
|
|
noStepsPrompt: "Tambahkan langkah untuk membangun otomasi Anda",
|
|
noStepsHeading: "No steps yet",
|
|
searchToolsPlaceholder: "Search tools...",
|
|
step: "Langkah",
|
|
},
|
|
nav: {
|
|
tools: "Alat",
|
|
reader: "Pembaca",
|
|
automate: "Otomasi",
|
|
editor: "Editor",
|
|
files: "File",
|
|
help: "Bantuan",
|
|
settings: "Pengaturan",
|
|
grid: "Grid",
|
|
},
|
|
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",
|
|
openInPipeline: "Open in Pipeline",
|
|
name: "Name",
|
|
format: "Format",
|
|
size: "Size",
|
|
dimensions: "Dimensions",
|
|
version: "Version",
|
|
toolsUsed: "Tools Used",
|
|
none: "None",
|
|
delete: "Delete",
|
|
pipeline: "Pipeline",
|
|
download: "Download",
|
|
},
|
|
dropzone: {
|
|
unsupportedFileType: "Jenis file ini tidak didukung oleh alat ini",
|
|
urlFetchFailed: "Tidak dapat mengambil gambar dari URL",
|
|
ariaLabel: "Area seret file",
|
|
dropPrompt: "Seret gambar Anda ke sini",
|
|
browseOrPaste: "klik untuk menjelajah, atau tempel dari clipboard",
|
|
uploadButton: "Unggah",
|
|
defaultFormats: "PNG, JPG, WebP, HEIC, RAW, PSD, dan 65+ format",
|
|
orSeparator: "atau",
|
|
urlPlaceholder: "Tempel URL gambar...",
|
|
urlLoadingIndicator: "...",
|
|
addUrlButton: "Tambah",
|
|
importMultipleUrls: "Impor beberapa URL...",
|
|
filesSelected: "{count} file dipilih",
|
|
},
|
|
reviewPanel: {
|
|
processedResultAlt: "Hasil yang diproses",
|
|
sizeLabel: "Ukuran: {size}",
|
|
typeLabel: "Jenis: {type}",
|
|
processedLabel: "Diproses: {time}",
|
|
undoButton: "Undo",
|
|
downloadButton: "Unduh",
|
|
openInEditor: "Buka di Editor",
|
|
reviewHeading: "Tinjau",
|
|
continueEditing: "Lanjutkan mengedit",
|
|
},
|
|
features: {
|
|
notEnabledTitle: "Fitur Tidak Diaktifkan",
|
|
notEnabledDescription:
|
|
"Fitur ini tidak diaktifkan. Minta administrator Anda untuk mengaktifkannya di Pengaturan.",
|
|
requiresDownload: "Fitur ini memerlukan unduhan tambahan (~{size})",
|
|
retryButton: "Coba Lagi",
|
|
queued: "Mengantre untuk instalasi...",
|
|
enableButton: "Aktifkan {name}",
|
|
repairRequired: "Repair Required",
|
|
repairDescription: "Some model files are missing or corrupted. Repair will re-download them.",
|
|
repairButton: "Repair {name}",
|
|
lessThanMinute: "Kurang dari semenit lagi",
|
|
oneMinuteLeft: "Sekitar 1 menit lagi",
|
|
minutesLeft: "Sekitar {mins} menit lagi",
|
|
progressMessages: [
|
|
"Sebentar lagi... mungkin...",
|
|
"Hal baik butuh waktu...",
|
|
"Masih lebih cepat dari menunggu cat kering...",
|
|
"Kesabaran Anda sungguh menginspirasi...",
|
|
"Bekerja lebih keras dari yang terlihat...",
|
|
"Ini bagian serunya, percaya deh...",
|
|
"Sedang mengerjakan hal penting di balik layar...",
|
|
"Kalau Anda membaca ini, berarti sedang berjalan...",
|
|
"Menyiapkan sesuatu yang luar biasa...",
|
|
"Sepadan dengan setiap detik, janji...",
|
|
"Ketegangan ini bagian dari pengalaman...",
|
|
"Mengajari komputer Anda trik baru...",
|
|
"Menyiapkan kekuatan super Anda...",
|
|
"Gambar Anda akan berterima kasih nanti...",
|
|
"Memuat... tapi yang versi keren...",
|
|
"Waktu yang tepat untuk menyeduh kopi...",
|
|
"Roma juga tidak dibangun dalam sehari...",
|
|
"Sssttt... jenius sedang bekerja...",
|
|
"Membuat foto Anda iri dengan apa yang akan datang...",
|
|
"Merakit tim impian...",
|
|
"Membongkar kehebatan...",
|
|
"Hampir selesai berpikir untuk memulai... bercanda...",
|
|
"Plot twist: ini benar-benar sedang melakukan sesuatu...",
|
|
"Memanaskan mesin kreatif...",
|
|
"Imajinasi sedang dimuat...",
|
|
"Bukan screensaver, kami janji...",
|
|
"Seni hebat butuh waktu untuk diinstal...",
|
|
"Diri Anda di masa depan akan berterima kasih...",
|
|
"Mengunduh beberapa file yang sangat pintar...",
|
|
"Tunggu sebentar, yang terbaik belum datang...",
|
|
],
|
|
},
|
|
help: {
|
|
heading: "Bantuan",
|
|
gettingStarted: {
|
|
heading: "Memulai",
|
|
description:
|
|
"Pilih alat dari sidebar atau cari. Unggah gambar dengan menyeretnya ke halaman atau klik area unggah. Sesuaikan pengaturan dan unduh hasilnya.",
|
|
},
|
|
keyboardShortcuts: {
|
|
heading: "Pintasan Keyboard",
|
|
focusSearchBar: "Fokus ke bilah pencarian",
|
|
goToTools: "Ke halaman alat",
|
|
toggleTheme: "Ganti tema",
|
|
goToResize: "Ke Ubah Ukuran",
|
|
goToCrop: "Ke Potong",
|
|
goToCompress: "Ke Kompres",
|
|
goToConvert: "Ke Konversi",
|
|
goToRemoveBackground: "Ke Hapus Latar Belakang",
|
|
goToWatermarkText: "Ke Watermark Teks",
|
|
goToStripMetadata: "Ke Hapus Metadata",
|
|
goToImageInfo: "Ke Info Gambar",
|
|
},
|
|
resources: {
|
|
heading: "Sumber Daya",
|
|
githubLink: "Repositori GitHub",
|
|
reportIssueLink: "Laporkan Masalah",
|
|
docsLink: "Dokumentasi",
|
|
apiRefLink: "Referensi API (Swagger)",
|
|
},
|
|
versionLabel: "SnapOtter v{version}",
|
|
},
|
|
errors: {
|
|
generic: "Terjadi kesalahan",
|
|
offline: "Anda sedang offline",
|
|
reconnecting: "Menghubungkan ulang ke server...",
|
|
connected: "Terhubung",
|
|
processingFailed: "Pemrosesan gagal untuk file ini",
|
|
timeout: "Permintaan habis waktu. Server mungkin kelebihan beban. Coba lagi.",
|
|
networkError: "Kesalahan jaringan. Periksa koneksi Anda.",
|
|
invalidCredentials: "Nama pengguna atau kata sandi salah",
|
|
connectionError: "Kesalahan koneksi",
|
|
},
|
|
analytics: {
|
|
consentTitle: "Bantu tingkatkan SnapOtter",
|
|
consentDescription:
|
|
"Statistik penggunaan anonim membantu kami memperbaiki bug dan membangun alat yang benar-benar Anda butuhkan. Gambar dan file Anda tetap di mesin Anda.",
|
|
consentChangeable: "Anda dapat menonaktifkan ini kapan saja di Pengaturan.",
|
|
acceptButton: "Tentu, kedengarannya bagus",
|
|
declineButton: "Nanti saja",
|
|
settingsTitle: "Analitik Produk",
|
|
settingsDescription: "Bagikan data penggunaan anonim untuk membantu meningkatkan SnapOtter.",
|
|
settingsPrivacy: "Gambar Anda tidak pernah meninggalkan mesin Anda.",
|
|
settingsDisabledByAdmin: "Analitik produk telah dinonaktifkan oleh administrator server.",
|
|
learnMore: "Pelajari lebih lanjut",
|
|
},
|
|
sidebar: {
|
|
tools: "Alat",
|
|
grid: "Grid",
|
|
automate: "Otomasi",
|
|
editor: "Editor",
|
|
files: "File",
|
|
help: "Bantuan",
|
|
settings: "Pengaturan",
|
|
},
|
|
toolCard: {
|
|
addToFavourites: "Tambah ke favorit",
|
|
},
|
|
appLayout: {
|
|
mobileNavTools: "Alat",
|
|
mobileNavAutomate: "Otomasi",
|
|
mobileNavEditor: "Editor",
|
|
mobileNavFiles: "File",
|
|
mobileNavSettings: "Pengaturan",
|
|
},
|
|
a11y: {
|
|
skipToContent: "Skip to main content",
|
|
openSidebar: "Open sidebar",
|
|
closeSidebar: "Close sidebar",
|
|
closeSettings: "Close settings",
|
|
closeHelp: "Close help",
|
|
closeDialog: "Close dialog",
|
|
zoomIn: "Zoom in",
|
|
zoomOut: "Zoom out",
|
|
fitToView: "Fit to view",
|
|
actualSize: "Actual size",
|
|
previousImage: "Previous image",
|
|
nextImage: "Next image",
|
|
imageArea: "Image area",
|
|
imageViewer: "Image viewer",
|
|
fileDropZone: "File drop zone",
|
|
imageDropZone: "Image drop zone",
|
|
beforeAfterSlider: "Before/after comparison slider",
|
|
imageControls: "Image controls",
|
|
zoomControls: "Zoom controls",
|
|
dragToReorder: "Drag to reorder",
|
|
whiteBackground: "White background",
|
|
blackBackground: "Black background",
|
|
expandPanel: "Expand panel",
|
|
collapsePanel: "Collapse panel",
|
|
swapDimensions: "Swap dimensions",
|
|
applyCrop: "Apply crop",
|
|
cancelCrop: "Cancel crop",
|
|
fontFamily: "Font family",
|
|
textColor: "Text color",
|
|
flipHorizontal: "Flip horizontal",
|
|
flipVertical: "Flip vertical",
|
|
hexColorValue: "Hex color value",
|
|
backgroundColor: "Background color",
|
|
foregroundColor: "Foreground color",
|
|
swapColors: "Swap foreground and background colors",
|
|
resetColors: "Reset to default black and white",
|
|
foregroundHex: "Foreground color hex value",
|
|
undo: "Undo",
|
|
redo: "Redo",
|
|
layers: "Layers",
|
|
addLayer: "Add layer",
|
|
deleteLayer: "Delete layer",
|
|
cancelOperation: "Cancel operation",
|
|
fill: "Fill",
|
|
fileDetails: "File details",
|
|
language: "Language",
|
|
selected: "Selected",
|
|
deleteKey: "Delete key",
|
|
editRole: "Edit role",
|
|
deleteRole: "Delete role",
|
|
notInstalled: "Not installed",
|
|
queued: "Queued for install",
|
|
installing: "Installing",
|
|
imageNOfTotal: "Image {n} of {total}",
|
|
processingComplete: "Image processed successfully",
|
|
processingFailed: "Processing failed",
|
|
settingsDialog: "Settings",
|
|
helpDialog: "Help",
|
|
navigationMenu: "Navigation",
|
|
},
|
|
} as const;
|